Commit Graph

53 Commits

Author SHA1 Message Date
dimi
1550ed051f Bug 1188822 - Make service-workers/service-worker/fetch-request-resources.https.html pass. r=bkelly 2016-01-25 14:18:29 +08:00
Ehsan Akhgari
23ae521094 Bug 1201664 - Avoid using Request's constructor when creating FetchEvent.request; r=bkelly
This enables us to avoid a number of checks in Request::Constructor
which don't make sense for exposing FetchEvent.request.
2016-01-14 13:08:36 -05:00
Andrea Marchesini
acd95af886 Bug 1231378 - part 2 - Fix uninitialized members of classes in dom/*, r=smaug 2016-01-12 18:16:59 +00:00
Carsten "Tomcat" Book
0461ab0757 Backed out changeset 5f6a58676e87 (bug 1231378) 2016-01-12 15:48:57 +01:00
Andrea Marchesini
70994056c6 Bug 1231378 - part 2 - Fix uninitialized members of classes in dom/*, r=smaug 2016-01-12 13:54:53 +00:00
Ben Kelly
73e8e14638 Bug 1212904 P3 Make FetchDriver look for the channel Tainting value. r=ehsan 2015-10-22 11:07:32 -07:00
Ben Kelly
80696dd50a Bug 1212904 P0 Do not abuse fetch response tainting to create opaqueredirect responses. r=ehsan 2015-10-22 11:07:32 -07:00
Nathan Froyd
9c5965b035 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
Christoph Kerschbaumer
cbde5e8a68 Bug 1048048 - add preload content policy types (r=ehsan) 2015-09-20 14:55:44 -07:00
Wes Kocher
977486c724 Backed out 7 changesets (bug 1048048) for android crashes in various chunks CLOSED TREE
Backed out changeset b5abe23a4ea5 (bug 1048048)
Backed out changeset 4f91b10e8be0 (bug 1048048)
Backed out changeset 450d4a13c90e (bug 1048048)
Backed out changeset 6a727c40eb68 (bug 1048048)
Backed out changeset 88c2333ff745 (bug 1048048)
Backed out changeset 740ab1ecd079 (bug 1048048)
Backed out changeset 02c6d6aef163 (bug 1048048)
2015-09-21 09:08:34 -07:00
Christoph Kerschbaumer
e8832a7091 Bug 1048048 - add preload content policy types (r=ehsan) 2015-09-20 14:55:44 -07:00
Ben Kelly
d6d91b04a2 Bug 1184967 P1 Set RequestMode based on LoadInfo securityMode and client request content policy. r=nsm 2015-09-01 07:58:34 -07:00
Ben Kelly
7120d6562c Bug 1184607 P2 Update Request and Response DOM objects for new redirect model. r=nsm 2015-08-31 14:26:29 -07:00
Antonio de Luna Lopez
de40152198 Bug 1134609 -Make Fetch Request constructor less destructive to input on error r=bkelly 2015-08-10 12:06:00 -07:00
Antonio de Luna Lopez
8eb27fe442 Bug 1110476 - Stripped url fragment from Request::GetUrl() by calling either nsIURI::SetRef() or workers::URL::SetHash() in Request's url getter utility methods. Stripped url fragment from Response::GetUrl() by adding the method InternalRequest::StripFragmentAndSetUrl() which calls nsIURI::SetRef(). Added a test in dom/tests/mochitest/fetch/test_request.js for Request::GetUrl(). Removed manual url stripping from dom/cache/TypeUtils.cpp. r=bkelly 2015-08-13 08:22:19 -07:00
Christoph Kerschbaumer
d26294b1b5 Bug 1191107 - Split TYPE_XMLHTTPREQUEST and TYPE_DATAREQUEST for EventSource (r=sicking,ehsan) 2015-08-06 11:17:24 -07:00
Carsten "Tomcat" Book
3dfe591c94 Backed out 2 changesets (bug 1191107, bug 1180273) for causing xpcshell and m-oth testfailures on a CLOSED TREEi IGNORE IDL
Backed out changeset c5f710ed8718 (bug 1191107)
Backed out changeset d98d82f9981b (bug 1180273)
2015-08-06 08:39:05 +02:00
Christoph Kerschbaumer
02919da4b2 Bug 1191107 - Split TYPE_XMLHTTPREQUEST and TYPE_DATAREQUEST for EventSource - IGNORE IDL (r=sicking,ehsan) 2015-08-05 12:58:05 -07:00
Ehsan Akhgari
eb1370f8cf Bug 1148030 - Correctly reflect object and embed RequestContext values; r=smaug
Note that these elements cannot be intercepted for now.  See bug
1168676 for the background.
2015-07-18 16:44:28 -04:00
Ehsan Akhgari
e940ba267c Bug 1148044 - Correctly reflect frame and iframe RequestContext values; r=smaug 2015-07-18 13:18:06 -04:00
Ben Kelly
ed26f6af2a Bug 1173912 Fail opaque responses for client requests. r=ehsan 2015-07-14 13:11:26 -07:00
Ehsan Akhgari
8d468e4643 Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 18:52:42 -04:00
Ryan VanderMeulen
d7cd04649e Backed out changeset 07bf31cca660 (bug 1148935) for Werror bustage.
CLOSED TREE
2015-06-30 15:53:43 -04:00
Ehsan Akhgari
55da6fb692 Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 15:30:08 -04:00
Ehsan Akhgari
595dac4152 Bug 1147668 - Correctly reflect video and track RequestContext values; r=smaug 2015-06-16 21:18:08 -04:00
Wes Kocher
37b76fbdce Backed out changeset f46a712edf7e (bug 1147668) for assertion failures in test_access_control.html CLOSED TREE 2015-06-16 14:48:15 -07:00
Ehsan Akhgari
d2f13346b5 Bug 1147668 - Correctly reflect video and track RequestContext values; r=smaug 2015-06-16 14:49:58 -04:00
Ehsan Akhgari
172789f850 Backed out changeset 7210dfe7ad78 (Bug 1147668) for test failure 2015-06-15 23:20:02 -04:00
Ehsan Akhgari
c6b95dd678 Bug 1147668 - Correctly reflect video and track RequestContext values; r=smaug 2015-06-15 22:08:06 -04:00
Ehsan Akhgari
2bd9b287e1 Bug 1174868 - Avoid storing RequestContext inside InternalRequest; r=nsm,bkelly,smaug
We are going to infer all RequestContext types from the corresponding
nsContentPolicyType. It no longer makes sense to store both of these on
InternalRequest.  This has the extra benefit that we don't need to worry
about keeping them in sync any more.
2015-06-15 21:36:04 -04:00
Ehsan Akhgari
1d5e845871 Bug 1174849 - Remove "serviceworker" from RequestContext; r=smaug,bkelly 2015-06-15 21:36:01 -04:00
Marcos Caceres
f972ad8544 Bug 1089255 - Implement and test manifest-src CSP directive. r=bholley, r=dveditz, r=ckerschb
---
 dom/base/nsContentPolicyUtils.h                    |   1 +
 dom/base/nsDataDocumentContentPolicy.cpp           |   3 +-
 dom/base/nsIContentPolicy.idl                      |   2 +-
 dom/base/nsIContentPolicyBase.idl                  |   7 +-
 dom/base/nsISimpleContentPolicy.idl                |   2 +-
 dom/base/test/csp/browser.ini                      |   4 +
 dom/base/test/csp/browser_test_web_manifest.js     | 265 +++++++++++++++++++++
 .../csp/browser_test_web_manifest_mixed_content.js |  55 +++++
 dom/base/test/csp/file_CSP_web_manifest.html       |   6 +
 dom/base/test/csp/file_CSP_web_manifest.json       |   1 +
 .../test/csp/file_CSP_web_manifest.json^headers^   |   1 +
 dom/base/test/csp/file_CSP_web_manifest_https.html |   4 +
 dom/base/test/csp/file_CSP_web_manifest_https.json |   1 +
 .../csp/file_CSP_web_manifest_mixed_content.html   |   9 +
 .../test/csp/file_CSP_web_manifest_remote.html     |   8 +
 dom/base/test/csp/file_csp_testserver.sjs          |  14 +-
 dom/base/test/csp/mochitest.ini                    |   7 +
 dom/base/test/moz.build                            |   5 +-
 dom/fetch/InternalRequest.cpp                      |   3 +
 dom/fetch/InternalRequest.h                        |   2 +-
 .../security/nsIContentSecurityPolicy.idl          |   3 +-
 dom/ipc/manifestMessages.js                        |  25 +-
 dom/security/nsCSPUtils.cpp                        |   7 +
 dom/security/nsCSPUtils.h                          |  10 +-
 dom/security/nsMixedContentBlocker.cpp             |   1 +
 dom/webidl/CSPDictionaries.webidl                  |   1 +
 extensions/permissions/nsContentBlocker.cpp        |   6 +-
 netwerk/mime/nsMimeTypes.h                         |   1 +
 28 files changed, 439 insertions(+), 15 deletions(-)
 create mode 100644 dom/base/test/csp/browser.ini
 create mode 100644 dom/base/test/csp/browser_test_web_manifest.js
 create mode 100644 dom/base/test/csp/browser_test_web_manifest_mixed_content.js
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest.html
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest.json
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest.json^headers^
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest_https.html
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest_https.json
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest_mixed_content.html
 create mode 100644 dom/base/test/csp/file_CSP_web_manifest_remote.html
2015-06-02 15:42:19 -04:00
Andrew McCreight
aeff7c99ee Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Andrea Marchesini
eed309c59a Bug 1156632 - Remove unused forward class declarations - patch 3 - dom/{events,xbl,xslt,xul} and others, r=ehsan 2015-04-22 08:29:18 +02:00
Ehsan Akhgari
03a382f926 Bug 1147699 - Part 1: Move Request::mContext to InternalRequest, and determine the mapping to nsContentPolicyType; r=nsm
As the documentation in InternalRequest.h in this patch shows, the
mapping between nsContentPolicyType and RequestContext is not complete
yet.  Because the InternalRequest object needs to know the actual
nsContentPolicyType in order for FetchDriver to be able to use that
information, we can't just store the RequestContext.  Therefore, this
patch adds both of these to InternalRequest.  Once we get to a stage
where we have a complete mapping of these values, we can store only one
of them and compute the other from it.  That requires addressing all of
the TODO comments in the InternalRequest.h documentation.
2015-03-30 08:42:31 -04:00
Andrew Overholt
94f82a7a06 Bug 1127552 - Add Telemetry to Fetch. r=nsm
Note when the Fetch is coming from the main thread or a worker.  Also
count Requests just passed through a Service Worker.
2015-03-27 06:47:00 -04:00
Ehsan Akhgari
660887271f Bug 1126819 - Part 2: Persist the Request.cache attribute in DOM Cache; r=bkelly 2015-03-23 15:46:58 -04:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ben Kelly
751b31eb4c Bug 940273 -Part 1 - Fetch changes from maple twig to support Service Worker Cache. r=nsm,ehsan 2015-03-02 14:08:00 +01:00
Ben Kelly
29ec96ecff Bug 1073231 Implement Request and Response Clone() methods. r=nsm r=baku 2015-02-19 20:24:24 -05:00
Nikhil Marathe
15fdafd322 Bug 1119037 - Add context attribute to Request. r=baku
--HG--
extra : transplant_source : p%1Cr%13%ED%F8%B1%B8D%9B%DC5%C6%EFEQD%CC%A2l
2015-01-27 15:43:09 -08:00
Nikhil Marathe
d6b5272fdf Bug 1119026 - Respect skip serviceworker flag. r=baku,bkelly
--HG--
extra : rebase_source : 569b51af36fd8c19b59c5d01b88dadddc84d4153
2014-12-24 02:08:41 -08:00
Nikhil Marathe
8b4744909f Bug 1112922 - Implement request referrer correctly in Fetch API. r=bkelly
--HG--
extra : rebase_source : 226756fee8b777ed30b07cce0f3c5879d66ccf80
2014-12-23 07:56:19 -08:00
Nikhil Marathe
42cca6e8e5 Bug 1119021 - Implement fetch() redirects correctly. r=bkelly
--HG--
extra : rebase_source : 763d1052fae35a101a6859548b9cb137066dd1c6
2015-01-07 13:47:18 -08:00
Nikhil Marathe
d9e1145f1c Bug 1119021 - CORS support. r=baku,bkelly
Use nsCrossSiteListenerProxy.h helpers to implement CORS support.
Several CORS fixes and lots of CORS tests.

Fixes:
Use empty string stream if response has no stream.
Parse Access-Control-Expose-Headers correctly.
Copy over remaining InternalRequest constructor attributes and set unsafe request flag.
Call FailWithNetworkError() in more cases.
Add non-simple Request headers to unsafeHeaders list for CORS check.
Do not AsyncOpen channel directly when CORS preflight is required.
Fix check for simple request method (was checking the opposite condition).

--HG--
extra : rebase_source : 4b08f6a5959e470394c88249b39464b3b7d20948
2015-01-07 15:50:54 -08:00
Nikhil Marathe
9fc52a9946 Bug 1119044 - Fetch API WebIDL Fixes. r=bkelly,baku
Add various [SameObject]/[NewObject] annotations.
Adds RequestCache enum.
Ensures that cors-with-forced-preflight is translated to cors in getter.
Reject cors-with-forced-preflight as a valid mode value in Request constructor.

--HG--
extra : rebase_source : 3a70d53965def8fe02deec307367b9fda3458935
2015-01-07 16:24:40 -08:00
Ryan VanderMeulen
6a478380c4 Backed out changeset 88970726eb6b (bug 1119044) for Werror bustage. 2015-01-13 13:26:52 -05:00
Nikhil Marathe
b64f2f9031 Bug 1119044 - Fetch API WebIDL Fixes. r=bkelly,baku
Add various [SameObject]/[NewObject] annotations.
Adds RequestCache enum.
Ensures that cors-with-forced-preflight is translated to cors in getter.
Reject cors-with-forced-preflight as a valid mode value in Request constructor.

--HG--
extra : rebase_source : 0b621e13dc5cdbf740fb7d380f96f1380cd5a3eb
extra : amend_source : 7ced6d36ed7212271163c6aa1baacc7d5ca39647
2015-01-07 16:24:40 -08:00
Nikhil Marathe
a4cda06007 Bug 1039846 - Patch 5: FetchDriver basic HTTP fetch support. r=baku,bkelly
This patch has the following big pieces:
HTTP support in FetchDriver, which requires the principal of the caller to be passed.
Managing worker lifetime when a fetch() call is in progress.
Managing worker lifetime when a Response body is being read.
Using nsIPipe to link network streams to Request/Response body streams.
Using nsIInputStreamPump to convert Request/Response body streams into respective types.

Folded:
Bug 1039846 - Fetch API: Use a pipe to immediately start writing HTTP body data to InternalResponse.
Bug 1039846 - Assert bodystream can be set only once
Bug 1039846 - Add feature when handling fetch responses on workers
Bug 1039846 - Try to retarget http fetch delivery off main thread.
Bug 1039846 - Safely consume body using nsIInputStreamPump on workers and main thread.
Bug 1039846 - Retarget body reading to stream transport service.

--HG--
extra : rebase_source : 809c4e799835ad6fd153b673cad70109d257ab6c
2014-12-10 00:51:59 -08:00
Nikhil Marathe
b8edaa21bb Bug 1039846 - Patch 4: FetchDriver with about:, blob: and data: fetching. r=baku
--HG--
extra : transplant_source : o%29%0E%5D%90%11%FA%1ExO%26%7E%9D_%F2%E7%0B%FE%21%B2
2014-10-06 11:01:20 -07:00