WebKit-https.git
8 years ago<http://webkit.org/b/91024> Build against the latest SDK when targeting older OS...
mrowe@apple.com [Thu, 12 Jul 2012 02:01:25 +0000 (02:01 +0000)]
<webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.

Reviewed by Dan Bernstein.

The deployment target is already set to the version that we're targeting, and it's that setting
which determines which functionality from the SDK is available to us.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago<http://webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController...
mrowe@apple.com [Thu, 12 Jul 2012 02:01:02 +0000 (02:01 +0000)]
<webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController shouldn't add unprefixed methods to AppKit classes

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* WebView/WebFullScreenController.mm:
(convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists
but otherwise provides a compatibility implementation of it.
(-[WebFullScreenController enterFullScreen:]): Call our new helper.

Source/WebKit2:

* UIProcess/mac/WKFullScreenWindowController.mm:
(convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists
but otherwise provides a compatibility implementation of it.
(-[WKFullScreenWindowController enterFullScreen:]): Call our new helper.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoReplace definitions of BUILDING_ON / TARGETING macros with macros that will error...
mrowe@apple.com [Thu, 12 Jul 2012 02:00:45 +0000 (02:00 +0000)]
Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used.

Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros.

Reviewed by Anders Carlsson.

Source/WTF:

* wtf/Platform.h:

Tools:

* DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Remove the macros completely from here since
they're completely unused in TestNetscapePlugIn.
* DumpRenderTree/config.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSwitch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_AL...
mrowe@apple.com [Thu, 12 Jul 2012 02:00:27 +0000 (02:00 +0000)]
Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build.

Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros

Reviewed by Filip Pizlo.

Source/WebCore:

* platform/graphics/cg/GraphicsContextCG.cpp: The SDK we're building against determines whether the constant is available.
* platform/mac/EmptyProtocolDefinitions.h:  The SDK we're building against determines whether the protocols are declared.
* platform/mac/NSScrollerImpDetails.h: The SDK we're building against determines whether the constants and method are
available.
* platform/mac/SharedTimerMac.mm: The SDK we're building against determines whether the function has already been declared.

Source/WTF:

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): The SDK we're building against determines how many elements
the structure is declared as having.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago<http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system...
mrowe@apple.com [Thu, 12 Jul 2012 02:00:04 +0000 (02:00 +0000)]
<webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros

This removal was handled by a script that translates the relevant macros in to the equivalent checks
using the system availability macros.

Reviewed by Filip Pizlo.

Source/WebCore:

* WebCore.exp.in:
* accessibility/AccessibilityList.h:
* accessibility/AccessibilityTable.h:
* accessibility/mac/AXObjectCacheMac.mm:
* editing/mac/EditorMac.mm:
* loader/MainResourceLoader.cpp:
* loader/MainResourceLoader.h:
* page/AlternativeTextClient.h:
* page/ContextMenuController.cpp:
* page/mac/SettingsMac.mm:
* platform/LocalizedStrings.cpp:
* platform/MemoryPressureHandler.cpp:
* platform/audio/mac/AudioBusMac.mm:
* platform/graphics/Gradient.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
* platform/graphics/ca/mac/TileCache.mm:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
* platform/graphics/cg/ImageBufferDataCG.cpp:
* platform/graphics/cg/ImageBufferDataCG.h:
* platform/graphics/cg/ImageCG.cpp:
* platform/graphics/cg/ImageSourceCG.cpp:
* platform/graphics/cg/PathCG.cpp:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/mac/ComplexTextController.cpp:
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
* platform/graphics/mac/FontCacheMac.mm:
* platform/graphics/mac/FontCustomPlatformData.cpp:
* platform/graphics/mac/FontMac.mm:
* platform/graphics/mac/GraphicsContextMac.mm:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
* platform/graphics/mac/SimpleFontDataMac.mm:
* platform/graphics/mac/WebLayer.h:
* platform/graphics/mac/WebLayer.mm:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/mac/CursorMac.mm:
* platform/mac/DisplaySleepDisabler.cpp:
* platform/mac/DisplaySleepDisabler.h:
* platform/mac/EmptyProtocolDefinitions.h:
* platform/mac/HTMLConverter.h:
* platform/mac/HTMLConverter.mm:
* platform/mac/MemoryPressureHandlerMac.mm:
* platform/mac/NSScrollerImpDetails.h:
* platform/mac/PlatformEventFactoryMac.mm:
* platform/mac/PopupMenuMac.mm:
* platform/mac/ScrollAnimatorMac.mm:
* platform/mac/ScrollElasticityController.mm:
* platform/mac/SharedTimerMac.mm:
* platform/mac/SuddenTermination.mm:
* platform/mac/WebCoreFullScreenWindow.mm:
* platform/mac/WebCoreNSCellExtras.h:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/mac/WebFontCache.mm:
* platform/mac/WebVideoFullscreenController.mm:
* platform/mac/WebVideoFullscreenHUDWindowController.mm:
* platform/network/Credential.h:
* platform/network/ResourceHandle.h:
* platform/network/cf/DNSCFNet.cpp:
* platform/network/cf/ProxyServerCFNet.cpp:
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceRequestCFNet.cpp:
* platform/network/cf/SocketStreamHandleCFNet.cpp:
* platform/network/mac/AuthenticationMac.mm:
* platform/network/mac/CookieStorageMac.mm:
* platform/network/mac/ResourceHandleMac.mm:
* platform/network/mac/ResourceRequestMac.mm:
* platform/network/mac/WebCoreURLResponse.mm:
* platform/text/TextChecking.h:
* platform/text/cf/HyphenationCF.cpp:
* platform/text/mac/HyphenationMac.mm:
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderThemeMac.mm:

Source/WebKit/chromium:

* src/mac/WebInputEventFactory.mm:

Source/WebKit/mac:

* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
* Misc/WebKitErrors.m:
* Misc/WebNSControlExtras.m:
* Misc/WebNSFileManagerExtras.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebNetscapePluginView.mm:
* WebCoreSupport/WebChromeClient.mm:
* WebCoreSupport/WebEditorClient.mm:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebSystemInterface.mm:
* WebView/WebClipView.mm:
* WebView/WebDynamicScrollBarsView.mm:
* WebView/WebFrameView.mm:
* WebView/WebFullScreenController.mm:
* WebView/WebHTMLView.mm:
* WebView/WebHTMLViewInternal.h:
* WebView/WebPDFDocumentExtras.mm:
* WebView/WebPreferences.mm:
* WebView/WebResourceInternal.h:
* WebView/WebScriptDebugDelegate.h:
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

Source/WebKit2:

* Shared/DictionaryPopupInfo.cpp:
* Shared/DictionaryPopupInfo.h:
* Shared/mac/PasteboardTypes.mm:
* Shared/mac/WebEventFactory.mm:
* UIProcess/API/mac/PDFViewController.mm:
* UIProcess/API/mac/PageClientImpl.mm:
* UIProcess/API/mac/WKView.mm:
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
* UIProcess/Launcher/mac/EnvironmentVariables.cpp:
* UIProcess/Launcher/mac/EnvironmentVariables.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/TextCheckerMac.mm:
* UIProcess/mac/WKFullScreenWindowController.mm:
* UIProcess/mac/WebContextMac.mm:
* UIProcess/mac/WebPageProxyMac.mm:
* WebKit2Prefix.h:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/com.apple.WebProcess.sb.in:
* WebProcess/mac/KeychainItemShimMethods.mm:
* WebProcess/mac/SecItemShimMethods.mm:
* WebProcess/mac/WebProcessMac.mm:
* WebProcess/mac/WebProcessMainMac.mm:
* WebProcess/mac/WebProcessShim.mm:

Source/WTF:

* wtf/Assertions.cpp:
* wtf/FastMalloc.cpp:
* wtf/Platform.h:
* wtf/ThreadingPthreads.cpp:
* wtf/unicode/icu/CollatorICU.cpp:

Tools:

* DumpRenderTree/cf/WebArchiveDumpSupport.cpp:
* DumpRenderTree/mac/CheckedMalloc.cpp:
* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/mac/TextInputController.m:
* TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSuppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas...
rjkroege@chromium.org [Thu, 12 Jul 2012 01:29:03 +0000 (01:29 +0000)]
Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true
https://bugs.webkit.org/show_bug.cgi?id=89580

Source/WebCore:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars.  This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified shouldTurnVerticalTicksIntoHorizontal
to not perform this conversion for PlatformWheelEvents with preciseScrollingDeltas.

Reviewed by Adam Barth.

Tests: fast/events/touch/gesture/touch-gesture-scroll-sideways.html

* page/EventHandler.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):
* page/EventHandler.h:
(EventHandler):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

Tools:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars.  This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified DumpRenderTree to
let a layout test specify this attribute so that the change's impact
on scrolling can be tested in a layout test.

Reviewed by Adam Barth.

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::handleMouseWheel):

LayoutTests:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars.  This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Added a layout test showing
that change correctly suppresses this behaviour.

Reviewed by Adam Barth.

* fast/events/touch/gesture/touch-gesture-scroll-sideways-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-scroll-sideways.html: Added.
* platform/chromium-linux/fast/events/touch/gesture/touch-gesture-scroll-sideways-expected.txt: Added. Note: test has intentional platform difference.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Thu, 12 Jul 2012 01:24:05 +0000 (01:24 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix the build by declaring -isPaginated before use.
simon.fraser@apple.com [Thu, 12 Jul 2012 01:22:05 +0000 (01:22 +0000)]
Fix the build by declaring -isPaginated before use.

* MiniBrowser/mac/BrowserWindowController.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 12 Jul 2012 01:16:47 +0000 (01:16 +0000)]
Unreviewed gardening.
Build fix for r122373.

