REGRESSION (r109851): Video controls do not render
https://bugs.webkit.org/show_bug.cgi?id=93859

Reviewed by Simon Fraser.

Source/WebCore:

Because video layers can't act as an ancestor composited layer whose
backing can be shared by child layers, any child layer of a video
layer needs to be put into its own composited layer. Because this is
technically overlap, the "overlap" indirect compositing reason is
reused for this case.

Test: compositing/video/video-controls-layer-creation.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

LayoutTests:

Convert jernoble's test into a layout test.

* compositing/video/video-controls-layer-creation.html: Added.
* platform/chromium/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Queue spellcheck requests with char-count limitations
https://bugs.webkit.org/show_bug.cgi?id=93866

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-08-14
Reviewed by Rob Buis.

PR184196
Making spellcheck a little more granular so as to work around
the limitations of the inputservice.
Also, spellcheck the entire field on focus only if
spellcheck="on" is explicitly set.

Internally reviewed by Mike Fenton.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Render breakpoint gutter markers and execution line in CodeMirrorTextEditor
https://bugs.webkit.org/show_bug.cgi?id=93686

Patch by Jan Keromnes <janx@linux.com> on 2012-08-14
Reviewed by Pavel Feldman.

Divided TextEditor.addDecoration into addBreakpoint, setExecutionLine
and addDecoration. Same for removeDecoration. Render breakpoint
markers and execution line in CodeMirrorTextEditor.

* inspector/front-end/CodeMirrorTextEditor.js:
(WebInspector.CodeMirrorTextEditor):
(WebInspector.CodeMirrorTextEditor.prototype._onGutterClick):
(WebInspector.CodeMirrorTextEditor.prototype.addBreakpoint):
(WebInspector.CodeMirrorTextEditor.prototype.removeBreakpoint):
(WebInspector.CodeMirrorTextEditor.prototype.setExecutionLine):
(WebInspector.CodeMirrorTextEditor.prototype.clearExecutionLine):
(WebInspector.CodeMirrorTextEditor.prototype.addDecoration):
(WebInspector.CodeMirrorTextEditor.prototype.removeDecoration):
(WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
(WebInspector.CodeMirrorTextEditor.prototype.clearLineHighlight):
(WebInspector.CodeMirrorTextEditor.prototype.removeAttribute):
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype._onMouseDown):
(WebInspector.DefaultTextEditor.prototype.addBreakpoint):
(WebInspector.DefaultTextEditor.prototype.removeBreakpoint):
(WebInspector.DefaultTextEditor.prototype.setExecutionLine):
(WebInspector.DefaultTextEditor.prototype.clearExecutionLine):
(WebInspector.DefaultTextEditor.prototype.addDecoration):
(WebInspector.DefaultTextEditor.prototype.removeDecoration):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
(WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
(WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.addBreakpoint):
(WebInspector.TextEditor.prototype.removeBreakpoint):
(WebInspector.TextEditor.prototype.setExecutionLine):
(WebInspector.TextEditor.prototype.clearExecutionLine):
(WebInspector.TextEditor.prototype.addDecoration):
(WebInspector.TextEditor.prototype.removeDecoration):
* inspector/front-end/cmdevtools.css:
(.CodeMirror):
(.cm-highlight):
(@-webkit-keyframes fadeout):
(to):
(.cm-breakpoint):
(.cm-breakpoint-disabled):
(.cm-breakpoint-conditional):
(.cm-execution-line):
(.webkit-html-message-bubble):
(.webkit-html-warning-message):
(.webkit-html-error-message):
(.webkit-html-message-line):
(.webkit-html-message-line-hover):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
https://bugs.webkit.org/show_bug.cgi?id=93102

Patch by Andrei Onea <onea@adobe.com> on 2012-08-14
Reviewed by Eric Seidel.

Source/WebCore:

Making Element.webkitRegionOverset return "overset" only for the last region in a region chain,
if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::computeOverflowStateForRegions):

LayoutTests:

Modified existing tests to reflect spec, where Element.webkitRegionOverset can be
"overset" only for the last region in a region chain, if the content cannot fit inside it.

* fast/regions/element-region-overset-state-expected.txt:
* fast/regions/element-region-overset-state-vertical-rl-expected.txt:
* fast/regions/element-region-overset-state-vertical-rl.html:
* fast/regions/element-region-overset-state.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION r125500: 7 tests crashing on Mac bots
https://bugs.webkit.org/show_bug.cgi?id=93970

Reviewed by Eric Seidel.

