- 26 Mar, 2011 40 commits
-
-
weinig@apple.com authored
Reviewed by Anders Carlsson. Web process considered unresponsive (SPOD shown) when displaying a JavaScript alert() as a result of a click <rdar://problem/9067557> https://bugs.webkit.org/show_bug.cgi?id=57166 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::runJavaScriptAlert): (WebKit::WebPageProxy::runJavaScriptConfirm): (WebKit::WebPageProxy::runJavaScriptPrompt): Invalidate the responsiveness timer before calling out to the client. git-svn-id: svn://svn.chromium.org/blink/trunk@82047 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
commit-queue@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt] Show page icons (favicons) in QtTestBrowser location bar. https://bugs.webkit.org/show_bug.cgi?id=57162 * QtTestBrowser/QtTestBrowser.qrc: * QtTestBrowser/favicon.png: Added. * QtTestBrowser/locationedit.cpp: (defaultPageIcon): (LocationEdit::LocationEdit): (LocationEdit::setPageIcon): (LocationEdit::resizeEvent): (LocationEdit::updateInternalGeometry): * QtTestBrowser/locationedit.h: * QtTestBrowser/mainwindow.cpp: (MainWindow::buildUI): (MainWindow::onIconChanged): (MainWindow::onLoadStarted): * QtTestBrowser/mainwindow.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82046 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca@apple.com authored
Reviewed by Sam Weinig. ASSERTION FAILED: m_operationInProgress == NoOperation loading nytimes.com https://bugs.webkit.org/show_bug.cgi?id=57165 <rdar://problem/9024311> The assertion fired because during GC, the web process sends a synchronous NPObjectMessageReceiver::Deallocate message to the plug-in process. Since this is a synchronous message, the web process needs to process incoming synchronous messages. While waiting, we get an incoming PluginProxy::Evaluate message from the plug-in. This causes JavaScript to run during GC which is very bad. The fix for this is to add a flag on the connection that will cause synchronous messages sent by the connection (in this case the plug-in process) to not be processed while the other side (the web process) is waiting for a synchronous reply _unless_ the connection is actually processing a synchronous message. (The last part is to avoid deadlocks). Since the call to NPN_Evaluate by the plug-in (that ends up sending the PluginProxy::Evaluate message) comes from a run loop timer firing, it's OK to wait for it to be processed by the web process when it returns to the run loop. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::Connection): Initialize m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage and m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount. (CoreIPC::Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage): Set m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage. (CoreIPC::Connection::sendMessage): Don't add the MessageID::DispatchMessageWhenWaitingForSyncReply flag when the right flags has been set on the connection, and it's not processing a synchronous message. (CoreIPC::Connection::dispatchMessage): Increment and decrement m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount accordingly. * PluginProcess/WebProcessConnection.cpp: (WebKit::WebProcessConnection::WebProcessConnection): Call setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the connection. git-svn-id: svn://svn.chromium.org/blink/trunk@82045 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
commit-queue@webkit.org authored
Reviewed by Benjamin Poulain. [Qt] Remove GraphicsLayerTextureMapper::nativeLayer https://bugs.webkit.org/show_bug.cgi?id=57141 GraphicsLayer::nativeLayer was removed in r73380. * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: * platform/graphics/texmap/GraphicsLayerTextureMapper.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82044 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
weinig@apple.com authored
Rollout r82042 (If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)) -[NSString stringByResolvingSymlinksInPath] does not do what we needed for paths within /private. This caused all SSL sites to stop working. * WebProcess/mac/WebProcessMac.mm: (WebKit::appendSandboxParameterPath): (WebKit::initializeSandbox): git-svn-id: svn://svn.chromium.org/blink/trunk@82043 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
weinig@apple.com authored
Reviewed by Anders Carlsson. If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations) <rdar://problem/9127411> https://bugs.webkit.org/show_bug.cgi?id=57164 * WebProcess/mac/WebProcessMac.mm: (WebKit::appendSandboxParameterPath): (WebKit::initializeSandbox): Use -[NSString stringByResolvingSymlinksInPath] instead of realpath to ensure we can resolve symlinks even if the file/directory doesn't exist yet. git-svn-id: svn://svn.chromium.org/blink/trunk@82042 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca@apple.com authored
Reviewed by Sam Weinig. Factor processing of incoming sync replies out into processIncomingSyncReply https://bugs.webkit.org/show_bug.cgi?id=57161 * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage): Pass DispatchMessageEvenWhenWaitingForSyncReply to sendMessage. (CoreIPC::Connection::processIncomingSyncReply): Move code from processIncomingMessage to here. (CoreIPC::Connection::processIncomingMessage): Call processIncomingSyncReply. git-svn-id: svn://svn.chromium.org/blink/trunk@82041 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
[GTK] layoutTestController.overridePreference("WebKitDefaultFontSize"...) does not take into account screen DPI https://bugs.webkit.org/show_bug.cgi?id=57160 Skip failing test. This bug was uncovered by r82033. * platform/gtk/Skipped: git-svn-id: svn://svn.chromium.org/blink/trunk@82040 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
Remove a test from the GTK+ skipped list that no longer exists. * platform/gtk/Skipped: Update the skipped list. git-svn-id: svn://svn.chromium.org/blink/trunk@82039 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
Rebaseline a few more GTK+ tests after r82033. * platform/gtk/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.checksum: * platform/gtk/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.png: * platform/gtk/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.txt: * platform/gtk/fast/forms/input-appearance-spinbutton-layer-expected.checksum: * platform/gtk/fast/forms/input-appearance-spinbutton-layer-expected.png: * platform/gtk/fast/forms/input-appearance-spinbutton-layer-expected.txt: * platform/gtk/fast/forms/input-appearance-spinbutton-visibility-expected.checksum: * platform/gtk/fast/forms/input-appearance-spinbutton-visibility-expected.png: * platform/gtk/fast/forms/input-appearance-spinbutton-visibility-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82038 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
abarth@webkit.org authored
Remove the JavaScriptGlue GYP build. We're not going to use GYP for JavaScriptGlue because JavaScriptGlue is used only by one port. * gyp: Removed. * gyp/JavaScriptGlue.gyp: Removed. * gyp/JavaScriptGlue.gypi: Removed. * gyp/remove-headers-if-needed.sh: Removed. * gyp/run-if-exists.sh: Removed. * gyp/update-info-plist.sh: Removed. git-svn-id: svn://svn.chromium.org/blink/trunk@82037 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
weinig@apple.com authored
Reviewed by Anders Carlsson. WebKit2: Assert in CoreIPC::typeFromCFTypeRef() when loading a site with an invalid certificate <rdar://problem/9188041> https://bugs.webkit.org/show_bug.cgi?id=57159 * Shared/cf/ArgumentCodersCF.cpp: (CoreIPC::typeFromCFTypeRef): (CoreIPC::encode): (CoreIPC::decode): * Shared/cf/ArgumentCodersCF.h: Add encoding/decoding for SecCertificateRef type. * Shared/mac/PlatformCertificateInfo.mm: (WebKit::PlatformCertificateInfo::encode): (WebKit::PlatformCertificateInfo::decode): Use ArgumentCodersCF now that it knows how to encode/decode SecCertificateRefs. git-svn-id: svn://svn.chromium.org/blink/trunk@82036 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca@apple.com authored
Reviewed by Sam Weinig. Handle synchronous replies coming in out of order https://bugs.webkit.org/show_bug.cgi?id=57158 When processing an incoming reply, don't assume that it belongs to the last sent synchronous request. Instead, iterate over the m_pendingSyncReplies vector backwards looking for the corresponding request. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::processIncomingMessage): git-svn-id: svn://svn.chromium.org/blink/trunk@82035 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andreas.kling@nokia.com authored
Reviewed by Kenneth Rohde Christiansen. [Qt] QWebFrame::iconChanged() not emitted when icon is cached but not yet loaded https://bugs.webkit.org/show_bug.cgi?id=57157 Add an IconDatabaseClient for the Qt port to ensure that QWebFrame::iconChanged() is always emitted when appropriate. * QtWebKit.pro: Add new files. * WebCoreSupport/IconDatabaseClientQt.h: Added. * WebCoreSupport/IconDatabaseClientQt.cpp: Added. (WebCore::IconDatabaseClientQt::instance): (WebCore::IconDatabaseClientQt::IconDatabaseClientQt): (WebCore::IconDatabaseClientQt::~IconDatabaseClientQt): (WebCore::IconDatabaseClientQt::performImport): (WebCore::IconDatabaseClientQt::didRemoveAllIcons): (WebCore::IconDatabaseClientQt::didImportIconURLForPageURL): (WebCore::IconDatabaseClientQt::didImportIconDataForPageURL): (WebCore::IconDatabaseClientQt::didChangeIconForPageURL): (WebCore::IconDatabaseClientQt::didFinishURLImport): * WebCoreSupport/FrameLoaderClientQt.h: * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::registerForIconNotification): (WebCore::FrameLoaderClientQt::onIconLoadedForPageURL): New slot connected to the IconDatabaseClientQt::iconLoadedForPageURL() signal. This emits the QWebFrame::iconChanged() signal when the IconDatabases finishes loading a cached favicon for the frame's URL. * Api/qwebsettings.cpp: (QWebSettings::setIconDatabasePath): Make sure that IconDatabaseClientQt is instantiated. An IconDatabaseClient has to be registered before the IconDatabase spawns its reader thread. git-svn-id: svn://svn.chromium.org/blink/trunk@82034 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
Reviewed by Xan Lopez. [GTK] Force DumpRenderTree to use 96 DPI https://bugs.webkit.org/show_bug.cgi?id=56866 Update GTK+ test results which now have differ. * platform/gtk/editing/pasteboard/4641033-expected.checksum: * platform/gtk/editing/pasteboard/4641033-expected.png: * platform/gtk/editing/pasteboard/4641033-expected.txt: * platform/gtk/editing/pasteboard/4944770-1-expected.checksum: * platform/gtk/editing/pasteboard/4944770-1-expected.png: * platform/gtk/editing/pasteboard/4944770-1-expected.txt: * platform/gtk/editing/pasteboard/4944770-2-expected.checksum: * platform/gtk/editing/pasteboard/4944770-2-expected.png: * platform/gtk/editing/pasteboard/4944770-2-expected.txt: * platform/gtk/editing/selection/caret-before-select-expected.checksum: * platform/gtk/editing/selection/caret-before-select-expected.png: * platform/gtk/editing/selection/caret-before-select-expected.txt: * platform/gtk/editing/selection/replaced-boundaries-3-expected.checksum: * platform/gtk/editing/selection/replaced-boundaries-3-expected.png: * platform/gtk/editing/selection/replaced-boundaries-3-expected.txt: * platform/gtk/editing/selection/select-box-expected.checksum: * platform/gtk/editing/selection/select-box-expected.png: * platform/gtk/editing/selection/select-box-expected.txt: * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.checksum: * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png: * platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt: * platform/gtk/fast/block/float/float-avoidance-expected.checksum: * platform/gtk/fast/block/float/float-avoidance-expected.png: * platform/gtk/fast/block/margin-collapse/103-expected.checksum: * platform/gtk/fast/block/margin-collapse/103-expected.png: * platform/gtk/fast/forms/001-expected.checksum: * platform/gtk/fast/forms/001-expected.png: * platform/gtk/fast/forms/001-expected.txt: * platform/gtk/fast/forms/003-expected.checksum: * platform/gtk/fast/forms/003-expected.png: * platform/gtk/fast/forms/003-expected.txt: * platform/gtk/fast/forms/004-expected.checksum: * platform/gtk/fast/forms/004-expected.png: * platform/gtk/fast/forms/004-expected.txt: * platform/gtk/fast/forms/HTMLOptionElement_label01-expected.checksum: * platform/gtk/fast/forms/HTMLOptionElement_label01-expected.png: * platform/gtk/fast/forms/HTMLOptionElement_label01-expected.txt: * platform/gtk/fast/forms/HTMLOptionElement_label02-expected.checksum: * platform/gtk/fast/forms/HTMLOptionElement_label02-expected.png: * platform/gtk/fast/forms/HTMLOptionElement_label02-expected.txt: * platform/gtk/fast/forms/HTMLOptionElement_label03-expected.checksum: * platform/gtk/fast/forms/HTMLOptionElement_label03-expected.png: * platform/gtk/fast/forms/HTMLOptionElement_label03-expected.txt: * platform/gtk/fast/forms/HTMLOptionElement_label04-expected.checksum: * platform/gtk/fast/forms/HTMLOptionElement_label04-expected.png: * platform/gtk/fast/forms/HTMLOptionElement_label04-expected.txt: * platform/gtk/fast/forms/HTMLOptionElement_label06-expected.checksum: * platform/gtk/fast/forms/HTMLOptionElement_label06-expected.png: * platform/gtk/fast/forms/HTMLOptionElement_label06-expected.txt: * platform/gtk/fast/forms/HTMLOptionElement_label07-expected.checksum: * platform/gtk/fast/forms/HTMLOptionElement_label07-expected.png: * platform/gtk/fast/forms/HTMLOptionElement_label07-expected.txt: * platform/gtk/fast/forms/basic-selects-expected.checksum: * platform/gtk/fast/forms/basic-selects-expected.png: * platform/gtk/fast/forms/basic-selects-expected.txt: * platform/gtk/fast/forms/control-clip-overflow-expected.checksum: * platform/gtk/fast/forms/control-clip-overflow-expected.png: * platform/gtk/fast/forms/control-restrict-line-height-expected.checksum: * platform/gtk/fast/forms/control-restrict-line-height-expected.png: * platform/gtk/fast/forms/control-restrict-line-height-expected.txt: * platform/gtk/fast/forms/disabled-select-change-index-expected.checksum: * platform/gtk/fast/forms/disabled-select-change-index-expected.png: * platform/gtk/fast/forms/disabled-select-change-index-expected.txt: * platform/gtk/fast/forms/form-element-geometry-expected.checksum: * platform/gtk/fast/forms/form-element-geometry-expected.png: * platform/gtk/fast/forms/form-element-geometry-expected.txt: * platform/gtk/fast/forms/menulist-deselect-update-expected.checksum: * platform/gtk/fast/forms/menulist-deselect-update-expected.png: * platform/gtk/fast/forms/menulist-deselect-update-expected.txt: * platform/gtk/fast/forms/menulist-narrow-width-expected.checksum: * platform/gtk/fast/forms/menulist-narrow-width-expected.png: * platform/gtk/fast/forms/menulist-narrow-width-expected.txt: * platform/gtk/fast/forms/menulist-no-overflow-expected.checksum: * platform/gtk/fast/forms/menulist-no-overflow-expected.png: * platform/gtk/fast/forms/menulist-no-overflow-expected.txt: * platform/gtk/fast/forms/menulist-restrict-line-height-expected.checksum: * platform/gtk/fast/forms/menulist-restrict-line-height-expected.png: * platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt: * platform/gtk/fast/forms/menulist-separator-painting-expected.checksum: * platform/gtk/fast/forms/menulist-separator-painting-expected.png: * platform/gtk/fast/forms/menulist-separator-painting-expected.txt: * platform/gtk/fast/forms/menulist-style-color-expected.checksum: * platform/gtk/fast/forms/menulist-style-color-expected.png: * platform/gtk/fast/forms/menulist-style-color-expected.txt: * platform/gtk/fast/forms/menulist-width-change-expected.checksum: * platform/gtk/fast/forms/menulist-width-change-expected.png: * platform/gtk/fast/forms/menulist-width-change-expected.txt: * platform/gtk/fast/forms/option-script-expected.checksum: * platform/gtk/fast/forms/option-script-expected.png: * platform/gtk/fast/forms/option-script-expected.txt: * platform/gtk/fast/forms/option-strip-whitespace-expected.checksum: * platform/gtk/fast/forms/option-strip-whitespace-expected.png: * platform/gtk/fast/forms/option-strip-whitespace-expected.txt: * platform/gtk/fast/forms/option-text-clip-expected.checksum: * platform/gtk/fast/forms/option-text-clip-expected.png: * platform/gtk/fast/forms/select-align-expected.checksum: * platform/gtk/fast/forms/select-align-expected.png: * platform/gtk/fast/forms/select-baseline-expected.checksum: * platform/gtk/fast/forms/select-baseline-expected.png: * platform/gtk/fast/forms/select-baseline-expected.txt: * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.checksum: * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.png: * platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt: * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.checksum: * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.png: * platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt: * platform/gtk/fast/forms/select-disabled-appearance-expected.checksum: * platform/gtk/fast/forms/select-disabled-appearance-expected.png: * platform/gtk/fast/forms/select-disabled-appearance-expected.txt: * platform/gtk/fast/forms/select-initial-position-expected.checksum: * platform/gtk/fast/forms/select-initial-position-expected.png: * platform/gtk/fast/forms/select-initial-position-expected.txt: * platform/gtk/fast/forms/select-selected-expected.checksum: * platform/gtk/fast/forms/select-selected-expected.png: * platform/gtk/fast/forms/select-selected-expected.txt: * platform/gtk/fast/forms/select-size-expected.checksum: * platform/gtk/fast/forms/select-size-expected.png: * platform/gtk/fast/forms/select-size-expected.txt: * platform/gtk/fast/forms/select-style-expected.checksum: * platform/gtk/fast/forms/select-style-expected.png: * platform/gtk/fast/forms/select-style-expected.txt: * platform/gtk/fast/forms/select-visual-hebrew-expected.checksum: * platform/gtk/fast/forms/select-visual-hebrew-expected.png: * platform/gtk/fast/forms/select-visual-hebrew-expected.txt: * platform/gtk/fast/forms/select-writing-direction-natural-expected.checksum: * platform/gtk/fast/forms/select-writing-direction-natural-expected.png: * platform/gtk/fast/forms/select-writing-direction-natural-expected.txt: * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.checksum: * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.png: * platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt: * platform/gtk/fast/html/keygen-expected.checksum: * platform/gtk/fast/html/keygen-expected.png: * platform/gtk/fast/html/keygen-expected.txt: * platform/gtk/fast/invalid/014-expected.checksum: * platform/gtk/fast/invalid/014-expected.png: * platform/gtk/fast/invalid/014-expected.txt: * platform/gtk/fast/invalid/residual-style-expected.txt: * platform/gtk/fast/parser/document-write-option-expected.checksum: * platform/gtk/fast/parser/document-write-option-expected.png: * platform/gtk/fast/parser/document-write-option-expected.txt: * platform/gtk/fast/replaced/replaced-breaking-expected.checksum: * platform/gtk/fast/replaced/replaced-breaking-expected.png: * platform/gtk/fast/replaced/replaced-breaking-expected.txt: * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.checksum: * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.png: * platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt: * platform/gtk/fast/replaced/three-selects-break-expected.checksum: * platform/gtk/fast/replaced/three-selects-break-expected.png: * platform/gtk/fast/replaced/three-selects-break-expected.txt: * platform/gtk/fast/replaced/width100percent-menulist-expected.checksum: * platform/gtk/fast/replaced/width100percent-menulist-expected.png: * platform/gtk/fast/replaced/width100percent-menulist-expected.txt: * platform/gtk/fast/text/international/bidi-menulist-expected.checksum: * platform/gtk/fast/text/international/bidi-menulist-expected.png: * platform/gtk/fast/text/international/bidi-menulist-expected.txt: * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.checksum: * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png: * platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: * platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt: * platform/gtk/tables/mozilla/bugs/bug1188-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug1188-expected.png: * platform/gtk/tables/mozilla/bugs/bug1188-expected.txt: * platform/gtk/tables/mozilla/bugs/bug18359-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug18359-expected.png: * platform/gtk/tables/mozilla/bugs/bug18359-expected.txt: * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png: * platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt: * platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt: * platform/gtk/tables/mozilla/bugs/bug29326-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug29326-expected.png: * platform/gtk/tables/mozilla/bugs/bug29326-expected.txt: * platform/gtk/tables/mozilla/bugs/bug33855-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug33855-expected.png: * platform/gtk/tables/mozilla/bugs/bug33855-expected.txt: * platform/gtk/tables/mozilla/bugs/bug4382-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug4382-expected.png: * platform/gtk/tables/mozilla/bugs/bug4382-expected.txt: * platform/gtk/tables/mozilla/bugs/bug96334-expected.checksum: * platform/gtk/tables/mozilla/bugs/bug96334-expected.png: * platform/gtk/tables/mozilla/bugs/bug96334-expected.txt: * platform/gtk/tables/mozilla/core/margins-expected.checksum: * platform/gtk/tables/mozilla/core/margins-expected.png: * platform/gtk/tables/mozilla/core/margins-expected.txt: * platform/gtk/tables/mozilla/dom/tableDom-expected.checksum: * platform/gtk/tables/mozilla/dom/tableDom-expected.png: * platform/gtk/tables/mozilla/dom/tableDom-expected.txt: * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.checksum: * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png: * platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: * platform/gtk/transforms/2d/zoom-menulist-expected.checksum: * platform/gtk/transforms/2d/zoom-menulist-expected.png: * platform/gtk/transforms/2d/zoom-menulist-expected.txt: 2011-03-23 Martin Robinson <mrobinson@igalia.com> Reviewed by Xan Lopez. [GTK] Force DumpRenderTree to use 96 DPI https://bugs.webkit.org/show_bug.cgi?id=56866 Make sure that GTK+ is set to use 96 DPI when running tests. This ensures broader compatibility with WebKit2 and makes setting font sizes more straightforward. * DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeGtkFontSettings): Set the screen resolution and GTK+ xft property to 96 DPI. (resetDefaultsToConsistentValues):Remove the call which repeatedly set the GDK screen resolution. (setDefaultsToConsistentStateValuesForTesting): Update the font sizes to reflect the new DPI. git-svn-id: svn://svn.chromium.org/blink/trunk@82033 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca@apple.com authored
Reviewed by Sam Weinig. Fix a possible deadlock when two synchronous messages are sent at the same time https://bugs.webkit.org/show_bug.cgi?id=57155 Simplify code and fix a possible (although highly improbable) dead lock. * Platform/CoreIPC/Connection.cpp: Make SyncMessageState atomically ref counted since it can be ref()'ed from the connection queue. Get rid of m_waitForSyncReplyCount and add m_didScheduleDispatchMessagesWork. (CoreIPC::Connection::SyncMessageState::SyncMessageState): Initialize m_didScheduleDispatchMessagesWork to false. (CoreIPC::Connection::SyncMessageState::processIncomingMessage): if m_didScheduleDispatchMessagesWork is false, schedule a call to dispatchMessageAndResetDidScheduleDispatchMessagesWork on the client run loop. (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork): Dispatch messages and set m_didScheduleDispatchMessagesWork back to false. (CoreIPC::Connection::sendSyncMessage): Remove calls to beginWaitForSyncReply and endWaitForSyncReply. git-svn-id: svn://svn.chromium.org/blink/trunk@82032 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
Rebaseline many GTK+ tests after r81994. * platform/gtk/fast/block/positioning/056-expected.txt: * platform/gtk/fast/block/positioning/auto/005-expected.checksum: * platform/gtk/fast/block/positioning/auto/005-expected.png: * platform/gtk/fast/block/positioning/auto/005-expected.txt: * platform/gtk/fast/block/positioning/auto/006-expected.checksum: * platform/gtk/fast/block/positioning/auto/006-expected.png: * platform/gtk/fast/block/positioning/auto/006-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-lr/005-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-lr/005-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-lr/005-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-lr/006-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-lr/006-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-lr/006-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-rl/005-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-rl/005-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-rl/005-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-rl/006-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-rl/006-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-rl/006-expected.txt: * platform/gtk/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.txt: * platform/gtk/fast/block/positioning/inline-block-relposition-expected.checksum: * platform/gtk/fast/block/positioning/inline-block-relposition-expected.png: * platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt: * platform/gtk/fast/block/positioning/relative-overflow-block-expected.txt: * platform/gtk/fast/clip/001-expected.txt: * platform/gtk/fast/clip/004-expected.txt: * platform/gtk/fast/clip/006-expected.txt: * platform/gtk/fast/clip/007-expected.txt: * platform/gtk/fast/clip/008-expected.txt: * platform/gtk/fast/clip/009-expected.txt: * platform/gtk/fast/clip/010-expected.txt: * platform/gtk/fast/clip/011-expected.txt: * platform/gtk/fast/clip/012-expected.txt: * platform/gtk/fast/clip/013-expected.txt: * platform/gtk/fast/clip/014-expected.txt: * platform/gtk/fast/clip/nestedTransparencyClip-expected.txt: * platform/gtk/fast/clip/outline-overflowClip-expected.txt: * platform/gtk/fast/forms/input-appearance-preventDefault-expected.txt: * platform/gtk/fast/invalid/014-expected.txt: * platform/gtk/fast/layers/layer-visibility-expected.txt: * platform/gtk/fast/repaint/layout-state-scrolloffset-expected.txt: * platform/gtk/fast/repaint/layout-state-scrolloffset2-expected.txt: * platform/gtk/fast/repaint/layout-state-scrolloffset3-expected.txt: * platform/gtk/tables/mozilla/bugs/bug51140-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82031 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
abarth@webkit.org authored
Reviewed by Eric Seidel. We shouldn't bother running GYP if the generated files are newer than the GYP files https://bugs.webkit.org/show_bug.cgi?id=57146 In the common case, this check will avoid any overhead from processing the GYP files. Another approach to doing this is to add the feature to GYP directly, but GYP's approach to this problem is to compute the output in its entirety and compare it byte-for-byte against the output file. In the future, it might make sense to add this approach as an alternative approach for GYP itself. I also removed JavaScriptGlue from the script because we're not really going to change JavaScriptGlue over to GYP. We were using JavaScriptGlue as a learning experience. * Source/gyp/configure: git-svn-id: svn://svn.chromium.org/blink/trunk@82030 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ossy@webkit.org authored
* platform/qt/fast/repaint/layout-state-scrolloffset-expected.checksum: * platform/qt/fast/repaint/layout-state-scrolloffset-expected.png: * platform/qt/fast/repaint/layout-state-scrolloffset-expected.txt: * platform/qt/fast/repaint/layout-state-scrolloffset2-expected.checksum: * platform/qt/fast/repaint/layout-state-scrolloffset2-expected.png: * platform/qt/fast/repaint/layout-state-scrolloffset2-expected.txt: * platform/qt/fast/repaint/layout-state-scrolloffset3-expected.checksum: * platform/qt/fast/repaint/layout-state-scrolloffset3-expected.png: * platform/qt/fast/repaint/layout-state-scrolloffset3-expected.txt: * platform/qt/tables/mozilla/bugs/bug51140-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82029 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
abarth@webkit.org authored
Reviewed by Eric Seidel. Teach Content Security Policy how to parse source-list https://bugs.webkit.org/show_bug.cgi?id=54799 Test a variety of source-list parsing cases. There's a bunch more cases we could be testing. We'll add more over time. * http/tests/security/contentSecurityPolicy/source-list-parsing-expected.txt: Added. * http/tests/security/contentSecurityPolicy/source-list-parsing.html: Added. 2011-03-26 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Teach Content Security Policy how to parse source-list https://bugs.webkit.org/show_bug.cgi?id=54799 This patch is larger than I would like, but I wasn't sure how to make it any smaller while still being reasonably testable. I've left out some features (such as host wildcarding and 'self') so I can add them in later patches with tests. Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html * bindings/ScriptControllerBase.cpp: * dom/ScriptElement.cpp: * html/parser/HTMLDocumentParser.cpp: * loader/FrameLoader.cpp: - Add include explicitly now that we're not spamming the include everywhere. * dom/Document.cpp: (WebCore::Document::initSecurityContext): - We need to pass the SecurityOrigin object to ContentSecurityPolicy so that it can resolve implicit parts of source patterns, such as the scheme. * dom/Document.h: - Forward declare ContentSecurityPolicy rather than including the header. Technically this could be a separate change, but I was getting annoyed at the world re-builds. * page/ContentSecurityPolicy.cpp: (WebCore::skipExactly): (WebCore::skipUtil): (WebCore::skipWhile): - Clean up these parser helper functions. We might consider moving them to a more general location. They're very helpful for writing secure HTTP header parsers. (WebCore::CSPSource::CSPSource): - New class to represent one source in a source-list. (WebCore::CSPSource::matches): (WebCore::CSPSource::schemeMatches): (WebCore::CSPSource::hostMatches): (WebCore::CSPSource::portMatches): (WebCore::CSPSource::isSchemeOnly): - Currently we represent scheme-only sources using with an empty m_host. Another approach I considered was using another bool, but that seemed slighly messier. (WebCore::CSPSourceList::CSPSourceList): - CSPSourceList doesn't need to ref SecurityOrigin because CSPSourceList is owned by ContentSecurityPolicy, which holds a ref. (WebCore::CSPSourceList::parse): (WebCore::CSPSourceList::matches): (WebCore::CSPSourceList::parseSource): (WebCore::CSPSourceList::parseScheme): (WebCore::CSPSourceList::parseHost): (WebCore::CSPSourceList::parsePort): - A basic "segment and recurse" parser. This parser causes us to take more branches than we need, but I don't think we need to squeeze every last ouch of performance out of this parser. This approach is more simple than some of the other approaches I tried. (WebCore::CSPSourceList::addSourceSelf): (WebCore::CSPDirective::CSPDirective): (WebCore::CSPDirective::allows): (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): (WebCore::ContentSecurityPolicy::parse): (WebCore::ContentSecurityPolicy::parseDirective): (WebCore::ContentSecurityPolicy::addDirective): - I couldn't resist re-writing this parser to use the helper functions and to match the style of the source-list parser. * page/ContentSecurityPolicy.h: (WebCore::ContentSecurityPolicy::create): - Accept a SecurityOrigin context object. git-svn-id: svn://svn.chromium.org/blink/trunk@82028 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
paroga@webkit.org authored
Unreviewed EFL and WinCE build fix for r81977. * platform/graphics/FontPlatformData.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82027 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mitz@apple.com authored
* platform/mac-snowleopard/fast/text/justify-ideograph-leading-expansion-expected.txt: Added. * platform/win/fast/text/justify-ideograph-leading-expansion-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@82026 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
paroga@webkit.org authored
Unreviewed WinCE build fix for r82000. * platform/wince/FileSystemWinCE.cpp: (WebCore::openFile): Added missing function. git-svn-id: svn://svn.chromium.org/blink/trunk@82025 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
paroga@webkit.org authored
Unreviewed WinCE build fix. * CMakeListsWinCE.txt: Added missing include directory. git-svn-id: svn://svn.chromium.org/blink/trunk@82024 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
scheib@chromium.org authored
Chromium test_expectations: bug added for tests impacted by r81992 * platform/chromium/test_expectations.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82021 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57137 Check in failing results for this test (except for on SnowLeopard) until the failure can be diagnosed. * platform/mac-snowleopard/plugins: Added. * platform/mac-snowleopard/plugins/embed-prefers-plugins-for-images-expected.txt: Added. * plugins/embed-prefers-plugins-for-images-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82020 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
weinig@apple.com authored
Reviewed by Adele Peterson. WKPageLoadAlternateHTMLString doesn't re-spawn a dead WebProcess, but should <rdar://problem/9191493> https://bugs.webkit.org/show_bug.cgi?id=57134 Make all load functions respawn a dead WebProcess for consistency. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadHTMLString): Respawn a dead WebProcess. (WebKit::WebPageProxy::loadAlternateHTMLString): Respawn a dead WebProcess. (WebKit::WebPageProxy::loadPlainTextString): Respawn a dead WebProcess. (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadAlternateHTMLString): Since we may no longer always have a main frame when calling WKPageLoadAlternateHTMLString, set the unreachable URL, if there is one, on provisional load. git-svn-id: svn://svn.chromium.org/blink/trunk@82019 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
kevino@webkit.org authored
git-svn-id: svn://svn.chromium.org/blink/trunk@82018 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
and that is now required for fast/images/embed-image.html. * platform/mac-wk2/Skipped: Skip fast/images/embed-image.html git-svn-id: svn://svn.chromium.org/blink/trunk@82017 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57135 It would appear that the Windows XP bot is loading a plug-in despite the test calling layoutTestController.setPluginsEnabled(false). * platform/win-xp/Skipped: Skip fast/images/embed-image.html git-svn-id: svn://svn.chromium.org/blink/trunk@82016 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
* plugins/embed-prefers-plugins-for-images.html: git-svn-id: svn://svn.chromium.org/blink/trunk@82015 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Eric Carlson. MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load. https://bugs.webkit.org/show_bug.cgi?id=57047 No new tests. When loading a URL, checkk osee if the Appplication Cache has a version of that URL stored; if so, use the local path to that cached media instead of the remote URL. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): * platform/graphics/win/QTMovie.cpp: (QTMovie::loadPath): * platform/graphics/win/QTMovie.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82014 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rdar://problem/9134330mitz@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57106 Reviewed by Darin Adler. Source/WebCore: Test: fast/text/justify-ideograph-leading-expansion.html * platform/graphics/TextRun.h: Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags. (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter. (WebCore::TextRun::allowsLeadingExpansion): Added this accessor. (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member. * platform/graphics/WidthIterator.cpp: (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing leading expansion when appropriate. (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code to handle expansion before the first glyph. * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion. (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance() * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable. * rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion to reflect the use of this bit by InlineTextBox. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior(). (WebCore::InlineTextBox::paint): Ditto. (WebCore::InlineTextBox::paintSelection): Ditto. (WebCore::InlineTextBox::paintCompositionBackground): Ditto. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. (WebCore::InlineTextBox::offsetForPosition): Ditto. (WebCore::InlineTextBox::positionForOffset): Ditto. * rendering/InlineTextBox.h: (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor. (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto. (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function, which also considers canHaveLeadingExpansion(). * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on text boxes that can have leading expansion. Avoid negative expansion. * rendering/RootInlineBox.cpp: * rendering/RootInlineBox.h: (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag. (WebCore::RootInlineBox::setHasSelectedChildren): Ditto. LayoutTests: * fast/text/justify-ideograph-leading-expansion.html: Added. * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.checksum: Added. * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.png: Added. * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@82013 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca@apple.com authored
Reviewed by Sam Weinig. PluginView's call to invalidateContentsAndWindow() in invalidateRect() is wrong for plug-ins which paint into compositing layers https://bugs.webkit.org/show_bug.cgi?id=57133 <rdar://problem/9029442> * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: (WebKit::NetscapePlugin::platformInvalidate): Return true under the Core Animation drawing model, since that prevents the plug-in from calling PluginController::invalidate. * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::invalidateRect): Don't call invalidateContentsAndWindow() if the plug-in has a Core Animation layer. git-svn-id: svn://svn.chromium.org/blink/trunk@82012 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Maciej Stachowiak. MediaPlayerPrivateAVFoundation should use the Application Cache during load. https://bugs.webkit.org/show_bug.cgi?id=56997 No new tests. When loading a URL, check to see if the Application Cache has a version of that URL stored; if so, use the local path to that cached media instead of the remote URL. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded from the application cache. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added. (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL. git-svn-id: svn://svn.chromium.org/blink/trunk@82011 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
commit-queue@webkit.org authored
Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect both sides of a ?: operation to have the same types. Extracted from original https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally created by Thiago Macieira. fixes a compile issue on Solaris 10/SunStudio 12 * loader/DocumentLoader.h: (WebCore::DocumentLoader::serverRedirectSourceForHistory): * loader/FrameLoader.cpp: (WebCore::FrameLoader::load): (WebCore::FrameLoader::loadWithNavigationAction): git-svn-id: svn://svn.chromium.org/blink/trunk@82010 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Maciej Stachowiak. MediaPlayerPrivateQTKit should use the Application Cache during load. https://bugs.webkit.org/show_bug.cgi?id=53818 No new tests. When loading a URL, check to see if the Application Cache has a version of that URL stored; if so, use that data instead of the remote URL. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): (WebCore::MediaPlayerPrivateQTKit::createQTMovie): (WebCore::MediaPlayerPrivateQTKit::loadInternal): git-svn-id: svn://svn.chromium.org/blink/trunk@82009 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jam@chromium.org authored
git-svn-id: svn://svn.chromium.org/blink/trunk@82008 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57132 * platform/win/Skipped: Skip plugins/embed-prefers-plugins-for-images.html git-svn-id: svn://svn.chromium.org/blink/trunk@82007 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jamesr@google.com authored
Reviewed by Kenneth Russell. [chromium] Move draw implementations to CCLayerImpl for everything except content layers https://bugs.webkit.org/show_bug.cgi?id=56793 Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for all layer types except content layers. This gets us closer to decoupling the composite step itself from updating the layers. The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines and moving the code from each XXXLayerChromium to CCXXXLayerImpl. In order to render from the CCLayerImpl side all state needed at draw time also has to be synchronized, which is performed in pushPropertiesTo(). On the LayerRendererChromium side there are a few changes. I've split the updateContents calls on LayerChromiums into two operations tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'. paintContents() is used for any code that calls into WebKit in order to generate new pixel data. It's expected that this call may take a long period of time and may involve "odd" side effects. updateCompositorResources() is used for code that needs to update the compositor's texture data or other state. It is not expected that this callback will take long (since it's just inserting commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents(). The updateAndDrawLayers cycle now looks like this: 1.) update the root content layer 2.) update the root layer scrollbars 3.) for each LayerChromium in tree order: a.) ensure a CCLayerImpl of the correct type exists for this layer b.) push all draw time properties from the LayerChromium to the CCLayerImpl c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists 4.) for each LayerChromium in tree order, paint the layer's contents 5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc) 6.) draw the root layer and its scrollbars 7.) for each CCLayerImpl in render surface order, draw it Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms in order to paint. We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick up any texture updates. This will also get fixed when the paint dependency on render surfaces is resolved. I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area. Tests: compositing/ * WebCore.gypi: * platform/graphics/chromium/Canvas2DLayerChromium.cpp: (WebCore::Canvas2DLayerChromium::updateCompositorResources): * platform/graphics/chromium/Canvas2DLayerChromium.h: * platform/graphics/chromium/CanvasLayerChromium.cpp: (WebCore::CanvasLayerChromium::createCCLayerImpl): (WebCore::CanvasLayerChromium::pushPropertiesTo): * platform/graphics/chromium/CanvasLayerChromium.h: * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::requiresClippedUpdateRect): (WebCore::ContentLayerChromium::paintContentsIfDirty): (WebCore::ContentLayerChromium::updateCompositorResources): (WebCore::ContentLayerChromium::bindContentsTexture): * platform/graphics/chromium/ContentLayerChromium.h: * platform/graphics/chromium/ImageLayerChromium.cpp: (WebCore::ImageLayerChromium::paintContentsIfDirty): * platform/graphics/chromium/ImageLayerChromium.h: * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::cleanupResources): (WebCore::LayerChromium::setLayerRenderer): (WebCore::LayerChromium::setName): (WebCore::LayerChromium::pushPropertiesTo): (WebCore::LayerChromium::dumpLayer): (WebCore::LayerChromium::createCCLayerImpl): (WebCore::LayerChromium::createCCLayerImplIfNeeded): (WebCore::LayerChromium::ccLayerImpl): (WebCore::LayerChromium::layerRenderer): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::paintContentsIfDirty): (WebCore::LayerChromium::updateCompositorResources): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::updateLayers): (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): (WebCore::LayerRendererChromium::paintContentsRecursive): (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::initializeSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: (WebCore::LayerRendererChromium::canvasLayerProgram): (WebCore::LayerRendererChromium::pluginLayerProgram): (WebCore::LayerRendererChromium::videoLayerRGBAProgram): (WebCore::LayerRendererChromium::videoLayerYUVProgram): * platform/graphics/chromium/PluginLayerChromium.cpp: (WebCore::PluginLayerChromium::createCCLayerImpl): (WebCore::PluginLayerChromium::setTextureId): (WebCore::PluginLayerChromium::pushPropertiesTo): * platform/graphics/chromium/PluginLayerChromium.h: (WebCore::PluginLayerChromium::textureId): * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::createCCLayerImpl): (WebCore::VideoLayerChromium::updateCompositorResources): (WebCore::VideoLayerChromium::pushPropertiesTo): * platform/graphics/chromium/VideoLayerChromium.h: * platform/graphics/chromium/WebGLLayerChromium.cpp: (WebCore::WebGLLayerChromium::updateCompositorResources): * platform/graphics/chromium/WebGLLayerChromium.h: * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl): (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl): (WebCore::CCCanvasLayerImpl::draw): (WebCore::CCCanvasLayerImpl::dumpLayerProperties): * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. (WebCore::CCCanvasLayerImpl::create): (WebCore::CCCanvasLayerImpl::setTextureId): (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::descendantsDrawsContent): (WebCore::CCLayerImpl::updateCompositorResources): (WebCore::CCLayerImpl::writeIndent): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::setAnchorPoint): (WebCore::CCLayerImpl::setAnchorPointZ): (WebCore::CCLayerImpl::setMasksToBounds): (WebCore::CCLayerImpl::setOpacity): (WebCore::CCLayerImpl::setPosition): (WebCore::CCLayerImpl::setPreserves3D): (WebCore::CCLayerImpl::setSublayerTransform): (WebCore::CCLayerImpl::setTransform): * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. (WebCore::CCPluginLayerImpl::CCPluginLayerImpl): (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl): (WebCore::CCPluginLayerImpl::draw): (WebCore::CCPluginLayerImpl::dumpLayerProperties): * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. (WebCore::CCPluginLayerImpl::create): (WebCore::CCPluginLayerImpl::setTextureId): * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added. (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl): (WebCore::CCVideoLayerImpl::setTexture): (WebCore::CCVideoLayerImpl::draw): (WebCore::CCVideoLayerImpl::drawYUV): (WebCore::CCVideoLayerImpl::drawRGBA): (WebCore::CCVideoLayerImpl::dumpLayerProperties): * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. (WebCore::CCVideoLayerImpl::create): (WebCore::CCVideoLayerImpl::setSkipsDraw): (WebCore::CCVideoLayerImpl::setFrameFormat): git-svn-id: svn://svn.chromium.org/blink/trunk@82006 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-