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

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: Created 6 years, 8 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 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 jobject retained_object_set); 196 jobject retained_object_set);
197 void RemoveJavascriptInterface(JNIEnv* env, jobject obj, jstring name); 197 void RemoveJavascriptInterface(JNIEnv* env, jobject obj, jstring name);
198 int GetNavigationHistory(JNIEnv* env, jobject obj, jobject history); 198 int GetNavigationHistory(JNIEnv* env, jobject obj, jobject history);
199 void GetDirectedNavigationHistory(JNIEnv* env, 199 void GetDirectedNavigationHistory(JNIEnv* env,
200 jobject obj, 200 jobject obj,
201 jobject history, 201 jobject history,
202 jboolean is_forward, 202 jboolean is_forward,
203 jint max_entries); 203 jint max_entries);
204 base::android::ScopedJavaLocalRef<jstring> 204 base::android::ScopedJavaLocalRef<jstring>
205 GetOriginalUrlForActiveNavigationEntry(JNIEnv* env, jobject obj); 205 GetOriginalUrlForActiveNavigationEntry(JNIEnv* env, jobject obj);
206 void UpdateVSyncParameters(JNIEnv* env, jobject obj, jlong timebase_micros,
207 jlong interval_micros);
208 void OnVSync(JNIEnv* env, jobject /* obj */, jlong frame_time_micros);
209 jboolean OnAnimate(JNIEnv* env, jobject /* obj */, jlong frame_time_micros);
210 void WasResized(JNIEnv* env, jobject obj); 206 void WasResized(JNIEnv* env, jobject obj);
211 jboolean IsRenderWidgetHostViewReady(JNIEnv* env, jobject obj); 207 jboolean IsRenderWidgetHostViewReady(JNIEnv* env, jobject obj);
212 void ExitFullscreen(JNIEnv* env, jobject obj); 208 void ExitFullscreen(JNIEnv* env, jobject obj);
213 void UpdateTopControlsState(JNIEnv* env, 209 void UpdateTopControlsState(JNIEnv* env,
214 jobject obj, 210 jobject obj,
215 bool enable_hiding, 211 bool enable_hiding,
216 bool enable_showing, 212 bool enable_showing,
217 bool animate); 213 bool animate);
218 void ShowImeIfNeeded(JNIEnv* env, jobject obj); 214 void ShowImeIfNeeded(JNIEnv* env, jobject obj);
219 215
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 // Methods called from native code 303 // Methods called from native code
308 // -------------------------------------------------------------------------- 304 // --------------------------------------------------------------------------
309 305
310 gfx::Size GetPhysicalBackingSize() const; 306 gfx::Size GetPhysicalBackingSize() const;
311 gfx::Size GetViewportSizeDip() const; 307 gfx::Size GetViewportSizeDip() const;
312 gfx::Size GetViewportSizeOffsetDip() const; 308 gfx::Size GetViewportSizeOffsetDip() const;
313 float GetOverdrawBottomHeightDip() const; 309 float GetOverdrawBottomHeightDip() const;
314 310
315 void AttachLayer(scoped_refptr<cc::Layer> layer); 311 void AttachLayer(scoped_refptr<cc::Layer> layer);
316 void RemoveLayer(scoped_refptr<cc::Layer> layer); 312 void RemoveLayer(scoped_refptr<cc::Layer> layer);
317 void AddBeginFrameSubscriber();
318 void RemoveBeginFrameSubscriber();
319 void SetNeedsAnimate();
320 313
321 private: 314 private:
322 class ContentViewUserData; 315 class ContentViewUserData;
323 316
324 friend class ContentViewUserData; 317 friend class ContentViewUserData;
325 virtual ~ContentViewCoreImpl(); 318 virtual ~ContentViewCoreImpl();
326 319
327 // NotificationObserver implementation. 320 // NotificationObserver implementation.
328 virtual void Observe(int type, 321 virtual void Observe(int type,
329 const NotificationSource& source, 322 const NotificationSource& source,
(...skipping 10 matching lines...) Expand all
340 // Other private methods and data 333 // Other private methods and data
341 // -------------------------------------------------------------------------- 334 // --------------------------------------------------------------------------
342 335
343 void InitWebContents(); 336 void InitWebContents();
344 337
345 RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid(); 338 RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid();
346 339
347 blink::WebGestureEvent MakeGestureEvent( 340 blink::WebGestureEvent MakeGestureEvent(
348 blink::WebInputEvent::Type type, int64 time_ms, float x, float y) const; 341 blink::WebInputEvent::Type type, int64 time_ms, float x, float y) const;
349 342
350 void SendBeginFrame(base::TimeTicks frame_time);
351
352 gfx::Size GetViewportSizePix() const; 343 gfx::Size GetViewportSizePix() const;
353 gfx::Size GetViewportSizeOffsetPix() const; 344 gfx::Size GetViewportSizeOffsetPix() const;
354 345
355 void DeleteScaledSnapshotTexture(); 346 void DeleteScaledSnapshotTexture();
356 347
357 bool OnMotionEvent(const ui::MotionEvent& event); 348 bool OnMotionEvent(const ui::MotionEvent& event);
358 void SendGestureEvent(const blink::WebGestureEvent& event); 349 void SendGestureEvent(const blink::WebGestureEvent& event);
359 350
360 // Update focus state of the RenderWidgetHostView. 351 // Update focus state of the RenderWidgetHostView.
361 void SetFocusInternal(bool focused); 352 void SetFocusInternal(bool focused);
(...skipping 15 matching lines...) Expand all
377 // Reference to the current WebContents used to determine how and what to 368 // Reference to the current WebContents used to determine how and what to
378 // display in the ContentViewCore. 369 // display in the ContentViewCore.
379 WebContentsImpl* web_contents_; 370 WebContentsImpl* web_contents_;
380 371
381 // A compositor layer containing any layer that should be shown. 372 // A compositor layer containing any layer that should be shown.
382 scoped_refptr<cc::Layer> root_layer_; 373 scoped_refptr<cc::Layer> root_layer_;
383 374
384 // Device scale factor. 375 // Device scale factor.
385 float dpi_scale_; 376 float dpi_scale_;
386 377
387 // Variables used to keep track of frame timestamps and deadlines.
388 base::TimeDelta vsync_interval_;
389 base::TimeDelta expected_browser_composite_time_;
390
391 // The Android view that can be used to add and remove decoration layers 378 // The Android view that can be used to add and remove decoration layers
392 // like AutofillPopup. 379 // like AutofillPopup.
393 ui::ViewAndroid* view_android_; 380 ui::ViewAndroid* view_android_;
394 381
395 // The owning window that has a hold of main application activity. 382 // The owning window that has a hold of main application activity.
396 ui::WindowAndroid* window_android_; 383 ui::WindowAndroid* window_android_;
397 384
398 // Provides gesture synthesis given a stream of touch events (derived from 385 // Provides gesture synthesis given a stream of touch events (derived from
399 // Android MotionEvent's) and touch event acks. 386 // Android MotionEvent's) and touch event acks.
400 ui::FilteredGestureProvider gesture_provider_; 387 ui::FilteredGestureProvider gesture_provider_;
401 388
402 // The cache of device's current orientation set from Java side, this value 389 // The cache of device's current orientation set from Java side, this value
403 // will be sent to Renderer once it is ready. 390 // will be sent to Renderer once it is ready.
404 int device_orientation_; 391 int device_orientation_;
405 392
406 bool geolocation_needs_pause_; 393 bool geolocation_needs_pause_;
407 394
408 DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl); 395 DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl);
409 }; 396 };
410 397
411 bool RegisterContentViewCore(JNIEnv* env); 398 bool RegisterContentViewCore(JNIEnv* env);
412 399
413 } // namespace content 400 } // namespace content
414 401
415 #endif // CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_ 402 #endif // CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698