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
3 // found in the LICENSE file.
5 #ifndef CHROME_ANDROID_TESTSHELL_TESTSHELL_TAB_H_
6 #define CHROME_ANDROID_TESTSHELL_TESTSHELL_TAB_H_
10 #include "base/compiler_specific.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "chrome/browser/android/tab_android.h"
14 namespace browser_sync
{
15 class SyncedTabDelegate
;
19 struct NavigateParams
;
24 class ChromeWebContentsDelegateAndroid
;
36 class TestShellTab
: public TabAndroid
{
38 TestShellTab(JNIEnv
* env
, jobject obj
);
39 void Destroy(JNIEnv
* env
, jobject obj
);
41 // --------------------------------------------------------------------------
43 // --------------------------------------------------------------------------
44 virtual void OnReceivedHttpAuthRequest(jobject auth_handler
,
45 const base::string16
& host
,
46 const base::string16
& realm
) OVERRIDE
;
48 virtual void AddShortcutToBookmark(const GURL
& url
,
49 const base::string16
& title
,
50 const SkBitmap
& skbitmap
,
53 int b_value
) OVERRIDE
;
54 virtual void EditBookmark(int64 node_id
,
55 const base::string16
& node_title
,
57 bool is_partner_bookmark
) OVERRIDE
;
59 virtual bool ShouldWelcomePageLinkToTermsOfService() OVERRIDE
;
60 virtual void OnNewTabPageReady() OVERRIDE
;
62 virtual void HandlePopupNavigation(chrome::NavigateParams
* params
) OVERRIDE
;
64 // Register the Tab's native methods through JNI.
65 static bool RegisterTestShellTab(JNIEnv
* env
);
67 // --------------------------------------------------------------------------
68 // Methods called from Java via JNI
69 // --------------------------------------------------------------------------
70 base::android::ScopedJavaLocalRef
<jstring
> FixupUrl(JNIEnv
* env
,
75 virtual ~TestShellTab();
78 DISALLOW_COPY_AND_ASSIGN(TestShellTab
);
81 #endif // CHROME_ANDROID_TESTSHELL_TESTSHELL_TAB_H_