Граф коммитов

11238 Коммитов

Автор SHA1 Сообщение Дата
criss c6b2c5db61 Backed out 9 changesets (bug 1772006) causing build bustages on nsTString.cpp. CLOSED TREE
Backed out changeset f17c7565707b (bug 1772006)
Backed out changeset c725fe1f5882 (bug 1772006)
Backed out changeset d19663161261 (bug 1772006)
Backed out changeset b6611ab002d9 (bug 1772006)
Backed out changeset 790f42b64af9 (bug 1772006)
Backed out changeset 79a734b4e4d9 (bug 1772006)
Backed out changeset 42730aae16ea (bug 1772006)
Backed out changeset b2542aef3054 (bug 1772006)
Backed out changeset 962bfea4a309 (bug 1772006)
2022-06-11 01:13:42 +03:00
Nika Layzell fbec8096a9 Bug 1772006 - Part 7: Simplify and move the find+replace methods from ns[T]StringObsolete, r=xpcom-reviewers,barret
The remaining methods in ns[T]StringObsolete are all find+replace methods for
nsTSubstring. These were migrated in a similar way to the find methods, and
partially updated to avoid using methods from nsStringObsolete.cpp.

This change removes the ns[T]StringObsolete.cpp files completely, as they are
no longer necessary.

Differential Revision: https://phabricator.services.mozilla.com/D148301
2022-06-10 21:12:08 +00:00
James Teh 1fcd045e66 Bug 1771736 part 1: Update cached spelling errors when a spelling error is removed. r=morgan,smaug
I originally thought we didn't need to be explicitly notified about removals because a correction always triggers a text change and we push a cache update for spelling errors whenever the text changes.
However, it seems that even when a correction is made and the text changes, the spell check ranges aren't yet up to date.
Previously, we were pushing a cache update whenever text was reflowed, which was taking care of this.
Soon, we don't want to push text cache updates if the text doesn't actually change.
We remove the reliance on these redundant text updates by having an explicit notification for spell check removals.

Differential Revision: https://phabricator.services.mozilla.com/D147655
2022-06-01 00:35:26 +00:00
James Teh 7564ed957c Bug 1737919 part 4: Update cached spelling errors when a spelling error is added without the text changing. r=morgan,smaug
We already have an nsISelectionListener, but that only tells us that a change happened somewhere in the selection, not which range changed.
We don't want to push a cache update for all ranges when only one changed.
Therefore, this patch adds an accessibility notification in mozInlineSpellChecker::AddRange.
We don't need this for removed ranges because the text will change for any spelling error corrections and text updates trigger spelling error cache updates.

Differential Revision: https://phabricator.services.mozilla.com/D147244
2022-05-27 10:56:41 +00:00
Andrew McCreight 01913de302 Bug 1769442 - Remove nsIFactory::lockFactory, breaking compatibility with IClassFactory. r=xpcom-reviewers,Jamie,necko-reviewers,kershaw,nika
nsIFactory is binary compatible with Windows COM's IClassFactory,
but nothing seems to depend on it. This patch removes the test
for compatibility, TestCOM, and removes the lockFactory
method that isn't otherwise needed.

Differential Revision: https://phabricator.services.mozilla.com/D146386
2022-05-16 22:38:51 +00:00
Mike Hommey 2d6c8fdbc6 Bug 1766561 - Adjust UTF-16 string formatting. r=nika
With MOZ_FORMAT_PRINTF annotations, the compiler expects a wchar_t*, and
it won't automatically consider char16ptr_t to be compatible with that.

While handling strings, there's one case of formatting that doesn't need
to use %S at all.

Differential Revision: https://phabricator.services.mozilla.com/D144919
2022-05-03 20:49:09 +00:00
Mike Hommey 08edf30a1b Bug 1766561 - Add missing l modifier for long formatting. r=Jamie,media-playback-reviewers,gfx-reviewers,nika,necko-reviewers,mhowell,rkraesig,gerald,application-update-reviewers,bytesized,alwu,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D144917
2022-05-03 20:49:08 +00:00
Tooru Fujisawa bc20f01f72 Bug 1765156 - Part 5: Use SpecialPowers.ChromeUtils.import in extensions/. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D144086
2022-05-03 06:32:26 +00:00
Tooru Fujisawa 72001c3fe3 Bug 1766114 - Part 2: Use Services.jsm in AutoConfig prefcalls.js. r=mkaply
Depends on D144939

Differential Revision: https://phabricator.services.mozilla.com/D144940
2022-04-28 14:53:12 +00:00
Tooru Fujisawa e52c566f4d Bug 1766114 - Part 1: Define ChromeUtils in privideged AutoConfig sandbox. r=mkaply
Differential Revision: https://phabricator.services.mozilla.com/D144939
2022-04-28 14:53:12 +00:00
Timothy Nikkel 0c959232b6 Bug 1765113. Silence spammy warning in extensions/permissions/PermissionDelegateHandler.cpp. r=timhuang
Depends on D143891

Differential Revision: https://phabricator.services.mozilla.com/D143892
2022-04-19 09:49:50 +00:00
Dan Minor 7bfa09587b Bug 1761464 - Load dictionaries lazily; r=smaug
Loading dictionaries is time consuming and must occur on the main thread. By
loading them lazily, we can hopefully spread these loads across multiple calls
rather than loading them all at once, which results in noticeable jank on
slower systems.

Differential Revision: https://phabricator.services.mozilla.com/D142558
2022-04-01 18:57:41 +00:00
Dan Minor cf34ce99d8 Bug 1761464 - Pass nsCString to RLBoxHunspell::Create; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D142696
2022-04-01 18:57:40 +00:00
Dan Minor 1dc69c5bc0 Bug 1761464 - Don't free dictionaries when they are no longer in use; r=smaug
This adds an mEnabled flag which is used to hide dictionaries from the
spellchecker rather than freeing them. Loading dictionaries is an expensive
process which must occur on the main thread. By retaining dictionaries in
memory, we avoid having to reload them. If the number of dictionaries in use
exceeds a set number (10), we'll attempt to free any disabled dictionaries to
avoid memory use growing indefinitely.

Differential Revision: https://phabricator.services.mozilla.com/D142557
2022-04-01 18:57:40 +00:00
Dan Minor 37130e3638 Bug 1761085 - Check for existence of mEngine in mozSpellChecker; r=smaug
With the changes to EditorSpellCheck::SetFallbackDictionary to use a
promise chain to support calling either SetCurrentDictionaryFromList or
SetCurrentDictionaries as required, it is now possible that
RemoteSpellCheckEngineChild is destroyed by the time the second promise
runs. During destruction, RemoteSpellCheckEngineChild calls
mozSpellChecker::DeleteRemoteEngine, which sets mEngine to nullptr.
This patch adds a nullptr check for mEngine in both
SetCurrentDictionaryFromList and SetCurrentDictionaries.

Differential Revision: https://phabricator.services.mozilla.com/D141983
2022-03-24 19:23:56 +00:00
Dan Minor 337bc15035 Bug 1402822 - Update unit tests for multiple dictionaries; r=smaug
For the most part these are simple updates to account for multiple
dictionaries and the fact that SetDictionaries is async whereas
SetDictionary was sync.

Fixing test_async_UpdateCurrentDictionary was more involved because
there were flaws in the existing test and it is more difficult to
harmonize the UpdateCurrentDictionary callback with the changes to make
SetDictionaries async.

Differential Revision: https://phabricator.services.mozilla.com/D140245
2022-03-23 13:53:39 +00:00
Dan Minor 12a8486570 Bug 1402822 - Support multiple dictionaries in InlineSpellChecker; r=smaug,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D140242
2022-03-23 13:53:38 +00:00
Dan Minor ec7686738b Bug 1402822 - Support multiple dictionaries in RemoteSpellcheckEngine; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D140241
2022-03-23 13:53:37 +00:00
Dan Minor c6176cbf35 Bug 1402822 - Support multiple dictionaries in mozSpellChecker; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D140240
2022-03-23 13:53:37 +00:00
Dan Minor 4bfde31d98 Bug 1402822 - Support multiple hunspell instances in mozHunspell; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D140239
2022-03-23 13:53:36 +00:00
Dan Minor 69b8413be1 Bug 1402822 - Support multiple dictionaries in mozISpellCheckingEngine.idl; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D140238
2022-03-23 13:53:36 +00:00
Randell Jesup fcaf70841e Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 18:47:08 +00:00
Noemi Erli 2390d257e6 Backed out changeset 12a59e5a50bf (bug 1207753) for causing build bustage CLOSED TREE 2022-03-16 18:32:51 +02:00
Randell Jesup 4b033a5256 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 16:16:14 +00:00
Butkovits Atila 927ad62c6a Backed out changeset a68ee4b09f92 (bug 1207753) for causing Hazard bustages. CLOSED TREE 2022-03-16 14:38:14 +02:00
Randell Jesup 7d4b5fae04 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 12:01:14 +00:00
Nika Layzell 05dc5e0d76 Bug 1754037 - Part 3c: Automatically update all ParamTraits implementations, r=ipc-reviewers,media-playback-reviewers,bryce,mccr8
Automatically generated rewrites of all ParamTraits and IPDLParamTraits
implementations in-tree to use IPC::Message{Reader,Writer}.

Differential Revision: https://phabricator.services.mozilla.com/D140004
2022-03-04 15:39:41 +00:00
Jari Jalkanen 972848b50f Bug 1736844 - Add interrupt flag to storage service methods opening database; r=dom-storage-reviewers,mak,janv
Differential Revision: https://phabricator.services.mozilla.com/D129023
2022-02-17 06:22:27 +00:00
Marian-Vasile Laza 1004df96d4 Backed out changeset 0ef0b43b28f1 (bug 1736844) for causing gtest failures. CLOSED TREE 2022-02-16 09:27:30 +02:00
Haiyang Xu 4f8cc77665 Bug 1736844 - Add interrupt flag to storage service methods opening database; r=dom-storage-reviewers,mak,janv
* The same flags can be used to enable other features such as extented error codes

Differential Revision: https://phabricator.services.mozilla.com/D129023
2022-02-16 06:08:11 +00:00
Nika Layzell dabb46c84d Bug 1736371 - Default new actors to be refcounted, r=alwu,media-playback-reviewers,mccr8
The changes to ipdl actors were mechanical, and largely automated using
a script.

Differential Revision: https://phabricator.services.mozilla.com/D137237
2022-02-09 17:29:47 +00:00
Nika Layzell 91ec85c593 Bug 1752444 - Part 2: Rewrite direct_call.py protocols to use {Parent,Child}Impl attributes, r=ipc-reviewers,media-playback-reviewers,alwu,mccr8
This is a mechanical change which was performed by a script based on the
contents of direct_call.py, and then manually checked over to fix
various rewriting bugs caused by my glorified sed script. See the
previous part for more context on the change.

Differential Revision: https://phabricator.services.mozilla.com/D137227
2022-02-09 17:29:46 +00:00
Hannah Peuckmann 9e561c3134 Bug 1750164 - Hand over the proper unit of time from ClearDataService to PermissionManager. r=pbz
Differential Revision: https://phabricator.services.mozilla.com/D136391
2022-01-31 16:33:33 +00:00
Joel Maher d55f10c407 Bug 1751264 - adjust tests that should be passing on win10. r=intermittent-reviewers,MasterWayZ
Differential Revision: https://phabricator.services.mozilla.com/D136525
2022-01-20 21:02:44 +00:00
Kershaw Chang 8664bd40dd Bug 1748210 - Always release GetNextTokenCompleteEvent on main thread, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D134948
2022-01-12 03:59:47 +00:00
Emilio Cobos Álvarez aae1c6e826 Bug 1748408 - Allow bigger chunks in hunspell. r=bholley
Some dictionaries might use more memory for some words than what we were
allowing.

Differential Revision: https://phabricator.services.mozilla.com/D135060
2022-01-05 18:22:47 +00:00
Mike Hommey e6e627c61f Bug 1746299 - Remove broken support for --enable-project=extensions and --enable-extensions. r=Gijs,firefox-build-system-reviewers,mhentges
The former is broken because of a lack of a app.mozbuild file and has
been broken for years.

The latter doesn't do anything useful outside --enable-project=extensions
because all the subdirectories of extensions/ are already covered by
other flags (or always used):
- auth, via --enable-negotiateauth (default on)
- permissions, always
- pref, via --enable-pref-extensions (default on)
- spellcheck, always
- universalchardet, via --enable-universalchardet (default on)

Also, nothing sets MOZ_EXTENSIONS_DEFAULT anymore.

Differential Revision: https://phabricator.services.mozilla.com/D133970
2021-12-18 00:32:34 +00:00
Sandor Molnar eac95b4a93 Backed out 6 changesets (bug 1746539, bug 1746541, bug 1746544, bug 1746540, bug 1746542, bug 1746299) for causing android build bustages in cutils/properties. CLOSED TREE
Backed out changeset 9352292fa327 (bug 1746544)
Backed out changeset 3cc761d90071 (bug 1746542)
Backed out changeset 8d8fc11e8012 (bug 1746541)
Backed out changeset 5f53612aad1b (bug 1746540)
Backed out changeset afb601202b24 (bug 1746539)
Backed out changeset 90027c44c9af (bug 1746299)
2021-12-18 01:28:06 +02:00
Mike Hommey 26b16bad6e Bug 1746299 - Remove broken support for --enable-project=extensions and --enable-extensions. r=Gijs,firefox-build-system-reviewers,mhentges
The former is broken because of a lack of a app.mozbuild file and has
been broken for years.

The latter doesn't do anything useful outside --enable-project=extensions
because all the subdirectories of extensions/ are already covered by
other flags (or always used):
- auth, via --enable-negotiateauth (default on)
- permissions, always
- pref, via --enable-pref-extensions (default on)
- spellcheck, always
- universalchardet, via --enable-universalchardet (default on)

Also, nothing sets MOZ_EXTENSIONS_DEFAULT anymore.

Differential Revision: https://phabricator.services.mozilla.com/D133970
2021-12-17 22:52:09 +00:00
Jens Stutte 52992de4f8 Bug 1707963: Avoid a potential race on permission manager singleton creation. r=permissions-reviewers,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D132215
2021-12-14 18:39:42 +00:00
Jens Stutte e8d4b2540f Bug 1707963: Let the PermissionManager be initialized lazily but not after shutdown started. r=permissions-reviewers,timhuang,janv
Differential Revision: https://phabricator.services.mozilla.com/D132088
2021-12-14 18:39:41 +00:00
Masayuki Nakano 2214b0dc00 Bug 1735446 - part 5: Make `nsIInlineSpellChecker` use `unsigned long` as offset in node r=m_kato
It has two methods which take (signed) `long` argument to specify offset in a
DOM node, but it's declared as "unsigned long" in the standards.  And now,
they work with rewritten Selection API which take `uint32_t` so that they should
use `unsigned long` for making the handling simpler and safer.

Differential Revision: https://phabricator.services.mozilla.com/D131034
2021-12-09 07:44:09 +00:00
Masayuki Nakano 82e2013683 Bug 1735446 - part 4: Make `Selection::GetRangeAt()` take `uint32_t` instead of `int32_t` r=smaug
It's an internal API corresponding to `Selection.getRangeAt` DOM API.
I think that it should use `uint32_t` rather than `size_t` because of the
consistency with the DOM API and `Selection::RangeCount()`.

This patch fixes all callers of `GetRangeAt()`, and rewrites it with ranged-
loops unless original ones do not refer `RangeCount()` every time and may run
script in the loop.

Differential Revision: https://phabricator.services.mozilla.com/D128848
2021-12-09 07:35:09 +00:00
Alexandru Michis 9028b0458c Backed out 2 changesets (bug 1707963) for causing bc failures in browser_xpcom_graph_wait.js
CLOSED TREE

Backed out changeset 4e7eac659186 (bug 1707963)
Backed out changeset 5d86acaf84da (bug 1707963)
2021-12-09 09:05:07 +02:00
Masayuki Nakano 8213a63459 Bug 1735446 - part 1: Make `Selection` use `uint32_t` for handling offset in DOM nodes r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D128844
2021-12-09 00:45:19 +00:00
Jens Stutte e574cb98de Bug 1707963: Avoid a potential race on permission manager singleton creation. r=permissions-reviewers,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D132215
2021-12-08 22:10:18 +00:00
Jens Stutte c05fc0f8b4 Bug 1707963: Let the PermissionManager be initialized lazily but not after shutdown started. r=permissions-reviewers,timhuang,janv
Differential Revision: https://phabricator.services.mozilla.com/D132088
2021-12-08 22:10:18 +00:00
Bobby Holley 12d3098eb4 Bug 1739761 - Scale down the hunspell sandbox size calculation to account for reduced fragmentation. r=shravanrn
Differential Revision: https://phabricator.services.mozilla.com/D132520
2021-12-03 20:28:51 +00:00
Bobby Holley bc22c870c5 Bug 1739761 - arena-allocate strings in hunspell. r=glandium
This reduces the number of wasm pages allocated from 64 to 47 on en_us
builds, corresponding to about 1 MB of reduced memory usage.

