Commit Graph

642778 Commits

Author SHA1 Message Date
Boris Zbarsky
5539520106 Bug 1535124 part 3. Add MOZ_CAN_RUN_SCRIPT annotations to geolocation code as needed. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D23521

--HG--
extra : moz-landing-system : lando
2019-03-20 18:05:09 +00:00
Boris Zbarsky
a998830a71 Bug 1535124 part 2. Mark Web IDL callbacks MOZ_CAN_RUN_SCRIPT by default. r=qdot
We add a [MOZ_CAN_RUN_SCRIPT_BOUNDARY] opt-out for now to keep the tree
compiling.  The naming purposefully matches the C++ annotation that has a
similar effect, top make it easy to search for.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 12:59:54 +00:00
Boris Zbarsky
5c13f9c06d Bug 1535124 part 1. Add a MOZ_KnownLive() around callback-typed arguments in bindings. r=qdot
This allows calling a C++ MOZ_CAN_RUN_SCRIPT method that takes a callback argument.

The changes to TestCanRunScript.cpp are there to catch an incorrect change I was
going to make to the analysis to make this work, until I figured out that
RootedCallback should be MOZ_IS_SMARTPTR_TO_REFCOUNTED.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 12:59:53 +00:00
Jim Blandy
f06911fbb4 Bug 1536224: Update Debugger documentation for async function initial yields. DONTBUILD r=jorendorff
Since bug 1530324 removed the wrapper functions for async functions, it is no
longer true that a Debugger.Frame for an async function call calls its onPop
handler once after evaluating default arguments but before beginning execution
of the body.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 18:26:15 +00:00
Eitan Isaacson
65c8912aaf Bug 1535701 - Focus GeckoView when interacting with TalkBack. r=geckoview-reviewers,snorp
When TalkBack receives a focus event, it redirects the accessibility focus (the green cursor) to the focused element. This is an important driver for the screen reader experience.

Since the focus mode of the GeckoView is "focusable in touch", the focused state of the view is very arbitrary when using TalkBack since the user never directly touches the view. The only way for the view to regain focus is if a control or link in the content is interacted with.

TalkBack user, who is explicitly interacting with the webview/geckoview would expect it to have focus, and to have the accessibility focus redirected in the page in the case of script-driven focus events.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 16:48:40 +00:00
Eitan Isaacson
2b6876f959 Bug 1535701 - Don't clear focus when moving vc away from focused node. r=yzen
This is more consistent with how it works in GeckoView. We need to give
up this behavior because it reset the top-level caret position on each
blur. This interferes with find in page which goes to the next search
result past the current caret.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 16:48:36 +00:00
Alex Gaynor
823516cc43 Bug 1536097 - Part 5 - convert AttestationConveyancePreference to use ParamTraits for deserialization; r=jcj
Depends on D24065

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:25:35 +00:00
Alex Gaynor
12dcc5de20 Bug 1536097 - Part 4 - convert UserVerificationRequirement to use ParamTraits for deserialization; r=jcj
Depends on D24064

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:25:47 +00:00
Alex Gaynor
b6f7702cfa Bug 1536097 - Part 3 - convert WebAuthnMaybeGetAssertionExtraInfo to use a native IPDL maybe; r=jcj
Depends on D24063

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:26:00 +00:00
Alex Gaynor
936775f7b8 Bug 1536097 - Part 2 - convert WebAuthnMaybeMakeCredentialExtraInfo to use a native IPDL maybe; r=jcj
Depends on D24062

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:26:20 +00:00
Alex Gaynor
8db559a3fd Bug 1536097 - Part 1 - convert WebAuthnMaybeAuthenticatorAttachment to use a native IPDL maybe and use ParamTraits for deserialization; r=jcj
Differential Revision: https://phabricator.services.mozilla.com/D24062

--HG--
extra : moz-landing-system : lando
2019-03-20 15:23:44 +00:00
Alex Gaynor
6f04c635d8 Bug 1513911 - Part 2 - fixed a missing include; r=mccr8
Depends on D18995

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

