Add abhijeet.k@samsung.com to AUTHORS list.
[chromium-blink-merge.git] / components / dom_distiller / core / url_utils.h
blob71a7d5ce87a77debd76d2178f5d1478f39bee0af
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
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_DOM_DISTILLER_CORE_URL_UTILS_H_
6 #define COMPONENTS_DOM_DISTILLER_CORE_URL_UTILS_H_
8 #include <string>
10 class GURL;
12 namespace dom_distiller {
14 namespace url_utils {
16 // Returns the URL for viewing distilled content for an entry.
17 const GURL GetDistillerViewUrlFromEntryId(const std::string& scheme,
18 const std::string& entry_id);
20 // Returns the URL for viewing distilled content for a URL.
21 const GURL GetDistillerViewUrlFromUrl(const std::string& scheme,
22 const GURL& view_url);
24 // Returns the original URL from the distilled URL.
25 // If the URL is not distilled, it is returned as is.
26 const GURL GetOriginalUrlFromDistillerUrl(const GURL& distilled_url);
28 // Returns the value of the query parameter for the given |key| for a given URL.
29 // If the URL is invalid or if the key is not found, returns an empty string.
30 // If there are multiple keys found in the URL, returns the value for the first
31 // key.
32 std::string GetValueForKeyInUrl(const GURL& url, const std::string& key);
34 // Returns the value of the query parameter for the given path.
35 std::string GetValueForKeyInUrlPathQuery(const std::string& path,
36 const std::string& key);
38 // Returns whether it should be possible to distill the given |url|.
39 bool IsUrlDistillable(const GURL& url);
41 // Returns whether the given |url| is for a distilled page.
42 bool IsDistilledPage(const GURL& url);
44 // Returns a JavaScript snippet that returns whether or not a page should be
45 // used with DomDistillerService and can be executed in a live page.
46 std::string GetIsDistillableJs();
48 } // namespace url_utils
50 } // namespace dom_distiller
52 #endif // COMPONENTS_DOM_DISTILLER_CORE_URL_UTILS_H_