Commit Graph

101 Commits

Author SHA1 Message Date
Jens Stutte
3fddfccde0 Bug 1689953: Harmonize shutdown phase definitions across nsTerminator and AppShutdown r=dthayer,chutten
This patch wants to solve several quirks around the shutdown terminator.

 - Use the same shutdown phase definitions in AppShutdown and nsTerminator. This touches quite a few files.
 - Ensure that the terminator phase shift is handled before any shutdown observer notifications are sent and reduce its heartbeat duration.
 - Add missing phases to the shutdown telemetry.

Please note that this changes the unit of "tick" to 100ms rather than 1s.
As a side effect, we also remove the obsolete "shutdown-persist" context.

While the existing test coverage continues to prove the most important functions, we acknowledge the wish for better test coverage with [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1693966 | bug 1693966 ]].

Differential Revision: https://phabricator.services.mozilla.com/D103626
2021-02-26 21:33:29 +00:00
Simon Giesecke
95c38cc6b8 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Alexis Beingessner
b8b572bfa0 Bug 1686616 - make ThirdPartyUtil use Components instead of Services. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D105523
2021-02-18 13:26:29 +00:00
Masatoshi Kimura
b2472e0aeb Bug 1687108 - Remove unused content policy types. r=ckerschb,remote-protocol-reviewers,smaug
Differential Revision: https://phabricator.services.mozilla.com/D102083
2021-01-19 09:42:13 +00:00
Masatoshi Kimura
12c9fd0669 Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-15 12:07:16 +00:00
Narcis Beleuzu
30a5f83baa Backed out changeset a52961071dcd (bug 1685900) for Build bustage in nsContentSecurityManager.cpp. CLOSED TREE 2021-01-15 04:04:37 +02:00
Masatoshi Kimura
666d7f8e2b Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-15 04:02:41 +02:00
Dorel Luca
922d64bb4f Backed out changeset a52961071dcd (bug 1685900) for Build bustage in nsContentSecurityManager.cpp. CLOSED TREE 2021-01-15 02:45:34 +02:00
Masatoshi Kimura
fd94179ca1 Bug 1685900 - Split internal and external contentPolicyType. r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D101271
2021-01-14 20:44:54 +00:00
Simon Giesecke
46908cfb51 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Shane Caraveo
f73a9df942 Bug 1657916 allow extensions to see view-source requests r=robwu
View source prefixes urls with a view-source scheme.  Somewhere along
the way a request is made for the un-prefixed url but we do not intercept.  This
removes the prefix for webrequest and proxy APIs prior to checking access rules
and filters, allowing the APIs to intercept those requests that the otherwise
could.

Differential Revision: https://phabricator.services.mozilla.com/D89068
2020-10-15 21:57:35 +00:00
Gerald Squelart
313fddf4f9 Bug 1667915 - Separate marker category from marker options - r=gregtatum
The `category.WithOptions(...)` syntax was a bit strange and difficult to explain.

Now the category and options are separate parameters. Default options can be specified with `MarkerOptions{}` or just `{}`.

As a special case, defaulted-NoPayload functions don't need `<>`, and defaulted-NoPayload functions and macros don't even need `{}` for default options, e.g.:
`profiler_add_marker("name", OTHER); PROFILER_MARKER_UNTYPED("name", OTHER);`

Differential Revision: https://phabricator.services.mozilla.com/D91680
2020-10-01 11:02:23 +00:00
Bogdan Tara
6fe40f83f1 Backed out 2 changesets (bug 1667915) for platform related bustage CLOSED TREE
Backed out changeset e7a0788a1741 (bug 1667915)
Backed out changeset d34505b2d81b (bug 1667915)
2020-10-01 12:34:39 +03:00
Gerald Squelart
4eb5bd3574 Bug 1667915 - Separate marker category from marker options - r=gregtatum
The `category.WithOptions(...)` syntax was a bit strange and difficult to explain.

Now the category and options are separate parameters. Default options can be specified with `MarkerOptions{}` or just `{}`.

As a special case, defaulted-NoPayload functions don't need `<>`, and defaulted-NoPayload functions and macros don't even need `{}` for default options, e.g.:
`profiler_add_marker("name", OTHER); PROFILER_MARKER_UNTYPED("name", OTHER);`

