Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
michael@0 | 1 | # |
michael@0 | 2 | # This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
michael@0 | 5 | |
michael@0 | 6 | ifneq (,$(filter automation/%,$(MAKECMDGOALS))) |
michael@0 | 7 | ifeq (4.0,$(firstword $(sort 4.0 $(MAKE_VERSION)))) |
michael@0 | 8 | MAKEFLAGS += --output-sync=target |
michael@0 | 9 | else |
michael@0 | 10 | .NOTPARALLEL: |
michael@0 | 11 | endif |
michael@0 | 12 | endif |
michael@0 | 13 | |
michael@0 | 14 | include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk |
michael@0 | 15 | |
michael@0 | 16 | # Log file from the 'make upload' step. We need this to parse out the URLs of |
michael@0 | 17 | # the uploaded files. |
michael@0 | 18 | AUTOMATION_UPLOAD_OUTPUT = $(DIST)/automation-upload.txt |
michael@0 | 19 | |
michael@0 | 20 | # Helper variables to convert from MOZ_AUTOMATION_* variables to the |
michael@0 | 21 | # corresponding the make target |
michael@0 | 22 | tier_BUILD_SYMBOLS = buildsymbols |
michael@0 | 23 | tier_L10N_CHECK = l10n-check |
michael@0 | 24 | tier_PRETTY_L10N_CHECK = pretty-l10n-check |
michael@0 | 25 | tier_INSTALLER = installer |
michael@0 | 26 | tier_PRETTY_INSTALLER = pretty-installer |
michael@0 | 27 | tier_PACKAGE = package |
michael@0 | 28 | tier_PRETTY_PACKAGE = pretty-package |
michael@0 | 29 | tier_PACKAGE_TESTS = package-tests |
michael@0 | 30 | tier_PRETTY_PACKAGE_TESTS = pretty-package-tests |
michael@0 | 31 | tier_UPDATE_PACKAGING = update-packaging |
michael@0 | 32 | tier_PRETTY_UPDATE_PACKAGING = pretty-update-packaging |
michael@0 | 33 | tier_UPLOAD_SYMBOLS = uploadsymbols |
michael@0 | 34 | tier_UPLOAD = upload |
michael@0 | 35 | |
michael@0 | 36 | # Automation build steps. Everything in MOZ_AUTOMATION_TIERS also gets used in |
michael@0 | 37 | # TIERS for mach display. As such, the MOZ_AUTOMATION_TIERS are roughly sorted |
michael@0 | 38 | # here in the order that they will be executed (since mach doesn't know of the |
michael@0 | 39 | # dependencies between them). |
michael@0 | 40 | moz_automation_symbols = \ |
michael@0 | 41 | PACKAGE_TESTS \ |
michael@0 | 42 | PRETTY_PACKAGE_TESTS \ |
michael@0 | 43 | BUILD_SYMBOLS \ |
michael@0 | 44 | UPLOAD_SYMBOLS \ |
michael@0 | 45 | PACKAGE \ |
michael@0 | 46 | PRETTY_PACKAGE \ |
michael@0 | 47 | INSTALLER \ |
michael@0 | 48 | PRETTY_INSTALLER \ |
michael@0 | 49 | UPDATE_PACKAGING \ |
michael@0 | 50 | PRETTY_UPDATE_PACKAGING \ |
michael@0 | 51 | L10N_CHECK \ |
michael@0 | 52 | PRETTY_L10N_CHECK \ |
michael@0 | 53 | UPLOAD \ |
michael@0 | 54 | $(NULL) |
michael@0 | 55 | MOZ_AUTOMATION_TIERS := $(foreach sym,$(moz_automation_symbols),$(if $(filter 1,$(MOZ_AUTOMATION_$(sym))),$(tier_$(sym)))) |
michael@0 | 56 | |
michael@0 | 57 | # Dependencies between automation build steps |
michael@0 | 58 | automation/uploadsymbols: automation/buildsymbols |
michael@0 | 59 | |
michael@0 | 60 | automation/update-packaging: automation/package |
michael@0 | 61 | automation/pretty-update-packaging: automation/pretty-package |
michael@0 | 62 | automation/pretty-update-packaging: automation/pretty-installer |
michael@0 | 63 | |
michael@0 | 64 | automation/l10n-check: automation/package |
michael@0 | 65 | automation/l10n-check: automation/installer |
michael@0 | 66 | automation/pretty-l10n-check: automation/pretty-package |
michael@0 | 67 | automation/pretty-l10n-check: automation/pretty-installer |
michael@0 | 68 | |
michael@0 | 69 | automation/upload: automation/installer |
michael@0 | 70 | automation/upload: automation/package |
michael@0 | 71 | automation/upload: automation/package-tests |
michael@0 | 72 | automation/upload: automation/buildsymbols |
michael@0 | 73 | automation/upload: automation/update-packaging |
michael@0 | 74 | |
michael@0 | 75 | # automation/{pretty-}package should depend on build (which is implicit due to |
michael@0 | 76 | # the way client.mk invokes automation/build), but buildsymbols changes the |
michael@0 | 77 | # binaries/libs, and that's what we package/test. |
michael@0 | 78 | automation/pretty-package: automation/buildsymbols |
michael@0 | 79 | |
michael@0 | 80 | # The 'pretty' versions of targets run before the regular ones to avoid |
michael@0 | 81 | # conflicts in writing to the same files. |
michael@0 | 82 | automation/installer: automation/pretty-installer |
michael@0 | 83 | automation/package: automation/pretty-package |
michael@0 | 84 | automation/package-tests: automation/pretty-package-tests |
michael@0 | 85 | automation/l10n-check: automation/pretty-l10n-check |
michael@0 | 86 | automation/update-packaging: automation/pretty-update-packaging |
michael@0 | 87 | |
michael@0 | 88 | automation/build: $(addprefix automation/,$(MOZ_AUTOMATION_TIERS)) |
michael@0 | 89 | $(PYTHON) $(topsrcdir)/build/gen_mach_buildprops.py --complete-mar-file $(DIST)/$(COMPLETE_MAR) $(addprefix --partial-mar-file ,$(wildcard $(DIST)/$(PARTIAL_MAR))) --upload-output $(AUTOMATION_UPLOAD_OUTPUT) |
michael@0 | 90 | |
michael@0 | 91 | # We need the log from make upload to grep it for urls in order to set |
michael@0 | 92 | # properties. |
michael@0 | 93 | AUTOMATION_EXTRA_CMDLINE-upload = 2>&1 | tee $(AUTOMATION_UPLOAD_OUTPUT) |
michael@0 | 94 | |
michael@0 | 95 | # Note: We have to force -j1 here, at least until bug 1036563 is fixed. |
michael@0 | 96 | AUTOMATION_EXTRA_CMDLINE-l10n-check = -j1 |
michael@0 | 97 | AUTOMATION_EXTRA_CMDLINE-pretty-l10n-check = -j1 |
michael@0 | 98 | |
michael@0 | 99 | # And force -j1 here until bug 1077670 is fixed. |
michael@0 | 100 | AUTOMATION_EXTRA_CMDLINE-package-tests = -j1 |
michael@0 | 101 | AUTOMATION_EXTRA_CMDLINE-pretty-package-tests = -j1 |
michael@0 | 102 | |
michael@0 | 103 | # The commands only run if the corresponding MOZ_AUTOMATION_* variable is |
michael@0 | 104 | # enabled. This means, for example, if we enable MOZ_AUTOMATION_UPLOAD, then |
michael@0 | 105 | # 'buildsymbols' will only run if MOZ_AUTOMATION_BUILD_SYMBOLS is also set. |
michael@0 | 106 | # However, the target automation/buildsymbols will still be executed in this |
michael@0 | 107 | # case because it is a prerequisite of automation/upload. |
michael@0 | 108 | define automation_commands |
michael@0 | 109 | $(call BUILDSTATUS,TIER_START $1) |
michael@0 | 110 | @$(MAKE) $1 $(AUTOMATION_EXTRA_CMDLINE-$1) |
michael@0 | 111 | $(call BUILDSTATUS,TIER_FINISH $1) |
michael@0 | 112 | endef |
michael@0 | 113 | |
michael@0 | 114 | automation/%: |
michael@0 | 115 | $(if $(filter $*,$(MOZ_AUTOMATION_TIERS)),$(call automation_commands,$*)) |