| Index: mojo/services/html_viewer/html_document_view.cc
|
| diff --git a/mojo/services/html_viewer/html_document_view.cc b/mojo/services/html_viewer/html_document_view.cc
|
| index 01af412a39adb7b8cdca36545407a5a76d581c85..80b7bcd6272e90ca5ce46462f371bdb7bdb22b22 100644
|
| --- a/mojo/services/html_viewer/html_document_view.cc
|
| +++ b/mojo/services/html_viewer/html_document_view.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/location.h"
|
| #include "base/message_loop/message_loop_proxy.h"
|
| #include "base/single_thread_task_runner.h"
|
| +#include "base/stl_util.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/thread_task_runner_handle.h"
|
| #include "mojo/public/cpp/application/connect.h"
|
| @@ -95,12 +96,13 @@ HTMLDocumentView::HTMLDocumentView(
|
| root_(NULL),
|
| view_manager_client_factory_(shell_.get(), this),
|
| compositor_thread_(compositor_thread),
|
| - web_media_player_factory_(web_media_player_factory),
|
| - weak_factory_(this) {
|
| + web_media_player_factory_(web_media_player_factory) {
|
| shell_.set_client(this);
|
| }
|
|
|
| HTMLDocumentView::~HTMLDocumentView() {
|
| + STLDeleteElements(&ax_provider_impls_);
|
| +
|
| if (web_view_)
|
| web_view_->close();
|
| if (root_)
|
| @@ -109,6 +111,7 @@ HTMLDocumentView::~HTMLDocumentView() {
|
|
|
| void HTMLDocumentView::AcceptConnection(const String& requestor_url,
|
| ServiceProviderPtr provider) {
|
| + exported_services_.AddService(this);
|
| exported_services_.AddService(&view_manager_client_factory_);
|
| WeakBindToPipe(&exported_services_, provider.PassMessagePipe());
|
| Load(response_.Pass());
|
| @@ -133,6 +136,14 @@ void HTMLDocumentView::OnEmbed(
|
| root_->AddObserver(this);
|
| }
|
|
|
| +void HTMLDocumentView::Create(ApplicationConnection* connection,
|
| + InterfaceRequest<AxProvider> request) {
|
| + if (!web_view_)
|
| + return;
|
| + ax_provider_impls_.insert(
|
| + WeakBindToRequest(new AxProviderImpl(web_view_), &request));
|
| +}
|
| +
|
| void HTMLDocumentView::OnViewManagerDisconnected(ViewManager* view_manager) {
|
| // TODO(aa): Need to figure out how shutdown works.
|
| }
|
|
|