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

Unified Diff: chrome/browser/ui/omnibox/omnibox_view_browsertest.cc

Issue 13896002: Tweak Views Omnibox/Textfield; re-enable OmniboxViewTest.SelectAllOnClick. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix click location; enable for TOOLKIT_VIEWS; fix Views Textfields middle/right-click. Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/views/controls/textfield/native_textfield_views.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/omnibox/omnibox_view_browsertest.cc
diff --git a/chrome/browser/ui/omnibox/omnibox_view_browsertest.cc b/chrome/browser/ui/omnibox/omnibox_view_browsertest.cc
index 2af3ec112740944ef07bf061de1f3e63dc3cf8bb..4ccbe5c443828b521375b00b6848650eb7a5e977 100644
--- a/chrome/browser/ui/omnibox/omnibox_view_browsertest.cc
+++ b/chrome/browser/ui/omnibox/omnibox_view_browsertest.cc
@@ -48,7 +48,7 @@
#include <gtk/gtk.h>
#endif
-#if defined(USE_AURA)
+#if defined(TOOLKIT_VIEWS)
#include "chrome/browser/ui/views/frame/browser_view.h"
#endif
@@ -1264,13 +1264,9 @@ class OmniboxViewTest : public InProcessBrowserTest,
EXPECT_EQ(old_text, omnibox_view->GetText());
}
-#if defined(USE_AURA)
+#if defined(TOOLKIT_VIEWS)
const BrowserView* GetBrowserView() const {
- return static_cast<BrowserView*>(browser()->window());
- }
-
- const views::View* GetFocusView() const {
- return GetBrowserView()->GetViewByID(VIEW_ID_OMNIBOX);
+ return BrowserView::GetBrowserViewForBrowser(browser());
}
// Move the mouse to the center of the browser window and left-click.
@@ -1283,23 +1279,24 @@ class OmniboxViewTest : public InProcessBrowserTest,
ui_controls::LEFT, ui_controls::UP));
}
- // Press and release the mouse in the focus view at an offset from its origin.
+ // Press and release the mouse in the omnibox at an offset from its origin.
// If |release_offset| differs from |press_offset|, the mouse will be moved
// between the press and release.
- void ClickFocusViewOrigin(ui_controls::MouseButton button,
- const gfx::Vector2d& press_offset,
- const gfx::Vector2d& release_offset) {
- gfx::Point focus_view_origin = GetFocusView()->GetBoundsInScreen().origin();
- gfx::Point press_point = focus_view_origin + press_offset;
+ void ClickOmnibox(ui_controls::MouseButton button,
+ const gfx::Vector2d& press_offset,
+ const gfx::Vector2d& release_offset) {
+ const views::View* omnibox = GetBrowserView()->GetViewByID(VIEW_ID_OMNIBOX);
+ gfx::Point omnibox_origin = omnibox->GetBoundsInScreen().origin();
+ gfx::Point press_point = omnibox_origin + press_offset;
ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(press_point));
ASSERT_TRUE(ui_test_utils::SendMouseEventsSync(button, ui_controls::DOWN));
- gfx::Point release_point = focus_view_origin + release_offset;
+ gfx::Point release_point = omnibox_origin + release_offset;
if (release_point != press_point)
ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(release_point));
ASSERT_TRUE(ui_test_utils::SendMouseEventsSync(button, ui_controls::UP));
}
-#endif // defined(USE_AURA)
+#endif // defined(TOOLKIT_VIEWS)
};
// Test if ctrl-* accelerators are workable in omnibox.
@@ -1632,72 +1629,55 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewTest, MAYBE_PasteReplacingAll) {
}
#endif // defined(TOOLKIT_GTK)
-// TODO(derat): Enable on Windows: http://crbug.com/128556
-#if defined(USE_AURA)
-IN_PROC_BROWSER_TEST_F(OmniboxViewTest, DISABLED_SelectAllOnClick) {
+#if defined(TOOLKIT_VIEWS)
+IN_PROC_BROWSER_TEST_F(OmniboxViewTest, SelectAllOnClick) {
OmniboxView* omnibox_view = NULL;
ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view));
omnibox_view->SetUserText(ASCIIToUTF16("http://www.google.com/"));
- const gfx::Vector2d kClickOffset(2, 2);
+ const gfx::Vector2d click(40, 10);
// Take the focus away from the omnibox.
ASSERT_NO_FATAL_FAILURE(ClickBrowserWindowCenter());
+ EXPECT_FALSE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
EXPECT_FALSE(omnibox_view->IsSelectAll());
- EXPECT_FALSE(GetFocusView()->HasFocus());
- // Click in the omnibox. All of its text should be selected.
- ASSERT_NO_FATAL_FAILURE(
- ClickFocusViewOrigin(ui_controls::LEFT, kClickOffset, kClickOffset));
+ // Clicking in the omnibox should take focus and select all text.
+ ASSERT_NO_FATAL_FAILURE(ClickOmnibox(ui_controls::LEFT, click, click));
+ EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
EXPECT_TRUE(omnibox_view->IsSelectAll());
- EXPECT_TRUE(GetFocusView()->HasFocus());
- // Ensure that all of the text is selected and then take the focus away. The
- // selection should persist.
- omnibox_view->SelectAll(false);
- EXPECT_TRUE(omnibox_view->IsSelectAll());
+ // Clicking in another view should clear focus and the selection.
ASSERT_NO_FATAL_FAILURE(ClickBrowserWindowCenter());
- EXPECT_TRUE(omnibox_view->IsSelectAll());
- EXPECT_FALSE(GetFocusView()->HasFocus());
+ EXPECT_FALSE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
+ EXPECT_FALSE(omnibox_view->IsSelectAll());
- // Clicking in the omnibox while some of its text is already selected should
- // have the effect of re-selecting the text.
- ASSERT_NO_FATAL_FAILURE(
- ClickFocusViewOrigin(ui_controls::LEFT, kClickOffset, kClickOffset));
- // The following expect fails starting with one of the cls (148415-148428),
- // most likely the WebKit roll @148419.
- // http://crbug.com/139069
+ // Clicking in the omnibox again should take focus and select all text again.
+ ASSERT_NO_FATAL_FAILURE(ClickOmnibox(ui_controls::LEFT, click, click));
+ EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
EXPECT_TRUE(omnibox_view->IsSelectAll());
- EXPECT_TRUE(GetFocusView()->HasFocus());
- // Click in a different spot in the omnibox. It should keep the focus but
- // lose the selection.
+ // Clicking another omnibox spot should keep focus but clear the selection.
omnibox_view->SelectAll(false);
- const gfx::Vector2d kSecondClickOffset(kClickOffset.x() + 10,
- kClickOffset.y());
- ASSERT_NO_FATAL_FAILURE(
- ClickFocusViewOrigin(
- ui_controls::LEFT, kSecondClickOffset, kSecondClickOffset));
+ const gfx::Vector2d click_2(click.x() + 10, click.y());
+ ASSERT_NO_FATAL_FAILURE(ClickOmnibox(ui_controls::LEFT, click_2, click_2));
+ EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
EXPECT_FALSE(omnibox_view->IsSelectAll());
- EXPECT_TRUE(GetFocusView()->HasFocus());
// Take the focus away and click in the omnibox again, but drag a bit before
// releasing. We should focus the omnibox but not select all of its text.
ASSERT_NO_FATAL_FAILURE(ClickBrowserWindowCenter());
- const gfx::Vector2d kReleaseOffset(kClickOffset.x() + 10, kClickOffset.y());
- ASSERT_NO_FATAL_FAILURE(
- ClickFocusViewOrigin(ui_controls::LEFT, kClickOffset, kReleaseOffset));
+ const gfx::Vector2d release(click.x() + 10, click.y());
+ ASSERT_NO_FATAL_FAILURE(ClickOmnibox(ui_controls::LEFT, click, release));
+ EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
EXPECT_FALSE(omnibox_view->IsSelectAll());
- EXPECT_TRUE(GetFocusView()->HasFocus());
- // Middle-clicking shouldn't select all the text either.
- ASSERT_NO_FATAL_FAILURE(
- ClickFocusViewOrigin(ui_controls::LEFT, kClickOffset, kClickOffset));
+ // Middle-clicking should not be handled by the omnibox.
ASSERT_NO_FATAL_FAILURE(ClickBrowserWindowCenter());
- ASSERT_NO_FATAL_FAILURE(
- ClickFocusViewOrigin(ui_controls::MIDDLE, kClickOffset, kClickOffset));
+ ASSERT_NO_FATAL_FAILURE(ClickOmnibox(ui_controls::MIDDLE, click, click));
+ EXPECT_FALSE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_OMNIBOX));
EXPECT_FALSE(omnibox_view->IsSelectAll());
}
-#endif // defined(USE_AURA)
+#endif // defined(TOOLKIT_VIEWS)
IN_PROC_BROWSER_TEST_F(OmniboxViewTest, CopyURLToClipboard) {
OmniboxView* omnibox_view = NULL;
« no previous file with comments | « no previous file | ui/views/controls/textfield/native_textfield_views.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698