| OLD | NEW |
| 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 #include <Carbon/Carbon.h> | 5 #include <Carbon/Carbon.h> |
| 6 #import <Cocoa/Cocoa.h> | 6 #import <Cocoa/Cocoa.h> |
| 7 | 7 |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/debug/debugger.h" | 9 #include "base/debug/debugger.h" |
| 10 #include "base/mac/scoped_nsautorelease_pool.h" | 10 #include "base/mac/scoped_nsautorelease_pool.h" |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 NSMenuItem* new_tab_window_item = CreateMenuItem(menu, IDC_NEW_WINDOW); | 301 NSMenuItem* new_tab_window_item = CreateMenuItem(menu, IDC_NEW_WINDOW); |
| 302 NSMenuItem* new_tab_incognito_window_item = | 302 NSMenuItem* new_tab_incognito_window_item = |
| 303 CreateMenuItem(menu, IDC_NEW_INCOGNITO_WINDOW); | 303 CreateMenuItem(menu, IDC_NEW_INCOGNITO_WINDOW); |
| 304 NSMenuItem* close_window_menu_item = CreateMenuItem(menu, IDC_CLOSE_WINDOW); | 304 NSMenuItem* close_window_menu_item = CreateMenuItem(menu, IDC_CLOSE_WINDOW); |
| 305 NSMenuItem* find_menu_item = CreateMenuItem(menu, IDC_FIND); | 305 NSMenuItem* find_menu_item = CreateMenuItem(menu, IDC_FIND); |
| 306 NSMenuItem* find_previous_menu_item = CreateMenuItem(menu, IDC_FIND_PREVIOUS); | 306 NSMenuItem* find_previous_menu_item = CreateMenuItem(menu, IDC_FIND_PREVIOUS); |
| 307 NSMenuItem* find_next_menu_item = CreateMenuItem(menu, IDC_FIND_NEXT); | 307 NSMenuItem* find_next_menu_item = CreateMenuItem(menu, IDC_FIND_NEXT); |
| 308 NSMenuItem* fullscreen_menu_item = CreateMenuItem(menu, IDC_FULLSCREEN); | 308 NSMenuItem* fullscreen_menu_item = CreateMenuItem(menu, IDC_FULLSCREEN); |
| 309 NSMenuItem* presentation_menu_item = | 309 NSMenuItem* presentation_menu_item = |
| 310 CreateMenuItem(menu, IDC_PRESENTATION_MODE); | 310 CreateMenuItem(menu, IDC_PRESENTATION_MODE); |
| 311 NSMenuItem* sync_menu_item = CreateMenuItem(menu, IDC_SHOW_SYNC_SETUP); |
| 311 NSMenuItem* dev_tools_item = CreateMenuItem(menu, IDC_DEV_TOOLS); | 312 NSMenuItem* dev_tools_item = CreateMenuItem(menu, IDC_DEV_TOOLS); |
| 312 NSMenuItem* dev_tools_console_item = | 313 NSMenuItem* dev_tools_console_item = |
| 313 CreateMenuItem(menu, IDC_DEV_TOOLS_CONSOLE); | 314 CreateMenuItem(menu, IDC_DEV_TOOLS_CONSOLE); |
| 314 | 315 |
| 315 PanelCocoa* native_window = static_cast<PanelCocoa*>(panel->native_panel()); | 316 PanelCocoa* native_window = static_cast<PanelCocoa*>(panel->native_panel()); |
| 316 PanelWindowControllerCocoa* panel_controller = native_window->controller_; | 317 PanelWindowControllerCocoa* panel_controller = native_window->controller_; |
| 317 for (NSMenuItem *item in [menu itemArray]) | 318 for (NSMenuItem *item in [menu itemArray]) |
| 318 [item setTarget:panel_controller]; | 319 [item setTarget:panel_controller]; |
| 319 | 320 |
| 320 [menu update]; // Trigger validation of menu items. | 321 [menu update]; // Trigger validation of menu items. |
| 321 EXPECT_FALSE([close_tab_menu_item isEnabled]); | 322 EXPECT_FALSE([close_tab_menu_item isEnabled]); |
| 322 EXPECT_TRUE([close_window_menu_item isEnabled]); | 323 EXPECT_TRUE([close_window_menu_item isEnabled]); |
| 323 // No find support. Panels don't have a find bar. | 324 // No find support. Panels don't have a find bar. |
| 324 EXPECT_FALSE([find_menu_item isEnabled]); | 325 EXPECT_FALSE([find_menu_item isEnabled]); |
| 325 EXPECT_FALSE([find_previous_menu_item isEnabled]); | 326 EXPECT_FALSE([find_previous_menu_item isEnabled]); |
| 326 EXPECT_FALSE([find_next_menu_item isEnabled]); | 327 EXPECT_FALSE([find_next_menu_item isEnabled]); |
| 327 EXPECT_FALSE([fullscreen_menu_item isEnabled]); | 328 EXPECT_FALSE([fullscreen_menu_item isEnabled]); |
| 328 EXPECT_FALSE([presentation_menu_item isEnabled]); | 329 EXPECT_FALSE([presentation_menu_item isEnabled]); |
| 330 EXPECT_FALSE([sync_menu_item isEnabled]); |
| 329 // These are not enabled by Panel, so they are expected to be disabled for | 331 // These are not enabled by Panel, so they are expected to be disabled for |
| 330 // this unit_test. In real Chrome app, they are enabled by Chrome NSApp | 332 // this unit_test. In real Chrome app, they are enabled by Chrome NSApp |
| 331 // controller. PanelCocoaBrowsertest.MenuItems verifies that. | 333 // controller. PanelCocoaBrowsertest.MenuItems verifies that. |
| 332 EXPECT_FALSE([new_tab_menu_item isEnabled]); | 334 EXPECT_FALSE([new_tab_menu_item isEnabled]); |
| 333 EXPECT_FALSE([new_tab_window_item isEnabled]); | 335 EXPECT_FALSE([new_tab_window_item isEnabled]); |
| 334 EXPECT_FALSE([new_tab_incognito_window_item isEnabled]); | 336 EXPECT_FALSE([new_tab_incognito_window_item isEnabled]); |
| 335 | 337 |
| 336 EXPECT_TRUE([dev_tools_item isEnabled]); | 338 EXPECT_TRUE([dev_tools_item isEnabled]); |
| 337 EXPECT_TRUE([dev_tools_console_item isEnabled]); | 339 EXPECT_TRUE([dev_tools_console_item isEnabled]); |
| 338 | 340 |
| 341 // Verify that commandDispatch on an invalid menu item does not crash. |
| 342 [NSApp sendAction:[sync_menu_item action] |
| 343 to:[sync_menu_item target] |
| 344 from:sync_menu_item]; |
| 345 |
| 339 ClosePanelAndWait(panel); | 346 ClosePanelAndWait(panel); |
| 340 } | 347 } |
| 341 | 348 |
| 342 TEST_F(PanelCocoaTest, KeyEvent) { | 349 TEST_F(PanelCocoaTest, KeyEvent) { |
| 343 Panel* panel = CreateTestPanel("Test Panel"); | 350 Panel* panel = CreateTestPanel("Test Panel"); |
| 344 NSEvent* event = [NSEvent keyEventWithType:NSKeyDown | 351 NSEvent* event = [NSEvent keyEventWithType:NSKeyDown |
| 345 location:NSZeroPoint | 352 location:NSZeroPoint |
| 346 modifierFlags:NSControlKeyMask | 353 modifierFlags:NSControlKeyMask |
| 347 timestamp:0.0 | 354 timestamp:0.0 |
| 348 windowNumber:0 | 355 windowNumber:0 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 EXPECT_NSEQ(frontmostWindow, [native_window->controller_ window]); | 401 EXPECT_NSEQ(frontmostWindow, [native_window->controller_ window]); |
| 395 | 402 |
| 396 native_window2->ActivatePanel(); | 403 native_window2->ActivatePanel(); |
| 397 chrome::testing::NSRunLoopRunAllPending(); | 404 chrome::testing::NSRunLoopRunAllPending(); |
| 398 frontmostWindow = [[NSApp orderedWindows] objectAtIndex:0]; | 405 frontmostWindow = [[NSApp orderedWindows] objectAtIndex:0]; |
| 399 EXPECT_NSEQ(frontmostWindow, [native_window2->controller_ window]); | 406 EXPECT_NSEQ(frontmostWindow, [native_window2->controller_ window]); |
| 400 | 407 |
| 401 ClosePanelAndWait(panel); | 408 ClosePanelAndWait(panel); |
| 402 ClosePanelAndWait(panel2); | 409 ClosePanelAndWait(panel2); |
| 403 } | 410 } |
| OLD | NEW |