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: Cocoa")
9 SCHEDULES.exclusive = ["macosx"]
11 with Files("*TextInput*"):
12 BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
15 "nsPIWidgetCocoa.idl",
18 XPIDL_MODULE = "widget_cocoa"
22 "DesktopBackgroundImage.h",
23 "MediaHardwareKeysEventSourceMac.h",
24 "MediaHardwareKeysEventSourceMacMediaCenter.h",
34 "AppearanceOverride.mm",
37 "MOZMenuOpeningCoordinator.mm",
38 "NativeKeyBindings.mm",
40 "NativeMenuSupport.mm",
48 "nsDeviceContextSpecX.mm",
52 "nsMacDockSupport.mm",
53 "nsMacFinderProgress.mm",
54 "nsMacSharingService.mm",
55 "nsMacUserActivityUpdater.mm",
56 "nsMacWebAppUtils.mm",
58 "nsMenuGroupOwnerX.mm",
64 "nsPrintSettingsServiceX.mm",
65 "nsPrintSettingsX.mm",
67 "nsStandaloneNativeMenu.mm",
68 "nsSystemStatusBarCocoa.mm",
72 "nsTouchBarInputIcon.mm",
73 "nsTouchBarUpdater.mm",
74 "nsUserIdleServiceX.mm",
77 "OSXNotificationCenter.mm",
78 "ScreenHelperCocoa.mm",
79 "TextInputHandler.mm",
82 "WidgetTraceEvent.mm",
85 # These files cannot be built in unified mode because they cause symbol conflicts
87 "DesktopBackgroundImage.mm",
88 "MediaHardwareKeysEventSourceMac.mm",
89 "MediaHardwareKeysEventSourceMacMediaCenter.mm",
90 "MediaKeysEventSourceFactory.cpp",
94 "nsNativeThemeCocoa.mm",
97 if not CONFIG["RELEASE_OR_BETA"] or CONFIG["MOZ_DEBUG"]:
99 "nsSandboxViolationSink.mm",
106 include("/ipc/chromium/chromium-config.mozbuild")
108 FINAL_LIBRARY = "xul"
111 "/dom/media/platforms/apple",
121 if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
122 # Skia includes because widget code includes PrintTargetSkPDF.h, and that
123 # includes skia headers.
124 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
126 RESOURCE_FILES.cursors += [
127 "cursors/arrowN.png",
128 "cursors/arrowN@2x.png",
129 "cursors/arrowS.png",
130 "cursors/arrowS@2x.png",
132 "cursors/cell@2x.png",
133 "cursors/colResize.png",
134 "cursors/colResize@2x.png",
136 "cursors/help@2x.png",
138 "cursors/move@2x.png",
139 "cursors/rowResize.png",
140 "cursors/rowResize@2x.png",
141 "cursors/sizeNE.png",
142 "cursors/sizeNE@2x.png",
143 "cursors/sizeNESW.png",
144 "cursors/sizeNESW@2x.png",
145 "cursors/sizeNS.png",
146 "cursors/sizeNS@2x.png",
147 "cursors/sizeNW.png",
148 "cursors/sizeNW@2x.png",
149 "cursors/sizeNWSE.png",
150 "cursors/sizeNWSE@2x.png",
151 "cursors/sizeSE.png",
152 "cursors/sizeSE@2x.png",
153 "cursors/sizeSW.png",
154 "cursors/sizeSW@2x.png",
155 "cursors/vtIBeam.png",
156 "cursors/vtIBeam@2x.png",
157 "cursors/zoomIn.png",
158 "cursors/zoomIn@2x.png",
159 "cursors/zoomOut.png",
160 "cursors/zoomOut@2x.png",
163 # These resources go in $(DIST)/bin/res/MainMenu.nib, but we can't use a magic
164 # RESOURCE_FILES.MainMenu.nib attribute, since that would put the files in
165 # $(DIST)/bin/res/MainMenu/nib. Instead, we call __setattr__ directly to create
166 # an attribute with the correct name.
167 RESOURCE_FILES.__setattr__(
170 "resources/MainMenu.nib/classes.nib",
171 "resources/MainMenu.nib/info.nib",
172 "resources/MainMenu.nib/keyedobjects.nib",
177 "-framework IOSurface",
180 SPHINX_TREES["/widget/cocoa"] = "docs"
182 REQUIRES_UNIFIED_BUILD = True