1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 BUG_COMPONENT = ("Core", "Widget")
10 with Files("crashtests/*1128214*"):
11 BUG_COMPONENT = ("Core", "Layout")
13 with Files("crashtests/*303901*"):
14 BUG_COMPONENT = ("Core", "Graphics")
16 with Files("crashtests/*380359*"):
17 BUG_COMPONENT = ("Core", "Widget")
19 with Files("reftests/**"):
20 BUG_COMPONENT = ("Core", "Widget: Cocoa")
22 with Files("reftests/*fallback*"):
23 BUG_COMPONENT = ("Core", "Layout: Form Controls")
25 with Files("*CompositorWidget*"):
26 BUG_COMPONENT = ("Core", "Graphics")
29 BUG_COMPONENT = ("Core", "Graphics")
31 with Files("*WindowSurface*"):
32 BUG_COMPONENT = ("Core", "Graphics")
34 with Files("*FontRange*"):
35 BUG_COMPONENT = ("Core", "Widget: Cocoa")
37 toolkit = CONFIG['MOZ_WIDGET_TOOLKIT']
39 if toolkit in ('cocoa', 'android', 'uikit'):
42 if toolkit == 'windows':
46 'nsIJumpListBuilder.idl',
47 'nsIJumpListItem.idl',
48 'nsIPrintSettingsWin.idl',
49 'nsITaskbarOverlayIconController.idl',
50 'nsITaskbarPreview.idl',
51 'nsITaskbarPreviewButton.idl',
52 'nsITaskbarPreviewController.idl',
53 'nsITaskbarProgress.idl',
54 'nsITaskbarTabPreview.idl',
55 'nsITaskbarWindowPreview.idl',
56 'nsIWindowsUIUtils.idl',
59 elif toolkit == 'cocoa':
61 'nsIMacDockSupport.idl',
62 'nsIMacSharingService.idl',
63 'nsIMacWebAppUtils.idl',
64 'nsIStandaloneNativeMenu.idl',
65 'nsISystemStatusBar.idl',
66 'nsITaskbarProgress.idl',
67 'nsITouchBarHelper.idl',
68 'nsITouchBarInput.idl',
69 'nsITouchBarUpdater.idl',
72 'nsINativeMenuService.h',
75 TEST_DIRS += ['tests']
79 # Don't build the DSO under the 'build' directory as windows does.
81 # The DSOs get built in the toolkit dir itself. Do this so that
82 # multiple implementations of widget can be built on the same
85 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
92 'nsIGtkTaskbarProgress.idl',
93 'nsITaskbarProgress.idl',
99 'nsIBidiKeyboard.idl',
101 'nsIClipboardHelper.idl',
102 'nsIClipboardOwner.idl',
103 'nsIColorPicker.idl',
104 'nsIDisplayInfo.idl',
105 'nsIDragService.idl',
106 'nsIDragSession.idl',
108 'nsIFormatConverter.idl',
110 'nsIGfxInfoDebug.idl',
111 'nsIIdleService.idl',
112 'nsIIdleServiceInternal.idl',
113 'nsIPrinterEnumerator.idl',
114 'nsIPrintSession.idl',
115 'nsIPrintSettings.idl',
116 'nsIPrintSettingsService.idl',
118 'nsIScreenManager.idl',
120 'nsITransferable.idl',
123 XPIDL_MODULE = 'widget'
128 'GfxInfoCollector.h',
132 'nsIDeviceContextSpec.h',
133 'nsIKeyEventInPluginCallback.h',
135 'nsIPrintDialogService.h',
136 'nsIRollupListener.h',
138 'nsIWidgetListener.h',
139 'nsWidgetInitData.h',
151 'EventMessageList.h',
156 'TextEventDispatcher.h',
157 'TextEventDispatcherListener.h',
165 EXPORTS.mozilla.widget += [
166 'CompositorWidget.h',
168 'InProcessCompositorWidget.h',
170 'PuppetBidiKeyboard.h',
173 'WidgetMessageUtils.h',
178 'CompositorWidget.cpp',
182 'GfxInfoCollector.cpp',
183 'InProcessCompositorWidget.cpp',
186 'nsBaseAppShell.cpp',
188 'nsClipboardHelper.cpp',
189 'nsClipboardProxy.cpp',
190 'nsColorPickerProxy.cpp',
191 'nsContentProcessWidgetFactory.cpp',
192 'nsDragServiceProxy.cpp',
193 'nsFilePickerProxy.cpp',
194 'nsHTMLFormatConverter.cpp',
196 'nsIWidgetListener.cpp',
197 'nsPrimitiveHelpers.cpp',
198 'nsPrintSettingsImpl.cpp',
200 'nsTransferable.cpp',
201 'nsXPLookAndFeel.cpp',
202 'PuppetBidiKeyboard.cpp',
206 'SharedWidgetUtils.cpp',
207 'TextEventDispatcher.cpp',
208 'VsyncDispatcher.cpp',
209 'WidgetEventImpl.cpp',
213 if CONFIG['OS_ARCH'] == 'Linux':
214 EXPORTS.mozilla.widget += [
221 if CONFIG['MOZ_XUL'] and CONFIG['NS_PRINTING']:
223 'nsDeviceContextSpecProxy.h',
224 'nsPrintSettingsService.h',
227 'nsDeviceContextSpecProxy.cpp',
228 'nsPrintSession.cpp',
229 'nsPrintSettingsService.cpp',
232 # nsBaseWidget.cpp needs to be built separately because of name clashes in the OS X headers
233 # nsBaseDragService.cpp moved out of UNIFIED to fix xgill crash (bug 1259850) after moving widget/ContentHelper -> apz/util/TouchActionHelper
235 'nsBaseDragService.cpp',
239 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
241 'WidgetTraceEvent.h',
244 EXPORTS.ipc = ['nsGUIEventIPC.h']
246 if CONFIG['MOZ_X11']:
253 'WindowSurfaceX11SHM.cpp',
256 if toolkit == 'windows':
258 'PluginWidgetProxy.h',
261 'PluginWidgetProxy.cpp',
264 if toolkit in ('cocoa', 'windows'):
266 'nsBaseClipboard.cpp',
269 if toolkit in {'gtk3', 'cocoa', 'windows',
272 'nsBaseFilePicker.cpp',
275 if toolkit in ('gtk3', 'windows', 'cocoa', 'android'):
279 if toolkit == 'gtk3':
281 'nsIApplicationChooser.idl',
284 DEFINES['MOZ_CROSS_PROCESS_IME'] = True
286 include('/ipc/chromium/chromium-config.mozbuild')
302 if toolkit == 'windows':
304 'headless/HeadlessWidgetTypes.ipdlh',
305 'windows/PCompositorWidget.ipdl',
306 'windows/PlatformWidgetTypes.ipdlh',
308 elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] and CONFIG['MOZ_X11']:
310 'gtk/PCompositorWidget.ipdl',
311 'gtk/PlatformWidgetTypes.ipdlh',
312 'headless/HeadlessWidgetTypes.ipdlh',
316 'headless/HeadlessWidgetTypes.ipdlh',
317 'PCompositorWidget.ipdl',
318 'PlatformWidgetTypes.ipdlh',
322 if widget_dir == 'gtk3':
326 '/widget/%s' % widget_dir,
328 FINAL_LIBRARY = 'xul'
330 if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
331 DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True
333 CXXFLAGS += CONFIG['TK_CFLAGS']