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

Issue 699018 link

Starred by 14 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Using --isolate-extensions causes iframe css animations to be buggy

Reported by pe...@pedroassis.com.br, Mar 7 2017

Issue description

Chrome Version       : 56.0.2924.87
OS Version: OS X 10.12.3
URLs (if applicable) : https://chrome.google.com/webstore/detail/tenfold-edge-version/djcgjinlbipilgojhejjpelniobbdmkk

What steps will reproduce the problem?
1. Install https://chrome.google.com/webstore/detail/tenfold-edge-version/djcgjinlbipilgojhejjpelniobbdmkk
2. Click on the Tenfold logo on the left

What is the expected result?
Animations should be smooth, all images and fonts load reliably since it's loaded from the file system.

What happens instead of that?
On Chrome 54 with the --isolate-extensions or 56 with no flags the iframe flashes when "closing", on lower end computers this effect is worse and the gif's fps is not high enough to display all the flashes.
The images not loading are hard to reproduce, but is also related to enabling the --isolate-extensions flag.

Please provide any additional information below. Attach a screenshot if
possible.

On Chrome 54 without the --isolate-extensions the animation and image loading works, with --isolate-extensions it doesn't.

I realize the image and font loading issues are hard to reproduce, I hope to get help on the CSS Animation and that the loading is related to it somehow, otherwise we can file a new bug for it.

