1. 13 Jan, 2011 1 commit
    • enrica@apple.com's avatar
      Source/WebCore: WebKit2: Add support for drag and drop · 9d9813d0
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=52343
      <rdar://problem/7660558>
                     
      Reviewed by Darin Adler.
      
      This patch contains the changes required to support dropping content
      in WebKit on the Mac. The DragData class has been extended to provide
      additional context from the application (keyboard state, modal windows, etc.)
      as well as information of the drag pasteboard being used.
      The support for WebKit as drag source will be added with a separate patch.
      
      * WebCore.exp.in:
      * page/DragController.cpp:
      (WebCore::DragController::dragIsMove): Added DragData parameter.
      (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
      (WebCore::DragController::concludeEditDrag): Same as above.
      * page/DragController.h: Added parameter to isCopyKeyDown.
      * page/mac/DragControllerMac.mm:
      The following methods have been modified to use the information stored
      in the DragData class.
      (WebCore::DragController::isCopyKeyDown):
      (WebCore::DragController::dragOperation):
      * platform/DragData.h:
      (WebCore::DragData::flags):
      * platform/DragData.cpp: Added default flags parameter to the constructor.
      * platform/mac/DragDataMac.mm:
      (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
      (WebCore::DragData::canSmartReplace):
      (WebCore::DragData::containsColor):
      (WebCore::DragData::containsFiles):
      (WebCore::DragData::asFilenames):
      (WebCore::DragData::containsPlainText):
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsCompatibleContent):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      All the following files have been modified to add the DragData
      parameter to isCopyKeyDown. I plan to improve this in the future
      and make isCopyKeyDown not platform specific.
      * page/android/DragControllerAndroid.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/brew/DragControllerBrew.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/chromium/DragControllerChromium.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/efl/DragControllerEfl.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/gtk/DragControllerGtk.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/haiku/DragControllerHaiku.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/mac/DragControllerMac.mm:
      (WebCore::DragController::isCopyKeyDown):
      (WebCore::DragController::dragOperation):
      * page/qt/DragControllerQt.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/win/DragControllerWin.cpp:
      (WebCore::DragController::isCopyKeyDown):
      * page/wx/DragControllerWx.cpp:
      (WebCore::DragController::isCopyKeyDown):
      
      WebKit/mac: WebKit2: Add support for drag and drop
      https://bugs.webkit.org/show_bug.cgi?id=52343
      <rdar://problem/7660558>
              
      Reviewed by Darin Adler.
      
      The DragData class has been extended to provide
      additional context from the application (keyboard state, modal windows, etc.)
      as well as information of the drag pasteboard being used.
      These are the changes to align the behavior for WebKit.
      
      * WebView/WebView.mm:
      (-[WebView applicationFlags:]): Added.
      (-[WebView draggingEntered:]): Added parameter to the DragData constructor.
      (-[WebView draggingUpdated:]): Added parameter to the DragData constructor.
      (-[WebView draggingExited:]): Added parameter to the DragData constructor.
      (-[WebView performDragOperation:]): Added parameter to the DragData constructor.
      
      WebKit2: WebKit2: Add support for drag and drop
      https://bugs.webkit.org/show_bug.cgi?id=52343
      <rdar://problem/7660558>
                     
      Reviewed by Darin Adler.
      
      This patch contains the changes required to support dropping content
      in WebKit on the Mac. The DragData class has been extended to provide
      additional context from the application (keyboard state, modal windows, etc.)
      as well as information of the drag pasteboard being used.
      The support for WebKit as drag source will be added with a separate patch.
      
      * Shared/DragControllerAction.h: Added.
      * UIProcess/API/mac/WKView.mm:
      Added implemention of the methods required to add suport for a drop target.
      To maintain asynchronous communication with the WebProcess, we always return
      the previous calculated value for the drag operation.
      (-[WKView _registerDraggedTypes]):
      (-[WKView initWithFrame:contextRef:pageGroupRef:]):
      (-[WKView applicationFlags:]):
      (-[WKView draggingEntered:]):
      (-[WKView draggingUpdated:]):
      (-[WKView draggingExited:]):
      (-[WKView prepareForDragOperation:]):
      (-[WKView performDragOperation:]):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::performDragControllerAction):
      (WebKit::WebPageProxy::didPerformDragControllerAction):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::dragOperation):
      (WebKit::WebPageProxy::resetDragOperation):
      * UIProcess/WebPageProxy.messages.in:
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/WebCoreSupport/WebDragClient.cpp:
      (WebKit::WebDragClient::willPerformDragDestinationAction):
      (WebKit::WebDragClient::willPerformDragSourceAction):
      (WebKit::WebDragClient::actionMaskForDrag):
      (WebKit::WebDragClient::dragSourceActionMaskForPoint):
      (WebKit::WebDragClient::startDrag):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::performDragControllerAction):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d9813d0
  2. 12 Jan, 2011 2 commits
    • bdakin@apple.com's avatar
      Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 · fd7c5cf6
      bdakin@apple.com authored
      Expose fixed layout through WebKit SPI
      -and corresponding-
      <rdar://problem/8844464>
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      And now with getters!
      * WebCore.exp.in:
      
      WebKit/mac: 
      
      And now with getters!
      * WebView/WebView.mm:
      (-[WebView _useFixedLayout]):
      (-[WebView _fixedLayoutSize]):
      * WebView/WebViewPrivate.h:
      
      WebKit2: 
      
      And now with getters!
      * UIProcess/API/C/WKPage.cpp:
      (WKPageUseFixedLayout):
      (WKPageFixedLayoutSize):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::useFixedLayout):
      (WebKit::WebPageProxy::fixedLayoutSize):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd7c5cf6
    • bdakin@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose · d53573ca
      bdakin@apple.com authored
      fixed layout through WebKit SPI
      -and corresponding-
      <rdar://problem/8844464>
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Export symbols for ScrollView::setUseFixedLayout() and 
      ScrollView::setFixedLayoutSize()
      * WebCore.exp.in:
      
      WebKit/mac: 
      
      * WebView/WebView.mm:
      (-[WebView _setUseFixedLayout:]):
      (-[WebView _setFixedLayoutSize:]):
      * WebView/WebViewPrivate.h:
      
      WebKit2: 
      
      Store useFixedLayout and fixedLayoutSize in the 
      WebPageCreationParameters and the WebPageProxy.
      * Shared/WebPageCreationParameters.cpp:
      (WebKit::WebPageCreationParameters::encode):
      (WebKit::WebPageCreationParameters::decode):
      * Shared/WebPageCreationParameters.h:
      * UIProcess/API/C/WKPage.cpp:
      (WKPageSetUseFixedLayout):
      (WKPageSetFixedLayoutSize):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::setUseFixedLayout):
      (WebKit::WebPageProxy::setFixedLayoutSize):
      (WebKit::WebPageProxy::creationParameters):
      * UIProcess/WebPageProxy.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::setUseFixedLayout):
      (WebKit::WebPage::setFixedLayoutSize):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d53573ca
  3. 11 Jan, 2011 1 commit
    • enrica@apple.com's avatar
      Source/WebCore: Paste and drag and drop use different code paths to interact with the pasteboard. · 964ea218
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=52093
      The change consists in a refactoring of the code to have only one class that
      deals with the pasteboard on Mac.
      
      Reviewed by Alexey Proskuryakov.
      
      No new tests. A test is already available for this
      (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.
      
      * WebCore.exp.in:
      * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
      that is in NSURLExtras.
      (WebCore::EmptyEditorClient::canonicalizeURL):
      (WebCore::EmptyEditorClient::canonicalizeURLString):
      * page/DragController.cpp:
      The following methods have been changed to pass a pointer to the Frame object
      to the DragData class.
      (WebCore::documentFragmentFromDragData):
      (WebCore::DragController::performDrag):
      (WebCore::DragController::dispatchTextInputEventFor):
      (WebCore::DragController::concludeEditDrag):
      * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
      that is in NSURLExtras.
      The following files have been modified to pass the Frame object to the DragData method calls.
      * page/chromium/DragControllerChromium.cpp:
      (WebCore::DragController::dragOperation):
      * page/gtk/DragControllerGtk.cpp:
      (WebCore::DragController::dragOperation):
      * page/mac/DragControllerMac.mm:
      (WebCore::DragController::dragOperation):
      * page/qt/DragControllerQt.cpp:
      (WebCore::DragController::dragOperation):
      * page/win/DragControllerWin.cpp:
      (WebCore::DragController::dragOperation):
      * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
      * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
      The following files were all modified to match the new parameters of the methods listed.
      * platform/android/DragDataAndroid.cpp:
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      * platform/chromium/DragDataChromium.cpp:
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsCompatibleContent):
      (WebCore::DragData::asFragment):
      * platform/gtk/DragDataGtk.cpp:
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsCompatibleContent):
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      * platform/haiku/DragDataHaiku.cpp:
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      * platform/mac/DragDataMac.mm:
      (WebCore::DragData::DragData):
      (WebCore::DragData::asPlainText):
      (WebCore::insertablePasteboardTypes):
      (WebCore::DragData::containsCompatibleContent):
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      * platform/mac/PasteboardMac.mm:
      (WebCore::Pasteboard::getBestURL):
      (WebCore::Pasteboard::asURL):
      * platform/qt/DragDataQt.cpp:
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsCompatibleContent):
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      * platform/win/DragDataWin.cpp:
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsCompatibleContent):
      (WebCore::DragData::asFragment):
      * platform/wince/DragDataWinCE.cpp:
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::asFragment):
      * platform/wx/DragDataWx.cpp:
      (WebCore::DragData::asPlainText):
      (WebCore::DragData::containsURL):
      (WebCore::DragData::asURL):
      (WebCore::DragData::asFragment):
      
      WebKit: Paste and drag and drop use different code paths to interact with the pasteboard.
      https://bugs.webkit.org/show_bug.cgi?id=52093
      The change consists in a refactoring of the code to have only one class that
      deals with the pasteboard on Mac.
      
      Reviewed by Alexey Proskuryakov.
      
      * WebKit.xcodeproj/project.pbxproj: Removed WebPasteboardHelper.mm and WebPasteboardHelper.h.
      
      WebKit/mac: Paste and drag and drop use different code paths to interact with the pasteboard.
      https://bugs.webkit.org/show_bug.cgi?id=52093
      The change consists in a refactoring of the code to have only one class that
      deals with the pasteboard on Mac.
      
      Reviewed by Alexey Proskuryakov.
      
      * WebCoreSupport/WebEditorClient.h:
      * WebCoreSupport/WebEditorClient.mm: Added two methods to provide to WebCore functionality
      exposed by NSURLExtras.
      (WebEditorClient::canonicalizeURL):
      (WebEditorClient::canonicalizeURLString):
      * WebCoreSupport/WebPasteboardHelper.h: Removed.
      * WebCoreSupport/WebPasteboardHelper.mm: Removed.
      * WebView/WebHTMLView.mm: Removed comment.
      * WebView/WebView.mm: The following methods have been changed to use the new DragData
      constructor that doesn't use the WebPasteboardHelper reference.
      (-[WebView draggingEntered:]):
      (-[WebView draggingUpdated:]):
      (-[WebView draggingExited:]):
      (-[WebView performDragOperation:]):
      
      WebKit2: Paste and drag and drop use different code paths to interact with the pasteboard.
      https://bugs.webkit.org/show_bug.cgi?id=52093
      The change consists in a refactoring of the code to have only one class that
      deals with the pasteboard on Mac.
      
      Reviewed by Alexey Proskuryakov.
      
      * WebProcess/WebCoreSupport/WebEditorClient.h:
      * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added two methods to provide to WebCore functionality
      exposed by NSURLExtras.
      (WebKit::WebEditorClient::canonicalizeURL):
      (WebKit::WebEditorClient::canonicalizeURLString):
      
      LayoutTests: Paste and drag and drop use different code paths to interact with the pasteboard.
      https://bugs.webkit.org/show_bug.cgi?id=52093
      
      Reviewed by Alexey Proskuryakov.
      
      New test results added to match the correct behavior.
              
      * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum:
      * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png:
      * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      964ea218
  4. 07 Jan, 2011 2 commits
    • jer.noble@apple.com's avatar
      WebCore: Implement WebKit Full Screen support. · d9d59ff9
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17
      Reviewed by Simon Fraser.
      
      Mark for export all those WebCore functions needed by WebFullscreenController.
      
      * WebCore.exp.in:
      
      WebCore: Implement WebKit Full Screen support.
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17
      Reviewed by Simon Fraser.
      
      screenRect is useful for more than just HTMLMediaElements.  Promote it into
      Element.
      
      * dom/Element.cpp: Moved into Element from HTMLMediaElement.
      * dom/Element.h: Ditto.
      * dom/Node.cpp:
      * html/HTMLMediaElement.cpp: Moved screenRect into Element.
      * html/HTMLMediaElement.h: Ditto.
      * WebCore.exp.in: Modify the exports list to reflect the new symbol name.
      
      WebCore: Implement WebKit Full Screen support.
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17
      Reviewed by Simon Fraser.
      
      The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to
      be rendered outside its original Frame. Because of this, there are a few areas of the
      rendering code which need to be special cased: RenderFullScreen layers should not be clipped
      to the viewport, as they will almost always be rendering outside the viewport area;
      RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as
      the client will likely want to reparent the platformLayer into their own fullscreen platform
      window; the FrameView must update the RenderFullScreen graphics layer tree separately from
      the root layer, as the two trees are disconnected.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::updateCompositingLayers):  Special treatment for fullscreen renderer.
      (WebCore::FrameView::syncCompositingStateRecursive): Ditto.
      (WebCore::FrameView::paintContents): Ditto.
      * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen.
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::contentChanged): Add support for above.
      * rendering/RenderLayerBacking.cpp:
      (WebCore::layerOrAncestorIsFullScreen): New function.
      (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer.
      (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
      (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
      * rendering/RenderLayerCompositor.h:
      
      WebCore: Implement WebKit Full Screen support.
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17
      Reviewed by Simon Fraser.
      
      Implemented non-accelerated fullscreen support.  The Document will now vend a RenderFullScreen object for clients to
      use to relocate the fullscreen element subtree.
      
      * css/CSSStyleSelector.cpp:
      (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen.
      (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
      * dom/Document.cpp:
      (WebCore::Document::Document): Initialize m_fullScreenRenderer.
      (WebCore::Document::detach): Call setFullScreenRenderer(0).
      (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement.
      (WebCore::Document::webkitWillEnterFullScreenForElement):  Detach the fullscreen element to cause
          a new RenderFullScreen renderer to be created with the new fullscreen element.
      (WebCore::Document::webkitDidEnterFullScreenForElement):  Notify clients of a fullscreen change
          here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response
          to webkitfullscreenchange events.
      (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style.
      (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
      (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer.
      (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new
          size; this keeps clients from having to access the renderer's style directly.
      (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto.
      * dom/Document.h:
      (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
      (WebCore::Document::fullScreenRenderer): Accessor.
      * dom/Document.idl:
      * dom/Node.cpp:
      (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen
          object to insert between the fullscreen element and its parent.
      * page/ChromeClient.h:
      (WebCore::ChromeClient::fullScreenRendererChanged): Added.
      * rendering/MediaControlElements.cpp:
      (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen.
      
      WebCore: Implement WebKit Full Screen support.
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17
      Reviewed by Simon Fraser.
      
      This patch introduces a new RenderObject type: RenderFullScreen.  The RenderFullScreen renderer
      will be used to implement new FullScreen APIs.  Because the RenderFullScreen object will be the
      parent of the current fullscreen element, the style rules for fullscreen objects must change to
      match.
      
      * WebCore.xcodeproj/project.pbxproj:
      * rendering/RenderFullScreen.cpp: Added.
      (RenderFullScreen::setAnimating): Sets the m_isAnimating flag.
      (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye
          for RenderFullScreen objects.
      * rendering/RenderFullScreen.h: Added.
      (WebCore::RenderFullScreen::isRenderFullScreen): Added.  Overrides the RenderObject version.
      * rendering/RenderObject.h:
      (WebCore::RenderObject::isRenderFullScreen): Added.  Used for type-checking RenderFullScreen objects.
      * css/fullscreen.css:  Modified the contained fullscreen styles.
      
      WebKit/mac: Implement WebKit Full Screen support.
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05
      Reviewed by Simon Fraser.
      
      Support the new fullscreen Chrome client requests.  WebView will pass
      through these requests to a WebFullscreenController.
      
      * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged().
      * WebView/WebView.mm:
      (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled.
      (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController.
      (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen.
      (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed.
      * WebView/WebViewData.h: Add ivar newFullscreenController.
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05
      Reviewed by Simon Fraser.
      
      This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new
      Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen
      window, and a custom CAAnimation animates that layer between the initial screen rect of the
      full screen element, to its final value. WebFullscreenController will swap the WebView out of
      its original window, and into the fullscreen window. The controller will replace the WebView
      with a placeholder view, so that if the placeholder moves or resized while the WebView is
      absent, the WebView will move back to the correct location when exiting fullscreen.
      
      * WebView/WebFullscreenController.h: Added.
      * WebView/WebFullscreenController.mm: Added.
      (-[WebFullscreenController windowDidExitFullscreen:]):  Close the fullscreen window.
      (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window.
      (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate.
      (-[WebFullscreenController applicationDidResignActive:]):
      (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match
          the new screen parameters.
      (-[WebFullscreenController enterFullscreen:]):  Set up the animation that will take the fullscreen element
          from its original screen rect into fullscreen.
      (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window.
          Set up the animation that will take the fullscreen element back into its original screen
          rect.
      (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine
          whether to disable screensaver and sleep.
      (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element
          looking for HTMLVideoElements; returns whether any are found to be playing.
      (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control
          and shift keys.
      (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key.
      (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key.
      (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen.
      (-[WebFullscreenWindow rendererLayer]): Convenience accessor.
      (-[WebFullscreenWindow setRendererLayer:]): Ditto.
      (-[WebFullscreenWindow backgroundLayer]): Ditto.
      (-[WebFullscreenWindow animationView]): Ditto.
      (MediaEventListener::MediaEventListener): Implements the EventListener protocol.
      (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions.
      
      LayoutTests: Implement WebKit Full Screen support.
      https://bugs.webkit.org/show_bug.cgi?id=49481
      rdar://problem/8247444
      
      Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05
      Reviewed by Simon Fraser.
      
      Update the tests with new API names and spec values.
      
      * fullscreen/full-screen-api-expected.txt:
      * fullscreen/full-screen-api.html:
      * fullscreen/full-screen-css.html:
      * fullscreen/full-screen-request-expected.txt:
      * fullscreen/full-screen-request.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9d59ff9
    • jamesr@google.com's avatar
      2011-01-07 James Robinson <jamesr@chromium.org> · f894f68c
      jamesr@google.com authored
              Revert "Implement mozilla's animationTime property"
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              This approach isn't quite right.
      
              * animations/animation-time-expected.txt: Removed.
              * animations/animation-time.html: Removed.
              * animations/script-tests/animation-time.js: Removed.
              * fast/dom/Window/window-properties-expected.txt:
              * fast/dom/Window/window-property-descriptors-expected.txt:
              * platform/gtk/fast/dom/Window/window-properties-expected.txt:
              * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
              * platform/qt/fast/dom/Window/window-properties-expected.txt:
              * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
              * platform/win/fast/dom/Window/window-property-descriptors-expected.txt:
      2011-01-07  James Robinson  <jamesr@chromium.org>
      
              Revert "Implement mozilla's animationTime property"
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              This approach isn't quite right.
      
              * DumpRenderTree/chromium/WebViewHost.cpp:
              (WebViewHost::paintInvalidatedRegion):
      2011-01-07  James Robinson  <jamesr@chromium.org>
      
              Revert "Implement mozilla's animationTime property"
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              This approach isn't quite right.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/DOMWindow.cpp:
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/Page.cpp:
              (WebCore::Page::Page):
              * page/Page.h:
              * page/animation/AnimationController.cpp:
              (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
              * page/animation/AnimationTimeController.cpp: Removed.
              * page/animation/AnimationTimeController.h: Removed.
      2011-01-07  James Robinson  <jamesr@chromium.org>
      
              Revert "Implement mozilla's animationTime property"
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              This approach isn't quite right.
      
              * public/WebWidget.h:
              * src/WebPopupMenuImpl.cpp:
              * src/WebPopupMenuImpl.h:
              * src/WebViewImpl.cpp:
              * src/WebViewImpl.h:
      2011-01-07  James Robinson  <jamesr@chromium.org>
      
              Revert "Implement mozilla's animationTime property"
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              This approach isn't quite right.
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView drawRect:]):
              * WebView/WebView.mm:
              (layerSyncRunLoopObserverCallBack):
      2011-01-07  James Robinson  <jamesr@chromium.org>
      
              Revert "Implement mozilla's animationTime property"
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              This approach isn't quite right.
      
              * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
              (WebKit::ChunkedUpdateDrawingArea::display):
              (WebKit::ChunkedUpdateDrawingArea::setSize):
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::drawRect):
              * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
              (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f894f68c
  5. 06 Jan, 2011 1 commit
    • jamesr@google.com's avatar
      2011-01-06 James Robinson <jamesr@chromium.org> · c0dca2a1
      jamesr@google.com authored
              Reviewed by Simon Fraser.
      
              Implement mozilla's animationTime property
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              Tests for window.webkitAnimationTime.
      
              * animations/animation-time-expected.txt: Added.
              * animations/animation-time.html: Added.
              * animations/script-tests/animation-time.js: Added.
      2011-01-06  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Simon Fraser.
      
              Implement mozilla's animationTime property
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              Chromium DRT support for webkitAnimationTime.
      
              * DumpRenderTree/chromium/WebViewHost.cpp:
              (WebViewHost::paintInvalidatedRegion):
      2011-01-06  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Simon Fraser.
      
              Implement mozilla's animationTime property
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              Implements mozilla's animationTime property as described here:
              https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime
              and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/
              The property is called webkitAnimationTime as calling it the 'Start' time is not very informative.
              This property exposes a notion of a 'current' time to use for declarative animations and allows
              scripts to synchronize imperative animations with declarative ones if they choose to.  Once queried
              this time is saved and used for all declarative animation updates until the embedder paints/composites
              the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example
              if the page is in a background tab).
      
              This patch also ensures that all declarative animations started in the same script execution block
              are synchronized even if some time elapses while script is running.
      
              Test: fast/animation/animation-time.html
      
              * WebCore.gypi:
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::webkitAnimationTime):
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
              * page/Frame.cpp:
              (WebCore::Frame::currentAnimationTime):
              * page/Frame.h:
              * page/Page.cpp:
              (WebCore::Page::Page):
              * page/Page.h:
              (WebCore::Page::animationTime):
              * page/animation/AnimationController.cpp:
              (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
              * page/animation/AnimationTimeController.cpp: Added.
              (WebCore::AnimationTimeController::AnimationTimeController):
              (WebCore::AnimationTimeController::~AnimationTimeController):
              (WebCore::AnimationTimeController::currentAnimationTime):
              (WebCore::AnimationTimeController::clearCurrentAnimationTime):
              (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired):
              * page/animation/AnimationTimeController.h: Added.
              (WebCore::AnimationTimeController::create):
      2011-01-06  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Simon Fraser.
      
              Implement mozilla's animationTime property
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              WebKit API support for webkitAnimationTime.
      
              * public/WebWidget.h:
              * src/WebPopupMenuImpl.cpp:
              (WebKit::WebPopupMenuImpl::clearCurrentAnimationTime):
              * src/WebPopupMenuImpl.h:
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::clearCurrentAnimationTime):
              * src/WebViewImpl.h:
      2011-01-06  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Simon Fraser.
      
              Implement mozilla's animationTime property
              https://bugs.webkit.org/show_bug.cgi?id=51952
      
              Tells the page to clear the current animation time after producing a frame.
      
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::drawRect):
              * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
              (WebKit::ChunkedUpdateDrawingArea::display):
              (WebKit::ChunkedUpdateDrawingArea::setSize):
              * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
              (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0dca2a1
  6. 29 Dec, 2010 1 commit
  7. 13 Dec, 2010 1 commit
    • antti@apple.com's avatar
      WebCore: https://bugs.webkit.org/show_bug.cgi?id=50758 · 6f72f782
      antti@apple.com authored
      <rdar://problem/8722094> 
      Defer loading print stylesheets
              
      Reviewed by Alexey Proskuryakov.
      
      - Make preload scanner skip stylesheets with non-screen media types.
      - Make it possible to specify non-default load priority from the client.
      - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
      - Move default priority code from Loader to CachedResource.
      - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
      - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
      
      Tests: http/tests/local/link-stylesheet-load-order-preload.html
             http/tests/local/link-stylesheet-load-order.html
      
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * css/CSSImageValue.cpp:
      (WebCore::CSSImageValue::cachedImage):
      * html/HTMLLinkElement.cpp:
      (WebCore::HTMLLinkElement::process):
      * html/parser/HTMLPreloadScanner.cpp:
      (WebCore::HTMLNames::PreloadTask::PreloadTask):
      (WebCore::HTMLNames::PreloadTask::processAttributes):
      (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
      (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
      (WebCore::HTMLNames::PreloadTask::preload):
      * loader/DocumentThreadableLoader.cpp:
      (WebCore::DocumentThreadableLoader::loadRequest):
      * loader/ResourceLoadPriority.h: Added.
      * loader/ResourceLoadScheduler.cpp:
      (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
      (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
      (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
      (WebCore::ResourceLoadScheduler::scheduleLoad):
      (WebCore::ResourceLoadScheduler::servePendingRequests):
      (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
      (WebCore::ResourceLoadScheduler::HostInformation::schedule):
      (WebCore::ResourceLoadScheduler::HostInformation::remove):
      (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
      (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
      * loader/ResourceLoadScheduler.h:
      (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
      (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
      (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
      * loader/cache/CachedResource.cpp:
      (WebCore::defaultPriorityForResourceType):
      (WebCore::CachedResource::CachedResource):
      * loader/cache/CachedResource.h:
      (WebCore::CachedResource::loadPriority):
      (WebCore::CachedResource::setLoadPriority):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::requestCSSStyleSheet):
      (WebCore::CachedResourceLoader::requestResource):
      (WebCore::CachedResourceLoader::requestPreload):
      * loader/cache/CachedResourceLoader.h:
      * loader/cache/MemoryCache.cpp:
      (WebCore::MemoryCache::requestResource):
      * loader/cache/MemoryCache.h:
      * loader/loader.cpp:
      (WebCore::Loader::load):
      
      WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=50758
      <rdar://problem/8722094> 
      Defer loading print stylesheets
              
      Reviewed by Alexey Proskuryakov.
      
      Expose SPI for DRT for making resources load serially. This is useful for testing resource load order.
      
      * WebView/WebView.mm:
      (+[WebView _setLoadResourcesSerially:forHost:]):
      * WebView/WebViewPrivate.h:
      
      WebKitTools: Add setSerializeHTTPLoads function to allow testing resource load order on OS X.
      https://bugs.webkit.org/show_bug.cgi?id=50758
      
      Reviewed by Alexey Proskuryakov.
      
      * DumpRenderTree/LayoutTestController.cpp:
      (setSerializeHTTPLoadsCallback):
      (LayoutTestController::staticFunctions):
      * DumpRenderTree/LayoutTestController.h:
      * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
      (LayoutTestController::setSerializeHTTPLoads):
      * DumpRenderTree/mac/DumpRenderTree.mm:
      (resetDefaultsToConsistentValues):
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::setSerializeHTTPLoads):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::setSerializeHTTPLoads):
      
      LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=50758
      <rdar://problem/8722094> 
      Defer loading print stylesheets
              
      Reviewed by Alexey Proskuryakov.
      
      Test load ordering.
      
      * http/tests/local/link-stylesheet-load-order-expected.txt: Added.
      * http/tests/local/link-stylesheet-load-order-preload-expected.txt: Added.
      * http/tests/local/link-stylesheet-load-order-preload.html: Added.
      * http/tests/local/link-stylesheet-load-order.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f72f782
  8. 12 Dec, 2010 1 commit
    • morrita@google.com's avatar
      2010-10-28 MORITA Hajime <morrita@google.com> · 7a18feed
      morrita@google.com authored
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              * editing/spelling/script-tests/spellcheck-paste.js: Added.
              * editing/spelling/spellcheck-paste.html: Added.
              * editing/spelling/spellcheck-paste-expected.txt: Added.
              * platform/chromium/test_expectations.txt:
              * platform/gtk/Skipped:
              * platform/mac-leopard/Skipped:
              * platform/mac-tiger/Skipped:
              * platform/mac-wk2/Skipped:
              * platform/qt/Skipped:
              * platform/win/Skipped:
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              - Introduced SpellChecker class to encapsulate asynchronous spell
                checker state: sequence id, requesting text and target node.
                This is also the first step to decompose spell-check related
                code to a separate class.
              - Added EditorClient::isAsynchronousSpellCheckingEnabled()
                to use async spellcheck API on the platform.
                These APIs are touched by SpellChecker.
              - Used SpellChecker to check a pasted test. Text to check is
                collected from the subtree under the editingRoot.
              - Added Setting::m_asynchronousSpellCheckingEnabled to control
                async spell checking.
      
              Test: editing/spelling/spellcheck-paste.html
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/DocumentMarkerController.cpp:
              (WebCore::DocumentMarkerController::showMarkers):
              (showDocumentMarkers):
              * dom/DocumentMarkerController.h:
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::setOffsetInLeafNode):
              * dom/PositionIterator.h:
              * editing/Editor.cpp:
              (WebCore::Editor::replaceSelectionWithFragment):
              (WebCore::Editor::Editor):
              (WebCore::findFirstMarkable):
              (WebCore::Editor::selectionStartHasSpellingMarkerFor):
              * editing/Editor.h:
              (WebCore::Editor::spellChecker):
              * editing/SpellChecker.cpp: Added.
              (WebCore::SpellChecker::SpellChecker):
              (WebCore::SpellChecker::~SpellChecker):
              (WebCore::SpellChecker::initRequest):
              (WebCore::SpellChecker::clearRequest):
              (WebCore::SpellChecker::isAsynchronousEnabled):
              (WebCore::SpellChecker::canCheckAsynchronously):
              (WebCore::SpellChecker::isBusy):
              (WebCore::SpellChecker::isValid):
              (WebCore::SpellChecker::isCheckable):
              (WebCore::SpellChecker::requestCheckingFor):
              (WebCore::forwardIterator):
              (WebCore::SpellChecker::didCheck):
              * editing/SpellChecker.h: Added.
              (WebCore::SpellCheckingResult::SpellCheckingResult):
              (WebCore::SpellCheckingResult::type):
              (WebCore::SpellCheckingResult::location):
              (WebCore::SpellCheckingResult::length):
              * loader/EmptyClients.h:
              (WebCore::EmptyEditorClient::requestCheckingOfString):
              * page/EditorClient.h:
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              * page/Settings.h:
              (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
              (WebCore::Settings::asynchronousSpellCheckingEnabled):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * src/EditorClientImpl.h:
              (WebKit::EditorClientImpl::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientEfl.h:
              (WebCore::EditorClientEfl::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientGtk.h:
              (WebKit::EditorClient::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientHaiku.h:
              (WebCore::EditorClientHaiku::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added asynchronous spell checking API to WebEditorClient using
              -[NSSpellChecker requestCheckingOfString].
              Note that WebEditorSpellCheckResponder is a small class to receive
              requested spell-checking result. Note that this feature is
              disabled at default.
      
              Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to
              enable the feature from LayoutTestController.
      
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]):
              (-[WebEditorSpellCheckResponder perform]):
              (toCoreSpellingResult):
              (-[WebEditorSpellCheckResponder WTF::WebCore::]):
              (WebEditorClient::requestCheckingOfString):
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebPreferences.mm:
              (+[WebPreferences initialize]):
              (-[WebPreferences setAsynchronousSpellCheckingEnabled:]):
              (-[WebPreferences asynchronousSpellCheckingEnabled]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientQt.h:
              (WebCore::EditorClientQt::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/WebEditorClient.h:
              (WebEditorClient::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebCoreSupport/EditorClientWinCE.h:
              (WebKit::EditorClient::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebKitSupport/EditorClientWx.h:
              (WebCore::EditorClientWx::requestCheckingOfString):
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added a stub implememntation.
      
              * WebProcess/WebCoreSupport/WebEditorClient.cpp:
              (WebKit::WebEditorClient::requestCheckingOfString):
              * WebProcess/WebCoreSupport/WebEditorClient.h:
      2010-10-28  MORITA Hajime  <morrita@google.com>
      
              Reviewed by Ojan Vafai.
      
              spellcheck does not check pasted text
              https://bugs.webkit.org/show_bug.cgi?id=40092
      
              Added LayoutTestController::setAsynchronousSpellCheckingEnabled()
              to control the setting.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (setAsynchronousSpellCheckingEnabledCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.h:
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              (LayoutTestController::LayoutTestController):
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (resetDefaultsToConsistentValues):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
              (LayoutTestController::setAsynchronousSpellCheckingEnabled):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a18feed
  9. 08 Dec, 2010 1 commit
  10. 04 Dec, 2010 1 commit
    • mitz@apple.com's avatar
      2010-12-04 Dan Bernstein <mitz@apple.com> · 1506e874
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
              https://bugs.webkit.org/show_bug.cgi?id=50530
      
              * WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter,
              which is passed through to WebCore.
              * WebView/WebPDFView.mm:
              (isFrameInRange): Added this helper function.
              (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and
              a check if the frame is in the range.
              * WebView/WebView.mm:
              (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version.
              (-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange
              parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:.
              * WebView/WebViewPrivate.h:
      2010-12-04  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Sam Weinig.
      
              WebCore part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
              https://bugs.webkit.org/show_bug.cgi?id=50530
      
              * WebCore.exp.in: Export Range version of countMatchesForText().
              * editing/Editor.cpp:
              (WebCore::isFrameInRange): Added this helper method.
              (WebCore::Editor::countMatchesForText): Added a Range parameter and restricted the result to
              matches that occur in the range.
              * editing/Editor.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1506e874
  11. 29 Nov, 2010 1 commit
    • mitz@apple.com's avatar
      JavaScriptCore: WTF support for <rdar://problem/8650085> adding word-prefix... · 7258a696
      mitz@apple.com authored
      JavaScriptCore: WTF support for <rdar://problem/8650085> adding word-prefix search options to the text search API.
      https://bugs.webkit.org/show_bug.cgi?id=50038
      
      Reviewed by Darin Adler.
      
      * wtf/unicode/UnicodeMacrosFromICU.h: Copied additional macros from icu/unicode/utf16.h.
      
      WebCore: WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
      https://bugs.webkit.org/show_bug.cgi?id=50038
      
      Reviewed by Darin Adler.
      
      Test: editing/text-iterator/findString.html
      
      * GNUmakefile.am: Added FindOptions.h.
      * WebCore.exp.in: Export the new methods that take FindOptions.
      * WebCore.gypi: Added FindOptions.h.
      * WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
      * WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
      * WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
      * editing/Editor.cpp:
      (WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
      (WebCore::Editor::lastVisibleRange): Ditto.
      (WebCore::Editor::nextVisibleRange): Ditto.
      (WebCore::Editor::findString): Ditto.
      (WebCore::Editor::countMatchesForText): Ditto.
      * editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
      countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
      and firstVisibleRange() and lastVisibleRange() to take FindOptions.
      * editing/FindOptions.h: Added.
      * editing/TextIterator.cpp:
      Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
      for determining word boundaries.
      (WebCore::isSeparator): Added. Identifies a class of characters used to determine where
      “words” are embedded in a word.
      (WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
      m_options, m_prefixLength and m_needsMoreContext.
      (WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
      of the buffer.
      (WebCore::SearchBuffer::needsMoreContext): Added.
      (WebCore::SearchBuffer::prependContext): Added.
      (WebCore::SearchBuffer::isWordStartMatch): Added.
      (WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
      only for word prefix matches, maintains enough context before a tentative match when moving
      it to the beginning of the buffer. Reject matches that are not at word starts if requested.
      Adjust m_prefixLength when pushing characters out of the buffer.
      (WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
      if and as long as it requires more of it.
      * editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
      * editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
      * page/Page.cpp:
      (WebCore::Page::findString): Changed to work with FindOptions.
      (WebCore::Page::markAllMatchesForText): Ditto.
      * page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
      * platform/text/TextBoundaries.cpp:
      (WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
      (WebCore::startOfLastWordBoundaryContext): Ditto.
      * platform/text/TextBoundaries.h:
      
      WebKit/mac: WebKit Mac part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
      https://bugs.webkit.org/show_bug.cgi?id=50038
      Based on a patch from Darin Adler.
      
      Reviewed by Darin Adler.
      
      * WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and
      replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based
      method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options:
      method. Made WebHTMLView conform to the new protocol.
      * WebView/WebHTMLView.mm:
      (coreOptions): Added. Converts WebFindOptions to WebCore FindOptions.
      (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use
      -findString:options:.
      (-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
      (-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString().
      * WebView/WebPDFView.mm:
      (-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
      * WebView/WebView.mm:
      (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to
      -countMatchesForText:options:highlight:limit:markMatches.
      (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto.
      (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to
      -findString:options:.
      (incrementFrame): Changed to use WebFindOptions.
      (findString): Added this helper method that performs the search using the best supported
      method for the document view.
      (-[WebView findString:options:]): Changed -searchFor::::: into this.
      (-[WebView canMarkAllTextMatches]):
      (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use
      WebFindOptions.
      (-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame.
      (-[WebView rectsForTextMatches]): Ditto.
      * WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version
      of countMatchesForText:.
      
      WebKit2: WebKit2 part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
      https://bugs.webkit.org/show_bug.cgi?id=50038
      Based on a patch from Darin Adler.
      
      Reviewed by Darin Adler.
      
      * Shared/WebFindOptions.h: Renamed FindOptions.h to this to account for WebCore’s new private
      FindOptions.h. Added and reordered FindOptions and rolled FindDirection into FindOptions.
      * UIProcess/API/C/WKAPICast.h: Removed toFindDirection().
      (WebKit::toFindOptions): Updated for new values.
      * UIProcess/API/C/WKPage.cpp:
      (WKPageFindString): Removed separate WKFindDirection.
      (WKPageCountStringMatches): Replaces caseInsensitive boolean with WKFindOptions.
      * UIProcess/API/C/WKPage.h: Removed WKFindDirection and updated WKFindOptions.
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::findString): Removed separate FindDirection.
      (WebKit::WebPageProxy::countStringMatches): Replaced caseInsensitive boolean with FindOptions.
      * UIProcess/WebPageProxy.h:
      * WebKit2.xcodeproj/project.pbxproj: Updated for the header rename.
      * WebProcess/WebPage/FindController.cpp:
      (WebKit::core): Added. Converts WebKit2 FindOptions to WebCore FindOptions.
      (WebKit::FindController::countStringMatches): Changed to use FindOptions.
      (WebKit::FindController::findString): Ditto.
      * WebProcess/WebPage/FindController.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::findString): Ditto.
      (WebKit::WebPage::countStringMatches): Ditto.
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in: Ditto.
      
      WebKitTools: DumpRenderTree changes for testing the text search API.
      https://bugs.webkit.org/show_bug.cgi?id=50038
      
      Reviewed by Darin Adler.
      
      * DumpRenderTree/LayoutTestController.cpp:
      (findStringCallback):
      (LayoutTestController::staticFunctions):
      * DumpRenderTree/LayoutTestController.h:
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::findString):
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController find:]):
      
      LayoutTests: Added text search tests, in particular testing word-prefix search.
      https://bugs.webkit.org/show_bug.cgi?id=50038
      
      Reviewed by Darin Adler.
      
      * editing/text-iterator/findString-expected.txt: Added.
      * editing/text-iterator/findString.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7258a696
  12. 12 Nov, 2010 1 commit
    • commit-queue@webkit.org's avatar
      2010-11-12 John Knottenbelt <jknotten@chromium.org> · bddc1b7d
      commit-queue@webkit.org authored
              Reviewed by Steve Block.
      
              Rename GeolocationControllerClient to GeolocationClient.
              https://bugs.webkit.org/show_bug.cgi?id=49259
      
              No new tests, renaming only.
      
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.order:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
              (WebCore::GeolocationClient::~GeolocationClient):
              * page/GeolocationController.cpp:
              (WebCore::GeolocationController::GeolocationController):
              * page/GeolocationController.h:
              * page/Page.h:
      2010-11-12  John Knottenbelt  <jknotten@chromium.org>
      
              Reviewed by Steve Block.
      
              Rename GeolocationControllerClient to GeolocationClient.
              https://bugs.webkit.org/show_bug.cgi?id=49259
      
              * WebKit.xcodeproj/project.pbxproj:
      2010-11-12  John Knottenbelt  <jknotten@chromium.org>
      
              Reviewed by Steve Block.
      
              Rename GeolocationControllerClient to GeolocationClient.
              https://bugs.webkit.org/show_bug.cgi?id=49259
      
              * WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h.
              (WebGeolocationClient::webView):
              (WebGeolocationClient::setEnableHighAccuracy):
              * WebCoreSupport/WebGeolocationClient.mm: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm.
              (WebGeolocationClient::WebGeolocationClient):
              (WebGeolocationClient::geolocationDestroyed):
              (WebGeolocationClient::startUpdating):
              (WebGeolocationClient::stopUpdating):
              (WebGeolocationClient::lastPosition):
              * WebKit.order:
              * WebView/WebView.mm:
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
      2010-11-12  John Knottenbelt  <jknotten@chromium.org>
      
              Reviewed by Steve Block.
      
              Rename GeolocationControllerClient to GeolocationClient.
              https://bugs.webkit.org/show_bug.cgi?id=49259
      
              * WebCoreSupport/WebGeolocationClient.cpp: Renamed from WebKit/win/WebCoreSupport/WebGeolocationControllerClient.cpp.
              (WebGeolocationClient::WebGeolocationClient):
              (WebGeolocationClient::geolocationDestroyed):
              (WebGeolocationClient::startUpdating):
              (WebGeolocationClient::stopUpdating):
              (WebGeolocationClient::lastPosition):
              * WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h.
              (WebGeolocationClient::setEnableHighAccuracy):
              * WebKit.vcproj/WebKit.vcproj:
              * WebView.cpp:
              (WebView::initWithFrame):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bddc1b7d
  13. 10 Nov, 2010 1 commit
    • bdakin@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 · 8feda75d
      bdakin@apple.com authored
      -[WebView _scaleWebView:] should take and origin and scroll the 
      document
      -and corresponding-
      <rdar://problem/8643921>
      
      Reviewed by Simon Fraser.
      
      WebCore: 
      
      Apply the scale to the origin, and set a new scroll position.
      * page/Frame.cpp:
      (WebCore::Frame::scalePage):
      * page/Frame.h:
      * WebCore.exp.in:
      
      WebKit/mac: 
      
      * WebView/WebView.mm:
      (-[WebView _scaleWebView:atOrigin:]):
      * WebView/WebViewPrivate.h:
      
      WebKit2: 
      
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toImpl):
      * UIProcess/API/C/WKPage.cpp:
      (WKPageScaleWebView):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::scaleWebView):
      * UIProcess/WebPageProxy.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::scaleWebView):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8feda75d
  14. 08 Nov, 2010 1 commit
    • japhet@chromium.org's avatar
      2010-11-08 Nate Chapin <japhet@chromium.org> · 22e5436c
      japhet@chromium.org authored
              Reviewed by Alexey Proskuryakov.
      
              Move connection-per-host counting and request prioritization out
              of Loader and down to the ResourceLoader level.
      
              https://bugs.webkit.org/show_bug.cgi?id=27165
      
              Refactor only, so no new tests.
      
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::suspendPostAttachCallbacks):
              (WebCore::ContainerNode::resumePostAttachCallbacks):
              * loader/DocumentThreadableLoader.cpp:
              (WebCore::DocumentThreadableLoader::loadRequest):
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::loadNow):
              * loader/NetscapePlugInStreamLoader.cpp:
              (WebCore::NetscapePlugInStreamLoader::create):
              * loader/NetscapePlugInStreamLoader.h:
              * loader/ResourceLoadScheduler.cpp: Added.
              (WebCore::ResourceLoadScheduler::hostForURL):
              (WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
              (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
              (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
              (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
              (WebCore::ResourceLoadScheduler::addMainResourceLoad):
              (WebCore::ResourceLoadScheduler::scheduleLoad):
              (WebCore::ResourceLoadScheduler::remove):
              (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
              (WebCore::ResourceLoadScheduler::servePendingRequests):
              (WebCore::ResourceLoadScheduler::suspendPendingRequests):
              (WebCore::ResourceLoadScheduler::resumePendingRequests):
              (WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
              (WebCore::ResourceLoadScheduler::requestTimerFired):
              (WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
              (WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
              (WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
              (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
              (WebCore::ResourceLoadScheduler::HostInformation::schedule):
              (WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
              (WebCore::ResourceLoadScheduler::HostInformation::remove):
              (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
              * loader/ResourceLoadScheduler.h: Added.
              (WebCore::ResourceLoadScheduler::HostInformation::name):
              (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
              (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
              (WebCore::ResourceLoader::load):
              (WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
              (WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
                  correctly.
              * loader/ResourceLoader.h:
              (WebCore::ResourceLoader::url):
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::startLoading):
              * loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
                  and make Loader the SubresourceLoaderClient instead.
              (WebCore::determinePriority):
              (WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
                  doing it immediately.
              (WebCore::Loader::cancelRequests):
              (WebCore::Loader::didFinishLoading):
              (WebCore::Loader::didFail):
              (WebCore::Loader::didReceiveResponse):
              (WebCore::Loader::didReceiveData):
              (WebCore::Loader::didReceiveCachedMetadata):
              * loader/loader.h:
              * page/EventSource.cpp:
              (WebCore::EventSource::connect):
              (WebCore::EventSource::endRequest):
              * plugins/PluginStream.cpp:
              (WebCore::PluginStream::start):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::XMLHttpRequest):
              (WebCore::XMLHttpRequest::~XMLHttpRequest):
              (WebCore::XMLHttpRequest::createRequest):
              (WebCore::XMLHttpRequest::didFail):
              (WebCore::XMLHttpRequest::didFinishLoading):
              * xml/XMLHttpRequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22e5436c
  15. 07 Nov, 2010 1 commit
    • abarth@webkit.org's avatar
      2010-11-07 Adam Barth <abarth@webkit.org> · 94d2d9fd
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * public/WebCache.h:
              * src/WebCache.cpp:
              (WebKit::ToResourceTypeStat):
              (WebKit::WebCache::setCapacities):
              (WebKit::WebCache::clear):
              (WebKit::WebCache::getUsageStats):
              (WebKit::WebCache::getResourceTypeStats):
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * Api/qwebpage.cpp:
              * Api/qwebsettings.cpp:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * webkit/webkitwebview.cpp:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * WebCache.cpp:
              (WebCache::statistics):
              * WebFrame.cpp:
              * WebView.cpp:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * WebView.cpp:
              (wxWebView::SetCachePolicy):
              * WebView.h:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * Misc/WebCache.mm:
              (+[WebCache statistics]):
              * WebCoreSupport/WebDeviceOrientationClient.mm:
              (WebDeviceOrientationClient::setController):
              * WebView/WebView.mm:
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              So sayeth the diagram.
      
              * Android.mk:
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * css/CSSImageValue.cpp:
              * dom/ContainerNode.cpp:
              * history/PageCache.cpp:
              * inspector/InspectorCSSStore.h:
              * inspector/InspectorResourceAgent.cpp:
              * loader/FrameLoader.cpp:
              * loader/archive/cf/LegacyWebArchive.cpp:
              * loader/cache/Cache.cpp: Removed.
              * loader/cache/Cache.h: Removed.
              * loader/cache/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::allClientsRemoved):
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedFont.h:
              * loader/cache/CachedImage.cpp:
              (WebCore::CachedImage::destroyDecodedData):
              * loader/cache/CachedImage.h:
              * loader/cache/CachedResource.cpp:
              * loader/cache/CachedResource.h:
              * loader/cache/CachedResourceLoader.cpp:
              * loader/cache/CachedResourceLoader.h:
              * loader/cache/CachedScript.cpp:
              (WebCore::CachedScript::destroyDecodedData):
              * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
              (WebCore::cache):
              (WebCore::MemoryCache::MemoryCache):
              (WebCore::MemoryCache::requestResource):
              (WebCore::MemoryCache::requestUserCSSStyleSheet):
              (WebCore::MemoryCache::revalidateResource):
              (WebCore::MemoryCache::revalidationSucceeded):
              (WebCore::MemoryCache::revalidationFailed):
              (WebCore::MemoryCache::resourceForURL):
              (WebCore::MemoryCache::deadCapacity):
              (WebCore::MemoryCache::liveCapacity):
              (WebCore::MemoryCache::pruneLiveResources):
              (WebCore::MemoryCache::pruneDeadResources):
              (WebCore::MemoryCache::setCapacities):
              (WebCore::MemoryCache::makeResourcePurgeable):
              (WebCore::MemoryCache::evict):
              (WebCore::MemoryCache::addCachedResourceLoader):
              (WebCore::MemoryCache::removeCachedResourceLoader):
              (WebCore::MemoryCache::lruListFor):
              (WebCore::MemoryCache::removeFromLRUList):
              (WebCore::MemoryCache::insertInLRUList):
              (WebCore::MemoryCache::resourceAccessed):
              (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
              (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
              (WebCore::MemoryCache::addToLiveResourcesSize):
              (WebCore::MemoryCache::removeFromLiveResourcesSize):
              (WebCore::MemoryCache::adjustSize):
              (WebCore::MemoryCache::TypeStatistic::addResource):
              (WebCore::MemoryCache::getStatistics):
              (WebCore::MemoryCache::setDisabled):
              (WebCore::MemoryCache::dumpStats):
              (WebCore::MemoryCache::dumpLRULists):
              * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
              (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
              * loader/loader.cpp:
              * page/EventSource.cpp:
              * page/Settings.h:
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::createRequest):
      2010-11-07  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Rename Cache to MemoryCache
              https://bugs.webkit.org/show_bug.cgi?id=49159
      
              * WebProcess/WebProcess.cpp:
              * WebProcess/mac/WebProcessMac.mm:
              * WebProcess/win/WebProcessWin.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94d2d9fd
  16. 05 Nov, 2010 1 commit
    • cmarrin@apple.com's avatar
      2010-11-05 Chris Marrin <cmarrin@apple.com> · e6a27001
      cmarrin@apple.com authored
              Reviewed by Simon Fraser.
      
              Move resumeAnimations/suspendAnimations from Frame to AnimationController.
              https://bugs.webkit.org/show_bug.cgi?id=49073
      
              * src/WebAnimationControllerImpl.cpp:
              (WebKit::WebAnimationControllerImpl::suspendAnimations):
              (WebKit::WebAnimationControllerImpl::resumeAnimations):
      2010-11-05  Chris Marrin  <cmarrin@apple.com>
      
              Reviewed by Simon Fraser.
      
              Move resumeAnimations/suspendAnimations from Frame to AnimationController.
              https://bugs.webkit.org/show_bug.cgi?id=49073
      
              * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
              (DumpRenderTreeSupportQt::suspendAnimations):
              (DumpRenderTreeSupportQt::resumeAnimations):
      2010-11-05  Chris Marrin  <cmarrin@apple.com>
      
              Reviewed by Simon Fraser.
      
              Move resumeAnimations/suspendAnimations from Frame to AnimationController.
              https://bugs.webkit.org/show_bug.cgi?id=49073
      
              * webkit/webkitwebframe.cpp:
              (webkit_web_frame_suspend_animations):
              (webkit_web_frame_resume_animations):
      2010-11-05  Chris Marrin  <cmarrin@apple.com>
      
              Reviewed by Simon Fraser.
      
              Move resumeAnimations/suspendAnimations from Frame to AnimationController.
              https://bugs.webkit.org/show_bug.cgi?id=49073
      
              * WebFrame.cpp:
              (WebFrame::suspendAnimations):
              (WebFrame::resumeAnimations):
      2010-11-05  Chris Marrin  <cmarrin@apple.com>
      
              Reviewed by Simon Fraser.
      
              Move resumeAnimations/suspendAnimations from Frame to AnimationController.
              https://bugs.webkit.org/show_bug.cgi?id=49073
      
              * WebView/WebFrame.mm:
              (-[WebFrame _suspendAnimations]):
              (-[WebFrame _resumeAnimations]):
      2010-11-05  Chris Marrin  <cmarrin@apple.com>
      
              Reviewed by Simon Fraser.
      
              Move resumeAnimations/suspendAnimations from Frame to AnimationController.
              https://bugs.webkit.org/show_bug.cgi?id=49073
      
              Changed the name of suspendAnimations/resumeAnimations to
              suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
              longer exported, but have the same functionality as before. I then
              added new suspendAnimations/resumeAnimations function which take
              no params and suspend/resume on the frame owning the animation
              controller and all its child frames. These are the functions that
              are now exported. I then changed all the platform specific WebKit
              code to use these functions.
      
              * WebCore.exp.in:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/animation/AnimationController.cpp:
              (WebCore::AnimationControllerPrivate::suspendAnimations):
              (WebCore::AnimationControllerPrivate::resumeAnimations):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6a27001
  17. 27 Oct, 2010 4 commits
    • commit-queue@webkit.org's avatar
      2010-10-27 Pratik Solanki <psolanki@apple.com> · 46d1e62a
      commit-queue@webkit.org authored
              Reviewed by Darin Adler.
      
              Improve memSize calculation in [WebView _setCacheModel]
              https://bugs.webkit.org/show_bug.cgi?id=48484
      
              * WebView/WebView.mm:
              (roundUpToPowerOf2): Added. Utility function to calculate the nearest power of 2.
              (+[WebView _setCacheModel:]): Update memSize calculation to set it to the next
              bigger power of 2. Also update WebCore cache settings.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46d1e62a
    • darin@apple.com's avatar
      2010-10-26 Darin Adler <darin@apple.com> · 3c320e40
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42322
              rdar://problem/8193631
      
              WebKitTestRunner needs to support layoutTestController.clearBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42333
              rdar://problem/8193643
      
              * History/WebBackForwardList.mm:
              (core): Return BackForwardListImpl.
              (kit): Take BackForwardListImpl.
              (-[WebBackForwardList initWithBackForwardList:]): Use BackForwardListImpl.
              (-[WebBackForwardList dealloc]): Ditto.
              (-[WebBackForwardList finalize]): Ditto.
              (-[WebBackForwardList description]): Ditto.
              (-[WebBackForwardList setPageCacheSize:]): Ditto.
              (-[WebBackForwardList pageCacheSize]): Ditto.
              * History/WebBackForwardListInternal.h: Ditto.
              * WebView/WebFrameView.mm:
              (-[WebFrameView keyDown:]): Ditto.
              * WebView/WebView.mm:
              (-[WebView initWithCoder:]): Ditto.
              (-[WebView encodeWithCoder:]): Ditto.
              (-[WebView backForwardList]): Ditto.
              (-[WebView setMaintainsBackForwardList:]): Ditto.
      2010-10-26  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42322
              rdar://problem/8193631
      
              WebKitTestRunner needs to support layoutTestController.clearBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42333
              rdar://problem/8193643
      
              * WebCore.exp.in: Updated exports.
      
              * history/BackForwardList.h: Added comments about future refactoring.
              Moved functions that are not called inside WebCore into a separate
              section, to be removed later. Added an isActive function to replace the
              use of enabled() and entries().
      
              * history/BackForwardListImpl.h: Removed isBackForwardListImpl.
              Marked virtual function overrides virtual explicitly, except for the
              ones that will be non-virtual once we make the changes above.
              Added the isActive function.
      
              * history/PageCache.cpp:
              (WebCore::logCanCachePageDecision): Use isActive.
              (WebCore::PageCache::canCache): Ditto.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::checkDidPerformFirstNavigation): Check
              using currentItem, backItem, and forwardItem instead of
              using entries.
      
              * page/Settings.cpp:
              (WebCore::Settings::setUsesPageCache): Loop through the back/forward
              list entries using backListCount and forwardListCount instead of
              using entries.
      2010-10-26  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42322
              rdar://problem/8193631
      
              WebKitTestRunner needs to support layoutTestController.clearBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42333
              rdar://problem/8193643
      
              * platform/mac-wk2/Skipped: Resorted some test lists. Removed the section
              listing all the tests that were blocked by dumpBackForwardList.
      2010-10-26  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42322
              rdar://problem/8193631
      
              WebKitTestRunner needs to support layoutTestController.clearBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42333
              rdar://problem/8193643
      
              * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
              Renamed the product to WebKitTestRunnerInjectedBundle to avoid
              name conflicts in the build directory.
      
              * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
              Added dumpBackForwardList and clearBackForwardList.
      
              * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
              (WTR::InjectedBundle::InjectedBundle): Removed initialization of m_mainPage.
              (WTR::InjectedBundle::didCreatePage): Removed unneeded underscore.
              (WTR::InjectedBundle::willDestroyPage): Ditto.
              (WTR::InjectedBundle::didReceiveMessage): Ditto.
              (WTR::InjectedBundle::initialize): Ditto.
              (WTR::InjectedBundle::didCreatePage): Changed code to use m_pages
              instead of m_mainPage and m_otherPages.
              (WTR::InjectedBundle::willDestroyPage): Ditto.
              (WTR::InjectedBundle::page): Ditto.
              (WTR::InjectedBundle::beginTesting): Ditto.
              (WTR::InjectedBundle::done): Ditto.
              (WTR::InjectedBundle::closeOtherPages): Ditto.
              (WTR::InjectedBundle::dumpBackForwardListsForAllPages): Added.
      
              * WebKitTestRunner/InjectedBundle/InjectedBundle.h: Changed
              page function to longer be inline, and pageCount function
              to use m_pages. Added dumpBackForwardListsForAllPages, and
              removed some underscores. Replaced m_mainPage and m_otherPageas
              with m_pages.
      
              * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
              (WTR::adoptWK): Added.
              (WTR::hasPrefix): Added.
              (WTR::InjectedBundlePage::reset): Added code to set up
              m_previousTestBackForwardListItem.
              (WTR::InjectedBundlePage::dump): Added code to call
              dumpBackForwardListsForAllPages.
              (WTR::compareByTargetName): Added.
              (WTR::dumpBackForwardListItem): Added.
              (WTR::InjectedBundlePage::dumpBackForwardList): Added.
      
              * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Added
              dumpBackForwardList and m_previousTestBackForwardListItem.
      
              * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
              (WTR::LayoutTestController::LayoutTestController): Initialize
              m_shouldDumpBackForwardListsForAllWindows to false.
              (WTR::LayoutTestController::clearBackForwardList): Added.
      
              * WebKitTestRunner/InjectedBundle/LayoutTestController.h:
              Added dumpBackForwardList, clearBackForwardList,
              shouldDumpBackForwardListsForAllWindows, and
              m_shouldDumpBackForwardListsForAllWindows.
      
              * WebKitTestRunner/TestController.cpp:
              (WTR::TestController::initialize): Set up
              didReceiveSynchronousMessageFromInjectedBundle.
              (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
              Added.
              * WebKitTestRunner/TestController.h: Ditto.
      
              * WebKitTestRunner/TestInvocation.cpp:
              (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
              Added.
              * WebKitTestRunner/TestInvocation.h: Ditto.
      
              * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
              Renamed bundle to WebKitTestRunnerInjectedBundle (see above).
              * WebKitTestRunner/mac/TestControllerMac.mm:
              (WTR::TestController::initializeInjectedBundlePath): Ditto.
      2010-10-26  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42322
              rdar://problem/8193631
      
              WebKitTestRunner needs to support layoutTestController.clearBackForwardList
              https://bugs.webkit.org/show_bug.cgi?id=42333
              rdar://problem/8193643
      
              * Shared/API/c/WKBase.h: Added WKBundleBackForwardListRef and
              WKBundleBackForwardListItemRef.
      
              * Shared/API/c/WKURL.cpp:
              (WKURLCopyString): Added.
              * Shared/API/c/WKURL.h: Added WKURLCopyString.
      
              * Shared/API/c/cf/WKURLCF.h: Fixed incorrect argument name.
      
              * Shared/APIObject.h: Added TypeBundleBackForwardList and
              TypeBundleBackForwardListItem.
      
              * Shared/ImmutableArray.h: Marked destructor virtual explicitly.
              * Shared/ImmutableDictionary.h: Ditto.
              * UIProcess/WebBackForwardListItem.h: Ditto.
              * UIProcess/WebContext.h: Ditto.
              * UIProcess/WebFrameProxy.h: Ditto.
              * UIProcess/WebNavigationData.h: Ditto.
              * UIProcess/WebPageNamespace.h: Ditto.
              * UIProcess/WebPreferences.h: Ditto.
              * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Ditto.
              * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
              * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Ditto.
      
              * UIProcess/WebBackForwardList.cpp: Removed unneeded backListWithLimit
              and forwardListWithLimit functions.
              (WebKit::WebBackForwardList::clear): Added.
              * UIProcess/WebBackForwardList.h: Marked destructor virtual explicitly.
              Added clear, removed backListWithLimit and forwardListWithLimit functions.
      
              * UIProcess/WebPageProxy.cpp: Removed unneeded backForwardBackItem,
              backForwardCurrentItem, and backForwardForwardItem functions.
              (WebKit::WebPageProxy::backForwardClear): Added.
              * UIProcess/WebPageProxy.h: Ditto.
              * UIProcess/WebPageProxy.messages.in: Ditto.
      
              * WebKit2.pro: Added new files.
              * WebKit2.xcodeproj/project.pbxproj: Ditto.
              * win/WebKit2.vcproj: Ditto.
      
              * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added
              WKBundleBackForwardListRef and WKBundleBackForwardListItemRef.
      
              * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
              Started with a copy of from WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
              * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h:
              Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardList.h.
      
              * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
              Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
              * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
              Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
      
              * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
              (WKBundlePageGetBackForwardList): Added.
              * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Ditto.
      
      
              * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
              Started with a copy of WebKit2/UIProcess/WebBackForwardList.cpp.
              * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
              Started with a copy of WebKit2/UIProcess/WebBackForwardList.h.
      
              * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
              Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.cpp.
              * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
              Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.h.
      
              * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed
              many unneeded functions.
              (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
              Removed unneeded initialization of m_closed.
              (WebKit::WebBackForwardListProxy::addItem): Added a check for
              the case of a capacity of 0.
              (WebKit::WebBackForwardListProxy::goToItem): Added a check for
              when the proxy outlives its page.
              (WebKit::WebBackForwardListProxy::itemAtIndex): Ditto.
              (WebKit::WebBackForwardListProxy::backListCount): Ditto.
              (WebKit::WebBackForwardListProxy::forwardListCount): Ditto.
              (WebKit::WebBackForwardListProxy::close): Removed unneeded code
              setting m_closed.
              (WebKit::WebBackForwardListProxy::isActive): Added.
              (WebKit::WebBackForwardListProxy::clear): Added.
      
              * WebProcess/WebPage/WebBackForwardListProxy.h: Added clear,
              isActive, and detach functions. Removed many other unneeded
              function and data members.
      
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::~WebPage): Added call to detach on the
              back/forward list.
              (WebKit::WebPage::backForwardList): Added.
              * WebProcess/WebPage/WebPage.h: Added backForwardList function
              and m_backForwardList data member.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c320e40
    • bdakin@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit · 6df87f49
      bdakin@apple.com authored
      SPI to scale a WebView
      -and corresponding-
      <rdar://problem/8107667>
      
      Reviewed by Darin Adler.
      
      WebCore: 
      
      This patch adds SPI to Mac WebKit that scales the page by the given 
      scale factor. The scale factor is factored into the RenderStyle's 
      transform.
      
      Set the current pageScale for the document.
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::styleForDocument):
      
      Frame keeps track of the page scale factor. When 
      scalePage() is called, it modifies the RenderView's style to 
      include a transform of the appropriate scale and forces a style 
      recalc.
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore::Frame::scalePage):
      * page/Frame.h:
      (WebCore::Frame::pageScaleFactor):
      * WebCore.exp.in:
      
      Add a scale to the transformation matrix.
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::setPageScaleTransform):
      * rendering/style/RenderStyle.h:
      
      WebKit/mac: 
      
      This patch adds SPI to Mac WebKit that scales the page by the given 
      scale factor.
      
      * WebView/WebView.mm:
      (-[WebView _scaleWebView:]):
      (-[WebView _viewScaleFactor]):
      * WebView/WebViewPrivate.h:
      
      WebKit2: 
      
      This patch adds SPI to Mac WebKit that scales the page by the given 
      scale factor.
      
      Implement scaleWebView(), which tells WebCore::Frame to scale, and 
      viewScaleFactor() which returns the current scale factor.
      * Shared/API/c/WKSharedAPICast.h:
      * UIProcess/API/C/WKPage.cpp:
      (WKPageScaleWebView):
      (WKPageGetViewScaleFactor):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::scaleWebView):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::viewScaleFactor):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::scaleWebView):
      (WebKit::WebPage::viewScaleFactor):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6df87f49
    • mitz@apple.com's avatar
      REGRESSION (r70335): Incorrect article layout in Safari Reader · cde61c19
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=48436
      
      Reviewed by Darin Adler.
      
      WebCore: 
      
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::getMatchedCSSRules): Return rules from all origins if the cross-origin
      check is disabled.
      * page/Settings.cpp:
      (WebCore::Settings::Settings): Initialize m_crossOriginCheckInGetMatchedCSSRulesDisabled.
      * page/Settings.h:
      (WebCore::Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled): Added this accessor.
      (WebCore::Settings::crossOriginCheckInGetMatchedCSSRulesDisabled): Ditto.
      
      WebKit/mac: 
      
      * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS.
      * WebView/WebView.mm:
      (-[WebView _needsUnrestrictedGetMatchedCSSRules]): Added. Returns YES for Safari linked against
      versions of WebKit that did not have the cross-origin restrictions in getMatchedCSSRules().
      (-[WebView _preferencesChangedNotification:]): Call Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled()
      based on the above.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cde61c19
  18. 24 Oct, 2010 1 commit
    • mitz@apple.com's avatar
      Expose HitTestResult::absoluteMediaURL() via WebKit API · 5a54cf7b
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=48219
      
      Reviewed by Anders Carlsson.
      
      WebCore: 
      
      * WebCore.exp.in: Export HitTestResult::absoluteMediaURL().
      
      WebKit/mac: 
      
      * Misc/WebElementDictionary.mm:
      (+[WebElementDictionary initializeLookupTable]): Map WebElementMediaURLKey to
      _absoluteMediaURL.
      (-[WebElementDictionary _absoluteMediaURL]): Added. Returns absoluteMediaURL().
      * WebKit.exp: Export WebElementMediaURLKey.
      * WebView/WebView.mm: Define WebElementMediaURLKey.
      * WebView/WebViewPrivate.h: Declare WebElementMediaURLKey.
      
      WebKit/win: 
      
      * Interfaces/IWebView.idl: Added WebElementMediaURLKey.
      * WebElementPropertyBag.cpp:
      (WebElementPropertyBag::Read): Map WebElementMediaURLKey to absoluteMediaURL().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a54cf7b
  19. 12 Oct, 2010 2 commits
  20. 07 Oct, 2010 1 commit
    • tonikitoo@webkit.org's avatar
      [Mac] [DRT] implement setSpatialNavigationEnabled · ac61429a
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=47291
      
      Patch by Antonio Gomes <agomes@rim.com> on 2010-10-07
      Reviewed by Simon Fraser.
      
      WebCore:
      
      Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
      so it can be used from WebKit/mac.
      
      * WebCore.exp.in:
      
      WebKit/mac:
      
      Added the needed bits to make it possible to enabled spatial navigation
      for the Mac port. For now it is being only used by DRT.
      
      * WebView/WebPreferenceKeysPrivate.h:
      * WebView/WebPreferences.mm:
      (+[WebPreferences initialize]):
      (-[WebPreferences isSpatialNavigationEnabled]):
      (-[WebPreferences setSpatialNavigationEnabled:]):
      * WebView/WebPreferencesPrivate.h:
      * WebView/WebView.mm:
      (-[WebView _preferencesChangedNotification:]):
      
      WebKitTools:
      
      Implemented LayoutTestController::setSpatialNavigationEnabled for Mac's DRT
      so it can track regression on the existing implementation and future improvements
      we are making.
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::setSpatialNavigationEnabled):
      
      LayoutTests:
      
      Unskiping all spatial-navigation tests in fast/events/spatial-navigation but two
      (snav-iframe-with-offscreen-focusable-element.html and snav-unit-overflow-and-scroll-in-direction.html).
      These will be fixed on their own bugs.
      
      * platform/mac/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac61429a
  21. 05 Oct, 2010 1 commit
  22. 27 Sep, 2010 1 commit
    • tonikitoo@webkit.org's avatar
      Make Document::nodesFromRect more flexible · 6e7483d9
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=46336
      
      Patch by Antonio Gomes <agomes@rim.com> on 2010-09-23
      Reviewed by Kenneth Christiansen.
      
      The patch changes the API for the Document::nodesFromRect() method as follows:
      
      from
      - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned horizontalPadding, unsigned verticalPadding, bool ignoreClipping)
      
      to
      - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding,
                                       unsigned leftPadding, bool ignoreClipping)
      
      Previously the method was receiving as parameter horizontal and vertical padding values.
      In practice, the horizontal padding was being used to expand a given center point in both
      right and left directions, while vertical padding was expanding it to the top and bottom directions.
      
      Although this design makes it possible to improve the touch experience on mobile devices
      (Document::nodesFromRect exposes the rect based hit testing system), empirical experiments
      showed that, specially in capacitive touch screens, users tend to tap below elements. So
      for even more accurate results (which means here the possibility of pleasant tapping experience),
      it makes sense to use a region that is offset more above the touch point, favoring elements
      above the touch point.
      
      The patch basically implements that, increasing the API flexible and power by making it possible
      to specify different padding values for each direction in a given orientation.
      
      Changes were made accordingly to the HitTestResult, RenderLayer, RenderImage and RenderLineBoxList
      classes.
      
      WebCore:
      
      * WebCore.exp.in:
      * dom/Document.cpp:
      (WebCore::Document::nodesFromRect):
      * dom/Document.h:
      * page/EventHandler.cpp:
      (WebCore::EventHandler::hitTestResultAtPoint): For simplicity, I did not change the signature
          but the way the padding value passed in as parameter is being used to construct a HitTestResult.
      * rendering/HitTestResult.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings
          for each direction.
      (WebCore::HitTestResult::HitTestResult): Ditto.
      (WebCore::HitTestResult::operator=): Ditto.
      (WebCore::HitTestResult::rectFromPoint): Ditton.
      * rendering/HitTestResult.h:
      (WebCore::HitTestResult::topPadding): getter for the top padding.
      (WebCore::HitTestResult::rightPadding): getter for the right padding.
      (WebCore::HitTestResult::bottomPadding): getter for the bottom padding.
      (WebCore::HitTestResult::leftPadding): getter for the left padding.
      (WebCore::HitTestResult::rectFromPoint): Added a static method that given a center point and padding values for
          each direction, returns the rect that is going to be used in WebCore's hit testing processing.
      * rendering/RenderImage.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
      (WebCore::RenderImage::nodeAtPoint): Ditto.
      * rendering/RenderLayer.cpp: Ditto.
      (WebCore::RenderLayer::hitTestLayer): Ditto.
      (WebCore::RenderLayer::hitTestList): Ditto.
      * rendering/RenderLineBoxList.cpp: Ditto.
      (WebCore::RenderLineBoxList::hitTest): Ditto.
      
      LayoutTests:
      
      * fast/dom/nodesFromRect-basic-expected.txt:
      * fast/dom/nodesFromRect-basic.html:
      * fast/dom/resources/nodesFromRect.js:
      (check):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e7483d9
  23. 26 Sep, 2010 1 commit
    • tonikitoo@webkit.org's avatar
      [Mac][DRT] Implement LayoutTestController::nodesFromRect · 873cacdc
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=46580
      
      Patch by Antonio Gomes <agomes@rim.comg> on 2010-09-26
      Reviewed by Kenneth Christiansen.
      
      WebCore:
      
      Symbol files updated.
      
      * WebCore.exp.in: Added symbols to Document::nodesFromRect and bits of JSDocument now
      needed in WebKit/mac.
      * WebCore.xcodeproj/project.pbxproj: Set both JSDocument.h and JSNodeList as private headers
      now that they are referred in WebKit/mac.
      
      WebKit/mac:
      
      Implement nodesFromRect as a private method to access non-exposed Document
      methods, similarly to computedStyleIncludingVisitedInfo.
      
      * WebView/WebView.mm: Added JSDocument.h and JSNodeList.h to the include list.
      These headers makes it possible to:
      1) Get a Document off of a JSDocument;
      2) Call toJS function, defined in JSNodeList.cpp|h so we can convert RefPtr<NodeList>
      gotten from Document::nodesFromRect to JS bindings.
      (-[WebView _nodesFromRect:forDocument:x:y:hPadding:vPadding:ignoreClipping:]):
      * WebView/WebViewPrivate.h: Added nodesFromRect method to access methods of the
      Document class not exposed to JavaScript. It works similarly to computedStyleIncludingVisitedInfo.
      
      WebKitTools:
      
      Implements LayoutTestController::nodesFromRect for Mac DRT, and
      adding stubs for GTK+ and Windows.
      
      * DumpRenderTree/LayoutTestController.cpp:
      (nodesFromRectCallback):
      (LayoutTestController::staticFunctions):
      * DumpRenderTree/LayoutTestController.h:
      (LayoutTestController::LayoutTestController::nodesFromRect):
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::nodesFromRect):
      
      LayoutTests:
      
      Unskipping fast/dom/nodesFromRect-based.html on Mac, and changes it
      so that it calls layoutTestController.nodesFromRect() instead of
      document.nodesFromRect().
      
      * fast/dom/resources/nodesFromRect.js:
      (check):
      * platform/mac/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      873cacdc
  24. 24 Sep, 2010 1 commit
  25. 23 Sep, 2010 4 commits
    • aestes@apple.com's avatar
      2010-09-23 Andy Estes <aestes@apple.com> · 9980cc14
      aestes@apple.com authored
              Reviewed by Darin Adler.
      
              REGRESSION (r61285): some Dashboard widgets are always invisible due to
              HTML parser changes.
              https://bugs.webkit.org/show_bug.cgi?id=46435
      
              Enable pre-HTML5 parser quirks if Dashboard is in backward compatibility
              mode.
      
              * WebView/WebView.mm:
              (-[WebView _needsPreHTML5ParserQuirks]): Renamed from
              shouldUsePreHTML5ParserQuirks(). Return true if
              WebCore::Settings::usesDashboardCompatibilityMode() is true.
              (-[WebView _preferencesChangedNotification:]):
              (-[WebView _setDashboardBehavior:to:]): Enable pre-HTML5 parser quirks
              if Dashboard behavior is set to backward compatibility mode.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9980cc14
    • commit-queue@webkit.org's avatar
      2010-09-23 Matthew Delaney <mdelaney@apple.com> · 86b1f85b
      commit-queue@webkit.org authored
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              Since the setInterval call is meant to reflect a global change for
              all pages' DOMTimers, it's misleading to have it be a method on a
              given page's settings' object. Thus, this patch changes the call to be static.
      
              This simple change to using a static call instead of the page's setting's
              method doesn't warrant a test.
      
              * page/Settings.h: Changed the setInterval call to be static.
      2010-09-23  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              * WebView/WebView.mm:
              Updating set interval call to use Settings' static version inside
              one time init block.
      2010-09-23  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              * WebView.cpp:
              Updating set interval call to use Settings' static version inside
              one time init block.
      2010-09-23  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              * WebProcess/WebPage/WebPage.cpp:
              Updating set interval call to use Settings' static version.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86b1f85b
    • aestes@apple.com's avatar
      2010-09-22 Andy Estes <aestes@apple.com> · 39b0a029
      aestes@apple.com authored
              Reviewed by Darin Adler.
      
              REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
              https://bugs.webkit.org/show_bug.cgi?id=46334
      
              Microsoft My Day loads scripts using self-closing script tags, markup
              which is incompatible with the HTML5 parser. Enable parser quirks for
              this application.
      
              * WebView/WebView.mm:
              (shouldUsePreHTML5ParserQuirks): Return true if the application is
              Microsoft My Day and was linked against a version of WebKit prior to the
              introduction of the HTML5 parser.
      2010-09-23  Renata Hodovan  <reni@inf.u-szeged.hu>
      
              Reviewed by Dirk Schulze.
      
              SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
              https://bugs.webkit.org/show_bug.cgi?id=46363
              The patch also implements the simple setRadius method.
      
              Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
                     svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
                     svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
                     svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
                     svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
                     svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
      
              * svg/SVGFEMorphologyElement.cpp:
              (WebCore::SVGFEMorphologyElement::setRadius):
              (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
              * svg/SVGFEMorphologyElement.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39b0a029
    • japhet@chromium.org's avatar
      2010-09-23 Nate Chapin <japhet@chromium.org> · f5d746be
      japhet@chromium.org authored
              Reviewed by Darin Fisher.
              
              Implement <a ping> (disabled by default).
              https://bugs.webkit.org/show_bug.cgi?id=30458
              
              Tests: http/tests/navigation/ping-cross-origin-from-https.html
                     http/tests/navigation/ping-cross-origin.html
                     http/tests/navigation/ping-same-origin.html
      
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              (WebCore::HTMLAnchorElement::sendPings):
              * html/HTMLAnchorElement.h:
              * html/HTMLAttributeNames.in:
              * loader/PingLoader.cpp:
              (WebCore::PingLoader::sendPing): Set ping-specific headers.
              (WebCore::PingLoader::PingLoader):
              * loader/PingLoader.h:
              (WebCore::PingLoader::timeout): Ensure pings eventually timeout, since
                  the normal cancel mechanism can't stop them.
              * page/Settings.cpp:
              * page/Settings.h: Add hyperlinkAuditingEnabled.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f5d746be
  26. 22 Sep, 2010 1 commit
  27. 21 Sep, 2010 1 commit
    • aestes@apple.com's avatar
      2010-09-21 Andy Estes <aestes@apple.com> · 940efb88
      aestes@apple.com authored
              Reviewed by Darin Adler.
      
              REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
              https://bugs.webkit.org/show_bug.cgi?id=46134
      
              AIM clients linked against versions of WebKit prior to the introduction
              of the HTML5 parser contain markup incompatible with the new parser.
              Enable parser quirks in this case to remain compatible with these
              clients.
      
              * WebView/WebView.mm:
              (shouldUsePreHTML5ParserQuirks): Returns true if the embedding
              application is AIM and was linked against a version of WebKit prior to
              the introduction of the HTML5 parser, or if the
              WebKitPreHTML5ParserQuirks WebPreference is enabled.
              (-[WebView _preferencesChangedNotification:]): Call
              WebCore::Settings::setUsePreHTML5ParserQuirks().
      2010-09-21  Andy Estes  <aestes@apple.com>
      
              Reviewed by Darin Adler.
      
              REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
              https://bugs.webkit.org/show_bug.cgi?id=46134
      
              * WebCore.exp.in: Export __ZN7WebCore32applicationIsAOLInstantMessengerEv.
              * platform/mac/RuntimeApplicationChecks.h:
              * platform/mac/RuntimeApplicationChecks.mm:
              (WebCore::applicationIsAOLInstantMessenger): Determine if the embedding
              application is AOL Instant Messenger by checking the bundle identifier.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      940efb88
  28. 20 Sep, 2010 1 commit
    • aestes@apple.com's avatar
      2010-09-20 Andy Estes <aestes@apple.com> · 7fb43f6f
      aestes@apple.com authored
              Reviewed by Adam Barth.
      
              REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
              https://bugs.webkit.org/show_bug.cgi?id=40961
      
              Implement WebKitUsePreHTML5ParserQuirks preference.
      
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebPreferences.mm:
              (+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to
              false.
              (-[WebPreferences usePreHTML5ParserQuirks]):
              (-[WebPreferences setUsePreHTML5ParserQuirks:]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings
              with the value of WebKitUsePreHTML5ParserQuirks when a preference
              changes.
      2010-09-20  Andy Estes  <aestes@apple.com>
      
              Reviewed by Adam Barth.
      
              REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
              https://bugs.webkit.org/show_bug.cgi?id=40961
      
              Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's
              legacy behavior when the start of a new token is encountered before the
              current token is finished parsing. The legacy behavior is to emit the
              current token as if it were properly closed and being parsing the new
              token.
      
              Test: fast/parser/pre-html5-parser-quirks.html
      
              * html/parser/HTMLDocumentParser.cpp:
              (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
              m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
              (WebCore::usePreHTMLParserQuirks): Add a helper function to return the
              value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL.
              * html/parser/HTMLPreloadScanner.cpp:
              (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate
              m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
              * html/parser/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::HTMLTokenizer):
              (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an
              unexpected '<' is encountered in certain states, emit the current token
              and reprocess the '<' as the start of a new token.
              * html/parser/HTMLTokenizer.h:
              (WebCore::HTMLTokenizer::create):
              * html/parser/HTMLViewSourceParser.cpp:
              (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate
              m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              * page/Settings.h:
              (WebCore::Settings::setUsePreHTML5ParserQuirks):
              (WebCore::Settings::usePreHTML5ParserQuirks):
      2010-09-20  Andy Estes  <aestes@apple.com>
      
              Reviewed by Adam Barth.
      
              REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
              https://bugs.webkit.org/show_bug.cgi?id=40961
      
              * fast/parser/pre-html5-parser-quirks-expected.txt: Added.
              * fast/parser/pre-html5-parser-quirks.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-after-attribute-name-state.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-after-attribute-value-quoted-state.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-after-attribute-value-unquoted-state.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-attribute-name-state.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-before-attribute-name-state.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-document-fragment.html: Added.
              * fast/parser/resources/pre-html5-parser-quirk-tag-name-state.html: Added.
              * platform/chromium/test_expectations.txt: Skip pre-html5-parser-quirks.html.
              * platform/gtk/Skipped: Skip pre-html5-parser-quirks.html.
              * platform/mac-wk2/Skipped: Skip pre-html5-parser-quirks.html.
              * platform/qt/Skipped: Skip pre-html5-parser-quirks.html.
              * platform/win/Skipped: Skip pre-html5-parser-quirks.html.
      2010-09-20  Andy Estes  <aestes@apple.com>
      
              Reviewed by Adam Barth.
      
              REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
              https://bugs.webkit.org/show_bug.cgi?id=40961
      
              Implement WebKitUsePreHTML5ParserQuirks preference.
      
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (resetDefaultsToConsistentValues): Reset WebKitUsePreHTML5ParserQuirks
              to false after a test finishes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7fb43f6f
  29. 17 Sep, 2010 3 commits
    • darin@apple.com's avatar
      2010-09-17 Darin Adler <darin@apple.com> · 0f442a78
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * src/FrameLoaderClientImpl.cpp:
              (WebKit::FrameLoaderClientImpl::createPlugin):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::setZoomLevel):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * Api/qwebframe.cpp:
              (QWebFrame::setTextSizeMultiplier):
              (QWebFrame::textSizeMultiplier):
              (QWebFrame::setZoomFactor):
              (QWebFrame::zoomFactor):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * webkit/webkitwebview.cpp:
              (webkit_web_view_get_zoom_level):
              (webkit_web_view_apply_zoom_level):
              (webkit_web_view_set_full_content_zoom):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * WebView.cpp:
              (WebView::setZoomMultiplier):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * WebFrame.cpp:
              (wxWebFrame::IncreaseTextSize):
              (wxWebFrame::DecreaseTextSize):
              (wxWebFrame::ResetTextSize):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * WebView/WebView.mm:
              (-[WebView _setZoomMultiplier:isTextOnly:]):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * ewk/ewk_frame.cpp:
              (ewk_frame_zoom_get):
              (ewk_frame_zoom_set):
              (ewk_frame_zoom_text_only_set):
              Call functions on Frame instead of FrameView.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              Moved zoom level back from FrameView to Frame.
              I had forgotten that FrameView's lifetime is much shorter than
              Frame's, and until that is fixed it's best to leave this on Frame.
      
              * WebCore.exp.in: Updated.
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::styleForDocument):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
              * dom/Document.cpp:
              (WebCore::Document::nodesFromRect):
              (WebCore::Document::elementFromPoint):
              (WebCore::Document::caretRangeFromPoint):
              * dom/MouseRelatedEvent.cpp:
              (WebCore::contentsX):
              (WebCore::contentsY):
              (WebCore::pageZoomFactor):
              * dom/Node.cpp:
              (WebCore::Node::dispatchMouseEvent):
              (WebCore::Node::dispatchWheelEvent):
              * html/HTMLBodyElement.cpp:
              (WebCore::adjustForZoom):
              (WebCore::HTMLBodyElement::scrollLeft):
              (WebCore::HTMLBodyElement::setScrollLeft):
              (WebCore::HTMLBodyElement::scrollTop):
              (WebCore::HTMLBodyElement::setScrollTop):
              (WebCore::HTMLBodyElement::scrollHeight):
              (WebCore::HTMLBodyElement::scrollWidth):
              * html/ImageDocument.cpp:
              (WebCore::pageZoomFactor):
              (WebCore::ImageDocument::scale):
              (WebCore::ImageDocument::imageFitsInWindow):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::innerHeight):
              (WebCore::DOMWindow::innerWidth):
              (WebCore::DOMWindow::scrollX):
              (WebCore::DOMWindow::scrollY):
              (WebCore::DOMWindow::scrollTo):
              * page/DragController.cpp:
              (WebCore::elementUnderMouse):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::zoomFactor):
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::currentScale):
              (WebCore::SVGSVGElement::setCurrentScale):
              Get zoom factor from Frame rather than FrameView.
      
              * page/Frame.cpp:
              (WebCore::parentPageZoomFactor): Moved back here from FrameView.
              (WebCore::parentTextZoomFactor): Ditto.
              (WebCore::Frame::Frame): Ditto.
              (WebCore::Frame::setPageZoomFactor): Ditto.
              (WebCore::Frame::setTextZoomFactor): Ditto.
              (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
      
              * page/Frame.h: Moved functions and data for zooming back here
              from FrameView.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::FrameView):
              * page/FrameView.h:
              Removed code from here.
      2010-09-17  Daniel Bates  <dbates@rim.com>
      
              Reviewed by Darin Adler.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * fast/css/preserve-user-specified-zoom-level-on-reload.html: Added.
              * platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.checksum: Added.
              * platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.png: Added.
              * platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.txt: Added.
      2010-09-17  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
              https://bugs.webkit.org/show_bug.cgi?id=42863
      
              * WebProcess/WebPage/WebPage.cpp:
              (WebKit::WebPage::textZoomFactor):
              (WebKit::WebPage::setTextZoomFactor):
              (WebKit::WebPage::pageZoomFactor):
              (WebKit::WebPage::setPageZoomFactor):
              (WebKit::WebPage::setPageAndTextZoomFactors):
              Call functions on Frame instead of FrameView.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0f442a78
    • commit-queue@webkit.org's avatar
      2010-09-17 Matthew Delaney <mdelaney@apple.com> · 757218a5
      commit-queue@webkit.org authored
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
              which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
              performance on perf tests that have tight frequent loops such as canvas "animation"
              performance tests.
      
              No new tests added. Can't reliably instrument a test in javascript to verify that
              the minimum clamped interval time is in fact 4ms.
      
              * WebCore.exp.in:
              * page/DOMTimer.cpp: Removed old comments.
              * page/DOMTimer.h: Removed old comments.
              * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
              * page/Settings.h:
      2010-09-17  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
      2010-09-17  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              * WebView.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
      2010-09-17  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Reduce minimum DOMTimer interval
              https://bugs.webkit.org/show_bug.cgi?id=45362
      
              * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      757218a5
    • cmarrin@apple.com's avatar
      2010-09-17 Chris Marrin <cmarrin@apple.com> · 09fa67e4
      cmarrin@apple.com authored
              Reviewed by Simon Fraser.
      
              Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
              https://bugs.webkit.org/show_bug.cgi?id=45911
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09fa67e4