Граф коммитов

52 Коммитов

Автор SHA1 Сообщение Дата
JW Wang da8d5c072e Bug 1422657. P2 - remove unused mDecoderPosition and related code. r=bechen,gerald
MozReview-Commit-ID: 8RobmJKC40i

--HG--
extra : rebase_source : 50037c4dbe422f911819f845548b0ba69ac5d35f
2017-12-01 14:02:44 +08:00
JW Wang 0d7066652a Bug 1421864 - move mChannelStatistics from ChannelMediaResource to MediaCacheStream. r=bechen,gerald
So it is callable from non-main thread.

MozReview-Commit-ID: atYmz4u2c9

--HG--
extra : rebase_source : 2e10064730b3e7e1ecb1a4fd65cf2e2da0390290
extra : source : 5680a6942f6985f9c6bbf284a9768ab910b37804
2017-11-29 16:49:54 +08:00
JW Wang ce20f92811 Bug 1420016 - remove ChannelMediaResource::IsSuspendedByCache(). r=bechen,gerald
For it is used internally by CacheClientNotifySuspendedStatusChanged() only.

MozReview-Commit-ID: 8XVUHhdERYR

--HG--
extra : rebase_source : 60b97821b3e1c13bf1ba706ad1431b9e323df319
extra : intermediate-source : 6891fae737691efcf0885ff90fc7af777f9493d8
extra : source : 8c49a2fbc12f59c83809d233c9c0e9fa404cdd21
2017-11-23 11:30:07 +08:00
JW Wang df2b00d7a6 Bug 1418430. P1 - always check "reopen on error" when a connection is closed. r=bechen,gerald
The server might send us fewer bytes than requested. So we also need
"reopen on error" in this case as well.

MozReview-Commit-ID: Fi82x4h1TZ0

--HG--
extra : rebase_source : 3a19838de9c11545f00778623735c7e9a5cb1439
2017-11-22 10:35:48 +08:00
JW Wang a920cf49b3 Bug 1418219 - merge NotifyDataLength() and NotifyDataStarted(). r=bechen,gerald
MozReview-Commit-ID: g857eQ4YVK

--HG--
extra : rebase_source : 45e71baa300772442bba43f39eacefb571a523c9
extra : intermediate-source : d674e5a676212dae59b12e8173802be40de77bf7
extra : source : 21f73b0a0e59b7575794b317719abe7a39a984e0
2017-11-16 12:05:19 +08:00
JW Wang c5401dfc03 Bug 1418213 - always run MediaCacheStream::NotifyDataReceived() off the main thread. r=bechen,gerald
MozReview-Commit-ID: GBQ0lEf8rVI

--HG--
extra : rebase_source : cbcd69dd220c06e2e1cc0d12e33d23ce2f4e21ef
extra : intermediate-source : 9e304fc5f5ee0b4d44f0e54a4cb2a6a9fe90979d
extra : source : 1b29a7cde3c40ba3a35ee19eee63ad68e6d12176
2017-11-15 17:56:10 +08:00
JW Wang b3feb3794f Bug 1415090. P5 - remove MediaCacheStream::NotifyChannelRecreated(). r=bechen,gerald
NotifyDataEnded() runs off the main thread which might set mChannelEnded
wrongly after NotifyChannelRecreated reset it on the main thread.

We should reset the flags in NotifyDataStarted() which indicate a new load has begun.

MozReview-Commit-ID: Gi6PFXwMJqc

--HG--
extra : rebase_source : 85bb2c25a55cce4b3c3f023bf4c02fe5d1de7552
extra : source : 2f8c5518bf615f9190f87032568fc53037bc6fc1
2017-11-16 14:50:49 +08:00
JW Wang 187b5299fb Bug 1415090. P3 - run MediaCacheStream::NotifyDataEnded() off the main thread. r=bechen,gerald
Since NotifyDataEnded() run its code asynchronously, it is possible that a new
channel is created and NotifyDataStarted() is called before NotifyDataEndedInternal()
has a chance to run. We check the load ID to exit the function if necessary.

We also need to fix data races when running NotifyDataEndedInternal() off the
main thread in next patches.

MozReview-Commit-ID: IIAc7dxHike

