int-test mqtt <-> prediction

This commit is contained in:
naumueller
2026-02-19 21:31:49 +01:00
parent 701cc0a8b6
commit 5ed5008def
461 changed files with 53944 additions and 11 deletions
+430
View File
@@ -0,0 +1,430 @@
# Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
# reserved. Use of this source code is governed by a BSD-style license that
# can be found in the LICENSE file.
#
# Source files.
#
# jcef sources.
set(JCEF_SRCS
CefApp.cpp
CefApp.h
CefAuthCallback_N.cpp
CefAuthCallback_N.h
CefBeforeDownloadCallback_N.cpp
CefBeforeDownloadCallback_N.h
CefBrowser_N.cpp
CefBrowser_N.h
CefCallback_N.cpp
CefCallback_N.h
CefClientHandler.cpp
CefClientHandler.h
CefCommandLine_N.cpp
CefCommandLine_N.h
CefContextMenuParams_N.cpp
CefContextMenuParams_N.h
CefCookieManager_N.cpp
CefCookieManager_N.h
CefDownloadItemCallback_N.cpp
CefDownloadItemCallback_N.h
CefDownloadItem_N.cpp
CefDownloadItem_N.h
CefDragData_N.cpp
CefDragData_N.h
CefFileDialogCallback_N.cpp
CefFileDialogCallback_N.h
CefFrame_N.cpp
CefFrame_N.h
CefJSDialogCallback_N.h
CefJSDialogCallback_N.cpp
CefMenuModel_N.cpp
CefMenuModel_N.h
CefMessageRouter_N.cpp
CefMessageRouter_N.h
CefPostData_N.cpp
CefPostData_N.h
CefPostDataElement_N.cpp
CefPostDataElement_N.h
CefPrintDialogCallback_N.cpp
CefPrintDialogCallback_N.h
CefPrintJobCallback_N.cpp
CefPrintJobCallback_N.h
CefPrintSettings_N.cpp
CefPrintSettings_N.h
CefQueryCallback_N.cpp
CefQueryCallback_N.h
CefRegistration_N.cpp
CefRegistration_N.h
CefRequest_N.cpp
CefRequest_N.h
CefCallback_N.cpp
CefCallback_N.h
CefRequestContext_N.cpp
CefRequestContext_N.h
CefResourceReadCallback_N.cpp
CefResourceReadCallback_N.h
CefResourceSkipCallback_N.cpp
CefResourceSkipCallback_N.h
CefResponse_N.cpp
CefResponse_N.h
CefSchemeRegistrar_N.cpp
CefSchemeRegistrar_N.h
CefURLRequest_N.cpp
CefURLRequest_N.h
browser_process_handler.cpp
browser_process_handler.h
client_app.cpp
client_app.h
client_handler.cpp
client_handler.h
completion_callback.cpp
completion_callback.h
context.cpp
context.h
context_menu_handler.cpp
context_menu_handler.h
cookie_access_filter.cpp
cookie_access_filter.h
cookie_visitor.cpp
cookie_visitor.h
critical_wait.h
devtools_message_observer.cpp
devtools_message_observer.h
dialog_handler.cpp
dialog_handler.h
display_handler.cpp
display_handler.h
download_handler.cpp
download_handler.h
drag_handler.cpp
drag_handler.h
focus_handler.cpp
focus_handler.h
int_callback.cpp
int_callback.h
jcef_version.h
jni_scoped_helpers.h
jni_scoped_helpers.cpp
jni_util.h
jni_util.cpp
jsdialog_handler.cpp
jsdialog_handler.h
keyboard_handler.cpp
keyboard_handler.h
life_span_handler.cpp
life_span_handler.h
load_handler.cpp
load_handler.h
message_router_handler.cpp
message_router_handler.h
pdf_print_callback.cpp
pdf_print_callback.h
print_handler.cpp
print_handler.h
render_handler.cpp
render_handler.h
request_context_handler.cpp
request_context_handler.h
request_handler.cpp
request_handler.h
resource_handler.cpp
resource_handler.h
resource_request_handler.cpp
resource_request_handler.h
run_file_dialog_callback.cpp
run_file_dialog_callback.h
scheme_handler_factory.cpp
scheme_handler_factory.h
string_visitor.cpp
string_visitor.h
temp_window.h
url_request_client.cpp
url_request_client.h
util.h
window_handler.cpp
window_handler.h
write_handler.cpp
write_handler.h
)
set(JCEF_SRCS_LINUX
critical_wait_posix.cpp
jni_util_linux.cpp
temp_window_x11.cc
temp_window_x11.h
util_linux.cpp
util_posix.cpp
)
set(JCEF_SRCS_MAC
critical_wait_posix.cpp
temp_window_mac.h
temp_window_mac.mm
util_mac.h
util_mac.mm
util_posix.cpp
)
set(JCEF_SRCS_WINDOWS
critical_wait_win.cpp
jni_util_win.cpp
jcef_dll.rc
temp_window_win.cc
temp_window_win.h
util_win.cpp
)
APPEND_PLATFORM_SOURCES(JCEF_SRCS)
source_group(jcef FILES ${JCEF_SRCS})
# jcef_helper sources.
set(JCEF_HELPER_SRCS
jcef_helper.cpp
util.h
)
set(JCEF_HELPER_SRCS_LINUX
util_posix.cpp
)
set(JCEF_HELPER_SRCS_MAC
util_posix.cpp
)
set(JCEF_HELPER_SRCS_WINDOWS
jcef_helper.rc
util_win.cpp
)
APPEND_PLATFORM_SOURCES(JCEF_HELPER_SRCS)
source_group(jcef FILES ${JCEF_HELPER_SRCS})
#
# Shared configuration.
#
# Target binary names.
set(JCEF_TARGET "jcef")
if(OS_MAC)
set(JCEF_APP_NAME "jcef_app")
set(JCEF_HELPER_TARGET "jcef_Helper")
set(JCEF_HELPER_OUTPUT_NAME "jcef Helper")
else()
set(JCEF_HELPER_TARGET "jcef_helper")
endif()
if(OS_LINUX OR OS_WINDOWS)
# Logical target used to link the libcef library on Linux and Windows.
# On macOS the CEF framework is loaded dynamically at startup.
ADD_LOGICAL_TARGET("libcef_lib" "${CEF_LIB_DEBUG}" "${CEF_LIB_RELEASE}")
endif()
# Determine the target output directory.
SET_CEF_TARGET_OUT_DIR()
#
# Linux configuration.
#
if(OS_LINUX)
# Helper executable target.
add_executable(${JCEF_HELPER_TARGET} ${JCEF_HELPER_SRCS})
SET_EXECUTABLE_TARGET_PROPERTIES(${JCEF_HELPER_TARGET})
add_dependencies(${JCEF_HELPER_TARGET} libcef_dll_wrapper)
target_link_libraries(${JCEF_HELPER_TARGET} libcef_lib libcef_dll_wrapper ${CEF_STANDARD_LIBS})
# Set rpath so that libraries can be placed next to the executable.
set_target_properties(${JCEF_HELPER_TARGET} PROPERTIES INSTALL_RPATH "$ORIGIN")
set_target_properties(${JCEF_HELPER_TARGET} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
# JCEF library target.
add_library(${JCEF_TARGET} SHARED ${JCEF_SRCS})
SET_LIBRARY_TARGET_PROPERTIES(${JCEF_TARGET})
add_dependencies(${JCEF_TARGET} libcef_dll_wrapper ${JCEF_HELPER_TARGET})
target_link_libraries(${JCEF_TARGET} libcef_lib libcef_dll_wrapper ${CEF_STANDARD_LIBS} ${JNI_LIBRARIES})
target_include_directories(${JCEF_TARGET} PUBLIC ${JNI_INCLUDE_DIRS})
# Compile flags specific to the JCEF library target.
# USING_JAVA = Add the USING_JAVA define.
target_compile_definitions(${JCEF_TARGET} PRIVATE "USING_JAVA")
# -fvisibility=default = Give default visibility to declarations that are not explicitly marked as visible.
# Necessary so that JNI symbols are properly exported when building with GCC.
# Related discussion: http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014446.html
# Test symbol export with: nm -D --defined-only libjcef.so | grep Java
set_target_properties(${JCEF_TARGET} PROPERTIES
COMPILE_FLAGS -fvisibility=default
)
# Set rpath so that libraries can be placed next to the library.
set_target_properties(${JCEF_TARGET} PROPERTIES INSTALL_RPATH "$ORIGIN")
set_target_properties(${JCEF_TARGET} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
# Copy binary and resource files to the target output directory.
COPY_FILES("${JCEF_TARGET}" "${CEF_BINARY_FILES}" "${CEF_BINARY_DIR}" "${CEF_TARGET_OUT_DIR}")
COPY_FILES("${JCEF_TARGET}" "${CEF_RESOURCE_FILES}" "${CEF_RESOURCE_DIR}" "${CEF_TARGET_OUT_DIR}")
# TODO(jcef): Eliminate the symlink requirement once we figure out how.
# See https://github.com/chromiumembedded/java-cef/issues/137#issuecomment-1465038405
add_custom_command(
TARGET ${JCEF_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E echo "*** Run the following commands manually to create necessary symlinks ***"
COMMAND ${CMAKE_COMMAND} -E echo "sudo ln -s ${CEF_RESOURCE_DIR}/icudtl.dat ${JAVA_DIR}/bin/icudtl.dat"
COMMAND ${CMAKE_COMMAND} -E echo "sudo ln -s ${CEF_BINARY_DIR}/snapshot_blob.bin ${JAVA_DIR}/bin/snapshot_blob.bin"
COMMAND ${CMAKE_COMMAND} -E echo "sudo ln -s ${CEF_BINARY_DIR}/v8_context_snapshot.bin ${JAVA_DIR}/bin/v8_context_snapshot.bin"
COMMAND ${CMAKE_COMMAND} -E echo ""
VERBATIM
)
endif()
#
# Mac OS X configuration.
#
if(OS_MAC)
# Find the ant executable, including Homebrew paths.
find_program(ANT_EXECUTABLE ant
HINTS /opt/homebrew/bin /usr/local/bin
)
if(NOT ANT_EXECUTABLE)
message(FATAL_ERROR "ant not found. Install with: brew install ant")
endif()
message(STATUS "Using ant: ${ANT_EXECUTABLE}")
# Avoid CMP0042 policy errors.
set(CMAKE_MACOSX_RPATH 1)
# Avoid CMP0068 policy errors.
if(POLICY CMP0068)
cmake_policy(SET CMP0068 NEW)
endif()
# Output path for the main app bundle.
set(JCEF_APP "${CEF_TARGET_OUT_DIR}/${JCEF_APP_NAME}.app")
# Variable referenced from Info.plist files.
set(EXECUTABLE_NAME "${JCEF_APP_NAME}")
set(PRODUCT_NAME "${JCEF_APP_NAME}")
# JCEF library target.
add_library(${JCEF_TARGET} SHARED ${JCEF_RESOURCES_SRCS} ${JCEF_SRCS})
SET_EXECUTABLE_TARGET_PROPERTIES(${JCEF_TARGET})
add_dependencies(${JCEF_TARGET} libcef_dll_wrapper)
target_link_libraries(${JCEF_TARGET} libcef_dll_wrapper ${CEF_STANDARD_LIBS} ${JNI_LIBRARIES})
target_include_directories(${JCEF_TARGET} PUBLIC ${JNI_INCLUDE_DIRS})
# Use ad-hoc code signing for the dynamic library (required by Xcode 14+).
set_target_properties(${JCEF_TARGET} PROPERTIES
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "-"
)
# Compile flags specific to the JCEF library target.
# USING_JAVA = Add the USING_JAVA define.
target_compile_definitions(${JCEF_TARGET} PRIVATE "USING_JAVA")
# Name and location of the JCEF library in the main app bundle.
set(JCEF_TARGET_LIBRARY "lib${JCEF_TARGET}.dylib")
set(JCEF_TARGET_LIBRARY_APP_PATH "${JCEF_APP}/Contents/Java/${JCEF_TARGET_LIBRARY}")
add_custom_command(
TARGET ${JCEF_TARGET}
POST_BUILD
# Build the main app bundle.
COMMAND ${ANT_EXECUTABLE}
-buildfile ${CMAKE_SOURCE_DIR}
-Djdk7.path=${JAVA_DIR}
-Dout.path=${CEF_TARGET_OUT_DIR}
-Dout.name=${JCEF_APP_NAME}
-Dout.id=org.jcef.jcef
-Dout.mainclass=tests.detailed.MainFrame
bundle
# Copy the CEF framework into the main app bundle.
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CEF_BINARY_DIR}/Chromium Embedded Framework.framework"
"${JCEF_APP}/Contents/Frameworks/Chromium Embedded Framework.framework"
# Copy the JCEF library into the main app bindle.
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CEF_TARGET_OUT_DIR}/${JCEF_TARGET_LIBRARY}"
"${JCEF_TARGET_LIBRARY_APP_PATH}"
VERBATIM
)
# Create the multiple Helper app bundle targets.
foreach(_suffix_list ${CEF_HELPER_APP_SUFFIXES})
# Convert to a list and extract the suffix values.
string(REPLACE ":" ";" _suffix_list ${_suffix_list})
list(GET _suffix_list 0 _name_suffix)
list(GET _suffix_list 1 _target_suffix)
list(GET _suffix_list 2 _plist_suffix)
# Define Helper target and output names.
set(_helper_target "${JCEF_HELPER_TARGET}${_target_suffix}")
set(_helper_output_name "${JCEF_HELPER_OUTPUT_NAME}${_name_suffix}")
# Create Helper-specific variants of the helper-Info.plist file. Do this
# manually because the configure_file command (which is executed as part of
# MACOSX_BUNDLE_INFO_PLIST) uses global env variables and would insert the
# wrong values with multiple targets.
set(_helper_info_plist "${CMAKE_CURRENT_BINARY_DIR}/jcef-Info${_target_suffix}.plist")
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/resources/jcef-Info.plist" _plist_contents)
string(REPLACE "\${EXECUTABLE_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents})
string(REPLACE "\${PRODUCT_NAME}" "${_helper_output_name}" _plist_contents ${_plist_contents})
string(REPLACE "\${BUNDLE_ID_SUFFIX}" "${_plist_suffix}" _plist_contents ${_plist_contents})
file(WRITE ${_helper_info_plist} ${_plist_contents})
# Create Helper executable target.
add_executable(${_helper_target} MACOSX_BUNDLE ${JCEF_HELPER_SRCS})
SET_EXECUTABLE_TARGET_PROPERTIES(${_helper_target})
add_dependencies(${_helper_target} libcef_dll_wrapper)
target_link_libraries(${_helper_target} libcef_dll_wrapper ${CEF_STANDARD_LIBS})
set_target_properties(${_helper_target} PROPERTIES
MACOSX_BUNDLE_INFO_PLIST ${_helper_info_plist}
OUTPUT_NAME ${_helper_output_name}
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "-"
)
# Add the Helper as a dependency of the main executable target.
add_dependencies(${JCEF_TARGET} "${_helper_target}")
# Copy the Helper app bundle into the Frameworks directory.
add_custom_command(
TARGET ${JCEF_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CEF_TARGET_OUT_DIR}/${_helper_output_name}.app"
"${JCEF_APP}/Contents/Frameworks/${_helper_output_name}.app"
VERBATIM
)
endforeach()
endif()
#
# Windows configuration.
#
if(OS_WINDOWS)
# Helper executable target.
add_executable(${JCEF_HELPER_TARGET} WIN32 ${JCEF_HELPER_SRCS})
SET_EXECUTABLE_TARGET_PROPERTIES(${JCEF_HELPER_TARGET})
add_dependencies(${JCEF_HELPER_TARGET} libcef_dll_wrapper)
target_link_libraries(${JCEF_HELPER_TARGET} libcef_lib libcef_dll_wrapper ${CEF_STANDARD_LIBS})
# JCEF library target.
add_library(${JCEF_TARGET} SHARED ${JCEF_SRCS})
SET_LIBRARY_TARGET_PROPERTIES(${JCEF_TARGET})
add_dependencies(${JCEF_TARGET} libcef_dll_wrapper ${JCEF_HELPER_TARGET})
target_link_libraries(${JCEF_TARGET} libcef_lib libcef_dll_wrapper ${CEF_STANDARD_LIBS} ${JNI_LIBRARIES})
target_include_directories(${JCEF_TARGET} PUBLIC ${JNI_INCLUDE_DIRS})
# Compile flags specific to the JCEF library target.
# USING_JAVA = Add the USING_JAVA define.
target_compile_definitions(${JCEF_TARGET} PRIVATE "USING_JAVA")
# Add the custom manifest files to the DLL and helper EXE.
ADD_WINDOWS_MANIFEST("${CMAKE_CURRENT_SOURCE_DIR}" "${JCEF_TARGET}" "dll")
ADD_WINDOWS_MANIFEST("${CMAKE_CURRENT_SOURCE_DIR}" "${JCEF_HELPER_TARGET}" "exe")
# Copy binary and resource files to the target output directory.
COPY_FILES("${JCEF_TARGET}" "${CEF_BINARY_FILES}" "${CEF_BINARY_DIR}" "${CEF_TARGET_OUT_DIR}")
COPY_FILES("${JCEF_TARGET}" "${CEF_RESOURCE_FILES}" "${CEF_RESOURCE_DIR}" "${CEF_TARGET_OUT_DIR}")
endif()
+118
View File
@@ -0,0 +1,118 @@
// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefApp.h"
#include <string>
#include "include/cef_app.h"
#include "include/cef_version_info.h"
#include "context.h"
#include "jcef_version.h"
#include "jni_util.h"
#include "scheme_handler_factory.h"
#include "util.h"
#if defined(OS_LINUX)
#include <X11/Xlib.h>
#endif
JNIEXPORT jboolean JNICALL Java_org_cef_CefApp_N_1PreInitialize(JNIEnv* env,
jobject c) {
#if !defined(OS_MACOSX)
// On macOS this is called from Startup().
Context::Create();
#endif
return Context::GetInstance()->PreInitialize(env, c) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_CefApp_N_1Initialize(JNIEnv* env,
jobject c,
jobject appHandler,
jobject jsettings) {
return Context::GetInstance()->Initialize(env, c, appHandler, jsettings)
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT void JNICALL Java_org_cef_CefApp_N_1Shutdown(JNIEnv* env, jobject) {
Context::GetInstance()->Shutdown();
Context::Destroy();
}
JNIEXPORT void JNICALL Java_org_cef_CefApp_N_1DoMessageLoopWork(JNIEnv* env,
jobject) {
Context::GetInstance()->DoMessageLoopWork();
}
JNIEXPORT jobject JNICALL Java_org_cef_CefApp_N_1GetVersion(JNIEnv* env,
jobject obj) {
return NewJNIObject(env, "org/cef/CefApp$CefVersion",
"(Lorg/cef/CefApp;IIIIIIIII)V", obj, JCEF_COMMIT_NUMBER,
cef_version_info(0), // CEF_VERSION_MAJOR
cef_version_info(1), // CEF_VERSION_MINOR
cef_version_info(2), // CEF_VERSION_PATCH
cef_version_info(3), // CEF_COMMIT_NUMBER
cef_version_info(4), // CHROME_VERSION_MAJOR
cef_version_info(5), // CHROME_VERSION_MINOR
cef_version_info(6), // CHROME_VERSION_BUILD
cef_version_info(7)); // CHROME_VERSION_PATCH
}
JNIEXPORT jboolean JNICALL
Java_org_cef_CefApp_N_1RegisterSchemeHandlerFactory(JNIEnv* env,
jobject,
jstring jSchemeName,
jstring jDomainName,
jobject jFactory) {
if (!jFactory)
return JNI_FALSE;
CefRefPtr<SchemeHandlerFactory> factory =
new SchemeHandlerFactory(env, jFactory);
if (!factory)
return JNI_FALSE;
bool result = CefRegisterSchemeHandlerFactory(GetJNIString(env, jSchemeName),
GetJNIString(env, jDomainName),
factory.get());
return result ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_CefApp_N_1ClearSchemeHandlerFactories(JNIEnv*, jobject) {
return CefClearSchemeHandlerFactories() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_CefApp_N_1Startup(JNIEnv* env,
jclass,
jstring pathToCefFramework) {
#if defined(OS_LINUX)
XInitThreads();
#elif defined(OS_MACOSX)
// Can't use GetJNIString before the CEF library is loaded.
std::string framework_path;
if (pathToCefFramework) {
const char* chr = env->GetStringUTFChars(pathToCefFramework, nullptr);
if (chr) {
framework_path = chr;
env->ReleaseStringUTFChars(pathToCefFramework, chr);
}
}
framework_path += "/Chromium Embedded Framework";
// Load the CEF framework library at runtime instead of linking directly
// as required by the macOS sandbox implementation.
if (!cef_load_library(framework_path.c_str()))
return JNI_FALSE;
// The Context object has members that can't be initialized until after the
// CEF framework is loaded.
Context::Create();
#endif // defined(OS_MACOSX)
return JNI_TRUE;
}
+105
View File
@@ -0,0 +1,105 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_CefApp */
#ifndef _Included_org_cef_CefApp
#define _Included_org_cef_CefApp
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_CefApp
* Method: N_Startup
* Signature: (Ljava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL Java_org_cef_CefApp_N_1Startup(JNIEnv*,
jclass,
jstring);
/*
* Class: org_cef_CefApp
* Method: N_PreInitialize
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_org_cef_CefApp_N_1PreInitialize(JNIEnv*,
jobject);
/*
* Class: org_cef_CefApp
* Method: N_Initialize
* Signature: (Lorg/cef/handler/CefAppHandler;Lorg/cef/CefSettings;)Z
*/
JNIEXPORT jboolean JNICALL Java_org_cef_CefApp_N_1Initialize(JNIEnv*,
jobject,
jobject,
jobject);
/*
* Class: org_cef_CefApp
* Method: N_Shutdown
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_CefApp_N_1Shutdown(JNIEnv*, jobject);
/*
* Class: org_cef_CefApp
* Method: N_DoMessageLoopWork
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_CefApp_N_1DoMessageLoopWork(JNIEnv*,
jobject);
/*
* Class: org_cef_CefApp
* Method: N_GetVersion
* Signature: ()Lorg/cef/CefApp/CefVersion;
*/
JNIEXPORT jobject JNICALL Java_org_cef_CefApp_N_1GetVersion(JNIEnv*, jobject);
/*
* Class: org_cef_CefApp
* Method: N_RegisterSchemeHandlerFactory
* Signature:
* (Ljava/lang/String;Ljava/lang/String;Lorg/cef/callback/CefSchemeHandlerFactory;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_CefApp_N_1RegisterSchemeHandlerFactory(JNIEnv*,
jobject,
jstring,
jstring,
jobject);
/*
* Class: org_cef_CefApp
* Method: N_ClearSchemeHandlerFactories
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_CefApp_N_1ClearSchemeHandlerFactories(JNIEnv*, jobject);
#ifdef __cplusplus
}
#endif
#endif
/* Header for class org_cef_CefApp_CefAppState */
#ifndef _Included_org_cef_CefApp_CefAppState
#define _Included_org_cef_CefApp_CefAppState
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif
/* Header for class org_cef_CefApp_CefVersion */
#ifndef _Included_org_cef_CefApp_CefVersion
#define _Included_org_cef_CefApp_CefVersion
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif
+45
View File
@@ -0,0 +1,45 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefAuthCallback_N.h"
#include "include/cef_request_handler.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefAuthCallback> GetSelf(jlong self) {
return reinterpret_cast<CefAuthCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in RequestHandler::GetAuthCredentials.
SetCefForJNIObject<CefAuthCallback>(env, obj, nullptr, "CefAuthCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefAuthCallback_1N_N_1Continue(JNIEnv* env,
jobject obj,
jlong self,
jstring username,
jstring password) {
CefRefPtr<CefAuthCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Continue(GetJNIString(env, username), GetJNIString(env, password));
ClearSelf(env, obj);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefAuthCallback_1N_N_1Cancel(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefAuthCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Cancel();
ClearSelf(env, obj);
}
+33
View File
@@ -0,0 +1,33 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefAuthCallback_N */
#ifndef _Included_org_cef_callback_CefAuthCallback_N
#define _Included_org_cef_callback_CefAuthCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefAuthCallback_N
* Method: N_Continue
* Signature: (JLjava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefAuthCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jstring,
jstring);
/*
* Class: org_cef_callback_CefAuthCallback_N
* Method: N_Cancel
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefAuthCallback_1N_N_1Cancel(JNIEnv*, jobject, jlong);
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,37 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefBeforeDownloadCallback_N.h"
#include "include/cef_download_handler.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefBeforeDownloadCallback> GetSelf(jlong self) {
return reinterpret_cast<CefBeforeDownloadCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in DownloadHandler::OnBeforeDownload.
SetCefForJNIObject<CefBeforeDownloadCallback>(env, obj, nullptr,
"CefBeforeDownloadCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefBeforeDownloadCallback_1N_N_1Continue(
JNIEnv* env,
jobject obj,
jlong self,
jstring jdownloadPath,
jboolean jshowDialog) {
CefRefPtr<CefBeforeDownloadCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Continue(GetJNIString(env, jdownloadPath),
jshowDialog != JNI_FALSE);
ClearSelf(env, obj);
}
@@ -0,0 +1,25 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefBeforeDownloadCallback_N */
#ifndef _Included_org_cef_callback_CefBeforeDownloadCallback_N
#define _Included_org_cef_callback_CefBeforeDownloadCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefBeforeDownloadCallback_N
* Method: N_Continue
* Signature: (JLjava/lang/String;Z)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefBeforeDownloadCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jstring,
jboolean);
#ifdef __cplusplus
}
#endif
#endif
File diff suppressed because it is too large Load Diff
+584
View File
@@ -0,0 +1,584 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_browser_CefBrowser_N */
#ifndef _Included_org_cef_browser_CefBrowser_N
#define _Included_org_cef_browser_CefBrowser_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_CreateBrowser
* Signature:
* (Lorg/cef/handler/CefClientHandler;JLjava/lang/String;ZZLjava/awt/Component;Lorg/cef/browser/CefRequestContext;Lorg/cef/CefBrowserSettings;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1CreateBrowser(JNIEnv*,
jobject,
jobject,
jlong,
jstring,
jboolean,
jboolean,
jobject,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_CreateDevTools
* Signature:
* (Lorg/cef/browser/CefBrowser;Lorg/cef/handler/CefClientHandler;JZZLjava/awt/Component;Ljava/awt/Point;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1CreateDevTools(JNIEnv*,
jobject,
jobject,
jobject,
jlong,
jboolean,
jboolean,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_ExecuteDevToolsMethod
* Signature:
* (Ljava/lang/String;Ljava/lang/String;Lorg/cef/browser/CefBrowser_N/IntCallback;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1ExecuteDevToolsMethod(JNIEnv*,
jobject,
jstring,
jstring,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_AddDevToolsMessageObserver
* Signature:
* (Lorg/cef/browser/CefDevToolsMessageObserver;)Lorg/cef/browser/CefRegistration;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1AddDevToolsMessageObserver(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetWindowHandle
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetWindowHandle(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_CanGoBack
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1CanGoBack(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GoBack
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1GoBack(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_CanGoForward
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1CanGoForward(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GoForward
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1GoForward(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_IsLoading
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1IsLoading(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_Reload
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1Reload(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_ReloadIgnoreCache
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1ReloadIgnoreCache(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_StopLoad
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1StopLoad(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetIdentifier
* Signature: ()I
*/
JNIEXPORT jint JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetIdentifier(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetMainFrame
* Signature: ()Lorg/cef/browser/CefFrame;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetMainFrame(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetFocusedFrame
* Signature: ()Lorg/cef/browser/CefFrame;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetFocusedFrame(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetFrameByIdentifier
* Signature: (Ljava/lang/String;)Lorg/cef/browser/CefFrame;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetFrameByIdentifier(JNIEnv*,
jobject,
jstring);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetFrameByName
* Signature: (Ljava/lang/String;)Lorg/cef/browser/CefFrame;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetFrameByName(JNIEnv*, jobject, jstring);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetFrameIdentifiers
* Signature: ()Ljava/util/Vector;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetFrameIdentifiers(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetFrameNames
* Signature: ()Ljava/util/Vector;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetFrameNames(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetFrameCount
* Signature: ()I
*/
JNIEXPORT jint JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetFrameCount(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_IsPopup
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1IsPopup(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_HasDocument
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1HasDocument(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_ViewSource
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1ViewSource(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetSource
* Signature: (Lorg/cef/callback/CefStringVisitor;)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1GetSource(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetText
* Signature: (Lorg/cef/callback/CefStringVisitor;)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1GetText(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_LoadRequest
* Signature: (Lorg/cef/network/CefRequest;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1LoadRequest(JNIEnv*, jobject, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_LoadURL
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1LoadURL(JNIEnv*,
jobject,
jstring);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_ExecuteJavaScript
* Signature: (Ljava/lang/String;Ljava/lang/String;I)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1ExecuteJavaScript(JNIEnv*,
jobject,
jstring,
jstring,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetURL
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_cef_browser_CefBrowser_1N_N_1GetURL(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_Close
* Signature: (Z)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1Close(JNIEnv*,
jobject,
jboolean);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SetFocus
* Signature: (Z)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1SetFocus(JNIEnv*,
jobject,
jboolean);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SetWindowVisibility
* Signature: (Z)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1SetWindowVisibility(JNIEnv*,
jobject,
jboolean);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetZoomLevel
* Signature: ()D
*/
JNIEXPORT jdouble JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetZoomLevel(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SetZoomLevel
* Signature: (D)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1SetZoomLevel(JNIEnv*, jobject, jdouble);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_RunFileDialog
* Signature:
* (Lorg/cef/handler/CefDialogHandler/FileDialogMode;Ljava/lang/String;Ljava/lang/String;Ljava/util/Vector;ILorg/cef/callback/CefRunFileDialogCallback;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1RunFileDialog(JNIEnv*,
jobject,
jobject,
jstring,
jstring,
jobject,
jint,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_StartDownload
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1StartDownload(JNIEnv*, jobject, jstring);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_Print
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1Print(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_PrintToPDF
* Signature:
* (Ljava/lang/String;Lorg/cef/misc/CefPdfPrintSettings;Lorg/cef/callback/CefPdfPrintCallback;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1PrintToPDF(JNIEnv*,
jobject,
jstring,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_Find
* Signature: (Ljava/lang/String;ZZZ)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1Find(JNIEnv*,
jobject,
jstring,
jboolean,
jboolean,
jboolean);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_StopFinding
* Signature: (Z)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1StopFinding(JNIEnv*, jobject, jboolean);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_CloseDevTools
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1CloseDevTools(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_ReplaceMisspelling
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1ReplaceMisspelling(JNIEnv*,
jobject,
jstring);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_WasResized
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1WasResized(JNIEnv*,
jobject,
jint,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_Invalidate
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1Invalidate(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SendKeyEvent
* Signature: (Ljava/awt/event/KeyEvent;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1SendKeyEvent(JNIEnv*, jobject, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SendMouseEvent
* Signature: (Ljava/awt/event/MouseEvent;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1SendMouseEvent(JNIEnv*, jobject, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SendMouseWheelEvent
* Signature: (Ljava/awt/event/MouseWheelEvent;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1SendMouseWheelEvent(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_DragTargetDragEnter
* Signature: (Lorg/cef/callback/CefDragData;Ljava/awt/Point;II)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1DragTargetDragEnter(JNIEnv*,
jobject,
jobject,
jobject,
jint,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_DragTargetDragOver
* Signature: (Ljava/awt/Point;II)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1DragTargetDragOver(JNIEnv*,
jobject,
jobject,
jint,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_DragTargetDragLeave
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1DragTargetDragLeave(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_DragTargetDrop
* Signature: (Ljava/awt/Point;I)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1DragTargetDrop(JNIEnv*,
jobject,
jobject,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_DragSourceEndedAt
* Signature: (Ljava/awt/Point;I)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1DragSourceEndedAt(JNIEnv*,
jobject,
jobject,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_DragSourceSystemDragEnded
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1DragSourceSystemDragEnded(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_UpdateUI
* Signature: (Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1UpdateUI(JNIEnv*,
jobject,
jobject,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SetParent
* Signature: (JLjava/awt/Component;)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefBrowser_1N_N_1SetParent(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_NotifyMoveOrResizeStarted
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1NotifyMoveOrResizeStarted(JNIEnv*,
jobject);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_SetWindowlessFrameRate
* Signature: (I)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1SetWindowlessFrameRate(JNIEnv*,
jobject,
jint);
/*
* Class: org_cef_browser_CefBrowser_N
* Method: N_GetWindowlessFrameRate
* Signature: (Lorg/cef/browser/CefBrowser_N/IntCallback;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefBrowser_1N_N_1GetWindowlessFrameRate(JNIEnv*,
jobject,
jobject);
#ifdef __cplusplus
}
#endif
#endif
/* Header for class org_cef_browser_CefBrowser_N_IntCallback */
#ifndef _Included_org_cef_browser_CefBrowser_N_IntCallback
#define _Included_org_cef_browser_CefBrowser_N_IntCallback
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif
+42
View File
@@ -0,0 +1,42 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefCallback_N.h"
#include "include/cef_callback.h"
#include "jni_scoped_helpers.h"
namespace {
CefRefPtr<CefCallback> GetSelf(jlong self) {
return reinterpret_cast<CefCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in ResourceHandler.
SetCefForJNIObject<CefCallback>(env, obj, nullptr, "CefCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCallback_1N_N_1Continue(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Continue();
ClearSelf(env, obj);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCallback_1N_N_1Cancel(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Cancel();
ClearSelf(env, obj);
}
+31
View File
@@ -0,0 +1,31 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefCallback_N */
#ifndef _Included_org_cef_callback_CefCallback_N
#define _Included_org_cef_callback_CefCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefCallback_N
* Method: N_Continue
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_callback_CefCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefCallback_N
* Method: N_Cancel
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_callback_CefCallback_1N_N_1Cancel(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+175
View File
@@ -0,0 +1,175 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefClientHandler.h"
#include "client_handler.h"
#include "jni_util.h"
#include "message_router_handler.h"
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1CefClientHandler_1CTOR(
JNIEnv* env,
jobject clientHandler) {
CefRefPtr<ClientHandler> client = new ClientHandler(env, clientHandler);
SetCefForJNIObject(env, clientHandler, client.get(), "CefClientHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1addMessageRouter(
JNIEnv* env,
jobject clientHandler,
jobject jmessageRouter) {
CefRefPtr<ClientHandler> client = GetCefFromJNIObject<ClientHandler>(
env, clientHandler, "CefClientHandler");
if (!client.get())
return;
client->AddMessageRouter(env, jmessageRouter);
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeContextMenuHandler(
JNIEnv* env,
jobject clientHandler,
jobject contextMenuHandler) {
SetCefForJNIObject<CefContextMenuHandler>(env, contextMenuHandler, nullptr,
"CefContextMenuHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDialogHandler(
JNIEnv* env,
jobject clientHandler,
jobject dialogHandler) {
SetCefForJNIObject<CefDialogHandler>(env, dialogHandler, nullptr,
"CefDialogHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDisplayHandler(
JNIEnv* env,
jobject clientHandler,
jobject displayHandler) {
SetCefForJNIObject<CefDisplayHandler>(env, displayHandler, nullptr,
"CefDisplayHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDownloadHandler(
JNIEnv* env,
jobject clientHandler,
jobject downloadHandler) {
SetCefForJNIObject<CefDownloadHandler>(env, downloadHandler, nullptr,
"CefDownloadHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDragHandler(
JNIEnv* env,
jobject clientHandler,
jobject dragHandler) {
SetCefForJNIObject<CefDragHandler>(env, dragHandler, nullptr,
"CefDragHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeFocusHandler(
JNIEnv* env,
jobject clientHandler,
jobject focusHandler) {
SetCefForJNIObject<CefFocusHandler>(env, focusHandler, nullptr,
"CefFocusHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeJSDialogHandler(
JNIEnv* env,
jobject clientHandler,
jobject jsdialogHandler) {
SetCefForJNIObject<CefJSDialogHandler>(env, jsdialogHandler, nullptr,
"CefJSDialogHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeKeyboardHandler(
JNIEnv* env,
jobject clientHandler,
jobject keyboardHandler) {
SetCefForJNIObject<CefKeyboardHandler>(env, keyboardHandler, nullptr,
"CefKeyboardHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeLifeSpanHandler(
JNIEnv* env,
jobject clientHandler,
jobject lifeSpanHandler) {
SetCefForJNIObject<CefLifeSpanHandler>(env, lifeSpanHandler, nullptr,
"CefLifeSpanHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeLoadHandler(
JNIEnv* env,
jobject clientHandler,
jobject loadHandler) {
SetCefForJNIObject<CefLoadHandler>(env, loadHandler, nullptr,
"CefLoadHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removePrintHandler(
JNIEnv* env,
jobject clientHandler,
jobject printHandler) {
SetCefForJNIObject<CefPrintHandler>(env, printHandler, nullptr,
"CefPrintHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeMessageRouter(
JNIEnv* env,
jobject clientHandler,
jobject jmessageRouter) {
CefRefPtr<ClientHandler> client = GetCefFromJNIObject<ClientHandler>(
env, clientHandler, "CefClientHandler");
if (!client.get())
return;
client->RemoveMessageRouter(env, jmessageRouter);
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeRenderHandler(
JNIEnv* env,
jobject clientHandler,
jobject renderHandler) {
SetCefForJNIObject<CefRenderHandler>(env, renderHandler, nullptr,
"CefRenderHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeRequestHandler(
JNIEnv* env,
jobject clientHandler,
jobject requestHandler) {
SetCefForJNIObject<CefRequestHandler>(env, requestHandler, nullptr,
"CefRequestHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeWindowHandler(
JNIEnv* env,
jobject clientHandler,
jobject windowHandler) {
SetCefForJNIObject<WindowHandler>(env, windowHandler, nullptr,
"CefWindowHandler");
}
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1CefClientHandler_1DTOR(
JNIEnv* env,
jobject clientHandler) {
// delete reference to the native client handler
SetCefForJNIObject<ClientHandler>(env, clientHandler, nullptr,
"CefClientHandler");
}
+191
View File
@@ -0,0 +1,191 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_handler_CefClientHandler */
#ifndef _Included_org_cef_handler_CefClientHandler
#define _Included_org_cef_handler_CefClientHandler
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_CefClientHandler_CTOR
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1CefClientHandler_1CTOR(JNIEnv*,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_addMessageRouter
* Signature: (Lorg/cef/browser/CefMessageRouter;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1addMessageRouter(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeContextMenuHandler
* Signature: (Lorg/cef/handler/CefContextMenuHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeContextMenuHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeDialogHandler
* Signature: (Lorg/cef/handler/CefDialogHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDialogHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeDisplayHandler
* Signature: (Lorg/cef/handler/CefDisplayHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDisplayHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeDownloadHandler
* Signature: (Lorg/cef/handler/CefDisplayHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDownloadHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeDragHandler
* Signature: (Lorg/cef/handler/CefDragHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeDragHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeFocusHandler
* Signature: (Lorg/cef/handler/CefFocusHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeFocusHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeJSDialogHandler
* Signature: (Lorg/cef/handler/CefJSDialogHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeJSDialogHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeKeyboardHandler
* Signature: (Lorg/cef/handler/CefKeyboardHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeKeyboardHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeLifeSpanHandler
* Signature: (Lorg/cef/handler/CefLifeSpanHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeLifeSpanHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeLoadHandler
* Signature: (Lorg/cef/handler/CefLoadHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeLoadHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removePrintHandler
* Signature: (Lorg/cef/handler/CefPrintHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removePrintHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeMessageRouter
* Signature: (Lorg/cef/browser/CefMessageRouter;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeMessageRouter(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeRenderHandler
* Signature: (Lorg/cef/handler/CefRenderHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeRenderHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeRequestHandler
* Signature: (Lorg/cef/handler/CefRequestHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeRequestHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_removeWindowHandler
* Signature: (Lorg/cef/handler/CefWindowHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1removeWindowHandler(JNIEnv*,
jobject,
jobject);
/*
* Class: org_cef_handler_CefClientHandler
* Method: N_CefClientHandler_DTOR
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_handler_CefClientHandler_N_1CefClientHandler_1DTOR(JNIEnv*,
jobject);
#ifdef __cplusplus
}
#endif
#endif
+148
View File
@@ -0,0 +1,148 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefCommandLine_N.h"
#include "include/cef_command_line.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefCommandLine> GetSelf(jlong self) {
return reinterpret_cast<CefCommandLine*>(self);
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1Reset(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return;
commandLine->Reset();
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetProgram(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return env->NewStringUTF("");
return NewJNIString(env, commandLine->GetProgram());
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1SetProgram(JNIEnv* env,
jobject obj,
jlong self,
jstring program) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return;
commandLine->SetProgram(GetJNIString(env, program));
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1HasSwitches(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return JNI_FALSE;
return commandLine->HasSwitches() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1HasSwitch(JNIEnv* env,
jobject obj,
jlong self,
jstring name) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return JNI_FALSE;
return commandLine->HasSwitch(GetJNIString(env, name)) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetSwitchValue(JNIEnv* env,
jobject obj,
jlong self,
jstring name) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return env->NewStringUTF("");
return NewJNIString(env,
commandLine->GetSwitchValue(GetJNIString(env, name)));
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetSwitches(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
CefCommandLine::SwitchMap switches;
if (commandLine)
commandLine->GetSwitches(switches);
return NewJNIStringMap(env, switches);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1AppendSwitch(JNIEnv* env,
jobject obj,
jlong self,
jstring name) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return;
commandLine->AppendSwitch(GetJNIString(env, name));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1AppendSwitchWithValue(
JNIEnv* env,
jobject obj,
jlong self,
jstring name,
jstring value) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return;
commandLine->AppendSwitchWithValue(GetJNIString(env, name),
GetJNIString(env, value));
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1HasArguments(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return JNI_FALSE;
return commandLine->HasArguments() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetArguments(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
CefCommandLine::ArgumentList arguments;
if (commandLine)
commandLine->GetArguments(arguments);
return NewJNIStringVector(env, arguments);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1AppendArgument(JNIEnv* env,
jobject obj,
jlong self,
jstring argument) {
CefRefPtr<CefCommandLine> commandLine = GetSelf(self);
if (!commandLine)
return;
commandLine->AppendArgument(GetJNIString(env, argument));
}
+133
View File
@@ -0,0 +1,133 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefCommandLine_N */
#ifndef _Included_org_cef_callback_CefCommandLine_N
#define _Included_org_cef_callback_CefCommandLine_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_Reset
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_callback_CefCommandLine_1N_N_1Reset(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_GetProgram
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetProgram(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_SetProgram
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1SetProgram(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_HasSwitches
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1HasSwitches(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_HasSwitch
* Signature: (JLjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1HasSwitch(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_GetSwitchValue
* Signature: (JLjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetSwitchValue(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_GetSwitches
* Signature: (J)Ljava/util/Map;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetSwitches(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_AppendSwitch
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1AppendSwitch(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_AppendSwitchWithValue
* Signature: (JLjava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1AppendSwitchWithValue(JNIEnv*,
jobject,
jlong,
jstring,
jstring);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_HasArguments
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1HasArguments(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_GetArguments
* Signature: (J)Ljava/util/Vector;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1GetArguments(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefCommandLine_N
* Method: N_AppendArgument
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefCommandLine_1N_N_1AppendArgument(JNIEnv*,
jobject,
jlong,
jstring);
#ifdef __cplusplus
}
#endif
#endif
+231
View File
@@ -0,0 +1,231 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefContextMenuParams_N.h"
#include "include/cef_context_menu_handler.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefContextMenuParams> GetSelf(jlong self) {
return reinterpret_cast<CefContextMenuParams*>(self);
}
} // namespace
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetXCoord(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return 0;
return menuParams->GetXCoord();
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetYCoord(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return 0;
return menuParams->GetYCoord();
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetTypeFlags(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return 0;
return (jint)menuParams->GetTypeFlags();
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetLinkUrl(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetLinkUrl());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetUnfilteredLinkUrl(
JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetUnfilteredLinkUrl());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetSourceUrl(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetSourceUrl());
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1HasImageContents(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return JNI_FALSE;
return menuParams->HasImageContents() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetPageUrl(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetPageUrl());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetFrameUrl(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetFrameUrl());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetFrameCharset(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetFrameCharset());
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetMediaType(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
jobject result =
GetJNIEnumValue(env, "org/cef/callback/CefContextMenuParams$MediaType",
"CM_MEDIATYPE_NONE");
if (!menuParams)
return result;
switch (menuParams->GetMediaType()) {
JNI_CASE(env, "org/cef/callback/CefContextMenuParams$MediaType",
CM_MEDIATYPE_IMAGE, result);
JNI_CASE(env, "org/cef/callback/CefContextMenuParams$MediaType",
CM_MEDIATYPE_VIDEO, result);
JNI_CASE(env, "org/cef/callback/CefContextMenuParams$MediaType",
CM_MEDIATYPE_AUDIO, result);
JNI_CASE(env, "org/cef/callback/CefContextMenuParams$MediaType",
CM_MEDIATYPE_FILE, result);
JNI_CASE(env, "org/cef/callback/CefContextMenuParams$MediaType",
CM_MEDIATYPE_PLUGIN, result);
default:
JNI_CASE(env, "org/cef/callback/CefContextMenuParams$MediaType",
CM_MEDIATYPE_NONE, result);
}
return result;
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetMediaStateFlags(
JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return 0;
return (jint)menuParams->GetMediaStateFlags();
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetSelectionText(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetSelectionText());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetMisspelledWord(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return nullptr;
return NewJNIString(env, menuParams->GetMisspelledWord());
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetDictionarySuggestions(
JNIEnv* env,
jobject obj,
jlong self,
jobject jsuggestions) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return false;
std::vector<CefString> suggestions;
bool result = menuParams->GetDictionarySuggestions(suggestions);
if (!result)
return JNI_FALSE;
for (std::vector<CefString>::size_type i = 0; i < suggestions.size(); ++i) {
AddJNIStringToVector(env, jsuggestions, suggestions.at(i));
}
return JNI_TRUE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1IsEditable(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return JNI_FALSE;
return menuParams->IsEditable() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1IsSpellCheckEnabled(
JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return JNI_FALSE;
return menuParams->IsSpellCheckEnabled() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetEditStateFlags(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefContextMenuParams> menuParams = GetSelf(self);
if (!menuParams)
return 0;
return (jint)menuParams->GetEditStateFlags();
}
+195
View File
@@ -0,0 +1,195 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefContextMenuParams_N */
#ifndef _Included_org_cef_callback_CefContextMenuParams_N
#define _Included_org_cef_callback_CefContextMenuParams_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetXCoord
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetXCoord(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetYCoord
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetYCoord(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetTypeFlags
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetTypeFlags(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetLinkUrl
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetLinkUrl(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetUnfilteredLinkUrl
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetUnfilteredLinkUrl(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetSourceUrl
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetSourceUrl(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_HasImageContents
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1HasImageContents(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetPageUrl
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetPageUrl(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetFrameUrl
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetFrameUrl(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetFrameCharset
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetFrameCharset(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetMediaType
* Signature: (J)Lorg/cef/callback/CefContextMenuParams/MediaType;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetMediaType(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetMediaStateFlags
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetMediaStateFlags(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetSelectionText
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetSelectionText(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetMisspelledWord
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetMisspelledWord(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetDictionarySuggestions
* Signature: (JLjava/util/Vector;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetDictionarySuggestions(
JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_IsEditable
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1IsEditable(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_IsSpellCheckEnabled
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1IsSpellCheckEnabled(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefContextMenuParams_N
* Method: N_GetEditStateFlags
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefContextMenuParams_1N_N_1GetEditStateFlags(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+171
View File
@@ -0,0 +1,171 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefCookieManager_N.h"
#include "include/base/cef_callback.h"
#include "include/cef_cookie.h"
#include "include/cef_task.h"
#include "include/wrapper/cef_closure_task.h"
#include "completion_callback.h"
#include "cookie_visitor.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
const char kCefClassName[] = "CefCookieManager";
CefRefPtr<CefCookieManager> GetSelf(jlong self) {
return reinterpret_cast<CefCookieManager*>(self);
}
CefCookie GetJNICookie(JNIEnv* env, jobject jcookie) {
CefCookie cookie;
ScopedJNIClass cls(env, "org/cef/network/CefCookie");
if (!cls)
return cookie;
CefString name(&cookie.name);
CefString value(&cookie.value);
CefString domain(&cookie.domain);
CefString path(&cookie.path);
CefBaseTime creation, lastAccess, expires;
GetJNIFieldString(env, cls, jcookie, "name", &name);
GetJNIFieldString(env, cls, jcookie, "value", &value);
GetJNIFieldString(env, cls, jcookie, "domain", &domain);
GetJNIFieldString(env, cls, jcookie, "path", &path);
GetJNIFieldBoolean(env, cls, jcookie, "secure", &cookie.secure);
GetJNIFieldBoolean(env, cls, jcookie, "httponly", &cookie.httponly);
GetJNIFieldDate(env, cls, jcookie, "creation", &creation);
cookie.creation = creation;
GetJNIFieldDate(env, cls, jcookie, "lastAccess", &lastAccess);
cookie.last_access = lastAccess;
GetJNIFieldBoolean(env, cls, jcookie, "hasExpires", &cookie.has_expires);
if (cookie.has_expires) {
GetJNIFieldDate(env, cls, jcookie, "expires", &expires);
cookie.expires = expires;
}
return cookie;
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1GetGlobalManager(JNIEnv* env,
jclass cls) {
// TODO(JCEF): Expose the callback object.
CefRefPtr<CefCookieManager> manager =
CefCookieManager::GetGlobalManager(nullptr);
if (!manager)
return nullptr;
ScopedJNIObjectLocal jManager(env, NewJNIObject(env, cls));
if (!jManager)
return nullptr;
SetCefForJNIObject(env, jManager, manager.get(), kCefClassName);
return jManager.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefCookieManager>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1VisitAllCookies(JNIEnv* env,
jobject obj,
jlong self,
jobject jvisitor) {
CefRefPtr<CefCookieManager> manager = GetSelf(self);
if (!manager || !jvisitor)
return JNI_FALSE;
CefRefPtr<CefCookieVisitor> visitor = new CookieVisitor(env, jvisitor);
return manager->VisitAllCookies(visitor) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1VisitUrlCookies(
JNIEnv* env,
jobject obj,
jlong self,
jstring jurl,
jboolean jincludeHttpOnly,
jobject jvisitor) {
CefRefPtr<CefCookieManager> manager = GetSelf(self);
if (!manager || !jvisitor)
return JNI_FALSE;
CefRefPtr<CefCookieVisitor> visitor = new CookieVisitor(env, jvisitor);
bool result = manager->VisitUrlCookies(
GetJNIString(env, jurl), (jincludeHttpOnly != JNI_FALSE), visitor);
return result ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1SetCookie(JNIEnv* env,
jobject obj,
jlong self,
jstring jurl,
jobject jcookie) {
CefRefPtr<CefCookieManager> manager = GetSelf(self);
if (!manager)
return JNI_FALSE;
// The method CefCookieManager::SetCookie must be called on the IO thread.
// We ignore its return value and return the result of the PostTask event to
// java instead.
// TODO(JCEF): Expose the callback object.
bool result = CefPostTask(
TID_IO, base::BindOnce(base::IgnoreResult(&CefCookieManager::SetCookie),
manager.get(), GetJNIString(env, jurl),
GetJNICookie(env, jcookie),
CefRefPtr<CefSetCookieCallback>()));
return result ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1DeleteCookies(JNIEnv* env,
jobject obj,
jlong self,
jstring jurl,
jstring jcookieName) {
CefRefPtr<CefCookieManager> manager = GetSelf(self);
if (!manager)
return JNI_FALSE;
// The method CefCookieManager::DeleteCookies must be called on the IO thread.
// We ignore its return value and return the result of the PostTask event to
// java instead.
// TODO(JCEF): Expose the callback object.
bool result = CefPostTask(
TID_IO,
base::BindOnce(base::IgnoreResult(&CefCookieManager::DeleteCookies),
manager.get(), GetJNIString(env, jurl),
GetJNIString(env, jcookieName),
CefRefPtr<CefDeleteCookiesCallback>()));
return result ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1FlushStore(JNIEnv* env,
jobject obj,
jlong self,
jobject jhandler) {
CefRefPtr<CefCookieManager> manager = GetSelf(self);
if (!manager)
return JNI_FALSE;
CefRefPtr<CefCompletionCallback> callback =
new CompletionCallback(env, jhandler);
bool result = manager->FlushStore(callback);
return result ? JNI_TRUE : JNI_FALSE;
}
+88
View File
@@ -0,0 +1,88 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_network_CefCookieManager_N */
#ifndef _Included_org_cef_network_CefCookieManager_N
#define _Included_org_cef_network_CefCookieManager_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_GetGlobalManager
* Signature: ()Lorg/cef/network/CefCookieManager_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1GetGlobalManager(JNIEnv*, jclass);
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1Dispose(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_VisitAllCookies
* Signature: (JLorg/cef/callback/CefCookieVisitor;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1VisitAllCookies(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_VisitUrlCookies
* Signature: (JLjava/lang/String;ZLorg/cef/callback/CefCookieVisitor;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1VisitUrlCookies(JNIEnv*,
jobject,
jlong,
jstring,
jboolean,
jobject);
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_SetCookie
* Signature: (JLjava/lang/String;Lorg/cef/network/CefCookie;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1SetCookie(JNIEnv*,
jobject,
jlong,
jstring,
jobject);
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_DeleteCookies
* Signature: (JLjava/lang/String;Ljava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1DeleteCookies(JNIEnv*,
jobject,
jlong,
jstring,
jstring);
/*
* Class: org_cef_network_CefCookieManager_N
* Method: N_FlushStore
* Signature: (JLorg/cef/callback/CefCompletionCallback;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefCookieManager_1N_N_1FlushStore(JNIEnv*,
jobject,
jlong,
jobject);
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,63 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefDownloadItemCallback_N.h"
#include "include/cef_download_handler.h"
#include "jni_scoped_helpers.h"
namespace {
CefRefPtr<CefDownloadItemCallback> GetSelf(jlong self) {
return reinterpret_cast<CefDownloadItemCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in DownloadHandler::OnDownloadUpdated.
SetCefForJNIObject<CefDownloadItemCallback>(env, obj, nullptr,
"CefDownloadItemCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Cancel(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItemCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Cancel();
ClearSelf(env, obj);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Pause(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItemCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Pause();
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Resume(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItemCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Resume();
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItemCallback> callback = GetSelf(self);
if (!callback)
return;
// Intentionally not executing any callback methods here.
ClearSelf(env, obj);
}
@@ -0,0 +1,53 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefDownloadItemCallback_N */
#ifndef _Included_org_cef_callback_CefDownloadItemCallback_N
#define _Included_org_cef_callback_CefDownloadItemCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefDownloadItemCallback_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItemCallback_N
* Method: N_Cancel
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Cancel(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItemCallback_N
* Method: N_Pause
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Pause(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItemCallback_N
* Method: N_Resume
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDownloadItemCallback_1N_N_1Resume(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+178
View File
@@ -0,0 +1,178 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefDownloadItem_N.h"
#include "include/cef_download_item.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefDownloadItem> GetSelf(jlong self) {
return reinterpret_cast<CefDownloadItem*>(self);
}
} // namespace
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsValid(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return JNI_FALSE;
return downloadItem->IsValid() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsInProgress(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return JNI_FALSE;
return downloadItem->IsInProgress() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsComplete(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return JNI_FALSE;
return downloadItem->IsComplete() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsCanceled(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return JNI_FALSE;
return downloadItem->IsCanceled() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jlong JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetCurrentSpeed(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return 0;
return downloadItem->GetCurrentSpeed();
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetPercentComplete(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return 0;
return downloadItem->GetPercentComplete();
}
JNIEXPORT jlong JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetTotalBytes(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return 0;
return downloadItem->GetTotalBytes();
}
JNIEXPORT jlong JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetReceivedBytes(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return 0;
return downloadItem->GetReceivedBytes();
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetStartTime(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
ScopedJNIDate jdate(env, downloadItem->GetStartTime());
return jdate.Release();
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetEndTime(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
ScopedJNIDate jdate(env, downloadItem->GetEndTime());
return jdate.Release();
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetFullPath(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
return NewJNIString(env, downloadItem->GetFullPath());
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetId(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return -1;
return downloadItem->GetId();
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetURL(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
return NewJNIString(env, downloadItem->GetURL());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetSuggestedFileName(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
return NewJNIString(env, downloadItem->GetSuggestedFileName());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetContentDisposition(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
return NewJNIString(env, downloadItem->GetContentDisposition());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetMimeType(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDownloadItem> downloadItem = GetSelf(self);
if (!downloadItem)
return nullptr;
return NewJNIString(env, downloadItem->GetMimeType());
}
+161
View File
@@ -0,0 +1,161 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefDownloadItem_N */
#ifndef _Included_org_cef_callback_CefDownloadItem_N
#define _Included_org_cef_callback_CefDownloadItem_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_IsValid
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsValid(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_IsInProgress
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsInProgress(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_IsComplete
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsComplete(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_IsCanceled
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1IsCanceled(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetCurrentSpeed
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetCurrentSpeed(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetPercentComplete
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetPercentComplete(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetTotalBytes
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetTotalBytes(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetReceivedBytes
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetReceivedBytes(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetStartTime
* Signature: (J)Ljava/util/Date;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetStartTime(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetEndTime
* Signature: (J)Ljava/util/Date;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetEndTime(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetFullPath
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetFullPath(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetId
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetId(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetURL
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetURL(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetSuggestedFileName
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetSuggestedFileName(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetContentDisposition
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetContentDisposition(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDownloadItem_N
* Method: N_GetMimeType
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDownloadItem_1N_N_1GetMimeType(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+298
View File
@@ -0,0 +1,298 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefDragData_N.h"
#include "include/cef_drag_handler.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "write_handler.h"
namespace {
const char kCefClassName[] = "CefDragData";
CefRefPtr<CefDragData> GetSelf(jlong self) {
return reinterpret_cast<CefDragData*>(self);
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDragData_1N_N_1Create(JNIEnv* env, jclass cls) {
CefRefPtr<CefDragData> dragData = CefDragData::Create();
ScopedJNIDragData jdragData(env, dragData);
return jdragData.Release();
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDragData_1N_N_1Clone(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
CefRefPtr<CefDragData> cloneData = dragData->Clone();
ScopedJNIDragData jcloneData(env, cloneData);
return jcloneData.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefDragData>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsReadOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return JNI_TRUE;
return dragData->IsReadOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsLink(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return JNI_FALSE;
return dragData->IsLink() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsFragment(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return JNI_FALSE;
return dragData->IsFragment() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsFile(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return JNI_FALSE;
return dragData->IsFile() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetLinkURL(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetLinkURL());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetLinkTitle(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetLinkTitle());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetLinkMetadata(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetLinkMetadata());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFragmentText(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetFragmentText());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFragmentHtml(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetFragmentHtml());
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFragmentBaseURL(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetFragmentBaseURL());
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFileContents(JNIEnv* env,
jobject obj,
jlong self,
jobject jstream) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData || !jstream)
return 0;
CefRefPtr<CefWriteHandler> handler = new WriteHandler(env, jstream);
return (jint)dragData->GetFileContents(
CefStreamWriter::CreateForHandler(handler));
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFileName(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return nullptr;
return NewJNIString(env, dragData->GetFileName());
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFileNames(JNIEnv* env,
jobject obj,
jlong self,
jobject jfileNames) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return JNI_FALSE;
std::vector<CefString> fileNames;
if (!dragData->GetFileNames(fileNames))
return JNI_FALSE;
for (size_t i = 0; i < fileNames.size(); ++i) {
AddJNIStringToVector(env, jfileNames, fileNames.at(i));
}
return JNI_TRUE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFilePaths(JNIEnv* env,
jobject obj,
jlong self,
jobject jfilePaths) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return JNI_FALSE;
std::vector<CefString> filePaths;
if (!dragData->GetFilePaths(filePaths))
return JNI_FALSE;
for (size_t i = 0; i < filePaths.size(); ++i) {
AddJNIStringToVector(env, jfilePaths, filePaths.at(i));
}
return JNI_TRUE;
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetLinkURL(JNIEnv* env,
jobject obj,
jlong self,
jstring jurl) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->SetLinkURL(GetJNIString(env, jurl));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetLinkTitle(JNIEnv* env,
jobject obj,
jlong self,
jstring jtitle) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->SetLinkTitle(GetJNIString(env, jtitle));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetLinkMetadata(JNIEnv* env,
jobject obj,
jlong self,
jstring jmetaData) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->SetLinkMetadata(GetJNIString(env, jmetaData));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetFragmentText(JNIEnv* env,
jobject obj,
jlong self,
jstring jfragment) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->SetFragmentText(GetJNIString(env, jfragment));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetFragmentHtml(JNIEnv* env,
jobject obj,
jlong self,
jstring jfragment) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->SetFragmentHtml(GetJNIString(env, jfragment));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetFragmentBaseURL(JNIEnv* env,
jobject obj,
jlong self,
jstring jfragment) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->SetFragmentBaseURL(GetJNIString(env, jfragment));
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1ResetFileContents(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->ResetFileContents();
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1AddFile(JNIEnv* env,
jobject obj,
jlong self,
jstring jpath,
jstring jdisplayName) {
CefRefPtr<CefDragData> dragData = GetSelf(self);
if (!dragData)
return;
dragData->AddFile(GetJNIString(env, jpath), GetJNIString(env, jdisplayName));
}
+255
View File
@@ -0,0 +1,255 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefDragData_N */
#ifndef _Included_org_cef_callback_CefDragData_N
#define _Included_org_cef_callback_CefDragData_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_Create
* Signature: ()Lorg/cef/callback/CefDragData_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefDragData_1N_N_1Create(JNIEnv*, jclass);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_Clone
* Signature: (J)Lorg/cef/callback/CefDragData_N;
*/
JNIEXPORT jobject JNICALL Java_org_cef_callback_CefDragData_1N_N_1Clone(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_callback_CefDragData_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_IsReadOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsReadOnly(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_IsLink
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsLink(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_IsFragment
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsFragment(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_IsFile
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1IsFile(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetLinkURL
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetLinkURL(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetLinkTitle
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetLinkTitle(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetLinkMetadata
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetLinkMetadata(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFragmentText
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFragmentText(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFragmentHtml
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFragmentHtml(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFragmentBaseURL
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFragmentBaseURL(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFileContents
* Signature: (JLjava/io/OutputStream;)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFileContents(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFileName
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFileName(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFileNames
* Signature: (JLjava/util/Vector;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFileNames(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_GetFilePaths
* Signature: (JLjava/util/Vector;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefDragData_1N_N_1GetFilePaths(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_SetLinkURL
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetLinkURL(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_SetLinkTitle
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetLinkTitle(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_SetLinkMetadata
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetLinkMetadata(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_SetFragmentText
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetFragmentText(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_SetFragmentHtml
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetFragmentHtml(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_SetFragmentBaseURL
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1SetFragmentBaseURL(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_ResetFileContents
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefDragData_1N_N_1ResetFileContents(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_callback_CefDragData_N
* Method: N_AddFile
* Signature: (JLjava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_cef_callback_CefDragData_1N_N_1AddFile(JNIEnv*,
jobject,
jlong,
jstring,
jstring);
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,49 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefFileDialogCallback_N.h"
#include "include/cef_dialog_handler.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefFileDialogCallback> GetSelf(jlong self) {
return reinterpret_cast<CefFileDialogCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in DialogHandler::OnFileDialog.
SetCefForJNIObject<CefFileDialogCallback>(env, obj, nullptr,
"CefFileDialogCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefFileDialogCallback_1N_N_1Continue(JNIEnv* env,
jobject obj,
jlong self,
jobject jFilePaths) {
CefRefPtr<CefFileDialogCallback> callback = GetSelf(self);
if (!callback)
return;
std::vector<CefString> filePaths;
GetJNIStringVector(env, jFilePaths, filePaths);
callback->Continue(filePaths);
ClearSelf(env, obj);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefFileDialogCallback_1N_N_1Cancel(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFileDialogCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Cancel();
ClearSelf(env, obj);
}
+34
View File
@@ -0,0 +1,34 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefFileDialogCallback_N */
#ifndef _Included_org_cef_callback_CefFileDialogCallback_N
#define _Included_org_cef_callback_CefFileDialogCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefFileDialogCallback_N
* Method: N_Continue
* Signature: (JLjava/util/Vector;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefFileDialogCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_callback_CefFileDialogCallback_N
* Method: N_Cancel
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefFileDialogCallback_1N_N_1Cancel(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+177
View File
@@ -0,0 +1,177 @@
// Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefFrame_N.h"
#include "include/cef_frame.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefFrame> GetSelf(jlong self) {
return reinterpret_cast<CefFrame*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
SetCefForJNIObject<CefFrame>(env, obj, nullptr, "CefFrame");
}
} // namespace
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
ClearSelf(env, obj);
}
JNIEXPORT jstring JNICALL
Java_org_cef_browser_CefFrame_1N_N_1GetIdentifier(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return nullptr;
return NewJNIString(env, frame->GetIdentifier());
}
JNIEXPORT jstring JNICALL
Java_org_cef_browser_CefFrame_1N_N_1GetURL(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return nullptr;
return NewJNIString(env, frame->GetURL());
}
JNIEXPORT jstring JNICALL
Java_org_cef_browser_CefFrame_1N_N_1GetName(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return nullptr;
return NewJNIString(env, frame->GetName());
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefFrame_1N_N_1IsMain(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return JNI_FALSE;
return frame->IsMain() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefFrame_1N_N_1IsValid(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return JNI_FALSE;
return frame->IsValid() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefFrame_1N_N_1IsFocused(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return JNI_FALSE;
return frame->IsFocused() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefFrame_1N_N_1GetParent(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return nullptr;
CefRefPtr<CefFrame> parent = frame->GetParent();
if (!parent)
return nullptr;
ScopedJNIFrame jparent(env, parent);
return jparent.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_browser_CefFrame_1N_N_1ExecuteJavaScript(JNIEnv* env,
jobject obj,
jlong self,
jstring code,
jstring url,
jint line) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->ExecuteJavaScript(GetJNIString(env, code), GetJNIString(env, url),
line);
}
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Undo(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->Undo();
}
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Redo(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->Redo();
}
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Cut(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->Cut();
}
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Copy(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->Copy();
}
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Paste(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->Paste();
}
JNIEXPORT void JNICALL
Java_org_cef_browser_CefFrame_1N_N_1SelectAll(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefFrame> frame = GetSelf(self);
if (!frame)
return;
frame->SelectAll();
}
+150
View File
@@ -0,0 +1,150 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_browser_CefFrame_N */
#ifndef _Included_org_cef_browser_CefFrame_N
#define _Included_org_cef_browser_CefFrame_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_GetIdentifier
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_browser_CefFrame_1N_N_1GetIdentifier(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_GetURL
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_cef_browser_CefFrame_1N_N_1GetURL(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_GetName
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_cef_browser_CefFrame_1N_N_1GetName(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_IsMain
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL Java_org_cef_browser_CefFrame_1N_N_1IsMain(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_IsValid
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL Java_org_cef_browser_CefFrame_1N_N_1IsValid(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_IsFocused
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefFrame_1N_N_1IsFocused(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_GetParent
* Signature: (J)Lorg/cef/browser/CefFrame;
*/
JNIEXPORT jobject JNICALL Java_org_cef_browser_CefFrame_1N_N_1GetParent(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_ExecuteJavaScript
* Signature: (JLjava/lang/String;Ljava/lang/String;I)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefFrame_1N_N_1ExecuteJavaScript(JNIEnv*,
jobject,
jlong,
jstring,
jstring,
jint);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_Undo
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Undo(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_Redo
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Redo(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_Cut
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Cut(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_Copy
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Copy(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_Paste
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1Paste(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_browser_CefFrame_N
* Method: N_SelectAll
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_browser_CefFrame_1N_N_1SelectAll(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+36
View File
@@ -0,0 +1,36 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefJSDialogCallback_N.h"
#include "include/cef_jsdialog_handler.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefJSDialogCallback> GetSelf(jlong self) {
return reinterpret_cast<CefJSDialogCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in JSDialogHandler::OnJSDialog and
// JSDialogHandler::OnBeforeUnloadDialog.
SetCefForJNIObject<CefJSDialogCallback>(env, obj, nullptr,
"CefJSDialogCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefJSDialogCallback_1N_N_1Continue(JNIEnv* env,
jobject obj,
jlong self,
jboolean jsuccess,
jstring juser_input) {
CefRefPtr<CefJSDialogCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Continue((jsuccess != JNI_FALSE), GetJNIString(env, juser_input));
ClearSelf(env, obj);
}
+25
View File
@@ -0,0 +1,25 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefJSDialogCallback_N */
#ifndef _Included_org_cef_callback_CefJSDialogCallback_N
#define _Included_org_cef_callback_CefJSDialogCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefJSDialogCallback_N
* Method: N_Continue
* Signature: (JZLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefJSDialogCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jboolean,
jstring);
#ifdef __cplusplus
}
#endif
#endif
+688
View File
@@ -0,0 +1,688 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefMenuModel_N.h"
#include "include/cef_menu_model.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
CefRefPtr<CefMenuModel> GetSelf(jlong self) {
return reinterpret_cast<CefMenuModel*>(self);
}
} // namespace
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1Clear(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->Clear() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetCount(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return 0;
return (jint)menuModel->GetCount();
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddSeparator(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->AddSeparator() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddItem(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->AddItem(jcommand_id, GetJNIString(env, jlabel)) ? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddCheckItem(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->AddCheckItem(jcommand_id, GetJNIString(env, jlabel))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddRadioItem(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jstring jlabel,
jint jgroup_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->AddRadioItem(jcommand_id, GetJNIString(env, jlabel),
jgroup_id)
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddSubMenu(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return nullptr;
CefRefPtr<CefMenuModel> subMenu =
menuModel->AddSubMenu(jcommand_id, GetJNIString(env, jlabel));
ScopedJNIMenuModel jmenuModel(env, subMenu);
return jmenuModel.Release();
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertSeparatorAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->InsertSeparatorAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertItemAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->InsertItemAt(jindex, jcommand_id, GetJNIString(env, jlabel))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertCheckItemAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->InsertCheckItemAt(jindex, jcommand_id,
GetJNIString(env, jlabel))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertRadioItemAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jcommand_id,
jstring jlabel,
jint jgroup_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->InsertRadioItemAt(jindex, jcommand_id,
GetJNIString(env, jlabel), jgroup_id)
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertSubMenuAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return nullptr;
CefRefPtr<CefMenuModel> subMenu = menuModel->InsertSubMenuAt(
jindex, jcommand_id, GetJNIString(env, jlabel));
ScopedJNIMenuModel jmenuModel(env, subMenu);
return jmenuModel.Release();
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1Remove(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->Remove(jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1RemoveAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->RemoveAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetIndexOf(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return -1;
return menuModel->GetIndexOf(jcommand_id);
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetCommandIdAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return -1;
return menuModel->GetCommandIdAt(jindex);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetCommandIdAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetCommandIdAt(jindex, jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetLabel(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return nullptr;
return NewJNIString(env, menuModel->GetLabel(jcommand_id));
}
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetLabelAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return nullptr;
return NewJNIString(env, menuModel->GetLabelAt(jindex));
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetLabel(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetLabel(jcommand_id, GetJNIString(env, jlabel))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetLabelAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jstring jlabel) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetLabelAt(jindex, GetJNIString(env, jlabel)) ? JNI_TRUE
: JNI_FALSE;
}
jobject toJType(JNIEnv* env, CefMenuModel::MenuItemType type) {
jobject result = nullptr;
switch (type) {
JNI_CASE(env, "org/cef/callback/CefMenuModel$MenuItemType",
MENUITEMTYPE_COMMAND, result);
JNI_CASE(env, "org/cef/callback/CefMenuModel$MenuItemType",
MENUITEMTYPE_CHECK, result);
JNI_CASE(env, "org/cef/callback/CefMenuModel$MenuItemType",
MENUITEMTYPE_RADIO, result);
JNI_CASE(env, "org/cef/callback/CefMenuModel$MenuItemType",
MENUITEMTYPE_SEPARATOR, result);
JNI_CASE(env, "org/cef/callback/CefMenuModel$MenuItemType",
MENUITEMTYPE_SUBMENU, result);
default:
JNI_CASE(env, "org/cef/callback/CefMenuModel$MenuItemType",
MENUITEMTYPE_NONE, result);
}
return result;
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetType(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return toJType(env, MENUITEMTYPE_NONE);
return toJType(env, menuModel->GetType(jcommand_id));
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetTypeAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return toJType(env, MENUITEMTYPE_NONE);
return toJType(env, menuModel->GetTypeAt(jindex));
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetGroupId(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return -1;
return menuModel->GetGroupId(jcommand_id);
}
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetGroupIdAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return -1;
return menuModel->GetGroupIdAt(jindex);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetGroupId(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jint jgroup_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetGroupId(jcommand_id, jgroup_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetGroupIdAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jgroup_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetGroupIdAt(jindex, jgroup_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetSubMenu(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return nullptr;
CefRefPtr<CefMenuModel> subMenu = menuModel->GetSubMenu(jcommand_id);
ScopedJNIMenuModel jmenuModel(env, subMenu);
return jmenuModel.Release();
}
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetSubMenuAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return nullptr;
CefRefPtr<CefMenuModel> subMenu = menuModel->GetSubMenuAt(jindex);
ScopedJNIMenuModel jmenuModel(env, subMenu);
return jmenuModel.Release();
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsVisible(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->IsVisible(jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsVisibleAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->IsVisibleAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetVisible(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jboolean jvisible) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetVisible(jcommand_id, (jvisible != JNI_FALSE))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetVisibleAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jboolean jvisible) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetVisibleAt(jindex, (jvisible != JNI_FALSE)) ? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsEnabled(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->IsEnabled(jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsEnabledAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->IsEnabledAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetEnabled(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jboolean jenabled) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetEnabled(jcommand_id, jenabled != JNI_FALSE) ? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetEnabledAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jboolean jenabled) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetEnabledAt(jindex, jenabled != JNI_FALSE) ? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsChecked(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->IsChecked(jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsCheckedAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->IsCheckedAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetChecked(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jboolean jchecked) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetChecked(jcommand_id, (jchecked != JNI_FALSE))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetCheckedAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jboolean jchecked) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetCheckedAt(jindex, (jchecked != JNI_FALSE)) ? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1HasAccelerator(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->HasAccelerator(jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1HasAcceleratorAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->HasAcceleratorAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetAccelerator(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jint jkey_code,
jboolean jshift_pressed,
jboolean jctrl_pressed,
jboolean jalt_pressed) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetAccelerator(
jcommand_id, jkey_code, (jshift_pressed != JNI_FALSE),
(jctrl_pressed != JNI_FALSE), (jalt_pressed != JNI_FALSE))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetAcceleratorAt(
JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jint jkey_code,
jboolean jshift_pressed,
jboolean jctrl_pressed,
jboolean jalt_pressed) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->SetAcceleratorAt(
jindex, jkey_code, (jshift_pressed != JNI_FALSE),
(jctrl_pressed != JNI_FALSE), (jalt_pressed != JNI_FALSE))
? JNI_TRUE
: JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1RemoveAccelerator(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->RemoveAccelerator(jcommand_id) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1RemoveAcceleratorAt(JNIEnv* env,
jobject obj,
jlong self,
jint jindex) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
return menuModel->RemoveAcceleratorAt(jindex) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetAccelerator(JNIEnv* env,
jobject obj,
jlong self,
jint jcommand_id,
jobject jkey_code,
jobject jshift_pressed,
jobject jctrl_pressed,
jobject jalt_pressed) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
int key_code = 0;
bool shift_pressed = false;
bool ctrl_pressed = false;
bool alt_pressed = false;
bool success = menuModel->GetAccelerator(jcommand_id, key_code, shift_pressed,
ctrl_pressed, alt_pressed);
if (!success)
return JNI_FALSE;
SetJNIIntRef(env, jkey_code, key_code);
SetJNIBoolRef(env, jshift_pressed, shift_pressed);
SetJNIBoolRef(env, jctrl_pressed, ctrl_pressed);
SetJNIBoolRef(env, jalt_pressed, alt_pressed);
return JNI_TRUE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetAcceleratorAt(
JNIEnv* env,
jobject obj,
jlong self,
jint jindex,
jobject jkey_code,
jobject jshift_pressed,
jobject jctrl_pressed,
jobject jalt_pressed) {
CefRefPtr<CefMenuModel> menuModel = GetSelf(self);
if (!menuModel)
return JNI_FALSE;
int key_code = 0;
bool shift_pressed = false;
bool ctrl_pressed = false;
bool alt_pressed = false;
bool success = menuModel->GetAcceleratorAt(jindex, key_code, shift_pressed,
ctrl_pressed, alt_pressed);
if (!success)
return JNI_FALSE;
SetJNIIntRef(env, jkey_code, key_code);
SetJNIBoolRef(env, jshift_pressed, shift_pressed);
SetJNIBoolRef(env, jctrl_pressed, ctrl_pressed);
SetJNIBoolRef(env, jalt_pressed, alt_pressed);
return JNI_TRUE;
}
+580
View File
@@ -0,0 +1,580 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefMenuModel_N */
#ifndef _Included_org_cef_callback_CefMenuModel_N
#define _Included_org_cef_callback_CefMenuModel_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_Clear
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1Clear(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetCount
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetCount(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_AddSeparator
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddSeparator(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_AddItem
* Signature: (JILjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddItem(JNIEnv*,
jobject,
jlong,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_AddCheckItem
* Signature: (JILjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddCheckItem(JNIEnv*,
jobject,
jlong,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_AddRadioItem
* Signature: (JILjava/lang/String;I)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddRadioItem(JNIEnv*,
jobject,
jlong,
jint,
jstring,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_AddSubMenu
* Signature: (JILjava/lang/String;)Lorg/cef/callback/CefMenuModel;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1AddSubMenu(JNIEnv*,
jobject,
jlong,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_InsertSeparatorAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertSeparatorAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_InsertItemAt
* Signature: (JIILjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertItemAt(JNIEnv*,
jobject,
jlong,
jint,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_InsertCheckItemAt
* Signature: (JIILjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertCheckItemAt(JNIEnv*,
jobject,
jlong,
jint,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_InsertRadioItemAt
* Signature: (JIILjava/lang/String;I)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertRadioItemAt(JNIEnv*,
jobject,
jlong,
jint,
jint,
jstring,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_InsertSubMenuAt
* Signature: (JIILjava/lang/String;)Lorg/cef/callback/CefMenuModel;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1InsertSubMenuAt(JNIEnv*,
jobject,
jlong,
jint,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_Remove
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1Remove(JNIEnv*, jobject, jlong, jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_RemoveAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1RemoveAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetIndexOf
* Signature: (JI)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetIndexOf(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetCommandIdAt
* Signature: (JI)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetCommandIdAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetCommandIdAt
* Signature: (JII)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetCommandIdAt(JNIEnv*,
jobject,
jlong,
jint,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetLabel
* Signature: (JI)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetLabel(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetLabelAt
* Signature: (JI)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetLabelAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetLabel
* Signature: (JILjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetLabel(JNIEnv*,
jobject,
jlong,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetLabelAt
* Signature: (JILjava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetLabelAt(JNIEnv*,
jobject,
jlong,
jint,
jstring);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetType
* Signature: (JI)Lorg/cef/callback/CefMenuModel/MenuItemType;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetType(JNIEnv*, jobject, jlong, jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetTypeAt
* Signature: (JI)Lorg/cef/callback/CefMenuModel/MenuItemType;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetTypeAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetGroupId
* Signature: (JI)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetGroupId(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetGroupIdAt
* Signature: (JI)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetGroupIdAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetGroupId
* Signature: (JII)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetGroupId(JNIEnv*,
jobject,
jlong,
jint,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetGroupIdAt
* Signature: (JII)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetGroupIdAt(JNIEnv*,
jobject,
jlong,
jint,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetSubMenu
* Signature: (JI)Lorg/cef/callback/CefMenuModel;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetSubMenu(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetSubMenuAt
* Signature: (JI)Lorg/cef/callback/CefMenuModel;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetSubMenuAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_IsVisible
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsVisible(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_IsVisibleAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsVisibleAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetVisible
* Signature: (JIZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetVisible(JNIEnv*,
jobject,
jlong,
jint,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetVisibleAt
* Signature: (JIZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetVisibleAt(JNIEnv*,
jobject,
jlong,
jint,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_IsEnabled
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsEnabled(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_IsEnabledAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsEnabledAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetEnabled
* Signature: (JIZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetEnabled(JNIEnv*,
jobject,
jlong,
jint,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetEnabledAt
* Signature: (JIZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetEnabledAt(JNIEnv*,
jobject,
jlong,
jint,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_IsChecked
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsChecked(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_IsCheckedAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1IsCheckedAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetChecked
* Signature: (JIZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetChecked(JNIEnv*,
jobject,
jlong,
jint,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetCheckedAt
* Signature: (JIZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetCheckedAt(JNIEnv*,
jobject,
jlong,
jint,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_HasAccelerator
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1HasAccelerator(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_HasAcceleratorAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1HasAcceleratorAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetAccelerator
* Signature: (JIIZZZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetAccelerator(JNIEnv*,
jobject,
jlong,
jint,
jint,
jboolean,
jboolean,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_SetAcceleratorAt
* Signature: (JIIZZZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1SetAcceleratorAt(JNIEnv*,
jobject,
jlong,
jint,
jint,
jboolean,
jboolean,
jboolean);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_RemoveAccelerator
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1RemoveAccelerator(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_RemoveAcceleratorAt
* Signature: (JI)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1RemoveAcceleratorAt(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetAccelerator
* Signature:
* (JILorg/cef/misc/IntRef;Lorg/cef/misc/BoolRef;Lorg/cef/misc/BoolRef;Lorg/cef/misc/BoolRef;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetAccelerator(JNIEnv*,
jobject,
jlong,
jint,
jobject,
jobject,
jobject,
jobject);
/*
* Class: org_cef_callback_CefMenuModel_N
* Method: N_GetAcceleratorAt
* Signature:
* (JILorg/cef/misc/IntRef;Lorg/cef/misc/BoolRef;Lorg/cef/misc/BoolRef;Lorg/cef/misc/BoolRef;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefMenuModel_1N_N_1GetAcceleratorAt(JNIEnv*,
jobject,
jlong,
jint,
jobject,
jobject,
jobject,
jobject);
#ifdef __cplusplus
}
#endif
#endif
+137
View File
@@ -0,0 +1,137 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefMessageRouter_N.h"
#include "include/base/cef_callback.h"
#include "include/wrapper/cef_closure_task.h"
#include "include/wrapper/cef_message_router.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "message_router_handler.h"
namespace {
const char kCefClassName[] = "CefMessageRouter";
CefRefPtr<CefMessageRouter> GetSelf(jlong self) {
return reinterpret_cast<CefMessageRouter*>(self);
}
CefRefPtr<MessageRouterHandler> GetHandler(JNIEnv* env,
jobject jrouterHandler,
bool allow_create) {
ScopedJNIObject<MessageRouterHandler> jrouterHandlerObj(
env, jrouterHandler, false /* should_delete */,
"CefMessageRouterHandler");
return allow_create ? jrouterHandlerObj.GetOrCreateCefObject()
: jrouterHandlerObj.GetCefObject();
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1Create(JNIEnv* env,
jclass cls,
jobject jrouterConfig) {
CefMessageRouterConfig config = GetJNIMessageRouterConfig(env, jrouterConfig);
CefRefPtr<CefMessageRouterBrowserSide> msgRouter =
CefMessageRouterBrowserSide::Create(config);
ScopedJNIMessageRouter jmsgRouter(env, msgRouter);
JNI_CALL_VOID_METHOD(
env, jmsgRouter, "setMessageRouterConfig",
"(Lorg/cef/browser/CefMessageRouter$CefMessageRouterConfig;)V",
jrouterConfig);
return jmsgRouter.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefMessageRouterBrowserSide>(env, obj, nullptr,
kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1AddHandler(JNIEnv* env,
jobject obj,
jlong self,
jobject jrouterHandler,
jboolean jfirst) {
CefRefPtr<CefMessageRouter> msgRouter = GetSelf(self);
if (!msgRouter)
return JNI_FALSE;
CefRefPtr<MessageRouterHandler> routerHandler =
GetHandler(env, jrouterHandler, true /* allow_create */);
if (CefCurrentlyOn(TID_UI)) {
msgRouter->AddHandler(routerHandler.get(), (jfirst != JNI_FALSE));
} else {
CefPostTask(TID_UI, base::BindOnce(
[](CefRefPtr<CefMessageRouter> msgRouter,
CefRefPtr<MessageRouterHandler> routerHandler,
bool first) {
msgRouter->AddHandler(routerHandler.get(), first);
},
msgRouter, routerHandler, (jfirst != JNI_FALSE)));
}
return JNI_TRUE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1RemoveHandler(
JNIEnv* env,
jobject obj,
jlong self,
jobject jrouterHandler) {
CefRefPtr<CefMessageRouter> msgRouter = GetSelf(self);
if (!msgRouter)
return JNI_FALSE;
CefRefPtr<MessageRouterHandler> routerHandler =
GetHandler(env, jrouterHandler, false /* allow_create */);
if (!routerHandler)
return JNI_FALSE;
if (CefCurrentlyOn(TID_UI)) {
msgRouter->RemoveHandler(routerHandler.get());
} else {
CefPostTask(TID_UI, base::BindOnce(
[](CefRefPtr<CefMessageRouter> msgRouter,
CefRefPtr<MessageRouterHandler> routerHandler) {
msgRouter->RemoveHandler(routerHandler.get());
},
msgRouter, routerHandler));
}
// Remove JNI reference on jrouterhandler added by the ScopedJNIObject
SetCefForJNIObject<MessageRouterHandler>(env, jrouterHandler, nullptr,
"CefMessageRouterHandler");
return JNI_TRUE;
}
JNIEXPORT void JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1CancelPending(
JNIEnv* env,
jobject obj,
jlong self,
jobject jbrowser,
jobject jrouterHandler) {
CefRefPtr<CefMessageRouter> msgRouter = GetSelf(self);
if (!msgRouter)
return;
// Browser and/or routerHandler may be null.
CefRefPtr<CefBrowser> browser = GetJNIBrowser(env, jbrowser);
CefRefPtr<MessageRouterHandler> routerHandler =
GetHandler(env, jrouterHandler, false /* allow_create */);
msgRouter->CancelPending(browser, routerHandler.get());
}
+66
View File
@@ -0,0 +1,66 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_browser_CefMessageRouter_N */
#ifndef _Included_org_cef_browser_CefMessageRouter_N
#define _Included_org_cef_browser_CefMessageRouter_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_browser_CefMessageRouter_N
* Method: N_Create
* Signature:
* (Lorg/cef/browser/CefMessageRouter/CefMessageRouterConfig;)Lorg/cef/browser/CefMessageRouter_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1Create(JNIEnv*, jclass, jobject);
/*
* Class: org_cef_browser_CefMessageRouter_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1Dispose(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_browser_CefMessageRouter_N
* Method: N_AddHandler
* Signature: (JLorg/cef/handler/CefMessageRouterHandler;Z)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1AddHandler(JNIEnv*,
jobject,
jlong,
jobject,
jboolean);
/*
* Class: org_cef_browser_CefMessageRouter_N
* Method: N_RemoveHandler
* Signature: (JLorg/cef/handler/CefMessageRouterHandler;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1RemoveHandler(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_browser_CefMessageRouter_N
* Method: N_CancelPending
* Signature:
* (JLorg/cef/browser/CefBrowser;Lorg/cef/handler/CefMessageRouterHandler;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefMessageRouter_1N_N_1CancelPending(JNIEnv*,
jobject,
jlong,
jobject,
jobject);
#ifdef __cplusplus
}
#endif
#endif
+145
View File
@@ -0,0 +1,145 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefPostDataElement_N.h"
#include "include/cef_request.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
const char kCefClassName[] = "CefPostDataElement";
CefRefPtr<CefPostDataElement> GetSelf(jlong self) {
return reinterpret_cast<CefPostDataElement*>(self);
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1Create(JNIEnv* env, jclass cls) {
CefRefPtr<CefPostDataElement> dataElement = CefPostDataElement::Create();
ScopedJNIPostDataElement jdataElement(env, dataElement);
return jdataElement.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefPostDataElement>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1IsReadOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return JNI_FALSE;
return dataElement->IsReadOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1SetToEmpty(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return;
dataElement->SetToEmpty();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1SetToFile(JNIEnv* env,
jobject obj,
jlong self,
jstring jfilename) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return;
dataElement->SetToFile(GetJNIString(env, jfilename));
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1SetToBytes(JNIEnv* env,
jobject obj,
jlong self,
jint jsize,
jbyteArray jbytes) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return;
jbyte* jbyte = env->GetByteArrayElements(jbytes, nullptr);
if (!jbyte)
return;
dataElement->SetToBytes(jsize, jbyte);
env->ReleaseByteArrayElements(jbytes, jbyte, 0);
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetType(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return nullptr;
CefPostDataElement::Type type = dataElement->GetType();
jobject jtype = nullptr;
switch (type) {
JNI_CASE(env, "org/cef/network/CefPostDataElement$Type", PDE_TYPE_EMPTY,
jtype);
JNI_CASE(env, "org/cef/network/CefPostDataElement$Type", PDE_TYPE_BYTES,
jtype);
JNI_CASE(env, "org/cef/network/CefPostDataElement$Type", PDE_TYPE_FILE,
jtype);
JNI_CASE(env, "org/cef/network/CefPostDataElement$Type",
PDE_TYPE_NUM_VALUES, jtype);
}
return jtype;
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetFile(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return nullptr;
return NewJNIString(env, dataElement->GetFile());
}
JNIEXPORT jint JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetBytesCount(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return 0;
return (jint)dataElement->GetBytesCount();
}
JNIEXPORT jint JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetBytes(JNIEnv* env,
jobject obj,
jlong self,
jint jsize,
jbyteArray jbytes) {
CefRefPtr<CefPostDataElement> dataElement = GetSelf(self);
if (!dataElement)
return 0;
jbyte* jbyte = env->GetByteArrayElements(jbytes, nullptr);
if (!jbyte)
return 0;
memset(jbyte, 0, jsize);
size_t readLen = dataElement->GetBytes(jsize, jbyte);
env->ReleaseByteArrayElements(jbytes, jbyte, 0);
return (jint)readLen;
}
+110
View File
@@ -0,0 +1,110 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_network_CefPostDataElement_N */
#ifndef _Included_org_cef_network_CefPostDataElement_N
#define _Included_org_cef_network_CefPostDataElement_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_Create
* Signature: ()Lorg/cef/network/CefPostDataElement_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1Create(JNIEnv*, jclass);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1Dispose(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_IsReadOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1IsReadOnly(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_SetToEmpty
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1SetToEmpty(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_SetToFile
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1SetToFile(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_SetToBytes
* Signature: (JI[B)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1SetToBytes(JNIEnv*,
jobject,
jlong,
jint,
jbyteArray);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_GetType
* Signature: (J)Lorg/cef/network/CefPostDataElement/Type;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetType(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_GetFile
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetFile(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_GetBytesCount
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetBytesCount(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefPostDataElement_N
* Method: N_GetBytes
* Signature: (JI[B)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_network_CefPostDataElement_1N_N_1GetBytes(JNIEnv*,
jobject,
jlong,
jint,
jbyteArray);
#ifdef __cplusplus
}
#endif
#endif
+121
View File
@@ -0,0 +1,121 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefPostData_N.h"
#include "include/cef_request.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
const char kCefClassName[] = "CefPostData";
CefRefPtr<CefPostData> GetSelf(jlong self) {
return reinterpret_cast<CefPostData*>(self);
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefPostData_1N_N_1Create(JNIEnv* env, jclass cls) {
CefRefPtr<CefPostData> postData = CefPostData::Create();
ScopedJNIPostData jpostData(env, postData);
return jpostData.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostData_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefPostData>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostData_1N_N_1IsReadOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostData> postData = GetSelf(self);
if (!postData)
return JNI_FALSE;
return postData->IsReadOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jint JNICALL
Java_org_cef_network_CefPostData_1N_N_1GetElementCount(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostData> postData = GetSelf(self);
if (!postData)
return 0;
return (jint)postData->GetElementCount();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostData_1N_N_1GetElements(JNIEnv* env,
jobject obj,
jlong self,
jobject jelements) {
CefRefPtr<CefPostData> postData = GetSelf(self);
if (!postData)
return;
CefPostData::ElementVector elements;
postData->GetElements(elements);
CefPostData::ElementVector::const_iterator iter;
for (iter = elements.begin(); iter != elements.end(); ++iter) {
ScopedJNIPostDataElement jdataElement(env, *iter);
JNI_CALL_VOID_METHOD(env, jelements, "addElement", "(Ljava/lang/Object;)V",
jdataElement.get());
}
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostData_1N_N_1RemoveElement(JNIEnv* env,
jobject obj,
jlong self,
jobject jelement) {
CefRefPtr<CefPostData> postData = GetSelf(self);
if (!postData)
return JNI_FALSE;
ScopedJNIPostDataElement dataElementObj(env);
dataElementObj.SetHandle(jelement, false /* should_delete */);
CefRefPtr<CefPostDataElement> dataElement = dataElementObj.GetCefObject();
if (!dataElement)
return JNI_FALSE;
return postData->RemoveElement(dataElement) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostData_1N_N_1AddElement(JNIEnv* env,
jobject obj,
jlong self,
jobject jelement) {
CefRefPtr<CefPostData> postData = GetSelf(self);
if (!postData)
return JNI_FALSE;
ScopedJNIPostDataElement dataElementObj(env);
dataElementObj.SetHandle(jelement, false /* should_delete */);
CefRefPtr<CefPostDataElement> dataElement = dataElementObj.GetCefObject();
if (!dataElement)
return JNI_FALSE;
return postData->AddElement(dataElement) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostData_1N_N_1RemoveElements(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPostData> postData = GetSelf(self);
if (!postData)
return;
postData->RemoveElements();
}
+87
View File
@@ -0,0 +1,87 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_network_CefPostData_N */
#ifndef _Included_org_cef_network_CefPostData_N
#define _Included_org_cef_network_CefPostData_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_network_CefPostData_N
* Method: N_Create
* Signature: ()Lorg/cef/network/CefPostData_N;
*/
JNIEXPORT jobject JNICALL Java_org_cef_network_CefPostData_1N_N_1Create(JNIEnv*,
jclass);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefPostData_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_IsReadOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostData_1N_N_1IsReadOnly(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_GetElementCount
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_network_CefPostData_1N_N_1GetElementCount(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_GetElements
* Signature: (JLjava/util/Vector;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostData_1N_N_1GetElements(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_RemoveElement
* Signature: (JLorg/cef/network/CefPostDataElement;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostData_1N_N_1RemoveElement(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_AddElement
* Signature: (JLorg/cef/network/CefPostDataElement;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefPostData_1N_N_1AddElement(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefPostData_N
* Method: N_RemoveElements
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefPostData_1N_N_1RemoveElements(JNIEnv*, jobject, jlong);
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,52 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefPrintDialogCallback_N.h"
#include "include/cef_print_handler.h"
#include "jni_scoped_helpers.h"
namespace {
CefRefPtr<CefPrintDialogCallback> GetSelf(jlong self) {
return reinterpret_cast<CefPrintDialogCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in PrintHandler::OnPrintDialog.
SetCefForJNIObject<CefPrintDialogCallback>(env, obj, nullptr,
"CefPrintDialogCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefPrintDialogCallback_1N_N_1Continue(
JNIEnv* env,
jobject obj,
jlong self,
jobject jprintsettings) {
CefRefPtr<CefPrintDialogCallback> callback = GetSelf(self);
if (!callback)
return;
CefRefPtr<CefPrintSettings> settings = GetCefFromJNIObject<CefPrintSettings>(
env, jprintsettings, "CefPrintSettings");
if (settings) {
callback->Continue(settings);
} else {
callback->Cancel();
}
ClearSelf(env, obj);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefPrintDialogCallback_1N_N_1Cancel(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintDialogCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Cancel();
ClearSelf(env, obj);
}
@@ -0,0 +1,34 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefPrintDialogCallback_N */
#ifndef _Included_org_cef_callback_CefPrintDialogCallback_N
#define _Included_org_cef_callback_CefPrintDialogCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefPrintDialogCallback_N
* Method: N_Continue
* Signature: (JLorg/cef/misc/CefPrintSettings;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefPrintDialogCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_callback_CefPrintDialogCallback_N
* Method: N_Cancel
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefPrintDialogCallback_1N_N_1Cancel(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+33
View File
@@ -0,0 +1,33 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefPrintJobCallback_N.h"
#include "jni_scoped_helpers.h"
#include "include/cef_print_handler.h"
namespace {
CefRefPtr<CefPrintJobCallback> GetSelf(jlong self) {
return reinterpret_cast<CefPrintJobCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in PrintJobHandler::OnPrintJob.
SetCefForJNIObject<CefPrintJobCallback>(env, obj, nullptr,
"CefPrintJobCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefPrintJobCallback_1N_N_1Continue(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintJobCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Continue();
ClearSelf(env, obj);
}
+23
View File
@@ -0,0 +1,23 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefPrintJobCallback_N */
#ifndef _Included_org_cef_callback_CefPrintJobCallback_N
#define _Included_org_cef_callback_CefPrintJobCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefPrintJobCallback_N
* Method: N_Continue
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefPrintJobCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+492
View File
@@ -0,0 +1,492 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefPrintSettings_N.h"
#include "include/cef_print_handler.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
const char kCefClassName[] = "CefPrintSettings";
CefRefPtr<CefPrintSettings> GetSelf(jlong self) {
return reinterpret_cast<CefPrintSettings*>(self);
}
// Retrieve the CefPageRange equivalent of a org.cef.misc.CefPageRange
CefRange GetJNIPageRange(JNIEnv* env, jobject obj) {
CefRange range;
ScopedJNIClass cls(env, "org/cef/misc/CefPageRange");
if (!cls)
return range;
int from, to;
if (GetJNIFieldInt(env, cls, obj, "from", &from) &&
GetJNIFieldInt(env, cls, obj, "to", &to)) {
range.Set(from, to);
}
return range;
}
// Create a new org.cef.misc.CefPageRange
jobject NewJNIPageRange(JNIEnv* env, const CefRange& range) {
ScopedJNIClass cls(env, "org/cef/misc/CefPageRange");
if (!cls)
return nullptr;
ScopedJNIObjectLocal obj(env, NewJNIObject(env, cls));
if (!obj)
return nullptr;
if (SetJNIFieldInt(env, cls, obj, "from", range.from) &&
SetJNIFieldInt(env, cls, obj, "to", range.to)) {
return obj.Release();
}
return nullptr;
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1Create(JNIEnv* env, jclass cls) {
CefRefPtr<CefPrintSettings> settings = CefPrintSettings::Create();
ScopedJNIPrintSettings jsettings(env, settings);
return jsettings.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefPrintSettings>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsValid(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return JNI_FALSE;
return settings->IsValid() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsReadOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return JNI_FALSE;
return settings->IsReadOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetOrientation(JNIEnv* env,
jobject obj,
jlong self,
jboolean jlandscape) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
settings->SetOrientation(jlandscape != JNI_FALSE);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsLandscape(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return JNI_FALSE;
return settings->IsLandscape() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetPrinterPrintableArea(
JNIEnv* env,
jobject obj,
jlong self,
jobject jphysical_size_device_units,
jobject jprintable_area_device_units,
jboolean jlandscape_needs_flip) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
CefSize physical_size = GetJNISize(env, jphysical_size_device_units);
CefRect printable_area = GetJNIRect(env, jprintable_area_device_units);
bool needs_flip = jlandscape_needs_flip != JNI_FALSE;
settings->SetPrinterPrintableArea(physical_size, printable_area, needs_flip);
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetDeviceName(JNIEnv* env,
jobject obj,
jlong self,
jstring jname) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
settings->SetDeviceName(GetJNIString(env, jname));
}
JNIEXPORT jstring JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetDeviceName(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return nullptr;
return NewJNIString(env, settings->GetDeviceName());
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetDPI(JNIEnv* env,
jobject obj,
jlong self,
jint jdpi) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
settings->SetDPI((int)jdpi);
}
JNIEXPORT jint JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetDPI(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return 0;
return (jint)settings->GetDPI();
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetPageRanges(JNIEnv* env,
jobject obj,
jlong self,
jobject jrangeVector) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings || !jrangeVector)
return;
CefPrintSettings::PageRangeList rangeList;
jint jsize = 0;
JNI_CALL_METHOD(env, jrangeVector, "size", "()I", Int, jsize);
for (jint index = 0; index < jsize; index++) {
ScopedJNIObjectResult jresult(env);
JNI_CALL_METHOD(env, jrangeVector, "get", "(I)Ljava/lang/Object;", Object,
jresult, index);
if (!jresult)
continue;
rangeList.push_back(GetJNIPageRange(env, jresult));
}
settings->SetPageRanges(rangeList);
}
JNIEXPORT jint JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetPageRangesCount(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return 0;
return (jint)settings->GetPageRangesCount();
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetPageRanges(JNIEnv* env,
jobject obj,
jlong self,
jobject jrangeVector) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings || !jrangeVector)
return;
CefPrintSettings::PageRangeList rangeList;
settings->GetPageRanges(rangeList);
CefPrintSettings::PageRangeList::size_type i = 0;
for (i = 0; i < rangeList.size(); ++i) {
ScopedJNIObjectLocal jrange(env, NewJNIPageRange(env, rangeList.at(i)));
JNI_CALL_VOID_METHOD(env, jrangeVector, "addElement",
"(Ljava/lang/Object;)V", jrange.get());
}
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetSelectionOnly(
JNIEnv* env,
jobject obj,
jlong self,
jboolean jselection_only) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
settings->SetSelectionOnly(jselection_only != JNI_FALSE);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsSelectionOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return JNI_FALSE;
return settings->IsSelectionOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetCollate(JNIEnv* env,
jobject obj,
jlong self,
jboolean jcollate) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
settings->SetCollate(jcollate != JNI_FALSE);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1WillCollate(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return JNI_FALSE;
return settings->WillCollate() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetColorModel(JNIEnv* env,
jobject obj,
jlong self,
jobject jcolor_model) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
CefPrintSettings::ColorModel mode;
if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_GRAY")) {
mode = COLOR_MODEL_GRAY;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_COLOR")) {
mode = COLOR_MODEL_COLOR;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_CMYK")) {
mode = COLOR_MODEL_CMYK;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_CMY")) {
mode = COLOR_MODEL_CMY;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_KCMY")) {
mode = COLOR_MODEL_KCMY;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_CMY_K")) {
mode = COLOR_MODEL_CMY_K;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_BLACK")) {
mode = COLOR_MODEL_BLACK;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_GRAYSCALE")) {
mode = COLOR_MODEL_GRAYSCALE;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_RGB")) {
mode = COLOR_MODEL_RGB;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_RGB16")) {
mode = COLOR_MODEL_RGB16;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_RGBA")) {
mode = COLOR_MODEL_RGBA;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_COLORMODE_COLOR")) {
mode = COLOR_MODEL_COLORMODE_COLOR;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_COLORMODE_MONOCHROME")) {
mode = COLOR_MODEL_COLORMODE_MONOCHROME;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_HP_COLOR_COLOR")) {
mode = COLOR_MODEL_HP_COLOR_COLOR;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_HP_COLOR_BLACK")) {
mode = COLOR_MODEL_HP_COLOR_BLACK;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_PRINTOUTMODE_NORMAL")) {
mode = COLOR_MODEL_PRINTOUTMODE_NORMAL;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_PRINTOUTMODE_NORMAL_GRAY")) {
mode = COLOR_MODEL_PRINTOUTMODE_NORMAL_GRAY;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_PROCESSCOLORMODEL_CMYK")) {
mode = COLOR_MODEL_PROCESSCOLORMODEL_CMYK;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_PROCESSCOLORMODEL_GREYSCALE")) {
mode = COLOR_MODEL_PROCESSCOLORMODEL_GREYSCALE;
} else if (IsJNIEnumValue(env, jcolor_model,
"org/cef/misc/CefPrintSettings$ColorModel",
"COLOR_MODEL_PROCESSCOLORMODEL_RGB")) {
mode = COLOR_MODEL_PROCESSCOLORMODEL_RGB;
} else {
mode = COLOR_MODEL_UNKNOWN;
}
settings->SetColorModel(mode);
}
JNIEXPORT jobject JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetColorModel(JNIEnv* env,
jobject obj,
jlong self) {
jobject result = GetJNIEnumValue(
env, "org/cef/misc/CefPrintSettings$ColorModel", "COLOR_MODEL_UNKNOWN");
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return result;
switch (settings->GetColorModel()) {
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_GRAY,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_COLOR,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_CMYK,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_CMY,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_KCMY,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_CMY_K,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_BLACK,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_GRAYSCALE, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_RGB,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_RGB16,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel", COLOR_MODEL_RGBA,
result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_COLORMODE_COLOR, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_COLORMODE_MONOCHROME, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_HP_COLOR_COLOR, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_HP_COLOR_BLACK, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_PRINTOUTMODE_NORMAL, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_PRINTOUTMODE_NORMAL_GRAY, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_PROCESSCOLORMODEL_CMYK, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_PROCESSCOLORMODEL_GREYSCALE, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_PROCESSCOLORMODEL_RGB, result);
default:
JNI_CASE(env, "org/cef/misc/CefPrintSettings$ColorModel",
COLOR_MODEL_UNKNOWN, result);
}
return result;
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetCopies(JNIEnv* env,
jobject obj,
jlong self,
jint jcopies) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
settings->SetCopies((int)jcopies);
}
JNIEXPORT jint JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetCopies(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return 0;
return (jint)settings->GetCopies();
}
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetDuplexMode(JNIEnv* env,
jobject obj,
jlong self,
jobject jduplex_mode) {
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return;
CefPrintSettings::DuplexMode mode;
if (IsJNIEnumValue(env, jduplex_mode,
"org/cef/misc/CefPrintSettings$DuplexMode",
"DUPLEX_MODE_SIMPLEX")) {
mode = DUPLEX_MODE_SIMPLEX;
} else if (IsJNIEnumValue(env, jduplex_mode,
"org/cef/misc/CefPrintSettings$DuplexMode",
"DUPLEX_MODE_LONG_EDGE")) {
mode = DUPLEX_MODE_LONG_EDGE;
} else if (IsJNIEnumValue(env, jduplex_mode,
"org/cef/misc/CefPrintSettings$DuplexMode",
"DUPLEX_MODE_SHORT_EDGE")) {
mode = DUPLEX_MODE_SHORT_EDGE;
} else {
mode = DUPLEX_MODE_UNKNOWN;
}
settings->SetDuplexMode(mode);
}
JNIEXPORT jobject JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetDuplexMode(JNIEnv* env,
jobject obj,
jlong self) {
jobject result = GetJNIEnumValue(
env, "org/cef/misc/CefPrintSettings$DuplexMode", "DUPLEX_MODE_UNKNOWN");
CefRefPtr<CefPrintSettings> settings = GetSelf(self);
if (!settings)
return result;
switch (settings->GetDuplexMode()) {
JNI_CASE(env, "org/cef/misc/CefPrintSettings$DuplexMode",
DUPLEX_MODE_SIMPLEX, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$DuplexMode",
DUPLEX_MODE_LONG_EDGE, result);
JNI_CASE(env, "org/cef/misc/CefPrintSettings$DuplexMode",
DUPLEX_MODE_SHORT_EDGE, result);
default:
JNI_CASE(env, "org/cef/misc/CefPrintSettings$DuplexMode",
DUPLEX_MODE_UNKNOWN, result);
}
return result;
}
+245
View File
@@ -0,0 +1,245 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_misc_CefPrintSettings_N */
#ifndef _Included_org_cef_misc_CefPrintSettings_N
#define _Included_org_cef_misc_CefPrintSettings_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_Create
* Signature: ()Lorg/cef/misc/CefPrintSettings_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1Create(JNIEnv*, jclass);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_misc_CefPrintSettings_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_IsValid
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsValid(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_IsReadOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsReadOnly(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetOrientation
* Signature: (JZ)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetOrientation(JNIEnv*,
jobject,
jlong,
jboolean);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_IsLandscape
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsLandscape(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetPrinterPrintableArea
* Signature: (JLjava/awt/Dimension;Ljava/awt/Rectangle;Z)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetPrinterPrintableArea(JNIEnv*,
jobject,
jlong,
jobject,
jobject,
jboolean);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetDeviceName
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetDeviceName(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetDeviceName
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetDeviceName(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetDPI
* Signature: (JI)V
*/
JNIEXPORT void JNICALL Java_org_cef_misc_CefPrintSettings_1N_N_1SetDPI(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetDPI
* Signature: (J)I
*/
JNIEXPORT jint JNICALL Java_org_cef_misc_CefPrintSettings_1N_N_1GetDPI(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetPageRanges
* Signature: (JLjava/util/Vector;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetPageRanges(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetPageRangesCount
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetPageRangesCount(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetPageRanges
* Signature: (JLjava/util/Vector;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetPageRanges(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetSelectionOnly
* Signature: (JZ)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetSelectionOnly(JNIEnv*,
jobject,
jlong,
jboolean);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_IsSelectionOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1IsSelectionOnly(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetCollate
* Signature: (JZ)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetCollate(JNIEnv*,
jobject,
jlong,
jboolean);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_WillCollate
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1WillCollate(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetColorModel
* Signature: (JLorg/cef/misc/CefPrintSettings/ColorModel;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetColorModel(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetColorModel
* Signature: (J)Lorg/cef/misc/CefPrintSettings/ColorModel;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetColorModel(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetCopies
* Signature: (JI)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetCopies(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetCopies
* Signature: (J)I
*/
JNIEXPORT jint JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetCopies(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_SetDuplexMode
* Signature: (JLorg/cef/misc/CefPrintSettings/DuplexMode;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1SetDuplexMode(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_misc_CefPrintSettings_N
* Method: N_GetDuplexMode
* Signature: (J)Lorg/cef/misc/CefPrintSettings/DuplexMode;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_misc_CefPrintSettings_1N_N_1GetDuplexMode(JNIEnv*, jobject, jlong);
#ifdef __cplusplus
}
#endif
#endif
+48
View File
@@ -0,0 +1,48 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefQueryCallback_N.h"
#include "include/wrapper/cef_message_router.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
using CefQueryCallback = CefMessageRouterBrowserSide::Callback;
CefRefPtr<CefQueryCallback> GetSelf(jlong self) {
return reinterpret_cast<CefQueryCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in ClientHandler::OnQuery.
SetCefForJNIObject<CefQueryCallback>(env, obj, nullptr, "CefQueryCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefQueryCallback_1N_N_1Success(JNIEnv* env,
jobject obj,
jlong self,
jstring response) {
CefRefPtr<CefQueryCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Success(GetJNIString(env, response));
ClearSelf(env, obj);
}
JNIEXPORT void JNICALL
Java_org_cef_callback_CefQueryCallback_1N_N_1Failure(JNIEnv* env,
jobject obj,
jlong self,
jint error_code,
jstring error_message) {
CefRefPtr<CefQueryCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Failure(error_code, GetJNIString(env, error_message));
ClearSelf(env, obj);
}
+36
View File
@@ -0,0 +1,36 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefQueryCallback_N */
#ifndef _Included_org_cef_callback_CefQueryCallback_N
#define _Included_org_cef_callback_CefQueryCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefQueryCallback_N
* Method: N_Success
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefQueryCallback_1N_N_1Success(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_callback_CefQueryCallback_N
* Method: N_Failure
* Signature: (JILjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefQueryCallback_1N_N_1Failure(JNIEnv*,
jobject,
jlong,
jint,
jstring);
#ifdef __cplusplus
}
#endif
#endif
+14
View File
@@ -0,0 +1,14 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefRegistration_N.h"
#include "include/cef_registration.h"
#include "jni_scoped_helpers.h"
JNIEXPORT void JNICALL
Java_org_cef_browser_CefRegistration_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefRegistration>(env, obj, NULL, "CefRegistration");
}
+21
View File
@@ -0,0 +1,21 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_browser_CefRegistration_N */
#ifndef _Included_org_cef_browser_CefRegistration_N
#define _Included_org_cef_browser_CefRegistration_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_browser_CefRegistration_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefRegistration_1N_N_1Dispose(JNIEnv*, jobject, jlong);
#ifdef __cplusplus
}
#endif
#endif
+162
View File
@@ -0,0 +1,162 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefRequestContext_N.h"
#include "include/cef_request_context.h"
#include "jni_util.h"
#include "request_context_handler.h"
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1GetGlobalContext(JNIEnv* env,
jclass cls) {
CefRefPtr<CefRequestContext> context = CefRequestContext::GetGlobalContext();
if (!context.get())
return nullptr;
ScopedJNIObjectLocal jContext(env, NewJNIObject(env, cls));
if (!jContext)
return nullptr;
SetCefForJNIObject(env, jContext, context.get(), "CefRequestContext");
return jContext.Release();
}
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1CreateContext(JNIEnv* env,
jclass cls,
jobject jhandler) {
CefRefPtr<CefRequestContextHandler> handler = nullptr;
if (jhandler != nullptr) {
handler = new RequestContextHandler(env, jhandler);
}
// TODO(JCEF): Expose CefRequestContextSettings.
CefRequestContextSettings settings;
CefRefPtr<CefRequestContext> context =
CefRequestContext::CreateContext(settings, handler);
if (!context.get())
return nullptr;
ScopedJNIObjectLocal jContext(env, NewJNIObject(env, cls));
if (!jContext)
return nullptr;
SetCefForJNIObject(env, jContext, context.get(), "CefRequestContext");
return jContext.Release();
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1IsGlobal(JNIEnv* env,
jobject obj) {
CefRefPtr<CefRequestContext> context =
GetCefFromJNIObject<CefRequestContext>(env, obj, "CefRequestContext");
if (!context.get())
return JNI_FALSE;
return context->IsGlobal() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1HasPreference(JNIEnv* env,
jobject obj,
jstring jname) {
CefRefPtr<CefRequestContext> context =
GetCefFromJNIObject<CefRequestContext>(env, obj, "CefRequestContext");
if (!context.get())
return JNI_FALSE;
CefString name = GetJNIString(env, jname);
return context->HasPreference(name) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1GetPreference(JNIEnv* env,
jobject obj,
jstring jname) {
CefRefPtr<CefRequestContext> context =
GetCefFromJNIObject<CefRequestContext>(env, obj, "CefRequestContext");
if (!context.get())
return nullptr;
CefString name = GetJNIString(env, jname);
CefRefPtr<CefValue> value = context->GetPreference(name);
if (!value)
return nullptr;
return NewJNIObjectFromCefValue(env, value);
}
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1GetAllPreferences(
JNIEnv* env,
jobject obj,
jboolean includeDefaults) {
CefRefPtr<CefRequestContext> context =
GetCefFromJNIObject<CefRequestContext>(env, obj, "CefRequestContext");
if (!context.get())
return nullptr;
CefRefPtr<CefDictionaryValue> value =
context->GetAllPreferences(includeDefaults == JNI_TRUE);
if (!value)
return nullptr;
jobject jmap = NewJNIHashMap(env);
CefDictionaryValue::KeyList keys;
value->GetKeys(keys);
for (const CefString& key : keys) {
jstring jkey = NewJNIString(env, key);
jobject jvalue = NewJNIObjectFromCefValue(env, value->GetValue(key));
JNI_CALL_VOID_METHOD(
env, jmap, "put",
"(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", jkey,
jvalue);
}
return jmap;
}
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1CanSetPreference(JNIEnv* env,
jobject obj,
jstring jname) {
CefRefPtr<CefRequestContext> context =
GetCefFromJNIObject<CefRequestContext>(env, obj, "CefRequestContext");
if (!context.get())
return JNI_FALSE;
CefString name = GetJNIString(env, jname);
return context->CanSetPreference(name) ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jstring JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1SetPreference(JNIEnv* env,
jobject obj,
jstring jname,
jobject jvalue) {
if (!CefCurrentlyOn(TID_UI))
return NewJNIString(env, "called on invalid thread");
CefRefPtr<CefRequestContext> context =
GetCefFromJNIObject<CefRequestContext>(env, obj, "CefRequestContext");
if (!context.get())
return NewJNIString(env, "no request context");
CefString name = GetJNIString(env, jname);
CefRefPtr<CefValue> value = GetCefValueFromJNIObject(env, jvalue);
if (!value)
return NewJNIString(env, "no value to set");
CefString error;
bool result = context->SetPreference(name, value, error);
if (!result)
return NewJNIString(env, error);
return nullptr;
}
JNIEXPORT void JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1CefRequestContext_1DTOR(
JNIEnv* env,
jobject obj) {
SetCefForJNIObject<CefRequestContext>(env, obj, nullptr, "CefRequestContext");
}
+100
View File
@@ -0,0 +1,100 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_browser_CefRequestContext_N */
#ifndef _Included_org_cef_browser_CefRequestContext_N
#define _Included_org_cef_browser_CefRequestContext_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_GetGlobalContext
* Signature: ()Lorg/cef/browser/CefRequestContext_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1GetGlobalContext(JNIEnv*, jclass);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_CreateContext
* Signature:
* (Lorg/cef/handler/CefRequestContextHandler;)Lorg/cef/browser/CefRequestContext_N;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1CreateContext(JNIEnv*,
jclass,
jobject);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_IsGlobal
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1IsGlobal(JNIEnv*, jobject);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_HasPreference
* Signature: (Ljava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1HasPreference(JNIEnv*,
jobject,
jstring);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_GetPreference
* Signature: (Ljava/lang/String;)Ljava/lang/Object;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1GetPreference(JNIEnv*,
jobject,
jstring);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_GetAllPreferences
* Signature: (Z)Ljava/util/Map;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1GetAllPreferences(JNIEnv*,
jobject,
jboolean);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_CanSetPreference
* Signature: (Ljava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1CanSetPreference(JNIEnv*,
jobject,
jstring);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_SetPreference
* Signature: (Ljava/lang/String;Ljava/lang/Object;Lorg/cef;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1SetPreference(JNIEnv*,
jobject,
jstring,
jobject);
/*
* Class: org_cef_browser_CefRequestContext_N
* Method: N_CefRequestContext_DTOR
* Signature: ()V
*/
JNIEXPORT void JNICALL
Java_org_cef_browser_CefRequestContext_1N_N_1CefRequestContext_1DTOR(JNIEnv*,
jobject);
#ifdef __cplusplus
}
#endif
#endif
+417
View File
@@ -0,0 +1,417 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefRequest_N.h"
#include "include/cef_request.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
const char kCefClassName[] = "CefRequest";
CefRefPtr<CefRequest> GetSelf(jlong self) {
return reinterpret_cast<CefRequest*>(self);
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1Create(JNIEnv* env, jclass cls) {
CefRefPtr<CefRequest> request = CefRequest::Create();
ScopedJNIRequest jrequest(env, request);
return jrequest.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefRequest>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jlong JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetIdentifier(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return 0;
return (jlong)request->GetIdentifier();
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefRequest_1N_N_1IsReadOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return JNI_FALSE;
return request->IsReadOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetURL(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
return NewJNIString(env, request->GetURL());
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetURL(JNIEnv* env,
jobject obj,
jlong self,
jstring jurl) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
request->SetURL(GetJNIString(env, jurl));
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetReferrer(JNIEnv* env,
jobject obj,
jlong self,
jstring jurl,
jobject jpolicy) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
cef_referrer_policy_t policy = REFERRER_POLICY_DEFAULT;
if (jpolicy != nullptr) {
if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_"
"SECURE_TO_INSECURE")) {
policy =
REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_"
"TRANSITION_CROSS_ORIGIN")) {
policy =
REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN;
} else if (IsJNIEnumValue(
env, jpolicy, "org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN")) {
policy = REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_NEVER_CLEAR_REFERRER")) {
policy = REFERRER_POLICY_NEVER_CLEAR_REFERRER;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_ORIGIN")) {
policy = REFERRER_POLICY_ORIGIN;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_"
"CROSS_ORIGIN")) {
policy = REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_"
"SECURE_TO_INSECURE")) {
policy =
REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_NO_REFERRER")) {
policy = REFERRER_POLICY_NO_REFERRER;
} else if (IsJNIEnumValue(env, jpolicy,
"org/cef/network/CefRequest$ReferrerPolicy",
"REFERRER_POLICY_NUM_VALUES")) {
policy = REFERRER_POLICY_NUM_VALUES;
}
}
request->SetReferrer(GetJNIString(env, jurl), policy);
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetReferrerURL(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
return NewJNIString(env, request->GetReferrerURL());
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetReferrerPolicy(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
jobject result = nullptr;
CefRequest::ReferrerPolicy rp = request->GetReferrerPolicy();
switch (rp) {
default:
// same as
// REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE
JNI_CASE(env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_DEFAULT, result);
JNI_CASE(
env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, result);
JNI_CASE(env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_NEVER_CLEAR_REFERRER, result);
JNI_CASE(env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_ORIGIN, result);
JNI_CASE(env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN,
result);
JNI_CASE(
env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ReferrerPolicy",
REFERRER_POLICY_NO_REFERRER, result);
// REFERRER_POLICY_LAST_VALUE equals REFERRER_POLICY_NO_REFERRER as of CEF
// 3683
}
return result;
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetMethod(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
return NewJNIString(env, request->GetMethod());
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetMethod(JNIEnv* env,
jobject obj,
jlong self,
jstring jmethod) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
request->SetMethod(GetJNIString(env, jmethod));
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetPostData(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
CefRefPtr<CefPostData> postData = request->GetPostData();
if (!postData.get())
return nullptr;
ScopedJNIPostData jpostData(env, postData);
return jpostData.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetPostData(JNIEnv* env,
jobject obj,
jlong self,
jobject jpostData) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
ScopedJNIPostData postDataObj(env);
if (jpostData) {
postDataObj.SetHandle(jpostData, false /* should_delete */);
}
request->SetPostData(postDataObj.GetCefObject());
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetHeaderByName(JNIEnv* env,
jobject obj,
jlong self,
jstring jname) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
return NewJNIString(env, request->GetHeaderByName(GetJNIString(env, jname)));
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetHeaderByName(JNIEnv* env,
jobject obj,
jlong self,
jstring jname,
jstring jvalue,
jboolean joverride) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
return request->SetHeaderByName(GetJNIString(env, jname),
GetJNIString(env, jvalue),
joverride != JNI_FALSE);
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetHeaderMap(JNIEnv* env,
jobject obj,
jlong self,
jobject jheaderMap) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
CefRequest::HeaderMap headerMap;
request->GetHeaderMap(headerMap);
SetJNIStringMultiMap(env, jheaderMap, headerMap);
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetHeaderMap(JNIEnv* env,
jobject obj,
jlong self,
jobject jheaderMap) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
CefRequest::HeaderMap headerMap;
GetJNIStringMultiMap(env, jheaderMap, headerMap);
request->SetHeaderMap(headerMap);
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1Set(JNIEnv* env,
jobject obj,
jlong self,
jstring jurl,
jstring jmethod,
jobject jpostData,
jobject jheaderMap) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
CefRequest::HeaderMap headerMap;
GetJNIStringMultiMap(env, jheaderMap, headerMap);
request->SetHeaderMap(headerMap);
ScopedJNIPostData postDataObj(env);
if (jpostData) {
postDataObj.SetHandle(jpostData, false /* should_delete */);
}
request->Set(GetJNIString(env, jurl), GetJNIString(env, jmethod),
postDataObj.GetCefObject(), headerMap);
}
JNIEXPORT jint JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetFlags(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return 0;
return request->GetFlags();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetFlags(JNIEnv* env,
jobject obj,
jlong self,
jint jflags) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
request->SetFlags((int)jflags);
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetFirstPartyForCookies(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
return NewJNIString(env, request->GetFirstPartyForCookies());
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetFirstPartyForCookies(JNIEnv* env,
jobject obj,
jlong self,
jstring jcookie) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return;
request->SetFirstPartyForCookies(GetJNIString(env, jcookie));
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetResourceType(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
jobject result = nullptr;
CefRequest::ResourceType rt = request->GetResourceType();
switch (rt) {
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_MAIN_FRAME,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_SUB_FRAME,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_STYLESHEET,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_SCRIPT, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_IMAGE, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_FONT_RESOURCE,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_SUB_RESOURCE,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_OBJECT, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_MEDIA, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_WORKER, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_SHARED_WORKER,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_PREFETCH,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_FAVICON,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_XHR, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_PING, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_SERVICE_WORKER,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_CSP_REPORT,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_PLUGIN_RESOURCE,
result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType",
RT_NAVIGATION_PRELOAD_MAIN_FRAME, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType",
RT_NAVIGATION_PRELOAD_SUB_FRAME, result);
JNI_CASE(env, "org/cef/network/CefRequest$ResourceType", RT_NUM_VALUES,
result);
}
return result;
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetTransitionType(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefRequest> request = GetSelf(self);
if (!request)
return nullptr;
ScopedJNITransitionType type(env, request->GetTransitionType());
return type.Release();
}
+250
View File
@@ -0,0 +1,250 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_network_CefRequest_N */
#ifndef _Included_org_cef_network_CefRequest_N
#define _Included_org_cef_network_CefRequest_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_network_CefRequest_N
* Method: N_Create
* Signature: ()Lorg/cef/network/CefRequest_N;
*/
JNIEXPORT jobject JNICALL Java_org_cef_network_CefRequest_1N_N_1Create(JNIEnv*,
jclass);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefRequest_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetIdentifier
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetIdentifier(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_IsReadOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefRequest_1N_N_1IsReadOnly(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetURL
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_cef_network_CefRequest_1N_N_1GetURL(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetURL
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefRequest_1N_N_1SetURL(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetMethod
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetMethod(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetMethod
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefRequest_1N_N_1SetMethod(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetReferrer
* Signature: (JLjava/lang/String;Lorg/cef/network/CefRequest/ReferrerPolicy;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetReferrer(JNIEnv*,
jobject,
jlong,
jstring,
jobject);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetReferrerURL
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetReferrerURL(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetReferrerPolicy
* Signature: (J)Lorg/cef/network/CefRequest/ReferrerPolicy;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetReferrerPolicy(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetPostData
* Signature: (J)Lorg/cef/network/CefPostData;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetPostData(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetPostData
* Signature: (JLorg/cef/network/CefPostData;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetPostData(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetHeaderByName
* Signature: (JLjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetHeaderByName(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetHeaderByName
* Signature: (JLjava/lang/String;Ljava/lang/String;Z)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetHeaderByName(JNIEnv*,
jobject,
jlong,
jstring,
jstring,
jboolean);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetHeaderMap
* Signature: (JLjava/util/Map;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetHeaderMap(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetHeaderMap
* Signature: (JLjava/util/Map;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetHeaderMap(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_Set
* Signature:
* (JLjava/lang/String;Ljava/lang/String;Lorg/cef/network/CefPostData;Ljava/util/Map;)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefRequest_1N_N_1Set(JNIEnv*,
jobject,
jlong,
jstring,
jstring,
jobject,
jobject);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetFlags
* Signature: (J)I
*/
JNIEXPORT jint JNICALL Java_org_cef_network_CefRequest_1N_N_1GetFlags(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetFlags
* Signature: (JI)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefRequest_1N_N_1SetFlags(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetFirstPartyForCookies
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetFirstPartyForCookies(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_SetFirstPartyForCookies
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefRequest_1N_N_1SetFirstPartyForCookies(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetResourceType
* Signature: (J)Lorg/cef/network/CefRequest/ResourceType;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetResourceType(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefRequest_N
* Method: N_GetTransitionType
* Signature: (J)Lorg/cef/network/CefRequest/TransitionType;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefRequest_1N_N_1GetTransitionType(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,49 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefResourceReadCallback_N.h"
#include "include/cef_resource_handler.h"
#include "jni_scoped_helpers.h"
namespace {
CefRefPtr<CefResourceReadCallback> GetSelf(jlong self) {
return reinterpret_cast<CefResourceReadCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in ResourceHandler.
SetCefForJNIObject<CefResourceReadCallback>(env, obj, nullptr,
"CefResourceReadCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefResourceReadCallback_1N_N_1Continue(
JNIEnv* env,
jobject obj,
jlong self,
jint bytes_read,
jlong nativeBufferRef,
jbyteArray javaBuffer) {
CefRefPtr<CefResourceReadCallback> callback = GetSelf(self);
if (!callback)
return;
void* data_out = reinterpret_cast<void*>(nativeBufferRef);
if (bytes_read > 0) {
jsize max_bytes = env->GetArrayLength(javaBuffer);
jbyte* jbyte = env->GetByteArrayElements(javaBuffer, nullptr);
if (jbyte) {
memmove(data_out, jbyte,
(bytes_read < max_bytes ? bytes_read : max_bytes));
env->ReleaseByteArrayElements(javaBuffer, jbyte, JNI_ABORT);
}
}
callback->Continue(bytes_read);
ClearSelf(env, obj);
}
@@ -0,0 +1,26 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefResourceReadCallback_N */
#ifndef _Included_org_cef_callback_CefResourceReadCallback_N
#define _Included_org_cef_callback_CefResourceReadCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefResourceReadCallback_N
* Method: N_Continue
* Signature: (JI)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefResourceReadCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jint,
jlong,
jbyteArray);
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,34 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefResourceSkipCallback_N.h"
#include "include/cef_resource_handler.h"
#include "jni_scoped_helpers.h"
namespace {
CefRefPtr<CefResourceSkipCallback> GetSelf(jlong self) {
return reinterpret_cast<CefResourceSkipCallback*>(self);
}
void ClearSelf(JNIEnv* env, jobject obj) {
// Clear the reference added in ResourceHandler.
SetCefForJNIObject<CefResourceSkipCallback>(env, obj, nullptr,
"CefResourceSkipCallback");
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_callback_CefResourceSkipCallback_1N_N_1Continue(
JNIEnv* env,
jobject obj,
jlong self,
jlong bytes_skipped) {
CefRefPtr<CefResourceSkipCallback> callback = GetSelf(self);
if (!callback)
return;
callback->Continue(bytes_skipped);
ClearSelf(env, obj);
}
@@ -0,0 +1,24 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefResourceSkipCallback_N */
#ifndef _Included_org_cef_callback_CefResourceSkipCallback_N
#define _Included_org_cef_callback_CefResourceSkipCallback_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefResourceSkipCallback_N
* Method: N_Continue
* Signature: (JJ)V
*/
JNIEXPORT void JNICALL
Java_org_cef_callback_CefResourceSkipCallback_1N_N_1Continue(JNIEnv*,
jobject,
jlong,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+185
View File
@@ -0,0 +1,185 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefResponse_N.h"
#include "include/cef_response.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
namespace {
const char kCefClassName[] = "CefResponse";
CefRefPtr<CefResponse> GetSelf(jlong self) {
return reinterpret_cast<CefResponse*>(self);
}
} // namespace
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefResponse_1N_N_1Create(JNIEnv* env, jclass cls) {
CefRefPtr<CefResponse> response = CefResponse::Create();
ScopedJNIResponse jresponse(env, response);
return jresponse.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<CefResponse>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefResponse_1N_N_1IsReadOnly(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return JNI_FALSE;
return response->IsReadOnly() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetError(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return nullptr;
return NewJNIErrorCode(env, response->GetError());
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetError(JNIEnv* env,
jobject obj,
jlong self,
jobject jerrorCode) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
if (!jerrorCode)
return;
response->SetError(GetJNIErrorCode(env, jerrorCode));
}
JNIEXPORT jint JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetStatus(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return 0;
return response->GetStatus();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetStatus(JNIEnv* env,
jobject obj,
jlong self,
jint jstatus) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
return response->SetStatus(jstatus);
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetStatusText(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return nullptr;
return NewJNIString(env, response->GetStatusText());
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetStatusText(JNIEnv* env,
jobject obj,
jlong self,
jstring jstatus) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
response->SetStatusText(GetJNIString(env, jstatus));
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetMimeType(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return nullptr;
return NewJNIString(env, response->GetMimeType());
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetMimeType(JNIEnv* env,
jobject obj,
jlong self,
jstring jmimeType) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
response->SetMimeType(GetJNIString(env, jmimeType));
}
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetHeaderByName(JNIEnv* env,
jobject obj,
jlong self,
jstring jname) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return nullptr;
return NewJNIString(env, response->GetHeaderByName(GetJNIString(env, jname)));
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetHeaderByName(JNIEnv* env,
jobject obj,
jlong self,
jstring jname,
jstring jvalue,
jboolean joverride) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
return response->SetHeaderByName(GetJNIString(env, jname),
GetJNIString(env, jvalue),
joverride != JNI_FALSE);
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetHeaderMap(JNIEnv* env,
jobject obj,
jlong self,
jobject jheaderMap) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
CefResponse::HeaderMap headerMap;
response->GetHeaderMap(headerMap);
SetJNIStringMultiMap(env, jheaderMap, headerMap);
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetHeaderMap(JNIEnv* env,
jobject obj,
jlong self,
jobject jheaderMap) {
CefRefPtr<CefResponse> response = GetSelf(self);
if (!response)
return;
CefResponse::HeaderMap headerMap;
GetJNIStringMultiMap(env, jheaderMap, headerMap);
response->SetHeaderMap(headerMap);
}
+159
View File
@@ -0,0 +1,159 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_network_CefResponse_N */
#ifndef _Included_org_cef_network_CefResponse_N
#define _Included_org_cef_network_CefResponse_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_network_CefResponse_N
* Method: N_Create
* Signature: ()Lorg/cef/network/CefResponse_N;
*/
JNIEXPORT jobject JNICALL Java_org_cef_network_CefResponse_1N_N_1Create(JNIEnv*,
jclass);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_IsReadOnly
* Signature: (J)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_network_CefResponse_1N_N_1IsReadOnly(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_GetError
* Signature: (J)Lorg/cef/handler/CefLoadHandler/ErrorCode;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetError(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_SetError
* Signature: (JLorg/cef/handler/CefLoadHandler/ErrorCode;)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetError(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_GetStatus
* Signature: (J)I
*/
JNIEXPORT jint JNICALL Java_org_cef_network_CefResponse_1N_N_1GetStatus(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_SetStatus
* Signature: (JI)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetStatus(JNIEnv*,
jobject,
jlong,
jint);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_GetStatusText
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetStatusText(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_SetStatusText
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetStatusText(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_GetMimeType
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetMimeType(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_SetMimeType
* Signature: (JLjava/lang/String;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetMimeType(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_GetHeaderByName
* Signature: (JLjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetHeaderByName(JNIEnv*,
jobject,
jlong,
jstring);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_SetHeaderByName
* Signature: (JLjava/lang/String;Ljava/lang/String;Z)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetHeaderByName(JNIEnv*,
jobject,
jlong,
jstring,
jstring,
jboolean);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_GetHeaderMap
* Signature: (JLjava/util/Map;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1GetHeaderMap(JNIEnv*,
jobject,
jlong,
jobject);
/*
* Class: org_cef_network_CefResponse_N
* Method: N_SetHeaderMap
* Signature: (JLjava/util/Map;)V
*/
JNIEXPORT void JNICALL
Java_org_cef_network_CefResponse_1N_N_1SetHeaderMap(JNIEnv*,
jobject,
jlong,
jobject);
#ifdef __cplusplus
}
#endif
#endif
+71
View File
@@ -0,0 +1,71 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefSchemeRegistrar_N.h"
#include <fstream>
#include "include/cef_scheme.h"
#include "client_app.h"
#include "jni_util.h"
#include "util.h"
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefSchemeRegistrar_1N_N_1AddCustomScheme(
JNIEnv* env,
jobject obj,
jstring jSchemeName,
jboolean jIsStandard,
jboolean jIsLocal,
jboolean jIsDisplayIsolated,
jboolean jIsSecure,
jboolean jIsCorsEnabled,
jboolean jIsCspBypassing,
jboolean jIsFetchEnabled) {
CefRawPtr<CefSchemeRegistrar> registrar =
GetCefFromJNIObject<CefSchemeRegistrar>(env, obj, "CefSchemeRegistrar");
if (!registrar)
return JNI_FALSE;
CefString schemeName = GetJNIString(env, jSchemeName);
int options = 0;
if (jIsStandard != JNI_FALSE)
options |= CEF_SCHEME_OPTION_STANDARD;
if (jIsLocal != JNI_FALSE)
options |= CEF_SCHEME_OPTION_LOCAL;
if (jIsDisplayIsolated != JNI_FALSE)
options |= CEF_SCHEME_OPTION_DISPLAY_ISOLATED;
if (jIsSecure != JNI_FALSE)
options |= CEF_SCHEME_OPTION_SECURE;
if (jIsCorsEnabled != JNI_FALSE)
options |= CEF_SCHEME_OPTION_CORS_ENABLED;
if (jIsCspBypassing != JNI_FALSE)
options |= CEF_SCHEME_OPTION_CSP_BYPASSING;
if (jIsFetchEnabled != JNI_FALSE)
options |= CEF_SCHEME_OPTION_FETCH_ENABLED;
bool result = registrar->AddCustomScheme(schemeName, options);
if (!result)
return JNI_FALSE;
// The registered scheme has to be forwarded to all other processes which will
// be created by the browser process (e.g. the render-process). Otherwise
// things like JS "localStorage" get/set will end up in a crashed
// render process.
std::string tmpName = util::GetTempFileName("scheme", false);
std::ofstream fStream(tmpName.c_str(),
std::ofstream::out | std::ofstream::app);
if (fStream.is_open()) {
// 1) Write the scheme name and the params to the file.
fStream << schemeName.ToString().c_str() << "," << options;
fStream.close();
// 2) Register file to be deleted in CefShutdown()
ClientApp::registerTempFile(tmpName);
}
return JNI_TRUE;
}
+30
View File
@@ -0,0 +1,30 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_callback_CefSchemeRegistrar_N */
#ifndef _Included_org_cef_callback_CefSchemeRegistrar_N
#define _Included_org_cef_callback_CefSchemeRegistrar_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_callback_CefSchemeRegistrar_N
* Method: N_AddCustomScheme
* Signature: (Ljava/lang/String;ZZZZZZZ)Z
*/
JNIEXPORT jboolean JNICALL
Java_org_cef_callback_CefSchemeRegistrar_1N_N_1AddCustomScheme(JNIEnv*,
jobject,
jstring,
jboolean,
jboolean,
jboolean,
jboolean,
jboolean,
jboolean,
jboolean);
#ifdef __cplusplus
}
#endif
#endif
+205
View File
@@ -0,0 +1,205 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "CefURLRequest_N.h"
#include "include/cef_request.h"
#include "include/cef_task.h"
#include "include/cef_urlrequest.h"
#include "critical_wait.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "url_request_client.h"
namespace {
class URLRequest : public CefTask {
public:
URLRequest(CefThreadId threadId,
CefRefPtr<CefRequest> request,
CefRefPtr<URLRequestClient> client)
: threadId_(threadId),
request_(request),
client_(client),
waitCond_(&lock_) {}
bool Create() {
if (!urlRequest_)
Dispatch(REQ_CREATE);
return (urlRequest_.get() != nullptr);
}
CefURLRequest::Status GetRequestStatus() {
if (!urlRequest_)
return UR_UNKNOWN;
Dispatch(REQ_STATUS);
return status_;
}
CefURLRequest::ErrorCode GetRequestError() {
if (!urlRequest_)
return ERR_FAILED;
Dispatch(REQ_ERROR);
return error_;
}
CefRefPtr<CefResponse> GetResponse() {
if (!urlRequest_)
return nullptr;
Dispatch(REQ_RESPONSE);
return response_;
}
void Cancel() {
if (!urlRequest_)
return;
Dispatch(REQ_CANCEL);
}
private:
enum URLRequestMode {
REQ_CREATE,
REQ_STATUS,
REQ_ERROR,
REQ_RESPONSE,
REQ_CANCEL,
};
CefThreadId threadId_;
CefRefPtr<CefRequest> request_;
CefRefPtr<URLRequestClient> client_;
// sync method calls
CriticalLock lock_;
CriticalWait waitCond_;
URLRequestMode mode_;
// result values
CefRefPtr<CefURLRequest> urlRequest_;
CefURLRequest::Status status_;
CefURLRequest::ErrorCode error_;
CefRefPtr<CefResponse> response_;
void Dispatch(URLRequestMode mode) {
mode_ = mode;
if (CefCurrentlyOn(threadId_)) {
Execute();
} else {
lock_.Lock();
CefPostTask(threadId_, this);
waitCond_.Wait();
lock_.Unlock();
}
}
virtual void Execute() override {
lock_.Lock();
switch (mode_) {
case REQ_CREATE:
// TODO(JCEF): Add the ability to specify a CefRequestContext.
urlRequest_ = CefURLRequest::Create(request_, client_.get(), nullptr);
break;
case REQ_STATUS:
status_ = urlRequest_->GetRequestStatus();
break;
case REQ_ERROR:
error_ = urlRequest_->GetRequestError();
break;
case REQ_RESPONSE:
response_ = urlRequest_->GetResponse();
break;
case REQ_CANCEL:
urlRequest_->Cancel();
break;
}
waitCond_.WakeUp();
lock_.Unlock();
}
IMPLEMENT_REFCOUNTING(URLRequest);
};
const char kCefClassName[] = "CefURLRequest";
CefRefPtr<URLRequest> GetSelf(jlong self) {
return reinterpret_cast<URLRequest*>(self);
}
} // namespace
JNIEXPORT void JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1Create(JNIEnv* env,
jobject obj,
jobject jrequest,
jobject jRequestClient) {
ScopedJNIRequest requestObj(env);
requestObj.SetHandle(jrequest, false /* should_delete */);
CefRefPtr<CefRequest> request = requestObj.GetCefObject();
if (!request)
return;
CefRefPtr<URLRequestClient> client =
URLRequestClient::Create(env, jRequestClient, obj);
CefRefPtr<URLRequest> urlRequest = new URLRequest(TID_UI, request, client);
if (!urlRequest->Create())
return;
SetCefForJNIObject(env, obj, urlRequest.get(), kCefClassName);
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1Dispose(JNIEnv* env,
jobject obj,
jlong self) {
SetCefForJNIObject<URLRequest>(env, obj, nullptr, kCefClassName);
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1GetRequestStatus(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<URLRequest> urlRequest = GetSelf(self);
if (!urlRequest)
return nullptr;
ScopedJNIURLRequestStatus status(env, urlRequest->GetRequestStatus());
return status.Release();
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1GetRequestError(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<URLRequest> urlRequest = GetSelf(self);
cef_errorcode_t err = ERR_FAILED;
if (urlRequest)
err = urlRequest->GetRequestError();
return NewJNIErrorCode(env, err);
}
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1GetResponse(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<URLRequest> urlRequest = GetSelf(self);
if (!urlRequest)
return nullptr;
CefRefPtr<CefResponse> response = urlRequest->GetResponse();
if (!response)
return nullptr;
ScopedJNIResponse jresponse(env, response);
return jresponse.Release();
}
JNIEXPORT void JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1Cancel(JNIEnv* env,
jobject obj,
jlong self) {
CefRefPtr<URLRequest> urlRequest = GetSelf(self);
if (!urlRequest)
return;
urlRequest->Cancel();
}
+70
View File
@@ -0,0 +1,70 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_cef_network_CefURLRequest_N */
#ifndef _Included_org_cef_network_CefURLRequest_N
#define _Included_org_cef_network_CefURLRequest_N
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_cef_network_CefURLRequest_N
* Method: N_Create
* Signature:
* (Lorg/cef/network/CefRequest;Lorg/cef/callback/CefURLRequestClient;)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefURLRequest_1N_N_1Create(JNIEnv*,
jobject,
jobject,
jobject);
/*
* Class: org_cef_network_CefURLRequest_N
* Method: N_Dispose
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefURLRequest_1N_N_1Dispose(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefURLRequest_N
* Method: N_GetRequestStatus
* Signature: (J)Lorg/cef/network/CefURLRequest/Status;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1GetRequestStatus(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefURLRequest_N
* Method: N_GetRequestError
* Signature: (J)Lorg/cef/handler/CefLoadHandler/ErrorCode;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1GetRequestError(JNIEnv*,
jobject,
jlong);
/*
* Class: org_cef_network_CefURLRequest_N
* Method: N_GetResponse
* Signature: (J)Lorg/cef/network/CefResponse;
*/
JNIEXPORT jobject JNICALL
Java_org_cef_network_CefURLRequest_1N_N_1GetResponse(JNIEnv*, jobject, jlong);
/*
* Class: org_cef_network_CefURLRequest_N
* Method: N_Cancel
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_cef_network_CefURLRequest_1N_N_1Cancel(JNIEnv*,
jobject,
jlong);
#ifdef __cplusplus
}
#endif
#endif
+112
View File
@@ -0,0 +1,112 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "browser_process_handler.h"
#include "client_handler.h"
#include "context.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "print_handler.h"
#include "util.h"
#include "include/cef_base.h"
// instantiate static values
std::set<CefMessageRouterConfig, cmpCfg> BrowserProcessHandler::router_cfg_;
base::Lock BrowserProcessHandler::router_cfg_lock_;
BrowserProcessHandler::BrowserProcessHandler(JNIEnv* env, jobject app_handler)
: handle_(env, app_handler) {}
BrowserProcessHandler::~BrowserProcessHandler() {
base::AutoLock lock_scope(router_cfg_lock_);
router_cfg_.clear();
}
void BrowserProcessHandler::OnContextInitialized() {
Context::GetInstance()->OnContextInitialized();
if (!handle_)
return;
ScopedJNIEnv env;
if (!env)
return;
JNI_CALL_VOID_METHOD(env, handle_, "onContextInitialized", "()V");
}
void BrowserProcessHandler::OnScheduleMessagePumpWork(int64_t delay_ms) {
if (!handle_)
return;
ScopedJNIEnv env;
if (!env)
return;
JNI_CALL_VOID_METHOD(env, handle_, "onScheduleMessagePumpWork", "(J)V",
delay_ms);
}
bool BrowserProcessHandler::OnAlreadyRunningAppRelaunch(
CefRefPtr<CefCommandLine> command_line,
const CefString& current_directory) {
if (!handle_)
return false;
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIObject<CefCommandLine> jcommandLine(
env, command_line, "org/cef/callback/CefCommandLine_N", "CefCommandLine");
jcommandLine.SetTemporary();
ScopedJNIString jcurrentDirectory(env, current_directory);
jboolean jresult = 0;
JNI_CALL_BOOLEAN_METHOD(
jresult, env, handle_, "onAlreadyRunningAppRelaunch",
"(Lorg/cef/callback/CefCommandLine;Ljava/lang/String;)Z",
jcommandLine.get(), jcurrentDirectory.get());
return jresult;
}
// static
CefRefPtr<CefListValue> BrowserProcessHandler::GetMessageRouterConfigs() {
int idx = 0;
static std::set<CefMessageRouterConfig, cmpCfg>::iterator iter;
base::AutoLock lock_scope(router_cfg_lock_);
if (router_cfg_.empty())
return nullptr;
// Configuration pased to CefHelperApp::OnBrowserCreated.
auto router_configs = CefListValue::Create();
for (iter = router_cfg_.begin(); iter != router_cfg_.end(); ++iter) {
CefRefPtr<CefDictionaryValue> dict = CefDictionaryValue::Create();
dict->SetString("js_query_function", iter->js_query_function);
dict->SetString("js_cancel_function", iter->js_cancel_function);
router_configs->SetDictionary(idx, dict);
idx++;
}
return router_configs;
}
// static
void BrowserProcessHandler::AddMessageRouterConfig(
const CefMessageRouterConfig& cfg) {
base::AutoLock lock_scope(router_cfg_lock_);
router_cfg_.insert(cfg);
}
// static
void BrowserProcessHandler::RemoveMessageRouterConfig(
const CefMessageRouterConfig& cfg) {
base::AutoLock lock_scope(router_cfg_lock_);
router_cfg_.erase(cfg);
}
+53
View File
@@ -0,0 +1,53 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_BROWSER_PROCESS_HANDLER_H_
#define JCEF_NATIVE_BROWSER_PROCESS_HANDLER_H_
#pragma once
#include <jni.h>
#include <set>
#include "include/base/cef_lock.h"
#include "include/cef_browser_process_handler.h"
#include "include/wrapper/cef_message_router.h"
#include "jni_scoped_helpers.h"
// comparator to check if configuration values are the same
struct cmpCfg {
bool operator()(const CefMessageRouterConfig& lValue,
const CefMessageRouterConfig& rValue) const {
std::less<std::string> comp;
return comp(lValue.js_query_function.ToString(),
rValue.js_query_function.ToString());
}
};
// BrowserProcessHandler implementation.
class BrowserProcessHandler : public CefBrowserProcessHandler {
public:
BrowserProcessHandler(JNIEnv* env, jobject app_handler);
virtual ~BrowserProcessHandler();
void OnContextInitialized() override;
void OnScheduleMessagePumpWork(int64_t delay_ms) override;
bool OnAlreadyRunningAppRelaunch(CefRefPtr<CefCommandLine> command_line,
const CefString& current_directory) override;
static CefRefPtr<CefListValue> GetMessageRouterConfigs();
static void AddMessageRouterConfig(const CefMessageRouterConfig& cfg);
static void RemoveMessageRouterConfig(const CefMessageRouterConfig& cfg);
protected:
ScopedJNIObjectGlobal handle_;
static std::set<CefMessageRouterConfig, cmpCfg> router_cfg_;
static base::Lock router_cfg_lock_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(BrowserProcessHandler);
};
#endif // JCEF_NATIVE_BROWSER_PROCESS_HANDLER_H_
+133
View File
@@ -0,0 +1,133 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "client_app.h"
#include "jni_util.h"
#include "util.h"
#if defined(OS_MACOSX)
#include "util_mac.h"
#endif
namespace {
std::set<std::string>& GetTempFilesSet() {
static std::set<std::string> tempFiles;
return tempFiles;
}
} // namespace
ClientApp::ClientApp(const std::string& cache_path,
JNIEnv* env,
const jobject app_handler)
: cache_path_(cache_path),
handle_(env, app_handler),
process_handler_(new BrowserProcessHandler(env, app_handler)) {}
void ClientApp::OnBeforeCommandLineProcessing(
const CefString& process_type,
CefRefPtr<CefCommandLine> command_line) {
// If the java code has registered an AppHandler, we'll forward
// the commandline processing to it before we append the essential
// switches "locale_pak" and "use-core-animation".
if (handle_ && process_type.empty()) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIString jprocessType(env, process_type);
ScopedJNIObject<CefCommandLine> jcommandLine(
env, command_line, "org/cef/callback/CefCommandLine_N",
"CefCommandLine");
jcommandLine.SetTemporary();
JNI_CALL_VOID_METHOD(
env, handle_, "onBeforeCommandLineProcessing",
"(Ljava/lang/String;Lorg/cef/callback/CefCommandLine;)V",
jprocessType.get(), jcommandLine.get());
}
if (process_type.empty()) {
#if defined(OS_MACOSX)
// If windowed rendering is used, we need the browser window as CALayer
// due Java7 is CALayer based instead of NSLayer based.
command_line->AppendSwitch("use-core-animation");
// Skip keychain prompt on startup.
command_line->AppendSwitch("use-mock-keychain");
#endif // defined(OS_MACOSX)
if (cache_path_.empty() &&
!command_line->HasSwitch("disable-gpu-shader-disk-cache")) {
// Don't create a "GPUCache" directory when cache_path is unspecified.
command_line->AppendSwitch("disable-gpu-shader-disk-cache");
}
}
}
void ClientApp::OnRegisterCustomSchemes(
CefRawPtr<CefSchemeRegistrar> registrar) {
if (!handle_)
return;
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIObject<CefSchemeRegistrar, CefRawPtr<CefSchemeRegistrar>> jregistrar(
env, registrar, "org/cef/callback/CefSchemeRegistrar_N",
"CefSchemeRegistrar");
jregistrar.SetTemporary();
JNI_CALL_VOID_METHOD(env, handle_, "onRegisterCustomSchemes",
"(Lorg/cef/callback/CefSchemeRegistrar;)V",
jregistrar.get());
}
CefRefPtr<CefBrowserProcessHandler> ClientApp::GetBrowserProcessHandler() {
return process_handler_.get();
}
#if defined(OS_MACOSX)
bool ClientApp::HandleTerminate() {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIClass jcls(env, "org/cef/CefApp");
if (!jcls) {
return false;
}
jmethodID methodId =
env->GetStaticMethodID(jcls, "getInstance", "()Lorg/cef/CefApp;");
if (!methodId) {
return false;
}
ScopedJNIObjectLocal jcefApp(env,
env->CallStaticObjectMethod(jcls, methodId));
if (!jcefApp) {
return false;
}
JNI_CALL_VOID_METHOD(env, jcefApp, "handleBeforeTerminate", "()V");
return true;
}
#endif // defined(OS_MACOSX)
// static
void ClientApp::registerTempFile(const std::string& tmpFile) {
GetTempFilesSet().insert(tmpFile);
}
// static
void ClientApp::eraseTempFiles() {
std::set<std::string>& tempFiles = GetTempFilesSet();
std::set<std::string>::iterator iter;
for (iter = tempFiles.begin(); iter != tempFiles.end(); ++iter) {
remove((*iter).c_str());
}
tempFiles.clear();
}
+49
View File
@@ -0,0 +1,49 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_CLIENT_APP_H_
#define JCEF_NATIVE_CLIENT_APP_H_
#pragma once
#include <jni.h>
#include "include/cef_app.h"
#include "browser_process_handler.h"
#include "jni_scoped_helpers.h"
// ClientApp implementation.
class ClientApp : public CefApp {
public:
ClientApp(const std::string& cache_path,
JNIEnv* env,
const jobject app_handler);
// CefApp methods:
void OnBeforeCommandLineProcessing(
const CefString& process_type,
CefRefPtr<CefCommandLine> command_line) override;
void OnRegisterCustomSchemes(
CefRawPtr<CefSchemeRegistrar> registrar) override;
CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() override;
#if defined(OS_MACOSX)
// Used to continue termination handling in Java.
bool HandleTerminate();
#endif
// Used to manage the lifespan of temporary files.
static void registerTempFile(const std::string& tmpFile);
static void eraseTempFiles();
protected:
const std::string cache_path_;
ScopedJNIObjectGlobal handle_;
CefRefPtr<BrowserProcessHandler> process_handler_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(ClientApp);
};
#endif // JCEF_NATIVE_CLIENT_APP_H_
+307
View File
@@ -0,0 +1,307 @@
// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "client_handler.h"
#include <stdio.h>
#include <algorithm>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include "browser_process_handler.h"
#include "context_menu_handler.h"
#include "dialog_handler.h"
#include "display_handler.h"
#include "download_handler.h"
#include "drag_handler.h"
#include "focus_handler.h"
#include "jsdialog_handler.h"
#include "keyboard_handler.h"
#include "life_span_handler.h"
#include "load_handler.h"
#include "message_router_handler.h"
#include "print_handler.h"
#include "render_handler.h"
#include "request_handler.h"
#include "include/cef_browser.h"
#include "include/cef_frame.h"
#include "include/cef_parser.h"
#include "include/cef_path_util.h"
#include "include/cef_process_util.h"
#include "include/cef_trace.h"
#include "include/wrapper/cef_stream_resource_handler.h"
#include "jni_util.h"
#include "util.h"
namespace {
CefRefPtr<CefMessageRouter> GetMessageRouter(JNIEnv* env,
jobject jmessageRouter) {
ScopedJNIMessageRouter messageRouter(env);
messageRouter.SetHandle(jmessageRouter, false /* should_delete */);
return messageRouter.GetCefObject();
}
CefMessageRouterConfig GetMessageRouterConfig(JNIEnv* env,
jobject jmessageRouter) {
ScopedJNIObjectResult jrouterConfig(env);
JNI_CALL_METHOD(env, jmessageRouter, "getMessageRouterConfig",
"()Lorg/cef/browser/CefMessageRouter$CefMessageRouterConfig;",
Object, jrouterConfig);
return GetJNIMessageRouterConfig(env, jrouterConfig);
}
} // namespace
ClientHandler::ClientHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
template <class T>
CefRefPtr<T> ClientHandler::GetHandler(const char* class_name) {
std::string methodName, className, methodSig;
std::stringstream ss;
ss << "get" << class_name;
methodName = ss.str();
ss.str(std::string());
ss << "Cef" << class_name;
className = ss.str();
ss.str(std::string());
ss << "()Lorg/cef/handler/" << className << ";";
methodSig = ss.str();
ScopedJNIEnv env;
if (!env)
return nullptr;
CefRefPtr<T> result = nullptr;
ScopedJNIObjectResult jresult(env);
JNI_CALL_METHOD(env, handle_, methodName.c_str(), methodSig.c_str(), Object,
jresult);
if (jresult) {
ScopedJNIObject<T> jhandler(env, jresult.Release(),
true /* should_delete */, className.c_str());
result = jhandler.GetOrCreateCefObject();
}
return result;
}
CefRefPtr<CefContextMenuHandler> ClientHandler::GetContextMenuHandler() {
return GetHandler<ContextMenuHandler>("ContextMenuHandler");
}
CefRefPtr<CefDialogHandler> ClientHandler::GetDialogHandler() {
return GetHandler<DialogHandler>("DialogHandler");
}
CefRefPtr<CefDisplayHandler> ClientHandler::GetDisplayHandler() {
return GetHandler<DisplayHandler>("DisplayHandler");
}
CefRefPtr<CefDownloadHandler> ClientHandler::GetDownloadHandler() {
return GetHandler<DownloadHandler>("DownloadHandler");
}
CefRefPtr<CefDragHandler> ClientHandler::GetDragHandler() {
return GetHandler<DragHandler>("DragHandler");
}
CefRefPtr<CefFocusHandler> ClientHandler::GetFocusHandler() {
return GetHandler<FocusHandler>("FocusHandler");
}
CefRefPtr<CefJSDialogHandler> ClientHandler::GetJSDialogHandler() {
return GetHandler<JSDialogHandler>("JSDialogHandler");
}
CefRefPtr<CefKeyboardHandler> ClientHandler::GetKeyboardHandler() {
return GetHandler<KeyboardHandler>("KeyboardHandler");
}
CefRefPtr<CefLifeSpanHandler> ClientHandler::GetLifeSpanHandler() {
return GetHandler<LifeSpanHandler>("LifeSpanHandler");
}
CefRefPtr<CefLoadHandler> ClientHandler::GetLoadHandler() {
return GetHandler<LoadHandler>("LoadHandler");
}
CefRefPtr<CefPrintHandler> ClientHandler::GetPrintHandler() {
return GetHandler<PrintHandler>("PrintHandler");
}
CefRefPtr<CefRenderHandler> ClientHandler::GetRenderHandler() {
return GetHandler<RenderHandler>("RenderHandler");
}
CefRefPtr<CefRequestHandler> ClientHandler::GetRequestHandler() {
return GetHandler<RequestHandler>("RequestHandler");
}
bool ClientHandler::OnProcessMessageReceived(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) {
bool handled = false;
// Iterate on a copy of |message_routers_| to avoid re-entrancy of
// |message_router_lock_| if the client CefMessageRouterHandler impl
// calls CefClientHandler.addMessageRouter/removeMessageRouter.
MessageRouterSet message_routers;
{
base::AutoLock lock_scope(message_router_lock_);
message_routers = message_routers_;
}
for (auto& router : message_routers) {
handled = router->OnProcessMessageReceived(browser, frame, source_process,
message);
if (handled)
break;
}
return handled;
}
CefRefPtr<WindowHandler> ClientHandler::GetWindowHandler() {
return GetHandler<WindowHandler>("WindowHandler");
}
void ClientHandler::AddMessageRouter(JNIEnv* env, jobject jmessageRouter) {
CefRefPtr<CefMessageRouter> router = GetMessageRouter(env, jmessageRouter);
if (!router)
return;
CefMessageRouterConfig config = GetMessageRouterConfig(env, jmessageRouter);
// 1) Add CefMessageRouterBrowserSide into the list.
{
base::AutoLock lock_scope(message_router_lock_);
message_routers_.insert(router);
}
// 2) Update CefApp for new render-processes.
BrowserProcessHandler::AddMessageRouterConfig(config);
// 3) Update running render-processes.
BrowserSet allBrowsers = GetAllBrowsers(env);
if (allBrowsers.empty())
return;
CefRefPtr<CefProcessMessage> message =
CefProcessMessage::Create("AddMessageRouter");
CefRefPtr<CefListValue> args = message->GetArgumentList();
args->SetString(0, config.js_query_function);
args->SetString(1, config.js_cancel_function);
BrowserSet::const_iterator it = allBrowsers.begin();
for (; it != allBrowsers.end(); ++it) {
(*it)->GetMainFrame()->SendProcessMessage(PID_RENDERER, message);
}
}
void ClientHandler::RemoveMessageRouter(JNIEnv* env, jobject jmessageRouter) {
CefRefPtr<CefMessageRouter> router = GetMessageRouter(env, jmessageRouter);
if (!router)
return;
CefMessageRouterConfig config = GetMessageRouterConfig(env, jmessageRouter);
// 1) Remove CefMessageRouterBrowserSide from the list.
{
base::AutoLock lock_scope(message_router_lock_);
message_routers_.erase(router);
}
// 2) Update CefApp.
BrowserProcessHandler::RemoveMessageRouterConfig(config);
// 3) Update running render-processes.
BrowserSet allBrowsers = GetAllBrowsers(env);
if (allBrowsers.empty())
return;
CefRefPtr<CefProcessMessage> message =
CefProcessMessage::Create("RemoveMessageRouter");
CefRefPtr<CefListValue> args = message->GetArgumentList();
args->SetString(0, config.js_query_function);
args->SetString(1, config.js_cancel_function);
BrowserSet::const_iterator it = allBrowsers.begin();
for (; it != allBrowsers.end(); ++it) {
(*it)->GetMainFrame()->SendProcessMessage(PID_RENDERER, message);
}
}
void ClientHandler::OnAfterCreated() {}
void ClientHandler::OnBeforeClose(CefRefPtr<CefBrowser> browser) {
REQUIRE_UI_THREAD();
base::AutoLock lock_scope(message_router_lock_);
for (auto& router : message_routers_) {
router->OnBeforeClose(browser);
}
}
void ClientHandler::OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame) {
REQUIRE_UI_THREAD();
base::AutoLock lock_scope(message_router_lock_);
for (auto& router : message_routers_) {
router->OnBeforeBrowse(browser, frame);
}
}
void ClientHandler::OnRenderProcessTerminated(CefRefPtr<CefBrowser> browser) {
REQUIRE_UI_THREAD();
base::AutoLock lock_scope(message_router_lock_);
for (auto& router : message_routers_) {
router->OnRenderProcessTerminated(browser);
}
}
jobject ClientHandler::getBrowser(JNIEnv* env, CefRefPtr<CefBrowser> browser) {
jobject jbrowser = nullptr;
JNI_CALL_METHOD(env, handle_, "getBrowser", "(I)Lorg/cef/browser/CefBrowser;",
Object, jbrowser, browser->GetIdentifier());
return jbrowser;
}
ClientHandler::BrowserSet ClientHandler::GetAllBrowsers(JNIEnv* env) {
BrowserSet result;
jobject jbrowsers = nullptr;
JNI_CALL_METHOD(env, handle_, "getAllBrowser", "()[Ljava/lang/Object;",
Object, jbrowsers);
if (!jbrowsers)
return result;
jobjectArray jbrowserArray = (jobjectArray)jbrowsers;
jint length = env->GetArrayLength(jbrowserArray);
for (int i = 0; i < length; ++i) {
jobject jbrowser = env->GetObjectArrayElement(jbrowserArray, i);
if (!jbrowser)
continue;
ScopedJNIBrowser sbrowser(env);
sbrowser.SetHandle(jbrowser, true /* should_delete */);
CefRefPtr<CefBrowser> browser = sbrowser.GetCefObject();
if (!browser)
continue;
result.insert(browser);
}
env->DeleteLocalRef(jbrowserArray);
return result;
}
+83
View File
@@ -0,0 +1,83 @@
// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_CLIENT_HANDLER_H_
#define JCEF_NATIVE_CLIENT_HANDLER_H_
#pragma once
#include <jni.h>
#include <set>
#include "include/base/cef_lock.h"
#include "include/cef_base.h"
#include "include/cef_client.h"
#include "jni_scoped_helpers.h"
#include "message_router_handler.h"
#include "window_handler.h"
// ClientHandler implementation.
class ClientHandler : public CefClient {
public:
ClientHandler(JNIEnv* env, jobject handler);
// CefClient methods
CefRefPtr<CefContextMenuHandler> GetContextMenuHandler() override;
CefRefPtr<CefDialogHandler> GetDialogHandler() override;
CefRefPtr<CefDisplayHandler> GetDisplayHandler() override;
CefRefPtr<CefDownloadHandler> GetDownloadHandler() override;
CefRefPtr<CefDragHandler> GetDragHandler() override;
CefRefPtr<CefFocusHandler> GetFocusHandler() override;
CefRefPtr<CefJSDialogHandler> GetJSDialogHandler() override;
CefRefPtr<CefKeyboardHandler> GetKeyboardHandler() override;
CefRefPtr<CefLifeSpanHandler> GetLifeSpanHandler() override;
CefRefPtr<CefLoadHandler> GetLoadHandler() override;
CefRefPtr<CefPrintHandler> GetPrintHandler() override;
CefRefPtr<CefRenderHandler> GetRenderHandler() override;
CefRefPtr<CefRequestHandler> GetRequestHandler() override;
bool OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) override;
// Additional handler for windowed rendering mode
CefRefPtr<WindowHandler> GetWindowHandler();
// Methods to deal with message router bindings
void AddMessageRouter(JNIEnv* env, jobject jmessageRouter);
void RemoveMessageRouter(JNIEnv* env, jobject jmessageRouter);
// Methods to set and remove a browser ref.
void OnAfterCreated();
void OnBeforeClose(CefRefPtr<CefBrowser> browser);
void OnBeforeBrowse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame);
void OnRenderProcessTerminated(CefRefPtr<CefBrowser> browser);
jobject getBrowser(JNIEnv* env, CefRefPtr<CefBrowser> browser);
protected:
typedef std::set<CefRefPtr<CefBrowser>> BrowserSet;
BrowserSet GetAllBrowsers(JNIEnv* env);
template <class T>
CefRefPtr<T> GetHandler(const char* class_name);
ScopedJNIObjectGlobal handle_;
// The child browser window.
std::map<int, jobject> browserMap_;
using MessageRouterSet = std::set<CefRefPtr<CefMessageRouterBrowserSide>>;
MessageRouterSet message_routers_;
// Protects access to |message_routers_|.
base::Lock message_router_lock_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(ClientHandler);
};
#endif // JCEF_NATIVE_CLIENT_HANDLER_H_
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--The ID below indicates application support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!--The ID below indicates application support for Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!--The ID below indicates application support for Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
</assembly>
+19
View File
@@ -0,0 +1,19 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "completion_callback.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "util.h"
CompletionCallback::CompletionCallback(JNIEnv* env, jobject jhandler)
: handle_(env, jhandler) {}
void CompletionCallback::OnComplete() {
ScopedJNIEnv env;
if (!env)
return;
JNI_CALL_VOID_METHOD(env, handle_, "onComplete", "()V");
}
+30
View File
@@ -0,0 +1,30 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_COMPLETION_CALLBACK_H_
#define JCEF_NATIVE_COMPLETION_CALLBACK_H_
#pragma once
#include <jni.h>
#include "include/cef_callback.h"
#include "jni_scoped_helpers.h"
// CompletionCallback implementation.
class CompletionCallback : public CefCompletionCallback {
public:
CompletionCallback(JNIEnv* env, jobject jhandler);
// CompletionCallback methods
virtual void OnComplete() override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(CompletionCallback);
};
#endif // JCEF_NATIVE_COMPLETION_CALLBACK_H_
+299
View File
@@ -0,0 +1,299 @@
// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "context.h"
#include "include/cef_app.h"
#include "client_app.h"
#include "jni_util.h"
#if defined(OS_MACOSX)
#include "util_mac.h"
#endif
namespace {
Context* g_context = nullptr;
CefSettings GetJNISettings(JNIEnv* env, jobject obj) {
CefString tmp;
CefSettings settings;
#if defined(OS_POSIX) && !defined(OS_ANDROID)
settings.disable_signal_handlers = true;
#endif
if (!obj)
return settings;
ScopedJNIClass cls(env, "org/cef/CefSettings");
if (!cls)
return settings;
if (GetJNIFieldString(env, cls, obj, "browser_subprocess_path", &tmp) &&
!tmp.empty()) {
CefString(&settings.browser_subprocess_path) = tmp;
tmp.clear();
}
GetJNIFieldBoolean(env, cls, obj, "windowless_rendering_enabled",
&settings.windowless_rendering_enabled);
GetJNIFieldBoolean(env, cls, obj, "command_line_args_disabled",
&settings.command_line_args_disabled);
if (GetJNIFieldString(env, cls, obj, "cache_path", &tmp) && !tmp.empty()) {
CefString(&settings.cache_path) = tmp;
tmp.clear();
}
if (GetJNIFieldString(env, cls, obj, "root_cache_path", &tmp) &&
!tmp.empty()) {
CefString(&settings.root_cache_path) = tmp;
tmp.clear();
}
GetJNIFieldBoolean(env, cls, obj, "persist_session_cookies",
&settings.persist_session_cookies);
if (GetJNIFieldString(env, cls, obj, "user_agent", &tmp) && !tmp.empty()) {
CefString(&settings.user_agent) = tmp;
tmp.clear();
}
if (GetJNIFieldString(env, cls, obj, "user_agent_product", &tmp) &&
!tmp.empty()) {
CefString(&settings.user_agent_product) = tmp;
tmp.clear();
}
if (GetJNIFieldString(env, cls, obj, "locale", &tmp) && !tmp.empty()) {
CefString(&settings.locale) = tmp;
tmp.clear();
}
if (GetJNIFieldString(env, cls, obj, "log_file", &tmp) && !tmp.empty()) {
CefString(&settings.log_file) = tmp;
tmp.clear();
}
jobject obj_sev = nullptr;
if (GetJNIFieldObject(env, cls, obj, "log_severity", &obj_sev,
"Lorg/cef/CefSettings$LogSeverity;")) {
ScopedJNIObjectLocal severity(env, obj_sev);
if (IsJNIEnumValue(env, severity, "org/cef/CefSettings$LogSeverity",
"LOGSEVERITY_VERBOSE")) {
settings.log_severity = LOGSEVERITY_VERBOSE;
} else if (IsJNIEnumValue(env, severity, "org/cef/CefSettings$LogSeverity",
"LOGSEVERITY_INFO")) {
settings.log_severity = LOGSEVERITY_INFO;
} else if (IsJNIEnumValue(env, severity, "org/cef/CefSettings$LogSeverity",
"LOGSEVERITY_WARNING")) {
settings.log_severity = LOGSEVERITY_WARNING;
} else if (IsJNIEnumValue(env, severity, "org/cef/CefSettings$LogSeverity",
"LOGSEVERITY_ERROR")) {
settings.log_severity = LOGSEVERITY_ERROR;
} else if (IsJNIEnumValue(env, severity, "org/cef/CefSettings$LogSeverity",
"LOGSEVERITY_DISABLE")) {
settings.log_severity = LOGSEVERITY_DISABLE;
} else {
settings.log_severity = LOGSEVERITY_DEFAULT;
}
}
if (GetJNIFieldString(env, cls, obj, "javascript_flags", &tmp) &&
!tmp.empty()) {
CefString(&settings.javascript_flags) = tmp;
tmp.clear();
}
if (GetJNIFieldString(env, cls, obj, "resources_dir_path", &tmp) &&
!tmp.empty()) {
CefString(&settings.resources_dir_path) = tmp;
tmp.clear();
}
if (GetJNIFieldString(env, cls, obj, "locales_dir_path", &tmp) &&
!tmp.empty()) {
CefString(&settings.locales_dir_path) = tmp;
tmp.clear();
}
GetJNIFieldInt(env, cls, obj, "remote_debugging_port",
&settings.remote_debugging_port);
if (GetJNIFieldString(env, cls, obj, "chrome_policy_id", &tmp) &&
!tmp.empty()) {
CefString(&settings.chrome_policy_id) = tmp;
tmp.clear();
}
GetJNIFieldInt(env, cls, obj, "uncaught_exception_stack_size",
&settings.uncaught_exception_stack_size);
jobject obj_col = nullptr;
if (GetJNIFieldObject(env, cls, obj, "background_color", &obj_col,
"Lorg/cef/CefSettings$ColorType;")) {
ScopedJNIObjectLocal color_type(env, obj_col);
jlong jcolor = 0;
JNI_CALL_METHOD(env, color_type, "getColor", "()J", Long, jcolor);
settings.background_color = (cef_color_t)jcolor;
}
if (GetJNIFieldString(env, cls, obj, "cookieable_schemes_list", &tmp) &&
!tmp.empty()) {
CefString(&settings.cookieable_schemes_list) = tmp;
tmp.clear();
}
GetJNIFieldBoolean(env, cls, obj, "cookieable_schemes_exclude_defaults",
&settings.cookieable_schemes_exclude_defaults);
return settings;
}
} // namespace
// static
void Context::Create() {
new Context();
}
// static
void Context::Destroy() {
DCHECK(g_context);
if (g_context)
delete g_context;
}
// static
Context* Context::GetInstance() {
return g_context;
}
bool Context::PreInitialize(JNIEnv* env, jobject c) {
DCHECK(thread_checker_.CalledOnValidThread());
JavaVM* jvm;
jint rs = env->GetJavaVM(&jvm);
DCHECK_EQ(rs, JNI_OK);
if (rs != JNI_OK)
return JNI_FALSE;
SetJVM(jvm);
ScopedJNIClass javaClass(env, env->GetObjectClass(c));
ScopedJNIObjectResult javaClassLoader(env);
JNI_CALL_METHOD(env, javaClass, "getClassLoader", "()Ljava/lang/ClassLoader;",
Object, javaClassLoader);
ASSERT(javaClassLoader);
if (!javaClassLoader)
return false;
SetJavaClassLoader(env, javaClassLoader);
return true;
}
bool Context::Initialize(JNIEnv* env,
jobject c,
jobject appHandler,
jobject jsettings) {
DCHECK(thread_checker_.CalledOnValidThread());
#if defined(OS_WIN)
CefMainArgs main_args(::GetModuleHandle(nullptr));
#else
CefMainArgs main_args(0, nullptr);
#endif
CefSettings settings = GetJNISettings(env, jsettings);
// Sandbox is not supported because:
// - Use of a separate sub-process executable on Windows.
// - Use of a temporary file to communicate custom schemes to the
// renderer process.
settings.no_sandbox = true;
#if defined(OS_WIN) || defined(OS_LINUX)
// Use external message pump with OSR.
external_message_pump_ = !!settings.windowless_rendering_enabled;
if (!external_message_pump_) {
// Windowed rendering on Windows requires multi-threaded message loop,
// otherwise something eats the messages required by Java and the Java
// window becomes unresponsive.
//
// Actually the same appears to be true for Linux, which is why we also
// need multithreaded message loops there. Note that however, on Linux
// it is more difficult to get this to work: it is necessary for the first
// call to Xlib to be a call to XInitThreads! Since Java itself calls
// Xlib when it initializes the first window, an application must make
// sure to invoke this method before any other Xlib functions are called
// - including by the Java runtime itself, which makes this feat a little
// tricky. The CefApp class exposes a static method for this purpose,
// initXlibForMultithreading(), but the host application must load the
// jcef native lib by itself in order to use it, and it must invoke it
// VERY early, ideally at the beginning of the main method.
// Another neat trick to get this done is to create a special native lib
// just for this purpose like described in this StackOverflow thread:
// https://stackoverflow.com/questions/24559368
settings.multi_threaded_message_loop = true;
}
#endif
// Use CefAppHandler.onScheduleMessagePumpWork to schedule calls to
// DoMessageLoopWork.
settings.external_message_pump = external_message_pump_;
CefRefPtr<ClientApp> client_app(
new ClientApp(CefString(&settings.cache_path), env, appHandler));
bool res = false;
#if defined(OS_MACOSX)
res = util_mac::CefInitializeOnMainThread(main_args, settings,
client_app.get());
#else
res = CefInitialize(main_args, settings, client_app.get(), nullptr);
#endif
return res;
}
void Context::OnContextInitialized() {
REQUIRE_UI_THREAD();
temp_window_.reset(new TempWindow());
}
void Context::DoMessageLoopWork() {
DCHECK(thread_checker_.CalledOnValidThread());
#if defined(OS_MACOSX)
util_mac::CefDoMessageLoopWorkOnMainThread();
#else
CefDoMessageLoopWork();
#endif
}
void Context::Shutdown() {
DCHECK(thread_checker_.CalledOnValidThread());
// Clear scheme handler factories on shutdown to avoid refcount DCHECK.
CefClearSchemeHandlerFactories();
ClientApp::eraseTempFiles();
#if defined(OS_MACOSX)
util_mac::CefShutdownOnMainThread();
#else
// Pump CefDoMessageLoopWork a few times before shutting down.
if (external_message_pump_) {
for (int i = 0; i < 10; ++i)
CefDoMessageLoopWork();
}
temp_window_.reset(nullptr);
CefShutdown();
#endif
}
Context::Context() : external_message_pump_(true) {
DCHECK(!g_context);
g_context = this;
#if defined(OS_MACOSX)
// On macOS we create this object very early to allow LibraryLoader
// assignment. However, we still want the PreInitialize() call to determine
// thread ownership.
thread_checker_.DetachFromThread();
#endif
}
Context::~Context() {
DCHECK(thread_checker_.CalledOnValidThread());
g_context = nullptr;
#if defined(OS_MACOSX)
cef_unload_library();
#endif
}
+49
View File
@@ -0,0 +1,49 @@
// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_CONTEXT_H_
#define JCEF_NATIVE_CONTEXT_H_
#pragma once
#include <jni.h>
#include "include/base/cef_macros.h"
#include "include/base/cef_thread_checker.h"
#include "temp_window.h"
#if defined(OS_MACOSX)
#include "include/wrapper/cef_library_loader.h"
#endif
class Context {
public:
static void Create();
static void Destroy();
// Returns the singleton instance of this object.
static Context* GetInstance();
bool PreInitialize(JNIEnv* env, jobject c);
bool Initialize(JNIEnv* env,
jobject c,
jobject appHandler,
jobject jsettings);
void OnContextInitialized();
void DoMessageLoopWork();
void Shutdown();
private:
Context();
~Context();
bool external_message_pump_;
base::ThreadChecker thread_checker_;
std::unique_ptr<TempWindow> temp_window_;
DISALLOW_COPY_AND_ASSIGN(Context);
};
#endif // JCEF_NATIVE_CONTEXT_H_
+94
View File
@@ -0,0 +1,94 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "context_menu_handler.h"
#include "jni_util.h"
namespace {
// JNI CefContextMenuParams object.
class ScopedJNIContextMenuParams
: public ScopedJNIObject<CefContextMenuParams> {
public:
ScopedJNIContextMenuParams(JNIEnv* env, CefRefPtr<CefContextMenuParams> obj)
: ScopedJNIObject<CefContextMenuParams>(
env,
obj,
"org/cef/callback/CefContextMenuParams_N",
"CefContextMenuParams") {}
};
} // namespace
ContextMenuHandler::ContextMenuHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
void ContextMenuHandler::OnBeforeContextMenu(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
CefRefPtr<CefMenuModel> model) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIFrame jframe(env, frame);
jframe.SetTemporary();
ScopedJNIContextMenuParams jparams(env, params);
jparams.SetTemporary();
ScopedJNIMenuModel jmodel(env, model);
jmodel.SetTemporary();
JNI_CALL_VOID_METHOD(env, handle_, "onBeforeContextMenu",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/browser/"
"CefFrame;Lorg/cef/callback/CefContextMenuParams;"
"Lorg/cef/callback/CefMenuModel;)V",
jbrowser.get(), jframe.get(), jparams.get(),
jmodel.get());
}
bool ContextMenuHandler::OnContextMenuCommand(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
int command_id,
EventFlags event_flags) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIFrame jframe(env, frame);
jframe.SetTemporary();
ScopedJNIContextMenuParams jparams(env, params);
jparams.SetTemporary();
jboolean result = JNI_FALSE;
JNI_CALL_METHOD(env, handle_, "onContextMenuCommand",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/browser/CefFrame;Lorg/"
"cef/callback/"
"CefContextMenuParams;II)Z",
Boolean, result, jbrowser.get(), jframe.get(), jparams.get(),
(jint)command_id, (jint)event_flags);
return (result != JNI_FALSE);
}
void ContextMenuHandler::OnContextMenuDismissed(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIFrame jframe(env, frame);
jframe.SetTemporary();
JNI_CALL_VOID_METHOD(
env, handle_, "onContextMenuDismissed",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/browser/CefFrame;)V",
jbrowser.get(), jframe.get());
}
+39
View File
@@ -0,0 +1,39 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_CONTEXT_MENU_HANDLER_H_
#define JCEF_NATIVE_CONTEXT_MENU_HANDLER_H_
#pragma once
#include <jni.h>
#include "include/cef_context_menu_handler.h"
#include "jni_scoped_helpers.h"
// ContextMenuHandler implementation.
class ContextMenuHandler : public CefContextMenuHandler {
public:
ContextMenuHandler(JNIEnv* env, jobject handler);
// CefContextMenuHandler methods
void OnBeforeContextMenu(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
CefRefPtr<CefMenuModel> model) override;
bool OnContextMenuCommand(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
int command_id,
EventFlags event_flags) override;
void OnContextMenuDismissed(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(ContextMenuHandler);
};
#endif // JCEF_NATIVE_CONTEXT_MENU_HANDLER_H_
+65
View File
@@ -0,0 +1,65 @@
// Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "cookie_access_filter.h"
#include "jni_util.h"
#include "util.h"
CookieAccessFilter::CookieAccessFilter(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
bool CookieAccessFilter::CanSendCookie(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request,
const CefCookie& cookie) {
ScopedJNIEnv env;
if (!env)
return true;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIFrame jframe(env, frame);
jframe.SetTemporary();
ScopedJNIRequest jrequest(env, request);
jrequest.SetTemporary();
ScopedJNICookie jcookie(env, cookie);
jboolean result = JNI_TRUE;
JNI_CALL_METHOD(env, handle_, "canSendCookie",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/browser/CefFrame;Lorg/"
"cef/network/CefRequest;Lorg/cef/network/CefCookie;)Z",
Boolean, result, jbrowser.get(), jframe.get(), jrequest.get(),
jcookie.get());
return (result != JNI_FALSE);
}
bool CookieAccessFilter::CanSaveCookie(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request,
CefRefPtr<CefResponse> response,
const CefCookie& cookie) {
ScopedJNIEnv env;
if (!env)
return true;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIFrame jframe(env, frame);
jframe.SetTemporary();
ScopedJNIRequest jrequest(env, request);
jrequest.SetTemporary();
ScopedJNIResponse jresponse(env, response);
jresponse.SetTemporary();
ScopedJNICookie jcookie(env, cookie);
jboolean result = JNI_TRUE;
JNI_CALL_METHOD(
env, handle_, "canSaveCookie",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/browser/CefFrame;Lorg/cef/network/"
"CefRequest;Lorg/cef/network/CefResponse;Lorg/cef/network/CefCookie;)Z",
Boolean, result, jbrowser.get(), jframe.get(), jrequest.get(),
jresponse.get(), jcookie.get());
return (result != JNI_FALSE);
}
+37
View File
@@ -0,0 +1,37 @@
// Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_COOKIE_ACCESS_FILTER_H_
#define JCEF_NATIVE_COOKIE_ACCESS_FILTER_H_
#pragma once
#include <jni.h>
#include "include/cef_resource_request_handler.h"
#include "jni_scoped_helpers.h"
// CookieAccessFilter implementation.
class CookieAccessFilter : public CefCookieAccessFilter {
public:
CookieAccessFilter(JNIEnv* env, jobject handler);
// CefCookieAccessFilter methods:
bool CanSendCookie(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request,
const CefCookie& cookie) override;
bool CanSaveCookie(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request,
CefRefPtr<CefResponse> response,
const CefCookie& cookie) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(CookieAccessFilter);
};
#endif // JCEF_NATIVE_COOKIE_ACCESS_FILTER_H_
+33
View File
@@ -0,0 +1,33 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "cookie_visitor.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "util.h"
CookieVisitor::CookieVisitor(JNIEnv* env, jobject jvisitor)
: handle_(env, jvisitor) {}
bool CookieVisitor::Visit(const CefCookie& cookie,
int count,
int total,
bool& deleteCookie) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNICookie jcookie(env, cookie);
ScopedJNIBoolRef jdeleteCookie(env, deleteCookie);
jboolean jresult = JNI_FALSE;
JNI_CALL_METHOD(env, handle_, "visit",
"(Lorg/cef/network/CefCookie;IILorg/cef/misc/BoolRef;)Z",
Boolean, jresult, jcookie.get(), (jint)count, (jint)total,
jdeleteCookie.get());
deleteCookie = jdeleteCookie;
return (jresult != JNI_FALSE);
}
+33
View File
@@ -0,0 +1,33 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_COOKIE_VISITOR_H_
#define JCEF_NATIVE_COOKIE_VISITOR_H_
#pragma once
#include <jni.h>
#include "include/cef_cookie.h"
#include "jni_scoped_helpers.h"
// CookieVisitor implementation.
class CookieVisitor : public CefCookieVisitor {
public:
CookieVisitor(JNIEnv* env, jobject jvisitor);
// CookieVisitor methods
virtual bool Visit(const CefCookie& cookie,
int count,
int total,
bool& deleteCookie) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(CookieVisitor);
};
#endif // JCEF_NATIVE_COOKIE_VISITOR_H_
+50
View File
@@ -0,0 +1,50 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_CRITICAL_WAIT_H_
#define JCEF_NATIVE_CRITICAL_WAIT_H_
#pragma once
#include "include/cef_task.h"
#if defined(OS_WIN)
#include <windows.h>
#define WAIT_MUTEX HANDLE
#define WAIT_COND HANDLE
#else
#include <pthread.h>
#define WAIT_MUTEX pthread_mutex_t
#define WAIT_COND pthread_cond_t
#endif
class CriticalLock {
public:
CriticalLock();
~CriticalLock();
void Lock();
void Unlock();
private:
friend class CriticalWait;
WAIT_MUTEX lock_;
};
class CriticalWait {
public:
explicit CriticalWait(CriticalLock* lock);
~CriticalWait();
void Wait();
bool Wait(unsigned int maxWaitMs);
void WakeUp();
CriticalLock* lock() { return lock_; }
private:
WAIT_COND cond_;
CriticalLock* lock_;
};
#endif // JCEF_NATIVE_CRITICAL_WAIT_H_
+57
View File
@@ -0,0 +1,57 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "critical_wait.h"
#include <sys/time.h>
// CriticalLock
CriticalLock::CriticalLock() {
pthread_mutex_init(&lock_, nullptr);
}
CriticalLock::~CriticalLock() {
pthread_mutex_destroy(&lock_);
}
void CriticalLock::Lock() {
pthread_mutex_lock(&lock_);
}
void CriticalLock::Unlock() {
pthread_mutex_unlock(&lock_);
}
// CriticalWait
CriticalWait::CriticalWait(CriticalLock* lock) : lock_(lock) {
pthread_cond_init(&cond_, nullptr);
}
CriticalWait::~CriticalWait() {
pthread_cond_destroy(&cond_);
}
void CriticalWait::Wait() {
pthread_cond_wait(&cond_, &lock_->lock_);
}
bool CriticalWait::Wait(unsigned int maxWaitMs) {
int sec = (int)(maxWaitMs / 1000);
int nsec = (maxWaitMs - sec * 1000) * 1000000; // convert to nsec
struct timeval tv;
struct timespec ts;
gettimeofday(&tv, nullptr);
ts.tv_sec = tv.tv_sec + sec;
ts.tv_nsec = nsec;
int res = pthread_cond_timedwait(&cond_, &lock_->lock_, &ts);
return res == 0;
}
void CriticalWait::WakeUp() {
pthread_cond_signal(&cond_);
}
+50
View File
@@ -0,0 +1,50 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "critical_wait.h"
// CriticalLock
CriticalLock::CriticalLock() {
lock_ = CreateMutex(nullptr, FALSE, nullptr);
}
CriticalLock::~CriticalLock() {
CloseHandle(lock_);
}
void CriticalLock::Lock() {
WaitForSingleObject(lock_, INFINITE);
}
void CriticalLock::Unlock() {
ReleaseMutex(lock_);
}
// CriticalWait
CriticalWait::CriticalWait(CriticalLock* lock) : lock_(lock) {
cond_ = CreateEvent(nullptr, FALSE, FALSE, nullptr);
}
CriticalWait::~CriticalWait() {
CloseHandle(cond_);
}
void CriticalWait::Wait() {
lock_->Unlock();
WaitForSingleObject(cond_, INFINITE);
lock_->Lock();
}
bool CriticalWait::Wait(unsigned int maxWaitMs) {
lock_->Unlock();
DWORD result = WaitForSingleObject(cond_, (DWORD)maxWaitMs);
lock_->Lock();
return result != WAIT_FAILED;
}
void CriticalWait::WakeUp() {
SetEvent(cond_);
}
@@ -0,0 +1,44 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "devtools_message_observer.h"
#include "jni_util.h"
DevToolsMessageObserver::DevToolsMessageObserver(JNIEnv* env, jobject observer)
: handle_(env, observer) {}
void DevToolsMessageObserver::OnDevToolsMethodResult(
CefRefPtr<CefBrowser> browser,
int message_id,
bool success,
const void* result,
size_t result_size) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
std::string strResult(static_cast<const char*>(result), result_size);
JNI_CALL_VOID_METHOD(
env, handle_, "onDevToolsMethodResult",
"(Lorg/cef/browser/CefBrowser;IZLjava/lang/String;)V", jbrowser.get(),
message_id, success ? JNI_TRUE : JNI_FALSE, NewJNIString(env, strResult));
}
void DevToolsMessageObserver::OnDevToolsEvent(CefRefPtr<CefBrowser> browser,
const CefString& method,
const void* params,
size_t params_size) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
std::string strParams(static_cast<const char*>(params), params_size);
JNI_CALL_VOID_METHOD(
env, handle_, "onDevToolsEvent",
"(Lorg/cef/browser/CefBrowser;Ljava/lang/String;Ljava/lang/String;)V",
jbrowser.get(), NewJNIString(env, method), NewJNIString(env, strParams));
}
@@ -0,0 +1,37 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_DEVTOOLS_MESSAGE_OBSERVER_H_
#define JCEF_NATIVE_DEVTOOLS_MESSAGE_OBSERVER_H_
#pragma once
#include <jni.h>
#include "include/cef_devtools_message_observer.h"
#include "jni_scoped_helpers.h"
// DevToolsMessageObserver implementation.
class DevToolsMessageObserver : public CefDevToolsMessageObserver {
public:
DevToolsMessageObserver(JNIEnv* env, jobject observer);
// CefDevToolsMessageObserver methods
virtual void OnDevToolsMethodResult(CefRefPtr<CefBrowser> browser,
int message_id,
bool success,
const void* result,
size_t result_size) override;
virtual void OnDevToolsEvent(CefRefPtr<CefBrowser> browser,
const CefString& method,
const void* params,
size_t params_size) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(DevToolsMessageObserver);
};
#endif // JCEF_NATIVE_DEVTOOLS_MESSAGE_OBSERVER_H_
+86
View File
@@ -0,0 +1,86 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "dialog_handler.h"
#include "client_handler.h"
#include "jni_util.h"
#include "util.h"
namespace {
// JNI CefFileDialogCallback object.
class ScopedJNIFileDialogCallback
: public ScopedJNIObject<CefFileDialogCallback> {
public:
ScopedJNIFileDialogCallback(JNIEnv* env, CefRefPtr<CefFileDialogCallback> obj)
: ScopedJNIObject<CefFileDialogCallback>(
env,
obj,
"org/cef/callback/CefFileDialogCallback_N",
"CefFileDialogCallback") {}
};
} // namespace
DialogHandler::DialogHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
bool DialogHandler::OnFileDialog(
CefRefPtr<CefBrowser> browser,
FileDialogMode mode,
const CefString& title,
const CefString& default_file_path,
const std::vector<CefString>& accept_filters,
const std::vector<CefString>& accept_extensions,
const std::vector<CefString>& accept_descriptions,
CefRefPtr<CefFileDialogCallback> callback) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIString jtitle(env, title);
ScopedJNIString jdefaultFilePath(env, default_file_path);
ScopedJNIObjectLocal jacceptFilters(env,
NewJNIStringVector(env, accept_filters));
ScopedJNIObjectLocal jacceptExtensions(
env, NewJNIStringVector(env, accept_extensions));
ScopedJNIObjectLocal jacceptDescriptions(
env, NewJNIStringVector(env, accept_descriptions));
ScopedJNIFileDialogCallback jcallback(env, callback);
ScopedJNIObjectResult jmode(env);
switch (mode) {
default:
JNI_CASE(env, "org/cef/handler/CefDialogHandler$FileDialogMode",
FILE_DIALOG_OPEN, jmode);
JNI_CASE(env, "org/cef/handler/CefDialogHandler$FileDialogMode",
FILE_DIALOG_OPEN_MULTIPLE, jmode);
JNI_CASE(env, "org/cef/handler/CefDialogHandler$FileDialogMode",
FILE_DIALOG_OPEN_FOLDER, jmode);
JNI_CASE(env, "org/cef/handler/CefDialogHandler$FileDialogMode",
FILE_DIALOG_SAVE, jmode);
}
jboolean jreturn = JNI_FALSE;
JNI_CALL_METHOD(
env, handle_, "onFileDialog",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/handler/"
"CefDialogHandler$FileDialogMode;Ljava/lang/String;Ljava/lang/"
"String;Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;Lorg/cef/"
"callback/CefFileDialogCallback;)Z",
Boolean, jreturn, jbrowser.get(), jmode.get(), jtitle.get(),
jdefaultFilePath.get(), jacceptFilters.get(), jacceptExtensions.get(),
jacceptDescriptions.get(), jcallback.get());
if (jreturn == JNI_FALSE) {
// If the Java method returns "false" the callback won't be used and
// the reference can therefore be removed.
jcallback.SetTemporary();
}
return (jreturn != JNI_FALSE);
}
+36
View File
@@ -0,0 +1,36 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_DIALOG_HANDLER_H_
#define JCEF_NATIVE_DIALOG_HANDLER_H_
#pragma once
#include <jni.h>
#include "include/cef_dialog_handler.h"
#include "jni_scoped_helpers.h"
// DialogHandler implementation.
class DialogHandler : public CefDialogHandler {
public:
DialogHandler(JNIEnv* env, jobject handler);
// CefDialogHandler methods
virtual bool OnFileDialog(CefRefPtr<CefBrowser> browser,
FileDialogMode mode,
const CefString& title,
const CefString& default_file_path,
const std::vector<CefString>& accept_filters,
const std::vector<CefString>& accept_extensions,
const std::vector<CefString>& accept_descriptions,
CefRefPtr<CefFileDialogCallback> callback) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(DialogHandler);
};
#endif // JCEF_NATIVE_DIALOG_HANDLER_H_
+214
View File
@@ -0,0 +1,214 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "display_handler.h"
#include "jni_util.h"
namespace {
int GetCursorId(cef_cursor_type_t type) {
ScopedJNIEnv env;
if (!env)
return 0;
const char* cursorClassName = "java/awt/Cursor";
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
CROSSHAIR_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
DEFAULT_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
E_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
HAND_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
MOVE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
N_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
NE_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
NW_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
S_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
SE_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
SW_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
TEXT_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
W_RESIZE_CURSOR, 0);
JNI_STATIC_DEFINE_INT_RV(env, ScopedJNIClass(env, cursorClassName),
WAIT_CURSOR, 0);
switch (type) {
case CT_CROSS:
return JNI_STATIC(CROSSHAIR_CURSOR);
case CT_HAND:
return JNI_STATIC(HAND_CURSOR);
case CT_IBEAM:
return JNI_STATIC(TEXT_CURSOR);
case CT_WAIT:
return JNI_STATIC(WAIT_CURSOR);
case CT_EASTRESIZE:
return JNI_STATIC(E_RESIZE_CURSOR);
case CT_NORTHRESIZE:
return JNI_STATIC(N_RESIZE_CURSOR);
case CT_NORTHEASTRESIZE:
return JNI_STATIC(NE_RESIZE_CURSOR);
case CT_NORTHWESTRESIZE:
return JNI_STATIC(NW_RESIZE_CURSOR);
case CT_SOUTHRESIZE:
return JNI_STATIC(S_RESIZE_CURSOR);
case CT_SOUTHEASTRESIZE:
return JNI_STATIC(SE_RESIZE_CURSOR);
case CT_SOUTHWESTRESIZE:
return JNI_STATIC(SW_RESIZE_CURSOR);
case CT_WESTRESIZE:
return JNI_STATIC(W_RESIZE_CURSOR);
case CT_MOVE:
return JNI_STATIC(MOVE_CURSOR);
default:
return JNI_STATIC(DEFAULT_CURSOR);
}
}
} // namespace
DisplayHandler::DisplayHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
void DisplayHandler::OnAddressChange(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
const CefString& url) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIFrame jframe(env, frame);
jframe.SetTemporary();
ScopedJNIString jurl(env, url);
JNI_CALL_VOID_METHOD(env, handle_, "onAddressChange",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/browser/"
"CefFrame;Ljava/lang/String;)V",
jbrowser.get(), jframe.get(), jurl.get());
}
void DisplayHandler::OnTitleChange(CefRefPtr<CefBrowser> browser,
const CefString& title) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIString jtitle(env, title);
JNI_CALL_VOID_METHOD(env, handle_, "onTitleChange",
"(Lorg/cef/browser/CefBrowser;Ljava/lang/String;)V",
jbrowser.get(), jtitle.get());
}
void DisplayHandler::OnFullscreenModeChange(CefRefPtr<CefBrowser> browser,
bool fullscreen) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
JNI_CALL_VOID_METHOD(env, handle_, "onFullscreenModeChange",
"(Lorg/cef/browser/CefBrowser;Z)V", jbrowser.get(),
(jboolean)fullscreen);
}
bool DisplayHandler::OnTooltip(CefRefPtr<CefBrowser> browser, CefString& text) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIString jtext(env, text);
jboolean jreturn = JNI_FALSE;
JNI_CALL_METHOD(env, handle_, "onTooltip",
"(Lorg/cef/browser/CefBrowser;Ljava/lang/String;)Z", Boolean,
jreturn, jbrowser.get(), jtext.get());
return (jreturn != JNI_FALSE);
}
void DisplayHandler::OnStatusMessage(CefRefPtr<CefBrowser> browser,
const CefString& value) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIString jvalue(env, value);
JNI_CALL_VOID_METHOD(env, handle_, "onStatusMessage",
"(Lorg/cef/browser/CefBrowser;Ljava/lang/String;)V",
jbrowser.get(), jvalue.get());
}
bool DisplayHandler::OnConsoleMessage(CefRefPtr<CefBrowser> browser,
cef_log_severity_t level,
const CefString& message,
const CefString& source,
int line) {
ScopedJNIEnv env;
if (!env)
return false;
jobject jlevel = nullptr;
switch (level) {
JNI_CASE(env, "org/cef/CefSettings$LogSeverity", LOGSEVERITY_VERBOSE,
jlevel);
JNI_CASE(env, "org/cef/CefSettings$LogSeverity", LOGSEVERITY_INFO, jlevel);
JNI_CASE(env, "org/cef/CefSettings$LogSeverity", LOGSEVERITY_WARNING,
jlevel);
JNI_CASE(env, "org/cef/CefSettings$LogSeverity", LOGSEVERITY_ERROR, jlevel);
JNI_CASE(env, "org/cef/CefSettings$LogSeverity", LOGSEVERITY_FATAL, jlevel);
JNI_CASE(env, "org/cef/CefSettings$LogSeverity", LOGSEVERITY_DISABLE,
jlevel);
case LOGSEVERITY_DEFAULT:
break;
}
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIString jmessage(env, message);
ScopedJNIString jsource(env, source);
jboolean jreturn = JNI_FALSE;
JNI_CALL_METHOD(
env, handle_, "onConsoleMessage",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/CefSettings$LogSeverity;"
"Ljava/lang/String;Ljava/lang/String;I)Z",
Boolean, jreturn, jbrowser.get(), jlevel, jmessage.get(), jsource.get(),
line);
return (jreturn != JNI_FALSE);
}
// TODO(JCEF): Expose all parameters.
bool DisplayHandler::OnCursorChange(CefRefPtr<CefBrowser> browser,
CefCursorHandle cursor,
cef_cursor_type_t type,
const CefCursorInfo& custom_cursor_info) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIBrowser jbrowser(env, browser);
const int cursorId = GetCursorId(type);
jboolean jreturn = JNI_FALSE;
JNI_CALL_METHOD(env, handle_, "onCursorChange",
"(Lorg/cef/browser/CefBrowser;I)Z", Boolean, jreturn,
jbrowser.get(), cursorId);
return (jreturn != JNI_FALSE);
}
+48
View File
@@ -0,0 +1,48 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_DISPLAY_HANDLER_H_
#define JCEF_NATIVE_DISPLAY_HANDLER_H_
#pragma once
#include <jni.h>
#include "include/cef_display_handler.h"
#include "jni_scoped_helpers.h"
// DisplayHandler implementation.
class DisplayHandler : public CefDisplayHandler {
public:
DisplayHandler(JNIEnv* env, jobject handler);
// CefDisplayHandler methods:
void OnAddressChange(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
const CefString& url) override;
void OnTitleChange(CefRefPtr<CefBrowser> browser,
const CefString& title) override;
void OnFullscreenModeChange(CefRefPtr<CefBrowser> browser,
bool fullscreen) override;
bool OnTooltip(CefRefPtr<CefBrowser> browser, CefString& text) override;
void OnStatusMessage(CefRefPtr<CefBrowser> browser,
const CefString& value) override;
bool OnConsoleMessage(CefRefPtr<CefBrowser> browser,
cef_log_severity_t level,
const CefString& message,
const CefString& source,
int line) override;
bool OnCursorChange(CefRefPtr<CefBrowser> browser,
CefCursorHandle cursor,
cef_cursor_type_t type,
const CefCursorInfo& custom_cursor_info) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(DisplayHandler);
};
#endif // JCEF_NATIVE_DISPLAY_HANDLER_H_
+97
View File
@@ -0,0 +1,97 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "download_handler.h"
#include "jni_util.h"
namespace {
// JNI CefDownloadItem object.
class ScopedJNIDownloadItem : public ScopedJNIObject<CefDownloadItem> {
public:
ScopedJNIDownloadItem(JNIEnv* env, CefRefPtr<CefDownloadItem> obj)
: ScopedJNIObject<CefDownloadItem>(env,
obj,
"org/cef/callback/CefDownloadItem_N",
"CefDownloadItem") {}
};
// JNI CefBeforeDownloadCallback object.
class ScopedJNIBeforeDownloadCallback
: public ScopedJNIObject<CefBeforeDownloadCallback> {
public:
ScopedJNIBeforeDownloadCallback(JNIEnv* env,
CefRefPtr<CefBeforeDownloadCallback> obj)
: ScopedJNIObject<CefBeforeDownloadCallback>(
env,
obj,
"org/cef/callback/CefBeforeDownloadCallback_N",
"CefBeforeDownloadCallback") {}
};
// JNI CefDownloadItemCallback object.
class ScopedJNIDownloadItemCallback
: public ScopedJNIObject<CefDownloadItemCallback> {
public:
ScopedJNIDownloadItemCallback(JNIEnv* env,
CefRefPtr<CefDownloadItemCallback> obj)
: ScopedJNIObject<CefDownloadItemCallback>(
env,
obj,
"org/cef/callback/CefDownloadItemCallback_N",
"CefDownloadItemCallback") {}
};
} // namespace
DownloadHandler::DownloadHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
bool DownloadHandler::OnBeforeDownload(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDownloadItem> download_item,
const CefString& suggested_name,
CefRefPtr<CefBeforeDownloadCallback> callback) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIDownloadItem jdownloadItem(env, download_item);
jdownloadItem.SetTemporary();
ScopedJNIString jsuggestedName(env, suggested_name);
ScopedJNIBeforeDownloadCallback jcallback(env, callback);
jboolean jresult = 0;
JNI_CALL_BOOLEAN_METHOD(
jresult, env, handle_, "onBeforeDownload",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/callback/CefDownloadItem;"
"Ljava/lang/String;Lorg/cef/callback/CefBeforeDownloadCallback;)Z",
jbrowser.get(), jdownloadItem.get(), jsuggestedName.get(),
jcallback.get());
return jresult;
}
void DownloadHandler::OnDownloadUpdated(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDownloadItem> download_item,
CefRefPtr<CefDownloadItemCallback> callback) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIDownloadItem jdownloadItem(env, download_item);
jdownloadItem.SetTemporary();
ScopedJNIDownloadItemCallback jcallback(env, callback);
JNI_CALL_VOID_METHOD(
env, handle_, "onDownloadUpdated",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/callback/CefDownloadItem;"
"Lorg/cef/callback/CefDownloadItemCallback;)V",
jbrowser.get(), jdownloadItem.get(), jcallback.get());
}
+38
View File
@@ -0,0 +1,38 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_DOWNLOAD_HANDLER_H_
#define JCEF_NATIVE_DOWNLOAD_HANDLER_H_
#pragma once
#include <jni.h>
#include "include/cef_download_handler.h"
#include "jni_scoped_helpers.h"
// DownloadHandler implementation.
class DownloadHandler : public CefDownloadHandler {
public:
DownloadHandler(JNIEnv* env, jobject handler);
// CefDownloadHandler methods
virtual bool OnBeforeDownload(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDownloadItem> download_item,
const CefString& suggested_name,
CefRefPtr<CefBeforeDownloadCallback> callback) override;
virtual void OnDownloadUpdated(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDownloadItem> download_item,
CefRefPtr<CefDownloadItemCallback> callback) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(DownloadHandler);
};
#endif // JCEF_NATIVE_DOWNLOAD_HANDLER_H_
+30
View File
@@ -0,0 +1,30 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "drag_handler.h"
#include "jni_util.h"
DragHandler::DragHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
bool DragHandler::OnDragEnter(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDragData> dragData,
CefDragHandler::DragOperationsMask mask) {
ScopedJNIEnv env;
if (!env)
return false;
ScopedJNIBrowser jbrowser(env, browser);
ScopedJNIDragData jdragData(env, dragData);
jdragData.SetTemporary();
jboolean result = JNI_FALSE;
JNI_CALL_METHOD(
env, handle_, "onDragEnter",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/callback/CefDragData;I)Z", Boolean,
result, jbrowser.get(), jdragData.get(), (jint)mask);
return (result != JNI_FALSE);
}
+32
View File
@@ -0,0 +1,32 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_DRAG_HANDLER_H_
#define JCEF_NATIVE_DRAG_HANDLER_H_
#pragma once
#include <jni.h>
#include "include/cef_drag_handler.h"
#include "jni_scoped_helpers.h"
// DragHandler implementation.
class DragHandler : public CefDragHandler {
public:
DragHandler(JNIEnv* env, jobject handler);
// CefDragHandler methods
bool OnDragEnter(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDragData> dragData,
CefDragHandler::DragOperationsMask mask) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(DragHandler);
};
#endif // JCEF_NATIVE_DRAG_HANDLER_H_
+59
View File
@@ -0,0 +1,59 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "focus_handler.h"
#include "include/base/cef_callback.h"
#include "include/wrapper/cef_closure_task.h"
#include "client_handler.h"
#include "jni_util.h"
FocusHandler::FocusHandler(JNIEnv* env, jobject handler)
: handle_(env, handler) {}
void FocusHandler::OnTakeFocus(CefRefPtr<CefBrowser> browser, bool next) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
JNI_CALL_VOID_METHOD(env, handle_, "onTakeFocus",
"(Lorg/cef/browser/CefBrowser;Z)V", jbrowser.get(),
(jboolean)next);
}
bool FocusHandler::OnSetFocus(CefRefPtr<CefBrowser> browser,
FocusSource source) {
ScopedJNIEnv env;
if (!env)
return false;
jboolean jreturn = JNI_FALSE;
ScopedJNIObjectResult jsource(env);
switch (source) {
JNI_CASE(env, "org/cef/handler/CefFocusHandler$FocusSource",
FOCUS_SOURCE_NAVIGATION, jsource);
default:
JNI_CASE(env, "org/cef/handler/CefFocusHandler$FocusSource",
FOCUS_SOURCE_SYSTEM, jsource);
}
ScopedJNIBrowser jbrowser(env, browser);
JNI_CALL_METHOD(env, handle_, "onSetFocus",
"(Lorg/cef/browser/CefBrowser;Lorg/cef/handler/"
"CefFocusHandler$FocusSource;)Z",
Boolean, jreturn, jbrowser.get(), jsource.get());
return (jreturn != JNI_FALSE);
}
void FocusHandler::OnGotFocus(CefRefPtr<CefBrowser> browser) {
ScopedJNIEnv env;
if (!env)
return;
ScopedJNIBrowser jbrowser(env, browser);
JNI_CALL_VOID_METHOD(env, handle_, "onGotFocus",
"(Lorg/cef/browser/CefBrowser;)V", jbrowser.get());
}
+33
View File
@@ -0,0 +1,33 @@
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_FOCUS_HANDLER_H_
#define JCEF_NATIVE_FOCUS_HANDLER_H_
#pragma once
#include <jni.h>
#include "include/cef_focus_handler.h"
#include "jni_scoped_helpers.h"
// FocusHandler implementation.
class FocusHandler : public CefFocusHandler {
public:
FocusHandler(JNIEnv* env, jobject handler);
// CefFocusHandler methods
virtual void OnTakeFocus(CefRefPtr<CefBrowser> browser, bool next) override;
virtual bool OnSetFocus(CefRefPtr<CefBrowser> browser,
FocusSource source) override;
virtual void OnGotFocus(CefRefPtr<CefBrowser> browser) override;
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(FocusHandler);
};
#endif // JCEF_NATIVE_FOCUS_HANDLER_H_
+20
View File
@@ -0,0 +1,20 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "int_callback.h"
#include "jni_scoped_helpers.h"
#include "jni_util.h"
#include "util.h"
IntCallback::IntCallback(JNIEnv* env, jobject jcallback)
: handle_(env, jcallback) {}
void IntCallback::onComplete(int value) {
ScopedJNIEnv env;
if (!env)
return;
JNI_CALL_VOID_METHOD(env, handle_, "onComplete", "(I)V", (jint)value);
}
+28
View File
@@ -0,0 +1,28 @@
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef JCEF_NATIVE_INT_CALLBACK_H_
#define JCEF_NATIVE_INT_CALLBACK_H_
#pragma once
#include <jni.h>
#include "jni_scoped_helpers.h"
// Callback for returning int primatives. The methods of
// this class will be called on the browser process UI thread.
class IntCallback : public virtual CefBaseRefCounted {
public:
IntCallback(JNIEnv* env, jobject jcallback);
virtual void onComplete(int value);
protected:
ScopedJNIObjectGlobal handle_;
// Include the default reference counting implementation.
IMPLEMENT_REFCOUNTING(IntCallback);
};
#endif // JCEF_NATIVE_INT_CALLBACK_H_
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
+107
View File
@@ -0,0 +1,107 @@
// Microsoft Visual C++ generated resource script.
//
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#include "jcef_version.h"
#include "include/cef_version.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
"#include ""include/version.h""\r\n"
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION CEF_VERSION_MAJOR,CEF_VERSION_MINOR,CEF_VERSION_PATCH,JCEF_COMMIT_NUMBER
PRODUCTVERSION CEF_VERSION_MAJOR,CEF_VERSION_MINOR,CEF_VERSION_PATCH,JCEF_COMMIT_NUMBER
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "Java Chromium Embedded Framework (JCEF) Dynamic Link Library"
VALUE "FileVersion", JCEF_VERSION
VALUE "InternalName", "jcef"
VALUE "LegalCopyright", "Copyright (C) " MAKE_STRING(JCEF_COPYRIGHT_YEAR) " The Chromium Embedded Framework Authors"
VALUE "OriginalFilename", "jcef.dll"
VALUE "ProductName", "Java Chromium Embedded Framework (JCEF) Dynamic Link Library"
VALUE "ProductVersion", JCEF_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
+217
View File
@@ -0,0 +1,217 @@
// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include <fstream>
#include "include/cef_app.h"
#include "include/wrapper/cef_message_router.h"
#include "util.h"
#if defined(OS_MACOSX)
// When generating projects with CMake the CEF_USE_SANDBOX value will be defined
// automatically. Pass -DUSE_SANDBOX=OFF to the CMake command-line to disable
// use of the sandbox.
#if defined(CEF_USE_SANDBOX)
#include "include/cef_sandbox_mac.h"
#endif
#include "include/wrapper/cef_library_loader.h"
#endif // defined(OS_MACOSX)
#if defined(OS_WIN)
#include <windows.h>
#endif
namespace {
// comparator to check if configuration values are the same
struct cmpCfg {
bool operator()(const CefMessageRouterConfig& lValue,
const CefMessageRouterConfig& rValue) const {
std::less<std::string> comp;
return comp(lValue.js_query_function.ToString(),
rValue.js_query_function.ToString());
}
};
class CefHelperApp : public CefApp, public CefRenderProcessHandler {
public:
CefHelperApp() {}
void OnRegisterCustomSchemes(
CefRawPtr<CefSchemeRegistrar> registrar) override {
std::fstream fStream;
std::string fName = util::GetTempFileName("scheme", true);
char schemeName[512] = "";
int options;
fStream.open(fName.c_str(), std::fstream::in);
while (fStream.is_open() && !fStream.eof()) {
fStream.getline(schemeName, 512, ',');
if (strlen(schemeName) == 0)
break;
fStream >> options;
registrar->AddCustomScheme(schemeName, options);
}
fStream.close();
}
virtual CefRefPtr<CefRenderProcessHandler> GetRenderProcessHandler()
override {
return this;
}
void OnBrowserCreated(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDictionaryValue> extra_info) override {
if (!extra_info) {
return;
}
auto router_configs = extra_info->GetList("router_configs");
if (router_configs) {
// Configuration from BrowserProcessHandler::GetMessageRouterConfigs.
for (size_t idx = 0; idx < router_configs->GetSize(); idx++) {
CefRefPtr<CefDictionaryValue> dict =
router_configs->GetDictionary((int)idx);
// Create the renderer-side router for query handling.
CefMessageRouterConfig config;
config.js_query_function = dict->GetString("js_query_function");
config.js_cancel_function = dict->GetString("js_cancel_function");
CefRefPtr<CefMessageRouterRendererSide> router =
CefMessageRouterRendererSide::Create(config);
message_router_.insert(std::make_pair(config, router));
}
}
}
void OnContextCreated(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefV8Context> context) override {
std::map<CefMessageRouterConfig, CefRefPtr<CefMessageRouterRendererSide>,
cmpCfg>::iterator iter;
for (iter = message_router_.begin(); iter != message_router_.end();
iter++) {
iter->second->OnContextCreated(browser, frame, context);
}
}
void OnContextReleased(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefV8Context> context) override {
std::map<CefMessageRouterConfig, CefRefPtr<CefMessageRouterRendererSide>,
cmpCfg>::iterator iter;
for (iter = message_router_.begin(); iter != message_router_.end();
iter++) {
iter->second->OnContextReleased(browser, frame, context);
}
}
bool OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) override {
if (message->GetName() == "AddMessageRouter") {
CefRefPtr<CefListValue> args = message->GetArgumentList();
CefMessageRouterConfig config;
config.js_query_function = args->GetString(0);
config.js_cancel_function = args->GetString(1);
// only add a new message router if it wasn't already created
if (message_router_.find(config) != message_router_.end()) {
return true;
}
CefRefPtr<CefMessageRouterRendererSide> router =
CefMessageRouterRendererSide::Create(config);
message_router_.insert(std::make_pair(config, router));
return true;
} else if (message->GetName() == "RemoveMessageRouter") {
CefRefPtr<CefListValue> args = message->GetArgumentList();
CefMessageRouterConfig config;
config.js_query_function = args->GetString(0);
config.js_cancel_function = args->GetString(1);
message_router_.erase(config);
return true;
}
bool handled = false;
std::map<CefMessageRouterConfig, CefRefPtr<CefMessageRouterRendererSide>,
cmpCfg>::iterator iter;
for (iter = message_router_.begin(); iter != message_router_.end();
iter++) {
handled = iter->second->OnProcessMessageReceived(browser, frame,
source_process, message);
if (handled)
break;
}
return handled;
}
private:
std::map<CefMessageRouterConfig,
CefRefPtr<CefMessageRouterRendererSide>,
cmpCfg>
message_router_;
IMPLEMENT_REFCOUNTING(CefHelperApp);
};
} // namespace
#if defined(OS_WIN)
int CALLBACK WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow) {
CefMainArgs main_args(hInstance);
#else // !defined(OS_WIN)
int main(int argc, char* argv[]) {
#if defined(OS_MACOSX)
#if defined(CEF_USE_SANDBOX)
// Initialize the macOS sandbox for this helper process.
CefScopedSandboxContext sandbox_context;
if (!sandbox_context.Initialize(argc, argv))
return 1;
#endif // defined(CEF_USE_SANDBOX)
// Check for the path on the command-line.
std::string framework_path;
const std::string switchPrefix = "--framework-dir-path=";
for (int i = 0; i < argc; ++i) {
std::string arg = argv[i];
if (arg.find(switchPrefix) == 0) {
framework_path = arg.substr(switchPrefix.length());
break;
}
}
// Load the CEF framework library at runtime instead of linking directly
// as required by the macOS sandbox implementation.
CefScopedLibraryLoader library_loader;
if (!framework_path.empty()) {
framework_path += "/Chromium Embedded Framework";
if (!cef_load_library(framework_path.c_str()))
return 1;
} else if (!library_loader.LoadInHelper()) {
return 1;
}
#endif // defined(OS_MACOSX)
CefMainArgs main_args(argc, argv);
#endif // !defined(OS_WIN)
CefRefPtr<CefHelperApp> app = new CefHelperApp();
const int result = CefExecuteProcess(main_args, app.get(), nullptr);
#if defined(OS_MACOSX)
if (!framework_path.empty())
cef_unload_library();
#endif
return result;
}

Some files were not shown because too many files have changed in this diff Show More