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',
69 'nsINativeMenuService.h',
72 TEST_DIRS += ['tests']
76 # Don't build the DSO under the 'build' directory as windows does.
78 # The DSOs get built in the toolkit dir itself. Do this so that
79 # multiple implementations of widget can be built on the same
82 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
89 'nsIGtkTaskbarProgress.idl',
90 'nsITaskbarProgress.idl',
96 'nsIBidiKeyboard.idl',
98 'nsIClipboardHelper.idl',
99 'nsIClipboardOwner.idl',
100 'nsIColorPicker.idl',
101 'nsIDisplayInfo.idl',
102 'nsIDragService.idl',
103 'nsIDragSession.idl',
105 'nsIFormatConverter.idl',
107 'nsIGfxInfoDebug.idl',
108 'nsIIdleService.idl',
109 'nsIIdleServiceInternal.idl',
110 'nsIPrinterEnumerator.idl',
111 'nsIPrintSession.idl',
112 'nsIPrintSettings.idl',
113 'nsIPrintSettingsService.idl',
115 'nsIScreenManager.idl',
117 'nsITransferable.idl',
120 XPIDL_MODULE = 'widget'
125 'GfxInfoCollector.h',
129 'nsIDeviceContextSpec.h',
130 'nsIKeyEventInPluginCallback.h',
132 'nsIPrintDialogService.h',
133 'nsIRollupListener.h',
135 'nsIWidgetListener.h',
136 'nsWidgetInitData.h',
148 'EventMessageList.h',
153 'TextEventDispatcher.h',
154 'TextEventDispatcherListener.h',
162 EXPORTS.mozilla.widget += [
163 'CompositorWidget.h',
165 'InProcessCompositorWidget.h',
167 'PuppetBidiKeyboard.h',
170 'WidgetMessageUtils.h',
175 'CompositorWidget.cpp',
179 'GfxInfoCollector.cpp',
180 'InProcessCompositorWidget.cpp',
183 'nsBaseAppShell.cpp',
185 'nsClipboardHelper.cpp',
186 'nsClipboardProxy.cpp',
187 'nsColorPickerProxy.cpp',
188 'nsContentProcessWidgetFactory.cpp',
189 'nsDragServiceProxy.cpp',
190 'nsFilePickerProxy.cpp',
191 'nsHTMLFormatConverter.cpp',
193 'nsIWidgetListener.cpp',
194 'nsPrimitiveHelpers.cpp',
195 'nsPrintSettingsImpl.cpp',
197 'nsTransferable.cpp',
198 'nsXPLookAndFeel.cpp',
199 'PuppetBidiKeyboard.cpp',
203 'SharedWidgetUtils.cpp',
204 'TextEventDispatcher.cpp',
205 'VsyncDispatcher.cpp',
206 'WidgetEventImpl.cpp',
210 if CONFIG['OS_ARCH'] == 'Linux':
211 EXPORTS.mozilla.widget += [
218 if CONFIG['MOZ_XUL'] and CONFIG['NS_PRINTING']:
220 'nsDeviceContextSpecProxy.h',
221 'nsPrintSettingsService.h',
224 'nsDeviceContextSpecProxy.cpp',
225 'nsPrintSession.cpp',
226 'nsPrintSettingsService.cpp',
229 # nsBaseWidget.cpp needs to be built separately because of name clashes in the OS X headers
230 # nsBaseDragService.cpp moved out of UNIFIED to fix xgill crash (bug 1259850) after moving widget/ContentHelper -> apz/util/TouchActionHelper
232 'nsBaseDragService.cpp',
236 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
238 'WidgetTraceEvent.h',
241 EXPORTS.ipc = ['nsGUIEventIPC.h']
243 if CONFIG['MOZ_X11']:
250 'WindowSurfaceX11SHM.cpp',
253 if toolkit == 'windows':
255 'PluginWidgetProxy.h',
258 'PluginWidgetProxy.cpp',
261 if toolkit in ('cocoa', 'windows'):
263 'nsBaseClipboard.cpp',
266 if toolkit in {'gtk3', 'cocoa', 'windows',
269 'nsBaseFilePicker.cpp',
272 if toolkit in ('gtk3', 'windows', 'cocoa', 'android'):
276 if toolkit == 'gtk3':
278 'nsIApplicationChooser.idl',
281 DEFINES['MOZ_CROSS_PROCESS_IME'] = True
283 include('/ipc/chromium/chromium-config.mozbuild')
298 if toolkit == 'windows':
300 'headless/HeadlessWidgetTypes.ipdlh',
301 'windows/PCompositorWidget.ipdl',
302 'windows/PlatformWidgetTypes.ipdlh',
304 elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] and CONFIG['MOZ_X11']:
306 'gtk/PCompositorWidget.ipdl',
307 'gtk/PlatformWidgetTypes.ipdlh',
308 'headless/HeadlessWidgetTypes.ipdlh',
312 'headless/HeadlessWidgetTypes.ipdlh',
313 'PCompositorWidget.ipdl',
314 'PlatformWidgetTypes.ipdlh',
318 if widget_dir == 'gtk3':
322 '/widget/%s' % widget_dir,
324 FINAL_LIBRARY = 'xul'
326 if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
327 DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True
329 CXXFLAGS += CONFIG['TK_CFLAGS']