Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(899)

Unified Diff: chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc

Issue 183973027: Fix Flash fullscreen context menu target and position. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Avi's comments. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
diff --git a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
index fe83cc978c3fe9982bb4bbbd79d6afb943c1f8ab..d1da14e535fb9bfc21a21ecbf26e8e68c1ca8d22 100644
--- a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
+++ b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
@@ -137,14 +137,13 @@ void ChromeWebContentsViewDelegateViews::ShowContextMenu(
gfx::Point screen_point(params.x, params.y);
- // Convert from content coordinates to window coordinates.
- aura::Window* web_contents_window =
- web_contents_->GetView()->GetNativeView();
- aura::Window* root_window = web_contents_window->GetRootWindow();
+ // Convert from target window coordinates to root window coordinates.
+ aura::Window* target_window = GetActiveNativeView();
+ aura::Window* root_window = target_window->GetRootWindow();
aura::client::ScreenPositionClient* screen_position_client =
aura::client::GetScreenPositionClient(root_window);
if (screen_position_client) {
- screen_position_client->ConvertPointToScreen(web_contents_window,
+ screen_position_client->ConvertPointToScreen(target_window,
&screen_point);
}
// Enable recursive tasks on the message loop so we can get updates while
@@ -163,9 +162,14 @@ void ChromeWebContentsViewDelegateViews::SizeChanged(const gfx::Size& size) {
sad_tab->GetWidget()->SetBounds(gfx::Rect(size));
}
+aura::Window* ChromeWebContentsViewDelegateViews::GetActiveNativeView() {
+ return web_contents_->GetFullscreenRenderWidgetHostView() ?
+ web_contents_->GetFullscreenRenderWidgetHostView()->GetNativeView() :
+ web_contents_->GetView()->GetNativeView();
+}
+
views::Widget* ChromeWebContentsViewDelegateViews::GetTopLevelWidget() {
- return views::Widget::GetTopLevelWidgetForNativeView(
- web_contents_->GetView()->GetNativeView());
+ return views::Widget::GetTopLevelWidgetForNativeView(GetActiveNativeView());
}
views::FocusManager*

Powered by Google App Engine
This is Rietveld 408576698