Commit Graph

856 Commits

Author SHA1 Message Date
Boris Zbarsky
19cf87ee1e Bug 1619112 part 5. Stop accepting nsAString in ErrorResult error-throwing. r=smaug
Callers should pass in UTF-8, since that's what the JS engine ends up with in the end anyway.

The various URL changes are because NS_NewURI converts incoming nsAString to
UTF-8 anyway.  So we might as well do that up-front and then use the UTF-8
string for both the NS_NewURI call and the error-reporting if it fails.

Differential Revision: https://phabricator.services.mozilla.com/D65543
2020-03-06 21:08:02 +00:00
Boris Zbarsky
3f4de1ace4 Bug 1619112 part 3. Pass UTF8 strings to MaybeRejectWithType/RangeError promise methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65539
2020-03-06 21:05:48 +00:00
Boris Zbarsky
e62a6fc4d1 Bug 1619112 part 2. Pass char literals instead of char16_t literals into ErrorResult throwing methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65538
2020-03-06 21:04:58 +00:00
Matt Woodrow
08b49cc241 Bug 1615967 - Move customUserAgent to BrowsingContext. r=nika,remote-protocol-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D63040
2020-02-24 02:15:03 +00:00
Simon Giesecke
d9ad6f7529 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/base. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63102
2020-02-21 10:41:47 +00:00
Kagami Sascha Rosylight
0a9b518b43 Bug 1573029 - Windows Web Share implementation r=marcosc,farre
Differential Revision: https://phabricator.services.mozilla.com/D44613
2020-02-13 14:21:06 +00:00
alwu
8f60f87de4 Bug 1611332 - part4 : directly notify context where media session exists if we have active media session. r=chunmin,bzbarsky
Since we can determine which browsing context contains an active media session via `MediaSessionController`, we should notify that context directly in order to access correct media session. Especially after we enable Fission, browsing contexts could exist in different processes, so choosing the right context to notify is really important.

Differential Revision: https://phabricator.services.mozilla.com/D60937
2020-02-11 20:55:51 +00:00
alwu
d803f33f54 Bug 1611332 - part3 : notify media session being created and destroyed. r=chunmin,bzbarsky
Update media session status from the content process to the chrome process in order to track all alive media session.

Differential Revision: https://phabricator.services.mozilla.com/D60936
2020-02-07 09:30:03 +00:00
Dragana Damjanovic
3975cc4960 Bug 1613943 - BeaconStreamListener::OnStartRequest should not set an network error. network code will interpret that as a real network error and close a connection immediately. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D62129
2020-02-11 16:11:22 +00:00
Boris Zbarsky
bd477b4e4f Bug 1613978. Allow passing u"...", not just nsAStrings, to templated ThrowType/RangeError. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D62061
2020-02-10 13:08:48 +00:00
Boris Zbarsky
c79c2cef9e Bug 1613292. Stop throwing localized errors from web share code to web content. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D61652
2020-02-05 14:22:41 +00:00
Boris Zbarsky
68a972f25b Bug 1612213 part 1. Switch most consumers of ThrowDOMException to the new methods. r=smaug,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D61267
2020-02-03 20:19:11 +00:00
Kearwood "Kip" Gilbert
d62653b2a7 Bug 1603825 - Suppress the VR permission UI when no VR runtimes are detected r=daoshengmu,bzbarsky
This patch suppresses VR device access permission prompts for users that do not have any VR runtimes installed.

We could not depend on the existing VR device enumeration functions to suppress the permission prompts, as the
act of enumerating VR devices will result in some hardware physically powering on and software starting up (and staying running)
in the background.

This patch includes logic to spawn the VR process with an additional flag indicating that it should attempt only to detect the
runtimes, without proceeding to enumerate and activate hardware and software.

VRManager now includes an enum to more clearly organize it's state machine model, which now must ensure that the runtime detection
happens on-demand when the VR session support capabilities are first determined.

There is a new pref to disable the suppression of permission prompts for use within permission UI tests on machines without VR runtimes.
Renamed some variables and added comments to make code in nsGlobalWindowInner and Navigator clearer and better represent the updated logic -- to allow the separate detection of VR runtimes and VR session activation. Both the runtime detection and VR
session activity uses VREventObserver to send events to nsGlobalWindowInner.