* platform/chromium/support/WebCompositorSharedQuadState.cpp:
(WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r122358.
commit-queue@webkit.org [Thu, 12 Jul 2012 00:54:11 +0000 (00:54 +0000)]
Unreviewed, rolling out r122358.
http://trac.webkit.org/changeset/122358
https://bugs.webkit.org/show_bug.cgi?id=91037

Build break on WebKit Win (Requested by hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

Source/WebKit/chromium:

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::dragTargetDragEnter):
(WebKit):
(WebKit::WebViewImpl::dragTargetDragOver):
(WebKit::WebViewImpl::dragTargetDrop):
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::doDragDrop):
(EventSender::doMouseUp):
(EventSender::doMouseMove):
(EventSender::beginDragWithFiles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agonrwt: add a MessagePool abstraction that the manager will call to replace the broker
dpranke@chromium.org [Thu, 12 Jul 2012 00:45:58 +0000 (00:45 +0000)]
nrwt: add a MessagePool abstraction that the manager will call to replace the broker
https://bugs.webkit.org/show_bug.cgi?id=90511

Reviewed by Ojan Vafai.

This change introduces the new MessagePool abstraction that will
replace the classes in manager_worker_broker. It is a minimal
interface that tries to follow the conventions in
multiprocessing.Pool and concurrency.futures ... it provides a
context manager and a run() method that sends N messages to M
workers processes (starting workers as necessary) and waits for
them all to complete, handling cleanup as necessary. The caller
is responsible for providing a handle() method to handle
messages received from the workers.

This interface basically hides all of the multiprocessing logic from
the manager class.

The initial implementation of MessagePool is a simple shim
around the existing broker classes; a subsequent change will
replace all the other classes with a much simpler
implementation.

No additional tests are provided for now; existing tests should
provide adequate coverage, and I will add new unit tests for the
MessagePool class when I replace the existing implementation.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(TestRunInterruptedException.__reduce__):
(Manager.__init__):
(Manager._run_tests):
(Manager._run_tests.instead):
(Manager.handle):
(Manager._handle_started_test):
(Manager._handle_finished_test_list):
(Manager._handle_finished_test):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(get):
(_MessagePool):
(_MessagePool.__init__):
(_MessagePool.__enter__):
(_MessagePool.__exit__):
(_MessagePool.run):
(_MessagePool.wait):
(_MessagePool.is_done):
(_MessagePool._worker_is_done):
(_MessagePool._close):
(_MessagePool.handle_done):
(_MessagePool.handle_started_test):
(_MessagePool.handle_finished_test):
(_MessagePool.handle_finished_test_list):
(_MessagePool.handle_exception):
(_MessagePool._log_messages):
(_MessagePool._handle_worker_exception):
(_WorkerState):
(_WorkerState.for):
(_WorkerState.__init__):
(_WorkerState.__repr__):
(_get_broker):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(make_broker):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agopagesPerView param is misnamed for WKPageSetPageLength()
simon.fraser@apple.com [Thu, 12 Jul 2012 00:23:40 +0000 (00:23 +0000)]
pagesPerView param is misnamed for WKPageSetPageLength()
https://bugs.webkit.org/show_bug.cgi?id=91033

Rubber-stamped by Dan Bernstein.

The name of the second parameter to WKPageSetPageLength(),
'pagesPerView', was confusing; it's a page size (normally width)
in pixels.

* UIProcess/API/C/WKPagePrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDFG should have fast virtual calls
fpizlo@apple.com [Thu, 12 Jul 2012 00:12:03 +0000 (00:12 +0000)]
DFG should have fast virtual calls
https://bugs.webkit.org/show_bug.cgi?id=90924

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Implements virtual call support in the style of the old JIT, with the
caveat that we still use the same slow path for both InternalFunction
calls and JSFunction calls. Also rationalized the way that our
CodeOrigin indices tie into exception checks (previously it was a
strange one-to-one mapping with fairly limited assertions; now it's a
one-to-many mapping for CodeOrigins to exception checks, respectively).
I also took the opportunity to clean up
CallLinkInfo::callReturnLocation, which previously was either a Call or
a NearCall. Now it's just a NearCall. As well, exceptions during slow
path call resolution are now handled by returning an exception throwing
thunk rather than returning null. And finally, I made a few things
public that were previously private-with-lots-of-friends, because I
truly despise the thought of listing each thunk generating function as
a friend of JSValue and friends.

* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
* bytecode/CallLinkInfo.h:
(CallLinkInfo):
* bytecode/CodeOrigin.h:
(JSC::CodeOrigin::CodeOrigin):
(JSC::CodeOrigin::isSet):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::AssemblyHelpers):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::CCallHelpers):
* dfg/DFGGPRInfo.h:
(GPRInfo):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::CallBeginToken::CallBeginToken):
(JSC::DFG::CallBeginToken::~CallBeginToken):
(CallBeginToken):
(JSC::DFG::CallBeginToken::set):
(JSC::DFG::CallBeginToken::registerWithExceptionCheck):
(JSC::DFG::CallBeginToken::codeOrigin):
(JSC::DFG::CallExceptionRecord::CallExceptionRecord):
(CallExceptionRecord):
(JSC::DFG::JITCompiler::currentCodeOriginIndex):
(JITCompiler):
(JSC::DFG::JITCompiler::beginCall):
(JSC::DFG::JITCompiler::notifyCall):
(JSC::DFG::JITCompiler::prepareForExceptionCheck):
(JSC::DFG::JITCompiler::addExceptionCheck):
(JSC::DFG::JITCompiler::addFastExceptionCheck):
* dfg/DFGOperations.cpp:
* dfg/DFGRepatch.cpp:
(JSC::DFG::dfgLinkFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGThunks.cpp:
(JSC::DFG::emitPointerValidation):
(DFG):
(JSC::DFG::throwExceptionFromCallSlowPathGenerator):
(JSC::DFG::slowPathFor):
(JSC::DFG::linkForThunkGenerator):
(JSC::DFG::linkCallThunkGenerator):
(JSC::DFG::linkConstructThunkGenerator):
(JSC::DFG::virtualForThunkGenerator):
(JSC::DFG::virtualCallThunkGenerator):
(JSC::DFG::virtualConstructThunkGenerator):
* dfg/DFGThunks.h:
(DFG):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
(JSC::JIT::linkFor):
* runtime/Executable.h:
(ExecutableBase):
(JSC::ExecutableBase::offsetOfJITCodeFor):
(JSC::ExecutableBase::offsetOfNumParametersFor):
* runtime/JSValue.h:
(JSValue):

LayoutTests:

Rubber stamped by Oliver Hunt.

This changes which piece of code appears on top of the stack at the point of a stack
overflow. As far as Oliver and I can tell, it doesn't matter, so I just rebased the
test.

* fast/js/stack-trace-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd an option to enter paginated mode in MiniBrowser
simon.fraser@apple.com [Thu, 12 Jul 2012 00:10:23 +0000 (00:10 +0000)]
Add an option to enter paginated mode in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=91035

Reviewed by Dan Bernstein.

Add an item to the Debug menu for MiniBrowser that puts
the web view into paginated mode. For now, we only
do left-to-right pagination, with a fixed column width.

* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController validateMenuItem:]): Update the checked
state of the menu item.
(-[BrowserWindowController isPaginated]): Return YES if paginated.
(-[BrowserWindowController togglePaginationMode:]): Toggle in
and out of pagination mode.
* MiniBrowser/mac/MainMenu.xib: Add the debug menu item.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agocommit-queue instances on Compute Engine are missing git-svn
abarth@webkit.org [Thu, 12 Jul 2012 00:09:48 +0000 (00:09 +0000)]
commit-queue instances on Compute Engine are missing git-svn
https://bugs.webkit.org/show_bug.cgi?id=91034

Reviewed by Eric Seidel.

git-svn is needed to actually commit to SVN from a git working copy.

* EWSTools/cold-boot.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSVGUseElement should not use Element::ensureShadowRoot().
shinyak@chromium.org [Thu, 12 Jul 2012 00:05:12 +0000 (00:05 +0000)]
SVGUseElement should not use Element::ensureShadowRoot().
https://bugs.webkit.org/show_bug.cgi?id=90938

Reviewed by Hajime Morita.

We would like to remove Element::ensureShadowRoot() because we would like to stabilize the lifecycle of Shadow DOM.
This patch rewrites SVGUseElement::create() not to use Element::ensureShadowRoot(). Since our convention to create
a shadow subtree is to create a method createShadowSubtree(), I obeyed it.

No new tests. Simple refactoring.

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::create):
(WebCore::SVGUseElement::createShadowSubtree):
(WebCore):
* svg/SVGUseElement.h:
(SVGUseElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAccidentally used the wrong license (3-clause instead of 2-clause) in some
fpizlo@apple.com [Wed, 11 Jul 2012 23:33:20 +0000 (23:33 +0000)]
Accidentally used the wrong license (3-clause instead of 2-clause) in some
files I just committed.

Rubber stamped by Oliver Hunt.

* bytecode/Watchpoint.cpp:
* bytecode/Watchpoint.h:
* jit/JumpReplacementWatchpoint.cpp:
* jit/JumpReplacementWatchpoint.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agowebkitpy: lint code in webkitpy.layout_tests.models
dpranke@chromium.org [Wed, 11 Jul 2012 23:17:18 +0000 (23:17 +0000)]
webkitpy: lint code in webkitpy.layout_tests.models
https://bugs.webkit.org/show_bug.cgi?id=90416

Reviewed by Ojan Vafai.

Cleaning up errors reported from lint-webkitpy.

Also, suppress the warnings about wildcard imports in pylintrc;
we have nothing particularly against them.

* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(TestConfigurationConverter.combinations):
* Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py:
(TestConfigurationTest.test_hash.query_unknown_key):
(TestConfigurationTest.test_eq):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(ParseError.__init__):
(TestExpectationLine.__init__):
(TestExpectationsModel.get_expectations_string):
(TestExpectationsModel):
(TestExpectationsModel.expectation_to_string):
(TestExpectationsModel.add_expectation_line):
(TestExpectationsModel._clear_expectations_for_test):
(TestExpectationsModel._remove_from_sets):
(TestExpectations.get_expectations_string):
(TestExpectations.expectation_to_string):
(TestExpectations._report_warnings):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.__init__):
(parse_exp):
(SkippedTests.check):
(TestExpectationParserTests.test_parse_empty_string):
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(FailureTimeout.__init__):
(FailureCrash.__init__):
(FailureImageHashMismatch.__init__):
(FailureReftestMismatch.__init__):
(FailureReftestMismatchDidNotOccur.__init__):
(FailureReftestNoImagesGenerated.__init__):
* Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
(TestFailuresTest.test_unknown_failure_type.UnknownFailure.message):
(TestFailuresTest.test_unknown_failure_type):
(TestFailuresTest):
(TestFailuresTest.test_message_is_virtual):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.loads):
(TestResult.has_failure_matching_types):
* Scripts/webkitpy/pylintrc:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. Remove empty directories.
abarth@webkit.org [Wed, 11 Jul 2012 23:15:49 +0000 (23:15 +0000)]
Unreviewed.  Remove empty directories.

* http/tests/websocket/tests/resources: Removed.
* http/tests/websocket/tests/script-tests: Removed.
* http/tests/websocket/tests/workers: Removed.
* http/tests/websocket/tests/workers/resources: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWatchpoints and jump replacement should be decoupled
fpizlo@apple.com [Wed, 11 Jul 2012 23:12:35 +0000 (23:12 +0000)]
Watchpoints and jump replacement should be decoupled
https://bugs.webkit.org/show_bug.cgi?id=91016

Reviewed by Oliver Hunt.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/AbstractMacroAssembler.h:
(JSC):
(Label):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::appendWatchpoint):
(JSC::CodeBlock::watchpoint):
(DFGData):
* bytecode/Watchpoint.cpp:
(JSC):
* bytecode/Watchpoint.h:
(JSC::Watchpoint::Watchpoint):
(Watchpoint):
(JSC::Watchpoint::fire):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
* jit/JumpReplacementWatchpoint.cpp: Added.
(JSC):
(JSC::JumpReplacementWatchpoint::correctLabels):
(JSC::JumpReplacementWatchpoint::fireInternal):
* jit/JumpReplacementWatchpoint.h: Added.
(JSC):
(JumpReplacementWatchpoint):
(JSC::JumpReplacementWatchpoint::JumpReplacementWatchpoint):
(JSC::JumpReplacementWatchpoint::setDestination):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agonrwt: clean up names in worker.py
dpranke@chromium.org [Wed, 11 Jul 2012 23:11:14 +0000 (23:11 +0000)]
nrwt: clean up names in worker.py
https://bugs.webkit.org/show_bug.cgi?id=90510

Reviewed by Ojan Vafai.

This is the last patch in the series of refactoring worker.py;
all this does is change some names of methods, instance
variables, and method parameters to be clearer (it also changes
some code in manager.py and manager_worker.py to be consistent).

