New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 598880 link

Starred by 9 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 13
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug


Sign in to add a comment

Android: Break up ContentViewCore

Project Member Reported by siev...@chromium.org, Mar 29 2016

Issue description

The goal is to eliminate ContentViewCore (the Java class) if possible as well as the native ContentViewCoreImpl class.

Functionality would move into
- ViewAndroid, WindowAndroid
- WebContents or something else on top of that
- other new classes

Some APIs we might also be able to deprecate if there is already another compatible native public content API. (I suspected there are some things for example that could be reached through WebContents[->GetRWH()[->GetView()] from other native entry points, maybe even above content/ such as tab_android.cc.)

This would also move a lot of the event related stuff from the content/ to the ui/layer. For example I'm suggesting that touch events are routed through ViewAndroid into RWHVAndroid (compare to EventTarget which is implemented by aura::Window on desktop).

 
Cc: sadrul@chromium.org tdres...@chromium.org
Some higher level thoughts here:
https://docs.google.com/document/d/13obX4RB5nbX3w7vwLzYFuo9LvHzCobIPCDNv09vbHxI/edit?usp=sharing

I also noticed that ContentViewCore also has a ton of content-layer implementation details. Therefore it probably makes sense to start breaking up some of the Java code into public and private bits in this context.
Blocking: 581521
Blocking: 617313
Owner: siev...@chromium.org
Status: Started (was: Available)
Cc: amaralp@chromium.org

Comment 7 by boliu@chromium.org, Jun 6 2016

A bit confused about what ViewAndroid is in this world.

ViewAndroid represents/is tied to an actual java view? Then does WebContentsViewAndroid need to have its own ViewAndroid?

Why does ContainerView talks to two different ViewAndroids in the diagram?
> A bit confused about what ViewAndroid is in this world.

I'm thinking just the very basic native view bits that receive touch, resize and visibility events.

> ViewAndroid represents/is tied to an actual java view?

It'd be nice to avoid any Java objects. I don't think it's needed since the embedder can just propagate all the needed events to native.


> Then does WebContentsViewAndroid need to have its own ViewAndroid? Why does ContainerView talks to two different ViewAndroids in the diagram?

WebContentsView is supposed to be the persistent container view. It has methods like these:
gfx::NativeView WebContentsViewAndroid::GetContentNativeView()
void WebContentsViewAndroid::GetContainerBounds(gfx::Rect* out)

If RenderWidgetHostView and WebContentsView reference the same native view that's awkward since RWHV and WCV have different lifetime.

I'd like to get rid of all the hacks with RWHVA::SetContentViewCore and the mismatching dynamic reverse lookup (from CVC, see GetRenderWidgetHostView).

Web Contents APIs can go through WebContents and some of the View-specific stuff can be handled by the 'native view' interfaces. With proper semantics for attaching/detaching children that should allow for fixing some of the recurring corner case use-after-free and so forth issues. And also decompose things a bit (even into layers i.e. ui/ vs. content/).



Comment 9 by boliu@chromium.org, Jun 6 2016

I guess the newfangled idea is ViewAndroid can form a tree hierarchy. But then with OOPIF, I guess RWHVs will be a tree hierarchy already.

Didn't answer this one:
> Why does ContainerView talks to two different ViewAndroids in the diagram?

Surely ContainerView and WebContentsViewAndroid should have (effectively) the same lifetime?
Well we can still argue about the details (and note there there will also have to be delegate interfaces the other way), but maybe the most straightforward way to do it is that:
- WindowAndroid owns a ViewAndroid
- WebContentsViewAndroid owns a ViewAndroid
- RWHV owns a ViewAndroid

And then they are all connected top-down. Would that make sense?
Sure. Maybe update the diagram then :p
Blockedon: 617750
Blockedon: 617361
Cc: dtrainor@chromium.org
Blockedon: 620172
Cc: mdjones@chromium.org
Project Member

Comment 17 by bugdroid1@chromium.org, Jun 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3da95ee0a9da46764cc912e3b36f29dd171eab40

commit 3da95ee0a9da46764cc912e3b36f29dd171eab40
Author: jinsukkim <jinsukkim@chromium.org>
Date: Tue Jun 21 22:34:46 2016

Move DownloadControllerAndroid from content/ to chrome/

This change lets embedder to decide how to handle downloads,
and makes content layer more self-contained. Accompanying changes are:

- Now WebContents holds the reference to download delegate via WebContentsUserData.
- ContentViewDownloadDelegate interface was removed
- DownloadControlerAndroid -> DownloadControllerBase
- DownloadControlerAndroidImpl -> DownloadController to
  have the name matched with the Java class

BUG=598880,617313, 617361

Review-Url: https://codereview.chromium.org/2014803002
Cr-Commit-Position: refs/heads/master@{#401127}

[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/ChromeDownloadDelegate.java
[rename] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadController.java
[rename] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadInfo.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadItem.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotifier.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSharedPreferenceEntry.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSnackbarController.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUmaStatsEntry.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/download/SystemDownloadNotifier.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/java_sources.gni
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/javatests/src/org/chromium/chrome/browser/download/ChromeDownloadDelegateTest.java
[rename] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadInfoTest.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadTestBase.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/android/javatests/src/org/chromium/chrome/browser/download/SystemDownloadNotifierTest.java
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/chrome_jni_registrar.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/chrome_download_delegate.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/chrome_download_delegate.h
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/chrome_download_manager_overwrite_infobar_delegate.cc
[add] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/download_controller.cc
[add] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/download_controller.h
[add] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/download_controller_base.cc
[add] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/download_controller_base.h
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/download_manager_service.cc
[add] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/mock_download_controller.cc
[rename] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/download/mock_download_controller.h
[delete] https://crrev.com/3344627c11223d70ecd7338cf819743676044cf8/chrome/browser/android/download/mock_download_controller_android.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/intercept_download_resource_throttle.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/android/intercept_download_resource_throttle.h
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/download/download_resource_throttle.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/download/download_resource_throttle_unittest.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/download/download_ui_controller.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/favicon/content_favicon_driver_browsertest.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.h
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/browser/ui/android/context_menu_helper.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/chrome/chrome_browser.gypi
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/browser/android/browser_jni_registrar.cc
[delete] https://crrev.com/3344627c11223d70ecd7338cf819743676044cf8/content/browser/android/deferred_download_observer.cc
[delete] https://crrev.com/3344627c11223d70ecd7338cf819743676044cf8/content/browser/android/deferred_download_observer.h
[delete] https://crrev.com/3344627c11223d70ecd7338cf819743676044cf8/content/browser/android/download_controller_android_impl.h
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/content_browser.gypi
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/content_jni.gypi
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/public/android/BUILD.gn
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[delete] https://crrev.com/3344627c11223d70ecd7338cf819743676044cf8/content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java
[delete] https://crrev.com/3344627c11223d70ecd7338cf819743676044cf8/content/public/browser/android/download_controller_android.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/public/browser/resource_dispatcher_host_delegate.cc
[modify] https://crrev.com/3da95ee0a9da46764cc912e3b36f29dd171eab40/content/public/browser/resource_dispatcher_host_delegate.h

Blockedon: 418188
Blockedon: 622126
Cc: wychen@chromium.org
Blockedon: 622847
Blockedon: 622864
Blockedon: 626764
Blockedon: 626765
I'm a bit confused regarding the relationship between ViewAndroid/WindowAndroid. The ViewAndroid class would be a completely new class / class hierarchy? (i.e. it wouldn't just be the the Android version of NativeView that just exists to provide access to WindowAndroid). Will ViewAndroid still be able to access WindowAndroid or should we move some information from WindowAndroid to ViewAndroid? (e.g. information about the current display).
In https://codereview.chromium.org/2122403002/ I'm giving RenderWidgetHostViewAndroid its own ViewAndroid.

There will be pointers both ways (up to the parent view and also window android, which I think of as the actual platform window hosting this view, and the other way to so that eventually touch events can trickle down that way).

So any view could ask the window hosting it what the associated display or screen is. But what happens if the view is not attached to one? Use the default display info?
Blockedon: 627246
Project Member

Comment 28 by bugdroid1@chromium.org, Jul 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e6343711183c73be584725b1b0b7f70a60dd2a5b

commit e6343711183c73be584725b1b0b7f70a60dd2a5b
Author: sievers <sievers@chromium.org>
Date: Mon Jul 11 22:35:30 2016

Android: Extend ViewAndroid

This moves cc::Layer ownership from
RenderWidgetHostViewAndroid and ContentViewCore to
ViewAndroid.

Also, ContentViewCore changes from 'is a' ViewAndroid to
'has a' ViewAndroid.

RenderWidgetHostViewAndroid also gets its own ViewAndroid now.
For getting to the WindowAndroid or ViewAndroidDelegate it
will ask its parent.

BUG=624666,598880,581521,626765
TBR=dtrainor@chromium.org
NOTRY=True

Review-Url: https://codereview.chromium.org/2122403002
Cr-Commit-Position: refs/heads/master@{#404740}

[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/chrome/browser/android/bottombar/overlay_panel_content.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/chrome/browser/android/compositor/layer/overlay_panel_layer.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/chrome/browser/android/tab_android.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/content/browser/android/content_view_core_impl.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/content/browser/android/content_view_core_impl.h
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/content/public/browser/android/content_view_core.h
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/ui/android/BUILD.gn
[add] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/ui/android/view_android.cc
[modify] https://crrev.com/e6343711183c73be584725b1b0b7f70a60dd2a5b/ui/android/view_android.h

Cc: sgu...@chromium.org
Cc: gsennton@chromium.org
Re #26, we pass a Context to WindowAndroid at creation and that will then be used to determine the display ID which the WindowAndroid targets. So a ViewAndroid will point to the display that its root window (WindowAndroid) was created with. This means that a root window won't be able to switch between different displays (without further changes).
Blockedon: 627943
Cc: bshe@chromium.org
Owner: boliu@chromium.org
Project Member

Comment 34 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4101e961ba3d80e91683f1c7e28e178831595bcc

commit 4101e961ba3d80e91683f1c7e28e178831595bcc
Author: jinsukkim <jinsukkim@chromium.org>
Date: Tue Nov 01 07:43:44 2016

Have WebContentsViewAndroid own ViewAndroid

This CL transfers the ownership of ViewAndroid associated with Java
content view from CVC to WebContentsViewAndroid, as proposed in
the design https://goo.gl/tQqbZS This is also a step toward removing
references to CVC in RWHVA.

Also simplified an access method to WindowAndroid using the view
hierarchy.

BUG=598880, 626765

Review-Url: https://codereview.chromium.org/2453213003
Cr-Commit-Position: refs/heads/master@{#428960}

[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/content/browser/android/content_view_core_impl.cc
[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/content/browser/android/content_view_core_impl.h
[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/ui/android/view_android.cc
[modify] https://crrev.com/4101e961ba3d80e91683f1c7e28e178831595bcc/ui/android/view_android.h

Blockedon: 662908
Blockedon: 492738
Blockedon: 664339
Blockedon: 665665
Blockedon: 617437
Blockedon: -418188
Blockedon: 727210
Cc: -sgu...@chromium.org
Project Member

Comment 43 by bugdroid1@chromium.org, Oct 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/edaeadc24ef95384705ac7ffa1db5e4db4a7f740

commit edaeadc24ef95384705ac7ffa1db5e4db4a7f740
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Oct 10 04:03:41 2017

Android: Javascript API to WebContents

Moves Javascript API in CVC to WebContents.  All the APIs are
left intact but only changed the exposure surface.

Bug: 598880
Change-Id: I62f3a86e49a6e2aeb2f1a055357505e184186772
Reviewed-on: https://chromium-review.googlesource.com/590630
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507582}
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientFullScreenTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsGarbageCollectionTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/AwJavaBridgeTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/VisualStateTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/util/JavascriptEventObserver.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/javatests/src/org/chromium/android_webview/test/util/VideoTestUtil.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/android_webview/test/shell/src/org/chromium/android_webview/test/AwTestContainerView.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/browser/android/content_view_core.cc
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/browser/android/content_view_core.h
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/browser/android/java/gin_java_bridge_dispatcher_host.h
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/browser/android/java/gin_java_bridge_message_filter.h
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/BUILD.gn
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/java/src/org/chromium/content/browser/JavascriptInterface.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[add] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/java/src/org/chromium/content_public/browser/WebContentsInternals.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBareboneTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBasicsTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeCoercionTest.java
[modify] https://crrev.com/edaeadc24ef95384705ac7ffa1db5e4db4a7f740/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeTestCommon.java

Blockedon: 773200
Project Member

Comment 45 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d10a22e6b64b4856c902b45b603cf2487043b4b

commit 6d10a22e6b64b4856c902b45b603cf2487043b4b
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Nov 16 06:37:06 2017

Add myself to watchlist for changes in ContentViewCore

I'm breaking up the class with a view to making it a non-public,
internal detail one. It will help me monitor the changes being
made in the class.

Bug: 598880
Change-Id: I3671149915c642863f30c2385a747da912fd4421
Reviewed-on: https://chromium-review.googlesource.com/773899
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517004}
[modify] https://crrev.com/6d10a22e6b64b4856c902b45b603cf2487043b4b/WATCHLISTS

Project Member

Comment 46 by bugdroid1@chromium.org, Nov 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63626ce49927c10f9776b313f6d708870a99b488

commit 63626ce49927c10f9776b313f6d708870a99b488
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Nov 23 06:19:56 2017

Migrate zoom/gamepad API

Moves the APIs used by Chrome keyboard handling from ContentViewCore
to other classes.

- GamepadList is accessed directly.
- A new class ZoomController is added to handle zoom in/out/reset by
  converting requests to a series of GestureEventAndroid through
  EventForward/ViewAndroid.

Bug: 598880
Change-Id: I69c421c3b95064042a0fa6ae25754ec84ead6882

TBR=bajones@chromium.org

Change-Id: I69c421c3b95064042a0fa6ae25754ec84ead6882
Reviewed-on: https://chromium-review.googlesource.com/762967
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518864}
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/chrome/android/BUILD.gn
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/chrome/android/java/DEPS
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
[add] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/chrome/android/java/src/org/chromium/chrome/browser/ZoomController.java
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/chrome/android/java_sources.gni
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/BUILD.gn
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/android/content_view_core.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/android/content_view_core.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/public/android/BUILD.gn
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/BUILD.gn
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/event_forwarder.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/event_forwarder.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/java/src/org/chromium/ui/base/EventForwarder.java
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/view_android.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/view_android.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/view_client.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/android/view_client.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/events/BUILD.gn
[add] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/events/android/gesture_event_android.cc
[add] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/events/android/gesture_event_android.h
[rename] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/events/android/gesture_event_type.h
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/events/blink/blink_event_util.cc
[modify] https://crrev.com/63626ce49927c10f9776b313f6d708870a99b488/ui/events/blink/blink_event_util.h

Project Member

Comment 47 by bugdroid1@chromium.org, Nov 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f386e8f4cc527392cf5708cdf30a8fe0cec4399d

commit f386e8f4cc527392cf5708cdf30a8fe0cec4399d
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Nov 24 03:38:46 2017

Turn ContentViewCore to a public interface

Splits ContentViewCore class to a public interface (of a same
name) and its implementation (ContentViewCoreImpl). This split
intends to stop ContentViewCore from growing bigger with new
content APIs. In the end, the interface will be broken up
into more specific, well-defined ones.

Bug: 598880, 786197
Change-Id: I30180b23e7a8e05b6c770dc790686df79b5ac4f2
Reviewed-on: https://chromium-review.googlesource.com/776405
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Stephen Lanham <slan@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519053}
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsActivity.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsService.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/browser/android/content_view_core.cc
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/android/BUILD.gn
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[add] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionHost.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/test/android/BUILD.gn
[add] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/shell/android/java/src/org/chromium/content_shell/Shell.java
[modify] https://crrev.com/f386e8f4cc527392cf5708cdf30a8fe0cec4399d/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java

Cc: -gsennton@chromium.org
Project Member

Comment 49 by bugdroid1@chromium.org, Jan 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6490f89b7e4827ffbad73a46bd8bc1d80277766

commit a6490f89b7e4827ffbad73a46bd8bc1d80277766
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Jan 02 03:53:56 2018

WebContentsUserData-backed JavascriptInjector

Moves API for Javascript object injection from WebContents to
a dedicated interface using the WebContentsUserData. Named
JavascriptInjector to avoid name colission with the annotation
JavascriptInterface.

Bug: 598880
Change-Id: Iedf17c51b1f9135dacd5b83e6b351975850dee8d
Reviewed-on: https://chromium-review.googlesource.com/828000
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Ted Choc (OOO til 2018) <tedchoc@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526437}
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/android_webview/javatests/src/org/chromium/android_webview/test/VisualStateTest.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/android_webview/javatests/src/org/chromium/android_webview/test/util/JavascriptEventObserver.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/chrome/android/javatests/src/org/chromium/chrome/browser/share/ShareMenuActionHandlerTest.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/browser/BUILD.gn
[add] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/browser/android/javascript_injector.cc
[add] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/browser/android/javascript_injector.h
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/BUILD.gn
[add] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/java/src/org/chromium/content/browser/JavascriptInjectorImpl.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[add] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/java/src/org/chromium/content_public/browser/JavascriptInjector.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBareboneTest.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBasicsTest.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeCoercionTest.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeTestCommon.java
[modify] https://crrev.com/a6490f89b7e4827ffbad73a46bd8bc1d80277766/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java

Project Member

Comment 50 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05d9038e765025cca1f8933fe4cf120c038fa2eb

commit 05d9038e765025cca1f8933fe4cf120c038fa2eb
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Jan 19 02:21:37 2018

CVC delegates a11y work to WebContentsAccessibility

Delegates almost all a11y-related tasks in CVC to WebContentsAccessibility,
with a view to decoupling the two classes. The overall changes that moves APIS,
backs WCAX up with WebContentsUserData is https://crrev.com/c/858985.

Overview of the changes made for the move:

- WCAX was created lazily, only when View#getAccessibilityNodeProvider() is requested
from Android. Until then CVC used several flags such as |mNativeAccessibilityAllowed|,
|mIsObscuredByAnotherView| to manage the state and condition under which WCAX gets
created. This CL attempts to have WCAX encapsulate all these variables so it takes
full control over all the a11y-related variables.

For that, WCAX is now eagerly created in |CVC.initialize()|. What's being initialized
lazily is its actual native accessibility activated by calling |nativeInit| in
|WCAX.getAccessibilityNodeProvider()|. Before that, the instance keeps track of
various internal states only. |WCAX.isNativeInit| can be used to tell the current
state about native initialization.

- |WCAX.onNativeInit()| was introduced to perform what had been done in WCAX ctor
to enable full-fledged native a11y. Locale change receiver registration, for instance,
was moved to |LollipopWCAX.onNativeInit|.

- on{AttachedTo,onDetacheFrom}Window in WCAX now takes over what was done in CVC
to update internal state such as adding/removing state change listener.

- |mWebContents| referenced now in WCAX should be in sync with that in CVC.
|CVC.mWebContents| stays valid until its |destroy| is called. Added a new method
|WCAX.resetWebContents| for that. This is to keep the condition used
in |WCAX.getAccessibilityNodeProvider| same as before, where null check against
mWebContents is done.

Bug: 598880
Change-Id: I101592b7b35042032007b4dae928f9fc06938961
Reviewed-on: https://chromium-review.googlesource.com/863082
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530395}
[modify] https://crrev.com/05d9038e765025cca1f8933fe4cf120c038fa2eb/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/05d9038e765025cca1f8933fe4cf120c038fa2eb/content/public/android/java/src/org/chromium/content/browser/accessibility/KitKatWebContentsAccessibility.java
[modify] https://crrev.com/05d9038e765025cca1f8933fe4cf120c038fa2eb/content/public/android/java/src/org/chromium/content/browser/accessibility/LollipopWebContentsAccessibility.java
[modify] https://crrev.com/05d9038e765025cca1f8933fe4cf120c038fa2eb/content/public/android/java/src/org/chromium/content/browser/accessibility/OWebContentsAccessibility.java
[modify] https://crrev.com/05d9038e765025cca1f8933fe4cf120c038fa2eb/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibility.java

Project Member

Comment 51 by bugdroid1@chromium.org, Jan 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/966dffaeaac19d6be352ef1d76a11378faf07ce1

commit 966dffaeaac19d6be352ef1d76a11378faf07ce1
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Jan 24 06:17:23 2018

Remove WindowAndroidProvider

ContentViewCore is the sole implementation of WindowAndroidProvider
passed around for other objects to get the current WindowAndroid from.
This make it hard to decouple ContentViewCore that is being broken up.

This CL removes the interface, and makes use of the existing
interface WindowAndroidChangedObserver to do the same.
TextSuggestionHost is the only class left in this regard, so lets
it keep track of the current WindowAndroid by implementing
the observer interface, and update its popup window accordingly.

Bug: 598880
Change-Id: If756496eeea6eca6d3f7f9b19dec44acb3aa454a
Reviewed-on: https://chromium-review.googlesource.com/879901
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Ryan Landay <rlanday@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531459}
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/BUILD.gn
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/NfcHost.java
[delete] https://crrev.com/54acf91c05d272b62c888ee732cda85ccbf20b95/content/public/android/java/src/org/chromium/content/browser/WindowAndroidProvider.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/input/SpellCheckPopupWindow.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/input/SuggestionsPopupWindow.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionHost.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionsPopupWindow.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
[modify] https://crrev.com/966dffaeaac19d6be352ef1d76a11378faf07ce1/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 52 by bugdroid1@chromium.org, Feb 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c7d4c1759bad921b53edd0d22a557279f69d1507

commit c7d4c1759bad921b53edd0d22a557279f69d1507
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Sat Feb 24 05:28:06 2018

Handle FlingEndAck event through GestureListenerManager

FlingEnd events can be viewed as one of gesture ack events
except it comes from InputRouter. This CL reroutes the flow
for it and the other gesture events to RenderWidgetHostViewAndroid/
GestureListenerManager diretly to match how it is handled in other
platforms.

Bug: 598880
Change-Id: Ie650aa7a24042d55f68cbffe67330007e80c8089
Reviewed-on: https://chromium-review.googlesource.com/934102
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538995}
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/android/content_view_core.cc
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/android/content_view_core.h
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/android/gesture_listener_manager.cc
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/android/gesture_listener_manager.h
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/c7d4c1759bad921b53edd0d22a557279f69d1507/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java

