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

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

Issue 2122403002: Android: Extend ViewAndroid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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
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 <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 class GinJavaBridgeDispatcherHost; 42 class GinJavaBridgeDispatcherHost;
43 class RenderFrameHost; 43 class RenderFrameHost;
44 class RenderWidgetHostViewAndroid; 44 class RenderWidgetHostViewAndroid;
45 struct MenuItem; 45 struct MenuItem;
46 46
47 class ContentViewCoreImpl : public ContentViewCore, 47 class ContentViewCoreImpl : public ContentViewCore,
48 public ui::OverscrollRefreshHandler, 48 public ui::OverscrollRefreshHandler,
49 public WebContentsObserver { 49 public WebContentsObserver {
50 public: 50 public:
51 static ContentViewCoreImpl* FromWebContents(WebContents* web_contents); 51 static ContentViewCoreImpl* FromWebContents(WebContents* web_contents);
52 ContentViewCoreImpl(JNIEnv* env, 52 ContentViewCoreImpl(
53 jobject obj, 53 JNIEnv* env,
54 WebContents* web_contents, 54 jobject obj,
55 jobject view_android, 55 WebContents* web_contents,
56 ui::WindowAndroid* window_android, 56 const base::android::JavaRef<jobject>& view_android_delegate,
57 jobject java_bridge_retained_object_set); 57 ui::WindowAndroid* window_android,
58 jobject java_bridge_retained_object_set);
58 59
59 // ContentViewCore implementation. 60 // ContentViewCore implementation.
60 base::android::ScopedJavaLocalRef<jobject> GetJavaObject() override; 61 base::android::ScopedJavaLocalRef<jobject> GetJavaObject() override;
61 WebContents* GetWebContents() const override; 62 WebContents* GetWebContents() const override;
62 ui::WindowAndroid* GetWindowAndroid() const override; 63 ui::WindowAndroid* GetWindowAndroid() const override;
63 const scoped_refptr<cc::Layer>& GetLayer() const override; 64 const base::android::JavaRef<jobject>& GetViewAndroidDelegate()
65 const override;
66 cc::Layer* GetLayer() const override;
64 bool ShowPastePopup(int x, int y) override; 67 bool ShowPastePopup(int x, int y) override;
65 float GetDpiScale() const override; 68 float GetDpiScale() const override;
66 void PauseOrResumeGeolocation(bool should_pause) override; 69 void PauseOrResumeGeolocation(bool should_pause) override;
67 void RequestTextSurroundingSelection( 70 void RequestTextSurroundingSelection(
68 int max_length, 71 int max_length,
69 const base::Callback<void(const base::string16& content, 72 const base::Callback<void(const base::string16& content,
70 int start_offset, 73 int start_offset,
71 int end_offset)>& callback) override; 74 int end_offset)>& callback) override;
72 75
73 void AddObserver(ContentViewCoreImplObserver* observer); 76 void AddObserver(ContentViewCoreImplObserver* observer);
74 void RemoveObserver(ContentViewCoreImplObserver* observer); 77 void RemoveObserver(ContentViewCoreImplObserver* observer);
75 78
76 // ViewAndroid implementation
77 base::android::ScopedJavaLocalRef<jobject> GetViewAndroidDelegate()
78 const override;
79
80 // -------------------------------------------------------------------------- 79 // --------------------------------------------------------------------------
81 // Methods called from Java via JNI 80 // Methods called from Java via JNI
82 // -------------------------------------------------------------------------- 81 // --------------------------------------------------------------------------
83 82
84 base::android::ScopedJavaLocalRef<jobject> GetWebContentsAndroid( 83 base::android::ScopedJavaLocalRef<jobject> GetWebContentsAndroid(
85 JNIEnv* env, 84 JNIEnv* env,
86 const base::android::JavaParamRef<jobject>& obj); 85 const base::android::JavaParamRef<jobject>& obj);
87 base::android::ScopedJavaLocalRef<jobject> GetJavaWindowAndroid( 86 base::android::ScopedJavaLocalRef<jobject> GetJavaWindowAndroid(
88 JNIEnv* env, 87 JNIEnv* env,
89 const base::android::JavaParamRef<jobject>& obj); 88 const base::android::JavaParamRef<jobject>& obj);
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 void AttachLayer(scoped_refptr<cc::Layer> layer); 393 void AttachLayer(scoped_refptr<cc::Layer> layer);
395 void RemoveLayer(scoped_refptr<cc::Layer> layer); 394 void RemoveLayer(scoped_refptr<cc::Layer> layer);
396 395
397 void MoveRangeSelectionExtent(const gfx::PointF& extent); 396 void MoveRangeSelectionExtent(const gfx::PointF& extent);
398 397
399 void SelectBetweenCoordinates(const gfx::PointF& base, 398 void SelectBetweenCoordinates(const gfx::PointF& base,
400 const gfx::PointF& extent); 399 const gfx::PointF& extent);
401 400
402 void OnShowUnhandledTapUIIfNeeded(int x_dip, int y_dip); 401 void OnShowUnhandledTapUIIfNeeded(int x_dip, int y_dip);
403 402
403 ui::ViewAndroid* GetViewAndroid();
404
404 private: 405 private:
405 class ContentViewUserData; 406 class ContentViewUserData;
406 407
407 friend class ContentViewUserData; 408 friend class ContentViewUserData;
408 ~ContentViewCoreImpl() override; 409 ~ContentViewCoreImpl() override;
409 410
410 // WebContentsObserver implementation. 411 // WebContentsObserver implementation.
411 void RenderViewReady() override; 412 void RenderViewReady() override;
412 void RenderViewHostChanged(RenderViewHost* old_host, 413 void RenderViewHostChanged(RenderViewHost* old_host,
413 RenderViewHost* new_host) override; 414 RenderViewHost* new_host) override;
(...skipping 27 matching lines...) Expand all
441 void SetFocusInternal(bool focused); 442 void SetFocusInternal(bool focused);
442 443
443 // Send device_orientation_ to renderer. 444 // Send device_orientation_ to renderer.
444 void SendOrientationChangeEventInternal(); 445 void SendOrientationChangeEventInternal();
445 446
446 float dpi_scale() const { return dpi_scale_; } 447 float dpi_scale() const { return dpi_scale_; }
447 448
448 // A weak reference to the Java ContentViewCore object. 449 // A weak reference to the Java ContentViewCore object.
449 JavaObjectWeakGlobalRef java_ref_; 450 JavaObjectWeakGlobalRef java_ref_;
450 451
452 ui::ViewAndroid view_;
453
451 // Reference to the current WebContents used to determine how and what to 454 // Reference to the current WebContents used to determine how and what to
452 // display in the ContentViewCore. 455 // display in the ContentViewCore.
453 WebContentsImpl* web_contents_; 456 WebContentsImpl* web_contents_;
454 457
455 // A compositor layer containing any layer that should be shown.
456 scoped_refptr<cc::Layer> root_layer_;
457
458 // Page scale factor. 458 // Page scale factor.
459 float page_scale_; 459 float page_scale_;
460 460
461 // Java delegate to acquire and release anchor views from the NativeView
462 base::android::ScopedJavaGlobalRef<jobject> view_android_delegate_;
463
464 // Device scale factor. 461 // Device scale factor.
465 const float dpi_scale_; 462 const float dpi_scale_;
466 463
467 // The owning window that has a hold of main application activity.
468 ui::WindowAndroid* window_android_;
469
470 // Observer to notify of lifecyle changes. 464 // Observer to notify of lifecyle changes.
471 base::ObserverList<ContentViewCoreImplObserver> observer_list_; 465 base::ObserverList<ContentViewCoreImplObserver> observer_list_;
472 466
473 // The cache of device's current orientation set from Java side, this value 467 // The cache of device's current orientation set from Java side, this value
474 // will be sent to Renderer once it is ready. 468 // will be sent to Renderer once it is ready.
475 int device_orientation_; 469 int device_orientation_;
476 470
477 bool accessibility_enabled_; 471 bool accessibility_enabled_;
478 472
479 // Manages injecting Java objects. 473 // Manages injecting Java objects.
480 scoped_refptr<GinJavaBridgeDispatcherHost> java_bridge_dispatcher_host_; 474 scoped_refptr<GinJavaBridgeDispatcherHost> java_bridge_dispatcher_host_;
481 475
482 DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl); 476 DISALLOW_COPY_AND_ASSIGN(ContentViewCoreImpl);
483 }; 477 };
484 478
485 bool RegisterContentViewCore(JNIEnv* env); 479 bool RegisterContentViewCore(JNIEnv* env);
486 480
487 } // namespace content 481 } // namespace content
488 482
489 #endif // CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_ 483 #endif // CONTENT_BROWSER_ANDROID_CONTENT_VIEW_CORE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698