| 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 9c0418ba5dd5e6f073b7a89beed251038e20c17b..166e52ba5577907e4c163f0e66ef24afe57c963b 100644
|
| --- a/ios/web/public/web_state/web_state.h
|
| +++ b/ios/web/public/web_state/web_state.h
|
| @@ -6,21 +6,30 @@
|
| #define IOS_WEB_PUBLIC_WEB_STATE_WEB_STATE_H_
|
|
|
| #include <string>
|
| +#include <vector>
|
|
|
| #include "base/callback_forward.h"
|
| #include "base/supports_user_data.h"
|
| #include "ios/web/public/referrer.h"
|
| +#include "ios/web/public/web_state/url_verification_constants.h"
|
| +#include "ios/web/public/web_view_type.h"
|
| #include "ui/base/page_transition_types.h"
|
| #include "ui/base/window_open_disposition.h"
|
| +#include "ui/gfx/geometry/size.h"
|
| #include "url/gurl.h"
|
|
|
| class GURL;
|
| +class SkBitmap;
|
|
|
| #if defined(__OBJC__)
|
| -// TODO(droger): Convert all the public web API to C++.
|
| @class CRWJSInjectionReceiver;
|
| +@protocol CRWWebViewProxy;
|
| +typedef id<CRWWebViewProxy> CRWWebViewProxyType;
|
| +@class UIView;
|
| #else
|
| class CRWJSInjectionReceiver;
|
| +typedef void* CRWWebViewProxyType;
|
| +class UIView;
|
| #endif // defined(__OBJC__)
|
|
|
| namespace base {
|
| @@ -31,6 +40,7 @@ namespace web {
|
|
|
| class BrowserState;
|
| class NavigationManager;
|
| +class WebInterstitial;
|
| class WebStateObserver;
|
|
|
| // Core interface for interaction with the web.
|
| @@ -59,8 +69,29 @@ class WebState : public base::SupportsUserData {
|
| bool is_renderer_initiated;
|
| };
|
|
|
| + // Callback for |DownloadImage()|.
|
| + typedef base::Callback<void(
|
| + int, /* id */
|
| + int, /* HTTP status code */
|
| + const GURL&, /* image_url */
|
| + const std::vector<SkBitmap>&, /* bitmaps */
|
| + /* The sizes in pixel of the bitmaps before they were resized due to the
|
| + max bitmap size passed to DownloadImage(). Each entry in the bitmaps
|
| + vector corresponds to an entry in the sizes vector. If a bitmap was
|
| + resized, there should be a single returned bitmap. */
|
| + const std::vector<gfx::Size>&)>
|
| + ImageDownloadCallback;
|
| +
|
| ~WebState() override {}
|
|
|
| + // The view containing the contents of the current web page. If the view has
|
| + // been purged due to low memory, this will recreate it. It is up to the
|
| + // caller to size the view.
|
| + virtual UIView* GetView() = 0;
|
| +
|
| + // Returns the type of the web view associated with this WebState.
|
| + virtual WebViewType GetWebViewType() const = 0;
|
| +
|
| // Gets the BrowserState associated with this WebState. Can never return null.
|
| virtual BrowserState* GetBrowserState() const = 0;
|
|
|
| @@ -95,6 +126,20 @@ class WebState : public base::SupportsUserData {
|
| // displayed in this WebState. It represents the current security context.
|
| virtual const GURL& GetLastCommittedURL() const = 0;
|
|
|
| + // Returns the WebState view of the current URL. Moreover, this method
|
| + // will set the trustLevel enum to the appropriate level from a security point
|
| + // of view. The caller has to handle the case where |trust_level| is not
|
| + // appropriate.
|
| + // TODO(stuartmorgan): Figure out a clean API for this.
|
| + // See http://crbug.com/457679
|
| + virtual GURL GetCurrentURL(URLVerificationTrustLevel* trust_level) const = 0;
|
| +
|
| + // Returns true if a WebInterstitial is currently displayed.
|
| + virtual bool IsShowingWebInterstitial() const = 0;
|
| +
|
| + // Returns the currently visible WebInterstitial if one is shown.
|
| + virtual WebInterstitial* GetWebInterstitial() const = 0;
|
| +
|
| // Callback used to handle script commands.
|
| // The callback must return true if the command was handled, and false
|
| // otherwise.
|
| @@ -115,6 +160,9 @@ class WebState : public base::SupportsUserData {
|
| virtual void RemoveScriptCommandCallback(
|
| const std::string& command_prefix) = 0;
|
|
|
| + // Returns the current CRWWebViewProxy object.
|
| + virtual CRWWebViewProxyType GetWebViewProxy() const = 0;
|
| +
|
| protected:
|
| friend class WebStateObserver;
|
|
|
|
|