mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
libcef: Update due to underlying chromium changes.
- Canvas classes moved from gfx namespace to skia namespace. - Include files moved from WebKit/port to third_party/WebKit. - Add IsMediaPlayerAvailable() webkit_glue function. - WebWidgetDelegate::GetContainingWindow() changed to WebWidgetDelegate::GetContainingView(). - Changed HCURSOR to WebCursor and HWND to gfx::NativeWindow. - WebPluginInfo 'file' member changed to 'path'. - Use base::LazyInstance for static object in BrowserPluginInstance (should be done at some point for BrowserPluginLib and BrowserPluginList as well). - BrowserPluginStream::Open() adds additional 'request_is_seekable' parameter. - Add PLUGIN_QUIRK_PATCH_SETCURSOR support to BrowserWebPluginDelegateImpl. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@6 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -11,11 +11,13 @@
|
||||
|
||||
#include "browser_plugin_lib.h"
|
||||
|
||||
#include "base/file_path.h"
|
||||
#include "base/gfx/native_widget_types.h"
|
||||
#include "base/iat_patch.h"
|
||||
#include "base/ref_counted.h"
|
||||
#include "base/task.h"
|
||||
#include "webkit/glue/webplugin_delegate.h"
|
||||
#include "third_party/npapi/bindings/npapi.h"
|
||||
#include "webkit/glue/webplugin_delegate.h"
|
||||
#include "webkit/glue/webcursor.h"
|
||||
|
||||
namespace NPAPI {
|
||||
@ -28,7 +30,7 @@ class BrowserWebPluginDelegateImpl : public WebPluginDelegate {
|
||||
public:
|
||||
static BrowserWebPluginDelegateImpl* Create(const struct CefPluginInfo& plugin_info,
|
||||
const std::string& mime_type,
|
||||
HWND containing_window);
|
||||
gfx::NativeView containing_view);
|
||||
static bool IsPluginDelegateWindow(HWND window);
|
||||
static bool GetPluginNameFromWindow(HWND window, std::wstring *plugin_name);
|
||||
|
||||
@ -72,7 +74,7 @@ class BrowserWebPluginDelegateImpl : public WebPluginDelegate {
|
||||
virtual void DidReceiveManualData(const char* buffer, int length);
|
||||
virtual void DidFinishManualLoading();
|
||||
virtual void DidManualLoadFail();
|
||||
virtual std::wstring GetPluginPath();
|
||||
virtual FilePath GetPluginPath();
|
||||
virtual void InstallMissingPlugin();
|
||||
virtual WebPluginResourceClient* CreateResourceClient(int resource_id,
|
||||
const std::string &url,
|
||||
@ -94,6 +96,7 @@ class BrowserWebPluginDelegateImpl : public WebPluginDelegate {
|
||||
PLUGIN_QUIRK_DONT_ALLOW_MULTIPLE_INSTANCES = 16,
|
||||
PLUGIN_QUIRK_DIE_AFTER_UNLOAD = 32,
|
||||
PLUGIN_QUIRK_PATCH_TRACKPOPUP_MENU = 64,
|
||||
PLUGIN_QUIRK_PATCH_SETCURSOR = 128,
|
||||
};
|
||||
|
||||
int quirks() { return quirks_; }
|
||||
@ -105,7 +108,7 @@ class BrowserWebPluginDelegateImpl : public WebPluginDelegate {
|
||||
bool visible);
|
||||
|
||||
private:
|
||||
BrowserWebPluginDelegateImpl(HWND containing_window,
|
||||
BrowserWebPluginDelegateImpl(gfx::NativeView containing_view,
|
||||
NPAPI::BrowserPluginInstance *instance);
|
||||
~BrowserWebPluginDelegateImpl();
|
||||
|
||||
@ -265,11 +268,8 @@ class BrowserWebPluginDelegateImpl : public WebPluginDelegate {
|
||||
// The plugin module handle.
|
||||
HMODULE plugin_module_handle_;
|
||||
|
||||
// Indicates whether we IAT patched the TrackPopupMenu function.
|
||||
static bool track_popup_menu_patched_;
|
||||
|
||||
// Helper object for patching the import table of Silverlight.
|
||||
static iat_patch::IATPatchFunction iat_patch_helper_;
|
||||
// Helper object for patching the TrackPopupMenu API
|
||||
static iat_patch::IATPatchFunction iat_patch_track_popup_menu_;
|
||||
|
||||
// TrackPopupMenu interceptor. Parameters are the same as the Win32 function
|
||||
// TrackPopupMenu.
|
||||
@ -277,6 +277,15 @@ class BrowserWebPluginDelegateImpl : public WebPluginDelegate {
|
||||
int y, int reserved, HWND window,
|
||||
const RECT* rect);
|
||||
|
||||
// SetCursor interceptor for windowless plugins.
|
||||
static HCURSOR WINAPI SetCursorPatch(HCURSOR cursor);
|
||||
|
||||
// Helper object for patching the SetCursor API
|
||||
static iat_patch::IATPatchFunction iat_patch_set_cursor_;
|
||||
|
||||
// Holds the current cursor set by the windowless plugin.
|
||||
WebCursor current_windowless_cursor_;
|
||||
|
||||
DISALLOW_EVIL_CONSTRUCTORS(BrowserWebPluginDelegateImpl);
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user