| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CONTENT_RENDERER_SAVABLE_RESOURCES_H_ |
| #define CONTENT_RENDERER_SAVABLE_RESOURCES_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include "base/macros.h" |
| #include "content/common/content_export.h" |
| #include "content/common/savable_subframe.h" |
| #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" |
| #include "url/gurl.h" |
| |
| namespace blink { |
| class WebElement; |
| class WebFrame; |
| class WebString; |
| } |
| |
| // A collection of operations that access the underlying WebKit DOM directly. |
| namespace content { |
| |
| // Structure for storage the result of getting all savable resource links |
| // for current page. The consumer of the SavableResourcesResult is responsible |
| // for keeping these pointers valid for the lifetime of the |
| // SavableResourcesResult instance. |
| struct SavableResourcesResult { |
| // Links of all savable resources. |
| std::vector<GURL>* resources_list; |
| |
| // Subframes. |
| std::vector<SavableSubframe>* subframes; |
| |
| // Constructor. |
| SavableResourcesResult( |
| std::vector<GURL>* resources_list, |
| std::vector<SavableSubframe>* subframes) |
| : resources_list(resources_list), |
| subframes(subframes) {} |
| |
| private: |
| DISALLOW_COPY_AND_ASSIGN(SavableResourcesResult); |
| }; |
| |
| // Get all savable resource links from specified webframe. |
| // Returns true if the saved resources links have been saved successfully. |
| // Otherwise returns false (i.e. if the frame contains a non-savable content). |
| CONTENT_EXPORT bool GetSavableResourceLinksForFrame( |
| blink::WebFrame* frame, |
| SavableResourcesResult* result, |
| const char** savable_schemes); |
| |
| // Returns the value in an elements resource url attribute. For IMG, SCRIPT or |
| // INPUT TYPE=image, returns the value in "src". For LINK TYPE=text/css, returns |
| // the value in "href". For BODY, TABLE, TR, TD, returns the value in |
| // "background". For BLOCKQUOTE, Q, DEL, INS, returns the value in "cite" |
| // attribute. Otherwise returns a null WebString. |
| CONTENT_EXPORT blink::WebString GetSubResourceLinkFromElement( |
| const blink::WebElement& element); |
| |
| } // namespace content |
| |
| #endif // CONTENT_RENDERER_SAVABLE_RESOURCES_H_ |