int-test mqtt <-> prediction
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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");
|
||||
}
|
||||
@@ -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
|
||||
@@ -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));
|
||||
}
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
@@ -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());
|
||||
}
|
||||
@@ -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
|
||||
@@ -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));
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
@@ -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());
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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");
|
||||
}
|
||||
@@ -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
|
||||
@@ -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");
|
||||
}
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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>
|
||||
@@ -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");
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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());
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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_
|
||||
@@ -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_);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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());
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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());
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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_
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user