There are a few methods on HashMgr that can transfer buffers to external
consumers — namely decode_flags and encode_flag. Because the former is
also called by internal consumers, we need to be careful to
conditionally use the arena for only the internal consumers.

Differential Revision: https://phabricator.services.mozilla.com/D132519
2021-12-03 20:28:51 +00:00
Csoregi Natalia d380aeea76 Backed out 2 changesets (bug 1739761) for causing failures on test_hunspell.js. CLOSED TREE
Backed out changeset 97263298aa24 (bug 1739761)
Backed out changeset 74f7e61f745f (bug 1739761)
2021-12-02 05:10:29 +02:00
Bobby Holley ca676b757e Bug 1739761 - Scale down the hunspell sandbox size calculation to account for reduced fragmentation. r=shravanrn
Differential Revision: https://phabricator.services.mozilla.com/D132520
2021-12-02 01:21:15 +00:00
Bobby Holley 031f81a28e Bug 1739761 - arena-allocate strings in hunspell. r=glandium
This reduces the number of wasm pages allocated from 64 to 47 on en_us
builds, corresponding to about 1 MB of reduced memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D132519
2021-12-02 01:21:14 +00:00
Chris Peterson f6fdbf028a Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Emilio Cobos Álvarez bf6d4c633d Bug 1743370 - Make extensions.spellcheck.inline.max-misspellings a static pref. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D132341
2021-11-29 10:38:16 +00:00
Christoph Kerschbaumer 2167936456 Bug 1742780: Update extensions/permissions/test/browser_permmgr_viewsrc.js to work with https-first enabled r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D132004
2021-11-24 10:41:07 +00:00
Benjamin VanderSloot d507f1209f Bug 1731739 part 3 - Migrate permissions for 3rdPartyStorage to site keys, r=pbz,timhuang
- Increment permissions database schema version
- Apply GetSite to origin keys with type prefixed by "3rdPartyStorage^"
  - Done in a transaction
- Add unit test for migration

Differential Revision: https://phabricator.services.mozilla.com/D130676
2021-11-23 18:25:58 +00:00
Benjamin VanderSloot 83bac9db86 Bug 1731739 part 2 - Use site as key for 3rdPartyStorage permissions, rather than origin r=anti-tracking-reviewers,pbz,timhuang
- Adding browser tests to verify correct behavior in integration
    - New test that fails on previous version: toolkit/components/antitracking/test/browser/browser_storageAccessScopeSameSiteWrite.js
- Add the ability to store permission by site, use 3rdPartyStorage for this
- No change is made to permission reads. These already proceed recursively, which eventually reach the site.
- When fetching all permissions for a principal, also look for site-scoped permissions on its site's principal

Differential Revision: https://phabricator.services.mozilla.com/D130675
2021-11-23 18:25:58 +00:00
Marian-Vasile Laza 0e7ef02d35 Backed out 3 changesets (bug 1731739) for causing build bustages on PermissionManager.cpp.
Backed out changeset 2f723b6e625b (bug 1731739)
Backed out changeset 7b053cfeab3e (bug 1731739)
Backed out changeset c4a31c29c441 (bug 1731739)
2021-11-23 19:06:14 +02:00
Benjamin VanderSloot 73087d0fec Bug 1731739 part 3 - Migrate permissions for 3rdPartyStorage to site keys, r=pbz,timhuang
- Increment permissions database schema version
- Apply GetSite to origin keys with type prefixed by "3rdPartyStorage^"
  - Done in a transaction
- Add unit test for migration

Differential Revision: https://phabricator.services.mozilla.com/D130676
2021-11-23 16:18:42 +00:00
Benjamin VanderSloot 921cf98880 Bug 1731739 part 2 - Use site as key for 3rdPartyStorage permissions, rather than origin r=anti-tracking-reviewers,pbz,timhuang
- Adding browser tests to verify correct behavior in integration
    - New test that fails on previous version: toolkit/components/antitracking/test/browser/browser_storageAccessScopeSameSiteWrite.js
- Add the ability to store permission by site, use 3rdPartyStorage for this
- No change is made to permission reads. These already proceed recursively, which eventually reach the site.
- When fetching all permissions for a principal, also look for site-scoped permissions on its site's principal

Differential Revision: https://phabricator.services.mozilla.com/D130675
2021-11-23 16:18:42 +00:00
Deian Stefan 26994de326 Bug 1738550 - Clean up RLBox type definitions r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D129970
2021-11-18 19:51:08 +00:00
Luca Greco d9085976ad Bug 1738713 - Fix permission not sent over ipc while non-http/https blob urls exists. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D130857
2021-11-15 17:30:19 +00:00
shravanrn@gmail.com 084c4704b8 Bug 1740399 - Ensure hunspell fails gracefully on rlbox sandbox OOM r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D130827
2021-11-10 05:21:55 +00:00
shravanrn@gmail.com 2ea9e2154b Bug 1740353 - Configure hunspell rlbox sandbox so AMO dictionaries have a smaller footprint r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D130793
2021-11-10 01:24:41 +00:00
shravanrn@gmail.com 5864d16cf7 Bug 1739669 - Configure hunspell rlbox sandbox for higher mem size depending on locale r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D130544
2021-11-09 16:58:26 +00:00
Masayuki Nakano 1034b36c49 Bug 1739545 - part 1: Get rid of `mozInlineSpellChecker::DidJoinNodes()` and `mozInlineSpellChecker::DidSplitNode()` r=m_kato
Currently, they do nothing because they specify empty range to
`SpellCheckBetweenNodes()`, and it makes the method does nothing.  This is
filed as bug 1581714.  However, they are not required because `HTMLEditor`
notifies `mozInlineSpellChecker` at ending handling the top level edit sub
action.
https://searchfox.org/mozilla-central/rev/a12c2c2e59c92d8f969d8f3f290ab16919449c9d/editor/libeditor/HTMLEditSubActionHandler.cpp#675

Therefore, these methods are not necessary anymore.

Differential Revision: https://phabricator.services.mozilla.com/D130457
2021-11-09 01:09:20 +00:00
ssummar 0992acc367 Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
2021-11-08 08:14:00 +00:00
Cristian Tuns 71486b8924 Backed out changeset 7e8e3747c3f8 (bug 1603127) for causing toolchains build bustages (Bug 1739589). CLOSED TREE 2021-11-05 07:23:45 -04:00
ssummar 508562cc85 Bug 1603127 - Replaced mozilla::Tuple with std::tuple and applied structured bindings in mozilla/Encoding.h. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D129920
2021-11-05 05:33:58 +00:00
shravanrn@gmail.com 2a11cb1f78 Bug 1737733 - Update rlbox wasm configuration to use direct function calls r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D128566
2021-10-26 23:41:11 +00:00
shravanrn@gmail.com 55472298f9 Bug 1737740 - Fix rlbox wasm sandboxed Hunspell mem leak and OOM handling r=glandium,deian
Differential Revision: https://phabricator.services.mozilla.com/D127736
2021-10-26 18:50:19 +00:00
Bobby Holley e9b6e43371 Bug 1737703 - Verify that RLBoxed Hunspell is only ever used on the main thread. r=shravanrn
Differential Revision: https://phabricator.services.mozilla.com/D129451
2021-10-25 22:58:26 +00:00
Narcis Beleuzu 66967cc3e6 Backed out 4 changesets (bug 1733686, bug 1735935) for causing sandboxing crashes with the spellchecker (bug 1736171) . CLOSED TREE
Backed out changeset c981fa4490fe (bug 1735935)
Backed out changeset a6fef4dc35c2 (bug 1733686)
Backed out changeset d52827e69092 (bug 1733686)
Backed out changeset 29ed3620fa91 (bug 1733686)
2021-10-16 18:43:13 +03:00
shravanrn@gmail.com 9d4b974755 Bug 1733686 part 2 - Fix Hunspell memory cleanup and OOM handling r=glandium,deian
Differential Revision: https://phabricator.services.mozilla.com/D127736
2021-10-15 06:37:22 +00:00
Masayuki Nakano 1836c00470 Bug 1729170 - Make all methods of `nsTextFragment` take `uint32_t` for the offset and length of text r=smaug
`nsTextFragment` is a storage of data node and DOM offset is `uint32_t`, but
some methods of `nsTextFragment` takes `int32_t` for the offset/length in
its text.  Therefore, callers need to cast from `uint32_t` to `int32_t` if
the offset value is offset in a DOM node.  Therefore, all methods of it should
take `uint32_t` values as offset/length in its text.

