mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-04-24 23:48:43 +02:00
Add ability to directly retrieve plugin information (issue #575).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@609 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
9017c0e74e
commit
4fe0ddf640
1
cef.gyp
1
cef.gyp
@ -814,6 +814,7 @@
|
|||||||
'libcef/browser/url_request_context_getter_proxy.h',
|
'libcef/browser/url_request_context_getter_proxy.h',
|
||||||
'libcef/browser/url_request_interceptor.cc',
|
'libcef/browser/url_request_interceptor.cc',
|
||||||
'libcef/browser/url_request_interceptor.h',
|
'libcef/browser/url_request_interceptor.h',
|
||||||
|
'libcef/browser/web_plugin_impl.cc',
|
||||||
'libcef/browser/xml_reader_impl.cc',
|
'libcef/browser/xml_reader_impl.cc',
|
||||||
'libcef/browser/xml_reader_impl.h',
|
'libcef/browser/xml_reader_impl.h',
|
||||||
'libcef/browser/zip_reader_impl.cc',
|
'libcef/browser/zip_reader_impl.cc',
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
'include/cef_url.h',
|
'include/cef_url.h',
|
||||||
'include/cef_v8.h',
|
'include/cef_v8.h',
|
||||||
'include/cef_values.h',
|
'include/cef_values.h',
|
||||||
|
'include/cef_web_plugin.h',
|
||||||
'include/cef_xml_reader.h',
|
'include/cef_xml_reader.h',
|
||||||
'include/cef_zip_reader.h',
|
'include/cef_zip_reader.h',
|
||||||
],
|
],
|
||||||
@ -76,6 +77,7 @@
|
|||||||
'include/capi/cef_url_capi.h',
|
'include/capi/cef_url_capi.h',
|
||||||
'include/capi/cef_v8_capi.h',
|
'include/capi/cef_v8_capi.h',
|
||||||
'include/capi/cef_values_capi.h',
|
'include/capi/cef_values_capi.h',
|
||||||
|
'include/capi/cef_web_plugin_capi.h',
|
||||||
'include/capi/cef_xml_reader_capi.h',
|
'include/capi/cef_xml_reader_capi.h',
|
||||||
'include/capi/cef_zip_reader_capi.h',
|
'include/capi/cef_zip_reader_capi.h',
|
||||||
],
|
],
|
||||||
@ -170,6 +172,10 @@
|
|||||||
'libcef_dll/ctocpp/v8handler_ctocpp.h',
|
'libcef_dll/ctocpp/v8handler_ctocpp.h',
|
||||||
'libcef_dll/cpptoc/v8value_cpptoc.cc',
|
'libcef_dll/cpptoc/v8value_cpptoc.cc',
|
||||||
'libcef_dll/cpptoc/v8value_cpptoc.h',
|
'libcef_dll/cpptoc/v8value_cpptoc.h',
|
||||||
|
'libcef_dll/cpptoc/web_plugin_info_cpptoc.cc',
|
||||||
|
'libcef_dll/cpptoc/web_plugin_info_cpptoc.h',
|
||||||
|
'libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.cc',
|
||||||
|
'libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.h',
|
||||||
'libcef_dll/ctocpp/write_handler_ctocpp.cc',
|
'libcef_dll/ctocpp/write_handler_ctocpp.cc',
|
||||||
'libcef_dll/ctocpp/write_handler_ctocpp.h',
|
'libcef_dll/ctocpp/write_handler_ctocpp.h',
|
||||||
'libcef_dll/cpptoc/xml_reader_cpptoc.cc',
|
'libcef_dll/cpptoc/xml_reader_cpptoc.cc',
|
||||||
@ -268,6 +274,10 @@
|
|||||||
'libcef_dll/cpptoc/v8handler_cpptoc.h',
|
'libcef_dll/cpptoc/v8handler_cpptoc.h',
|
||||||
'libcef_dll/ctocpp/v8value_ctocpp.cc',
|
'libcef_dll/ctocpp/v8value_ctocpp.cc',
|
||||||
'libcef_dll/ctocpp/v8value_ctocpp.h',
|
'libcef_dll/ctocpp/v8value_ctocpp.h',
|
||||||
|
'libcef_dll/ctocpp/web_plugin_info_ctocpp.cc',
|
||||||
|
'libcef_dll/ctocpp/web_plugin_info_ctocpp.h',
|
||||||
|
'libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.cc',
|
||||||
|
'libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.h',
|
||||||
'libcef_dll/cpptoc/write_handler_cpptoc.cc',
|
'libcef_dll/cpptoc/write_handler_cpptoc.cc',
|
||||||
'libcef_dll/cpptoc/write_handler_cpptoc.h',
|
'libcef_dll/cpptoc/write_handler_cpptoc.h',
|
||||||
'libcef_dll/ctocpp/xml_reader_ctocpp.cc',
|
'libcef_dll/ctocpp/xml_reader_ctocpp.cc',
|
||||||
|
118
include/capi/cef_web_plugin_capi.h
Normal file
118
include/capi/cef_web_plugin_capi.h
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
// Copyright (c) 2012 Marshall A. Greenblatt. All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||||
|
// Framework nor the names of its contributors may be used to endorse
|
||||||
|
// or promote products derived from this software without specific prior
|
||||||
|
// written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool and should not edited
|
||||||
|
// by hand. See the translator.README.txt file in the tools directory for
|
||||||
|
// more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
|
||||||
|
#define CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "include/capi/cef_base_capi.h"
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
// Visit web plugin information.
|
||||||
|
///
|
||||||
|
CEF_EXPORT void cef_visit_web_plugin_info(
|
||||||
|
struct _cef_web_plugin_info_visitor_t* visitor);
|
||||||
|
|
||||||
|
///
|
||||||
|
// Information about a specific web plugin.
|
||||||
|
///
|
||||||
|
typedef struct _cef_web_plugin_info_t {
|
||||||
|
///
|
||||||
|
// Base structure.
|
||||||
|
///
|
||||||
|
cef_base_t base;
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns the plugin name (i.e. Flash).
|
||||||
|
///
|
||||||
|
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||||
|
cef_string_userfree_t (CEF_CALLBACK *get_name)(
|
||||||
|
struct _cef_web_plugin_info_t* self);
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns the plugin file path (DLL/bundle/library).
|
||||||
|
///
|
||||||
|
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||||
|
cef_string_userfree_t (CEF_CALLBACK *get_path)(
|
||||||
|
struct _cef_web_plugin_info_t* self);
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns the version of the plugin (may be OS-specific).
|
||||||
|
///
|
||||||
|
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||||
|
cef_string_userfree_t (CEF_CALLBACK *get_version)(
|
||||||
|
struct _cef_web_plugin_info_t* self);
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns a description of the plugin from the version information.
|
||||||
|
///
|
||||||
|
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||||
|
cef_string_userfree_t (CEF_CALLBACK *get_description)(
|
||||||
|
struct _cef_web_plugin_info_t* self);
|
||||||
|
} cef_web_plugin_info_t;
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
// Structure to implement for visiting web plugin information. The functions of
|
||||||
|
// this structure will be called on the UI thread.
|
||||||
|
///
|
||||||
|
typedef struct _cef_web_plugin_info_visitor_t {
|
||||||
|
///
|
||||||
|
// Base structure.
|
||||||
|
///
|
||||||
|
cef_base_t base;
|
||||||
|
|
||||||
|
///
|
||||||
|
// Method that will be called once for each plugin. |count| is the 0-based
|
||||||
|
// index for the current plugin. |total| is the total number of plugins.
|
||||||
|
// Return false (0) to stop visiting plugins. This function may never be
|
||||||
|
// called if no plugins are found.
|
||||||
|
///
|
||||||
|
int (CEF_CALLBACK *visit)(struct _cef_web_plugin_info_visitor_t* self,
|
||||||
|
struct _cef_web_plugin_info_t* info, int count, int total);
|
||||||
|
} cef_web_plugin_info_visitor_t;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
|
101
include/cef_web_plugin.h
Normal file
101
include/cef_web_plugin.h
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
// Copyright (c) 2012 Marshall A. Greenblatt. All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the name Chromium Embedded
|
||||||
|
// Framework nor the names of its contributors may be used to endorse
|
||||||
|
// or promote products derived from this software without specific prior
|
||||||
|
// written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// The contents of this file must follow a specific format in order to
|
||||||
|
// support the CEF translator tool. See the translator.README.txt file in the
|
||||||
|
// tools directory for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CEF_INCLUDE_CEF_WEB_PLUGIN_H_
|
||||||
|
#define CEF_INCLUDE_CEF_WEB_PLUGIN_H_
|
||||||
|
|
||||||
|
#include "include/cef_base.h"
|
||||||
|
|
||||||
|
class CefWebPluginInfoVisitor;
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
// Visit web plugin information.
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
void CefVisitWebPluginInfo(CefRefPtr<CefWebPluginInfoVisitor> visitor);
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
// Information about a specific web plugin.
|
||||||
|
///
|
||||||
|
/*--cef(source=library)--*/
|
||||||
|
class CefWebPluginInfo : public virtual CefBase {
|
||||||
|
public:
|
||||||
|
///
|
||||||
|
// Returns the plugin name (i.e. Flash).
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
virtual CefString GetName() =0;
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns the plugin file path (DLL/bundle/library).
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
virtual CefString GetPath() =0;
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns the version of the plugin (may be OS-specific).
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
virtual CefString GetVersion() =0;
|
||||||
|
|
||||||
|
///
|
||||||
|
// Returns a description of the plugin from the version information.
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
virtual CefString GetDescription() =0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
// Interface to implement for visiting web plugin information. The methods of
|
||||||
|
// this class will be called on the UI thread.
|
||||||
|
///
|
||||||
|
/*--cef(source=client)--*/
|
||||||
|
class CefWebPluginInfoVisitor : public virtual CefBase {
|
||||||
|
public:
|
||||||
|
///
|
||||||
|
// Method that will be called once for each plugin. |count| is the 0-based
|
||||||
|
// index for the current plugin. |total| is the total number of plugins.
|
||||||
|
// Return false to stop visiting plugins. This method may never be called if
|
||||||
|
// no plugins are found.
|
||||||
|
///
|
||||||
|
/*--cef()--*/
|
||||||
|
virtual bool Visit(CefRefPtr<CefWebPluginInfo> info, int count, int total) =0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CEF_INCLUDE_CEF_WEB_PLUGIN_H_
|
75
libcef/browser/web_plugin_impl.cc
Normal file
75
libcef/browser/web_plugin_impl.cc
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
// Copyright (c) 2012 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 "include/cef_web_plugin.h"
|
||||||
|
#include "libcef/browser/context.h"
|
||||||
|
#include "libcef/browser/thread_util.h"
|
||||||
|
|
||||||
|
#include "base/bind.h"
|
||||||
|
#include "base/file_path.h"
|
||||||
|
#include "content/browser/plugin_service_impl.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class CefWebPluginInfoImpl : public CefWebPluginInfo {
|
||||||
|
public:
|
||||||
|
explicit CefWebPluginInfoImpl(const webkit::WebPluginInfo& plugin_info)
|
||||||
|
: plugin_info_(plugin_info) {
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual CefString GetName() OVERRIDE {
|
||||||
|
return plugin_info_.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual CefString GetPath() OVERRIDE {
|
||||||
|
return plugin_info_.path.value();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual CefString GetVersion() OVERRIDE {
|
||||||
|
return plugin_info_.version;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual CefString GetDescription() OVERRIDE {
|
||||||
|
return plugin_info_.desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
webkit::WebPluginInfo plugin_info_;
|
||||||
|
|
||||||
|
IMPLEMENT_REFCOUNTING(CefWebPluginInfoImpl);
|
||||||
|
};
|
||||||
|
|
||||||
|
void PluginsCallbackImpl(
|
||||||
|
CefRefPtr<CefWebPluginInfoVisitor> visitor,
|
||||||
|
const std::vector<webkit::WebPluginInfo>& all_plugins) {
|
||||||
|
CEF_REQUIRE_UIT();
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
int total = static_cast<int>(all_plugins.size());
|
||||||
|
|
||||||
|
std::vector<webkit::WebPluginInfo>::const_iterator it = all_plugins.begin();
|
||||||
|
for (; it != all_plugins.end(); ++it, ++count) {
|
||||||
|
CefRefPtr<CefWebPluginInfoImpl> info(new CefWebPluginInfoImpl(*it));
|
||||||
|
if (!visitor->Visit(info.get(), count, total))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
void CefVisitWebPluginInfo(CefRefPtr<CefWebPluginInfoVisitor> visitor) {
|
||||||
|
// Verify that the context is in a valid state.
|
||||||
|
if (!CONTEXT_STATE_VALID()) {
|
||||||
|
NOTREACHED() << "context not valid";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
PluginServiceImpl::GetInstance()->GetPlugins(
|
||||||
|
base::Bind(PluginsCallbackImpl, visitor));
|
||||||
|
} else {
|
||||||
|
// Execute on the UI thread.
|
||||||
|
CEF_POST_TASK(CEF_UIT, base::Bind(CefVisitWebPluginInfo, visitor));
|
||||||
|
}
|
||||||
|
}
|
94
libcef_dll/cpptoc/web_plugin_info_cpptoc.cc
Normal file
94
libcef_dll/cpptoc/web_plugin_info_cpptoc.cc
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "libcef_dll/cpptoc/web_plugin_info_cpptoc.h"
|
||||||
|
|
||||||
|
|
||||||
|
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||||
|
|
||||||
|
cef_string_userfree_t CEF_CALLBACK web_plugin_info_get_name(
|
||||||
|
struct _cef_web_plugin_info_t* self) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
DCHECK(self);
|
||||||
|
if (!self)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
CefString _retval = CefWebPluginInfoCppToC::Get(self)->GetName();
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
return _retval.DetachToUserFree();
|
||||||
|
}
|
||||||
|
|
||||||
|
cef_string_userfree_t CEF_CALLBACK web_plugin_info_get_path(
|
||||||
|
struct _cef_web_plugin_info_t* self) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
DCHECK(self);
|
||||||
|
if (!self)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
CefString _retval = CefWebPluginInfoCppToC::Get(self)->GetPath();
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
return _retval.DetachToUserFree();
|
||||||
|
}
|
||||||
|
|
||||||
|
cef_string_userfree_t CEF_CALLBACK web_plugin_info_get_version(
|
||||||
|
struct _cef_web_plugin_info_t* self) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
DCHECK(self);
|
||||||
|
if (!self)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
CefString _retval = CefWebPluginInfoCppToC::Get(self)->GetVersion();
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
return _retval.DetachToUserFree();
|
||||||
|
}
|
||||||
|
|
||||||
|
cef_string_userfree_t CEF_CALLBACK web_plugin_info_get_description(
|
||||||
|
struct _cef_web_plugin_info_t* self) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
DCHECK(self);
|
||||||
|
if (!self)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
CefString _retval = CefWebPluginInfoCppToC::Get(self)->GetDescription();
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
return _retval.DetachToUserFree();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// CONSTRUCTOR - Do not edit by hand.
|
||||||
|
|
||||||
|
CefWebPluginInfoCppToC::CefWebPluginInfoCppToC(CefWebPluginInfo* cls)
|
||||||
|
: CefCppToC<CefWebPluginInfoCppToC, CefWebPluginInfo,
|
||||||
|
cef_web_plugin_info_t>(cls) {
|
||||||
|
struct_.struct_.get_name = web_plugin_info_get_name;
|
||||||
|
struct_.struct_.get_path = web_plugin_info_get_path;
|
||||||
|
struct_.struct_.get_version = web_plugin_info_get_version;
|
||||||
|
struct_.struct_.get_description = web_plugin_info_get_description;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
template<> long CefCppToC<CefWebPluginInfoCppToC, CefWebPluginInfo,
|
||||||
|
cef_web_plugin_info_t>::DebugObjCt = 0;
|
||||||
|
#endif
|
||||||
|
|
37
libcef_dll/cpptoc/web_plugin_info_cpptoc.h
Normal file
37
libcef_dll/cpptoc/web_plugin_info_cpptoc.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CEF_LIBCEF_DLL_CPPTOC_WEB_PLUGIN_INFO_CPPTOC_H_
|
||||||
|
#define CEF_LIBCEF_DLL_CPPTOC_WEB_PLUGIN_INFO_CPPTOC_H_
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef BUILDING_CEF_SHARED
|
||||||
|
#pragma message("Warning: "__FILE__" may be accessed DLL-side only")
|
||||||
|
#else // BUILDING_CEF_SHARED
|
||||||
|
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
|
#include "include/capi/cef_web_plugin_capi.h"
|
||||||
|
#include "libcef_dll/cpptoc/cpptoc.h"
|
||||||
|
|
||||||
|
// Wrap a C++ class with a C structure.
|
||||||
|
// This class may be instantiated and accessed DLL-side only.
|
||||||
|
class CefWebPluginInfoCppToC
|
||||||
|
: public CefCppToC<CefWebPluginInfoCppToC, CefWebPluginInfo,
|
||||||
|
cef_web_plugin_info_t> {
|
||||||
|
public:
|
||||||
|
explicit CefWebPluginInfoCppToC(CefWebPluginInfo* cls);
|
||||||
|
virtual ~CefWebPluginInfoCppToC() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BUILDING_CEF_SHARED
|
||||||
|
#endif // CEF_LIBCEF_DLL_CPPTOC_WEB_PLUGIN_INFO_CPPTOC_H_
|
||||||
|
|
56
libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.cc
Normal file
56
libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.cc
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.h"
|
||||||
|
#include "libcef_dll/ctocpp/web_plugin_info_ctocpp.h"
|
||||||
|
|
||||||
|
|
||||||
|
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||||
|
|
||||||
|
int CEF_CALLBACK web_plugin_info_visitor_visit(
|
||||||
|
struct _cef_web_plugin_info_visitor_t* self, cef_web_plugin_info_t* info,
|
||||||
|
int count, int total) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
DCHECK(self);
|
||||||
|
if (!self)
|
||||||
|
return 0;
|
||||||
|
// Verify param: info; type: refptr_diff
|
||||||
|
DCHECK(info);
|
||||||
|
if (!info)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
bool _retval = CefWebPluginInfoVisitorCppToC::Get(self)->Visit(
|
||||||
|
CefWebPluginInfoCToCpp::Wrap(info),
|
||||||
|
count,
|
||||||
|
total);
|
||||||
|
|
||||||
|
// Return type: bool
|
||||||
|
return _retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// CONSTRUCTOR - Do not edit by hand.
|
||||||
|
|
||||||
|
CefWebPluginInfoVisitorCppToC::CefWebPluginInfoVisitorCppToC(
|
||||||
|
CefWebPluginInfoVisitor* cls)
|
||||||
|
: CefCppToC<CefWebPluginInfoVisitorCppToC, CefWebPluginInfoVisitor,
|
||||||
|
cef_web_plugin_info_visitor_t>(cls) {
|
||||||
|
struct_.struct_.visit = web_plugin_info_visitor_visit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
template<> long CefCppToC<CefWebPluginInfoVisitorCppToC,
|
||||||
|
CefWebPluginInfoVisitor, cef_web_plugin_info_visitor_t>::DebugObjCt = 0;
|
||||||
|
#endif
|
||||||
|
|
37
libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.h
Normal file
37
libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CEF_LIBCEF_DLL_CPPTOC_WEB_PLUGIN_INFO_VISITOR_CPPTOC_H_
|
||||||
|
#define CEF_LIBCEF_DLL_CPPTOC_WEB_PLUGIN_INFO_VISITOR_CPPTOC_H_
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef USING_CEF_SHARED
|
||||||
|
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
|
||||||
|
#else // USING_CEF_SHARED
|
||||||
|
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
|
#include "include/capi/cef_web_plugin_capi.h"
|
||||||
|
#include "libcef_dll/cpptoc/cpptoc.h"
|
||||||
|
|
||||||
|
// Wrap a C++ class with a C structure.
|
||||||
|
// This class may be instantiated and accessed wrapper-side only.
|
||||||
|
class CefWebPluginInfoVisitorCppToC
|
||||||
|
: public CefCppToC<CefWebPluginInfoVisitorCppToC, CefWebPluginInfoVisitor,
|
||||||
|
cef_web_plugin_info_visitor_t> {
|
||||||
|
public:
|
||||||
|
explicit CefWebPluginInfoVisitorCppToC(CefWebPluginInfoVisitor* cls);
|
||||||
|
virtual ~CefWebPluginInfoVisitorCppToC() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // USING_CEF_SHARED
|
||||||
|
#endif // CEF_LIBCEF_DLL_CPPTOC_WEB_PLUGIN_INFO_VISITOR_CPPTOC_H_
|
||||||
|
|
83
libcef_dll/ctocpp/web_plugin_info_ctocpp.cc
Normal file
83
libcef_dll/ctocpp/web_plugin_info_ctocpp.cc
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "libcef_dll/ctocpp/web_plugin_info_ctocpp.h"
|
||||||
|
|
||||||
|
|
||||||
|
// VIRTUAL METHODS - Body may be edited by hand.
|
||||||
|
|
||||||
|
CefString CefWebPluginInfoCToCpp::GetName() {
|
||||||
|
if (CEF_MEMBER_MISSING(struct_, get_name))
|
||||||
|
return CefString();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_string_userfree_t _retval = struct_->get_name(struct_);
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
CefString _retvalStr;
|
||||||
|
_retvalStr.AttachToUserFree(_retval);
|
||||||
|
return _retvalStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
CefString CefWebPluginInfoCToCpp::GetPath() {
|
||||||
|
if (CEF_MEMBER_MISSING(struct_, get_path))
|
||||||
|
return CefString();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_string_userfree_t _retval = struct_->get_path(struct_);
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
CefString _retvalStr;
|
||||||
|
_retvalStr.AttachToUserFree(_retval);
|
||||||
|
return _retvalStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
CefString CefWebPluginInfoCToCpp::GetVersion() {
|
||||||
|
if (CEF_MEMBER_MISSING(struct_, get_version))
|
||||||
|
return CefString();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_string_userfree_t _retval = struct_->get_version(struct_);
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
CefString _retvalStr;
|
||||||
|
_retvalStr.AttachToUserFree(_retval);
|
||||||
|
return _retvalStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
CefString CefWebPluginInfoCToCpp::GetDescription() {
|
||||||
|
if (CEF_MEMBER_MISSING(struct_, get_description))
|
||||||
|
return CefString();
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_string_userfree_t _retval = struct_->get_description(struct_);
|
||||||
|
|
||||||
|
// Return type: string
|
||||||
|
CefString _retvalStr;
|
||||||
|
_retvalStr.AttachToUserFree(_retval);
|
||||||
|
return _retvalStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
template<> long CefCToCpp<CefWebPluginInfoCToCpp, CefWebPluginInfo,
|
||||||
|
cef_web_plugin_info_t>::DebugObjCt = 0;
|
||||||
|
#endif
|
||||||
|
|
45
libcef_dll/ctocpp/web_plugin_info_ctocpp.h
Normal file
45
libcef_dll/ctocpp/web_plugin_info_ctocpp.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CEF_LIBCEF_DLL_CTOCPP_WEB_PLUGIN_INFO_CTOCPP_H_
|
||||||
|
#define CEF_LIBCEF_DLL_CTOCPP_WEB_PLUGIN_INFO_CTOCPP_H_
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef USING_CEF_SHARED
|
||||||
|
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
|
||||||
|
#else // USING_CEF_SHARED
|
||||||
|
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
|
#include "include/capi/cef_web_plugin_capi.h"
|
||||||
|
#include "libcef_dll/ctocpp/ctocpp.h"
|
||||||
|
|
||||||
|
// Wrap a C structure with a C++ class.
|
||||||
|
// This class may be instantiated and accessed wrapper-side only.
|
||||||
|
class CefWebPluginInfoCToCpp
|
||||||
|
: public CefCToCpp<CefWebPluginInfoCToCpp, CefWebPluginInfo,
|
||||||
|
cef_web_plugin_info_t> {
|
||||||
|
public:
|
||||||
|
explicit CefWebPluginInfoCToCpp(cef_web_plugin_info_t* str)
|
||||||
|
: CefCToCpp<CefWebPluginInfoCToCpp, CefWebPluginInfo,
|
||||||
|
cef_web_plugin_info_t>(str) {}
|
||||||
|
virtual ~CefWebPluginInfoCToCpp() {}
|
||||||
|
|
||||||
|
// CefWebPluginInfo methods
|
||||||
|
virtual CefString GetName() OVERRIDE;
|
||||||
|
virtual CefString GetPath() OVERRIDE;
|
||||||
|
virtual CefString GetVersion() OVERRIDE;
|
||||||
|
virtual CefString GetDescription() OVERRIDE;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // USING_CEF_SHARED
|
||||||
|
#endif // CEF_LIBCEF_DLL_CTOCPP_WEB_PLUGIN_INFO_CTOCPP_H_
|
||||||
|
|
46
libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.cc
Normal file
46
libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.cc
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "libcef_dll/cpptoc/web_plugin_info_cpptoc.h"
|
||||||
|
#include "libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.h"
|
||||||
|
|
||||||
|
|
||||||
|
// VIRTUAL METHODS - Body may be edited by hand.
|
||||||
|
|
||||||
|
bool CefWebPluginInfoVisitorCToCpp::Visit(CefRefPtr<CefWebPluginInfo> info,
|
||||||
|
int count, int total) {
|
||||||
|
if (CEF_MEMBER_MISSING(struct_, visit))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Verify param: info; type: refptr_diff
|
||||||
|
DCHECK(info.get());
|
||||||
|
if (!info.get())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
int _retval = struct_->visit(struct_,
|
||||||
|
CefWebPluginInfoCppToC::Wrap(info),
|
||||||
|
count,
|
||||||
|
total);
|
||||||
|
|
||||||
|
// Return type: bool
|
||||||
|
return _retval?true:false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
template<> long CefCToCpp<CefWebPluginInfoVisitorCToCpp,
|
||||||
|
CefWebPluginInfoVisitor, cef_web_plugin_info_visitor_t>::DebugObjCt = 0;
|
||||||
|
#endif
|
||||||
|
|
43
libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.h
Normal file
43
libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// Copyright (c) 2012 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.
|
||||||
|
//
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This file was generated by the CEF translator tool. If making changes by
|
||||||
|
// hand only do so within the body of existing method and function
|
||||||
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
|
// for more information.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CEF_LIBCEF_DLL_CTOCPP_WEB_PLUGIN_INFO_VISITOR_CTOCPP_H_
|
||||||
|
#define CEF_LIBCEF_DLL_CTOCPP_WEB_PLUGIN_INFO_VISITOR_CTOCPP_H_
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef BUILDING_CEF_SHARED
|
||||||
|
#pragma message("Warning: "__FILE__" may be accessed DLL-side only")
|
||||||
|
#else // BUILDING_CEF_SHARED
|
||||||
|
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
|
#include "include/capi/cef_web_plugin_capi.h"
|
||||||
|
#include "libcef_dll/ctocpp/ctocpp.h"
|
||||||
|
|
||||||
|
// Wrap a C structure with a C++ class.
|
||||||
|
// This class may be instantiated and accessed DLL-side only.
|
||||||
|
class CefWebPluginInfoVisitorCToCpp
|
||||||
|
: public CefCToCpp<CefWebPluginInfoVisitorCToCpp, CefWebPluginInfoVisitor,
|
||||||
|
cef_web_plugin_info_visitor_t> {
|
||||||
|
public:
|
||||||
|
explicit CefWebPluginInfoVisitorCToCpp(cef_web_plugin_info_visitor_t* str)
|
||||||
|
: CefCToCpp<CefWebPluginInfoVisitorCToCpp, CefWebPluginInfoVisitor,
|
||||||
|
cef_web_plugin_info_visitor_t>(str) {}
|
||||||
|
virtual ~CefWebPluginInfoVisitorCToCpp() {}
|
||||||
|
|
||||||
|
// CefWebPluginInfoVisitor methods
|
||||||
|
virtual bool Visit(CefRefPtr<CefWebPluginInfo> info, int count,
|
||||||
|
int total) OVERRIDE;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BUILDING_CEF_SHARED
|
||||||
|
#endif // CEF_LIBCEF_DLL_CTOCPP_WEB_PLUGIN_INFO_VISITOR_CTOCPP_H_
|
||||||
|
|
@ -22,6 +22,8 @@
|
|||||||
#include "include/capi/cef_url_capi.h"
|
#include "include/capi/cef_url_capi.h"
|
||||||
#include "include/cef_v8.h"
|
#include "include/cef_v8.h"
|
||||||
#include "include/capi/cef_v8_capi.h"
|
#include "include/capi/cef_v8_capi.h"
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
|
#include "include/capi/cef_web_plugin_capi.h"
|
||||||
#include "libcef_dll/cpptoc/auth_callback_cpptoc.h"
|
#include "libcef_dll/cpptoc/auth_callback_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/binary_value_cpptoc.h"
|
#include "libcef_dll/cpptoc/binary_value_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/browser_cpptoc.h"
|
#include "libcef_dll/cpptoc/browser_cpptoc.h"
|
||||||
@ -46,6 +48,7 @@
|
|||||||
#include "libcef_dll/cpptoc/v8context_cpptoc.h"
|
#include "libcef_dll/cpptoc/v8context_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/v8exception_cpptoc.h"
|
#include "libcef_dll/cpptoc/v8exception_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/v8value_cpptoc.h"
|
#include "libcef_dll/cpptoc/v8value_cpptoc.h"
|
||||||
|
#include "libcef_dll/cpptoc/web_plugin_info_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/xml_reader_cpptoc.h"
|
#include "libcef_dll/cpptoc/xml_reader_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/zip_reader_cpptoc.h"
|
#include "libcef_dll/cpptoc/zip_reader_cpptoc.h"
|
||||||
#include "libcef_dll/ctocpp/app_ctocpp.h"
|
#include "libcef_dll/ctocpp/app_ctocpp.h"
|
||||||
@ -67,6 +70,7 @@
|
|||||||
#include "libcef_dll/ctocpp/task_ctocpp.h"
|
#include "libcef_dll/ctocpp/task_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/v8accessor_ctocpp.h"
|
#include "libcef_dll/ctocpp/v8accessor_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/v8handler_ctocpp.h"
|
#include "libcef_dll/ctocpp/v8handler_ctocpp.h"
|
||||||
|
#include "libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/write_handler_ctocpp.h"
|
#include "libcef_dll/ctocpp/write_handler_ctocpp.h"
|
||||||
|
|
||||||
|
|
||||||
@ -179,6 +183,8 @@ CEF_EXPORT void cef_shutdown() {
|
|||||||
DCHECK_EQ(CefV8ExceptionCppToC::DebugObjCt, 0);
|
DCHECK_EQ(CefV8ExceptionCppToC::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefV8HandlerCToCpp::DebugObjCt, 0);
|
DCHECK_EQ(CefV8HandlerCToCpp::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefV8ValueCppToC::DebugObjCt, 0);
|
DCHECK_EQ(CefV8ValueCppToC::DebugObjCt, 0);
|
||||||
|
DCHECK_EQ(CefWebPluginInfoCppToC::DebugObjCt, 0);
|
||||||
|
DCHECK_EQ(CefWebPluginInfoVisitorCToCpp::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefWriteHandlerCToCpp::DebugObjCt, 0);
|
DCHECK_EQ(CefWriteHandlerCToCpp::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefXmlReaderCppToC::DebugObjCt, 0);
|
DCHECK_EQ(CefXmlReaderCppToC::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefZipReaderCppToC::DebugObjCt, 0);
|
DCHECK_EQ(CefZipReaderCppToC::DebugObjCt, 0);
|
||||||
@ -437,3 +443,17 @@ CEF_EXPORT int cef_register_extension(const cef_string_t* extension_name,
|
|||||||
return _retval;
|
return _retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CEF_EXPORT void cef_visit_web_plugin_info(
|
||||||
|
struct _cef_web_plugin_info_visitor_t* visitor) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Verify param: visitor; type: refptr_diff
|
||||||
|
DCHECK(visitor);
|
||||||
|
if (!visitor)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
CefVisitWebPluginInfo(
|
||||||
|
CefWebPluginInfoVisitorCToCpp::Wrap(visitor));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#include "include/capi/cef_url_capi.h"
|
#include "include/capi/cef_url_capi.h"
|
||||||
#include "include/cef_v8.h"
|
#include "include/cef_v8.h"
|
||||||
#include "include/capi/cef_v8_capi.h"
|
#include "include/capi/cef_v8_capi.h"
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
|
#include "include/capi/cef_web_plugin_capi.h"
|
||||||
#include "include/cef_version.h"
|
#include "include/cef_version.h"
|
||||||
#include "libcef_dll/cpptoc/app_cpptoc.h"
|
#include "libcef_dll/cpptoc/app_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/context_menu_handler_cpptoc.h"
|
#include "libcef_dll/cpptoc/context_menu_handler_cpptoc.h"
|
||||||
@ -42,6 +44,7 @@
|
|||||||
#include "libcef_dll/cpptoc/task_cpptoc.h"
|
#include "libcef_dll/cpptoc/task_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/v8accessor_cpptoc.h"
|
#include "libcef_dll/cpptoc/v8accessor_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/v8handler_cpptoc.h"
|
#include "libcef_dll/cpptoc/v8handler_cpptoc.h"
|
||||||
|
#include "libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.h"
|
||||||
#include "libcef_dll/cpptoc/write_handler_cpptoc.h"
|
#include "libcef_dll/cpptoc/write_handler_cpptoc.h"
|
||||||
#include "libcef_dll/ctocpp/auth_callback_ctocpp.h"
|
#include "libcef_dll/ctocpp/auth_callback_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/binary_value_ctocpp.h"
|
#include "libcef_dll/ctocpp/binary_value_ctocpp.h"
|
||||||
@ -67,6 +70,7 @@
|
|||||||
#include "libcef_dll/ctocpp/v8context_ctocpp.h"
|
#include "libcef_dll/ctocpp/v8context_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/v8exception_ctocpp.h"
|
#include "libcef_dll/ctocpp/v8exception_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/v8value_ctocpp.h"
|
#include "libcef_dll/ctocpp/v8value_ctocpp.h"
|
||||||
|
#include "libcef_dll/ctocpp/web_plugin_info_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/xml_reader_ctocpp.h"
|
#include "libcef_dll/ctocpp/xml_reader_ctocpp.h"
|
||||||
#include "libcef_dll/ctocpp/zip_reader_ctocpp.h"
|
#include "libcef_dll/ctocpp/zip_reader_ctocpp.h"
|
||||||
|
|
||||||
@ -171,6 +175,8 @@ CEF_GLOBAL void CefShutdown() {
|
|||||||
DCHECK_EQ(CefV8ExceptionCToCpp::DebugObjCt, 0);
|
DCHECK_EQ(CefV8ExceptionCToCpp::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefV8HandlerCppToC::DebugObjCt, 0);
|
DCHECK_EQ(CefV8HandlerCppToC::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefV8ValueCToCpp::DebugObjCt, 0);
|
DCHECK_EQ(CefV8ValueCToCpp::DebugObjCt, 0);
|
||||||
|
DCHECK_EQ(CefWebPluginInfoCToCpp::DebugObjCt, 0);
|
||||||
|
DCHECK_EQ(CefWebPluginInfoVisitorCppToC::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefWriteHandlerCppToC::DebugObjCt, 0);
|
DCHECK_EQ(CefWriteHandlerCppToC::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefXmlReaderCToCpp::DebugObjCt, 0);
|
DCHECK_EQ(CefXmlReaderCToCpp::DebugObjCt, 0);
|
||||||
DCHECK_EQ(CefZipReaderCToCpp::DebugObjCt, 0);
|
DCHECK_EQ(CefZipReaderCToCpp::DebugObjCt, 0);
|
||||||
@ -397,3 +403,17 @@ CEF_GLOBAL bool CefRegisterExtension(const CefString& extension_name,
|
|||||||
return _retval?true:false;
|
return _retval?true:false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CEF_GLOBAL void CefVisitWebPluginInfo(
|
||||||
|
CefRefPtr<CefWebPluginInfoVisitor> visitor) {
|
||||||
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
|
// Verify param: visitor; type: refptr_diff
|
||||||
|
DCHECK(visitor.get());
|
||||||
|
if (!visitor.get())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Execute
|
||||||
|
cef_visit_web_plugin_info(
|
||||||
|
CefWebPluginInfoVisitorCppToC::Wrap(visitor));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "include/cef_command_line.h"
|
#include "include/cef_command_line.h"
|
||||||
#include "include/cef_frame.h"
|
#include "include/cef_frame.h"
|
||||||
#include "include/cef_runnable.h"
|
#include "include/cef_runnable.h"
|
||||||
|
#include "include/cef_web_plugin.h"
|
||||||
#include "cefclient/client_handler.h"
|
#include "cefclient/client_handler.h"
|
||||||
#include "cefclient/client_switches.h"
|
#include "cefclient/client_switches.h"
|
||||||
#include "cefclient/string_util.h"
|
#include "cefclient/string_util.h"
|
||||||
@ -326,6 +327,39 @@ void RunDialogTest(CefRefPtr<CefBrowser> browser) {
|
|||||||
browser->GetMainFrame()->LoadURL("http://tests/dialogs");
|
browser->GetMainFrame()->LoadURL("http://tests/dialogs");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RunPluginInfoTest(CefRefPtr<CefBrowser> browser) {
|
||||||
|
class Visitor : public CefWebPluginInfoVisitor {
|
||||||
|
public:
|
||||||
|
explicit Visitor(CefRefPtr<CefBrowser> browser)
|
||||||
|
: browser_(browser) {
|
||||||
|
html_ = "<html><head><title>Plugin Info Test</title></head><body>"
|
||||||
|
"\n<b>Installed plugins:</b>";
|
||||||
|
}
|
||||||
|
~Visitor() {
|
||||||
|
html_ += "\n</body></html>";
|
||||||
|
|
||||||
|
// Load the html in the browser.
|
||||||
|
browser_->GetMainFrame()->LoadString(html_, "http://tests/plugin_info");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool Visit(CefRefPtr<CefWebPluginInfo> info, int count, int total)
|
||||||
|
OVERRIDE {
|
||||||
|
html_ += "\n<br/><br/>Name: " + info->GetName().ToString() +
|
||||||
|
"\n<br/>Description: " + info->GetDescription().ToString() +
|
||||||
|
"\n<br/>Version: " + info->GetVersion().ToString() +
|
||||||
|
"\n<br/>Path: " + info->GetPath().ToString();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string html_;
|
||||||
|
CefRefPtr<CefBrowser> browser_;
|
||||||
|
IMPLEMENT_REFCOUNTING(Visitor);
|
||||||
|
};
|
||||||
|
|
||||||
|
CefVisitWebPluginInfo(new Visitor(browser));
|
||||||
|
}
|
||||||
|
|
||||||
void RunLocalStorageTest(CefRefPtr<CefBrowser> browser) {
|
void RunLocalStorageTest(CefRefPtr<CefBrowser> browser) {
|
||||||
browser->GetMainFrame()->LoadURL("http://tests/localstorage");
|
browser->GetMainFrame()->LoadURL("http://tests/localstorage");
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ void RunGetTextTest(CefRefPtr<CefBrowser> browser);
|
|||||||
void RunRequestTest(CefRefPtr<CefBrowser> browser);
|
void RunRequestTest(CefRefPtr<CefBrowser> browser);
|
||||||
void RunPopupTest(CefRefPtr<CefBrowser> browser);
|
void RunPopupTest(CefRefPtr<CefBrowser> browser);
|
||||||
void RunDialogTest(CefRefPtr<CefBrowser> browser);
|
void RunDialogTest(CefRefPtr<CefBrowser> browser);
|
||||||
|
void RunPluginInfoTest(CefRefPtr<CefBrowser> browser);
|
||||||
void RunLocalStorageTest(CefRefPtr<CefBrowser> browser);
|
void RunLocalStorageTest(CefRefPtr<CefBrowser> browser);
|
||||||
void RunAccelerated2DCanvasTest(CefRefPtr<CefBrowser> browser);
|
void RunAccelerated2DCanvasTest(CefRefPtr<CefBrowser> browser);
|
||||||
void RunAcceleratedLayersTest(CefRefPtr<CefBrowser> browser);
|
void RunAcceleratedLayersTest(CefRefPtr<CefBrowser> browser);
|
||||||
|
@ -69,6 +69,7 @@ BEGIN
|
|||||||
MENUITEM "Scheme Handler", ID_TESTS_SCHEME_HANDLER
|
MENUITEM "Scheme Handler", ID_TESTS_SCHEME_HANDLER
|
||||||
MENUITEM "JavaScript Binding", ID_TESTS_BINDING
|
MENUITEM "JavaScript Binding", ID_TESTS_BINDING
|
||||||
MENUITEM "JavaScript Dialogs", ID_TESTS_DIALOGS
|
MENUITEM "JavaScript Dialogs", ID_TESTS_DIALOGS
|
||||||
|
MENUITEM "Plugin Info", ID_TESTS_PLUGIN_INFO
|
||||||
MENUITEM "Local Storage", ID_TESTS_LOCALSTORAGE
|
MENUITEM "Local Storage", ID_TESTS_LOCALSTORAGE
|
||||||
MENUITEM "XMLHttpRequest", ID_TESTS_XMLHTTPREQUEST
|
MENUITEM "XMLHttpRequest", ID_TESTS_XMLHTTPREQUEST
|
||||||
MENUITEM "Accelerated 2D Canvas", ID_TESTS_ACCELERATED2DCANVAS
|
MENUITEM "Accelerated 2D Canvas", ID_TESTS_ACCELERATED2DCANVAS
|
||||||
|
@ -85,6 +85,14 @@ gboolean BindingActivated(GtkWidget* widget) {
|
|||||||
return FALSE; // Don't stop this message.
|
return FALSE; // Don't stop this message.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Callback for Debug > Plugin Info... menu item.
|
||||||
|
gboolean PluginInfoActivated(GtkWidget* widget) {
|
||||||
|
if (g_handler.get() && g_handler->GetBrowserId())
|
||||||
|
RunPluginInfoTest(g_handler->GetBrowser());
|
||||||
|
|
||||||
|
return FALSE; // Don't stop this message.
|
||||||
|
}
|
||||||
|
|
||||||
// Callback for Debug > Popup Window... menu item.
|
// Callback for Debug > Popup Window... menu item.
|
||||||
gboolean PopupWindowActivated(GtkWidget* widget) {
|
gboolean PopupWindowActivated(GtkWidget* widget) {
|
||||||
if (g_handler.get() && g_handler->GetBrowserId())
|
if (g_handler.get() && g_handler->GetBrowserId())
|
||||||
@ -202,6 +210,8 @@ GtkWidget* CreateMenuBar() {
|
|||||||
G_CALLBACK(SchemeHandlerActivated));
|
G_CALLBACK(SchemeHandlerActivated));
|
||||||
AddMenuEntry(debug_menu, "JavaScript Binding",
|
AddMenuEntry(debug_menu, "JavaScript Binding",
|
||||||
G_CALLBACK(BindingActivated));
|
G_CALLBACK(BindingActivated));
|
||||||
|
AddMenuEntry(debug_menu, "Plugin Info",
|
||||||
|
G_CALLBACK(PluginInfoActivated));
|
||||||
AddMenuEntry(debug_menu, "Popup Window",
|
AddMenuEntry(debug_menu, "Popup Window",
|
||||||
G_CALLBACK(PopupWindowActivated));
|
G_CALLBACK(PopupWindowActivated));
|
||||||
AddMenuEntry(debug_menu, "Accelerated 2D Canvas",
|
AddMenuEntry(debug_menu, "Accelerated 2D Canvas",
|
||||||
|
@ -194,6 +194,7 @@ NSButton* MakeButton(NSRect* rect, NSString* title, NSView* parent) {
|
|||||||
- (IBAction)testSchemeHandler:(id)sender;
|
- (IBAction)testSchemeHandler:(id)sender;
|
||||||
- (IBAction)testBinding:(id)sender;
|
- (IBAction)testBinding:(id)sender;
|
||||||
- (IBAction)testDialogs:(id)sender;
|
- (IBAction)testDialogs:(id)sender;
|
||||||
|
- (IBAction)testPluginInfo:(id)sender;
|
||||||
- (IBAction)testPopupWindow:(id)sender;
|
- (IBAction)testPopupWindow:(id)sender;
|
||||||
- (IBAction)testAccelerated2DCanvas:(id)sender;
|
- (IBAction)testAccelerated2DCanvas:(id)sender;
|
||||||
- (IBAction)testAcceleratedLayers:(id)sender;
|
- (IBAction)testAcceleratedLayers:(id)sender;
|
||||||
@ -239,6 +240,9 @@ NSButton* MakeButton(NSRect* rect, NSString* title, NSView* parent) {
|
|||||||
[testMenu addItemWithTitle:@"JavaScript Dialogs"
|
[testMenu addItemWithTitle:@"JavaScript Dialogs"
|
||||||
action:@selector(testDialogs:)
|
action:@selector(testDialogs:)
|
||||||
keyEquivalent:@""];
|
keyEquivalent:@""];
|
||||||
|
[testMenu addItemWithTitle:@"Plugin Info"
|
||||||
|
action:@selector(testPluginInfo:)
|
||||||
|
keyEquivalent:@""];
|
||||||
[testMenu addItemWithTitle:@"Local Storage"
|
[testMenu addItemWithTitle:@"Local Storage"
|
||||||
action:@selector(testLocalStorage:)
|
action:@selector(testLocalStorage:)
|
||||||
keyEquivalent:@""];
|
keyEquivalent:@""];
|
||||||
@ -391,6 +395,11 @@ NSButton* MakeButton(NSRect* rect, NSString* title, NSView* parent) {
|
|||||||
RunDialogTest(g_handler->GetBrowser());
|
RunDialogTest(g_handler->GetBrowser());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (IBAction)testPluginInfo:(id)sender {
|
||||||
|
if (g_handler.get() && g_handler->GetBrowserId())
|
||||||
|
RunPluginInfoTest(g_handler->GetBrowser());
|
||||||
|
}
|
||||||
|
|
||||||
- (IBAction)testPopupWindow:(id)sender {
|
- (IBAction)testPopupWindow:(id)sender {
|
||||||
if (g_handler.get() && g_handler->GetBrowserId())
|
if (g_handler.get() && g_handler->GetBrowserId())
|
||||||
RunPopupTest(g_handler->GetBrowser());
|
RunPopupTest(g_handler->GetBrowser());
|
||||||
|
@ -377,10 +377,14 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
|||||||
if (browser.get())
|
if (browser.get())
|
||||||
binding_test::RunTest(browser);
|
binding_test::RunTest(browser);
|
||||||
return 0;
|
return 0;
|
||||||
case ID_TESTS_DIALOGS: // Test JavaScript dialofs
|
case ID_TESTS_DIALOGS: // Test JavaScript dialogs
|
||||||
if (browser.get())
|
if (browser.get())
|
||||||
RunDialogTest(browser);
|
RunDialogTest(browser);
|
||||||
return 0;
|
return 0;
|
||||||
|
case ID_TESTS_PLUGIN_INFO: // Test plugin info
|
||||||
|
if (browser.get())
|
||||||
|
RunPluginInfoTest(browser);
|
||||||
|
return 0;
|
||||||
case ID_TESTS_LOCALSTORAGE: // Test localStorage
|
case ID_TESTS_LOCALSTORAGE: // Test localStorage
|
||||||
if (browser.get())
|
if (browser.get())
|
||||||
RunLocalStorageTest(browser);
|
RunLocalStorageTest(browser);
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
#define ID_TESTS_GEOLOCATION 32772
|
#define ID_TESTS_GEOLOCATION 32772
|
||||||
#define ID_TESTS_BINDING 32773
|
#define ID_TESTS_BINDING 32773
|
||||||
#define ID_TESTS_DIALOGS 32774
|
#define ID_TESTS_DIALOGS 32774
|
||||||
|
#define ID_TESTS_PLUGIN_INFO 32775
|
||||||
#define IDC_STATIC -1
|
#define IDC_STATIC -1
|
||||||
#define IDS_BINDING 1000
|
#define IDS_BINDING 1000
|
||||||
#define IDS_DIALOGS 1001
|
#define IDS_DIALOGS 1001
|
||||||
|
Loading…
x
Reference in New Issue
Block a user