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

Unified Diff: components/test_runner/web_test_proxy.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_test_interfaces.cc ('k') | components/test_runner/web_test_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/test_runner/web_test_proxy.h
diff --git a/components/test_runner/web_test_proxy.h b/components/test_runner/web_test_proxy.h
index 7f34ba4854382b8ecbc9be484fbec4949be4da73..b23e69313bd675ca23c29a9f727864f68eab501a 100644
--- a/components/test_runner/web_test_proxy.h
+++ b/components/test_runner/web_test_proxy.h
@@ -14,6 +14,7 @@
#include "build/build_config.h"
#include "components/test_runner/test_runner_export.h"
#include "components/test_runner/web_view_test_client.h"
+#include "components/test_runner/web_widget_test_client.h"
#include "third_party/WebKit/public/platform/WebDragOperation.h"
#include "third_party/WebKit/public/platform/WebRect.h"
#include "third_party/WebKit/public/platform/WebScreenInfo.h"
@@ -77,6 +78,13 @@ class TEST_RUNNER_EXPORT WebTestProxyBase {
view_test_client_ = std::move(view_test_client);
}
+ void set_widget_test_client(
+ std::unique_ptr<WebWidgetTestClient> widget_test_client) {
+ DCHECK(widget_test_client);
+ DCHECK(!widget_test_client_);
+ widget_test_client_ = std::move(widget_test_client);
+ }
+
WebTestDelegate* delegate() { return delegate_; }
void set_delegate(WebTestDelegate* delegate) {
DCHECK(delegate);
@@ -108,6 +116,9 @@ class TEST_RUNNER_EXPORT WebTestProxyBase {
~WebTestProxyBase();
blink::WebViewClient* view_test_client() { return view_test_client_.get(); }
+ blink::WebWidgetClient* widget_test_client() {
+ return widget_test_client_.get();
+ }
private:
TestInterfaces* test_interfaces_;
@@ -115,6 +126,7 @@ class TEST_RUNNER_EXPORT WebTestProxyBase {
blink::WebView* web_view_;
blink::WebWidget* web_widget_;
std::unique_ptr<WebViewTestClient> view_test_client_;
+ std::unique_ptr<WebWidgetTestClient> widget_test_client_;
std::unique_ptr<AccessibilityController> accessibility_controller_;
std::unique_ptr<EventSender> event_sender_;
std::unique_ptr<TextInputController> text_input_controller_;
@@ -153,12 +165,37 @@ class WebTestProxy : public Base, public WebTestProxyBase {
// WebWidgetClient implementation.
blink::WebScreenInfo screenInfo() override {
blink::WebScreenInfo info = Base::screenInfo();
- WebTestProxyBase::GetScreenOrientationForTesting(info);
+ blink::WebScreenInfo test_info = widget_test_client()->screenInfo();
+ if (test_info.orientationType != blink::WebScreenOrientationUndefined) {
+ info.orientationType = test_info.orientationType;
+ info.orientationAngle = test_info.orientationAngle;
+ }
return info;
}
+ void scheduleAnimation() override {
+ widget_test_client()->scheduleAnimation();
+ }
+ bool requestPointerLock() override {
+ return widget_test_client()->requestPointerLock();
+ }
+ void requestPointerUnlock() override {
+ widget_test_client()->requestPointerUnlock();
+ }
+ bool isPointerLocked() override {
+ return widget_test_client()->isPointerLocked();
+ }
+ void didFocus() override {
+ widget_test_client()->didFocus();
+ Base::didFocus();
+ }
+ void setToolTipText(const blink::WebString& text,
+ blink::WebTextDirection hint) override {
+ widget_test_client()->setToolTipText(text, hint);
+ Base::setToolTipText(text, hint);
+ }
+ void resetInputMethod() override { widget_test_client()->resetInputMethod(); }
// WebViewClient implementation.
- void scheduleAnimation() override { view_test_client()->scheduleAnimation(); }
void startDragging(blink::WebLocalFrame* frame,
const blink::WebDragData& data,
blink::WebDragOperationsMask mask,
@@ -194,25 +231,6 @@ class WebTestProxy : public Base, public WebTestProxyBase {
blink::WebSpeechRecognizer* speechRecognizer() override {
return view_test_client()->speechRecognizer();
}
- bool requestPointerLock() override {
- return view_test_client()->requestPointerLock();
- }
- void requestPointerUnlock() override {
- view_test_client()->requestPointerUnlock();
- }
- bool isPointerLocked() override {
- return view_test_client()->isPointerLocked();
- }
- void didFocus() override {
- view_test_client()->didFocus();
- Base::didFocus();
- }
- void setToolTipText(const blink::WebString& text,
- blink::WebTextDirection hint) override {
- view_test_client()->setToolTipText(text, hint);
- Base::setToolTipText(text, hint);
- }
- void resetInputMethod() override { view_test_client()->resetInputMethod(); }
bool runFileChooser(const blink::WebFileChooserParams& params,
blink::WebFileChooserCompletion* completion) override {
return view_test_client()->runFileChooser(params, completion);
« no previous file with comments | « components/test_runner/web_test_interfaces.cc ('k') | components/test_runner/web_test_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698