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

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

Issue 2804023004: Replace ASSERT with DCHECK in modules/fetch. (Closed)
Patch Set: Created 3 years, 8 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
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 "modules/fetch/Request.h" 5 #include "modules/fetch/Request.h"
6 6
7 #include "bindings/core/v8/Dictionary.h" 7 #include "bindings/core/v8/Dictionary.h"
8 #include "bindings/core/v8/V8PrivateProperty.h" 8 #include "bindings/core/v8/V8PrivateProperty.h"
9 #include "core/dom/Document.h" 9 #include "core/dom/Document.h"
10 #include "core/dom/ExecutionContext.h" 10 #include "core/dom/ExecutionContext.h"
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 if (!request->integrity().isEmpty()) { 325 if (!request->integrity().isEmpty()) {
326 exceptionState.throwTypeError( 326 exceptionState.throwTypeError(
327 "The integrity attribute is unsupported in no-cors mode."); 327 "The integrity attribute is unsupported in no-cors mode.");
328 return nullptr; 328 return nullptr;
329 } 329 }
330 // "Set |r|'s Headers object's guard to "request-no-cors"." 330 // "Set |r|'s Headers object's guard to "request-no-cors"."
331 r->getHeaders()->setGuard(Headers::RequestNoCORSGuard); 331 r->getHeaders()->setGuard(Headers::RequestNoCORSGuard);
332 } 332 }
333 // "Fill |r|'s Headers object with |headers|. Rethrow any exceptions." 333 // "Fill |r|'s Headers object with |headers|. Rethrow any exceptions."
334 if (init.headers) { 334 if (init.headers) {
335 ASSERT(init.headersDictionary.isUndefinedOrNull()); 335 DCHECK(init.headersDictionary.isUndefinedOrNull());
336 r->getHeaders()->fillWith(init.headers.get(), exceptionState); 336 r->getHeaders()->fillWith(init.headers.get(), exceptionState);
337 } else if (!init.headersDictionary.isUndefinedOrNull()) { 337 } else if (!init.headersDictionary.isUndefinedOrNull()) {
338 r->getHeaders()->fillWith(init.headersDictionary, exceptionState); 338 r->getHeaders()->fillWith(init.headersDictionary, exceptionState);
339 } else { 339 } else {
340 ASSERT(headers); 340 DCHECK(headers);
341 r->getHeaders()->fillWith(headers, exceptionState); 341 r->getHeaders()->fillWith(headers, exceptionState);
342 } 342 }
343 if (exceptionState.hadException()) 343 if (exceptionState.hadException())
344 return nullptr; 344 return nullptr;
345 345
346 // "If either |init|'s body member is present or |temporaryBody| is 346 // "If either |init|'s body member is present or |temporaryBody| is
347 // non-null, and |request|'s method is `GET` or `HEAD`, throw a TypeError. 347 // non-null, and |request|'s method is `GET` or `HEAD`, throw a TypeError.
348 if (init.body || temporaryBody || 348 if (init.body || temporaryBody ||
349 request->credentials() == WebURLRequest::FetchCredentialsModePassword) { 349 request->credentials() == WebURLRequest::FetchCredentialsModePassword) {
350 if (request->method() == HTTPNames::GET || 350 if (request->method() == HTTPNames::GET ||
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 } 419 }
420 420
421 // "Return |r|." 421 // "Return |r|."
422 return r; 422 return r;
423 } 423 }
424 424
425 Request* Request::create(ScriptState* scriptState, 425 Request* Request::create(ScriptState* scriptState,
426 const RequestInfo& input, 426 const RequestInfo& input,
427 const Dictionary& init, 427 const Dictionary& init,
428 ExceptionState& exceptionState) { 428 ExceptionState& exceptionState) {
429 ASSERT(!input.isNull()); 429 DCHECK(!input.isNull());
430 if (input.isUSVString()) 430 if (input.isUSVString())
431 return create(scriptState, input.getAsUSVString(), init, exceptionState); 431 return create(scriptState, input.getAsUSVString(), init, exceptionState);
432 return create(scriptState, input.getAsRequest(), init, exceptionState); 432 return create(scriptState, input.getAsRequest(), init, exceptionState);
433 } 433 }
434 434
435 Request* Request::create(ScriptState* scriptState, 435 Request* Request::create(ScriptState* scriptState,
436 const String& input, 436 const String& input,
437 ExceptionState& exceptionState) { 437 ExceptionState& exceptionState) {
438 return create(scriptState, input, Dictionary(), exceptionState); 438 return create(scriptState, input, Dictionary(), exceptionState);
439 } 439 }
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 return "xslt"; 570 return "xslt";
571 } 571 }
572 ASSERT_NOT_REACHED(); 572 ASSERT_NOT_REACHED();
573 return ""; 573 return "";
574 } 574 }
575 575
576 String Request::referrer() const { 576 String Request::referrer() const {
577 // "The referrer attribute's getter must return the empty string if 577 // "The referrer attribute's getter must return the empty string if
578 // request's referrer is no referrer, "about:client" if request's referrer 578 // request's referrer is no referrer, "about:client" if request's referrer
579 // is client and request's referrer, serialized, otherwise." 579 // is client and request's referrer, serialized, otherwise."
580 ASSERT(FetchRequestData::noReferrerString() == AtomicString()); 580 DCHECK(FetchRequestData::noReferrerString() == AtomicString());
tkent 2017/04/08 02:29:54 Use DCHECK_EQ if it doesn't cause a build failure.
581 ASSERT(FetchRequestData::clientReferrerString() == 581 DCHECK(FetchRequestData::clientReferrerString() ==
tkent 2017/04/08 02:29:54 Use DCHECK_EQ if it doesn't cause a build failure.
582 AtomicString("about:client")); 582 AtomicString("about:client"));
583 return m_request->referrerString(); 583 return m_request->referrerString();
584 } 584 }
585 585
586 String Request::getReferrerPolicy() const { 586 String Request::getReferrerPolicy() const {
587 switch (m_request->getReferrerPolicy()) { 587 switch (m_request->getReferrerPolicy()) {
588 case ReferrerPolicyAlways: 588 case ReferrerPolicyAlways:
589 return "unsafe-url"; 589 return "unsafe-url";
590 case ReferrerPolicyDefault: 590 case ReferrerPolicyDefault:
591 return ""; 591 return "";
592 case ReferrerPolicyNoReferrerWhenDowngrade: 592 case ReferrerPolicyNoReferrerWhenDowngrade:
593 return "no-referrer-when-downgrade"; 593 return "no-referrer-when-downgrade";
594 case ReferrerPolicyNever: 594 case ReferrerPolicyNever:
595 return "no-referrer"; 595 return "no-referrer";
596 case ReferrerPolicyOrigin: 596 case ReferrerPolicyOrigin:
597 return "origin"; 597 return "origin";
598 case ReferrerPolicyOriginWhenCrossOrigin: 598 case ReferrerPolicyOriginWhenCrossOrigin:
599 return "origin-when-cross-origin"; 599 return "origin-when-cross-origin";
600 case ReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin: 600 case ReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin:
601 ASSERT(RuntimeEnabledFeatures::reducedReferrerGranularityEnabled()); 601 DCHECK(RuntimeEnabledFeatures::reducedReferrerGranularityEnabled());
602 return "no-referrer-when-downgrade-origin-when-cross-origin"; 602 return "no-referrer-when-downgrade-origin-when-cross-origin";
603 } 603 }
604 ASSERT_NOT_REACHED(); 604 ASSERT_NOT_REACHED();
605 return String(); 605 return String();
606 } 606 }
607 607
608 String Request::mode() const { 608 String Request::mode() const {
609 // "The mode attribute's getter must return the value corresponding to the 609 // "The mode attribute's getter must return the value corresponding to the
610 // first matching statement, switching on request's mode:" 610 // first matching statement, switching on request's mode:"
611 switch (m_request->mode()) { 611 switch (m_request->mode()) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 } 667 }
668 668
669 FetchRequestData* request = m_request->clone(scriptState); 669 FetchRequestData* request = m_request->clone(scriptState);
670 refreshBody(scriptState); 670 refreshBody(scriptState);
671 Headers* headers = Headers::create(request->headerList()); 671 Headers* headers = Headers::create(request->headerList());
672 headers->setGuard(m_headers->getGuard()); 672 headers->setGuard(m_headers->getGuard());
673 return new Request(scriptState, request, headers); 673 return new Request(scriptState, request, headers);
674 } 674 }
675 675
676 FetchRequestData* Request::passRequestData(ScriptState* scriptState) { 676 FetchRequestData* Request::passRequestData(ScriptState* scriptState) {
677 ASSERT(!bodyUsed()); 677 DCHECK(!bodyUsed());
678 FetchRequestData* data = m_request->pass(scriptState); 678 FetchRequestData* data = m_request->pass(scriptState);
679 refreshBody(scriptState); 679 refreshBody(scriptState);
680 // |data|'s buffer('s js wrapper) has no retainer, but it's OK because 680 // |data|'s buffer('s js wrapper) has no retainer, but it's OK because
681 // the only caller is the fetch function and it uses the body buffer 681 // the only caller is the fetch function and it uses the body buffer
682 // immediately. 682 // immediately.
683 return data; 683 return data;
684 } 684 }
685 685
686 bool Request::hasBody() const { 686 bool Request::hasBody() const {
687 return bodyBuffer(); 687 return bodyBuffer();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 .set(request.As<v8::Object>(), bodyBuffer); 732 .set(request.As<v8::Object>(), bodyBuffer);
733 } 733 }
734 734
735 DEFINE_TRACE(Request) { 735 DEFINE_TRACE(Request) {
736 Body::trace(visitor); 736 Body::trace(visitor);
737 visitor->trace(m_request); 737 visitor->trace(m_request);
738 visitor->trace(m_headers); 738 visitor->trace(m_headers);
739 } 739 }
740 740
741 } // namespace blink 741 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698