Make WebFrameLoaderClient::redirectDataToPlugin expect the now real possibility
of a NULL pluginWidget argument.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::redirectDataToPlugin)


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Track multiple Web Processes per context
        https://bugs.webkit.org/show_bug.cgi?id=93915

        Reviewed by Sam Weinig.

        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Downloads don't work
        yet, added a FIXME.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::deprecatedSharedProcess): Renamed from process(), added an
        assertion that this is only used in single proces mode.
        (WebKit::WebContext::textCheckerStateChanged): Abstract out access to web processes.
        (WebKit::WebContext::ensureSharedWebProcess): Renamed ensureWebProcess() for clarity.
        (WebKit::WebContext::createNewWebProcess): Extracted code for creating a process
        from ensureWebProcess().
        (WebKit::WebContext::warmInitialProcess): Create the process more explicitly.
        (WebKit::WebContext::enableProcessTermination): Iterate over all processes.
        (WebKit::WebContext::shouldTerminate): Updated assertion.
        (WebKit::WebContext::processDidFinishLaunching): Changed to use process argument
        instead of m_process.
        (WebKit::WebContext::disconnectProcess): Updated code forto use m_processes.
        (WebKit::WebContext::createWebPage): Handle both process policies (initial support
        for multi-process).
        (WebKit::WebContext::relaunchProcessIfNecessary): Added cases for both policies.
        (WebKit::WebContext::download): Ditto.
        (WebKit::WebContext::postMessageToInjectedBundle): Ditto.
        (WebKit::WebContext::didReceiveSyncMessage): Fixed whitespace.
        (WebKit::WebContext::getWebCoreStatistics): Added cases for both policies.

        * UIProcess/WebContext.h:
        (WebKit::WebContext::sendToAllProcesses):
        (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
        Send to all processes. Changed return type to void, since no caller checked it.

        * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::createWebPage): Removed
        an assertion that assumed one process per context.

        * UIProcess/WebTextChecker.cpp: (WebKit::updateStateForAllWebProcesses): Updated
        to use a WebContext method.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert signals/slots to Q_* macros.

[Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
https://bugs.webkit.org/show_bug.cgi?id=93996

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-08-14
Reviewed by Kenneth Rohde Christiansen.

Change usage of keyword-conflicting 'signals' and 'slots' for
Q_SIGNALS and Q_SLOTS macro.

Source/WebCore:

* bridge/testqtbindings.cpp:
(MyObject):
* platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
* platform/graphics/qt/MediaPlayerPrivateQt.h:
(MediaPlayerPrivateQt):
* platform/network/qt/DnsPrefetchHelper.h:
(DnsPrefetchHelper):
* platform/network/qt/NetworkStateNotifierPrivate.h:
(NetworkStateNotifierPrivate):
* platform/network/qt/QNetworkReplyHandler.h:
(QNetworkReplyHandler):
* platform/network/qt/QtMIMETypeSniffer.h:
(QtMIMETypeSniffer):
* platform/network/qt/SocketStreamHandlePrivate.h:
(SocketStreamHandlePrivate):
* platform/qt/GamepadsQt.cpp:
(GamepadDeviceLinuxQt):
(GamepadsQt):
* platform/qt/SharedTimerQt.cpp:
(SharedTimerQt):

Source/WebKit/qt:

* WebCoreSupport/FrameLoaderClientQt.h:
(FrameLoaderClientQt):
* WebCoreSupport/FullScreenVideoQt.h:
(FullScreenVideoQt):
* WebCoreSupport/FullScreenVideoWidget.h:
(FullScreenVideoWidget):
* WebCoreSupport/IconDatabaseClientQt.h:
(IconDatabaseClientQt):
* WebCoreSupport/InspectorClientQt.cpp:
(InspectorClientWebPage):
* WebCoreSupport/InspectorServerQt.h:
(InspectorServerQt):
(InspectorServerRequestHandlerQt):
* WebCoreSupport/PopupMenuQt.h:
(PopupMenuQt):
* WebCoreSupport/QtFallbackWebPopup.h:
(QtFallbackWebPopup):
* docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:
(wrapInFunction):
* docs/webkitsnippets/webpage/main.cpp:
(Thumbnailer):
* examples/platformplugin/WebPlugin.h:
(Popup):
(WebPopup):
* tests/benchmarks/webgl/tst_webgl.cpp:
(tst_WebGlPerformance):
* tests/hybridPixmap/tst_hybridPixmap.cpp:
(tst_hybridPixmap):
* tests/hybridPixmap/widget.h:
(Widget):
* tests/qdeclarativewebview/tst_qdeclarativewebview.cpp:
(tst_QDeclarativeWebView):
* tests/qgraphicswebview/tst_qgraphicswebview.cpp:
(tst_QGraphicsWebView):
(WebPage):
(ResizeSpy):
* tests/qobjectbridge/tst_qobjectbridge.cpp:
(MyWebElementSlotOnlyObject):
(tst_QObjectBridge):
(TestPluginWidget):
* tests/qwebelement/tst_qwebelement.cpp:
(tst_QWebElement):
* tests/qwebframe/tst_qwebframe.cpp:
(tst_QWebFrame):
(FakeReply):
* tests/qwebhistory/tst_qwebhistory.cpp:
* tests/qwebhistoryinterface/tst_qwebhistoryinterface.cpp:
(tst_QWebHistoryInterface):
* tests/qwebinspector/tst_qwebinspector.cpp:
(tst_QWebInspector):
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage):
(JSTestPage):
(RepaintRequestedRenderer):
(SpyForLoadSignalsOrder):
* tests/qwebplugindatabase/tst_qwebplugindatabase.cpp:
(tst_QWebPluginDatabase):
* tests/qwebview/tst_qwebview.cpp:
(tst_QWebView):
(WebViewCrashTest):

