Closed Bug 1678411 Opened 5 months ago Closed 1 month ago

Update UX of the slow script warning notification bar for Fission

Categories

(Core :: DOM: Content Processes, task, P3)

task

Tracking

()

RESOLVED FIXED
88 Branch
Fission Milestone MVP
Tracking Status
firefox88 --- fixed

People

(Reporter: cpeterson, Assigned: dthayer)

References

(Depends on 1 open bug)

Details

Attachments

(2 files)

Attached image slow_script_warning.png

The slow script warning is currently a notification bar that reads:

"A web page is slowing down your browser. What would you like to do? [Stop It] [Wait]"

See the attached screenshot.

Eric Smyth says the Firefox Performance team is working to understand user impact of the slow script warning (new telemetry added in Fx80 and Fx83, reach and impact analysis in progress) and haven't discussed specific changes to the UX.

See the Long Running Script PRD.

What is our current behavior for slow scripts in subframes with Fission?

We don't want to get rid of the warning because we want to show slow script warning for scripts in top level frames.

Can we only show the slow script warning for frames the user has interacted with? Then we could show for embedded YouTube videos the user clicked to play, but not for ads the user doesn't care about.

What should we do for subframes affected by slow scripts in another tab (but the same content process)?

Tracking for Fission MVP.

Severity: -- → N/A
Fission Milestone: ? → MVP
Priority: -- → P3
Summary: Update UX or remove the slow script warning notification bar for Fission → Update UX of the slow script warning notification bar for Fission

Neil, what are your thoughts on this?

Flags: needinfo?(enndeakin)

Going to redirect to Doug who recently worked on this notification in bug 1694229.

Flags: needinfo?(enndeakin) → needinfo?(dothayer)
Assignee: nobody → dothayer
Status: NEW → ASSIGNED
Flags: needinfo?(dothayer)

The slow script notification seems to be entirely broken for hanging iframes under Fission right now. I'm taking on fixing that - given the recent changes to only show the notification when the user is interacting with a tab, extending that to cover the suggestion in comment 1 should be simple enough.

(In reply to Chris Peterson [:cpeterson] from comment #1)

What should we do for subframes affected by slow scripts in another tab (but the same content process)?

Plan is to only show the notification if the thing that a user has tried to interact with is hung (either from its own doing or from background thing in another process). Does that sound reasonable?

(In reply to Chris Peterson [:cpeterson] from comment #1)

What should we do for subframes affected by slow scripts in another tab (but the same content process)?

Plan is to only show the notification if the thing that a user has tried to interact with is hung (either from its own doing or from background thing in another process). Does that sound reasonable?

Sounds good. Some questions:

  1. So if a page has a hung subframe, we will only show the notification if the user tries to interact with the hung subframe, not anywhere else on the page?
  2. And then we will show the notification at the top of the page? If the user clicks the notification's "Stop It" button, will that stop only the scripts in the hung subframe, leaving the rest of the page's scripts running?
  3. The slow script notification's current wording is "A web page is slowing down your browser. What would you like to do?" Do you think we should change the wording? For the subframe crash notification (bug 1644911), we used the wording "Part of this page crashed." We could change the slow script notification to say something like "Part of this page is slowing down your browser. What would you like to do?"
Flags: needinfo?(dothayer)

(In reply to Chris Peterson [:cpeterson] from comment #5)

  1. So if a page has a hung subframe, we will only show the notification if the user tries to interact with the hung subframe, not anywhere else on the page?

Yes.

  1. And then we will show the notification at the top of the page? If the user clicks the notification's "Stop It" button, will that stop only the scripts in the hung subframe, leaving the rest of the page's scripts running?

Yes.

  1. The slow script notification's current wording is "A web page is slowing down your browser. What would you like to do?" Do you think we should change the wording? For the subframe crash notification (bug 1644911), we used the wording "Part of this page crashed." We could change the slow script notification to say something like "Part of this page is slowing down your browser. What would you like to do?"

I proposed almost that exact wording to rtestard and betsymikel - the consensus was that the existing wording is the best we can do and that the distinction would over-complicate things for users. EDIT: I do kind of lean towards the text you propose, but I don't feel super strongly about it. If you'd like to start a chat with everyone involved please feel free!

Does that all sound good?

Flags: needinfo?(dothayer) → needinfo?(cpeterson)
  1. The slow script notification's current wording is "A web page is slowing down your browser. What would you like to do?" Do you think we should change the wording? For the subframe crash notification (bug 1644911), we used the wording "Part of this page crashed." We could change the slow script notification to say something like "Part of this page is slowing down your browser. What would you like to do?"

I proposed almost that exact wording to rtestard and betsymikel - the consensus was that the existing wording is the best we can do and that the distinction would over-complicate things for users. EDIT: I do kind of lean towards the text you propose, but I don't feel super strongly about it. If you'd like to start a chat with everyone involved please feel free!

Does that all sound good?

I like my suggested wording, but I don't feel strongly. If rtestard and betsymikel want to stick with the existing wording, then that's fine. That just means a little less work for you. :)

Hopefully users will not see slow script notifications often, especially if we only show it if the user interacts with the hung subframe.

Everything sounds good to me!

Flags: needinfo?(cpeterson)

See bug for more details, but effectively the decision is to show the same
notification which we would normally show for hung pages if an iframe hangs,
but only do so if the user is trying to interact with content hung by that
iframe. This should accomplish that.

Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/640fddb6af91
Ensure we show slow script notification for fission iframes r=smaug
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch

As an end user, I have no idea which choice is better for me. On the one hand, I don't mind if something is slow to finish, so would wait for it. On the other, if it is in another tab, and is killing me where I'm working at the moment, I'd rather kill the script, and just refresh the broken tab when I get to it. This is assuming it would ID the offending tab, which I don't think it does at the moment.

Also, I run the "NoScript" addon/extension. How does this factor in? Would this entire thing best be left to an addon, or at least a checkbox?

Depends on: 1700377
You need to log in before you can comment on or make changes to this bug.