Bug 535295 - [OOPP] Tearing/Repainting issues with flash videos, their controls and other page content during/after scrolling. r=roc.
authorJim Mathies <jmathies@mozilla.com>
Mon, 05 Apr 2010 11:43:13 -0500
changeset 40218 3549ea4a9bd997815932b9e20e0fa5984a484620
parent 40217 1147cf4cdf63d49e73a44ec287241e9254844316
child 40219 d31c87f6d2028562c5e202e69fb25e09e0978345
push id12608
push userjmathies@mozilla.com
push dateMon, 05 Apr 2010 16:51:39 +0000
treeherdermozilla-central@d31c87f6d202 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs535295
milestone1.9.3a4pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
Bug 535295 - [OOPP] Tearing/Repainting issues with flash videos, their controls and other page content during/after scrolling. r=roc.
dom/plugins/PluginInstanceChild.cpp
--- a/dom/plugins/PluginInstanceChild.cpp
+++ b/dom/plugins/PluginInstanceChild.cpp
@@ -1488,18 +1488,23 @@ PluginInstanceChild::AnswerSetPluginFocu
 }
 
 bool
 PluginInstanceChild::AnswerUpdateWindow()
 {
     PR_LOG(gPluginLog, PR_LOG_DEBUG, ("%s", FULLFUNCTION));
 
 #if defined(OS_WIN)
-    if (mPluginWindowHWND)
-      UpdateWindow(mPluginWindowHWND);
+    if (mPluginWindowHWND) {
+        RECT rect;
+        if (GetUpdateRect(GetParent(mPluginWindowHWND), &rect, FALSE)) {
+            ::InvalidateRect(mPluginWindowHWND, &rect, FALSE); 
+        }
+        UpdateWindow(mPluginWindowHWND);
+    }
     return true;
 #else
     NS_NOTREACHED("PluginInstanceChild::AnswerUpdateWindow not implemented!");
     return false;
 #endif
 }
 
 PPluginScriptableObjectChild*