TextEditRules::HandleNewLines() is expensive since it may scan all of given
string twice and more. On the other hand, in most cases, given string does
not contain \n, \r nor \r\n.
First, for avoid using nsTString::FindCharInSet(), HandleNewLine() should
receive string which never contains \r nor \r\n. Then, it always can use
nsTSubstring::FindChar() instead.
Next, HandleNewLines() should do nothing if given string does not contain \n.
Finally, because of unused, this removes unnecessary HandleNewLines() argument
which can specify the way to handle new lines.
MozReview-Commit-ID: 8WSfxfkuFgN
--HG--
extra : rebase_source : 1c05721162a30288929d030c0a15fe83a50fe9d2
Migrate the ShaderEditor to use the HTMLTooltip instead of the
old XUL-only Tooltip. The HTMLTooltip doesn't provide a builtin
setTextContent API, so the shadereditor is now creating the
markup for the tooltip and setting it as the content.
The styles have been ported to shadereditor.css and now rely on
theme variables.
This will allow us to move all the old tooltip code to the old
debugger folder, which will be the last consumer of the widget.
MozReview-Commit-ID: HVyxtf0xM4x
--HG--
extra : rebase_source : cdb7d6eabe77816f7f6d93299f7a8440ec4ce9a4
To align with all the other commands the user_prompts.py test file
has to contain tests for handling an open user prompt when calling
the command.
In case of both Execute Script and Execute Async Script the file
contained tests where a user prompt got opened during the script
execution. Tests for the latter situation are moved to a different
test file.
MozReview-Commit-ID: JeAROkAH9vk
--HG--
rename : testing/web-platform/meta/webdriver/tests/execute_async_script/user_prompts.py.ini => testing/web-platform/meta/webdriver/tests/execute_async_script/execute_async.py.ini
rename : testing/web-platform/meta/webdriver/tests/execute_script/user_prompts.py.ini => testing/web-platform/meta/webdriver/tests/execute_script/execute.py.ini
rename : testing/web-platform/tests/webdriver/tests/execute_async_script/user_prompts.py => testing/web-platform/tests/webdriver/tests/execute_async_script/execute_async.py
rename : testing/web-platform/tests/webdriver/tests/execute_script/user_prompts.py => testing/web-platform/tests/webdriver/tests/execute_script/execute.py
extra : rebase_source : 96353b743afee774da93e6318400175d9cd6bff4
WebDriver:{ExecuteScript,ExecuteAsyncScript} were missing user
prompt checks.
MozReview-Commit-ID: KL8gTBfSTrU
--HG--
extra : rebase_source : 7660e57079e82beb1aeb95d1673d69e82fef0394
The test_partialUpdateV4() test case doesn't wait for the update task
to be finished. It checks the status in the HTTP server side and then calls
run_next_test(). However, when XPCShell test is done, it will trigger
the shutdown process and hence interrupt the ongoing update task.
This cause the xpcshell test receives an error since the update is
interrupted and returns an error like NS_ERROR_UC_UPDATE_SHUTDOWNING.
This patch also fixes a javascript error that we didn't stop the httpd
server when cleanup.
Differential Revision: https://phabricator.services.mozilla.com/D2360
--HG--
extra : moz-landing-system : lando
When a component registers after having already registered once, there
are two sources of truth for the version ID: one implicit in the
connection to Megaphone, and one coming from the component call to
addListener. Try to handle this more thoroughly.
MozReview-Commit-ID: EsYgO0mzQ9w
--HG--
extra : rebase_source : c4823e44733f218da842aabf5c0961500a461c82
The original code had a bug in that going from disabled to enabled
would always connect, whereas actually we want to only connect if
there are records (or alwaysConnect is on).
We maintain the existing behavior that if the user has set
dom.push.connection.enabled to false, we don't connect, figuring that
this is the way a privacy-conscious user might indicate that they
don't want to talk to "the mothership".
MozReview-Commit-ID: ClbhYhnHVog
--HG--
extra : rebase_source : b404f4cf327590d9e55e3d9ceefbd2660715f7b3
This patch removes the <kbd>Esc</kbd> handler from codeMirror
to put it on the jsterm-container. This prevent the interference
from codeMirror when we don't need to handle the event (i.e. it
should bubbles up to the toolbox where the split console state
is managed).
The webconsole_split test is run with both old and
new jsterm.
MozReview-Commit-ID: BaLyj4wSdmv
--HG--
extra : rebase_source : 6b549379839dc824a38ee49ffd859092cfbecb13
extra : source : de58a50eb0165665644b07fffd228e5478861e2e
The widget will hide the XUL panel when clicking to the outside of panel
automatically.
If a user clicks the MenuButton when opening the popup, the popup will hide
automatically and mouse click event will be fired on macOS and Linux.
(Windows will eat this click event since the consumeoutsideclicks of this panel
is false.)
As a result of it, the popup menu will be reopened. In order to prevent this,
this patch will disable the MenuButton until popup is hidden by using
the popuphidden event. This popuphidden event will be fired before the click
event of MenuButton, then the click event of MenuButton will be fired after
popuphidden immediately.
MozReview-Commit-ID: 42xV0aWDmkR
--HG--
extra : rebase_source : 526d89b876a0db13feee5629272c74275b4cf611
The argument --package_file was removed in the latest sdkmanager by Google's Android. But the docs for it say
packages can also be sent by putting them in quotes and calling the sdk manager with them as individual args.
So now instead of sending the file directly with the --package_file argument, the package names are read from
the file and the sdk manager is called with them as individual args.
Historically this has been thought of as a bug that happens with the wrong version of the JDK, but this can be
reproduced with just java 1.8.0_181 and the most up to date version of sdkmanager currently 26.1.1
Important note, the mach bootstrap command downloads an older version of the sdk and this bug is not present in
the older version.
Since the way of updating packages I'm proposiing to use is backwards compatible, there shouldn't be any problem
in any version of the sdkamanger.
This is a simpler fix than trying the --package_file argument, particularly because it would involve capturing
output (to detect this particular bug) that's also supposed to be shown to the user because this also happens
when the user is supposed to be interacting with the install.
MozReview-Commit-ID: L7VhCVKJNIf
***
Formatting changes to satisfy the linter.
--HG--
extra : rebase_source : f67d2cb85a4136eb8ad5c3053f5436a8870ab528
It's currently only accessible on XULDocument and XULElement, but that makes porting existing
JS to run in an HTML document inconvenient. We could alternatively change calling JS, but
this can be easily moved and exposed in chrome contexts.
MozReview-Commit-ID: JitYET20NSE
--HG--
extra : rebase_source : 75d823c688cba8d84dc19705e83284be383962f2
This changes the behavior for inspecting rejected Promises such that:
(1) We don't consider them safe getters, treating them as we would a thrown exception
(2) Manually handle the rejection with `catch` when possible, so that we don't create
an error when trying to inspect the promise and leaving it unhandled
MozReview-Commit-ID: HZL4BrjCKkA
--HG--
extra : rebase_source : 45d84b1c8ef5a6fc2a9c060dba44b2f56147740b
This is also gone from the parent process because previously it was forced to be early loaded by the fact that process-content.js also runs in the parent. Now the parent side is first initialized by the Cu.import from the Activity Stream code, which is later in the startup process
MozReview-Commit-ID: FEypEi0Eemc
--HG--
extra : rebase_source : 6a682dff38370410c91cac44f1f5b2739f0247d1
This is an optimization that reduces the memory usage of the registeredUrls list (as it will use shared data among all processes), and makes the Register/Unregister messages unecessary since the changes in sharedData are automatically propagated to all running processes.
The flush() is unfortunately needed to force the propagation in this case, otherwise it would propagate on the next idle tick, and that is not enough to make sure that the RemotePageManager works for the first about:newtab created when starting Firefox
MozReview-Commit-ID: JG3na0XXWA2
--HG--
extra : rebase_source : 1db486512363fc853293ea0ef35f0be8aac882e2
This moves the code responsible for listening for document creation out of RemotePageManagerChild.jsm into process-content.js, so that the rest of the code in RemotePageManagerChild.jsm is not loaded unecessarily.
Note: The Register/Unregister messages are included in this patch for correctness, but they will be removed by optimizations from the next patch
MozReview-Commit-ID: LxV481rfanV
--HG--
extra : rebase_source : 55af52097b4d98052a98327a7d4c6f864eadc37e
The RemotePageManager.jsm contains code both for the parent and child processes, which makes some code to be unecessarily loaded twice. This patch splits it up in various parts:
RemotePageManagerParent.jsm - code meant for the parent process
RemotePageManagerChild.jsm - code meant for child processes
MessagePort.jsm - code used by both the parent and child code paths (the base MessagePort and MessageListener)
MozReview-Commit-ID: 1fUoQ5Y29xM
--HG--
rename : toolkit/modules/RemotePageManager.jsm => toolkit/components/remotepagemanager/MessagePort.jsm
rename : toolkit/modules/RemotePageManager.jsm => toolkit/components/remotepagemanager/RemotePageManagerChild.jsm
rename : toolkit/modules/RemotePageManager.jsm => toolkit/components/remotepagemanager/RemotePageManagerParent.jsm
extra : rebase_source : 828b57b305274abbf55710bc58325a087e5b6cc4
Spinning on setting nsStyledElement::SetInlineStyleDeclaration causes
high malloc/free as MiscContainer is created for nsAttrValue passed to
Element::SetAttrAndNotify before the old one is delete'd.
Keep a cache of one MiscContainer in nsAttrValue to alleviate this
pattern.
MozReview-Commit-ID: 2RGaltPvVOn
--HG--
extra : rebase_source : a517035b1637ec7408b7b39bc7cce85074cabb44
`errorMessage` only contains 'TypeError: docShell is null' whereas `message` contains the file path and line.
MozReview-Commit-ID: 7Tuqph1b3lV
--HG--
extra : rebase_source : fdf20be275adaac41f25ebeee67d142456f4da8b
This patch introduces |mach summarize| so developers can see how expensive
changing a file will be. For a file in the build graph, developers can get
the total wall clock time for the file and the number of downstream commands.
This command requires that developers have a local tup db.
MozReview-Commit-ID: AWxrMibXH4r
--HG--
extra : rebase_source : 22ecf5ef67581b226d8861f961b96c4bda450c78
The changes affecting the docs include:
Rename of EXTERNAL_ARGUMENT to VARIABLE_REFERENCE
Addition of TERM_REFERENCE
Docs already talk about variable references, too.
MozReview-Commit-ID: KUwPSqJyBn0
--HG--
extra : rebase_source : d1b8b3aa42716ba9884422687c8ae8946805bb1f
This is a massive update, changes have been individually reviewed
in https://hg.mozilla.org/l10n/compare-locales
MozReview-Commit-ID: BlpuXcLoA34
--HG--
rename : third_party/python/compare-locales/compare_locales/checks.py => third_party/python/compare-locales/compare_locales/checks/dtd.py
rename : third_party/python/fluent/tools/migrate/blame.py => third_party/python/fluent/fluent/migrate/blame.py
rename : third_party/python/fluent/tools/migrate/migrate-l10n.py => third_party/python/fluent/fluent/migrate/tool.py
extra : rebase_source : fc4fedc7a8d8c83033b3c95693723e8dbf858de7
Even with this patch, the setting change doesn't affect media queries in sub
frames due to bug 1478212. But the bug is a pre-existing issue, for example
system color settings don't affect contents in sub frames either. So we can
land this patch as it is.
Note that there is no way to write an automation test for this unfortunately.
MozReview-Commit-ID: L2Knhp1IjrU
--HG--
extra : rebase_source : 3487a13d0466b68419e55610c8ce3e384df28e64
This is easier to understand as we don't have to round-trip the whole success and error states to the privileged wrapper which could potentially lead to stale state changes.
This is also much simpler for the basic-card-form as it doesn't need a lot of the complexity of the previous implementation.
* Move selectedStateKey from page to address-page since it doesn't apply to basic-card-page
MozReview-Commit-ID: B4kiZNWElGI
--HG--
extra : rebase_source : bcca13bbdc506961834e2e3cc078dad7d6ee7ca7
This removes the 'use-artifacts' mechanism in favour of fetches. There are a
few pieces here that need to land atomically:
1. Remove use-artifact related code
2. Call 'fetch-content' from the run-task script
3. Convert existing tasks on top of fetches (jsshell, python unittest)
4. Stop calling 'fetch-content' from toolchain setup tasks (as this now gets handled in run-task)
Depends on D2166.
Differential Revision: https://phabricator.services.mozilla.com/D2167
--HG--
extra : moz-landing-system : lando
* Provide an cc-exp-year option to match cc-exp-month
* Make cc-number and cc-name required in the basic-card-form
* Disable the basic-card-page save button when the form is invalid.
MozReview-Commit-ID: LjzsnAKJp6R
--HG--
extra : rebase_source : 4dcbee371cd0e30b5823b803c4f4734f897ec786