Closed Bug 1402660 Opened 7 years ago Closed 7 years ago

canva.com - New page loading is delayed under certain site

Categories

(Web Compatibility :: Desktop, defect, P3)

Firefox 56
defect

Tracking

(firefox-esr52 unaffected, firefox55 unaffected, firefox56 wontfix, firefox57 fix-optional, firefox58 affected)

RESOLVED FIXED
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- wontfix
firefox57 --- fix-optional
firefox58 --- affected

People

(Reporter: pavangudiwada, Unassigned)

References

()

Details

(Keywords: perf, regression, Whiteboard: [webcompat][sitewait])

Attachments

(1 file)

(deleted), application/x-zip-compressed
Details
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0
Build ID: 20170920135025

Steps to reproduce:

1.I opened canva.com.
2.went to the bottom and clicked "open a new logo design"



Actual results:

A blank page with "about:blank" in the search bar was opened.


Expected results:

A new page should have opened for me to register into the site.
STR:
1. Open https://www.canva.com/create/logos/
2. Click the "open a new logo design".


Actual results:
New tab loaded, but there is a clear delay between opened and loading.
Status: UNCONFIRMED → NEW
Has STR: --- → yes
Component: Untriaged → Tabbed Browser
Ever confirmed: true
Keywords: regression
Version: Trunk → 56 Branch
Has Regression Range: --- → no
Source: "//Redirect to the link after tracking is completed" in https://about.canva.com/wp-content/themes/canva/js/scripts.js?ver=1.0.0.
Attached file testcase.zip (deleted) —
Regression range:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=3611ff7a79e6b616088bc4bf14e7ba8cdfe8bebf&tochange=5a73c211f58d6dca5b6938970311111aeb8c6692
Blocks: 1371664
Has Regression Range: no → yes
Summary: Bank page opened instead of a new page. → New page loading is delayed under certain site
Moving this per the regression window & regressing bug. :bkelly, can you take a look / prioritize this?
Component: Tabbed Browser → DOM
Flags: needinfo?(bkelly)
Product: Firefox → Core
The code from comment 2 does this:

      //Redirect to the link after tracking is completed
      var windowReferece = window.open(); //Safari doesn't allow window.open in async calls, so we need to reference it earlier
      canvaAnalytics.trackEvent('topnav_login', trackingProperties, {}, function() {
        windowReferece.location = destinationUrl;
      });

So its:

1. Opening a new window in the foreground.
2. Executes some async code via setTimeout() in the window which is now the background.

As documented for a long time we throttle timeouts in the background window:

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Timeouts_in_inactive_tabs_throttled_to_%3E1000ms

Bug 1371664 fixed some inefficiencies in how we handle background timers.  A side effect of this is we notice windows are in the background sooner and throttle their timers more effectively.  This code has always been racing that mechanism and just happened to beat it in the past thanks to bugs in our implementation.

Solutions:

1. Don't place your current window in the background if you know you have more work to do immediately.  Do your work and then open the new foreground window.
2. Or perform that work in the newly opened window instead of the current window.

Unrelated note:

This site is using a full core all the time for some reason.  (This might slow timers down as well.)  I turned on paint flashing and it seems to be spinning some kind of transparent loading layer on top of all the logo template grid items at the bottom.
Component: DOM → Desktop
Flags: needinfo?(bkelly)
Product: Core → Tech Evangelism
Version: 56 Branch → Firefox 56
Sounds like something we could do outreach on.
Whiteboard: [webcompat][needscontact]
Also, edge has a similar 1+ second delay on navigation since they also do aggressive background timer throttling.
OK, presumably, we think the tradeoff is worth it, for whatever we gained in bug 1371664. Outreach sounds like the right approach here.
Summary: New page loading is delayed under certain site → canva.com - New page loading is delayed under certain site
Keywords: regression
Priority: -- → P3
This site is ranked 217. NI myself for follow up.
Flags: needinfo?(astevenson)
Created an issue on the website and reaching out on Twitter as well.
Flags: needinfo?(astevenson)
Whiteboard: [webcompat][needscontact] → [webcompat][sitewait]
Got a response back:

"As per the team, they suggest that don't place your current window in the background if you know you have more work to do immediately. Do your work and then open the new foreground window.

We effectively did this but we open the link in the current window instead of the foreground window."

It seems to work for me, doesn't open a new tab or window. Can someone confirm please?
(In reply to Adam Stevenson [:adamopenweb] from comment #12)

> It seems to work for me, doesn't open a new tab or window. Can someone
> confirm please?

Yes, this seems fixed now. Thanks Adam!
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: