Commit graph

196 commits

Author SHA1 Message Date
Simon Giesecke
45420d4e39 Bug 708901 - Migrate to nsTHashSet in dom/ipc. r=nika
Depends on D108597

Differential Revision: https://phabricator.services.mozilla.com/D108598
2021-03-23 10:36:34 +00:00
Simon Giesecke
bc9766c354 Bug 1634281 - Use nsTHashMap for nsBaseHashtable/nsDataHashtable uses with RefPtr data type. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D105963
2021-03-09 11:39:36 +00:00
Simon Giesecke
4df825df71 Bug 1688833 - Migrate LookupForAdd to WithEntryHandle in dom/ipc. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D104201
2021-02-09 18:19:38 +00:00
Simon Giesecke
de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Nathan Froyd
cfb8fb313f Bug 1662251 - stop assigning from NS_Convert* values, mostly; r=sg
This patch was generated by running:

```
perl -p -i \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF8toUTF16\((.*)\);/\1CopyUTF8toUTF16(\3, \2);/;' \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF16toUTF8\((.*)\);/\1CopyUTF16toUTF8(\3, \2);/;' \
     $FILE
```

against every .cpp and .h in mozilla-central, and then fixing up the
inevitable errors that happen as a result of matching C++ expressions with
regexes.  The errors fell into three categories:

1. Calling the convert functions with `std::string::c_str()`; these were
   changed to simply pass the string instead, relying on implicit conversion
   to `mozilla::Span`.
2. Calling the convert functions with raw pointers, which is not permitted
   with the copy functions; these were changed to invoke `MakeStringSpan` first.
3. Other miscellaneous errors resulting from over-eager regexes and/or the
   replacement not being type-aware.  These changes were reverted.

Differential Revision: https://phabricator.services.mozilla.com/D88903
2020-09-02 09:54:37 +00:00
Nika Layzell
22a65a237e Bug 1650163 - Part 1: Switch native remoteType values to nsCString, r=farre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82104
2020-07-08 20:15:59 +00:00
Mihai Alexandru Michis
1ba2a3f6f6 Backed out 3 changesets (bug 1650163) for causing bustages in nsContentSecurityManager.cpp
CLOSED TREE

