Commit Graph

1438 Commits

Author SHA1 Message Date
alwu
32d6dd6d5b Bug 1647430 - part3 : remove DocTreeHadPlayRevoked related variable and method. r=nika
The telemetry probe, which is related with `mDocTreeHadPlayRevoked`, has already been removed, so we don't need these code anymore.

Differential Revision: https://phabricator.services.mozilla.com/D83163
2020-07-13 15:16:29 +00:00
Sebastian Streich
de02494b5b Bug 1450853 - Use Generic Error for 3rdparty MediaElement r=ckerschb,smaug
***
Add test

Differential Revision: https://phabricator.services.mozilla.com/D80080
2020-07-16 12:03:38 +00:00
Frederik Braun
617d3006d9 Bug 1366973: Rename security flags to not contain DATA anymore r=geckoview-reviewers,ckerschb,snorp
Differential Revision: https://phabricator.services.mozilla.com/D83490
2020-07-15 11:20:45 +00:00
alwu
671a611a88 Bug 1652460 - part1 : always store the audible state change. r=bryce
Whenever the audible state changes, we should always store the latest state but only notify the change after playing starts.

Differential Revision: https://phabricator.services.mozilla.com/D83549
2020-07-14 22:01:43 +00:00
Razvan Maries
734e444ca6 Backed out changeset 6b518e88bdf9 (bug 1450853) for perma failures on empty-samples.webm. CLOSED TREE 2020-07-14 15:26:22 +03:00
Sebastian Streich
7d6032bb76 Bug 1450853 - Use Generic Error for 3rdparty MediaElement r=ckerschb,smaug
***
Add test

Differential Revision: https://phabricator.services.mozilla.com/D80080
2020-07-14 11:16:24 +00:00
Alex Chronopoulos
71d449f3c6 Bug 1651049 - Move the sink change logic in MediaStreamRenderer. r=padenot
The MediaStreamRenderer handles the AudioOutput of an HTMLMediaElement. it register/unregister the AudioOutput according to the rendering status. The sink-change follows the logic of AudioOutput thus it has been moved in it.

The previous way created an error when the element had been muted and the sink had been changed before the source MediaStream was attached to the element. The error occured because it was possible, the same entry to be registered more than once in the AudioOutput's list, which resulted in the track to be unmuted when it should not.

Differential Revision: https://phabricator.services.mozilla.com/D82529
2020-07-09 14:32:21 +00:00
alwu
a719910168 Bug 1647425 - part1 : dispatch chrome event to owner doc. r=kmag
We handle `GloballyAutoplayBlocked` event in `Autoplay` actors which exist in all frames [1], so we can actually dispatch the event directly from any document.

Then, we would find the correct top document in `AutoplayParentActor`[2].

[1] https://searchfox.org/mozilla-central/rev/5a4aaccb28665807a6fd49cf48367d47fbb5a19a/toolkit/modules/ActorManagerParent.jsm#118-130
[2] https://searchfox.org/mozilla-central/source/toolkit/actors/AutoplayParent.jsm#11-18

Differential Revision: https://phabricator.services.mozilla.com/D81764
2020-07-01 21:36:25 +00:00
Simon Giesecke
d2e71d5859 Bug 1648010 - Remove NS_NAMED_LITERAL_CSTRING and NS_NAMED_LITERAL_STRING macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80631
2020-07-01 08:42:31 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
alwu
c36b82d85c Bug 1645668 - part1 : reset audible state when aborting current load. r=bryce
When aborting the current load, media element is undoubtedly inaudible. Therefore, we should reset its audible state in order to keep the audible state correct. That can help us show the sound indicator on the tab bar correctly.

Differential Revision: https://phabricator.services.mozilla.com/D81631
2020-06-30 16:50:35 +00:00
longsonr
e9f98b4f97 Bug 1648463 - Move SVGForeignObjectFrame SVGImageFrame and SVGUseFrame to mozilla namespace r=dholbert,jgilbert
stop exposing SVGImageListener as only SVGImageFrame uses it.

Differential Revision: https://phabricator.services.mozilla.com/D81087
2020-06-25 20:42:49 +00:00
Alex Chronopoulos
bf5059a6bc Bug 1648159 - Remove unnecessary redirection of promises when sink changes. r=jya
At the end of `HTMLMediaElement::SetSrcMediaStreamSink` a redirection of MozPromises, from `GenericPromise::AllPromiseType` to `GenericPromise` is taking place. However, this is not necessary since this is an internal method and the returned value of the promise is not useful. Thus the `GenericPromise::AllPromiseType` can be returned directly and avoid the extra thread dispatch.

Differential Revision: https://phabricator.services.mozilla.com/D80908
2020-06-25 14:18:59 +00:00
alwu
531182719f Bug 1642715 - part2 : connect media to media controller after knowing its duration. r=chunmin
This patch would
- build the relationship between a media element and the media controller when media finishes loading, instead of building that after starting playing media

The advantage of doing this is
- the prework of being able to control media before media starts playing

Differential Revision: https://phabricator.services.mozilla.com/D79234
2020-06-24 05:52:33 +00:00
alwu
f96e1b5d04 Bug 1642715 - part1 : move timer to media controller. r=chunmin
This patch would
- move the mechanism of creating a stop timer from media element to media controller

The advantage of doing this is
- to remove redundant timers in the content process, because we only need to maintain one global timer for a whole tab

Differential Revision: https://phabricator.services.mozilla.com/D79233
2020-06-24 05:52:30 +00:00
Jean-Yves Avenard
05adafa9ef Bug 1637500 - P2. Rename methods as they are not always dealing with "threads". r=froydnj
Before P1, GetCurrentThreadSerialEventTarget would have always returned the same data as NS_GetCurrentThread, making the comment incorrect Now it will properly return the running TaskQueue if any.

This change of name more clearly exposes what they are doing, as we aren't always dealing with threads directly; but a nsISerialEventTarget

Differential Revision: https://phabricator.services.mozilla.com/D80354
2020-06-23 05:05:36 +00:00
alwu
b529005ccd Bug 1642590 - part1 : run internal pause when unbind media from DOM tree. r=bryce
This patch will
- run internal pause when removing a media from a document, instead of running `pause()` method

The advantage of doing so is
- to follow the spec [1]. In step 3, it mentions we should run internal pause, not pause.

[1] https://html.spec.whatwg.org/#playing-the-media-resource:remove-an-element-from-a-document

Differential Revision: https://phabricator.services.mozilla.com/D79925
2020-06-22 20:54:21 +00:00
Alex Chronopoulos
ea6c007735 Bug 1493990 - Enable sink change in the srcObject of HTMLMediaElement. r=padenot
The SetSinkId method of HTMLMediaElement has been enhanced to handle the sink change when the element is sourced with a MediaObject through the srcObject attribute. It makes use in the corresponding method of AudioStreamTrack taking into account the AudioOutput and Volume that has to be removed and re-added to the right track.

Differential Revision: https://phabricator.services.mozilla.com/D77809
2020-06-18 14:05:28 +00:00
alwu
5d3e5d3f60 Bug 1640998 - part9 : use MediaControlKey to replace MediaControlKeysEvent r=chunmin,agi,geckoview-reviewers
This patch will
- remove `MediaControlKeysEvent` and use `MediaControlKey` to replace it
- rename names for all `MediaControlKey` related methods, functions, classes and descriptions

The advantage of doing so are
- remove the duplicated type so that we only need to maintain `MediaControlKey`

Differential Revision: https://phabricator.services.mozilla.com/D78140
2020-06-09 02:59:57 +00:00
alwu
2147b854be Bug 1640998 - part1 : make ContentMediaAgent inherit from IMediaInfoUpdater. r=chunmin
This patch will
- make `ContentMediaAgent` inherit from `IMediaInfoUpdater`
- move `MediaPlaybackState` and `MediaAudibleState` to `MediaPlaybackStatus.h`

The advantage of doing so are
- to force all methods which are related with updating information from content process to chrome process to be manged by `IMediaInfoUpdater`. It can help us only put the descriptive comment for methods on one place. (on `IMediaInfoUpdater`)

Differential Revision: https://phabricator.services.mozilla.com/D77196
2020-06-08 22:08:26 +00:00
Simon Giesecke
057eeeade2 Bug 1642989 - Use RemoveLastElements instead of RemoveElementsAt where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78049
2020-06-08 08:50:15 +00:00
Alex Chronopoulos
8dd0131c38 Bug 1636515 - Handle cycle in media element when it is fed with the captured stream. r=padenot
Feeding a media element with the captured stream from the same media element does not make sense. Currently the spec does not mention anything about it. I'll clarify the case in the spec. In the meantime, when a cycle is detected, the setting of the `srcObject` is ignored and a warning is produced in the console.

Differential Revision: https://phabricator.services.mozilla.com/D76821
2020-05-28 13:07:53 +00:00
alwu
38afbc487a Bug 1627999 - part9 : handle the owner browsing context change for the media element. r=chunmin
This patch will do :
- update the media status when media changes its owner browsing context

The advantage of doing so :
- make the media status in `ContextMediaInfo` correcly

More details :
`ContextMediaInfo` stores the media status of each browsing context, but actually the media doesn't always need to stay in one browsing context. We can move it to other browsing contexts (iframe) by appending it to other browsing context's document body.
For example, in [1], we move the video from the main frame to another iframe.

Therefore, when we move the media to a new browsing context, we should also update its media status (controlledMedia/playing/audio number) for its previous owner browsing context.

[1] https://searchfox.org/mozilla-central/source/testing/web-platform/tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html

Differential Revision: https://phabricator.services.mozilla.com/D75477
2020-05-16 00:26:20 +00:00
alwu
191a5fa552 Bug 1627999 - part8 : remove audible check in media element. r=bryce
This patch will do :
- remove audible check from the logic of registering controller
- include audio channel affect on the media element's audible state

The advantage of doing so :
- it can help to reduce the intermittent failure during testing by earlier hooking media elements in the content process to the media controller in the chrome process

More details :
In D72497, we have added the audible check to postpone the activation of the media controller, which would ensure that we only control media after it become audible. Therefore, we can remove the previous implementation which we use to achieve that in media element.

When having that audible check in media element, it would postpone the timing of adding media element to `ContentMediaController` that causes some intermitent failures when I was writing test for bug1633565. When removing those checks, we can ensure that the media element would have always been added into `ContentMediaController` after calling `video.play()`. If the element haven't been added into `ContentMediaController`, then it would miss to handle the media key events when test generates a fake media key event, which causes an intermitent failure.

Differential Revision: https://phabricator.services.mozilla.com/D73335
2020-05-15 21:50:10 +00:00
Csoregi Natalia
a7cbb956bb Backed out 9 changesets (bug 1627999) for bustages on HTMLMediaElement.cpp. CLOSED TREE
Backed out changeset 05ba58699a1b (bug 1627999)
Backed out changeset b9025bab4036 (bug 1627999)
Backed out changeset 2e1c8f9e8f88 (bug 1627999)
Backed out changeset 55ac831f54f3 (bug 1627999)
Backed out changeset e0fa806a6942 (bug 1627999)
Backed out changeset f4d85f0b61d9 (bug 1627999)
Backed out changeset 84434656006c (bug 1627999)
Backed out changeset 021c014ba882 (bug 1627999)
Backed out changeset 76c6b64928e9 (bug 1627999)
2020-05-16 00:22:23 +03:00
alwu
d86ca3d975 Bug 1627999 - part9 : handle the owner browsing context change for the media element. r=chunmin
This patch will do :
- update the media status when media changes its owner browsing context

The advantage of doing so :
- make the media status in `ContextMediaInfo` correcly

More details :
`ContextMediaInfo` stores the media status of each browsing context, but actually the media doesn't always need to stay in one browsing context. We can move it to other browsing contexts (iframe) by appending it to other browsing context's document body.
For example, in [1], we move the video from the main frame to another iframe.

Therefore, when we move the media to a new browsing context, we should also update its media status (controlledMedia/playing/audio number) for its previous owner browsing context.

[1] https://searchfox.org/mozilla-central/source/testing/web-platform/tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html

