Commit Graph

293 Commits

Author SHA1 Message Date
Jeff Walden
b4b2008904 Bug 1660555 - Add a |Signal()| accessor to |AbortFollower| rather than directly accessing an inherited, protected member. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D93888
2020-10-29 08:03:27 +00:00
Jeff Walden
4106a2b71e Bug 1660555 - Split AbortFollower::Abort into AbortFollower::RunAbortAlgorithm and AbortSignalImpl::SignalAbort functions for readability. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D92321
2020-10-22 07:42:18 +00:00
Jeff Walden
b7ab77b7ee Bug 1660954. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88113
2020-09-21 22:11:19 +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
Alexandre Poirot
ee3920790d Bug 1620966 - Move DocShell.watchedByDevtools to BrowsingContext and rename it to watchedByDevTools. r=nika,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D66037
2020-05-12 09:18:26 +00:00
Simon Giesecke
b728921956 Bug 1627892 - Use SafeRefPtr for Request. r=dom-workers-and-storage-reviewers,perry
Differential Revision: https://phabricator.services.mozilla.com/D70390
2020-05-11 12:13:48 +00:00
Simon Giesecke
2cae58d29d Bug 1627892 - Make InternalRequest derive from SafeRefCounted. r=dom-workers-and-storage-reviewers,perry
Differential Revision: https://phabricator.services.mozilla.com/D69958
2020-05-11 12:10:53 +00:00
Perry Jiang
65dd18898a Bug 1618546 - give worker debugger globals their own clients r=asuth,webidl,smaug
- Worker debugger globals gets a client with a null principal
- Ensure globals are created before script loads
- Introduce WorkerGlobalScopeBase to share code
- Transfer ClientSource ownership from WorkerPrivate to worker globals
- Require getting clients from the globals instead of WorkerPrivate with the
  exception of getting the reserved client before the non-debugger global is
  created

Differential Revision: https://phabricator.services.mozilla.com/D68936
2020-04-21 06:50:53 +00:00
Tim Huang
37f162c69d Bug 1616570 - Part 1: Rename CookieSettings to CookieJarSettings. r=Ehsan
Given that we are going to add ContentBlockingAllowList in
CookieSettings, so CookieSettings will be responsible for more stuff than the
cookie behavior and cookie permission. We should use a proper name to
reflect the purpose of it. The name 'CookieSettings' is misleading that
this is only for cookie related stuff. So, we decide to rename
'CookieSettins' to 'CookieJarSettings' which serves better meaning here.

Differential Revision: https://phabricator.services.mozilla.com/D63935
2020-03-04 08:59:08 +00:00
Simon Giesecke
2a907b937d Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/fetch. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63165
2020-02-20 16:53:06 +00:00
Gabriele Svelto
eb403b8785 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ 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/D55442
2019-12-06 09:24:56 +00:00
Dorel Luca
67889e1013 Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
dc6fa2e86c Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ 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/D55442
2019-12-04 15:01:19 +00:00
Olli Pettay
1870f57250 Bug 1598775 - Ensure postMessage related optimizations during page load work also in Fission, r=farre
Bug 1534012 added a test for postMessage during load and that revealed that mLoading flag isn't always updated
soon enough, so add BrowsingContext::IsLoading which checks also possible local loading status.

Depends on D54754

Differential Revision: https://phabricator.services.mozilla.com/D54836
2019-11-30 21:13:54 +00:00
Olli Pettay
c26c2348f4 Bug 1599467 - Make XHR and Fetch to use deprioritized loading while the top level page is loading in Fission, r=farre
The patch moves DeprioritizedLoadRunner handling from top level inner window to top level browsing context.

Differential Revision: https://phabricator.services.mozilla.com/D54754
2019-11-30 21:13:24 +00:00
Ehsan Akhgari
cd078cd555 Bug 1593162 - Remove the expired telemetry probes added in bug 1127552; r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D51335
2019-11-01 13:43:15 +00:00
Boris Zbarsky
b92f406f4d Bug 1581278 part 2. Add convenience methods for rejecting promises with various types of spec exceptions. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D46383
2019-09-19 13:02:39 +00:00
Kershaw Chang
a798ffae80 Bug 1577196 - Create a new load group if GetDocumentLoadGroup failed r=baku
When GetDocumentLoadGroup returns a null load group, we should create a new one.

Differential Revision: https://phabricator.services.mozilla.com/D44831
2019-09-09 15:54:57 +00:00
Kershaw Chang
3e5879785d Bug 1576183 - Don't access worker promise if already shutdown r=baku
The reason of the assertion failure is that WorkerFetchResolver::Shutdown is already called, but we still call WorkerRun from WorkerFetchResponseEndRunnable::Cancel [1].
This patch adds a flag mIsShutdown to avoid doing WorkerRun if mIsShutdown is true.


[1] https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/dom/fetch/Fetch.cpp#733

