Commit Graph

119 Commits

Author SHA1 Message Date
Dorel Luca
8cc61e1d4b Backed out changeset bbb39655cf71 (bug 1605934) for build bustage in widget/gtk/mozwayland/mozwayland.c 2020-01-18 15:39:55 +02:00
Sylvestre Ledru
8cc3e9bf3f Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

Differential Revision: https://phabricator.services.mozilla.com/D58217
2020-01-18 13:16:39 +00:00
pbz
324f59895b Bug 1607760 - Remove ConfirmAuth prompt and URI userinfo telemetry. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D59494
2020-01-13 09:41:55 +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
Boris Zbarsky
2df1df0176 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067
2019-12-05 04:44:32 +00:00
Paul Zuehlcke
89ff335616 Bug 1594613 - Added telemetry for http basic-auth confirm prompts and URI UserInfo usage. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D52183
2019-11-11 12:07:59 +00:00
Paul Zuehlcke
c405938ee8 Bug 1571003 - Added pref to disable warning prompts for SuperfluousAuth and AutomaticAuth. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D51989
2019-11-06 22:50:58 +00:00
Nicholas Nethercote
c4aacd8403 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138
2019-07-26 01:10:23 +00:00
Boris Zbarsky
95de682140 Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D34196
2019-06-11 15:51:51 +00:00
Honza Bambas
34116a7662 Bug 1548804 - Remove origin suffix isolation for proxy credentials when setting authentication cache entry, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D30911
2019-05-14 13:40:30 +00:00
Honza Bambas
0d288a591b Bug 1549368 - Let proxyAuthorizationHeader and connectionIsolationKey in proxy.onRequest apply only to HTTPS proxies, no test, r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D30066
2019-05-06 16:28:25 +00: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
Sylvestre Ledru
ad31adba4c Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956
2019-05-01 08:47:10 +00:00
Honza Bambas
8a3cb640e1 Bug 1538737 - Don't isolate proxy auth credential cache by origin attributes on all places, r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D25422
2019-03-29 19:40:34 +00:00
Christoph Kerschbaumer
1a72eb2a6b Bug 1528677: Remove nullchecks for loadinfo since we have loadinfo on all channels. r=baku 2019-02-20 13:27:25 +01:00
Honza Bambas
6371cf8d9e Bug 1520125 - Don't use origin attributes to distinguish proxy authentication cache entries. r=dragana, r=mixedpuppy 2019-01-22 07:34:00 -05:00
Dragana Damjanovic
41b27f0022 Bug 1415625 - Use Telemetry::CanRecordPreReleaseData instead of toolkit.telemetry.enabled. Remove network.allow-experiments because it is not used. r=michal
Differential Revision: https://phabricator.services.mozilla.com/D12745
2018-12-18 17:19:29 +00:00
Tooru Fujisawa
5ef6d9cc06 Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier
5e1b39e9bd Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)
2018-11-30 16:39:55 +01:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Ehsan Akhgari
9ce6826a2e Bug 1502774 - Part 1: Remove XPCOM component registrations for HTTP authenticator classes r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D10025
2018-11-01 14:21:47 +00:00
Andreea Pavel
d827748f3f Backed out 3 changesets (bug 1502774) for causing multiple crashes - bug 1503201 a=backout
Backed out changeset 6b821f5b12ae (bug 1502774)
Backed out changeset b3bf57d996a7 (bug 1502774)
Backed out changeset 32a581482291 (bug 1502774)
2018-10-30 21:18:29 +02:00
Ehsan Akhgari
519e100c43 Bug 1502774 - Part 1: Remove XPCOM component registrations for HTTP authenticator classes r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D10025
2018-10-29 14:59:14 +00:00
Narcis Beleuzu
b53a346c33 Backed out 3 changesets (bug 1502774) for mingwclang bustages on include/sspi.h. CLOSED TREE
Backed out changeset a1f9c4666855 (bug 1502774)
Backed out changeset 07648e9d8400 (bug 1502774)
Backed out changeset b403c3c786ee (bug 1502774)
2018-10-29 17:01:21 +02:00
Ehsan Akhgari
3fd1367bc4 Bug 1502774 - Part 1: Remove XPCOM component registrations for HTTP authenticator classes r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D10025
2018-10-29 14:40:29 +00:00
Andrew McCreight
05b70f0bb6 Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug
If class A is derived from class B, then an instance of class A can be
converted to B via a static cast, so a slower QI is not needed.

Differential Revision: https://phabricator.services.mozilla.com/D6861
2018-10-01 21:38:01 +00:00
Honza Bambas
7ed8bdbc2d yBug 1423278 - Correctly instantiate proxy authenticator with a lowercase schema, r=jduell 2018-08-29 14:04:00 +03:00
Kershaw Chang
2f116b2817 Bug 1470458 - Use correct function to copy UTF8 string, r=valentin
Since username and password are not always ascii string, we have to use the correct function CopyUTF8toUTF16 to copy string.
2018-08-07 06:00:00 +03:00
Nicholas Nethercote
c1b91b0084 Bug 1436655 - Introduce a mechanism for VarCache prefs to be defined entirely in the binary. r=glandium
Currently VarCache prefs are setup in two parts:

