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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/RequestInit.cpp

Issue 1455113002: Refactor RequestInit::areAnyMembersSet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "modules/fetch/RequestInit.h" 6 #include "modules/fetch/RequestInit.h"
7 7
8 #include "bindings/core/v8/Dictionary.h" 8 #include "bindings/core/v8/Dictionary.h"
9 #include "bindings/core/v8/V8ArrayBuffer.h" 9 #include "bindings/core/v8/V8ArrayBuffer.h"
10 #include "bindings/core/v8/V8ArrayBufferView.h" 10 #include "bindings/core/v8/V8ArrayBufferView.h"
11 #include "bindings/core/v8/V8Binding.h" 11 #include "bindings/core/v8/V8Binding.h"
12 #include "bindings/core/v8/V8Blob.h" 12 #include "bindings/core/v8/V8Blob.h"
13 #include "bindings/core/v8/V8FormData.h" 13 #include "bindings/core/v8/V8FormData.h"
14 #include "core/fileapi/Blob.h" 14 #include "core/fileapi/Blob.h"
15 #include "core/html/FormData.h" 15 #include "core/html/FormData.h"
16 #include "modules/fetch/FetchBlobDataConsumerHandle.h" 16 #include "modules/fetch/FetchBlobDataConsumerHandle.h"
17 #include "modules/fetch/FetchFormDataConsumerHandle.h" 17 #include "modules/fetch/FetchFormDataConsumerHandle.h"
18 #include "modules/fetch/Headers.h" 18 #include "modules/fetch/Headers.h"
19 #include "platform/blob/BlobData.h" 19 #include "platform/blob/BlobData.h"
20 #include "platform/network/EncodedFormData.h" 20 #include "platform/network/EncodedFormData.h"
21 #include "platform/weborigin/ReferrerPolicy.h" 21 #include "platform/weborigin/ReferrerPolicy.h"
22 22
23 namespace blink { 23 namespace blink {
24 24
25 RequestInit::RequestInit(ExecutionContext* context, const Dictionary& options, E xceptionState& exceptionState) 25 RequestInit::RequestInit(ExecutionContext* context, const Dictionary& options, E xceptionState& exceptionState)
26 : areAnyMembersSet(false) 26 : areAnyMembersSet(false)
27 { 27 {
28 areAnyMembersSet = DictionaryHelper::get(options, "method", method) || areAn yMembersSet; 28 areAnyMembersSet |= DictionaryHelper::get(options, "method", method);
29 areAnyMembersSet = DictionaryHelper::get(options, "headers", headers) || are AnyMembersSet; 29 areAnyMembersSet |= DictionaryHelper::get(options, "headers", headers);
30 if (!headers) { 30 if (!headers) {
31 Vector<Vector<String>> headersVector; 31 Vector<Vector<String>> headersVector;
32 if (DictionaryHelper::get(options, "headers", headersVector, exceptionSt ate)) { 32 if (DictionaryHelper::get(options, "headers", headersVector, exceptionSt ate)) {
33 headers = Headers::create(headersVector, exceptionState); 33 headers = Headers::create(headersVector, exceptionState);
34 areAnyMembersSet = true; 34 areAnyMembersSet = true;
35 } else { 35 } else {
36 areAnyMembersSet = DictionaryHelper::get(options, "headers", headers Dictionary) || areAnyMembersSet; 36 areAnyMembersSet |= DictionaryHelper::get(options, "headers", header sDictionary);
37 } 37 }
38 } 38 }
39 areAnyMembersSet = DictionaryHelper::get(options, "mode", mode) || areAnyMem bersSet; 39 areAnyMembersSet |= DictionaryHelper::get(options, "mode", mode);
40 areAnyMembersSet = DictionaryHelper::get(options, "credentials", credentials ) || areAnyMembersSet; 40 areAnyMembersSet |= DictionaryHelper::get(options, "credentials", credential s);
41 areAnyMembersSet = DictionaryHelper::get(options, "redirect", redirect) || a reAnyMembersSet; 41 areAnyMembersSet |= DictionaryHelper::get(options, "redirect", redirect);
42 AtomicString referrerString; 42 AtomicString referrerString;
43 bool isReferrerStringSet = DictionaryHelper::get(options, "referrer", referr erString); 43 bool isReferrerStringSet = DictionaryHelper::get(options, "referrer", referr erString);
44 areAnyMembersSet = areAnyMembersSet || isReferrerStringSet; 44 areAnyMembersSet |= isReferrerStringSet;
45 areAnyMembersSet = DictionaryHelper::get(options, "integrity", integrity) || areAnyMembersSet; 45 areAnyMembersSet |= DictionaryHelper::get(options, "integrity", integrity);
46 46
47 v8::Local<v8::Value> v8Body; 47 v8::Local<v8::Value> v8Body;
48 bool isBodySet = DictionaryHelper::get(options, "body", v8Body); 48 bool isBodySet = DictionaryHelper::get(options, "body", v8Body);
49 areAnyMembersSet = areAnyMembersSet || isBodySet; 49 areAnyMembersSet |= isBodySet;
50 50
51 if (areAnyMembersSet) { 51 if (areAnyMembersSet) {
52 // If any of init's members are present, unset request's 52 // If any of init's members are present, unset request's
53 // omit-Origin-header flag, set request's referrer to "client", 53 // omit-Origin-header flag, set request's referrer to "client",
54 // and request's referrer policy to the empty string. 54 // and request's referrer policy to the empty string.
55 // 55 //
56 // We need to use "about:client" instead of |clientReferrerString|, 56 // We need to use "about:client" instead of |clientReferrerString|,
57 // because "about:client" => |clientReferrerString| conversion is done 57 // because "about:client" => |clientReferrerString| conversion is done
58 // in Request::createRequestWithRequestOrString. 58 // in Request::createRequestWithRequestOrString.
59 referrer = Referrer("about:client", ReferrerPolicyDefault); 59 referrer = Referrer("about:client", ReferrerPolicyDefault);
(...skipping 18 matching lines...) Expand all
78 // FormDataEncoder::generateUniqueBoundaryString. 78 // FormDataEncoder::generateUniqueBoundaryString.
79 contentType = AtomicString("multipart/form-data; boundary=", AtomicStrin g::ConstructFromLiteral) + formData->boundary().data(); 79 contentType = AtomicString("multipart/form-data; boundary=", AtomicStrin g::ConstructFromLiteral) + formData->boundary().data();
80 body = FetchFormDataConsumerHandle::create(context, formData.release()); 80 body = FetchFormDataConsumerHandle::create(context, formData.release());
81 } else if (v8Body->IsString()) { 81 } else if (v8Body->IsString()) {
82 contentType = "text/plain;charset=UTF-8"; 82 contentType = "text/plain;charset=UTF-8";
83 body = FetchFormDataConsumerHandle::create(toUSVString(isolate, v8Body, exceptionState)); 83 body = FetchFormDataConsumerHandle::create(toUSVString(isolate, v8Body, exceptionState));
84 } 84 }
85 } 85 }
86 86
87 } 87 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698