~ubuntu-branches/ubuntu/natty/adblock-plus/natty

« back to all changes in this revision

Viewing changes to kmeleon/adblockplus.h

  • Committer: Bazaar Package Importer
  • Author(s): Benjamin Drung
  • Date: 2010-11-05 18:42:36 UTC
  • mto: (25.1.1 sid)
  • mto: This revision was merged to the branch mainline in revision 27.
  • Revision ID: james.westby@ubuntu.com-20101105184236-h7dnu8mbfjaoya62
Tags: upstream-1.3.1
ImportĀ upstreamĀ versionĀ 1.3.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
#define MOZILLA_STRICT_API
33
33
#include "nsISupports.h"
34
34
#include "nsCOMPtr.h"
35
 
#include "nsComponentManagerUtils.h"
36
 
#include "nsServiceManagerUtils.h"
37
 
#include "nsIInterfaceRequestorUtils.h"
38
35
#include "nsIObserver.h"
39
 
#include "nsIDOMWindow.h"
40
 
#include "nsIDOMWindowInternal.h"
41
36
#include "nsPIDOMWindow.h"
42
37
#include "nsIEmbeddingSiteWindow.h"
43
38
#include "nsIXPConnect.h"
 
39
#include "xpcIJSModuleLoader.h"
44
40
#include "nsIDOMEvent.h"
45
41
#include "nsIDOMEventTarget.h"
 
42
#include "nsPIDOMEventTarget.h"
46
43
#include "nsIDOMEventListener.h"
47
 
#include "nsIChromeEventHandler.h"
48
44
#include "nsIURI.h"
49
 
#include "nsIXPCScriptable.h"
50
45
#include "nsIPrefService.h"
51
46
#include "nsIPrefBranch.h"
52
47
#include "nsIConsoleService.h"
53
48
#include "nsIScriptError.h"
54
 
#include "nsIScriptSecurityManager.h"
55
 
#include "nsIPrincipal.h"
 
49
#include "imgIContainer.h"
56
50
#include "imgIRequest.h"
57
51
#include "imgILoader.h"
58
52
#include "imgIDecoderObserver.h"
59
53
#include "gfxIImageFrame.h"
60
54
#include "nsIIOService.h"
61
 
#include "nsIComponentRegistrar.h"
62
 
#include "nsIProperties.h"
63
 
#include "nsDirectoryServiceDefs.h"
64
 
#include "nsILocalFile.h"
65
55
#include "nsIJSContextStack.h"
66
 
#include "nsXPCOM.h"
67
56
#include "nsEmbedString.h"
68
57
#include "jsapi.h"
69
58
#include "prmem.h"
 
59
#include "nsNetUtil.h"
70
60
 
71
61
#define PLUGIN_NAME "Adblock Plus " ABP_VERSION
72
 
#define ADBLOCKPLUS_CONTRACTID "@mozilla.org/adblockplus;1"
73
 
 
74
 
enum {CMD_PREFERENCES, CMD_LISTALL, CMD_TOGGLEENABLED, CMD_IMAGE, CMD_OBJECT, CMD_FRAME, CMD_SEPARATOR, CMD_TOOLBAR, CMD_STATUSBAR, NUM_COMMANDS};
75
 
enum {LABEL_CONTEXT_IMAGE, LABEL_CONTEXT_OBJECT, LABEL_CONTEXT_FRAME, NUM_LABELS};
76
 
 
77
 
class abpScriptable : public nsIXPCScriptable {
78
 
public:
79
 
  NS_DECL_ISUPPORTS
80
 
  NS_DECL_NSIXPCSCRIPTABLE
81
 
};
82
 
 
83
 