Differential Revision: https://phabricator.services.mozilla.com/D57568
2020-01-03 22:47:26 +00:00
Kearwood Kip Gilbert
021b366f7b Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-12 03:10:51 +00:00
Brindusan Cristian
e7431bbb62 Backed out 2 changesets (bug 1580567, bug 1599927) for mochitest failures at test_interfaces.html. CLOSED TREE
Backed out changeset 0e0d88942d33 (bug 1599927)
Backed out changeset 522c8d183bd5 (bug 1580567)
2019-12-11 05:31:08 +02:00
Kearwood Kip Gilbert
154b6a294c Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-11 01:38:17 +00:00
shindli
9d142fdc1b Backed out 2 changesets (bug 1580567, bug 1599927) for causing permafailures in dom/tests/mochitest/general/test_interfaces.html CLOSED TREE
Backed out changeset aeceec922866 (bug 1599927)
Backed out changeset 29809135f18e (bug 1580567)
2019-12-11 03:32:44 +02:00
Kearwood Kip Gilbert
dd45c5a705 Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-10 23:55:05 +00:00
Gabriele Svelto
eb403b8785 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55442
2019-12-06 09:24:56 +00:00
Razvan Maries
4734b4cc1d Backed out changeset 15f8fa34d2f4 (bug 1580567) for perma fails on browser_temporary_permissions_expiry.js and browser_privatebrowsing_rememberprompt.js. CLOSED TREE 2019-12-05 01:05:34 +02:00
Kearwood Kip Gilbert
b9aeb10c7e Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-04 21:10:56 +00:00
Dorel Luca
67889e1013 Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
dc6fa2e86c Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55442
2019-12-04 15:01:19 +00:00
Sid Vishnoi
be5bb38f40 Bug 1594306 - Rename nsGeo* files to match the WebIDL interfaces r=marcosc
Rename nsGeolocation to Geolocation.
Split nsGeoPostion to GeolocationPosition and GeolocationCoordinates.
Fix some include guards and comments referencing outdated interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D52515
2019-11-14 04:18:04 +00:00
Thomas Nguyen
e7a8d61a7e Bug 1591113 - Remove support for third-party vibrate r=baku,snorp
Differential Revision: https://phabricator.services.mozilla.com/D52531
2019-11-12 08:42:02 +00:00
thomasmo
1af6a47e43 Bug 1589913 - Update FxR Desktop default home page r=kip,bzbarsky
This change updates the home page to webxr.today for Firefox Realty on Desktop. Further, since WebVR is not supported yet, this change includes a way to disable WebVR specifically for FxR windows without impacting Desktop Fx.

Differential Revision: https://phabricator.services.mozilla.com/D51426
2019-11-06 14:53:08 +00:00
Brindusan Cristian
1581680c7e Backed out changeset c3813936e074 (bug 1589913) for mochitest assertion failures at nsGlobalWindowInner.cpp. CLOSED TREE 2019-11-06 02:42:43 +02:00
thomasmo
07ff472eec Bug 1589913 - Update FxR Desktop default home page r=kip,bzbarsky
This change updates the home page to webxr.today for Firefox Realty on Desktop. Further, since WebVR is not supported yet, this change includes a way to disable WebVR specifically for FxR windows without impacting Desktop Fx.

Differential Revision: https://phabricator.services.mozilla.com/D51426
2019-11-05 22:45:38 +00:00
Oana Pop Rus
2fc7c9f3e1 Backed out 2 changesets (bug 1589913) on request from bz on a CLOSED TREE
Backed out changeset e8ee20fdf6ac (bug 1589913)
Backed out changeset 12d046056948 (bug 1589913)
2019-11-01 17:32:59 +02:00
thomasmo
0dc2ce5c33 Bug 1589913 - Update FxR Desktop default home page r=imanol,rbarker
Fix crash on Android

Differential Revision: https://phabricator.services.mozilla.com/D51289
2019-10-31 19:08:38 +00:00
Dylan Roeh
9a5e6390e5 Bug 1402369 - Add WebShare support to GeckoView. r=geckoview-reviewers,snorp,marcosc,esawin
Differential Revision: https://phabricator.services.mozilla.com/D49614
2019-10-30 22:31:04 +00:00
thomasmo
c0755c2106 Bug 1589913 - Update FxR Desktop default home page r=kip,daoshengmu
This change updates the home page to webxr.today for Firefox Realty on Desktop. Further, since WebVR is not supported yet, this change includes a way to disable WebVR specifically for FxR windows without impacting Desktop Fx.