--HG--
extra : rebase_source : 58e45f924058a986b8d86bfaeff2791ee8a5f4bc
extra : intermediate-source : b2a7fa7514723e214b8da40cfc0ec40b1de9a345
extra : source : 1ff93dc8f8c451b804133c780cedef2ee3d348e5
2017-11-10 15:06:39 +08:00
JW Wang 54de8d43d3 Bug 1415090. P2 - move the "reopen on error" code from ChannelMediaResource::OnStopRequest() to MediaCacheStream::NotifyDataEnded(). r=bechen,gerald
MozReview-Commit-ID: BA1tSk6ZqPS

--HG--
extra : rebase_source : 7434d1052be71bdb3cd24f430081fe57e86c4c6d
extra : intermediate-source : eef8f69c9c0f6e50d20ae9c7e46396d597eef425
extra : source : 95f24d107ce05b1b69e5a5f269c50670c7a31bf1
2017-11-10 14:40:22 +08:00
JW Wang 6021447a83 Bug 1415090. P1 - always move the channel back to the foreground when OnStopRequest() is fired. r=bechen,gerald
It is a good practice to make the call flow simplier. It also makes
the changes in the following patches easier.

MozReview-Commit-ID: CKjRBReLFro

--HG--
extra : rebase_source : 1903b0648b718541af9f796dfa664209552f47d2
extra : intermediate-source : 12ffa8e5cb637dbb4d425d6b2ddae6c7574f767a
extra : source : a1d92c67ec461f8fda88546fd1f0be0c00c39dc7
2017-11-10 14:21:23 +08:00
JW Wang 1f62c1d92b Bug 1417869. P3 - pass descriptive messages to NetworkError(). r=jya
MozReview-Commit-ID: 6yaFJvXG3g8

--HG--
extra : rebase_source : 2d1c851098be7eb880a01432c504c6db96d86756
extra : source : a30f9699f49687b23d4ccf955d7a0af8ce0c7653
2017-11-17 11:07:30 +08:00
JW Wang 5a99c6b197 Bug 1417774 - remove unused MediaResource::Tell(). r=bechen
MozReview-Commit-ID: 3qlP4sSh9kM

--HG--
extra : rebase_source : 4002fec6f8c43abb640f9206cd715f3ecb02b373
2017-11-15 17:18:52 +08:00
JW Wang b88c401e49 Bug 1416643. P1 - remove checks for mDidNotifyDataEnded/mNotifyDataEndedStatus from IsAvailableForSharing(). r=bechen,gerald
We will need to modify these members off the main thead while IsAvailableForSharing()
is a main thread only function.

InitAsClone() will return an error if the original stream ends abnormally.

MozReview-Commit-ID: 1qRyboca2YZ

--HG--
extra : rebase_source : 4617a911a1de052833bd0085b883a8ae4d639c7d
2017-11-15 15:14:21 +08:00
JW Wang e02c72ba9e Bug 1417305. P1 - let callers of MediaResourceCallback::NotifyDataEnded() decide whether to call it synchronously. r=bechen,gerald
Instead of doing dispatch inside MediaResourceCallback::NotifyDataEnded(),
we let the callers decide whether to call the function synchronously. This is required
by ChannelMediaResource::CacheClientNotifyDataEnded() which will run off the main thread.

MozReview-Commit-ID: IzUYw8QMZbD

--HG--
extra : rebase_source : b888049d5b999a37515f00e52ae02dcf17f227e8
extra : intermediate-source : 7b660cd9b9fbb1a00e427b8e9074c9b736a80ae9
extra : source : cc055c39bd9fbbeb4354bbbebe0c46512be6e3a3
2017-11-10 14:27:59 +08:00
JW Wang 69b23fa72c Bug 1415461 - consolidate the life cycle of the channel managed by ChannelSuspendAgent. r=bechen,gerald
We want to suspend/resume a channel only after OnStartRequest()
and before OnStopRequest().

MozReview-Commit-ID: 4QNRdsVvyAK

--HG--
extra : rebase_source : 6514ffe15247892042581df51decbaba4fb756b7
extra : intermediate-source : 930c31e1a06c70b69060f9f0079be186c2f2793b
extra : source : 42fb27a7fb2b3b0bea9d5e4fa0d5ba07f6fa1d3e
2017-11-08 16:16:24 +08:00
JW Wang 2196441028 Bug 1415438 - move mReopenOnError from ChannelMediaResource to ChannelMediaResource::Listener. r=bechen,gerald
http://searchfox.org/mozilla-central/rev/ed212c79cfe86357e9a5740082b9364e7f6e526f/dom/media/ChannelMediaResource.cpp#727-729

