| Index: sky/viewer/document_view.cc
|
| diff --git a/sky/viewer/document_view.cc b/sky/viewer/document_view.cc
|
| index 0bfbeca61cc1ae882737332713e88baaba237217..a90d43b18105eca39dba8091beebc8de39931309 100644
|
| --- a/sky/viewer/document_view.cc
|
| +++ b/sky/viewer/document_view.cc
|
| @@ -65,18 +65,22 @@ mojo::Target WebNavigationPolicyToNavigationTarget(
|
| } // namespace
|
|
|
| DocumentView::DocumentView(
|
| + const base::Closure& destruction_callback,
|
| + mojo::ServiceProviderPtr provider,
|
| mojo::URLResponsePtr response,
|
| - mojo::ShellPtr shell,
|
| + mojo::Shell* shell,
|
| scoped_refptr<base::MessageLoopProxy> compositor_thread)
|
| - : response_(response.Pass()),
|
| - shell_(shell.Pass()),
|
| + : destruction_callback_(destruction_callback),
|
| + response_(response.Pass()),
|
| + shell_(shell),
|
| web_view_(NULL),
|
| root_(NULL),
|
| - view_manager_client_factory_(shell_.get(), this),
|
| + view_manager_client_factory_(shell_, this),
|
| inspector_service_factory_(this),
|
| compositor_thread_(compositor_thread),
|
| weak_factory_(this) {
|
| - shell_.set_client(this);
|
| + exported_services_.AddService(&view_manager_client_factory_);
|
| + mojo::WeakBindToPipe(&exported_services_, provider.PassMessagePipe());
|
| }
|
|
|
| DocumentView::~DocumentView() {
|
| @@ -84,21 +88,13 @@ DocumentView::~DocumentView() {
|
| web_view_->close();
|
| if (root_)
|
| root_->RemoveObserver(this);
|
| + destruction_callback_.Run();
|
| }
|
|
|
| base::WeakPtr<DocumentView> DocumentView::GetWeakPtr() {
|
| return weak_factory_.GetWeakPtr();
|
| }
|
|
|
| -void DocumentView::AcceptConnection(const mojo::String& requestor_url,
|
| - mojo::ServiceProviderPtr provider) {
|
| - exported_services_.AddService(&view_manager_client_factory_);
|
| - mojo::WeakBindToPipe(&exported_services_, provider.PassMessagePipe());
|
| -}
|
| -
|
| -void DocumentView::Initialize(mojo::Array<mojo::String> args) {
|
| -}
|
| -
|
| void DocumentView::OnEmbed(
|
| mojo::ViewManager* view_manager,
|
| mojo::View* root,
|
|
|