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

Unified Diff: components/test_runner/web_widget_test_client.h

Issue 1935593004: Extract WebWidgetTestClient out of WebTestProxyBase and WebViewTestClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@test-runner-for-specific-view-separate
Patch Set: Created 4 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 | « components/test_runner/web_view_test_client.cc ('k') | components/test_runner/web_widget_test_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/test_runner/web_widget_test_client.h
diff --git a/components/test_runner/web_widget_test_client.h b/components/test_runner/web_widget_test_client.h
new file mode 100644
index 0000000000000000000000000000000000000000..8c73439b08387e0805033a92a6d1cc82160491f0
--- /dev/null
+++ b/components/test_runner/web_widget_test_client.h
@@ -0,0 +1,62 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_TEST_RUNNER_WEB_WIDGET_TEST_CLIENT_H_
+#define COMPONENTS_TEST_RUNNER_WEB_WIDGET_TEST_CLIENT_H_
+
+#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
+#include "third_party/WebKit/public/web/WebWidgetClient.h"
+
+namespace blink {
+class WebWidget;
+} // namespace blink
+
+namespace test_runner {
+
+class TestRunner;
+class WebTestDelegate;
+class WebTestProxyBase;
+
+// WebWidgetTestClient implements WebWidgetClient interface, providing behavior
+// expected by tests. WebWidgetTestClient ends up used by WebTestProxy which
+// coordinates forwarding WebWidgetClient calls either to WebWidgetTestClient or
+// to the product code (i.e. currently to RenderViewImpl).
+class WebWidgetTestClient : public blink::WebWidgetClient {
+ public:
+ // Caller has to ensure that all arguments (i.e. |test_runner| and |delegate|)
+ // live longer than |this|.
+ WebWidgetTestClient(TestRunner* test_runner,
+ WebTestProxyBase* web_test_proxy_base);
+
+ virtual ~WebWidgetTestClient();
+
+ // WebWidgetClient overrides needed by WebTestProxy.
+ blink::WebScreenInfo screenInfo() override;
+ void scheduleAnimation() override;
+ bool requestPointerLock() override;
+ void requestPointerUnlock() override;
+ bool isPointerLocked() override;
+ void didFocus() override;
+ void setToolTipText(const blink::WebString& text,
+ blink::WebTextDirection direction) override;
+ void resetInputMethod() override;
+
+ private:
+ void AnimateNow();
+
+ // Borrowed pointers to other parts of Layout Tests state.
+ TestRunner* test_runner_;
+ WebTestProxyBase* web_test_proxy_base_;
+
+ bool animation_scheduled_;
+
+ base::WeakPtrFactory<WebWidgetTestClient> weak_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(WebWidgetTestClient);
+};
+
+} // namespace test_runner
+
+#endif // COMPONENTS_TEST_RUNNER_WEB_WIDGET_TEST_CLIENT_H_
« no previous file with comments | « components/test_runner/web_view_test_client.cc ('k') | components/test_runner/web_widget_test_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698