- The vanilla pref part, installed via a data file such as all.js, or via an
  API call.

- The VarCache variable part, setup by an Add*VarCache() call.

Both parts are needed for the pref to actually operate as a proper VarCache
pref. (There are various prefs for which we do one but not the other unless a
certain condition is met.)

This patch introduces a new way of doing things. There is a new file,
modules/libpref/init/StaticPrefList.h, which defines prefs like this:

> VARCACHE_PREF(
>   "layout.accessiblecaret.width",
>   layout_accessiblecaret_width,
>   float, 34.0
> )

This replaces both the existing parts.

The preprocessor is used to generate multiple things from this single
definition:

- A global variable (the VarCache itself).

- A getter for that global variable.

- A call to an init function that unconditionally installs the pref in the
  prefs hash table at startup.

C++ files can include the new StaticPrefs.h file to access the getter.

Rust code cannot use the getter, but can access the global variable directly
via structs.rs. This is similar to how things currently work for Rust code.

Non-VarCache prefs can also be declared in StaticPrefList.h, using PREF instead
of the VARCACHE_PREF.

The new approach has the following advantages.

+ It eliminates the duplication (in all.js and the Add*VarCache() call) of the
  pref name and default value, preventing potential mismatches. (This is a real
  problem in practice!)

+ There is now a single initialization point for these VarCache prefs.
  + This avoids need to find a place to insert the Add*VarCache() calls, which
    are currently spread all over the place.
  + It also eliminates the common pattern whereby these calls are wrapped in a
    execute-once block protected by a static boolean (see bug 1346224).
  + It's no longer possible to have a VarCache pref for which only one of the
    pieces has been setup.

+ It encapsulates the VarCache global variable, so there is no need to declare
  it separately.

+ VarCache reads are done via a getter (e.g. StaticPrefs::foo_bar_baz())
  instead of a raw global variable read.
  + This makes it clearer that you're reading a pref value, and easier to
    search for uses.
  + This prevents accidental writes to the global variable.
  + This prevents accidental mistyping of the pref name.
  + This provides a single chokepoint in the code for such accesses, which make
    adding checking and instrumentation feasible.

+ It subsumes MediaPrefs, and will allow that class to be removed. (gfxPrefs is
  a harder lift, unfortunately.)

+ Once all VarCache prefs are migrated to the new approach, the VarCache
  mechanism will be better encapsulated, with fewer details publicly visible.

+ (Future work) This will allow the pref names to be stored statically, saving
  memory in every process.

The main downside of the new approach is that all of these prefs are in a
single header that is included in quite a few places, so any changes to this
header will cause a fair amount of recompilation.

Another minor downside is that all VarCache prefs are defined and visible from
start-up. For test-only prefs like network.predictor.doing-tests, having them
show in about:config isn't particularly useful.

The patch also moves three network VarCache prefs to the new mechanism as a
basic demonstration. (And note the inconsistencies in the multiple initial
values that were provided for
network.auth.subresource-img-cross-origin-http-auth-allow!) There will be
numerous follow-up bugs to convert the remaining VarCache prefs.

MozReview-Commit-ID: 9ABNpOR16uW
* * *
[mq]: fixup

MozReview-Commit-ID: 6ToT9dQjIAq
2018-03-26 09:39:40 +11:00
Dragana Damjanovic
4cc75ae7c3 Bug 1425156 - Fix bug in the http-auth dialog blocking. r=ckerschb 2017-12-14 20:22:56 +01:00
Dragana Damjanovic
2a8c288101 Bug 1409449 - Do not show auth-dialog for triggeringPrincipal==SystemPrincipal. r=ckerschb r=valentin r=francois 2017-12-12 10:34:12 +01:00
Dragana Damjanovic
9d24773cba Bug 1423522 - We should not block http-authentication prompts for proxies. r=ckerschb 2017-12-06 14:13:32 +01:00
Liang-Heng Chen
1ebcb9d643 Bug 1410257 - make non-connection-based connections restartable; r=mayhemer
MozReview-Commit-ID: 1hEk7mT6mzZ
2017-10-26 14:23:05 +08:00
Chris Peterson
4e9c1d3429 Bug 870698 - Part 1: Replace Assign("") with AssignLiteral(""). r=erahm
MozReview-Commit-ID: A0u9PP49OW3
2017-09-03 22:12:56 -07:00
Nicholas Nethercote
b7346a7502 Bug 1390428 (part 1) - Remove many nsXPIDLCString local variables. r=erahm.
These are all easy cases where an nsXPIDLCString local variable is set via
getter_Copies() and then is only used in ways that nsCStrings can also be used
(i.e. no null checks or implicit conversions to |char*|).

