Граф коммитов

2758 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione 27975ea3b6 Bug 1478124: Part 4b - Support loading components from static lookup tables. r=froydnj
This patch essentially creates a separate, static component database for
statically-defined CID and contract ID entries, and gives it precedence over
the runtime DB. It combines the two separate databases by updating existing
code to use lookup functions which understand both databases, and then access
all entries through wrappers which defer to the appropriate underlying type.

Static component entries require no runtime relocations, and require no
writable data allocation aside from one pointer-sized BSS entry per CID, and
one bit of BSS per contract ID.

To achieve this, all strings in the static lookup tables are stored as indexes
into a static string table, all constructor functions live in a switch
statement which compiles to a relative jump table, and all writable data for
static entries is accessed by indexed lookups into BSS arrays.

We also avoid creating nsIFactory entries for static components when possible
by adding a CreateInstance method to nsFactoryEntry and the corresponding
entry wrapper to directly call the appropriate constructor method, and only
create a factory object when required by external code.

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

--HG--
extra : rebase_source : 903a6f31c6290d0090e6765e0e317d1f749c5855
extra : source : b8d2dfdfc324c53ce5aacc822ce52d4e2bfdc31a
2018-12-18 20:30:13 -08:00
arthur.iakab c1fae83952 Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE
Backed out changeset fce62c77a56b (bug 1478124)
Backed out changeset eb2fa3b5edf7 (bug 1478124)
Backed out changeset 8dacce59fcc0 (bug 1478124)
Backed out changeset 012fd0107204 (bug 1478124)
Backed out changeset 496aaf774697 (bug 1478124)
Backed out changeset 21f4fda03159 (bug 1478124)
Backed out changeset b0444e0bc801 (bug 1478124)
Backed out changeset d94039b19943 (bug 1478124)
Backed out changeset 5d85deac61c2 (bug 1478124)
Backed out changeset 929fd654c9df (bug 1478124)
Backed out changeset 1ddd80d9e91a (bug 1478124)
Backed out changeset b8d2dfdfc324 (bug 1478124)
Backed out changeset f500020a273a (bug 1478124)
Backed out changeset dd00365ebb55 (bug 1478124)
Backed out changeset 538e40c5ee13 (bug 1478124)
Backed out changeset bedaa9c437ad (bug 1478124)
2019-01-29 10:03:06 +02:00
Kris Maglione 43481fed07 Bug 1478124: Part 4b - Support loading components from static lookup tables. r=froydnj
This patch essentially creates a separate, static component database for
statically-defined CID and contract ID entries, and gives it precedence over
the runtime DB. It combines the two separate databases by updating existing
code to use lookup functions which understand both databases, and then access
all entries through wrappers which defer to the appropriate underlying type.

Static component entries require no runtime relocations, and require no
writable data allocation aside from one pointer-sized BSS entry per CID, and
one bit of BSS per contract ID.

To achieve this, all strings in the static lookup tables are stored as indexes
into a static string table, all constructor functions live in a switch
statement which compiles to a relative jump table, and all writable data for
static entries is accessed by indexed lookups into BSS arrays.

We also avoid creating nsIFactory entries for static components when possible
by adding a CreateInstance method to nsFactoryEntry and the corresponding
entry wrapper to directly call the appropriate constructor method, and only
create a factory object when required by external code.

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

--HG--
extra : rebase_source : 8d02ff3b67b8078d1ac837d8c12f54786155c6b6
extra : absorb_source : 0fe36ca220c9270e634abf5b1f320a01878e0ce7
extra : histedit_source : 51521ceae2c1b3e4e8bf63d4ed1e2e67e9468780
2018-12-18 20:30:13 -08:00
Kris Maglione e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

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

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
vinoth cc6d429241 Bug 1512949 - Remove eval from tests and flip assertion flag r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D14054

--HG--
extra : moz-landing-system : lando
2019-01-24 09:06:07 +00:00
Nika Layzell 53c6040388 Bug 1467223 - Part 3: Support uncached resources by using a redirectTo-like API for process swaps in necko, r=valentin,mayhemer
With the old process selector service implementation, non-cached loads
would skip the call into the process selector.

This implementation piggybacks atop the existing 'redirectTo' mechanism.
This is unfortunately not the perfect system for catching these loads,
as it doesn't provide an opportunity for performing a final process
switch before redirecting to a non-http channel. In addition, it doesn't
provide indication that a redirect is going to happen, causing
potentially unnecessary process switches.

