| Index: content/browser/webui/web_ui_mojo_browsertest.cc
|
| diff --git a/content/browser/webui/web_ui_mojo_browsertest.cc b/content/browser/webui/web_ui_mojo_browsertest.cc
|
| index 17b1bc8c41b40392407b886e3a831f76996dd305..def55f34dafb7b34e4e982c3e4c90ec21d1618f9 100644
|
| --- a/content/browser/webui/web_ui_mojo_browsertest.cc
|
| +++ b/content/browser/webui/web_ui_mojo_browsertest.cc
|
| @@ -28,6 +28,8 @@
|
| #include "content/test/data/web_ui_test_mojo_bindings.mojom.h"
|
| #include "grit/content_resources.h"
|
| #include "mojo/common/test/test_utils.h"
|
| +#include "mojo/public/cpp/bindings/interface_impl.h"
|
| +#include "mojo/public/cpp/bindings/interface_request.h"
|
| #include "mojo/public/js/bindings/constants.h"
|
|
|
| namespace content {
|
| @@ -58,24 +60,18 @@ bool GetResource(const std::string& id,
|
| return true;
|
| }
|
|
|
| -class BrowserTargetImpl : public BrowserTarget {
|
| +class BrowserTargetImpl : public mojo::InterfaceImpl<BrowserTarget> {
|
| public:
|
| - BrowserTargetImpl(mojo::ScopedMessagePipeHandle handle,
|
| - base::RunLoop* run_loop)
|
| - : run_loop_(run_loop) {
|
| - renderer_.Bind(handle.Pass());
|
| - renderer_.set_client(this);
|
| - }
|
| + explicit BrowserTargetImpl(base::RunLoop* run_loop) : run_loop_(run_loop) {}
|
|
|
| virtual ~BrowserTargetImpl() {}
|
|
|
| - // BrowserTarget overrides:
|
| + // mojo::InterfaceImpl<BrowserTarget> overrides:
|
| virtual void PingResponse() OVERRIDE {
|
| NOTREACHED();
|
| }
|
|
|
| protected:
|
| - RendererTargetPtr renderer_;
|
| base::RunLoop* run_loop_;
|
|
|
| private:
|
| @@ -84,15 +80,16 @@ class BrowserTargetImpl : public BrowserTarget {
|
|
|
| class PingBrowserTargetImpl : public BrowserTargetImpl {
|
| public:
|
| - PingBrowserTargetImpl(mojo::ScopedMessagePipeHandle handle,
|
| - base::RunLoop* run_loop)
|
| - : BrowserTargetImpl(handle.Pass(), run_loop) {
|
| - renderer_->Ping();
|
| - }
|
| + explicit PingBrowserTargetImpl(base::RunLoop* run_loop)
|
| + : BrowserTargetImpl(run_loop) {}
|
|
|
| virtual ~PingBrowserTargetImpl() {}
|
|
|
| - // BrowserTarget overrides:
|
| + // mojo::InterfaceImpl<BrowserTarget> overrides:
|
| + virtual void OnConnectionEstablished() OVERRIDE {
|
| + client()->Ping();
|
| + }
|
| +
|
| // Quit the RunLoop when called.
|
| virtual void PingResponse() OVERRIDE {
|
| got_message = true;
|
| @@ -134,14 +131,14 @@ class PingTestWebUIController : public TestWebUIController {
|
|
|
| // WebUIController overrides:
|
| virtual void RenderViewCreated(RenderViewHost* render_view_host) OVERRIDE {
|
| - render_view_host->GetMainFrame()->GetServiceRegistry()->AddService(
|
| - "webui_controller",
|
| - base::Bind(&PingTestWebUIController::CreateHandler,
|
| - base::Unretained(this)));
|
| + render_view_host->GetMainFrame()->GetServiceRegistry()->
|
| + AddService<BrowserTarget>(base::Bind(
|
| + &PingTestWebUIController::CreateHandler, base::Unretained(this)));
|
| }
|
|
|
| - void CreateHandler(mojo::ScopedMessagePipeHandle handle) {
|
| - browser_target_.reset(new PingBrowserTargetImpl(handle.Pass(), run_loop_));
|
| + void CreateHandler(mojo::InterfaceRequest<BrowserTarget> request) {
|
| + browser_target_.reset(mojo::WeakBindToRequest(
|
| + new PingBrowserTargetImpl(run_loop_), &request));
|
| }
|
|
|
| private:
|
|
|