There are no functional changes in this patch and the existing
tests should cover everything.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager.prepare_lists_and_print_output):
(Manager._run_tests.worker_factory):
(Manager._run_tests):
(Manager._show_results_html_file):
(Manager.handle_finished_test_list):
(_WorkerState.__init__):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_Broker.post_message):
(_Broker._dispatch_message):
(AbstractWorker.__init__):
(AbstractWorker.run):
(AbstractWorker.yield_to_caller):
(AbstractWorker.post):
(_WorkerConnection.__init__):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(_TestWorker.__init__):
(_TestWorker.start):
(_TestWorker.handle):
(_TestWorker.stop):
(_TestsMixin):
(_TestsMixin.test_name):
* Scripts/webkitpy/layout_tests/controllers/worker.py:
(Worker.__init__):
(Worker.__del__):
(Worker.start):
(Worker.handle):
(Worker._run_test):
(Worker.stop):
(Worker._timeout):
(Worker._kill_driver):
(Worker._run_test_with_timeout):
(Worker._clean_up_after_test):
(Worker._run_test_in_another_thread.SingleTestThread.run):
(Worker._run_test_in_this_thread):
(Worker._run_single_test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Move compositor quads to Platform/chromium/public
commit-queue@webkit.org [Wed, 11 Jul 2012 23:06:56 +0000 (23:06 +0000)]
[chromium] Move compositor quads to Platform/chromium/public
https://bugs.webkit.org/show_bug.cgi?id=90582

Patch by Alexandre Elias <aelias@google.com> on 2012-07-11
Reviewed by Adrienne Walker.

This moves CCSharedQuadState, CCDrawQuad, and all but two CC*DrawQuad
classes to the WebKit namespace, as a first step to pushing them
across the process boundary for the ubercompositor.

- The intent is to serialize the class hierarchy using the same
mechanism as WebInputEvent.  In order to do this, there are three
requirements: pure POD data, a method returning size, and a packing
pragma.

- Private data members are fine with this kind of serializer, and a
default constructor is not needed.  Because of that, we can maintain
the same encapsulation and convenient APIs (behind
WEBKIT_IMPLEMENTATION) as the original classes.  To ease the
transition, the original WebCore headers still exist and typedef to
the new classes.

- However, SharedQuadState will be serialized using the normal
IPC_STRUCT_TRAITS macro, so I made its members public.  A custom
serializer (on quad lists) will maintain the pointers from quads to
SharedQuadStates.

- I converted the Material casting mechanism to materialCast() methods
living in the derived classes.  That way, the WebCompositorQuad header
doesn't need to know about all its derived classes.

- Quad classes not yet transitioned can still be used in
non-ubercompositor mode.  CCRenderPassDrawQuad and CCYUVVideoDrawQuad
are currently non-POD and I left them in their original files.

This approach is the best I've found so far, since it preserves all
WebCore-facing APIs and avoids unnecessary code duplication (new quad
types or members can be added by modifying only one place).  There
also should not be an unreasonable amount of custom serializer code
required.

Source/Platform:

* Platform.gypi:
* chromium/public/WebCompositorQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h.
(WebKit):
(WebCompositorQuad):
(WebKit::WebCompositorQuad::quadRect):
(WebKit::WebCompositorQuad::quadTransform):
(WebKit::WebCompositorQuad::layerTransform):
(WebKit::WebCompositorQuad::layerRect):
(WebKit::WebCompositorQuad::scissorRect):
(WebKit::WebCompositorQuad::opacity):
(WebKit::WebCompositorQuad::needsBlending):
(WebKit::WebCompositorQuad::isLayerAxisAlignedIntRect):
(WebKit::WebCompositorQuad::quadVisibleRect):
(WebKit::WebCompositorQuad::isDebugQuad):
(WebKit::WebCompositorQuad::material):
(WebKit::WebCompositorQuad::sharedQuadState):
(WebKit::WebCompositorQuad::setSharedQuadState):
* chromium/public/WebCompositorSharedQuadState.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.h.
(WebKit):
(WebCompositorSharedQuadState):
* chromium/public/WebCompositorSolidColorQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.h.
(WebKit):
(WebCompositorSolidColorQuad):
(WebKit::WebCompositorSolidColorQuad::color):
* chromium/public/WebCompositorTextureQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h.
(WebKit):
(WebCompositorTextureQuad):
(WebKit::WebCompositorTextureQuad::uvRect):
(WebKit::WebCompositorTextureQuad::textureId):
(WebKit::WebCompositorTextureQuad::premultipliedAlpha):
(WebKit::WebCompositorTextureQuad::flipped):

Source/WebCore:

No new tests. (No-op refactoring.)

* WebCore.gypi:
* platform/chromium/support/WebCompositorQuad.cpp: Added.
(WebKit):
(WebKit::WebCompositorQuad::WebCompositorQuad):
(WebKit::WebCompositorQuad::opaqueRect):
(WebKit::WebCompositorQuad::setQuadVisibleRect):
(WebKit::WebCompositorQuad::size):
* platform/chromium/support/WebCompositorSharedQuadState.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp.
(WebKit):
(WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState):
(WebKit::WebCompositorSharedQuadState::create):
(WebKit::WebCompositorSharedQuadState::isLayerAxisAlignedIntRect):
* platform/chromium/support/WebCompositorSolidColorQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp.
(WebKit):
(WebKit::WebCompositorSolidColorQuad::create):
(WebKit::WebCompositorSolidColorQuad::WebCompositorSolidColorQuad):
(WebKit::WebCompositorSolidColorQuad::materialCast):
* platform/chromium/support/WebCompositorTextureQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp.
(WebKit):
(WebKit::WebCompositorTextureQuad::create):
(WebKit::WebCompositorTextureQuad::WebCompositorTextureQuad):
(WebKit::WebCompositorTextureQuad::setNeedsBlending):
(WebKit::WebCompositorTextureQuad::materialCast):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp:
(WebCore::CCCheckerboardDrawQuad::create):
(WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad):
(WebCore::CCCheckerboardDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h:
(CCCheckerboardDrawQuad):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
(WebCore::CCDebugBorderDrawQuad::create):
(WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
(WebCore::CCDebugBorderDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
(CCDebugBorderDrawQuad):
* platform/graphics/chromium/cc/CCDrawQuad.cpp: Removed.
* platform/graphics/chromium/cc/CCDrawQuad.h:
(WebCore):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
(WebCore::CCIOSurfaceDrawQuad::create):
(WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
(WebCore::CCIOSurfaceDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
(CCIOSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
(WebCore::CCRenderPassDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
(CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore):
* platform/graphics/chromium/cc/CCSharedQuadState.h:
(WebCore):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
(WebCore):
* platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp:
(WebCore::CCStreamVideoDrawQuad::create):
(WebCore::CCStreamVideoDrawQuad::CCStreamVideoDrawQuad):
(WebCore::CCStreamVideoDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h:
(CCStreamVideoDrawQuad):
* platform/graphics/chromium/cc/CCTextureDrawQuad.h:
(WebCore):
* platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
(WebCore::CCTileDrawQuad::create):
(WebCore::CCTileDrawQuad::CCTileDrawQuad):
(WebCore::CCTileDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCTileDrawQuad.h:
(CCTileDrawQuad):
* platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp:
(WebCore::CCYUVVideoDrawQuad::create):
(WebCore::CCYUVVideoDrawQuad::CCYUVVideoDrawQuad):
(WebCore::CCYUVVideoDrawQuad::materialCast):
(WebCore):
* platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h:
(CCYUVVideoDrawQuad):

Source/WebKit/chromium:

* tests/CCLayerTestCommon.cpp:
(CCLayerTestCommon::verifyQuadsExactlyCoverRect):
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] [regression] Don't use ScrollByPrecisePixels on Chromium Mac.
rjkroege@chromium.org [Wed, 11 Jul 2012 23:01:58 +0000 (23:01 +0000)]
[chromium] [regression] Don't use ScrollByPrecisePixels on Chromium Mac.
https://bugs.webkit.org/show_bug.cgi?id=91020

Reviewed by Adam Barth.

A change in https://bugs.webkit.org/show_bug.cgi?id=87535 to
improve the operation of smooth scrolling incorrectly caused
Chromium Mac to use the wrong scroll granularity on
hasPreciseScrollingDeltas() == true wheelevent scrolls.
Exclude the change on the Chromium Mac platform.

* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent): Adjusted #ifdef to exclude Chromium
Mac from ScrollByPrecisePixels change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoThe commit-queue needs some extra git config to be able to commit
abarth@webkit.org [Wed, 11 Jul 2012 22:54:31 +0000 (22:54 +0000)]
The commit-queue needs some extra git config to be able to commit
https://bugs.webkit.org/show_bug.cgi?id=91025

Reviewed by Eric Seidel.

In order for the commit-queue to actually commit, it needs to know the
location of the SVN server.

* EWSTools/cold-boot.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoOn Mac, autocorrection sometimes fails to take place in Safari.
jpu@apple.com [Wed, 11 Jul 2012 22:48:49 +0000 (22:48 +0000)]
On Mac, autocorrection sometimes fails to take place in Safari.
https://bugs.webkit.org/show_bug.cgi?id=89982

Reviewed by Ryosuke Niwa.

We should check the value of shouldCheckForCorrection, not shouldShowCorrectionPanel, to determine if we should
early return in markAndReplaceFor(). Also, since we don't want autocorrection to happen when we only change selection,
not the content, so we shouldn't set TextCheckingTypeCorrection flag in markMisspellingsAndBadGrammar() as this function
is triggered only by selection change.

* editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::markMisspellingsAndBadGrammar):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r122361.
commit-queue@webkit.org [Wed, 11 Jul 2012 22:41:25 +0000 (22:41 +0000)]
Unreviewed, rolling out r122361.
http://trac.webkit.org/changeset/122361
https://bugs.webkit.org/show_bug.cgi?id=91027

Broke Windows build and fast/forms/state-restore-broken-
state.html (Requested by rniwa on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

* testing/Internals.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122378 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoTeach EWSTools how to configure SVN auth credentials
abarth@webkit.org [Wed, 11 Jul 2012 22:38:15 +0000 (22:38 +0000)]
Teach EWSTools how to configure SVN auth credentials
https://bugs.webkit.org/show_bug.cgi?id=91021

Reviewed by Eric Seidel.

To move the commit-queue over to Google Compute Engine, we need a way
to configure the commit-queue's credentials during the machine build
process. There doesn't seem to be a nice command line way of
configuring SVN auth credentials. I tried doing a bogus commit and
supplying the credentials that way, but that's super hacky.

The approach in this patch is to write the config file directly. The
format of these configurations files is documented in the SVN book, so
this approach doesn't see too sketchy.

* EWSTools/configure-svn-auth.sh: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122377 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAssertion ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRec...
simon.fraser@apple.com [Wed, 11 Jul 2012 22:26:55 +0000 (22:26 +0000)]
Assertion ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) when compositing in paginated mode
https://bugs.webkit.org/show_bug.cgi?id=90919

Reviewed by Antti Koivisto.

Source/WebCore:

r121124 added a fast path for geometry mapping that goes via layers
when possible. However, this broke paginated pages, which put
the root (RenderView) layer into column mode, because it failed
to check for columns on the ancestor layer.

Rather than make a risky change to convertToLayerCoords(), add a local
function canMapViaLayer(), which is like RenderLayer::canUseConvertToLayerCoords(),
but doesn't check for compositing (compositing itself is not a reason
to avoid convertToLayerCoords). Call canMapViaLayer() with the ancestorLayer
to check whether the ancestor has columns, which fixes the bug.

Test: compositing/columns/geometry-map-paginated-assert.html

* rendering/RenderGeometryMap.cpp:
(WebCore::canMapViaLayer):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

LayoutTests:

Test with a composited element in a document which is put into paginated mode.

* compositing/columns/geometry-map-paginated-assert-expected.txt: Added.
* compositing/columns/geometry-map-paginated-assert.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDedupe suffixes passed to webkit-patch rebaseline
ojan@chromium.org [Wed, 11 Jul 2012 22:12:55 +0000 (22:12 +0000)]
Dedupe suffixes passed to webkit-patch rebaseline
https://bugs.webkit.org/show_bug.cgi?id=91017

Reviewed by Dirk Pranke.

* Scripts/webkitpy/tool/commands/rebaseline.py:
(Rebaseline._suffixes_to_update):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(test_rebaseline_multiple_builders_and_tests_command_line):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSimplify css3/flexbox/repaint-rtl-column.html
ojan@chromium.org [Wed, 11 Jul 2012 21:52:22 +0000 (21:52 +0000)]
Simplify css3/flexbox/repaint-rtl-column.html
https://bugs.webkit.org/show_bug.cgi?id=91011

Reviewed by Tony Chang.

This test was doing something simple in a complicated way. Also, removing
the text should make it so that more ports can fallback to the same png.

* css3/flexbox/repaint-rtl-column-expected.txt:
* css3/flexbox/repaint-rtl-column.html:
* platform/chromium-linux/css3/flexbox/repaint-rtl-column-expected.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Rename layerRect to contentRect for rects that live in content space
danakj@chromium.org [Wed, 11 Jul 2012 21:38:43 +0000 (21:38 +0000)]
[chromium] Rename layerRect to contentRect for rects that live in content space
https://bugs.webkit.org/show_bug.cgi?id=90843

Reviewed by Adrienne Walker.

Source/WebCore:

Dropped the layerTransform() from CCSharedQuadState, as nothing should be
using it to draw with. RenderPasses need a weird drawTransform right now
which was stored in layerTransform, so moved this to the RenderPass quad.

No new tests. No change in behaviour.

* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
(WebCore::CanvasLayerTextureUpdater::paintContents):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::update):
(WebCore::ContentLayerChromium::needMoreUpdates):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::update):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::visibleContentOpaqueRegion):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::visibleContentRect):
(WebCore::LayerChromium::setVisibleContentRect):
(LayerChromium):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::drawYUVVideoQuad):
(WebCore::LayerRendererChromium::drawStreamVideoQuad):
(WebCore::LayerRendererChromium::drawIOSurfaceQuad):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateBounds):
(WebCore::TiledLayerChromium::setNeedsDisplayRect):
(WebCore::TiledLayerChromium::invalidateContentRect):
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::setTexturePriorities):
(WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
(WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
(WebCore::TiledLayerChromium::updateContentRect):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/TiledLayerChromium.h:
(TiledLayerChromium):
* platform/graphics/chromium/cc/CCDrawQuad.h:
(WebCore::CCDrawQuad::visibleContentRect):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::createSharedQuadState):
(WebCore::CCLayerImpl::appendDebugBorderQuad):
(WebCore::CCLayerImpl::visibleContentOpaqueRegion):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::visibleContentRect):
(WebCore::CCLayerImpl::setVisibleContentRect):
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTilingData.cpp:
(WebCore::CCLayerTilingData::contentRectToTileIndices):
(WebCore::CCLayerTilingData::opaqueRegionInContentRect):
(WebCore::CCLayerTilingData::setBounds):
* platform/graphics/chromium/cc/CCLayerTilingData.h:
(CCLayerTilingData):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleContentRect):
(WebCore::layerShouldBeSkipped):
(WebCore):
(WebCore::calculateVisibleAndScissorRectsInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::addOcclusionBehindLayer):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
(CCRenderPassDrawQuad):
(WebCore::CCRenderPassDrawQuad::drawTransform):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::createSharedQuadState):
(WebCore::CCRenderSurface::createReplicaSharedQuadState):
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCSharedQuadState.cpp:
(WebCore::CCSharedQuadState::create):
(WebCore::CCSharedQuadState::CCSharedQuadState):
(WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
* platform/graphics/chromium/cc/CCSharedQuadState.h:
(CCSharedQuadState):
(WebCore::CCSharedQuadState::visibleContentRect):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):
(WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):

