| OLD | NEW |
| 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" |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 DocumentView::DocumentView( | 68 DocumentView::DocumentView( |
| 69 mojo::URLResponsePtr response, | 69 mojo::URLResponsePtr response, |
| 70 mojo::InterfaceRequest<mojo::ServiceProvider> service_provider_request, | 70 mojo::InterfaceRequest<mojo::ServiceProvider> service_provider_request, |
| 71 mojo::Shell* shell, | 71 mojo::Shell* shell, |
| 72 scoped_refptr<base::MessageLoopProxy> compositor_thread) | 72 scoped_refptr<base::MessageLoopProxy> compositor_thread) |
| 73 : response_(response.Pass()), | 73 : response_(response.Pass()), |
| 74 shell_(shell), | 74 shell_(shell), |
| 75 web_view_(NULL), | 75 web_view_(NULL), |
| 76 root_(NULL), | 76 root_(NULL), |
| 77 view_manager_client_factory_(shell, this), | 77 view_manager_client_factory_(shell, this), |
| 78 inspector_service_factory_(this), |
| 78 compositor_thread_(compositor_thread), | 79 compositor_thread_(compositor_thread), |
| 79 weak_factory_(this) { | 80 weak_factory_(this) { |
| 80 mojo::ServiceProviderImpl* exported_services = new mojo::ServiceProviderImpl()
; | 81 mojo::ServiceProviderImpl* exported_services = new mojo::ServiceProviderImpl()
; |
| 81 exported_services->AddService(&view_manager_client_factory_); | 82 exported_services->AddService(&view_manager_client_factory_); |
| 82 BindToRequest(exported_services, &service_provider_request); | 83 BindToRequest(exported_services, &service_provider_request); |
| 83 } | 84 } |
| 84 | 85 |
| 85 DocumentView::~DocumentView() { | 86 DocumentView::~DocumentView() { |
| 86 if (web_view_) | 87 if (web_view_) |
| 87 web_view_->close(); | 88 web_view_->close(); |
| 88 if (root_) | 89 if (root_) |
| 89 root_->RemoveObserver(this); | 90 root_->RemoveObserver(this); |
| 90 } | 91 } |
| 91 | 92 |
| 92 base::WeakPtr<DocumentView> DocumentView::GetWeakPtr() { | 93 base::WeakPtr<DocumentView> DocumentView::GetWeakPtr() { |
| 93 return weak_factory_.GetWeakPtr(); | 94 return weak_factory_.GetWeakPtr(); |
| 94 } | 95 } |
| 95 | 96 |
| 96 void DocumentView::OnEmbed( | 97 void DocumentView::OnEmbed( |
| 97 mojo::ViewManager* view_manager, | 98 mojo::ViewManager* view_manager, |
| 98 mojo::View* root, | 99 mojo::View* root, |
| 99 mojo::ServiceProviderImpl* exported_services, | 100 mojo::ServiceProviderImpl* exported_services, |
| 100 scoped_ptr<mojo::ServiceProvider> imported_services) { | 101 scoped_ptr<mojo::ServiceProvider> imported_services) { |
| 101 | 102 |
| 102 root_ = root; | 103 root_ = root; |
| 103 imported_services_ = imported_services.Pass(); | 104 imported_services_ = imported_services.Pass(); |
| 104 navigator_host_.set_service_provider(imported_services_.get()); | 105 navigator_host_.set_service_provider(imported_services_.get()); |
| 106 exported_services->AddService(&inspector_service_factory_); |
| 105 | 107 |
| 106 Load(response_.Pass()); | 108 Load(response_.Pass()); |
| 107 | 109 |
| 108 gfx::Size size = root_->bounds().To<gfx::Rect>().size(); | 110 gfx::Size size = root_->bounds().To<gfx::Rect>().size(); |
| 109 web_view_->resize(size); | 111 web_view_->resize(size); |
| 110 web_layer_tree_view_impl_->setViewportSize(size); | 112 web_layer_tree_view_impl_->setViewportSize(size); |
| 111 web_layer_tree_view_impl_->set_view(root_); | 113 web_layer_tree_view_impl_->set_view(root_); |
| 112 root_->AddObserver(this); | 114 root_->AddObserver(this); |
| 113 } | 115 } |
| 114 | 116 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 | 198 |
| 197 void DocumentView::OnViewInputEvent( | 199 void DocumentView::OnViewInputEvent( |
| 198 mojo::View* view, const mojo::EventPtr& event) { | 200 mojo::View* view, const mojo::EventPtr& event) { |
| 199 scoped_ptr<blink::WebInputEvent> web_event = | 201 scoped_ptr<blink::WebInputEvent> web_event = |
| 200 event.To<scoped_ptr<blink::WebInputEvent> >(); | 202 event.To<scoped_ptr<blink::WebInputEvent> >(); |
| 201 if (web_event) | 203 if (web_event) |
| 202 web_view_->handleInputEvent(*web_event); | 204 web_view_->handleInputEvent(*web_event); |
| 203 } | 205 } |
| 204 | 206 |
| 205 } // namespace sky | 207 } // namespace sky |
| OLD | NEW |