Commit Graph

47 Commits

Author SHA1 Message Date
Valentin Gosu
c746fb04ed Bug 1442239 - Make URI deserialization (nsISerializable.read) happen via nsIURIMutator only r=mayhemer
* Deserialization now only happens via a mutator
* The CID for URI implementations actually returns the nsIURIMutator for each class
* The QueryInterface of mutators implementing nsISerializable will now act as a finalizer if passed the IID of an interface implemented by the URI it holds

MozReview-Commit-ID: H5MUJOEkpia
2018-03-19 20:22:32 +01:00
Andreea Pavel
d73ab14f2d Backed out 2 changesets (bug 1442239) for xpcshell failures at widget/tests/unit/test_taskbar_jumplistitems.js on a CLOSED TREE
Backed out changeset 513cd669aca1 (bug 1442239)
Backed out changeset aef4c73f736f (bug 1442239)
2018-03-19 21:19:26 +02:00
Valentin Gosu
17b4bb266e Bug 1442239 - Make URI deserialization (nsISerializable.read) happen via nsIURIMutator only r=mayhemer
* Deserialization now only happens via a mutator
* The CID for URI implementations actually returns the nsIURIMutator for each class
* The QueryInterface of mutators implementing nsISerializable will now act as a finalizer if passed the IID of an interface implemented by the URI it holds

MozReview-Commit-ID: H5MUJOEkpia
2018-03-08 13:35:10 +01:00
Valentin Gosu
3a4f98a41d Bug 1434163 - Make all nsIURI attributes readonly r=mayhemer
MozReview-Commit-ID: KtjO8VWjPF5
2018-02-27 00:07:48 +01:00
Valentin Gosu
ca5c5bbf19 Bug 1439931 - nsIIOService.extractScheme/net_ExtractURLScheme should lowercase its output r=mayhemer
MozReview-Commit-ID: LZ2rqIdIoXQ
2018-02-26 16:42:27 +01:00
Valentin Gosu
03778dac03 Bug 1431204 - Make nsIURI.spec readonly r=mayhemer
MozReview-Commit-ID: 1l1CBUotIPh
2018-01-19 15:26:07 +01:00
Valentin Gosu
cf6d388605 Bug 1418810 - Use fallible assign to prevent OOM. r=mayhemer
MozReview-Commit-ID: LU1RbkUIBZz
2017-11-21 20:36:01 +01:00
Valentin Gosu
30ecd962e7 Bug 1415205 - Add nsIURIMutator impls for all objects implementing nsIURI r=bagder
This also changes URIUtils.cpp:DeserializeURI() to use the mutator to instantiate new URIs, instead of using their default constructor.

MozReview-Commit-ID: JQOvIquuQAP
2017-11-20 17:11:30 +01:00
Nicholas Nethercote
29b25cc007 Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.
2017-10-18 13:17:26 +11:00
Valentin Gosu
163d07f8b3 Bug 1369317 - Filter and escape URI string in only one pass r=mcmanus
MozReview-Commit-ID: KU4C4cS3jZC
2017-08-13 10:03:34 +02:00
Valentin Gosu
212ddedd0e Bug 1369317 - Use net_ExtractURLScheme to parse the scheme in nsSimpleURI::SetSpec r=mcmanus
MozReview-Commit-ID: 11c4RS6Lomo
2017-08-13 10:03:31 +02:00
Valentin Gosu
7a44794f6f Bug 1369317 - Make sure nsSimpleURI::SetPathQueryRef escapes its non-ASCII argument r=mcmanus
MozReview-Commit-ID: JBloDTiYFN
2017-08-13 10:03:28 +02:00
Valentin Gosu
1d60d52208 Bug 1369317 - Do not escape the returned string in nsSimpleURI::GetAsciiSpec r=mcmanus
The spec is already escaped in SetSpec,SetQuery,SetRef - so there is no need to escape it again in the getter.