Differential Revision: https://phabricator.services.mozilla.com/D49840
2019-10-30 13:54:49 +00:00
Gijs Kruitbosch
049a987208 Bug 1586148 - fix web protocol handler behaviour under fission, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D48238
2019-10-16 14:56:23 +00:00
Chun-Min Chang
ff1f0fac81 Bug 1580602 - P2: Implement MediaMetadata API. r=bzbarsky
Implement the MediaMetadata interface. The API will be enabled behind a
pref.

Depends on D45456

Differential Revision: https://phabricator.services.mozilla.com/D45457
2019-10-10 19:18:30 +00:00
Chun-Min Chang
5b32025d36 Bug 1580602 - P1: Implement a blank MediaSession interface. r=bzbarsky
Create dummy implementations for the MediaSession interfaces. The files
are generated by running `./mach webidl-example` with necessary changes
to make it buildable.

The internal implementations are blank in this patch. They will be done
in the following patches.

Due to some spec issues, the final implementations only support some
basic operations like "play" and "pause".

Differential Revision: https://phabricator.services.mozilla.com/D45456
2019-10-10 19:18:30 +00:00
Oana Pop Rus
7aca3fc9a4 Backed out 3 changesets (bug 1580602) for eslint in test_setactionhandler.html on a CLOSED TREE
Backed out changeset b4a5a6bc1d56 (bug 1580602)
Backed out changeset e70e3c090791 (bug 1580602)
Backed out changeset 2c90724f42fc (bug 1580602)
2019-10-10 22:14:48 +03:00
Chun-Min Chang
a13a8b6913 Bug 1580602 - P2: Implement MediaMetadata API. r=bz
Implement the MediaMetadata interface. The API will be enabled behind a
pref.

Differential Revision: https://phabricator.services.mozilla.com//D45457

Depends on D45456
2019-10-09 23:59:50 +03:00
Chun-Min Chang
8213908eef Bug 1580602 - P1: Implement a blank MediaSession interface. r=bz
Create dummy implementations for the MediaSession interfaces. The files
are generated by running `./mach webidl-example` with necessary changes
to make it buildable.

The internal implementations are blank in this patch. They will be done
in the following patches.

Due to some spec issues, the final implementations only support some
basic operations like "play" and "pause".

Differential Revision: https://phabricator.services.mozilla.com//D45456
2019-10-10 00:14:49 +03:00
Daniel Varga
f87908ac90 Backed out changeset 3a52a67311e2 (bug 1580602) to reland with part2 and part3 2019-10-10 10:22:51 +03:00
Chun-Min Chang
9a6be122b3 Bug 1580602 - P1: Implement a blank MediaSession interface. r=bzbarsky
Create dummy implementations for the MediaSession interfaces. The files
are generated by running `./mach webidl-example` with necessary changes
to make it buildable.

The internal implementations are blank in this patch. They will be done
in the following patches.

Due to some spec issues, the final implementations only support some
basic operations like "play" and "pause".

Differential Revision: https://phabricator.services.mozilla.com/D45456
2019-10-09 21:14:49 +00:00
Marcos Cáceres
f85b56bff7 Bug 1312422 - Web Share Base/DOM implementation r=farre
Web Share base implementation just of DOM stuff - working together with @saschanaz.

@Baku, we would greatly appreciate your review.

-Nika, as she is traveling.

Differential Revision: https://phabricator.services.mozilla.com/D44598
2019-10-09 10:57:11 +00:00
Dzmitry Malyshau
fc2a18d9dc Bug 1581710 - Update WebGPU IDL bindings r=jgilbert,bzbarsky
This mostly updates the bindings to the current state.
No actual logic backing them yet.

*Note*: the IDL does *not* need to be checked for matching the upstream spec precisely at this stage. The upstream is evolving, we just need to update in order to start integrating the implementation. What needs to be checked is - how C++ represents the IDL, esp with regards to derived classes, events, and hierarchies.

The trickiest points, arguably, are:
  - WebGPU -> GPU prefix change
  - the goop for interfaces that are not final

Differential Revision: https://phabricator.services.mozilla.com/D46166
2019-10-02 16:46:03 +00:00
Brindusan Cristian
b881db6bb7 Backed out changeset 1ca9b7056c58 (bug 1581710) for mochitest failures at test_enabled.html. CLOSED TREE 2019-10-02 06:04:25 +03:00
Dzmitry Malyshau
312a9f7330 Bug 1581710 - Update WebGPU IDL bindings r=jgilbert,bzbarsky
This mostly updates the bindings to the current state.
No actual logic backing them yet.