--HG--
extra : moz-landing-system : lando
2019-02-27 20:00:58 +00:00
Alex Gaynor
da1241536a Bug 1513911 - Part 1 - added a missing include; r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D18995

--HG--
extra : moz-landing-system : lando
2019-02-27 19:53:15 +00:00
Patrick Brosset
dff1494aa0 Bug 1536834 - Remove leftover csscoverage code; r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D24191

--HG--
extra : moz-landing-system : lando
2019-03-20 16:06:59 +00:00
Ashley Hauck
75a6208f38 Bug 1535166 - Implement computed field names. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D23408

--HG--
rename : js/src/tests/non262/fields/basic.js => js/src/jit-test/tests/fields/basic.js
rename : js/src/tests/non262/fields/literal.js => js/src/jit-test/tests/fields/literal.js
rename : js/src/tests/non262/fields/mixed_methods.js => js/src/jit-test/tests/fields/mixed_methods.js
rename : js/src/tests/non262/fields/quirks.js => js/src/jit-test/tests/fields/quirks.js
extra : moz-landing-system : lando
2019-03-20 17:26:01 +00:00
Julian Descottes
2e16f5021e Bug 1536502 - Remove references to deleted panels in telemetry;r=janerik
Depends on D24200

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:50:30 +00:00
Julian Descottes
057ed7087e Bug 1536502 - Update license file with correct path to dagre-d3 devtools lib;r=pbro
Depends on D24197

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

--HG--
extra : moz-landing-system : lando
2019-03-20 16:30:55 +00:00
Julian Descottes
039e0993c8 Bug 1536502 - Remove remaining references to webaudioeditor in devtools;r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D24197

--HG--
extra : moz-landing-system : lando
2019-03-20 16:08:01 +00:00
Ethan Glasser-Camp
cf4788faef Bug 1535962: Introduce a sample rate for reporting uptake telemetry events r=leplatrem
Differential Revision: https://phabricator.services.mozilla.com/D23814

--HG--
extra : moz-landing-system : lando
2019-03-20 14:30:39 +00:00
Dana Keeler
b3666e5fd0 Bug 1429796 - cert_storage: create rkv environment and store only once to avoid races r=mgoodwin,jcj
This patch also base64-decodes the API inputs before storing in the DB in
anticipation of being able to pass binary data directly (bug 1535752).

This patch additionally whitelists the DB backing file in talos.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 00:01:47 +00:00
Mark Goodwin
50887394d6 Bug 1429796 Cleanup storage in CertBlocklist to allow easy addition of new types of pair (e.g. whitelist entries) r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D17668

--HG--
extra : moz-landing-system : lando
2019-03-20 17:00:47 +00:00
Noemi Erli
700d44723a Backed out 2 changesets (bug 1488503) for failing in browser_misused_characters_in_strings.js CLOSED TREE
Backed out changeset 1b763fdfc0ba (bug 1488503)
Backed out changeset 4968b4484074 (bug 1488503)
2019-03-20 19:12:27 +02:00
arthur.iakab
414cf3892d Backed out changeset dc2ae28a117f (bug 1534003) for causing mochitest failures on test_docload_embedded.html CLOSED TREE 2019-03-20 18:50:18 +02:00
Julian Descottes
1a362137dc Bug 1536427 - Stop calling actions.pauseOnExceptions on Debugger startup;r=jlast
Differential Revision: https://phabricator.services.mozilla.com/D24160

--HG--
extra : moz-landing-system : lando
2019-03-20 15:26:53 +00:00
Jared Wein
9ea9a03160 Bug 1469087 - Apply the reduced font-size on the Whimsypong toolbarpaletteitem so the label will fit inside of the paddle. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D23932

--HG--
extra : moz-landing-system : lando
2019-03-20 15:35:58 +00:00
Ricky Rosario
1d10c90bb9 Bug 1491332 - Reset legacy homepages to about:home - again r=dao
MozReview-Commit-ID: 997S4oJLHiB

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:30:07 +00:00
David Major
ebab8a4fb6 Bug 1490743 - Work around missing type information in Windows debug symbols r=chmanchester
See https://bugs.llvm.org/show_bug.cgi?id=38944. clang thought it could safely leave out type information for some of our classes, but that information would have been helpful for debugging. The flag in this patch turns off the debug-info limiting.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:04:41 +00:00
Byron Campen [:bwc]
b6c6f6df02 Bug 1518672: Sync transceivers before firing signalingstatecheanged. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D23906

--HG--
extra : moz-landing-system : lando
2019-03-19 21:07:30 +00:00
James Willcox
cf8b03cc76 Bug 1522451 - Resolve named CSS colors to RGB in Web Manifests r=marcosc
Differential Revision: https://phabricator.services.mozilla.com/D23025

--HG--
extra : moz-landing-system : lando
2019-03-20 14:44:29 +00:00
James Willcox
cdb58ae6cf Bug 1522451 - Add ContentDelegate.onWebAppManifest() r=geckoview-reviewers,agi,droeh
This delivers a parsed and validated Web App Manifest to the
application, if present, during the page load process.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 14:44:22 +00:00
James Willcox
c54e1232f7 Bug 1522451 - Add asset support to HttpBin r=geckoview-reviewers,agi
This lets us request, e.g. '/assets/www/hello.html'.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 14:43:21 +00:00
Suriyaa Sundararuban
27e41bb248 Bug 1534003 - Update page title in about:buildconfig r=mconley
Fixes also partially bug 1051846.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:34:05 +00:00
Tom Prince
e8e8ccdaa3 Bug 1535947: [taskgraph] Remove a redundant condition in name_sanity transform; r=aki
In bug 1501776, the `single_dep` and `multi_dep` schemas were aligned, which made both
branch in name_sanity identical. Simplify the code to reflect that.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 02:23:24 +00:00
Thomas Wisniewski
13eb2f8827 Bug 1437360 - do not attempt to parse XHRs as XML if content-length=0, to prevent logging "no root element found" errors; r=smaug
do not attempt to parse XHRs as XML if content-length=0, to prevent logging "no root element found" errors

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:43:31 +00:00
Honza Bambas
5ffebc7b88 Bug 1536387 - Append a regular HTTP cache key tag of value 0x7f to distinguish memory-only entries, r=michal
Differential Revision: https://phabricator.services.mozilla.com/D24170

--HG--
extra : moz-landing-system : lando
2019-03-20 13:54:57 +00:00
Iain Ireland
29862e7be0 Bug 1533890: Fix template mismatch in MacroAssembler-none r=jandem
With this change, --disable-ion builds successfully.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:35:46 +00:00
Alex Chronopoulos
0aeb2ece86 Bug 1536538 - Enable libdav1d on Linux. r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D24072

--HG--
extra : moz-landing-system : lando
2019-03-20 11:34:39 +00:00
Alex Chronopoulos
15f9cf5662 Bug 1536538 - Improve a check in config file and correct typos. r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D24071

--HG--
extra : moz-landing-system : lando
2019-03-20 14:24:23 +00:00
Matthew Noorenberghe
ef2d220b16 Bug 936026 - Test autofilling logins in documents restored from bfcache. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D22213

--HG--
extra : moz-landing-system : lando
2019-03-20 14:21:59 +00:00
Matthew Noorenberghe
a222ccc871 Bug 936026 - Autofill login forms after restoring documents from bfcache. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D22212

--HG--
extra : moz-landing-system : lando
2019-03-20 14:21:55 +00:00
Bastien Abadie
9ca2ba47f7 Bug 1536763 - Support more than 100 files in ./mach static-analysis check, r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24151

--HG--
extra : moz-landing-system : lando
2019-03-20 13:03:13 +00:00
Iain Ireland
c87e4c2350 Bug 1533890: Add scripted constructor support to CacheIR r=mgaudet
This patch adds support for scripted constructors, using the existing template object infrastructure.

Comparison points:
- BaselineCacheIRCompiler::createThis/updateReturnValue correspond to big "if (isConstructing) ..." blocks in ICCallScriptedCompiler::generateStubCode.
- CallIRGenerator::getTemplateObjectForScripted corresponds to the block in tryAttachCallStub starting with the comment "// Remember the template object ..."