Source/WebKit/chromium:

* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCLayerTreeHostCommonTest.cpp:
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceRotatedOffAxis::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
* tests/CCQuadCullerTest.cpp:
* tests/CCRenderSurfaceTest.cpp:
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/CCTiledLayerImplTest.cpp:
(CCLayerTestCommon::createLayer):
(CCLayerTestCommon::TEST):
(CCLayerTestCommon::getQuads):
(CCLayerTestCommon::coverageVisibleRectIntersectsTiles):
(CCLayerTestCommon::coverageVisibleRectIntersectsBounds):
* tests/CCTiledLayerTestCommon.cpp:
(WebKitTests::FakeLayerTextureUpdater::prepareToUpdate):
(WebKitTests::FakeTiledLayerChromium::update):
* tests/CCTiledLayerTestCommon.h:
(FakeTiledLayerChromium):
* tests/LayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoARIA spinbutton role incorrectly mapped to ProgressIndicatorRole
cfleizach@apple.com [Wed, 11 Jul 2012 21:20:50 +0000 (21:20 +0000)]
ARIA spinbutton role incorrectly mapped to ProgressIndicatorRole
https://bugs.webkit.org/show_bug.cgi?id=77298

Reviewed by Anders Carlsson.

Source/WebCore:

* accessibility/AccessibilityObject.cpp:
(WebCore::createARIARoleMap):

LayoutTests:

* platform/mac/accessibility/aria-spinbutton-expected.txt:
* platform/mac/accessibility/aria-spinbutton.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] UserViewportArguments are not properly respected.
commit-queue@webkit.org [Wed, 11 Jul 2012 21:14:25 +0000 (21:14 +0000)]
[BlackBerry] UserViewportArguments are not properly respected.
https://bugs.webkit.org/show_bug.cgi?id=91005

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-07-11
Reviewed by Rob Buis.

PR# 170088.
Move scale and zooming reset on Committed before applying
the user viewport to avoid overriding it immediately.

Internal review by Konrad Piascik, Jacky Jiang.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSorry, that wasn't supposed to actually land.
abarth@webkit.org [Wed, 11 Jul 2012 21:11:57 +0000 (21:11 +0000)]
Sorry, that wasn't supposed to actually land.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoOOPS! This commit should be rejected by the precommit hook.
commit-queue@webkit.org [Wed, 11 Jul 2012 21:10:43 +0000 (21:10 +0000)]
OOPS! This commit should be rejected by the precommit hook.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122369 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoBitmapImage::frameIsCompleteAtIndex() must return false if ImageDecoder is not initia...
kseo@webkit.org [Wed, 11 Jul 2012 21:03:49 +0000 (21:03 +0000)]
BitmapImage::frameIsCompleteAtIndex() must return false if ImageDecoder is not initialized.
https://bugs.webkit.org/show_bug.cgi?id=90757

Patch by Huang Dongsung <luxtella@company100.net> on 2012-07-11
Reviewed by Simon Fraser.

The current code fortunately has worked so far because only
BitmapImage::startAnimation calls frameIsCompleteAtIndex, and startAnimation
cannot call frameIsCompleteAtIndex if ImageDecoder is not yet initialized.
startAnimation returns at the first line becase shouldAnimate() always return
false in this case.

    if (m_frameTimer || !shouldAnimate() || frameCount() <= 1)
        return;

This change is needed because parallel image decoders call
BitmapImage::frameIsCompleteAtIndex in other places too.

No new tests, manually tested whether the caller exists or not that
calls BitmapImage::frameIsCompleteAtIndex() before ImageDecoder is
initialized.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::frameIsCompleteAtIndex):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122368 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed GTK gardening, adding an expectation for a test failing on the
zandobersek@gmail.com [Wed, 11 Jul 2012 20:56:41 +0000 (20:56 +0000)]
Unreviewed GTK gardening, adding an expectation for a test failing on the
64-bit Debug builder due to libxml2 2.8.0 being used and updating the
bug handle for another test.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[wx] Unreviewed build fix. Add new directories and a new LayoutTestController method.
kevino@webkit.org [Wed, 11 Jul 2012 20:28:50 +0000 (20:28 +0000)]
[wx] Unreviewed build fix. Add new directories and a new LayoutTestController method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122366 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[wx] Unreviewed build fix. Don't try to build udis86_itab.c since it's included by...
kevino@webkit.org [Wed, 11 Jul 2012 20:23:39 +0000 (20:23 +0000)]
[wx] Unreviewed build fix. Don't try to build udis86_itab.c since it's included by another file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Implement Date/Time picker
commit-queue@webkit.org [Wed, 11 Jul 2012 20:20:54 +0000 (20:20 +0000)]
[BlackBerry] Implement Date/Time picker
https://bugs.webkit.org/show_bug.cgi?id=90911

Patch by Crystal Zhang <haizhang@rim.com> on 2012-07-11
Reviewed by Rob Buis.

Source/WebKit:

Add files into make file.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Implement HTML Date/Time picker, also should delete popup when closing popup.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::closePagePopup):
* WebCoreSupport/DatePickerClient.cpp: Added.
(WebCore):
(WebCore::DatePickerClient::DatePickerClient):
(WebCore::DatePickerClient::~DatePickerClient):
(WebCore::DatePickerClient::generateHTML):
(WebCore::DatePickerClient::closePopup):
(WebCore::DatePickerClient::contentSize):
(WebCore::DatePickerClient::htmlSource):
(WebCore::DatePickerClient::setValueAndClosePopup):
(WebCore::DatePickerClient::didClosePopup):
(WebCore::DatePickerClient::writeDocument):
* WebCoreSupport/DatePickerClient.h: Added.
(WebKit):
(WebCore):
(DatePickerClient):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::openDatePopup):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[wx] Unreviewed build fix. Update code to use the new constant name.
kevino@webkit.org [Wed, 11 Jul 2012 20:20:39 +0000 (20:20 +0000)]
[wx] Unreviewed build fix. Update code to use the new constant name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[wx] Unreviewed build fix. Ignore array and sequence types for attributes as well
kevino@webkit.org [Wed, 11 Jul 2012 20:18:42 +0000 (20:18 +0000)]
[wx] Unreviewed build fix. Ignore array and sequence types for attributes as well
as functions since the CPP bindings do not yet support them.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122362 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[wx] Unreviewed build fix. Use DOMStringList instead of DOMString[] for in / out...
kevino@webkit.org [Wed, 11 Jul 2012 20:16:23 +0000 (20:16 +0000)]
[wx] Unreviewed build fix. Use DOMStringList instead of DOMString[] for in / out type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Minimum size used for occlusion tracking should be a setting on CCLayerTre...
danakj@chromium.org [Wed, 11 Jul 2012 20:14:28 +0000 (20:14 +0000)]
[chromium] Minimum size used for occlusion tracking should be a setting on CCLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=90993

Reviewed by Adrienne Walker.

Source/WebCore:

Move the default minimum size used for occlusion tracking from the
CCOcclusionTracker class into CCLayerTreeSettings. This value is then
used on both threads as the lower limit for any occlusion to be
remembered.

This allows us to use (0, 0) as the minimum size for tests, allowing all
occlusion to be tracked.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
* platform/graphics/chromium/cc/CCOcclusionTracker.h:

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122360 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Enable LEGACY_VIEWPORT_ADAPTION
abarth@webkit.org [Wed, 11 Jul 2012 20:02:10 +0000 (20:02 +0000)]
[Chromium] Enable LEGACY_VIEWPORT_ADAPTION
https://bugs.webkit.org/show_bug.cgi?id=90991

Reviewed by Tony Chang.

Source/WebKit/chromium:

Chromium wishes to support LEGACY_VIEWPORT_ADAPTION. I actually thought
this was enabled before, but the enable bit got lost in the shuffle.

* features.gypi:

LayoutTests:

These tests pass now that we've enabled this feature.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Remove drag and drop API methods that are no longer used
tony@chromium.org [Wed, 11 Jul 2012 19:59:51 +0000 (19:59 +0000)]
[chromium] Remove drag and drop API methods that are no longer used
https://bugs.webkit.org/show_bug.cgi?id=90996

Reviewed by Adam Barth.

Source/WebKit/chromium:

In r117327, we added a parameter for modifier keys to these methods.
Chromium has since switched to using the methods that require the
extra parameter so we can remove these methods.

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::dragTargetDragEnter):
(WebKit::WebViewImpl::dragTargetDragOver):
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

Migrate DRT to use the methods that take modifier keys.

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::doDragDrop):
(EventSender::doMouseUp):
(EventSender::doMouseMove):
(EventSender::beginDragWithFiles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122358 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd MIPS convertibleLoadPtr and other functions
commit-queue@webkit.org [Wed, 11 Jul 2012 19:48:29 +0000 (19:48 +0000)]
Add MIPS convertibleLoadPtr and other functions
https://bugs.webkit.org/show_bug.cgi?id=90714

Patch by Chao-ying Fu <fu@mips.com> on 2012-07-11
Reviewed by Oliver Hunt.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::labelIgnoringWatchpoints):
(MIPSAssembler):
(JSC::MIPSAssembler::replaceWithLoad):
(JSC::MIPSAssembler::replaceWithAddressComputation):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::convertibleLoadPtr):
(MacroAssemblerMIPS):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122357 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd -Wtautological-compare and -Wsign-compare warning flags
andersca@apple.com [Wed, 11 Jul 2012 19:41:03 +0000 (19:41 +0000)]
Add -Wtautological-compare and -Wsign-compare warning flags
https://bugs.webkit.org/show_bug.cgi?id=90994

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][WK2] Test actual rendering results in API tests
noam.rosenthal@nokia.com [Wed, 11 Jul 2012 19:29:43 +0000 (19:29 +0000)]
[Qt][WK2] Test actual rendering results in API tests
https://bugs.webkit.org/show_bug.cgi?id=80609

Reviewed by Alexis Menard.

Added a very basic test to tst_QQuickWebView to make sure rendering actually occurs.

* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
(tst_QQuickWebView::basicRenderingSanity):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoTileCache layers have wrong border debug color
dino@apple.com [Wed, 11 Jul 2012 19:29:30 +0000 (19:29 +0000)]
TileCache layers have wrong border debug color
https://bugs.webkit.org/show_bug.cgi?id=90922