MozReview-Commit-ID: C0279q5nLXl
2017-08-13 10:03:10 +02:00
Valentin Gosu
bc7d16e493 Bug 1380617 - Add nsIURI.displayPrePath r=mcmanus,Gijs
- Use displayPrePath in the pageInfo permissions that shows "Permissions for:"
- The extra displayPrePath method is necessary because it's difficult to compute it manually, as opposed to not having a displaySpecWithoutRef - as it's easy to get that by truncating displaySpec at the first '#' symbol.

MozReview-Commit-ID: 9RM5kQ2OqfC
2017-08-09 17:43:58 +02:00
Masatoshi Kimura
a9e30eaec8 Bug 1322874 - Get rid of nsIURI.originCharset. r=valentin.gosu
nsIURI.originCharset had two use cases:
 1) Dealing with the spec-incompliant feature of escapes in the hash
    (reference) part of the URL.
 2) For UI display of non-UTF-8 URLs.

For hash part handling, we use the document charset instead. For pretty
display of query strings on legacy-encoded pages, we no longer care to them
(see bug 817374 comment 18).

Also, the URL Standard has no concept of "origin charset". This patch
removes nsIURI.originCharset for reducing complexity and spec compliance.

MozReview-Commit-ID: 3tHd0VCWSqF
2017-08-02 20:43:30 +09: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
Cameron McCormack
1cafc348d4 Bug 1376964 - Part 5: Add OMT wrapper for nsIURIs useful for font stuff. r=jfkthame
MozReview-Commit-ID: FkBYOoqC6x6
2017-07-07 17:29:44 +08:00
Valentin Gosu
efa71e2ddb Bug 945240 - Make nsIURI.host & variants return ASCII strings r=mcmanus
* nsStandardURL::GetHost/GetHostPort/GetSpec contain an punycode encoded hostname.
* Added nsIURI::GetDisplayHost/GetDisplayHostPort/GetDisplaySpec which have unicode hostnames, depending on the hostname, character blacklist and the network.IDN_show_punycode pref
* remove mHostEncoding since it's not needed anymore (the hostname is always ASCII encoded)
* Add mCheckedIfHostA to know when GetDisplayHost can return the regular host, or when we need to use the cached mDisplayHost

MozReview-Commit-ID: 4qV9Ynhr2Jl
* * *
Bug 945240 - Make sure nsIURI.specIgnoringRef/.getSensitiveInfoHiddenSpec/.prePath contain unicode hosts when network.standard-url.punycode-host is set to false r=mcmanus

MozReview-Commit-ID: F6bZuHOWEsj
2017-07-11 19:09:10 +02:00
Carsten "Tomcat" Book
97b3ef0b1c Backed out changeset 65e34c5fa167 (bug 1376964) 2017-07-12 12:41:33 +02:00
Cameron McCormack
ce894059b5 Bug 1376964 - Part 5: Add OMT wrapper for nsIURIs useful for font stuff. r=jfkthame
MozReview-Commit-ID: FkBYOoqC6x6
2017-07-12 16:36:10 +08:00
Carsten "Tomcat" Book
e76544ca57 Backed out changeset 0031a20388ac (bug 1376964) 2017-07-12 10:32:18 +02:00
Cameron McCormack
6e3298c75e Bug 1376964 - Part 5: Add OMT wrapper for nsIURIs useful for font stuff. r=jfkthame
MozReview-Commit-ID: FkBYOoqC6x6
2017-07-12 13:03:35 +08:00
Valentin Gosu
4638f11109 Bug 1344558 - Avoid OOM in nsSimpleURI::SetPath r=mcmanus
MozReview-Commit-ID: JWlN5Q6H59Q
2017-03-05 22:55:45 +01:00
Eric Rahm
6bbd759663 Bug 1332202 - Convert most infallible NS_EscapeURL calls to fallible version. r=froydnj
This makes most users of |NS_EscapeURL| use the fallible version. A few are
left infallible as it seems like the entire function is assumed to be
infallible.

