| 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_android.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_android.h" |
| 6 | 6 |
| 7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 | 120 |
| 121 OverscrollGlow::DisplayParameters CreateOverscrollDisplayParameters( | 121 OverscrollGlow::DisplayParameters CreateOverscrollDisplayParameters( |
| 122 const cc::CompositorFrameMetadata& frame_metadata) { | 122 const cc::CompositorFrameMetadata& frame_metadata) { |
| 123 const float scale_factor = | 123 const float scale_factor = |
| 124 frame_metadata.page_scale_factor * frame_metadata.device_scale_factor; | 124 frame_metadata.page_scale_factor * frame_metadata.device_scale_factor; |
| 125 | 125 |
| 126 // Compute the size and offsets for each edge, where each effect is sized to | 126 // Compute the size and offsets for each edge, where each effect is sized to |
| 127 // the viewport and offset by the distance of each viewport edge to the | 127 // the viewport and offset by the distance of each viewport edge to the |
| 128 // respective content edge. | 128 // respective content edge. |
| 129 OverscrollGlow::DisplayParameters params; | 129 OverscrollGlow::DisplayParameters params; |
| 130 params.size = gfx::ScaleSize(frame_metadata.viewport_size, scale_factor); | 130 params.size = gfx::ScaleSize( |
| 131 frame_metadata.scrollable_viewport_size, scale_factor); |
| 131 params.edge_offsets[EdgeEffect::EDGE_TOP] = | 132 params.edge_offsets[EdgeEffect::EDGE_TOP] = |
| 132 -frame_metadata.root_scroll_offset.y() * scale_factor; | 133 -frame_metadata.root_scroll_offset.y() * scale_factor; |
| 133 params.edge_offsets[EdgeEffect::EDGE_LEFT] = | 134 params.edge_offsets[EdgeEffect::EDGE_LEFT] = |
| 134 -frame_metadata.root_scroll_offset.x() * scale_factor; | 135 -frame_metadata.root_scroll_offset.x() * scale_factor; |
| 135 params.edge_offsets[EdgeEffect::EDGE_BOTTOM] = | 136 params.edge_offsets[EdgeEffect::EDGE_BOTTOM] = |
| 136 (frame_metadata.root_layer_size.height() - | 137 (frame_metadata.root_layer_size.height() - |
| 137 frame_metadata.root_scroll_offset.y() - | 138 frame_metadata.root_scroll_offset.y() - |
| 138 frame_metadata.viewport_size.height()) * scale_factor; | 139 frame_metadata.scrollable_viewport_size.height()) * scale_factor; |
| 139 params.edge_offsets[EdgeEffect::EDGE_RIGHT] = | 140 params.edge_offsets[EdgeEffect::EDGE_RIGHT] = |
| 140 (frame_metadata.root_layer_size.width() - | 141 (frame_metadata.root_layer_size.width() - |
| 141 frame_metadata.root_scroll_offset.x() - | 142 frame_metadata.root_scroll_offset.x() - |
| 142 frame_metadata.viewport_size.width()) * scale_factor; | 143 frame_metadata.scrollable_viewport_size.width()) * scale_factor; |
| 143 params.device_scale_factor = frame_metadata.device_scale_factor; | 144 params.device_scale_factor = frame_metadata.device_scale_factor; |
| 144 | 145 |
| 145 return params; | 146 return params; |
| 146 } | 147 } |
| 147 | 148 |
| 148 ui::GestureProvider::Config CreateGestureProviderConfig() { | 149 ui::GestureProvider::Config CreateGestureProviderConfig() { |
| 149 ui::GestureProvider::Config config = ui::DefaultGestureProviderConfig(); | 150 ui::GestureProvider::Config config = ui::DefaultGestureProviderConfig(); |
| 150 config.disable_click_delay = | 151 config.disable_click_delay = |
| 151 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableClickDelay); | 152 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableClickDelay); |
| 152 return config; | 153 return config; |
| 153 } | 154 } |
| 154 | 155 |
| 155 bool HasFixedPageScale(const cc::CompositorFrameMetadata& frame_metadata) { | 156 bool HasFixedPageScale(const cc::CompositorFrameMetadata& frame_metadata) { |
| 156 return frame_metadata.min_page_scale_factor == | 157 return frame_metadata.min_page_scale_factor == |
| 157 frame_metadata.max_page_scale_factor; | 158 frame_metadata.max_page_scale_factor; |
| 158 } | 159 } |
| 159 | 160 |
| 160 bool HasMobileViewport(const cc::CompositorFrameMetadata& frame_metadata) { | 161 bool HasMobileViewport(const cc::CompositorFrameMetadata& frame_metadata) { |
| 161 float window_width_dip = | 162 float window_width_dip = |
| 162 frame_metadata.page_scale_factor * frame_metadata.viewport_size.width(); | 163 frame_metadata.page_scale_factor * |
| 164 frame_metadata.scrollable_viewport_size.width(); |
| 163 float content_width_css = frame_metadata.root_layer_size.width(); | 165 float content_width_css = frame_metadata.root_layer_size.width(); |
| 164 return content_width_css <= window_width_dip + kMobileViewportWidthEpsilon; | 166 return content_width_css <= window_width_dip + kMobileViewportWidthEpsilon; |
| 165 } | 167 } |
| 166 | 168 |
| 167 } // anonymous namespace | 169 } // anonymous namespace |
| 168 | 170 |
| 169 RenderWidgetHostViewAndroid::LastFrameInfo::LastFrameInfo( | 171 RenderWidgetHostViewAndroid::LastFrameInfo::LastFrameInfo( |
| 170 uint32 output_id, | 172 uint32 output_id, |
| 171 scoped_ptr<cc::CompositorFrame> output_frame) | 173 scoped_ptr<cc::CompositorFrame> output_frame) |
| 172 : output_surface_id(output_id), frame(output_frame.Pass()) {} | 174 : output_surface_id(output_id), frame(output_frame.Pass()) {} |
| (...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 991 | 993 |
| 992 if (!content_view_core_) | 994 if (!content_view_core_) |
| 993 return; | 995 return; |
| 994 // All offsets and sizes are in CSS pixels. | 996 // All offsets and sizes are in CSS pixels. |
| 995 content_view_core_->UpdateFrameInfo( | 997 content_view_core_->UpdateFrameInfo( |
| 996 frame_metadata.root_scroll_offset, | 998 frame_metadata.root_scroll_offset, |
| 997 frame_metadata.page_scale_factor, | 999 frame_metadata.page_scale_factor, |
| 998 gfx::Vector2dF(frame_metadata.min_page_scale_factor, | 1000 gfx::Vector2dF(frame_metadata.min_page_scale_factor, |
| 999 frame_metadata.max_page_scale_factor), | 1001 frame_metadata.max_page_scale_factor), |
| 1000 frame_metadata.root_layer_size, | 1002 frame_metadata.root_layer_size, |
| 1001 frame_metadata.viewport_size, | 1003 frame_metadata.scrollable_viewport_size, |
| 1002 frame_metadata.location_bar_offset, | 1004 frame_metadata.location_bar_offset, |
| 1003 frame_metadata.location_bar_content_translation, | 1005 frame_metadata.location_bar_content_translation, |
| 1004 frame_metadata.overdraw_bottom_height); | 1006 frame_metadata.overdraw_bottom_height); |
| 1005 #if defined(VIDEO_HOLE) | 1007 #if defined(VIDEO_HOLE) |
| 1006 if (host_ && host_->IsRenderView()) { | 1008 if (host_ && host_->IsRenderView()) { |
| 1007 RenderViewHostImpl* rvhi = static_cast<RenderViewHostImpl*>( | 1009 RenderViewHostImpl* rvhi = static_cast<RenderViewHostImpl*>( |
| 1008 RenderViewHost::From(host_)); | 1010 RenderViewHost::From(host_)); |
| 1009 rvhi->media_web_contents_observer()->OnFrameInfoUpdated(); | 1011 rvhi->media_web_contents_observer()->OnFrameInfoUpdated(); |
| 1010 } | 1012 } |
| 1011 #endif // defined(VIDEO_HOLE) | 1013 #endif // defined(VIDEO_HOLE) |
| (...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1480 results->orientationAngle = display.RotationAsDegree(); | 1482 results->orientationAngle = display.RotationAsDegree(); |
| 1481 results->orientationType = | 1483 results->orientationType = |
| 1482 RenderWidgetHostViewBase::GetOrientationTypeForMobile(display); | 1484 RenderWidgetHostViewBase::GetOrientationTypeForMobile(display); |
| 1483 gfx::DeviceDisplayInfo info; | 1485 gfx::DeviceDisplayInfo info; |
| 1484 results->depth = info.GetBitsPerPixel(); | 1486 results->depth = info.GetBitsPerPixel(); |
| 1485 results->depthPerComponent = info.GetBitsPerComponent(); | 1487 results->depthPerComponent = info.GetBitsPerComponent(); |
| 1486 results->isMonochrome = (results->depthPerComponent == 0); | 1488 results->isMonochrome = (results->depthPerComponent == 0); |
| 1487 } | 1489 } |
| 1488 | 1490 |
| 1489 } // namespace content | 1491 } // namespace content |
| OLD | NEW |