Reviewed by Adam.
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jul 2007 22:01:29 +0000 (22:01 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Jul 2007 22:01:29 +0000 (22:01 +0000)
        <rdar://problem/5093862>
        Nothing shown in plugin area when trying to play content using the DivX plugin

        Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::determineQuirks):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@23956 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/plugins/win/PluginViewWin.cpp

index a5ab3c32ae5407132ea66e88964f57c27d13878d..dbb9f06eac40755b5636c5004050a406a2717ce1 100644 (file)
@@ -1,3 +1,15 @@
+2007-07-03  Anders Carlsson  <andersca@apple.com>
+
+        Reviewed by Adam.
+
+        <rdar://problem/5093862>
+        Nothing shown in plugin area when trying to play content using the DivX plugin
+        
+        Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
+                
+        * plugins/win/PluginViewWin.cpp:
+        (WebCore::PluginViewWin::determineQuirks):
+
 2007-07-03  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Brady Eidson.
index c5ce51a8b9a84cdbc95dd8cad48f465fcca67f3d..83ecd1d1c508e23432f4d9c83ff24581b4299ba1 100644 (file)
@@ -1177,6 +1177,11 @@ void PluginViewWin::determineQuirks(const String& mimeType)
         m_quirks |= PluginQuirkRemoveWindowlessVideoParam;
     }
 
+    // The DivX plugin sets its size on the first NPP_SetWindow call and never updates its size, so
+    // call SetWindow when the plugin view has a correct size
+    if (mimeType == "video/divx")
+        m_quirks |= PluginQuirkDeferFirstSetWindowCall;
+
     // Shockwave calls SetWindowLongA to set a new WNDPROC on its plugin window. The value returned from SetWindowLongA is the old WNDPROC.
     // If the previous WNDPROC was an Unicode WNDPROC, the address of the WNDPROC will not be returned. Instead, a special
     // value that indicates that the messages coming to the WNDPROC need to be translated to Unicode. If CallWndProc is used to