Differential Revision: https://phabricator.services.mozilla.com/D91680
2020-10-01 01:44:47 +00:00
Gerald Squelart
8c49ce00f7 Bug 1663554 - Convert PROFILER_ADD_TEXT_MARKER and friends to PROFILER_MARKER_TEXT - r=gregtatum
Mostly mechanical changes, with some work needed to convert the different payloads (with optional timestamps, inner window id, and/or backtrace) to the equivalent MarkerOptions.

Differential Revision: https://phabricator.services.mozilla.com/D89587
2020-09-11 00:41:27 +00:00
Matt Woodrow
8f1c692626 Bug 1638422 - Implement nsIMultiPartChannelListener for RequestListener. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D83597
2020-08-25 23:17:47 +00:00
Matt Woodrow
7fb1559687 Bug 1638422 - Add an option for nsITraceableChannel new listeners to request that content decoding be applied before they are called. r=kmag,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D83595
2020-08-25 23:17:35 +00:00
Sebastian Streich
9e838cf603 Bug 1645204 - Fix WebRequest.jsm r=robwu,necko-reviewers,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D80953
2020-07-16 14:58:03 +00:00
Kris Maglione
31bcef7913 Bug 1580764: Part 2 - Use BrowsingContext IDs rather than window IDs to compute frame IDs. r=zombie
Differential Revision: https://phabricator.services.mozilla.com/D82464
2020-07-07 21:37:53 +00:00
Simon Giesecke
a69d79b6db 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
Christoph Kerschbaumer
37db6fc017 Bug 1636900: Remove TYPE_XBL from nsIContentPolicy. r=remote-protocol-reviewers,emilio,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D74835
2020-05-13 06:53:28 +00:00
Sebastian Streich
f3f9634deb Bug 1626928 - Remove nsIPrincipal Geturi in ChannelWrapper.cpp r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D69369
2020-04-14 12:13:25 +00:00
Andreas Farre
c76bc4f1c8 Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika
To be able to remove SystemGroup, NS_ReleaseOnMainThreadSystemGroup
needs to have its dependency on SystemGroup removed. Since all
releases using SystemGroup would've released on the main thread anyway
we can safely replace NS_ReleaseOnMainThreadSystemGroup with
NS_ReleaseOnMainThread.

Depends on D64390

Differential Revision: https://phabricator.services.mozilla.com/D67631
2020-04-07 15:16:23 +00:00
Emilio Cobos Álvarez
46f64ba715 Bug 1627707 - Rename LoadInfo::LoadingPrincipal to GetLoadingPrincipal as it can return null. r=ckerschb
Mostly a matter of:

  rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'

And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).

Differential Revision: https://phabricator.services.mozilla.com/D69828
2020-04-06 18:57:36 +00:00
Cosmin Sabou
8ca4dd2b6f Backed out 3 changesets (bug 1627707) for build bustages @ mozilla::net::LoadInfo.
Backed out changeset 65d6a90651ce (bug 1627707)
Backed out changeset 378ec30d9979 (bug 1627707)
Backed out changeset 058a19e11b06 (bug 1627707)
2020-04-06 20:07:04 +03:00
Emilio Cobos Álvarez
d828790f70 Bug 1627707 - Rename LoadInfo::LoadingPrincipal to GetLoadingPrincipal as it can return null. r=ckerschb
Mostly a matter of:

  rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'

And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).

Differential Revision: https://phabricator.services.mozilla.com/D69828
2020-04-06 16:00:43 +00:00
Andrew Swan
741d1b1695 Bug 1625006 Add profiler markers for blocking webRequest listeners r=mixedpuppy,gerald
Differential Revision: https://phabricator.services.mozilla.com/D68278
2020-04-01 16:23:53 +00:00
Rob Wu
14019f85b9 Bug 1621935 - Allow webRequest to see subresource requests in local files r=mixedpuppy
And remove the explicit "baseURL" origin check. This check was meant to
ensure that extensions can always intercept requests that it generated,
but changed in https://hg.mozilla.org/mozilla-central/rev/cd219dd096 by
accident to allowing access to the real `jar:`/`file:`-URL that backs
the `moz-extension:`-protocol handler.

That mistake did not break functionality, because the check was
redundant: the `moz-extension:`-origin is already explicitly added to
the internal set of host permissions of an extension. This scenario is
covered by the existing test_ext_webRequest_from_extension_page.js test.

Differential Revision: https://phabricator.services.mozilla.com/D67735
2020-03-24 18:58:46 +00:00
Liang-Heng Chen
5ff5de89e0 Bug 1618980 - clear RequestSize/ResponseSize cache; r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D64812
2020-02-28 23:08:48 +00:00
Kris Maglione
232ff37e9f Bug 1535617: Part 2 - Clear weak references for most cycle collected objects on unlink. r=mccr8
This covers most cycle collected objects which support weak references, but
not the ones which inherit from a cycle collected class and don't do any cycle
collection on their own.

