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

Side by Side Diff: android_webview/browser/in_process_view_renderer.h

Issue 23533051: [android_webview] Use a fraction to calculate scroll offset. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert changes from previous patch set as they break AwSettings tests Created 7 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef ANDROID_WEBVIEW_BROWSER_IN_PROCESS_VIEW_RENDERER_H_ 5 #ifndef ANDROID_WEBVIEW_BROWSER_IN_PROCESS_VIEW_RENDERER_H_
6 #define ANDROID_WEBVIEW_BROWSER_IN_PROCESS_VIEW_RENDERER_H_ 6 #define ANDROID_WEBVIEW_BROWSER_IN_PROCESS_VIEW_RENDERER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "android_webview/browser/browser_view_renderer.h" 10 #include "android_webview/browser/browser_view_renderer.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 virtual void DrawGL(AwDrawGLInfo* draw_info) OVERRIDE; 58 virtual void DrawGL(AwDrawGLInfo* draw_info) OVERRIDE;
59 virtual void SetGlobalVisibleRect(const gfx::Rect& visible_rect) OVERRIDE; 59 virtual void SetGlobalVisibleRect(const gfx::Rect& visible_rect) OVERRIDE;
60 virtual skia::RefPtr<SkPicture> CapturePicture(int width, 60 virtual skia::RefPtr<SkPicture> CapturePicture(int width,
61 int height) OVERRIDE; 61 int height) OVERRIDE;
62 virtual void EnableOnNewPicture(bool enabled) OVERRIDE; 62 virtual void EnableOnNewPicture(bool enabled) OVERRIDE;
63 virtual void SetIsPaused(bool paused) OVERRIDE; 63 virtual void SetIsPaused(bool paused) OVERRIDE;
64 virtual void SetViewVisibility(bool visible) OVERRIDE; 64 virtual void SetViewVisibility(bool visible) OVERRIDE;
65 virtual void SetWindowVisibility(bool visible) OVERRIDE; 65 virtual void SetWindowVisibility(bool visible) OVERRIDE;
66 virtual void OnSizeChanged(int width, int height) OVERRIDE; 66 virtual void OnSizeChanged(int width, int height) OVERRIDE;
67 virtual void ScrollTo(gfx::Vector2d new_value) OVERRIDE; 67 virtual void ScrollTo(gfx::Vector2d new_value) OVERRIDE;
68 virtual void SetPageScaleFactor(float page_scale_factor) OVERRIDE;
69 virtual void OnAttachedToWindow(int width, int height) OVERRIDE; 68 virtual void OnAttachedToWindow(int width, int height) OVERRIDE;
70 virtual void OnDetachedFromWindow() OVERRIDE; 69 virtual void OnDetachedFromWindow() OVERRIDE;
71 virtual void SetDipScale(float dip_scale) OVERRIDE; 70 virtual void SetDipScale(float dip_scale) OVERRIDE;
72 virtual bool IsAttachedToWindow() OVERRIDE; 71 virtual bool IsAttachedToWindow() OVERRIDE;
73 virtual bool IsVisible() OVERRIDE; 72 virtual bool IsVisible() OVERRIDE;
74 virtual gfx::Rect GetScreenRect() OVERRIDE; 73 virtual gfx::Rect GetScreenRect() OVERRIDE;
75 74
76 // SynchronousCompositorClient overrides 75 // SynchronousCompositorClient overrides
77 virtual void DidInitializeCompositor( 76 virtual void DidInitializeCompositor(
78 content::SynchronousCompositor* compositor) OVERRIDE; 77 content::SynchronousCompositor* compositor) OVERRIDE;
79 virtual void DidDestroyCompositor( 78 virtual void DidDestroyCompositor(
80 content::SynchronousCompositor* compositor) OVERRIDE; 79 content::SynchronousCompositor* compositor) OVERRIDE;
81 virtual void SetContinuousInvalidate(bool invalidate) OVERRIDE; 80 virtual void SetContinuousInvalidate(bool invalidate) OVERRIDE;
81 virtual void SetMaxRootLayerScrollOffset(gfx::Vector2dF new_value) OVERRIDE;
82 virtual void SetTotalRootLayerScrollOffset( 82 virtual void SetTotalRootLayerScrollOffset(
83 gfx::Vector2dF new_value_css) OVERRIDE; 83 gfx::Vector2dF new_value_css) OVERRIDE;
84 virtual void DidUpdateContent() OVERRIDE; 84 virtual void DidUpdateContent() OVERRIDE;
85 virtual gfx::Vector2dF GetTotalRootLayerScrollOffset() OVERRIDE; 85 virtual gfx::Vector2dF GetTotalRootLayerScrollOffset() OVERRIDE;
86 virtual void SetRootLayerPageScaleFactor(float page_scale_factor) OVERRIDE;
87 virtual void SetRootLayerScrollableSize(gfx::SizeF scrollable_size) OVERRIDE;
86 virtual void DidOverscroll(gfx::Vector2dF accumulated_overscroll, 88 virtual void DidOverscroll(gfx::Vector2dF accumulated_overscroll,
87 gfx::Vector2dF latest_overscroll_delta, 89 gfx::Vector2dF latest_overscroll_delta,
88 gfx::Vector2dF current_fling_velocity) OVERRIDE; 90 gfx::Vector2dF current_fling_velocity) OVERRIDE;
89 91
90 void WebContentsGone(); 92 void WebContentsGone();
91 bool RequestProcessGL(); 93 bool RequestProcessGL();
92 94
93 private: 95 private:
94 // Checks the continuous invalidate and block invalidate state, and schedule 96 // Checks the continuous invalidate and block invalidate state, and schedule
95 // invalidates appropriately. If |invalidate_ignore_compositor| is true, 97 // invalidates appropriately. If |invalidate_ignore_compositor| is true,
96 // then send a view invalidate regardless of compositor expectation. 98 // then send a view invalidate regardless of compositor expectation.
97 void EnsureContinuousInvalidation( 99 void EnsureContinuousInvalidation(
98 AwDrawGLInfo* draw_info, 100 AwDrawGLInfo* draw_info,
99 bool invalidate_ignore_compositor); 101 bool invalidate_ignore_compositor);
100 bool DrawSWInternal(jobject java_canvas, 102 bool DrawSWInternal(jobject java_canvas,
101 const gfx::Rect& clip_bounds); 103 const gfx::Rect& clip_bounds);
102 bool CompositeSW(SkCanvas* canvas); 104 bool CompositeSW(SkCanvas* canvas);
103 105
104 void UpdateCachedGlobalVisibleRect(); 106 void UpdateCachedGlobalVisibleRect();
105 107
106 // If we call up view invalidate and OnDraw is not called before a deadline, 108 // If we call up view invalidate and OnDraw is not called before a deadline,
107 // then we keep ticking the SynchronousCompositor so it can make progress. 109 // then we keep ticking the SynchronousCompositor so it can make progress.
108 void FallbackTickFired(); 110 void FallbackTickFired();
109 111
110 void NoLongerExpectsDrawGL(); 112 void NoLongerExpectsDrawGL();
111 113
112 bool InitializeHwDraw(); 114 bool InitializeHwDraw();
113 115
116 gfx::Vector2d max_scroll_offset() const;
117
114 // For debug tracing or logging. Return the string representation of this 118 // For debug tracing or logging. Return the string representation of this
115 // view renderer's state and the |draw_info| if provided. 119 // view renderer's state and the |draw_info| if provided.
116 std::string ToString(AwDrawGLInfo* draw_info) const; 120 std::string ToString(AwDrawGLInfo* draw_info) const;
117 121
118 BrowserViewRenderer::Client* client_; 122 BrowserViewRenderer::Client* client_;
119 BrowserViewRenderer::JavaHelper* java_helper_; 123 BrowserViewRenderer::JavaHelper* java_helper_;
120 content::WebContents* web_contents_; 124 content::WebContents* web_contents_;
121 content::SynchronousCompositor* compositor_; 125 content::SynchronousCompositor* compositor_;
122 126
123 bool is_paused_; 127 bool is_paused_;
(...skipping 29 matching lines...) Expand all
153 // Not to be used between draw calls. 157 // Not to be used between draw calls.
154 EGLContext last_egl_context_; 158 EGLContext last_egl_context_;
155 159
156 // Should always call UpdateCachedGlobalVisibleRect before using this. 160 // Should always call UpdateCachedGlobalVisibleRect before using this.
157 gfx::Rect cached_global_visible_rect_; 161 gfx::Rect cached_global_visible_rect_;
158 162
159 // Last View scroll when View.onDraw() was called. 163 // Last View scroll when View.onDraw() was called.
160 gfx::Vector2d scroll_at_start_of_frame_; 164 gfx::Vector2d scroll_at_start_of_frame_;
161 165
162 // Current scroll offset in CSS pixels. 166 // Current scroll offset in CSS pixels.
163 gfx::Vector2dF scroll_offset_css_; 167 gfx::Vector2dF scroll_offset_dip_;
168
169 // Max scroll offset in CSS pixels.
170 gfx::Vector2dF max_scroll_offset_dip_;
164 171
165 // Used to prevent rounding errors from accumulating enough to generate 172 // Used to prevent rounding errors from accumulating enough to generate
166 // visible skew (especially noticeable when scrolling up and down in the same 173 // visible skew (especially noticeable when scrolling up and down in the same
167 // spot over a period of time). 174 // spot over a period of time).
168 gfx::Vector2dF overscroll_rounding_error_; 175 gfx::Vector2dF overscroll_rounding_error_;
169 176
170 GLViewRendererManager::Key manager_key_; 177 GLViewRendererManager::Key manager_key_;
171 178
172 DISALLOW_COPY_AND_ASSIGN(InProcessViewRenderer); 179 DISALLOW_COPY_AND_ASSIGN(InProcessViewRenderer);
173 }; 180 };
174 181
175 } // namespace android_webview 182 } // namespace android_webview
176 183
177 #endif // ANDROID_WEBVIEW_BROWSER_IN_PROCESS_VIEW_RENDERER_H_ 184 #endif // ANDROID_WEBVIEW_BROWSER_IN_PROCESS_VIEW_RENDERER_H_
OLDNEW
« no previous file with comments | « android_webview/browser/browser_view_renderer.h ('k') | android_webview/browser/in_process_view_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698