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

Side by Side Diff: content/browser/web_contents/web_contents_view_mac.mm

Issue 197533008: Mac: ExternalPopupMenu::close should hide a showing popup menu. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test fix Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/browser/web_contents/web_contents_view_mac.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #import <Carbon/Carbon.h> 5 #import <Carbon/Carbon.h>
6 6
7 #import "content/browser/web_contents/web_contents_view_mac.h" 7 #import "content/browser/web_contents/web_contents_view_mac.h"
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 241
242 // Display a popup menu for WebKit using Cocoa widgets. 242 // Display a popup menu for WebKit using Cocoa widgets.
243 void WebContentsViewMac::ShowPopupMenu( 243 void WebContentsViewMac::ShowPopupMenu(
244 const gfx::Rect& bounds, 244 const gfx::Rect& bounds,
245 int item_height, 245 int item_height,
246 double item_font_size, 246 double item_font_size,
247 int selected_item, 247 int selected_item,
248 const std::vector<MenuItem>& items, 248 const std::vector<MenuItem>& items,
249 bool right_aligned, 249 bool right_aligned,
250 bool allow_multiple_selection) { 250 bool allow_multiple_selection) {
251 PopupMenuHelper popup_menu_helper(web_contents_->GetRenderViewHost()); 251 popup_menu_helper_.reset(
252 popup_menu_helper.ShowPopupMenu(bounds, item_height, item_font_size, 252 new PopupMenuHelper(web_contents_->GetRenderViewHost()));
253 selected_item, items, right_aligned, 253 popup_menu_helper_->ShowPopupMenu(bounds, item_height, item_font_size,
254 allow_multiple_selection); 254 selected_item, items, right_aligned,
255 allow_multiple_selection);
256 popup_menu_helper_.reset();
257 }
258
259 void WebContentsViewMac::HidePopupMenu() {
260 if (popup_menu_helper_)
261 popup_menu_helper_->Hide();
255 } 262 }
256 263
257 gfx::Rect WebContentsViewMac::GetViewBounds() const { 264 gfx::Rect WebContentsViewMac::GetViewBounds() const {
258 // This method is not currently used on mac. 265 // This method is not currently used on mac.
259 NOTIMPLEMENTED(); 266 NOTIMPLEMENTED();
260 return gfx::Rect(); 267 return gfx::Rect();
261 } 268 }
262 269
263 void WebContentsViewMac::SetAllowOverlappingViews(bool overlapping) { 270 void WebContentsViewMac::SetAllowOverlappingViews(bool overlapping) {
264 if (allow_overlapping_views_ == overlapping) 271 if (allow_overlapping_views_ == overlapping)
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 // When the subviews require a layout, their size should be reset to the size 632 // When the subviews require a layout, their size should be reset to the size
626 // of this view. (It is possible for the size to get out of sync as an 633 // of this view. (It is possible for the size to get out of sync as an
627 // optimization in preparation for an upcoming WebContentsView resize. 634 // optimization in preparation for an upcoming WebContentsView resize.
628 // http://crbug.com/264207) 635 // http://crbug.com/264207)
629 - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize { 636 - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize {
630 for (NSView* subview in self.subviews) 637 for (NSView* subview in self.subviews)
631 [subview setFrame:self.bounds]; 638 [subview setFrame:self.bounds];
632 } 639 }
633 640
634 @end 641 @end
OLDNEW
« no previous file with comments | « content/browser/web_contents/web_contents_view_mac.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698