Not all places where 'redirectTo' is supported use this mechanism. This
process switching mechanism is only checked in situations after
http-on-examine-response.

Potential future changes include:

 1. Moving these checks closer to the real 'OnStartRequest' call (e.g.
    in ContinueProcessNormal + ContinueOnStartRequest3). This would mean
    that loads other than the final load will not cause process swaps.

 2. Adding a callback before a redirect is performed, passing in the new
    channel, and allowing modifications to be made. This would allow
    performing a process swap before redirecting to a non-http(s)
    channel.

Depends on D15609

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

--HG--
extra : moz-landing-system : lando
2019-01-23 21:19:39 +00:00
Nika Layzell be5f88174d Bug 1467223 - Part 1: Move CrossProcessRedirect Message to PContent, r=valentin
This is needed because early in a content process's lifecycle, NeckoParent may
not have been created yet. This leads to issues when trying to redirect into a
fresh process which hasn't performed network loads yet. By sending the message
over PContent, we can be sure the APIs are available.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 21:27:44 +00:00
Dave Townsend e8b1884f16 Bug 1518746: Switch to load events for all tested resources. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D16901

--HG--
extra : moz-landing-system : lando
2019-01-21 07:48:26 +00:00
Margareta Eliza Balazs ca2235a67e Backed out 4 changesets (bug 1517025) for multiple failures e.g.: toolkit/components/telemetry/tests/unit/test_PingAPI.js CLOSED TREE
Backed out changeset 1e173178e49f (bug 1517025)
Backed out changeset c29889dea969 (bug 1517025)
Backed out changeset 48c7d643d2fa (bug 1517025)
Backed out changeset 419cb778d531 (bug 1517025)
2019-01-21 16:13:56 +02:00
Valentin Gosu e6aa11c264 Bug 1517025 - Do not allow percent symbol in URL hostnames r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D16694

--HG--
extra : moz-landing-system : lando
2019-01-21 08:39:34 +00:00
Margareta Eliza Balazs 0ba2ee586d Backed out changeset 92c56dcf69b8 (bug 1512949) for mochitest failures setup | Login to delete is defined: login0 - false == true - got false, expected true (operator ==) CLOSED TREE 2019-01-18 14:19:05 +02:00
vinoth 5d09ad138e Bug 1512949 - Remove eval from tests and flip assertion flag r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D14054

--HG--
extra : moz-landing-system : lando
2019-01-15 13:11:19 +00:00
Kershaw Chang 8711ee817e Bug 1407384 - P3: Handle the case if the channel is suspended or canceled by "http-on-examine-merged-response" observer r=mayhemer
1. This patch somehow sets a "breakpoint" in ProcessPartialContent() and ProcessNotModified() to really stop doing things after ProcessPartialContent() and ProcessNotModified(), when the channel is suspended.
2. Add a test for this.

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

--HG--
extra : moz-landing-system : lando
2019-01-15 16:17:48 +00:00
Kershaw Chang b689d1f01d Bug 1407384 - P2: test for suspending the channel in DoAuthRetry r=mayhemer
Test steps:
1. Register the observers for http-on-modify-request and http-on-before-connect.
2. There are 3 cases to be tested.
   - suspend in http-on-modify-request
   - suspend in http-on-before-connect
   - suspend in both observers
3. See if the channel can be resumed correctly.

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

--HG--
extra : moz-landing-system : lando
2019-01-14 16:02:58 +00:00
Dave Townsend 6fa8b55502 Bug 1518746: Add additional logging to test_accept_header.html. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D16485

--HG--
extra : moz-landing-system : lando
2019-01-14 19:36:26 +00:00
Valentin Gosu 1403ae7440 Bug 1519711 - Make nsIURI::SchemeIs return false when passed null scheme r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D16409

--HG--
extra : moz-landing-system : lando
2019-01-13 18:05:39 +00:00
Paolo Amadini ffa6503244 Bug 983187 - Test that downloads fail when an RST packet is received. r=mayhemer
This adds a way to simulate failed network connections, allowing the addition of test coverage that would otherwise not be available. This is used in the Downloads tests to ensure that failures at the network level are handled correctly.

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

--HG--
extra : rebase_source : 2597b27de5213b0322520cefafe10a197d0d3b83
2019-01-09 11:48:23 +00:00
Andrea Marchesini 7728c152a2 Bug 1417463 - Default accept header should follow the fetch spec - tests, r=mayhemer 2019-01-08 23:36:17 +01:00
Jeff Walden ed23151bd7 Bug 1492937 - Make the JS subscript loader load scripts exclusively as UTF-8, with no way to specify any other encoding, and adjust a bunch of existing tests to use UTF-8 directly, rather than Unicode escape sequences or similar. (This also changes the encoding of .sjs scripts and all mochitest-browser tests in the tree from Latin-1 to UTF-8.) r=yzen, r=MattN, r=jimb, r=kmag 2018-12-19 13:46:20 -08:00
Valentin Gosu f9762144c9 Bug 1355207 - Wait for http server shutdown and disable test_host.js on OSX r=dragana
The test intermittently fails on OSX. For some reason start(PORT) doesn't always fail when PORT is in use, so we timeout because the handler is never called. I suspect it's because of how SO_REUSEADDR and SO_REUSEPORT are handled on sockets sever-side on OSX. Since httpd is used for unit tests, there is little risk in disabling the test on OSX.
The alternative is to check for a timeout, and in that case switch to another port - which is cumbersome, and not the purpose of the test.

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

--HG--
extra : moz-landing-system : lando
2018-12-18 11:14:14 +00:00
Bogdan Tara 38717f9e9e Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-12-14 00:54:42 +02:00
Bogdan Tara b6a18773a4 Merge inbound to mozilla-central. a=merge 2018-12-14 00:42:20 +02:00
Jeremy Lempereur 695604da1d Bug 1481014 - WIP - Rewrite net_IsValidIPv4Addr in rust. r=valentin,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D3713

--HG--
extra : moz-landing-system : lando
2018-12-13 12:07:26 +00:00
Cosmin Sabou 7e60b89bf0 Merge mozilla-central to autoland. 2018-12-13 06:00:52 +02:00
Valentin Gosu 01d0b7c15e Bug 1355207 - Improve test_host.js and add diagnostic info to figure out where it times out r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D14055

--HG--
extra : moz-landing-system : lando
2018-12-12 23:22:35 +00:00
Jeff Walden efc00313f9 Bug 1513152 - Load .sjs scripts in httpd.js as UTF-8, updating consumers of the in-tree .sjs scripts as necessary for the change. r=kmag
--HG--
extra : rebase_source : 1eed4ea5b846e5ce608593ef732bedc3194268e3
2018-12-08 18:00:33 -05:00
Daniel Stenberg 704416cc5c Bug 1503393 - adjust tests for localhost proxying r=mayhemer
--HG--
extra : rebase_source : 49fd0951c9bce6058a1a54a4772891aa28ebb354
extra : source : 52e8ef71af9b837be53b294d09381d70c5efceba
2018-12-03 16:28:14 +02:00
Daniel Stenberg 35c7b5ebae Bug 1503393 - verify default localhost not-proxied with PAC r=mayhemer
--HG--
extra : rebase_source : 5420755b96982f87f1926ae8020b81fd69679a6d
extra : source : 02e383b73c971e656097b3040e9cc523039018d6
2018-12-03 16:27:29 +02:00
Jeff Walden ad17bf59a4 Bug 1492938 - Attempt compiling PAC scripts as UTF-8 first if they're valid UTF-8, and only if that fails inflate to UTF-16 and compile that. r=bagder
--HG--
extra : rebase_source : a8933485f054292222bfbba4774e3fa41be1f8c3
2018-12-04 14:40:45 -05:00
Mark Banner 0304564ac7 Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13754

--HG--
extra : moz-landing-system : lando
2018-12-11 21:39:40 +00:00
Csoregi Natalia 9e970681f2 Backed out 2 changesets (bug 1415483) for multiple failures e.g. on test_message_manager_ipc.html. CLOSED TREE
Backed out changeset d00748de66fc (bug 1415483)
Backed out changeset 8dea94258f54 (bug 1415483)
2018-12-11 19:30:57 +02:00
Mark Banner 1abdc8687f Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13754

