Add the necessary XPCOM components to handle prompts for GeckoView. The
JS code mostly package the prompts into GeckoView:Prompt events, and send
them to the Java side if in parent process, or to the parent process if
in child process.
Add an event listener for the GeckoView:Prompt event, which JS code will
use to sent over prompt requests and to receive prompt results. Both
global and per-GeckoView listeners are required because we may not know
the origin GeckoView for certain prompts, so some prompts will not have
an associated GeckoView. This is also the reason for having a static
default PromptDelegate in additional to an instance per-GeckoView
PromptDelegate. All prompts without associated GeckoViews are sent
directly to the default PromptDelegate.
Add a PromptDelegate interface that implements possible prompts shown by
a GeckoView application. All prompt methods include a callback parameter
for the implementation to call back to GeckoView with results from the
prompt.
Our "chrome-document-loaded" observer may detect several different types
of widgets that can exist in the parent process, including the Android
nsWindow, PuppetWidget, etc. We should only set the global state to
ready when the first top-level nsWindow has loaded, and not just any
window.
The new rustfmt.toml is based off servo/rustfmt.toml with some
tweaks to match the existing code in webrender_bindings
MozReview-Commit-ID: 7LbXC6qyjan
--HG--
extra : amend_source : 436e49dbd3d3fd72aab0f1791cf6e0d3fcc348b4
We probably don't want to tackle these issues since httpclientandroidlib is already deprecated,
and we have more pressing infer issues in the main app. (We can always reenable if needed,
but this means we can more rapidly get to a state of 0 infer reports, allowing use of infer
to catch newly introduced issues in the core app.)
MozReview-Commit-ID: 2jMlrh68kOE
--HG--
extra : rebase_source : 73e75eb0fb4a5eece242d64a624cfe80916208ca
The primary change here is to increase the number of times a failed
download is retried, when downloading test_packages.json and test zip
files, in hopes of recovering from more temporary service interruptions.
Without this change, we can end up asserting in ComputeVariablesData and
crashing in CSSVariableResolver::Resolve due to not finding any variable
declarations on the rules we matched, when we have content like in the
crashtest added here, i.e. variables inheriting into a pseudo like
::first-line and animations on the element inside the ::first-line.
We could solve this alternatively by removing the assertion and making
CSSVariableResolver::Resolve handle a null aDeclarations more gracefully,
but since we can save the effort of recomputing the Variables struct in
this case, we may as well.
MozReview-Commit-ID: 6l06ZF3WGsy
Don't escape whitespace in console evaluation results. This preserves
the behavior of the old console, and in particular makes pprint() more
useful again.
MozReview-Commit-ID: CrWWXjtSBIw
--HG--
extra : rebase_source : aa238c1f28d6a7e33b376874b7b67ffae5eaf97e