1. 29 Apr, 2013 1 commit
    • bdakin@apple.com's avatar
      Need a LayoutMilestone to fire when we have done our first paint after suppressing · 72d30d8b
      bdakin@apple.com authored
      incremental layout
      https://bugs.webkit.org/show_bug.cgi?id=115330
      -and corresponding-
      <rdar://problem/12722365>
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      To meet the needs of all of our clients, we really need two milestones. One 
      indicating that a layout has happened after setVisualUpdatesAllowed(true), and 
      another indicating that painting has happened.
      
      If layout is needed when setVisualUpdatesAllowed(true) is called, we need to 
      update it so that we can guarantee the first paint is really happening at this 
      time. Also fire the DidFirstLayoutAfterSuppressedIncrementalRendering milestone, 
      and call add DidFirstPaintAfterSuppressedIncrementalRendering to the FrameView's 
      pending paint milestones. 
      up the painting milestone.
      * dom/Document.cpp:
      (WebCore::Document::setVisualUpdatesAllowed):
      
      FrameView now stores m_milestonesPendingPaint. We'll send and clear them once we 
      have painted.
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::paintContents):
      (WebCore::FrameView::addPaintPendingMilestones):
      (WebCore::FrameView::firePaintRelatedMilestones):
      * page/FrameView.h:
      (WebCore::FrameView::milestonesPendingPaint):
      
      Two new milestones.
      * page/LayoutMilestones.h:
      (WebCore):
      
      We don't need m_headerLayerAwaitingFirstFlush anymore since we can use FrameView's 
      pending paint milestones instead.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::RenderLayerCompositor):
      (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
      (WebCore::RenderLayerCompositor::updateLayerForHeader):
      * rendering/RenderLayerCompositor.h:
      (RenderLayerCompositor):
      
      Source/WebKit2: 
      
      Two new millstones.
      * Shared/API/c/WKPageLoadTypes.h:
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toWKLayoutMilestones):
      (WebKit::toLayoutMilestones):
      
      This null-check is necessary now since this code ends up running at 
      WebFrame::init() time while we're setting up the Document. 
      setVisualUpdatesAllowed(true) has always been called as a part of that process, 
      and now the updateLayout(), ends up calling this code too, but we don't actually 
      have a mainFrame yet since it's still being created.
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::findLargestFrameInFrameSet):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72d30d8b
  2. 16 Apr, 2013 1 commit
    • bdakin@apple.com's avatar
      Need a new layout milestone to notify bundle clients when the header has been · 60d628f6
      bdakin@apple.com authored
      flushed
      https://bugs.webkit.org/show_bug.cgi?id=114706
      -and corresponding-
      <rdar://problem/13657284>
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      New LayoutMilestone is DidFirstFlushForHeaderLayer.
      * page/LayoutMilestones.h:
              
      New API to allow removing a LayoutMilestone.
      * WebCore.exp.in:
      * page/Page.cpp:
      (WebCore::Page::removeLayoutMilestones):
      * page/Page.h:
      (Page):
      
      New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
      we need to send the DidFirstFlushForHeaderLayer milestone.
      * rendering/RenderLayerCompositor.h:
      (RenderLayerCompositor):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::RenderLayerCompositor):
      
      Send the milestone if appropriate.
      (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
      
       Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
      (WebCore::RenderLayerCompositor::updateLayerForHeader):
      
      Source/WebKit2: 
      
      Make this new LayoutMilestone private at the API layer. 
      * Shared/API/c/WKPageLoadTypes.h:
      * Shared/API/c/WKPageLoadTypesPrivate.h: Added.
      
      Handle the new milestone.
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toWKLayoutMilestones):
      (WebKit::toLayoutMilestones):
      
      New file to make the milestone private.
      * WebKit2.xcodeproj/project.pbxproj:
      
      Add or remove the DidFirstFlushForHeaderLayer millstone based on whether we just 
      added or removed a header.
      * WebProcess/WebPage/mac/WebPageMac.mm:
      (WebKit::WebPage::setHeaderLayerWithHeight):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60d628f6
  3. 25 Sep, 2012 1 commit
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=95397 · 0b27e9af
      bdakin@apple.com authored
      Need to merge didFirstVisuallyNonEmptyLayout and 
      didNewFirstVisuallyNonEmptyLayout
      -and corresponding-
      <rdar://problem/10791680>
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      This patch merges didFirstLayout, didFirstVisuallyNonEmptyLayout, 
      and didNewFirstVisuallyNonEmptyLayout. Page keeps track of which 
      layout milestones we are interested in with a bit mask, so that 
      different ports/clients can opt-into different milestones. This 
      will allow us to safely add more layout milestones in the future 
      if that seems worthwhile.
      
      Include new file LayoutMilestoneOptions.h
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
      by dispatchDidLayout(LayoutMilestoneOptions)
      * loader/EmptyClients.h:
      (WebCore::EmptyFrameLoaderClient::dispatchDidLayout):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::didLayout):
      * loader/FrameLoader.h:
      (FrameLoader):
      * loader/FrameLoaderClient.h:
      (FrameLoaderClient):
      (WebCore::FrameLoaderClient::dispatchDidLayout):
      * page/LayoutMilestoneOptions.h: Added.
      (WebCore):
      
      Check with Page to find out which layout milestones the client is 
      interested in, and then dispatch the notifications when 
      appropriate.
      * page/FrameView.cpp:
      (WebCore::FrameView::performPostLayoutTasks):
      
      Remove setRelevantRepaintedObjectsCounterThreshold(). Instead keep 
      track of the layout milestones bit mask.
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::addLayoutMilestones):
      (WebCore):
      (WebCore::Page::isCountingRelevantRepaintedObjects):
      (WebCore::Page::addRelevantRepaintedObject):
      * page/Page.h:
      (Page):
      (WebCore::Page::layoutMilestones):
      
      Source/WebKit/blackberry: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientBlackBerry.h:
      (FrameLoaderClientBlackBerry):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      
      Source/WebKit/chromium: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * src/FrameLoaderClientImpl.cpp:
      (WebKit::FrameLoaderClientImpl::dispatchDidLayout):
      * src/FrameLoaderClientImpl.h:
      (FrameLoaderClientImpl):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * src/WebHelperPluginImpl.cpp:
      (WebKit::WebHelperPluginImpl::initPage):
      * src/WebPagePopupImpl.cpp:
      (WebKit::WebPagePopupImpl::initPage):
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::WebViewImpl):
      
      Source/WebKit/efl: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientEfl.h:
      (FrameLoaderClientEfl):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * ewk/ewk_view.cpp:
      (_ewk_view_priv_new):
      
      Source/WebKit/gtk: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientGtk.h:
      (FrameLoaderClient):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * webkit/webkitwebview.cpp:
      (webkit_web_view_init):
      
      Source/WebKit/mac: 
      
      The new API has two parts. First, the client has to opt into which 
      layout milestones they are interested in hearing about using 
      [WebView _layoutMilestones]. Then, WebKit will call 
      the WebFrameLoader delegate's didLayout(WebLayoutMilestones) 
      callback when the specified layout milestones have fired. 
      didLayout takes the WebLayoutMilestones bit mask, which will 
      indicate which milestones have fired since it is possible for two 
      to fire at the same time.
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
      by dispatchDidLayout(LayoutMilestones)
      * WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient):
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::dispatchDidLayout):
      
      Add new function to the delegate for didLayout.
      * WebView/WebDelegateImplementationCaching.h:
      (WebFrameLoadDelegateImplementationCache):
      
      We need a delegate template that takes an NSUInteger.
      * WebView/WebDelegateImplementationCaching.mm:
      (CallDelegate):
      (CallFrameLoadDelegate):
      
      Convert between WebCore and WebKit versions of the bit mask.
      * WebView/WebView.mm:
      (coreLayoutMilestones):
      (kitLayoutMilestones):
      
      Add new delegate, and set the appropriate layout milestones in 
      WebCore based on old delegates having implementations.
      (-[WebView _cacheFrameLoadDelegateImplementations]):
      
      Call into WebCore.
      (-[WebView _listenForLayoutMilestones:]):
      (-[WebView _layoutMilestones]):
      * WebView/WebViewInternal.h:
      * WebView/WebViewPrivate.h:
      
      Source/WebKit/qt: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (WebCore::FrameLoaderClientQt::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientQt.h:
      (FrameLoaderClientQt):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * Api/qwebpage.cpp:
      (QWebPagePrivate::QWebPagePrivate):
      
      Source/WebKit/win: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
      * WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebFrameLoaderClient::dispatchDidLayout):
      * WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient):
      
      It is now necessary to opt into getting any of the 
      "layout milestone" notifications.
      * WebView.cpp:
      (WebView::initWithFrame):
      
      Source/WebKit/wince: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestones)
      * WebCoreSupport/FrameLoaderClientWinCE.cpp:
      (WebKit::FrameLoaderClientWinCE::dispatchDidLayout):
      * WebCoreSupport/FrameLoaderClientWinCE.h:
      (FrameLoaderClientWinCE):
      
      Source/WebKit/wx: 
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality 
      is now replaced by dispatchDidLayout(LayoutMilestones)
      * WebKitSupport/FrameLoaderClientWx.cpp:
      (WebCore::FrameLoaderClientWx::dispatchDidLayout):
      * WebKitSupport/FrameLoaderClientWx.h:
      (FrameLoaderClientWx):
      
      Source/WebKit2: 
      
      The new API has two parts. First, the client has to opt into which 
      layout milestones they are interested in hearing about using 
      WKPageListenForLayoutMilestones or 
      WKBundlePageListenForLayoutMilestones(). Then, WebKit will call 
      the didLayout(WKLayoutMilestones) callback on the appropriate 
      clients when the specified layout milestones have fired. didLayout 
      takes the WKLayoutMilestones bit mask, which will indicate which 
      milestones have fired since it is possible for two to fire at the 
      same time.
      
      Define WKLayoutMilestoneOptions.
      * Shared/API/c/WKPageLoadTypes.h:
      
      Define conversions between WKLayoutMilestoneOptions and 
      WebCore::LayoutMilestoneOptions
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toWKLayoutMilestoneOptions):
      (WebKit):
      (WebKit::toLayoutMilestoneOptions):
      
      New API.
      * UIProcess/API/C/WKPage.cpp:
      (WKPageListenForLayoutMilestones):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/WebLoaderClient.cpp:
      (WebKit::WebLoaderClient::didLayout):
      (WebKit):
      * UIProcess/WebLoaderClient.h:
      (WebLoaderClient):
      
      didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
      and didNewFirstVisuallyNonEmptyLayout are now implemented with 
      didLayout under the hood. So if those old callbacks have been 
      defined, be sure to add the appropriate layout milestones here for 
      backwards-compatibility.
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::initializeLoaderClient):
      
      New API.
      (WebKit::WebPageProxy::listenForLayoutMilestones):
      (WebKit):
      (WebKit::WebPageProxy::didLayout):
      * UIProcess/WebPageProxy.h:
      (WebPageProxy):
      * UIProcess/WebPageProxy.messages.in:
      
      New API. And remove the now-unnecessary 
      WKBundlePageSetPaintedObjectsCounterThreshold. 
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageListenForLayoutMilestones):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
      
      New API.
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
      (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout):
      (WebKit):
      (WebKit::InjectedBundlePageLoaderClient::didLayout):
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
      (InjectedBundlePageLoaderClient):
      
      Remove dispatchDidFirstLayout, 
      dispatchDidFirstVisuallyNonEmptyLayout, and 
      dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 
      by dispatchDidLayout(LayoutMilestoneOptions)
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidLayout):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
      (WebFrameLoaderClient):
      
      didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 
      and didNewFirstVisuallyNonEmptyLayout are now implemented with 
      didLayout under the hood. So if those old callbacks have been 
      defined, be sure to add the appropriate layout milestones here for 
      backwards-compatibility.
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::initializeInjectedBundleLoaderClient):
      (WebKit):
      
      Call into WebCore to set the layout milestones.
      (WebKit::WebPage::listenForLayoutMilestones):
      * WebProcess/WebPage/WebPage.h:
      (WebPage):
      * WebProcess/WebPage/WebPage.messages.in:
      
      Account for the new member of PageLoadClient.
      * WebProcess/qt/QtBuiltinBundlePage.cpp:
      (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
      
      Tools: 
      
      Account for the new member of the PageLoadClient.
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController awakeFromNib]):
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::InjectedBundlePage):
      * WebKitTestRunner/TestController.cpp:
      (WTR::TestController::initialize):
      
      The NewFirstVisuallyNonEmptyLayoutForImages has existed for a while, 
      but it did not have the right target membership.
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      
      Use new didLayout API instead of old 
      didNewFirstVisuallyNonEmptyLayout API.
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
      (TestWebKitAPI):
      (TestWebKitAPI::didLayout):
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::TEST):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b27e9af
  4. 15 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move WebKit2 into Source · be159d97
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=52438
      
      Rubber-stamped by Eric Seidel.
      
      .: 
      
      Update reference to WebKit2.
      
      * DerivedSources.pro:
      * GNUmakefile.am:
      * Makefile:
      * Source/cmake/WebKitPackaging.cmake:
      * WebKit.pro:
      * configure.ac:
      
      Source/WebCore: 
      
      * WebCore.pro:
      
      Source/WebKit2: 
      
      * DerivedSources.pro:
      * GNUmakefile.am:
      * WebKit2.pro:
      * WebProcess.pro:
      * win/WebKit2.vcproj:
      * win/WebKit2WebProcess.vcproj:
      
      Tools: 
      
      * MiniBrowser/qt/MiniBrowser.pro:
      * Scripts/build-webkit:
      * Scripts/do-file-rename:
      * Scripts/do-webcore-rename:
      * Scripts/test-webkitpy:
      * Scripts/webkitdirs.pm:
      * Scripts/webkitpy/style/checker.py:
      * WebKitTestRunner/DerivedSources.pro:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
      * WebKitTestRunner/qt/WebKitTestRunner.pro:
      
      WebKit/win: 
      
      Update reference to WebKit2.
      
      * WebKit.vcproj/WebKit.sln:
      
      Websites/bugs.webkit.org: 
      
      Remove WebKit2 from the list of top-level source directories.
      
      * PrettyPatch/PrettyPatch.rb:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be159d97
  5. 06 Dec, 2010 1 commit
    • weinig@apple.com's avatar
      Generalize didChangeLocationWithinPageForFrame for all same document navigations · a7fa4376
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=50584
      
      Reviewed by Anders Carlsson.
      
      WebKit2: 
      
        - Rename didChangeLocationWithinPageForFrame callbacks to didSameDocumentNavigationForFrame
        - Add WKSameDocumentNavigationType to didChangeLocationWithinPageForFrame.
        - Call didSameDocumentNavigationForFrame for HTML session state changes.
      
      * Shared/API/c/WKPageLoadTypes.h: Added.
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toAPI):
      Moved WKFrameNavigationType here from WKPage.h and add WKSameDocumentNavigationType.
      
      * Shared/SameDocumentNavigationType.h: Added.
      * UIProcess/API/C/WKAPICast.h:
      Moved WKFrameNavigationType conversion from here.
      
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/qt/qwkpage.cpp:
      (QWKPage::QWKPage):
      Update comment.
      
      * UIProcess/WebFrameProxy.cpp:
      (WebKit::WebFrameProxy::didSameDocumentNavigation):
      * UIProcess/WebFrameProxy.h:
      * UIProcess/WebLoaderClient.cpp:
      (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
      * UIProcess/WebLoaderClient.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
      * UIProcess/WebPageProxy.h:
      * UIProcess/WebPageProxy.messages.in:
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
      (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
      Pipe new name through.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
      (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
      (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
      (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
      Call didChangeLocationWithinPageForFrame for session state changes.
      
      * WebKit2.pro:
      * WebKit2.xcodeproj/project.pbxproj:
      * win/WebKit2.vcproj:
      * win/WebKit2Generated.make:
      Add new files.
      
      WebKitTools: 
      
      * MiniBrowser/mac/BrowserWindowController.m:
      (didSameDocumentNavigationForFrame):
      (-[BrowserWindowController awakeFromNib]):
      (-[BrowserWindowController didSameDocumentNavigationForFrame:]):
      * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
      (TestWebKitAPI::didSameDocumentNavigationForFrame):
      (TestWebKitAPI::TEST):
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::InjectedBundlePage):
      (WTR::InjectedBundlePage::didSameDocumentNavigationForFrame):
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
      * WebKitTestRunner/TestController.cpp:
      (WTR::TestController::initialize):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7fa4376
  6. 27 Sep, 2010 1 commit
  7. 26 Sep, 2010 1 commit
    • weinig@apple.com's avatar
      Move shared WebKit2 API (used by both bundle and main API) to WebKit2/Shared/API · e7ef4326
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=46587
      
      Reviewed by Anders Carlsson.
      
      WebKit2: 
      
      - Moves shared types (WKArrayRef, WKDictionaryRef, etc) to Shared/API/c.
      - Removes WKBundleBase.h and moves all opaque type declarations to WKBase.h (which
        moves to Shared/API/c).
      - Adds WKSharedAPICast.h which includes shared API casting logic and is included
        by both WKAPICast.h and WKBundleAPICast.h now. Moved to using macros for API 
        mappings to reduce verbosity.
      - Move windows c API files from UIProcess/API/win to UIProcess/API/C/win.
      
      * Shared/API: Added.
      * Shared/API/c: Added.
      * Shared/API/c/WKArray.cpp: Copied from UIProcess/API/C/WKArray.cpp.
      * Shared/API/c/WKArray.h: Copied from UIProcess/API/C/WKArray.h.
      * Shared/API/c/WKBase.h: Copied from UIProcess/API/C/WKBase.h.
      * Shared/API/c/WKCertificateInfo.cpp: Copied from UIProcess/API/C/WKCertificateInfo.cpp.
      * Shared/API/c/WKCertificateInfo.h: Copied from UIProcess/API/C/WKCertificateInfo.h.
      * Shared/API/c/WKData.cpp: Copied from UIProcess/API/C/WKData.cpp.
      * Shared/API/c/WKData.h: Copied from UIProcess/API/C/WKData.h.
      * Shared/API/c/WKDictionary.cpp: Copied from UIProcess/API/C/WKDictionary.cpp.
      * Shared/API/c/WKDictionary.h: Copied from UIProcess/API/C/WKDictionary.h.
      * Shared/API/c/WKError.cpp: Copied from UIProcess/API/C/WKError.cpp.
      * Shared/API/c/WKError.h: Copied from UIProcess/API/C/WKError.h.
      * Shared/API/c/WKMutableArray.cpp: Copied from UIProcess/API/C/WKMutableArray.cpp.
      * Shared/API/c/WKMutableArray.h: Copied from UIProcess/API/C/WKMutableArray.h.
      * Shared/API/c/WKMutableDictionary.cpp: Copied from UIProcess/API/C/WKMutableDictionary.cpp.
      * Shared/API/c/WKMutableDictionary.h: Copied from UIProcess/API/C/WKMutableDictionary.h.
      * Shared/API/c/WKNumber.cpp: Copied from UIProcess/API/C/WKNumber.cpp.
      * Shared/API/c/WKNumber.h: Copied from UIProcess/API/C/WKNumber.h.
      * Shared/API/c/WKSerializedScriptValue.cpp: Copied from UIProcess/API/C/WKSerializedScriptValue.cpp.
      * Shared/API/c/WKSerializedScriptValue.h: Copied from UIProcess/API/C/WKSerializedScriptValue.h.
      * Shared/API/c/WKSharedAPICast.h: Copied from UIProcess/API/C/WKAPICast.h.
      * Shared/API/c/WKString.cpp: Copied from UIProcess/API/C/WKString.cpp.
      * Shared/API/c/WKString.h: Copied from UIProcess/API/C/WKString.h.
      * Shared/API/c/WKType.cpp: Copied from UIProcess/API/C/WKType.cpp.
      * Shared/API/c/WKType.h: Copied from UIProcess/API/C/WKType.h.
      * Shared/API/c/WKURL.cpp: Copied from UIProcess/API/C/WKURL.cpp.
      * Shared/API/c/WKURL.h: Copied from UIProcess/API/C/WKURL.h.
      * Shared/API/c/WKURLRequest.cpp: Copied from UIProcess/API/C/WKURLRequest.cpp.
      * Shared/API/c/WKURLRequest.h: Copied from UIProcess/API/C/WKURLRequest.h.
      * Shared/API/c/WKURLResponse.cpp: Copied from UIProcess/API/C/WKURLResponse.cpp.
      * Shared/API/c/WKURLResponse.h: Copied from UIProcess/API/C/WKURLResponse.h.
      * Shared/API/c/cf: Copied from UIProcess/API/C/cf.
      * Shared/API/c/mac: Copied from UIProcess/API/C/mac.
      * Shared/API/c/win: Added.
      * Shared/API/c/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
      * Shared/API/c/win/WKCertificateInfoWin.cpp: Copied from UIProcess/API/C/win/WKCertificateInfoWin.cpp.
      * Shared/API/c/win/WKCertificateInfoWin.h: Copied from UIProcess/API/C/win/WKCertificateInfoWin.h.
      * UIProcess/API/C/WKAPICast.h: Replaced.
      * UIProcess/API/C/WKArray.cpp: Removed.
      * UIProcess/API/C/WKArray.h: Removed.
      * UIProcess/API/C/WKBase.h: Removed.
      * UIProcess/API/C/WKCertificateInfo.cpp: Removed.
      * UIProcess/API/C/WKCertificateInfo.h: Removed.
      * UIProcess/API/C/WKData.cpp: Removed.
      * UIProcess/API/C/WKData.h: Removed.
      * UIProcess/API/C/WKDictionary.cpp: Removed.
      * UIProcess/API/C/WKDictionary.h: Removed.
      * UIProcess/API/C/WKError.cpp: Removed.
      * UIProcess/API/C/WKError.h: Removed.
      * UIProcess/API/C/WKMutableArray.cpp: Removed.
      * UIProcess/API/C/WKMutableArray.h: Removed.
      * UIProcess/API/C/WKMutableDictionary.cpp: Removed.
      * UIProcess/API/C/WKMutableDictionary.h: Removed.
      * UIProcess/API/C/WKNumber.cpp: Removed.
      * UIProcess/API/C/WKNumber.h: Removed.
      * UIProcess/API/C/WKSerializedScriptValue.cpp: Removed.
      * UIProcess/API/C/WKSerializedScriptValue.h: Removed.
      * UIProcess/API/C/WKString.cpp: Removed.
      * UIProcess/API/C/WKString.h: Removed.
      * UIProcess/API/C/WKType.cpp: Removed.
      * UIProcess/API/C/WKType.h: Removed.
      * UIProcess/API/C/WKURL.cpp: Removed.
      * UIProcess/API/C/WKURL.h: Removed.
      * UIProcess/API/C/WKURLRequest.cpp: Removed.
      * UIProcess/API/C/WKURLRequest.h: Removed.
      * UIProcess/API/C/WKURLResponse.cpp: Removed.
      * UIProcess/API/C/WKURLResponse.h: Removed.
      * UIProcess/API/C/cf: Removed.
      * UIProcess/API/C/cf/WKStringCF.cpp: Removed.
      * UIProcess/API/C/cf/WKStringCF.h: Removed.
      * UIProcess/API/C/cf/WKURLCF.cpp: Removed.
      * UIProcess/API/C/cf/WKURLCF.h: Removed.
      * UIProcess/API/C/cf/WKURLRequestCF.cpp: Removed.
      * UIProcess/API/C/cf/WKURLRequestCF.h: Removed.
      * UIProcess/API/C/cf/WKURLResponseCF.cpp: Removed.
      * UIProcess/API/C/cf/WKURLResponseCF.h: Removed.
      * UIProcess/API/C/mac: Removed.
      * UIProcess/API/C/mac/WKCertificateInfoMac.h: Removed.
      * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Removed.
      * UIProcess/API/C/mac/WKURLRequestNS.h: Removed.
      * UIProcess/API/C/mac/WKURLRequestNS.mm: Removed.
      * UIProcess/API/C/mac/WKURLResponseNS.h: Removed.
      * UIProcess/API/C/mac/WKURLResponseNS.mm: Removed.
      * UIProcess/API/C/win/WKAPICastWin.h: Copied from UIProcess/API/win/WKAPICastWin.h.
      * UIProcess/API/C/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
      * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Removed.
      * UIProcess/API/C/win/WKCertificateInfoWin.h: Removed.
      * UIProcess/API/C/win/WKView.cpp: Copied from UIProcess/API/win/WKView.cpp.
      * UIProcess/API/C/win/WKView.h: Copied from UIProcess/API/win/WKView.h.
      * UIProcess/API/win: Removed.
      * UIProcess/API/win/WKAPICastWin.h: Removed.
      * UIProcess/API/win/WKBaseWin.h: Removed.
      * UIProcess/API/win/WKView.cpp: Removed.
      * UIProcess/API/win/WKView.h: Removed.
      * WebKit2.pro:
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/InjectedBundle/API/c/WKBundle.h:
      * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
      * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Removed.
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
      * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
      * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
      * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
      * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
      * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h:
      * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
      * win/WebKit2.vcproj:
      * win/WebKit2Generated.make:
      
      WebKitTools: 
      
      * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7ef4326
  8. 01 Sep, 2010 1 commit
    • weinig@apple.com's avatar
      Change ImmutableArray to be backed by a Vector · ab000789
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=45064
      
      Reviewed by John Sullivan.
      
      Change ImmutableArray to be backed by a Vector to work toward having 
      a mutable subclass and to improve the API when working with it in WebKit2
      itself.
      
      - Also remove WKArrayCreateAdoptingValues which was confusing and unused.
      
      * Shared/ImmutableArray.cpp:
      (WebKit::ImmutableArray::ImmutableArray):
      (WebKit::ImmutableArray::~ImmutableArray):
      * Shared/ImmutableArray.h:
      (WebKit::ImmutableArray::adopt):
      (WebKit::ImmutableArray::at):
      (WebKit::ImmutableArray::size):
      * Shared/ImmutableDictionary.cpp:
      (WebKit::ImmutableDictionary::keys):
      * UIProcess/API/C/WKArray.cpp:
      * UIProcess/API/C/WKArray.h:
      * UIProcess/WebBackForwardList.cpp:
      (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
      (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
      * UIProcess/WebContext.cpp:
      (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::childFrames):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab000789
  9. 21 Aug, 2010 1 commit
    • weinig@apple.com's avatar
      Remove specialized retain/release functions in favor of a single one for WKTypeRefs · 61512437
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=44386
      
      Reviewed by Dan Bernstein.
      
      WebKit2: 
      
      * UIProcess/API/C/WKArray.cpp:
      (WKArrayGetSize):
      * UIProcess/API/C/WKArray.h:
      * UIProcess/API/C/WKBackForwardList.cpp:
      (WKBackForwardListCopyForwardListWithLimit):
      * UIProcess/API/C/WKBackForwardList.h:
      * UIProcess/API/C/WKBackForwardListItem.cpp:
      (WKBackForwardListItemCopyTitle):
      * UIProcess/API/C/WKBackForwardListItem.h:
      * UIProcess/API/C/WKBase.h:
      * UIProcess/API/C/WKContext.cpp:
      * UIProcess/API/C/WKContext.h:
      * UIProcess/API/C/WKData.cpp:
      (WKDataGetSize):
      * UIProcess/API/C/WKData.h:
      * UIProcess/API/C/WKDictionary.cpp:
      (WKDictionaryCopyKeys):
      * UIProcess/API/C/WKDictionary.h:
      * UIProcess/API/C/WKError.h:
      * UIProcess/API/C/WKFormSubmissionListener.cpp:
      (WKFormSubmissionListenerContinue):
      * UIProcess/API/C/WKFormSubmissionListener.h:
      * UIProcess/API/C/WKFrame.cpp:
      (WKFrameGetPage):
      * UIProcess/API/C/WKFrame.h:
      * UIProcess/API/C/WKFramePolicyListener.cpp:
      (WKFramePolicyListenerIgnore):
      * UIProcess/API/C/WKFramePolicyListener.h:
      * UIProcess/API/C/WKNavigationData.cpp:
      (WKNavigationDataCopyURL):
      * UIProcess/API/C/WKNavigationData.h:
      * UIProcess/API/C/WKPage.cpp:
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/C/WKPageNamespace.cpp:
      (WKPageNamespaceGetContext):
      * UIProcess/API/C/WKPageNamespace.h:
      * UIProcess/API/C/WKPreferences.cpp:
      (WKPreferencesCreate):
      (WKPreferencesGetLocalStorageEnabled):
      * UIProcess/API/C/WKPreferences.h:
      * UIProcess/API/C/WKString.cpp:
      * UIProcess/API/C/WKString.h:
      * UIProcess/API/C/WKType.cpp:
      (WKRetain):
      (WKRelease):
      * UIProcess/API/C/WKType.h:
      * UIProcess/API/C/WKURL.cpp:
      (WKURLGetTypeID):
      * UIProcess/API/C/WKURL.h:
      * UIProcess/API/cpp/WKRetainPtr.h:
      * UIProcess/API/win/WKView.cpp:
      * UIProcess/API/win/WKView.h:
      * UIProcess/WebPreferences.cpp:
      (WebKit::WebPreferences::shared):
      * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
      (WKBundleNodeHandleGetTypeID):
      * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
      * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
      (WKBundleScriptWorldNormalWorld):
      * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
      
      WebKitTools: 
      
      * MiniBrowser/mac/AppDelegate.m:
      (didRecieveMessageFromInjectedBundle):
      (didNavigateWithNavigationData):
      (-[BrowserAppDelegate init]):
      (-[BrowserAppDelegate applicationWillTerminate:]):
      * MiniBrowser/mac/BrowserStatisticsWindowController.m:
      (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]):
      (-[BrowserStatisticsWindowController dealloc]):
      * MiniBrowser/mac/BrowserWindowController.m:
      (-[BrowserWindowController initWithPageNamespace:]):
      (-[BrowserWindowController fetch:]):
      (-[BrowserWindowController windowWillClose:]):
      (-[BrowserWindowController applicationTerminating]):
      (closePage):
      (runJavaScriptAlert):
      (runJavaScriptConfirm):
      (runJavaScriptPrompt):
      (-[BrowserWindowController updateProvisionalURLForFrame:]):
      * MiniBrowser/mac/WebBundle/WebBundleMain.m:
      (didClearWindowObjectForFrame):
      * MiniBrowser/win/BrowserView.cpp:
      (BrowserView::goToURL):
      * WebKitTestRunner/win/PlatformWebViewWin.cpp:
      (WTR::PlatformWebView::~PlatformWebView):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61512437
  10. 15 Aug, 2010 1 commit
  11. 30 Jul, 2010 1 commit
    • weinig@apple.com's avatar
      Patch for https://bugs.webkit.org/show_bug.cgi?id=43275 · ff07b5e1
      weinig@apple.com authored
      Make WKArrayRef more usable.
      
      Reviewed by Anders Carlsson.
      
      WebKit2: 
      
      - Add Create functions.
      - Make WKArrayGetItemAtIndex return a WKTypeRef.
      
      * UIProcess/API/C/WKArray.cpp:
      (WKArrayCreate):
      (WKArrayCreateAdoptingValues):
      (WKArrayGetItemAtIndex):
      * UIProcess/API/C/WKArray.h:
      
      WebKitTools: 
      
      Remove now unnecessary const_casts.
      
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::dumpDescendantFrameScrollPositions):
      (WTR::dumpDescendantFramesText):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff07b5e1
  12. 28 Jul, 2010 1 commit
    • weinig@apple.com's avatar
      Patch for https://bugs.webkit.org/show_bug.cgi?id=43163 · 438853f8
      weinig@apple.com authored
      Add a CF-style base type (WKTypeRef) as a base for polymorphic functions.
      
      Reviewed by Darin Adler.
      
      - Add first polymorphic function, WKGetTypeID.
      - Add functions to each WK type to get their respective TypeIDs.
      - Adds WebURL to complement WebString.
      
      * Shared/APIObject.h:
      (WebKit::APIObject::):
      (WebKit::APIObject::~APIObject):
      * Shared/ImmutableArray.h:
      (WebKit::ImmutableArray::type):
      * Shared/WebString.h:
      (WebKit::WebString::type):
      * Shared/WebURL.h: Added.
      (WebKit::WebURL::create):
      (WebKit::WebURL::type):
      (WebKit::WebURL::isNull):
      (WebKit::WebURL::isEmpty):
      (WebKit::WebURL::string):
      (WebKit::WebURL::WebURL):
      * UIProcess/API/C/WKAPICast.h:
      (WebKit::ProxyingRefPtr::ProxyingRefPtr):
      (WebKit::ProxyingRefPtr::operator APIType):
      (toRef):
      (toURLRef):
      (toCopiedURLRef):
      * UIProcess/API/C/WKArray.cpp:
      (WKArrayGetTypeID):
      * UIProcess/API/C/WKArray.h:
      * UIProcess/API/C/WKBackForwardList.cpp:
      (WKBackForwardListGetTypeID):
      * UIProcess/API/C/WKBackForwardList.h:
      * UIProcess/API/C/WKBackForwardListItem.cpp:
      (WKBackForwardListItemGetTypeID):
      * UIProcess/API/C/WKBackForwardListItem.h:
      * UIProcess/API/C/WKBase.h:
      * UIProcess/API/C/WKContext.cpp:
      (WKContextGetTypeID):
      * UIProcess/API/C/WKContext.h:
      * UIProcess/API/C/WKFrame.cpp:
      (WKFrameGetTypeID):
      * UIProcess/API/C/WKFrame.h:
      * UIProcess/API/C/WKFramePolicyListener.cpp:
      (WKFramePolicyListenerGetTypeID):
      * UIProcess/API/C/WKFramePolicyListener.h:
      * UIProcess/API/C/WKNavigationData.cpp:
      (WKNavigationDataGetTypeID):
      * UIProcess/API/C/WKNavigationData.h:
      * UIProcess/API/C/WKPage.cpp:
      (WKPageGetTypeID):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/C/WKPageNamespace.cpp:
      (WKPageNamespaceGetTypeID):
      * UIProcess/API/C/WKPageNamespace.h:
      * UIProcess/API/C/WKPreferences.cpp:
      (WKPreferencesGetTypeID):
      * UIProcess/API/C/WKPreferences.h:
      * UIProcess/API/C/WKString.cpp:
      (WKStringGetTypeID):
      * UIProcess/API/C/WKString.h:
      * UIProcess/API/C/WKType.cpp: Added.
      (WKGetTypeID):
      * UIProcess/API/C/WKType.h: Added.
      * UIProcess/API/C/WKURL.cpp:
      (WKURLGetTypeID):
      * UIProcess/API/C/WKURL.h:
      * UIProcess/API/win/WKView.cpp:
      (WKViewGetTypeID):
      * UIProcess/API/win/WKView.h:
      * UIProcess/WebBackForwardList.h:
      (WebKit::WebBackForwardList::type):
      * UIProcess/WebBackForwardListItem.h:
      (WebKit::WebBackForwardListItem::type):
      * UIProcess/WebContext.h:
      (WebKit::WebContext::type):
      * UIProcess/WebFramePolicyListenerProxy.h:
      (WebKit::WebFramePolicyListenerProxy::type):
      * UIProcess/WebFrameProxy.h:
      (WebKit::WebFrameProxy::type):
      * UIProcess/WebNavigationData.h:
      (WebKit::WebNavigationData::type):
      * UIProcess/WebPageNamespace.h:
      (WebKit::WebPageNamespace::type):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::type):
      * UIProcess/WebPreferences.h:
      (WebKit::WebPreferences::type):
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
      (WKBundleGetTypeID):
      * WebProcess/InjectedBundle/API/c/WKBundle.h:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      (WKBundleFrameGetTypeID):
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageGetTypeID):
      (WKBundlePageSetEditorClient):
      (WKBundlePageSetLoaderClient):
      (WKBundlePageSetUIClient):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/WebPage/WebFrame.h:
      (WebKit::WebFrame::type):
      * WebProcess/WebPage/WebPage.h:
      (WebKit::WebPage::type):
      * win/WebKit2.vcproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      438853f8
  13. 30 Jun, 2010 1 commit
    • weinig@apple.com's avatar
      Patch for https://bugs.webkit.org/show_bug.cgi?id=41426 · d8f6a8a6
      weinig@apple.com authored
      Add ImmutableArray class and WKArrayRef API to go with it. This will be used
      in a few follow up patches.
      
      Reviewed by Darin Adler.
      
      * Shared/ImmutableArray.cpp: Added.
      (WebKit::ImmutableArray::ImmutableArray):
      (WebKit::ImmutableArray::~ImmutableArray):
      * Shared/ImmutableArray.h: Added.
      * UIProcess/API/C/WKAPICast.h:
      * UIProcess/API/C/WKArray.cpp: Added.
      * UIProcess/API/C/WKArray.h: Added.
      * UIProcess/API/C/WKBase.h:
      * WebKit2.xcodeproj/project.pbxproj:
      * mac/WebKit2.exp:
      * win/WebKit2.vcproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@62212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8f6a8a6
  14. 28 Jun, 2010 1 commit
    • weinig@apple.com's avatar
      Patch for https://bugs.webkit.org/show_bug.cgi?id=41288 · 1312ec83
      weinig@apple.com authored
      WebKit2: Add frame API for InjectedBundle code
      
      Reviewed by Anders Carlsson.
      
      WebKit2: 
      
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added.
      (WKBundleFrameIsMainFrame):
      (WKBundleFrameGetURL):
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added.
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageGetMainFrame):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::isMainFrame):
      (WebKit::WebFrame::url):
      * WebProcess/WebPage/WebFrame.h:
      * WebProcess/WebPage/WebPage.cpp:
      * WebProcess/WebPage/WebPage.h:
      (WebKit::WebPage::mainFrame):
      * mac/WebKit2.exp:
      * win/WebKit2.vcproj:
      
      WebKitTools: 
      
      * MiniBrowser/mac/WebBundle/WebBundleMain.m:
      (_didClearWindowForFrame):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@62019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1312ec83
  15. 25 Jun, 2010 1 commit
  16. 24 Jun, 2010 1 commit
  17. 11 Jun, 2010 1 commit
    • weinig@apple.com's avatar
      Move WKRetain and WKRelease overloaded functions out of WKRetainPtr · 7525795e
      weinig@apple.com authored
      and into the files of the type they overload (eg, WKRetain(WKFrameRef 
      moves to WKFrame.h)).
      
      Reviewed by Anders Carlsson.
      
      * UIProcess/API/C/WKBase.h:
      * UIProcess/API/C/WKContext.h:
      * UIProcess/API/C/WKFrame.h:
      * UIProcess/API/C/WKFramePolicyListener.h:
      * UIProcess/API/C/WKNavigationData.h:
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/C/WKPageNamespace.h:
      * UIProcess/API/C/WKPreferences.h:
      * UIProcess/API/C/WKString.h:
      * UIProcess/API/C/WKURL.h:
      * UIProcess/API/cpp/WKRetainPtr.h:
      * UIProcess/API/win/WKView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7525795e
  18. 09 Apr, 2010 1 commit
    • weinig@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=37347 · 0664edbb
      weinig@apple.com authored
      Don't use CF types in the new C API
      
      Reviewed by Anders Carlsson.
      
      Replace all uses of CF types in the C API.
      - Replace CFStringRef with WKStringRef.
      - Replace CFURLRef with WKURLRef.
      
      * WebKit2.xcodeproj/project.pbxproj: Add new files.
      
      * Shared/KURLWrapper.h: Added. RefCounted wrapper around KURL.
      * UIProcess/API/C/WKAPICast.h: Add new conversions.
      * UIProcess/API/C/WKBase.h: Add new types.
      * UIProcess/API/C/WKFrame.cpp:
      * UIProcess/API/C/WKFrame.h: 
      * UIProcess/API/C/WKPage.cpp:
      * UIProcess/API/C/WKPage.h:
      Replace uses of CF types with WK equivalents.
      
      * UIProcess/API/C/WKString.cpp: Added.
      * UIProcess/API/C/WKString.h: Added.
      Represents a WebCore::StringImpl*.
      
      * UIProcess/API/C/WKURL.cpp: Added.
      * UIProcess/API/C/WKURL.h: Added.
      Represents a WebKit::KURLWrapper*.
      
      * UIProcess/API/C/cf: Added.
      * UIProcess/API/C/cf/WKStringCF.cpp: Added.
      * UIProcess/API/C/cf/WKStringCF.h: Added.
      * UIProcess/API/C/cf/WKURLCF.cpp: Added.
      * UIProcess/API/C/cf/WKURLCF.h: Added.
      CoreFoundation conversion files. Allows converting
       WKStringRef <-> CFStringRef
       WKURLRef <-> CFURLRef
      
      * UIProcess/ScriptReturnValueCallback.cpp:
      (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
      * UIProcess/ScriptReturnValueCallback.h:
      * UIProcess/WebFrameProxy.cpp:
      (WebKit::WebFrameProxy::didStartProvisionalLoad):
      (WebKit::WebFrameProxy::didCommitLoad):
      * UIProcess/WebFrameProxy.h:
      (WebKit::WebFrameProxy::url):
      (WebKit::WebFrameProxy::provisionalURL):
      * UIProcess/WebLoaderClient.cpp:
      (WebKit::WebLoaderClient::didReceiveTitleForFrame):
      * UIProcess/WebLoaderClient.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::close):
      (WebKit::WebPageProxy::didReceiveTitleForFrame):
      (WebKit::WebPageProxy::decidePolicyForNavigationAction):
      (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
      (WebKit::WebPageProxy::decidePolicyForMIMEType):
      (WebKit::WebPageProxy::runJavaScriptAlert):
      (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
      (WebKit::WebPageProxy::processDidExit):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::pageTitle):
      (WebKit::WebPageProxy::urlAtProcessExit):
      * UIProcess/WebPolicyClient.cpp:
      (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
      (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
      (WebKit::WebPolicyClient::decidePolicyForMIMEType):
      * UIProcess/WebPolicyClient.h:
      * UIProcess/WebUIClient.cpp:
      (WebKit::WebUIClient::runJavaScriptAlert):
      * UIProcess/WebUIClient.h:
      Don't use CF types internally at all.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
      Fix typo.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0664edbb
  19. 08 Apr, 2010 1 commit
    • weinig@apple.com's avatar
      Add WebKit2/WebProcess directory. · d773bc13
      weinig@apple.com authored
      Patch by Anders Carlsson <andersca@apple.com> on 2010-04-08
      Reviewed by Sam Weinig and Oliver Hunt.
      
      * WebProcess: Added.
      * WebProcess/Launching: Added.
      * WebProcess/Launching/mac: Added.
      * WebProcess/Launching/mac/WebProcessMain.mm: Added.
      * WebProcess/Launching/win: Added.
      * WebProcess/Launching/win/WebProcessWinMain.cpp: Added.
      * WebProcess/WebCoreSupport: Added.
      * WebProcess/WebCoreSupport/WebChromeClient.cpp: Added.
      * WebProcess/WebCoreSupport/WebChromeClient.h: Added.
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Added.
      * WebProcess/WebCoreSupport/WebContextMenuClient.h: Added.
      * WebProcess/WebCoreSupport/WebDragClient.cpp: Added.
      * WebProcess/WebCoreSupport/WebDragClient.h: Added.
      * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added.
      * WebProcess/WebCoreSupport/WebEditorClient.h: Added.
      * WebProcess/WebCoreSupport/WebErrors.h: Added.
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Added.
      * WebProcess/WebCoreSupport/WebInspectorClient.h: Added.
      * WebProcess/WebCoreSupport/mac: Added.
      * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Added.
      * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: Added.
      * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Added.
      * WebProcess/WebCoreSupport/win: Added.
      * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Added.
      * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Added.
      * WebProcess/WebPage: Added.
      * WebProcess/WebPage/DrawingArea.cpp: Added.
      * WebProcess/WebPage/DrawingArea.h: Added.
      * WebProcess/WebPage/WebFrame.cpp: Added.
      * WebProcess/WebPage/WebFrame.h: Added.
      * WebProcess/WebPage/WebPage.cpp: Added.
      * WebProcess/WebPage/WebPage.h: Added.
      * WebProcess/WebPage/mac: Added.
      * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Added.
      * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Added.
      * WebProcess/WebPage/mac/WebPageMac.mm: Added.
      * WebProcess/WebPage/win: Added.
      * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Added.
      * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Added.
      * WebProcess/WebPage/win/WebPageWin.cpp: Added.
      * WebProcess/WebProcess.cpp: Added.
      * WebProcess/WebProcess.h: Added.
      * WebProcess/win: Added.
      * WebProcess/win/DllMain.cpp: Added.
      * WebProcess/win/WebLocalizableStrings.cpp: Added.
      * WebProcess/win/WebLocalizableStrings.h: Added.
      * WebProcess/win/WebProcessMain.cpp: Added.
      * WebProcess/win/WebProcessMain.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d773bc13
  20. 04 Mar, 2010 2 commits
    • ossy@webkit.org's avatar
      [Qt] Unreviewed buildfix after r55542 on Windows. · cf04bd9d
      ossy@webkit.org authored
      * WebCore.pro:
       - plugins/win/PluginDatabaseWin.cpp removed.
       - platform/win/WebCoreInstanceHandle.cpp added.
      
      * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf04bd9d
    • bdakin@apple.com's avatar
      WebCore: This fixes the layering violation I committed yesterday by moving · a67418ff
      bdakin@apple.com authored
      Page::instanceHandle into its own file just in the WebCore 
      namespace.
      
      Reviewed by Anders Carlsson.
      
      Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
      * WebCore.vcproj/WebCore.vcproj:
      * page/win/PageWin.cpp: Removed.
      
      Remove all instance handle code from Page.
      * page/Page.h:
      
      New files.
      * platform/win/WebCoreInstanceHandle.cpp: Added.
      * platform/win/WebCoreInstanceHandle.h: Added.
      (WebCore::setInstanceHandle):
      (WebCore::instanceHandle):
      
      Switch to WebCore::instanceHandle() instead of 
      Page::instanceHandle() and include the new header.
      * platform/graphics/win/WKCACFLayerRenderer.cpp:
      (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
      * platform/win/PasteboardWin.cpp:
      (WebCore::Pasteboard::Pasteboard):
      * platform/win/PopupMenuWin.cpp:
      (WebCore::PopupMenu::show):
      (WebCore::PopupMenu::registerClass):
      * platform/win/SharedTimerWin.cpp:
      (WebCore::initializeOffScreenTimerWindow):
      * plugins/win/PluginViewWin.cpp:
      (WebCore::registerPluginView):
      (WebCore::PluginView::platformStart):
      
      WebKit/win: WebCore::Page::setInstanceHandle() is now just 
      WebCore::setInstanceHandle()
      
      Reviewed by Anders Carlsson.
      
      * WebKitDLL.cpp:
      (DllMain):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a67418ff
  21. 07 Jan, 2010 1 commit
    • mitz@apple.com's avatar
      Added Font::typesettingFeatures() and deployed it · 8c85d97b
      mitz@apple.com authored
      Reviewed by Sam Weinig.
      
      No change in funcitonality
      
      * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
      * platform/graphics/Font.h:
      (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
          features from the text redndering mode.
      * platform/graphics/FontFastPath.cpp:
      (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
      * platform/graphics/SimpleFontData.h:
      * platform/graphics/TypesettingFeatures.h: Added.
      * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
      (WebCore::disableLigatures): Take TypesettingFeatures instead of
          TextRenderingMode.
      (WebCore::initializeATSUStyle): Ditto.
      (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
          Use typesettingFeatures().
      * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
      (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
          Ditto.
      * platform/graphics/mac/SimpleFontDataMac.mm:
      (WebCore::SimpleFontData::getCFStringAttributes): Take
          TypesettingFeatures instead of TextRenderingMode.
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c85d97b
  22. 18 Dec, 2009 1 commit
    • weinig@apple.com's avatar
      Add Mac WebKit side of the client based geolocation provider. · d633d844
      weinig@apple.com authored
      Reviewed by Dan Bernstein.
      
      WebKit: 
      
      * WebKit.xcodeproj/project.pbxproj:
      
      WebKit/mac: 
      
      * Misc/WebKitErrors.m:
      (registerErrors): Add Geolocation errors.
      * Misc/WebKitErrorsPrivate.h:
      * WebCoreSupport/WebGeolocationControllerClient.h: Added.
      (WebGeolocationControllerClient::webView):
      * WebCoreSupport/WebGeolocationControllerClient.mm: Added.
      (WebGeolocationControllerClient::WebGeolocationControllerClient):
      (WebGeolocationControllerClient::startUpdating):
      (WebGeolocationControllerClient::stopUpdating):
      (WebGeolocationControllerClient::lastPosition):
      Add implementation of the WebGeolocationControllerClient.
      
      * WebView/WebGeolocationPosition.h: Added.
      * WebView/WebGeolocationPosition.mm: Added.
      (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
      (core):
      (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
      * WebView/WebGeolocationPositionInternal.h: Added.
      Add an Objective-C wrapper for GeolocationPosition.
       
      * WebView/WebView.mm:
      (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Set the GeolocationControllerClient.
      (-[WebView _setGeolocationProvider:]): Set the GeolocationProvider
      (-[WebView _geolocationProvider]): Return the GeolocationProvider.
      (-[WebView _geolocationDidChangePosition:]): Notify WebCore that the position changed.
      (-[WebView _geolocationDidFailWithError:]): Notify WebCore that an error occured.
      * WebView/WebViewData.h:
      * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d633d844
  23. 19 Nov, 2009 1 commit
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 13f65f3f
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=31690
              Make SocketStreamHandleCFNet work on Windows
      
              * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
      
              * platform/network/ResourceHandle.h: Removed loaderRunLoop().
      
              * platform/network/cf/LoaderRunLoopCF.cpp: Added.
              (WebCore::emptyPerform):
              (WebCore::runLoaderThread):
              (WebCore::loaderRunLoop):
              * platform/network/cf/LoaderRunLoopCF.h: Added.
              Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
              it's needed for more than just resource loading.
      
              * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
      
              * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
      
              * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
              main thread.
              * platform/network/cf/SocketStreamHandleCFNet.cpp:
              (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
              inoperable main run loop.
      
              (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
              (WebCore::SocketStreamHandle::readStreamCallback):
              (WebCore::SocketStreamHandle::writeStreamCallback):
              (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
              (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
              Forward stream events to main thread on Windows.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13f65f3f
  24. 10 Nov, 2009 2 commits
    • ap@apple.com's avatar
      Reviewed by Dan Bernstein. · 2ab1e6a4
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=31312
              Decouple authentication panel callbacks from ResourceHandle
      
              No change in functionality.
      
              SocketStreamHandle also needs to request credentials, so it's not appropriate to store
              ResourceHandle as delegate.
      
      WebCore:
              * WebCore.vcproj/WebCore.vcproj:
              * platform/network/AuthenticationClient.h: Added.
              Added a new interface for listening to authentication panel notifications.
      
              * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
              it wants with the project file.
      
              (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
              interface class.
              (WebCore::AuthenticationClient::deref): Ditto.
      
              * platform/network/ResourceHandle.h:
              (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
              (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
      
              * platform/network/cf/AuthenticationCF.cpp:
              (WebCore::AuthenticationChallenge::AuthenticationChallenge):
              (WebCore::AuthenticationChallenge::platformCompare):
              * platform/network/cf/AuthenticationChallenge.h:
              (WebCore::AuthenticationChallenge::authenticationClient):
              * platform/network/chromium/AuthenticationChallenge.h:
              (WebCore::AuthenticationChallenge::authenticationClient):
              * platform/network/curl/AuthenticationChallenge.h:
              (WebCore::AuthenticationChallenge::authenticationClient):
              Keeping a reference to AuthenticationClient, not to ResourceHandle.
      
      WebKit:
              * WebCoreSupport/WebFrameLoaderClient.cpp:
              (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
              * WebURLAuthenticationChallenge.cpp:
              (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
              (WebURLAuthenticationChallenge::sender):
              * WebURLAuthenticationChallengeSender.cpp:
              (WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender):
              (WebURLAuthenticationChallengeSender::createInstance):
              (WebURLAuthenticationChallengeSender::authenticationClient):
              * WebURLAuthenticationChallengeSender.h:
              * WebURLAuthenticationChallengeSenderCFNet.cpp:
              (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
              (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
              (WebURLAuthenticationChallengeSender::useCredential):
              Adjusted for WebCore changes.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ab1e6a4
    • mitz@apple.com's avatar
      WebCore: WebCore part of making full-screen video pause during scrubbing. · 362023c1
      mitz@apple.com authored
      Reviewed by Eric Carlson and Darin Adler.
      
      * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
      and HTMLMediaElement::endScrubbing().
      
      WebKit/mac: WebKit part of making full-screen video pause during scrubbing.
      
      Reviewed by Eric Carlson and Darin Adler.
      
      * WebView/WebVideoFullscreenHUDWindowController.h: Added _isScrubbing
      ivar.
      * WebView/WebVideoFullscreenHUDWindowController.mm:
      (-[WebVideoFullscreenHUDWindowController dealloc]): Assert that
      _isScrubbing is NO.
      (-[WebVideoFullscreenHUDWindowController endScrubbing]): Call
      HTMLMediaElement::endScrubbing().
      (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
      If scrubbing has just begun, call HTMLMediaElement::beginScrubbing()
      and schedule -endScrubbing to be called when mouse tracking ends.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      362023c1
  25. 08 Nov, 2009 1 commit
    • mitz@apple.com's avatar
      Made the full-screen video HUD appear when playback stops, such as when · e0ff32d3
      mitz@apple.com authored
      the end of the video is reached.
      
      Reviewed by Eric Carlson.
      
      * WebView/WebVideoFullscreenHUDWindowController.h: Cleaned up.
      * WebView/WebVideoFullscreenHUDWindowController.mm:
      (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Updated
      for the renaming of -updateRate to -updatePlayButton.
      (-[WebVideoFullscreenHUDWindowController updatePlayButton]): Renamed
      -updateRate to this.
      (-[WebVideoFullscreenHUDWindowController updateRate]): This method now
      responds to changes to the playback rate by updating the play button
      and showing or hiding the HUD as necessary.
      (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Now only
      toggles playing. UI updates are driven by -updateRate being called.
      (-[WebVideoFullscreenHUDWindowController playing]): Cleaned up.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0ff32d3
  26. 02 Nov, 2009 2 commits
    • mitz@apple.com's avatar
      Made the remaining time display show negative zero at the end of the · 12da8133
      mitz@apple.com authored
      video.
      
      Reviewed by Anders Carlsson.
      
      Made other cleanup.
      
      * WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of
      _timeline and _volumeSlider to the more generic NSControl.
      * WebView/WebVideoFullscreenHUDWindowController.mm:
      (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned
      up style.
      (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an
      assertion that the cast to NSButton * is legal. Removed casts.
      (-[WebVideoFullscreenHUDWindowController updateTime]): Use
      -setValue:forKey: instead of an NSSlider method.
      (timeToString): Changed to support only non-negative values and
      simplified.
      (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always
      prepend a “-” to the time.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      12da8133
    • mitz@apple.com's avatar
      WebKit/mac: WebKit part of making the appearance of the full-screen video HUD match · 36413e0b
      mitz@apple.com authored
      QuickTime Player X’s HUD.
      
      Reviewed by John Sullivan.
      
      * WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary
      #import statements, cleaned up style, and changed _timeline,
      _volumeSlider and _playButton to have more specific types.
      * WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import
      statements.
      (webkit_CGFloor): Added this helper function.
      (-[WebVideoFullscreenHUDWindowController init]): Cleaned up style.
      (createTimeTextField): Changed to use the bold system font.
      (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
      subviews’ metrics and the text fields’ text alignment.
      (-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion
      from double to float.
      (stringToTimeTextAttributed): Removed this useless function that
      returned an NSAttributedString masquerading as an NSString.
      (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed
      call to stringToTimeTextAttributed().
      (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto.
      
      WebKitLibraries: WebKitSystemInterface part of making the appearance of the full-screen video HUD match
      QuickTime Player X’s HUD.
      
      Reviewed by John Sullivan.
      
      * libWebKitSystemInterfaceLeopard.a:
      * libWebKitSystemInterfaceSnowLeopard.a:
      * libWebKitSystemInterfaceTiger.a:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36413e0b
  27. 28 Oct, 2009 1 commit
    • eric.carlson@apple.com's avatar
      2009-10-28 Eric Carlson <eric.carlson@apple.com> · 9bfaaa38
      eric.carlson@apple.com authored
              Reviewed by Simon Fraser.
      
              <rdar://problem/7303145> 
              Can't exit full screen mode or restart movie after pressing command -R.
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::removedFromDocument):
              (WebCore::HTMLMediaElement::documentWillBecomeInactive):
                  Exit from fullscreen if necessary.
              * html/HTMLMediaElement.h:
      
      2009-10-28  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Simon Fraser.
      
              <rdar://problem/7303145> 
              Can't exit full screen mode or restart movie after pressing command -R.
      
              * WebView/WebVideoFullscreenController.mm:
              (-[WebVideoFullscreenController _requestExit]): 
                  New, call media element's exitFullscreen method.
              (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]): 
                  Call mediaElement->exitFullscreen() after a delay as it turns around and calls
                  WebVideoFullscreenController:exitFullscreen.
      
              * WebView/WebVideoFullscreenHUDWindowController.h:
              * WebView/WebVideoFullscreenHUDWindowController.mm:
              (-[WebVideoFullscreenHUDWindow resignFirstResponder]):
                  New, don't give up responder status.
              (-[WebVideoFullscreenHUDWindow performKeyEquivalent:]):
                  New, block all command key events.
              (-[WebVideoFullscreenHUDWindowController exitFullscreen:]):
                  Remember when we are in the process of exiting fullscreen, don't allow recursion.
      
              * WebView/WebView.mm:
              (-[WebView _exitFullscreen]):
                  Early return if fullscreen controller is nil.
      
              * WebView/WebWindowAnimation.h: 
                  Correct comment about _window retain status.
              * WebView/WebWindowAnimation.m:
              (-[WebWindowScaleAnimation dealloc]):
                  Don't release _window, we never reatained it.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9bfaaa38
  28. 22 Oct, 2009 1 commit
    • eric.carlson@apple.com's avatar
      2009-10-22 Eric Carlson <eric.carlson@apple.com> · 73e866e6
      eric.carlson@apple.com authored
              Reviewed by Dan Bernstein & Simon Fraser.
      
              <rdar://problem/7297717>
              https://bugs.webkit.org/show_bug.cgi?id=30323
              Play/pause button in full-screen video controller does not reflect current state
      
              * WebView/WebVideoFullscreenController.mm:
              (-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification
              (-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes.
      
              * WebView/WebVideoFullscreenHUDWindowController.h:
              * WebView/WebVideoFullscreenHUDWindowController.mm:
              (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button
              reflects playback state.
              (-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to
              movie state.
              (-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73e866e6
  29. 05 Oct, 2009 2 commits
  30. 08 Sep, 2009 1 commit
  31. 27 Aug, 2009 1 commit
    • cmarrin@apple.com's avatar
      Final patch for Canvas 3D support · 4e7728f4
      cmarrin@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=28018
      
              This hooks everything up and provides a working implementation of
              Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
              passing the opaque context and texture pointers so a Canvas3DLayer can be
              created (more on that later). It also plumbs changes to the 3D canvas so
              that Canvas3DLayer can recomposite the results.
              
              A 3D Canvas element needs a RenderLayer and compositing layer to render.
              This is because it renders to an off-screen texture in the GPU and then
              hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
              render that texture as a 3D quad. This keeps everything in GPU memory to 
              maximize performance. When a CanvasRenderingContext3D is created it 
              forces a style recalc which creates the RenderLayer and compositing 
              layer if needed. 
              
              I repurposed an existing flag which was put in place for animation to accomplish 
              this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
              AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
              to do a complete style recalc, even though the style itself has not really
              changed.
              
              This patch also fixes a couple of bugs discovered when testing with 3d-canvas
              turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
              This is needed when making a JS wrapper for the object so the prototype 
              property can be set.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e7728f4
  32. 25 Aug, 2009 2 commits
  33. 24 Aug, 2009 1 commit
  34. 12 Aug, 2009 1 commit
    • darin@apple.com's avatar
      WebCore: Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test) · 55132112
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=28194
      
      Patch by Darin Adler <darin@apple.com> on 2009-08-12
      Reviewed by Geoff Garen.
      
      * GNUmakefile.am: Added the two new source files.
      * WebCore.gypi: Ditto.
      * WebCore.pro: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * WebCoreSources.bkl: Ditto.
      
      * bindings/js/JSCSSRuleListCustom.cpp: Added.
      (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
      on rules in the list.
      
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
      markDOMObjectWrapper on the CSSValue objects that are owned by the
      declaration as values of the properties.
      
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::isObservableThroughDOM): Added code to handle some
      cases where nodes are observable because they own objects that
      in turn have custom properties.
      
      * bindings/js/JSDOMBinding.h: Fix a typo in the header.
      
      * bindings/js/JSDocumentCustom.cpp:
      (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
      for implementation and styleSheets.
      
      * bindings/js/JSElementCustom.cpp:
      (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
      for attributes and style.
      
      * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
      (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
      on the rendering context.
      
      * bindings/js/JSStyleSheetCustom.cpp:
      (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
      items in the stylesheet.
      
      * bindings/js/JSStyleSheetListCustom.cpp:
      (WebCore::JSStyleSheetList::markChildren): Added. Calls
      markDOMObjectWrapper on stylesheets in the list.
      
      * css/CSSRuleList.idl: Added CustomMarkFunction.
      * css/CSSStyleDeclaration.idl: Ditto.
      * css/StyleSheetList.idl: Ditto.
      * dom/Element.idl: Ditto.
      * html/HTMLCanvasElement.idl: Ditto.
      
      * dom/Element.h: Made everything private that could be.
      Added access to the attributeMap that does returns
      the existing map without doing any of the lazy-updating work. This
      is needed to get at the existing attributes during garbage collection
      without having side effects.
      
      * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
      members private. Added renderingContext2D function for use in
      JSHTMLCanvasElement::markChildren.
      
      LayoutTests: Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
      https://bugs.webkit.org/show_bug.cgi?id=28194
      
      Patch by Darin Adler <darin@apple.com> on 2009-08-12
      Reviewed by Geoff Garen.
      
      * fast/dom/gc-9-expected.txt: Regenerated.
      * fast/dom/gc-9.html: Updated to expect correct behavior instead of failures.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55132112
  35. 22 Sep, 2008 1 commit
    • mjs@apple.com's avatar
      JavaScriptCore: · a173abd0
      mjs@apple.com authored
      2008-09-22  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Dave Hyatt.
              
              Based on initial work by Darin Adler.
              
              - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
              - use this to JIT inline code for eq_null and neq_null
              https://bugs.webkit.org/show_bug.cgi?id=20823
      
              0.5% speedup on SunSpider
              ~4% speedup on Richards benchmark
              
              * VM/CTI.cpp:
              (JSC::CTI::privateCompileMainPass):
              * VM/Machine.cpp:
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::Machine::privateExecute):
              (JSC::Machine::cti_op_is_undefined):
              * VM/Machine.h:
              * kjs/JSCell.h:
              * kjs/JSValue.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::create):
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructureID):
              * kjs/StructureID.h:
              (JSC::StructureID::mutableTypeInfo):
              * kjs/TypeInfo.h:
              (JSC::TypeInfo::TypeInfo):
              (JSC::TypeInfo::masqueradesAsUndefined):
              * kjs/operations.cpp:
              (JSC::equal):
              * masm/X86Assembler.h:
              (JSC::X86Assembler::):
              (JSC::X86Assembler::setne_r):
              (JSC::X86Assembler::setnz_r):
              (JSC::X86Assembler::testl_i32m):
      
      WebCore:
      
      2008-09-22  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Dave Hyatt.
      
              Based on initial work by Darin Adler.
              
              - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
              - use this to JIT inline code for eq_null and neq_null
              https://bugs.webkit.org/show_bug.cgi?id=20823
              
              * WebCore.xcodeproj/project.pbxproj:
              * WebCore.vcproj/WebCore.vcproj:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              * bindings/js/JSHTMLAllCollection.cpp: Added.
              (WebCore::):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructureID):
              (WebCore::JSHTMLAllCollection::toBoolean):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a173abd0