Commit Graph

737978 Commits

Author SHA1 Message Date
Kartik Gautam
caf549c200 Bug 1679758 - Remove trailing empty lines r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-13 13:28:30 +00:00
Karl Tomlinson
97dd1934d1 Bug 1680410 extend forced shutdown track notification to include the usual destroy process r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D99183
2020-12-11 10:38:46 +00:00
Ryan Hunt
c87b1f7727 Bug 1675602 - Use WebAssembly's type system for TypedObject. r=lth
This commit removes TypedObject's type system (StructTypeDescr,
ArrayTypeDescr, ScalarTypeDescr) and replaces it with a
wasm::TypeHandle to a wasm::TypeDef inside the global
wasm::TypeContext. TypeDescr is left as a JSObject that
wraps a wasm::TypeHandle for a TypedObject. In the future
it will likely be re-used for a RttValue.

When instantiating a module, types are transferred to
the global context and TypeDescr objects wrapping the type handles
are created. The TypeDescr objects are placed in TlsData
for the TypeIdDesc corresponding to the StructType.

Differential Revision: https://phabricator.services.mozilla.com/D96223
2020-12-13 01:13:56 +00:00
Ryan Hunt
3acfbca3c1 Bug 1675602 - Combine ToWebAssemblyValue and ToJSValue implementations. r=lth
This commit combines the two independent ToWebAssemblyValue and
ToJSValue implementations now that they have the same functional
behavior.

Differential Revision: https://phabricator.services.mozilla.com/D96222
2020-12-13 01:14:24 +00:00
Ryan Hunt
82287f3b5b Bug 1675602 - Unify handling of unexposable types between coercion functions. r=lth
The major difference between the two separate implementations
of ToJSValue is that the one operating on void* to have
!isExposable() filtered out by callers and generates a plausible
value for !isExposable() values. This allows the function to be
used by the debugger and not trigger errors in functions that have
v128.

This commit unifies both ToJSValue implementations to expect
!isExposable() values filtered out by callers and will return
a plausible value (now 'undefined') for users like debuggers
who want something. All callers that expect an error now check
isExposable() before calling the coercion function.

Differential Revision: https://phabricator.services.mozilla.com/D96221
2020-12-13 01:15:49 +00:00
Ryan Hunt
a44abdd3fe Bug 1675602 - Use ValType::isExposable in function entry and exits. r=lth
A previous commit added ValType::isExposable() for types
that have no JS representation (currently (ref T) and v128).

This commit changes stub generation to check !isExposable()
instead of !isV128() so that (ref T) will be excluded.

Differential Revision: https://phabricator.services.mozilla.com/D96220
2020-12-13 01:16:54 +00:00
Ryan Hunt
79ccbdd7c9 Bug 1675602 - Move other ToWebAssemblyValue/ToJSValue implementations to WasmTypes.h. r=lth
There are two independent implementations of ToWebAssemblyValue/
ToJSValue. One in WasmJS.cpp and another in WasmInstance.cpp. The
first was moved to WasmTypes.cpp in the previous commit. This commit
moves the second over to WasmTypes.cpp as well. A later commit
will unify the two implementations.

Differential Revision: https://phabricator.services.mozilla.com/D96219
2020-12-13 01:16:56 +00:00
Ryan Hunt
0e6e151b13 Bug 1675602 - Combine wasm::Val and WasmGlobalObject implementations. r=lth
wasm::Val and WasmGlobalObject both have a tagged WebAssembly value
implementation. Replace WasmGlobalObject's implementation with
wasm::Val's. wasm::Val gains the ability to have proper write
barriers as a result.

Differential Revision: https://phabricator.services.mozilla.com/D96218
2020-12-13 01:18:00 +00:00
Ryan Hunt
67335e0558 Bug 1675602 - Add global wasm::TypeContext to JSContext. r=lth
Introduce a global wasm::TypeContext for storing and managing
wasm types at execution time for instances.

Differential Revision: https://phabricator.services.mozilla.com/D96217
2020-12-13 01:18:18 +00:00
Ryan Hunt
b2c57b790a Bug 1675602 - Introduce wasm::TypeContext and use in ModuleEnvironment. r=lth
This commit introduces wasm::TypeContext as a semantic type index space
over wasm funcs, structs, and arrays. Module validation is updated
to use this.

