Closed Bug 1778510 Opened 3 years ago Closed 3 years ago

Cut Performance and timestamps in general over to fine-grained RFP checks

Categories

(Core :: DOM: Performance APIs, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: tjr, Assigned: tjr)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

Attachments

(32 files, 4 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

I had thought this would be a simple patch, but as I got more and more into it I realized how expansive it was.

The goal, in general, is to cut over all ReduceTimePrecision* callsites over to a new signature that takes in a shouldResistFingerprinting boolean to allow fine-grained control of whether we should use RFP's timer precision, or Firefox's general timer precision.

This boolean will be provided by fine-grained calls based on the context of the call, using the newer fine-grained nsContentUtils::ShouldResistFingerprinting() functions.

Edit: See also comment 29

This will allow us to invoke the Timer Precision callback with this
boolean.

This will be needed when we set the Javascript Realm options
for Worklets.

Depends on D151283

Depends on D151297

Along the way we remove the calls to JS::SetTimeResolutionUsec.
This function is used to set values that are only used when
we don't have a ReuceTimerPrecision callback, which we always do
(as confirmed by coverage.) This in turns lets us remove some
other code.

Depends on D151298

This will be needed for the various Timestamp related
members of Animations.

Depends on D151299

Depends on D151302

The System Principal boolean was only used for RFP purposes.
We can repurpose the same boolean for our fine-grained RFP
needs, and populate the boolean not in the Performance ctor
but rather in the CreateFor methods that will populate it
based on the context of their construction.

Depends on D151305

Attachment #9284550 - Attachment description: WIP: Bug 1778510: Add a ShouldResistFingerprinting flag to JS RealmOptions → Bug 1778510: Add a ShouldResistFingerprinting flag to JS RealmOptions r?tcampbell

Depends on D151283

Attachment #9284569 - Attachment description: WIP: Bug 1778510: Add a ShouldRFP boolean to Worklets → Bug 1778510: Add a ShouldRFP boolean to Worklets r?asuth
Attachment #9284570 - Attachment description: WIP: Bug 1778510: Set the RFP boolean on Worker's RealmOptions → Bug 1778510: Set the RFP boolean on Worker's RealmOptions r?asuth
Attachment #9284571 - Attachment description: WIP: Bug 1778510: Add RFP boolean to ReduceTimePrecision functions → Bug 1778510: Add RFP boolean to ReduceTimePrecision functions r?timhuang
Attachment #9284572 - Attachment description: WIP: Bug 1778510: Add a ShouldRFP boolean to Animation → Bug 1778510: Add a ShouldRFP boolean to Animation r?birtles
Attachment #9284573 - Attachment description: WIP: Bug 1778510: Use the ShouldRFP Boolean in Animation's timestamp code → Bug 1778510: Use the ShouldRFP Boolean in Animation's timestamp code r?birtles
Attachment #9284574 - Attachment description: WIP: Bug 1778510: Add ShouldRFP boolean to AnimationTimeline → Bug 1778510: Add ShouldRFP boolean to AnimationTimeline r?birtles
Attachment #9284575 - Attachment description: WIP: Bug 1778510: Use ShouldRFP boolean in AnimationTimeline → Bug 1778510: Use ShouldRFP boolean in AnimationTimeline r?birtles
Attachment #9284576 - Attachment description: WIP: Bug 1778510: Cut over AnimationEffect to new fine-grained TimerPrecision calls → Bug 1778510: Cut over AnimationEffect to new fine-grained TimerPrecision calls r?birtles
Attachment #9284577 - Attachment description: WIP: Bug 1778510: Cut over AudioContext to new fine-grained Timer Precision calls → Bug 1778510: Cut over AudioContext to new fine-grained Timer Precision calls r?padenot
Attachment #9284578 - Attachment description: WIP: Bug 1778510: Change Performance objects from taking SystemPrincipal bool to ShouldRFP bool → Bug 1778510: Change Performance objects from taking SystemPrincipal bool to ShouldRFP bool r?sefeng
Attachment #9284579 - Attachment description: WIP: Bug 1778510: Cut over a bunch of performance time precision calls to use the RFP boolean → Bug 1778510: Cut over a bunch of performance time precision calls to use the RFP boolean r?sefeng
Attachment #9284580 - Attachment description: WIP: Bug 1778510: Remove a short-circuit check we never fully understood → Bug 1778510: Improve the comment on a short-circuit check we still haven't solved r?sefeng
Attachment #9284581 - Attachment description: WIP: Bug 1778510: Update the WorkerScope Vsync method to use fine-grained RFP information → Bug 1778510: Update the WorkerScope Vsync method to use fine-grained RFP information r?asuth

This way we can use it in more tests.

Depends on D156505

Depends on D156507

Rename browser_navigator_header.sjs to file_navigator_header.sjs
This way all support files for the test begin with file_ and only
test files begin with browser_

Depends on D156508

This commit moves the test description from the test file
to the shared infrastructure.

It also adds two parameters to the set of shared tests:
extraData and extraPrefs. extraData is data passed through
to the validation function (mostly) unchanged and unused.
extraPrefs are prefs that applied (and removed) before executing
the test.

Depends on D156509

We now need to check if a value is rounded to the RFP
value (16.67ms) or the baseline RTP value (default 1 ms).
To do this we pass both precisions in extraData.

We also need to communicate the expected behavior of rounding,
that is if RFP should apply for this test set. Typically we
would know this based on the expectedValues which are supplied
to the testFunction (as in the navigator test) - but here we
don't know the expected values ahead of time - we're testing if
timer values are properly rounded. Therefore we need to add
a boolean (in each test) that indicates if RFP is expected to
apply for this test.

Depends on D156514

Welcome everyone to this very large patchset you have been flagged for review on. I appreciate your attention.

As mentioned in the first comment: this patchset grew and grew until it eventually came to encompass all calls to the ReduceTimePrecision set of functions which means it affects virtually every dom-exposed timestamp everywhere.

To start at the beginning. In Bug 1450398 we (that is to say I, voluneteering on behalf of Tor) are pursuing a goal of allowing Resist Fingerprinting (RFP, privacy.resistFingerprinting, Tor's pref) to be disabled on a per-site basis, while also allowing it to be restricted to PBM and to not affect Web Extensions. It's a slow migration, and all behind a testing preference privacy.resistFingerprinting.testGranularityMask, so nothing is directly affecting Tor or FF users who have enabled RFP today.

The starting point of this bug was to cut over the Performance objects so they didn't round the timestamp when they didn't need to. I quickly realized that actually I would need to cut over all the ReduceTimePrecision functions. Presently, they take two bools IsSystemPrincipal and CrossOriginIsolated that help them determine their behavior. As part of this cutover, these functions needed to now consider three bools: ShouldResistFingerprinting (because no longer is this a global pref, but now a context-sensitive decision where we pass in the appropriate behavior), IsSystemPrincipal, and CrossOriginIsolated. That's a lot of bools, so I opted to make it a bitfield.

I would also need to throw a ShouldRFP boolean into a JS Context, as JS will call into the ReduceTimePrecision functions also. This means Workers, Worklets, and the normal page JS Realm get some attention as well.

So the bulk of the patches for everyone besides Tim are of the form "Figure out if we should resist fingerprinting in this context by using the new ShouldRFP functions and then use a new helper function GetRTPCallerType() to call the ReduceTimePrecision function". You will probably want to peek at D156504 to see how that helper function works so you can be sure I'm doing the right thing in your particular area of expertise.

I have try nearly completely green, I'm just doing some double checking that these are true intermittents not related to the patch.

As far as testing goes, all tests that previously tested that timestamps are clamped appropriately should still pass. Even better if they tested Cross Origin Isolation or RFP. Tests that did RFP sometimes needed to be refactored, in particular this test which tests performance.now, event timestamp, JS' Date, audiocontext, and File's timestamp was completely rewritten to test things under third party iframes respecting RFP being exempted on different domains related to the frame/framer - so all that is pretty well tested.

Attachment #9284571 - Attachment description: Bug 1778510: Add RFP boolean to ReduceTimePrecision functions r?timhuang → Bug 1778510: Add a CallerType to ReduceTimePrecision functions r?timhuang
Attachment #9284572 - Attachment description: Bug 1778510: Add a ShouldRFP boolean to Animation r?birtles → Bug 1778510: Add a Timer Caller Type to Animation r?birtles
Attachment #9284573 - Attachment description: Bug 1778510: Use the ShouldRFP Boolean in Animation's timestamp code r?birtles → Bug 1778510: Use the Timer Caller Type in Animation's timestamp code r?birtles
Attachment #9284574 - Attachment description: Bug 1778510: Add ShouldRFP boolean to AnimationTimeline r?birtles → Bug 1778510: Add Timer Caller Type to AnimationTimeline r?birtles
Attachment #9284575 - Attachment description: Bug 1778510: Use ShouldRFP boolean in AnimationTimeline r?birtles → Bug 1778510: Use Timer Caller Type in AnimationTimeline r?birtles
Attachment #9284578 - Attachment description: Bug 1778510: Change Performance objects from taking SystemPrincipal bool to ShouldRFP bool r?sefeng → Bug 1778510: Change Performance objects from taking SystemPrincipal bool to a Timer Caller Type r?sefeng
Attachment #9284579 - Attachment description: Bug 1778510: Cut over a bunch of performance time precision calls to use the RFP boolean r?sefeng → Bug 1778510: Cut over a bunch of performance time precision calls to use the new calling convention r?sefeng
Attachment #9284575 - Attachment is obsolete: true

For the less common subclasses we will hardcode a choice to always obey
RFP if the pref is enabled.

This does not remove mShouldResistFingerprinting from
WorkerPrivate->mLoadInfo. This is because in between
mLoadInfo getting initialized (including where shouldRFP gets
set) and when the worker's global scope is constructed, we
need to keep track of whether we shouldRFP or not. We could
make this single bool an outparam of GetLoadInfo to later
pass to GetOrCreateGlobalScope, but that seems noisy.

Depends on D157562

This centralizes the logic in one place.

Depends on D151299

Attachment #9293215 - Attachment is obsolete: true
Attachment #9295115 - Attachment description: Bug 177810: Cut ConnectionWorker over to GlobalScope()->ShouldRFP() r?asuth → Bug 1778510: Cut ConnectionWorker over to GlobalScope()->ShouldRFP() r?asuth
Attachment #9295091 - Attachment description: WIP: Bug 1778510: Fix thread requirements for WorkerNavigator a?suth → Bug 1778510: Fix thread requirements for WorkerNavigator r?asuth

I'm not going to land this patch, instead I'm going
to rebase it into the others like it was always this
way. But I wanted to get your r+ on it this way because
I thought that'd be easier to understand.

tl;dr: RTPCallerType on Workers (and probably Worklets)
was broken because they were off main thread.

Basically I was getting test failures that were not directly
attributed to this, but rather exposed the fact that RTPCaller
type wasn't working in workers. I eventually (took a looooong
time) realized that was because nsIGlobalObject::RTPCallerType
was using PrincipalOrNull() and if you're off main thread -
that's null.

So I let RTPCallerType be overrideen in subclasses, and override
it for Workers and Worklets. I tried to not duplicate code with
a second function, but it couldn't be used for Workers.

Attachment #9302063 - Attachment is obsolete: true
Attachment #9284570 - Attachment is obsolete: true
Pushed by tritter@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/28ac62019086 Require subclasses of nsIGlobalObject implement ShouldRFP r=asuth https://hg.mozilla.org/integration/autoland/rev/41d6d9f889e1 Move shouldRFP from WorkerPrivate to WorkerGlobalScopeBase r=asuth https://hg.mozilla.org/integration/autoland/rev/e93004f91f6f Add a ShouldResistFingerprinting flag to JS RealmOptions r=jandem https://hg.mozilla.org/integration/autoland/rev/68d607aaa121 Populate ShouldRFP on content's JS Realm r=mccr8 https://hg.mozilla.org/integration/autoland/rev/17a63044b0dc Add a ShouldRFP boolean to Worklets r=asuth https://hg.mozilla.org/integration/autoland/rev/dba220581d93 Add a CallerType to ReduceTimePrecision functions r=timhuang https://hg.mozilla.org/integration/autoland/rev/5278e40b80c3 Add RTPCallerType to GlobalObject r=asuth https://hg.mozilla.org/integration/autoland/rev/a2f00462157e Cut ConnectionWorker over to GlobalScope()->ShouldRFP() r=asuth https://hg.mozilla.org/integration/autoland/rev/c6a9fe0ce713 Update the WorkerScope Vsync method to use fine-grained RFP information r=asuth https://hg.mozilla.org/integration/autoland/rev/9c6e85369f15 Fix thread requirements for WorkerNavigator r=asuth https://hg.mozilla.org/integration/autoland/rev/915149e27da0 Add a Timer Caller Type to Animation r=birtles https://hg.mozilla.org/integration/autoland/rev/450f4ccd6cd0 Use the Timer Caller Type in Animation's timestamp code r=birtles https://hg.mozilla.org/integration/autoland/rev/187d71f42593 Add Timer Caller Type to AnimationTimeline r=birtles https://hg.mozilla.org/integration/autoland/rev/35b7c7df62ce Cut over AnimationEffect to new fine-grained TimerPrecision calls r=birtles https://hg.mozilla.org/integration/autoland/rev/38a9f45c9621 Cut over AudioContext to new fine-grained Timer Precision calls r=padenot https://hg.mozilla.org/integration/autoland/rev/2c5eecc4ad4c Change Performance objects from taking SystemPrincipal bool to a Timer Caller Type r=sefeng,asuth https://hg.mozilla.org/integration/autoland/rev/02a306acd093 Cut over a bunch of performance time precision calls to use the new calling convention r=sefeng https://hg.mozilla.org/integration/autoland/rev/c0927de6153b Improve the comment on a short-circuit check we still haven't solved r=sefeng https://hg.mozilla.org/integration/autoland/rev/eb1b7e30e519 Cut over RTCStatsReport to use the new TimePrecision design r=jesup https://hg.mozilla.org/integration/autoland/rev/9ba44fd8a440 Cut browser_navigator_iframes.js over to a more shared framework r=timhuang https://hg.mozilla.org/integration/autoland/rev/328d4d2df591 Cut over Blob Timestamps to the new design r=smaug https://hg.mozilla.org/integration/autoland/rev/ff20d709839a Cut Event over to new Timer Design r=smaug https://hg.mozilla.org/integration/autoland/rev/53799e6a46dd Rename a navigator test file to make a consistent naming scheme r=timhuang https://hg.mozilla.org/integration/autoland/rev/6d42e7a083ac Improve the shared test infrastructure r=timhuang https://hg.mozilla.org/integration/autoland/rev/507e84e1dafe Create the reduce time precision test outline r=timhuang https://hg.mozilla.org/integration/autoland/rev/bb71cc94a8be Make the RTP test actually test something r=timhuang https://hg.mozilla.org/integration/autoland/rev/18291e692834 Extend the RTP test to another testset r=timhuang https://hg.mozilla.org/integration/autoland/rev/eb64607765a9 Refactor the test sets to be much more terse r=timhuang https://hg.mozilla.org/integration/autoland/rev/f5b7f8ce38b0 Add tests that exercise RFP exemptions r=timhuang https://hg.mozilla.org/integration/autoland/rev/d9a54521f3fb Remove a time precision test that no longer works and is superseded r=timhuang https://hg.mozilla.org/integration/autoland/rev/cbdb34cf7c8d Add a framework for a test that will test the animation APIs r=timhuang https://hg.mozilla.org/integration/autoland/rev/e23d03ba5a89 Add the actual content of the animation API test r=timhuang
Regressions: 1802850
Pushed by tritter@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/40e0708c01e7 Require subclasses of nsIGlobalObject implement ShouldRFP r=asuth https://hg.mozilla.org/integration/autoland/rev/32a358de4843 Move shouldRFP from WorkerPrivate to WorkerGlobalScopeBase r=asuth https://hg.mozilla.org/integration/autoland/rev/c575e824e291 Add a ShouldResistFingerprinting flag to JS RealmOptions r=jandem https://hg.mozilla.org/integration/autoland/rev/58642357a19c Populate ShouldRFP on content's JS Realm r=mccr8 https://hg.mozilla.org/integration/autoland/rev/86aa59de11b4 Add a ShouldRFP boolean to Worklets r=asuth https://hg.mozilla.org/integration/autoland/rev/5af032c628c0 Add a CallerType to ReduceTimePrecision functions r=timhuang https://hg.mozilla.org/integration/autoland/rev/d801fdeac90b Add RTPCallerType to GlobalObject r=asuth https://hg.mozilla.org/integration/autoland/rev/b78576875db0 Cut ConnectionWorker over to GlobalScope()->ShouldRFP() r=asuth https://hg.mozilla.org/integration/autoland/rev/5f20af8e1263 Update the WorkerScope Vsync method to use fine-grained RFP information r=asuth https://hg.mozilla.org/integration/autoland/rev/43ad5ee21f79 Fix thread requirements for WorkerNavigator r=asuth https://hg.mozilla.org/integration/autoland/rev/a87eaaec3f9c Add a Timer Caller Type to Animation r=birtles https://hg.mozilla.org/integration/autoland/rev/ebb21153aaac Use the Timer Caller Type in Animation's timestamp code r=birtles https://hg.mozilla.org/integration/autoland/rev/47db43142c62 Add Timer Caller Type to AnimationTimeline r=birtles https://hg.mozilla.org/integration/autoland/rev/4ceffd409eae Cut over AnimationEffect to new fine-grained TimerPrecision calls r=birtles https://hg.mozilla.org/integration/autoland/rev/fa15a3572741 Cut over AudioContext to new fine-grained Timer Precision calls r=padenot https://hg.mozilla.org/integration/autoland/rev/1e650de647c0 Change Performance objects from taking SystemPrincipal bool to a Timer Caller Type r=sefeng,asuth https://hg.mozilla.org/integration/autoland/rev/0651c128e369 Cut over a bunch of performance time precision calls to use the new calling convention r=sefeng https://hg.mozilla.org/integration/autoland/rev/704db76eab17 Improve the comment on a short-circuit check we still haven't solved r=sefeng https://hg.mozilla.org/integration/autoland/rev/df6d0fe89d5b Cut over RTCStatsReport to use the new TimePrecision design r=jesup https://hg.mozilla.org/integration/autoland/rev/cfad733d4aaf Cut browser_navigator_iframes.js over to a more shared framework r=timhuang https://hg.mozilla.org/integration/autoland/rev/a49c0f69d519 Cut over Blob Timestamps to the new design r=smaug https://hg.mozilla.org/integration/autoland/rev/86c0923fd81f Cut Event over to new Timer Design r=smaug https://hg.mozilla.org/integration/autoland/rev/45051b62e3f1 Rename a navigator test file to make a consistent naming scheme r=timhuang https://hg.mozilla.org/integration/autoland/rev/8fbabeb8244b Improve the shared test infrastructure r=timhuang https://hg.mozilla.org/integration/autoland/rev/dfaef3ad17a9 Create the reduce time precision test outline r=timhuang https://hg.mozilla.org/integration/autoland/rev/39cc006b610c Make the RTP test actually test something r=timhuang https://hg.mozilla.org/integration/autoland/rev/ff93191cafd2 Extend the RTP test to another testset r=timhuang https://hg.mozilla.org/integration/autoland/rev/5b5dc70cdd0a Refactor the test sets to be much more terse r=timhuang https://hg.mozilla.org/integration/autoland/rev/74fb5fed93ea Add tests that exercise RFP exemptions r=timhuang https://hg.mozilla.org/integration/autoland/rev/6cf7473afae8 Remove a time precision test that no longer works and is superseded r=timhuang https://hg.mozilla.org/integration/autoland/rev/abbba7e72b57 Add a framework for a test that will test the animation APIs r=timhuang https://hg.mozilla.org/integration/autoland/rev/59350ca6f3f2 Add the actual content of the animation API test r=timhuang
Pushed by tritter@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d73ee2e40c93 Require subclasses of nsIGlobalObject implement ShouldRFP r=asuth https://hg.mozilla.org/integration/autoland/rev/91dd29cbf16d Move shouldRFP from WorkerPrivate to WorkerGlobalScopeBase r=asuth https://hg.mozilla.org/integration/autoland/rev/bd4251cc135f Add a ShouldResistFingerprinting flag to JS RealmOptions r=jandem https://hg.mozilla.org/integration/autoland/rev/d51ead218a89 Populate ShouldRFP on content's JS Realm r=mccr8 https://hg.mozilla.org/integration/autoland/rev/1a27e6f8f9d8 Add a ShouldRFP boolean to Worklets r=asuth https://hg.mozilla.org/integration/autoland/rev/32fdf6f014f7 Add a CallerType to ReduceTimePrecision functions r=timhuang https://hg.mozilla.org/integration/autoland/rev/a8e623b228ae Add RTPCallerType to GlobalObject r=asuth https://hg.mozilla.org/integration/autoland/rev/aba9097fa0f1 Cut ConnectionWorker over to GlobalScope()->ShouldRFP() r=asuth https://hg.mozilla.org/integration/autoland/rev/4bc2e3050d75 Update the WorkerScope Vsync method to use fine-grained RFP information r=asuth https://hg.mozilla.org/integration/autoland/rev/866c3dfbcc33 Fix thread requirements for WorkerNavigator r=asuth https://hg.mozilla.org/integration/autoland/rev/8aff2d2c67eb Add a Timer Caller Type to Animation r=birtles https://hg.mozilla.org/integration/autoland/rev/61a0ae3e24bd Use the Timer Caller Type in Animation's timestamp code r=birtles https://hg.mozilla.org/integration/autoland/rev/5c5f879f5a0f Add Timer Caller Type to AnimationTimeline r=birtles https://hg.mozilla.org/integration/autoland/rev/58335f848eed Cut over AnimationEffect to new fine-grained TimerPrecision calls r=birtles https://hg.mozilla.org/integration/autoland/rev/c89df8e0e89d Cut over AudioContext to new fine-grained Timer Precision calls r=padenot https://hg.mozilla.org/integration/autoland/rev/264391f1a7fe Change Performance objects from taking SystemPrincipal bool to a Timer Caller Type r=sefeng,asuth https://hg.mozilla.org/integration/autoland/rev/7c10596dbad5 Cut over a bunch of performance time precision calls to use the new calling convention r=sefeng https://hg.mozilla.org/integration/autoland/rev/6005bf5a4eb7 Improve the comment on a short-circuit check we still haven't solved r=sefeng https://hg.mozilla.org/integration/autoland/rev/5e3f387086a8 Cut over RTCStatsReport to use the new TimePrecision design r=jesup https://hg.mozilla.org/integration/autoland/rev/12ca06bc5608 Cut browser_navigator_iframes.js over to a more shared framework r=timhuang https://hg.mozilla.org/integration/autoland/rev/1d48979d8fb2 Cut over Blob Timestamps to the new design r=smaug https://hg.mozilla.org/integration/autoland/rev/e1058e60dc91 Cut Event over to new Timer Design r=smaug https://hg.mozilla.org/integration/autoland/rev/6bd6ae7136e8 Rename a navigator test file to make a consistent naming scheme r=timhuang https://hg.mozilla.org/integration/autoland/rev/f1472a04734c Improve the shared test infrastructure r=timhuang https://hg.mozilla.org/integration/autoland/rev/cdacd3a4029e Create the reduce time precision test outline r=timhuang https://hg.mozilla.org/integration/autoland/rev/dae0d3984525 Make the RTP test actually test something r=timhuang https://hg.mozilla.org/integration/autoland/rev/d775da74592f Extend the RTP test to another testset r=timhuang https://hg.mozilla.org/integration/autoland/rev/d1a12c6b46fb Refactor the test sets to be much more terse r=timhuang https://hg.mozilla.org/integration/autoland/rev/9028c4700078 Add tests that exercise RFP exemptions r=timhuang https://hg.mozilla.org/integration/autoland/rev/c4adefaadbb3 Remove a time precision test that no longer works and is superseded r=timhuang https://hg.mozilla.org/integration/autoland/rev/1635299da306 Add a framework for a test that will test the animation APIs r=timhuang https://hg.mozilla.org/integration/autoland/rev/3ea8716ecf69 Add the actual content of the animation API test r=timhuang

https://hg.mozilla.org/mozilla-central/rev/d73ee2e40c93
https://hg.mozilla.org/mozilla-central/rev/91dd29cbf16d
https://hg.mozilla.org/mozilla-central/rev/bd4251cc135f
https://hg.mozilla.org/mozilla-central/rev/d51ead218a89
https://hg.mozilla.org/mozilla-central/rev/1a27e6f8f9d8
https://hg.mozilla.org/mozilla-central/rev/32fdf6f014f7
https://hg.mozilla.org/mozilla-central/rev/a8e623b228ae
https://hg.mozilla.org/mozilla-central/rev/aba9097fa0f1
https://hg.mozilla.org/mozilla-central/rev/4bc2e3050d75
https://hg.mozilla.org/mozilla-central/rev/866c3dfbcc33
https://hg.mozilla.org/mozilla-central/rev/8aff2d2c67eb
https://hg.mozilla.org/mozilla-central/rev/61a0ae3e24bd
https://hg.mozilla.org/mozilla-central/rev/5c5f879f5a0f
https://hg.mozilla.org/mozilla-central/rev/58335f848eed
https://hg.mozilla.org/mozilla-central/rev/c89df8e0e89d
https://hg.mozilla.org/mozilla-central/rev/264391f1a7fe
https://hg.mozilla.org/mozilla-central/rev/7c10596dbad5
https://hg.mozilla.org/mozilla-central/rev/6005bf5a4eb7
https://hg.mozilla.org/mozilla-central/rev/5e3f387086a8
https://hg.mozilla.org/mozilla-central/rev/12ca06bc5608
https://hg.mozilla.org/mozilla-central/rev/1d48979d8fb2
https://hg.mozilla.org/mozilla-central/rev/e1058e60dc91
https://hg.mozilla.org/mozilla-central/rev/6bd6ae7136e8
https://hg.mozilla.org/mozilla-central/rev/f1472a04734c
https://hg.mozilla.org/mozilla-central/rev/cdacd3a4029e
https://hg.mozilla.org/mozilla-central/rev/dae0d3984525
https://hg.mozilla.org/mozilla-central/rev/d775da74592f
https://hg.mozilla.org/mozilla-central/rev/d1a12c6b46fb
https://hg.mozilla.org/mozilla-central/rev/9028c4700078
https://hg.mozilla.org/mozilla-central/rev/c4adefaadbb3
https://hg.mozilla.org/mozilla-central/rev/1635299da306
https://hg.mozilla.org/mozilla-central/rev/3ea8716ecf69

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
See Also: → 1804522
Regressions: 1804963
Flags: needinfo?(tom)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: