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 'nsIMacFinderProgress.idl',
63 'nsIMacSharingService.idl',
64 'nsIMacWebAppUtils.idl',
65 'nsIStandaloneNativeMenu.idl',
66 'nsISystemStatusBar.idl',
67 'nsITaskbarProgress.idl',
68 'nsITouchBarHelper.idl',
69 'nsITouchBarInput.idl',
70 'nsITouchBarUpdater.idl',
73 'nsINativeMenuService.h',
83 # Don't build the DSO under the 'build' directory as windows does.
85 # The DSOs get built in the toolkit dir itself. Do this so that
86 # multiple implementations of widget can be built on the same
89 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
93 'nsIGtkTaskbarProgress.idl',
94 'nsITaskbarProgress.idl',
100 'nsIBidiKeyboard.idl',
102 'nsIClipboardHelper.idl',
103 'nsIClipboardOwner.idl',
104 'nsIColorPicker.idl',
105 'nsIDisplayInfo.idl',
106 'nsIDragService.idl',
107 'nsIDragSession.idl',
109 'nsIFormatConverter.idl',
111 'nsIGfxInfoDebug.idl',
113 'nsIPaperMargin.idl',
115 'nsIPrinterList.idl',
116 'nsIPrintSession.idl',
117 'nsIPrintSettings.idl',
118 'nsIPrintSettingsService.idl',
120 'nsIScreenManager.idl',
121 'nsISharePicker.idl',
123 'nsITransferable.idl',
124 'nsIUserIdleService.idl',
125 'nsIUserIdleServiceInternal.idl',
128 XPIDL_MODULE = 'widget'
133 'GfxInfoCollector.h',
136 'nsBaseDragService.h',
137 'nsBaseFilePicker.h',
140 'nsIDeviceContextSpec.h',
141 'nsIKeyEventInPluginCallback.h',
143 'nsIPrintDialogService.h',
144 'nsIRollupListener.h',
146 'nsIWidgetListener.h',
147 'nsUserIdleService.h',
148 'nsWidgetInitData.h',
160 'EventMessageList.h',
166 'TextEventDispatcher.h',
167 'TextEventDispatcherListener.h',
175 EXPORTS.mozilla.widget += [
176 'CompositorWidget.h',
178 'InProcessCompositorWidget.h',
179 'MediaKeysEventSourceFactory.h',
181 'PuppetBidiKeyboard.h',
184 'WidgetMessageUtils.h',
189 'CompositorWidget.cpp',
193 'GfxInfoCollector.cpp',
195 'InProcessCompositorWidget.cpp',
198 'nsBaseAppShell.cpp',
200 'nsClipboardHelper.cpp',
201 'nsClipboardProxy.cpp',
202 'nsColorPickerProxy.cpp',
203 'nsContentProcessWidgetFactory.cpp',
204 'nsDragServiceProxy.cpp',
205 'nsFilePickerProxy.cpp',
206 'nsHTMLFormatConverter.cpp',
207 'nsIWidgetListener.cpp',
208 'nsNativeBasicTheme.cpp',
209 'nsPrimitiveHelpers.cpp',
210 'nsPrintSettingsImpl.cpp',
212 'nsTransferable.cpp',
213 'nsUserIdleService.cpp',
214 'nsXPLookAndFeel.cpp',
215 'PuppetBidiKeyboard.cpp',
218 'SharedWidgetUtils.cpp',
219 'TextEventDispatcher.cpp',
220 'VsyncDispatcher.cpp',
221 'WidgetEventImpl.cpp',
225 if CONFIG['OS_ARCH'] == 'Linux':
226 EXPORTS.mozilla.widget += [
233 if CONFIG['MOZ_XUL'] and CONFIG['NS_PRINTING']:
235 'nsDeviceContextSpecProxy.h',
236 'nsPrintSettingsService.h',
239 'nsDeviceContextSpecProxy.cpp',
243 'nsPrintSession.cpp',
244 'nsPrintSettingsService.cpp',
247 if toolkit in ('cocoa', 'gtk'):
249 'CUPSPrinterList.cpp',
254 # GTK still uses nsPrinter for PS printers.
260 # nsBaseWidget.cpp needs to be built separately because of name clashes in the OS X headers
261 # nsBaseDragService.cpp moved out of UNIFIED to fix xgill crash (bug 1259850) after moving widget/ContentHelper -> apz/util/TouchActionHelper
263 'nsBaseDragService.cpp',
268 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
270 'WidgetTraceEvent.h',
273 EXPORTS.ipc = ['nsGUIEventIPC.h']
275 if CONFIG['MOZ_X11']:
280 'WindowSurfaceX11SHM.cpp',
283 if toolkit == 'windows':
285 'PluginWidgetProxy.h',
288 'PluginWidgetProxy.cpp',
291 if toolkit in ('cocoa', 'windows'):
293 'nsBaseClipboard.cpp',
296 if toolkit in {'gtk', 'cocoa', 'windows',
299 'nsBaseFilePicker.cpp',
302 if toolkit in ('gtk', 'windows', 'cocoa', 'android'):
308 'nsIApplicationChooser.idl',
311 DEFINES['MOZ_CROSS_PROCESS_IME'] = True
313 include('/ipc/chromium/chromium-config.mozbuild')
330 # We use the CUPS headers on Cocoa and GTK, but on GTK we don't depend on there being system headers.
333 '/third_party/cups/include'
336 if toolkit == 'windows':
338 'headless/HeadlessWidgetTypes.ipdlh',
339 'windows/PCompositorWidget.ipdl',
340 'windows/PlatformWidgetTypes.ipdlh',
342 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk' and CONFIG['MOZ_X11']:
344 'gtk/PCompositorWidget.ipdl',
345 'gtk/PlatformWidgetTypes.ipdlh',
346 'headless/HeadlessWidgetTypes.ipdlh',
350 'headless/HeadlessWidgetTypes.ipdlh',
351 'PCompositorWidget.ipdl',
352 'PlatformWidgetTypes.ipdlh',
356 '/widget/%s' % toolkit,
358 FINAL_LIBRARY = 'xul'
360 if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
361 DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True
363 CXXFLAGS += CONFIG['TK_CFLAGS']
364 if CONFIG['MOZ_WAYLAND']:
365 CXXFLAGS += CONFIG['MOZ_WAYLAND_CFLAGS']