Differential Revision: https://phabricator.services.mozilla.com/D96216
2020-12-13 01:18:41 +00:00
Ryan Hunt
552ac1be2b Bug 1675602 - Transfer TypeDefVector to runtime through wasm::Metadata. r=lth
Currently function types needed for runtime signature checks (can't fit in an
immediate) are transferred through wasm::Metadata. This commit generalizes this
method to transfer a vector of TypeDef's representing all types that need a
runtime representation. Some types are not transferred, such as function
types that fit in an machine word.

The dense structTypes_ vector in Instance is recreated as a stopgap during
instantiation. StructType::moduleIndex_ is removed and TypeIdDesc allocates
global data space to store the index to the dense structTypes_ vector in
Instance. The baseline compiler loads the index before calling struct.new/
narrow. This is suboptimal and a stopgap until the TypeIdDesc allocates space
for a TypeDescr* later in this commit stack and the structTypes_ vector
is removed.

Differential Revision: https://phabricator.services.mozilla.com/D96215
2020-12-13 01:20:05 +00:00
Ryan Hunt
176ff34945 Bug 1675602 - Rename FuncTypeIdDesc to TypeIdDesc. r=lth
This commit is a non-functional change to rename FuncTypeIdDesc
to TypeIdDesc. A later commit will re-use this type for all types
that require a runtime representation, not just functions.

Differential Revision: https://phabricator.services.mozilla.com/D96214
2020-12-13 01:20:28 +00:00
Ryan Hunt
e95fa8e26e Bug 1675602 - Remove FuncTypeIdDesc from TypeDef. r=lth
A later commit will re-use TypeDef for a wasm::TypeContext that
can be used during compilation and at runtime. Currently
TypeDef::IsFunction indicates there is a FuncTypeIdDesc which
describes the runtime representation of a function runtime-type.

This commit removes FuncTypeIdDesc from TypeDef and moves it to
ModuleEnvironment so that TypeDef can be used at runtime.

Differential Revision: https://phabricator.services.mozilla.com/D96213
2020-12-13 01:20:46 +00:00
Ryan Hunt
b6ff8552c6 Bug 1675602 - Replace ModuleEnvironment::funcTypes with FuncDesc. r=lth
This is a non-functional change. Adds a FuncDesc similar to TableDesc and GlobalDesc
instead of the the array-of-structs funcTypes and funcTypeIndices. This will be
expanded in a later commit that removes FuncTypeIdDesc from TypeDef.

Differential Revision: https://phabricator.services.mozilla.com/D96212
2020-12-13 01:21:04 +00:00
Masatoshi Kimura
ef26928389 Bug 1681642 - Improve error messages when extensions blocked downloads. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D99592
2020-12-12 21:28:13 +00:00
Sam Foster
576fa9f305 Bug 1674772 - New string for the 'Custom (inches) option and hidden described-by labels for each margin edge. r=mstriemer,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D98837
2020-12-12 23:33:06 +00:00
Mihai Alexandru Michis
9c44035580 Bug 1681971 - Modify added expectations on MediaRecorder-peerconnection manifest files. r=aryx DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D99578
2020-12-12 22:48:35 +00:00
Mark Striemer
7a87d9a53c Bug 1679133 - Show a Printing... message and spinner when printing r=sfoster,fluent-reviewers
This hides the platform provided printing dialog which shows progress while printing.
The dialog is dated but does provide an actual 0-100% progress indicator which
unfortunately this does not replace. It also provides a "Cancel" button which
also unfortunately doesn't work and gets us into a bad state.

This provides a simple spinner and a Printing... message to replace that dialog
so that the user knows that something is still happening.