mReopenOnError is a flag to reopen the channel when resume fails.
It makes more sense to associate this member with the channel we are resuming.

MozReview-Commit-ID: DwKUyvyzWdi

--HG--
extra : rebase_source : 430b51545106c10a9c53592063aed72433336111
extra : intermediate-source : 9d315280bcc755664001b5dd4d37eb52c5166b82
extra : source : e87e3cc8f9da47f2880d1e817f80638988409498
2017-11-08 14:25:31 +08:00
JW Wang 1e7878c69a Bug 1415069 - Add a member to ChannelMediaResource to remember seekability of the channel. r=bechen,gerald
So it doesn't need to call mCacheStream.IsTransportSeekable() which needs to
take the lock and might block the main thread.

MozReview-Commit-ID: 99QVcSxzjCz

--HG--
extra : rebase_source : be71b065ce0334987efbfb67a5cf010ab0373d80
extra : source : 2de3f0baf1475e8ae3228a33cf4cf139cf923c37
2017-11-07 14:26:10 +08:00
JW Wang 605a0bdc18 Bug 1414709 - use Span<> to replace low level pointer arithmetic in MediaCacheStream::NotifyDataReceived(). r=bechen,gerald
MozReview-Commit-ID: KIwws0qiCVK

--HG--
extra : rebase_source : 3e50c2047703b01f006cfec65c4b0667b47906af
extra : intermediate-source : fbb2cf22b5028b57762ce7e7e9f56526ad5e9727
extra : source : 4bfb8f2ed2afb6f74cae0caf34dd34b0a818a45a
2017-11-01 23:20:11 +08:00
JW Wang 68005e8e16 Bug 1411808. P2 - don't call mClient->IsSuspended() off the main thread in Update(). r=gerald
By mirroring the suspend status of the client, Update() is able to make
decisions on reading streams without calling mClient->IsSuspended().

MozReview-Commit-ID: G4gS2VGiMjj

--HG--
extra : rebase_source : bcdc1010fce47965c999df61666983c87e189670
extra : intermediate-source : 9dd8cfb80e29677e8cae866b2326dfb0aec5b6ae
extra : source : d20f640bf99478c9ba581e4979ec8091ef94e0f3
2017-10-24 11:25:41 +08:00
JW Wang bba58a54de Bug 1413484 - tighten some assertions. r=gerald
mCallback->GetMediaOwner() now is always called before Close() and won't
return null. So is owner->GetMediaElement().

MozReview-Commit-ID: HbxbyuogYAB

--HG--
extra : rebase_source : 28e6ccf104fea9dba9885974f77e19535de84f54
extra : intermediate-source : 15cfa511119ce07e3ede692dc8b14ae177dd388a
extra : source : 9ce161facd920a0efeaf8260ea75f13f1679b24e
2017-10-27 22:17:41 +08:00
JW Wang e7d1c35d12 Bug 1413858 - Resume() needs to reset mPendingSeekOffset before calling Seek(). r=gerald
MozReview-Commit-ID: GbZ3SvSTMvR

--HG--
extra : rebase_source : 4579ffa96a7d8117827b71e2f0fcb73e3bfc996a
2017-11-02 20:25:57 +08:00
JW Wang 85ebf6211b Bug 1413483 - add mPendingSeekOffset to store the seek offset initiated by the cache. r=gerald
Seek() can't create a new channel if the resource is still suspended. we need
to store the seek offset specified by the cache so we know where to seek when
the resource is resumed.

Otherwise the new channel will download data at the wrong position and the
cache will need to run Update() and call CacheClientSeek() again which is
a waste.

MozReview-Commit-ID: 9OJ3FRnKitT

--HG--
extra : rebase_source : 562a1503640e1e25672bf3e693698ecc8ff29db6
extra : intermediate-source : e4945cc86c4c2b31fa3f20a32331db4ca1875c38
extra : source : a65982e09035f4aea7b4dcbde25b2a42565d932f
2017-10-27 14:33:16 +08:00
JW Wang 72da413a88 Bug 1412204 - add a member to ChannelMediaResource to indicate Close() has been called. r=gerald
So we can check this member without calling mCacheStream.IsClosed() which need
to acquire the lock and might block the main thread.

MozReview-Commit-ID: 4SPooaprrOw

--HG--
extra : rebase_source : 36cbb2d02c29737a6b2060d588f4919cb9d55c05
extra : intermediate-source : 213f6fef98475069d2719ec6c9d1afaacb8a80ed
extra : source : 63200b22f2be79d6f0ff158e5b0c8f5b49849bf1
2017-10-27 13:46:44 +08:00
JW Wang b6bd1cf375 Bug 1412188 - ChannelMediaResource shouldn't create new channels when closed. r=gerald
1. Add assertions to functions that shouldn't be called after Close().
2. Early return if closed from Suspend/Resume/Seek which are called asynchronously by the cache.

MozReview-Commit-ID: KZOJer36o77

--HG--
extra : rebase_source : 0c18418062d432a1ff2adbd3226a84cb0e37aa70
extra : source : 3c7dc961721ab975ac6751754d2a8d97e1c4eaff
2017-10-27 12:10:23 +08:00
JW Wang cd62426903 Bug 1412187 - ChannelMediaResource::Resume() should call Seek() instead of CacheClientSeek(). r=gerald
CacheClientSeek() will call Seek() asynchronously and should be used by MediaCache only.
ChannelMediaResource::Resume() runs on the main thread and can call Seek() directly.
Note this is a missing change from bug 1411504 P3.

MozReview-Commit-ID: I2X1Rk5HoDV

--HG--
extra : rebase_source : 66dce75aefc4bfebecf69ebe107e9b4c9286f3a5
extra : source : 20e5463e15049095a941f501acd3fa7dd4e9b1db
2017-10-27 11:50:37 +08:00
JW Wang 994024afbb Bug 1411504. P8 - return an error for RecreateChannel() when the decoder is shutting down. r=gerald
Otherwise Seek() will continue to call OpenChannel() and hit null-deref for
mChannel is null.

MozReview-Commit-ID: 4nhbF9lUOSR

--HG--
extra : rebase_source : cb58448ddd9e68314b07e6160354d7be9ea2809a
extra : source : 4d50e2d60a4f9a5ababaaa5100b170dd64c73dbc
2017-10-25 09:45:14 +08:00
JW Wang a1a46cc301 Bug 1411504. P5 - handle CacheClientNotifySuspendedStatusChanged/QueueSuspendedStatusUpdate off the main thread. r=gerald
MozReview-Commit-ID: 7Wc1tvd3S6x

--HG--
extra : rebase_source : ac9c1da29b4b395c75ced50efc3210f90add4710
extra : source : f4c901cfc7a7510f4ff161406e35d60229e86b98
2017-10-24 10:00:23 +08:00
JW Wang 1196be8421 Bug 1411504. P4 - handle CacheClientResume/CacheClientSuspend off the main thread. r=gerald
MozReview-Commit-ID: GRbcNo7KtKH

--HG--
extra : rebase_source : 030c8808c7702dc8792b22250e3d414154014615
extra : source : 60d50a2829cde9ff2879270f983e23092ca9f426
2017-10-24 09:38:34 +08:00
JW Wang 7a1b18c3ec Bug 1411504. P3 - handle CacheClientSeek off the main thread for we will run Update() off the main thread. r=gerald
MozReview-Commit-ID: 7eavgwkTXx0

--HG--
extra : rebase_source : 26c5c1675281612e2753549839acb73f735b7bc8
extra : source : 42efd7bd8db58c5c42cc266d90100a7ec250ac15
2017-10-24 09:23:12 +08:00
JW Wang c4b8566c71 Bug 1411504. P2 - merge NotifyDataStarted() and SetTransportSeekable(). r=gerald
SetTransportSeekable() is always called after NotifyDataStarted().
This is slightly more efficient for we don't acquire the lock twice.

MozReview-Commit-ID: 9myolomriIQ

--HG--
extra : rebase_source : f33c3be978edacf45d8144af43f45c8ad5e7b53e
extra : source : 2cefaeb1adae7238b77d5e2d1287ae0d96d9f671
2017-10-23 17:00:57 +08:00
JW Wang 1efcf7c612 Bug 1411504. P1 - always require MediaCache to have a thread to run Update() loops. r=gerald
MozReview-Commit-ID: AYVWuN9CU55

--HG--
extra : rebase_source : 0149e330533b96426bdc7817586df8bd85ec1d03
extra : source : c191b4aa350672a4b3c614a2ea5494cdcca71faf
2017-10-23 16:51:17 +08:00
JW Wang da256ca76e Bug 1411476. P5 - dump debug info for ChannelMediaResource. r=gerald
MozReview-Commit-ID: GjdtrlNb948

--HG--
extra : rebase_source : 248f4926435118ddc8baa0f901c5e4ec3f699c64
2017-10-25 13:57:39 +08:00
Yoshi Huang 26c9043304 Bug 1407498 - Don't query loadingprincipal in common case. r=baku
We queried 'loadingprincipal' attribute on the common call path, however
this should be queried if it's loaded by System Principal.

Also rename loadingprincipal to triggeringprincipal
2017-10-24 10:13:31 +08:00
JW Wang 1a47dd3c0c Bug 1397708 - remove HTMLMediaElement::mBegun. See comment 12 for the root cause. r=cpearce
When network state is changed to IDLE, mBegun is also set to false. [1]
And then when HTMLMediaElement::DownloadResumed(false) is called, network
state is not changed to LOADING for mBegun is false [2]. This prevents us
from firing 'progress' events for the network state is IDLE.

See comment 12 for more details.

[1] http://searchfox.org/mozilla-central/rev/b53e29293c9e9a2905f4849f4e3c415e2013f0cb/dom/html/HTMLMediaElement.cpp#6077
[2] http://searchfox.org/mozilla-central/rev/b53e29293c9e9a2905f4849f4e3c415e2013f0cb/dom/html/HTMLMediaElement.cpp#5673

MozReview-Commit-ID: DOfqKZXAqaz

--HG--
extra : rebase_source : 881b632447d4a78461c235fffad37595f44cc095
extra : source : 2c01d77d3a7e605bf060e17d41afa86ee0f46396
2017-10-10 07:04:18 +08:00
JW Wang b2cbe2833f Bug 1405962. P1 - give MediaCache a thread on which we will run data callbacks from the HTTP channel. r=gerald
MozReview-Commit-ID: Av7bFGx9SW

--HG--
extra : rebase_source : 296a6137ee63328e11eb11a8ee3430979cf8e5a8
extra : intermediate-source : 9634a9cd63e188799fe691cfe7108a173db503d5
extra : source : 43860a593eb810088adac150c0fa85cf8133ce17
2017-09-13 16:51:12 +08:00
Chris Pearce 1c86050c57 Bug 1405697 - Move HTTP_REQUESTED_RANGE_NOT_SATISFIABLE_CODE to the file it's used in. r=jwwang
It's only used in ChannelMediaResource.cpp, so it may as well be in there.

MozReview-Commit-ID: 5lyeFOoUsUN

--HG--
extra : rebase_source : 15aa06371c90e379e31383d2a8527d865944a4c3
2017-10-04 16:53:19 +02:00
Gerald Squelart 452f62c32c Bug 1403753 - Added missing #includes in some dom/media files - r=SingingTree
MozReview-Commit-ID: I5c81uRGkyi

--HG--
extra : rebase_source : a5ce3c6bf81b5726cc80a328f29338fd2233f04d
2017-09-28 11:34:05 +13:00
Yoshi Huang c3e27f8363 Bug 1376971 - Part 4: query loadingprincipal in HTMLMediaElement. r=baku
Query loadingprincipal attribute on the media part.
2017-09-26 12:41:27 +08:00
JW Wang ca87557a06 Bug 1401461. P2 - don't call mChannelStatistics.AddBytes() if the data is from an old channel. r=gerald
MozReview-Commit-ID: GIVwoGpo43R

--HG--
extra : rebase_source : 0d6bf80071ad0c326767db57fd9d707cec30ab89
extra : source : 6c73d7c37fb631a5e5deab3c1c692605ad5d18f3
2017-09-20 14:41:17 +08:00
JW Wang 25f00c44db Bug 1401461. P1 - protect access to ChannelMediaResource::Listener::mResource. r=gerald
MozReview-Commit-ID: 6G1x7cXNvAq

--HG--
extra : rebase_source : 2f6a8642930ec314621aab2ce6424e4f9f95e0c2
extra : source : eeb067bc2905dfa6fb5764fd42ebb78e1b71a61d
2017-09-20 14:37:18 +08:00
Phil Ringnalda 1112382b61 Backed out 2 changesets (bug 1401461) for being the wrong patches
Backed out changeset 20a0000f97bc (bug 1401461)
Backed out changeset e3c36a62b5b1 (bug 1401461)

MozReview-Commit-ID: BJeIuoGJwjb
2017-09-21 20:29:39 -07:00
JW Wang 6ab26b050e Bug 1401461. P2 - don't call mChannelStatistics.AddBytes() if the data is from an old channel. r=gerald
MozReview-Commit-ID: GIVwoGpo43R

--HG--
extra : rebase_source : 0d6bf80071ad0c326767db57fd9d707cec30ab89
extra : source : 6c73d7c37fb631a5e5deab3c1c692605ad5d18f3
2017-09-20 14:41:17 +08:00
JW Wang f69d8e8e34 Bug 1401461. P1 - protect access to ChannelMediaResource::Listener::mResource. r=gerald
MozReview-Commit-ID: 6G1x7cXNvAq

--HG--
extra : rebase_source : 2f6a8642930ec314621aab2ce6424e4f9f95e0c2
extra : source : eeb067bc2905dfa6fb5764fd42ebb78e1b71a61d
2017-09-20 14:37:18 +08:00
Sebastian Hengst 17eaa88fb4 Backed out changeset 0ceb7e5789f4 (bug 1401461) for leaking in mochitest run on Windows 7 debug. r=backout 2017-09-21 11:16:40 +02:00
Sebastian Hengst a5de561618 Backed out changeset ddfa978c27f7 (bug 1401461) 2017-09-21 11:15:57 +02:00
JW Wang d2e7186d25 Bug 1401461. P2 - don't call mChannelStatistics.AddBytes() if the data is from an old channel. r=gerald
MozReview-Commit-ID: GIVwoGpo43R

--HG--
extra : rebase_source : d6e77d812975fee2451d02faa81d76c03bbdad00
extra : source : 6c73d7c37fb631a5e5deab3c1c692605ad5d18f3
2017-09-20 14:41:17 +08:00
JW Wang 3ce1e10aba Bug 1401461. P1 - remove ChannelMediaResource::Listener::Revoke(). r=gerald
See comment 0 for the rationale. We check |aRequest != mResource->mChannel|
to know if a new channel is being loaded and the call should be aborted.

MozReview-Commit-ID: 6G1x7cXNvAq

--HG--
extra : rebase_source : 3114979192346e257f5d8040b8e0ffffa419d3f5
extra : source : eeb067bc2905dfa6fb5764fd42ebb78e1b71a61d
2017-09-20 14:37:18 +08:00
JW Wang 02c39abdd3 Bug 1401460 - update principals in OnStartRequest(). r=gerald
See comment 0 for the rationale.
The principal will not change after OnStartRequest().

MozReview-Commit-ID: K2HyWBBzGmC

--HG--
extra : rebase_source : 1d913390b1b94923d859bdb5f6e8d34d3f0ed60d
2017-09-20 14:23:59 +08:00
JW Wang 472ab4804d Bug 1399760. P3 - keep ID of the loading channel so we check whether the data callback is from an old channel. r=gerald
The load ID works as follows:
1. A load ID is passed to MediaCacheStream::NotifyDataStarted()
   when loading a new channel.
2. Each MediaCacheStream::NotifyDataReceived() call is also associated
   with a load ID from which the data is received.
3. If |mLoadID != aLoadID| tests to be true in NotifyDataReceived(), it means
   the data is from an old channel and should be discarded.
4. MediaCache::Update() reset mLoadID for the stream before calling
   CacheClientSeek() to prevent data from the old channel from being
   stored to the wrong position.

MozReview-Commit-ID: 9kBoublLlln

--HG--
extra : rebase_source : 58e6d3fe40ec7a549cabc70b30db8006b49c0563
2017-09-20 11:41:08 +08:00
JW Wang ba7be530dd Bug 1399760. P2 - ensure mCacheStream.NotifyDataStarted() is always called in OnStartRequest(). r=gerald
This keeps us in a good shape that NotifyDataStarted() is always called
before subsequent NotifyDataReceived() calls. This is also required by P3
where we need to set the loadID before NotifyDataReceived().

MozReview-Commit-ID: 9TPodkMM4EH

--HG--
extra : rebase_source : 0079e3ae6b791c64c76ca3bc3faac46039fc48fc
2017-09-20 11:30:03 +08:00