summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-13 02:19:25 +0000
committerjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-13 02:19:25 +0000
commit0bc6304b299656d42fe9c286bc897b892ebe4b6e (patch)
tree8d410421658d19746cd78a61dcc16deefc647782 /chrome
parentbf3716aa16fd9fc39be2fcd661c9e8b14df4d054 (diff)
downloadchromium_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.cc23
-rw-r--r--chrome/common/chrome_content_client.cc13
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.