Differential Revision: https://phabricator.services.mozilla.com/D43777
2019-08-28 20:21:50 +00:00
Ehsan Akhgari
72bfb10c8a Bug 1575335 - Avoid creating an extra copy of the file name URI when checking whether the currently running script is from a tracker; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D42706
2019-08-20 20:58:57 +00:00
Andrea Marchesini
22632f00d8 Bug 1567419 - Ensure the BodyStreamHolder has a valid stream always, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D38814
2019-07-23 23:23:41 +00:00
Andrea Marchesini
19103e9525 Bug 1564821 - Response must call JS::ReadableStreamReleaseCCObject() if ::GetBody() fails, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37711
2019-07-12 23:43:16 +00:00
Brian Hackett
424da5b81a Bug 1551256 - Show net monitor stacks for fetch() calls from workers, r=bzbarsky. 2019-06-15 06:46:22 -10:00
Olli Pettay
44d0e14caf Bug 1538516 - Resolve the Promise returned by fetch() later during page loads, r=baku
The patch depends on https://bugzilla.mozilla.org/show_bug.cgi?id=1558215

Depends on D34366

Differential Revision: https://phabricator.services.mozilla.com/D34367
2019-06-12 18:37:49 +00:00
Andrea Marchesini
00c0d1a9fe Bug 1557121 - Implement Blob.text()/Blob.arrayBuffer()/Blob.stream() - part 3 - Rename FetchBodyConsumer to BodyConsumer, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D33828
2019-06-07 14:16:59 +00:00
Andrea Marchesini
2612cb7886 Bug 1557121 - Implement Blob.text()/Blob.arrayBuffer()/Blob.stream() - part 2 - FetchBodyConsumer doesn't need to be a template class, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D33827
2019-06-07 13:09:32 +00:00
Andrea Marchesini
5e3800dd0f Bug 1557121 - Implement Blob.text()/Blob.arrayBuffer()/Blob.stream() - part 1 - Rename FetchStream to BodyStream, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D33826
2019-06-07 13:09:12 +00:00
Thomas Wisniewski
136622464a Bug 1541598 - Have FetchBody::SetMimeType convert from ByteStrings to UTF8 CStrings to not corrupt Unicode values; r=hsivonen
Have FetchBody::SetMimeType convert from ByteStrings to UTF8 CStrings to not corrupt Unicode values

Differential Revision: https://phabricator.services.mozilla.com/D26011
2019-04-14 15:02:39 +00:00
Andrea Marchesini
caf6c3f33f Bug 1532553 - Use AutoRealm before calling JS::ReadableStreamGetMode(), r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D23117
2019-03-12 14:02:13 +00:00
Andrea Marchesini
3ce93fb8e0 Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 12 - nsICookieSettings for the channel creation, r=ckerschb,asuth,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21538
2019-03-08 09:04:11 +00:00
Ciure Andrei
899292bc3f Backed out 16 changesets (bug 1525245) for perma failing test_document_cookie.html CLOSED TREE
Backed out changeset 3fd27215698f (bug 1525245)
Backed out changeset d9a9e8e77873 (bug 1525245)
Backed out changeset 0e6f7be92e3f (bug 1525245)
Backed out changeset 6790802e2fa5 (bug 1525245)
Backed out changeset a5a9e01116ed (bug 1525245)
Backed out changeset 66e19a0c38dd (bug 1525245)
Backed out changeset fb90d51ba853 (bug 1525245)
Backed out changeset 4772db3625b3 (bug 1525245)
Backed out changeset 9affaf0cb998 (bug 1525245)
Backed out changeset a91b7ebe8bdd (bug 1525245)
Backed out changeset c2a13a7480e1 (bug 1525245)
Backed out changeset abe4482fa137 (bug 1525245)
Backed out changeset b3920c0bcf84 (bug 1525245)
Backed out changeset 0821b81f2724 (bug 1525245)
Backed out changeset 70bed2ad7899 (bug 1525245)
Backed out changeset 5f72ba232cc8 (bug 1525245)
2019-03-07 17:54:18 +02:00
Andrea Marchesini
83054c5a7a Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 12 - nsICookieSettings for the channel creation, r=ckerschb,asuth,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21538
2019-03-07 10:21:15 +00:00
Dorel Luca
9a275b4283 Backed out 16 changesets (bug 1525245) for Android failures. CLOSED TREE
Backed out changeset 9f8a1b410320 (bug 1525245)
Backed out changeset 0ef284a9a1d5 (bug 1525245)
Backed out changeset 835e5f642a03 (bug 1525245)
Backed out changeset 362f5a8d033c (bug 1525245)
Backed out changeset 9da3ab33cf67 (bug 1525245)
Backed out changeset 6aacd2d6e835 (bug 1525245)
Backed out changeset 8ff9e8f45e02 (bug 1525245)
Backed out changeset 2020227181cc (bug 1525245)
Backed out changeset fc3c64c330b9 (bug 1525245)
Backed out changeset 2762bf88e050 (bug 1525245)
Backed out changeset ffc10fdc50a6 (bug 1525245)
Backed out changeset bb6ade1207d7 (bug 1525245)
Backed out changeset 1875eb5085e4 (bug 1525245)
Backed out changeset 7e4f67a6d6f1 (bug 1525245)
Backed out changeset e671fc9581eb (bug 1525245)
Backed out changeset b89f5def8d0d (bug 1525245)
2019-03-06 21:07:49 +02:00
Andrea Marchesini
88186754be Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 12 - nsICookieSettings for the channel creation, r=ckerschb,asuth,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21538
2019-03-06 17:04:06 +00:00
Emilio Cobos Álvarez
dc336a73ba Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +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
Andrea Marchesini
a14fa6a1b1 Bug 1438945 - Part 9: RemoteWorker in SharedWorkerManager. r=asuth 2018-11-19 15:18:33 -08:00
Andrea Marchesini
187f0f344a Bug 1438945 - Part 4: errors and communications. r=asuth 2018-11-19 15:18:21 -08:00
Andrea Marchesini
f43567d65d Bug 1500879 - Fetch should not consume Request/Response with null-body, r=asuth
The fetch spec treats null bodies specially.  Their Body cannot become
disturbed or locked and a fresh empty ReadableStream is returned whenever an
attempt is made to consume the body.  We currently fail a number of WPT tests
in this area because we do mark the body consumed as exposed via bodyUsed.
2018-11-06 14:48:07 +01:00
Andrea Marchesini
36a423c3d1 Bug 1486698 - Update Fetch+Stream implementation to throw when the stream is disturbed or locked, r=bz
In this patch, I went through any place in DOM fetch code, where there are
ReadableStreams and update the locked, disturbed, readable checks.

