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

Side by Side Diff: sky/viewer/document_view.cc

Issue 687273002: mojo: Update content handler API (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Add missing comment Created 6 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « sky/viewer/document_view.h ('k') | sky/viewer/viewer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sky/viewer/document_view.h" 5 #include "sky/viewer/document_view.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/strings/string_util.h" 11 #include "base/strings/string_util.h"
12 #include "base/thread_task_runner_handle.h" 12 #include "base/thread_task_runner_handle.h"
13 #include "mojo/converters/geometry/geometry_type_converters.h" 13 #include "mojo/converters/geometry/geometry_type_converters.h"
14 #include "mojo/public/cpp/application/connect.h" 14 #include "mojo/public/cpp/application/connect.h"
15 #include "mojo/public/cpp/application/service_provider_impl.h"
16 #include "mojo/public/cpp/system/data_pipe.h" 15 #include "mojo/public/cpp/system/data_pipe.h"
17 #include "mojo/public/interfaces/application/shell.mojom.h" 16 #include "mojo/public/interfaces/application/shell.mojom.h"
18 #include "mojo/services/public/cpp/view_manager/view.h" 17 #include "mojo/services/public/cpp/view_manager/view.h"
19 #include "mojo/services/public/interfaces/surfaces/surfaces_service.mojom.h" 18 #include "mojo/services/public/interfaces/surfaces/surfaces_service.mojom.h"
20 #include "skia/ext/refptr.h" 19 #include "skia/ext/refptr.h"
21 #include "sky/engine/public/platform/Platform.h" 20 #include "sky/engine/public/platform/Platform.h"
22 #include "sky/engine/public/platform/WebHTTPHeaderVisitor.h" 21 #include "sky/engine/public/platform/WebHTTPHeaderVisitor.h"
23 #include "sky/engine/public/web/WebConsoleMessage.h" 22 #include "sky/engine/public/web/WebConsoleMessage.h"
24 #include "sky/engine/public/web/WebDocument.h" 23 #include "sky/engine/public/web/WebDocument.h"
25 #include "sky/engine/public/web/WebElement.h" 24 #include "sky/engine/public/web/WebElement.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 return mojo::TARGET_NEW_NODE; 59 return mojo::TARGET_NEW_NODE;
61 default: 60 default:
62 return mojo::TARGET_DEFAULT; 61 return mojo::TARGET_DEFAULT;
63 } 62 }
64 } 63 }
65 64
66 } // namespace 65 } // namespace
67 66
68 DocumentView::DocumentView( 67 DocumentView::DocumentView(
69 mojo::URLResponsePtr response, 68 mojo::URLResponsePtr response,
70 mojo::InterfaceRequest<mojo::ServiceProvider> service_provider_request, 69 mojo::ShellPtr shell,
71 mojo::Shell* shell,
72 scoped_refptr<base::MessageLoopProxy> compositor_thread) 70 scoped_refptr<base::MessageLoopProxy> compositor_thread)
73 : response_(response.Pass()), 71 : response_(response.Pass()),
74 shell_(shell), 72 shell_(shell.Pass()),
75 web_view_(NULL), 73 web_view_(NULL),
76 root_(NULL), 74 root_(NULL),
77 view_manager_client_factory_(shell, this), 75 view_manager_client_factory_(shell_.get(), this),
78 inspector_service_factory_(this), 76 inspector_service_factory_(this),
79 compositor_thread_(compositor_thread), 77 compositor_thread_(compositor_thread),
80 weak_factory_(this) { 78 weak_factory_(this) {
81 mojo::ServiceProviderImpl* exported_services = new mojo::ServiceProviderImpl() ; 79 shell_.set_client(this);
82 exported_services->AddService(&view_manager_client_factory_);
83 BindToRequest(exported_services, &service_provider_request);
84 } 80 }
85 81
86 DocumentView::~DocumentView() { 82 DocumentView::~DocumentView() {
87 if (web_view_) 83 if (web_view_)
88 web_view_->close(); 84 web_view_->close();
89 if (root_) 85 if (root_)
90 root_->RemoveObserver(this); 86 root_->RemoveObserver(this);
91 } 87 }
92 88
93 base::WeakPtr<DocumentView> DocumentView::GetWeakPtr() { 89 base::WeakPtr<DocumentView> DocumentView::GetWeakPtr() {
94 return weak_factory_.GetWeakPtr(); 90 return weak_factory_.GetWeakPtr();
95 } 91 }
96 92
93 void DocumentView::AcceptConnection(const mojo::String& requestor_url,
94 mojo::ServiceProviderPtr provider) {
95 exported_services_.AddService(&view_manager_client_factory_);
96 mojo::WeakBindToPipe(&exported_services_, provider.PassMessagePipe());
97 }
98
99 void DocumentView::Initialize(mojo::Array<mojo::String> args) {
100 }
101
97 void DocumentView::OnEmbed( 102 void DocumentView::OnEmbed(
98 mojo::ViewManager* view_manager, 103 mojo::ViewManager* view_manager,
99 mojo::View* root, 104 mojo::View* root,
100 mojo::ServiceProviderImpl* exported_services, 105 mojo::ServiceProviderImpl* exported_services,
101 scoped_ptr<mojo::ServiceProvider> imported_services) { 106 scoped_ptr<mojo::ServiceProvider> imported_services) {
102 107
103 root_ = root; 108 root_ = root;
104 imported_services_ = imported_services.Pass(); 109 imported_services_ = imported_services.Pass();
105 navigator_host_.set_service_provider(imported_services_.get()); 110 navigator_host_.set_service_provider(imported_services_.get());
106 exported_services->AddService(&inspector_service_factory_); 111 exported_services->AddService(&inspector_service_factory_);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 203
199 void DocumentView::OnViewInputEvent( 204 void DocumentView::OnViewInputEvent(
200 mojo::View* view, const mojo::EventPtr& event) { 205 mojo::View* view, const mojo::EventPtr& event) {
201 scoped_ptr<blink::WebInputEvent> web_event = 206 scoped_ptr<blink::WebInputEvent> web_event =
202 event.To<scoped_ptr<blink::WebInputEvent> >(); 207 event.To<scoped_ptr<blink::WebInputEvent> >();
203 if (web_event) 208 if (web_event)
204 web_view_->handleInputEvent(*web_event); 209 web_view_->handleInputEvent(*web_event);
205 } 210 }
206 211
207 } // namespace sky 212 } // namespace sky
OLDNEW
« no previous file with comments | « sky/viewer/document_view.h ('k') | sky/viewer/viewer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698