OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/renderer_host/render_widget_host_view_mac.h" | 5 #include "chrome/browser/renderer_host/render_widget_host_view_mac.h" |
6 | 6 |
7 #include "base/histogram.h" | 7 #include "base/histogram.h" |
8 #include "base/sys_string_conversions.h" | 8 #include "base/sys_string_conversions.h" |
9 #include "chrome/browser/browser_trial.h" | 9 #include "chrome/browser/browser_trial.h" |
10 #include "chrome/browser/renderer_host/backing_store.h" | 10 #include "chrome/browser/renderer_host/backing_store.h" |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 int item_height, | 275 int item_height, |
276 int selected_item, | 276 int selected_item, |
277 const std::vector<WebMenuItem>& items) { | 277 const std::vector<WebMenuItem>& items) { |
278 NSRect view_rect = [cocoa_view_ bounds]; | 278 NSRect view_rect = [cocoa_view_ bounds]; |
279 NSRect parent_rect = [parent_view_ bounds]; | 279 NSRect parent_rect = [parent_view_ bounds]; |
280 int y_offset = bounds.y() + bounds.height(); | 280 int y_offset = bounds.y() + bounds.height(); |
281 NSRect position = NSMakeRect(bounds.x(), parent_rect.size.height - y_offset, | 281 NSRect position = NSMakeRect(bounds.x(), parent_rect.size.height - y_offset, |
282 bounds.width(), bounds.height()); | 282 bounds.width(), bounds.height()); |
283 | 283 |
284 // Display the menu. | 284 // Display the menu. |
285 WebMenuRunner* menu_runner = | 285 scoped_nsobject<WebMenuRunner> menu_runner; |
286 [[[WebMenuRunner alloc] initWithItems:items] autorelease]; | 286 menu_runner.reset([[WebMenuRunner alloc] initWithItems:items]); |
287 | 287 |
288 [menu_runner runMenuInView:parent_view_ | 288 [menu_runner runMenuInView:parent_view_ |
289 withBounds:position | 289 withBounds:position |
290 initialIndex:selected_item]; | 290 initialIndex:selected_item]; |
291 | 291 |
292 int window_num = [[parent_view_ window] windowNumber]; | 292 int window_num = [[parent_view_ window] windowNumber]; |
293 NSEvent* event = CreateEventForMenuAction([menu_runner menuItemWasChosen], | 293 NSEvent* event = |
294 window_num, item_height, | 294 webkit_glue::EventWithMenuAction([menu_runner menuItemWasChosen], |
295 [menu_runner indexOfSelectedItem], | 295 window_num, item_height, |
296 position, view_rect); | 296 [menu_runner indexOfSelectedItem], |
| 297 position, view_rect); |
297 | 298 |
298 if ([menu_runner menuItemWasChosen]) { | 299 if ([menu_runner menuItemWasChosen]) { |
299 // Simulate a menu selection event. | 300 // Simulate a menu selection event. |
300 const WebMouseEvent& mouse_event = | 301 const WebMouseEvent& mouse_event = |
301 WebInputEventFactory::mouseEvent(event, cocoa_view_); | 302 WebInputEventFactory::mouseEvent(event, cocoa_view_); |
302 render_widget_host_->ForwardMouseEvent(mouse_event); | 303 render_widget_host_->ForwardMouseEvent(mouse_event); |
303 } else { | 304 } else { |
304 // Simulate a menu dismiss event. | 305 // Simulate a menu dismiss event. |
305 NativeWebKeyboardEvent keyboard_event(event); | 306 NativeWebKeyboardEvent keyboard_event(event); |
306 render_widget_host_->ForwardKeyboardEvent(keyboard_event); | 307 render_widget_host_->ForwardKeyboardEvent(keyboard_event); |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 - (BOOL)resignFirstResponder { | 462 - (BOOL)resignFirstResponder { |
462 if (closeOnDeactivate_) | 463 if (closeOnDeactivate_) |
463 renderWidgetHostView_->KillSelf(); | 464 renderWidgetHostView_->KillSelf(); |
464 | 465 |
465 renderWidgetHostView_->render_widget_host_->Blur(); | 466 renderWidgetHostView_->render_widget_host_->Blur(); |
466 | 467 |
467 return YES; | 468 return YES; |
468 } | 469 } |
469 | 470 |
470 @end | 471 @end |
OLD | NEW |