Differential Revision: https://phabricator.services.mozilla.com/D63962
2020-02-25 19:44:39 +00:00
Shane Caraveo
61234790f1 Bug 1604618 support request cancel reason in webrequest r=rpl,Honza
Support cancel reason so devtools, download panel, etc. can understand that an extension cancelled a request.

Differential Revision: https://phabricator.services.mozilla.com/D57537
2020-01-13 20:30:26 +00:00
Gabriele Svelto
f03cdb2b2d Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ 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/D55444
2019-12-06 09:17:57 +00:00
Junior Hsu
56a167e6b6 Bug 1545423 - P2 web request data API implementation r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D50405
2019-10-31 00:50:47 +00:00
Andreea Pavel
5635140d90 Backed out 4 changesets (bug 1545423) for failing test_ext_activityLog.html on a CLOSED TREE
Backed out changeset 0abbf10b68b0 (bug 1545423)
Backed out changeset 35758baf44e3 (bug 1545423)
Backed out changeset 3ae45f3be2e1 (bug 1545423)
Backed out changeset 9f7f0e4c65da (bug 1545423)
2019-10-31 02:16:24 +02:00
Junior Hsu
ef61e5224d Bug 1545423 - P2 web request data API implementation r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D50405
2019-10-30 23:11:38 +00:00
Andrea Marchesini
31fd6c1329 Bug 1591900 - Expose third-party state in WebRequest and proxy onRequest details, r=mixedpuppy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D50793
2019-10-30 11:42:16 +00:00
Mihai Alexandru Michis
311171fc5c Backed out changeset ed867296b6d4 (bug 1591900) for causing mochitest fission failures in test_ext_activityLog.html CLOSED TREE 2019-10-30 11:15:36 +02:00
Andrea Marchesini
b15cd245a9 Bug 1591900 - Expose third-party state in WebRequest and proxy onRequest details, r=mixedpuppy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D50793
2019-10-30 07:58:27 +00:00
Mihai Alexandru Michis
cff8add2ef Backed out changeset e99290edd750 (bug 1591900) for causing lint failures in file_third_party.html CLOSED TREE 2019-10-30 09:35:28 +02:00
Andrea Marchesini
73ecba52e5 Bug 1591900 - Expose third-party state in WebRequest and proxy onRequest details, r=mixedpuppy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D50793
2019-10-30 06:59:00 +00:00
Jean-Yves Avenard
2d79e0b4c3 Bug 1590214 - Don't assert that ChannelWrapper will always be used with a nsIHttpChannel. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D50109
2019-10-22 19:47:35 +00:00
Jean-Yves Avenard
ddeb965a06 Bug 1588899 - P1. Move classification flags related method to nsIClassifiedChannel. r=Ehsan,baku
This is where it should have been in the first place. Those attributes belong there.

Differential Revision: https://phabricator.services.mozilla.com/D49577
2019-10-19 04:30:24 +00:00
Shane Caraveo
5b38e6a593 Bug 1547140 add classification data to webRequest API r=zombie,kmag,Fallen
Differential Revision: https://phabricator.services.mozilla.com/D35911
2019-08-14 16:10:51 +00:00
Cosmin Sabou
632de891dd Backed out changeset 2bfb73091f21 (bug 1547140) for xpcshell failures on test_ext_webRequest_urlclassification. CLOSED TREE 2019-08-14 05:35:27 +03:00
Shane Caraveo
c514e60ace Bug 1547140 add classification data to webRequest API r=zombie,kmag,Fallen
Differential Revision: https://phabricator.services.mozilla.com/D35911
2019-08-12 22:00:20 +00:00
Jonathan Kingston
32524b62e2 Bug 1560455 - rename CodebasePrincipal to ContentPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D35504
2019-07-08 16:37:45 +00:00
Ryan Hunt
8f79ffabf2 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
2019-05-08 14:34:47 -05:00
Gurzau Raul
65201d8181 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
eda6ea6e51 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
2019-05-08 14:34:47 -05:00
Honza Bambas
f4c719c52e Bug 1545420 - Allow extensions to set Proxy-Authorization and connection isolation key through proxy.onRequest, r=dragana,mixedpuppy+mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D29825
2019-05-06 07:22:18 +00:00