summaryrefslogtreecommitdiffstats
path: root/content/browser/web_contents
diff options
context:
space:
mode:
authormohsen@chromium.org <mohsen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-30 23:46:37 +0000
committermohsen@chromium.org <mohsen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-30 23:46:37 +0000
commit90df3ca2ba8de3d8a8fc55b3474be42d49ad9fbc (patch)
treece3086eb3991ba21d68577d6ca3489ba24518534 /content/browser/web_contents
parent122f41fe08cd0dac8d11c037456392f74ad216dd (diff)
downloadchromium_src-90df3ca2ba8de3d8a8fc55b3474be42d49ad9fbc.zip
chromium_src-90df3ca2ba8de3d8a8fc55b3474be42d49ad9fbc.tar.gz
chromium_src-90df3ca2ba8de3d8a8fc55b3474be42d49ad9fbc.tar.bz2
Re-enable TouchSelectionOriginatingFromWebpageTest with some fixes and logs
Re-enabled TouchEditableImplAuraTest.TouchSelectionOriginatingFromWebpageTest with two fixes: - Fixed calculations for selection rectangle after a touch selection handle is moved. - Added a wait between dragging the handle and getting the selection in the test to be sure that the selection is updated completely. Also, added some logs in the test so that if it failed again, more data is available for investigation. BUG=276870 Review URL: https://chromiumcodereview.appspot.com/23449013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220699 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/web_contents')
-rw-r--r--content/browser/web_contents/touch_editable_impl_aura_browsertest.cc28
1 files changed, 20 insertions, 8 deletions
diff --git a/content/browser/web_contents/touch_editable_impl_aura_browsertest.cc b/content/browser/web_contents/touch_editable_impl_aura_browsertest.cc
index c0fb65c..86b3698 100644
--- a/content/browser/web_contents/touch_editable_impl_aura_browsertest.cc
+++ b/content/browser/web_contents/touch_editable_impl_aura_browsertest.cc
@@ -28,6 +28,7 @@
namespace content {
+// TODO(mohsen): Remove logs if the test showed no flakiness anymore.
class TestTouchEditableImplAura : public TouchEditableImplAura {
public:
TestTouchEditableImplAura()
@@ -37,6 +38,7 @@ class TestTouchEditableImplAura : public TouchEditableImplAura {
waiting_for_gesture_ack_callback_(false) {}
void Reset() {
+ LOG(INFO) << "TestTouchEditableImplAura::Reset()";
selection_changed_callback_arrived_ = false;
waiting_for_selection_changed_callback_ = false;
gesture_ack_callback_arrived_ = false;
@@ -45,6 +47,8 @@ class TestTouchEditableImplAura : public TouchEditableImplAura {
virtual void OnSelectionOrCursorChanged(const gfx::Rect& anchor,
const gfx::Rect& focus) OVERRIDE {
+ LOG(INFO) << "TestTouchEditableImplAura::OnSelectionOrCursorChanged("
+ << anchor.ToString() << ", " << focus.ToString() << ")";
selection_changed_callback_arrived_ = true;
TouchEditableImplAura::OnSelectionOrCursorChanged(anchor, focus);
if (waiting_for_selection_changed_callback_)
@@ -52,6 +56,8 @@ class TestTouchEditableImplAura : public TouchEditableImplAura {
}
virtual void GestureEventAck(int gesture_event_type) OVERRIDE {
+ LOG(INFO) << "TestTouchEditableImplAura::GestureEventAck("
+ << gesture_event_type << ")";
gesture_ack_callback_arrived_ = true;
TouchEditableImplAura::GestureEventAck(gesture_event_type);
if (waiting_for_gesture_ack_callback_)
@@ -59,6 +65,7 @@ class TestTouchEditableImplAura : public TouchEditableImplAura {
}
void WaitForSelectionChangeCallback() {
+ LOG(INFO) << "TestTouchEditableImplAura::WaitForSelectionChangeCallback()";
if (selection_changed_callback_arrived_)
return;
waiting_for_selection_changed_callback_ = true;
@@ -67,6 +74,7 @@ class TestTouchEditableImplAura : public TouchEditableImplAura {
}
void WaitForGestureAck() {
+ LOG(INFO) << "TestTouchEditableImplAura::WaitForGestureAck()";
if (gesture_ack_callback_arrived_)
return;
waiting_for_gesture_ack_callback_ = true;
@@ -115,6 +123,7 @@ class TouchEditableImplAuraTest : public ContentBrowserTest {
content->GetRootWindow()->SetHostSize(gfx::Size(800, 600));
}
+ // TODO(mohsen): Remove logs if the test showed no flakiness anymore.
void TestTouchSelectionOriginatingFromWebpage() {
ASSERT_NO_FATAL_FAILURE(
StartTestWithPage("files/touch_selection.html"));
@@ -132,23 +141,28 @@ class TouchEditableImplAuraTest : public ContentBrowserTest {
aura::test::EventGenerator generator(content->GetRootWindow(), content);
gfx::Rect bounds = content->GetBoundsInRootWindow();
+ LOG(INFO) << "Select text and wait for selection change.";
touch_editable->Reset();
ExecuteSyncJSFunction(view_host, "select_all_text()");
touch_editable->WaitForSelectionChangeCallback();
+ LOG(INFO) << "Tap on selection to bring up handles.";
// Tap inside selection to bring up selection handles.
generator.GestureTapAt(gfx::Point(bounds.x() + 10, bounds.y() + 10));
EXPECT_EQ(touch_editable->rwhva_, rwhva);
+ LOG(INFO) << "Get selection.";
scoped_ptr<base::Value> value =
content::ExecuteScriptAndGetValue(view_host, "get_selection()");
std::string selection;
value->GetAsString(&selection);
+ LOG(INFO) << "Test handles and selection.";
// Check if selection handles are showing.
EXPECT_TRUE(touch_editable->touch_selection_controller_.get());
EXPECT_STREQ("Some text we can select", selection.c_str());
+ LOG(INFO) << "Drag handles to modify the selection.";
// Lets move the handles a bit to modify the selection
touch_editable->Reset();
generator.GestureScrollSequence(
@@ -156,6 +170,11 @@ class TouchEditableImplAuraTest : public ContentBrowserTest {
gfx::Point(30, 47),
base::TimeDelta::FromMilliseconds(20),
1);
+ LOG(INFO) << "Handle moved. Now, waiting for selection to change.";
+ touch_editable->WaitForSelectionChangeCallback();
+ LOG(INFO) << "Selection changed.";
+
+ LOG(INFO) << "Test selection.";
EXPECT_TRUE(touch_editable->touch_selection_controller_.get());
value = content::ExecuteScriptAndGetValue(view_host, "get_selection()");
value->GetAsString(&selection);
@@ -333,15 +352,8 @@ class TouchEditableImplAuraTest : public ContentBrowserTest {
DISALLOW_COPY_AND_ASSIGN(TouchEditableImplAuraTest);
};
-#if defined(OS_CHROMEOS)
-#define MAYBE_TouchSelectionOriginatingFromWebpageTest \
- DISABLED_TouchSelectionOriginatingFromWebpageTest
-#else
-#define MAYBE_TouchSelectionOriginatingFromWebpageTest \
- TouchSelectionOriginatingFromWebpageTest
-#endif
IN_PROC_BROWSER_TEST_F(TouchEditableImplAuraTest,
- MAYBE_TouchSelectionOriginatingFromWebpageTest) {
+ TouchSelectionOriginatingFromWebpageTest) {
TestTouchSelectionOriginatingFromWebpage();
}