Notes:
1. In the original CreateThis code, there was the following comment:
  // Reload callee script. Note that a GC triggered by CreateThis may
  // have destroyed the callee BaselineScript and IonScript. CreateThis
  // is safely repeatable though, so in this case we just leave the stub
  // frame and jump to the next stub.
This comment was out of date; as of bug 1415853, the code pointer is always valid. The comment does not exist in the new version.

2. Bug 870478 added code to the old version of |updateReturnValue| to load |this| from the baseline frame instead of the baseline stub frame, because we would not trace the copy of |this| if a rectifier frame was created. A better fix was delivered in bug 945275 (we now trace |this| in rectifier frames). The new version of |updateReturnValue| loads |this| out of the stub frame, because it is both easier to read and more efficient.

3. Unlike BaselineInspector::getTemplateObjectFor(Native|ClassHook), the scripted version does not use the callee as a guard to make sure that we have the correct template object. This is the same as the status quo. It works because we only retrieve the template object if the IC chain has exactly one non-fallback stub. We still store the callee in the metadata, because it is needed for BaselineInspector::getSingleCallee. This whole area of the BaselineInspector API should probably be redesigned, but it seemed out of scope for this patch.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:22:04 +00:00
Iain Ireland
3c073ca1ae Bug 1533890: Add native constructor call support to CacheIR r=mgaudet
This patch uses the infrastructure from the previous patch to add constructor support for native calls.

Comparison points:
- CallIRGenerator::getTemplateObjectForNative corresponds to GetTemplateObjectForNative in BaselineIC.cpp

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:41:09 +00:00
Iain Ireland
27304d1785 Bug 1533890: Add constructor hook support to CacheIR r=mgaudet
Constructor stubs in the existing implementation contain template objects, which are unused by the stub itself but consumed by Ion. To make this work in CacheIR, this patch introduces meta ops, which generate no code but can be consumed by BaselineInspector.

This patch adds the infrastructure for meta ops and uses it to implement constructor class hooks, because it is a simple place to start. Subsequent patches add support for native constructor calls and scripted constructor calls.

