Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 # -*- Mode: python; c-basic-offset: 4; 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/.
7 XPIDL_SOURCES += [
8 'gonk/nsIRecoveryService.idl',
9 ]
11 XPIDL_MODULE = 'hal'
13 EXPORTS.mozilla += [
14 'Hal.h',
15 'HalImpl.h',
16 'HalSandbox.h',
17 'HalScreenConfiguration.h',
18 'HalSensor.h',
19 'HalTypes.h',
20 'HalWakeLock.h',
21 ]
23 TEST_DIRS += ['tests']
24 UNIFIED_SOURCES += [
25 'HalWakeLock.cpp',
26 'sandbox/SandboxHal.cpp',
27 'WindowIdentifier.cpp',
28 ]
30 # Hal.cpp cannot be built in unified mode because it relies on HalImpl.h.
31 SOURCES += [
32 'Hal.cpp',
33 ]
35 if CONFIG['MOZ_GAMEPAD_BACKEND'] == 'stub':
36 UNIFIED_SOURCES += [
37 'fallback/FallbackGamepad.cpp'
38 ]
39 elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'cocoa':
40 UNIFIED_SOURCES += [
41 'cocoa/CocoaGamepad.cpp'
42 ]
43 elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'windows':
44 UNIFIED_SOURCES += [
45 'windows/WindowsGamepad.cpp'
46 ]
47 elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'linux':
48 UNIFIED_SOURCES += [
49 'linux/LinuxGamepad.cpp'
50 ]
52 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
53 UNIFIED_SOURCES += [
54 'android/AndroidSensor.cpp',
55 'fallback/FallbackAlarm.cpp',
56 'fallback/FallbackPower.cpp',
57 'linux/LinuxMemory.cpp',
58 ]
59 # AndroidHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
60 SOURCES += [
61 'android/AndroidHal.cpp',
62 ]
63 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
64 UNIFIED_SOURCES += [
65 'gonk/GonkDiskSpaceWatcher.cpp',
66 'gonk/GonkFMRadio.cpp',
67 'gonk/GonkSensor.cpp',
68 'gonk/GonkSwitch.cpp',
69 'gonk/UeventPoller.cpp',
70 'linux/LinuxMemory.cpp',
71 'linux/LinuxPower.cpp',
72 ]
73 # GonkHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
74 SOURCES += [
75 'gonk/GonkHal.cpp',
76 ]
77 elif CONFIG['OS_TARGET'] == 'Linux':
78 UNIFIED_SOURCES += [
79 'fallback/FallbackAlarm.cpp',
80 'fallback/FallbackScreenConfiguration.cpp',
81 'fallback/FallbackSensor.cpp',
82 'fallback/FallbackVibration.cpp',
83 'linux/LinuxMemory.cpp',
84 'linux/LinuxPower.cpp',
85 ]
86 if CONFIG['MOZ_ENABLE_DBUS']:
87 UNIFIED_SOURCES += [
88 'linux/UPowerClient.cpp',
89 ]
90 else:
91 UNIFIED_SOURCES += [
92 'fallback/FallbackBattery.cpp',
93 ]
94 elif CONFIG['OS_TARGET'] == 'WINNT':
95 UNIFIED_SOURCES += [
96 'fallback/FallbackAlarm.cpp',
97 'fallback/FallbackMemory.cpp',
98 'fallback/FallbackPower.cpp',
99 'fallback/FallbackScreenConfiguration.cpp',
100 'fallback/FallbackVibration.cpp',
101 'windows/WindowsSensor.cpp',
102 ]
103 # WindowsBattery.cpp cannot be built in unified mode because it relies on HalImpl.h.
104 SOURCES += [
105 'windows/WindowsBattery.cpp',
106 ]
107 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
108 UNIFIED_SOURCES += [
109 'cocoa/CocoaBattery.cpp',
110 'fallback/FallbackAlarm.cpp',
111 'fallback/FallbackMemory.cpp',
112 'fallback/FallbackPower.cpp',
113 'fallback/FallbackScreenConfiguration.cpp',
114 'fallback/FallbackVibration.cpp',
115 ]
116 elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
117 UNIFIED_SOURCES += [
118 'fallback/FallbackAlarm.cpp',
119 'fallback/FallbackMemory.cpp',
120 'fallback/FallbackPower.cpp',
121 'fallback/FallbackScreenConfiguration.cpp',
122 'fallback/FallbackSensor.cpp',
123 'fallback/FallbackVibration.cpp',
124 ]
125 if CONFIG['MOZ_ENABLE_DBUS']:
126 UNIFIED_SOURCES += [
127 'linux/UPowerClient.cpp',
128 ]
129 else:
130 UNIFIED_SOURCES += [
131 'fallback/FallbackBattery.cpp',
132 ]
133 else:
134 UNIFIED_SOURCES += [
135 'fallback/FallbackAlarm.cpp',
136 'fallback/FallbackBattery.cpp',
137 'fallback/FallbackMemory.cpp',
138 'fallback/FallbackPower.cpp',
139 'fallback/FallbackScreenConfiguration.cpp',
140 'fallback/FallbackSensor.cpp',
141 'fallback/FallbackVibration.cpp',
142 ]
144 # Fallbacks for backends implemented on Gonk only.
145 if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
146 UNIFIED_SOURCES += [
147 'fallback/FallbackDiskSpaceWatcher.cpp',
148 'fallback/FallbackFactoryReset.cpp',
149 'fallback/FallbackFMRadio.cpp',
150 'fallback/FallbackLights.cpp',
151 'fallback/FallbackProcessPriority.cpp',
152 'fallback/FallbackScreenPower.cpp',
153 'fallback/FallbackSwitch.cpp',
154 'fallback/FallbackTime.cpp',
155 'fallback/FallbackWakeLocks.cpp',
156 ]
158 # Fallbacks for backends implemented on Android only.
159 if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
160 UNIFIED_SOURCES += [
161 'fallback/FallbackNetwork.cpp',
162 ]
164 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
165 UNIFIED_SOURCES += [
166 'cocoa/CocoaSensor.mm',
167 'cocoa/smslib.mm',
168 ]
170 IPDL_SOURCES = [
171 'sandbox/PHal.ipdl',
172 ]
174 FAIL_ON_WARNINGS = True
176 include('/ipc/chromium/chromium-config.mozbuild')
178 FINAL_LIBRARY = 'xul'
180 if CONFIG['MOZ_GAMEPAD']:
181 LOCAL_INCLUDES += [
182 '/dom/base',
183 ]
185 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
186 # So that we can call nsScreenManagerGonk::GetConfiguration().
187 LOCAL_INCLUDES += [
188 '/widget/gonk',
189 '/widget/xpwidgets'
190 ]
192 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
193 CXXFLAGS += ['-I%s/hardware/libhardware_legacy/include' % CONFIG['ANDROID_SOURCE']]