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 |