OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/browser/renderer_host/render_widget_host_view_aura.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 : host_(RenderWidgetHostImpl::From(host)), | 216 : host_(RenderWidgetHostImpl::From(host)), |
217 ALLOW_THIS_IN_INITIALIZER_LIST(window_(new aura::Window(this))), | 217 ALLOW_THIS_IN_INITIALIZER_LIST(window_(new aura::Window(this))), |
218 in_shutdown_(false), | 218 in_shutdown_(false), |
219 is_fullscreen_(false), | 219 is_fullscreen_(false), |
220 popup_parent_host_view_(NULL), | 220 popup_parent_host_view_(NULL), |
221 popup_child_host_view_(NULL), | 221 popup_child_host_view_(NULL), |
222 is_loading_(false), | 222 is_loading_(false), |
223 text_input_type_(ui::TEXT_INPUT_TYPE_NONE), | 223 text_input_type_(ui::TEXT_INPUT_TYPE_NONE), |
224 can_compose_inline_(true), | 224 can_compose_inline_(true), |
225 has_composition_text_(false), | 225 has_composition_text_(false), |
| 226 device_scale_factor_(1.0f), |
226 current_surface_(0), | 227 current_surface_(0), |
227 current_surface_is_protected_(true), | 228 current_surface_is_protected_(true), |
228 current_surface_in_use_by_compositor_(true), | 229 current_surface_in_use_by_compositor_(true), |
229 protection_state_id_(0), | 230 protection_state_id_(0), |
230 surface_route_id_(0), | 231 surface_route_id_(0), |
231 paint_canvas_(NULL), | 232 paint_canvas_(NULL), |
232 synthetic_move_sent_(false), | 233 synthetic_move_sent_(false), |
233 accelerated_compositing_state_changed_(false) { | 234 accelerated_compositing_state_changed_(false) { |
234 host_->SetView(this); | 235 host_->SetView(this); |
235 window_observer_.reset(new WindowObserver(this)); | 236 window_observer_.reset(new WindowObserver(this)); |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
856 } | 857 } |
857 | 858 |
858 // TODO(backer): Drop the |shm_handle| once I remove some unused service side | 859 // TODO(backer): Drop the |shm_handle| once I remove some unused service side |
859 // code. | 860 // code. |
860 void RenderWidgetHostViewAura::AcceleratedSurfaceNew( | 861 void RenderWidgetHostViewAura::AcceleratedSurfaceNew( |
861 int32 width_in_pixel, | 862 int32 width_in_pixel, |
862 int32 height_in_pixel, | 863 int32 height_in_pixel, |
863 uint64 surface_handle) { | 864 uint64 surface_handle) { |
864 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 865 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
865 scoped_refptr<ui::Texture> surface(factory->CreateTransportClient( | 866 scoped_refptr<ui::Texture> surface(factory->CreateTransportClient( |
866 gfx::Size(width_in_pixel, height_in_pixel), surface_handle)); | 867 gfx::Size(width_in_pixel, height_in_pixel), device_scale_factor_, |
| 868 surface_handle)); |
867 if (!surface) { | 869 if (!surface) { |
868 LOG(ERROR) << "Failed to create ImageTransport texture"; | 870 LOG(ERROR) << "Failed to create ImageTransport texture"; |
869 return; | 871 return; |
870 } | 872 } |
871 | 873 |
872 image_transport_clients_[surface_handle] = surface; | 874 image_transport_clients_[surface_handle] = surface; |
873 } | 875 } |
874 | 876 |
875 void RenderWidgetHostViewAura::AcceleratedSurfaceRelease( | 877 void RenderWidgetHostViewAura::AcceleratedSurfaceRelease( |
876 uint64 surface_handle) { | 878 uint64 surface_handle) { |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1279 } else if (aura::Env::GetInstance()->render_white_bg()) { | 1281 } else if (aura::Env::GetInstance()->render_white_bg()) { |
1280 canvas->DrawColor(SK_ColorWHITE); | 1282 canvas->DrawColor(SK_ColorWHITE); |
1281 } | 1283 } |
1282 } | 1284 } |
1283 | 1285 |
1284 void RenderWidgetHostViewAura::OnDeviceScaleFactorChanged( | 1286 void RenderWidgetHostViewAura::OnDeviceScaleFactorChanged( |
1285 float device_scale_factor) { | 1287 float device_scale_factor) { |
1286 if (!host_) | 1288 if (!host_) |
1287 return; | 1289 return; |
1288 | 1290 |
| 1291 device_scale_factor_ = device_scale_factor; |
1289 BackingStoreAura* backing_store = static_cast<BackingStoreAura*>( | 1292 BackingStoreAura* backing_store = static_cast<BackingStoreAura*>( |
1290 host_->GetBackingStore(false)); | 1293 host_->GetBackingStore(false)); |
1291 if (backing_store) // NULL in hardware path. | 1294 if (backing_store) // NULL in hardware path. |
1292 backing_store->ScaleFactorChanged(device_scale_factor); | 1295 backing_store->ScaleFactorChanged(device_scale_factor); |
1293 | 1296 |
1294 host_->SetDeviceScaleFactor(device_scale_factor); | 1297 host_->SetDeviceScaleFactor(device_scale_factor); |
1295 current_cursor_.SetScaleFactor(device_scale_factor); | 1298 current_cursor_.SetScaleFactor(device_scale_factor); |
1296 } | 1299 } |
1297 | 1300 |
1298 void RenderWidgetHostViewAura::OnWindowDestroying() { | 1301 void RenderWidgetHostViewAura::OnWindowDestroying() { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1334 return scoped_refptr<ui::Texture>(); | 1337 return scoped_refptr<ui::Texture>(); |
1335 | 1338 |
1336 ui::Texture* container = it->second; | 1339 ui::Texture* container = it->second; |
1337 DCHECK(container); | 1340 DCHECK(container); |
1338 WebKit::WebGLId texture_id = | 1341 WebKit::WebGLId texture_id = |
1339 gl_helper->CopyTexture(container->texture_id(), container->size()); | 1342 gl_helper->CopyTexture(container->texture_id(), container->size()); |
1340 if (!texture_id) | 1343 if (!texture_id) |
1341 return scoped_refptr<ui::Texture>(); | 1344 return scoped_refptr<ui::Texture>(); |
1342 | 1345 |
1343 return scoped_refptr<ui::Texture>( | 1346 return scoped_refptr<ui::Texture>( |
1344 factory->CreateOwnedTexture(container->size(), texture_id)); | 1347 factory->CreateOwnedTexture( |
| 1348 container->size(), device_scale_factor_, texture_id)); |
1345 } | 1349 } |
1346 | 1350 |
1347 //////////////////////////////////////////////////////////////////////////////// | 1351 //////////////////////////////////////////////////////////////////////////////// |
1348 // RenderWidgetHostViewAura, ui::EventHandler implementation: | 1352 // RenderWidgetHostViewAura, ui::EventHandler implementation: |
1349 | 1353 |
1350 ui::EventResult RenderWidgetHostViewAura::OnKeyEvent(ui::KeyEvent* event) { | 1354 ui::EventResult RenderWidgetHostViewAura::OnKeyEvent(ui::KeyEvent* event) { |
1351 TRACE_EVENT0("browser", "RenderWidgetHostViewAura::OnKeyEvent"); | 1355 TRACE_EVENT0("browser", "RenderWidgetHostViewAura::OnKeyEvent"); |
1352 if (popup_child_host_view_ && popup_child_host_view_->NeedsInputGrab() && | 1356 if (popup_child_host_view_ && popup_child_host_view_->NeedsInputGrab() && |
1353 popup_child_host_view_->OnKeyEvent(event)) | 1357 popup_child_host_view_->OnKeyEvent(event)) |
1354 return ui::ER_HANDLED; | 1358 return ui::ER_HANDLED; |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1791 RenderWidgetHost* widget) { | 1795 RenderWidgetHost* widget) { |
1792 return new RenderWidgetHostViewAura(widget); | 1796 return new RenderWidgetHostViewAura(widget); |
1793 } | 1797 } |
1794 | 1798 |
1795 // static | 1799 // static |
1796 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { | 1800 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { |
1797 GetScreenInfoForWindow(results, NULL); | 1801 GetScreenInfoForWindow(results, NULL); |
1798 } | 1802 } |
1799 | 1803 |
1800 } // namespace content | 1804 } // namespace content |
OLD | NEW |