1. 08 Dec, 2010 19 commits
    • bweinstein@apple.com's avatar
      Layering Violation in ContextMenu - member variable of type HitTestResult · ff7b94c4
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50586
              
      Reviewed by John Sullivan.
      
      WebCore: 
      
      ContextMenu had a layering violation by having a member variable of type HitTestResult, because
      classes in WebCore/platform can't know about classes in WebCore.
              
      This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
      All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
      allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
      in ContextMenuController, and the rest of the code is in the platform-specific files.
      
      No change in behavior, no new tests.
      
      * Android.mk: Removed ContextMenu.cpp.
      * CMakeLists.txt: Ditto.
      * GNUmakefile.am: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.pro: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
      (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
          of the ContextMenu.
      (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
          variable.
      (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
      (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
      (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
          This allowed us to move checkOrEnableIfNeeded from ContextMenu.
      
      These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
      All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
      of validating the menu.
      (WebCore::separatorItem): Moved from ContextMenu.
      (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
      (WebCore::selectionContainsPossibleWord): Ditto.
      (WebCore::ContextMenuController::populate): Ditto.
      (WebCore::ContextMenuController::addInspectElementItem): Ditto.
      (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
              
      * page/ContextMenuController.h:
      (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
      
      * platform/ContextMenu.cpp: Removed.
      * platform/ContextMenu.h:
      * platform/efl/ContextMenuEfl.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
      * platform/gtk/ContextMenuGtk.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Ditto.
      * platform/haiku/ContextMenuHaiku.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Ditto.
      (WebCore::ContextMenu::insertItem): Ditto.
      * platform/mac/ContextMenuMac.mm:
      (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
          the context menu.
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
      (WebCore::ContextMenu::insertItem): Ditto.
      * platform/win/ContextMenuWin.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
      * platform/wx/ContextMenuWx.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (ContextMenu::appendItem): Ditto.
      
      WebKit/chromium: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * src/ContextMenuClientImpl.cpp:
      (WebKit::selectMisspelledWord):
      (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
      
      WebKit/gtk: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/ContextMenuClientGtk.cpp:
      (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
      
      WebKit/mac: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/WebContextMenuClient.mm:
      (WebContextMenuClient::getCustomMenuFromDefaultItems):
      (WebContextMenuClient::contextMenuItemSelected):
      * WebView/WebHTMLView.mm:
      (-[WebMenuTarget validateMenuItem:]):
      
      WebKit/qt: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * Api/qwebpage.cpp:
      (QWebPagePrivate::createContextMenu):
      (QWebPage::updatePositionDependentActions):
      
      WebKit/win: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      (WebContextMenuClient::getCustomMenuFromDefaultItems): Get the HitTestResult and ContextMenu from the 
          ContextMenuController (from the page).
      (WebContextMenuClient::contextMenuItemSelected): Get the HitTestResult from the ContextMenuController.
      * WebView.cpp:
      (WebView::handleContextMenuEvent): Ditto.
      
      WebKit2: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * Shared/WebContextMenuItemData.cpp:
      (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
          the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
      * WebProcess/WebPage/WebContextMenu.cpp:
      (WebKit::WebContextMenu::show):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff7b94c4
    • mrobinson@webkit.org's avatar
      2010-12-08 Martin Robinson <mrobinson@igalia.com> · b0ecf4f8
      mrobinson@webkit.org authored
              Reviewed by John Sullivan.
      
              [GTK] Layering violation in ContextMenuGtk.cpp
              https://bugs.webkit.org/show_bug.cgi?id=50676
      
              ContextMenuGtk accesses the page's ContextMenuController, which is a layering
              violation. This was fixed for Mac with change r73469. We make a similar fix here
              by moving the "activated" signal connection to the WebKit layer.
      
              * platform/gtk/ContextMenuGtk.cpp:
              (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
              is a layering violation.
      2010-12-08  Martin Robinson  <mrobinson@igalia.com>
      
              Reviewed by John Sullivan.
      
              [GTK] Layering violation in ContextMenuGtk.cpp
              https://bugs.webkit.org/show_bug.cgi?id=50676
      
              ContextMenuGtk accesses the page's ContextMenuController, which is a layering
              violation. This was fixed for Mac with change r73469. We make a similar fix here
              by moving the "activated" signal connection to the WebKit layer.
      
              * webkit/webkitwebview.cpp:
              (popupMenuItemActivated): Have ContextMenuController handle this signal.
              (webkit_web_view_forward_context_menu_event): For all items in the untouched
              context menu, connect their "activated" signal to the new popupMenuItemActivated
              handler.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0ecf4f8
    • jberlin@webkit.org's avatar
      WebKit2: Implement WebChromeClient::exceededDatabaseQuota · b646cd5e
      jberlin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=50656
      
      Reviewed by Adam Roben.
      
      WebCore: 
      
      * WebCore.exp.in:
      Export the symbol for SecurityOrigin::databaseIdentifier.
      
      WebKit2: 
      
      The exceededDatabaseQuota call from the WebProcess to the UIProcess needs to be synchronous
      because the new quota is checked directly after exceededDatabaseQuota returns in order to
      determine if the new Database can be created.
      
      Pass all of the details from the WebProcess to the UIProcess in order to inform the
      decision in the UIProcess about the new quota. In WebKit1, these details were
      fetched through an additional call to the API detailsForDatabase (which is infeasible in
      WebKit2 since exceededDatabaseQuota is a synchronous call).
      
      * Platform/CoreIPC/HandleMessage.h:
      (CoreIPC::callMemberFunction):
      Add a version that takes 7 parameters.
      
      * UIProcess/API/C/WKPage.h:
      
      * UIProcess/API/qt/qwkpage.cpp:
      (QWKPage::QWKPage):
      Indicate that exceededDatabaseQuota is not implemented.
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::exceededDatabaseQuota):
      Call the UIClient's exceededDatabaseQuota
      * UIProcess/WebPageProxy.h:
      * UIProcess/WebPageProxy.messages.in:
      
      * UIProcess/WebUIClient.cpp:
      (WebKit::WebUIClient::exceededDatabaseQuota):
      If the client does not implement exceededDatabaseQuota, return a the current quota.
      * UIProcess/WebUIClient.h:
      
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::exceededDatabaseQuota):
      Send a synchronous message to the UIProcess to ask for the new quota for the origin for the
      given frame.
      
      WebKitTools: 
      
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController awakeFromNib]):
      Indicate that exceededDatabaseQuota is not implemented.
      * MiniBrowser/win/BrowserView.cpp:
      (BrowserView::create):
      Ditto.
      * WebKitTestRunner/TestController.cpp:
      (WTR::createOtherPage):
      Ditto.
      (WTR::TestController::initialize):
      Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b646cd5e
    • ossy@webkit.org's avatar
      2010-12-08 Csaba Osztrogonác <ossy@webkit.org> · 8212c7dd
      ossy@webkit.org authored
              Unreviewed, rolling out r73521.
              http://trac.webkit.org/changeset/73521
              https://bugs.webkit.org/show_bug.cgi?id=50640
      
              It broke 90 layout tests
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::printErrorMessageForFrame):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation):
              * page/DOMWindow.cpp:
              * page/DOMWindow.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8212c7dd
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=50576 · 945782ff
      hyatt@apple.com authored
      Reviewed by Anders Carlsson.
      
      REGRESSION in position of autocomplete popup on RTL page.
      
      RTL static position computation did not subtract out the width of the enclosing box if the
      immediate parent was a RenderInline.  This bug was exposed by properly changing the RenderView
      to be RTL when the document was RTL.
      
      Added three new tests in fast/block/positioning.
      
      WebCore: 
      
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::computePositionedLogicalWidth):
      
      LayoutTests: 
      
      * fast/block/positioning/rtl-static-positioning-inline-block.html: Added.
      * fast/block/positioning/rtl-static-positioning.html: Added.
      * fast/block/positioning/table-cell-static-position.html: Added.
      * platform/mac/fast/block/positioning/rtl-static-positioning-expected.checksum: Added.
      * platform/mac/fast/block/positioning/rtl-static-positioning-expected.png: Added.
      * platform/mac/fast/block/positioning/rtl-static-positioning-expected.txt: Added.
      * platform/mac/fast/block/positioning/rtl-static-positioning-inline-block-expected.checksum: Added.
      * platform/mac/fast/block/positioning/rtl-static-positioning-inline-block-expected.png: Added.
      * platform/mac/fast/block/positioning/rtl-static-positioning-inline-block-expected.txt: Added.
      * platform/mac/fast/block/positioning/table-cell-static-position-expected.checksum: Added.
      * platform/mac/fast/block/positioning/table-cell-static-position-expected.png: Added.
      * platform/mac/fast/block/positioning/table-cell-static-position-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      945782ff
    • xji@chromium.org's avatar
      2010-12-08 Xiaomei Ji <xji@chromium.org> · bebfbc9b
      xji@chromium.org authored
              Reviewed by David Hyatt.
      
              Fix backward mouse wheeling not working when scroll position is below 0.
              https://bugs.webkit.org/show_bug.cgi?id=50370
      
              Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
                     fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
      
              * platform/ScrollView.cpp:
              (WebCore::ScrollView::wheelEvent):
      2010-12-08  Xiaomei Ji  <xji@chromium.org>
      
              Reviewed by David Hyatt.
      
              Fix backward mouse wheeling not working when scroll position is below 0.
              https://bugs.webkit.org/show_bug.cgi?id=50370
      
              * fast/dom/horizontal-scrollbar-in-rtl-expected.txt:
              * fast/dom/horizontal-scrollbar-in-rtl.html:
              * fast/dom/vertical-scrollbar-in-rtl-expected.txt:
              * fast/dom/vertical-scrollbar-in-rtl.html:
              * fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt: Added.
              * fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html: Added.
              * fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt: Added.
              * fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html: Added.
              * platform/chromium/fast/dom/horizontal-scrollbar-in-rtl-expected.txt:
              * platform/chromium/fast/dom/vertical-scrollbar-in-rtl-expected.txt:
              * platform/chromium/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt: Added.
              * platform/chromium/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt: Added.
              * platform/gtk/Skipped:
              * platform/mac-tiger/Skipped:
              * platform/mac-wk2/Skipped:
              * platform/qt-wk2/Skipped:
              * platform/qt/fast/dom/horizontal-scrollbar-in-rtl-expected.txt:
              * platform/qt/fast/dom/vertical-scrollbar-in-rtl-expected.txt:
              * platform/win/Skipped:
              * platform/win/fast/dom/horizontal-scrollbar-in-rtl-expected.txt:
              * platform/win/fast/dom/vertical-scrollbar-in-rtl-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bebfbc9b
    • simon.fraser@apple.com's avatar
      2010-12-08 Simon Fraser <simon.fraser@apple.com> · cc078e89
      simon.fraser@apple.com authored
              Reviewed by Dan Bernstein.
      
              Fix pauseAnimation API to work with shorthand properties
              https://bugs.webkit.org/show_bug.cgi?id=50639
      
              The pause API is always called with a long-hand property, but that
              property may be animating via a shorthand. Detect this, and pause
              such shorthand animations.
      
              * page/animation/AnimationBase.cpp:
              (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
              of wrappers used by a shorthand wrapper.
      
              (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
              through the shorthand wrappers, keeping track of which can affect the given
              property.
              (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
              of shorthand properties that can affect the given property.
      
              * page/animation/AnimationBase.h: New method.
              * page/animation/CompositeAnimation.cpp:
              (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
              property itself, check whether it's being animated via shorthands.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc078e89
    • hyatt@apple.com's avatar
      <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885 · 0b979db1
      hyatt@apple.com authored
      Reviewed by Beth Dakin.
      
      Make sure the transform applied to the RenderView for page scaling is incorporated into the
      docTop/Bottom/Left/Right accessors.
      
      * rendering/RenderView.cpp:
      (WebCore::RenderView::docTop):
      (WebCore::RenderView::docBottom):
      (WebCore::RenderView::docLeft):
      (WebCore::RenderView::docRight):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b979db1
    • loislo@chromium.org's avatar
      2010-12-08 Ilya Tikhonovsky <loislo@chromium.org> · ff102636
      loislo@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
              for TimelineAgent functions.
      
              https://bugs.webkit.org/show_bug.cgi?id=50690
      
              * inspector/Inspector.idl:
              * inspector/front-end/TimelineAgent.js:
              * inspector/front-end/TimelinePanel.js:
              (WebInspector.TimelinePanel):
              (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
              (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff102636
    • philn@webkit.org's avatar
      2010-12-08 Philippe Normand <pnormand@igalia.com> · 5ad13296
      philn@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] media/fullscreen* failing on 64-bits Debug
              https://bugs.webkit.org/show_bug.cgi?id=50394
      
              Avoid emiting durationchanged in the case where the previous
              duration was 0 because that case is already handled by the
              HTMLMediaElement.
      
              Test: media/media-fullscreen*.html
      
              * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
      
      LayoutTests:
      
              Reviewed by Gustavo Noronha Silva.
      
              [GTK] media/fullscreen* failing on 64-bits Debug
              https://bugs.webkit.org/show_bug.cgi?id=50394
      
              * platform/gtk/Skipped: Unskip now passing tests.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ad13296
    • darin@apple.com's avatar
      2010-12-07 Darin Adler <darin@apple.com> · 10386762
      darin@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
              https://bugs.webkit.org/show_bug.cgi?id=50640
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::printErrorMessageForFrame): Removed body; just call through to
              DOMWindow::printErrorMessage.
      
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
              just call through to DOMWindow::crossDomainAccessErrorMessage.
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
              firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
              of the body and moved it into DOMWindow::setLocation.
      
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::setLocation): Added. Does all the same work that
              JSDOMWindow::setLocation used to do, but in a way that's not specific
              to JavaScript.
              (WebCore::DOMWindow::printErrorMessage): Added.
              (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
      
              * page/DOMWindow.h: Added setLocation, printErrorMessage, and
              crossDomainAccessErrorMessage.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10386762
    • alex@webkit.org's avatar
      2010-12-08 Alejandro G. Castro <alex@igalia.com> · 4b623f21
      alex@webkit.org authored
              Unreviewed, rolling out r73494.
              http://trac.webkit.org/changeset/73494
              https://bugs.webkit.org/show_bug.cgi?id=50380
      
              The tests added are crashing in the debug bots (macn and gtk)
      
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::deselectItems):
              (WebCore::HTMLSelectElement::setSelectedIndex):
              (WebCore::HTMLSelectElement::setSelectedIndexByUser):
              (WebCore::HTMLSelectElement::listBoxSelectItem):
              (WebCore::HTMLSelectElement::add):
              (WebCore::HTMLSelectElement::remove):
              (WebCore::HTMLSelectElement::restoreFormControlState):
              (WebCore::HTMLSelectElement::parseMappedAttribute):
              (WebCore::HTMLSelectElement::selectAll):
              (WebCore::HTMLSelectElement::reset):
              (WebCore::HTMLSelectElement::updateListBoxSelection):
              (WebCore::HTMLSelectElement::setLength):
              * html/HTMLSelectElement.h:
              (WebCore::HTMLSelectElement::isOptionalFormControl):
              * html/HTMLSelectElement.idl:
              * html/ValidityState.cpp:
              (WebCore::ValidityState::valueMissing):
      
      2010-12-08  Alejandro G. Castro  <alex@igalia.com>
      
              Unreviewed, rolling out r73494.
              http://trac.webkit.org/changeset/73494
              https://bugs.webkit.org/show_bug.cgi?id=50380
      
              The tests added are crashing in the debug bots (macn and gtk)
      
              * fast/forms/ValidityState-valueMissing-001-expected.txt:
              * fast/forms/ValidityState-valueMissing-001.html:
              * fast/forms/ValidityState-valueMissing-002-expected.txt:
              * fast/forms/ValidityState-valueMissing-002.html:
              * fast/forms/ValidityState-valueMissing-003-expected.txt:
              * fast/forms/ValidityState-valueMissing-003.html:
              * fast/forms/checkValidity-002-expected.txt:
              * fast/forms/checkValidity-002.html:
              * fast/forms/required-attribute-001-expected.txt:
              * fast/forms/required-attribute-001.html:
              * fast/forms/required-attribute-002-expected.txt:
              * fast/forms/required-attribute-002.html:
              * fast/forms/resources/select-live-pseudo-selectors.js: Removed.
              * fast/forms/script-tests/validationMessage.js:
              * fast/forms/select-live-pseudo-selectors-expected.txt: Removed.
              * fast/forms/select-live-pseudo-selectors.html: Removed.
              * fast/forms/validationMessage-expected.txt:
              * platform/mac/fast/objc/dom-html-select-live-pseudo-selectors-expected.txt: Removed.
              * platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b623f21
    • loislo@chromium.org's avatar
      2010-12-07 Ilya Tikhonovsky <loislo@chromium.org> · 5178a389
      loislo@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: Inspector protocol cleanup task. Remove
              WebInspector wrappers for DOMAgent functions.
      
              There were a lot of wrappers in WebInspector namespace
              for different WebInspector agents functions. As far as we have a
              generic mechanic for such functions we can remove these
              wrappers and register domAgent instance as a handler for
              DOM domain notifications.
      
              https://bugs.webkit.org/show_bug.cgi?id=50626
      
              * inspector/Inspector.idl:
              * inspector/front-end/DOMAgent.js:
              (WebInspector.DOMNode):
              (WebInspector.DOMAgent):
              (WebInspector.DOMAgent.prototype.attributesUpdated):
              (WebInspector.DOMAgent.prototype.characterDataModified):
              (WebInspector.DOMAgent.prototype.setDocument):
              (WebInspector.DOMAgent.prototype.setDetachedRoot):
              (WebInspector.DOMAgent.prototype.setChildNodes):
              (WebInspector.DOMAgent.prototype.childNodeCountUpdated):
              (WebInspector.DOMAgent.prototype.childNodeInserted):
              (WebInspector.DOMAgent.prototype.childNodeRemoved):
              (WebInspector.EventListeners.getEventListenersForNodeAsync):
              * inspector/front-end/inspector.js:
              (WebInspector.didCommitLoad):
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5178a389
    • yurys@chromium.org's avatar
      2010-12-08 Yury Semikhatsky <yurys@chromium.org> · f2690f43
      yurys@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: remove groupLevel counter from console messages
              https://bugs.webkit.org/show_bug.cgi?id=50672
      
              * inspector/console-tests-expected.txt:
      2010-12-08  Yury Semikhatsky  <yurys@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: remove groupLevel counter from console messages
              https://bugs.webkit.org/show_bug.cgi?id=50672
      
              * inspector/ConsoleMessage.cpp:
              (WebCore::ConsoleMessage::ConsoleMessage):
              (WebCore::ConsoleMessage::addToFrontend):
              (WebCore::ConsoleMessage::isEqual):
              * inspector/ConsoleMessage.h:
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::InspectorController):
              (WebCore::InspectorController::addMessageToConsole):
              (WebCore::InspectorController::clearConsoleMessages):
              (WebCore::InspectorController::startGroup):
              (WebCore::InspectorController::endGroup):
              * inspector/InspectorController.h:
              * inspector/front-end/ConsoleView.js:
              (WebInspector.ConsoleView.createFilterElement):
              (WebInspector.ConsoleView):
              (WebInspector.ConsoleView.prototype.filter):
              (WebInspector.ConsoleView.prototype.afterShow):
              (WebInspector.ConsoleView.prototype.addMessage):
              (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
              (WebInspector.ConsoleView.prototype.clearMessages):
              (WebInspector.ConsoleMessage):
              (WebInspector.ConsoleMessage.createTextMessage):
              (WebInspector.ConsoleMessage.prototype.toMessageElement):
              (WebInspector.ConsoleMessage.prototype._addMessageHeader):
              (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
              (WebInspector.ConsoleMessage.prototype.toString):
              (WebInspector.ConsoleMessage.prototype.isEqual):
              (WebInspector.ConsoleGroup):
              * inspector/front-end/Resource.js:
              (WebInspector.Resource.prototype._checkWarning):
              * inspector/front-end/SourceFrame.js:
              (WebInspector.SourceFrame.prototype._addMessageToSource):
              * inspector/front-end/inspector.js:
              (WebInspector.addConsoleMessage):
              (WebInspector.log.logMessage):
              (WebInspector.log):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2690f43
    • podivilov@chromium.org's avatar
      2010-12-07 Pavel Podivilov <podivilov@chromium.org> · 239a4197
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
              https://bugs.webkit.org/show_bug.cgi?id=50567
      
              Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
      
              * English.lproj/localizedStrings.js:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * inspector/front-end/Breakpoint.js: Added.
              (WebInspector.Breakpoint): Moved from BreakpointManager.js.
              * inspector/front-end/BreakpointManager.js:
              (WebInspector.BreakpointManager): Remove debugger-related methods.
              * inspector/front-end/CallStackSidebarPane.js:
              (WebInspector.CallStackSidebarPane):
              (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
              (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
              * inspector/front-end/DebuggerModel.js: Added.
              (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
              * inspector/front-end/ScriptsPanel.js:
              (WebInspector.ScriptsPanel):
              (WebInspector.ScriptsPanel.prototype.continueToLine):
              (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
              (WebInspector.ScriptsPanel.prototype.editScriptSource):
              (WebInspector.ScriptsPanel.prototype._debuggerPaused):
              (WebInspector.ScriptsPanel.prototype._debuggerResumed):
              (WebInspector.ScriptsPanel.prototype.reset):
              * inspector/front-end/SourceFrame.js:
              (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
              (WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
              (WebInspector.SourceFrameDelegate.prototype.breakpoints):
              (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
              * inspector/front-end/WebKit.qrc:
              * inspector/front-end/inspector.html:
              * inspector/front-end/inspector.js:
              (WebInspector.createJSBreakpointsSidebarPane):
              (WebInspector.restoredBreakpoint):
              (WebInspector.pausedScript):
              (WebInspector.resumedScript):
              (WebInspector.reset):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      239a4197
    • podivilov@chromium.org's avatar
      2010-12-08 Pavel Podivilov <podivilov@chromium.org> · 19ede04b
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: SourceFrame refactoring.
              https://bugs.webkit.org/show_bug.cgi?id=50223
      
              * inspector/debugger-breakpoints-not-activated-on-reload.html:
              * inspector/debugger-pause-on-breakpoint.html:
      2010-12-08  Pavel Podivilov  <podivilov@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: SourceFrame refactoring.
              https://bugs.webkit.org/show_bug.cgi?id=50223
      
              SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
              it's own storages. Move common code from ScriptView and SourceView to SourceFrame.
      
              * inspector/front-end/BreakpointManager.js:
              (WebInspector.BreakpointManager.prototype.findBreakpoints):
              (WebInspector.BreakpointManager.prototype.findBreakpoint):
              * inspector/front-end/Script.js:
              (WebInspector.Script):
              (WebInspector.Script.prototype.get linesCount):
              (WebInspector.Script.prototype.get source):
              (WebInspector.Script.prototype.set source):
              * inspector/front-end/ScriptView.js:
              (WebInspector.ScriptView):
              (WebInspector.ScriptView.prototype._scriptSourceChanged):
              (WebInspector.ScriptFrameDelegateImpl):
              (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
              (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
              (WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
              * inspector/front-end/ScriptsPanel.js:
              (WebInspector.ScriptsPanel):
              * inspector/front-end/SourceFrame.js:
              (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
              (WebInspector.SourceFrameDelegate):
              (WebInspector.SourceFrameDelegate.prototype.canEditScripts):
              (WebInspector.SourceFrameDelegate.prototype.editLineComplete):
              (WebInspector.SourceFrameDelegate.prototype.scripts):
              * inspector/front-end/SourceView.js:
              (WebInspector.SourceView):
              (WebInspector.SourceView.prototype._contentLoaded):
              (WebInspector.ResourceFrameDelegateImpl):
              (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
              (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
              (WebInspector.ResourceFrameDelegateImpl.prototype.scripts):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19ede04b
    • yutak@chromium.org's avatar
      2010-12-08 Yuta Kitamura <yutak@chromium.org> · a046e9c6
      yutak@chromium.org authored
              Unreviewed, rolling out r73492.
              http://trac.webkit.org/changeset/73492
              https://bugs.webkit.org/show_bug.cgi?id=49914
      
              Caused a lot of pixel test failures and broke Windows build.
      
              * WebCore.xcodeproj/project.pbxproj:
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::createGraphicsContextPrivate):
              (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
              (WebCore::GraphicsContext::save):
              (WebCore::GraphicsContext::restore):
              (WebCore::GraphicsContext::setStrokeThickness):
              (WebCore::GraphicsContext::setStrokeStyle):
              (WebCore::GraphicsContext::setStrokeColor):
              (WebCore::GraphicsContext::setShadow):
              (WebCore::GraphicsContext::clearShadow):
              (WebCore::GraphicsContext::getShadow):
              (WebCore::GraphicsContext::strokeThickness):
              (WebCore::GraphicsContext::strokeStyle):
              (WebCore::GraphicsContext::strokeColor):
              (WebCore::GraphicsContext::strokeColorSpace):
              (WebCore::GraphicsContext::fillRule):
              (WebCore::GraphicsContext::setFillRule):
              (WebCore::GraphicsContext::setFillColor):
              (WebCore::GraphicsContext::fillColor):
              (WebCore::GraphicsContext::fillColorSpace):
              (WebCore::GraphicsContext::setShouldAntialias):
              (WebCore::GraphicsContext::shouldAntialias):
              (WebCore::GraphicsContext::setStrokePattern):
              (WebCore::GraphicsContext::setFillPattern):
              (WebCore::GraphicsContext::setStrokeGradient):
              (WebCore::GraphicsContext::setFillGradient):
              (WebCore::GraphicsContext::fillGradient):
              (WebCore::GraphicsContext::strokeGradient):
              (WebCore::GraphicsContext::fillPattern):
              (WebCore::GraphicsContext::strokePattern):
              (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
              (WebCore::GraphicsContext::updatingControlTints):
              (WebCore::GraphicsContext::setUpdatingControlTints):
              (WebCore::GraphicsContext::setPaintingDisabled):
              (WebCore::GraphicsContext::paintingDisabled):
              (WebCore::GraphicsContext::textDrawingMode):
              (WebCore::GraphicsContext::setTextDrawingMode):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/GraphicsContextPrivate.h: Added.
              (WebCore::GraphicsContextState::GraphicsContextState):
              (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::setPlatformFill):
              (WebCore::setPlatformStroke):
              (WebCore::drawPathShadow):
              (WebCore::fillCurrentCairoPath):
              (WebCore::strokeCurrentCairoPath):
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformShadow):
              (WebCore::GraphicsContext::strokeRect):
              (WebCore::GraphicsContext::setAlpha):
              (WebCore::GraphicsContext::getAlpha):
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::applyStrokePattern):
              (WebCore::GraphicsContext::applyFillPattern):
              (WebCore::GraphicsContext::drawPath):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformShadow):
              (WebCore::GraphicsContext::strokeRect):
              * platform/graphics/haiku/GraphicsContextHaiku.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::clip):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::addInnerRoundedRectClip):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformShadow):
              * platform/graphics/skia/GraphicsContextSkia.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::setPlatformShadow):
              * platform/graphics/win/GraphicsContextCGWin.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              * platform/graphics/win/GraphicsContextCairoWin.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              * platform/graphics/wince/GraphicsContextWinCE.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::fillRect):
              * platform/graphics/wx/GraphicsContextWx.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a046e9c6
    • commit-queue@webkit.org's avatar
      2010-12-08 Dai Mikurube <dmikurube@google.com> · d7016a87
      commit-queue@webkit.org authored
              Reviewed by Kent Tamura.
      
              Implement "required" attribute for select tags
              https://bugs.webkit.org/show_bug.cgi?id=50380
      
              Added tests for require attributes, valueMissing and vadility check for select elements.
      
              * fast/forms/ValidityState-valueMissing-001-expected.txt:
              * fast/forms/ValidityState-valueMissing-001.html:
              * fast/forms/ValidityState-valueMissing-002-expected.txt:
              * fast/forms/ValidityState-valueMissing-002.html:
              * fast/forms/ValidityState-valueMissing-003-expected.txt:
              * fast/forms/ValidityState-valueMissing-003.html:
              * fast/forms/checkValidity-002-expected.txt:
              * fast/forms/checkValidity-002.html:
              * fast/forms/required-attribute-001-expected.txt:
              * fast/forms/required-attribute-001.html:
              * fast/forms/required-attribute-002-expected.txt:
              * fast/forms/required-attribute-002.html:
              * fast/forms/resources/select-live-pseudo-selectors.js: Added.
              (makeInvalid):
              (appendOption):
              (backgroundOf):
              * fast/forms/script-tests/validationMessage.js:
              * fast/forms/select-live-pseudo-selectors-expected.txt: Added.
              * fast/forms/select-live-pseudo-selectors.html: Added.
              * fast/forms/validationMessage-expected.txt:
              * platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html: Added.
              * platform/mac/fast/objc/dom-html-select-live-pseudo-selectors-expected.txt: Added.
      2010-12-08  Dai Mikurube  <dmikurube@google.com>
      
              Reviewed by Kent Tamura.
      
              Implement "required" attribute for select tags
              https://bugs.webkit.org/show_bug.cgi?id=50380
      
              Test: fast/forms/select-live-pseudo-selectors.html
                    platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
      
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
              (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
              (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
              (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
              (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
              (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
              (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
              * html/HTMLSelectElement.h:
              (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
              * html/HTMLSelectElement.idl: Added a required attribute to select elements..
              * html/ValidityState.cpp:
              (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7016a87
    • reni@webkit.org's avatar
      2010-12-08 Renata Hodovan <reni@webkit.org> · 0a15b59f
      reni@webkit.org authored
              Reviewed by Andreas Kling.
      
              GraphicsContext: Merge m_common and m_data
              https://bugs.webkit.org/show_bug.cgi?id=49914
      
              Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
              and m_common became unnecessary. They are removed.
              Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
              make the constructor of GraphicsContext clearer.
              Besides add a getter to the private GraphicsContext::m_state member, because some inline
              functions in cairo need it.
      
              No new test is needed, because this is a refactoring.
      
              * WebCore.xcodeproj/project.pbxproj:
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
              (WebCore::GraphicsContext::save):
              (WebCore::GraphicsContext::restore):
              (WebCore::GraphicsContext::setStrokeThickness):
              (WebCore::GraphicsContext::setStrokeStyle):
              (WebCore::GraphicsContext::setStrokeColor):
              (WebCore::GraphicsContext::setShadow):
              (WebCore::GraphicsContext::clearShadow):
              (WebCore::GraphicsContext::getShadow):
              (WebCore::GraphicsContext::strokeThickness):
              (WebCore::GraphicsContext::strokeStyle):
              (WebCore::GraphicsContext::strokeColor):
              (WebCore::GraphicsContext::strokeColorSpace):
              (WebCore::GraphicsContext::fillRule):
              (WebCore::GraphicsContext::setFillRule):
              (WebCore::GraphicsContext::setFillColor):
              (WebCore::GraphicsContext::fillColor):
              (WebCore::GraphicsContext::fillColorSpace):
              (WebCore::GraphicsContext::setShouldAntialias):
              (WebCore::GraphicsContext::shouldAntialias):
              (WebCore::GraphicsContext::state):
              (WebCore::GraphicsContext::setStrokePattern):
              (WebCore::GraphicsContext::setFillPattern):
              (WebCore::GraphicsContext::setStrokeGradient):
              (WebCore::GraphicsContext::setFillGradient):
              (WebCore::GraphicsContext::fillGradient):
              (WebCore::GraphicsContext::strokeGradient):
              (WebCore::GraphicsContext::fillPattern):
              (WebCore::GraphicsContext::strokePattern):
              (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
              (WebCore::GraphicsContext::updatingControlTints):
              (WebCore::GraphicsContext::setUpdatingControlTints):
              (WebCore::GraphicsContext::setPaintingDisabled):
              (WebCore::GraphicsContext::paintingDisabled):
              (WebCore::GraphicsContext::textDrawingMode):
              (WebCore::GraphicsContext::setTextDrawingMode):
              * platform/graphics/GraphicsContext.h:
              (WebCore::GraphicsContextState::GraphicsContextState):
              * platform/graphics/GraphicsContextPrivate.h: Removed.
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::setPlatformFill):
              (WebCore::setPlatformStroke):
              (WebCore::drawPathShadow):
              (WebCore::fillCurrentCairoPath):
              (WebCore::strokeCurrentCairoPath):
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformShadow):
              (WebCore::GraphicsContext::strokeRect):
              (WebCore::GraphicsContext::setAlpha):
              (WebCore::GraphicsContext::getAlpha):
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              (WebCore::GraphicsContext::applyStrokePattern):
              (WebCore::GraphicsContext::applyFillPattern):
              (WebCore::GraphicsContext::drawPath):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformShadow):
              (WebCore::GraphicsContext::strokeRect):
              * platform/graphics/haiku/GraphicsContextHaiku.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::clip):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::addInnerRoundedRectClip):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::strokePath):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::GraphicsContext::setPlatformShadow):
              * platform/graphics/skia/GraphicsContextSkia.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::setPlatformShadow):
              * platform/graphics/win/GraphicsContextCGWin.cpp:
              (WebCore::GraphicsContext::platformInit):
              * platform/graphics/win/GraphicsContextCairoWin.cpp:
              (WebCore::GraphicsContext::platformInit):
              * platform/graphics/wince/GraphicsContextWinCE.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
              (WebCore::GraphicsContext::fillPath):
              (WebCore::GraphicsContext::fillRect):
              * platform/graphics/wx/GraphicsContextWx.cpp:
              (WebCore::GraphicsContext::platformInit):
              (WebCore::GraphicsContext::platformDestroy):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a15b59f
  2. 07 Dec, 2010 21 commits
    • antonm@chromium.org's avatar
      2010-12-07 Anton Muhin <antonm@chromium.org> · 9765f57d
      antonm@chromium.org authored
              Reviewed by Nate Chapin.
      
              Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
              https://bugs.webkit.org/show_bug.cgi?id=50246
      
              * bindings/v8/V8DOMMap.h:
              (WebCore::AbstractWeakReferenceMap::Visitor::startMap):
              (WebCore::AbstractWeakReferenceMap::Visitor::endMap):
              (WebCore::WeakReferenceMap::visit):
              * bindings/v8/V8GCController.cpp:
              (WebCore::GrouperItem::GrouperItem):
              (WebCore::GrouperItem::groupId):
              (WebCore::makeV8ObjectGroups):
              (WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
              (WebCore::NodeGrouperVisitor::visitDOMWrapper):
              (WebCore::NodeGrouperVisitor::applyGrouping):
              (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
              (WebCore::DOMObjectGrouperVisitor::startMap):
              (WebCore::DOMObjectGrouperVisitor::endMap):
              (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
              (WebCore::V8GCController::gcPrologue):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9765f57d
    • dbates@webkit.org's avatar
      2010-12-07 Daniel Bates <dbates@rim.com> · 9473601e
      dbates@webkit.org authored
              Reviewed by Martin Robinson.
      
              Implement focus ring support for image maps
              https://bugs.webkit.org/show_bug.cgi?id=50371
      
              Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
              drawing a focus ring for image maps.
      
              Tests: fast/images/imagemap-circle-focus-ring.html
                     fast/images/imagemap-polygon-focus-ring.html
      
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::adjustFocusRingColor): Added.
              (WebCore::adjustFocusRingLineWidth): Added.
              (WebCore::focusRingStrokeStyle): Added.
              (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
              line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
              and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).
      2010-12-07  Daniel Bates  <dbates@rim.com>
      
              Reviewed by Martin Robinson.
      
              Implement focus ring support for image maps
              https://bugs.webkit.org/show_bug.cgi?id=50371
      
              Tests to ensure that we support drawing a focus ring for an image map.
              In particular, that the GTK port can draw a focus ring for an image map.
      
              * fast/images/imagemap-circle-focus-ring.html: Added.
              * fast/images/imagemap-polygon-focus-ring.html: Added.
              * platform/gtk/fast/images/imagemap-circle-focus-ring-expected.checksum: Added.
              * platform/gtk/fast/images/imagemap-circle-focus-ring-expected.png: Added.
              * platform/gtk/fast/images/imagemap-circle-focus-ring-expected.txt: Added.
              * platform/gtk/fast/images/imagemap-focus-ring-expected.checksum: Rebase result since we 
              now support drawing a focus ring for imagemaps.
              * platform/gtk/fast/images/imagemap-focus-ring-expected.png: Ditto.
              * platform/gtk/fast/images/imagemap-focus-ring-outline-color-expected.checksum: Added.
              * platform/gtk/fast/images/imagemap-focus-ring-outline-color-expected.png: Added.
              * platform/gtk/fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.checksum: Added.
              * platform/gtk/fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png: Added.
              * platform/gtk/fast/images/imagemap-focus-ring-zoom-expected.checksum: Added.
              * platform/gtk/fast/images/imagemap-focus-ring-zoom-expected.png: Added.
              * platform/gtk/fast/images/imagemap-polygon-focus-ring-expected.checksum: Added.
              * platform/gtk/fast/images/imagemap-polygon-focus-ring-expected.png: Added.
              * platform/gtk/fast/images/imagemap-polygon-focus-ring-expected.txt: Added.
              * platform/mac/fast/images/imagemap-circle-focus-ring-expected.checksum: Added.
              * platform/mac/fast/images/imagemap-circle-focus-ring-expected.png: Added.
              * platform/mac/fast/images/imagemap-circle-focus-ring-expected.txt: Added.
              * platform/mac/fast/images/imagemap-polygon-focus-ring-expected.checksum: Added.
              * platform/mac/fast/images/imagemap-polygon-focus-ring-expected.png: Added.
              * platform/mac/fast/images/imagemap-polygon-focus-ring-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9473601e
    • commit-queue@webkit.org's avatar
      2010-12-07 Sergio Villar Senin <svillar@igalia.com> · 05ae293e
      commit-queue@webkit.org authored
              Reviewed by Xan Lopez.
      
              [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
              https://bugs.webkit.org/show_bug.cgi?id=50577
      
              Try to download cached resources again if they are no longer
              accesible by the cache.
      
              * platform/network/soup/cache/soup-request-http.c:
              (send_async_cb):
              (webkit_soup_request_http_send_async):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05ae293e
    • morrita@google.com's avatar
      2010-12-05 MORITA Hajime <morrita@google.com> · b172c47a
      morrita@google.com authored
              Reviewed by Dimitri Glazkov.
      
              - Added a test case
              - Updated expectations to follow the change on the shadow structure.
      
              RenderIndicator subclasses should not change the render tree during layout.
              https://bugs.webkit.org/show_bug.cgi?id=50026
      
              * fast/dom/HTMLMeterElement/meter-element-crash-expected.txt: Added.
              * fast/dom/HTMLMeterElement/meter-element-crash.html: Added.
              * platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
              * platform/mac/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
              * platform/mac/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
              * platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.txt:
              * platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
              * platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
              * platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
      2010-12-06  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              RenderIndicator subclasses should not change the render tree during layout.
              https://bugs.webkit.org/show_bug.cgi?id=50026
      
              The old code created shadow elements during a layout computation,
              that makes the layout state inconsisntent and cause an assertion failure.
              This change created shadow elements before the layout to avoid
              state inconsistencies.
      
              Instead of creating shadows on demand, RenderMeter and
              RenderProgress now create all necessary shadows before layouts,
              and change its visibilities during the layout: Changing
              visibilities doesn't trigger relayout and keep the state
              consistent.
      
              RenderMeter uses new HidablePartElement for shadow elements,
              which can toggle visibiliby between hidden and original value.
      
              Test: fast/dom/HTMLMeterElement/meter-element-crash.html
      
              * html/HTMLMeterElement.cpp:
              (WebCore::HTMLMeterElement::attach): Calling updateFromElement()
              * html/HTMLMeterElement.h:
              * html/HTMLProgressElement.cpp:
              (WebCore::HTMLProgressElement::attach): Calling updateFromElement()
              * html/HTMLProgressElement.h:
              * rendering/RenderIndicator.cpp:
              * rendering/RenderIndicator.h:
              * rendering/RenderMeter.cpp:
              (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
              (WebCore::MeterPartElement::createForPart):
              (WebCore::MeterPartElement::hide):
              (WebCore::MeterPartElement::restoreVisibility):
              (WebCore::MeterPartElement::updateStyleForPart):
              (WebCore::MeterPartElement::saveVisibility):
              (WebCore::RenderMeter::~RenderMeter):
              (WebCore::RenderMeter::createPart): Extracted
              (WebCore::RenderMeter::updateFromElement): Had a shadow generation.
              (WebCore::RenderMeter::layoutParts): Removed shadow generation code.
              (WebCore::RenderMeter::shouldHaveParts):
              (WebCore::RenderMeter::valuePartRect): Adopted orientation.
              (WebCore::RenderMeter::orientation): Morphed from isHorizontal()
              (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
              (WebCore::RenderMeter::barPseudoId): Adopted orientation.
              * rendering/RenderMeter.h:
              (WebCore::RenderMeter::shadowAttached):
              * rendering/RenderProgress.cpp:
              (WebCore::RenderProgress::updateFromElement): Had a shadow generation.
              (WebCore::RenderProgress::layoutParts):
              * rendering/RenderProgress.h:
              * rendering/ShadowElement.cpp:
              (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
              (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
              * rendering/ShadowElement.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b172c47a
    • mihaip@chromium.org's avatar
      2010-11-29 Mihai Parparita <mihaip@chromium.org> · e5dbd375
      mihaip@chromium.org authored
              Reviewed by Adam Barth.
      
              returning to a POST result within a frame does a GET instead of a POST
              https://bugs.webkit.org/show_bug.cgi?id=10199
      
              Re-enable postredirect-frames-goback1.html and post-frames-goback1.html
              now that the big that made them be checked in disabled was fixed.
      
              The tests were also re-written to not be pixel tests, since that just
              adds extra per-platform baseline pain.
      
              Add fast/history/history-back-initial-vs-final-url.html since there did
              not appear to be any tests for whether we used the initial or final URL
              of a frame's history item (and this patch changes it from the former to
              the latter).
      
              * fast/history/history-back-initial-vs-final-url-expected.txt: Added.
              * fast/history/history-back-initial-vs-final-url.html: Added.
              * fast/history/resources/frame-final-url.html: Added.
              * fast/history/resources/frame-initial-url.html: Added.
              * http/tests/navigation/post-frames-goback1-expected.txt: Added.
              * http/tests/navigation/post-frames-goback1.html: Added.
              * http/tests/navigation/post-frames-goback1.html-disabled: Removed.
              * http/tests/navigation/post-frames.html:
              * http/tests/navigation/postredirect-frames-goback1-expected.txt: Added.
              * http/tests/navigation/postredirect-frames-goback1.html: Added.
              * http/tests/navigation/postredirect-frames-goback1.html-disabled: Removed.
              * http/tests/navigation/resources/form-target.pl:
              * http/tests/navigation/resources/redirect-to-go-back.pl: Added.
              * http/tests/navigation/resources/top-go-back.html: Added.
      2010-11-29  Mihai Parparita  <mihaip@chromium.org>
      
              Reviewed by Adam Barth.
      
              returning to a POST result within a frame does a GET instead of a POST
              https://bugs.webkit.org/show_bug.cgi?id=10199
      
              FrameLoader::loadURLIntoChildFrame had a check for whether a frame
              had a HistoryItem, and if so used that item's URL. However, that did
              not handle the case where the HistoryItem had FormData and thus was the
              result of a POST request. FrameLoader::navigateToDifferentDocument (now
              renamed to loadDifferentDocumentItem) does all that, so just switch to
              using it instead.
      
              Besides the bug fix, the only difference in behavior is that we use the
              HistoryItem's URL instead of original URL when restoring it in a child
              frame. This seems desirable too (for consistency with other browsers, and
              so that we can avoid form double-submits for forms that that do
              POST-then-redirect), and is tested by
              fast/history/history-back-initial-vs-final-url.html.
      
              Tests: fast/history/history-back-initial-vs-final-url.html
                     http/tests/navigation/post-frames-goback1.html
                     http/tests/navigation/postredirect-frames-goback1.html
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
                  loadDifferentDocumentItem. Also cleaned up ordering slightly (if
                  on the archive path, there's no need to do any of the other checks).
              (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
                  navigateToDifferentDocument so that calling it from loadItem and
                  loadURLIntoChildFrame flows more easily.
              (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
                  navigateWithinDocument.
              (WebCore::FrameLoader::loadItem): Update callsites to the above methods.
              * loader/FrameLoader.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5dbd375
    • mrowe@apple.com's avatar
      9382dbff
    • mitz@apple.com's avatar
      WebCore: Made tables repaint correctly in all writing modes · 20e5bec8
      mitz@apple.com authored
      Part of: Make tables work with vertical text
      https://bugs.webkit.org/show_bug.cgi?id=46417
      
      Reviewed by Darin Adler.
      
      Tests: fast/repaint/table-writing-modes-h.html
             fast/repaint/table-writing-modes-v.html
      
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
      columns to repaint based on the logical extent of the repaint rect.
      
      LayoutTests: Test that tables repaint correctly in all writing modes
      Part of: Make tables work with vertical text
      https://bugs.webkit.org/show_bug.cgi?id=46417
      
      Reviewed by Darin Adler.
      
      * fast/repaint/table-writing-modes-h-expected.checksum: Added.
      * fast/repaint/table-writing-modes-h-expected.png: Added.
      * fast/repaint/table-writing-modes-h-expected.txt: Added.
      * fast/repaint/table-writing-modes-h.html: Added.
      * fast/repaint/table-writing-modes-v-expected.checksum: Added.
      * fast/repaint/table-writing-modes-v-expected.png: Added.
      * fast/repaint/table-writing-modes-v-expected.txt: Added.
      * fast/repaint/table-writing-modes-v.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20e5bec8
    • cmarrin@apple.com's avatar
      2010-12-07 Chris Marrin <cmarrin@apple.com> · 0d2c4e65
      cmarrin@apple.com authored
              Unreviewed.
      
              Fix build problem from http://trac.webkit.org/changeset/73477
      
              * platform/graphics/transforms/TransformationMatrix.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d2c4e65
    • jamesr@google.com's avatar
      2010-12-07 Alexey Marinichev <amarinichev@chromium.org> · c01f482d
      jamesr@google.com authored
              Reviewed by James Robinson.
      
              [chromium] compositor lost context recovery fix
              https://bugs.webkit.org/show_bug.cgi?id=50614
      
              To test, load a page that triggers the compositor, kill the GPU
              process and hover over a link to redraw and thus restart the GPU
              process.  Without this patch it will assert in
              ContentLayerChromium::updateTextureRect; with this patch it will not.
      
              * platform/graphics/chromium/LayerChromium.cpp:
              (WebCore::LayerChromium::setNeedsDisplay):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c01f482d
    • cmarrin@apple.com's avatar
      2010-12-07 Chris Marrin <cmarrin@apple.com> · 8a97f941
      cmarrin@apple.com authored
              Reviewed by Simon Fraser.
      
              Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
              https://bugs.webkit.org/show_bug.cgi?id=49388
      
              Added copy constructors and casting operators to go between 
              TransformationMatrix and CATransform3D. Also added a copy
              constructor to go from CGAffineTransform to TransformationMatrix.
              Used these new methods to clean up platform CA code. This will
              make it easier to port to Windows.
      
              I also fixed a couple of build issues found when trying out a 
              Windows build.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a97f941
    • andersca@apple.com's avatar
      Fix the last clang++ build error. · 46161d08
      andersca@apple.com authored
      * platform/graphics/ca/mac/PlatformCALayerMac.mm:
      (PlatformCALayer::animationForKey):
      Cast the returned animation to the correct type.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46161d08
    • andersca@apple.com's avatar
      Fix some clang++ build errors. · 93612678
      andersca@apple.com authored
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
      Remove unused variable.
      
      * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
      * platform/graphics/ca/mac/PlatformCALayerMac.mm:
      Fix constness of pointers.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93612678
    • simon.fraser@apple.com's avatar
      2010-12-07 Simon Fraser <simon.fraser@apple.com> · 41c70dd0
      simon.fraser@apple.com authored
              Reviewed by Chris Marrin.
      
              Fix the Color -> CGColorRef conversions for the debug colors
              used for compositing layers.
      
              * platform/graphics/ca/mac/PlatformCALayerMac.mm:
              (PlatformCALayer::setBackgroundColor):
              (PlatformCALayer::setBorderColor):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41c70dd0
    • bweinstein@apple.com's avatar
      Part of Layering Violation in ContextMenu · 60350d69
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50586
              
      Reviewed by John Sullivan.
      
      WebCore: 
      
      ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
      a ContextMenuItem, and calling through to the ContextMenuController to validate it
      and call a function when it was selected.
              
      It was a layering violation to have this class here, because ContextMenu can't know
      about ContextMenuController.
              
      This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
      and sets up the menu targets there.
      
      No change in behavior, no new tests.
      
      * WebCore.exp.in: Added function that needs to be exported.
      * platform/mac/ContextMenuMac.mm:
      (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
      (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
      (WebCore::ContextMenu::insertItem): Ditto.
      
      WebKit/mac: 
      
      Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac
      was a layering violation. Also, make sure we set the menu item targets for all menu
      items before showing them, because the ContextMenu constructor doesn't do that anymore.
      
      * WebView/WebHTMLView.mm:
      (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm.
      (-[WebMenuTarget WebCore::]): Ditto.
      (-[WebMenuTarget setMenuController:WebCore::]): Ditto.
      (-[WebMenuTarget forwardContextMenuAction:]): Ditto.
      (-[WebMenuTarget validateMenuItem:]): Ditto.
      
      (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget.
      (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including
          submenus), and calls setMenuItemTarget on them.
      (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding
          them to the menu.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60350d69
    • simon.fraser@apple.com's avatar
      2010-12-07 Simon Fraser <simon.fraser@apple.com> · bf1fd74c
      simon.fraser@apple.com authored
              Reviewed by Dan Bernstein.
      
              -webkit-transition Fails on Multiple text-shadow Shadows
              https://bugs.webkit.org/show_bug.cgi?id=42281
      
              When transitioning multiple shadows, the blend function for
              ShadowData dropped all but the first and last shadow because
              of a failure to append to the end of the list. Fixed.
      
              Test: transitions/multiple-text-shadow-transition.html
      
              * page/animation/AnimationBase.cpp:
              (WebCore::PropertyWrapperShadow::blend):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf1fd74c
    • simon.fraser@apple.com's avatar
      2010-12-07 Simon Fraser <simon.fraser@apple.com> · 84979340
      simon.fraser@apple.com authored
              Reviewed by Beth Dakin.
      
              CSS animation doesn't work for border-radius
              https://bugs.webkit.org/show_bug.cgi?id=48340
      
              Include CSSPropertyBorderRadius in the list of shorthand
              properties, so that the individual border-radius properties
              get animated.
      
              Test: transitions/border-radius-transition.html
      
              * page/animation/AnimationBase.cpp:
              (WebCore::addShorthandProperties):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      84979340
    • mjs@apple.com's avatar
      2010-12-07 Maciej Stachowiak <mjs@apple.com> · af4a5b06
      mjs@apple.com authored
              Reviewed by Kent Tamura.
      
              Implement HTML5 hidden attribute
              https://bugs.webkit.org/show_bug.cgi?id=40511
      
              * fast/forms/caret-rtl.html: Fixed a non-closed comment which added an "hidden" attribute.
              * fast/html/hidden-attr-expected.txt: Added.
              * fast/html/hidden-attr.html: Added. Test static and dynamic cases of hidden attribute.
      2010-12-07  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Kent Tamura.
      
              Implement HTML5 hidden attribute
              https://bugs.webkit.org/show_bug.cgi?id=40511
      
              Test: fast/html/hidden-attr.html
      
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
              (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af4a5b06
    • kbr@google.com's avatar
      2010-12-07 Kenneth Russell <kbr@google.com> · c0a4fefe
      kbr@google.com authored
              Reviewed by David Levin.
      
              Fix compilation of core web audio files on Windows
              https://bugs.webkit.org/show_bug.cgi?id=50603
      
              Added log2 definition to MathExtras.h on Windows platform.
      
              * wtf/MathExtras.h:
              (log2):
      2010-12-07  Kenneth Russell  <kbr@google.com>
      
              Reviewed by David Levin.
      
              Fix compilation of core web audio files on Windows
              https://bugs.webkit.org/show_bug.cgi?id=50603
      
              Changed a few constructs using C99 features of math.h to use
              wtf/MathExtras.h instead. Changed inline definitions of a couple of
              const static doubles in classes to out-of-line. Built Chrome with
              web audio enabled on Windows and Mac OS X to test these changes.
      
              No new tests since audio API is not yet implemented.
      
              * WebCore.gypi:
              * platform/audio/AudioResampler.cpp:
              * platform/audio/Biquad.cpp:
              (WebCore::Biquad::setLowpassParams):
              (WebCore::Biquad::setHighpassParams):
              (WebCore::Biquad::setLowShelfParams):
              * platform/audio/Cone.cpp:
              (WebCore::ConeEffect::gain):
              * platform/audio/EqualPowerPanner.cpp:
              (WebCore::EqualPowerPanner::pan):
              * platform/audio/FFTFrame.cpp:
              (WebCore::FFTFrame::interpolateFrequencyComponents):
              (WebCore::FFTFrame::extractAverageGroupDelay):
              (WebCore::FFTFrame::addConstantGroupDelay):
              * platform/audio/HRTFKernel.cpp:
              * platform/audio/HRTFPanner.cpp:
              * webaudio/AudioBufferSourceNode.cpp:
              (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
              * webaudio/AudioPannerNode.cpp:
              (WebCore::AudioPannerNode::getAzimuthElevation):
              * webaudio/AudioParam.cpp: Added.
              (AudioParam::setValue):
              (AudioParam::smooth):
              * webaudio/AudioParam.h:
              * webaudio/RealtimeAnalyser.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0a4fefe
    • philn@webkit.org's avatar
      2010-11-25 Philippe Normand <pnormand@igalia.com> · 026c9b64
      philn@webkit.org authored
              Reviewed by Martin Robinson.
      
              [GStreamer] faster elements linking
              https://bugs.webkit.org/show_bug.cgi?id=50067
      
              Perform less checks during GStreamer elements linking if building
              against GStreamer >= 0.10.30.
      
              * platform/graphics/gstreamer/GStreamerGWorld.cpp:
              (WebCore::GStreamerGWorld::enterFullscreen):
              * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      026c9b64
    • philn@webkit.org's avatar
      2010-12-07 Philippe Normand <pnormand@igalia.com> · 6b4764ec
      philn@webkit.org authored
              Reviewed by Gustavo Noronha Silva.
      
              [GStreamer] ::buffered() should return multiple ranges in some cases
              https://bugs.webkit.org/show_bug.cgi?id=45101
      
              Improved the ::buffered() method thanks to the new buffering query
              support that landed in GStreamer 0.10.31. The method now
              queries the media buffered-ranges on the pipeline and queue2
              handles it if it's buffering the media to disk.
      
              The webkitwebsrc element also gained BYTES duration query
              support. This is needed in the rare cases where uridecodebin
              configures its queue before the HTTP server returns the media
              Content-Length.
      
              Test: http/tests/media/video-buffered.html
      
              * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
              (WebCore::MediaPlayerPrivateGStreamer::buffered):
              * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
              (webkit_web_src_init):
              (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
              if it's aware of the media content-length.
              * platform/gtk/RenderThemeGtk.cpp:
              (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
              the second and next buffered ranges.
      
      LayoutTests:
      
              Reviewed by Gustavo Noronha Silva.
      
              [GStreamer] ::buffered() should return multiple ranges in some cases
              https://bugs.webkit.org/show_bug.cgi?id=45101
      
              New test for video.buffered attribute. The test is skipped for
              ports not returning multiple timeranges for video.buffered.
      
              * http/tests/media/video-buffered-expected.txt: Added.
              * http/tests/media/video-buffered.html: Added.
              * http/tests/resources/counting-captioned.mov: Added.
              * http/tests/media/video-throttled-load.cgi: added Range
              requests/responses support.
              * platform/chromium/test_expectations.txt:
              * platform/mac-leopard/Skipped:
              * platform/mac-snowleopard/Skipped:
              * platform/mac-tiger/Skipped:
              * platform/mac-wk2/Skipped:
              * platform/mac/Skipped:
              * platform/qt-mac/Skipped:
              * platform/qt-win/Skipped:
              * platform/qt-wk2/Skipped:
              * platform/qt/Skipped:
              * platform/win-wk2/Skipped:
              * platform/win/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b4764ec
    • yael.aharon@nokia.com's avatar
      Spatial navigation not Working for Map and Area Tags · f1b5ab4e
      yael.aharon@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=47142
      
      Reviewed by Antonio Gomes.
      
      WebCore: 
      
      Give area elements special treatment in spatial navigation algorithm by getting the
      rect of the area from the associated image. Since area elements are likely to overlap
      if they are not rects, or if authors are not careful, we flatten the rect of area elements.
      
      Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
             fast/spatial-navigation/snav-imagemap-area-without-image.html
             fast/spatial-navigation/snav-imagemap-overlapped-areas.html
             fast/spatial-navigation/snav-imagemap-simple.html
      
      * page/FocusController.cpp:
      (WebCore::FocusController::findFocusCandidateInContainer):
      (WebCore::FocusController::advanceFocusDirectionallyInContainer):
      (WebCore::FocusController::advanceFocusDirectionally):
      * page/SpatialNavigation.cpp:
      (WebCore::FocusCandidate::FocusCandidate):
      (WebCore::virtualRectForDirection):
      (WebCore::virtualRectForAreaElementAndDirection):
      * page/SpatialNavigation.h:
      (WebCore::FocusCandidate::FocusCandidate):
      
      LayoutTests: 
      
      * fast/spatial-navigation/snav-imagemap-area-not-focusable-expected.txt: Added.
      * fast/spatial-navigation/snav-imagemap-area-not-focusable.html: Added.
      * fast/spatial-navigation/snav-imagemap-area-without-image-expected.txt: Added.
      * fast/spatial-navigation/snav-imagemap-area-without-image.html: Added.
      * fast/spatial-navigation/snav-imagemap-overlapped-areas-expected.txt: Added.
      * fast/spatial-navigation/snav-imagemap-overlapped-areas.html: Added.
      * fast/spatial-navigation/snav-imagemap-simple-expected.txt: Added.
      * fast/spatial-navigation/snav-imagemap-simple.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1b5ab4e