Project Member

Comment 53 by bugdroid1@chromium.org, Feb 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67fc2a14cb39b85ef532170c16b420cb84bd0a04

commit 67fc2a14cb39b85ef532170c16b420cb84bd0a04
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Feb 27 00:20:30 2018

JoystickHandler/SelectionPopupCtrler implements ImeEventObserver

ContentViewCore doesn't need to stand between ImeAdapter and
the above classes to forward events. This CL lets the classes
implement ImeEventObserver to get notified of the event
directly, and disarms ContentViewCore further.

Bug: 598880
Change-Id: Ia67b45f9c297e7cbe5959d6d7bf1292fbbf1bf9b
Reviewed-on: https://chromium-review.googlesource.com/933682
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539335}
[modify] https://crrev.com/67fc2a14cb39b85ef532170c16b420cb84bd0a04/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/67fc2a14cb39b85ef532170c16b420cb84bd0a04/content/public/android/java/src/org/chromium/content/browser/JoystickHandler.java
[modify] https://crrev.com/67fc2a14cb39b85ef532170c16b420cb84bd0a04/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java

Project Member

Comment 54 by bugdroid1@chromium.org, Feb 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63

commit 0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Feb 27 02:33:23 2018

Move getCurrentRendererProcessID to Chrome

The API in ContentViewCore is used by a test in Chrome.
Moving it out to the embedder is probably a better choice
since it can be implemented with public content APIs only.

