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_
12 namespace dom_distiller
{
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
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_