Google Chrome	56.0.2924.87 (Official Build) (64-bit)
Revision	0e9a9a6f3676ae439b78cd9b3f62b4193c3ac7d5-refs/branch-heads/2924@{#895}
OS	Mac OS X 
JavaScript	V8 5.6.326.50
Flash	24.0.0.221 /Users/pedro/Library/Application Support/Google/Chrome/PepperFlash/24.0.0.221/PepperFlashPlayer.plugin
User Agent	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Command Line	/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --flag-switches-begin --flag-switches-end
Executable Path	/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Profile Path	/Users/pedro/Library/Application Support/Google/Chrome/Default
Variations	6a89113b-a7aa8ed
90757ebb-3f4a17df
3095aa95-3f4a17df
8364a5c2-ca7d8d80
7c1bc906-f55a7974
2a33b90e-e7b70917
ba3f87da-b4a760c3
58aac55e-3f4a17df
31362330-3f4a17df
c70841c8-a2567007
9e201a2b-803f8fc4
5274eb09-3f4a17df
684d1cdf-51126808
9773d3bd-ca7d8d80
9e5c75f1-c16ec2e6
6b121ae7-ca7d8d80
f5dd6118-2f5721af
f79cb77b-3d47f4f4
b7786474-d93a0620
23a898eb-ca7d8d80
74df3f1-803f8fc4
4ea303a6-ecbb250e
fe9bec35-186f5907
9736de91-ca7d8d80
3326cd71-3f4a17df
69bf80fa-91c810ef
867c4c68-3f4a17df
b2f0086-93053e47
7fc902e8-ca7d8d80
f11cb941-d6606b56
f47ae82a-86f22ee5
3ac60855-486e2a9c
f296190c-fae5d535
4442aae2-a5822863
ed1d377-e1cc0f14
75f0f0a0-a5822863
e2b18481-e1cc0f14
e7e71889-4ad60575
828a5926-ca7d8d80



 
css-animation.gif
222 KB View Download
Screen Shot 2017-03-03 at 3.39.28 PM.png
52.5 KB View Download
Components: Internals>Sandbox>SiteIsolation
Labels: -Pri-3 Pri-2
Owner: kenrb@chromium.org
Ken, do you mind investigating this?
Hey, I realized the Chrome Extension link provided on the ticket will not help to reproduce this.

Please use this one https://chrome.google.com/webstore/detail/crm-voice-integration/pebamkepebhbkdanceimkpekibllfnod

I have tested on a new profile and it works, after installing it should add the iframe to new tabs you open.

Comment 3 by mat...@tenfold.com, Mar 7 2017


When you click on the tenfold logo, two click events are triggered, one on the Iframe's element, another one on the parent document. 
 This issue doesn't happen with every click; it happens more often when clicking on the image.

My chome version info:
Google Chrome    56.0.2924.87 (Official Build) (64-bit)
Revision    0e9a9a6f3676ae439b78cd9b3f62b4193c3ac7d5-refs/branch-heads/2924@{#895}
OS    Mac OS X 
JavaScript    V8 5.6.326.50
Flash    24.0.0.221 /Users/user/Library/Application Support/Google/Chrome/PepperFlash/24.0.0.221/PepperFlashPlayer.plugin
User Agent    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Command Line    /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --flag-switches-begin --enable-experimental-extension-apis --flag-switches-end
Executable Path    /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Profile Path    /Users/user/Library/Application Support/Google/Chrome/Profile 2
Variations    6a89113b-48cb14a
90757ebb-3f4a17df
3095aa95-3f4a17df
8364a5c2-ca7d8d80
7c1bc906-f55a7974
2a33b90e-e7b70917
ba3f87da-b4a760c3
58aac55e-3f4a17df
31362330-3f4a17df
c70841c8-a2567007
9e201a2b-803f8fc4
5274eb09-3f4a17df
684d1cdf-51126808
9773d3bd-ca7d8d80
9e5c75f1-c16ec2e6
6b121ae7-ca7d8d80
f5dd6118-2f5721af
f79cb77b-3d47f4f4
b7786474-d93a0620
23a898eb-ca7d8d80
4ea303a6-ecbb250e
fe9bec35-186f5907
9736de91-ca7d8d80
3326cd71-3f4a17df
69bf80fa-91c810ef
867c4c68-3f4a17df
b2f0086-93053e47
7fc902e8-ca7d8d80
f11cb941-d6606b56
f47ae82a-86f22ee5
3ac60855-486e2a9c
f296190c-ed7a1963
4442aae2-6e597ede
ed1d377-e1cc0f14
75f0f0a0-4ad60575
e2b18481-3a9ae350
e7e71889-4ad60575
828a5926-ca7d8d80
Cursor_and_Dashboard_-_tenfold.png
314 KB View Download
Cc: krajshree@chromium.org
Labels: Needs-Feedback
Able to reproduce this issue on Mac 10.12.3 using chrome reported version #56.0.2924.87 and latest canary #59.0.3033.0.

But using the URL provided in comment #2, it is very difficult to provide bisect result as it is very inconsistent repro.

Reporter@ - Could you please provide any other URL to reproduce the issue consistently.

Thanks...!!

Comment 5 by creis@chromium.org, Mar 8 2017

Cc: creis@chromium.org nasko@chromium.org
Components: Blink>CSS
Thanks for the report!  I was out yesterday, but I'll make sure we look into this today.

Comment 6 by kenrb@chromium.org, Mar 8 2017

Status: Assigned (was: Unconfirmed)
Sorry for not commenting... I have been poking at this today, but don't yet have any insight on the problem. I haven't seen images failing to load, but flickering animations happen easily on both Mac and Windows.

Re: comment#3, can you please explain this comment a bit more? "When you click on the tenfold logo, two click events are triggered, one on the Iframe's element, another one on the parent document."

That's not the way clicks are supposed to work. Multiple handlers within a single document can fire, but only one Document receives the click.

Comment 7 by creis@chromium.org, Mar 8 2017

Cc: yosin@chromium.org
For reference, you can test both modes on a particular version of Chrome using the following command line flags:
--force-fieldtrials=SiteIsolationExtensions/Control
--force-fieldtrials=SiteIsolationExtensions/Enabled

If set to Enabled, then --isolate-extensions is on and the bug should repro.  That mode is enabled by default for Chrome 56 and up.  If set to Control, you should see the old behavior.

Note: When set to Control on 59.0.3033.0 trunk build, I'm seeing the following DCHECK fail in SelectionEditor::updateCachedVisibleSelectionIfNeeded:
  // Note: Since we |FrameCaret::updateApperance()| is called from
  // |FrameView::performPostLayoutTasks()|, we check lifecycle against
  // |AfterPerformLayout| instead of |LayoutClean|.
  DCHECK_GE(document().lifecycle().state(),
            DocumentLifecycle::AfterPerformLayout);
That was added in https://codereview.chromium.org/2680943004 by yosin@.  Probably unrelated to the bug here, since I don't see it fail with SiteIsolationExtensions/Enabled.  Just wanted to mention it in case it interferes with repro steps.

Comment 8 by creis@chromium.org, Mar 8 2017

Components: Blink>Animation
I am curious which part of the animation is considered the bug here.  I see a few possible artifacts, so we should be specific about what to investigate:

1) The blue "tenfold" tab sometimes flickers downward briefly once the iframe has slid out of view to the right.  I see this whether I'm in Enabled or Control, but perhaps slightly more often in Enabled than Control.

2) The sliding animation itself seems to catch a bit sometimes as the iframe slides out, only in Enabled mode.  This is more prominent on debug builds, so probably more on slower machines as well.  Is this the primary concern?