Bug: 598880

Change-Id: I1e082ca28010bffbecb9c919b054b865f3678e45
Reviewed-on: https://chromium-review.googlesource.com/930603
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539379}
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/chrome/android/javatests/src/org/chromium/chrome/browser/BindingManagerIntegrationTest.java
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/chrome/browser/android/tab_android.cc
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/chrome/browser/android/tab_android.h
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/content/browser/android/content_view_core.cc
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/content/browser/android/content_view_core.h
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/0075f2d5064ed30f4d3f9c6fe2665ead25dc8c63/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 55 by bugdroid1@chromium.org, Feb 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/845a437179fe0a1180b507029acf1272fde27558

commit 845a437179fe0a1180b507029acf1272fde27558
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Feb 27 23:25:43 2018

Removed some unused ContentViewCore APIs/methods

Following APIs ended up having no callsites over time.

- setBackgroundOpaque
- isFullscreenRequiredForOrientationLock

This CL removed them, together with a native method(WasResize)
left unused through refactoring.

Bug: 598880
Change-Id: I34f33751c285c880a4e250dfc3fdd4e92313312e
Reviewed-on: https://chromium-review.googlesource.com/938861
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539577}
[modify] https://crrev.com/845a437179fe0a1180b507029acf1272fde27558/content/browser/android/content_view_core.cc
[modify] https://crrev.com/845a437179fe0a1180b507029acf1272fde27558/content/browser/android/content_view_core.h
[modify] https://crrev.com/845a437179fe0a1180b507029acf1272fde27558/content/browser/screen_orientation/screen_orientation_delegate_android.cc
[modify] https://crrev.com/845a437179fe0a1180b507029acf1272fde27558/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/845a437179fe0a1180b507029acf1272fde27558/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/845a437179fe0a1180b507029acf1272fde27558/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 56 by bugdroid1@chromium.org, Mar 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6e8baf26a359a1665597253c455cb9dbb996fbb

commit a6e8baf26a359a1665597253c455cb9dbb996fbb
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Mar 02 08:27:07 2018

Android: Handle |FilterInputEvent| through GestureListenerManager

InputRouterClient::FilterInputEvent is a gesture event-related
interface alowing filtering before processing.
As https://crrev.com/c/934102 routed InputRouterClient::DidStopFlinging
to GestureListenerManager to consolidate the ack'ing for gesture
events, this CL does the same to the above method for consistency.

This also helps reduce the layering-violating reference to
ContentViewCore from RenderWidgetHostViewAndroid.

Bug: 598880
Change-Id: I8557c8072b81d20b2d454a65478dc10e7294ef37
Reviewed-on: https://chromium-review.googlesource.com/940721
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540472}
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/browser/android/content_view_core.cc
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/browser/android/content_view_core.h
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/browser/android/gesture_listener_manager.cc
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/browser/android/gesture_listener_manager.h
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/a6e8baf26a359a1665597253c455cb9dbb996fbb/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java

Project Member

Comment 57 by bugdroid1@chromium.org, Mar 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4321cf10d23824841e7baadc50ebcb89b345b12

commit b4321cf10d23824841e7baadc50ebcb89b345b12
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Mon Mar 05 00:38:04 2018

Android: Remove ContentViewCore.getIsMobileOptimizedHint

The API was used to collect UMA stat on mobile-friendly pages for
DOM distiller (reader mode) project. It can now be deleted.

Bug: 598880
Change-Id: Ia922743fc6294bd57c7a92d71dc1678ce651c843
Reviewed-on: https://chromium-review.googlesource.com/945348
Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org>
Reviewed-by: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540774}
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/content/browser/android/content_view_core.cc
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/content/browser/android/content_view_core.h
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/b4321cf10d23824841e7baadc50ebcb89b345b12/tools/metrics/histograms/histograms.xml

Project Member

Comment 58 by bugdroid1@chromium.org, Mar 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78627331786b28ab3a3d4885aa80e6b9ec2416a7

commit 78627331786b28ab3a3d4885aa80e6b9ec2416a7
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Mon Mar 05 23:33:39 2018

Scroll events through EventForwarder

This CL is moving the 2 other gesture events (scroll/doubletap)
flow to EventForwarder, and removes the related logic from
ContentViewCore.