Differential Revision: https://phabricator.services.mozilla.com/D75477
2020-05-15 21:00:45 +00:00
alwu
7e0305a9e0 Bug 1627999 - part8 : remove audible check in media element. r=bryce
This patch will do :
- remove audible check from the logic of registering controller
- include audio channel affect on the media element's audible state

The advantage of doing so :
- it can help to reduce the intermittent failure during testing by earlier hooking media elements in the content process to the media controller in the chrome process

More details :
In D72497, we have added the audible check to postpone the activation of the media controller, which would ensure that we only control media after it become audible. Therefore, we can remove the previous implementation which we use to achieve that in media element.

When having that audible check in media element, it would postpone the timing of adding media element to `ContentMediaController` that causes some intermitent failures when I was writing test for bug1633565. When removing those checks, we can ensure that the media element would have always been added into `ContentMediaController` after calling `video.play()`. If the element haven't been added into `ContentMediaController`, then it would miss to handle the media key events when test generates a fake media key event, which causes an intermitent failure.

Differential Revision: https://phabricator.services.mozilla.com/D73335
2020-05-15 21:00:45 +00:00
Cosmin Sabou
6aba48d3f6 Backed out 8 changesets (bug 1627999) for wpt failures on MediaPlaybackStatus.h. CLOSED TREE
Backed out changeset 98e98e2ecb56 (bug 1627999)
Backed out changeset 5533b1c9e3ed (bug 1627999)
Backed out changeset c9c9f78e131d (bug 1627999)
Backed out changeset 37b8f7a47ede (bug 1627999)
Backed out changeset 433a0eb70fc6 (bug 1627999)
Backed out changeset 72a1340bc112 (bug 1627999)
Backed out changeset 10e3550226eb (bug 1627999)
Backed out changeset 039ecd63e3fb (bug 1627999)
2020-05-14 12:29:01 +03:00
alwu
b388dfdb24 Bug 1627999 - part8 : remove audible check in media element. r=bryce
This patch will do :
- remove audible check from the logic of registering controller
- include audio channel affect on the media element's audible state

The advantage of doing so :
- it can help to reduce the intermittent failure during testing by earlier hooking media elements in the content process to the media controller in the chrome process

More details :
In D72497, we have added the audible check to postpone the activation of the media controller, which would ensure that we only control media after it become audible. Therefore, we can remove the previous implementation which we use to achieve that in media element.

When having that audible check in media element, it would postpone the timing of adding media element to `ContentMediaController` that causes some intermitent failures when I was writing test for bug1633565. When removing those checks, we can ensure that the media element would have always been added into `ContentMediaController` after calling `video.play()`. If the element haven't been added into `ContentMediaController`, then it would miss to handle the media key events when test generates a fake media key event, which causes an intermitent failure.

Differential Revision: https://phabricator.services.mozilla.com/D73335
2020-05-14 03:20:17 +00:00
Simon Giesecke
c60d689f7c Bug 1626570 - Improve handling of copying arrays in dom/html/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73647
2020-05-07 08:09:51 +00:00
Simon Giesecke
2084169ef6 Bug 1626570 - Improve handling of copying arrays in dom/html/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73626
2020-05-05 10:08:15 +00:00
Emilio Cobos Álvarez
9a8c41776d Bug 1635094 - Cleanup the ReferrerInfo code. r=ckerschb
The cast in InitWithNode is wrong. AsElement() asserts instead of
checking the flag, so we always pass an element (and if we didn't we'd
have type confusion problems). I audited the callers and we're fine.

Anyhow, always require an element, and add two convenience constructors
for C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D73636
2020-05-04 18:50:20 +00:00
Cosmin Sabou
00d059a4c0 Backed out 2 changesets (bug 1635094) for build bustages on nsMacShellService.cpp. CLOSED TREE
Backed out changeset 0a2b0c6ea19a (bug 1635094)
Backed out changeset ead4f26f76ee (bug 1635094)
2020-05-04 20:04:06 +03:00
Emilio Cobos Álvarez
41fba10f7f Bug 1635094 - Cleanup the ReferrerInfo code. r=ckerschb
The cast in InitWithNode is wrong. AsElement() asserts instead of
checking the flag, so we always pass an element (and if we didn't we'd
have type confusion problems). I audited the callers and we're fine.

Anyhow, always require an element, and add two convenience constructors
for C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D73636
2020-05-04 16:26:51 +00:00
Bobby Holley
22873a3441 Bug 1631304 - Mark the tail dispatcher as unavailable outside of event dispatch. r=jya
This is in preparation for running the tail dispatcher off
nsIThreadObserver callbacks, which only work during regular
event processing.

Differential Revision: https://phabricator.services.mozilla.com/D72264
2020-04-28 21:18:21 +00:00
alwu
17d6222581 Bug 1632301 - part4 : rename 'ControlledMediaState' to 'MediaPlaybackState'. r=bryce
This patch will do :
- rename `ControlledMediaState` to `MediaPlaybackState`
- rename the related functions

The advantage of doing so :
- more consistent with `MediaAudibleState`

Differential Revision: https://phabricator.services.mozilla.com/D72060
2020-04-28 07:14:05 +00:00
alwu
d06190cb31 Bug 1632301 - part3 : use MediaAudibleState to replace boolean value. r=bryce
This patch will do :
- replace `boolean` with enum class `MediaAudibleState`

The advantage of doing so :
- It's easier to understand what actually meaning of the parameter we set

Differential Revision: https://phabricator.services.mozilla.com/D72058
2020-04-28 07:14:05 +00:00
alwu
1ae1716e41 Bug 1632301 - part2 : use ContentControlKeyEventReceiver's browsing context to notify any changes. r=bryce
This patch will do :
- use current broswing context as a parameter when propagate state change to the chrome process.

The advantage of doing so :
- the chrome process can know which browsing context the state change actually comes from.

---

More details about this change :

Currently, when we propagate any controlled media related states, we would find the top level browsing context first, then pass it through IPC in order to get the correct media controller in the chrome process. However, we have implemented [1] which can find the correct media controller even if we are not passing the top level browsing context.

In addition, in bug1627999, we would like to know which browsing context those states come from. Therefore, we should replace the top browsing context with the current browsing context where controlled media exists.

[1] https://searchfox.org/mozilla-central/rev/41c3ea3ee8eab9ce7b82932257cb80b703cbba67/docshell/base/CanonicalBrowsingContext.cpp#511-515

Differential Revision: https://phabricator.services.mozilla.com/D72056
2020-04-28 05:10:21 +00:00
alwu
33c6833a20 Bug 1632301 - part1 : decouple ContentMediaController from MediaControlKeysEventListener/MediaControlKeysEventSource. r=bryce
This patch will do :
- remove the inheritance relationship for `ContentControlKeyEventReceiver` and `ContentMediaAgent` and manually implement the methods we need
- `MediaControlEventListener` will inherit from `ContentControlKeyEventReceiver` directly

The advantage of doing so :
- increase the flexibilty of modification of `ContentMediaAgent` and those modification won't affect other classes inherited from `MediaControlKeysEventListener`

---

More details about this change :

As we would like to extend the class `ContentMediaAgent` and allow the `ContentMediaController` to call its extended method, but if we want to do so in current implementation, the extended method would also affect other classes inherited from `MediaControlKeysEventListener` and that is something we don't want to see.

Considering that, I decided to decouple the inheritance relationship and manually create the function I need (which will be implemented in the next patch)

Differential Revision: https://phabricator.services.mozilla.com/D72054
2020-04-28 05:10:03 +00:00
alwu
ab2fd5bebf Bug 1631087 - Update the timing of propagating media element's audible state. r=chunmin
After applying this patch,
- notify `inaudible` state only if we already notified `audible` state before
- update `inaudible` state when audible media is paused

Therefore, in the media controller side, it would always see a pair of `audible/inaudible` notifications like what we do for the pair of `ControlledMediaState::ePlayed/ePaused` notifications. That can help us implement a way of maintaining a detailed counting about how many media is audible in bug1627999.

Differential Revision: https://phabricator.services.mozilla.com/D71429
2020-04-25 00:34:02 +00:00
alwu
f8b97b0d7e Bug 1625615 - part5 : add test-only attribute and event for media element. r=bryce,emilio
Differential Revision: https://phabricator.services.mozilla.com/D69674
2020-04-20 21:19:57 +00:00
alwu
c96fc578ff Bug 1625615 - part4 : start listener if we haven't started listener yet. r=bryce
There is actually possible to start the listener already while running `SuspendOrResumeElement()`, so we should remove the assertion and use a check instead.

Eg.  JS can call `play()`, which would start the listener, before we run this method. This situation can be found when browsing Youtube on the GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D69673
2020-04-20 21:19:57 +00:00
alwu
61ca905190 Bug 1625615 - part3 : prevent media starting playing when inactive docshell wants to suspend any media. r=bryce
When the docShell's `SuspendMediaWhenInactive` flag is true, no media should be allowed to start playing. Therefore, we add a check in `Play()`, `CanActivateAutoplay()` to prevent media from playing. In addition, we should also prevent the audio channel agant from starting.

Differential Revision: https://phabricator.services.mozilla.com/D69672
2020-04-20 21:19:57 +00:00
alwu
3d49e8b2f8 Bug 1625615 - part2 : suspend or resume media element according to docShell's SuspendMediaWhenInactive r=bryce
If docShell's `SuspendMediaWhenInactive` is true, then we should suspend or resume the media element according to the docshell active state when the docshell changes it active state.

Differential Revision: https://phabricator.services.mozilla.com/D69671
2020-04-20 21:19:56 +00:00
Jean-Yves Avenard
679a347fcf Bug 1630802 - P8. Remove unnecessary AutoEnter. r=bholley
AutoEnter was an attempt around a race between AbstractThread and MessageLoopAbstractThreadWrap that would cause AbstractThread::GetCurrent() to return an incorrect value. MessageLoopAbstractThreadWrapper is no more and as such AutoEnter is no longer required.

Differential Revision: https://phabricator.services.mozilla.com/D71279
2020-04-20 02:13:31 +00:00
Csoregi Natalia
0e78df90ed Backed out 7 changesets (bug 1625615) for multiple failures e.g. /test_windowedhistoryframes.html. CLOSED TREE
Backed out changeset f239d24658c9 (bug 1625615)
Backed out changeset acea7c78db20 (bug 1625615)
Backed out changeset d709f5a72c35 (bug 1625615)
Backed out changeset 4cd231b1f3fb (bug 1625615)
Backed out changeset 45942c8dc380 (bug 1625615)
Backed out changeset 3f03a8703a8a (bug 1625615)
Backed out changeset e9299fc48796 (bug 1625615)
2020-04-16 00:32:16 +03:00
alwu
9eed6ffdf1 Bug 1625615 - part5 : add test-only attribute and event for media element. r=bryce,emilio
Differential Revision: https://phabricator.services.mozilla.com/D69674
2020-04-15 20:14:14 +00:00
alwu
6de15424b0 Bug 1625615 - part4 : start listener if we haven't started listener yet. r=bryce
There is actually possible to start the listener already while running `SuspendOrResumeElement()`, so we should remove the assertion and use a check instead.

Eg.  JS can call `play()`, which would start the listener, before we run this method. This situation can be found when browsing Youtube on the GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D69673
2020-04-06 17:51:15 +00:00
alwu
71793af7a0 Bug 1625615 - part3 : prevent media starting playing when inactive docshell wants to suspend any media. r=bryce
When the docShell's `SuspendMediaWhenInactive` flag is true, no media should be allowed to start playing. Therefore, we add a check in `Play()`, `CanActivateAutoplay()` to prevent media from playing. In addition, we should also prevent the audio channel agant from starting.

Differential Revision: https://phabricator.services.mozilla.com/D69672
2020-04-06 21:36:40 +00:00
alwu
2d3e07021e Bug 1625615 - part2 : suspend or resume media element according to docShell's SuspendMediaWhenInactive r=bryce
If docShell's `SuspendMediaWhenInactive` is true, then we should suspend or resume the media element according to the docshell active state when the docshell changes it active state.

Differential Revision: https://phabricator.services.mozilla.com/D69671
2020-04-06 22:30:10 +00:00