Index: ios/web/public/web_state/web_state.h |
diff --git a/ios/web/public/web_state/web_state.h b/ios/web/public/web_state/web_state.h |
index 6974f523942f2691752762d1a997bb86f4d2338b..8335bb8545ff37d38ce5963c23aab69f0801057a 100644 |
--- a/ios/web/public/web_state/web_state.h |
+++ b/ios/web/public/web_state/web_state.h |
@@ -35,6 +35,10 @@ class DictionaryValue; |
class Value; |
} |
+namespace gfx { |
+class Image; |
+} |
+ |
namespace web { |
class BrowserState; |
@@ -248,6 +252,14 @@ class WebState : public base::SupportsUserData { |
// CreateParams::created_with_opener for more details. |
virtual bool HasOpener() const = 0; |
+ // Callback used to handle snapshots. The parameter is the snapshot image. |
+ typedef base::Callback<void(const gfx::Image&)> SnapshotCallback; |
+ |
+ // Takes a snapshot of this WebState with |target_size|. |callback| is |
+ // asynchronously invoked after performing the snapshot. |
+ virtual void TakeSnapshot(const SnapshotCallback& callback, |
+ CGSize target_size) const = 0; |
+ |
protected: |
friend class WebStateObserver; |
friend class WebStatePolicyDecider; |