--HG--
extra : moz-landing-system : lando
2018-12-11 14:09:44 +00:00
Jonathan Kew 1d355fa505 Bug 1512647 - Add mozTXTToHTMLConv testcases including supplementary-plane letters and combining marks. r=valentin 2018-12-10 14:41:28 +00:00
Andrea Marchesini 562202c9bd Bug 1512485 - Introduce nsIClearDataService.deleteDataFromOriginAttributesPattern, r=johannh 2018-12-09 13:19:04 +01:00
Sebastian Hengst ade92e3f6b Backed out 4 changesets (bug 1503393) for failing various browser-chrome tests, e.g. browser_extension_controlled.js. CLOSED TREE
Backed out changeset 52e8ef71af9b (bug 1503393)
Backed out changeset 7878029aaba6 (bug 1503393)
Backed out changeset 02e383b73c97 (bug 1503393)
Backed out changeset 49428012434e (bug 1503393)
2018-12-03 17:28:06 +02:00
Daniel Stenberg 1733ff10c8 bug 1503393 - adjust tests for localhost proxying r=mayhemer
Fix test_proxy-failover_canceled and browser_firstPartyIsolation
2018-12-03 16:28:14 +02:00
Daniel Stenberg 4098db1285 bug 1503393 - verify default localhost not-proxied with PAC r=mayhemer 2018-12-03 16:27:29 +02:00
Valentin Gosu 7439d2a7fe Bug 1502025 - Add IPv6 support to httpd.js r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D13335

--HG--
extra : moz-landing-system : lando
2018-12-02 23:29:45 +00:00
Valentin Gosu 8064b923c9 Bug 1502025 - Use captive portal endpoints for connectivity checks r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D13334

--HG--
extra : moz-landing-system : lando
2018-12-02 23:29:27 +00:00
Fabian Henneke 082be04eec Bug 1509493 - Fix markup generation for nested email addresses r=BenB
In mozTXTToHTMLConv, FindURL is not able to correctly calculate replaceBefore for nested email addresses/URLs such as john@doe.org}john@doe.org. As a workaround, we keep track of the end of the last URL HTML markup in the output string and skip any subsequent URLs whose replaceBefore would cut into this markup.

Depends on D13645

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

--HG--
extra : moz-landing-system : lando
2018-12-02 16:18:29 +00:00
Fabian Henneke 5574403ce0 Bug 1509493 - Do not include unmatched ')' in email addresses r=BenB
Depends on D13644

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

--HG--
extra : moz-landing-system : lando
2018-12-02 16:20:03 +00:00
Fabian Henneke e00f50248b Bug 1509493 - Provide basic test coverage for email address parsing r=BenB
Depends on D13511

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

--HG--
extra : moz-landing-system : lando
2018-12-02 22:14:11 +00:00
Simon Montagu daf683e0db Bug 1505911 - Add struct testing to test_mozTXTToHTMLConv.js. r=valentin
--HG--
extra : rebase_source : a0477242e4f21c56c3523063d893dfa0a0c5fe18
2018-11-30 18:41:55 +01:00
Jorg K 2caa5fbda6 Bug 1505911 - Add glyph testing to test_mozTXTToHTMLConv.js. r=valentin
--HG--
extra : rebase_source : fb3c158cb5b047f3a16360379ee3a3071b0ae488
2018-11-30 18:41:45 +01:00
Tooru Fujisawa 7983faeb5d 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
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
Andreea Pavel 50096c9761 Backed out 3 changesets (bug 1509493) for failng win xpcshell at netwerk/test/unit/test_mozTXTToHTMLConv.js on a CLOSED TREE
Backed out changeset 05562b7d3eff (bug 1509493)
Backed out changeset 6498765e1d65 (bug 1509493)
Backed out changeset 5e4a5cf81c26 (bug 1509493)
2018-11-29 20:54:22 +02:00
Fabian Henneke 51d3d2f9c6 Bug 1509493 - Fix markup generation for nested email addresses r=BenB
In mozTXTToHTMLConv, FindURL is not able to correctly calculate replaceBefore for nested email addresses/URLs such as john@doe.org}john@doe.org. As a workaround, we keep track of the end of the last URL HTML markup in the output string and skip any subsequent URLs whose replaceBefore would cut into this markup.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 15:49:29 +00:00
Fabian Henneke a898f276d0 Bug 1509493 - Do not include unmatched ')' in email addresses r=BenB
Differential Revision: https://phabricator.services.mozilla.com/D13390

--HG--
extra : moz-landing-system : lando
2018-11-29 14:04:57 +00:00
Fabian Henneke bc7746f52d Bug 1509493 - Provide basic test coverage for email address parsing r=BenB
Differential Revision: https://phabricator.services.mozilla.com/D13389

--HG--
extra : moz-landing-system : lando
2018-11-29 15:49:31 +00:00