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

Side by Side Diff: chrome_frame/html_utils.h

Issue 9720001: Add a setting to CF to remove 'chromeframe' from the UserAgent on a per-pattern basis. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: In the end. Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « chrome_frame/chrome_frame.gyp ('k') | chrome_frame/html_utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This file defines utility functions for working with html. 5 // This file defines utility functions for working with html.
6 6
7 #ifndef CHROME_FRAME_HTML_UTILS_H_ 7 #ifndef CHROME_FRAME_HTML_UTILS_H_
8 #define CHROME_FRAME_HTML_UTILS_H_ 8 #define CHROME_FRAME_HTML_UTILS_H_
9 9
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 const std::wstring html_string_; 120 const std::wstring html_string_;
121 121
122 // Store the string of quote characters to avoid repeated construction. 122 // Store the string of quote characters to avoid repeated construction.
123 const std::wstring quotes_; 123 const std::wstring quotes_;
124 124
125 DISALLOW_COPY_AND_ASSIGN(HTMLScanner); 125 DISALLOW_COPY_AND_ASSIGN(HTMLScanner);
126 }; 126 };
127 127
128 namespace http_utils { 128 namespace http_utils {
129 129
130 // Adds "chromeframe/x.y" to the end of the User-Agent string (x.y is the 130 // Adds "chromeframe/a.b.c.d" to the User-Agent string (a.b.c.d is the version).
131 // version). If the cf tag has already been added to the string, 131 // If the cf tag has already been added to the string, the original string is
132 // the original string is returned. 132 // returned.
133 std::string AddChromeFrameToUserAgentValue(const std::string& value); 133 std::string AddChromeFrameToUserAgentValue(const std::string& value);
134 134
135 // Removes "chromeframe/a.b.c.d" from the User-Agent string (a.b.c.d is the
136 // version). If the cf tag is not present in the string, the original string is
137 // returned.
138 std::string RemoveChromeFrameFromUserAgentValue(const std::string& value);
139
135 // Fetches the user agent from urlmon and adds chrome frame to the 140 // Fetches the user agent from urlmon and adds chrome frame to the
136 // comment section. 141 // comment section.
137 // NOTE: The returned string includes the "User-Agent: " header name. 142 // NOTE: The returned string includes the "User-Agent: " header name.
138 std::string GetDefaultUserAgentHeaderWithCFTag(); 143 std::string GetDefaultUserAgentHeaderWithCFTag();
139 144
140 // Returns the User-Agent header as would be used by Chrome itself. 145 // Returns the User-Agent header as would be used by Chrome itself.
141 const char* GetChromeUserAgent(); 146 const char* GetChromeUserAgent();
142 147
143 // Fetches the default user agent string from urlmon. 148 // Fetches the default user agent string from urlmon.
144 // This value does not include the "User-Agent:" header name. 149 // This value does not include the "User-Agent:" header name.
145 std::string GetDefaultUserAgent(); 150 std::string GetDefaultUserAgent();
146 151
147 // Returns the Chrome Frame user agent. E.g. "chromeframe/1.0". 152 // Returns the Chrome Frame user agent. E.g. "chromeframe/1.0".
148 // Note that in unit tests this will be "chromeframe/0.0" due to the version 153 // Note that in unit tests this will be "chromeframe/0.0" due to the version
149 // table not being present in the unit test executable. 154 // table not being present in the unit test executable.
150 const char* GetChromeFrameUserAgent(); 155 const char* GetChromeFrameUserAgent();
151 156
152 // Returns true if there is a frame busting header (other than the do-nothing 157 // Returns true if there is a frame busting header (other than the do-nothing
153 // "X-Frame-Options: ALLOWALL") in the provided header block. Note that there 158 // "X-Frame-Options: ALLOWALL") in the provided header block. Note that there
154 // may be multiple X-Frame-Options values specified; if there is one anywhere in 159 // may be multiple X-Frame-Options values specified; if there is one anywhere in
155 // the list with a value other than ALLOWALL, this returns true. 160 // the list with a value other than ALLOWALL, this returns true.
156 bool HasFrameBustingHeader(const std::string& http_headers); 161 bool HasFrameBustingHeader(const std::string& http_headers);
157 162
158 // Returns the header passed in from the headers list. 163 // Returns the header passed in from the headers list.
159 std::string GetHttpHeaderFromHeaderList(const std::string& header_name, 164 std::string GetHttpHeaderFromHeaderList(const std::string& header_name,
160 const std::string& headers); 165 const std::string& headers);
161 } // namespace http_utils 166 } // namespace http_utils
162 167
163 #endif // CHROME_FRAME_HTML_UTILS_H_ 168 #endif // CHROME_FRAME_HTML_UTILS_H_
OLDNEW
« no previous file with comments | « chrome_frame/chrome_frame.gyp ('k') | chrome_frame/html_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698