1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_ANDROID_WEBSITE_SETTINGS_POPUP_ANDROID_H_ 6 #define CHROME_BROWSER_UI_ANDROID_WEBSITE_SETTINGS_POPUP_ANDROID_H_ 7 8 #include <jni.h> 9 10 #include "base/android/scoped_java_ref.h" 11 #include "base/basictypes.h" 12 #include "base/memory/scoped_ptr.h" 13 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 14 15 namespace content { 16 class WebContents; 17 } 18 19 // Android implementation of the website settings UI. 20 class WebsiteSettingsPopupAndroid : public WebsiteSettingsUI { 21 public: 22 WebsiteSettingsPopupAndroid(JNIEnv* env, 23 jobject java_website_settings, 24 content::WebContents* web_contents); 25 virtual ~WebsiteSettingsPopupAndroid(); 26 void Destroy(JNIEnv* env, jobject obj); 27 28 // WebsiteSettingsUI implementations. 29 virtual void SetCookieInfo(const CookieInfoList& cookie_info_list) OVERRIDE; 30 virtual void SetPermissionInfo( 31 const PermissionInfoList& permission_info_list) OVERRIDE; 32 virtual void SetIdentityInfo(const IdentityInfo& identity_info) OVERRIDE; 33 virtual void SetFirstVisit(const base::string16& first_visit) OVERRIDE; 34 virtual void SetSelectedTab(WebsiteSettingsUI::TabId tab_id) OVERRIDE; 35 36 static bool RegisterWebsiteSettingsPopupAndroid(JNIEnv* env); 37 38 private: 39 // The presenter that controlls the Website Settings UI. 40 scoped_ptr<WebsiteSettings> presenter_; 41 42 // The java prompt implementation. 43 base::android::ScopedJavaGlobalRef<jobject> popup_jobject_; 44 45 DISALLOW_COPY_AND_ASSIGN(WebsiteSettingsPopupAndroid); 46 }; 47 48 #endif // CHROME_BROWSER_UI_ANDROID_WEBSITE_SETTINGS_POPUP_ANDROID_H_ 49