blob: 7f5b5553761db9fdc422d03c408f9c7ab30c3904 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/notreached.h"
#include "build/android_buildflags.h"
#include "chrome/browser/devtools/android/jni/DevToolsWindowAndroid_jni.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/buildflags.h"
#include "third_party/jni_zero/jni_zero.h"
#if BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND)
#include "chrome/browser/devtools/devtools_window.h"
#endif // BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND)
void JNI_DevToolsWindowAndroid_OpenDevTools(
JNIEnv* env,
const jni_zero::JavaParamRef<jobject>& java_web_contents) {
#if BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND)
content::WebContents* web_contents =
content::WebContents::FromJavaWebContents(java_web_contents);
DevToolsWindow::OpenDevToolsWindow(
web_contents, DevToolsToggleAction::Show(),
DevToolsOpenedByAction::kMainMenuOrMainShortcut);
#else
NOTREACHED();
#endif
}
jboolean JNI_DevToolsWindowAndroid_IsDevToolsAllowedFor(
JNIEnv* env,
const jni_zero::JavaParamRef<jobject>& java_profile,
const jni_zero::JavaParamRef<jobject>& java_web_contents) {
#if BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND)
Profile* profile = Profile::FromJavaObject(java_profile);
content::WebContents* web_contents =
content::WebContents::FromJavaWebContents(java_web_contents);
return DevToolsWindow::AllowDevToolsFor(profile, web_contents) ? JNI_TRUE
: JNI_FALSE;
#else
return JNI_FALSE;
#endif
}