Reviewed by Simon Fraser.

Source/WebCore:

Commit r122152 updated the layer hierarchy when a tile
cache is being used by the view. As part of that, GraphicsLayerClient::shouldUseTileCache()
was changed to return false in some situations (the idea was that it
should only be called from the createGraphicsLayer method). However
there were two other call points: one that sets the debug colors on
borders, the other was a call that keeps the document background in sync.

Add a new method usingTileCache() that returns the current state. Also fix
a FIXME where the debug code always called into the client rather than
caching the value on the GraphicsLayer.

Test: compositing/document-background-color.html

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::updateDebugIndicators): check the local variable when
setting the debug colors.
* platform/graphics/GraphicsLayer.h:
(GraphicsLayer): new bool member variable m_usingTileCache.
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::usingTileCache): new virtual method to query if
this client is actually using the tile cache.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA): set the member variable m_usingTileCache
if the GraphicsLayerClient says we are.
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::usingTileCache):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::documentBackgroundColorDidChange): call usingTileCache()
rather than shouldUseTileCache(), because the latter's value might not always reflect
the existence of a cache.

LayoutTests:

Make sure that the document background color is updated
when using a Tile Cache.

* compositing/document-background-color-expected.html: Added.
* compositing/document-background-color.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoClang build fix after r122345.
rniwa@webkit.org [Wed, 11 Jul 2012 18:53:12 +0000 (18:53 +0000)]
Clang build fix after r122345.
Also let XCode do its own thing.

* WebCore.xcodeproj/project.pbxproj:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollectionWithArrayStorage::item):
* html/HTMLCollection.h:
(HTMLCollectionWithArrayStorage):
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::itemInArrayAfter):
* html/HTMLFormCollection.h:
(HTMLFormCollection):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::itemInArrayAfter):
* html/HTMLPropertiesCollection.h:
(HTMLPropertiesCollection):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122353 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd a Mountain Lion version of libWebKitSystemInterface.a.
mrowe@apple.com [Wed, 11 Jul 2012 18:49:33 +0000 (18:49 +0000)]
Add a Mountain Lion version of libWebKitSystemInterface.a.

Source/WebKit/mac:

Reviewed by John Sullivan.

* Configurations/DebugRelease.xcconfig: Look for the library under its expected name.

Source/WebKit2:

Reviewed by John Sullivan.

* Configurations/DebugRelease.xcconfig: Look for the library under its expected name.

Tools:

Reviewed by John Sullivan.

* Scripts/copy-webkitlibraries-to-product-directory: Include libWebKitSystemInterfaceMountainLion.a in the list of libraries to copy.

WebKitLibraries:

Update the WebKitSystemInterface header and binaries.

Reviewed by John Sullivan.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a: Added.
* libWebKitSystemInterfaceSnowLeopard.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122352 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd a performance test for hit testing in SVG
pdr@google.com [Wed, 11 Jul 2012 18:45:32 +0000 (18:45 +0000)]
Add a performance test for hit testing in SVG
https://bugs.webkit.org/show_bug.cgi?id=90811

Reviewed by Ryosuke Niwa.

The shape rendering code is changing a lot and I'd like a performance test to
make sure we don't regress, and to track our improvements.

Performance results in my Linux desktop:
    RESULT SVG: SvgHitTesting= 105.0 ms
    median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms

    RESULT SVG: SvgHitTesting= 97.8 ms
    median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms

    RESULT SVG: SvgHitTesting= 104.3 ms
    median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms

    RESULT SVG: SvgHitTesting= 103.6 ms
    median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms

* SVG/SvgHitTesting.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122351 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago<http://webkit.org/b/90835> Teach bisect-builds to work with a Safari.app that has...
mrowe@apple.com [Wed, 11 Jul 2012 18:45:10 +0000 (18:45 +0000)]
<webkit.org/b/90835> Teach bisect-builds to work with a Safari.app that has entitlements.

Reviewed by Dan Bernstein.

* Scripts/bisect-builds: Use safariPathFromSafariBundle to determine which binary within the application
should be invoked.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Gtk] fast/events/keydown-function-keys.html is failing
zandobersek@gmail.com [Wed, 11 Jul 2012 18:42:07 +0000 (18:42 +0000)]
[Gtk] fast/events/keydown-function-keys.html is failing
https://bugs.webkit.org/show_bug.cgi?id=90891

Reviewed by Martin Robinson.

Work around the context menu being shown on F10 key being pressed by
unbiding the key when running tests in DumpRenderTree. The problem
appears when using a recent version of the xkeyboard-config package.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(setDefaultsToConsistentStateValuesForTesting):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed build fix, forgot to add URLTestHelpers.* when landing r122344
shawnsingh@chromium.org [Wed, 11 Jul 2012 18:30:19 +0000 (18:30 +0000)]
Unreviewed build fix, forgot to add URLTestHelpers.* when landing r122344

* tests/URLTestHelpers.cpp: Added.
(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):
* tests/URLTestHelpers.h: Added.
(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122348 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSimplify the copying of JSC ARMv7's LinkRecord
benjamin@webkit.org [Wed, 11 Jul 2012 18:15:17 +0000 (18:15 +0000)]
Simplify the copying of JSC ARMv7's LinkRecord
https://bugs.webkit.org/show_bug.cgi?id=90930

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-07-11
Reviewed by Filip Pizlo.

The class LinkRecord is used by value everywhere in ARMv7Assembler. The compiler uses
memmove() to move the objects.

The problem is memmove() is overkill for this object, moving the value can be done with
3 load-store. This patch adds an operator= to the class doing more efficient copying.
This reduces the link time by 19%.

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::LinkRecord::LinkRecord):
(JSC::ARMv7Assembler::LinkRecord::operator=):
(JSC::ARMv7Assembler::LinkRecord::from):
(JSC::ARMv7Assembler::LinkRecord::setFrom):
(JSC::ARMv7Assembler::LinkRecord::to):
(JSC::ARMv7Assembler::LinkRecord::type):
(JSC::ARMv7Assembler::LinkRecord::linkType):
(JSC::ARMv7Assembler::LinkRecord::setLinkType):
(JSC::ARMv7Assembler::LinkRecord::condition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Gtk] allow building with css-filters
commit-queue@webkit.org [Wed, 11 Jul 2012 18:14:47 +0000 (18:14 +0000)]
[Gtk] allow building with css-filters
https://bugs.webkit.org/show_bug.cgi?id=90908

.:

Add support for css-filters in Source/WebCore/GNUmakefile.am
configure.ac

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-07-11
Reviewed by Eric Seidel.

* configure.ac:

Source/WebCore:

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-07-11
Reviewed by Eric Seidel.

Add support for css-filters in Source/WebCore/GNUmakefile.am
configure.ac

No functional change, so no new tests.

* GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122346 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoHTMLFormCollection::item and HTMLPropertiesCollection::item should share code
rniwa@webkit.org [Wed, 11 Jul 2012 18:13:12 +0000 (18:13 +0000)]
HTMLFormCollection::item and HTMLPropertiesCollection::item should share code
https://bugs.webkit.org/show_bug.cgi?id=90932

Reviewed by Anders Carlsson.

Merged HTMLFormCollection::item and HTMLPropertiesCollection::item as HTMLCollectionWithArrayStorage::item,
which can be merged into HTMLCollection::item in a follow up patch.

Also moved the call to invalidateCacheIfNeeded into HTMLCollection::updateNameCache() as done in
HTMLPropertiesCollection.

In addition, moved the early bail out for when the base element doesn't have itemscope attribute from individual
functions to updateRefElements so that HTMLCollectionWithArrayStorage::item doesn't need to have this check.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollectionWithArrayStorage::item): Added. It's based on HTMLPropertiesCollection::item but it only
has the single loop (as supposed to nested loops) as HTMLFormCollection doesn't have multiple items per element
in the array unlike HTMLPropertiesCollection. In addition, offsetInArray (was i in HTMLPropertiesCollection::item) is
incremented in each itemAfter due to this semantic difference in each itemAfter.
(WebCore::HTMLCollection::updateNameCache):
(WebCore::HTMLCollection::hasNamedItem):
(WebCore::HTMLCollection::namedItems):
* html/HTMLCollection.h:
(HTMLCollectionWithArrayStorage):
(WebCore::HTMLCollectionWithArrayStorage::HTMLCollectionWithArrayStorage):
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::HTMLFormCollection):
(WebCore::HTMLFormCollection::calcLength): Merged numberOfFormControlElements since it was only called here.
(WebCore::HTMLFormCollection::itemAfter): Added. HTMLFormCollection has exactly one item per element in the array
so we increment the offset in each iteration. Note that when we're continuing a search, we need to increment
the offset in order to avoid returning the same item.
(WebCore::HTMLFormCollection::updateNameCache):
* html/HTMLFormCollection.h:
(HTMLFormCollection):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
(WebCore::HTMLPropertiesCollection::updateRefElements): Set m_hasItemRefElements true upfront since we never fail to
update ref elements. Bail out as soon as we cleared the m_itemRefElements when the base element doesn't have itemscope
content attribute.
(WebCore::HTMLPropertiesCollection::itemAfter): Added. We reset previousItem to null because the existing itemAfter
requires previousItem be null when we're moving to a new entry in m_itemRefElements.
(WebCore::HTMLPropertiesCollection::calcLength):
(WebCore::HTMLPropertiesCollection::cacheFirstItem):
(WebCore::HTMLPropertiesCollection::updateNameCache): Merged findProperties since this was the only caller.
(WebCore::HTMLPropertiesCollection::names):
(WebCore::HTMLPropertiesCollection::namedItem):
(WebCore::HTMLPropertiesCollection::hasNamedItem):
* html/HTMLPropertiesCollection.h:
(HTMLPropertiesCollection): Made updateRefElements public as it's called in HTMLCollectionWithArrayStorage::item.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
shawnsingh@chromium.org [Wed, 11 Jul 2012 18:10:06 +0000 (18:10 +0000)]
[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by Adrienne Walker.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed, in particular GURL usage is
replaced with KURL usage.

* WebKit.gyp:
added WEBKIT_IMPLEMENTATION == 1 for unit test code when in shared library
added URLTestHelpers to exclusion in shared library build, because it depends on webkit_support

* WebKit.gypi:
added URLTestHelpers.h and .cpp to the build process

* WebKitUnitTests.gyp:
added WEBKIT_IMPLEMENTATION == 1 for unit test code when not in shared library.
note that in shared library build, RunAllTests.cpp does not have WEBKIT_IMPLEMENTATION == 1.

* public/WebDOMMessageEvent.h:
(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):
* tests/AssociatedURLLoaderTest.cpp:
* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::loadFrame):
* tests/FrameTestHelpers.h:
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/PopupMenuTest.cpp:
* tests/RunAllTests.cpp:
* tests/URLTestHelpers.cpp: Added.
(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):
* tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.
(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):
* tests/WebFrameTest.cpp:
* tests/WebPageNewSerializerTest.cpp:
* tests/WebPageSerializerTest.cpp:
* tests/WebViewTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122344 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRenderView layer is marked as fixed position container in the scrolling tree if page...
commit-queue@webkit.org [Wed, 11 Jul 2012 18:00:29 +0000 (18:00 +0000)]
RenderView layer is marked as fixed position container in the scrolling tree if page scale != 1
https://bugs.webkit.org/show_bug.cgi?id=89216

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-07-11
Reviewed by Simon Fraser.

Render layers with CSS transforms should become containers for any fixed
positioned descendants. However, because this check is done with
RenderLayer::hasTransform(), we also end up marking the RenderLayer for the
RenderView as fixed position container if a non-identity page scale factor is
used. This is because page scale is applied as a transform for that layer.

This breaks fixed position layers, because they become fixed relative to the
RenderView layer instead of outer scroll clip layer.

The fix is to avoid marking any root layers as fixed position containers.

No new test because the scrolling tree isn't currently testable.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122343 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoREGRESSION (r116203): overflow sections don't have scrollbars
jchaffraix@webkit.org [Wed, 11 Jul 2012 17:50:47 +0000 (17:50 +0000)]
REGRESSION (r116203): overflow sections don't have scrollbars
https://bugs.webkit.org/show_bug.cgi?id=90052

Reviewed by Simon Fraser.

This issue stems from RenderLayers with overlay scrollbars not being considered
self-painting.

After r120395 (follow-up of r116203), we ignore subtrees that have no self-painting layer for
painting. Normal scrollbars are painted by their renderer so they were properly painted. However
overlay scrollbars need to be painted by their RenderLayer as a separate phase (see bug 57057) so
they were not painted anymore. The fix is simple: make RenderLayer with overlay scrollbars
self-painting as they should have been in the first place.

Unfortunately no tests as I don't think we have a good way of testing overlay
scrollbars. Tested manually though on the super simple test case from the bug.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
Overlay scrollbars make the layer self-painting.

(WebCore::RenderLayer::updateScrollbarsAfterLayout):
Added a call to updateSelfPaintingLayer.

(WebCore::RenderLayer::styleChanged):
Moved the call to updateSelfPaintingLayer after recomputing the scrollbars to ensure proper behavior.
Added a comment underlining the reason.

(WebCore::RenderLayer::updateSelfPaintingLayer):
Renamed as it is now called during layout too.

* rendering/RenderLayer.h:
(RenderLayer): Updated after updateSelfPaintingLayer rename.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122342 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agojsc: Parse options before creating global data
wingo@igalia.com [Wed, 11 Jul 2012 17:50:15 +0000 (17:50 +0000)]
jsc: Parse options before creating global data
https://bugs.webkit.org/show_bug.cgi?id=90975

Reviewed by Filip Pizlo.

This patch moves the options parsing in "jsc" before the creation
of the JSGlobalData, so that --useJIT=no has a chance to take
effect.

* jsc.cpp:
(CommandLine::parseArguments): Refactor to be a class, and take
argc and argv as constructor arguments.
(jscmain): Move arg parsing before JSGlobalData creation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122341 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] QRawWebView should notify when rendering is done, so that pixel results can...
noam.rosenthal@nokia.com [Wed, 11 Jul 2012 17:50:03 +0000 (17:50 +0000)]
[Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment.
https://bugs.webkit.org/show_bug.cgi?id=90641

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

Implement LayerTreeCoordinator::forceRepaint with logic equivalent to the one in
LayerTreeHostCA. If we flush the layers synchronously when forceRepaint is called,when
WKPageForceRepaint returns we are guaranteed to have an up-to-date image, as the visible
tiles are also synchronously updated.

* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(WebView::WebView):
(WebView::viewNeedsDisplay):
(WebView::frameLoaded):
(WebView):
(WebView::onRepaintDone):
(WebView::finishForceRepaint):
(WebView::finishFirstLayoutForFrame):
(tst_qrawwebview::doNoBackground1):
(tst_qrawwebview::doNoBackground2):
(tst_qrawwebview::doNoBackground3):
(tst_qrawwebview::run):
    The test for QRawWebView has been updated to use the WebKit2 ForcePaint API prior to
    generating the pixel results. This has exposed a timing bug in the test - setting the
    transparentBackground property of a page has to be done before it's created. This has
    been fixed in the test.

* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit):

Tools:

* MiniBrowser/qt/raw/View.h: Comment used old class name (WKView).
(View):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122340 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoNodesFromRect doesn't work on SVG root elements.
allan.jensen@nokia.com [Wed, 11 Jul 2012 17:09:03 +0000 (17:09 +0000)]
NodesFromRect doesn't work on SVG root elements.
https://bugs.webkit.org/show_bug.cgi?id=89990

Reviewed by Antonio Gomes.

Source/WebCore:

Adds support for rect-based hit-testing on the SVG root element.
This means that while rect-based hit-testing is still not supported
within SVG elements, that at least it works on SVG root elements as
it would on any other replaced element.

Test: fast/dom/nodesFromRect-svg.html

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint):

LayoutTests:

Test nodesFromRect on SVG root elements.

* fast/dom/nodesFromRect-svg-expected.txt: Added.
* fast/dom/nodesFromRect-svg.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122339 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDeleting content at the top of prettypatch emails destroys HTML formatting
commit-queue@webkit.org [Wed, 11 Jul 2012 16:56:18 +0000 (16:56 +0000)]
Deleting content at the top of prettypatch emails destroys HTML formatting
https://bugs.webkit.org/show_bug.cgi?id=90700
<rdar://problem/7488232>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-07-11
Reviewed by David Kilzer.

* PrettyPatch/PrettyPatch.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122338 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Android] sending an extra to the DRT apk so that DRT can be run in a seperate thread
commit-queue@webkit.org [Wed, 11 Jul 2012 16:50:44 +0000 (16:50 +0000)]
[Android] sending an extra to the DRT apk so that DRT can be run in a seperate thread
https://bugs.webkit.org/show_bug.cgi?id=90831

Patch by Min Qin <qinmin@chromium.org> on 2012-07-11
Reviewed by Adam Barth.

On android, DRT needs to run in a background thread to avoid ANR.
However, the java tests are running on UI thread by default.
We need to send an intent extra to the apk so that it can run on a sub thread.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._start_once):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122337 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 11 Jul 2012 16:46:36 +0000 (16:46 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-5.0-wk2/Skipped: Skip a new crashing test.
* platform/qt/Skipped: Typo fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122336 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] REGRESSION(r107171): Fix --timeout option of Qt's DRT
ossy@webkit.org [Wed, 11 Jul 2012 15:14:16 +0000 (15:14 +0000)]
[Qt] REGRESSION(r107171): Fix --timeout option of Qt's DRT
https://bugs.webkit.org/show_bug.cgi?id=90966

Reviewed by Ryosuke Niwa.

* DumpRenderTree/qt/main.cpp:
(main): Don't remove the argument, because takeOptionValue() did it before.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122335 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] REGRESSION(r122250): It broke USE(3D_GRAPHICS)=1 and ENABLE(WEBGL)=0 builds
ossy@webkit.org [Wed, 11 Jul 2012 15:08:09 +0000 (15:08 +0000)]
[Qt] REGRESSION(r122250): It broke USE(3D_GRAPHICS)=1 and ENABLE(WEBGL)=0 builds
https://bugs.webkit.org/show_bug.cgi?id=90943

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-11
Reviewed by Csaba Osztrogonác.

Uses proper guarding in Extensions3DOpenGLCommon and Extensions3DOpenGLES as per https://bugs.webkit.org/show_bug.cgi?id=90506.

No new tests, becasue there is no new functionality.

* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Use proper guarding.
* platform/graphics/opengl/Extensions3DOpenGLES.cpp: Use proper guarding.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122334 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Middle clicking a scrollbar causes text to be pasted.
commit-queue@webkit.org [Wed, 11 Jul 2012 15:05:23 +0000 (15:05 +0000)]
[Qt] Middle clicking a scrollbar causes text to be pasted.
https://bugs.webkit.org/show_bug.cgi?id=78444

Source/WebKit/qt:

Check if the event was already accepted before handling the clipboard.

Patch by Steffen Imhof <steffen.imhof@basyskom.com> on 2012-07-11
Reviewed by Simon Hausmann.

* Api/qwebpage.cpp:
(QWebPagePrivate::mouseReleaseEvent):

LayoutTests:

Updated the scrollbars/scrollbar-middleclick-nopaste.html test to use an
<input> field as target for onpaste events. Using <body> did not work
(at least for Qt), because the onpaste events are not fired, even if
manually middle-clicking into the body. My guess would be that they are
not sent, because the body is non-editable. The changed test should
reflect the common use-case triggering the problem better.

Patch by Steffen Imhof <steffen.imhof@basyskom.com> on 2012-07-11
Reviewed by Simon Hausmann.

* scrollbars/scrollbar-middleclick-nopaste.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: migrate from background images to CSS for statusbar rendering.
pfeldman@chromium.org [Wed, 11 Jul 2012 14:50:44 +0000 (14:50 +0000)]
Web Inspector: migrate from background images to CSS for statusbar rendering.
https://bugs.webkit.org/show_bug.cgi?id=90902

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change removes statusbar* images and uses gradients and borders to re-create original inspector look.

* WebCore.gypi:
* inspector/front-end/Images/statusbarBackground.png: Removed.
* inspector/front-end/Images/statusbarBottomBackground.png: Removed.
* inspector/front-end/Images/statusbarButtons.png: Removed.
* inspector/front-end/Images/statusbarMenuButton.png: Removed.
* inspector/front-end/Images/statusbarMenuButtonSelected.png: Removed.
* inspector/front-end/StatusBarButton.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(body.drawer-visible #main-status-bar):
(body.drawer-visible #main-status-bar::after):
(.status-bar-background):
(.status-bar > div):
(.glyph):
(button.status-bar-item):
(.status-bar button.status-bar-item:active):
(select.status-bar-item):
(select.status-bar-item, select.status-bar-item:hover):
(body.detached .alternate-status-bar-buttons-bar):
(.alternate-status-bar-buttons-bar):
(.alternate-status-bar-buttons-bar .status-bar-item):
(.alternate-status-bar-buttons-bar .status-bar-item.emulate-active):
(#drawer):
(body.drawer-visible #drawer-contents):
(#drawer-status-bar):
* inspector/front-end/inspector.html:
* inspector/front-end/scriptsPanel.css:
(button.status-bar-item.scripts-navigator-show-hide-button):
(button.status-bar-item.scripts-navigator-show-hide-button:active):
(button.status-bar-item.scripts-debugger-show-hide-button):
(button.status-bar-item.scripts-debugger-show-hide-button:active):

Source/WebKit/chromium:

* WebKit.gypi:
* src/js/Images/statusbarBackgroundChromium.png: Removed.
* src/js/Images/statusbarBottomBackgroundChromium.png: Removed.
* src/js/Images/statusbarButtonsChromium.png: Removed.
* src/js/Images/statusbarMenuButtonChromium.png: Removed.
* src/js/Images/statusbarMenuButtonSelectedChromium.png: Removed.
* src/js/devTools.css:
(.status-bar-background):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122332 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Unreviewed gardening. fast/forms/textarea/textarea-state-restore.html...
wjmaclean@chromium.org [Wed, 11 Jul 2012 14:35:37 +0000 (14:35 +0000)]
[Chromium] Unreviewed gardening. fast/forms/textarea/textarea-state-restore.html is flaky (timeouts frquently).
https://bugs.webkit.org/show_bug.cgi?id=90980

Marking this test as possible TIMOUT in test expectations.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122331 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed gardening. Skip a failing test after r122327.
ossy@webkit.org [Wed, 11 Jul 2012 14:06:50 +0000 (14:06 +0000)]
[Qt] Unreviewed gardening. Skip a failing test after r122327.
https://bugs.webkit.org/show_bug.cgi?id=90979.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-07-11

* platform/qt/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122330 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed gardening. Mark inspector/extensions/extensions-events.html as TIMEOUT...
wjmaclean@chromium.org [Wed, 11 Jul 2012 13:48:46 +0000 (13:48 +0000)]
Unreviewed gardening. Mark inspector/extensions/extensions-events.html as TIMEOUT on non-debug builds.
https://bugs.webkit.org/show_bug.cgi?id=86439

This test has started timing out on non-debug builds as well, adding comment to existing bug.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122329 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] crash in CookieDatabaseBackingStore.
jason.liu@torchmobile.com.cn [Wed, 11 Jul 2012 13:44:48 +0000 (13:44 +0000)]
[BlackBerry] crash in CookieDatabaseBackingStore.
https://bugs.webkit.org/show_bug.cgi?id=90270

Reviewed by George Staikos.

There is one case for this crash.
1. A browser crashes and locks cookies' database for a while.
2. Open a new browser when the old one doesn't finish crashing.
3. The new one writes the cookies' database and receives a SQLITE_BUSY error
   in CookieDatabaseBackingStore's invokeOpen. So this database isn't opened.
4. invokeGetCookiesWithLimit returns 0.
5. Crash happens when using a null pointer.

Add function setBusyTimeout(1000) and a guard for cookies' pointer.
setBusyTimeout will call sqlite3_busy_timeout.

When the SQLite database is accessed for reading it is locked for writing
until the reading access is finished. Another process cannot access the database
while it is locked. The timeout time sets a limit while this process tries to access
the locked database. If the database is unlocked within the timeout time it can be
accessed, otherwise an access fails.

No new tests. This crash is hard to reproduce, and it happens only on our platform.

* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
(WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122328 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Move revisions support to UISourceCode.
vsevik@chromium.org [Wed, 11 Jul 2012 12:30:10 +0000 (12:30 +0000)]
Web Inspector: Move revisions support to UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=90888

Reviewed by Pavel Feldman.

Source/WebCore:

Moved revisions support to UISourceCode.
Revision management code is moved unchanged where possible and should be refactored later.

* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged): revision is now added to uiSourceCode, not resource.
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._notifyUISourceCodeContentCommitted):
Extension server is now listening for Workspace.UISourceCodeContentCommitted event instead of ResourceTreeModel.ResourceContentCommitted.
* inspector/front-end/Resource.js:
* inspector/front-end/ResourceTreeModel.js: ResourceTreeModel.ResourceContentCommitted renamed to Workspace.UISourceCodeContentCommitted.
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceSourceFrame): ResourceSourceFrame is not update when revisions are added anymore as resource conenten is considered immutable now
* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryView.populateRevisions):
(WebInspector.RevisionHistoryView):
(WebInspector.RevisionHistoryView.showHistory):
(WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem):
(WebInspector.RevisionHistoryView.prototype._revisionAdded.get if):
(WebInspector.RevisionHistoryView.prototype._revisionAdded):
(WebInspector.RevisionHistoryView.prototype._revealUISourceCode.get if):
(WebInspector.RevisionHistoryView.prototype._revealUISourceCode):
(WebInspector.RevisionHistoryView.prototype._reset):
* inspector/front-end/ScriptSnippetModel.js: Snippets are not loaded before ResourceTreeModel.mainFrame is available anymore.
(WebInspector.ScriptSnippetModel):
(WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.requestOriginalContent):
(WebInspector.UISourceCode.prototype._setContent):
(WebInspector.UISourceCode.prototype.addRevision):
(WebInspector.UISourceCode.prototype._restoreRevisionHistory):
(WebInspector.UISourceCode.prototype._clearRevisionHistory):
(WebInspector.UISourceCode.prototype.revertToOriginal):
(WebInspector.UISourceCode.prototype.revertAndClearHistory):
(WebInspector.UISourceCode.prototype.revertAndClearHistory.clearHistory):
(WebInspector.UISourceCode.prototype.commitWorkingCopy):
(WebInspector.UISourceCode.prototype.canonicalMimeType):
(WebInspector.Revision):
(WebInspector.Revision._revisionHistoryRegistry):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut.persist):
(WebInspector.Revision._ensureStaleRevisionsFileteredOut):
(WebInspector.Revision.prototype.get uiSourceCode):
(WebInspector.Revision.prototype.get timestamp):
(WebInspector.Revision.prototype.get content):
(WebInspector.Revision.prototype.revertToThis):
(WebInspector.Revision.prototype.contentURL):
(WebInspector.Revision.prototype.contentType):
(WebInspector.Revision.prototype.requestContent):
(WebInspector.Revision.prototype.searchInContent):
(WebInspector.Revision.prototype._persist):
* inspector/front-end/UserAgentSupport.js: Drive-by closure compilation fix.
* inspector/front-end/Workspace.js:
* inspector/front-end/inspector.js: ScriptSnippetModel is now created after ResourceTreeModel.