Bug: 598880
Change-Id: Ie52de9f5074e7921184d394154c82e20284e057d
Reviewed-on: https://chromium-review.googlesource.com/935601
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540981}
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/browser/android/content_view_core.cc
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/browser/android/content_view_core.h
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/public/android/java/src/org/chromium/content/browser/JoystickHandler.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/ui/android/event_forwarder.cc
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/ui/android/event_forwarder.h
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/ui/android/java/src/org/chromium/ui/base/EventForwarder.java
[modify] https://crrev.com/78627331786b28ab3a3d4885aa80e6b9ec2416a7/ui/events/blink/blink_event_util.cc

Project Member

Comment 59 by bugdroid1@chromium.org, Mar 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f67c1dd84a0a2abf0437bd46f18aecba01c083a1

commit f67c1dd84a0a2abf0437bd46f18aecba01c083a1
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Mar 14 23:59:59 2018

Android: Moved APIs to SelectionPopupController

Moved 2 selection-related APIs from ContentViewCore
to SelectionPopupController:

- preserveSelectionOnNextLossOfFocus
- updateTextSelectionUI

Bug: 598880

Change-Id: I7c944390c2d244902599d7a0c78568e6d512494e
Reviewed-on: https://chromium-review.googlesource.com/956786
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543243}
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanel.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/TabModalPresenter.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/browser/android/content_view_core.cc
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/browser/android/content_view_core.h
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/browser/android/select_popup.cc
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/BUILD.gn
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[add] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content/browser/PopupController.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content/browser/TapDisambiguator.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionHost.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/f67c1dd84a0a2abf0437bd46f18aecba01c083a1/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestSelectionPopupController.java

Project Member

Comment 60 by bugdroid1@chromium.org, Mar 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2

commit 14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Mar 15 23:58:16 2018

Android: Let SelectionPopupController handle clearSelection..

Another case SelectionPopupController gets a native->Java
flow handed over from ContentViewCore. The feature is relevant
to selection controller, which is now is fully capable of
taking care of it without relying on ContentViewCore thanks
to https://crbug.com/c/956786.

Not related, but did some clean up in content_view_core.h
for method declarations left unused.

Bug: 598880
Change-Id: I5010644a67021632b1e2625167e02c3c4ab947d8
Reviewed-on: https://chromium-review.googlesource.com/963155
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543557}
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/browser/android/content_view_core.cc
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/browser/android/content_view_core.h
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/14a6a9bfc22c55aecf4b08079f8abcd32dcc9bc2/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java

Project Member

Comment 61 by bugdroid1@chromium.org, Mar 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98eb457945a3f1018153bc81cc9b907aa0466174

commit 98eb457945a3f1018153bc81cc9b907aa0466174
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Mon Mar 19 07:18:53 2018

Android: Remove API getContext from ContentViewCore

This CL removes the API getContext(), and has all the callsites
either use container view's context (for Chrome) or use
the context directly (WebView). Content layer internally uses
the ContentViewCoreImpl.getContext() which now becomes private.


Bug: 598880
Change-Id: I035454b0eb488646dad5bdaf963d6de1cd29ca86
Reviewed-on: https://chromium-review.googlesource.com/965701
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543984}
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/android_webview/java/src/org/chromium/android_webview/AwAutofillClient.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/chrome/android/javatests/src/org/chromium/chrome/browser/TabTest.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/content/public/android/java/src/org/chromium/content/browser/ContentVideoView.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/98eb457945a3f1018153bc81cc9b907aa0466174/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 62 by bugdroid1@chromium.org, Mar 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c425ee43a6ba594e186e3c4f43b6c09316e9c46

commit 8c425ee43a6ba594e186e3c4f43b6c09316e9c46
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Mar 20 08:34:14 2018

Android: Removes a redundant JNI call

https://codereview.chromium.org/831523005 made the JNI call to get
WebContents from native redundant but it remained untouched. This
CL removes that.

Bug: 598880
Change-Id: I420d65a67a1a36d0d2134fea07ee895e125cd019
Reviewed-on: https://chromium-review.googlesource.com/967628
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544310}
[modify] https://crrev.com/8c425ee43a6ba594e186e3c4f43b6c09316e9c46/content/browser/android/content_view_core.cc
[modify] https://crrev.com/8c425ee43a6ba594e186e3c4f43b6c09316e9c46/content/browser/android/content_view_core.h
[modify] https://crrev.com/8c425ee43a6ba594e186e3c4f43b6c09316e9c46/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java

Project Member

Comment 63 by bugdroid1@chromium.org, Mar 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc391f3a2e708fd40451bba3a978059b15c7fbbd

commit bc391f3a2e708fd40451bba3a978059b15c7fbbd
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Mar 21 00:10:16 2018

Android: RequestUnbufferedDispatch via ViewAndroidDelegate

Checking if Android.view.View.RequestUnbufferedDispatch needs to be
invoked is now done in the native side, and uses ViewAndroidDelegate
to get the view to call the method on.

This is to move the operation out of ContentViewCore.

Bug: 598880
Change-Id: I969e5f2e69e541bf50b9336bca327bb67993076d
Reviewed-on: https://chromium-review.googlesource.com/969801
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544596}
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/content/browser/android/content_feature_list.cc
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/content/browser/android/content_view_core.cc
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/content/browser/android/content_view_core.h
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/content/public/android/java/src/org/chromium/content/browser/ContentFeatureList.java
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/ui/android/view_android.cc
[modify] https://crrev.com/bc391f3a2e708fd40451bba3a978059b15c7fbbd/ui/android/view_android.h

Project Member

Comment 64 by bugdroid1@chromium.org, Mar 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b0346f62fabc05705488b163540cd09784b7e01

commit 3b0346f62fabc05705488b163540cd09784b7e01
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Mar 21 22:23:53 2018

Android: Consolidate scroll status update in GestureListenerManager

The API |isScrollInProgress| is defined in ContentViewCore while
scroll-related state handling is spread across GestureListenerManager
and SelectionPopupController.

This CL tidies it up by moving the API to GestureListenerManager,
and making it the main class that takes care of all the scroll stuff.

Bug: 598880
Change-Id: Ib5abdddd361b93b823465b978aabfe9903d7cf68
Reviewed-on: https://chromium-review.googlesource.com/965863
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544872}
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/content/public/android/java/src/org/chromium/content_public/browser/GestureListenerManager.java
[modify] https://crrev.com/3b0346f62fabc05705488b163540cd09784b7e01/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 65 by bugdroid1@chromium.org, Mar 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f0a3c480479816dc42eaac104498c442444a9f5

commit 9f0a3c480479816dc42eaac104498c442444a9f5
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Mar 22 01:27:46 2018

Android: Factor out SystemCaptionBridge into accessibility/

This CL moves Android system captioning bridge management out
of ContentViewCoreImpl to accessibility/captioning, and lets
WebContentsAccessibility keeps the reference to it. No
behavioral change was made.

Bug: 598880, 727210

Change-Id: I811970ea3654fe8e976ae4000c11e077b14b1f8c
Reviewed-on: https://chromium-review.googlesource.com/970045
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544936}
[modify] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/browser/BUILD.gn
[add] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/browser/accessibility/captioning_controller.cc
[add] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/browser/accessibility/captioning_controller.h
[modify] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/browser/android/content_view_core.cc
[modify] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/browser/android/content_view_core.h
[modify] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/public/android/BUILD.gn
[modify] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
[add] https://crrev.com/9f0a3c480479816dc42eaac104498c442444a9f5/content/public/android/java/src/org/chromium/content/browser/accessibility/captioning/CaptioningController.java

Project Member

Comment 66 by bugdroid1@chromium.org, Mar 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b31b3a7529d1618106bdb7b89c91473368bb1ea3

commit b31b3a7529d1618106bdb7b89c91473368bb1ea3
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Mar 22 14:37:46 2018

Reuse existing constants for Android SDK versions

There are constants for Android SDK versions in build_info.h
so nobody has to declare their own. This changes some duplicated
custom constants that clashed in jumbo builds to use the
global constants.

Bug: 598880
Change-Id: I32bc147729e561130eaaf4feab545bd0cd9714c1
Reviewed-on: https://chromium-review.googlesource.com/975641
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#545069}
[modify] https://crrev.com/b31b3a7529d1618106bdb7b89c91473368bb1ea3/content/browser/android/overscroll_controller_android.cc
[modify] https://crrev.com/b31b3a7529d1618106bdb7b89c91473368bb1ea3/content/browser/web_contents/web_contents_view_android.cc

Project Member

Comment 67 by bugdroid1@chromium.org, Mar 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0912d49f332fcf1a29c89208b851c30c96dbcca

commit b0912d49f332fcf1a29c89208b851c30c96dbcca
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Mar 23 00:59:20 2018

Android: Move post-touchdown event tasks to RWHVA

This CL moves some post-tasks for MotionEvent touch down events
flow from CVC to RWHVA-ImeAdapter/GestureListenerManager where we
already have the access to the objects. The change adds 2 more
JNI (native -> Java) calls per touch down events. I verified that
there is no impact on user interaction.

The motivation is to remove all the dependencies on the native content
view core, except its ownership management by WebContentsViewAndroid.

Bug: 598880
Change-Id: If0a96b90da74049e96932bfe6ec78e7a76431c15
Reviewed-on: https://chromium-review.googlesource.com/974481
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545318}
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/android/content_view_core.cc
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/android/content_view_core.h
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/android/gesture_listener_manager.cc
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/android/gesture_listener_manager.h
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/android/ime_adapter_android.cc
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/android/ime_adapter_android.h
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/b0912d49f332fcf1a29c89208b851c30c96dbcca/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java

Project Member

