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

Unified Diff: src/shared/Utils.h

Issue 5921969115496448: Issue 1115 - Some yahoo page not correctly shown on IE8 when ABP enabled (Closed)
Patch Set: address comments Created Feb. 13, 2015, 3:19 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/shared/Utils.h
diff --git a/src/shared/Utils.h b/src/shared/Utils.h
index 3110b65057d2fbc75410e04c6e12f99558db57e7..4b255beb543d12920bc68fd85f1b4d6c91656c33 100644
--- a/src/shared/Utils.h
+++ b/src/shared/Utils.h
@@ -56,6 +56,30 @@ std::wstring GetDllDir();
std::wstring GetAppDataPath();
void ReplaceString(std::wstring& input, const std::wstring placeholder, const std::wstring replacement);
+/**
+ * Returns the begging of the URL which includes the scheme and hierarchical
+ * part according to http://en.wikipedia.org/wiki/URI_scheme .
+ */
+std::wstring GetSchemeAndHierarchicalPart(const std::wstring& url);
+
+std::wstring GetQueryString(const std::wstring& url);
+/**
+ * Splits a string into tokens separated by a delimiter.
+ * Applies a function to each token.
+ * Terminates early if the function returns false.
+ * Throws if `fn` is empty, see the reference of std::function::operator().
+ */
+void ForEachToken(const std::wstring& value, wchar_t delimiter,
+ const std::function<bool(std::wstring::const_iterator begin, std::wstring::const_iterator end)>& fn);
+
+/**
+ * Applies a function to each name=value pair in a query string.
+ * Terminates early if the function returns false.
+ * Throws if `fn` is empty, see the reference of std::function::operator().
+ */
+void ForEachQueryStringParameter(const std::wstring& urlQueryString,
+ const std::function<bool(const std::wstring& name, const std::wstring& value)>& fn);
+
template<class T>
T TrimString(T text)
{
« no previous file with comments | « src/plugin/PluginWbPassThrough.cpp ('k') | src/shared/Utils.cpp » ('j') | src/shared/Utils.cpp » ('J')

Powered by Google App Engine
This is Rietveld