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

Side by Side Diff: content/browser/android/content_view_core_impl.h

Issue 236193013: Android: Consolidate and simplify VSync logic (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 #ifndef CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_ 5 #ifndef CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_
6 #define CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_ 6 #define CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 jobject retained_object_set); 188 jobject retained_object_set);
189 void RemoveJavascriptInterface(JNIEnv* env, jobject obj, jstring name); 189 void RemoveJavascriptInterface(JNIEnv* env, jobject obj, jstring name);
190 int GetNavigationHistory(JNIEnv* env, jobject obj, jobject history); 190 int GetNavigationHistory(JNIEnv* env, jobject obj, jobject history);
191 void GetDirectedNavigationHistory(JNIEnv* env, 191 void GetDirectedNavigationHistory(JNIEnv* env,
192 jobject obj, 192 jobject obj,
193 jobject history, 193 jobject history,
194 jboolean is_forward, 194 jboolean is_forward,
195 jint max_entries); 195 jint max_entries);
196 base::android::ScopedJavaLocalRef<jstring> 196 base::android::ScopedJavaLocalRef<jstring>
197 GetOriginalUrlForActiveNavigationEntry(JNIEnv* env, jobject obj); 197 GetOriginalUrlForActiveNavigationEntry(JNIEnv* env, jobject obj);
198 void UpdateVSyncParameters(JNIEnv* env, jobject obj, jlong timebase_micros,
199 jlong interval_micros);
200 void OnVSync(JNIEnv* env, jobject /* obj */, jlong frame_time_micros);
201 jboolean OnAnimate(JNIEnv* env, jobject /* obj */, jlong frame_time_micros);
202 void WasResized(JNIEnv* env, jobject obj); 198 void WasResized(JNIEnv* env, jobject obj);
203 jboolean IsRenderWidgetHostViewReady(JNIEnv* env, jobject obj); 199 jboolean IsRenderWidgetHostViewReady(JNIEnv* env, jobject obj);
204 void ExitFullscreen(JNIEnv* env, jobject obj); 200 void ExitFullscreen(JNIEnv* env, jobject obj);
205 void UpdateTopControlsState(JNIEnv* env, 201 void UpdateTopControlsState(JNIEnv* env,
206 jobject obj, 202 jobject obj,
207 bool enable_hiding, 203 bool enable_hiding,
208 bool enable_showing, 204 bool enable_showing,
209 bool animate); 205 bool animate);
210 void ShowImeIfNeeded(JNIEnv* env, jobject obj); 206 void ShowImeIfNeeded(JNIEnv* env, jobject obj);
211 207
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 // Methods called from native code 297 // Methods called from native code
302 // -------------------------------------------------------------------------- 298 // --------------------------------------------------------------------------
303 299
304 gfx::Size GetPhysicalBackingSize() const; 300 gfx::Size GetPhysicalBackingSize() const;
305 gfx::Size GetViewportSizeDip() const; 301 gfx::Size GetViewportSizeDip() const;
306 gfx::Size GetViewportSizeOffsetDip() const; 302 gfx::Size GetViewportSizeOffsetDip() const;
307 float GetOverdrawBottomHeightDip() const; 303 float GetOverdrawBottomHeightDip() const;
308 304
309 void AttachLayer(scoped_refptr<cc::Layer> layer); 305 void AttachLayer(scoped_refptr<cc::Layer> layer);
310 void RemoveLayer(scoped_refptr<cc::Layer> layer); 306 void RemoveLayer(scoped_refptr<cc::Layer> layer);
311 void AddBeginFrameSubscriber();
312 void RemoveBeginFrameSubscriber();
313 void SetNeedsAnimate();
314 307
315 private: 308 private:
316 class ContentViewUserData; 309 class ContentViewUserData;
317 310
318 friend class ContentViewUserData; 311 friend class ContentViewUserData;
319 virtual ~ContentViewCoreImpl(); 312 virtual ~ContentViewCoreImpl();
320 313
321 // NotificationObserver implementation. 314 // NotificationObserver implementation.
322 virtual void Observe(int type, 315 virtual void Observe(int type,
323 const NotificationSource& source, 316 const NotificationSource& source,
324 const NotificationDetails& details) OVERRIDE; 317 const NotificationDetails& details) OVERRIDE;
325 318
326 // WebContentsObserver implementation. 319 // WebContentsObserver implementation.
327 virtual void RenderViewReady() OVERRIDE; 320 virtual void RenderViewReady() OVERRIDE;
328 virtual void WebContentsDestroyed(WebContents* web_contents) OVERRIDE; 321 virtual void WebContentsDestroyed(WebContents* web_contents) OVERRIDE;
329 322
330 // -------------------------------------------------------------------------- 323 // --------------------------------------------------------------------------
331 // Other private methods and data 324 // Other private methods and data
332 // -------------------------------------------------------------------------- 325 // --------------------------------------------------------------------------
333 326
334 void InitWebContents(); 327 void InitWebContents();
335 328
336 RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid(); 329 RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid();
337 330
338 blink::WebGestureEvent MakeGestureEvent( 331 blink::WebGestureEvent MakeGestureEvent(
339 blink::WebInputEvent::Type type, int64 time_ms, float x, float y) const; 332 blink::WebInputEvent::Type type, int64 time_ms, float x, float y) const;
340 333
341 void SendBeginFrame(base::TimeTicks frame_time);
342
343 gfx::Size GetViewportSizePix() const; 334 gfx::Size GetViewportSizePix() const;
344 gfx::Size GetViewportSizeOffsetPix() const; 335 gfx::Size GetViewportSizeOffsetPix() const;
345 336
346 void DeleteScaledSnapshotTexture(); 337 void DeleteScaledSnapshotTexture();
347 338
348 bool OnMotionEvent(const ui::MotionEvent& event); 339 bool OnMotionEvent(const ui::MotionEvent& event);
349 void SendGestureEvent(const blink::WebGestureEvent& event); 340 void SendGestureEvent(const blink::WebGestureEvent& event);
350 341
351 // Update focus state of the RenderWidgetHostView. 342 // Update focus state of the RenderWidgetHostView.
352 void SetFocusInternal(bool focused); 343 void SetFocusInternal(bool focused);
(...skipping 11 matching lines...) Expand all
364 // Reference to the current WebContents used to determine how and what to 355 // Reference to the current WebContents used to determine how and what to
365 // display in the ContentViewCore. 356 // display in the ContentViewCore.
366 WebContentsImpl* web_contents_; 357 WebContentsImpl* web_contents_;
367 358
368 // A compositor layer containing any layer that should be shown. 359 // A compositor layer containing any layer that should be shown.
369 scoped_refptr<cc::Layer> root_layer_; 360 scoped_refptr<cc::Layer> root_layer_;
370 361
371 // Device scale factor. 362 // Device scale factor.
372 float dpi_scale_; 363 float dpi_scale_;
373 364
374 // Variables used to keep track of frame timestamps and deadlines.
375 base::TimeDelta vsync_interval_;
376 base::TimeDelta expected_browser_composite_time_;
377
378 // The Android view that can be used to add and remove decoration layers 365 // The Android view that can be used to add and remove decoration layers
379 // like AutofillPopup. 366 // like AutofillPopup.
380 ui::ViewAndroid* view_android_; 367 ui::ViewAndroid* view_android_;
381 368
382 // The owning window that has a hold of main application activity. 369 // The owning window that has a hold of main application activity.
383 ui::WindowAndroid* window_android_; 370 ui::WindowAndroid* window_android_;
384 371
385 // The cache of device's current orientation set from Java side, this value 372 // The cache of device's current orientation set from Java side, this value
386 // will be sent to Renderer once it is ready. 373 // will be sent to Renderer once it is ready.
387 int device_orientation_; 374 int device_orientation_;
388 375
389 bool geolocation_needs_pause_; 376 bool geolocation_needs_pause_;
390 377
391 DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl); 378 DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl);
392 }; 379 };
393 380
394 bool RegisterContentViewCore(JNIEnv* env); 381 bool RegisterContentViewCore(JNIEnv* env);
395 382
396 } // namespace content 383 } // namespace content
397 384
398 #endif // CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_ 385 #endif // CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698