Comment 68 by bugdroid1@chromium.org, Mar 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/82989b0851d1cb3be2e1ccf1a8e840f35cc0b47e

commit 82989b0851d1cb3be2e1ccf1a8e840f35cc0b47e
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Mar 23 03:19:31 2018

Android: Remove ContentGestureStateListener

ContentGestureStateListener defines the tasks for what content layer
should _always_ do in response to gesture action ack's. Given that
the interface GestureStateListener is mainly for embedder to provide
customized behavior, the tasks to be done within content layer needs
not its own state listener for that.

This CLfolds the tasks into GestureListenerManager, rather than
having CVC define a separate state listener for them.

Bug: 598880
Change-Id: I793b4ee213ebc4f096bd81faf005020c5e3e19f8
Reviewed-on: https://chromium-review.googlesource.com/972682
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545358}
[modify] https://crrev.com/82989b0851d1cb3be2e1ccf1a8e840f35cc0b47e/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/82989b0851d1cb3be2e1ccf1a8e840f35cc0b47e/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java

Project Member

Comment 69 by bugdroid1@chromium.org, Mar 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de6d8810c6e6155c9866be48d24f5ee6de876494

commit de6d8810c6e6155c9866be48d24f5ee6de876494
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Sat Mar 24 00:04:50 2018

Android: Remove API ContentViewCore.getWindowAndroid

The WindowAndroid object for WebContents(or ContentViewCore)
can be obtained through WebContents.getTopLevelNativeWindow.
This CL removes the API in ContentViewCore that returns the
same object. Internally, ContentViewCore uses the cached
value updated via |updateWindowAndroid| instead.

Bug: 598880
Change-Id: I19707db25ba9e7e55e85c1275e27d1c63e5167b4
Reviewed-on: https://chromium-review.googlesource.com/977101
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545639}
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/android_webview/java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/chrome/android/java/src/org/chromium/chrome/browser/infobar/PermissionUpdateInfoBarDelegate.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/browser/android/content_view_core.cc
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/browser/android/content_view_core.h
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/android/java/src/org/chromium/content/browser/NfcHost.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/android/javatests/src/org/chromium/content/browser/ScreenOrientationListenerTest.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/android/javatests/src/org/chromium/content/browser/VSyncPausedTest.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java
[modify] https://crrev.com/de6d8810c6e6155c9866be48d24f5ee6de876494/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 70 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8314c303b3334daf303217b2845542921467375a

commit 8314c303b3334daf303217b2845542921467375a
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Mar 27 03:44:37 2018

Android: Remove an unused API from ContentViewCore

|ContentViewCore.isAttachedToWindow| became unused after a series
of refactoring. This CL removes the interface and implementation.

Bug: 598880
Change-Id: Ic1cbb747b50230e8851143b01524cd75ba156a9b
Reviewed-on: https://chromium-review.googlesource.com/979390
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545997}
[modify] https://crrev.com/8314c303b3334daf303217b2845542921467375a/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/8314c303b3334daf303217b2845542921467375a/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/8314c303b3334daf303217b2845542921467375a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 71 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7

commit bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Mar 27 07:16:50 2018

Android: Remove API onShow/onHide from ContentViewCore

The public API ContentViewCore.on{Show|onHide} simply relays the calls
to WebContents after doing a couple of things which now can be done in
WebContents too. This CL removes the API and rewrites all the callsites
to use WebContents directly instead.

With this change, it becomes much more handy for some callsites to use
cached WebContents rather than always getting it from CVC. Some classes
don't need to keep CVC any longer. For this to work, |WebContents|
reference needs nulling out when CVC.destroy() is called.
|OverlayPanelContent| and |Shell| is updated in this regard.

Bug: 598880
Change-Id: I1e40073c112c2f3fb752e2786b4e42c98f45bf59
Reviewed-on: https://chromium-review.googlesource.com/979743
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Donn Denman <donnd@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546047}
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsService.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsSurfaceHelper.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/android/javatests/src/org/chromium/content/browser/ContentViewLocationTest.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/shell/android/java/src/org/chromium/content_shell/Shell.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/shell/android/linker_test_apk/src/org/chromium/chromium_linker_test_apk/ChromiumLinkerTestActivity.java
[modify] https://crrev.com/bf74e2f136380ea97e7f4b0c2f0a6cad1d5b74a7/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java

Project Member

Comment 72 by bugdroid1@chromium.org, Mar 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d405d7bca430ec212d98060ff486445272e357aa

commit d405d7bca430ec212d98060ff486445272e357aa
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Mar 29 06:45:06 2018

Android: Remove ContentViewWebContentsObserver

What CVC is doing with WebContentsObserver instance concerns
the action after navigation to a new contents. (whether it is
completed or render process is terminated). This CL handles
the task through a native, not Java WebContentsObserver.

There are 3 things involved for the task:
 - hidePopup / clear text selection (SelectionPopupController)
 - reset scroll (GestureListenerManager)
 - hide keyboard / (ImeAdapter)

Used GestureListenerManager to do all 3, just to avoid adding
numerous JNI calls. This is done by adding a new WebContentsObserver
so GLM can listen to the additional events in interest.

Bug: 598880
Change-Id: Ide527c0a594ed780e80522f733de6abd23ab3d6f
Reviewed-on: https://chromium-review.googlesource.com/972701
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546748}
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/browser/android/gesture_listener_manager.cc
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/browser/android/gesture_listener_manager.h
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/public/android/java/src/org/chromium/content/browser/PopupController.java
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java
[modify] https://crrev.com/d405d7bca430ec212d98060ff486445272e357aa/content/public/android/javatests/src/org/chromium/content/browser/VSyncPausedTest.java

Project Member

Comment 73 by bugdroid1@chromium.org, Apr 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf

commit 2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Apr 03 22:13:14 2018

Android: Remove |InternalAccessDelegate.awakenScrollBars|

The method is used for ContentView only. Moved the logic to
ContentView, and deleted the interface from InternalAccessDelegate.

Bug: 598880
Change-Id: Ic07e2545b070e11d5653fd135d7396c65721cf71
Reviewed-on: https://chromium-review.googlesource.com/991620
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547846}
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/android_webview/java/src/org/chromium/android_webview/FullScreenView.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/android_webview/test/shell/src/org/chromium/android_webview/test/AwTestContainerView.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
[modify] https://crrev.com/2677469c76fb3fb0ac02ad2bf911ef4c8a87caaf/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 74 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/028288062e3042fad44f68b114bd484fdb63d378

commit 028288062e3042fad44f68b114bd484fdb63d378
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Apr 12 03:43:27 2018

Android: Native ContentViewCore owns itself

This CL removes all the dependencies on ContentViewCore in native
world. Rather than WebContentsViewAndroid owning it, ContentViewCore
owns and deletes itself by way of a WebContentsObserver notification.
Also removes a few methods that are not in use any more.

Bug: 598880
Change-Id: Ib8bcfdf3cb39332ea3f0f3186c3692ce67d82704
Reviewed-on: https://chromium-review.googlesource.com/999455
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550008}
[modify] https://crrev.com/028288062e3042fad44f68b114bd484fdb63d378/content/browser/android/content_view_core.cc
[modify] https://crrev.com/028288062e3042fad44f68b114bd484fdb63d378/content/browser/android/content_view_core.h
[modify] https://crrev.com/028288062e3042fad44f68b114bd484fdb63d378/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/028288062e3042fad44f68b114bd484fdb63d378/content/browser/web_contents/web_contents_view_android.h

Project Member

Comment 75 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/19a9948d0f699ab1ee84c4c63219d90359b5dcd4

commit 19a9948d0f699ab1ee84c4c63219d90359b5dcd4
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Apr 17 21:25:12 2018

Android: WebContents manages ViewAndroidDelegate

This CL puts the ViewAndroidDelegate in WebContents internal to
makes it accessible using |WebContents.getViewAndroidDelegate|.
It helps replace ContentViewCore with WebContents where CVC is passed
as a way to access WebContents and container view.

The update of container view in VAD is taken care of by embedder
(WebView), so we don't need ContentViewCore API |setContainerView|
any more. It was deleted in this CL.

There are content classes that relied on |setContainerView| to do
some clean-ups (such as hiding popups). Added ViewAndroidDelegate.
ContainerViewObserver for them.

Bug: 598880
Change-Id: Icb824ddefc9707d9ea78cdba55615e47f2d100e7
Reviewed-on: https://chromium-review.googlesource.com/994500
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551479}
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/android_webview/java/src/org/chromium/android_webview/AwViewAndroidDelegate.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/android_webview/java/src/org/chromium/android_webview/AwZoomControls.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/android_webview/java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndroidDelegate.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTest.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionHost.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/javatests/src/org/chromium/content/browser/VideoFullscreenOrientationLockTest.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/test/android/javatests/src/org/chromium/content/browser/test/mock/MockWebContents.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/content/shell/android/java/src/org/chromium/content_shell/ShellViewAndroidDelegate.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java
[modify] https://crrev.com/19a9948d0f699ab1ee84c4c63219d90359b5dcd4/ui/android/view_android.h

Project Member

Comment 76 by bugdroid1@chromium.org, Apr 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/edb21f07fc70e9027c746edd3201443e011a61ed

commit edb21f07fc70e9027c746edd3201443e011a61ed
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Apr 18 06:45:54 2018

Android: Public API for view coordinate info

RenderCoordinates is now a public interface backed by its impl class
within content layer (RenderCoordinatesImpl) and makes some of its methods
accessible by embedders, such as view/viewport dimension and scroll
offset which are necessary for Android container view to work.

