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. 10 Jan, 2011 1 commit
    • tonyg@chromium.org's avatar
      2011-01-09 Tony Gentilcore <tonyg@chromium.org> · b625f859
      tonyg@chromium.org authored
              Reviewed by Alexey Proskuryakov.
      
              Forward declare some headers where possible
              https://bugs.webkit.org/show_bug.cgi?id=52133
      
              No new tests because no new functionality.
      
              * css/CSSValue.h:
              * dom/BeforeLoadEvent.h:
              * dom/Event.cpp:
              * dom/Event.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * loader/DocumentLoader.h:
              * loader/FrameLoader.h:
              * page/Frame.h:
              * platform/graphics/GraphicsContext.cpp:
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/filters/FEBlend.cpp:
              * platform/graphics/filters/FEColorMatrix.cpp:
              * platform/graphics/filters/FEComponentTransfer.cpp:
              * platform/graphics/filters/FEComposite.cpp:
              * platform/graphics/filters/FEConvolveMatrix.cpp:
              * platform/graphics/filters/FEDiffuseLighting.cpp:
              * platform/graphics/filters/FEDisplacementMap.cpp:
              * platform/graphics/filters/FEFlood.cpp:
              * platform/graphics/filters/FEGaussianBlur.cpp:
              * platform/graphics/filters/FEMerge.cpp:
              * platform/graphics/filters/FEMorphology.cpp:
              * platform/graphics/filters/FEOffset.cpp:
              * platform/graphics/filters/FESpecularLighting.cpp:
              * platform/graphics/filters/FETile.cpp:
              * platform/graphics/filters/FETurbulence.cpp:
              * platform/graphics/filters/FilterEffect.cpp:
              * platform/graphics/filters/FilterEffect.h:
              * platform/graphics/filters/SourceAlpha.cpp:
              * platform/graphics/filters/SourceGraphic.cpp:
              * svg/SVGElement.cpp:
              * svg/SVGElement.h:
              * svg/SVGFEBlendElement.cpp:
              * svg/SVGFEColorMatrixElement.cpp:
              * svg/SVGFEComponentTransferElement.cpp:
              * svg/SVGFECompositeElement.cpp:
              * svg/SVGFEConvolveMatrixElement.cpp:
              * svg/SVGFEConvolveMatrixElement.h:
              * svg/SVGFEDiffuseLightingElement.cpp:
              * svg/SVGFEDisplacementMapElement.cpp:
              * svg/SVGFEGaussianBlurElement.cpp:
              * svg/SVGFEImageElement.h:
              * svg/SVGFEMergeElement.cpp:
              * svg/SVGFEMorphologyElement.cpp:
              * svg/SVGFEOffsetElement.cpp:
              * svg/SVGFESpecularLightingElement.cpp:
              * svg/SVGFETileElement.cpp:
              * svg/SVGFETurbulenceElement.h:
              * svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * svg/SVGFilterPrimitiveStandardAttributes.h:
              * svg/SVGTextContentElement.cpp:
              * svg/graphics/filters/SVGFEImage.cpp:
              * svg/graphics/filters/SVGFEImage.h:
      2011-01-09  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Alexey Proskuryakov.
      
              Forward declare some headers where possible
              https://bugs.webkit.org/show_bug.cgi?id=52133
      
              * WebView/WebFrame.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b625f859
  5. 09 Jan, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-01-09 Xianzhu Wang <phnixwxz@gmail.com> · 5fcd213d
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation.
              Let client APIs know which URL a new window will start with
      
              * loader/FrameLoader.cpp:
              (WebCore::createWindow):
              * page/ContextMenuController.cpp:
              (WebCore::openNewWindow):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::createWindow):
      2011-01-09  Xianzhu Wang  <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation.
              Pass URL request to createView.
      
              * public/WebViewClient.h:
              (WebKit::WebViewClient::createView):
              * src/ChromeClientImpl.cpp:
              (WebKit::ChromeClientImpl::createWindow):
      2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation
      
              * WebCoreSupport/ChromeClientEfl.cpp:
              (WebCore::ChromeClientEfl::createWindow):
      2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation
      
              * WebCoreSupport/ChromeClientGtk.cpp:
              (WebKit::ChromeClient::createWindow):
      2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation
      
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::createWindow):
      2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation
      
              * Api/qwebpage.cpp:
              (openNewWindow):
              * WebCoreSupport/ChromeClientQt.cpp:
              (WebCore::ChromeClientQt::createWindow):
      2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation
      
              * WebCoreSupport/WebChromeClient.cpp:
              (WebChromeClient::createWindow):
      2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
      
              Reviewed by Darin Fisher.
      
              https://bugs.webkit.org/show_bug.cgi?id=41441
              createWindow method should only do window-creating without URL navigation
      
              * WebKitSupport/ChromeClientWx.cpp:
              (WebCore::ChromeClientWx::createWindow):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fcd213d
  6. 08 Jan, 2011 1 commit
  7. 07 Jan, 2011 5 commits
    • jer.noble@apple.com's avatar
      Yet another Leopard build fix: NSRect and CGRect are not inter- · bf7656ce
      jer.noble@apple.com authored
      changable in 32-bit.
      
      * WebView/WebFullScreenController.mm:
      (-[WebFullScreenController exitFullscreen]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf7656ce
    • jer.noble@apple.com's avatar
      Fix the Leopard build: Replace CoreAnimation SL-only functions · 514c1913
      jer.noble@apple.com authored
      with Leopard equivalents.
      
      * WebView/WebFullScreenController.mm:
      (+[CATransaction setDisableActions:]):
      (+[CATransaction setAnimationDuration:]):
      (-[WebFullScreenController _animationDuration]):
      (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      514c1913
    • 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
    • barraclough@apple.com's avatar
      Source/JavaScriptCore: [GTK] Port scrollbar painting to GtkStyleContext · d6544ee5
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=52051
      
      Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2011-01-07
      Reviewed by Martin Robinson.
      
      * wtf/gobject/GTypedefs.h: Add GtkStyleContext forward
      declaration.
      
      WebCore: Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
      
      Reviewed by Geoff Garen.
      
      The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
      destructor early, in order to release wrappers once we know we no longer intend to use them.
      Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
      lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
      A sequence of events that triggers the bug would look like this:
      
      (1) Create a DOMWrapperWorld.
      (2) Register a timer in the world.
      (3) Call unregisterWorld() on the world.
      (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
      (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
          called forgetWorld() none exists.
      (6) Attempt to add a wrapper to a NULL map.
      
      Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
      
      * WebCore.exp.in:
      * bindings/js/DOMWrapperWorld.cpp:
      (WebCore::DOMWrapperWorld::DOMWrapperWorld):
      (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
      (WebCore::DOMWrapperWorld::clearWrappers):
      * bindings/js/DOMWrapperWorld.h:
      
      WebKit/mac: Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
      
      Reviewed by Geoff Garen.
      
      The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
      destructor early, in order to release wrappers once we know we no longer intend to use them.
      Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
      lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
      A sequence of events that triggers the bug would look like this:
      
      (1) Create a DOMWrapperWorld.
      (2) Register a timer in the world.
      (3) Call unregisterWorld() on the world.
      (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
      (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
          called forgetWorld() none exists.
      (6) Attempt to add a wrapper to a NULL map.
      
      Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
      
      * WebView/WebScriptWorld.mm:
      (-[WebScriptWorld unregisterWorld]):
      
      WebKit/win: Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
      
      Reviewed by Geoff Garen.
      
      The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
      destructor early, in order to release wrappers once we know we no longer intend to use them.
      Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
      lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
      A sequence of events that triggers the bug would look like this:
      
      (1) Create a DOMWrapperWorld.
      (2) Register a timer in the world.
      (3) Call unregisterWorld() on the world.
      (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
      (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
          called forgetWorld() none exists.
      (6) Attempt to add a wrapper to a NULL map.
      
      Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
      
      * WebScriptWorld.cpp:
      (WebScriptWorld::unregisterWorld):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6544ee5
  8. 04 Jan, 2011 2 commits
    • cfleizach@apple.com's avatar
      WK2: Support Accessibility · aa50410b
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=51859
      
      Reviewed by Sam Weinig.
      
      Tools: 
      
      Use rootObject() method to get top of accessibility tree.
      
      * DumpRenderTree/mac/AccessibilityControllerMac.mm:
      (AccessibilityController::focusedElement):
      (AccessibilityController::rootElement):
      
      WebCore: 
      
      WK2 doesn't use platform scroll views anymore. Accessibility code
      needs to have its own scroll views. 
      
      Test: platform/mac/accessibility/webkit-scrollarea.html
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::AXObjectCache):
      (WebCore::AXObjectCache::get):
      (WebCore::AXObjectCache::getOrCreate):
      (WebCore::AXObjectCache::rootObject):
      (WebCore::AXObjectCache::remove):
      (WebCore::AXObjectCache::handleScrollbarUpdate):
      * accessibility/AXObjectCache.h:
      (WebCore::AXObjectCache::handleScrollbarUpdate):
      * accessibility/AccessibilityARIAGrid.h:
      * accessibility/AccessibilityAllInOne.cpp:
      * accessibility/AccessibilityImageMapLink.cpp:
      * accessibility/AccessibilityImageMapLink.h:
      * accessibility/AccessibilityListBoxOption.cpp:
      * accessibility/AccessibilityListBoxOption.h:
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::updateChildrenIfNecessary):
      (WebCore::AccessibilityObject::elementAccessibilityHitTest):
      (WebCore::AccessibilityObject::axObjectCache):
      (WebCore::AccessibilityObject::focusedUIElement):
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityObject::isAccessibilityScrollView):
      (WebCore::AccessibilityObject::isScrollView):
      (WebCore::AccessibilityObject::canSetNumericValue):
      (WebCore::AccessibilityObject::scrollBar):
      (WebCore::AccessibilityObject::size):
      (WebCore::AccessibilityObject::setValue):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::parentObject):
      (WebCore::AccessibilityRenderObject::accessibilityHitTest):
      (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
      (WebCore::AccessibilityRenderObject::addChildren):
      * accessibility/AccessibilityRenderObject.h:
      * accessibility/AccessibilityScrollView.cpp: Added.
      (WebCore::AccessibilityScrollView::AccessibilityScrollView):
      (WebCore::AccessibilityScrollView::create):
      (WebCore::AccessibilityScrollView::scrollBar):
      (WebCore::AccessibilityScrollView::children):
      (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
      (WebCore::AccessibilityScrollView::removeChildScrollbar):
      (WebCore::AccessibilityScrollView::addChildScrollbar):
      (WebCore::AccessibilityScrollView::addChildren):
      (WebCore::AccessibilityScrollView::webAreaObject):
      (WebCore::AccessibilityScrollView::accessibilityHitTest):
      (WebCore::AccessibilityScrollView::document):
      (WebCore::AccessibilityScrollView::elementRect):
      (WebCore::AccessibilityScrollView::parentObject):
      * accessibility/AccessibilityScrollView.h: Added.
      (WebCore::AccessibilityScrollView::roleValue):
      (WebCore::AccessibilityScrollView::scrollView):
      (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
      (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
      (WebCore::toAccessibilityScrollView):
      * accessibility/AccessibilityScrollbar.cpp:
      (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
      (WebCore::AccessibilityScrollbar::create):
      (WebCore::AccessibilityScrollbar::elementRect):
      (WebCore::AccessibilityScrollbar::document):
      (WebCore::AccessibilityScrollbar::orientation):
      (WebCore::AccessibilityScrollbar::isEnabled):
      (WebCore::AccessibilityScrollbar::valueForRange):
      (WebCore::AccessibilityScrollbar::setValue):
      * accessibility/AccessibilityScrollbar.h:
      (WebCore::AccessibilityScrollbar::setParent):
      (WebCore::AccessibilityScrollbar::canSetValueAttribute):
      (WebCore::AccessibilityScrollbar::canSetNumericValue):
      (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
      (WebCore::AccessibilityScrollbar::parentObject):
      (WebCore::AccessibilityScrollbar::roleValue):
      * accessibility/mac/AccessibilityObjectMac.mm:
      (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
      * accessibility/mac/AccessibilityObjectWrapper.mm:
      (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
      (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
      (-[AccessibilityObjectWrapper position]):
      (-[AccessibilityObjectWrapper scrollViewParent]):
      (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
      (-[AccessibilityObjectWrapper accessibilityHitTest:]):
      (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
      * dom/Document.cpp:
      (WebCore::Document::axObjectCache):
      * loader/EmptyClients.h:
      (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
      * loader/FrameLoaderClient.h:
      * page/FrameView.cpp:
      (WebCore::FrameView::~FrameView):
      (WebCore::FrameView::axObjectCache):
      * page/FrameView.h:
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::setHasHorizontalScrollbar):
      (WebCore::ScrollView::setHasVerticalScrollbar):
      * platform/Scrollbar.cpp:
      (WebCore::Scrollbar::~Scrollbar):
      (WebCore::Scrollbar::scroll):
      (WebCore::Scrollbar::axObjectCache):
      * platform/Scrollbar.h:
      * platform/Widget.h:
      (WebCore::Widget::axObjectCache):
      
      WebKit/gtk: 
      
      Use rootObject() method to get top of ax tree.
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
      * webkit/webkitwebview.cpp:
      (webkit_web_view_get_accessible):
      
      WebKit/mac: 
      
      Use rootObject() method to get top of AX tree.
      
      * WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient::accessibilityRemoteObject):
      * WebView/WebFrame.mm:
      (-[WebFrame setAccessibleName:]):
      (-[WebFrame accessibilityRoot]):
      * WebView/WebFrameInternal.h:
      * WebView/WebFramePrivate.h:
      * WebView/WebHTMLView.mm:
      (-[WebHTMLView accessibilityAttributeValue:]):
      (-[WebHTMLView accessibilityFocusedUIElement]):
      (-[WebHTMLView accessibilityHitTest:]):
      (-[WebHTMLView _accessibilityParentForSubview:]):
      
      WebKit/win: 
      
      Use rootObject() method to get the top of the AX tree.
      
      * AccessibleDocument.cpp:
      (AccessibleDocument::AccessibleDocument):
      
      WebKit2: 
      
      Implement remote accessibility API to support cross process accessibility
      on the Mac platform.
      
      * Shared/WebProcessCreationParameters.cpp:
      (WebKit::WebProcessCreationParameters::encode):
      (WebKit::WebProcessCreationParameters::decode):
      * Shared/WebProcessCreationParameters.h:
      * UIProcess/API/mac/PageClientImpl.h:
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::accessibilityChildTokenReceived):
      * UIProcess/API/mac/WKView.mm:
      (-[WKView initWithFrame:contextRef:pageGroupRef:]):
      (-[WKView _updateWindowAndViewFrames]):
      (-[WKView _setAccessibilityChildToken:]):
      (-[WKView accessibilityIsIgnored]):
      (-[WKView accessibilityHitTest:]):
      (-[WKView accessibilityAttributeValue:]):
      * UIProcess/API/mac/WKViewInternal.h:
      * UIProcess/PageClient.h:
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::ensureWebProcess):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::windowAndViewFramesChanged):
      (WebKit::WebPageProxy::didReceiveAccessibilityPageToken):
      (WebKit::WebPageProxy::sendAccessibilityPresenterToken):
      * UIProcess/WebPageProxy.h:
      * UIProcess/WebPageProxy.messages.in:
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::windowAndViewFramesChanged):
      * WebProcess/WebPage/WebPage.h:
      (WebKit::WebPage::accessibilityPosition):
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Added.
      * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Added.
      (-[AccessibilityWebPageObject setWebPage:]):
      (-[AccessibilityWebPageObject setRemoteParent:]):
      (-[AccessibilityWebPageObject dealloc]):
      (-[AccessibilityWebPageObject accessibilityIsIgnored]):
      (-[AccessibilityWebPageObject accessibilityAttributeNames]):
      (-[AccessibilityWebPageObject accessibilityIsAttributeSettable:]):
      (-[AccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
      (-[AccessibilityWebPageObject accessibilityActionNames]):
      (-[AccessibilityWebPageObject accessibilityChildren]):
      (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
      (-[AccessibilityWebPageObject accessibilityShouldUseUniqueId]):
      (-[AccessibilityWebPageObject accessibilityHitTest:]):
      (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
      * WebProcess/WebPage/mac/WebPageMac.mm:
      (WebKit::WebPage::platformInitialize):
      (WebKit::WebPage::sendAccessibilityPresenterToken):
      (WebKit::WebPage::accessibilityRemoteObject):
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::initializeWebProcess):
      * WebProcess/WebProcess.h:
      (WebKit::WebProcess::presenterApplicationPid):
      * WebProcess/mac/WebProcessMainMac.mm:
      (WebKit::WebProcessMain):
      
      LayoutTests: 
      
      * platform/mac/accessibility/webkit-scrollarea-expected.txt: Added.
      * platform/mac/accessibility/webkit-scrollarea.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa50410b
    • ddkilzer@apple.com's avatar
      <http://webkit.org/b/51889>... · 1230fa59
      ddkilzer@apple.com authored
      <http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name
      
      Reviewed by Eric Carlson.
      
      This originally broke in r61581.  It is inside an
      ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac
      build then.
      
      * WebCoreSupport/WebFrameLoaderClient.mm: Call
      (WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to
      use WebCore::PluginInfo.name instead of
      -[WebBasePluginPackage name].
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1230fa59
  9. 02 Jan, 2011 1 commit
  10. 29 Dec, 2010 1 commit
  11. 28 Dec, 2010 1 commit
    • dbates@webkit.org's avatar
      2010-12-28 Daniel Bates <dbates@rim.com> · 192a76c1
      dbates@webkit.org authored
              Reviewed by Sam Weinig.
      
              Substitute // MARK: for compiler-specific #pragma mark
              https://bugs.webkit.org/show_bug.cgi?id=51657
      
              For consistency, we should substitute "// MARK:" for compiler-
              specific "#pragma mark" in the source files for the Mac port.
      
              * History/WebHistory.mm:
              * Plugins/WebBaseNetscapePluginView.mm:
              * Plugins/WebNetscapePluginView.mm:
              * WebCoreSupport/WebInspectorClient.mm:
              * WebCoreSupport/WebSecurityOrigin.mm:
              * WebView/WebPDFView.mm:
              * WebView/WebVideoFullscreenController.mm:
              * WebView/WebVideoFullscreenHUDWindowController.mm:
      2010-12-28  Daniel Bates  <dbates@rim.com>
      
              Reviewed by Sam Weinig.
      
              Substitute // MARK: for compiler-specific #pragma mark
              https://bugs.webkit.org/show_bug.cgi?id=51657
      
              Fix compilation warnings about "#pragma mark" on GTK+ bots by
              substituting  "// MARK:" for "#pragma mark", which provides
              analogous code-bookmarking functionality under Xcode.
      
              * platform/graphics/cg/PathCG.cpp:
              * platform/graphics/mac/WebLayer.mm:
      2010-12-28  Daniel Bates  <dbates@rim.com>
      
              Reviewed by Sam Weinig.
      
              Substitute // MARK: for compiler-specific #pragma mark
              https://bugs.webkit.org/show_bug.cgi?id=51657
      
              Fix future compilation warnings about "#pragma mark" on GTK+ bots by
              substituting  "// MARK:" for "#pragma mark", which provides
              analogous code-bookmarking functionality under Xcode.
      
              Also, for consistency, we should substitute "// MARK:" for compiler-
              specific "#pragma mark" in the source files for the Mac port.
      
              * DumpRenderTree/AccessibilityTextMarker.cpp:
              * DumpRenderTree/cf/WebArchiveDumpSupport.h:
              * DumpRenderTree/mac/AccessibilityTextMarkerMac.mm:
              * DumpRenderTree/mac/ObjCController.m:
              * MiniBrowser/mac/AppDelegate.m:
              * MiniBrowser/mac/BrowserWindowController.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      192a76c1
  12. 23 Dec, 2010 3 commits
    • commit-queue@webkit.org's avatar
      2010-12-23 Yongjun Zhang <yongjun_zhang@apple.com> · cb04dc73
      commit-queue@webkit.org authored
              Reviewed by Darin Adler.
      
              WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
              https://bugs.webkit.org/show_bug.cgi?id=38535
      
              WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram.  As a result,
              if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
              WebScriptDebugger's callframe stack is wrong from this point.  That could cause crash if we trying to access the top
              call frame from this stack when an exception throws because the saved top frame could be invalid.
      
              To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
              callEvent and returnEvent.
      
              * WebView/WebScriptDebugger.mm:
              (WebScriptDebugger::willExecuteProgram):
              (WebScriptDebugger::didExecuteProgram):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb04dc73
    • weinig@apple.com's avatar
      WebKit2 needs to mirror the frame tree in the UIProcess · e3043f45
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=51546
      
      Reviewed by Darin Adler.
      
      WebCore: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * history/CachedFrame.cpp:
      (WebCore::CachedFrameBase::restore):
      (WebCore::CachedFrame::CachedFrame):
      * history/CachedFrame.h:
      * loader/EmptyClients.h:
      (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
      (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
      * loader/FrameLoaderClient.h:
      
      WebKit/chromium: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * src/FrameLoaderClientImpl.cpp:
      (WebKit::WebFrameLoaderClientImpl::didSaveToPageCache):
      (WebKit::WebFrameLoaderClientImpl::didRestoreFromPageCache):
      * src/FrameLoaderClientImpl.h:
      
      WebKit/efl: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::didSaveToPageCache):
      (WebCore::FrameLoaderClientEfl::didRestoreFromPageCache):
      * WebCoreSupport/FrameLoaderClientEfl.h:
      
      WebKit/gtk: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::didSaveToPageCache):
      (WebKit::FrameLoaderClient::didRestoreFromPageCache):
      * WebCoreSupport/FrameLoaderClientGtk.h:
      
      WebKit/haiku: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/FrameLoaderClientHaiku.cpp:
      (WebCore::FrameLoaderClientHaiku::didSaveToPageCache):
      (WebCore::FrameLoaderClientHaiku::didRestoreFromPageCache):
      * WebCoreSupport/FrameLoaderClientHaiku.h:
      
      WebKit/mac: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/WebFrameLoaderClient.h:
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::didSaveToPageCache):
      (WebFrameLoaderClient::didRestoreFromPageCache):
      
      WebKit/qt: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (WebCore::FrameLoaderClientQt::didSaveToPageCache):
      (WebCore::FrameLoaderClientQt::didRestoreFromPageCache):
      * WebCoreSupport/FrameLoaderClientQt.h:
      
      WebKit/win: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebFrameLoaderClient::didSaveToPageCache):
      (WebFrameLoaderClient::didRestoreFromPageCache):
      * WebCoreSupport/WebFrameLoaderClient.h:
      
      WebKit/wince: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebCoreSupport/FrameLoaderClientWinCE.cpp:
      (WebKit::FrameLoaderClientWinCE::didSaveToPageCache):
      (WebKit::FrameLoaderClientWinCE::didRestoreFromPageCache):
      * WebCoreSupport/FrameLoaderClientWinCE.h:
      
      WebKit/wx: 
      
      - Add client functions to notify that a frame has been added or
        removed from the page cache.
      
      * WebKitSupport/FrameLoaderClientWx.cpp:
      (WebCore::FrameLoaderClientWx::didSaveToPageCache):
      (WebCore::FrameLoaderClientWx::didRestoreFromPageCache):
      * WebKitSupport/FrameLoaderClientWx.h:
      
      WebKit2: 
      
      * UIProcess/API/C/WKFrame.cpp:
      (WKFrameCopyChildFrames):
      * UIProcess/API/C/WKFrame.h:
      Add API to get the child frames of a frame.
      
      * UIProcess/WebFrameProxy.cpp:
      (WebKit::WebFrameProxy::WebFrameProxy):
      (WebKit::WebFrameProxy::disconnect):
      (WebKit::WebFrameProxy::appendChild):
      (WebKit::WebFrameProxy::removeChild):
      (WebKit::WebFrameProxy::isDescendantOf):
      (WebKit::WebFrameProxy::dumpFrameTree):
      (WebKit::WebFrameProxy::didRemoveFromHierarchy):
      (WebKit::WebFrameProxy::childFrames):
      * UIProcess/WebFrameProxy.h:
      (WebKit::WebFrameProxy::parentFrame): Add getter.
      (WebKit::WebFrameProxy::nextSibling): Add getter.
      (WebKit::WebFrameProxy::previousSibling): Add getter.
      (WebKit::WebFrameProxy::firstChild): Add getter.
      (WebKit::WebFrameProxy::lastChild): Add getter.
      Make frames keep track of their subframes.
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::didCreateSubframe):
      Use the now passed parentID to insert the frame into the hierarchy
      
      (WebKit::WebPageProxy::didSaveFrameToPageCache):
      When a frame is added to the page cache, remove it from the hierarchy.
      
      (WebKit::WebPageProxy::didRestoreFrameFromPageCache):
      When a frame is restored from the page cache, add it back to the hierarchy.
      
      (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
      Detached frames should also be removed from the hierarchy.
      
      * UIProcess/WebPageProxy.h:
      Add new declarations for didSaveFrameToPageCache and didRestoreFrameFromPageCache.
      
      * UIProcess/WebPageProxy.messages.in:
      Add messages for DidSaveFrameToPageCache and DidRestoreFrameFromPageCache.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame): 
      (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
      Remove notImplemented, there is no work we need to do here.
      
      (WebKit::WebFrameLoaderClient::didSaveToPageCache): 
      (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
      Send message to UIProcess to indicate this happened.
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
      
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::createSubframe):
      Send parent frameID in addition to our own in the message to UIProcess.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3043f45
    • rniwa@webkit.org's avatar
      2010-12-22 Ryosuke Niwa <rniwa@webkit.org> · bfb682fd
      rniwa@webkit.org authored
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Renamed SelectionController::EDirection to SelectionDirection.
      
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::executeCommand):
      2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Renamed SelectionController::EDirection to SelectionDirection.
      
              * WebCoreSupport/EditorClientQt.cpp:
              (WebCore::EditorClientQt::handleKeyboardEvent):
      2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Renamed SelectionController::EDirection to SelectionDirection.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
              Takes SelectionDirection instead of SelectionController::EDirection.
              * WebView/WebFrameInternal.h:
              * WebView/WebTextCompletionController.mm:
              (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
      2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Renamed SelectionController::EDirection to SelectionDirection.
      
              * WebCoreSupport/EditorClientHaiku.cpp:
              (WebCore::EditorClientHaiku::handleKeyboardEvent):
      2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Renamed SelectionController::EDirection to SelectionDirection.
      
              * WebCoreSupport/EditorClientWinCE.cpp:
              (WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
      2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Renamed SelectionController::EDirection to SelectionDirection.
      
              * WebCoreSupport/EditorClientEfl.cpp:
              (WebCore::EditorClientEfl::handleEditingKeyboardEvent):
      2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Editor.h doesn't need to include SelectionController.h
              https://bugs.webkit.org/show_bug.cgi?id=51441
      
              Removed #include <Selection.h> from Editor.h.
              Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
              to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
      
              * WebCore.exp.in: Signature changes.
              * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
              * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
              * editing/Editor.cpp:
              (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
              (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
              (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
              * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
              and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
              * editing/EditorCommand.cpp:
              (WebCore::executeDeleteBackward): Change due to SelectionDirection.
              (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
              (WebCore::executeDeleteForward): Ditto.
              (WebCore::executeDeleteToBeginningOfLine): Ditto.
              (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
              (WebCore::executeDeleteToEndOfLine): Ditto.
              (WebCore::executeDeleteToEndOfParagraph): Ditto.
              (WebCore::executeDeleteWordBackward): Ditto.
              (WebCore::executeDeleteWordForward): Ditto.
              (WebCore::executeForwardDelete): Ditto.
              (WebCore::executeMoveBackward): Ditto.
              (WebCore::executeMoveBackwardAndModifySelection): Ditto.
              (WebCore::executeMoveDown): Ditto.
              (WebCore::executeMoveDownAndModifySelection): Ditto.
              (WebCore::executeMoveForward): Ditto.
              (WebCore::executeMoveForwardAndModifySelection): Ditto.
              (WebCore::executeMoveLeft): Ditto.
              (WebCore::executeMoveLeftAndModifySelection): Ditto.
              (WebCore::executeMoveRight): Ditto.
              (WebCore::executeMoveRightAndModifySelection): Ditto.
              (WebCore::executeMoveToBeginningOfDocument): Ditto.
              (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
              (WebCore::executeMoveToBeginningOfLine): Ditto.
              (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
              (WebCore::executeMoveToBeginningOfParagraph): Ditto.
              (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
              (WebCore::executeMoveToBeginningOfSentence): Ditto.
              (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
              (WebCore::executeMoveToEndOfDocument): Ditto.
              (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
              (WebCore::executeMoveToEndOfSentence): Ditto.
              (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
              (WebCore::executeMoveToEndOfLine): Ditto.
              (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
              (WebCore::executeMoveToEndOfParagraph): Ditto.
              (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
              (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
              (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
              (WebCore::executeMoveUp): Ditto.
              (WebCore::executeMoveUpAndModifySelection): Ditto.
              (WebCore::executeMoveWordBackward): Ditto.
              (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
              (WebCore::executeMoveWordForward): Ditto.
              (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
              (WebCore::executeMoveWordLeft): Ditto.
              (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
              (WebCore::executeMoveWordRight): Ditto.
              (WebCore::executeMoveWordRightAndModifySelection): Ditto.
              (WebCore::executeMoveToLeftEndOfLine): Ditto.
              (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
              (WebCore::executeMoveToRightEndOfLine): Ditto.
              (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
              (WebCore::SelectionController::modify): Ditto.
              * editing/SelectionController.h: Change due to SelectionDirection.
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::deleteKeyPressed): Ditto.
              (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
              * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
              in SelectionController.h
              * editing/WritingDirection.h: Added.
              * page/DOMSelection.cpp:
              (WebCore::DOMSelection::modify): Change due to SelectionDirection.
              (WebCore::DOMSelection::deleteFromDocument): Ditto.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
              * page/Frame.h: Includes SelectionController.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfb682fd
  13. 22 Dec, 2010 1 commit
    • simon.fraser@apple.com's avatar
      2010-12-22 Simon Fraser <simon.fraser@apple.com> · a892004c
      simon.fraser@apple.com authored
              Reviewed by Darin Adler.
      
              Cache snapshots of plug-ins before painting, to avoid script running during painting
              https://bugs.webkit.org/show_bug.cgi?id=51493
      
              When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
              or when printing), plug-ins which otherwise use the CA rendering model
              are sent a paint event. Some plug-ins may run script while handling this event,
              or out of process plug-ins may process queued requests at this time. Running
              script while inside layout or painting can have bad consequences, because it
              can result in arbitrary changes to the render tree.
      
              This patch avoids sending plug-ins paint events inside of painting. Instead,
              we ask the plug-ins to cache a snapshot before we paint, and then the software
              paint simply draws that snapshot.
      
              Requires manual test, because the bug happens when Safari does
              a page snapshot. It's not possible to tell the Test Netscape Plug-in
              to paint without laying out, making an automated test impossible.
      
              * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
      
              * page/FrameView.h:
              * page/FrameView.cpp:
              (WebCore::FrameView::paintContents): Notify all enclosed widgets
              that a flattening paint is going to happen.
              (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method
              that tells the RenderView in all subframes to notify their widgets.
      
              * platform/Widget.h:
              (WebCore::Widget::notifyWidget): Generic method that can be used
              to send messages to widgets. Current messages are just 'before flattening paint'
              and 'after flattening paint'. Message has no payload.
      
              * rendering/RenderView.h:
              * rendering/RenderView.cpp:
              (WebCore::RenderView::getRetainedWidgets):
              (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
              since we use it in two places now.
      
              (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
              (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
              them all the message.
      
              * rendering/RenderWidget.h:
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
      
              * Plugins/Hosted/WebHostedNetscapePluginView.mm:
              (-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot,
              draw it. Also only send the snapshot message to the plugin proxy if we
              know we're snapshotting, since even if creating the snapshot image failed,
              we still don't want to call to the plug-in.
      
              * Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot.
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it.
              (-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot.
      
              * Plugins/WebNetscapePluginView.mm:
              (-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it.
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it
              to cache and clear the snapshots.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a892004c
  14. 21 Dec, 2010 1 commit
  15. 16 Dec, 2010 1 commit
  16. 15 Dec, 2010 1 commit
    • cwzwarich@webkit.org's avatar
      Reviewed by Darin Adler. · 43c756bb
      cwzwarich@webkit.org authored
      Clang -Wcast-align gives an error in WebBasePluginPackage.mm
      https://bugs.webkit.org/show_bug.cgi?id=51144
      
      Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but
      we were calling it on a byte array 32 bits at a time. While this is okay in practice,
      since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's
      inline storage is at the beginning of the Vector, it is still better to fix this
      and silence the warning.
      
      * Plugins/WebBasePluginPackage.mm:
      (swapIntsInHeader):
      (-[WebBasePluginPackage isNativeLibraryData:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43c756bb
  17. 14 Dec, 2010 2 commits
    • mrowe@apple.com's avatar
      <http://webkit.org/b/51064> Reproducible crash inside... · f366860c
      mrowe@apple.com authored
      <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
      
      Reviewed by Sam Weinig.
      
      JavaScriptCore:
      
      * wtf/text/WTFString.h: Prevent String from being implicitly convertable to bool.
      It was previously implicitly convertible to bool on Mac via operator NSString*,
      but since that always has a non-zero return value it would give unexpected results.
      
      WebCore:
      
      We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
      to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.
      
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
      
      WebKit/mac:
      
      * History/WebHistoryItem.mm:
      (-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly
      always including the target in the output.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f366860c
    • ap@apple.com's avatar
      Reviewed by Adam Barth. · 362c8a84
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=50953
              DNS Prefetch should be an opt-in feature
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      362c8a84
  18. 13 Dec, 2010 3 commits
    • mthole@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=50956 · c740fc84
      mthole@apple.com authored
      WebAuthenticationPanel.nib appears to have a cut-off sentence
              
      Rubber-stamped by John Sullivan.
      
      Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text.
      The contents of this text field are updated dynamically before the sheet is displayed.
      
      * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
      * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c740fc84
    • 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
    • mdelaney@apple.com's avatar
      2010-12-09 Matthew Delaney <mdelaney@apple.com> · 9b16ce29
      mdelaney@apple.com authored
              Reviewed by Simon Fraser.
      
              Adopt new CG API for canvas
              https://bugs.webkit.org/show_bug.cgi?id=50591
      
              * WebCoreSupport/WebSystemInterface.mm:
      2010-12-09  Matthew Delaney  <mdelaney@apple.com>
      
              Reviewed by Simon Fraser.
      
              Adopt new CG API for canvas
              https://bugs.webkit.org/show_bug.cgi?id=50591
      
              No new tests. All current layout tests are sufficient.
      
              * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
              * html/canvas/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
              (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
              * platform/graphics/ImageBuffer.h:
              (WebCore::ImageBuffer::create): Plumb through new flag.
              * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
              * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
              * platform/graphics/cg/ImageBufferData.h: Add in surface ref
              * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
              * platform/graphics/qt/ImageBufferQt.cpp: ^^
              * platform/graphics/skia/ImageBufferSkia.cpp: ^^
              * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
              * platform/graphics/wx/ImageBufferWx.cpp: ^^
              * platform/mac/WebCoreSystemInterface.h: Add new method sigs
              * platform/mac/WebCoreSystemInterface.mm: ^^
              * rendering/RenderLayerBacking.cpp:
              * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b16ce29
  19. 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
  20. 09 Dec, 2010 3 commits
  21. 08 Dec, 2010 4 commits
    • aestes@apple.com's avatar
      2010-12-08 Andy Estes <aestes@apple.com> · 5c20f2f3
      aestes@apple.com authored
              Reviewed by Darin Adler.
      
              Enable pre-HTML5 parser quirks for Apple Mail.app
              https://bugs.webkit.org/show_bug.cgi?id=50727
      
              * WebView/WebView.mm:
              (-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding
              application is Mail.app.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c20f2f3
    • bweinstein@apple.com's avatar
      REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab · 314d4fe8
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50683
              
      Reviewed by John Sullivan.
      
      If our context menu item already has an action, don't overwrite the action with the context menu
      forwarder.
      
      * WebView/WebHTMLView.mm:
      (setMenuItemTarget):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      314d4fe8
    • andersca@apple.com's avatar
      Remove an unused variable. · 7062a340
      andersca@apple.com authored
      * WebView/WebDynamicScrollBarsView.mm:
      (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7062a340
    • bweinstein@apple.com's avatar
      Layering Violation in ContextMenu - member variable of type HitTestResult · ff7b94c4
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50586
              
      Reviewed by John Sullivan.
      
      WebCore: 
      
      ContextMenu had a layering violation by having a member variable of type HitTestResult, because
      classes in WebCore/platform can't know about classes in WebCore.
              
      This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
      All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
      allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
      in ContextMenuController, and the rest of the code is in the platform-specific files.
      
      No change in behavior, no new tests.
      
      * Android.mk: Removed ContextMenu.cpp.
      * CMakeLists.txt: Ditto.
      * GNUmakefile.am: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.pro: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
      (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
          of the ContextMenu.
      (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
          variable.
      (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
      (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
      (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
          This allowed us to move checkOrEnableIfNeeded from ContextMenu.
      
      These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
      All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
      of validating the menu.
      (WebCore::separatorItem): Moved from ContextMenu.
      (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
      (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
      (WebCore::selectionContainsPossibleWord): Ditto.
      (WebCore::ContextMenuController::populate): Ditto.
      (WebCore::ContextMenuController::addInspectElementItem): Ditto.
      (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
              
      * page/ContextMenuController.h:
      (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
      
      * platform/ContextMenu.cpp: Removed.
      * platform/ContextMenu.h:
      * platform/efl/ContextMenuEfl.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
      * platform/gtk/ContextMenuGtk.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Ditto.
      * platform/haiku/ContextMenuHaiku.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Ditto.
      (WebCore::ContextMenu::insertItem): Ditto.
      * platform/mac/ContextMenuMac.mm:
      (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
          the context menu.
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
      (WebCore::ContextMenu::insertItem): Ditto.
      * platform/win/ContextMenuWin.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
      * platform/wx/ContextMenuWx.cpp:
      (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
      (ContextMenu::appendItem): Ditto.
      
      WebKit/chromium: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * src/ContextMenuClientImpl.cpp:
      (WebKit::selectMisspelledWord):
      (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
      
      WebKit/gtk: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/ContextMenuClientGtk.cpp:
      (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
      
      WebKit/mac: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/WebContextMenuClient.mm:
      (WebContextMenuClient::getCustomMenuFromDefaultItems):
      (WebContextMenuClient::contextMenuItemSelected):
      * WebView/WebHTMLView.mm:
      (-[WebMenuTarget validateMenuItem:]):
      
      WebKit/qt: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * Api/qwebpage.cpp:
      (QWebPagePrivate::createContextMenu):
      (QWebPage::updatePositionDependentActions):
      
      WebKit/win: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      (WebContextMenuClient::getCustomMenuFromDefaultItems): Get the HitTestResult and ContextMenu from the 
          ContextMenuController (from the page).
      (WebContextMenuClient::contextMenuItemSelected): Get the HitTestResult from the ContextMenuController.
      * WebView.cpp:
      (WebView::handleContextMenuEvent): Ditto.
      
      WebKit2: 
      
      Update users of ContextMenu and ContextMenuController to match where the new functions 
      are located.
      
      * Shared/WebContextMenuItemData.cpp:
      (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
          the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
      * WebProcess/WebPage/WebContextMenu.cpp:
      (WebKit::WebContextMenu::show):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff7b94c4
  22. 07 Dec, 2010 3 commits
    • bweinstein@apple.com's avatar
      Part of Layering Violation in ContextMenu · 60350d69
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50586
              
      Reviewed by John Sullivan.
      
      WebCore: 
      
      ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
      a ContextMenuItem, and calling through to the ContextMenuController to validate it
      and call a function when it was selected.
              
      It was a layering violation to have this class here, because ContextMenu can't know
      about ContextMenuController.
              
      This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
      and sets up the menu targets there.
      
      No change in behavior, no new tests.
      
      * WebCore.exp.in: Added function that needs to be exported.
      * platform/mac/ContextMenuMac.mm:
      (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
      (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
      (WebCore::ContextMenu::insertItem): Ditto.
      
      WebKit/mac: 
      
      Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac
      was a layering violation. Also, make sure we set the menu item targets for all menu
      items before showing them, because the ContextMenu constructor doesn't do that anymore.
      
      * WebView/WebHTMLView.mm:
      (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm.
      (-[WebMenuTarget WebCore::]): Ditto.
      (-[WebMenuTarget setMenuController:WebCore::]): Ditto.
      (-[WebMenuTarget forwardContextMenuAction:]): Ditto.
      (-[WebMenuTarget validateMenuItem:]): Ditto.
      
      (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget.
      (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including
          submenus), and calls setMenuItemTarget on them.
      (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding
          them to the menu.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60350d69
    • darin@apple.com's avatar
      2010-12-06 Darin Adler <darin@apple.com> · 1cf3d560
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              Pass security origin to make local file decision correctly
              https://bugs.webkit.org/show_bug.cgi?id=48603
      
              * src/ApplicationCacheHost.cpp:
              (WebCore::ApplicationCacheHost::selectCacheWithManifest): Pass security origin.
              * src/FrameLoaderClientImpl.cpp:
              (WebKit::FrameLoaderClientImpl::dispatchCreatePage): Ditto.
              (WebKit::FrameLoaderClientImpl::createFrame): Ditto.
              * src/WebPluginContainerImpl.cpp:
              (WebKit::WebPluginContainerImpl::loadFrameRequest): Ditto.
      2010-12-06  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Pass security origin to make local file decision correctly
              https://bugs.webkit.org/show_bug.cgi?id=48603
      
              * Api/qwebpage.cpp:
              (frameLoadRequest): Pass security origin.
      2010-12-06  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Pass security origin to make local file decision correctly
              https://bugs.webkit.org/show_bug.cgi?id=48603
      
              * WebCoreSupport/WebContextMenuClient.cpp:
              (WebContextMenuClient::searchWithGoogle): Pass security origin.
      2010-12-06  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Pass security origin to make local file decision correctly
              https://bugs.webkit.org/show_bug.cgi?id=48603
      
              * WebView/WebPDFView.mm:
              (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin.
      2010-12-06  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Pass security origin to make local file decision correctly
              https://bugs.webkit.org/show_bug.cgi?id=48603
      
              * bindings/generic/BindingDOMWindow.h:
              (WebCore::BindingDOMWindow::createWindow): Pass security origin.
              (WebCore::BindingDOMWindow::open): Ditto.
              * bindings/generic/BindingFrame.h:
              (WebCore::BindingFrame::navigateIfAllowed): Ditto.
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation): Pass security origin.
              (WebCore::createWindow): Ditto.
              (WebCore::JSDOMWindow::open): Ditto.
      
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::setLocation): Pass security origin.
      
              * dom/Document.cpp:
              (WebCore::Document::processHttpEquiv): Pass security origin.
      
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::openInInspectedWindow):
              Pass security origin.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::changeLocation): Added a security origin
              argument, passed through to urlSelected.
              (WebCore::FrameLoader::urlSelected): Replaced the resource request
              and frame name arguments with a frame load request arguments in one
              overload, and changed the other overload to pass in the current
              frame's document for the security origin.
              (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
              check before the referrer computation because it no longer needs
              to look at the referrer. Replaced the call to canDisplay that
              used the target frame's security origin and the call to
              deprecatedCanDisplay with a single call to canDisplay that uses
              the requester security origin.
      
              * loader/FrameLoader.h: Updated for argument changes above.
      
              * loader/NavigationScheduler.cpp:
              (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
              a security origin.
              (WebCore::ScheduledURLNavigation::fire): Pass the security origin
              in to FrameLoader::changeLocation.
              (WebCore::ScheduledURLNavigation::securityOrigin): Added.
              (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
              origin argument.
              (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
              (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
              (WebCore::ScheduledRefresh::fire): Pass the security origin in to
              FrameLoader::changeLocation.
              (WebCore::ScheduledFormSubmission::fire): Include the security
              origin when constructing form submission.
              (WebCore::NavigationScheduler::scheduleRedirect): Include the security
              origin when creating the scheduled navigation object.
              (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
              (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
      
              * loader/NavigationScheduler.h: Added the security origin argument
              to scheduleLocationChange.
      
              * loader/SubframeLoader.cpp:
              (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
              origin when calling scheduleLocationChange.
              * loader/appcache/ApplicationCacheGroup.cpp:
              (WebCore::ApplicationCacheGroup::selectCache): Ditto.
      
              * page/ContextMenuController.cpp:
              (WebCore::openNewWindow): Pass in the security origin.
              (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
      
              * page/FrameLoadRequest.h: Added a security origin called the requester
              to all FrameLoadRequest objects.
      
              * page/XSSAuditor.cpp:
              (WebCore::XSSAuditor::findInRequest): Added the security origin.
      2010-12-06  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Pass security origin to make local file decision correctly
              https://bugs.webkit.org/show_bug.cgi?id=48603
      
              * WebProcess/Plugins/PluginView.cpp:
              (WebKit::PluginView::loadURL): Pass security origin.
              * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
              (WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cf3d560
    • mrobinson@webkit.org's avatar
      2010-12-07 Martin Robinson <mrobinson@igalia.com> · c289de6a
      mrobinson@webkit.org authored
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * bindings/ScriptControllerBase.cpp:
              (WebCore::ScriptController::executeIfJavaScriptURL):
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::close):
              (WebCore::Document::lastModified):
              (WebCore::Document::finishedParsing):
              (WebCore::Document::initSecurityContext):
              (WebCore::Document::updateURLForPushOrReplaceState):
              * dom/Document.h:
              * dom/ProcessingInstruction.cpp:
              (WebCore::ProcessingInstruction::checkStyleSheet):
              * dom/ScriptElement.cpp:
              (WebCore::ScriptElement::scriptCharset):
              * html/HTMLLinkElement.cpp:
              (WebCore::HTMLLinkElement::process):
              * html/MediaDocument.cpp:
              (WebCore::MediaDocument::replaceMediaElementTimerFired):
              * html/PluginDocument.cpp:
              (WebCore::PluginDocumentParser::createDocumentStructure):
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::DocumentLoader):
              (WebCore::DocumentLoader::finishedLoading):
              (WebCore::DocumentLoader::commitData):
              (WebCore::DocumentLoader::setupForReplaceByMIMEType):
              (WebCore::DocumentLoader::setFrame):
              * loader/DocumentLoader.h:
              * loader/DocumentWriter.cpp:
              (WebCore::DocumentWriter::begin):
              * loader/DocumentWriter.h:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::FrameLoader):
              (WebCore::FrameLoader::init):
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::receivedFirstData):
              (WebCore::FrameLoader::transitionToCommitted):
              (WebCore::FrameLoader::open):
              (WebCore::FrameLoader::finishedLoadingDocument):
              (WebCore::FrameLoader::addExtraFieldsToRequest):
              * loader/FrameLoader.h:
              (WebCore::FrameLoader::writer):
              * loader/cache/CachedResourceLoader.cpp:
              (WebCore::CachedResourceLoader::requestPreload):
              * platform/network/FormDataBuilder.cpp:
              (WebCore::FormDataBuilder::encodingFromAcceptCharset):
              * svg/graphics/SVGImage.cpp:
              (WebCore::SVGImage::dataChanged):
      2010-12-07  Martin Robinson  <mrobinson@igalia.com>
      
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * src/ContextMenuClientImpl.cpp:
              (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
              * src/FrameLoaderClientImpl.cpp:
              (WebKit::FrameLoaderClientImpl::finishedLoading):
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::encoding):
              (WebKit::WebFrameImpl::loadJavaScriptURL):
              * src/WebPageSerializerImpl.cpp:
              (WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
              (WebKit::WebPageSerializerImpl::serialize):
              * src/WebSearchableFormData.cpp:
              (WebCore::GetFormEncoding):
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::pageEncoding):
      2010-12-07  Martin Robinson  <mrobinson@igalia.com>
      
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::FrameLoaderClient::finishedLoading):
              * webkit/webkitwebview.cpp:
              (webkit_web_view_get_encoding):
      2010-12-07  Martin Robinson  <mrobinson@igalia.com>
      
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * WebView/WebFrame.mm:
              (-[WebFrame _canProvideDocumentSource]):
      2010-12-07  Martin Robinson  <mrobinson@igalia.com>
      
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * Api/qwebframe.cpp:
              (QWebFrame::setUrl):
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::finishedLoading):
      2010-12-07  Martin Robinson  <mrobinson@igalia.com>
      
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * WebCoreSupport/FrameLoaderClientWinCE.cpp:
              (WebKit::FrameLoaderClientWinCE::finishedLoading):
      2010-12-07  Martin Robinson  <mrobinson@igalia.com>
      
              Unreviewed, rolling out r73392.
              http://trac.webkit.org/changeset/73392
              https://bugs.webkit.org/show_bug.cgi?id=50489
      
              This commit caused crashes on the GTK+ bots
      
              * WebKitSupport/FrameLoaderClientWx.cpp:
              (WebCore::FrameLoaderClientWx::finishedLoading):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c289de6a