OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/ui/browser.h" | 5 #include "chrome/browser/ui/browser.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 2399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2410 } | 2410 } |
2411 | 2411 |
2412 private: | 2412 private: |
2413 DISALLOW_COPY_AND_ASSIGN(ClickModifierTest); | 2413 DISALLOW_COPY_AND_ASSIGN(ClickModifierTest); |
2414 }; | 2414 }; |
2415 | 2415 |
2416 // Tests for clicking on elements with handlers that run window.open. | 2416 // Tests for clicking on elements with handlers that run window.open. |
2417 | 2417 |
2418 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenBasicClickTest) { | 2418 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenBasicClickTest) { |
2419 int modifiers = 0; | 2419 int modifiers = 0; |
2420 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2420 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2421 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; | 2421 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; |
2422 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); | 2422 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); |
2423 } | 2423 } |
2424 | 2424 |
2425 // TODO(ericu): Alt-click behavior on window.open is platform-dependent and not | 2425 // TODO(ericu): Alt-click behavior on window.open is platform-dependent and not |
2426 // well defined. Should we add tests so we know if it changes? | 2426 // well defined. Should we add tests so we know if it changes? |
2427 | 2427 |
2428 // Shift-clicks open in a new window. | 2428 // Shift-clicks open in a new window. |
2429 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenShiftClickTest) { | 2429 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenShiftClickTest) { |
2430 int modifiers = blink::WebInputEvent::ShiftKey; | 2430 int modifiers = blink::WebInputEvent::ShiftKey; |
2431 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2431 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2432 WindowOpenDisposition disposition = NEW_WINDOW; | 2432 WindowOpenDisposition disposition = NEW_WINDOW; |
2433 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); | 2433 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); |
2434 } | 2434 } |
2435 | 2435 |
2436 // Control-clicks open in a background tab. | 2436 // Control-clicks open in a background tab. |
2437 // On OSX meta [the command key] takes the place of control. | 2437 // On OSX meta [the command key] takes the place of control. |
2438 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenControlClickTest) { | 2438 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenControlClickTest) { |
2439 #if defined(OS_MACOSX) | 2439 #if defined(OS_MACOSX) |
2440 int modifiers = blink::WebInputEvent::MetaKey; | 2440 int modifiers = blink::WebInputEvent::MetaKey; |
2441 #else | 2441 #else |
2442 int modifiers = blink::WebInputEvent::ControlKey; | 2442 int modifiers = blink::WebInputEvent::ControlKey; |
2443 #endif | 2443 #endif |
2444 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2444 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2445 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; | 2445 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; |
2446 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); | 2446 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); |
2447 } | 2447 } |
2448 | 2448 |
2449 // Control-shift-clicks open in a foreground tab. | 2449 // Control-shift-clicks open in a foreground tab. |
2450 // On OSX meta [the command key] takes the place of control. | 2450 // On OSX meta [the command key] takes the place of control. |
2451 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenControlShiftClickTest) { | 2451 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenControlShiftClickTest) { |
2452 #if defined(OS_MACOSX) | 2452 #if defined(OS_MACOSX) |
2453 int modifiers = blink::WebInputEvent::MetaKey; | 2453 int modifiers = blink::WebInputEvent::MetaKey; |
2454 #else | 2454 #else |
2455 int modifiers = blink::WebInputEvent::ControlKey; | 2455 int modifiers = blink::WebInputEvent::ControlKey; |
2456 #endif | 2456 #endif |
2457 modifiers |= blink::WebInputEvent::ShiftKey; | 2457 modifiers |= blink::WebInputEvent::ShiftKey; |
2458 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2458 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2459 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; | 2459 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; |
2460 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); | 2460 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); |
2461 } | 2461 } |
2462 | 2462 |
2463 // Middle-clicks open in a background tab. | 2463 // Middle-clicks open in a background tab. |
2464 #if defined(OS_LINUX) | 2464 #if defined(OS_LINUX) |
2465 // http://crbug.com/396347 | 2465 // http://crbug.com/396347 |
2466 #define MAYBE_WindowOpenMiddleClickTest DISABLED_WindowOpenMiddleClickTest | 2466 #define MAYBE_WindowOpenMiddleClickTest DISABLED_WindowOpenMiddleClickTest |
2467 #else | 2467 #else |
2468 #define MAYBE_WindowOpenMiddleClickTest WindowOpenMiddleClickTest | 2468 #define MAYBE_WindowOpenMiddleClickTest WindowOpenMiddleClickTest |
2469 #endif | 2469 #endif |
2470 IN_PROC_BROWSER_TEST_F(ClickModifierTest, MAYBE_WindowOpenMiddleClickTest) { | 2470 IN_PROC_BROWSER_TEST_F(ClickModifierTest, MAYBE_WindowOpenMiddleClickTest) { |
2471 int modifiers = 0; | 2471 int modifiers = 0; |
2472 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonMiddle; | 2472 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Middle; |
2473 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; | 2473 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; |
2474 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); | 2474 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); |
2475 } | 2475 } |
2476 | 2476 |
2477 // Shift-middle-clicks open in a foreground tab. | 2477 // Shift-middle-clicks open in a foreground tab. |
2478 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenShiftMiddleClickTest) { | 2478 IN_PROC_BROWSER_TEST_F(ClickModifierTest, WindowOpenShiftMiddleClickTest) { |
2479 int modifiers = blink::WebInputEvent::ShiftKey; | 2479 int modifiers = blink::WebInputEvent::ShiftKey; |
2480 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonMiddle; | 2480 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Middle; |
2481 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; | 2481 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; |
2482 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); | 2482 RunTest(browser(), GetWindowOpenURL(), modifiers, button, disposition); |
2483 } | 2483 } |
2484 | 2484 |
2485 // Tests for clicking on normal links. | 2485 // Tests for clicking on normal links. |
2486 | 2486 |
2487 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefBasicClickTest) { | 2487 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefBasicClickTest) { |
2488 int modifiers = 0; | 2488 int modifiers = 0; |
2489 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2489 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2490 WindowOpenDisposition disposition = CURRENT_TAB; | 2490 WindowOpenDisposition disposition = CURRENT_TAB; |
2491 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); | 2491 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); |
2492 } | 2492 } |
2493 | 2493 |
2494 // TODO(ericu): Alt-click behavior on links is platform-dependent and not well | 2494 // TODO(ericu): Alt-click behavior on links is platform-dependent and not well |
2495 // defined. Should we add tests so we know if it changes? | 2495 // defined. Should we add tests so we know if it changes? |
2496 | 2496 |
2497 // Shift-clicks open in a new window. | 2497 // Shift-clicks open in a new window. |
2498 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefShiftClickTest) { | 2498 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefShiftClickTest) { |
2499 int modifiers = blink::WebInputEvent::ShiftKey; | 2499 int modifiers = blink::WebInputEvent::ShiftKey; |
2500 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2500 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2501 WindowOpenDisposition disposition = NEW_WINDOW; | 2501 WindowOpenDisposition disposition = NEW_WINDOW; |
2502 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); | 2502 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); |
2503 } | 2503 } |
2504 | 2504 |
2505 // Control-clicks open in a background tab. | 2505 // Control-clicks open in a background tab. |
2506 // On OSX meta [the command key] takes the place of control. | 2506 // On OSX meta [the command key] takes the place of control. |
2507 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefControlClickTest) { | 2507 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefControlClickTest) { |
2508 #if defined(OS_MACOSX) | 2508 #if defined(OS_MACOSX) |
2509 int modifiers = blink::WebInputEvent::MetaKey; | 2509 int modifiers = blink::WebInputEvent::MetaKey; |
2510 #else | 2510 #else |
2511 int modifiers = blink::WebInputEvent::ControlKey; | 2511 int modifiers = blink::WebInputEvent::ControlKey; |
2512 #endif | 2512 #endif |
2513 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2513 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2514 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; | 2514 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; |
2515 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); | 2515 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); |
2516 } | 2516 } |
2517 | 2517 |
2518 // Control-shift-clicks open in a foreground tab. | 2518 // Control-shift-clicks open in a foreground tab. |
2519 // On OSX meta [the command key] takes the place of control. | 2519 // On OSX meta [the command key] takes the place of control. |
2520 // http://crbug.com/396347 | 2520 // http://crbug.com/396347 |
2521 IN_PROC_BROWSER_TEST_F(ClickModifierTest, DISABLED_HrefControlShiftClickTest) { | 2521 IN_PROC_BROWSER_TEST_F(ClickModifierTest, DISABLED_HrefControlShiftClickTest) { |
2522 #if defined(OS_MACOSX) | 2522 #if defined(OS_MACOSX) |
2523 int modifiers = blink::WebInputEvent::MetaKey; | 2523 int modifiers = blink::WebInputEvent::MetaKey; |
2524 #else | 2524 #else |
2525 int modifiers = blink::WebInputEvent::ControlKey; | 2525 int modifiers = blink::WebInputEvent::ControlKey; |
2526 #endif | 2526 #endif |
2527 modifiers |= blink::WebInputEvent::ShiftKey; | 2527 modifiers |= blink::WebInputEvent::ShiftKey; |
2528 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonLeft; | 2528 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Left; |
2529 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; | 2529 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; |
2530 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); | 2530 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); |
2531 } | 2531 } |
2532 | 2532 |
2533 // Middle-clicks open in a background tab. | 2533 // Middle-clicks open in a background tab. |
2534 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefMiddleClickTest) { | 2534 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefMiddleClickTest) { |
2535 int modifiers = 0; | 2535 int modifiers = 0; |
2536 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonMiddle; | 2536 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Middle; |
2537 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; | 2537 WindowOpenDisposition disposition = NEW_BACKGROUND_TAB; |
2538 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); | 2538 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); |
2539 } | 2539 } |
2540 | 2540 |
2541 // Shift-middle-clicks open in a foreground tab. | 2541 // Shift-middle-clicks open in a foreground tab. |
2542 // http://crbug.com/396347 | 2542 // http://crbug.com/396347 |
2543 IN_PROC_BROWSER_TEST_F(ClickModifierTest, DISABLED_HrefShiftMiddleClickTest) { | 2543 IN_PROC_BROWSER_TEST_F(ClickModifierTest, DISABLED_HrefShiftMiddleClickTest) { |
2544 int modifiers = blink::WebInputEvent::ShiftKey; | 2544 int modifiers = blink::WebInputEvent::ShiftKey; |
2545 blink::WebMouseEvent::Button button = blink::WebMouseEvent::ButtonMiddle; | 2545 blink::WebMouseEvent::Button button = blink::WebMouseEvent::Button::Middle; |
2546 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; | 2546 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; |
2547 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); | 2547 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); |
2548 } | 2548 } |
2549 | 2549 |
2550 IN_PROC_BROWSER_TEST_F(BrowserTest, GetSizeForNewRenderView) { | 2550 IN_PROC_BROWSER_TEST_F(BrowserTest, GetSizeForNewRenderView) { |
2551 // The instant extended NTP has javascript that does not work with | 2551 // The instant extended NTP has javascript that does not work with |
2552 // ui_test_utils::NavigateToURL. The NTP rvh reloads when the browser tries | 2552 // ui_test_utils::NavigateToURL. The NTP rvh reloads when the browser tries |
2553 // to navigate away from the page, which causes the WebContents to end up in | 2553 // to navigate away from the page, which causes the WebContents to end up in |
2554 // an inconsistent state. (is_loaded = true, last_commited_url=ntp, | 2554 // an inconsistent state. (is_loaded = true, last_commited_url=ntp, |
2555 // visible_url=title1.html) | 2555 // visible_url=title1.html) |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2867 Browser* browser = new Browser(params); | 2867 Browser* browser = new Browser(params); |
2868 gfx::Rect bounds = browser->window()->GetBounds(); | 2868 gfx::Rect bounds = browser->window()->GetBounds(); |
2869 | 2869 |
2870 // Should be EXPECT_EQ, but this width is inconsistent across platforms. | 2870 // Should be EXPECT_EQ, but this width is inconsistent across platforms. |
2871 // See https://crbug.com/567925. | 2871 // See https://crbug.com/567925. |
2872 EXPECT_GE(bounds.width(), 100); | 2872 EXPECT_GE(bounds.width(), 100); |
2873 EXPECT_EQ(122, bounds.height()); | 2873 EXPECT_EQ(122, bounds.height()); |
2874 browser->window()->Close(); | 2874 browser->window()->Close(); |
2875 } | 2875 } |
2876 } | 2876 } |
OLD | NEW |