Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(656)

Side by Side Diff: Source/modules/serviceworkers/FetchRequestData.cpp

Issue 329853012: [ServiceWorker] Make Request class better conformance with the spec. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: incorporated falken's comment Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "FetchRequestData.h"
7
8 #include "core/dom/ExecutionContext.h"
9 #include "core/fetch/ResourceLoaderOptions.h"
10 #include "core/loader/ThreadableLoader.h"
11 #include "modules/serviceworkers/FetchHeaderList.h"
12 #include "platform/network/ResourceRequest.h"
13 #include "public/platform/WebServiceWorkerRequest.h"
14
15 namespace WebCore {
16
17 PassRefPtr<FetchRequestData> FetchRequestData::create(ExecutionContext* context)
18 {
19 RefPtr<FetchRequestData> request(adoptRef(new FetchRequestData()));
20 request->m_referrer.setClient(context->url().strippedForUseAsReferrer());
21 return request.release();
22 }
23
24 PassRefPtr<FetchRequestData> FetchRequestData::create(const blink::WebServiceWor kerRequest& webRequest)
25 {
26 RefPtr<FetchRequestData> request(adoptRef(new FetchRequestData()));
27 request->m_url = webRequest.url();
28 request->m_method = webRequest.method();
29 for (size_t i = 0; i < webRequest.headerList().size(); ++i) {
30 request->m_headerList->append(webRequest.headerList()[i]->first, webRequ est.headerList()[i]->second);
31 }
32 request->m_referrer.setURL(webRequest.referrer());
33 return request.release();
34 }
35
36 PassRefPtr<FetchRequestData> FetchRequestData::createRestrictedCopy(ExecutionCon text* context, PassRefPtr<SecurityOrigin> origin) const
37 {
38 // "To make a restricted copy of a request |request|, run these steps:"
39 // "1. Let |r| be a new request whose url is |request|'s url, method is
40 // |request|'s method, header list is a copy of |request|'s header list,
41 // body is a tee of |request|'s body, client is entry settings object's
42 // global object, origin is entry settings object's origin, referrer is
43 // |client|, context is |connect|, mode is |request|'s mode, and credentials
44 // mode is |request|'s credentials mode."
falken 2014/07/04 05:43:40 nit: I would just enclose the whole comment in a s
horo 2014/07/04 08:00:38 Done.
45 RefPtr<FetchRequestData> request = adoptRef(new FetchRequestData());
46 request->m_url = m_url;
47 request->m_method = m_method;
48 request->m_headerList = m_headerList->createCopy();
49 // FIXME: Support body.
50 request->m_origin = origin;
51 request->m_referrer.setClient(context->url().strippedForUseAsReferrer());
52 request->m_context = ConnectContext;
53 request->m_mode = m_mode;
54 request->m_credentials = m_credentials;
55 // "2. Return |r|."
56 return request.release();
57 }
58
59 FetchRequestData::~FetchRequestData()
60 {
61 }
62
63 FetchRequestData::FetchRequestData()
64 : m_method("GET")
65 , m_headerList(FetchHeaderList::create())
66 , m_unsafeRequestFlag(false)
67 , m_context(NullContext)
68 , m_sameOriginDataURLFlag(false)
69 , m_mode(NoCORSMode)
70 , m_credentials(OmitCredentials)
71 , m_responseTainting(BasicTainting)
72 {
73 }
74
75 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698