*Note*: the IDL does *not* need to be checked for matching the upstream spec precisely at this stage. The upstream is evolving, we just need to update in order to start integrating the implementation. What needs to be checked is - how C++ represents the IDL, esp with regards to derived classes, events, and hierarchies.

The trickiest points, arguably, are:
  - WebGPU -> GPU prefix change
  - the goop for interfaces that are not final

Differential Revision: https://phabricator.services.mozilla.com/D46166
2019-10-02 01:42:07 +00:00
Boris Zbarsky
17361b9160 Bug 1581276. Require a message arg to ThrowDOMException. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D46250
2019-09-20 02:17:01 +00:00
Emilio Cobos Álvarez
b793a24fa9 Bug 1578700 - Change use counter setup to propagate the page use counters together. r=smaug
This is so that SetUseCounter is as cheap as possible.

This is in preparation for hooking the CSS use counters to telemetry. We want
CSS use counters to be fast and be propagated at once to the parent page. This
will make sure to use the same setup as everywhere else.

Differential Revision: https://phabricator.services.mozilla.com/D44645
2019-09-04 23:36:21 +00:00
Boris Zbarsky
a3f62259ce Bug 921496 part 1. Remove the one consumer of NavigatorProperty. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D40110
2019-08-26 18:56:34 +00:00
Dan Minor
3eb6429b8e Bug 1356046 - Remove expired media telemetry; r=jya,alwu,bryce
This removes all telemetry which expired in Firefox 69 or earlier, with the
exceptions of the following, which we plan to renew:
* AUDIO_TRACK_SILENCE_PROPORTION
* MEDIA_AUTOPLAY_WOULD_BE_ALLOWED_COUNT
* MEDIA_AUTOPLAY_WOULD_NOT_BE_ALLOWED_COUNT
* MEDIACACHESTREAM_LENGTH_KB
* MEDIA_MKV_CANPLAY_REQUESTED
* MEDIA_PAGE_COUNT
* MEDIA_PAGE_HAD_MEDIA_COUNT
* VIDEO_DROPPED_FRAMES_PROPORTION
* VIDEO_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE
* VIDEO_INFERRED_DECODE_SUSPEND_PERCENTAGE
* VIDEO_INTER_KEYFRAME_AVERAGE_MS
* VIDEO_INTER_KEYFRAME_MAX_MS
* VIDEO_SUSPEND_RECOVERY_TIME_MS
* VIDEO_VP9_BENCHMARK_FPS
* WEB_AUDIO_BECOMES_AUDIBLE_TIME
* WEBVTT_TRACK_KINDS

Differential Revision: https://phabricator.services.mozilla.com/D37313
2019-08-02 18:17:45 +00:00
arthur.iakab
2158fca6a8 Backed out changeset b8661a3b5dc2 (bug 1356046) for causing buid bustages on HTMLMediaElement.cpp CLOSED TREE 2019-08-02 19:00:45 +03:00
Dan Minor
68cd685c10 Bug 1356046 - Remove expired media telemetry; r=jya,alwu,bryce
This removes all telemetry which expired in Firefox 69 or earlier, with the
exceptions of the following, which we plan to renew:
* AUDIO_TRACK_SILENCE_PROPORTION
* MEDIA_AUTOPLAY_WOULD_BE_ALLOWED_COUNT
* MEDIA_AUTOPLAY_WOULD_NOT_BE_ALLOWED_COUNT
* MEDIACACHESTREAM_LENGTH_KB
* MEDIA_MKV_CANPLAY_REQUESTED
* MEDIA_PAGE_COUNT
* MEDIA_PAGE_HAD_MEDIA_COUNT
* VIDEO_DROPPED_FRAMES_PROPORTION
* VIDEO_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE
* VIDEO_INFERRED_DECODE_SUSPEND_PERCENTAGE
* VIDEO_INTER_KEYFRAME_AVERAGE_MS
* VIDEO_INTER_KEYFRAME_MAX_MS
* VIDEO_SUSPEND_RECOVERY_TIME_MS
* VIDEO_VP9_BENCHMARK_FPS
* WEB_AUDIO_BECOMES_AUDIBLE_TIME
* WEBVTT_TRACK_KINDS

Differential Revision: https://phabricator.services.mozilla.com/D37313
2019-08-02 15:37:59 +00:00