In every case the patch trivially replaces the nsXPIDLCString with an
nsCString. (Also, there are a couple of unused nsXPIDLCString variables that
the patch simply removes.)
2017-08-16 13:58:35 +10:00
Nicholas Nethercote
723f585d9c Bug 1386600 - Change nsIStringBundle methods to return |AString| instead of |wstring|. r=emk,sr=dbaron.
This removes about 2/3 of the occurrences of nsXPIDLString in the tree. The
places where nsXPIDLStrings are null-checked are replaced with |rv| checks.

The patch also removes a couple of unused declarations from
nsIStringBundle.idl.

Note that nsStringBundle::GetStringFromNameHelper() was merged into
GetStringFromName(), because they both would have had the same signature.
2017-08-04 14:40:52 +10:00
Masatoshi Kimura
c0943e4f30 Bug 1326520 - Rename nsIURI.path to pathQueryRef. r=valentin.gosu
MozReview-Commit-ID: DqJdTGopR9G
2017-07-29 20:50:21 +09:00
Nicholas Nethercote
8b5bdf0867 Bug 1380227 - Avoid many UTF16toUTF8 and UTF8toUTF16 conversions in nsStringBundle. r=emk.
Most of the names passed to nsIStringBundle::{Get,Format}StringFromUTF8Name
have one of the two following forms:

- a 16-bit C string literal, which is then converted to an 8-bit string in
  order for the lookup to occur;

- an 8-bit C string literal converted to a 16-bit string, which is then
  converted back to an 8-bit string in order for the lookup to occur.

This patch introduces and uses alternative methods that can take an 8-bit C
string literal, which requires changing some signatures in other methods and
functions. It replaces all C++ uses of the old methods.

The patch also changes the existing {Get,Format}StringFromName() methods so
they take an AUTF8String argument for the name instead of a wstring, because
that's nicer for JS code.

Even though there is a method for C++ code and a different one for JS code,
|binaryname| is used so that the existing method names can be used for the
common case in both languages.

The change reduces the number of NS_ConvertUTF8toUTF16 and
NS_ConvertUTF16toUTF8 conversions while running Speedometer v2 from ~270,000 to
~160,000. (Most of these conversions involved the string
"deprecatedReferrerDirective" in nsCSPParser.cpp.)
2017-07-12 15:13:37 +10:00
Nicholas Nethercote
4ce1e9c11f Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString
2017-06-20 19:19:52 +10:00
Nicholas Nethercote
4cbdad69e6 Bug 1374580 (part 2) - Remove nsAFlat{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsAFlatString  --> nsString
- nsAFlatCString --> nsCString
2017-06-20 19:19:05 +10:00
Nicholas Hurley
4fbb06c099 Bug 1360574 - Backout original fix to bug 1346392 r=mcmanus
MozReview-Commit-ID: 1ljoiCXciRq
2017-05-11 10:20:14 -07:00
3f3be00660 Bug 1357835 - Extend telemetry for http autentication dialog prompt to show the subresource cross-origin auth dialog prompt per suresource type. Also add a pre to putentially disable auth propts for the cross-origin images. r=mayhemer r=ckerschb r=francois 2017-05-09 12:36:21 +02:00
Gijs Kruitbosch
ce612711b6 Bug 1360842, r=valentin
MozReview-Commit-ID: B7uG3ShaGuH
2017-05-04 11:28:04 +01:00
Honza Bambas
7d9a122562 Bug 1345910 - Allow HTTP connection restart for the first connection-based authentication request in a round. r=mcmanus 2017-04-26 17:02:05 +02:00
Nicholas Hurley
d9a36ce13a Bug 1346392 - force non-spdy on sticky auth connections. r=dragana
MozReview-Commit-ID: IkYTVgetKsn
2017-03-28 17:15:23 -07:00
Wei-Cheng Pan
6e5f9205bd Bug 1310127 - Part 5: Use MOZ_MUST_USE in netwerk/protocol/http r=mayhemer
MozReview-Commit-ID: 9xtNZyavZtc
2017-01-12 17:49:03 +08:00
Wei-Cheng Pan
60a2861056 Bug 1310127 - Part 4: Use MOZ_MUST_USE in netwerk/protocol/http r=mcmanus
This patch contains some changes that may alter control flows.

MozReview-Commit-ID: Kcc2DWJZ8L5
2016-12-28 14:43:47 +08:00
Wei-Cheng Pan
f9654c1dca Bug 1310127 - Part 2: Use MOZ_MUST_USE in netwerk/protocol/http r=Cykesiopka,mcmanus
Log failures or just ignore them, no control flow change.

MozReview-Commit-ID: D748DEjl3Fv
2016-12-27 19:05:13 +08:00
Sylvestre Ledru
fe74f041a1 Bug 1338086 - Remove useless else blocks in order to reduce complexity in netwerk/ r=dragana
MozReview-Commit-ID: 2TSxhHWmL2H
2017-02-09 11:21:38 +01:00
Andrea Marchesini
46a9207d60 Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00