Closed Bug 1506643 Opened 5 years ago Closed 5 years ago

When opening new tabs and windows never load "about:newtab" but "about:blank"

Categories

(Remote Protocol :: Marionette, enhancement, P1)

enhancement

Tracking

(firefox-esr60 fixed, firefox64 fixed, firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox-esr60 --- fixed
firefox64 --- fixed
firefox65 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

Details

Attachments

(1 file)

We never disabled the new tab page and as such it will always get loaded when opening a new tab or window. Side-effect is that we will see additional process changes for our registered framescript, and causes race conditions like bug 1503027. It may also cause negative impacts to our performance.

This feature was enabled by default 7 years ago by bug 716538!

To turn it off we only have to set the preference `browser.newtabpage.enabled` to false.

Note, that also the to implement "New Window" WebDriver command also expects to see all tabs and windows being opened with "about:blank".
Blocks: 1503027
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/88fb9e85339c
[marionette] Disable "about:newtab" page, and always load "about:blank". r=ato
https://hg.mozilla.org/mozilla-central/rev/88fb9e85339c
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
The top intermittent bug 1503027 is no longer present since this patch landed on the integration branches. It would be a good time now to uplift the test-only patch to beta and esr60. Thanks.
Whiteboard: [checkin-needed-beta][checkin-needed-esr60]
Blocks: 1503274
Blocks: 1506782
Whiteboard: [checkin-needed-beta][checkin-needed-esr60] → [checkin-needed-esr60]
Many AWSY perf improvements noticed! \0/

== Change summary for alert #17534 (as of Mon, 12 Nov 2018 18:11:33 GMT) ==

Improvements:

 11%  Resident Memory windows7-32 opt stylo                               554,407,015.25 -> 491,195,086.79
  5%  JS windows10-64-qr opt stylo                                        117,338,453.12 -> 111,258,011.89
  5%  JS windows7-32 opt stylo                                            85,537,254.95 -> 81,232,746.85
  5%  Images linux64 opt stylo                                            5,155,336.15 -> 4,897,818.78
  5%  JS windows10-64 opt stylo                                           116,381,959.09 -> 110,613,749.35
  5%  JS osx-10-10 opt stylo                                              116,666,969.23 -> 110,898,770.59
  5%  JS linux64 opt stylo                                                115,002,200.45 -> 109,572,559.76
  5%  JS windows10-64 pgo stylo                                           116,038,653.33 -> 110,682,626.96
  4%  JS linux64-qr opt stylo                                             115,198,980.91 -> 110,114,465.94
  4%  JS windows7-32 pgo stylo                                            85,267,845.60 -> 81,511,343.79
  4%  JS linux64-stylo-sequential opt stylo-sequential                    114,588,548.38 -> 109,635,243.36
  4%  Explicit Memory windows10-64 pgo stylo                              332,864,742.94 -> 318,677,155.50
  4%  Explicit Memory windows10-64 opt stylo                              332,013,331.98 -> 318,334,639.84
  4%  Resident Memory linux64-stylo-sequential opt stylo-sequential       600,514,290.98 -> 575,955,355.61
  4%  Resident Memory windows10-64 pgo stylo                              506,314,933.32 -> 485,813,445.01
  4%  Images osx-10-10 opt stylo                                          5,647,657.69 -> 5,424,671.30
  4%  Resident Memory windows10-64 opt stylo                              501,334,897.57 -> 481,830,712.86
  4%  Explicit Memory osx-10-10 opt stylo                                 363,771,123.75 -> 350,324,478.67
  4%  Explicit Memory linux64 opt stylo                                   363,821,276.64 -> 350,635,094.96
  4%  Explicit Memory linux64-stylo-sequential opt stylo-sequential       357,966,949.31 -> 345,183,268.04
  3%  Explicit Memory windows7-32 opt stylo                               263,224,918.66 -> 254,102,417.66
  3%  Heap Unclassified windows10-64 pgo stylo                            44,173,188.46 -> 42,663,255.37
  3%  Explicit Memory windows10-64-qr opt stylo                           359,756,193.49 -> 347,809,798.07
  3%  Explicit Memory windows7-32 pgo stylo                               262,435,836.37 -> 254,282,106.70
  3%  Heap Unclassified windows10-64 opt stylo                            44,102,933.35 -> 42,776,004.12
  3%  Heap Unclassified linux64-stylo-sequential opt stylo-sequential     73,860,115.91 -> 71,849,980.23
  3%  Heap Unclassified linux64 opt stylo                                 74,770,410.53 -> 72,880,594.45

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=17534
Hm, I'm not particular sure why we see all those perf improvements because the change I made only affects Marionette tests, and specifically when we open new tabs/windows. 

Joel and Gijs, do you have an idea why we get all those improvements? I mean it's great, but I simply don't understand it.
Flags: needinfo?(jmaher)
Flags: needinfo?(gijskruitbosch+bugs)
Yeah, the perf change should be related to something else. Ionut, can you doublecheck? Maybe something else in the merge did this?
Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(igoldan)
(In reply to :Gijs (he/him) from comment #11)
> Yeah, the perf change should be related to something else. Ionut, can you
> doublecheck? Maybe something else in the merge did this?

I had a look at the graphs, and came to the same conclusion as Ionut.

As discussed with Eric yesterday on IRC, I'm pretty sure this is because AWSY uses Marionette, and so we're effectively no longer measuring about:newtab with AWSY. That's not great, because it makes AWSY less representative of real-world usage. Henrik, is it straightforward to revert this change for AWSY specifically?
Flags: needinfo?(jmaher)
Flags: needinfo?(igoldan)
Flags: needinfo?(hskupin)
I don't know AWSY in that detail but it should be able to easily set this preference to `true` before starting Firefox. Eric, can you or Bob have a look at this?

For bare Marionette tests, and for users of Selenium and other web testing frameworks we want to keep it as is.
Flags: needinfo?(erahm)
Flags: needinfo?(bob)
From my understanding awsy uses the following json files https://searchfox.org/mozilla-central/source/testing/awsy/conf/ to set prefs. I'm not sure how they interact with the default prefs from marionette however.
Flags: needinfo?(bob)
Blocks: 1507267
I filed bug 1507267 to get the preference added back for awsy.
Flags: needinfo?(hskupin)
Flags: needinfo?(erahm)
Depends on: 1508218
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.