Commit Graph

50 Commits

Author SHA1 Message Date
Alastor Wu
2bc6bce6d1 Bug 1373888 - part1 : remove useless function. r=cpearce,smaug
These functions didn't be used by anyone, remove them.

MozReview-Commit-ID: BLj8GsVp1gR
2017-08-29 10:54:18 +08:00
Sebastian Hengst
cde9accb4f merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: AeoHOxZLi6m
2017-08-28 16:53:53 +02:00
John Lin
09e4a53cee Bug 842782 - p2: introduce attributes for orientation lock to video element. r=jwwang,smaug
MozReview-Commit-ID: odq1y9qH1
2017-08-28 18:15:31 +08:00
Sebastian Hengst
a824b533c6 Backed out changeset ba812092214c (bug 842782) 2017-08-28 09:59:11 +02:00
John Lin
7f9aa3af91 Bug 842782 - p2: introduce attributes for orientation lock to video element. r=jwwang,smaug
MozReview-Commit-ID: odq1y9qH1
2017-08-25 14:23:03 +08:00
Chris Pearce
64be5ea877 Bug 1392498 - Move TimeIntervals to dom::TimeRanges conversion into TimeRanges class. r=jya
If TimeUnits.h includes mozilla/dom/TimeRanges.h, then the build ends up
pulling in the Gecko DOM bindings, which pulls in a whole lot of JavaScript and
DOM bindings code. That makes it trickier to import GeckoMedia into Servo, and
makes Gecko's build slower, so move the code to convert TimeIntervals into
dom::TimeRanges.

Also remove an extraneous "virtual" and add "const" to some functions in TimeRanges.

MozReview-Commit-ID: BLeehaf9gCE
2017-08-21 15:08:25 +12:00
Tim Huang
b9bdf1a070 Bug 1369309 - Part 3: Making the media statistics reports a spoofed value when fingerprinting resistance is enabled. r=cpearce, r=arthuredelstein
This patch makes the media statistics report values with a fixed frames per second
and a dynamic dropped ratio when resistance fingerprinting is enabled. The dropped
rate is decided by the video resolution that it will report a fixed dropped rate
when the video resolution is greater than 480p. And It will report a zero dropped
rate if the video is below or equal to 480p. In addition, it adds three new prefs
that allow us to change the value of frames per second, the dropped ratio and the
threshold of target video resolution. The three prefs are
'privacy.resistFingerprinting.video_frames_per_sec', 'privacy.resistFingerprinting.video_dropped_ratio'
and 'privacy.resistFingerprinting.target_video_res'. The default values of them
are 30, 5 and 480, which means 30 frames per second, 5 percent dropped ratio and
480p.

This also adds a new helper function 'nsContentUtils::ShouldResistFingerprinting(nsIDocument* aDoc)'
for checking whether fingerprinting resistance is enabled for a given docuemnt.
If it is a chrome document, this function will indicate that fingerprinting
resistance is not enabled regardless of the pref 'privacy.resistFingerprinting'.
If it is a content document, the result will depend on the pref.

MozReview-Commit-ID: FbSuRq6Zdnn
2017-07-17 15:13:55 +08:00
Tim Huang
fe0e102e02 Bug 1369309 - Part 1: Spoofing media statistics to 0 when 'privacy.resistFingerprinting' is true. r=jwwang, r=arthuredelstein
MozReview-Commit-ID: FNALpUGFDTQ
2017-06-19 14:43:26 +08:00
JW Wang
cbd526e0d5 Bug 1378295. P5 - remove AbstractMediaDecoder from MediaDecoder's base class. r=jya
MozReview-Commit-ID: lIAT21YMRR
2017-07-13 17:38:06 +08:00
David Major
b1e362f6f7 Bug 1344615: Remove nsXPCOMStrings.{h,cpp} r=bsmedberg
These are now dead code.

