| Index: chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
|
| diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc b/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
|
| index 72c3f8155ca8530affb80c8f90cec6dc5f44eccf..f8e7b90e3bb8a7a64067a446c9fb4b61d3456697 100644
|
| --- a/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
|
| +++ b/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
|
| @@ -30,8 +30,8 @@
|
| #include "chrome/test/in_process_browser_test.h"
|
| #include "chrome/test/ui_test_utils.h"
|
| #include "net/base/mock_host_resolver.h"
|
| +#include "ui/base/events.h"
|
| #include "ui/base/keycodes/keyboard_codes.h"
|
| -#include "views/events/event.h"
|
|
|
| #if defined(OS_LINUX)
|
| #include <gdk/gdk.h>
|
| @@ -40,6 +40,7 @@
|
|
|
| #if defined(TOOLKIT_VIEWS)
|
| #include "views/controls/textfield/native_textfield_views.h"
|
| +#include "views/events/event.h"
|
| #endif
|
|
|
| using base::Time;
|
| @@ -131,6 +132,12 @@ void SetClipboardText(const char* text) {
|
| }
|
| #endif
|
|
|
| +#if defined(OS_MACOSX)
|
| +const int kCtrlOrCmdMask = ui::EF_COMMAND_DOWN;
|
| +#else
|
| +const int kCtrlOrCmdMask = ui::EF_CONTROL_DOWN;
|
| +#endif
|
| +
|
| } // namespace
|
|
|
| class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| @@ -169,21 +176,36 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
|
|
| static void SendKeyForBrowser(const Browser* browser,
|
| ui::KeyboardCode key,
|
| - bool control,
|
| - bool shift,
|
| - bool alt) {
|
| + int modifiers) {
|
| ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser, key, control, shift, alt, false /* command */));
|
| + browser, key,
|
| + (modifiers & ui::EF_CONTROL_DOWN) != 0,
|
| + (modifiers & ui::EF_SHIFT_DOWN) != 0,
|
| + (modifiers & ui::EF_ALT_DOWN) != 0,
|
| + (modifiers & ui::EF_COMMAND_DOWN) != 0));
|
| }
|
|
|
| - void SendKey(ui::KeyboardCode key, bool control, bool shift, bool alt) {
|
| - SendKeyForBrowser(browser(), key, control, shift, alt);
|
| + void SendKey(ui::KeyboardCode key, int modifiers) {
|
| + SendKeyForBrowser(browser(), key, modifiers);
|
| }
|
|
|
| void SendKeySequence(const wchar_t* keys) {
|
| for (; *keys; ++keys)
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(static_cast<ui::KeyboardCode>(*keys),
|
| - false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(static_cast<ui::KeyboardCode>(*keys), 0));
|
| + }
|
| +
|
| + bool SendKeyAndWait(const Browser* browser,
|
| + ui::KeyboardCode key,
|
| + int modifiers,
|
| + NotificationType type,
|
| + const NotificationSource& source) WARN_UNUSED_RESULT {
|
| + return ui_test_utils::SendKeyPressAndWait(
|
| + browser, key,
|
| + (modifiers & ui::EF_CONTROL_DOWN) != 0,
|
| + (modifiers & ui::EF_SHIFT_DOWN) != 0,
|
| + (modifiers & ui::EF_ALT_DOWN) != 0,
|
| + (modifiers & ui::EF_COMMAND_DOWN) != 0,
|
| + type, source);
|
| }
|
|
|
| void WaitForTabOpenOrCloseForBrowser(const Browser* browser,
|
| @@ -346,43 +368,50 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1));
|
|
|
| // Select the first Tab.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_1, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_1, kCtrlOrCmdMask));
|
| ASSERT_EQ(0, browser()->selected_index());
|
|
|
| browser()->FocusLocationBar();
|
|
|
| // Select the second Tab.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_2, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_2, kCtrlOrCmdMask));
|
| ASSERT_EQ(1, browser()->selected_index());
|
|
|
| browser()->FocusLocationBar();
|
|
|
| // Try ctrl-w to close a Tab.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_W, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_W, kCtrlOrCmdMask));
|
| ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count));
|
|
|
| // Try ctrl-l to focus location bar.
|
| edit_view->SetUserText(ASCIIToUTF16("Hello world"));
|
| EXPECT_FALSE(edit_view->IsSelectAll());
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_L, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_L, kCtrlOrCmdMask));
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| // Try editing the location bar text.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RIGHT, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RIGHT, 0));
|
| EXPECT_FALSE(edit_view->IsSelectAll());
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_S, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_S, 0));
|
| EXPECT_EQ(ASCIIToUTF16("Hello worlds"), edit_view->GetText());
|
|
|
| // Try ctrl-x to cut text.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, true, true, false));
|
| +#if defined(OS_MACOSX)
|
| + // Mac uses alt-left/right to select a word.
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + SendKey(ui::VKEY_LEFT, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN));
|
| +#else
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + SendKey(ui::VKEY_LEFT, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN));
|
| +#endif
|
| EXPECT_FALSE(edit_view->IsSelectAll());
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, kCtrlOrCmdMask));
|
| EXPECT_EQ(ASCIIToUTF16("Hello "), edit_view->GetText());
|
|
|
| -#if !defined(OS_CHROMEOS)
|
| +#if !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
|
| // Try alt-f4 to close the browser.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
|
| - browser(), ui::VKEY_F4, false, false, true, false,
|
| + ASSERT_TRUE(SendKeyAndWait(
|
| + browser(), ui::VKEY_F4, ui::EF_ALT_DOWN,
|
| NotificationType::BROWSER_CLOSED, Source<Browser>(browser())));
|
| #endif
|
| }
|
| @@ -390,48 +419,48 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| void PopupAcceleratorsTest() {
|
| // Create a popup.
|
| Browser* popup = CreateBrowserForPopup(browser()->profile());
|
| + ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(popup));
|
| AutocompleteEditView* edit_view = NULL;
|
| ASSERT_NO_FATAL_FAILURE(
|
| GetAutocompleteEditViewForBrowser(popup, &edit_view));
|
| popup->FocusLocationBar();
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| +#if !defined(OS_MACOSX)
|
| // Try ctrl-w to close the popup.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
|
| - popup, ui::VKEY_W, true, false, false, false,
|
| + // This piece of code doesn't work on Mac, because the Browser object won't
|
| + // be destroyed before finishing the current message loop iteration, thus
|
| + // No BROWSER_CLOSED notification will be sent.
|
| + ASSERT_TRUE(SendKeyAndWait(
|
| + popup, ui::VKEY_W, ui::EF_CONTROL_DOWN,
|
| NotificationType::BROWSER_CLOSED, Source<Browser>(popup)));
|
|
|
| // Create another popup.
|
| popup = CreateBrowserForPopup(browser()->profile());
|
| + ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(popup));
|
| ASSERT_NO_FATAL_FAILURE(
|
| GetAutocompleteEditViewForBrowser(popup, &edit_view));
|
| +#endif
|
|
|
| // Set the edit text to "Hello world".
|
| edit_view->SetUserText(ASCIIToUTF16("Hello world"));
|
| - EXPECT_FALSE(edit_view->IsSelectAll());
|
| popup->FocusLocationBar();
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| // Try editing the location bar text -- should be disallowed.
|
| - ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_RIGHT, false,
|
| - false, false));
|
| - EXPECT_FALSE(edit_view->IsSelectAll());
|
| - ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, false, false,
|
| - false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, 0));
|
| EXPECT_EQ(ASCIIToUTF16("Hello world"), edit_view->GetText());
|
| + EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| - // Try ctrl-x to cut text -- should be disallowed.
|
| - ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_LEFT, true, true,
|
| - false));
|
| - EXPECT_FALSE(edit_view->IsSelectAll());
|
| - ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_X, true, false,
|
| - false));
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + SendKeyForBrowser(popup, ui::VKEY_X, kCtrlOrCmdMask));
|
| EXPECT_EQ(ASCIIToUTF16("Hello world"), edit_view->GetText());
|
| + EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| -#if !defined(OS_CHROMEOS)
|
| +#if !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
|
| // Try alt-f4 to close the popup.
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
|
| - popup, ui::VKEY_F4, false, false, true, false,
|
| + ASSERT_TRUE(SendKeyAndWait(
|
| + popup, ui::VKEY_F4, ui::EF_ALT_DOWN,
|
| NotificationType::BROWSER_CLOSED, Source<Browser>(popup)));
|
| #endif
|
| }
|
| @@ -446,17 +475,17 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
|
|
| // Trigger keyword mode.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
|
|
| // Backspace without search text should bring back keyword hint mode.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| ASSERT_TRUE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
|
|
| // Trigger keyword mode again.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
|
|
| @@ -466,7 +495,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| // Should stay in keyword mode while deleting search text by pressing
|
| // backspace.
|
| for (size_t i = 0; i < arraysize(kSearchText) - 1; ++i) {
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
| }
|
| @@ -475,10 +504,15 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
|
|
|
| // Move cursor to the beginning of the search text.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, false, false));
|
| +#if defined(OS_MACOSX)
|
| + // Home doesn't work on Mac trybot.
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, ui::EF_CONTROL_DOWN));
|
| +#else
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, 0));
|
| +#endif
|
| // Backspace at the beginning of the search text shall turn off
|
| // the keyword mode.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(string16(), edit_view->model()->keyword());
|
| ASSERT_EQ(std::string(kSearchKeyword) + kSearchText,
|
| @@ -497,11 +531,11 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| // Delete all text in omnibox.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| EXPECT_TRUE(edit_view->GetText().empty());
|
|
|
| // Escape shall revert the text in omnibox.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, 0));
|
| EXPECT_EQ(old_text, edit_view->GetText());
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
| }
|
| @@ -518,7 +552,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_TRUE(popup_model->IsOpen());
|
| // ctrl-Enter triggers desired_tld feature, thus www.bar.com shall be
|
| // opened.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, ui::EF_CONTROL_DOWN));
|
|
|
| GURL url = browser()->GetSelectedTabContents()->GetURL();
|
| EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str());
|
| @@ -531,7 +565,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| edit_view->SetUserText(ASCIIToUTF16(chrome::kChromeUIHistoryURL));
|
| int tab_count = browser()->tab_count();
|
| // alt-Enter opens a new tab.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, ui::EF_ALT_DOWN));
|
| ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1));
|
| }
|
|
|
| @@ -551,7 +585,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| popup_model->result().default_match()->type);
|
|
|
| // Open the default match.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, 0));
|
| GURL url = browser()->GetSelectedTabContents()->GetURL();
|
| EXPECT_STREQ(kSearchTextURL, url.spec().c_str());
|
|
|
| @@ -568,7 +602,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| popup_model->result().default_match()->type);
|
|
|
| // Open the default match.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, 0));
|
| url = browser()->GetSelectedTabContents()->GetURL();
|
| EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str());
|
| }
|
| @@ -595,7 +629,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| // Move to another line with different text.
|
| size_t size = popup_model->result().size();
|
| while (popup_model->selected_line() < size - 1) {
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DOWN, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DOWN, 0));
|
| ASSERT_NE(old_selected_line, popup_model->selected_line());
|
| if (old_text != edit_view->GetText())
|
| break;
|
| @@ -604,7 +638,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| EXPECT_NE(old_text, edit_view->GetText());
|
|
|
| // Escape shall revert back to the default match item.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, 0));
|
| EXPECT_EQ(old_text, edit_view->GetText());
|
| EXPECT_EQ(old_selected_line, popup_model->selected_line());
|
| }
|
| @@ -626,7 +660,12 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| EXPECT_EQ(old_text.size(), end);
|
|
|
| // Move the cursor to the end.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
|
| +#if defined(OS_MACOSX)
|
| + // End doesn't work on Mac trybot.
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_E, ui::EF_CONTROL_DOWN));
|
| +#else
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, 0));
|
| +#endif
|
| EXPECT_FALSE(edit_view->IsSelectAll());
|
|
|
| // Make sure the cursor is placed correctly.
|
| @@ -636,12 +675,12 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
|
|
| // Insert one character at the end. Make sure we won't insert
|
| // anything after the special ZWS mark used in gtk implementation.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, 0));
|
| EXPECT_EQ(old_text + char16('a'), edit_view->GetText());
|
|
|
| // Delete one character from the end. Make sure we won't delete the special
|
| // ZWS mark used in gtk implementation.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| EXPECT_EQ(old_text, edit_view->GetText());
|
|
|
| edit_view->SelectAll(true);
|
| @@ -651,7 +690,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| EXPECT_EQ(old_text.size(), end);
|
|
|
| // Delete the content
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DELETE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DELETE, 0));
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
| edit_view->GetSelectionBounds(&start, &end);
|
| EXPECT_EQ(0U, start);
|
| @@ -680,7 +719,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_EQ(text, edit_view->GetText());
|
|
|
| // Trigger keyword mode by space.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(text, edit_view->model()->keyword());
|
| ASSERT_TRUE(edit_view->GetText().empty());
|
| @@ -719,21 +758,21 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
|
|
| // Keyword shouldn't be accepted by pressing space with a trailing
|
| // whitespace.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, 0));
|
| ASSERT_TRUE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(text, edit_view->model()->keyword());
|
| ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText());
|
|
|
| // Keyword shouldn't be accepted by deleting the trailing space.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| ASSERT_TRUE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(text, edit_view->model()->keyword());
|
| ASSERT_EQ(text + char16(' '), edit_view->GetText());
|
|
|
| // Keyword shouldn't be accepted by pressing space in the middle
|
| // of content.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false));
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, 0));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, 0));
|
| ASSERT_TRUE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(text, edit_view->model()->keyword());
|
| ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText());
|
| @@ -765,7 +804,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| string16::size_type start, end;
|
| edit_view->GetSelectionBounds(&start, &end);
|
| ASSERT_NE(start, end);
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(text, edit_view->model()->keyword());
|
| ASSERT_EQ(string16(), edit_view->GetText());
|
| @@ -792,7 +831,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_TRUE(edit_view->model()->keyword().empty());
|
|
|
| // Trigger keyword mode by space.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(text, edit_view->model()->keyword());
|
| ASSERT_TRUE(edit_view->GetText().empty());
|
| @@ -872,7 +911,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_TRUE(popup_model->IsOpen());
|
|
|
| // Delete the inline autocomplete part.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DELETE, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DELETE, 0));
|
| ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
|
| ASSERT_TRUE(popup_model->IsOpen());
|
| ASSERT_GE(popup_model->result().size(), 3U);
|
| @@ -955,7 +994,12 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| edit_view->SetUserText(ASCIIToUTF16("Hello world"));
|
|
|
| // Move cursor to the beginning.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, false, false));
|
| +#if defined(OS_MACOSX)
|
| + // Home doesn't work on Mac trybot.
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, ui::EF_CONTROL_DOWN));
|
| +#else
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, 0));
|
| +#endif
|
|
|
| string16::size_type start, end;
|
| edit_view->GetSelectionBounds(&start, &end);
|
| @@ -963,7 +1007,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| EXPECT_EQ(0U, end);
|
|
|
| // Pressing tab should move cursor to the end.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
|
|
|
| edit_view->GetSelectionBounds(&start, &end);
|
| EXPECT_EQ(edit_view->GetText().size(), start);
|
| @@ -980,7 +1024,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| EXPECT_EQ(edit_view->GetText().size(), end);
|
|
|
| // Pressing tab should move cursor to the end.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
|
|
|
| edit_view->GetSelectionBounds(&start, &end);
|
| EXPECT_EQ(edit_view->GetText().size(), start);
|
| @@ -990,7 +1034,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_LOCATION_BAR));
|
|
|
| // Pressing tab when cursor is at the end should change focus.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
|
|
|
| ASSERT_FALSE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_LOCATION_BAR));
|
| }
|
| @@ -1005,7 +1049,7 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
|
|
| // Trigger keyword mode.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
|
| ASSERT_FALSE(edit_view->model()->is_keyword_hint());
|
| ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword()));
|
|
|
| @@ -1136,15 +1180,16 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) {
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| // Undo should clear the omnibox.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN));
|
| EXPECT_TRUE(edit_view->GetText().empty());
|
|
|
| // Nothing should happen if undo again.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN));
|
| EXPECT_TRUE(edit_view->GetText().empty());
|
|
|
| // Redo should restore the original text.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, true, false));
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN));
|
| EXPECT_EQ(old_text, edit_view->GetText());
|
|
|
| // Looks like the undo manager doesn't support restoring selection.
|
| @@ -1157,33 +1202,34 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) {
|
| EXPECT_EQ(old_text.size(), end);
|
|
|
| // Delete two characters.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText());
|
|
|
| // Undo delete.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN));
|
| EXPECT_EQ(old_text, edit_view->GetText());
|
|
|
| // Redo delete.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, true, false));
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN));
|
| EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText());
|
|
|
| // Delete everything.
|
| edit_view->SelectAll(true);
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| EXPECT_TRUE(edit_view->GetText().empty());
|
|
|
| // Undo delete everything.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN));
|
| EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText());
|
|
|
| // Undo delete two characters.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN));
|
| EXPECT_EQ(old_text, edit_view->GetText());
|
|
|
| // Undo again.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, ui::EF_CONTROL_DOWN));
|
| EXPECT_TRUE(edit_view->GetText().empty());
|
| }
|
|
|
| @@ -1195,17 +1241,17 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PrimarySelection) {
|
| EXPECT_FALSE(edit_view->IsSelectAll());
|
|
|
| // Move the cursor to the end.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, 0));
|
|
|
| // Select all text by pressing Shift+Home
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, true, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, ui::EF_SHIFT_DOWN));
|
| EXPECT_TRUE(edit_view->IsSelectAll());
|
|
|
| // The selected content should be saved to the PRIMARY clipboard.
|
| EXPECT_EQ("Hello world", GetPrimarySelectionText());
|
|
|
| // Move the cursor to the end.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, 0));
|
| EXPECT_FALSE(edit_view->IsSelectAll());
|
|
|
| // The content in the PRIMARY clipboard should not be cleared.
|
| @@ -1221,10 +1267,10 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest,
|
| edit_view->SetUserText(UTF8ToUTF16("\357\276\200\357\276\236"));
|
|
|
| // Move the cursor to the end.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, 0));
|
|
|
| // Backspace should delete one character.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0));
|
| EXPECT_EQ(UTF8ToUTF16("\357\276\200"), edit_view->GetText());
|
| }
|
|
|
| @@ -1238,7 +1284,7 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PasteReplacingAll) {
|
| SetClipboardText(kSearchText);
|
|
|
| // Paste text.
|
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, true, false, false));
|
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, ui::EF_CONTROL_DOWN));
|
| ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
|
| ASSERT_TRUE(popup_model->IsOpen());
|
|
|
|
|