Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /* vim:expandtab:shiftwidth=4:tabstop=4:
3 : */
4 : /* This Source Code Form is subject to the terms of the Mozilla Public
5 : * License, v. 2.0. If a copy of the MPL was not distributed with this
6 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 :
8 : #include "mozilla/ModuleUtils.h"
9 : #include "nsWidgetsCID.h"
10 : #include "nsClipboardProxy.h"
11 : #include "nsColorPickerProxy.h"
12 : #include "nsDragServiceProxy.h"
13 : #include "nsFilePickerProxy.h"
14 : #include "mozilla/widget/PuppetBidiKeyboard.h"
15 : #include "mozilla/widget/ScreenManager.h"
16 :
17 : using namespace mozilla;
18 : using namespace mozilla::widget;
19 :
20 : #ifndef MOZ_WIDGET_GONK
21 :
22 4 : NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardProxy)
23 0 : NS_GENERIC_FACTORY_CONSTRUCTOR(nsColorPickerProxy)
24 0 : NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragServiceProxy)
25 0 : NS_GENERIC_FACTORY_CONSTRUCTOR(nsFilePickerProxy)
26 4 : NS_GENERIC_FACTORY_CONSTRUCTOR(PuppetBidiKeyboard)
27 2 : NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ScreenManager, ScreenManager::GetAddRefedSingleton)
28 :
29 : NS_DEFINE_NAMED_CID(NS_CLIPBOARD_CID);
30 : NS_DEFINE_NAMED_CID(NS_COLORPICKER_CID);
31 : NS_DEFINE_NAMED_CID(NS_DRAGSERVICE_CID);
32 : NS_DEFINE_NAMED_CID(NS_FILEPICKER_CID);
33 : NS_DEFINE_NAMED_CID(PUPPETBIDIKEYBOARD_CID);
34 : NS_DEFINE_NAMED_CID(NS_SCREENMANAGER_CID);
35 :
36 : static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
37 : { &kNS_CLIPBOARD_CID, false, nullptr, nsClipboardProxyConstructor,
38 : Module::CONTENT_PROCESS_ONLY },
39 : { &kNS_COLORPICKER_CID, false, nullptr, nsColorPickerProxyConstructor,
40 : Module::CONTENT_PROCESS_ONLY },
41 : { &kNS_DRAGSERVICE_CID, false, nullptr, nsDragServiceProxyConstructor,
42 : Module::CONTENT_PROCESS_ONLY },
43 : { &kNS_FILEPICKER_CID, false, nullptr, nsFilePickerProxyConstructor,
44 : Module::CONTENT_PROCESS_ONLY },
45 : { &kPUPPETBIDIKEYBOARD_CID, false, NULL, PuppetBidiKeyboardConstructor,
46 : Module::CONTENT_PROCESS_ONLY },
47 : { &kNS_SCREENMANAGER_CID, false, nullptr, ScreenManagerConstructor,
48 : Module::CONTENT_PROCESS_ONLY },
49 : { nullptr }
50 : };
51 :
52 : static const mozilla::Module::ContractIDEntry kWidgetContracts[] = {
53 : { "@mozilla.org/widget/clipboard;1", &kNS_CLIPBOARD_CID, Module::CONTENT_PROCESS_ONLY },
54 : { "@mozilla.org/colorpicker;1", &kNS_COLORPICKER_CID, Module::CONTENT_PROCESS_ONLY },
55 : { "@mozilla.org/filepicker;1", &kNS_FILEPICKER_CID, Module::CONTENT_PROCESS_ONLY },
56 : { "@mozilla.org/gfx/screenmanager;1", &kNS_SCREENMANAGER_CID, Module::CONTENT_PROCESS_ONLY },
57 : { "@mozilla.org/widget/dragservice;1", &kNS_DRAGSERVICE_CID, Module::CONTENT_PROCESS_ONLY },
58 : { "@mozilla.org/widget/bidikeyboard;1", &kPUPPETBIDIKEYBOARD_CID,
59 : Module::CONTENT_PROCESS_ONLY },
60 : { nullptr }
61 : };
62 :
63 : static const mozilla::Module kWidgetModule = {
64 : mozilla::Module::kVersion,
65 : kWidgetCIDs,
66 : kWidgetContracts
67 : };
68 :
69 : NSMODULE_DEFN(nsContentProcessWidgetModule) = &kWidgetModule;
70 :
71 : #endif /* MOZ_WIDGET_GONK */
|