MozReview-Commit-ID: AClU0Qx3kmN
2017-03-06 17:52:54 +13:00
Manish Goregaokar
2d1e54b302 Bug 1334330 - Part 3: stylo: Use GenericSpecifiedValue abstraction in elements using only common mappers; r=bz,emilio
MozReview-Commit-ID: B8vg4ZiqRGK
2017-01-26 16:51:01 -08:00
Manish Goregaokar
7e8e84c24b Bug 1334330 - Part 1: stylo: Abstractify nsMappedAttributes to work on arbitrary containers of specified value data; r=bz,emilio
MozReview-Commit-ID: BSM4TC9RKot
2017-01-26 13:39:13 -08:00
Gerald Squelart
0a5fd110f2 Bug 1311877 - VideoPlaybackQuality.totalVideoFrameCount is presented+dropped - r=jya
totalVideoFrameCount was previously incorrectly set to the number of demuxed
frames.
According to the current W3C specs [1], it should instead be the total number of
frames that have been presented, plus frames that have been discarded.

Also added a check that discarded<=total in mochitest.

[1] https://wicg.github.io/media-playback-quality/#concepts

MozReview-Commit-ID: Gnv1roM5n0A
2016-10-21 12:01:59 +11:00
Alastor Wu
2a26bc5f28 Bug 1262053 - part8 : remove function NotifyOwnerDocumentActivityChangedInternal. r=cpearce
MozReview-Commit-ID: DnWgQHGJLU5
2016-08-29 18:56:38 +08:00
ctai
56fe08b4fc Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR
2016-05-27 14:33:48 +08:00
Sebastian Hengst
3704bef2fd Backed out changeset 3851902daa94 (bug 1201363) 2016-08-03 19:33:25 +02:00
ctai
9104d064ff Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR
2016-05-27 14:33:48 +08:00
Carsten "Tomcat" Book
ea106e7924 Backed out changeset b018ce9d1484 (bug 1201363) 2016-08-02 12:53:59 +02:00
ctai
f94bf5cd50 Bug 1201363 - Replace VideoFrameContainer with MediaStreamVideoSink in MSG. r=jesup
Replace the pointer of VideoFrameContainer with the pointer of MediaStreamVideoSink.

MozReview-Commit-ID: 5bqEMpemwuR
2016-05-27 14:33:48 +08:00
Gerald Squelart
5073971142 Bug 1289668 - HTMLMediaElement uses video decoder's frame statistics - r=kamidphish
HTMLVideoElement can expose its thread-safe FrameStatistics object, so that
HTMLMediaElement can access more adequate data for its telemetry, without
having to use an intermediary (and potentially less accurate)
VideoPlaybackQuality object.

This will also help with accessing other/new FrameStatistics members later on.

MozReview-Commit-ID: AT7mEGy0zGr
2016-07-26 11:32:58 +10:00
Gerald Squelart
b76c86e6f7 Bug 1289668 - Use 64 bits to store FrameStatistics values - r=kamidphish
Decoders uses 64-bit values to count frames, so we should use the same type
in FrameStatistics.

Because VideoPlaybackQuality can only use 32 bits (as defined in W3C specs),
we need to ensure that imported FrameStatistics numbers can fit in 32 bits,
while keeping their ratios the same.

MozReview-Commit-ID: 3pUTGK0ekGv
2016-07-18 10:51:30 +10:00
Gerald Squelart
ba51d3e4a1 Bug 1289668 - Refactor FrameStatistics - r=kamidphish
Move FrameStatistics' data into separate struct, so that it can more easily be
changed and passed around, outside of the lock-controlled FrameStatistics
object.

MozReview-Commit-ID: TfsMRJhVfQ
2016-07-18 09:51:25 +10:00
Gerald Squelart
76e2ef3389 Bug 1286444 - Use correct types to construct VideoPlaybackQuality - r=kinetik
VideoPlaybackQuality was fed uint64_t's, now it should be given uint32_t's.
Note that FrameStatistics currently provide uint32_t's, so we are fine now;
nevertheless I added a static_assert to verify that and ensure it stays true.

