Thu, 15 Jan 2015 15:59:08 +0100
Implement a real Private Browsing Mode condition by changing the API/ABI;
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 EXPORTS += [
8 'ContentHelper.h',
9 'GfxDriverInfo.h',
10 'GfxInfoBase.h',
11 'GfxInfoCollector.h',
12 ]
14 UNIFIED_SOURCES += [
15 'ContentHelper.cpp',
16 'GfxDriverInfo.cpp',
17 'GfxInfoBase.cpp',
18 'GfxInfoCollector.cpp',
19 'GfxInfoWebGL.cpp',
20 'InputData.cpp',
21 'nsBaseAppShell.cpp',
22 'nsBaseDragService.cpp',
23 'nsBaseScreen.cpp',
24 'nsClipboardHelper.cpp',
25 'nsClipboardPrivacyHandler.cpp',
26 'nsClipboardProxy.cpp',
27 'nsColorPickerProxy.cpp',
28 'nsContentProcessWidgetFactory.cpp',
29 'nsFilePickerProxy.cpp',
30 'nsHTMLFormatConverter.cpp',
31 'nsIdleService.cpp',
32 'nsIWidgetListener.cpp',
33 'nsPrimitiveHelpers.cpp',
34 'nsPrintOptionsImpl.cpp',
35 'nsPrintSession.cpp',
36 'nsPrintSettingsImpl.cpp',
37 'nsTransferable.cpp',
38 'nsXPLookAndFeel.cpp',
39 'PuppetWidget.cpp',
40 'WidgetUtils.cpp',
41 ]
43 # nsBaseWidget.cpp needs to be built separately because of name clashes in the OS X headers
44 SOURCES += [
45 'nsBaseWidget.cpp',
46 ]
48 if CONFIG['MOZ_X11']:
49 UNIFIED_SOURCES += [
50 'GfxInfoX11.cpp'
51 ]
53 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'windows'):
54 UNIFIED_SOURCES += [
55 'nsBaseClipboard.cpp',
56 ]
58 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('qt', 'gtk2', 'gtk3', 'cocoa', 'windows',
59 'android', 'gonk'):
60 UNIFIED_SOURCES += [
61 'nsBaseFilePicker.cpp',
62 ]
64 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('qt', 'gtk2', 'gtk3', 'windows', 'cocoa'):
65 UNIFIED_SOURCES += [
66 'nsNativeTheme.cpp',
67 ]
69 if not CONFIG['MOZ_B2G']:
70 DEFINES['MOZ_CROSS_PROCESS_IME'] = True
72 MSVC_ENABLE_PGO = True
74 LIBRARY_NAME = 'xpwidgets_s'
76 include('/ipc/chromium/chromium-config.mozbuild')
78 LOCAL_INCLUDES += [
79 '../shared',
80 '/layout/base',
81 '/layout/forms',
82 '/layout/generic',
83 '/layout/xul',
84 '/view/src',
85 ]
87 widget_dir = CONFIG['MOZ_WIDGET_TOOLKIT']
88 if widget_dir in ('gtk3', 'gtk2'):
89 # gtk3 shares includes with gtk2
90 widget_dir = 'gtk'
92 LOCAL_INCLUDES += [
93 '../%s' % widget_dir,
94 ]
95 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
96 FINAL_LIBRARY = 'widget_mac'
97 elif CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gonk', 'android', 'qt', 'gtk2', 'gtk3'):
98 FINAL_LIBRARY = 'widget_%s' % CONFIG['MOZ_WIDGET_TOOLKIT']
100 if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
101 DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True