Also deleted unused fields/methods, turned some methods to private
for RenderCoordinatesImpl.

Bug: 598880
Change-Id: Iee9983f9eb71d46e3318be6c2a37260352832c1e
Reviewed-on: https://chromium-review.googlesource.com/1013670
Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551601}
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/BUILD.gn
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[delete] https://crrev.com/d0468f756ffe482d989accc2cd30b821c20e3ac8/content/public/android/java/src/org/chromium/content/browser/RenderCoordinates.java
[add] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content/browser/RenderCoordinatesImpl.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[add] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/java/src/org/chromium/content_public/browser/RenderCoordinates.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/javatests/src/org/chromium/content/browser/ContentViewPointerTypeTest.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/javatests/src/org/chromium/content/browser/androidoverlay/DialogOverlayImplPixelTest.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/Coordinates.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/edb21f07fc70e9027c746edd3201443e011a61ed/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java

Project Member

Comment 77 by bugdroid1@chromium.org, Apr 18 2018

Project Member

Comment 78 by bugdroid1@chromium.org, Apr 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a69c5403ae0cabfb6ad4da3f3a2e731087b621bb

commit a69c5403ae0cabfb6ad4da3f3a2e731087b621bb
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Apr 19 23:57:33 2018

Adds a reference to web contents/container view in Tab class

This is a preparatory CL for upcoming changes that will remove API
getWebContents/getContainerView from ContentViewCore. Tab defines
direct references to WebContents and container view. WebContents is
passed to |initialize| and ContentView is created as the container
view in |createContentViewCore|, so it doesn't need to access them
indirectly through CVC. They are set in |setContentViewCore| and
nulled out in |destroyContentViewCore| to keep their validity in sync.

Accompanying changes for cleanup:

- Deleted |getActiveContentViewCore|. Other method of similar name
  |getContentViewCore| returns null if Tab is showing native view or
  rendered content is already destroyed. So using it instead is
  enough for all the callsites that already have null checks or tests
  that know all the preconditions.

- |getContentView| always returns container view for non-native page.
  In fact it is what it was already doing - just made it clearer by
  removing some dead code in it. Its return type is ViewGroup, and
  will be used as a replacement for CVC.getContainerView() in other classes.

Bug: 598880
Change-Id: I0c5966b69f6871ce53aa5ffadb73a76214ad35b2
Reviewed-on: https://chromium-review.googlesource.com/1018561
Reviewed-by: Yash Malik <ymalik@chromium.org>
Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552206}
[modify] https://crrev.com/a69c5403ae0cabfb6ad4da3f3a2e731087b621bb/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/a69c5403ae0cabfb6ad4da3f3a2e731087b621bb/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
[modify] https://crrev.com/a69c5403ae0cabfb6ad4da3f3a2e731087b621bb/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/a69c5403ae0cabfb6ad4da3f3a2e731087b621bb/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java

Project Member

Comment 79 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab08ac5f3eb3b645d0360a6b2663d5990520f90d

commit ab08ac5f3eb3b645d0360a6b2663d5990520f90d
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Apr 24 02:21:07 2018

Android: Remove API getWebContents/getContainerView

Removes API getWebContents/getContainerView from ContentViewCore.
ContentViewCore object is passed around in numerous cases just
to get WebContents/container view from it. Embedders already has
access to its container view (through Tab instance for Chrome,
AwContents for WebView). So passing WebContents instead is enough.

And content layer gets the active container view through
WebContents.getViewAndroidDelegate added by https://crrev.com/c/994500.

Bug: 598880
Change-Id: Ic3abd837a8751be6f1aacbe3364901e92db8b1cc
Reviewed-on: https://chromium-review.googlesource.com/1015457
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552962}
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/AwAutofillTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientFullScreenTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientGetVideoLoadingProgressViewTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientShouldOverrideUrlLoadingTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/AwWebContentsObserverTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/PlatformMediaCodecTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/SafeBrowsingTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/VisualStateTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/javatests/src/org/chromium/android_webview/test/WebViewWebVrTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/android_webview/test/shell/src/org/chromium/android_webview/shell/AwShellActivity.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillPopupBridge.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanel.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/eventfilter/OverlayPanelEventFilter.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/TabModalPresenter.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindResultBar.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/AudioTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewFocusTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/FocusedEditableTextFieldZoomTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/FullscreenActivityTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/ModalDialogTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/NavigateTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/NavigationPopupTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/OSKOverscrollTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/PopupTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/RepostFormWarningTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/SafeBrowsingTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/SelectFileDialogTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/VideoFullscreenOrientationLockChromeTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillKeyboardAccessoryTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupWithKeyboardTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptTabModalDialogTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/media/remote/CastSwitchVideoTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/media/ui/PictureInPictureControllerTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/UkmTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestRule.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/tab/SadTabTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/tab/UndoIntegrationTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/video/FullscreenVideoTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/video/VideoTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestFramework.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNavigationTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellTransitionTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrInputTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTransitionTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/TransitionUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTransitionUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/XrTransitionUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappNavigationTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/UkmTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestRule.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/contextmenu/ContextMenuUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherIntegrationTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ClipboardTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ContentViewLocationTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ContentViewPointerTypeTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ContentViewPopupZoomerTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/GestureDetectorResetTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/InterstitialPageTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeActivityTestRule.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeBareboneTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/NavigationTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/VideoFullscreenOrientationLockTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/WebContentsObserverAndroidTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/input/ImePasswordTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/input/SelectPopupTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/android/javatests/src/org/chromium/content/browser/input/TextSuggestionMenuTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestCallbackHelperContainer.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/shell/android/java/src/org/chromium/content_shell/Shell.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellShellManagementTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellUrlTest.java
[modify] https://crrev.com/ab08ac5f3eb3b645d0360a6b2663d5990520f90d/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java

Project Member

Comment 80 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/7efa2ba1f166554149954241eeeeab7ab5e41aac

commit 7efa2ba1f166554149954241eeeeab7ab5e41aac
Author: Egor Pasko <pasko@chromium.org>
Date: Tue Apr 24 16:25:49 2018

Project Member

Comment 81 by bugdroid1@chromium.org, Apr 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb

commit 97b1688be8b1fe553dbe7b43c061a6dbd2b87deb
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Apr 25 01:28:55 2018

Android: Move some of ContentViewCore APIs to other classes

- updateMultiTouchZoomSupport
- updateDoubleTapSupport

The above two are relevant to gesture control eventually set
to ui::FilteredGestureProvider. Moved to GestureListenerManager.java.

- getTopControlsShrinkBlinkHeightForTesting

Doesn't need to be public, since used by DOMUtils.java only. Deleted
the public interface, and moved the implementation to WebContentsImpl.

- isSelectPopupVisibleForTest

Move interface/implementation to WebContents/WebContentsimpl.

Bug: 598880
Change-Id: Ic0ee768e4c14c95f601a38f8a553b26e3ff62ced
Reviewed-on: https://chromium-review.googlesource.com/1023451
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553411}
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/browser/android/content_view_core.cc
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/browser/android/content_view_core.h
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/browser/android/gesture_listener_manager.cc
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/browser/android/gesture_listener_manager.h
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/java/src/org/chromium/content_public/browser/GestureListenerManager.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/android/javatests/src/org/chromium/content/browser/input/SelectPopupTest.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/test/android/javatests/src/org/chromium/content/browser/test/mock/MockWebContents.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/DOMUtils.java
[modify] https://crrev.com/97b1688be8b1fe553dbe7b43c061a6dbd2b87deb/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java

Project Member

Comment 82 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/70fff8c229b2e9dd353306fc9b57dc928f63d39b

commit 70fff8c229b2e9dd353306fc9b57dc928f63d39b
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue May 08 09:33:27 2018

Android: Window event observer manager

WindowEventObserverManager is a new class that will take care of
all window-related events.

- WindowAndroid is now updated through WebContents, and then
ContentObserverManager to trigger observer events.

- More work have been moved to actual observers (GestureListenerManager,
SelectionPopupController, SelectPopup, etc)

Bug: 598880
Change-Id: Ie4b9b209fe3bf67373fd420799effea210e93e5d
Reviewed-on: https://chromium-review.googlesource.com/1018640
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556737}
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/browser/android/content_view_core.cc
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/browser/android/content_view_core.h
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/BUILD.gn
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[add] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/Gamepad.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/JoystickHandler.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/NfcHost.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/TapDisambiguator.java
[delete] https://crrev.com/fae73e06cb2897aa82173cdd6d3b01474fd6a339/content/public/android/java/src/org/chromium/content/browser/WindowAndroidChangedObserver.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/WindowEventObserver.java
[add] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/WindowEventObserverManager.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionHost.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/android/javatests/src/org/chromium/content/browser/input/TextSuggestionMenuTest.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/test/android/javatests/src/org/chromium/content/browser/test/mock/MockWebContents.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/70fff8c229b2e9dd353306fc9b57dc928f63d39b/ui/android/java/src/org/chromium/ui/display/DisplayAndroid.java

Project Member

Comment 83 by bugdroid1@chromium.org, May 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5e243cee984a256077f03ab7f96246f315e26c24

commit 5e243cee984a256077f03ab7f96246f315e26c24
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu May 10 02:50:46 2018

Android: Deletes super_onConfigurationChanged delegate

The call order of |super.onConfigurationChanged| doesn't seem to matter. This
CL deletes the interface method from ContentViewCore.InternalAccessDelegate
and let the embedders call it directly.