In each case, BaselineInspector needs two pieces of information: a) The template object itself, and b) the callee, which BaselineInspector checks to make sure it is getting the correct template object. (The precise nature of the template object varies: it's a class pointer for hooks, but a pointer to the actual callee object for native and scripted constructors.) The meta op's arguments are a tag (in this case, "ClassTemplateObject") and two stub field offsets. NB: the class offset is reused from an earlier guard. To make this work, addStubField now returns the offset of the new field.

Other notes:

1. I changed an assertion in CompactBufferReader::seek to make it possible to seek directly to the end of the buffer. This is safe, because we already check to make sure we aren't at the end before reading from the buffer.
2. It turns out that the code to iterate through CacheIR bytecode is nicer if the CacheIR op table defines the length of the arguments to an op, without including the op itself. I made the change.

Comparison points:
- CallIRGenerator::getTemplateObjectForClassHook corresponds to GetTemplateObjectForClassHook in BaselineIC.cpp

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:19:06 +00:00
Iain Ireland
90b37eb481 Bug 1528270: Clean up pushCallArguments and pushSpreadCallArguments r=mgaudet
This patch makes a couple of improvements to pushCallArguments, and one improvement to pushSpreadCallArguments.

1. The old code used two instructions to generate argPtr, where one instruction will do.
2. The old code jumped through some hoops to avoid adding |callee| and |this| to count before aligning the stack for jit frames. However, AlignJitStackBasedOnNArgs only cares whether nargs is even or odd. Since it doesn't make a difference whether we add 2 to nargs before or after alignment, this patch removes the "optimization".
3. The previous version of pushSpreadCallArguments used three instructions to find the end of the argument array, where one computeEffectiveAddress would do.

(It also improves the comments.)

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:17:09 +00:00
Iain Ireland
bef7376ac0 Bug 1533890: Add spread call support to CacheIR r=mgaudet
This patch adds spread call support for scripted calls, native calls, and class hooks. (The old code did not have spread support for class hooks, but it's easy to add.)

Notes:
1. We don't support spread constructors yet. That will come later, after regular constructors are supported.
2. The old implementation called ICCallStubCompiler::guardSpreadCall to limit the size of the spread array. As an undocumented side-effect, guardSpreadCall also modifies the argc input register. The CacheIR version uses a fresh register, and relies on the magic of the CacheIR register allocator to preserve the input register.

Comparison points:
- GuardAndGetSpreadArgc corresponds to ICCallStubCompiler::guardSpreadCall.
- BaselineCacheIRCompiler::pushSpreadCallArguments corresponds to ICCallStubCompiler::pushSpreadCallArguments
- DoSpreadCallFallback is modified to correspond to DoCallFallback.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 23:23:23 +00:00
Iain Ireland
9f41a88be8 Bug 1533890: Migrate call hooks to CacheIR r=mgaudet
This patch implements class hooks in CacheIR. It only supports call hooks; constructor calls are handled in a later patch.

The implementation of class hooks overlaps almost completely with the implementation of native calls; the only difference is how we load the address of the callee.

Comparison points:
- The old logic is in TryAttachCallStub and ICCall_ClassHook::Compiler::generateStubCode.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:57:54 +00:00
Iain Ireland
c917365100 Bug 1533890: Migrate CallScripted to CacheIR r=mgaudet
This patch implements calls to native functions in CacheIR. Spread calls and constructor calls are handled in a later patch.

Notes:
1. This patch adds GuardFunctionHasJitEntry as a separate CacheIR op, which guards against relazification. The same functionality currently exists inside of ScriptedGetterResult. My original intent was to refactor ScriptedGetterResult to use the op, but if Ted's plans to add a delazification trampoline work out then the issue goes away entirely and we can just delete both versions of the code.
2. Like the callNative patch, this patch bakes argc into the stub code.
3. The existing code pops callee off the stack and unboxes it, immediately after copying the args. This doesn't make any sense, because we have already unboxed it once and it's still in a register.
4. There are a couple of places in tryAttachCallScripted where we want to decline to attach without counting it as a failure. Right now, if the CacheIR path fails, the old implementation will do the right thing for us. A future patch will add isTemporarilyUnoptimizable support to CallIRGenerator.

Comparison points:
   - CallIRGenerator::tryAttachCallScripted and BaselineCacheIRCompiler::emitCallScriptedFunction correspond to TryAttachCallStub and ICCallScriptedCompiler::generateStubCode

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:57:50 +00:00
Iain Ireland
97c1196748 Bug 1533890: Add simulator support for IgnoresReturnValue version of native functions r=mgaudet
Native calls in the simulator have to be redirected to a special swi instruction. In the old implementation, this redirection did not support calling the IgnoresReturnValue version of a native function. This patch fixes that problem in the new implementation.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:57:44 +00:00
Iain Ireland
777a20a753 Bug 1533890: Migrate CallNative to CacheIR r=mgaudet
This patch implements calls to native functions in CacheIR. Spread calls and constructor calls are handled in a later patch.

Notes:

1. When running in the simulator, native call stubs have an extra stub field to hold the redirected swi wrapper. We use some ugly ifdefs to make that work.
2. The simulator version of native call stubs also doesn't support ignoresReturnValue calls. This bug is fixed in a later patch.
3. pushCallArguments is based directly on the existing code. A later patch improves the comments and tightens up the generated code.
4. Compared to the previous implementation, this patch bakes argc into each stub (by using it to compute the address of |callee| in tryAttachCallNative). This increases the number of versions of the stub code we generate by some (hopefully small) factor. In a future patch (not yet written), this will be changed so that we unroll the loop in pushCallArguments for small argc, and share stub code for large argc.

Comparison points:
   - BaselineCacheIRCompiler::pushCallArguments corresponds to ICCallStubCompiler::pushCallArguments
   - CallIRGenerator::tryAttachCallNative and BaselineCacheIRCompiler::emitCallNativeFunction correspond to TryAttachCallStub and ICCall_Native::Compiler::generateStubCode. (The dividing line between the two functions is different between the old and new code, but aside from the exceptions detailed above the logic should be the same.)

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:57:40 +00:00