Differential Revision: https://phabricator.services.mozilla.com/D99504
2020-12-12 22:34:26 +00:00
Kartikaya Gupta
767b176662 Bug 1681753 - Update helper_fixed_position_scroll_hittest.html to async/await style. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D99479
2020-12-12 18:46:13 +00:00
Kartikaya Gupta
d1a7eeca50 Bug 1681753 - Update helper_fixed_pos_displayport.html to async/await style. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D99478
2020-12-12 18:46:11 +00:00
Kartikaya Gupta
f8db3b8bc9 Bug 1681753 - Update helper_drag_click.html to async/await style. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D99477
2020-12-12 18:46:03 +00:00
Kartikaya Gupta
033c867930 Bug 1681753 - Update helper_click.html to async/await style. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D99476
2020-12-12 18:45:56 +00:00
Kartikaya Gupta
22ce32f34d Bug 1681753 - Update helper_checkerboard_scrollinfo.html to async/await style. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D99475
2020-12-11 19:46:56 +00:00
Hubert Boma Manilla
ce646bb5ee Bug 1674653 - [devtools] Resend requests with fission r=ochameau,devtools-backward-compat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D95474
2020-12-12 16:01:44 +00:00
Tomislav Jovanovic
7fabc9e74c Bug 1680877 - Enable content scripts in extension popups and sidebars r=rpl
See comment in ExtensionPolicyService::CheckDocument for details.

Differential Revision: https://phabricator.services.mozilla.com/D99133
2020-12-12 15:59:18 +00:00
Lee Salzman
aef66504ae Bug 1678938 - flip the clip nudge direction when crossing back outside. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D99576
2020-12-12 13:40:52 +00:00
Emilio Cobos Álvarez
fac460fe66 Bug 1682006 - Avoid silly propID -> string -> propID conversion in nsComputedDOMStyle. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D99494
2020-12-12 12:06:09 +00:00
Emilio Cobos Álvarez
b1964fa19a Bug 1682006 - Don't call Truncate() on the return string in GetPropertyValue. r=xidorn
Turns out this causes a bit of overhead when appending to an AutoString,
because Truncate() calls SetToEmptyBuffer(), which makes it go from
inline-string to buffer string, and next time we append we need to turn
the string from a buffer-based string to an inline string again, which
is some minor, but measurable, work, while profiling some
micro-benchmarks.

Probably we should make Truncate() a no-op for a zero-length string, but
I'll send that separately.

Differential Revision: https://phabricator.services.mozilla.com/D99493
2020-12-12 12:06:06 +00:00
Emilio Cobos Álvarez
0473b8d667 Bug 1677353 - Ignore padding when computing definite percentages if we're abspos boxes. r=mats
As percentages in abspos boxes resolve against the padding box.

Differential Revision: https://phabricator.services.mozilla.com/D99455
2020-12-12 11:18:56 +00:00
Peter Van der Beken
f00258370c Bug 1643018 - Fix TypeError: can't access property "permanentKey", browser is undefined. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D99480
2020-12-11 19:00:50 +00:00
Johann Hofmann
a11626017d Bug 1678210 - Make datasanitization.* probes never expire. r=ewright
These have actually been quite useful to us for several projects, we should keep them around.

Differential Revision: https://phabricator.services.mozilla.com/D99555
2020-12-12 10:44:52 +00:00
Gabriele Svelto
36c296acc1 Bug 1681944 - Remove the remaining instances of crash-stats.mozilla.com and replace them with the .org domain r=willkg DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D99447
2020-12-12 08:41:20 +00:00
Xidorn Quan
5b6e237eec Bug 1681957 - Migrate gecko-fuzz-targets away from rkv 0.10. r=vporof
Differential Revision: https://phabricator.services.mozilla.com/D99453
2020-12-12 08:32:40 +00:00
Brindusan Cristian
556f400fb6 Backed out changeset b022f8da9772 (bug 1678938) for reftest failures at 1157984-1.html. 2020-12-12 10:01:00 +02:00
Julian Descottes
b4654f4fca Bug 1681968 - [marionette] Remove unused wins map from Marionette driver module r=marionette-reviewers,whimboo
Depends on D98781

Differential Revision: https://phabricator.services.mozilla.com/D99462
2020-12-11 16:18:42 +00:00
Dan Glastonbury
d22631c4d7 Bug 1679094 - Resolve dom::Promise from Rust. r=nika
A very limited interface to allow resolving dom::Promises from Rust code by
marshaling values via nsIVariant.

