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

Unified Diff: content/browser/devtools/protocol/devtools_protocol_browsertest.cc

Issue 2584193002: Revert of Delay Input.dispatchKeyEvent response until after key event ack. (Closed)
Patch Set: Created 4 years 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 | content/browser/devtools/protocol/devtools_protocol_handler_generator.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/protocol/devtools_protocol_browsertest.cc
diff --git a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
index c19559bc057ce20124846272c26b93e4ebc26fc4..d2d04bebfe84e4c04fa38465dad61c91a542fe16 100644
--- a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
+++ b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
@@ -186,14 +186,11 @@
agent_host_->DispatchProtocolMessage(this, json_command);
// Some messages are dispatched synchronously.
// Only run loop if we are not finished yet.
- if (in_dispatch_ && wait)
- WaitForResponse();
+ if (in_dispatch_ && wait) {
+ waiting_for_command_result_id_ = last_sent_id_;
+ base::RunLoop().Run();
+ }
in_dispatch_ = false;
- }
-
- void WaitForResponse() {
- waiting_for_command_result_id_ = last_sent_id_;
- base::RunLoop().Run();
}
bool HasValue(const std::string& path) {
@@ -412,26 +409,14 @@
int modifier,
int windowsKeyCode,
int nativeKeyCode,
- const std::string& key,
- bool wait) {
+ const std::string& key) {
std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue());
params->SetString("type", type);
params->SetInteger("modifiers", modifier);
params->SetInteger("windowsVirtualKeyCode", windowsKeyCode);
params->SetInteger("nativeVirtualKeyCode", nativeKeyCode);
params->SetString("key", key);
- SendCommand("Input.dispatchKeyEvent", std::move(params), wait);
- }
-};
-
-class SyntheticMouseEventTest : public DevToolsProtocolTest {
- protected:
- void SendMouseEvent(const std::string& type, int x, int y, bool wait) {
- std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue());
- params->SetString("type", type);
- params->SetInteger("x", x);
- params->SetInteger("y", y);
- SendCommand("Input.dispatchMouseEvent", std::move(params), wait);
+ SendCommand("Input.dispatchKeyEvent", std::move(params));
}
};
@@ -450,8 +435,8 @@
DOMMessageQueue dom_message_queue;
// Send enter (keycode 13).
- SendKeyEvent("rawKeyDown", 0, 13, 13, "Enter", true);
- SendKeyEvent("keyUp", 0, 13, 13, "Enter", true);
+ SendKeyEvent("rawKeyDown", 0, 13, 13, "Enter");
+ SendKeyEvent("keyUp", 0, 13, 13, "Enter");
std::string key;
ASSERT_TRUE(dom_message_queue.WaitForMessage(&key));
@@ -460,66 +445,13 @@
EXPECT_EQ("\"Enter\"", key);
// Send escape (keycode 27).
- SendKeyEvent("rawKeyDown", 0, 27, 27, "Escape", true);
- SendKeyEvent("keyUp", 0, 27, 27, "Escape", true);
+ SendKeyEvent("rawKeyDown", 0, 27, 27, "Escape");
+ SendKeyEvent("keyUp", 0, 27, 27, "Escape");
ASSERT_TRUE(dom_message_queue.WaitForMessage(&key));
EXPECT_EQ("\"Escape\"", key);
ASSERT_TRUE(dom_message_queue.WaitForMessage(&key));
EXPECT_EQ("\"Escape\"", key);
-}
-
-IN_PROC_BROWSER_TEST_F(SyntheticKeyEventTest, KeyboardEventAck) {
- NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1);
- Attach();
- ASSERT_TRUE(content::ExecuteScript(
- shell()->web_contents()->GetRenderViewHost(),
- "document.body.addEventListener('keydown', () => console.log('x'));"));
-
- scoped_refptr<InputMsgWatcher> filter = new InputMsgWatcher(
- RenderWidgetHostImpl::From(
- shell()->web_contents()->GetRenderViewHost()->GetWidget()),
- blink::WebInputEvent::MouseMove);
-
- SendCommand("Runtime.enable", nullptr);
- SendKeyEvent("rawKeyDown", 0, 13, 13, "Enter", false);
-
- // We expect that the console log message event arrives *before* the input
- // event ack, and the subsequent command response for Input.dispatchKeyEvent.
- WaitForNotification("Runtime.consoleAPICalled");
- EXPECT_THAT(console_messages_, ElementsAre("x"));
- EXPECT_FALSE(filter->HasReceivedAck());
- EXPECT_EQ(1u, result_ids_.size());
-
- WaitForResponse();
- EXPECT_EQ(2u, result_ids_.size());
-}
-
-IN_PROC_BROWSER_TEST_F(SyntheticMouseEventTest, MouseEventAck) {
- NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1);
- Attach();
- ASSERT_TRUE(content::ExecuteScript(
- shell()->web_contents()->GetRenderViewHost(),
- "document.body.addEventListener('mousemove', () => console.log('x'));"));
-
- scoped_refptr<InputMsgWatcher> filter = new InputMsgWatcher(
- RenderWidgetHostImpl::From(
- shell()->web_contents()->GetRenderViewHost()->GetWidget()),
- blink::WebInputEvent::MouseMove);
-
- SendCommand("Runtime.enable", nullptr);
- SendMouseEvent("mouseMoved", 15, 15, false);
-
- // We expect that the console log message event arrives *before* the input
- // event ack, and the subsequent command response for
- // Input.dispatchMouseEvent.
- WaitForNotification("Runtime.consoleAPICalled");
- EXPECT_THAT(console_messages_, ElementsAre("x"));
- EXPECT_FALSE(filter->HasReceivedAck());
- EXPECT_EQ(1u, result_ids_.size());
-
- WaitForResponse();
- EXPECT_EQ(2u, result_ids_.size());
}
namespace {
« no previous file with comments | « no previous file | content/browser/devtools/protocol/devtools_protocol_handler_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698