Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/shared/Utils.cpp

Issue 5921969115496448: Issue 1115 - Some yahoo page not correctly shown on IE8 when ABP enabled (Closed)
Patch Set: rebase Created Feb. 19, 2015, 2:09 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2015 Eyeo GmbH 3 * Copyright (C) 2006-2015 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 } 148 }
149 149
150 void ReplaceString(std::wstring& input, const std::wstring placeholder, const st d::wstring replacement) 150 void ReplaceString(std::wstring& input, const std::wstring placeholder, const st d::wstring replacement)
151 { 151 {
152 size_t replaceStart = input.find(placeholder); 152 size_t replaceStart = input.find(placeholder);
153 if (replaceStart != std::string::npos) 153 if (replaceStart != std::string::npos)
154 { 154 {
155 input.replace(replaceStart, placeholder.length(), replacement); 155 input.replace(replaceStart, placeholder.length(), replacement);
156 } 156 }
157 } 157 }
158
159 std::wstring GetSchemeAndHierarchicalPart(const std::wstring& url)
160 {
161 auto schemeAndHierarchicalPartEndsAt = url.find(L'?');
162 if (schemeAndHierarchicalPartEndsAt == std::wstring::npos)
163 {
164 schemeAndHierarchicalPartEndsAt = url.find(L'#');
165 }
166 return url.substr(0, schemeAndHierarchicalPartEndsAt);
167 }
168
169 std::wstring GetQueryString(const std::wstring& url)
170 {
171 auto questionSignPos = url.find(L'?');
172 if (questionSignPos == std::wstring::npos)
173 {
174 return L"";
175 }
176 auto queryStringBeginsAt = questionSignPos + 1;
177 auto endQueryStringPos = url.find(L'#', queryStringBeginsAt);
178 if (endQueryStringPos == std::wstring::npos)
179 {
180 endQueryStringPos = url.length();
181 }
182 return url.substr(queryStringBeginsAt, endQueryStringPos - queryStringBeginsAt );
183 }
OLDNEW
« src/shared/Utils.h ('K') | « src/shared/Utils.h ('k') | test/UtilGetQueryStringTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld