[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

andersca at apple.com andersca at apple.com
Wed Dec 22 11:39:24 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 241c49ac00ca8c230169b52a2352447da82f32ee
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Aug 2 23:39:50 2010 +0000

    Fix plug-in test failures and remove tests from the Skipped list
    https://bugs.webkit.org/show_bug.cgi?id=43389
    
    Reviewed by Sam Weinig.
    
    WebCore:
    
    * WebCore.exp.in:
    Export FrameLoader::cancelledError.
    
    WebKit2:
    
    * WebProcess/Plugins/JSNPMethod.cpp:
    JSNPMethod::s_info should specify InternalFunction::info as its parent.
    
    * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
    (WebKit::NetscapePlugin::cancelStreamLoad):
    Special-case the manual stream and call PluginController::cancelManualStreamLoad.
    
    * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
    (WebKit::NetscapePluginStream::stop):
    It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
    
    * WebProcess/Plugins/PluginController.h:
    Add cancelManualStreamLoad.
    
    * WebProcess/Plugins/PluginView.cpp:
    (WebKit::PluginView::cancelManualStreamLoad):
    Tell the document loader to cancel the main resource load.
    
    * WebProcess/WebPage/WebFrame.cpp:
    (WebKit::WebFrame::innerText):
    Check for a null document element.
    
    LayoutTests:
    
    * platform/mac-wk2/Skipped:
    Move plug-in tests that now fail due to lack of functionality out into appropriate sections.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64504 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 54dea5f..946cd2b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-08-02  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Fix plug-in test failures and remove tests from the Skipped list
+        https://bugs.webkit.org/show_bug.cgi?id=43389
+
+        * platform/mac-wk2/Skipped:
+        Move plug-in tests that now fail due to lack of functionality out into appropriate sections.
+
 2010-08-02  Jon Honeycutt  <jhoneycutt at apple.com>
 
         Skip Windows-only accessibility tests on WebKit2.
diff --git a/LayoutTests/platform/mac-wk2/Skipped b/LayoutTests/platform/mac-wk2/Skipped
index a3c5cf0..529ec1b 100644
--- a/LayoutTests/platform/mac-wk2/Skipped
+++ b/LayoutTests/platform/mac-wk2/Skipped
@@ -1062,6 +1062,8 @@ platform/mac/fast/forms/input-number-click.html
 platform/mac/fast/forms/listbox-scrollbar-hit-test.html
 platform/mac/fast/overflow/overflow-scrollbar-hit-test.html
 plugins/createScriptableObject-before-start.html
+plugins/destroy-during-npp-new.html
+plugins/resize-from-plugin.html
 scrollbars/scrollbar-iframe-click-does-not-blur-content.html
 scrollbars/scrollbar-middleclick-nopaste.html
 scrollbars/scrollbar-miss-mousemove-disabled.html
@@ -1456,6 +1458,7 @@ http/tests/security/xssAuditor/script-tag-with-source-same-host.html
 http/tests/security/xssAuditor/script-tag-with-source.html
 http/tests/security/xssAuditor/script-tag.html
 http/tests/security/xssAuditor/xss-protection-parsing-01.html
+plugins/js-from-destroy.html
 
 # WebKit2 needs plugins support
 # <https://bugs.webkit.org/show_bug.cgi?id=42196>
@@ -1466,41 +1469,7 @@ fast/events/tabindex-focus-blur-all.html
 fast/loader/loadInProgress.html
 http/tests/misc/acid2-pixel.html
 http/tests/misc/acid2.html
-http/tests/plugins
 java
-platform/mac/plugins
-plugins/attach-during-destroy.html
-plugins/clicking-missing-plugin-fires-delegate.html
-plugins/destroy-during-npp-new.html
-plugins/destroy-reentry.html
-plugins/destroy-stream-twice.html
-plugins/embed-attributes-setting.html
-plugins/embed-attributes-style.html
-plugins/embed-inside-object.html
-plugins/get-empty-url.html
-plugins/get-file-url.html
-plugins/get-url-that-the-resource-load-delegate-will-disallow.html
-plugins/get-url-with-blank-target.html
-plugins/get-url-with-iframe-target.html
-plugins/geturl-replace-query.html
-plugins/iframe-shims.html
-plugins/inner-html-display-none.html
-plugins/instance-available-before-stylesheets-loaded-object.html
-plugins/instance-available-before-stylesheets-loaded.html
-plugins/js-from-destroy.html
-plugins/missing-plugin.html
-plugins/netscape-plugin-map-data-to-src.html
-plugins/netscape-plugin-setwindow-size-2.html
-plugins/netscape-plugin-setwindow-size.html
-plugins/plugin-remove-subframe.html
-plugins/reentrant-update-widget-positions.html
-plugins/reloadplugins-no-pages.html
-plugins/resize-from-plugin.html
-plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
-plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html
-plugins/return-negative-one-from-write.html
-plugins/update-widgets-crash.html
-plugins/window-open.html
 
 # WebKit2 needs layoutTestController.overridePreference
 # <https://bugs.webkit.org/show_bug.cgi?id=42197>
@@ -2055,14 +2024,15 @@ storage/transaction-success-callback-isolated-world.html
 # WebKitTestRunner needs layoutTestController.pathToLocalResource
 # <https://bugs.webkit.org/show_bug.cgi?id=42541>
 fast/loader/local-CSS-from-local.html
-fast/loader/local-JavaScript-from-local.html
 fast/loader/local-iFrame-source-from-local.html
 fast/loader/local-image-from-local.html
+fast/loader/local-JavaScript-from-local.html
+http/tests/plugins/post-url-file.html
 http/tests/security/frame-loading-via-document-write.html
 http/tests/security/local-CSS-from-remote.html
-http/tests/security/local-JavaScript-from-remote.html
 http/tests/security/local-iFrame-from-remote.html
 http/tests/security/local-image-from-remote.html
+http/tests/security/local-JavaScript-from-remote.html
 http/tests/security/local-video-poster-from-remote.html
 http/tests/security/local-video-source-from-remote.html
 http/tests/security/local-video-src-from-remote.html
@@ -2227,6 +2197,7 @@ fast/events/keypress-insert-tab.html
 # <https://bugs.webkit.org/show_bug.cgi?id=42688>
 editing/selection/4975120.html
 fast/events/show-modal-dialog-onblur-onfocus.html
+plugins/netscape-plugin-setwindow-size-2.html
 
 # WebKitTestRunner needs layoutTestController.setEditingBehavior
 # <https://bugs.webkit.org/show_bug.cgi?id=42689>
@@ -2292,6 +2263,7 @@ fast/loader/non-deferred-substitute-load.html
 # WebKit2 needs layoutTestController.setAlwaysAcceptCookies
 # <https://bugs.webkit.org/show_bug.cgi?id=42778>
 http/tests/cookies/third-party-cookie-relaxing.html
+http/tests/plugins/third-party-cookie-accept-policy.html
 
 # WebKitTestRunner needs GCController
 # <https://bugs.webkit.org/show_bug.cgi?id=42701>
@@ -2361,6 +2333,9 @@ http/tests/loading/text-content-type-with-binary-extension.html
 # WebKitTestRunner needs layoutTestController.callShouldCloseOnWebView
 fast/events/onbeforeunload-focused-iframe.html
 
+# WebKitTestRunner needs layoutTestController.setPluginsEnabled
+platform/mac/plugins/disable-plugins.html
+
 # WebKitTestRunner needs layoutTestController.setHandlesAuthenticationChallenges
 http/tests/loading/basic-auth-resend-wrong-credentials.html
 http/tests/loading/basic-credentials-sent-automatically.html
@@ -2389,6 +2364,13 @@ fast/events/popup-blocked-from-fake-focus.html
 fast/events/popup-blocked-from-fake-user-gesture.html
 fast/events/popup-blocked-to-post-blank.html
 
+# WebKitTestRunner needs layoutTestController.addDisallowedURL
+plugins/get-url-that-the-resource-load-delegate-will-disallow.html
+
+# WebKitTestRunner gets confused by location.href redirects.
+plugins/attach-during-destroy.html
+plugins/destroy-reentry.html
+
 # WebKit2 needs support for moving/resizing and querying the location/size the window
 fast/dom/Window/window-lookup-precedence.html
 fast/dom/Window/window-resize-and-move-arguments.html
@@ -2456,6 +2438,17 @@ storage/domstorage/events/basic.html
 storage/domstorage/events/case-sensitive.html
 storage/domstorage/events/documentURI.html
 
+# WebKit2 doesn't have a missing plug-in delegate
+plugins/clicking-missing-plugin-fires-delegate.html
+
+# These are plug-in tests that use Flash or QuickTime. We should convert these to use the test plug-in.
+plugins/embed-attributes-setting.html
+plugins/iframe-shims.html
+
+# This test checks that NPN_GetURL with a blank target will return an error if the window isn't opened. This behavior doesn't
+# match Firefox or Chrome. We should either fix the test, or get rid of it.
+plugins/get-url-with-blank-target.html
+
 # Unexplained failures that were formerly in the dumpChildFramesAsText list.
 fast/frames/sandboxed-iframe-noscript.html
 fast/frames/sandboxed-iframe-storage.html
@@ -2622,10 +2615,18 @@ platform/mac/fast/dom/wrapper-classes-objc.html
 platform/mac/fast/dom/wrapper-round-tripping.html
 platform/mac/fast/objc/longlongTest.html
 platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
+platform/mac/plugins/bindings-array-apply-crash.html
 platform/mac/plugins/bindings-test-objc.html
+platform/mac/plugins/call-as-function-test.html
+platform/mac/plugins/root-object-premature-delete-crash.html
+platform/mac/plugins/undefined-property-crash.html
+platform/mac/plugins/webScriptObject-exception-deadlock.html
 
 # WebKitTestRunner doesn't have objCPlugin
 platform/mac/editing/pasteboard/5583362.html
+platform/mac/plugins/jsobjc-dom-wrappers.html
+platform/mac/plugins/jsobjc-simple.html
+platform/mac/plugins/throw-on-dealloc.html
 
 # WebKitTestRunner doesn't have eventSender.enableDOMUIEventLogging
 platform/mac/fast/events/objc-event-api.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4da7e96..5148f68 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,13 @@
+2010-08-02  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Fix plug-in test failures and remove tests from the Skipped list
+        https://bugs.webkit.org/show_bug.cgi?id=43389
+
+        * WebCore.exp.in:
+        Export FrameLoader::cancelledError.
+
 2010-08-02  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Anders Carlsson.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index e4d2286..9b7a2b9 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -849,6 +849,7 @@ __ZNK7WebCore10ScrollView16contentsToWindowERKNS_7IntRectE
 __ZNK7WebCore10ScrollView18visibleContentRectEb
 __ZNK7WebCore11CachedImage5imageEv
 __ZNK7WebCore11FrameLoader10isCompleteEv
+__ZNK7WebCore11FrameLoader14cancelledErrorERKNS_15ResourceRequestE
 __ZNK7WebCore11FrameLoader14frameHasLoadedEv
 __ZNK7WebCore11FrameLoader16outgoingReferrerEv
 __ZNK7WebCore11FrameLoader20activeDocumentLoaderEv
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 5d93c9b..492f0ca 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -2,6 +2,35 @@
 
         Reviewed by Sam Weinig.
 
+        Fix plug-in test failures and remove tests from the Skipped list
+        https://bugs.webkit.org/show_bug.cgi?id=43389
+
+        * WebProcess/Plugins/JSNPMethod.cpp:
+        JSNPMethod::s_info should specify InternalFunction::info as its parent.
+
+        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+        (WebKit::NetscapePlugin::cancelStreamLoad):
+        Special-case the manual stream and call PluginController::cancelManualStreamLoad.
+
+        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+        (WebKit::NetscapePluginStream::stop):
+        It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
+        
+        * WebProcess/Plugins/PluginController.h:
+        Add cancelManualStreamLoad.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::cancelManualStreamLoad):
+        Tell the document loader to cancel the main resource load.
+
+        * WebProcess/WebPage/WebFrame.cpp:
+        (WebKit::WebFrame::innerText):
+        Check for a null document element.
+
+2010-08-02  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Sam Weinig.
+
         Add support for loading manual streams
         https://bugs.webkit.org/show_bug.cgi?id=43380
 
