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

Side by Side Diff: chrome/browser/ui/views/tab_contents/tab_contents_view_views.cc

Issue 8834008: Hide default context menu for platform apps. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Implemented differently Created 9 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/tab_contents/tab_contents_view_views.h" 5 #include "chrome/browser/ui/views/tab_contents/tab_contents_view_views.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "chrome/browser/ui/constrained_window.h" 10 #include "chrome/browser/ui/constrained_window.h"
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 void TabContentsViewViews::ShowContextMenu(const ContextMenuParams& params) { 334 void TabContentsViewViews::ShowContextMenu(const ContextMenuParams& params) {
335 // Allow delegates to handle the context menu operation first. 335 // Allow delegates to handle the context menu operation first.
336 if (tab_contents_->delegate() && 336 if (tab_contents_->delegate() &&
337 tab_contents_->delegate()->HandleContextMenu(params)) { 337 tab_contents_->delegate()->HandleContextMenu(params)) {
338 return; 338 return;
339 } 339 }
340 340
341 context_menu_.reset(new RenderViewContextMenuViews(tab_contents_, params)); 341 context_menu_.reset(new RenderViewContextMenuViews(tab_contents_, params));
342 context_menu_->Init(); 342 context_menu_->Init();
343 343
344 // Don't show empty menus.
345 if (context_menu_->menu_model().GetItemCount() == 0)
346 return;
347
344 gfx::Point screen_point(params.x, params.y); 348 gfx::Point screen_point(params.x, params.y);
345 views::View::ConvertPointToScreen(GetRootView(), &screen_point); 349 views::View::ConvertPointToScreen(GetRootView(), &screen_point);
346 350
347 // Enable recursive tasks on the message loop so we can get updates while 351 // Enable recursive tasks on the message loop so we can get updates while
348 // the context menu is being displayed. 352 // the context menu is being displayed.
349 bool old_state = MessageLoop::current()->NestableTasksAllowed(); 353 bool old_state = MessageLoop::current()->NestableTasksAllowed();
350 MessageLoop::current()->SetNestableTasksAllowed(true); 354 MessageLoop::current()->SetNestableTasksAllowed(true);
351 context_menu_->RunMenuAt(screen_point.x(), screen_point.y()); 355 context_menu_->RunMenuAt(screen_point.x(), screen_point.y());
352 MessageLoop::current()->SetNestableTasksAllowed(old_state); 356 MessageLoop::current()->SetNestableTasksAllowed(old_state);
353 } 357 }
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 tab_contents_->HideContents(); 458 tab_contents_->HideContents();
455 } 459 }
456 } 460 }
457 461
458 void TabContentsViewViews::OnNativeWidgetSizeChanged( 462 void TabContentsViewViews::OnNativeWidgetSizeChanged(
459 const gfx::Size& new_size) { 463 const gfx::Size& new_size) {
460 if (overlaid_view_) 464 if (overlaid_view_)
461 overlaid_view_->SetBounds(gfx::Rect(new_size)); 465 overlaid_view_->SetBounds(gfx::Rect(new_size));
462 views::Widget::OnNativeWidgetSizeChanged(new_size); 466 views::Widget::OnNativeWidgetSizeChanged(new_size);
463 } 467 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698