| Index: content/browser/android/content_view_client.h
|
| diff --git a/content/browser/android/content_view_client.h b/content/browser/android/content_view_client.h
|
| index fadec83126353a81cc7431e35d4c678f8d513b6e..815a09f3ab70968575ad09e949c6916fa1a43050 100644
|
| --- a/content/browser/android/content_view_client.h
|
| +++ b/content/browser/android/content_view_client.h
|
| @@ -8,7 +8,6 @@
|
| #include "base/android/jni_helper.h"
|
| #include "base/compiler_specific.h"
|
| #include "content/public/browser/native_web_keyboard_event.h"
|
| -#include "content/public/browser/web_contents_delegate.h"
|
| #include "content/public/common/javascript_message_type.h"
|
| #include "content/public/common/referrer.h"
|
| #include "googleurl/src/gurl.h"
|
| @@ -17,17 +16,14 @@
|
| class FindHelper;
|
|
|
| namespace content {
|
| +
|
| class DownloadItem;
|
| -struct FindMatchRect;
|
| class JavaScriptDialogCreator;
|
| -class NativeWebKeyboardEvent;
|
| +struct NativeWebKeyboardEvent;
|
| class RenderViewHost;
|
| class WebContents;
|
| -}
|
| -
|
| -namespace content {
|
|
|
| -// This enum must be kept in sync with ContentViewClient.java
|
| +// These enums must be kept in sync with ContentViewClient.java
|
| enum ContentViewClientError {
|
| // Success
|
| CONTENT_VIEW_CLIENT_ERROR_OK = 0,
|
| @@ -63,11 +59,16 @@ enum ContentViewClientError {
|
| CONTENT_VIEW_CLIENT_ERROR_TOO_MANY_REQUESTS = -15,
|
| };
|
|
|
| -// Native mirror of ContentViewClient.java. Uses as a client of
|
| +// Native mirror of ContentViewClient.java. Used as a client of
|
| // ContentView, the main FrameLayout on Android.
|
| -class ContentViewClient : public WebContentsDelegate {
|
| +// TODO(joth): Delete this C++ class, to make it Java-only. All the callbacks
|
| +// defined here originate in WebContentsObserver; we should have a dedicated
|
| +// bridge class for that rather than overloading ContentViewClient with this.
|
| +// See http://crbug.com/137967
|
| +class ContentViewClient {
|
| public:
|
| ContentViewClient(JNIEnv* env, jobject obj);
|
| + ~ContentViewClient();
|
|
|
| static ContentViewClient* CreateNativeContentViewClient(JNIEnv* env,
|
| jobject obj);
|
| @@ -87,7 +88,6 @@ class ContentViewClient : public WebContentsDelegate {
|
| void OnInterstitialShown();
|
| void OnInterstitialHidden();
|
|
|
| - void SetFindHelper(FindHelper* find_helper);
|
| void SetJavaScriptDialogCreator(
|
| JavaScriptDialogCreator* javascript_dialog_creator);
|
|
|
| @@ -97,91 +97,15 @@ class ContentViewClient : public WebContentsDelegate {
|
| const string16& message,
|
| const string16& default_value);
|
|
|
| - // Returns the actual load progress, a value between 0 (nothing loaded) and
|
| - // 1 (page fully loaded).
|
| - virtual double GetLoadProgress() const;
|
| -
|
| - // Overridden from WebContentsDelegate:
|
| - virtual WebContents* OpenURLFromTab(
|
| - WebContents* source,
|
| - const OpenURLParams& params) OVERRIDE;
|
| - virtual bool ShouldIgnoreNavigation(
|
| - WebContents* source,
|
| - const GURL& url,
|
| - const Referrer& referrer,
|
| - WindowOpenDisposition disposition,
|
| - PageTransition transition_type) OVERRIDE;
|
| - virtual void NavigationStateChanged(const WebContents* source,
|
| - unsigned changed_flags) OVERRIDE;
|
| - virtual void AddNewContents(WebContents* source,
|
| - WebContents* new_contents,
|
| - WindowOpenDisposition disposition,
|
| - const gfx::Rect& initial_pos,
|
| - bool user_gesture) OVERRIDE;
|
| - virtual void ActivateContents(WebContents* contents) OVERRIDE;
|
| - virtual void DeactivateContents(WebContents* contents) OVERRIDE;
|
| - virtual void LoadingStateChanged(WebContents* source) OVERRIDE;
|
| - virtual void LoadProgressChanged(double load_progress) OVERRIDE;
|
| - virtual void CloseContents(WebContents* source) OVERRIDE;
|
| - virtual void MoveContents(WebContents* source,
|
| - const gfx::Rect& pos) OVERRIDE;
|
| - // TODO(merge): WARNING! method no longer available on the base class.
|
| - // See http://b/issue?id=5862108
|
| - virtual void URLStarredChanged(WebContents* source, bool starred);
|
| - virtual void UpdateTargetURL(WebContents* source,
|
| - int32 page_id,
|
| - const GURL& url) OVERRIDE;
|
| - virtual bool CanDownload(RenderViewHost* source,
|
| - int request_id,
|
| - const std::string& request_method) OVERRIDE;
|
| - virtual void OnStartDownload(WebContents* source,
|
| - DownloadItem* download) OVERRIDE;
|
| - virtual void FindReply(WebContents* tab,
|
| - int request_id,
|
| - int number_of_matches,
|
| - const gfx::Rect& selection_rect,
|
| - int active_match_ordinal,
|
| - bool final_update) OVERRIDE;
|
| - virtual void OnReceiveFindMatchRects(int version,
|
| - const std::vector<FindMatchRect>& rects,
|
| - const FindMatchRect& active_rect) OVERRIDE;
|
| - virtual bool ShouldOverrideLoading(const GURL& url) OVERRIDE;
|
| - virtual void HandleKeyboardEvent(
|
| - const NativeWebKeyboardEvent& event) OVERRIDE;
|
| - virtual JavaScriptDialogCreator* GetJavaScriptDialogCreator() OVERRIDE;
|
| - virtual void RunFileChooser(
|
| - WebContents* tab,
|
| - const FileChooserParams& params) OVERRIDE;
|
| - virtual bool TakeFocus(bool reverse) OVERRIDE;
|
| -
|
| - virtual ~ContentViewClient();
|
| -
|
| private:
|
| // Get the closest ContentViewClient match to the given Chrome error code.
|
| static ContentViewClientError ToContentViewClientError(int net_error);
|
|
|
| - // We use this to keep track of whether the navigation we get in
|
| - // ShouldIgnoreNavigation has been initiated by the ContentView or not. We
|
| - // need the GURL, because the active navigation entry doesn't change on
|
| - // redirects.
|
| - GURL last_requested_navigation_url_;
|
| -
|
| // We depend on ContentView.java to hold a ref to the client object. If we
|
| // were to hold a hard ref from native we could end up with a cyclic
|
| // ownership leak (the GC can't collect cycles if part of the cycle is caused
|
| // by native).
|
| JavaObjectWeakGlobalRef weak_java_client_;
|
| -
|
| - // Used to process find replies. Owned by the ContentView. The ContentView
|
| - // NULLs this pointer when the FindHelper goes away.
|
| - FindHelper* find_helper_;
|
| -
|
| - // The object responsible for creating JavaScript dialogs.
|
| - JavaScriptDialogCreator* javascript_dialog_creator_;
|
| -
|
| - // Indicates the load state of the page. 0.0 means nothing loaded, 1 means
|
| - // fully loaded.
|
| - double load_progress_;
|
| };
|
|
|
| bool RegisterContentViewClient(JNIEnv* env);
|
|
|