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

Unified Diff: components/test_runner/web_view_test_client.cc

Issue 1852603002: Replacing most of web_task.h with base::Closure + base::WeakPtrFactory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move-mocks-to-test-runner
Patch Set: Rebasing... 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
Index: components/test_runner/web_view_test_client.cc
diff --git a/components/test_runner/web_view_test_client.cc b/components/test_runner/web_view_test_client.cc
index 55152c55b6945b08c28fd58619dfb367b2da8850..c6338b3120ecab425aea0ac3f54150250df1161f 100644
--- a/components/test_runner/web_view_test_client.cc
+++ b/components/test_runner/web_view_test_client.cc
@@ -4,6 +4,8 @@
#include "components/test_runner/web_view_test_client.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/i18n/rtl.h"
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
@@ -25,22 +27,6 @@
namespace test_runner {
-namespace {
-
-class HostMethodTask : public WebMethodTask<WebViewTestClient> {
- public:
- typedef void (WebViewTestClient::*CallbackMethodType)();
- HostMethodTask(WebViewTestClient* object, CallbackMethodType callback)
- : WebMethodTask<WebViewTestClient>(object), callback_(callback) {}
-
- void RunIfValid() override { (object_->*callback_)(); }
-
- private:
- CallbackMethodType callback_;
-};
-
-} // namespace
-
WebViewTestClient::WebViewTestClient(TestRunner* test_runner,
WebTestDelegate* delegate,
EventSender* event_sender,
@@ -49,7 +35,8 @@ WebViewTestClient::WebViewTestClient(TestRunner* test_runner,
delegate_(delegate),
event_sender_(event_sender),
web_test_proxy_base_(web_test_proxy_base),
- animation_scheduled_(false) {
+ animation_scheduled_(false),
+ weak_factory_(this) {
DCHECK(test_runner);
DCHECK(delegate);
DCHECK(event_sender);
@@ -67,7 +54,9 @@ void WebViewTestClient::scheduleAnimation() {
test_runner_->OnAnimationScheduled(web_test_proxy_base_->web_view());
delegate_->PostDelayedTask(
- new HostMethodTask(this, &WebViewTestClient::AnimateNow), 1);
+ new WebCallbackTask(base::Bind(&WebViewTestClient::AnimateNow,
+ weak_factory_.GetWeakPtr())),
+ 1);
}
}

Powered by Google App Engine
This is Rietveld 408576698