Closed Bug 1787290 Opened 3 years ago Closed 3 years ago

Cache isDefaultBrowser targeting to avoid slow / disk access

Categories

(Firefox :: Messaging System, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
106 Branch
Iteration:
106.1 - Aug 22 - Sept 2
Tracking Status
firefox106 --- fixed

People

(Reporter: Mardak, Assigned: beth)

References

Details

Attachments

(1 file)

Bug 1734120 comment 36 noticed a message targeting !isDefaultBrowser causes slowness for Snap. We can cache this targeting to avoid it in the common case. And maybe just naively doing so is good enough (where without invalidation, the value could be outdated).

Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6c93386d6258 Cache isDefaultBrowser in ASRouter targeting r=Mardak

Backed out for causing bc failures on browser_asrouter_targeting.js.

Push with failures

Failure log

Backout link

[task 2022-08-26T19:10:20.389Z] 19:10:20     INFO - TEST-PASS | browser/components/newtab/test/browser/browser_asrouter_targeting.js | should select message based on currentDate > timestamp - 
[task 2022-08-26T19:10:20.390Z] 19:10:20     INFO - Leaving test bound checkCurrentDate
[task 2022-08-26T19:10:20.391Z] 19:10:20     INFO - Entering test bound check_usesFirefoxSync
[task 2022-08-26T19:10:20.392Z] 19:10:20     INFO - Console message: [JavaScript Error: "attribute_error: foo" {file: "resource://messaging-system/targeting/Targeting.jsm" line: 133}]
[task 2022-08-26T19:10:20.393Z] 19:10:20     INFO - logUndesiredEvent@resource://messaging-system/targeting/Targeting.jsm:133:10
[task 2022-08-26T19:10:20.393Z] 19:10:20     INFO - createContextWithTimeout/get/<@resource://messaging-system/targeting/Targeting.jsm:154:30
[task 2022-08-26T19:10:20.394Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:139:16
[task 2022-08-26T19:10:20.394Z] 19:10:20     INFO - 95/b.Identifier@resource://gre/modules/components-utils/mozjexl.js:1:5733
[task 2022-08-26T19:10:20.395Z] 19:10:20     INFO - 94/e.prototype.eval/<@resource://gre/modules/components-utils/mozjexl.js:1:4351
[task 2022-08-26T19:10:20.395Z] 19:10:20     INFO - 
[task 2022-08-26T19:10:20.398Z] 19:10:20     INFO - Console message: [JavaScript Error: "test error" {file: "chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js" line: 94}]
[task 2022-08-26T19:10:20.399Z] 19:10:20     INFO - get foo@chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js:94:13
[task 2022-08-26T19:10:20.399Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:196:15
[task 2022-08-26T19:10:20.400Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:81:11
[task 2022-08-26T19:10:20.400Z] 19:10:20     INFO - createContextWithTimeout/get/<@resource://messaging-system/targeting/Targeting.jsm:152:13
[task 2022-08-26T19:10:20.400Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:139:16
[task 2022-08-26T19:10:20.400Z] 19:10:20     INFO - 95/b.Identifier@resource://gre/modules/components-utils/mozjexl.js:1:5733
[task 2022-08-26T19:10:20.400Z] 19:10:20     INFO - 94/e.prototype.eval/<@resource://gre/modules/components-utils/mozjexl.js:1:4351
[task 2022-08-26T19:10:20.400Z] 19:10:20     INFO - 
[task 2022-08-26T19:10:20.402Z] 19:10:20     INFO - Console message: [JavaScript Error: "test error" {file: "chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js" line: 94}]
[task 2022-08-26T19:10:20.402Z] 19:10:20     INFO - get foo@chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js:94:13
[task 2022-08-26T19:10:20.402Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:196:15
[task 2022-08-26T19:10:20.402Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:81:11
[task 2022-08-26T19:10:20.402Z] 19:10:20     INFO - createContextWithTimeout/get/<@resource://messaging-system/targeting/Targeting.jsm:152:13
[task 2022-08-26T19:10:20.403Z] 19:10:20     INFO - get@resource://messaging-system/targeting/Targeting.jsm:139:16
[task 2022-08-26T19:10:20.403Z] 19:10:20     INFO - 95/b.Identifier@resource://gre/modules/components-utils/mozjexl.js:1:5733
[task 2022-08-26T19:10:20.403Z] 19:10:20     INFO - 94/e.prototype.eval/<@resource://gre/modules/components-utils/mozjexl.js:1:4351
[task 2022-08-26T19:10:20.403Z] 19:10:20     INFO - 
[task 2022-08-26T19:10:20.404Z] 19:10:20     INFO - TEST-PASS | browser/components/newtab/test/browser/browser_asrouter_targeting.js | should return true if a fx account is set - 
<...>
[task 2022-08-26T19:10:20.430Z] 19:10:20     INFO - TEST-PASS | browser/components/newtab/test/browser/browser_asrouter_targeting.js | should select correct item by searchEngines.installed - 
[task 2022-08-26T19:10:20.431Z] 19:10:20     INFO - Leaving test bound checksearchEngines
[task 2022-08-26T19:10:20.432Z] 19:10:20     INFO - Entering test bound checkisDefaultBrowser
[task 2022-08-26T19:10:20.433Z] 19:10:20     INFO - Buffered messages finished
[task 2022-08-26T19:10:20.435Z] 19:10:20     INFO - TEST-UNEXPECTED-FAIL | browser/components/newtab/test/browser/browser_asrouter_targeting.js | isDefaultBrowser should be a boolean value - Got "object", expected "boolean"
[task 2022-08-26T19:10:20.435Z] 19:10:20     INFO - Stack trace:
[task 2022-08-26T19:10:20.435Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:test_is:1468
[task 2022-08-26T19:10:20.435Z] 19:10:20     INFO - chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js:checkisDefaultBrowser:356
[task 2022-08-26T19:10:20.435Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:handleTask:1028
[task 2022-08-26T19:10:20.436Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1100
[task 2022-08-26T19:10:20.437Z] 19:10:20     INFO - Not taking screenshot here: see the one that was previously logged
[task 2022-08-26T19:10:20.438Z] 19:10:20     INFO - TEST-UNEXPECTED-FAIL | browser/components/newtab/test/browser/browser_asrouter_targeting.js | isDefaultBrowser should be equal to ShellService.isDefaultBrowser() - Got null, expected false
[task 2022-08-26T19:10:20.438Z] 19:10:20     INFO - Stack trace:
[task 2022-08-26T19:10:20.439Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:test_is:1468
[task 2022-08-26T19:10:20.439Z] 19:10:20     INFO - chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js:checkisDefaultBrowser:357
[task 2022-08-26T19:10:20.439Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:handleTask:1028
[task 2022-08-26T19:10:20.439Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1100
[task 2022-08-26T19:10:20.440Z] 19:10:20     INFO - Not taking screenshot here: see the one that was previously logged
[task 2022-08-26T19:10:20.441Z] 19:10:20     INFO - TEST-UNEXPECTED-FAIL | browser/components/newtab/test/browser/browser_asrouter_targeting.js | should select correct item by isDefaultBrowser - Got null, expected [object Object]
[task 2022-08-26T19:10:20.441Z] 19:10:20     INFO - Stack trace:
[task 2022-08-26T19:10:20.441Z] 19:10:20     INFO - chrome://mochikit/content/browser-test.js:test_is:1468
[task 2022-08-26T19:10:20.442Z] 19:10:20     INFO - chrome://mochitests/content/browser/browser/components/newtab/test/browser/browser_asrouter_targeting.js:checkisDefaultBrowser:366
[task 2022-08-26T19:10:20.443Z] 19:10:20     INFO - Leaving test bound checkisDefaultBrowser
[task 2022-08-26T19:10:20.443Z] 19:10:20     INFO - Entering test bound checkdevToolsOpenedCount
[task 2022-08-26T19:10:20.444Z] 19:10:20     INFO - TEST-PASS | browser/components/newtab/test/browser/browser_asrouter_targeting.js | devToolsOpenedCount should be equal to devtools.selfxss.count pref value - 
Flags: needinfo?(brennie)
Flags: needinfo?(brennie)
Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c0865c4d8f2f Cache isDefaultBrowser in ASRouter targeting r=Mardak

Backed out changeset c0865c4d8f2f (bug 1787290) for causing xpc failures in backgroundtasks/tests/xpcshell/test_backgroundtask_targeting.js

Backout link: https://hg.mozilla.org/integration/autoland/rev/685b921a9d0a55ba704019b47f76e9c0361393ac

Push with failures

Failure log

TEST-UNEXPECTED-FAIL | toolkit/components/backgroundtasks/tests/xpcshell/test_backgroundtask_targeting.js | test_targeting - [test_targeting : 16] 0 == 11
Flags: needinfo?(brennie)
Flags: needinfo?(brennie)
Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7d92f5c9c97c Cache isDefaultBrowser in ASRouter targeting r=Mardak
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: