diff options
author | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-13 02:19:25 +0000 |
---|---|---|
committer | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-13 02:19:25 +0000 |
commit | 0bc6304b299656d42fe9c286bc897b892ebe4b6e (patch) | |
tree | 8d410421658d19746cd78a61dcc16deefc647782 /chrome | |
parent | bf3716aa16fd9fc39be2fcd661c9e8b14df4d054 (diff) | |
download | chromium_src-0bc6304b299656d42fe9c286bc897b892ebe4b6e.zip chromium_src-0bc6304b299656d42fe9c286bc897b892ebe4b6e.tar.gz chromium_src-0bc6304b299656d42fe9c286bc897b892ebe4b6e.tar.bz2 |
Revert 96592 - Add scroll and gesture message filters for UIPI Flash.
Flash forwards some window messages when it has no handler set. The only ones I've observed are WM_MOUSEWHEEL and WM_GESTURE (gestures are supported only on Win7). So, we need to allow these messages through the UIPI boundary.
One important note is that I use per-process message filters on Vista, but per-window filters on Win7 or later (because they're supported).
BUG=86810
TEST=None.
Review URL: http://codereview.chromium.org/7617019
TBR=jschuh@chromium.org
Review URL: http://codereview.chromium.org/7648011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96661 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host_view_win.cc | 23 | ||||
-rw-r--r-- | chrome/common/chrome_content_client.cc | 13 |
2 files changed, 1 insertions, 35 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.cc b/chrome/browser/renderer_host/render_widget_host_view_win.cc index 568c8fd..986bbb9 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_win.cc +++ b/chrome/browser/renderer_host/render_widget_host_view_win.cc @@ -446,33 +446,12 @@ HWND RenderWidgetHostViewWin::ReparentWindow(HWND window) { } DCHECK(window_class); - HWND orig_parent = ::GetParent(window); HWND parent = CreateWindowEx( WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR, MAKEINTATOM(window_class), 0, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, - 0, 0, 0, 0, orig_parent, 0, GetModuleHandle(NULL), 0); + 0, 0, 0, 0, ::GetParent(window), 0, GetModuleHandle(NULL), 0); ui::CheckWindowCreated(parent); - // If UIPI is enabled we need to add message filters for parents with - // children that cross process boundaries. - if (::GetPropW(orig_parent, webkit::npapi::kNativeWindowClassFilterProp)) { - // Process-wide message filters required on Vista must be added to: - // chrome_content_client.cc ChromeContentClient::SandboxPlugin - typedef BOOL (WINAPI *ChangeWindowMessageFilterExFunction)( - HWND hwnd, - UINT message, - DWORD action, - PCHANGEFILTERSTRUCT change_filter_struct); - static ChangeWindowMessageFilterExFunction s_ChangeWindowMessageFilterEx = - reinterpret_cast<ChangeWindowMessageFilterExFunction>( - ::GetProcAddress(::GetModuleHandle(L"user32.dll"), - "ChangeWindowMessageFilterEx")); - // Process-wide message filters required on Vista must be added to: - // chrome_content_client.cc ChromeContentClient::SandboxPlugin - s_ChangeWindowMessageFilterEx(parent, WM_MOUSEWHEEL, MSGFLT_ALLOW, NULL); - s_ChangeWindowMessageFilterEx(parent, WM_GESTURE, MSGFLT_ALLOW, NULL); - ::SetPropW(orig_parent, webkit::npapi::kNativeWindowClassFilterProp, NULL); - } ::SetParent(window, parent); BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc index 1069918..1adc397 100644 --- a/chrome/common/chrome_content_client.cc +++ b/chrome/common/chrome_content_client.cc @@ -362,19 +362,6 @@ bool ChromeContentClient::SandboxPlugin(CommandLine* command_line, policy->SetJobLevel(sandbox::JOB_UNPROTECTED, 0); policy->SetTokenLevel(sandbox::USER_RESTRICTED_SAME_ACCESS, sandbox::USER_INTERACTIVE); - // Allow the Flash plugin to forward some messages back to Chrome. - if (base::win::GetVersion() == base::win::VERSION_VISTA) { - typedef BOOL (WINAPI *ChangeWindowMessageFilterFunction)( - UINT message, - DWORD flag); - static ChangeWindowMessageFilterFunction s_ChangeWindowMessageFilter = - reinterpret_cast<ChangeWindowMessageFilterFunction>( - ::GetProcAddress(::GetModuleHandle(L"user32.dll"), - "ChangeWindowMessageFilter")); - // Per-window message filters required on Win7 or later must be added to: - // render_widget_host_view_win.cc RenderWidgetHostViewWin::ReparentWindow - s_ChangeWindowMessageFilter(WM_MOUSEWHEEL, MSGFLT_ADD); - } policy->SetIntegrityLevel(sandbox::INTEGRITY_LEVEL_LOW); } else { // Could not start the broker, use a very weak policy instead. |