Source/WebKit2:

* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
(tst_InspectorServer):
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
(tst_publicapi):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(WebView):
(tst_qrawwebview):
* UIProcess/API/qt/tests/util.cpp:
(LoadSpy):
* UIProcess/API/qt/tests/util.h:
(LoadStartedCatcher):
* UIProcess/InspectorServer/qt/WebSocketServerQt.h:
(QtTcpServerHandler):
* UIProcess/qt/QtDialogRunner.cpp:
(DialogContextBase):
(DialogContextObject):
(BaseAuthenticationContextObject):
(CertificateVerificationDialogContextObject):
(FilePickerContextObject):
(DatabaseQuotaDialogContextObject):
* UIProcess/qt/QtDialogRunner.h:
(QtDialogRunner):
* UIProcess/qt/QtWebPageEventHandler.h:
(QtWebPageEventHandler):
* WebProcess/Downloads/qt/QtFileDownloader.h:

Tools:

* DumpRenderTree/qt/DumpRenderTreeQt.h:
(NetworkAccessManager):
(WebPage):
* DumpRenderTree/qt/EventSenderQt.h:
(EventSender):
* DumpRenderTree/qt/GCControllerQt.h:
(GCController):
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):
* DumpRenderTree/qt/TextInputControllerQt.h:
(TextInputController):
* MiniBrowser/qt/BrowserWindow.h:
(BrowserWindow):
* MiniBrowser/qt/MiniBrowserApplication.h:
(WindowOptions):
* MiniBrowser/qt/UrlLoader.h:
(UrlLoader):
* QtTestBrowser/cookiejar.h:
(TestBrowserCookieJar):
* QtTestBrowser/fpstimer.h:
(FpsTimer):
* QtTestBrowser/launcherwindow.h:
(LauncherWindow):
* QtTestBrowser/locationedit.h:
(LocationEdit):
* QtTestBrowser/mainwindow.h:
(MainWindow):
* QtTestBrowser/urlloader.h:
(UrlLoader):
* QtTestBrowser/webinspector.h:
(WebInspector):
* QtTestBrowser/webpage.h:
(WebPage):
* QtTestBrowser/webview.h:
(WebViewGraphicsBased):
* WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp:
(WatchdogTimerHelper):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WrapperWindow):
* WebKitTestRunner/qt/main.cpp:
(Launcher):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
old-run-webkit-tests should skip all file extensions for ref tests, not just .html.
https://bugs.webkit.org/show_bug.cgi?id=93904

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-14
Reviewed by Tim Horton.

old-run-webkit-tests ref test only skipped .html test.
They need to skip .html, .shtml, .xml, .xhtml, .pl, .htm, .php, .svg, .mht.

* Scripts/old-run-webkit-tests:
(isUsedInReftest): Skip all extensions for ref tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Don't crash on OOM in AC
https://bugs.webkit.org/show_bug.cgi?id=93999

Patch by Filip Spacek <fspacek@rim.com> on 2012-08-14
Reviewed by George Staikos.

Internally reviewed by George Staikos.

Fail gracefully in case we fail to allocate the bitmap
for the AC layer contents.

* platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
(WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::paintContents):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline fast/box-sizing/box-sizing.html and compositing/overflow/clip-descendents.html.
https://bugs.webkit.org/show_bug.cgi?id=93909

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-14
Reviewed by Tim Horton.

As per https://bugs.webkit.org/show_bug.cgi?id=92904 rebaselining those tests.

* compositing/overflow/clip-descendents-expected.txt: Rebaselined.
* platform/mac/TestExpectations: Removed tests from expectations list.
* platform/mac/fast/box-sizing/box-sizing-expected.txt: Rebaselined.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
beginElement() does not observe updated animation attributes
https://bugs.webkit.org/show_bug.cgi?id=93972

Reviewed by Dirk Schulze.

Source/WebCore:

The SVG animation attributes 'from', 'to' and 'by' should be registered as supported
SVGSMILElement attributes in order to trigger animationAttributeChanged() on dynamic
updates.

Test: svg/animations/updated-attributes.html

* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::updateAnimation):
Minor optimization - avoid recalculating animationMode().

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::isSupportedAttribute):
Register 'from', 'to' and 'by' as supported SVGSMILElement attributes.

LayoutTests:

* svg/animations/updated-attributes-expected.txt: Added.
* svg/animations/updated-attributes.html: Added.


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