Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 373903003: Fix viewport computation in Mac UC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.cc ('k') | content/common/cc_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.cc ('k') | content/common/cc_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698