dom/plugins/base/nsPluginNativeWindow.cpp

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:c2863b808e21
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 /**
7 * This file is the default implementation of plugin native window
8 * empty stubs, it should be replaced with real platform implementation
9 * for every platform
10 */
11
12 #include "nsDebug.h"
13 #include "nsPluginNativeWindow.h"
14
15 class nsPluginNativeWindowPLATFORM : public nsPluginNativeWindow {
16 public:
17 nsPluginNativeWindowPLATFORM();
18 virtual ~nsPluginNativeWindowPLATFORM();
19 };
20
21 nsPluginNativeWindowPLATFORM::nsPluginNativeWindowPLATFORM() : nsPluginNativeWindow()
22 {
23 // initialize the struct fields
24 window = nullptr;
25 x = 0;
26 y = 0;
27 width = 0;
28 height = 0;
29 memset(&clipRect, 0, sizeof(clipRect));
30 #if defined(XP_UNIX) && !defined(XP_MACOSX)
31 ws_info = nullptr;
32 #endif
33 type = NPWindowTypeWindow;
34 }
35
36 nsPluginNativeWindowPLATFORM::~nsPluginNativeWindowPLATFORM()
37 {
38 }
39
40 nsresult PLUG_NewPluginNativeWindow(nsPluginNativeWindow ** aPluginNativeWindow)
41 {
42 NS_ENSURE_ARG_POINTER(aPluginNativeWindow);
43 *aPluginNativeWindow = new nsPluginNativeWindowPLATFORM();
44 return *aPluginNativeWindow ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
45 }
46
47 nsresult PLUG_DeletePluginNativeWindow(nsPluginNativeWindow * aPluginNativeWindow)
48 {
49 NS_ENSURE_ARG_POINTER(aPluginNativeWindow);
50 nsPluginNativeWindowPLATFORM *p = (nsPluginNativeWindowPLATFORM *)aPluginNativeWindow;
51 delete p;
52 return NS_OK;
53 }

mercurial