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

Issue 781763 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 781754



Sign in to add a comment

Investigate what to do about glue-layer initialization with two glue layers.

Project Member Reported by gsennton@chromium.org, Nov 6 2017

Issue description

The WebView Support Library glue layer will be created after the existing (android.webkit) glue layer. The existing glue layer contains initialization steps that don't always run directly on creation of the glue layer, namely WebViewChromiumFactoryProvider.ensureChromiumStartedLocked()/startChromiumLocked() and WebViewChromium.init(..), we should check whether these initialization steps need to be run before the new (Support library) glue layer is created.

WebViewChromium.init(..) should not be an issue since it is called from a WebView ctor (and we will always call a WebView ctor before initializing the new glue-layer version of WebViewChromium since that class will have to reference an existing WebView)
http://cs/android/frameworks/base/core/java/android/webkit/WebView.java?rcl=622597fbc5651cc2ddf68c94fefe79fffdde19ff&l=658


I might have missed some other initialization step that could affect the new glue layer (it would be nice to break all initialization steps out into their own classes so they're easier to argue about, but doing so is just a nice-to-have, not a blocker for the support library).
 
Owner: gsennton@chromium.org
Status: Assigned (was: Available)
I filed this with the 'Available' status because I'm not gonna look at this anytime soon, is there any specific reason you want to assign this to me? :)

Should I do something specific to move this out of the bugcop queue or something?
Cc: cma...@chromium.org tobiasjs@chromium.org
Hmm.. Available is still recognized as untriaged on the bugcop queue.

tobiasjs@ and cmasso@ may have a better idea about triaging this issue, but
since webview component is more like a platform rather than a real component, and we may need to triage tons of other issues that end up getting assigned to people outside webview team, I'm not sure if 'available' model is very effective in this case.
I'm probably misunderstanding your point here - IMO we should have some state which says: this bug is available, and nobody is currently looking at it, so feel free to take a look. 'Available' seems like the best name for that state.

Assigning all bugs to people just means everyone will have tonnes of bugs assigned that will not be looked at ever.   
If a bug has an owner, then it should be assigned to the owner. It is ok to make an issue "available" but there should be no owner on it, so that someone else can get to get to own it. 

So if you think someone else could work on this, remove yourself as the owner and make it available.
Can we remove this from the bugcop queue somehow? I don't want bugcops to track this type of tasks every week.
Right, our P0,P1,P2 bugcop queue includes 'available' bugs but our P3 queue does not. We should probably avoid 'available' bugs in our P0,P1,P2 queue/query? 
If those bugs are available and don't have owner then yes we should remove from the bugcop queue. But if they have owners then they should be assigned to respective owner.
Labels: M-65
Owner: ntfschr@chromium.org
Nate, do you want to look into this? If not, or if you don't have time I'll do this.
Toby pointed out that static methods will require chromium-initialization from the support library glue layer since at the time you call a static WebView method you won't necessarily have called the WebView ctor. So we need some way of triggering the initialization currently done in WebViewChromiumFactoryProvider, from the support library glue layer - potentially we should just move the initialization to a lower layer.
Status: Fixed (was: Assigned)
I think the easiest way of doing this is to leave WebViewChromium.init() alone since it's called in the WebView ctor anyway, and expose the WebViewChromiumFactoryProvider.startYourEngines() method to the support library glue layer through the interface that will expose the rest of the method/members of WebViewChromiumFactoryProvider as well.
Please let us know QA manual verification steps if verifiable.Thanks
No QA verification necessary. This is just a refactor. If this had major issues, WebView would be totally broken for a lot of apps.
Oh, actually I was thinking of a separate change. This actually has no CLs on it. Still, no QA verification needed :)
Status: Verified (was: Fixed)
Bulk edit: marking stale 'fixed' bugs as 'verified' since they don't need verification at this point.

Sign in to add a comment