MozReview-Commit-ID: Cy1L5jQwjO1
2017-01-24 11:11:44 -08:00
Masatoshi Kimura
754565e183 Bug 1327960 - Don't escape the query part of nsSimpleURI. r=valentin.gosu
MozReview-Commit-ID: G5Shb8kYYTx
2017-01-06 20:56:14 +09:00
Masatoshi Kimura
bc0de3b080 Bug 1323683 - Fold nsIURIWithQuery into nsIURI. r=valentin.gosu
MozReview-Commit-ID: BFfgr42sNyx
2016-12-28 20:40:21 +09:00
Andrea Marchesini
d722c927a8 Bug 1310483 - Implement nsIURIWithQuery for having query part in simple URI, r=valentin 2016-11-14 13:04:33 +01:00
Dragana Damjanovic
f504a79cc5 Bug 1295636 - SetHostPort should reset the port if the host parameter does not have a port number. r=valentin, r=smaug 2016-08-17 23:25:00 -04:00
Nicholas Nethercote
6ec210429d Bug 1290350 - Make fallible some potentially large allocations in nsSimpleURI::GetSpec. r=valentin. 2016-08-01 09:14:33 +10:00
Nicholas Nethercote
7601bed92f Bug 1156255 - Make fallible a potentially large allocation in nsSimpleURI::SetPath. r=dholbert. 2016-08-01 09:13:29 +10:00
Gijs Kruitbosch
9f4419ee72 Bug 1280584 - implement cloneWithNewRef and thereby make hash/ref links use a simple unified codepath in the IO service, r=valentin
MozReview-Commit-ID: 8FIyclkJPDp
2016-07-26 23:38:46 +01:00
Eric Rahm
7921519216 Bug 1249352 - Part 5: Udpate SetScheme to use fallible NS_EscapeURL. r=valentin 2016-06-27 11:10:47 -07:00
Eric Rahm
b0d3ac21a0 Bug 1249352 - Part 3: Remove requirement to copy spec when calling NS_EscapeURL. r=valentin 2016-06-27 11:10:45 -07:00
Eric Rahm
743614dc55 Bug 1249352 - Part 1: Remove unnecessary flat string in SetSpec. r=valentin 2016-06-27 11:10:42 -07:00
Valentin Gosu
7b211d3707 Bug 1271955 - Strip leading and trailing C0 controls and space for urls passed to new URL() r=mcmanus
MozReview-Commit-ID: B7BiKE6P7GA
2016-05-25 16:23:37 +02:00
Patrick McManus
e01f1d0309 Bug 1274376 - more mozilla::net namespaces r=dragana 2016-05-18 22:02:57 -04:00
Valentin Gosu
a2dd37750e Bug 1269080 - Convert NS_ERROR to NS_WARNING when setting an invalid scheme in nsSimpleURI. r=mcmanus 2016-04-30 17:08:33 +03:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Michael Layzell
3f7b8cb09b Bug 1195415 - Add asciiHostPort field to nsIURI, and use it in the implementation of nsPrincipal::GetOriginForURI, r=bholley 2015-08-18 14:52:24 -04:00
Eric Rahm
b7bc138cae Bug 1171583 - Remove mutable warning from |nsSimpleURI::SetUserPass|. r=bz 2015-06-11 18:32:03 -07:00
Mike Hommey
338d086ead Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Andrew McCreight
362b5c9f5f Bug 1147572 - Remove implementation language field from DOM class info. r=jst 2015-03-30 10:45:39 -07:00
Andrew McCreight
5cc7a1afef Bug 1148070 - Change nsIClassInfo::getHelperForLanguage() to getScriptableHelper(). r=bholley 2015-03-29 07:52:54 -07:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
James Kitchener
f3e2ed9bfd Bug 1100184 - Flatten netwerk/base/{public,src}/ directories. r=mcmanus, r=poiru 2015-01-20 03:58:00 -05:00