Bug: 598880
Change-Id: If0ef9eeb583036846130accbbdd0e71b19ac48b6
Reviewed-on: https://chromium-review.googlesource.com/1053327
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557436}
[modify] https://crrev.com/5e243cee984a256077f03ab7f96246f315e26c24/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/5e243cee984a256077f03ab7f96246f315e26c24/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/5e243cee984a256077f03ab7f96246f315e26c24/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/5e243cee984a256077f03ab7f96246f315e26c24/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/5e243cee984a256077f03ab7f96246f315e26c24/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java

Project Member

Comment 84 by bugdroid1@chromium.org, May 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/010ddcfda246975d194964ccf20038ebbdec6084

commit 010ddcfda246975d194964ccf20038ebbdec6084
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri May 25 01:59:45 2018

Android: Delete ContentViewCore.isAlive

This CL deletes the API |ContentViewCore.isAlive| and lets the callsites
use |WebContents.isDestroyed| (after negation) instead.

!CVC.isAlive() and WebContents.isDestroyed() basically serve the same
purpose that indicate WebContents (and its associated objecs) are in
the destroyed state. Once they return true, no calls should be made
on WebContents.

WebContents now defines |mIsAlive| for the deleted api to be replaced
with !WebContents.isDestroyed(). It is set to false by CVC.destroy()
or native WebContentsAndroid dtor, whichever comes first, to indicate
that WebContents is on its way to destruction. (WebContents.destroy()
also leads to setting it to false by way of WebcontentsAndroid dtor).

Bug: 598880
Change-Id: I8aa864e4efdd5c326e62c284bbda5987dc0e60a5
Reviewed-on: https://chromium-review.googlesource.com/1058728
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561733}
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/content/public/android/java/src/org/chromium/content/browser/WindowEventObserverManager.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/010ddcfda246975d194964ccf20038ebbdec6084/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellShellManagementTest.java

Project Member

Comment 85 by bugdroid1@chromium.org, Jun 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1653d26e6f6abb50e836a185d779f373e3a97ac

commit a1653d26e6f6abb50e836a185d779f373e3a97ac
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Jun 01 20:53:33 2018

Android: ViewEventSink

ViewEventSink is a public interface for content layer to receive view/window-related
events (android.view.View method calls) from embedder. Embedders, when these methods are
called on their container view, are supposed to invoke corresponding methods defined in
ViewEventSink. They were already present in ContentViewCore, now migrated to the new
interface.

Internally, these calls are mostly forwarded to WindowEventObserverManagerImpl that is
managing those change observers based on WindowEventObserver. Two new interface methods
were added (onConfigurationChanged/onViewFocusChanged) rather than having a new internal
observer interface/manager. Also simplified |onViewFocusChanged| by delegating most of
its work to actual observers like SelectionPopupControllerImpl, ImeAdapterImpl.

|onPause/onResume| defined in CVC were replaced with WindowAndroid.ActivityStateObserver,
and not needed any more in production. They were postfixed with |ForTesting| for testing
purpose only.

Bug: 598880
Change-Id: I7966877315b5145a4dacf31d1583b454bd13f8ee
Reviewed-on: https://chromium-review.googlesource.com/1006234
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Simeon Anfinrud <sanfin@chromium.org>
Reviewed-by: Biao She <bshe@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563789}
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewFocusTest.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrInputTest.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsActivity.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsFragment.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsView.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/browser/android/content_view_core.cc
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/browser/android/content_view_core.h
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/BUILD.gn
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/ContentVideoViewImpl.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[add] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/ViewEventSinkImpl.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/WindowEventObserver.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/WindowEventObserverManager.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[add] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/java/src/org/chromium/content_public/browser/ViewEventSink.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/javatests/src/org/chromium/content/browser/PopupZoomerTest.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java
[modify] https://crrev.com/a1653d26e6f6abb50e836a185d779f373e3a97ac/ui/android/java/src/org/chromium/ui/base/WindowAndroid.java

Project Member

Comment 86 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8

commit e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Jun 19 17:03:13 2018

Android: Delete native ContentViewCore

The only thing the native CVC does now is (as an WebContentsObserver)
adjust renderer view focus/screen info when renderer is updated.
This CL moves that reponsibility to WebContentsAndroid, and deletes
the entire class. There is no functional change.

Bug: 598880
Change-Id: I9a1f3a2e0df5457439a27675d3786aa6703e06ac
Reviewed-on: https://chromium-review.googlesource.com/1083911
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568499}
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/chrome/android/java/src/org/chromium/chrome/browser/content/ContentUtils.java
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/chrome/browser/android/content/content_utils.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/chrome/browser/android/tab_android.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/BUILD.gn
[delete] https://crrev.com/4b2795e4f105e3c7cd5b2fd143d2a6a4ae138b4d/content/browser/android/content_view_core.cc
[delete] https://crrev.com/4b2795e4f105e3c7cd5b2fd143d2a6a4ae138b4d/content/browser/android/content_view_core.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/media/android/browser_media_player_manager.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/screen_orientation/screen_orientation_delegate_android.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_aura.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_child_frame.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_child_frame.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_guest.cc
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_guest.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_mac.h
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/browser/web_contents/web_contents_view_mac.mm
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/public/android/BUILD.gn
[modify] https://crrev.com/e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java

Project Member

Comment 87 by bugdroid1@chromium.org, Jun 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78467bc51e9e529fb0619a839137820b3d058fed

commit 78467bc51e9e529fb0619a839137820b3d058fed
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Jun 20 03:27:12 2018

Android: Migrate ContentViewCore.setContainerViewInternals

This CL renames an API setrContainerViewInternals to
setAccessDelegate and migrates to ViewEventSink that handles
view-related methods for content layer, in preparation of
deleting the class ContentViewCore.

Bug: 598880
Change-Id: I3023d0ac2959d88ad82cfe91a8c6cf2fc3955320
Reviewed-on: https://chromium-review.googlesource.com/1106649
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568715}
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/components/content_view/java/src/org/chromium/components/content_view/ContentView.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/java/src/org/chromium/content/browser/ContentUiEventHandler.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/java/src/org/chromium/content/browser/ViewEventSinkImpl.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/java/src/org/chromium/content_public/browser/ViewEventSink.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/78467bc51e9e529fb0619a839137820b3d058fed/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java

Project Member

Comment 88 by bugdroid1@chromium.org, Jun 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efb24e491d79b7ba9bf1463dc04a77823b322157

commit efb24e491d79b7ba9bf1463dc04a77823b322157
Author: Martin Šrámek <msramek@chromium.org>
Date: Wed Jun 20 14:08:39 2018

Revert "Android: Delete native ContentViewCore"

This reverts commit e4f3ef2e681d95f396eb33f0ddabcd4148fc84c8.

Reason for revert: Seems to be causing test crashes, and timeouts of entire test suites. See crbug.com/854611 for more details.

Bug: 598880,854611

Original change's description:
> Android: Delete native ContentViewCore
> 
> The only thing the native CVC does now is (as an WebContentsObserver)
> adjust renderer view focus/screen info when renderer is updated.
> This CL moves that reponsibility to WebContentsAndroid, and deletes
> the entire class. There is no functional change.
> 
> Bug: 598880
> Change-Id: I9a1f3a2e0df5457439a27675d3786aa6703e06ac
> Reviewed-on: https://chromium-review.googlesource.com/1083911
> Reviewed-by: Bo <boliu@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#568499}

TBR=boliu@chromium.org,tedchoc@chromium.org,jinsukkim@chromium.org

Change-Id: I039091e040d468669bd4c5f5b1b42aef9f272d0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 598880
Reviewed-on: https://chromium-review.googlesource.com/1107958
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568825}
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/chrome/android/java/src/org/chromium/chrome/browser/content/ContentUtils.java
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/chrome/browser/android/content/content_utils.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/chrome/browser/android/tab_android.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/BUILD.gn
[add] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/android/content_view_core.cc
[add] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/android/content_view_core.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/media/android/browser_media_player_manager.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/screen_orientation/screen_orientation_delegate_android.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_aura.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_child_frame.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_child_frame.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_guest.cc
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_guest.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_mac.h
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/browser/web_contents/web_contents_view_mac.mm
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/public/android/BUILD.gn
[modify] https://crrev.com/efb24e491d79b7ba9bf1463dc04a77823b322157/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java

Project Member

Comment 89 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/895b2c542855b09bb8e16fdb0d1b282f933fbd34

commit 895b2c542855b09bb8e16fdb0d1b282f933fbd34
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Tue Jul 03 06:49:16 2018

Android: Reland "Delete native ContentViewCore"

Fixes bugs reported after landing:

- Android CFI test failures https://crbug.com/854611

WebContentsViewAndroid::SetFocus should have null checks as well, and
should not have run in the tests that use TestRenderViewHost. The
tests failed due to invalid cast (TestRenderWidgetHostView ->
RenderWidgetHostViewAndroid), which was caught by CFI config.

And even in real situation ::SetFocus should run only when
the RenderWidgetHostViewAndroid is not null. These two issues are
addressed by calling the method when current RWHVA is non-null.

- Amazon app not getting key input https://crbug.com/854499

WebContentsViewAndroid::RenderViewSwappedIn and
WebContentsObserver::RenderViewHostchanged were not always called
together. This caused the WebView not to get the updated after the
change.

This CL deletes RenderViewSwappedIn and defines RenderFrameSwappedIn,
and invokes it from WebContentsImpl::NotifyFrameSwapped to ensure native
view tree update + focus change occurs in response to the main render
frame host swapping.