MozReview-Commit-ID: I0dgP1K4lg3
2016-07-14 15:18:36 +10:00
Andrea Marchesini
7dcf0fcf39 Bug 1278838 - Remove separate worker binding for Performance API, r=smaug 2016-06-09 19:04:42 +02:00
Kilik Kuo
1ec1529836 Bug 1228601 - [Part2] Swap width,height if necessary and apply rotation matrix while building layer.; r=mattwoodrow
MozReview-Commit-ID: Jlh6oRa32fj
2016-05-12 01:54:52 +08:00
Sebastian Hengst
c190060cbe Backed out changeset 1ed74da8c8bb (bug 1228601) 2016-05-23 14:23:51 +02:00
Kilik Kuo
7b5a0fe23a Bug 1228601 - [Part2] Swap width,height if necessary and apply rotation matrix while building layer.; r=mattwoodrow
MozReview-Commit-ID: Jlh6oRa32fj
2016-05-12 01:54:52 +08:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Chris Peterson
5655d03320 Bug 1232223 - Part 1: Remove MOZ_WEBM #ifdefs because WebM is always supported, though not necessarily enabled. r=jya r=glandium 2015-12-12 13:49:07 -05:00
Boris Zbarsky
11cee47d40 Bug 1224007 part 4. Fix some cases in which ErrorResult instances are destroyed without doing anything useful with exceptions on them. r=peterv 2015-11-20 16:29:41 -05:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Kilik Kuo
5f15c0212c Bug 1204882 - Move MediaDecoder::FrameStatistics out of MediaDecoder for easier use in other classes. r=jwwang 2015-09-15 22:57:20 +08:00
Andrew Osmond
c00857914d Bug 1203151 - Allow disabling of screen wakelocks for video elements. r=baku 2015-09-02 09:18:16 -04:00
Andrea Marchesini
c2655a03af Bug 1184292 - Remove some Wakelock warning messages when unlocking. r=smaug
CLOSED TREE
2015-08-26 09:21:00 -04:00
Hiroyuki Ikezoe
3fe8712e83 Bug 1189162 - Clamp gamepad.timestamp and VideoPlaybackQuality.creationTime. r=bz 2015-07-30 01:41:00 -04:00
Ehsan Akhgari
37a45c793d Bug 1180535 - Dispatch the media-playback notification when navigating away from a page that has a media element playing; r=baku
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.

This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
2015-07-11 13:16:39 -04:00
Carsten "Tomcat" Book
79edbab44c Backed out changeset e11a8496bf63 (bug 1180535) 2015-07-11 14:13:32 +02:00
Ehsan Akhgari
33472a67ba Bug 1180535 - Dispatch the media-playback notification when navigating away from a page that has a media element playing; r=baku
When navigating away from a document, we mute the playing media elements
through the NotifyOwnerDocumentActivityChanged() notification.
Sometimes, that function may notify the audio channel agent through its
call to AddRemoveSelfReference() which may call
UpdateAudioChannelPlayingState() and notify the agent, but when we're
navigating away from the page, playingThroughTheAudioChannel will always
be equal to mPlayingThroughTheAudioChannel, which causes us to not
notify the audio channel agent.

This patch fixes this by separating NotifyOwnerDocumentActivityChanged()
from its internal consumers, and forcefully notifying the audio channel
agent when we navigate away.
2015-07-10 21:33:00 -04:00
Dragana Damjanovic
f5e3e71a6d Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Robert O'Callahan
61c5028a30 Bug 1143575. Don't report negative frame delays. r=cpearce 2015-05-25 15:42:24 +12:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Jean-Yves Avenard
f50ed5b16c Bug 1153049: Part5. Simplify retrieval of HTMLVideoElement dimensions. r=cpearce 2015-04-14 15:17:55 +10:00
Jean-Yves Avenard
53ce854702 Bug 1153686: Remove redundant mMediaSize member. r=roc 2015-04-14 15:15:46 +10:00
Tooru Fujisawa
1ebc0fcbe0 Bug 1144322 - Handle tabindex in overridden IsInteractiveHTMLContent methods. r=smaug 2015-03-23 18:02:33 +09:00
Boris Zbarsky
3a822d99b4 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Tooru Fujisawa
1df47134f9 Bug 1141455 - Do not treat an element with tabindex as an interactive content in label. r=smaug 2015-03-18 05:42:14 +09:00
Andreas Pehrson
bcf69a5fa5 Bug 1129263 - Part 4. Use MediaInfo instead of mHasAudio/Video in media element. r=roc 2015-02-09 14:51:17 +08:00
Anthony Jones
bf665307e1 Bug 1138253 - Count dropped frames directly; r=cpearce 2015-03-03 17:46:48 +13:00
Tooru Fujisawa
b10a0c8ee5 Bug 229925 - Do not dispatch event to label target if interactive content is found between the event target and the label. r=smaug 2015-01-21 05:39:28 +09:00
Birunthan Mohanathas
86c0c5b215 Bug 946065 - Part 11: Move content/html/ to dom/ and flatten subdirectories. r=peterv 2014-10-25 20:24:55 +03:00