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

Unified Diff: chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc

Issue 297733002: Deactivate omnibox touch editing on command execution (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
Index: chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
index fc39393dc4b6858007084e5e7f154c73a6ba2099..31ee742f76dd372df45ffe2e1dc9d321ba60facf 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/ui/views/omnibox/omnibox_view_views.h"
+#include "base/command_line.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_window.h"
@@ -21,6 +22,7 @@
#include "ui/base/clipboard/clipboard.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"
#include "ui/base/test/ui_controls.h"
+#include "ui/base/ui_base_switches.h"
#include "ui/events/event_processor.h"
class OmniboxViewViewsTest : public InProcessBrowserTest {
@@ -37,6 +39,11 @@ class OmniboxViewViewsTest : public InProcessBrowserTest {
ASSERT_TRUE(*omnibox_view);
}
+ static ui::TouchSelectionController* GetTouchSelectionControllerForTextfield(
+ views::Textfield* textfield) {
+ return textfield->touch_selection_controller_.get();
+ }
+
// Move the mouse to the center of the browser window and left-click.
void ClickBrowserWindowCenter() {
ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
@@ -289,3 +296,34 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, BackgroundIsOpaque) {
ASSERT_TRUE(view);
EXPECT_FALSE(view->GetRenderText()->background_is_transparent());
}
+
+// Tests if executing a command hides touch editing handles.
+IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
+ DeactivateTouchEditingOnExecuteCommand) {
+ CommandLine::ForCurrentProcess()->AppendSwitch(switches::kEnableTouchEditing);
+
+ OmniboxView* view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view));
+ OmniboxViewViews* omnibox_view_views = static_cast<OmniboxViewViews*>(view);
+
+ // Put a URL on the clipboard. It is written to the clipboard upon destruction
+ // of the writer.
+ {
+ ui::ScopedClipboardWriter clipboard_writer(
+ ui::Clipboard::GetForCurrentThread(),
+ ui::CLIPBOARD_TYPE_COPY_PASTE);
+ clipboard_writer.WriteURL(base::ASCIIToUTF16("http://www.example.com/"));
+ }
+
+ // Tap to activate touch editing.
+ gfx::Point omnibox_center =
+ omnibox_view_views->GetBoundsInScreen().CenterPoint();
+ Tap(omnibox_center, omnibox_center);
+ EXPECT_TRUE(GetTouchSelectionControllerForTextfield(omnibox_view_views));
+
+ // Execute a command and check if it deactivate touch editing. Paste & Go is
+ // chosen since it is specific to Omnibox and its execution wouldn't be
+ // delgated to the base Textfield class.
+ omnibox_view_views->ExecuteCommand(IDS_PASTE_AND_GO, ui::EF_NONE);
+ EXPECT_FALSE(GetTouchSelectionControllerForTextfield(omnibox_view_views));
+}

Powered by Google App Engine
This is Rietveld 408576698