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

Side by Side Diff: Source/platform/network/HTTPParsers.cpp

Issue 858663002: Fix template angle bracket syntax in platform (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 11 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 /* 1 /*
2 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) 2 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org)
3 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 3 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
4 * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ 4 * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
5 * Copyright (C) 2009 Google Inc. All rights reserved. 5 * Copyright (C) 2009 Google Inc. All rights reserved.
6 * Copyright (C) 2011 Apple Inc. All Rights Reserved. 6 * Copyright (C) 2011 Apple Inc. All Rights Reserved.
7 * 7 *
8 * Redistribution and use in source and binary forms, with or without 8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions 9 * modification, are permitted provided that the following conditions
10 * are met: 10 * are met:
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 static bool isControlCharacter(UChar c) 741 static bool isControlCharacter(UChar c)
742 { 742 {
743 return c < ' ' || c == 127; 743 return c < ' ' || c == 127;
744 } 744 }
745 745
746 static inline String trimToNextSeparator(const String& str) 746 static inline String trimToNextSeparator(const String& str)
747 { 747 {
748 return str.substring(0, str.find(isCacheHeaderSeparator)); 748 return str.substring(0, str.find(isCacheHeaderSeparator));
749 } 749 }
750 750
751 static void parseCacheHeader(const String& header, Vector<pair<String, String> > & result) 751 static void parseCacheHeader(const String& header, Vector<pair<String, String>>& result)
752 { 752 {
753 const String safeHeader = header.removeCharacters(isControlCharacter); 753 const String safeHeader = header.removeCharacters(isControlCharacter);
754 unsigned max = safeHeader.length(); 754 unsigned max = safeHeader.length();
755 for (unsigned pos = 0; pos < max; /* pos incremented in loop */) { 755 for (unsigned pos = 0; pos < max; /* pos incremented in loop */) {
756 size_t nextCommaPosition = safeHeader.find(',', pos); 756 size_t nextCommaPosition = safeHeader.find(',', pos);
757 size_t nextEqualSignPosition = safeHeader.find('=', pos); 757 size_t nextEqualSignPosition = safeHeader.find('=', pos);
758 if (nextEqualSignPosition != kNotFound && (nextEqualSignPosition < nextC ommaPosition || nextCommaPosition == kNotFound)) { 758 if (nextEqualSignPosition != kNotFound && (nextEqualSignPosition < nextC ommaPosition || nextCommaPosition == kNotFound)) {
759 // Get directive name, parse right hand side of equal sign, then add to map 759 // Get directive name, parse right hand side of equal sign, then add to map
760 String directive = trimToNextSeparator(safeHeader.substring(pos, nex tEqualSignPosition - pos).stripWhiteSpace()); 760 String directive = trimToNextSeparator(safeHeader.substring(pos, nex tEqualSignPosition - pos).stripWhiteSpace());
761 pos += nextEqualSignPosition - pos + 1; 761 pos += nextEqualSignPosition - pos + 1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 CacheControlHeader cacheControlHeader; 809 CacheControlHeader cacheControlHeader;
810 cacheControlHeader.parsed = true; 810 cacheControlHeader.parsed = true;
811 cacheControlHeader.maxAge = std::numeric_limits<double>::quiet_NaN(); 811 cacheControlHeader.maxAge = std::numeric_limits<double>::quiet_NaN();
812 812
813 DEFINE_STATIC_LOCAL(const AtomicString, noCacheDirective, ("no-cache", Atomi cString::ConstructFromLiteral)); 813 DEFINE_STATIC_LOCAL(const AtomicString, noCacheDirective, ("no-cache", Atomi cString::ConstructFromLiteral));
814 DEFINE_STATIC_LOCAL(const AtomicString, noStoreDirective, ("no-store", Atomi cString::ConstructFromLiteral)); 814 DEFINE_STATIC_LOCAL(const AtomicString, noStoreDirective, ("no-store", Atomi cString::ConstructFromLiteral));
815 DEFINE_STATIC_LOCAL(const AtomicString, mustRevalidateDirective, ("must-reva lidate", AtomicString::ConstructFromLiteral)); 815 DEFINE_STATIC_LOCAL(const AtomicString, mustRevalidateDirective, ("must-reva lidate", AtomicString::ConstructFromLiteral));
816 DEFINE_STATIC_LOCAL(const AtomicString, maxAgeDirective, ("max-age", AtomicS tring::ConstructFromLiteral)); 816 DEFINE_STATIC_LOCAL(const AtomicString, maxAgeDirective, ("max-age", AtomicS tring::ConstructFromLiteral));
817 817
818 if (!cacheControlValue.isEmpty()) { 818 if (!cacheControlValue.isEmpty()) {
819 Vector<pair<String, String> > directives; 819 Vector<pair<String, String>> directives;
820 parseCacheHeader(cacheControlValue, directives); 820 parseCacheHeader(cacheControlValue, directives);
821 821
822 size_t directivesSize = directives.size(); 822 size_t directivesSize = directives.size();
823 for (size_t i = 0; i < directivesSize; ++i) { 823 for (size_t i = 0; i < directivesSize; ++i) {
824 // RFC2616 14.9.1: A no-cache directive with a value is only meaning ful for proxy caches. 824 // RFC2616 14.9.1: A no-cache directive with a value is only meaning ful for proxy caches.
825 // It should be ignored by a browser level cache. 825 // It should be ignored by a browser level cache.
826 if (equalIgnoringCase(directives[i].first, noCacheDirective) && dire ctives[i].second.isEmpty()) { 826 if (equalIgnoringCase(directives[i].first, noCacheDirective) && dire ctives[i].second.isEmpty()) {
827 cacheControlHeader.containsNoCache = true; 827 cacheControlHeader.containsNoCache = true;
828 } else if (equalIgnoringCase(directives[i].first, noStoreDirective)) { 828 } else if (equalIgnoringCase(directives[i].first, noStoreDirective)) {
829 cacheControlHeader.containsNoStore = true; 829 cacheControlHeader.containsNoStore = true;
(...skipping 15 matching lines...) Expand all
845 if (!cacheControlHeader.containsNoCache) { 845 if (!cacheControlHeader.containsNoCache) {
846 // Handle Pragma: no-cache 846 // Handle Pragma: no-cache
847 // This is deprecated and equivalent to Cache-control: no-cache 847 // This is deprecated and equivalent to Cache-control: no-cache
848 // Don't bother tokenizing the value, it is not important 848 // Don't bother tokenizing the value, it is not important
849 cacheControlHeader.containsNoCache = pragmaValue.lower().contains(noCach eDirective); 849 cacheControlHeader.containsNoCache = pragmaValue.lower().contains(noCach eDirective);
850 } 850 }
851 return cacheControlHeader; 851 return cacheControlHeader;
852 } 852 }
853 853
854 } 854 }
OLDNEW
« no previous file with comments | « Source/platform/network/HTTPHeaderMap.h ('k') | Source/platform/scroll/ScrollbarThemeMacOverlayAPI.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698