class abpListener : public nsIDOMEventListener {
 
62
 
 
63
enum {CMD_PREFERENCES, CMD_LISTALL, CMD_TOGGLEENABLED, CMD_REMOVE_WHITELIST, CMD_FRAME, CMD_OBJECT, CMD_MEDIA, CMD_IMAGE, CMD_SEPARATOR, CMD_TOOLBAR, CMD_STATUSBAR, NUM_COMMANDS};
 
64
 
 
65
class abpListener : public nsIDOMEventListener
 
66
{
84
67
public:
85
68
  NS_DECL_ISUPPORTS
86
69
  NS_DECL_NSIDOMEVENTLISTENER
87
70
};
88
71
 
89
 
class abpImgObserver : public imgIDecoderObserver {
 
72
class abpImgObserver : public imgIDecoderObserver
 
73
{
90
74
public:
91
75
  NS_DECL_ISUPPORTS
92
76
  NS_DECL_IMGIDECODEROBSERVER
93
77
  NS_DECL_IMGICONTAINEROBSERVER
94
78
};
95
79
 
96
 
class abpJSContextHolder {
 
80
class abpJSContextHolder
 
81
{
97
82
public:
98
83
  abpJSContextHolder();
99
84
  ~abpJSContextHolder();
129
114
    if (entries + 1 > bufSize) {
130
115
      bufSize += 8;
131
116
      if (buffer == nsnull)
132
 
        buffer = NS_STATIC_CAST(entryType*, PR_Malloc(bufSize * sizeof(entryType)));
 
117
        buffer = static_cast<entryType*>(PR_Malloc(bufSize * sizeof(entryType)));
133
118
      else
134
 
        buffer = NS_STATIC_CAST(entryType*, PR_Realloc(buffer, bufSize * sizeof(entryType)));
 
119
        buffer = static_cast<entryType*>(PR_Realloc(buffer, bufSize * sizeof(entryType)));
135
120
    }
136
121
 
137
122
    buffer[entries].used = PR_TRUE;
297
282
// initialization.cpp
298
283
extern abpToolbarDataList toolbarList;
299
284
extern abpStatusBarList statusbarList;
300
 
extern nsCOMPtr<nsIDOMWindowInternal> fakeBrowserWindow;
301
285
extern WORD cmdBase;
302
 
extern char labelValues[NUM_LABELS][100];
303
286
 
304
287
PRBool Load();
305
 
JSObject* GetComponentObject(JSContext* cx);
306
 
PRBool CreateFakeBrowserWindow(JSContext* cx, JSObject* parent, nsIPrincipal* systemPrincipal);
307
288
 
308
289
// jsdefs.cpp
309
 
extern JSFunctionSpec window_methods[];
310
 
extern JSPropertySpec window_properties[];
 
290
extern JSFunctionSpec module_functions[];
311
291
 
312
 
JSBool JS_DLL_CALLBACK JSAlert(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
313
 
JSBool JS_DLL_CALLBACK JSSetIcon(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
314
 
JSBool JS_DLL_CALLBACK JSHideStatusBar(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
315
 
JSBool JS_DLL_CALLBACK JSOpenTab(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
316
 
JSBool JS_DLL_CALLBACK JSResetContextMenu(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
317
 
JSBool JS_DLL_CALLBACK JSAddContextMenuItem(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
318
 
JSBool JS_DLL_CALLBACK JSCreateCommandID(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
319
 
JSBool JS_DLL_CALLBACK JSCreatePopupMenu(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
320
 
JSBool JS_DLL_CALLBACK JSAddMenuItem(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
321
 
JSBool JS_DLL_CALLBACK JSGetHWND(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
322
 
JSBool JS_DLL_CALLBACK JSSubclassDialogWindow(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
323
 
JSBool JS_DLL_CALLBACK JSAddRootListener(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
324
 
JSBool JS_DLL_CALLBACK JSRemoveRootListener(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
325
 
JSBool JS_DLL_CALLBACK JSFocusWindow(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
326
 
JSBool JS_DLL_CALLBACK JSSetTopmostWindow(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
327
 
JSBool JS_DLL_CALLBACK JSShowToolbarContext(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
328
 
JSBool JS_DLL_CALLBACK JSGetScriptable(JSContext *cx, JSObject *obj, jsval id, jsval *vp);
 
292
static JSBool JSAlert(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
293
static JSBool JSSetIcon(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
294
static JSBool JSHideStatusBar(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
295
static JSBool JSOpenTab(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
296
static JSBool JSResetContextMenu(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
297
static JSBool JSAddContextMenuItem(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
298
static JSBool JSCreateCommandID(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
299
static JSBool JSCreatePopupMenu(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
300
static JSBool JSAddMenuItem(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
301
static JSBool JSGetHWND(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
302
static JSBool JSSubclassDialogWindow(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
303
static JSBool JSAddRootListener(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
304
static JSBool JSRemoveRootListener(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
305
static JSBool JSFocusWindow(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
306
static JSBool JSSetTopmostWindow(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
 
307
static JSBool JSShowToolbarContext(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval);
329
308
 
330
309
// jstools.cpp
331
 
JS_STATIC_DLL_CALLBACK(void) Reporter(JSContext *cx, const char *message, JSErrorReport *rep);
 
310
static void Reporter(JSContext *cx, const char *message, JSErrorReport *rep);
332
311
 
333
312
// listener.cpp
334
313
extern nsCOMPtr<abpListener> listener;
335
314
 
336
315
// misc.cpp
337
 
JSObject* UnwrapJSObject(nsISupports* native);
 
316
typedef JSBool (*ArgsInitCallback)(JSContext* cx, JSObject* globalObj, jsval* args, void* data);
 
317
JSBool CallModuleMethod(char* methodName, uintN argc, jsval* argv, jsval* retval = nsnull, ArgsInitCallback callback = nsnull, void* data = nsnull);
338
318
nsISupports* UnwrapNative(JSContext* cx, JSObject* obj);
339
319
void OpenTab(const char* url, HWND hWnd);
340
320
void ShowContextMenu(HWND hWnd, PRBool status);
359
339
void LoadImage();
360
340
void DoneLoadingImage();
361
341
INT CommandByName(LPCSTR action);
362
 
 
363
 
// scriptable.cpp
364
 
extern nsCOMPtr<abpScriptable> scriptable;
365
 
 
366
 
// inline_scripts.cpp
367
 
extern char* includes[];