LayoutTests:

* http/tests/inspector/network/network-request-revision-content-expected.txt:
* http/tests/inspector/network/network-request-revision-content.html:
* inspector/debugger/script-snippet-model.html:
* inspector/styles/styles-add-new-rule.html:
* inspector/styles/styles-history.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWebCoreSupport needs objects each of which follows major WebCore objects
morrita@google.com [Wed, 11 Jul 2012 11:26:50 +0000 (11:26 +0000)]
WebCoreSupport needs objects each of which follows major WebCore objects
https://bugs.webkit.org/show_bug.cgi?id=88499

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This change

- Makes Internals rough lifetime to follow Document.
  Note that Internals can survive longer than Document in same case.
  Internals::m_document is cleared when the document destruction is notified.
- Makes InternalSettings rough lifetime to follow the Page.
  This is done by making InternalSettings a supplement of the page.
  Now InternalSettings object is created per Page instead of per Frame.

Per-test setting clearance is done by newly introduced InternalSettings::Backup,
which recovers the modified settings and refreshes it for each time a test starts.

* WebCore.exp.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::from):
(WebCore::InternalSettings::~InternalSettings):
(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::reset):
(WebCore::InternalSettings::settings):
(WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
(WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
(WebCore::InternalSettings::allowRoundingHacks):
(WebCore::InternalSettings::userPreferredLanguages):
(WebCore::InternalSettings::setUserPreferredLanguages):
(WebCore::InternalSettings::setShouldDisplayTrackKind):
(WebCore::InternalSettings::shouldDisplayTrackKind):
(WebCore::InternalSettings::setPagination):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
(WebCore::InternalSettings::page):
* testing/InternalSettings.idl:
* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore):
(WebCore::Internals::contextDocument):
(WebCore::Internals::frame):
(WebCore::Internals::settings):
(WebCore::Internals::setPagination): Replaced as an alias.
(WebCore::Internals::userPreferredLanguages): Replaced as an alias.
(WebCore::Internals::setUserPreferredLanguages): Replaced as an alias.
(WebCore::Internals::setShouldDisplayTrackKind): Replaced as an alias.
(WebCore::Internals::shouldDisplayTrackKind): Replaced as an alias.
(WebCore::Internals::emitInspectorDidBeginFrame):
(WebCore::Internals::emitInspectorDidCancelFrame):
(WebCore::Internals::allowRoundingHacks): Replaced as an alias.
* testing/Internals.h:
(WebCore):
(Internals):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):
* testing/v8/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

Source/WebKit2:

Added exporting symbols.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r122318.
abecsi@webkit.org [Wed, 11 Jul 2012 10:40:41 +0000 (10:40 +0000)]
Unreviewed, rolling out r122318.
http://trac.webkit.org/changeset/122318
https://bugs.webkit.org/show_bug.cgi?id=90961

It made 11 fast/events/touch fail (Requested by bbandix on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122325 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 11 Jul 2012 10:35:31 +0000 (10:35 +0000)]
[Qt] Unreviewed gardening.

Mark fast/js/dfg-poison-fuzz.html as slow, because its runtime is 48 secs on 32 bit in debug mode.

* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][ARM] Unreviewed gardening, mark slow tests.
ossy@webkit.org [Wed, 11 Jul 2012 10:08:05 +0000 (10:08 +0000)]
[Qt][ARM] Unreviewed gardening, mark slow tests.

* platform/qt-arm/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122323 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
commit-queue@webkit.org [Wed, 11 Jul 2012 09:54:23 +0000 (09:54 +0000)]
[EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
https://bugs.webkit.org/show_bug.cgi?id=90688

Patch by Keunsoon Lee <keunsoon.lee@samsung.com> on 2012-07-11
Reviewed by Hajime Morita.

Return meaningful error for each case.

* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
(WebKit::cancelledError): create ResourceError for "request canceled".
(WebKit::blockedError): create ResourceError for "request blocked".
(WebKit::cannotShowURLError): create ResourceError for "cannot show url".
(WebKit::interruptedForPolicyChangeError): create ResourceError for "Frame load interrupted by policy change".
(WebKit::cannotShowMIMETypeError): create ResourceError for "Cannot show mimetype".
(WebKit::fileDoesNotExistError): create ResourceError for "File does not exist".
(WebKit::pluginWillHandleLoadError): create ResourceError for "Plugin will handle load".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122322 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][WK2] Fix wheel scrolling for simple pages
abecsi@webkit.org [Wed, 11 Jul 2012 09:49:25 +0000 (09:49 +0000)]
[Qt][WK2] Fix wheel scrolling for simple pages
https://bugs.webkit.org/show_bug.cgi?id=90793

Reviewed by Kenneth Rohde Christiansen.

Call WebPage::setFixedLayoutSize in setResizesToContentsUsingLayoutSize
instead of setting the view size manually and scheduling a relayout.
Since setFixedLayoutSize forces a relayout it also updates the scrollbars
after the visible rect is available.
This fixes scrolling with wheel events for a QML WebView loading a simple
local page which previously ended up in a state where scrolling was disabled
because the scrollbar update happened before the correct visible rect size was
available.

Add a QML test and infrastructure to QWebKitTest to cover this case.

* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::wheelEvent):
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/test4.html: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setResizesToContentsUsingLayoutSize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122321 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Mac] Expose time format related functions
yosin@chromium.org [Wed, 11 Jul 2012 09:44:03 +0000 (09:44 +0000)]
[Mac] Expose time format related functions
https://bugs.webkit.org/show_bug.cgi?id=90956

Reviewed by Kent Tamura.

This patch introduces localizedTimeFormatText, localizedShortTimeFormatText
and timeAMPMLabels for Mac within feature flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

See also:
  ICU version: https://bugs.webkit.org/show_bug.cgi?id=89965
  Win version: https://bugs.webkit.org/show_bug.cgi?id=90236

No new tests. This patch doesn't change behavior.

* platform/text/mac/LocalizedDateMac.cpp:
(WebCore::localizedTimeFormatText): Added.
(WebCore::localizedShortTimeFormatText): Added.
(WebCore::timeAMPMLabels): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122320 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][ARM] Unreviewed gardening, skip more crashing tests.
ossy@webkit.org [Wed, 11 Jul 2012 09:43:45 +0000 (09:43 +0000)]
[Qt][ARM] Unreviewed gardening, skip more crashing tests.

* platform/qt-arm/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122319 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
abecsi@webkit.org [Wed, 11 Jul 2012 09:40:23 +0000 (09:40 +0000)]
[Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
https://bugs.webkit.org/show_bug.cgi?id=90875

Reviewed by Kenneth Rohde Christiansen.

Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
method to filter touch events too, and because Flickable filters child
mouse events the canvas calls this function before propagating the touch
event to the WebView. Since Flickable does not accept touch events the
canvas tries to propagate a synthesized mouse event through the base
class childMouseEventFilter function which is accepted by Flickable and
interferes with the input events we send to Flicakble hence messes up
the internal state of the WebView.
This patch reimplements the virtual childMouseEventFilter method so that all
the mouse and touch events can be processed by WebKit before they arrive to
Flickable.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::childMouseEventFilter):
* UIProcess/API/qt/qquickwebview_p.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122318 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFirst commit, moving myself to commiter.
allan.jensen@nokia.com [Wed, 11 Jul 2012 09:28:06 +0000 (09:28 +0000)]
First commit, moving myself to commiter.

Unreviewed

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122317 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Adding HarfBuzz-ng for Linux
allan.jensen@nokia.com [Wed, 11 Jul 2012 09:27:48 +0000 (09:27 +0000)]
[Chromium] Adding HarfBuzz-ng for Linux
https://bugs.webkit.org/show_bug.cgi?id=90362

Reviewed by Tony Chang.

Source/WebCore:

This patch adds harfbuzz-ng support for Chromium Linux port as a part of
transition from old harfbuzz. HarfBuzzFaceSkia.cpp implements harfbuzz-ng
callbacks by using Skia APIs. For now, the feature is enabled only when
WTF_USE_HARFBUZZ_NG is defined.

No new tests. No change in behavior now.

* WebCore.gyp/WebCore.gyp: Added use_harfbuzz_ng variable and related files.
* WebCore.gypi: Added HarfBuzzFaceSkia.cpp
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Added USE(HARFBUZZ_NG).
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto.
(WebCore):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto.
(FontPlatformData):
* platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp: Added.
(WebCore):
(WebCore::SkiaScalarToHarfbuzzPosition):
(WebCore::SkiaGetGlyphWidthAndExtents):
(WebCore::harfbuzzGetGlyph):
(WebCore::harfbuzzGetGlyphHorizontalAdvance):
(WebCore::harfbuzzGetGlyphHorizontalOrigin):
(WebCore::harfbuzzGetGlyphExtents):
(WebCore::harfbuzzSkiaGetFontFuncs):
(WebCore::harfbuzzSkiaGetTable):
(WebCore::destroyPaint):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added USE(HARFBUZZ_NG).
(WebCore::substituteWithVerticalGlyphs):

