Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Side by Side Diff: content/components/web_contents_delegate_android/web_contents_delegate_android.h

Issue 11365199: Move WebContentsDelegateAndroid to content/components (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_COMPONENT_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELE GATE_ANDROID_H_ 5 #ifndef CHROME_BROWSER_COMPONENT_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELE GATE_ANDROID_H_
6 #define CHROME_BROWSER_COMPONENT_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELE GATE_ANDROID_H_ 6 #define CHROME_BROWSER_COMPONENT_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELE GATE_ANDROID_H_
7 7
8 #include "base/android/jni_helper.h" 8 #include "base/android/jni_helper.h"
9 #include "base/android/scoped_java_ref.h" 9 #include "base/android/scoped_java_ref.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "content/public/browser/native_web_keyboard_event.h" 12 #include "content/public/browser/native_web_keyboard_event.h"
13 #include "content/public/browser/web_contents_delegate.h" 13 #include "content/public/browser/web_contents_delegate.h"
14 #include "content/public/browser/web_contents_observer.h" 14 #include "content/public/browser/web_contents_observer.h"
15 #include "content/public/common/javascript_message_type.h" 15 #include "content/public/common/javascript_message_type.h"
16 #include "content/public/common/referrer.h" 16 #include "content/public/common/referrer.h"
17 #include "googleurl/src/gurl.h" 17 #include "googleurl/src/gurl.h"
18 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
19 19
20 namespace content { 20 namespace content {
21 class JavaScriptDialogCreator; 21 class JavaScriptDialogCreator;
22 class RenderViewHost; 22 class RenderViewHost;
23 class WebContents; 23 class WebContents;
24 class WebContentsObserver; 24 class WebContentsObserver;
25 struct NativeWebKeyboardEvent; 25 struct NativeWebKeyboardEvent;
26 }
27
28 namespace web_contents_delegate_android {
29 26
30 enum WebContentsDelegateLogLevel { 27 enum WebContentsDelegateLogLevel {
31 // Equivalent of WebCore::WebConsoleMessage::LevelTip. 28 // Equivalent of WebCore::WebConsoleMessage::LevelTip.
32 WEB_CONTENTS_DELEGATE_LOG_LEVEL_TIP = 0, 29 WEB_CONTENTS_DELEGATE_LOG_LEVEL_TIP = 0,
33 // Equivalent of WebCore::WebConsoleMessage::LevelLog. 30 // Equivalent of WebCore::WebConsoleMessage::LevelLog.
34 WEB_CONTENTS_DELEGATE_LOG_LEVEL_LOG = 1, 31 WEB_CONTENTS_DELEGATE_LOG_LEVEL_LOG = 1,
35 // Equivalent of WebCore::WebConsoleMessage::LevelWarning. 32 // Equivalent of WebCore::WebConsoleMessage::LevelWarning.
36 WEB_CONTENTS_DELEGATE_LOG_LEVEL_WARNING = 2, 33 WEB_CONTENTS_DELEGATE_LOG_LEVEL_WARNING = 2,
37 // Equivalent of WebCore::WebConsoleMessage::LevelError. 34 // Equivalent of WebCore::WebConsoleMessage::LevelError.
38 WEB_CONTENTS_DELEGATE_LOG_LEVEL_ERROR = 3, 35 WEB_CONTENTS_DELEGATE_LOG_LEVEL_ERROR = 3,
39 }; 36 };
40 37
41 38
42 // Native underpinnings of WebContentsDelegateAndroid.java. Provides a default 39 // Native underpinnings of WebContentsDelegateAndroid.java. Provides a default
43 // delegate for WebContents to forward calls to the java peer. The embedding 40 // delegate for WebContents to forward calls to the java peer. The embedding
44 // application may subclass and override methods on either the C++ or Java side 41 // application may subclass and override methods on either the C++ or Java side
45 // as required. 42 // as required.
46 class WebContentsDelegateAndroid : public content::WebContentsDelegate { 43 class WebContentsDelegateAndroid : public WebContentsDelegate {
47 public: 44 public:
48 WebContentsDelegateAndroid(JNIEnv* env, jobject obj); 45 WebContentsDelegateAndroid(JNIEnv* env, jobject obj);
49 virtual ~WebContentsDelegateAndroid(); 46 virtual ~WebContentsDelegateAndroid();
50 47
51 // Binds this WebContentsDelegateAndroid to the passed WebContents instance, 48 // Binds this WebContentsDelegateAndroid to the passed WebContents instance,
52 // such that when that WebContents is destroyed, this 49 // such that when that WebContents is destroyed, this
53 // WebContentsDelegateAndroid instance will be destroyed too. 50 // WebContentsDelegateAndroid instance will be destroyed too.
54 void SetOwnerWebContents(content::WebContents* contents); 51 void SetOwnerWebContents(WebContents* contents);
55 52
56 // Overridden from WebContentsDelegate: 53 // Overridden from WebContentsDelegate:
57 virtual content::WebContents* OpenURLFromTab( 54 virtual WebContents* OpenURLFromTab(
58 content::WebContents* source, 55 WebContents* source,
59 const content::OpenURLParams& params) OVERRIDE; 56 const OpenURLParams& params) OVERRIDE;
60 57
61 virtual void NavigationStateChanged(const content::WebContents* source, 58 virtual void NavigationStateChanged(const WebContents* source,
62 unsigned changed_flags) OVERRIDE; 59 unsigned changed_flags) OVERRIDE;
63 virtual void AddNewContents(content::WebContents* source, 60 virtual void AddNewContents(WebContents* source,
64 content::WebContents* new_contents, 61 WebContents* new_contents,
65 WindowOpenDisposition disposition, 62 WindowOpenDisposition disposition,
66 const gfx::Rect& initial_pos, 63 const gfx::Rect& initial_pos,
67 bool user_gesture, 64 bool user_gesture,
68 bool* was_blocked) OVERRIDE; 65 bool* was_blocked) OVERRIDE;
69 virtual void ActivateContents(content::WebContents* contents) OVERRIDE; 66 virtual void ActivateContents(WebContents* contents) OVERRIDE;
70 virtual void DeactivateContents(content::WebContents* contents) OVERRIDE; 67 virtual void DeactivateContents(WebContents* contents) OVERRIDE;
71 virtual void LoadingStateChanged(content::WebContents* source) OVERRIDE; 68 virtual void LoadingStateChanged(WebContents* source) OVERRIDE;
72 virtual void LoadProgressChanged(content::WebContents* source, 69 virtual void LoadProgressChanged(WebContents* source,
73 double load_progress) OVERRIDE; 70 double load_progress) OVERRIDE;
74 virtual void CloseContents(content::WebContents* source) OVERRIDE; 71 virtual void CloseContents(WebContents* source) OVERRIDE;
75 virtual void MoveContents(content::WebContents* source, 72 virtual void MoveContents(WebContents* source,
76 const gfx::Rect& pos) OVERRIDE; 73 const gfx::Rect& pos) OVERRIDE;
77 virtual bool AddMessageToConsole(content::WebContents* source, 74 virtual bool AddMessageToConsole(WebContents* source,
78 int32 level, 75 int32 level,
79 const string16& message, 76 const string16& message,
80 int32 line_no, 77 int32 line_no,
81 const string16& source_id) OVERRIDE; 78 const string16& source_id) OVERRIDE;
82 // TODO(merge): WARNING! method no longer available on the base class. 79 // TODO(merge): WARNING! method no longer available on the base class.
83 // See http://crbug.com/149477 80 // See http://crbug.com/149477
84 virtual void URLStarredChanged(content::WebContents* source, bool starred); 81 virtual void URLStarredChanged(WebContents* source, bool starred);
85 virtual void UpdateTargetURL(content::WebContents* source, 82 virtual void UpdateTargetURL(WebContents* source,
86 int32 page_id, 83 int32 page_id,
87 const GURL& url) OVERRIDE; 84 const GURL& url) OVERRIDE;
88 virtual void HandleKeyboardEvent( 85 virtual void HandleKeyboardEvent(
89 content::WebContents* source, 86 WebContents* source,
90 const content::NativeWebKeyboardEvent& event) OVERRIDE; 87 const NativeWebKeyboardEvent& event) OVERRIDE;
91 virtual bool TakeFocus(content::WebContents* source, bool reverse) OVERRIDE; 88 virtual bool TakeFocus(WebContents* source, bool reverse) OVERRIDE;
92 89
93 virtual void ShowRepostFormWarningDialog( 90 virtual void ShowRepostFormWarningDialog(WebContents* source) OVERRIDE;
94 content::WebContents* source) OVERRIDE;
95 91
96 virtual void ToggleFullscreenModeForTab(content::WebContents* web_contents, 92 virtual void ToggleFullscreenModeForTab(content::WebContents* web_contents,
97 bool enter_fullscreen) OVERRIDE; 93 bool enter_fullscreen) OVERRIDE;
98 virtual bool IsFullscreenForTabOrPending( 94 virtual bool IsFullscreenForTabOrPending(
99 const content::WebContents* web_contents) const OVERRIDE; 95 const content::WebContents* web_contents) const OVERRIDE;
100 96
101 protected: 97 protected:
102 base::android::ScopedJavaLocalRef<jobject> GetJavaDelegate(JNIEnv* env) const; 98 base::android::ScopedJavaLocalRef<jobject> GetJavaDelegate(JNIEnv* env) const;
103 99
104 private: 100 private:
105 // We depend on the java side user of WebContentDelegateAndroid to hold a 101 // We depend on the java side user of WebContentDelegateAndroid to hold a
106 // strong reference to that object as long as they want to receive callbacks 102 // strong reference to that object as long as they want to receive callbacks
107 // on it. Using a weak ref here allows it to be correctly GCed. 103 // on it. Using a weak ref here allows it to be correctly GCed.
108 JavaObjectWeakGlobalRef weak_java_delegate_; 104 JavaObjectWeakGlobalRef weak_java_delegate_;
109 }; 105 };
110 106
111 bool RegisterWebContentsDelegateAndroid(JNIEnv* env); 107 bool RegisterWebContentsDelegateAndroid(JNIEnv* env);
112 108
113 } // namespace web_contents_delegate_android 109 } // namespace content
114 110
115 #endif // CHROME_BROWSER_COMPONENT_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_D ELEGATE_ANDROID_H_ 111 #endif // CHROME_BROWSER_COMPONENT_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_D ELEGATE_ANDROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698