Commit Graph

1740 Commits

Author SHA1 Message Date
Kris Maglione
3a5c05e76f Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D3733

--HG--
extra : rebase_source : c0fac176d7b3d840c4dbb14f8d95ccfc7f83a5a8
extra : histedit_source : a92c40117d0808a3ad68c972f622a7a42c9ae8ba
2018-08-18 18:13:14 -07:00
Kris Maglione
2dee0aae3c Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj
This allows JS callers to automatically get the correct types during
interation, without having to explicitly specify them.

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

--HG--
extra : rebase_source : b708f382d8ea571d199c669bfed5b5a7ca9ffac4
extra : histedit_source : 7df6feb82088c8a5ca45dc28fe4d2b852c177fee
2018-08-18 21:06:32 -07:00
Dorel Luca
07c6e76122 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-21 12:54:24 +03:00
Kris Maglione
356dd0de4a Bug 1484466: Part 3a - Update remaining XPCOMUtils.generateQI callers to use ChromeUtils. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D3709

--HG--
extra : rebase_source : 650545d3e58ab92821a9ea2097793cca5996d5b3
2018-08-18 12:44:57 -07:00
Francois Marier
309a23afc3 Bug 1482950 - Use the correct 3rdparty check in tracking annotations. r=dimi,Ehsan,mayhemer!,ehsan!
The mIsTrackingResource flag on nsIHttpChannel was split into two separate
flags depending on whether or not the resource is third-party. The correct
flag will be set by the channel classifier. Similarly, a new function was
introduced, GetIsThirdPartyTrackingResource(), for those consumers (like TP)
who only care about third-party trackers.

The existing function, GetIsTracking(), will continue to look at both
first-party and third-party trackers (the behavior since first party
tracking was added to annotations in bug 1476324).

The OverrideTrackingResource() function now allows nsHTMLDocument to
override both mIsFirstPartyTrackingResource and
mIsThirdPartyTrackingResource, but since this function is a little dangerous
and only has a single user, I added an assert to make future callers think
twice about using it to opt out of tracking annotations.

Currently, only the default storage restrictions need to look at first-party
trackers so every other consumer has been moved to
mIsThirdPartyTrackingResource or GetIsThirdPartyTrackingResource().

This effectively reverts the third-party checks added in bug 1476715 and
replaces them with the more complicated check that was added in bug 1108017.
It follows the approach that Ehsan initially suggested in bug 1476715. It
also reverts the changes in the expected values of the tracking annotation
test since these were, in hindsight, a warning about this regression.

Depends on D3722

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

--HG--
extra : moz-landing-system : lando
2018-08-20 23:53:45 +00:00
Henri Sivonen
3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Boris Zbarsky
754087a992 Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
Kris Maglione
7aa3564a28 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : source : aa9a8f18e98f930a3d8359565eef02f3f6efc5f9
extra : absorb_source : 81a22ab26ee8017ac43321ff2c987d8096182d37
2018-07-23 17:41:06 -07:00
Brindusan Cristian
91a3707d5f Backed out 3 changesets (bug 1477579) for build bustages on xpcshell\selftest.py and crashtest failures on /components/nsComponentManager.cpp. CLOSED TREE
Backed out changeset aa9a8f18e98f (bug 1477579)
Backed out changeset 5fb0b7746a5d (bug 1477579)
Backed out changeset 8359f8fe4184 (bug 1477579)
2018-07-24 04:55:03 +03:00
Kris Maglione
dfd38a6ac3 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : rebase_source : 4f70e7b296ecf3b52a4892c92155c7c163d424d2
2018-07-23 17:41:06 -07:00
Jan Horak
cb8d3c752f Bug 1463809 - Don't lookup mimeinfo of application/octet-stream; r=Paolo
Mimeinfo returned for the generic application/octet-stream content
type is usually irrelevant to the file extension, getting mimeinfo
from extension itself is more reliable.

Also prefer file extension over application/octet-stream content tyope
when lookup in extras.

MozReview-Commit-ID: A9Q2NFAwQ7b

--HG--
extra : rebase_source : 4206cbfd898fb12b2415ef751a74d1bdeee26a2d
2018-07-19 15:46:26 +02:00
Gijs Kruitbosch
3c7235e904 Bug 1476035, r=jkt
--HG--
rename : browser/base/content/test/general/browser_registerProtocolHandler_notification.html => browser/components/feeds/test/browser/browser_registerProtocolHandler_notification.html
rename : browser/base/content/test/general/browser_registerProtocolHandler_notification.js => browser/components/feeds/test/browser/browser_registerProtocolHandler_notification.js
extra : rebase_source : 3322967a084f771186a0de05eaadc98059e399c5
2018-07-17 15:36:43 +01:00
Robert Bartlensky
b357f1861c Bug 1476015: Fix DEAD_STORE issues reported by infer. r=froydnj
MozReview-Commit-ID: 6DYpX3kCAl9

--HG--
extra : rebase_source : 6557dd1fcf967e0e242cd220f70fe4878c6fea15
2018-07-16 17:21:00 +01:00
Mark Banner
601b9aaed9 Bug 1474637 - Make DownloadCore.jsm responsible for adding all downloads to history, rather than sharing with nsExternalHelperAppService. r=paolo
MozReview-Commit-ID: GRzLlDPPsCU

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

--HG--
extra : moz-landing-system : lando
2018-07-13 15:06:56 +00:00
Andrew Osmond
c7ece5c2e5 Bug 1472145 - Part 1. Add support for identifying the WebP images MIME type. r=tnikkel 2018-06-29 20:30:05 -04:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Andi-Bogdan Postelnicu
d9274aea61 Bug 1453795 - docshell - Initialize member fields in classes/ structures. r=smaug
--HG--
extra : rebase_source : 1b938af97a01037f5d51369319bfa326353a9aad
2018-06-18 10:23:57 +03:00
Zibi Braniecki
ba06f7b6e1 Bug 1468769 - Add ftl to defaultMimeEntries. r=Pike
MozReview-Commit-ID: 4rkZJkkEQDX

--HG--
extra : rebase_source : 5cb0a3bdf65f525bd75627e89010686b7ad800cd
2018-06-14 10:17:02 -07:00
Joel Maher
1ef32bf5c6 Bug 1405428 - skip-if = verify on xpcshell tests which do not pass test-verify. r=gbrown 2018-06-13 11:34:40 -04:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Andrea Marchesini
1273dc5391 Bug 1446933 - Remove 'using namespace mozilla::net' from BackgroundUtils.h, r=qdot 2018-05-30 21:21:17 +02:00
Chris Peterson
71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Kris Maglione
a259026c9d Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY

--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b
2018-04-22 20:55:06 -07:00
Kris Maglione
219ed0cc06 Bug 1454813: Part 2b - Rename SpawnTask.js to AddTask.js. r=florian
The old name no longer makes sense, since it no longer exports an spawn_task
symbol, and add_task is what we really care about.

MozReview-Commit-ID: IE7B8Czv8DH

--HG--
rename : testing/mochitest/tests/SimpleTest/SpawnTask.js => testing/mochitest/tests/SimpleTest/AddTask.js
extra : rebase_source : 03bca5aa69a7625a49b4455a6c96ce4c59de3a5a
2018-04-18 11:43:45 -07:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Jim Mathies
9c6490795f Bug 1447080 - Remove SEE_MASK_FLAG_NO_UI for better Windows 10 compatibility. r=dparks
MozReview-Commit-ID: FbaKIfQdV8K
2018-03-26 08:55:21 -05:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Tooru Fujisawa
bc1ed58f7a Bug 1448531 - Part 2: Make BrowserTestUtils.waitForNewWindow receive parameters object. r=enndeakin 2018-04-10 12:18:35 +09:00
Haik Aftandilian
58ac4dd796 Bug 1448374 - Loading a .javascript file from a WebExtension's web_accessible_resources messing with macOS file associations r=jimm
From content processes, on Mac, use ContentHandlerService::GetTypeFromExtension()
instead of trying to query the OS directly for MIME information.
Trying to get MIME information from the OS is blocked by content process
sandboxing on Mac.

MozReview-Commit-ID: KGJHDBklxvb

--HG--
extra : rebase_source : ae46525eee622d64ffc6e263b19682aec033480a
2018-04-03 13:42:43 -07:00
Nathan Froyd
f4985a48fe Bug 1448025 - make some Android-only uriloader constructors explicit; r=mystor
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:31 -04:00
Tooru Fujisawa
1adba8c1fc Bug 1442465 - Part 4.2: Stop unnecessarily awaiting on BrowserTestUtils.removeTab (simple part). r=dao 2018-03-19 11:16:45 +09:00
Tooru Fujisawa
3038c58523 Bug 1442465 - Part 2: Use BrowserTestUtils.{waitForTabClosing,waitForSessionStoreUpdate} instead of BrowserTestUtils.tabRemoved. r=dao 2018-03-19 11:12:13 +09:00
Sylvestre Ledru
fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Marco Bonardo
014fcdedcd Bug 474043 - Part 5 - Remove the json suffix from nsHandlerService. r=Paolo
MozReview-Commit-ID: C7H7VlYO25i

--HG--
rename : uriloader/exthandler/nsHandlerService-json.js => uriloader/exthandler/HandlerService.js
rename : uriloader/exthandler/nsHandlerService-json.manifest => uriloader/exthandler/HandlerService.manifest
extra : rebase_source : b27f3134ec035b9c2fa846c0b6152e65afeb2b7c
2018-03-15 14:44:00 +01:00
Marco Bonardo
42c4dcae3e Bug 474043 - Part 4 - Cleanup some JSON suffixes. r=Paolo
MozReview-Commit-ID: cja118sBOO