Source/WebKit/chromium:

* features.gypi: Added use_harfbuzz_ng variable. If the value is set, USE(HARFBUZZ_NG) is defined.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122316 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed gardening after r122290.
ossy@webkit.org [Wed, 11 Jul 2012 09:25:41 +0000 (09:25 +0000)]
[Qt] Unreviewed gardening after r122290.

Patch by Balazs Ankes <bank@inf.u-szeged.hu> on 2012-07-11

* platform/qt/Skipped: Skip fast/forms/input-in-table-cell-no-value.html because  ENABLE(INPUT_TYPE_DATE) is disabled

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122315 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Move tests that require ENABLE_INPUT_TYPE_* to TestExpectations
commit-queue@webkit.org [Wed, 11 Jul 2012 09:06:58 +0000 (09:06 +0000)]
[EFL] Move tests that require ENABLE_INPUT_TYPE_* to TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=90948

Unreviewed EFL gardening. Move tests that require
ENABLE_INPUT_TYPE_* to be enabled from Skipped list to
TestExpectations.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-11

* platform/efl/Skipped:
* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122314 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Clean up FileSystem related code
kinuko@chromium.org [Wed, 11 Jul 2012 09:04:27 +0000 (09:04 +0000)]
Web Inspector: Clean up FileSystem related code
https://bugs.webkit.org/show_bug.cgi?id=90592

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-07-11
Reviewed by Vsevolod Vlasov.

Clean up FileSystem related code in Inspector as follows:
- Clean up layout tests and add test case for error case,
- Fix error handling on request,
- s/GetFileSystemRootTask/FileSystemRootRequest/g
- s/ReadDirectoryTask/DirectoryContentRequest/g
- s/ReadFileTask/FileContentRequest/g

Source/WebCore:

Tests: http/tests/inspector/filesystem/request-directory-content.html
       http/tests/inspector/filesystem/request-file-content.html
       http/tests/inspector/filesystem/request-filesystem-root.html
       http/tests/inspector/filesystem/request-metadata.html

* inspector/InspectorFileSystemAgent.cpp:
(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot): Add early error handling.
(WebCore::InspectorFileSystemAgent::requestDirectoryContent): Add early error handling.
(WebCore::InspectorFileSystemAgent::requestMetadata): Add early error handling.
(WebCore::InspectorFileSystemAgent::requestFileContent): Add early error handling.
* inspector/InspectorFileSystemAgent.h: Remove unused forward declaration and unused header.
(WebCore):
(InspectorFileSystemAgent):
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot): Add early error handling.
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent): Add early error handling.
(WebInspector.FileSystemRequestManager.prototype.requestMetadata.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestMetadata): Add early error handling.
(WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestFileContent): Add early error handling.

LayoutTests:

* http/tests/inspector/filesystem/filesystem-test.js:
(initialize_FileSystemTest.InspectorTest.dumpFileSystemRootRequestResult):
(initialize_FileSystemTest.InspectorTest.dumpDirectoryContentRequestResult):
(initialize_FileSystemTest.InspectorTest.dumpMetadataRequestResult):
(initialize_FileSystemTest.InspectorTest.dumpFileContentRequestResult):
(initialize_FileSystemTest):
* http/tests/inspector/filesystem/request-directory-content-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/read-directory-expected.txt.
* http/tests/inspector/filesystem/request-directory-content.html: Renamed from LayoutTests/http/tests/inspector/filesystem/read-directory.html. Changed test steps to unnamed function array. Add failcase test.
* http/tests/inspector/filesystem/request-file-content-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/read-file-expected.txt.
* http/tests/inspector/filesystem/request-file-content.html: Renamed from LayoutTests/http/tests/inspector/filesystem/read-file.html. Changed test steps to unnamed function array. Add failcase test.
* http/tests/inspector/filesystem/request-filesystem-root-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/get-filesystem-expected.txt.
* http/tests/inspector/filesystem/request-filesystem-root.html: Renamed from LayoutTests/http/tests/inspector/filesystem/get-filesystem-root.html. Changed test steps to unnamed function array. Add failcase test.
* http/tests/inspector/filesystem/request-metadata-expected.txt: Renamed from LayoutTests/http/tests/inspector/filesystem/get-metadata-expected.txt.
* http/tests/inspector/filesystem/request-metadata.html: Renamed from LayoutTests/http/tests/inspector/filesystem/get-metadata.html. Changed test steps to unnamed function array. Add failcase test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122313 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Forward message loop instrumentation data to frontend.
caseq@chromium.org [Wed, 11 Jul 2012 08:56:35 +0000 (08:56 +0000)]
Web Inspector: Forward message loop instrumentation data to frontend.
https://bugs.webkit.org/show_bug.cgi?id=89584

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-07-09
Reviewed by Yury Semikhatsky.

Transmit collected message loop tasks to inspector frontend.
Now "Program" should be a top-level event on browsers that
support message loop instrumentation.
Frontend was changed so that user will not see any changes.

Source/WebCore:

* inspector/InspectorTimelineAgent.cpp:
(TimelineRecordType):
Added new event type - "Program"
(WebCore::InspectorTimelineAgent::willProcessTask):
Begin "Program" event.
(WebCore::InspectorTimelineAgent::didProcessTask):
Finish "Program" event.
(WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
Do not add counters to "Program" events.
(WebCore):
(WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
Renamed from "setHeapSizeStatistic"
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._onRecordAdded):
Unwraps "Program" events.
(WebInspector.MemoryStatistics.prototype._innerRecordAdded):
Renamed from "_onRecordAdded"
* inspector/front-end/TimelineFrameController.js:
(WebInspector.TimelineFrameController.prototype._addRecord):
Unwraps "Program" events.
(WebInspector.TimelineFrameController.prototype._innerAddRecord):
Renamed from "_addRecord"
* inspector/front-end/TimelineModel.js:
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
Filter out "Program" category.
(WebInspector.TimelineCategoryStrips.prototype.update):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
Filter out "Program" category.
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
Unwraps "Program" events.
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.categories):
Added "Program" category.
(WebInspector.TimelinePresentationModel.recordStyle):
Ditto.
(WebInspector.TimelinePresentationModel.prototype.addRecord):
Unwraps "Program" events.
(WebInspector.TimelinePresentationModel.prototype._addRecord):
Renamed from "addRecord"

LayoutTests:

* inspector/timeline/timeline-enum-stability-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122312 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agowebkit-patch land should automatically add svn:mime-type for .png files
ossy@webkit.org [Wed, 11 Jul 2012 08:34:25 +0000 (08:34 +0000)]
webkit-patch land should automatically add svn:mime-type for .png files
https://bugs.webkit.org/show_bug.cgi?id=75825

Patch by Balazs Ankes <bank@inf.u-szeged.hu> on 2012-07-11
Reviewed by Dirk Pranke.

Refactor the png.py to avoid code duplication.

* Scripts/webkitpy/common/checksvnconfigfile.py: Added.
(check):
(config_file_path):
(errorstr_autoprop):
(errorstr_png):
* Scripts/webkitpy/style/checkers/png.py:
(PNGChecker.check):
* Scripts/webkitpy/tool/commands/download.py:
(Land):
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py: Added.
(AddSvnMimetypeForPng):
(AddSvnMimetypeForPng.__init__):
(AddSvnMimetypeForPng.run):
(AddSvnMimetypeForPng._check_pngs):
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py: Added.
(MockSCMDetector):
(MockSCMDetector.__init__):
(MockSCMDetector.display_name):
(AddSvnMimetypeForPngTest):
(AddSvnMimetypeForPngTest.test_run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122311 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Adding HarfBuzz-ng for Linux
bashi@chromium.org [Wed, 11 Jul 2012 07:46:52 +0000 (07:46 +0000)]
[Chromium] Adding HarfBuzz-ng for Linux
https://bugs.webkit.org/show_bug.cgi?id=90362

Reviewed by Tony Chang.

Source/WebCore:

This patch adds harfbuzz-ng support for Chromium Linux port as a part of
transition from old harfbuzz. HarfBuzzFaceSkia.cpp implements harfbuzz-ng
callbacks by using Skia APIs. For now, the feature is enabled only when
WTF_USE_HARFBUZZ_NG is defined.

No new tests. No change in behavior now.

* WebCore.gyp/WebCore.gyp: Added use_harfbuzz_ng variable and related files.
* WebCore.gypi: Added HarfBuzzFaceSkia.cpp
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Added USE(HARFBUZZ_NG).
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto.
(WebCore):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto.
(FontPlatformData):
* platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp: Added.
(WebCore):
(WebCore::SkiaScalarToHarfbuzzPosition):
(WebCore::SkiaGetGlyphWidthAndExtents):
(WebCore::harfbuzzGetGlyph):
(WebCore::harfbuzzGetGlyphHorizontalAdvance):
(WebCore::harfbuzzGetGlyphHorizontalOrigin):
(WebCore::harfbuzzGetGlyphExtents):
(WebCore::harfbuzzSkiaGetFontFuncs):
(WebCore::harfbuzzSkiaGetTable):
(WebCore::destroyPaint):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added USE(HARFBUZZ_NG).
(WebCore::substituteWithVerticalGlyphs):

Source/WebKit/chromium:

* features.gypi: Added use_harfbuzz_ng variable. If the value is set, USE(HARFBUZZ_NG) is defined.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122310 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed gardening.
hayato@chromium.org [Wed, 11 Jul 2012 07:42:07 +0000 (07:42 +0000)]
Unreviewed gardening.
One more fix for r122292.

* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122309 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed GTK gardening, adding an image expectation for the
zandobersek@gmail.com [Wed, 11 Jul 2012 07:42:05 +0000 (07:42 +0000)]
Unreviewed GTK gardening, adding an image expectation for the
fast/forms/input-in-table-cell-no-value.html reftest, failing
after it was introduced in r122290 due to <input type='date'>
being used. The ENABLE_INPUT_TYPE_DATE feature is not enabled
on the Gtk port.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122308 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r122301.
commit-queue@webkit.org [Wed, 11 Jul 2012 07:27:32 +0000 (07:27 +0000)]
Unreviewed, rolling out r122301.
http://trac.webkit.org/changeset/122301
https://bugs.webkit.org/show_bug.cgi?id=90947

Android builder started to fail (Requested by hayato on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122307 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agocompositing/webgl/webgl-nonpremultiplied-blend.html is flaky on Lion
kbr@google.com [Wed, 11 Jul 2012 07:22:18 +0000 (07:22 +0000)]
compositing/webgl/webgl-nonpremultiplied-blend.html is flaky on Lion
https://bugs.webkit.org/show_bug.cgi?id=82412

Reviewed by Adrienne Walker.

Source/WebCore:

When compositing premultipliedAlpha=false WebGL canvases, use a separate
blend function for the alpha channel to avoid writing alpha < 1. This
makes the behavior more consistent with all other compositing results
and avoids situations where the alpha channel is preserved on some
platforms and discarded on others.

Covered by existing tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTextureQuad):
    Use separate alpha blend function when compositing premultipliedAlpha=false WebGL canvases.

LayoutTests:

Removed Chromium Mac-specific pixel results and failure expectations.

* platform/chromium-mac/compositing/webgl/webgl-nonpremultiplied-blend-expected.png: Removed.
* platform/chromium/TestExpectations:
    Removed expectations of failure.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122306 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agogc() doesn't exist in svg/animations/dynamic-modify-attributename-crash2.svg
ossy@webkit.org [Wed, 11 Jul 2012 07:06:39 +0000 (07:06 +0000)]
gc() doesn't exist in svg/animations/dynamic-modify-attributename-crash2.svg
https://bugs.webkit.org/show_bug.cgi?id=90945

Reviewed by Abhishek Arya.

* svg/animations/dynamic-modify-attributename-crash2.svg: Include fast/js/resources/js-test-pre.js to have gc().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed gardening.
hayato@chromium.org [Wed, 11 Jul 2012 07:02:09 +0000 (07:02 +0000)]
Unreviewed gardening.

Android builder started to fail after r122292.
My best guess is that '--ant-compile' does not take an argument.

* WebKitUnitTests.gyp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122304 268f45cc-cd09-0410-ab3c-d52691b4dbfc