1. 26 Mar, 2011 40 commits
    • weinig@apple.com's avatar
      2011-03-26 Sam Weinig <sam@webkit.org> · d56a6098
      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
      d56a6098
    • commit-queue@webkit.org's avatar
      2011-03-26 Andreas Kling <kling@webkit.org> · 657c6f79
      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
      657c6f79
    • andersca@apple.com's avatar
      2011-03-26 Anders Carlsson <andersca@apple.com> · ee63dac3
      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
      ee63dac3
    • commit-queue@webkit.org's avatar
      2011-03-26 Kwang Yul Seo <skyul@company100.net> · 8fa9d46a
      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
      8fa9d46a
    • weinig@apple.com's avatar
      Rollout r82042 (If a user doesn't have a Database/LocalStorage directory, it... · 829e1edb
      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
      829e1edb
    • weinig@apple.com's avatar
      2011-03-26 Sam Weinig <sam@webkit.org> · 63d489e7
      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
      63d489e7
    • andersca@apple.com's avatar
      2011-03-26 Anders Carlsson <andersca@apple.com> · e99e5322
      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
      e99e5322
    • mrobinson@webkit.org's avatar
      2011-03-26 Martin Robinson <mrobinson@igalia.com> · b67658d8
      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
      b67658d8
    • mrobinson@webkit.org's avatar
      2011-03-26 Martin Robinson <mrobinson@igalia.com> · c852fa10
      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
      c852fa10
    • mrobinson@webkit.org's avatar
      2011-03-26 Martin Robinson <mrobinson@igalia.com> · eab826f5
      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
      eab826f5
    • abarth@webkit.org's avatar
      2011-03-26 Adam Barth <abarth@webkit.org> · 24690317
      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
      24690317
    • weinig@apple.com's avatar
      2011-03-26 Sam Weinig <sam@webkit.org> · 156be54b
      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
      156be54b
    • andersca@apple.com's avatar
      2011-03-26 Anders Carlsson <andersca@apple.com> · b8f9df08
      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
      b8f9df08
    • andreas.kling@nokia.com's avatar
      2011-03-26 Andreas Kling <kling@webkit.org> · 5f667538
      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
      5f667538
    • mrobinson@webkit.org's avatar
      2011-03-26 Martin Robinson <mrobinson@igalia.com> · 29644f8b
      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
      29644f8b
    • andersca@apple.com's avatar
      2011-03-26 Anders Carlsson <andersca@apple.com> · 0fd1534a
      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
      0fd1534a
    • mrobinson@webkit.org's avatar
      2011-03-26 Martin Robinson <mrobinson@igalia.com> · 059df433
      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
      059df433
    • abarth@webkit.org's avatar
      2011-03-26 Adam Barth <abarth@webkit.org> · 079ea4cf
      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
      079ea4cf
    • ossy@webkit.org's avatar
      Update Qt specific expected results after r81992. · 2bbc66a1
      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
      2bbc66a1
    • abarth@webkit.org's avatar
      2011-03-26 Adam Barth <abarth@webkit.org> · 1ec603bc
      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
      1ec603bc
    • paroga@webkit.org's avatar
      2011-03-26 Patrick Gansterer <paroga@webkit.org> · 8207ee48
      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
      8207ee48
    • mitz@apple.com's avatar
      Added platform-specific expected results for a new test. · dc2927ba
      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
      dc2927ba
    • paroga@webkit.org's avatar
      2011-03-26 Patrick Gansterer <paroga@webkit.org> · fc1e5859
      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
      fc1e5859
    • paroga@webkit.org's avatar
      2011-03-26 Patrick Gansterer <paroga@webkit.org> · 70416777
      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
      70416777
    • scheib@chromium.org's avatar
      2011-03-25 Vincent Scheib <scheib@chromium.org> · 762d633a
      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
      762d633a
    • aestes@apple.com's avatar
      plugins/embed-prefers-plugins-for-images.html only passing on SnowLeopard. · 7ada347d
      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
      7ada347d
    • weinig@apple.com's avatar
      2011-03-25 Sam Weinig <sam@webkit.org> · a702e277
      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
      a702e277
    • kevino@webkit.org's avatar
    • aestes@apple.com's avatar
      LayoutTestController.setPluginsEnabled() isn't implemented in WebKit2, · 1fba262f
      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
      1fba262f
    • aestes@apple.com's avatar
      Skip fast/images/embed-image.html on Windows XP · 165d0d4b
      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
      165d0d4b
    • aestes@apple.com's avatar
      Re-work a test to not be flaky. · 757392ba
      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
      757392ba
    • jer.noble@apple.com's avatar
      2011-03-25 Jer Noble <jer.noble@apple.com> · ec6e27a8
      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
      ec6e27a8
    • mitz@apple.com's avatar
      <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run · e1b3dff6
      mitz@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
      e1b3dff6
    • andersca@apple.com's avatar
      2011-03-25 Anders Carlsson <andersca@apple.com> · 313d202f
      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
      313d202f
    • jer.noble@apple.com's avatar
      2011-03-23 Jer Noble <jer.noble@apple.com> · 9c3b6fe3
      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
      9c3b6fe3
    • commit-queue@webkit.org's avatar
      2011-03-25 Ben Taylor <bentaylor.solx86@gmail.com> · 85d0c00b
      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
      85d0c00b
    • jer.noble@apple.com's avatar
      2011-02-03 Jer Noble <jer.noble@apple.com> · eaca9067
      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
      eaca9067
    • jam@chromium.org's avatar
      [chromium] add missing include from previous checkin · bbc0bc9f
      jam@chromium.org authored
      git-svn-id: svn://svn.chromium.org/blink/trunk@82008 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      bbc0bc9f
    • aestes@apple.com's avatar
      plugins/embed-prefers-plugins-for-images.html fails on Windows. · 0af4bb5b
      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
      0af4bb5b
    • jamesr@google.com's avatar
      2011-03-25 James Robinson <jamesr@chromium.org> · dd9b8f79
      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
      dd9b8f79