| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/html_viewer/html_widget.h" | 5 #include "components/html_viewer/html_widget.h" |
| 6 | 6 |
| 7 #include "components/html_viewer/global_state.h" | 7 #include "components/html_viewer/global_state.h" |
| 8 #include "components/html_viewer/ime_controller.h" | 8 #include "components/html_viewer/ime_controller.h" |
| 9 #include "components/html_viewer/web_layer_tree_view_impl.h" | 9 #include "components/html_viewer/web_layer_tree_view_impl.h" |
| 10 #include "components/html_viewer/web_storage_namespace_impl.h" | 10 #include "components/html_viewer/web_storage_namespace_impl.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 scoped_ptr<WebLayerTreeViewImpl> CreateWebLayerTreeView( | 21 scoped_ptr<WebLayerTreeViewImpl> CreateWebLayerTreeView( |
| 22 GlobalState* global_state) { | 22 GlobalState* global_state) { |
| 23 return make_scoped_ptr(new WebLayerTreeViewImpl( | 23 return make_scoped_ptr(new WebLayerTreeViewImpl( |
| 24 global_state->compositor_thread(), | 24 global_state->compositor_thread(), |
| 25 global_state->gpu_memory_buffer_manager(), | 25 global_state->gpu_memory_buffer_manager(), |
| 26 global_state->raster_thread_helper()->task_graph_runner())); | 26 global_state->raster_thread_helper()->task_graph_runner())); |
| 27 } | 27 } |
| 28 | 28 |
| 29 void InitializeWebLayerTreeView(WebLayerTreeViewImpl* web_layer_tree_view, | 29 void InitializeWebLayerTreeView(WebLayerTreeViewImpl* web_layer_tree_view, |
| 30 mojo::ApplicationImpl* app, | 30 mojo::ApplicationImpl* app, |
| 31 mojo::View* view, | 31 mus::View* view, |
| 32 blink::WebWidget* widget) { | 32 blink::WebWidget* widget) { |
| 33 DCHECK(view); | 33 DCHECK(view); |
| 34 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 34 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
| 35 request->url = mojo::String::From("mojo:view_manager"); | 35 request->url = mojo::String::From("mojo:view_manager"); |
| 36 mojo::GpuPtr gpu_service; | 36 mojo::GpuPtr gpu_service; |
| 37 app->ConnectToService(request.Pass(), &gpu_service); | 37 app->ConnectToService(request.Pass(), &gpu_service); |
| 38 web_layer_tree_view->Initialize(gpu_service.Pass(), view, widget); | 38 web_layer_tree_view->Initialize(gpu_service.Pass(), view, widget); |
| 39 } | 39 } |
| 40 | 40 |
| 41 void UpdateWebViewSizeFromViewSize(mojo::View* view, | 41 void UpdateWebViewSizeFromViewSize(mus::View* view, |
| 42 blink::WebWidget* web_widget, | 42 blink::WebWidget* web_widget, |
| 43 WebLayerTreeViewImpl* web_layer_tree_view) { | 43 WebLayerTreeViewImpl* web_layer_tree_view) { |
| 44 const gfx::Size size_in_pixels(view->bounds().width, view->bounds().height); | 44 const gfx::Size size_in_pixels(view->bounds().width, view->bounds().height); |
| 45 const gfx::Size size_in_dips = gfx::ConvertSizeToDIP( | 45 const gfx::Size size_in_dips = gfx::ConvertSizeToDIP( |
| 46 view->viewport_metrics().device_pixel_ratio, size_in_pixels); | 46 view->viewport_metrics().device_pixel_ratio, size_in_pixels); |
| 47 web_widget->resize( | 47 web_widget->resize( |
| 48 blink::WebSize(size_in_dips.width(), size_in_dips.height())); | 48 blink::WebSize(size_in_dips.width(), size_in_dips.height())); |
| 49 web_layer_tree_view->setViewportSize(size_in_pixels); | 49 web_layer_tree_view->setViewportSize(size_in_pixels); |
| 50 } | 50 } |
| 51 | 51 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 65 : web_view_(blink::WebView::create(nullptr)) { | 65 : web_view_(blink::WebView::create(nullptr)) { |
| 66 ConfigureSettings(web_view_->settings()); | 66 ConfigureSettings(web_view_->settings()); |
| 67 } | 67 } |
| 68 | 68 |
| 69 HTMLWidgetRootRemote::~HTMLWidgetRootRemote() {} | 69 HTMLWidgetRootRemote::~HTMLWidgetRootRemote() {} |
| 70 | 70 |
| 71 blink::WebWidget* HTMLWidgetRootRemote::GetWidget() { | 71 blink::WebWidget* HTMLWidgetRootRemote::GetWidget() { |
| 72 return web_view_; | 72 return web_view_; |
| 73 } | 73 } |
| 74 | 74 |
| 75 void HTMLWidgetRootRemote::OnViewBoundsChanged(mojo::View* view) {} | 75 void HTMLWidgetRootRemote::OnViewBoundsChanged(mus::View* view) {} |
| 76 | 76 |
| 77 // HTMLWidgetRootLocal -------------------------------------------------------- | 77 // HTMLWidgetRootLocal -------------------------------------------------------- |
| 78 | 78 |
| 79 HTMLWidgetRootLocal::CreateParams::CreateParams(mojo::ApplicationImpl* app, | 79 HTMLWidgetRootLocal::CreateParams::CreateParams(mojo::ApplicationImpl* app, |
| 80 GlobalState* global_state, | 80 GlobalState* global_state, |
| 81 mojo::View* view) | 81 mus::View* view) |
| 82 : app(app), global_state(global_state), view(view) {} | 82 : app(app), global_state(global_state), view(view) {} |
| 83 | 83 |
| 84 HTMLWidgetRootLocal::CreateParams::~CreateParams() {} | 84 HTMLWidgetRootLocal::CreateParams::~CreateParams() {} |
| 85 | 85 |
| 86 HTMLWidgetRootLocal::HTMLWidgetRootLocal(CreateParams* create_params) | 86 HTMLWidgetRootLocal::HTMLWidgetRootLocal(CreateParams* create_params) |
| 87 : app_(create_params->app), | 87 : app_(create_params->app), |
| 88 global_state_(create_params->global_state), | 88 global_state_(create_params->global_state), |
| 89 view_(create_params->view), | 89 view_(create_params->view), |
| 90 web_view_(nullptr) { | 90 web_view_(nullptr) { |
| 91 web_view_ = blink::WebView::create(this); | 91 web_view_ = blink::WebView::create(this); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 } | 132 } |
| 133 | 133 |
| 134 void HTMLWidgetRootLocal::showImeIfNeeded() { | 134 void HTMLWidgetRootLocal::showImeIfNeeded() { |
| 135 ime_controller_->ShowImeIfNeeded(); | 135 ime_controller_->ShowImeIfNeeded(); |
| 136 } | 136 } |
| 137 | 137 |
| 138 blink::WebWidget* HTMLWidgetRootLocal::GetWidget() { | 138 blink::WebWidget* HTMLWidgetRootLocal::GetWidget() { |
| 139 return web_view_; | 139 return web_view_; |
| 140 } | 140 } |
| 141 | 141 |
| 142 void HTMLWidgetRootLocal::OnViewBoundsChanged(mojo::View* view) { | 142 void HTMLWidgetRootLocal::OnViewBoundsChanged(mus::View* view) { |
| 143 UpdateWebViewSizeFromViewSize(view, web_view_, | 143 UpdateWebViewSizeFromViewSize(view, web_view_, |
| 144 web_layer_tree_view_impl_.get()); | 144 web_layer_tree_view_impl_.get()); |
| 145 } | 145 } |
| 146 | 146 |
| 147 // HTMLWidgetLocalRoot -------------------------------------------------------- | 147 // HTMLWidgetLocalRoot -------------------------------------------------------- |
| 148 | 148 |
| 149 HTMLWidgetLocalRoot::HTMLWidgetLocalRoot(mojo::ApplicationImpl* app, | 149 HTMLWidgetLocalRoot::HTMLWidgetLocalRoot(mojo::ApplicationImpl* app, |
| 150 GlobalState* global_state, | 150 GlobalState* global_state, |
| 151 mojo::View* view, | 151 mus::View* view, |
| 152 blink::WebLocalFrame* web_local_frame) | 152 blink::WebLocalFrame* web_local_frame) |
| 153 : app_(app), global_state_(global_state), web_frame_widget_(nullptr) { | 153 : app_(app), global_state_(global_state), web_frame_widget_(nullptr) { |
| 154 web_frame_widget_ = blink::WebFrameWidget::create(this, web_local_frame); | 154 web_frame_widget_ = blink::WebFrameWidget::create(this, web_local_frame); |
| 155 ime_controller_.reset(new ImeController(view, web_frame_widget_)); | 155 ime_controller_.reset(new ImeController(view, web_frame_widget_)); |
| 156 // Creating the widget calls initializeLayerTreeView() to create the | 156 // Creating the widget calls initializeLayerTreeView() to create the |
| 157 // |web_layer_tree_view_impl_|. As we haven't yet assigned the | 157 // |web_layer_tree_view_impl_|. As we haven't yet assigned the |
| 158 // |web_frame_widget_| | 158 // |web_frame_widget_| |
| 159 // we have to set it here. | 159 // we have to set it here. |
| 160 if (web_layer_tree_view_impl_) { | 160 if (web_layer_tree_view_impl_) { |
| 161 InitializeWebLayerTreeView(web_layer_tree_view_impl_.get(), app_, view, | 161 InitializeWebLayerTreeView(web_layer_tree_view_impl_.get(), app_, view, |
| 162 web_frame_widget_); | 162 web_frame_widget_); |
| 163 UpdateWebViewSizeFromViewSize(view, web_frame_widget_, | 163 UpdateWebViewSizeFromViewSize(view, web_frame_widget_, |
| 164 web_layer_tree_view_impl_.get()); | 164 web_layer_tree_view_impl_.get()); |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 | 167 |
| 168 HTMLWidgetLocalRoot::~HTMLWidgetLocalRoot() {} | 168 HTMLWidgetLocalRoot::~HTMLWidgetLocalRoot() {} |
| 169 | 169 |
| 170 blink::WebWidget* HTMLWidgetLocalRoot::GetWidget() { | 170 blink::WebWidget* HTMLWidgetLocalRoot::GetWidget() { |
| 171 return web_frame_widget_; | 171 return web_frame_widget_; |
| 172 } | 172 } |
| 173 | 173 |
| 174 void HTMLWidgetLocalRoot::OnViewBoundsChanged(mojo::View* view) { | 174 void HTMLWidgetLocalRoot::OnViewBoundsChanged(mus::View* view) { |
| 175 UpdateWebViewSizeFromViewSize(view, web_frame_widget_, | 175 UpdateWebViewSizeFromViewSize(view, web_frame_widget_, |
| 176 web_layer_tree_view_impl_.get()); | 176 web_layer_tree_view_impl_.get()); |
| 177 } | 177 } |
| 178 | 178 |
| 179 void HTMLWidgetLocalRoot::initializeLayerTreeView() { | 179 void HTMLWidgetLocalRoot::initializeLayerTreeView() { |
| 180 web_layer_tree_view_impl_ = CreateWebLayerTreeView(global_state_); | 180 web_layer_tree_view_impl_ = CreateWebLayerTreeView(global_state_); |
| 181 } | 181 } |
| 182 | 182 |
| 183 blink::WebLayerTreeView* HTMLWidgetLocalRoot::layerTreeView() { | 183 blink::WebLayerTreeView* HTMLWidgetLocalRoot::layerTreeView() { |
| 184 return web_layer_tree_view_impl_.get(); | 184 return web_layer_tree_view_impl_.get(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 196 | 196 |
| 197 void HTMLWidgetLocalRoot::didUpdateTextOfFocusedElementByNonUserInput() { | 197 void HTMLWidgetLocalRoot::didUpdateTextOfFocusedElementByNonUserInput() { |
| 198 ime_controller_->DidUpdateTextOfFocusedElementByNonUserInput(); | 198 ime_controller_->DidUpdateTextOfFocusedElementByNonUserInput(); |
| 199 } | 199 } |
| 200 | 200 |
| 201 void HTMLWidgetLocalRoot::showImeIfNeeded() { | 201 void HTMLWidgetLocalRoot::showImeIfNeeded() { |
| 202 ime_controller_->ShowImeIfNeeded(); | 202 ime_controller_->ShowImeIfNeeded(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 } // namespace html_viewer | 205 } // namespace html_viewer |
| OLD | NEW |