Depends on D23865
Some localized strings missing in the notftl file. Adding them before moving the strings.
Differential Revision: https://phabricator.services.mozilla.com/D23867
--HG--
extra : moz-landing-system : lando
Depends on D23864. Wifi preference is not used anymore, removing it as well for consistency.
Differential Revision: https://phabricator.services.mozilla.com/D23865
--HG--
extra : moz-landing-system : lando
Depends on D23863. We want to enable network locations by default.
Remove all the logic and l10n strings related to this before moving the l10n strings.
Differential Revision: https://phabricator.services.mozilla.com/D23864
--HG--
extra : moz-landing-system : lando
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
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
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
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
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
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
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
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
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
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
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
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
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
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