Because we expose streams more often, we need an extra care in the use of
ErrorResult objects. JS streams can now throw exceptions and we need to handle
them.

This patch also fixes a bug in FileStreamReader::CloseAndRelease() which could
be called in case mReader creation fails.
2018-10-31 18:30:18 +01:00
Andrea Marchesini
57bd031744 Bug 1498510 - Move nsICSPEventListener out of CSP object, r=ckerschb 2018-10-23 08:17:13 +02:00
Till Schneidereit
c08d9f23d7 Bug 1385890 - Fix Streams implementation in multiple-global uses. r=baku,tcampbell,jorendorff
Streams have multiple parts that can be JS objects from different compartments.
For example, the [[reader]] internal slot of a stream can point to a reader
object in another compartment.

This patch makes the ReadableStream implementation robust against mixing and
matching stream-related objects and methods from different globals.

This also removes ReadableStreamBYOBReader and ReadableStreamBYOBRequest for
now, with a view toward enabling basic ReadableStream features by default in
bug 1389628.

Differential Revision: https://phabricator.services.mozilla.com/D8450
2018-10-11 14:18:43 -05:00
Thomas Wisniewski
28e3006ebc Bug 1491504 - shortcut blob responses from XHR and fetch when the URL is a blob URL; r=baku
shortcut blob responses from XHR and fetch when the URL is a blob URL

Differential Revision: https://phabricator.services.mozilla.com/D7253
2018-10-06 17:34:24 +00:00
Ciure Andrei
4fc1114efc Backed out changeset c5ac0cb25238 (bug 1491504) for FetchConsumer.cpp build bustages CLOSED TREE 2018-10-06 02:58:44 +03:00
Thomas Wisniewski
f232095b69 Bug 1491504 - shortcut blob responses from XHR and fetch when the URL is a blob URL; r=baku
shortcut blob responses from XHR and fetch when the URL is a blob URL

Differential Revision: https://phabricator.services.mozilla.com/D7253
2018-10-05 20:23:55 +00:00
Thomas Wisniewski
d11a7a409d Bug 1482752 - Have Fetch bodies use File blobs for local files instead of regular blobs. r=baku
Have Fetch bodies use File blobs for local files instead of regular blobs.

Differential Revision: https://phabricator.services.mozilla.com/D3183
2018-09-11 19:13:15 +00:00
Cosmin Sabou
2f27839c75 Backed out changeset 68805212630a (bug 1482752) for causing build bustages on dom/fetch. CLOSED TREE 2018-09-08 20:46:04 +03:00
Thomas Wisniewski
611f5fbc99 Bug 1482752 - Have Fetch bodies use File blobs for local files instead of regular blobs. r=baku
Have Fetch bodies use File blobs for local files instead of regular blobs.

Differential Revision: https://phabricator.services.mozilla.com/D3183
2018-09-08 14:34:37 +00:00
Andrea Marchesini
51946984e4 Bug 1488427 - AbortSignal::Unfollow() must be called when unlinked, r=smaug 2018-09-07 11:05:47 +02:00
Andrea Marchesini
b7196cdaf0 Bug 1478101 - Split AbortSignal in 2 classes: AbortSignal and AbortSignalImpl, r=bz 2018-08-26 14:16:21 +02:00