--HG--
extra : rebase_source : ab54cb7f9ec3a82add1c08f3a35513b43ec4beee
2018-03-13 17:50:17 +01:00
Marco Bonardo
acd043c0a2 Bug 474043 - Part 3 - Merge common_test_handlerService.js and test_handlerService_json.js into test_handlerService_store.js. r=Paolo
MozReview-Commit-ID: Z94rIc893h

--HG--
rename : uriloader/exthandler/tests/unit/common_test_handlerService.js => uriloader/exthandler/tests/unit/test_handlerService_store.js
extra : rebase_source : ee0c1fba1838c9a193605b9fb465f8b61ad6c5c2
2018-03-15 14:35:39 +01:00
Marco Bonardo
8fb7a5e47d Bug 474043 - Part 2 - Don't reimplement GetProtocolHandlerInfo. r=Paolo
MozReview-Commit-ID: 2gfscH2rGGB

--HG--
extra : rebase_source : 3a6e4857c7ea18a1bfb470a9b04518e9484ce696
2018-03-13 16:21:03 +01:00
Marco Bonardo
afe040fd02 Bug 474043 - Part 1 - Get rid of the remaining mimeTypes.rdf references. r=Paolo
MozReview-Commit-ID: 78LHYTVlEtR

--HG--
extra : rebase_source : b16b0c5d202419bd39a287d2868f09fbf6ad45e7
2018-03-12 22:24:07 +01:00
Coroiu Cristina
0f6841e0d2 Backed out 2 changesets (bug 1443080) for spidermonkey build bustage at build/src/js/src/jit/BaselineCacheIRCompiler.cpp
Backed out changeset 7d509bb8a35d (bug 1443080)
Backed out changeset 53bdcd5937cd (bug 1443080)

--HG--
extra : rebase_source : 59b5350d2959c0b065aedd34bfe8337216c0ea4b
2018-03-14 11:13:21 +02:00
Sylvestre Ledru
c07eb73986 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 17c91bfd7241e3e522b1413b6e544df74f5361a0
2018-03-05 13:43:54 +01:00
Florian Quèze
c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Jonathan Kingston
6429bea50f Bug 1439651 - Fix uriloader/exthandler/tests/mochitest/test_web_protocol_handlers.html for builds that support not secure registerProtocolHandler. r=baku
MozReview-Commit-ID: Cw5iRzxQR3X

--HG--
extra : rebase_source : 5cc4789e57433b70b45dfa2fbf5220d0127c527b
2018-02-26 16:07:24 +00:00
Florian Quèze
682b1ec3b2 Bug 1440284 - change this.EXPORTED_SYMBOLS back to var EXPORTED_SYMBOLS in JS modules, r=mccr8. 2018-02-23 20:50:01 +01:00
Jonathan Kingston
9f340d8168 Bug 1429732 - Use a pref to disable registerProtocolHandler in insecure contexts. r=baku,dao
MozReview-Commit-ID: 9NxFv57CyZO

--HG--
extra : rebase_source : 897ca40537493cc9df4bef7a538a5fdb04769889
2018-02-04 12:10:10 +00:00
Nathan Froyd
0f56acaf26 Bug 1437604 - remove NS_INTERFACE_MAP_END_THREADSAFE; r=mystor
This macro is identical to NS_INTERFACE_MAP_END and encourages the
reader to think that there's something extra-special threadsafe about QI
implementations that use the macro, when in reality there's nothing of
the sort.
2018-02-12 14:36:46 -05:00
Andrea Marchesini
910fc98873 Bug 1437114 - ExternalHelperAppChild should send data to the parent actor in chunks, r=froydnj 2018-02-12 17:41:34 +01:00
Sebastian Hengst
2154b22a29 Backed out changeset dcb60325f0cf (bug 1429732) for breaking uriloader/exthandler/tests/mochitest/mochitest.ini: runByManifest mode must be enabled to set the prefs key (fails at least on Android) 2018-02-08 19:02:48 +02:00
Jonathan Kingston
cec85c2cae Bug 1429732 - Use a pref to disable registerProtocolHandler in insecure contexts. r=baku,dao
MozReview-Commit-ID: 9NxFv57CyZO

--HG--
extra : rebase_source : 59d21e85884c31aec88ed08300f0f3149ac075b7
2018-02-04 12:10:10 +00:00
Andrew McCreight
5dec0e0beb Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG

--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
2018-02-06 09:36:57 -08:00
Ashish
99623eaeaa Bug 1357791 - require mAppAssoc (Vista+) API for extension lookup from nsOSHelperAppService.cpp, r=gijs
--HG--
extra : rebase_source : 01fa5e3167e7daa42f93dd530ec27997db7f5836
2018-01-31 17:00:56 +00:00