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',
131 'nsBaseDragService.h',
132 'nsBaseFilePicker.h',
135 'nsIDeviceContextSpec.h',
137 'nsIKeyEventInPluginCallback.h',
139 'nsIPrintDialogService.h',
140 'nsIRollupListener.h',
142 'nsIWidgetListener.h',
143 'nsWidgetInitData.h',
155 'EventMessageList.h',
161 'TextEventDispatcher.h',
162 'TextEventDispatcherListener.h',
170 EXPORTS.mozilla.widget += [
171 'CompositorWidget.h',
173 'InProcessCompositorWidget.h',
175 'PuppetBidiKeyboard.h',
178 'WidgetMessageUtils.h',
183 'CompositorWidget.cpp',
187 'GfxInfoCollector.cpp',
188 'InProcessCompositorWidget.cpp',
191 'nsBaseAppShell.cpp',
193 'nsClipboardHelper.cpp',
194 'nsClipboardProxy.cpp',
195 'nsColorPickerProxy.cpp',
196 'nsContentProcessWidgetFactory.cpp',
197 'nsDragServiceProxy.cpp',
198 'nsFilePickerProxy.cpp',
199 'nsHTMLFormatConverter.cpp',
201 'nsIWidgetListener.cpp',
202 'nsPrimitiveHelpers.cpp',
203 'nsPrintSettingsImpl.cpp',
205 'nsTransferable.cpp',
206 'nsXPLookAndFeel.cpp',
207 'PuppetBidiKeyboard.cpp',
211 'SharedWidgetUtils.cpp',
212 'TextEventDispatcher.cpp',
213 'VsyncDispatcher.cpp',
214 'WidgetEventImpl.cpp',
218 if CONFIG['OS_ARCH'] == 'Linux':
219 EXPORTS.mozilla.widget += [
226 if CONFIG['MOZ_XUL'] and CONFIG['NS_PRINTING']:
228 'nsDeviceContextSpecProxy.h',
229 'nsPrintSettingsService.h',
232 'nsDeviceContextSpecProxy.cpp',
233 'nsPrintSession.cpp',
234 'nsPrintSettingsService.cpp',
237 # nsBaseWidget.cpp needs to be built separately because of name clashes in the OS X headers
238 # nsBaseDragService.cpp moved out of UNIFIED to fix xgill crash (bug 1259850) after moving widget/ContentHelper -> apz/util/TouchActionHelper
240 'nsBaseDragService.cpp',
244 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
246 'WidgetTraceEvent.h',
249 EXPORTS.ipc = ['nsGUIEventIPC.h']
251 if CONFIG['MOZ_X11']:
256 'WindowSurfaceX11SHM.cpp',
259 if toolkit == 'windows':
261 'PluginWidgetProxy.h',
264 'PluginWidgetProxy.cpp',
267 if toolkit in ('cocoa', 'windows'):
269 'nsBaseClipboard.cpp',
272 if toolkit in {'gtk3', 'cocoa', 'windows',
275 'nsBaseFilePicker.cpp',
278 if toolkit in ('gtk3', 'windows', 'cocoa', 'android'):
282 if toolkit == 'gtk3':
284 'nsIApplicationChooser.idl',
287 DEFINES['MOZ_CROSS_PROCESS_IME'] = True
289 include('/ipc/chromium/chromium-config.mozbuild')
305 if toolkit == 'windows':
307 'headless/HeadlessWidgetTypes.ipdlh',
308 'windows/PCompositorWidget.ipdl',
309 'windows/PlatformWidgetTypes.ipdlh',
311 elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] and CONFIG['MOZ_X11']:
313 'gtk/PCompositorWidget.ipdl',
314 'gtk/PlatformWidgetTypes.ipdlh',
315 'headless/HeadlessWidgetTypes.ipdlh',
319 'headless/HeadlessWidgetTypes.ipdlh',
320 'PCompositorWidget.ipdl',
321 'PlatformWidgetTypes.ipdlh',
325 if widget_dir == 'gtk3':
329 '/widget/%s' % widget_dir,
331 FINAL_LIBRARY = 'xul'
333 if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
334 DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True
336 CXXFLAGS += CONFIG['TK_CFLAGS']