Differential Revision: https://phabricator.services.mozilla.com/D127923
2021-10-12 05:05:12 +00:00
Jens Stutte 25e990ea77 Bug 1731564: Use motivated SpinEventLoopUntil inside extensions/*. r=jesup
Depends on D127225

Differential Revision: https://phabricator.services.mozilla.com/D127226
2021-10-07 08:06:13 +00:00
Marian-Vasile Laza 18fb16c542 Backed out 18 changesets (bug 1731564) for causing build bustages on SpinEventLoopUntil. CLOSED TREE
Backed out changeset 0464dbdc8584 (bug 1731564)
Backed out changeset 0d996df13545 (bug 1731564)
Backed out changeset 5630a0e7a109 (bug 1731564)
Backed out changeset 37b41d187cdb (bug 1731564)
Backed out changeset d37700fa60b6 (bug 1731564)
Backed out changeset b0ce7db44b99 (bug 1731564)
Backed out changeset aa5ec3aa1535 (bug 1731564)
Backed out changeset 73b648f1fa70 (bug 1731564)
Backed out changeset bb8fb0f9833e (bug 1731564)
Backed out changeset 0d8905144f5d (bug 1731564)
Backed out changeset 2cfb094a1ec3 (bug 1731564)
Backed out changeset 78d3b0257a6a (bug 1731564)
Backed out changeset e9d32926e93c (bug 1731564)
Backed out changeset 874cab520ce5 (bug 1731564)
Backed out changeset d8071cc32bd9 (bug 1731564)
Backed out changeset 283c5393cbbc (bug 1731564)
Backed out changeset 317bc38e3de5 (bug 1731564)
Backed out changeset 53e3f4862439 (bug 1731564)
2021-10-07 00:09:19 +03:00
Jens Stutte fb5044cb38 Bug 1731564: Use motivated SpinEventLoopUntil inside extensions/*. r=jesup
Depends on D127225

Differential Revision: https://phabricator.services.mozilla.com/D127226
2021-10-06 19:45:14 +00:00
Agi Sferro fbd2730376 Bug 1714945 - Re-enable permissions tests on Android. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D127295
2021-10-05 22:10:00 +00:00
Agi Sferro b84a0603d7 Bug 1714945 - Allow setting permanent permissions for private browsing r=timhuang,johannh
By default nsIPermissionManager will not persist data in private browsing.

There are cases however, like private-only-browser Firefox Focus, where we
would want to be able to persist tracking protection exceptions permanently.

This patch adds a new method called
`addFromPrincipalAndPersistInPrivateBrowsing` which allows setting permanent
permissions in private browsing..

Differential Revision: https://phabricator.services.mozilla.com/D126544
2021-10-05 22:09:59 +00:00
Mirko Brodesser 2355592bf4 Bug 1731994: part 6) Update `sPermissionsMap`'s documentation. r=baku DONTBUILD
Because of `PermissionDelegateHandler::GetPermissionDelegateInfo`.

Differential Revision: https://phabricator.services.mozilla.com/D126789
2021-09-30 13:11:52 +00:00
Mike Hommey 70b2676ce8 Bug 1733034 - Fix linux bustage. CLOSED TREE 2021-09-30 04:26:22 +03:00
Mike Hommey e80f1e4448 Bug 1733034 - Ignore unreachable-core-return in PermissionManager.cpp. r=baku
extensions/permissions/PermissionManager.cpp:2468:12: error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
    return NS_OK;
           ^~~~~

Differential Revision: https://phabricator.services.mozilla.com/D126875
2021-09-29 21:44:53 +00:00
Masayuki Nakano d7fa9ea462 Bug 1729653 - Make `mozInlineSpellChecker` handle events in the system group at capturing phase r=m_kato
Currently, `mozInlineSpellChecker` handles events in the default group.  This
means that the listener may not run if web app stops the propagation.  For
keeping the event listener order as far as possible, this patch changes to
listen to the event at capturing phase in the system group (editor handles
the events at bubbling phase in the system group).

Additionally, it listens to `keypress` events for handling caret/selection
changes.  However, they should be handled at `keydown` because those keys
are not printable.  Therefore, this patch changes to listen to `keydown`
events, but this could change the race between running the scheduled spellcheck
and following `keypress` event which is dispatched only for chrome code and
C++ event listeners.  However, this may not change it actually because the
race is changed only when the following `keypress` event delays too much.
https://searchfox.org/mozilla-central/rev/2eebd6e256fa0355e08421265e57ee1307836d92/extensions/spellcheck/src/mozInlineSpellChecker.cpp#503-504

Differential Revision: https://phabricator.services.mozilla.com/D126635
2021-09-28 02:47:15 +00:00
Mirko Brodesser b507a6325d Bug 1731994: part 4) Declare more methods around `ContentPermissionRequestBase` `const`. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D126350
2021-09-23 08:48:18 +00:00
Michelle Goossens d835eb1793 Bug 1727925 - Part 3: Migrate six more windows10-32 test suites from AWS to Azure r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D124192
2021-09-10 11:51:00 +00:00
Nicklas Boman 5f03e76d19 Bug 1308103 - Replace PL_strcmp/PL_strncmp with strcmp/strncmp in extensions/pref/autoconfig r=mkaply
Differential Revision: https://phabricator.services.mozilla.com/D123880
2021-09-09 19:36:11 +00:00
Ben Hearsum 4ca3a60f1d Bug 1714200: annotate tests that fail in regular suites but pass when run in isolation. r=jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D124907
2021-09-08 18:14:00 +00:00
Mark Banner 11bfa90d06 Bug 1602940 - Automated replacements to use Services.uuid. r=Gijs,necko-reviewers,preferences-reviewers,kershaw
Depends on D124391

Differential Revision: https://phabricator.services.mozilla.com/D124392
2021-09-06 09:53:52 +00:00
Henri Sivonen 5397b4f0a9 Bug 1727491 - Remove support for BOMless unlabeled Latin1 Supplement-range UTF-16LE|BE. r=emk
Differential Revision: https://phabricator.services.mozilla.com/D123596
2021-09-01 09:13:29 +00:00
Masayuki Nakano 44fd3a7047 Bug 1726532 - part 2: Make `mozSpellChecker::SetupDoc()` treat succeeded state as error if valid offset/length are not available when they are required r=m_kato
`TextServicesDocument::LastSelectedBlock()` may return `NS_OK` with
`UINT32_MAX` for both offset and length of the block.  The assertions causes
the new test not runnable in debug build.  So, we should make the situation
as an error case if they are required.

Ideally, we should fix the odd behavior, but it's not safe for uplift.
Therefore, this patch just adds the wallpapers.

Depends on D123282

Differential Revision: https://phabricator.services.mozilla.com/D123283
2021-08-24 03:29:21 +00:00
Masayuki Nakano 922488424d Bug 1726532 - part 1: Make `OffsetEntryArray::WillSetSelection()` use offset in text node when it sets a DOM node point r=m_kato
This is a mistake at replacing the argument value `aOffset` to
`aOffsetInTextInBlock`.
https://searchfox.org/mozilla-central/diff/886c96059ef6408618040356017028621bc574b9/editor/spellchecker/TextServicesDocument.cpp#1662

And also make `mozSpellChecker::Replace()` stop replacing if
`TextServicesDocument` fails to set selection or insert text because if
`TextServicesDocument` succeeded to insert text, but failed to delete text,
the loop becomes an infinite loop.

Differential Revision: https://phabricator.services.mozilla.com/D123282
2021-08-24 03:29:21 +00:00
Andi-Bogdan Postelnicu 75ed803f7c Bug 1725145 - fixes for linking in the hybrid build env. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D122344
2021-08-22 10:21:56 +00:00
Andi-Bogdan Postelnicu 250fa0d795 Bug 1725145 - header files fixes in the hybrid build env. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D122343
2021-08-22 10:21:55 +00:00
Paul Zuehlcke a466d4aa0a Bug 1687314 - Improve behavior of GetChannelResultStoragePrincipal and StoragePrincipalHelper::Create when handling NullPrincipal. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D122381
2021-08-17 12:51:22 +00:00
Makoto Kato 329f65c790 Bug 1725593 - Get rid of SendCheckAndSuggest sync IPC. r=masayuki,ipc-reviewers,mccr8
Depends on D122579

Differential Revision: https://phabricator.services.mozilla.com/D122580
2021-08-16 01:40:00 +00:00
Makoto Kato 3401597785 Bug 1725593 - Don't use SendCheckAndSuggest. r=masayuki
By bug 1719110, we replace sync IPC's spell checker suggestion with async
version. So we should remove this sync IPC call.

Differential Revision: https://phabricator.services.mozilla.com/D122579
2021-08-16 01:39:59 +00:00
Valentin Gosu 0cfda7bb4a Bug 1705659 - Static-analysis check auto fix for auth code r=necko-reviewers,dragana
Depends on D112604

Differential Revision: https://phabricator.services.mozilla.com/D112605
2021-08-12 12:39:25 +00:00
Valentin Gosu ae8827c0c3 Bug 1705659 - Avoid flatString in nsHttpNegotiateAuth::GenerateCredentials r=necko-reviewers,dragana
Depends on D112601

Differential Revision: https://phabricator.services.mozilla.com/D112603
2021-08-12 12:39:23 +00:00
Valentin Gosu b3d74be7b8 Bug 1705659 - Make GetAuthenticator work with nsACString r=necko-reviewers,dragana
Depends on D112602

Differential Revision: https://phabricator.services.mozilla.com/D112597
2021-08-12 12:39:22 +00:00
Mike Hommey 0b4372e828 Bug 1721968 - Remove support for lucetc for rlbox. r=firefox-build-system-reviewers,shravanrn,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D120700
2021-08-11 21:58:52 +00:00
Makoto Kato 49cc605308 Bug 1719110 - Don't use sync IPC to show suggestion by spellchecker. r=Gijs
CheckCurrentWord on content process causes sync IPC, so I would like to remove
this call on content process. New nsIEditorSpellChecker.suggest method can
avoid it.

Differential Revision: https://phabricator.services.mozilla.com/D119937
2021-08-10 03:55:25 +00:00
Makoto Kato a6944a1428 Bug 1719110 - Add nsIEditorSpellCheck.suggest to get rid of PRemoteSpellcheckEngine.CheckAndSuggest. r=masayuki
When getting suggestions from spellchecker's result, we use sync IPC
(`PRemoteSpellcheckEngine.CheckAndSuggest`). This is used by showing context
menu only on Gecko. So I think that we can remove this IPC if we add async API
to get spellchecker suggestions.

And in comm-central's code, `CheckCurrentWord` and `GetSuggestedWord` seems to
use on spellchecker dialog (content/dialogs/EdSpellCheck.js in mail and suite)
that runs on parent process. So c-c won't use this IPC method.

So I would like to add the promise version of getting spellchecker's
suggestion.

Differential Revision: https://phabricator.services.mozilla.com/D119936
2021-08-10 03:55:25 +00:00
Paul Zuehlcke f6f5a3bca5 Bug 1721665 - Do not overwrite private browsing permission lifetime when removing permissions. r=timhuang,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121749
2021-08-09 14:46:07 +00:00
Paul Zuehlcke e5b57b5d4c Bug 1706292 - Do not clone principal for CookieJarSettings cookie permission check. r=timhuang,ckerschb
For every cookie permission check CookieJarSettings::CookiePermission has to create a new principal.
This is slow. It uses a cloned principal so it can strip the origin attributes which should not be
used for the permission check.
With this patch we no longer need to clone the principal. We pass in the original principal and perform
the OA stripping on an OA copy in BasePrincipal::EqualsForPermission.
Before, EqualsForPermission was guaranteed to get a content principal, because ClonePrincipalForPermission
enforced it. BasePrincipal::EqualsForPermission was refactored to account for non content principals.

Differential Revision: https://phabricator.services.mozilla.com/D120834
2021-07-30 15:01:07 +00:00
Michelle Goossens c638f51ce3 Bug 1718292 - Part 1: Disable failing xpcshell tests on Windows 10 2004 r=jmaher,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D119633
2021-07-26 16:38:22 +00:00
Mike Hommey e2a1db5178 Bug 1713735 - Add the bits necessary to build wasm sandbox libs with wasm2c. r=firefox-build-system-reviewers,mhentges
For the moment, it's opt-in via explicitly setting `LUCETC` to an empty
string.

Differential Revision: https://phabricator.services.mozilla.com/D119939
2021-07-16 02:38:41 +00:00
Tooru Fujisawa cc92ef732d Bug 1708448 - Move property and element functions into js/public/PropertyAndElement.h. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D119619
2021-07-13 11:52:42 +00:00
Masayuki Nakano 1fc0882ecc Bug 1718607 - Make `TextServicesDocument` use `uint32_t` for offset in DOM node r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D118955
2021-06-30 09:07:35 +00:00
Mike Hommey 744db845c6 Bug 1700534 - Coalesce RLBox wasmboxed libraries. r=firefox-build-system-reviewers,shravanrn,bholley,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D116440
2021-06-22 05:31:33 +00:00
Masayuki Nakano c0624f4771 Bug 1713757 - Make `mozInlineSpellChecker`, `mozInlineSpellWordUtil` and `TextServicesDocument` use `EditorBase` instead of `TextEditor` r=m_kato
Depends on D117117

Differential Revision: https://phabricator.services.mozilla.com/D117118
2021-06-09 09:02:31 +00:00
Deian Stefan 1030b2a3e3 Bug 1653659 - Part 3: Only allow non-empty paths in RLBoxHunspell r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D116547
2021-06-08 17:45:26 +00:00
Julian Descottes 7240e461cc Bug 1715123 - Remove unused method broadcastPermissionsForPrincipalToAllContentProcesses in PermissionManager r=timhuang,necko-reviewers,dragana
Depends on D116850

Differential Revision: https://phabricator.services.mozilla.com/D116852
2021-06-08 08:08:48 +00:00
Dylan Roeh 9aee13c478 Bug 1699480 - Add setPermission, update onContentPermissionRequest to use ContentPermission, and let Gecko manage and persist permissions in GV. r=agi,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D112042
2021-06-07 17:57:24 +00:00
Alexandru Michis e8904db16a Backed out 5 changesets (bug 1699480) for causing lint failures.
CLOSED TREE

Backed out changeset 5ed626994de6 (bug 1699480)
Backed out changeset e4be23f4dbe9 (bug 1699480)
Backed out changeset 68b5f5c2f1e6 (bug 1699480)
Backed out changeset 425aa354f1ca (bug 1699480)
Backed out changeset e3005001299c (bug 1699480)
2021-06-07 20:52:25 +03:00
Dylan Roeh 648ddb2f54 Bug 1699480 - Add setPermission, update onContentPermissionRequest to use ContentPermission, and let Gecko manage and persist permissions in GV. r=agi,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D112042
2021-06-07 17:02:26 +00:00
Valentin Gosu aa5e042347 Bug 1682240 - Kill ntlm_auth process instead of waiting for it to complete r=necko-reviewers,kershaw
This avoids hangs when the process might be unresponsive.

Differential Revision: https://phabricator.services.mozilla.com/D116715
2021-06-07 07:15:37 +00:00
Brindusan Cristian ca49f15f7d Backed out 14 changesets (bug 1705659, bug 472823, bug 669675) as requested by valentin for causing regressions. CLOSED TREE
Backed out changeset d920aa17a468 (bug 669675)
Backed out changeset adad38c05584 (bug 1705659)
Backed out changeset 361c177ed131 (bug 1705659)
Backed out changeset 46e559f45338 (bug 1705659)
Backed out changeset 3c9556a8df55 (bug 1705659)
Backed out changeset a179695a56c9 (bug 1705659)
Backed out changeset e688986c7011 (bug 1705659)
Backed out changeset de990e6c944d (bug 1705659)
Backed out changeset 0ea348abee78 (bug 1705659)
Backed out changeset 2f0aacbd42b1 (bug 1705659)
Backed out changeset c977551bad6e (bug 1705659)
Backed out changeset 5449d9e08034 (bug 1705659)
Backed out changeset b6b51bc167ac (bug 1705659)
Backed out changeset 27e709923ecb (bug 472823)
2021-05-31 13:16:34 +03:00
Mirko Brodesser f271c866cf Bug 1687263: part 4) Defer and in some cases avoid removing spellchecking-ranges. r=smaug
Removing ranges is expensive. This reduces flickering of the spelling
mistakes and prevents 100% CPU usage of 1 core on slower machines.

The essence of this patch is, that when text doesn't change, all
existing spellchecking ranges are reused.

Before this patch, removing ranges was done as part of the time slice in
`mozInlineSpellChecker::SpellCheckSlice`. That is, slow removals of
ranges contributed to the amount of words to be spellchecked
asynchronously.
Therefore, the amount of words to be spellchecked in one chunk could
increase from the minimum, `INLINESPELL_MINIMUM_WORDS_BEFORE_TIMEOUT` to
the maxium `INLINESPELL_MAXIMUM_CHUNKED_WORDS_PER_TASK`.
Consequently, the asynchronous checking might take longer. If that turns
out to be problematic, reducing
`INLINESPELL_MAXIMUM_CHUNKED_WORDS_PER_TASK` could be a fix.

Differential Revision: https://phabricator.services.mozilla.com/D116096
2021-05-28 07:56:13 +00:00
Mirko Brodesser 81d2b2a2d9 Bug 1687263: part 3) Move removing ranges into `CheckWordsAndUpdateRangesForMisspellings`. r=smaug
This might lead to increased exceeding of the time slice, because the
ranges are removed after the time limit was checked. Therefore, this
change should only be landed together with the following review which
will remove unnecessary remove- and add-operations for ranges. It's a
separate review only to simplify reviewing and potential debugging.

Differential Revision: https://phabricator.services.mozilla.com/D116095
2021-05-28 07:56:13 +00:00
Mirko Brodesser 80b835b192 Bug 1687263: part 2) Add `NodeOffsetRange::operator==(const nsRange& aRange)`. r=smaug
The fix of bug 1687263 will require determining which `nsRange`s of a
previous time slice to keep and for which `NodeOffsetRange`s to create
new `nsRange`s. The operator will be used in a following review.

Differential Revision: https://phabricator.services.mozilla.com/D116094
2021-05-28 07:56:12 +00:00
Mirko Brodesser ed9c8cebed Bug 1687263: part 1) Add `NodeOffset::operator==(const RangeBoundary)`. r=smaug
Required for the following review.

Differential Revision: https://phabricator.services.mozilla.com/D116093
2021-05-28 07:56:12 +00:00
Mirko Brodesser 59984954da Bug 1708422: part 21) Reduce scope of `erv` variable in `mozInlineSpellChecker::SpellCheckerSlice::Execute`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D115687
2021-05-26 10:04:36 +00:00
Mirko Brodesser 0694578bb0 Bug 1708422: part 20) Const-qualify some variables in `mozInlineSpellChecker::SpellCheckerSlice::Execute`. r=smaug
Clearer.

Differential Revision: https://phabricator.services.mozilla.com/D115686
2021-05-26 10:04:36 +00:00
Mirko Brodesser 93ac6f9a56 Bug 1708422: part 19) Replace output arguments with a single argument in `mozInlineSpellWordUtil::GetNextWord`. r=smaug
Clearer and helps to simplify its caller.

Differential Revision: https://phabricator.services.mozilla.com/D115597
2021-05-26 10:04:35 +00:00
Valentin Gosu 69c6a23516 Bug 1705659 - Static-analysis check auto fix for auth code r=necko-reviewers,dragana
Depends on D112604

Differential Revision: https://phabricator.services.mozilla.com/D112605
2021-05-26 09:27:21 +00:00
Valentin Gosu 16a4c26f4c Bug 1705659 - Avoid flatString in nsHttpNegotiateAuth::GenerateCredentials r=necko-reviewers,dragana
Depends on D112601

Differential Revision: https://phabricator.services.mozilla.com/D112603
2021-05-26 09:27:20 +00:00
Valentin Gosu 1fb3a73493 Bug 1705659 - Make auth code use nsACString instead of raw char pointers r=necko-reviewers,dragana
Depends on D112597

Differential Revision: https://phabricator.services.mozilla.com/D112598
2021-05-26 09:27:19 +00:00
Mirko Brodesser 40b6793a72 Bug 1700051: part 45) Remove outdated part of comment in <mozInlineSpellChecker.cpp>. r=smaug
Depends on D113300

Differential Revision: https://phabricator.services.mozilla.com/D113301
2021-05-25 10:08:15 +00:00
Masayuki Nakano ae69b73075 Bug 1540037 - part 18: Move `ReplaceTextAsAction()` and `ReplaceSelectionAsSubAction()` to `EditorBase` r=m_kato
They are used by setting text value of `TextEditor` or replacing a misspelled
word with a new word in both `TextEditor` and `HTMLEditor`.  Therefore,
they should be in the `EditorBase` rather than `TextEditor`.

Note that the path of the former case may be in a hot path.  Therefore, we need
to keep redirecting to `TextEditor` for keeping the performance only in the
case.

Depends on D115785

Differential Revision: https://phabricator.services.mozilla.com/D115786
2021-05-25 04:26:14 +00:00
Mirko Brodesser 55db5ff457 Bug 1708422: part 18) Factor `mozInlineSpellChecker::SpellCheckerSlice::IsInNoCheckRange` out. r=smaug
Hides details.

Differential Revision: https://phabricator.services.mozilla.com/D115469
2021-05-20 13:00:01 +00:00
Mirko Brodesser e74f6c42f1 Bug 1708422: part 17) Rename `words` to `normalizedWords` in `mozInlineSpellChecker::SpellCheckerSlice::Execute`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D115366
2021-05-20 09:03:30 +00:00
Mirko Brodesser b05af40fa3 Bug 1708422: part 16) Rename `mozInlineSpellChecker::SpellCheckerTimeSlice` to `mozInlineSpellChecker::SpellCheckerSlice`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D115352
2021-05-20 09:03:30 +00:00
Mirko Brodesser e5983d6bde Bug 1708422: part 14) Extend documentation of `mozInlineSpellChecker::SpellCheckerTimeSlice::CheckWordsAndAddRangesForMisspellings`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114333
2021-05-20 09:03:29 +00:00
Mirko Brodesser c080bbd4cc Bug 1708422: part 13) Factor code out to `mozInlineSpellChecker::SpellCheckerTimeSlice::RemoveRanges`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114332
2021-05-20 09:03:28 +00:00
Mirko Brodesser a89ff13783 Bug 1708422: part 12) Move some code into `mozInlineSpellChecker::SpellCheckerTimeSlice::ShouldSpellCheckRange`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114331
2021-05-20 09:03:28 +00:00
Mirko Brodesser 9c30eeb984 Bug 1708422: part 11) Remove unnecessary block scope in `mozInlineSpellChecker::SpellCheckerTimeSlice::Execute`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114105
2021-05-20 09:03:28 +00:00
Mirko Brodesser ddbcce9316 Bug 1708422: part 10) Factor `ShouldSpellCheckRange` out. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114104
2021-05-20 09:03:27 +00:00
Mirko Brodesser 882cc710a4 Bug 1708422: part 9) Declare `mozInlineSpellChecker::ShouldSpellCheckNode` `static`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114103
2021-05-20 09:03:27 +00:00
Mirko Brodesser 19a242b989 Bug 1708422: part 8) Move `mozInlineSpellChecker::CheckWordsAndAddRangesForMisspellings`. r=smaug
Simplifies `mozInlineSpellChecker::SpellCheckerTimeSlice::Execute`.

Differential Revision: https://phabricator.services.mozilla.com/D114102
2021-05-20 09:03:26 +00:00
Mirko Brodesser a2355f8bc1 Bug 1708422: part 7) Annotate `mozInlineSpellChecker::SpellCheckerTimeSlice` as `MOZ_STACK_CLASS`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114101
2021-05-20 09:03:26 +00:00
Mirko Brodesser 92c6fda0fa Bug 1708422: part 6) Change some pointer members of `mozInlineSpellChecker::SpellCheckerTimeSlice` to references. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114100
2021-05-20 09:03:26 +00:00
Mirko Brodesser d99bbf18cb Bug 1708422: part 5) Surround statements in `mozInlineSpellChecker::SpellCheckerTimeSlice::Execute` with curly braces. r=smaug
To match the style guide.

Differential Revision: https://phabricator.services.mozilla.com/D114099
2021-05-20 09:03:25 +00:00
Mirko Brodesser 4e3d4abbad Bug 1708422: part 4) Break out method object for `mozInlineSpellChecker::DoSpellCheck`. r=smaug
Should help to simplify it. Please read the following reviews before
commenting on this one.

Differential Revision: https://phabricator.services.mozilla.com/D114098
2021-05-20 09:03:25 +00:00
Dylan Roeh d488467816 Bug 1699480 - Back out permissions changes at AC's request, r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D115515
2021-05-19 18:07:28 +00:00
Butkovits Atila 6b729f46ac Backed out 2 changesets (bug 1653659) for causing failures at test_hunspell.js. CLOSED TREE
Backed out changeset 018859776d85 (bug 1653659)
Backed out changeset b187a1b158df (bug 1653659)
2021-05-18 04:05:15 +03:00
Deian Stefan 351efdd226 Bug 1653659 - Part 3: Only allow non-empty paths in RLBoxHunspell r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D114925
2021-05-17 18:19:27 +00:00
Dylan Roeh ff4369ad7c Bug 1699480 - Add setPermission, update onContentPermissionRequest to use ContentPermission, and let Gecko manage and persist permissions in GV. r=agi,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D112042
2021-05-17 15:55:21 +00:00
Mirko Brodesser ff7e90c539 Bug 1708422: part 3) Add some documentation to `mozInlineSpellChecker::CheckWordsAndAddRangesForMisspellings`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114097
2021-05-17 13:46:59 +00:00
Dorel Luca 6bb805571d Backed out 2 changesets (bug 1653659) for Mochitest failures in mochitest/events/test_focus_general.html. CLOSED TREE
Backed out changeset 523e4bc2aa47 (bug 1653659)
Backed out changeset fac526423ccb (bug 1653659)
2021-05-14 21:45:58 +03:00
Deian Stefan a31d580731 Bug 1653659 - Part 3: Safely handle empty strings in RLBoxHunspell r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D114925
2021-05-14 13:30:48 +00:00
Valentin Gosu c46e217683 Bug 1708116 - Use NetAddr::InitFromString instead of PR_StringToNetAddr r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D113752
2021-05-10 09:26:01 +00:00
Paul Zuehlcke 6a64e4c3cf Bug 1597751 - Import default permissions for privateBrowsing. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D98200
2021-05-06 17:46:32 +00:00
Alexandru Michis 574bea557a Backed out 14 changesets (bug 1705659, bug 472823, bug 669675) for causing bustages in nsHttpChannelAuthProvider.cpp
CLOSED TREE

Backed out changeset 42561f42313d (bug 669675)
Backed out changeset 2aee05c2d6f3 (bug 1705659)
Backed out changeset ff4348e0a307 (bug 1705659)
Backed out changeset 897868e22c81 (bug 1705659)
Backed out changeset c808bf01dfe8 (bug 1705659)
Backed out changeset 5c13ec25cc2e (bug 1705659)
Backed out changeset 4337214c8846 (bug 1705659)
Backed out changeset 18d3a604336a (bug 1705659)
Backed out changeset 3af362aa2b25 (bug 1705659)
Backed out changeset 36eff14cf2ea (bug 1705659)
Backed out changeset 8af29f96ac77 (bug 1705659)
Backed out changeset eab68e8bea29 (bug 1705659)
Backed out changeset 05492b6578a9 (bug 1705659)
Backed out changeset 3259a8cb3db1 (bug 472823)
2021-05-06 17:37:17 +03:00
Valentin Gosu ec981ec694 Bug 1705659 - Static-analysis check auto fix for auth code r=necko-reviewers,dragana
Depends on D112604

Differential Revision: https://phabricator.services.mozilla.com/D112605
2021-05-06 13:17:23 +00:00
Valentin Gosu b690e62ff7 Bug 1705659 - Avoid flatString in nsHttpNegotiateAuth::GenerateCredentials r=necko-reviewers,dragana
Depends on D112601

Differential Revision: https://phabricator.services.mozilla.com/D112603
2021-05-06 13:17:22 +00:00
Valentin Gosu 3618a7ca40 Bug 1705659 - Make auth code use nsACString instead of raw char pointers r=necko-reviewers,dragana
Depends on D112597

Differential Revision: https://phabricator.services.mozilla.com/D112598
2021-05-06 13:17:21 +00:00
Brindusan Cristian 31acb9e00c Backed out 2 changesets (bug 1708116) for causing xpcshell failures in test_udpsocket_offline.js and bc failures in browser_cookies_ipv6.js. CLOSED TREE
Backed out changeset 0c9b303226f1 (bug 1708116)
Backed out changeset e3be13d3c045 (bug 1708116)
2021-05-06 16:35:48 +03:00
Valentin Gosu 301361bdfb Bug 1708116 - Use NetAddr::InitFromString instead of PR_StringToNetAddr r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D113752
2021-05-06 10:06:46 +00:00
Sandor Molnar f7b8c6b3d1 Backed out 2 changesets (bug 1708116) for causing build bustages. CLOSED TREE
Backed out changeset d1488e9d64a6 (bug 1708116)
Backed out changeset 44ed91f0b7b4 (bug 1708116)
2021-05-04 18:41:36 +03:00
Valentin Gosu 5ae9a468e0 Bug 1708116 - Use NetAddr::InitFromString instead of PR_StringToNetAddr r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D113752
2021-05-04 14:05:59 +00:00
Mirko Brodesser d5244623ea Bug 1700051: part 51) Const-qualify `mozInlineSpellStatus::mCreatedRange`. r=smaug
Depends on D113758

Differential Revision: https://phabricator.services.mozilla.com/D113759
2021-04-30 07:47:30 +00:00
Mirko Brodesser 9de2425774 Bug 1700051: part 50) Add `aRange` to `mozInlineSpellStatus`'s constructor. r=smaug
Preparation to const-qualify `mozInlineSpellStatus::mCreatedRange`.

Differential Revision: https://phabricator.services.mozilla.com/D113758
2021-04-30 07:47:29 +00:00
Mirko Brodesser ee42c2c184 Bug 1708422: part 2) Rename `mozInlineSpellChecker::CheckCurrentWordsNoSuggest` to `mozInlineSpellChecker::CheckWordsAndAddRangesForMisspellings`. r=smaug
Clearer.

Differential Revision: https://phabricator.services.mozilla.com/D113780
2021-04-30 07:43:28 +00:00
Mirko Brodesser 1407f0e9c5 Bug 1708422: part 1) Factor `mozInlineSpellChecker::AddRangesForMisspelledWords` out. r=smaug
Abstracts details away.

Differential Revision: https://phabricator.services.mozilla.com/D113779
2021-04-30 07:43:28 +00:00
Mirko Brodesser 5d7b6d2db6 Bug 1700051: part 48) Slightly simplify `mozInlineSpellWordUtil::FindRealWordContaining`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113654
2021-04-29 09:40:53 +00:00
Mirko Brodesser e817cf406f Bug 1700051: part 47) Change `aWords` argument of `mozInlineSpellChecker::CheckCurrentWordsNoSuggest` to const reference. r=smaug
This separates checking from modification.

Differential Revision: https://phabricator.services.mozilla.com/D113517
2021-04-28 07:34:33 +00:00
Mirko Brodesser 734a2382c1 Bug 1700051: part 46) Const-qualify `mozInlineSpellStatus::mAnchorRange`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113489
2021-04-28 07:34:33 +00:00
Andi-Bogdan Postelnicu 2508edc4c5 Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,geckoview-reviewers,agi
Updated with clang-format version 11.0.1 (taskcluster-GI8pmG3eQ_OSXfjFfr2yFw)

\# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D113294
2021-04-26 15:52:25 +00:00
Mirko Brodesser ab4f8bcdcd Bug 1700051: part 44) Reduce `mozInlineSpellStatus::PositionToCollapsedRange` to `static` method. r=smaug
Potentially, this changes behavior, but it shouldn't. Historically,
creating a `nsRange` needed the Document, but it doesn't anymore.

Differential Revision: https://phabricator.services.mozilla.com/D113300
2021-04-26 12:14:49 +00:00
Mirko Brodesser ecf6017483 Bug 1700051: part 43) Const-qualify `mozInlineSpellStatus::PositionToCollapsedRange`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113103
2021-04-26 07:40:43 +00:00
Mirko Brodesser cfb0e08cb4 Bug 1700051: part 42) Const-qualify `mozInlineSpellStatus::mOp`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113100
2021-04-26 07:40:08 +00:00
Mirko Brodesser 23d745343c Bug 1700051: part 41) Const-qualify `mozInlineSpellStatus::mNewNavigationPositionOffset`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D113099
2021-04-26 07:40:08 +00:00
Mirko Brodesser 44c7f6cb03 Bug 1700051: part 40) Const-qualify `mozInlineSpellStatus::mForceNavigationWordCheck`. r=smaug
Makes `mozInlineSpellStatus` slightly less confusing and always
initializes `mForceNavigationWordCheck`.

Differential Revision: https://phabricator.services.mozilla.com/D113098
2021-04-26 07:40:07 +00:00
Joel Maher 8a9f37b534 Bug 1706716 green up mda, xpcshell, browser-chrome, reftest for apple silicon. r=necko-reviewers,extension-reviewers,preferences-reviewers,application-update-reviewers,zombie,ahal,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D113001
2021-04-22 18:39:40 +00:00
Mirko Brodesser df29e1a8f4 Bug 1706894: part 3) Change `MapDOMPositionToSoftTextOffset`'s argument to `const` reference. r=smaug
More efficient.

Depends on D113080

Differential Revision: https://phabricator.services.mozilla.com/D113081
2021-04-22 13:35:39 +00:00
Mirko Brodesser 25f87040f2 Bug 1706894: part 2) In `NodeOffsetRange` use `std::move` and return `const` references instead of copies. r=smaug
More efficient.

Depends on D113079

Differential Revision: https://phabricator.services.mozilla.com/D113080
2021-04-22 13:35:38 +00:00
Mirko Brodesser 1eccfda320 Bug 1706894: part 1) Use `std::move` in `DOMTextMapping`'s constructor. r=smaug
More efficient.

Differential Revision: https://phabricator.services.mozilla.com/D113079
2021-04-22 13:35:38 +00:00
Mirko Brodesser 11f3568a7e Bug 1700051: part 39) Add logging when `SoftText::AdjustBeginAndBuildText` adjusts `mBegin.mOffset`. r=smaug
Depends on D112972

Differential Revision: https://phabricator.services.mozilla.com/D112973
2021-04-22 07:15:55 +00:00
Mirko Brodesser 3c01a158ee Bug 1700051: part 38) Add more verbose logging to `mozInlineSpellStatus`. r=smaug
Helps to comprehend the program flow.

Differential Revision: https://phabricator.services.mozilla.com/D112972
2021-04-22 07:15:55 +00:00
Mirko Brodesser ff55282cb1 Bug 1706613: part 2) Change `NS_ASSERTION`s to `MOZ_ASSERT`s in `mozInlineSpellWordUtil`. r=smaug
Depends on D112958

Differential Revision: https://phabricator.services.mozilla.com/D112959
2021-04-21 13:06:57 +00:00
Mirko Brodesser d45f47b9a0 Bug 1706613: part 1) Change `NS_ASSERTION`s to `MOZ_ASSERT`s in `mozInlineSpellChecker`. r=smaug
Helps to detect violations during Try runs.

Differential Revision: https://phabricator.services.mozilla.com/D112958
2021-04-21 13:06:56 +00:00
Mirko Brodesser 1856c367b5 Bug 1700051: part 37) Reduce accessibility of `SoftText::mEnd` to `private`. r=smaug
Depends on D112732

Differential Revision: https://phabricator.services.mozilla.com/D112733
2021-04-21 07:40:35 +00:00
Mirko Brodesser d514c2e238 Bug 1700051: part 36) Reduce accessibility of `SoftText::mBegin` to `private`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D112732
2021-04-21 07:40:34 +00:00
Mirko Brodesser d44f4cc342 Bug 1700051: part 35) Reduce accessibility of `mSoftText.mDOMMapping` to `private`. r=smaug
Depends on D112551

Differential Revision: https://phabricator.services.mozilla.com/D112552
2021-04-20 07:49:13 +00:00
Mirko Brodesser 7198e709e8 Bug 1700051: part 34) Reduce accessibility of `mSoftText.mValue` to `private`. r=smaug
Depends on D112550

Differential Revision: https://phabricator.services.mozilla.com/D112551
2021-04-20 07:49:13 +00:00
Mirko Brodesser 8e5146d57b Bug 1700051: part 33) Move `AdjustSoftBeginAndBuildSoftText` to `SoftText`. r=smaug
Depends on D112549

Differential Revision: https://phabricator.services.mozilla.com/D112550
2021-04-20 07:49:13 +00:00
Mirko Brodesser 5af84ee6ee Bug 1700051: part 32) Move `InvalidateWords` to `SoftText`. r=smaug
It's clearer.

Differential Revision: https://phabricator.services.mozilla.com/D112549
2021-04-20 07:49:12 +00:00
Mirko Brodesser c7077c610e Bug 1700051: part 31.5) Move `mSoftTextDOMMapping` to `SoftText`. r=smaug
Depends on D112544

Differential Revision: https://phabricator.services.mozilla.com/D112545
2021-04-20 07:49:12 +00:00
Mirko Brodesser 12f19abd5f Bug 1700051: part 31.4) Move `mSoftTextValid` to `SoftText`. r=smaug
Depends on D112543

Differential Revision: https://phabricator.services.mozilla.com/D112544
2021-04-20 07:49:11 +00:00
Mirko Brodesser 64c83abf72 Bug 1700051: part 31.3) Move `mSoftEnd` to `SoftText`. r=smaug
Depends on D112542

Differential Revision: https://phabricator.services.mozilla.com/D112543
2021-04-20 07:49:11 +00:00
Mirko Brodesser f9be3581cf Bug 1700051: part 31.2) Move `mSoftBegin` to `SoftText`. r=smaug
Depends on D112541

Differential Revision: https://phabricator.services.mozilla.com/D112542
2021-04-20 07:49:11 +00:00
Mirko Brodesser 1b13e1f445 Bug 1700051: part 31.1) Factor `SoftText` out. r=smaug
The `mSoft*` members belong together and will be moved to `SoftText` in
the following reviews.

Depends on D112540

Differential Revision: https://phabricator.services.mozilla.com/D112541
2021-04-20 07:49:10 +00:00
Mirko Brodesser acff2bb77d Bug 1700051: part 30) Narrow scope of `newOffset`. r=smaug
Presumably allows simplifying the code around it. See the following
review.

Differential Revision: https://phabricator.services.mozilla.com/D112540
2021-04-20 07:49:10 +00:00
Mirko Brodesser 70371eb59b Bug 1700051: part 29) Refactor `TextNodeContainsDOMWordSeparator` to `FindOffsetOfLastDOMWordSeparatorSequence`. r=smaug
More descriptive and separates input- from output-arguments.

Differential Revision: https://phabricator.services.mozilla.com/D112180
2021-04-16 08:10:11 +00:00
Mirko Brodesser 2ac0000c8a Bug 1700051: part 28) Refactor `WordSplitState<T>::GetDOMWordSeparatorOffset` to `WordSplitState<T>::FindOffsetOfLastDOMWordSeparatorSequence`. r=smaug
The method name is clearer and input and ouput are separated more
clearly.

Differential Revision: https://phabricator.services.mozilla.com/D112026
2021-04-15 08:38:42 +00:00
Mirko Brodesser 2357740bfb Bug 1700051: part 27) Rename `mozInlineSpellWordUtil::BuildSoftText` to `mozInlineSpellWordUtil::AdjustSoftBeginAndBuildSoftText`. r=smaug
Ideally, the method itself should be refactored. I'll need to think
about how to properly do that. For now, the new name reflects more
clearly what the method does.

Depends on D110242

Differential Revision: https://phabricator.services.mozilla.com/D110243
2021-03-31 09:04:46 +00:00
Mirko Brodesser 74905cb822 Bug 1700051: part 26) Correct typo in comment of `mozInlineSpellWordUtil::BuildSoftText`. r=smaug
Depends on D110241

Differential Revision: https://phabricator.services.mozilla.com/D110242
2021-03-31 09:04:46 +00:00
Mirko Brodesser c4cd5efacd Bug 1700051: part 25) Change `mozInlineSpellWordUtil::BuildRealWords` to return the built words. r=smaug
Depends on D110240

Differential Revision: https://phabricator.services.mozilla.com/D110241
2021-03-31 09:04:45 +00:00
Mirko Brodesser 7814efb66a Bug 1700051: part 24) Refactor `mozInlineSpellWordUtil::SplitDOMWord` to `mozInlineSpellWordUtil::SplitDOMWordAndAppendTo`. r=smaug
More explicit and preparation for further `const`-correctness.

Depends on D110090

Differential Revision: https://phabricator.services.mozilla.com/D110240
2021-03-31 08:33:09 +00:00