Bug 606473 - Enable plugin hooks once WindowsDllInterceptor supports 64-bit. r=bsmedberg
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Thu, 28 Jul 2011 19:06:56 +0900
changeset 73469 4c1c8236bac9c2d9dc91a38359bb3b129ec5c469
parent 73468 b7dadbf1e90d9a9d1d91b683328ced8b05b42a71
child 73470 979276ce6056d5019f1536ca561f849826450b58
push id20871
push usereakhgari@mozilla.com
push dateThu, 28 Jul 2011 14:37:48 +0000
treeherdermozilla-central@fe48bbfeff94 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbsmedberg
bugs606473
milestone8.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 606473 - Enable plugin hooks once WindowsDllInterceptor supports 64-bit. r=bsmedberg
dom/plugins/base/nsPluginNativeWindowWin.cpp
dom/plugins/ipc/PluginInstanceChild.cpp
--- a/dom/plugins/base/nsPluginNativeWindowWin.cpp
+++ b/dom/plugins/base/nsPluginNativeWindowWin.cpp
@@ -488,22 +488,16 @@ SetWindowLongWHook(HWND hWnd,
     reinterpret_cast<WNDPROC>(sUser32SetWindowLongWHookStub(hWnd, nIndex,
       reinterpret_cast<LONG_PTR>(PluginWndProc))));
   return proc;
 }
 
 static void
 HookSetWindowLongPtr()
 {
-#ifdef _WIN64
-  // XXX WindowsDllInterceptor doesn't support hooks
-  // in 64-bit builds, disabling this code for now.
-  return;
-#endif
-
   sUser32Intercept.Init("user32.dll");
 #ifdef _WIN64
   sUser32Intercept.AddHook("SetWindowLongPtrA", reinterpret_cast<intptr_t>(SetWindowLongPtrAHook),
                            (void**) &sUser32SetWindowLongAHookStub);
   sUser32Intercept.AddHook("SetWindowLongPtrW", reinterpret_cast<intptr_t>(SetWindowLongPtrWHook),
                            (void**) &sUser32SetWindowLongWHookStub);
 #else
   sUser32Intercept.AddHook("SetWindowLongA", reinterpret_cast<intptr_t>(SetWindowLongAHook),
--- a/dom/plugins/ipc/PluginInstanceChild.cpp
+++ b/dom/plugins/ipc/PluginInstanceChild.cpp
@@ -1473,22 +1473,16 @@ PluginInstanceChild::SetWindowLongWHook(
         NS_ASSERTION(self->mPluginWndProc != PluginWindowProc, "Infinite recursion coming up!");
     }
     return proc;
 }
 
 void
 PluginInstanceChild::HookSetWindowLongPtr()
 {
-#ifdef _WIN64
-    // XXX WindowsDllInterceptor doesn't support hooks
-    // in 64-bit builds, disabling this code for now.
-    return;
-#endif
-
     if (!(GetQuirks() & PluginModuleChild::QUIRK_FLASH_HOOK_SETLONGPTR))
         return;
 
     sUser32Intercept.Init("user32.dll");
 #ifdef _WIN64
     sUser32Intercept.AddHook("SetWindowLongPtrA", reinterpret_cast<intptr_t>(SetWindowLongPtrAHook),
                              (void**) &sUser32SetWindowLongAHookStub);
     sUser32Intercept.AddHook("SetWindowLongPtrW", reinterpret_cast<intptr_t>(SetWindowLongPtrWHook),