Differential Revision: https://phabricator.services.mozilla.com/D97905
2020-12-12 02:55:49 +00:00
Lee Salzman
b1ffa2c392 Bug 1678938 - flip the clip nudge direction when crossing back outside. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D99576
2020-12-12 05:56:51 +00:00
alwu
95cf843de9 Bug 1678357 - part3 : modify test. r=chunmin
Because of part1, now we would activate controller in different momemt, so we have to modify our test to make them work or reduce the possible intermittent failure.

Depends on D98830

Differential Revision: https://phabricator.services.mozilla.com/D98831
2020-12-12 03:26:09 +00:00
alwu
f981a2bc7a Bug 1678357 - part2 : correct the logic of notifying metadata change. r=chunmin
Based on the comment, the logic here wants to ensure that we would only notify that change if the change happens on the active media session, so correct the condition to make it right.

Depends on D98829

Differential Revision: https://phabricator.services.mozilla.com/D98830
2020-12-11 23:41:53 +00:00
alwu
e2d5aa9ffd Bug 1678357 - part1 : activate the controller when it starts playing. r=chunmin
We currently activate the controller when it first becomes audible, which is possible to drop the first `playbackstatechange` event if the task to dispatch that evnt runs before we activate the controller.

The audible change always comes later than the playback change, so if we want to 100% ensure the first `playbackstatechange` can happen after `activated` event, then we have to activate the controller earlier. Therefore, this patch would activate the controller once it becomes playing.

Note that, even if we remove the audible check in media controller, we would still only control audible media because we have filtered out inaudible media in the content process.

Differential Revision: https://phabricator.services.mozilla.com/D98829
2020-12-11 23:42:39 +00:00
Tooru Fujisawa
881057374f Bug 1675962 - Part 5: Move LifoAlloc to CompilationInfo and CompilationInfoVector, to share between all delazification. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97119
2020-12-12 01:32:39 +00:00
Tooru Fujisawa
071a211404 Bug 1675962 - Part 4: Add cache for CompilationAtomCache for delazifications. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97118
2020-12-12 01:31:29 +00:00
Tooru Fujisawa
e789d5f235 Bug 1675962 - Part 3: Use CompilationStencil as delazifications vector element. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97117
2020-12-12 01:31:22 +00:00
Tooru Fujisawa
026d0788d5 Bug 1675962 - Part 2: Take CompilationInput and CompilationStencil separately. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97116
2020-12-12 01:31:09 +00:00
Tooru Fujisawa
5d55356c6f Bug 1675962 - Part 1: Make CompilationInfo methods static. r=tcampbell
These methods will be modified to take CompilationInput and CompilationStencil
separately in later patch.

Differential Revision: https://phabricator.services.mozilla.com/D97115
2020-12-12 01:31:01 +00:00
Tooru Fujisawa
53800b5bab Bug 1671912 - Reuse CompilationGCOutput across delazifications in CompilationInfoVector::instantiateStencils. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97114
2020-12-12 01:30:48 +00:00
Tooru Fujisawa
0712077f35 Bug 1677354 - Part 2: Assert all non-top-level scripts are function. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97112
2020-12-12 01:30:35 +00:00
Tooru Fujisawa
8cb2349dba Bug 1677354 - Part 1: Always copy script fields to stencil. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D97111
2020-12-12 01:30:27 +00:00
Toshihito Kikuchi
a354021b5a Bug 1681936 - Skip mXULLoadDurationMS check in GTest. r=mhowell
In GTest, xul.dll is considered untrusted because only the `FirefoxDirectory`
flag of `ModuleTrustFlags` is turned on.  In CCov build, however, xul.dll is
considered trusted because the `FirefoxDirectoryAndVersion` flag is also turned
on.  In the former case, the `FirefoxDirectoryAndVersion` is not turned on
because when xul.dll is re-built for GTest, its version becomes newer than
firefox.exe.  In the CCov build, the version of firefox.exe was also reset
probaly during instrumentation.  As a result, the loding event contains a value
in `mXULLoadDurationMS` in CCov build, but normally not.

This fix removes the check for `mXULLoadDurationMS` in GTest.

Differential Revision: https://phabricator.services.mozilla.com/D99564
2020-12-12 00:09:43 +00:00
Lee Salzman
428d1105f4 Bug 1678938 - nudge clipped coordinates inside clip boundary. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D99008
2020-12-12 01:11:36 +00:00