3) When clicking the blue tab to slide it back in, I see the blue tab momentarily appear far to the left (in what appears to be the final location for it), then disappear while the tab animates and slides from right to left.  Maybe this is also a concern?

Let me know if I missed anything else.  I don't see the image or font issue, presumably because I'm not logged in.

Comment 9 by mat...@tenfold.com, Mar 8 2017

Hey guys,

We have created a new CE with logs to show the 2 clicks issue.

You'll need to start loading the extension attached since we are actively working on trying to mitigate the problems we are facing.

When clicking on the Tenfold logo you will see a console log in the iframe, triggered by a click listener on the element containing the logo, and in some of the clicks you will also see the log on the parent window, bound to the parent document.

To reproduce the images/fonts not loading: 
- The user opens more than 10 tabs
- At least 3 are google products (Gmail, Sheets and Calendar)
- While using our product some tabs will be broken, usually Google products
- Happens a lot more often on users with Mac Airs, users with MacBook Pro almost won't complain.

I can send you guys a user to login to our product to your email, that way you can mess around with more data on the UI, I can also get a dump or something of the problem, Let me know how.


These issues are causing a lot of different symptoms on our UI, we worked on fixing some of it, and we are about to release to the CE in the #Comment 2.

We are now working on removing our html from the iframe and adding it to the page itself, that way it will stop being loaded in a separated process.
This causes us a lot of problems since we rely on the chrome.* apis and also localStorage.

Any workarounds will be appreciated.


dist.zip
9.2 MB Download
We also added a video that shows the logs being trigger twice for the same click in different documents.
V2.mov
4.4 MB Download
Comment#8: I had observed similar to you. A lot of the flickering is there with and without --isolate-extensions.

For your third point, I think that is an artifact similar to what we are talking about in bug 608455. We haven't fully worked out synchronization during resize, and that could explain the flash of the tab appearing toward the left (it is getting repositioned before it redraws).


Comment#9: Thanks for the additional information. I have a guess about the cause of the clicks triggering twice and should be able to test that soon. A user login to email might be helpful, because I have no idea what could be preventing images from loading and haven't been able to repro that.
Cc: rdevlin....@chromium.org csharrison@chromium.org
Thanks for the extra details!

Which Chrome APIs were you using in the extension iframe?  I was under the impression that such frames were "unblessed" before and couldn't use most chrome.* APIs.  If it's just communicating with the background page, you might still be able to do that from a content script (without ending up with out-of-process iframes):
https://developer.chrome.com/extensions/content_scripts

CC'ing rdevlin.cronin@ in case he has thoughts on workarounds here.

Also CC'ing csharrison@ in case the image/font loading issue turns out to be a ResourceScheduler or network stack problem.
Components: -Blink>CSS -Blink>Animation
Removing Blink>CSS and Blink>Animation labels to comply with our single component per bug policy. Please assign to Blink>Animations if there is work to be done on the Blink side here.
Cc: alancutter@chromium.org
alancutter@: What is the appropriate way to CC people from those teams for input on the bug?  It's hard to tell yet if work is required from them.
@12 right, before iframes were unblessed and could only use a handful of extension APIs, most of which are also available in the content script (e.g. runtime.sendMessage/connect, storage).  But localStorage would be different.
@creis: You can CC style-bugs@chromium.org, this covers both the CSS and Blink Animation teams.
Hey guys, 

Is it possible for our chrome extension to get if the current chrome version has this feature enabled?

I want to release a fix those users right away, but not to all our user base.

I tried getting the chrome://version, but I couldn't.

Thank you.

Comment 18 by kenrb@chromium.org, Mar 10 2017

I believe you have to parse the Chrome version out of the user agent string (navigator.userAgent). Everybody with Chrome 56 or later should have extension isolations on, which should be the vast majority of the user base at this point because of auto-update.
Cc: rjkroege@chromium.org sadrul@chromium.org piman@chromium.org danakj@chromium.org fsam...@chromium.org enne@chromium.org
Adding some relevant folks. Note, that we (Mus team) are actively working on surface synchronization.

Comment 20 by creis@chromium.org, Mar 13 2017

fsamuel@: That's great!  I know some of that work is likely to be longer term-- do you know if there's anything in the short term that might help, or that we should be considering here?
We are trying to target surface references (prerequisite for surface sync) for M59, and surface synchronization by M60.
Cc: kylec...@chromium.org

Sign in to add a comment