1. 22 Feb, 2010 1 commit
  2. 17 Feb, 2010 1 commit
    • eric@webkit.org's avatar
      2010-02-16 Chris Evans <cevans@chromium.org> · e85e237b
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              Add a new setting which gives the option of assigning every file:///
              to its own unique domain.
      
              https://bugs.webkit.org/show_bug.cgi?id=34778
      
              Test: Pending in forthcoming separate change due to non-trivial
              dependencies.
      
              * dom/Document.cpp:
              (WebCore::Document::initSecurityContext): Place file:/// URI documents
              into their own unique domains if the new setting requires it.
              * page/Settings.h:
              * page/Settings.cpp:
              (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
              * page/SecurityOrigin.h:
              * page/SecurityOrigin.cpp:
              (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an
              origin to be considered unique.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e85e237b
  3. 16 Feb, 2010 1 commit
    • darin@apple.com's avatar
      2010-02-16 Darin Adler <darin@apple.com> · 108d58c2
      darin@apple.com authored
              Reviewed by Sam Weinig.
      
              Generalize delayed plug-in start for background tabs for use for other media
              https://bugs.webkit.org/show_bug.cgi?id=34981
      
              * WebView.cpp:
              (WebView::setCanStartPlugins): Change to call setCanStartMedia.
              In a later patch we can change the of the public function in the IDL file too,
              but for now this should be enough.
      2010-02-16  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Generalize delayed plug-in start for background tabs for use for other media
              https://bugs.webkit.org/show_bug.cgi?id=34981
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView viewWillMoveToWindow:]): Added comment.
              (-[WebHTMLView viewDidMoveToWindow]): Ditto.
      
              * WebView/WebView.mm:
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
              Call setCanStartMedia right away so that if this view is not in a window, it
              will not start any media.
              (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
              to a window of nil.
              (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
              a window that is non-nil.
      2010-02-16  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Generalize delayed plug-in start for background tabs for use for other media
              https://bugs.webkit.org/show_bug.cgi?id=34981
      
              Also did some simple cleanup of HTMLMediaElement to get ready to make it
              a client of the same mechanism.
      
              * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
              * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
      
              * html/HTMLAudioElement.h: Added an implementation of isVideo since that
              is now a pure virtual function in HTMLMediaElement. Also made tagPriority
              private.
      
              * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an
              abstract base class by making its constructor protected and making the
              isVideo function a pure virtual function.
      
              * page/Page.cpp:
              (WebCore::Page::Page): Updated for name change from m_canStartPlugins
              to m_canStartMedia.
              (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion.
              (WebCore::Page::removeUnstartedMedia): Ditto.
              (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved
              the code here from PageWin.cpp. The main change from the one in PageWin.cpp
              is that this function calls mediaCanStart rather than explicitly calling a
              combination of start and dispatchDidFailToStartPlugin on a PluginView.
      
              * page/Page.h: Re-sorted forward class declarations. Renamed the plugin
              starting functions to media starting names and changed types from
              PluginView to MediaCanStartListener.
      
              * page/MediaCanStartListener.h: Added.
      
              * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent
              Page.cpp file so it can be used for more than just Windows plug-ins.
      
              * plugins/PluginView.cpp: Sorted includes.
              (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener.
              (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that
              media can start. Contains the code that used to be in Page::setCanStartPlugins.
              (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use
              removeMediaCanStartListener.
      
              * plugins/PluginView.h: Adopted MediaCanStartListener.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      108d58c2
  4. 12 Feb, 2010 1 commit
  5. 11 Feb, 2010 1 commit
  6. 10 Feb, 2010 1 commit
  7. 08 Feb, 2010 1 commit
    • eric@webkit.org's avatar
      2010-02-08 Charlie Reis <creis@chromium.org> · aa64b765
      eric@webkit.org authored
              Reviewed by Darin Adler.
      
              onbeforeunload not called at window close + frame or iframe focused
              https://bugs.webkit.org/show_bug.cgi?id=27481
      
              Chromium and WebKit on Windows will now fire beforeunload handlers
              even if an inner frame is focused.
      
              Layout tests aren't able to test this bug, since it requires closing
              the actual browser window, not calling window.close().  Instead,
              test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
      
              * manual-tests/onbeforeunload-focused-iframe.html: Added.
              * manual-tests/resources/focused-iframe.html: Added.
      2010-02-08  Charlie Reis  <creis@chromium.org>
      
              Reviewed by Darin Adler.
      
              onbeforeunload not called at window close + frame or iframe focused
              https://bugs.webkit.org/show_bug.cgi?id=27481
              http://code.google.com/p/chromium/issues/detail?id=32615
              http://code.google.com/p/chromium/issues/detail?id=17157
      
              Chromium and WebKit on Windows will now fire beforeunload handlers
              even if an inner frame is focused.
      
              Layout tests aren't able to test this bug, since it requires closing
              the actual browser window, not calling window.close().  Instead,
              test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
      
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::dispatchBeforeUnloadEvent):
      2010-02-08  Charlie Reis  <creis@chromium.org>
      
              Reviewed by Darin Adler.
      
              onbeforeunload not called at window close + frame or iframe focused
              https://bugs.webkit.org/show_bug.cgi?id=27481
      
              Chromium and WebKit on Windows will now fire beforeunload handlers
              even if an inner frame is focused.
      
              Layout tests aren't able to test this bug, since it requires closing
              the actual browser window, not calling window.close().  Instead,
              test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
      
              * WebView.cpp:
              (WebView::shouldClose):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa64b765
  8. 03 Feb, 2010 1 commit
  9. 18 Jan, 2010 2 commits
    • aroben@apple.com's avatar
      Add WebKit SPI to disallow setting document.domain from certain URL schemes · 9ca1e9e3
      aroben@apple.com authored
      Fixes <http://webkit.org/b/33806> <rdar://problem/7552837> Would like
      API to disallow setting of document.domain for pages with certain URL
      schemes
      
      Reviewed by Sam Weinig.
      
      WebCore:
      
      Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
      respect it
      
      Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
      
      * WebCore.base.exp: Export
      SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.
      
      * dom/Document.cpp:
      (WebCore::Document::setDomain): If domain relaxation is forbidden for
      our security origin's scheme, throw an exception and don't allow
      the domain to be set.
      
      * page/SecurityOrigin.cpp:
      (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
      global set of schemes.
      (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
      Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
      appropriate.
      (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
      Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.
      
      * page/SecurityOrigin.h: Added
      {set,is}DomainRelaxationForbiddenForURLScheme.
      
      WebKit/mac:
      
      Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]
      
      * WebView/WebView.mm:
      (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
      * WebView/WebViewPrivate.h:
      Added. Calls through to SecurityOrigin.
      
      WebKit/win:
      
      Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme
      
      * Interfaces/IWebViewPrivate.idl: Added
      setDomainRelaxationForbiddenForURLScheme.
      
      * Interfaces/WebKit.idl: Touched to force a build.
      
      * WebView.cpp:
      (WebView::setDomainRelaxationForbiddenForURLScheme):
      * WebView.h:
      Added. Calls through to SecurityOrigin.
      
      WebKitTools:
      
      Add LayoutTestController support for calling new WebKit SPI to
      disallow setting document.domain
      
      * DumpRenderTree/LayoutTestController.cpp:
      (setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
      through to LayoutTestController.
      (LayoutTestController::staticFunctions): Added
      setDomainRelaxationForbiddenForURLScheme.
      
      * DumpRenderTree/LayoutTestController.h: Added
      setDomainRelaxationForbiddenForURLScheme.
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
      Added. Calls through to WebKit.
      
      * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
      (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
      * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
      (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
      Stubbed out.
      
      LayoutTests:
      
      Add tests for new WebKit SPI to disallow setting document.domain
      
      * http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt: Added.
      * http/tests/security/setDomainRelaxationForbiddenForURLScheme.html: Added.
      
      * platform/gtk/Skipped: Skip the new test since WebKitGtk doesn't have
      this API.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ca1e9e3
    • cmarrin@apple.com's avatar
      Made root compositing layer scroll rather than scroll parent. · acc15f64
      cmarrin@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=32279
              
              There's some general cleanup here so the frames, bounds and
              positions of all the associated layers are correct.
              I also changed API of setScrollFrame to use an IntRect.
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      acc15f64
  10. 13 Jan, 2010 1 commit
    • sfalken@apple.com's avatar
      Add additional Geolocation interfaces in WebKit for Windows. · 817a96a0
      sfalken@apple.com authored
      Reviewed by Adam Roben.
      
      * Interfaces/IWebGeolocationPolicyListener.idl: Added.
      * Interfaces/IWebUIDelegatePrivate.idl: Add decidePolicyForGeolocationRequest to IWebUIDelegatePrivate2.
      Append since this version hasn't shipped.
      * Interfaces/WebKit.idl: Add include of IWebGeolocationPolicyListener.idl.
      * WebCoreSupport/WebChromeClient.cpp:
      (WebChromeClient::requestGeolocationPermissionForFrame): Call into decidePolicyForGeolocationRequest.
      * WebCoreSupport/WebGeolocationControllerClient.cpp:
      (WebGeolocationControllerClient::WebGeolocationControllerClient): Moved *.
      * WebGeolocationPolicyListener.cpp: Added.
      * WebGeolocationPolicyListener.h: Added.
      * WebKit.vcproj/Interfaces.vcproj: Added IWebGeolocationPolicyListener.
      * WebKit.vcproj/WebKit.vcproj: Added WebGeolocationPolicyListener, WebGeolocationPolicyListener.
      * WebView.cpp:
      (WebView::setGeolocationProvider): Removed extraneous STDMETHODCALLTYPE.
      (WebView::geolocationProvider): Removed extraneous STDMETHODCALLTYPE.
      (WebView::geolocationDidChangePosition): Removed extraneous STDMETHODCALLTYPE.
      (WebView::geolocationDidFailWithError): Removed extraneous STDMETHODCALLTYPE.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      817a96a0
  11. 12 Jan, 2010 1 commit
    • sfalken@apple.com's avatar
      WebCore: Update all-in-one derived sources for Geolocation. · ac58796d
      sfalken@apple.com authored
      Reviewed by Sam Weinig.
      
      * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
      
      WebKit/win: Add Geolocation interfaces in WebKit for Windows.
      
      Reviewed by Adam Roben, Sam Weinig.
      
      * ForEachCoClass.h: Added WebGeolocationPosition.
      * Interfaces/IWebError.idl:
      * Interfaces/IWebGeolocationPosition.idl: Added.
      * Interfaces/IWebGeolocationProvider.idl: Added.
      * Interfaces/IWebViewPrivate.idl:
      * Interfaces/WebKit.idl:
      * WebCoreSupport/WebGeolocationControllerClient.cpp: Added.
      (WebGeolocationControllerClient::WebGeolocationControllerClient):
      (WebGeolocationControllerClient::startUpdating):
      (WebGeolocationControllerClient::stopUpdating):
      (WebGeolocationControllerClient::lastPosition):
      * WebCoreSupport/WebGeolocationControllerClient.h: Added.
      * WebGeolocationPosition.cpp: Added IWebGeolocationPosition implementation.
      * WebGeolocationPosition.h: Added IWebGeolocationPosition implementation.
      * WebKit.vcproj/Interfaces.vcproj: Added IWebGeolocationPosition.idl, IWebGeolocationProvider.idl,
      relocated JavaScriptCoreAPITypes.idl, WebScrollbarTypes.idl
      * WebKit.vcproj/WebKit.vcproj: Added WebGeolocationPosition.h/.cpp, WebGeolocationControllerClient.h/cpp,        
      * WebKitClassFactory.cpp: Add WebGeolocationPosition include.
      * WebView.cpp:
      (WebView::initWithFrame): Create WebGeolocationControllerClient if Geolocation is enabled.
      (WebView::setGeolocationProvider): Added Geolocation-specific method.
      (WebView::geolocationProvider): Added Geolocation-specific method.
      (WebView::geolocationDidChangePosition): Added Geolocation-specific method.
      (WebView::geolocationDidFailWithError): Added Geolocation-specific method.
      * WebView.h: Added setGeolocationProvider, geolocationProvider, geolocationDidChangePosition, geolocationDidFailWithError.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac58796d
  12. 08 Jan, 2010 2 commits
  13. 05 Jan, 2010 4 commits
    • aroben@apple.com's avatar
      Make IWebView::close and destroying a WebView's HWND optional for WebKit clients · 317b2687
      aroben@apple.com authored
      WebView will now take care of these operations itself when its last
      reference is released, if they haven't already been done.
      
      IWebView::close now also destroys the WebView's HWND. All WebKit
      clients were already performing these operations in succession anyway,
      or were attempting to by calling IWebView::close then destroying the
      WebView's host window (which actually resulted in the WebView's HWND
      leaking, and the crash in the below bug).
      
      Fixes <http://webkit.org/b/32827> Crash when calling IWebView::close,
      then releasing the WebView, without calling DestroyWindow
      
      Fixes a few WebViewDestruction tests, too.
      
      Reviewed by Steve Falkenburg.
      
      * WebView.cpp:
      (WebView::~WebView): Don't try to destroy m_viewWindow here. That
      should already have happened. Assert that this is the case.
      (WebView::close): If m_viewWindow isn't already being destroyed,
      destroy it now. Moved the call to revokeDragDrop() here from our
      WM_DESTROY handler because it needs to be done before m_viewWindow is
      nulled out.
      (WebView::WebViewWndProc): Removed call to revokeDragDrop() that
      close() now performs.
      (WebView::Release): If our last reference is being released, call
      close() so that clients don't have to. (It's harmless to call close()
      multiple times.) We do this here instead of in the destructor because
      close() can cause AddRef() and Release() to be called, and calling
      those from within the destructor leads to double-destruction.
      (WebView::setHostWindow): Removed an unnecessary (and now harmful)
      null-check.
      (WebView::revokeDragDrop): Changed an assertion into a run-time check,
      since this will now sometimes be called when m_viewWindow hasn't been
      created yet. Changed the IsWindow call to a null-check because we
      never hold onto a destroyed m_viewWindow.
      (WebView::windowAncestryDidChange): If we don't have a view window,
      stop tracking changes to our parent's active state.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      317b2687
    • aroben@apple.com's avatar
      Make it safe to call IWebView::close when IWebView::initWithFrame hasn't been called · 6fed69e5
      aroben@apple.com authored
      Part of <http://webkit.org/b/32827> Crash when calling
      IWebView::close, then releasing the WebView, without calling
      DestroyWindow
      
      Reviewed by Steve Falkenburg.
      
      WebKit/win:
      
      * WebView.cpp:
      (WebView::close): Null-check m_page and m_preferences before using
      them. They will be null if initWithFrame was never called.
      
      WebKitTools:
      
      Test that it's safe to call IWebView::close when IWebView::initWithFrame
      hasn't been called
      
      * WebKitAPITest/tests/WebViewDestruction.cpp:
      (WebKitAPITest::CloseWithoutInitWithFrame): Calls IWebView::close
      without ever calling IWebView::initWithFrame and tests that we don't
      crash or leak.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6fed69e5
    • aroben@apple.com's avatar
      Add assertions to catch double-destruction of WebViews earlier · da36404e
      aroben@apple.com authored
      I basically copied the m_deletionHasBegun logic from WTF::RefCounted.
      
      Fixes <http://webkit.org/b/33219>.
      
      Reviewed by Darin Adler.
      
      * WebView.cpp:
      (WebView::WebView): Initialize m_deletionHasBegun
      (WebView::AddRef): Assert that deletion hasn't already begun.
      (WebView::Release): Assert that deletion hasn't already begun, then
      record when deletion *does* begin.
      
      * WebView.h: Added m_deletionHasBegun.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da36404e
    • aroben@apple.com's avatar
      Remove dead code in WebViewWndProc · 1db94beb
      aroben@apple.com authored
      Fixes <http://webkit.org/b/33218>.
      
      Reviewed by Darin Adler.
      
      * WebView.cpp:
      (WebView::WebViewWndProc): Removed a redundant isBeingDestroyed check.
      We bail out much earlier in this function if isBeingDestroyed is true.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1db94beb
  14. 04 Jan, 2010 3 commits
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · a2b93fbf
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=33181
              The first letter is not removed properly from inline input hole
      
              * WebView.cpp: (WebView::onIMEEndComposition): If composition is ended before it was
              confirmed, cancel it.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a2b93fbf
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · b310b06c
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=33161
              Assertion failure in WebView when using Chinese Simplified IME
      
              * WebView.cpp: (WebView::onIMERequestCharPosition): Changed the assertion into release mode
              check. We can't make assertions about arguments passed from outside WebKit.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b310b06c
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 9d2fa039
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=33157
              Implement TextInput logging channel on Windows
      
              * WebKitLogging.cpp: (WebKitInitializeLoggingChannelsIfNecessary):
              * WebKitLogging.h:
              Added a TextInput channel in place of unused Network one.
      
              * WebView.cpp:
              (WebView::WebViewWndProc): Changed onIMERequest to return result directly. We never forward
              it to DefWindowProc, so there is no need to return an unused boolean result for "handled".
              (WebView::onIMEStartComposition): Added logging.
              (imeCompositionArgumentNames): A helper function for detailed logging in onIMEComposition.
              (imeNotificationName): A helper function for detailed logging in onIMENotify.
              (imeRequestName): A helper function for detailed logging in onIMERequest.
              (WebView::onIMEComposition): Added logging.
              (WebView::onIMEEndComposition): Ditto.
              (WebView::onIMEChar): Ditto.
              (WebView::onIMENotify): Ditto.
              (WebView::onIMERequestCharPosition): Changed to return result directly.
              (WebView::onIMERequestReconvertString): Ditto.
              (WebView::onIMERequest): Changed to return result directly. Added logging.
              (WebView::onIMESelect): Added logging.
              (WebView::onIMESetContext): Added logging.
      
              * WebView.h: onIMERequest functions now return result directly.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d2fa039
  15. 21 Dec, 2009 1 commit
    • aroben@apple.com's avatar
      Add IWebPreferencesPrivate::[set]AcceleratedCompositingEnabled · 7b3f64e5
      aroben@apple.com authored
      Fixes <http://webkit.org/b/32745>.
      
      Reviewed by Ada Chan.
      
      * Interfaces/IWebPreferencesPrivate.idl: Added
      [set]AcceleratedCompositingEnabled.
      
      * Interfaces/WebKit.idl: Touched to force a build.
      
      * WebPreferenceKeysPrivate.h: Added
      WebKitAcceleratedCompositingEnabledPreferenceKey.
      
      * WebPreferences.cpp:
      (WebPreferences::initializeDefaultSettings): Make accelerated
      compositing be on by default.
      (WebPreferences::setAcceleratedCompositingEnabled): Store the new
      value.
      (WebPreferences::acceleratedCompositingEnabled): If accelerated
      compositing isn't available, return false. Otherwise, return the value
      stored in preferences.
      
      * WebPreferences.h: Added [set]AcceleratedCompositingAvailable.
      
      * WebView.cpp:
      (WebView::notifyPreferencesChanged): Just pass the value from
      WebPreferences on down.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b3f64e5
  16. 18 Dec, 2009 1 commit
    • aroben@apple.com's avatar
      Reduce #includes in a few high-use headers · a7c639a8
      aroben@apple.com authored
      Removed unnecessary #includes in these headers:
        - Frame.h
        - FrameWin.h
        - Node.h
        - Page.h
        - StringImpl.h
      
      The rest of the patch is all adding #includes to source files that now
      require them.
      
      Fixes <http://webkit.org/b/32718>.
      
      Rubber-stamped by Anders Carlsson.
      
      WebCore:
      
      * dom/Node.h:
      * page/Frame.h:
      * page/Page.h:
      * page/win/FrameWin.h:
      * platform/text/StringImpl.h:
      Removed unnecessary #includes.
      
      * accessibility/win/AXObjectCacheWin.cpp:
      * bindings/js/JSDOMWindowBase.cpp:
      * bindings/js/JSDOMWindowCustom.cpp:
      * dom/Document.cpp:
      * dom/InputElement.cpp:
      * dom/Node.cpp:
      * dom/SelectElement.cpp:
      * editing/EditorCommand.cpp:
      * html/HTMLFormControlElement.cpp:
      * html/HTMLFormElement.cpp:
      * html/HTMLMediaElement.cpp:
      * html/HTMLParser.cpp:
      * html/HTMLTextAreaElement.cpp:
      * html/HTMLVideoElement.cpp:
      * inspector/InspectorController.cpp:
      * loader/FrameLoader.cpp:
      * loader/HistoryController.cpp:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * page/Console.cpp:
      * page/EventHandler.cpp:
      * page/Frame.cpp:
      * page/FrameView.cpp:
      * page/Navigator.cpp:
      * page/PageGroup.cpp:
      * page/Settings.cpp:
      * page/mac/EventHandlerMac.mm:
      * platform/KURL.h:
      * platform/ScrollbarThemeComposite.cpp:
      * platform/cf/BinaryPropertyList.cpp:
      * platform/graphics/mac/GraphicsLayerCA.h:
      * platform/graphics/win/WKCACFLayerRenderer.cpp:
      * platform/mac/PopupMenuMac.mm:
      * platform/mac/WidgetMac.mm:
      * platform/network/cf/DNSCFNet.cpp:
      * platform/text/StringImpl.cpp:
      * platform/win/FileSystemWin.cpp:
      * platform/win/PlatformScreenWin.cpp:
      * platform/win/PopupMenuWin.cpp:
      * platform/win/WidgetWin.cpp:
      * plugins/PluginView.cpp:
      * plugins/win/PluginViewWin.cpp:
      * rendering/InlineTextBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderFileUploadControl.cpp:
      * rendering/RenderInline.cpp:
      * rendering/RenderLayerCompositor.cpp:
      * rendering/RenderObject.cpp:
      * rendering/RootInlineBox.cpp:
      * storage/DatabaseTracker.cpp:
      * storage/DatabaseTracker.h:
      * storage/SQLTransactionClient.cpp:
      * svg/graphics/SVGImage.cpp:
      Added now-needed #includes.
      
      WebKit/mac:
      
      Add #includes needed after WebCore clean-up
      
      * WebView/WebFrame.mm:
      * WebView/WebFrameView.mm:
      * WebView/WebView.mm:
      
      WebKit/win:
      
      Add #includes needed after WebCore clean-up
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      * WebDataSource.cpp:
      * WebHTMLRepresentation.cpp:
      * WebView.cpp:
      * WebView.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7c639a8
  17. 14 Dec, 2009 1 commit
    • weinig@apple.com's avatar
      Fix for https://bugs.webkit.org/show_bug.cgi?id=32499 · d14ccddb
      weinig@apple.com authored
      Add client based Geolocation provider
      
      Reviewed by Dan Bernstein.
      
      Add first cut of a client based Geolocation provider. This is guarded by
      ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
      GeolocationControllerClient interface that no-one currently implements,
      but will in a subsequent patch.
      
      WebCore: 
      
      * GNUmakefile.am:
      * WebCore.base.exp:
      * WebCore.gypi:
      * WebCore.pro:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * WebCoreSources.bkl:
      * page/Geolocation.cpp:
      (WebCore::createGeopositionFromGeolocationPosition):
      (WebCore::createPositionErrorFromGeolocationError):
      (WebCore::Geolocation::Geolocation):
      (WebCore::Geolocation::~Geolocation):
      (WebCore::Geolocation::disconnectFrame):
      (WebCore::Geolocation::lastPosition):
      (WebCore::Geolocation::startRequest):
      (WebCore::Geolocation::fatalErrorOccurred):
      (WebCore::Geolocation::requestTimedOut):
      (WebCore::Geolocation::clearWatch):
      (WebCore::Geolocation::handleError):
      (WebCore::Geolocation::positionChanged):
      (WebCore::Geolocation::makeSuccessCallbacks):
      (WebCore::Geolocation::errorOccurred):
      (WebCore::Geolocation::geolocationServicePositionChanged):
      (WebCore::Geolocation::geolocationServiceErrorOccurred):
      (WebCore::Geolocation::startUpdating):
      (WebCore::Geolocation::stopUpdating):
      * page/Geolocation.h:
      * page/GeolocationController.cpp: Added.
      (WebCore::GeolocationController::GeolocationController):
      (WebCore::GeolocationController::~GeolocationController):
      (WebCore::GeolocationController::addObserver):
      (WebCore::GeolocationController::removeObserver):
      (WebCore::GeolocationController::positionChanged):
      (WebCore::GeolocationController::errorOccurred):
      (WebCore::GeolocationController::lastPosition):
      * page/GeolocationController.h: Added.
      * page/GeolocationControllerClient.h: Added.
      (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
      * page/GeolocationError.h: Added.
      (WebCore::GeolocationError::):
      (WebCore::GeolocationError::create):
      (WebCore::GeolocationError::code):
      (WebCore::GeolocationError::message):
      * page/GeolocationPosition.h: Added.
      (WebCore::GeolocationPosition::create):
      (WebCore::GeolocationPosition::timestamp):
      (WebCore::GeolocationPosition::latitude):
      (WebCore::GeolocationPosition::longitude):
      (WebCore::GeolocationPosition::accuracy):
      (WebCore::GeolocationPosition::altitude):
      (WebCore::GeolocationPosition::altitudeAccuracy):
      (WebCore::GeolocationPosition::heading):
      (WebCore::GeolocationPosition::speed):
      (WebCore::GeolocationPosition::canProvideAltitude):
      (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
      (WebCore::GeolocationPosition::canProvideHeading):
      (WebCore::GeolocationPosition::canProvideSpeed):
      (WebCore::GeolocationPosition::GeolocationPosition):
      * page/Geoposition.h:
      (WebCore::Geoposition::create):
      * page/Page.cpp:
      (WebCore::Page::Page):
      * page/Page.h:
      (WebCore::Page::geolocationController):
      * svg/graphics/SVGImage.cpp:
      (WebCore::SVGImage::dataChanged):
      
      WebKit/chromium: 
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::WebViewImpl):
      
      WebKit/gtk: 
      
      * webkit/webkitwebview.cpp:
      (webkit_web_view_init):
      
      WebKit/mac: 
      
      * WebView/WebView.mm:
      (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
      
      WebKit/qt: 
      
      * Api/qwebpage.cpp:
      (QWebPagePrivate::QWebPagePrivate):
      
      WebKit/win: 
      
      * WebView.cpp:
      (WebView::initWithFrame):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d14ccddb
  18. 11 Dec, 2009 1 commit
  19. 09 Dec, 2009 1 commit
  20. 07 Dec, 2009 2 commits
  21. 24 Nov, 2009 1 commit
  22. 12 Nov, 2009 2 commits
    • aroben@apple.com's avatar
      Replace worldIDs with world objects · f6cbb76a
      aroben@apple.com authored
      Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
      user scripts/stylesheets and isolated worlds
      
      Reviewed by Sam Weinig.
      
      WebCore:
      
      Covered by existing tests.
      
      * WebCore.base.exp: Update exported symbols to match what now exists
      and is needed by WebKit.
      
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::execute): Updated for function rename.
      
      * bindings/js/ScriptController.cpp: Removed code that dealt with
      worldIDs.
      (WebCore::ScriptController::createWorld): Added. Returns a new world
      suitable for use on the main thread.
      (WebCore::ScriptController::executeScriptInWorld): Renamed from
      executeScriptInIsolatedWorld, since this works just fine with a
      "normal" world.
      
      * bindings/js/ScriptController.h: Added createWorld, removed functions
      that took worldIDs, renamed executeScriptInIsolatedWorld to
      executeScriptInWorld.
      
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScripts):
      (WebCore::Frame::injectUserScriptsForWorld):
      Updated for changes to UserScriptMap and ScriptController.
      
      * page/Frame.h: Changed injectUserScriptsForWorld to take a
      DOMWrapperWorld* instead of a worldID.
      
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserScriptToWorld):
      (WebCore::PageGroup::addUserStyleSheetToWorld):
      (WebCore::PageGroup::removeUserScriptFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetFromWorld):
      (WebCore::PageGroup::removeUserScriptsFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
      * page/PageGroup.h:
      Changed these functions to take a DOMWrapperWorld* instead of a
      worldID. Also updated for changes to UserScript and UserStyleSheet.
      
      * page/UserScript.h:
      * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
      never used.
      
      * page/UserScriptTypes.h:
      * page/UserStyleSheetTypes.h: Changed UserScriptMap and
      UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
      worldID as their key type.
      
      WebKit:
      
      * WebKit.xcodeproj/project.pbxproj: Added WebScriptWorld to the project.
      
      WebKit/mac:
      
      WebScriptWorld is the new object that represents a world.  The only
      place worldID is still used is in -[WebFrame
      _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
      but that will change soon.
      
      * WebKit.exp: Export WebScriptWorld.
      
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
      Moved the bizarre world caching/creation logic that DRT depends on
      here from the findWorld function in ScriptController.cpp. Updated to
      use ScriptController::executeScriptInWorld instead of
      ScriptController::executeScriptInIsolatedWorld.
      (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
      takes a WebScriptWorld.
      
      * WebView/WebFramePrivate.h: Replaced contextForWorldID: with
      _contextForWorld:.
      
      * WebView/WebScriptWorld.h: Added.
      * WebView/WebScriptWorld.mm: Added.
      (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
      _private member.
      (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
      -initWithWorld:.
      (-[WebScriptWorld dealloc]): Release _private.
      (+[WebScriptWorld standardWorld]): Returns a shared instance that
      represents WebCore's mainThreadNormalWorld().
      (+[WebScriptWorld world]): Returns a new instance.
      (core): Returns the DOMWrapperWorld for this WebScriptWorld.
      
      * WebView/WebScriptWorldInternal.h: Added.
      
      * WebView/WebView.mm:
      (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
      (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
      (+[WebView _removeUserScriptFromGroup:world:url:]):
      (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
      (+[WebView _removeUserScriptsFromGroup:world:]):
      (+[WebView _removeUserStyleSheetsFromGroup:world:]):
      * WebView/WebViewPrivate.h:
      Changed these functions to take a WebScriptWorld instead of a worldID.
      
      WebKit/win:
      
      WebScriptWorld is the new object that represents a world.  The only
      place worldID is still used is in
      IWebFramePrivate::stringByEvaluatingJavaScriptInIsolatedWorld, but
      that will change soon.
      
      * ForEachCoClass.h: Added WebScriptWorld.
      
      * Interfaces/IWebFramePrivate.idl: Replaced contextForWorldID with
      contextForWorld.
      
      * Interfaces/IWebScriptWorld.idl: Added.
      
      * Interfaces/IWebViewPrivate.idl: Changed the user script/stylesheet
      functions to take an IWebScriptWorld instead of a worldID.
      
      * Interfaces/WebKit.idl: Added WebScriptWorld.
      
      * WebFrame.cpp:
      (WebFrame::contextForWorld): Renamed from contextForWorldID. Now takes
      an IWebScriptWorld.
      (WebFrame::stringByEvaluatingJavaScriptInIsolatedWorld): Moved the
      bizarre world caching/creation logic that DRT depends on here from the
      findWorld function in ScriptController.cpp. Updated to use
      ScriptController::executeScriptInWorld instead of
      ScriptController::executeScriptInIsolatedWorld.
      
      * WebFrame.h: Replaced contextForWorldID with contextForWorld.
      
      * WebScriptWorld.cpp: Added.
      (WebScriptWorld::WebScriptWorld):
      (WebScriptWorld::~WebScriptWorld):
      (WebScriptWorld::createInstance):
      (WebScriptWorld::AddRef):
      (WebScriptWorld::Release):
      (WebScriptWorld::QueryInterface):
      Standard COM class implementations.
      
      (WebScriptWorld::standardWorld): Returns a shared instance that represents
      WebCore's mainThreadNormalWorld().
      
      * WebScriptWorld.h: Added.
      (WebScriptWorld::world): Simple getter.
      
      * WebKit.vcproj/Interfaces.vcproj: Added IWebScriptWorld.idl.
      
      * WebKit.vcproj/WebKit.vcproj: Added WebScriptWorld.
      
      * WebKitClassFactory.cpp: Added WebScriptWorld.
      
      * WebView.cpp:
      (WebView::addUserScriptToGroup):
      (WebView::addUserStyleSheetToGroup):
      (WebView::removeUserScriptFromGroup):
      (WebView::removeUserStyleSheetFromGroup):
      (WebView::removeUserScriptsFromGroup):
      (WebView::removeUserStyleSheetsFromGroup):
      * WebView.h:
      Changed these functions to take an IWebScriptWorld instead of a worldID.
      
      WebKitTools:
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::addUserScript):
      (LayoutTestController::addUserStyleSheet):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::addUserScript):
      (LayoutTestController::addUserStyleSheet):
      Changed these functions to create a new WebJSWorld each time they're
      called and to pass that world to WebKit.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6cbb76a
    • aroben@apple.com's avatar
      Small clean-up in WebView's user content functions · b3145606
      aroben@apple.com authored
      Preparation for <http://webkit.org/b/31414> Implement new SPI for
      dealing with user scripts/stylesheets and isolated worlds
      
      Reviewed by Dave Hyatt.
      
      * WebView.cpp:
      (toString):
      (toKURL):
      Added these helper functions to convert BSTRs to WebCore types.
      
      (toStringVector):
      (WebView::addUserScriptToGroup):
      (WebView::addUserStyleSheetToGroup):
      (WebView::removeUserScriptFromGroup):
      (WebView::removeUserStyleSheetFromGroup):
      (WebView::removeUserScriptsFromGroup):
      (WebView::removeUserStyleSheetsFromGroup):
      (WebView::removeAllUserContentFromGroup):
      Use the new helper functions.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3145606
  23. 23 Oct, 2009 1 commit
  24. 20 Oct, 2009 1 commit
    • ukai@chromium.org's avatar
      2009-10-20 Fumitoshi Ukai <ukai@chromium.org> · 64d2b36d
      ukai@chromium.org authored
              Reviewed by David Levin.
      
              Set EnabledAtRuntime for WebSocket in DOMWindow
              https://bugs.webkit.org/show_bug.cgi?id=29896
      
              Supported by chromium/v8 only.
              Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8
              bindings.
              Remove Settings::experimentalWebSocketsEnabled() and
              setExperimentalWebSocketsEnabled(bool).
      
              * WebCore.base.exp:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::webSocket):
              * bindings/v8/V8DOMWrapper.cpp:
              (WebCore::V8DOMWrapper::getConstructor):
              * bindings/v8/custom/V8CustomBinding.h:
              * bindings/v8/custom/V8DOMWindowCustom.cpp:
              (WebCore::ACCESSOR_RUNTIME_ENABLER):
              * page/DOMWindow.idl:
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              * page/Settings.h:
              * websockets/WebSocket.cpp:
              (WebCore::WebSocket::setIsAvailable):
              (WebCore::WebSocket::isAvailable):
              * websockets/WebSocket.h:
      2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
      
              Reviewed by David Levin.
      
              Removed WebSocket runtime settings.
              https://bugs.webkit.org/show_bug.cgi?id=29896
      
              WebSocket runtime configuration is supported by chromium/v8 only.
      
              * webkit/webkitwebview.cpp:
              (webkit_web_view_update_settings):
              (webkit_web_view_settings_notify):
      2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
      
              Reviewed by David Levin.
      
              Removed WebSocket runtime settings.
              https://bugs.webkit.org/show_bug.cgi?id=29896
      
              WebSocket runtime configuration is supported by chromium/v8 only.
      
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebPreferences.mm:
              (+[WebPreferences initialize]):
              * WebView/WebPreferencesPrivate.h:
              * WebView/WebView.mm:
              (-[WebView _preferencesChangedNotification:]):
      2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
      
              Reviewed by David Levin.
      
              Removed WebSocket runtime settings.
              https://bugs.webkit.org/show_bug.cgi?id=29896
      
              WebSocket runtime configuration is supported by chromium/v8 only.
      
              * Interfaces/IWebPreferencesPrivate.idl:
              * WebPreferenceKeysPrivate.h:
              * WebPreferences.cpp:
              (WebPreferences::initializeDefaultSettings):
              (WebPreferences::experimentalNotificationsEnabled):
              * WebPreferences.h:
              * WebView.cpp:
              (WebView::notifyPreferencesChanged):
      2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
      
              Reviewed by David Levin.
      
              Removed WebSocket runtime settings.
              https://bugs.webkit.org/show_bug.cgi?id=29896
      
              WebSocket runtime configuration is supported by chromium/v8 only.
      
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (resetDefaultsToConsistentValues):
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (resetDefaultsToConsistentValues):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64d2b36d
  25. 16 Oct, 2009 2 commits
    • jhoneycutt@apple.com's avatar
      Add SPI to determine whether a plug-in has ever been halted. · fb03e581
      jhoneycutt@apple.com authored
      Part of <rdar://problem/7312158>.
      
      Reviewed by Dan Bernstein.
      
      WebCore:
      
      * plugins/PluginView.cpp:
      (WebCore::PluginView::PluginView):
      Initialize m_hasBeenHalted.
      
      * plugins/PluginView.h:
      (WebCore::PluginView::hasBeenHalted):
      Return m_hasBeenHalted.
      
      * plugins/win/PluginViewWin.cpp:
      (WebCore::PluginView::halt):
      Set m_hasBeenHalted.
      
      WebKit/win:
      
      * Interfaces/IWebViewPrivate.idl:
      Add hasPluginForNodeBeenHalted().
      
      * WebView.cpp:
      (pluginViewForNode):
      Code factored out of isNodeHaltedPlugin().
      (WebView::isNodeHaltedPlugin):
      Remove STDMETHODCALLTYPE, as it has no use at the definition. Use
      pluginViewForNode().
      (WebView::restartHaltedPluginForNode):
      Ditto.
      (WebView::hasPluginForNodeBeenHalted):
      Get the PluginView for the given node. Return the result of
      PluginView::hasBeenHalted().
      
      * WebView.h:
      Declare hasPluginForNodeBeenHalted().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb03e581
    • jhoneycutt@apple.com's avatar
      Add SPI to restart a halted plug-in. · 0bf4912d
      jhoneycutt@apple.com authored
      Part of <rdar://problem/7273354> Halted plug-ins should restart on
      mouseover
      
      https://bugs.webkit.org/show_bug.cgi?id=30151
      
      Reviewed by Kevin Decker.
      
      * Interfaces/IWebViewPrivate.idl:
      Add restartHaltedPluginForNode().
      
      * WebView.cpp:
      (WebView::restartHaltedPluginForNode):
      From the IDOMNode, query for the DOMNode. From the DOMNode, get the
      WebCore::Node. Get the node's renderer, and check whether it is a
      RenderWidget. If so, get its Widget, and check whether it's a
      PluginView. If so, call PluginView::restart().
      
      * WebView.h:
      Declare restartHaltedPluginForNode().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0bf4912d
  26. 15 Oct, 2009 2 commits
    • jhoneycutt@apple.com's avatar
      Add SPI to determine whether a node is a halted plug-in. · 816d66ee
      jhoneycutt@apple.com authored
      Part of <rdar://problem/7273354> Halted plug-ins should restart on
      mouseover
      
      https://bugs.webkit.org/show_bug.cgi?id=30151
      
      Reviewed by Darin Adler.
      
      WebCore:
      
      * plugins/PluginView.cpp:
      (WebCore::PluginView::PluginView):
      Initialize m_isHalted.
      
      * plugins/PluginView.h:
      (WebCore::PluginView::isHalted):
      Return m_isHalted.
      
      * plugins/win/PluginViewWin.cpp:
      (WebCore::PluginView::halt):
      Set m_isHalted to true.
      (WebCore::PluginView::restart):
      clear m_isHalted.
      
      WebKit/win:
      
      * Interfaces/IWebViewPrivate.idl:
      Add isNodehaltedPlugin().
      
      * WebView.cpp:
      (WebView::isNodeHaltedPlugin):
      From the IDOMNode, query for the DOMNode. From the DOMNode, get the
      WebCore::Node. Get the node's renderer, and check whether it is a
      RenderWidget. If so, get its Widget, and check whether it's a
      PluginView. If so, return the result of PluginView::isHalted().
      
      * WebView.h:
      Declare isNodeHaltedPlugin().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      816d66ee
    • dbates@webkit.org's avatar
      2009-10-15 Daniel Bates <dbates@webkit.org> · fdfa3473
      dbates@webkit.org authored
              Reviewed by Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=24731
              And
              rdar://problem/5015961
              
              Implements support for DHTML drag-and-drop operations (i.e. ondragstart, ondragend)
              in the Windows build so that it conforms to the Mac OS X build. Hence, dropEffect is
              correctly set.
              
              The WebView and WebDropSource drag-and-drop functions, as called by function
              DoDragDrop in its event loop, neither used the drop effect as specified by
              event.dataTransfer.dropEffect nor respected event.dataTransfer.effectsAllowed.
              Instead, these functions defaulted to some hardcoded drop effect and set of
              allowed drop effects, respectively.
      
              Tests: fast/events/drag-and-drop.html
      
              * WebCoreSupport/WebDragClient.cpp:
              (WebDragClient::startDrag):
              * WebDropSource.cpp:
              (WebDropSource::QueryContinueDrag): Moved call to EventHandler::dragSourceEndedAt
              into method WebDragClient::startDrag.
              * WebDropSource.h:
              * WebView.cpp:
              (WebView::keyStateToDragOperation): Fixes <rdar://problem/5015961>. Determines
              appropriate drop effect from state of keyboard and allowed effects
              m_page->dragController()->sourceDragOperation().
              (WebView::DragEnter):
              (WebView::DragOver):
              (WebView::Drop):
              * WebView.h:
      2009-10-15  Daniel Bates  <dbates@webkit.org>
      
              Reviewed by Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=24731
              And
              rdar://problem/5015961
              
              Tests that DHTML drag-and-drop works correctly.
              
              Note, this test fails when effectAllowed == "uninitialized" because 
              this effect has not been implemented yet (see bug #30291).
      
              * fast/events/drag-and-drop-expected.txt: Added.
              * fast/events/drag-and-drop.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fdfa3473
  27. 14 Oct, 2009 1 commit
    • beidson@apple.com's avatar
      WebKit Win API should provide a delegate interface for global history. · b3d1d6e9
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=29905
      
      Reviewed by Sam Weinig.
      
      WebKit/win: 
      
      -Add IWebHistoryDelegate for clients to implement.
      -Add (I)WebNavigationData for the history delegate's use.
      -When it exists, call the history delegate instead of using WebHistory.
              
      * Interfaces/IWebHistoryDelegate.idl: Added.
      * Interfaces/IWebHistoryPrivate.idl:
      * Interfaces/IWebNavigationData.idl: Added.
      * Interfaces/IWebViewPrivate.idl:
      * Interfaces/WebKit.idl:
              
      * WebKit.vcproj/Interfaces.vcproj:
      * WebKit.vcproj/WebKit.vcproj:
      
      * WebCoreSupport/WebChromeClient.cpp:
      (WebChromeClient::populateVisitedLinks):
      * WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebFrameLoaderClient::updateGlobalHistory):
      (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
      (WebFrameLoaderClient::setTitle):
       
       * WebView.cpp:
      (WebView::close):
      (WebView::mainFrameURL):
      (WebView::setHistoryDelegate):
      (WebView::historyDelegate):
      (WebView::addVisitedLinks):
      * WebView.h:
              
      * WebHistory.cpp:
      (WebHistory::setVisitedLinkTrackingEnabled):
      (WebHistory::removeAllVisitedLinks):
      * WebHistory.h:
      
      * WebNavigationData.cpp: Added.
      (WebNavigationData::QueryInterface):
      (WebNavigationData::AddRef):
      (WebNavigationData::Release):
      (WebNavigationData::WebNavigationData):
      (WebNavigationData::~WebNavigationData):
      (WebNavigationData::createInstance):
      (WebNavigationData::url):
      (WebNavigationData::title):
      (WebNavigationData::originalRequest):
      (WebNavigationData::response):
      (WebNavigationData::hasSubstituteData):
      (WebNavigationData::clientRedirectSource):
      * WebNavigationData.h: Added.
      
      WebKitTools: 
      
      * DumpRenderTree/LayoutTestController.cpp:
      (LayoutTestController::LayoutTestController):
      * DumpRenderTree/LayoutTestController.h:
      (LayoutTestController::dumpHistoryDelegateCallbacks):
      (LayoutTestController::setDumpHistoryDelegateCallbacks):
                      
      * DumpRenderTree/win/DumpRenderTree.cpp:
      (shouldLogHistoryDelegates):
      (runTest):
      (createWebViewAndOffscreenWindow):
      (main):
      * DumpRenderTree/win/DumpRenderTree.vcproj:
              
      Add the IWebHistoryDelegate to DRT Windows:
      * DumpRenderTree/win/HistoryDelegate.cpp: Added.
      (wstringFromBSTR):
      (HistoryDelegate::HistoryDelegate):
      (HistoryDelegate::~HistoryDelegate):
      (HistoryDelegate::QueryInterface):
      (HistoryDelegate::AddRef):
      (HistoryDelegate::Release):
      (HistoryDelegate::didNavigateWithNavigationData):
      (HistoryDelegate::didPerformClientRedirectFromURL):
      (HistoryDelegate::didPerformServerRedirectFromURL):
      (HistoryDelegate::updateHistoryTitle):
      (HistoryDelegate::populateVisitedLinksForWebView):
      * DumpRenderTree/win/HistoryDelegate.h: Added.
      
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::removeAllVisitedLinks):
      
      LayoutTests: 
      
      * platform/win/Skipped: Enable globalhistory tests.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3d1d6e9
  28. 13 Oct, 2009 2 commits