Backed out changeset 51d7c644a1e6 (bug 1650163)
Backed out changeset 3d2b6908447a (bug 1650163)
Backed out changeset 79141707d47b (bug 1650163)
2020-07-08 21:18:44 +03:00
Nika Layzell
c850a94434 Bug 1650163 - Part 1: Switch native remoteType values to nsCString, r=farre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82104
2020-07-08 14:54:48 +00:00
Narcis Beleuzu
8359f16846 Backed out 7 changesets (bug 1650163, bug 1649477) for bustages on JSActor.cpp . CLOSED TREE
Backed out changeset 4a21afb65254 (bug 1650163)
Backed out changeset c41753a56f5a (bug 1650163)
Backed out changeset 5fb444c35764 (bug 1650163)
Backed out changeset 830aa93d2b0c (bug 1649477)
Backed out changeset eca6e9dce450 (bug 1649477)
Backed out changeset 5b217aa88289 (bug 1649477)
Backed out changeset 8959d02b840f (bug 1649477)
2020-07-08 04:09:27 +03:00
Nika Layzell
df351180c3 Bug 1650163 - Part 1: Switch native remoteType values to nsCString, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D82104
2020-07-06 20:30:58 +00:00
Simon Giesecke
cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Sylvestre Ledru
68e6f06c65 Bug 1649071 - Replace the DISALLOW_COPY_AND_ASSIGN & DISALLOW_EVIL_CONSTRUCTORS macros with = delete; r=froydnj
Generated with:
./mach static-analysis check --checks="-*, modernize-replace-disallow-copy-and-assign-macro" --fix -j 10 <file>
and
./mach clang-format -p <file>
(as clang-apply-replacement doesn't reformat the change)

(with ~/.mozbuild/clang-tools/clang-tidy/bin/clang-tidy pointing to clang-tidy 11)

Differential Revision: https://phabricator.services.mozilla.com/D81489
2020-06-29 14:37:56 +00:00
Nika Layzell
0b30d5c15f Bug 1647761 - Part 2: Remove outdated process priority terminology, r=mccr8,geckoview-reviewers,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D80684
2020-06-23 17:34:51 +00:00
Randell Jesup
78facb122a Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-30 14:38:30 +00:00
Narcis Beleuzu
4e6564f9f0 Backed out 7 changesets (bug 1602757, bug 1640801, bug 1612063, bug 1569928) for wpt failures on operator-dictionary-spacing-002/003/006.html CLOSED TREE
Backed out changeset 11277f03c48c (bug 1640801)
Backed out changeset 6d2a92d25b8f (bug 1569928)
Backed out changeset 383fd9b931ae (bug 1602757)
Backed out changeset 58ec60831af6 (bug 1602757)
Backed out changeset 4b9c579de3b2 (bug 1602757)
Backed out changeset a34288a6f60c (bug 1612063)
Backed out changeset 5134aaa3278e (bug 1602757)
2020-05-29 05:38:02 +03:00
Randell Jesup
a6b0fd37c6 Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-28 21:37:03 +00:00
Narcis Beleuzu
0d860681b7 Backed out 6 changesets (bug 1602757, bug 1612063, bug 1569928) for wpt failure on operator-dictionary-spacing-001.html . CLOSED TREE
Backed out changeset 0f9c7960f36e (bug 1569928)
Backed out changeset 9456c9f960c9 (bug 1602757)
Backed out changeset 8dc7e11dbb9c (bug 1602757)
Backed out changeset 8bacf5ad656e (bug 1602757)
Backed out changeset b15fc1090ac7 (bug 1612063)
Backed out changeset bd19c329c6b7 (bug 1602757)
2020-05-28 21:29:25 +03:00
Randell Jesup
4899b7707e Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-28 14:33:24 +00:00
Narcis Beleuzu
34d12babb2 Backed out 5 changesets (bug 1602757, bug 1612063) for marionette failures on test_crash.py
Backed out changeset 232da017dc6a (bug 1602757)
Backed out changeset 32851bed1929 (bug 1602757)
Backed out changeset 1c6a6bfaaeef (bug 1602757)
Backed out changeset 45e22f062bce (bug 1612063)
Backed out changeset a7d7edf158a4 (bug 1602757)
2020-05-23 23:45:59 +03:00
Randell Jesup
ec264a9a49 Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-23 05:37:26 +00:00
Csoregi Natalia
40b453bd7c Backed out 7 changesets (bug 1602757, bug 1612063) for browser-chrome failures on browser_resource_uri.js. CLOSED TREE
Backed out changeset 2556e3876602 (bug 1602757)
Backed out changeset 1c98ac1c4283 (bug 1602757)
Backed out changeset 2c7bf6206bb4 (bug 1602757)
Backed out changeset a0142f6bb65f (bug 1602757)
Backed out changeset 7f114ce6b98d (bug 1612063)
Backed out changeset d9b4b2cffaa5 (bug 1602757)
Backed out changeset 33515632a7db (bug 1602757)
2020-05-21 04:09:56 +03:00
Randell Jesup
b127aeed3f Bug 1602757: Fix e10s process reuse cache and add debugs r=nika
Differential Revision: https://phabricator.services.mozilla.com/D72553
2020-05-20 22:38:09 +00:00
Simon Giesecke
ac33c1f119 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/ipc. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65179

--HG--
extra : moz-landing-system : lando
2020-03-06 09:11:40 +00:00
Gabriele Svelto
ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca
a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
bc9290f767 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +00:00
Kristen Wright
a4cb27d0c6 Bug 1571544 - Convert two dom.ipc.processPriorityManager.* prefs to static prefs. r=njn
Converts dom.ipc.processPriorityManager.backgroundPerceivableGracePeriodMS and dom.ipc.processPriorityManager.backgroundGracePeriodMS to static prefs and removes the initializer function they were in, as they were the last prefs initialized there.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 23:26:45 +00:00
Nicholas Nethercote
1e23726d7b Bug 1570212 - Convert three dom.ipc.* prefs into static prefs. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D40005

--HG--
extra : moz-landing-system : lando
2019-08-01 06:01:42 +00:00
Ryan Hunt
eb21db799b Bug 1525720, part 17 - Ignore nsIRemoteTab methods after we have destroyed the browser. r=nika
It's possible for front-end references to nsIRemoteTab to outlive the IPDL actor. When
this happens, we should ignore methods and property accesses.

The one special case is that some code expects to be able to
access the TabId after the browser has been destroyed. For this
we can just cache the ID.

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

--HG--
extra : source : 9b79caa460a01a7bdf9c27ede487de0ec642ae0b
extra : histedit_source : ec32bc78fac57f523b4c1b2aef08fddfccfbe546%2C8770eefa09a764733a09d8256ef9b3e2f04244df
2019-05-15 12:34:14 -05:00
Ryan Hunt
9078c825ec Bug 1525720, part 14 - Move final bits of nsIRemoteTab implementation to BrowserHost. r=nika
This commit moves the actual implementation of nsIRemoteTab from BrowserParent
to BrowserHost, without any functional changes.

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

--HG--
extra : source : d25963c72ff7981990660050182a82ea3e935f53
2019-05-08 15:47:18 -05:00
Ryan Hunt
4683a8b07a Bug 1525720, part 13 - Stop inheriting nsIRemoteTab interface in BrowserParent. r=nika
This commit removes nsIRemoteTab as a parent class from BrowserParent,
so that BrowserHost is the only concrete implementation of nsIRemoteTab.

Some static_cast's are updated to cast to BrowserHost, and other places
have to be updated to pass a BrowserHost instead of a BrowserParent.

WindowGlobalParent had a getter to return it's managing BrowserParent
as a nsIRemoteTab. I couldn't find a use of this in-tree, so I've just
opt-ed to remove it. If there's a use-case, we can add something back
in.

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

--HG--
extra : source : 810b7371987139844429d0206f9da6a7701a1efc
2019-05-08 14:34:47 -05:00
Gurzau Raul
57f573a6ff Backed out 18 changesets (bug 1525720) for mass failures on Windows platform e.g ProcessPriorityManager.cpp on a CLOSED TREE.
Backed out changeset 1f2e86c2d691 (bug 1525720)
Backed out changeset 9b79caa460a0 (bug 1525720)
Backed out changeset e65cb2d4c5a5 (bug 1525720)
Backed out changeset 99f971a02d87 (bug 1525720)
Backed out changeset d25963c72ff7 (bug 1525720)
Backed out changeset 810b73719871 (bug 1525720)
Backed out changeset ee10a8254481 (bug 1525720)
Backed out changeset 1bcf9f586c55 (bug 1525720)
Backed out changeset d3b2ac8d5ca4 (bug 1525720)
Backed out changeset 697774dd8984 (bug 1525720)
Backed out changeset eadeacbe4483 (bug 1525720)
Backed out changeset 32eeee79d628 (bug 1525720)
Backed out changeset 07678a2fa9e7 (bug 1525720)
Backed out changeset 757b4f595cc4 (bug 1525720)
Backed out changeset b255e0a84e12 (bug 1525720)
Backed out changeset 9a255864f75d (bug 1525720)
Backed out changeset 5f1c1b609ec1 (bug 1525720)
Backed out changeset 00d83f1d02e0 (bug 1525720)
2019-05-23 01:57:16 +03:00
Ryan Hunt
9b1bbaea5b Bug 1525720, part 14 - Move final bits of nsIRemoteTab implementation to BrowserHost. r=nika
This commit moves the actual implementation of nsIRemoteTab from BrowserParent
to BrowserHost, without any functional changes.

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

--HG--
extra : rebase_source : 2e6533dfa69a3278300eb70d5258bcd0a3aba68b
extra : histedit_source : a26ba68b78eb6d16cdffbc630f4410c5dd46a367
2019-05-08 15:47:18 -05:00
Ryan Hunt
93d6ab4ec4 Bug 1525720, part 13 - Stop inheriting nsIRemoteTab interface in BrowserParent. r=nika
This commit removes nsIRemoteTab as a parent class from BrowserParent,
so that BrowserHost is the only concrete implementation of nsIRemoteTab.

Some static_cast's are updated to cast to BrowserHost, and other places
have to be updated to pass a BrowserHost instead of a BrowserParent.

WindowGlobalParent had a getter to return it's managing BrowserParent
as a nsIRemoteTab. I couldn't find a use of this in-tree, so I've just
opt-ed to remove it. If there's a use-case, we can add something back
in.

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

--HG--
extra : rebase_source : 63070e3c2b90c9134f9106028e124935c8dad009
extra : histedit_source : 807f2ff684d86008077be07b0894f39a925fe778
2019-05-08 14:34:47 -05:00
Ryan Hunt
0eeced87be Bug 1534395 - Rename TabParent to BrowserParent. r=nika
This commit renames TabParent to BrowserParent.

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

--HG--
rename : dom/ipc/TabParent.cpp => dom/ipc/BrowserParent.cpp
rename : dom/ipc/TabParent.h => dom/ipc/BrowserParent.h
extra : rebase_source : d2706b9f42177d8de16068b7b1d088a44b8720a4
extra : histedit_source : a617ddac45c58050ef799116a67d2d983f2a8f6d%2C1d1dabd8761a32d548a6fbf1027be960698f6a5e
2019-04-09 16:38:15 -05:00
Ryan Hunt
3675f2449b Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

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

--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
2019-04-09 15:59:37 -05:00
Mike Conley
2db690d857 Bug 1538987 - Follow-up: skip incrementing the DOM_CONTENTPROCESS_OS_PRIORITY_RAISED probe for the initialization case. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25440

--HG--
extra : moz-landing-system : lando
2019-03-29 22:07:13 +00:00
Mike Conley
aacf5c1f32 Bug 1538987 - Collect Telemetry on process priority switching. data-review=chutten, r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25137

--HG--
extra : moz-landing-system : lando
2019-03-28 14:10:34 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Nika Layzell
dec9708f74 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:55 +00:00
Nika Layzell
a5cbaaf6e7 Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
These casts are now unnecessary after Part 2, due to all consumers directly
using `ContentParent`.

Depends on D20551

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:51 +00:00
Andreea Pavel
cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell
072dbde694 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:25 +00:00
Nika Layzell
73b719457a Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
These casts are now unnecessary after Part 2, due to all consumers directly
using `ContentParent`.

Depends on D20551

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:21 +00:00
Mike Conley
c041cfdaef Bug 1524193 - Make audio wakelocks put background tabs into the normal priority bucket. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D19502

--HG--
extra : moz-landing-system : lando
2019-02-12 15:24:29 +00:00
Mike Conley
e663f0736b Bug 1523974 - Make ProcessPriorityManager pay attention to video and audio playing WakeLocks. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D18393

--HG--
extra : moz-landing-system : lando
2019-02-04 22:57:03 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Mike Conley
65813684e5 Bug 1503002 - Don't register WakeLockObserver for ProcessPriorityManagerImpl. r=gsvelto
The WakeLockObserver is being used to set a boolean that's never being read.

This also makes it so that dom.ipc.processPriorityManager.enabled can be set to
true by default. Without this patch, setting that pref to true by default means
that the WakeLockObserver attempts to be registered before Hal has had a chance
to initialize which causes an assertion failure.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 22:46:16 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Doug Thayer
e80e0faf26 Bug 1489546 - Don't drop process priority of webext process r=mconley
Turned out to be fairly trivial. Not much to explain here - as far
as I can tell this looks clean on try now (no web extension failures
like there were before).

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

--HG--
extra : moz-landing-system : lando
2018-09-07 16:46:42 +00:00