diff --git a/WebKit2/WebProcess/Plugins/JSNPMethod.cpp b/WebKit2/WebProcess/Plugins/JSNPMethod.cpp
index 0c0e2a4..c094505 100644
--- a/WebKit2/WebProcess/Plugins/JSNPMethod.cpp
+++ b/WebKit2/WebProcess/Plugins/JSNPMethod.cpp
@@ -38,7 +38,7 @@ using namespace WebCore;
 
 namespace WebKit {
 
-const ClassInfo JSNPMethod::s_info = { "NPMethod", 0, 0, 0 };
+const ClassInfo JSNPMethod::s_info = { "NPMethod", &InternalFunction::info, 0, 0 };
 
 JSNPMethod::JSNPMethod(ExecState* exec, JSGlobalObject* globalObject, const Identifier& name, NPIdentifier npIdentifier)
     : InternalFunction(&exec->globalData(), globalObject, createStructure(globalObject->functionPrototype()), name)
diff --git a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
index a525256..bc25d8b 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
+++ b/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
@@ -174,6 +174,11 @@ NPObject* NetscapePlugin::pluginElementNPObject()
 
 void NetscapePlugin::cancelStreamLoad(NetscapePluginStream* pluginStream)
 {
+    if (pluginStream == m_manualStream) {
+        m_pluginController->cancelManualStreamLoad();
+        return;
+    }
+
     // Ask the plug-in controller to cancel this stream load.
     m_pluginController->cancelStreamLoad(pluginStream->streamID());
 }
diff --git a/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp b/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp
index 5e5e041..8579a63 100644
--- a/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp
+++ b/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp
@@ -275,7 +275,10 @@ void NetscapePluginStream::deliverDataToFile(const char* bytes, int length)
 
 void NetscapePluginStream::stop(NPReason reason)
 {
-    ASSERT(m_isStarted);
+    // The stream was stopped before it got a chance to start. This can happen if a stream is cancelled by
+    // WebKit before it received a response.
+    if (!m_isStarted)
+        return;
 
     if (reason == NPRES_DONE && m_deliveryData && !m_deliveryData->isEmpty()) {
         // There is still data left that the plug-in hasn't been able to consume yet.
diff --git a/WebKit2/WebProcess/Plugins/PluginController.h b/WebKit2/WebProcess/Plugins/PluginController.h
index 0d3dd29..9e9ed12 100644
--- a/WebKit2/WebProcess/Plugins/PluginController.h
+++ b/WebKit2/WebProcess/Plugins/PluginController.h
@@ -59,6 +59,9 @@ public:
     /// Cancels the load of a stream that was requested by loadURL.
     virtual void cancelStreamLoad(uint64_t streamID) = 0;
 
+    // Cancels the load of the manual stream.
+    virtual void cancelManualStreamLoad() = 0;
+
     // Get the NPObject that corresponds to the window JavaScript object. Returns a retained object.
     virtual NPObject* windowScriptNPObject() = 0;
 
diff --git a/WebKit2/WebProcess/Plugins/PluginView.cpp b/WebKit2/WebProcess/Plugins/PluginView.cpp
index 1233492..f2b674b 100644
--- a/WebKit2/WebProcess/Plugins/PluginView.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginView.cpp
@@ -664,6 +664,18 @@ void PluginView::cancelStreamLoad(uint64_t streamID)
     ASSERT(!m_streams.contains(streamID));
 }
 
+void PluginView::cancelManualStreamLoad()
+{
+    if (!frame())
+        return;
+
+    DocumentLoader* documentLoader = frame()->loader()->activeDocumentLoader();
+    ASSERT(documentLoader);
+    
+    if (documentLoader->isLoadingMainResource())
+        documentLoader->cancelMainResourceLoad(frame()->loader()->cancelledError(m_parameters.url));
+}
+
 NPObject* PluginView::windowScriptNPObject()
 {
     if (!frame())
diff --git a/WebKit2/WebProcess/Plugins/PluginView.h b/WebKit2/WebProcess/Plugins/PluginView.h
index 0676380..21af4e6 100644
--- a/WebKit2/WebProcess/Plugins/PluginView.h
+++ b/WebKit2/WebProcess/Plugins/PluginView.h
@@ -108,6 +108,7 @@ private:
     virtual void loadURL(uint64_t requestID, const WebCore::String& method, const WebCore::String& urlString, const WebCore::String& target, 
                          const WebCore::HTTPHeaderMap& headerFields, const Vector<char>& httpBody, bool allowPopups);
     virtual void cancelStreamLoad(uint64_t streamID);
+    virtual void cancelManualStreamLoad();
     virtual NPObject* windowScriptNPObject();
     virtual NPObject* pluginElementNPObject();
     virtual bool evaluate(NPObject*, const WebCore::String&scriptString, NPVariant* result, bool allowPopups);
diff --git a/WebKit2/WebProcess/WebPage/WebFrame.cpp b/WebKit2/WebProcess/WebPage/WebFrame.cpp
index 6b3b221..d66a80b 100644
--- a/WebKit2/WebProcess/WebPage/WebFrame.cpp
+++ b/WebKit2/WebProcess/WebPage/WebFrame.cpp
@@ -190,6 +190,9 @@ String WebFrame::innerText() const
     if (!m_coreFrame)
         return String();
 
+    if (!m_coreFrame->document()->documentElement())
+        return String();
+
     return m_coreFrame->document()->documentElement()->innerText();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list