#include "chrome/browser/android/chrome_web_contents_delegate_android.h"
#include "base/android/jni_android.h"
+#include "base/android/jni_string.h"
#include "base/command_line.h"
-#include "chrome/browser/android/tab_android.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/file_select_helper.h"
#include "chrome/browser/media/media_capture_devices_dispatcher.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/find_bar/find_notification_details.h"
#include "chrome/browser/ui/find_bar/find_tab_helper.h"
+#include "chrome/browser/ui/tab_helpers.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
}
void ChromeWebContentsDelegateAndroid::LoadingStateChanged(
- WebContents* source) {
+ WebContents* source, bool to_different_document) {
bool has_stopped = source == NULL || !source->IsLoading();
- WebContentsDelegateAndroid::LoadingStateChanged(source);
+ WebContentsDelegateAndroid::LoadingStateChanged(
+ source, to_different_document);
LoadProgressChanged(source, has_stopped ? 1 : 0);
}
web_contents, request, callback, NULL);
}
+bool ChromeWebContentsDelegateAndroid::CheckMediaAccessPermission(
+ content::WebContents* web_contents,
+ const GURL& security_origin,
+ content::MediaStreamType type) {
+ return MediaCaptureDevicesDispatcher::GetInstance()
+ ->CheckMediaAccessPermission(web_contents, security_origin, type);
+}
+
bool ChromeWebContentsDelegateAndroid::RequestPpapiBrokerPermission(
WebContents* web_contents,
const GURL& url,
// Can't create a new contents for the current tab - invalid case.
DCHECK_NE(disposition, CURRENT_TAB);
- TabAndroid::InitTabHelpers(new_contents);
+ TabHelpers::AttachTabHelpers(new_contents);
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
user_gesture);
}
+ if (was_blocked)
+ *was_blocked = !handled;
if (!handled)
delete new_contents;
}
+void ChromeWebContentsDelegateAndroid::WebContentsCreated(
+ content::WebContents* source_contents, int opener_render_frame_id,
+ const base::string16& frame_name, const GURL& target_url,
+ content::WebContents* new_contents) {
+ JNIEnv* env = AttachCurrentThread();
+ ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
+ if (obj.is_null())
+ return;
+ Java_ChromeWebContentsDelegateAndroid_webContentsCreated(env, obj.obj(),
+ reinterpret_cast<intptr_t>(source_contents), opener_render_frame_id,
+ base::android::ConvertUTF16ToJavaString(env, frame_name).Release(),
+ base::android::ConvertUTF8ToJavaString(env, target_url.spec()).Release(),
+ reinterpret_cast<intptr_t>(new_contents));
+}
+
} // namespace android
} // namespace chrome