Bug: 598880, 854611, 854499

This reverts commit efb24e491d79b7ba9bf1463dc04a77823b322157.

Change-Id: Ieaa3d43029583a17560dc83b5009416e71e89f13
Reviewed-on: https://chromium-review.googlesource.com/1112950
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572128}
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/chrome/android/java/src/org/chromium/chrome/browser/content/ContentUtils.java
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/chrome/browser/android/content/content_utils.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/BUILD.gn
[delete] https://crrev.com/9be94722d52ede6477bc1c62c2b07fe59ea11bdc/content/browser/android/content_view_core.cc
[delete] https://crrev.com/9be94722d52ede6477bc1c62c2b07fe59ea11bdc/content/browser/android/content_view_core.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/frame_host/render_frame_host_manager.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/frame_host/render_frame_host_manager.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/media/android/browser_media_player_manager.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/screen_orientation/screen_orientation_delegate_android.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_android.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_aura.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_child_frame.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_child_frame.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_guest.cc
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_guest.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_mac.h
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/browser/web_contents/web_contents_view_mac.mm
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/public/android/BUILD.gn
[modify] https://crrev.com/895b2c542855b09bb8e16fdb0d1b282f933fbd34/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java

Project Member

Comment 90 by bugdroid1@chromium.org, Jul 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a

commit baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Jul 11 18:56:35 2018

Android: Delete API ContentViewCore.destroy

|CVC.destroy| was used as a way to mark WebContents and other contents layer
objects as inaccessible. Now that most of CVC's responsibility was migrated
to other WebContentsUserData-based instances, the API is not useful any more.
This CL deletes it. The embedders don't have to use it if it also calls
|WebContents.destroy| or does something equivalent (such as Chromecast,
which triggers native WebContents deletion by observing its acitivty/fragment
lifecycle).

To deal with attempts to access contents objects from Android framework
after |CVC.destroy| would have been called, |WebContents.isDestroyed| set
the point of time after which it returns true a bit earlier - not when
its native is already destroyed but when it is currently being destroyed.
This helps embedders avoid calling into the contents layer being taken down
where many objects are in transition state, therefore safe access is hard
to guarantee.

Bug: 598880
Change-Id: I3cb1b865fd11b6fc9b01377af230b9aff792318a
Reviewed-on: https://chromium-review.googlesource.com/1084363
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Simeon Anfinrud <sanfin@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574269}
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsView.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/browser/android/gesture_listener_manager.cc
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/browser/android/gesture_listener_manager.h
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/public/android/java/src/org/chromium/content/browser/GestureListenerManagerImpl.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/baaa1eb9c0daf5e3e9b79400a9395b3b14b7f67a/content/shell/android/java/src/org/chromium/content_shell/Shell.java

Project Member

Comment 91 by bugdroid1@chromium.org, Jul 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d1d8967490fa5c8bc7689622ca2f3820aa8b376

commit 4d1d8967490fa5c8bc7689622ca2f3820aa8b376
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Fri Jul 13 01:55:33 2018

Android: Delete java ContentViewCore class

|ContentViewCoreImpl.initialize| is called to create various
browser components in content layer when instantiating ContentViewCore.
This CL moves the method to WebContents as a public API and let
embedders call it instead of creating CVC. It leaves CVC empty,
so deletes the class entirely.

With CVC gone, null check against CVC object can be replaced with
that against WebContents as embedders are already managing their
references to them in sync (init/nulling out at the same time).
Some methods with ContentViewCore in there names are updated as
well to reflect what they really do after the change, such as
s/createContentViewCore/initWebContents.

Bug: 598880
Change-Id: Ic1ae53ec1addf74b56e2ae4c972b41889005a359
Reviewed-on: https://chromium-review.googlesource.com/989515
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Simeon Anfinrud <sanfin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574815}
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/android_webview/test/shell/src/org/chromium/android_webview/test/AwTestContainerView.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/compositor/LayerTitleCache.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchSelectionController.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/tab/TabObserver.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/java/src/org/chromium/chrome/browser/widget/findinpage/FindToolbar.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupWithKeyboardTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestFramework.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/TabLoadObserver.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsView.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/BUILD.gn
[delete] https://crrev.com/be8c52a356dffa50416f28844b9ed9ded77d79f2/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/java/src/org/chromium/content/browser/Gamepad.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[delete] https://crrev.com/be8c52a356dffa50416f28844b9ed9ded77d79f2/content/public/android/java/src/org/chromium/content_public/browser/ContentViewCore.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/javatests/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/android/javatests/src/org/chromium/content/browser/input/TextSuggestionMenuTest.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/test/android/BUILD.gn
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/public/test/android/javatests/src/org/chromium/content/browser/test/mock/MockWebContents.java
[delete] https://crrev.com/be8c52a356dffa50416f28844b9ed9ded77d79f2/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestContentViewCore.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/shell/android/java/src/org/chromium/content_shell/Shell.java
[modify] https://crrev.com/4d1d8967490fa5c8bc7689622ca2f3820aa8b376/content/shell/android/javatests/src/org/chromium/content_shell_apk/ContentShellActivityTestRule.java

Kudos Jinsuk! Well done! :)
Status: Fixed (was: Started)
Thanks! Feels good to mark this bug 'fixed' finally.
Project Member

Comment 94 by bugdroid1@chromium.org, Jul 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d665cf2c8705a763db6fbfb6e2991f9589858bb9

commit d665cf2c8705a763db6fbfb6e2991f9589858bb9
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Wed Jul 25 23:20:10 2018

Android: Remove ContentViewCore from comments/names

ContentViewCore is still mentioned in many comments and names of
methods/classes though it's gone. This CL replaces it with
WebContents or content layer appropriately to the context.
Also did some accidental clean up discovered by build/lint.

There is no functional changes.

Bug: 598880
Change-Id: I87e325a9c1b930ea1ceb462c842be28bf96a21e6
Reviewed-on: https://chromium-review.googlesource.com/1149677
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578121}
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/android_webview/glue/java/src/com/android/webview/chromium/SharedWebViewChromium.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/android_webview/java/src/org/chromium/android_webview/AwSettings.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayContentDelegate.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanel.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/eventfilter/OverlayPanelEventFilter.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchSelectionController.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/java/src/org/chromium/chrome/browser/tab/TabObserver.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerTest.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/android/javatests/src/org/chromium/chrome/browser/vr/README.md
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/browser/android/bottombar/overlay_panel_content.cc
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/browser/android/bottombar/overlay_panel_content.h
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/chrome/browser/android/download/download_controller.h
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/browser/android/dialog_overlay_impl.h
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/browser/android/java/gin_java_bridge_dispatcher_host.h
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/browser/android/java/gin_java_bridge_message_filter.cc
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/browser/media/android/browser_media_player_manager.h
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/BUILD.gn
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/java/src/org/chromium/content/browser/RenderCoordinatesImpl.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/java/src/org/chromium/content_public/browser/LoadUrlParams.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/java/src/org/chromium/content_public/browser/NavigationHistory.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
[rename] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/javatests/src/org/chromium/content/browser/ContentTextSelectionTest.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/android/javatests/src/org/chromium/content/browser/ContentViewScrollingTest.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/HistoryUtils.java
[modify] https://crrev.com/d665cf2c8705a763db6fbfb6e2991f9589858bb9/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/JavaScriptUtils.java

Project Member

Comment 95 by bugdroid1@chromium.org, Jul 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3ccb3a896b8cc61114a33c203bec28a93cfad8e6

commit 3ccb3a896b8cc61114a33c203bec28a93cfad8e6
Author: Jinsuk Kim <jinsukkim@chromium.org>
Date: Thu Jul 26 06:55:03 2018

Android: Initialize WebContentsUserData objects lazily

The change removes the static method |create| from all
WebContentsUserData objects, and get them initialized upon
the first Foo.fromWebContents(). This helps them get decoupled
from WebContentsImpl, without explicit references.

A couple of notes on the accompanied changes:
 - Lazy init makes some of the classes created in the test
   (instrumentation) thread while they are expected to run
   on UI thread. Changed some tests to run/poll on UI thread to
   make the tests pass.

 - Now WebContentsImpl provides context/product version for WCUD
   objects to get them indirectly rather than as extra parameters
   of |create| which are target to be removed in the CL. Context
   is stored in WebContentsInternals to meet WebView requirements
   on gc.

 - As being lazily initialized, there could be WCUD instances that
   might lose the chance to observe window events. For this,
   WindowEventObserverManager.addObserver invokes |onAttachedToWindow|
   when added after the content is in the attached state.

Bug: 598880
Change-Id: I21eec39877bb74fa7e97848e8ce47e440f4ef1a7
Reviewed-on: https://chromium-review.googlesource.com/1135874
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578223}
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/chrome/android/javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastWebContentsView.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/Gamepad.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/TapDisambiguator.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/ViewEventSinkImpl.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/WindowEventObserverManager.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/input/SelectPopup.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/input/TextSuggestionHost.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsUserData.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/javatests/src/org/chromium/content/browser/input/SelectPopupTest.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/public/test/android/javatests/src/org/chromium/content/browser/test/mock/MockWebContents.java
[modify] https://crrev.com/3ccb3a896b8cc61114a33c203bec28a93cfad8e6/content/shell/android/java/src/org/chromium/content_shell/Shell.java

Owner: jinsuk...@chromium.org
jinsukkim@, I think that the last change, https://crrev.com/578223, caused the spellcheck regression in bug 884214.

Sign in to add a comment