diff --git a/CLOBBER b/CLOBBER index 6d43e4829a44..fd7f031b532a 100644 --- a/CLOBBER +++ b/CLOBBER @@ -17,7 +17,7 @@ # # Modifying this file will now automatically clobber the buildbot machines \o/ # -Landing bug 865806 +Refactored build system core dependencies in bug 874078. Alternative to clobber is to run ./config.status from the objdir and to touch the CLOBBER file in the objdir. diff --git a/Makefile.in b/Makefile.in index ed8a4a142bac..f00b97fded01 100644 --- a/Makefile.in +++ b/Makefile.in @@ -38,6 +38,8 @@ DIST_GARBAGE = config.cache config.log config.status* config-defs.h \ $(topsrcdir)/.mozconfig.mk $(topsrcdir)/.mozconfig.out ifndef MOZ_PROFILE_USE +# We need to explicitly put backend.RecursiveMakeBackend.built here +# otherwise the rule in rules.mk doesn't run early enough. default alldep all:: CLOBBER $(topsrcdir)/configure config.status backend.RecursiveMakeBackend.built $(RM) -r $(DIST)/sdk $(RM) -r $(DIST)/include @@ -73,14 +75,6 @@ export:: $(MAKE) -C config export $(MAKE) tier_nspr -backend.RecursiveMakeBackend.built: - @echo "Updating build backend because of moz.build changes." - @$(PYTHON) ./config.status - -include backend.RecursiveMakeBackend.built.pp - -export MOZBUILD_BACKEND_CHECKED=1 - ifdef ENABLE_TESTS # Additional makefile targets to call automated test suites include $(topsrcdir)/testing/testsuite-targets.mk diff --git a/accessible/tests/mochitest/text.js b/accessible/tests/mochitest/text.js index 52fea86a484a..0681b31221ac 100644 --- a/accessible/tests/mochitest/text.js +++ b/accessible/tests/mochitest/text.js @@ -11,45 +11,51 @@ const BOUNDARY_ATTRIBUTE_RANGE = nsIAccessibleText.BOUNDARY_ATTRIBUTE_RANGE; const kTextEndOffset = nsIAccessibleText.TEXT_OFFSET_END_OF_TEXT; const kCaretOffset = nsIAccessibleText.TEXT_OFFSET_CARET; -const kTodo = 1; -const kOk = 2; +const kTodo = 1; // a test is expected to fail +const kOk = 2; // a test doesn't fail /** * Test characterCount for the given array of accessibles. * - * @param aCount [in] the expected character count - * @param aIDs [in] array of accessible identifiers to test + * @param aCount [in] the expected character count + * @param aIDs [in] array of accessible identifiers to test + * @param aTodoFlag [in, optional] either kOk or kTodo */ -function testCharacterCount(aIDs, aCount) +function testCharacterCount(aIDs, aCount, aTodoFlag) { - for (var i = 0; i < aIDs.length; i++) { - var textacc = getAccessible(aIDs[i], [nsIAccessibleText]); - is(textacc.characterCount, aCount, - "Wrong character count for " + prettyName(aIDs[i])); + var ids = (aIDs instanceof Array) ? aIDs : [ aIDs ]; + var isFunc = (aTodoFlag == kTodo) ? todo_is : is; + for (var i = 0; i < ids.length; i++) { + var textacc = getAccessible(ids[i], [nsIAccessibleText]); + isFunc(textacc.characterCount, aCount, + "Wrong character count for " + prettyName(ids[i])); } } /** - * Test text between two given offsets + * Test text between two given offsets. * * @param aIDs [in] an array of accessible IDs to test * @param aStartOffset [in] the start offset within the text to test * @param aEndOffset [in] the end offset up to which the text is tested * @param aText [in] the expected result from the test + * @param aTodoFlag [in, optional] either kOk or kTodo */ -function testText(aIDs, aStartOffset, aEndOffset, aText) +function testText(aIDs, aStartOffset, aEndOffset, aText, aTodoFlag) { - for (var i = 0; i < aIDs.length; i++) - { - var acc = getAccessible(aIDs[i], nsIAccessibleText); + var ids = (aIDs instanceof Array) ? aIDs : [ aIDs ]; + var isFunc = (aTodoFlag == kTodo) ? todo_is : is; + for (var i = 0; i < ids.length; i++) { + var acc = getAccessible(ids[i], nsIAccessibleText); try { - is(acc.getText(aStartOffset, aEndOffset), aText, - "getText: wrong text between start and end offsets '" + aStartOffset + - "', '" + aEndOffset + " for '" + prettyName(aIDs[i]) + "'"); + isFunc(acc.getText(aStartOffset, aEndOffset), aText, + "getText: wrong text between start and end offsets '" + + aStartOffset + "', '" + aEndOffset + " for '" + + prettyName(ids[i]) + "'"); } catch (e) { ok(false, - "getText fails between start and end offsets '" + aStartOffset + - "', '" + aEndOffset + " for '" + prettyName(aIDs[i]) + "'"); + "getText fails between start and end offsets '" + aStartOffset + + "', '" + aEndOffset + " for '" + prettyName(ids[i]) + "'"); } } } diff --git a/accessible/tests/mochitest/text/Makefile.in b/accessible/tests/mochitest/text/Makefile.in index 9f9a6c84a185..a86e2c00ec3a 100644 --- a/accessible/tests/mochitest/text/Makefile.in +++ b/accessible/tests/mochitest/text/Makefile.in @@ -14,7 +14,9 @@ include $(DEPTH)/config/autoconf.mk MOCHITEST_A11Y_FILES = \ doc.html \ test_atcaretoffset.html \ + test_charboundary.html \ test_doc.html \ + test_gettext.html \ test_hypertext.html \ test_label.xul \ test_multiline.html \ diff --git a/accessible/tests/mochitest/text/test_charboundary.html b/accessible/tests/mochitest/text/test_charboundary.html new file mode 100644 index 000000000000..6e4a6f909a39 --- /dev/null +++ b/accessible/tests/mochitest/text/test_charboundary.html @@ -0,0 +1,153 @@ + + + + Char boundary text tests + + + + + + + + + + +

+ +
+  
+ + +
hello my friend
+
hello my friend
+ + + +
+    
Brave Sir Robin ran
+
Brave Sir Robin ran
+
+ + +
+    
oneword + +two words +
+
oneword

two words
+
oneword + +two words +
+
oneword

two words
+ +
+ + + diff --git a/accessible/tests/mochitest/text/test_gettext.html b/accessible/tests/mochitest/text/test_gettext.html new file mode 100644 index 000000000000..fcd5ddd33711 --- /dev/null +++ b/accessible/tests/mochitest/text/test_gettext.html @@ -0,0 +1,115 @@ + + + + Get text between offsets tests + + + + + + + + + + +

+ +
+  
+ + +
hello my friend
+
hello my friend
+ + + +
Brave Sir Robin ran
+
Brave Sir Robin ran
+ +
Brave Sir Robin ran
+
Brave Sir Robin ran
+ +
+  
oneword + +two words +
+
oneword

two words
+
oneword + +two words +
+
oneword

two words
+ +
+ + + diff --git a/accessible/tests/mochitest/text/test_multiline.html b/accessible/tests/mochitest/text/test_multiline.html index 802315060c08..10e7831c4cbf 100644 --- a/accessible/tests/mochitest/text/test_multiline.html +++ b/accessible/tests/mochitest/text/test_multiline.html @@ -32,31 +32,10 @@ // getText var IDs = ["div", "divbr", "editable", "editablebr", "textarea"]; - testText(IDs, 0, 19, "oneword\n\ntwo words\n"); //////////////////////////////////////////////////////////////////////// // getTextAfterOffset - // BOUNDARY_CHAR - testTextAfterOffset(6, BOUNDARY_CHAR, "\n", 7, 8, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAfterOffset(7, BOUNDARY_CHAR, "\n", 8, 9, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAfterOffset(8, BOUNDARY_CHAR, "t", 9, 10, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - // BOUNDARY_WORD_START testTextAfterOffset(0, BOUNDARY_WORD_START, "two ", 9, 13, IDs); testTextAfterOffset(8, BOUNDARY_WORD_START, "two ", 9, 13, @@ -146,26 +125,6 @@ //////////////////////////////////////////////////////////////////////// // getTextBeforeOffset - // BOUNDARY_CHAR - testTextBeforeOffset(8, BOUNDARY_CHAR, "\n", 7, 8, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextBeforeOffset(9, BOUNDARY_CHAR, "\n", 8, 9, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextBeforeOffset(10, BOUNDARY_CHAR, "t", 9, 10, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - // BOUNDARY_WORD_START testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0, IDs); testTextBeforeOffset(7, BOUNDARY_WORD_START, "", 0, 0, IDs); @@ -273,26 +232,6 @@ //////////////////////////////////////////////////////////////////////// // getTextAtOffset - // BOUNDARY_CHAR - testTextAtOffset(7, BOUNDARY_CHAR, "\n", 7, 8, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(8, BOUNDARY_CHAR, "\n", 8, 9, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(9, BOUNDARY_CHAR, "t", 9, 10, - "div", kOk, kOk, kOk, - "divbr", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "editablebr", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - // BOUNDARY_WORD_START testTextAtOffset(0, BOUNDARY_WORD_START, "oneword\n\n", 0, 9, IDs); testTextAtOffset(8, BOUNDARY_WORD_START, "oneword\n\n", 0, 9, diff --git a/accessible/tests/mochitest/text/test_singleline.html b/accessible/tests/mochitest/text/test_singleline.html index 0145a11774dc..020cfb095e5c 100644 --- a/accessible/tests/mochitest/text/test_singleline.html +++ b/accessible/tests/mochitest/text/test_singleline.html @@ -22,42 +22,12 @@ // __h__e__l__l__o__ __m__y__ __f__r__i__e__n__d__ // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - //////////////////////////////////////////////////////////////////////// - // characterCount - - testCharacterCount(["input", "div"], 15); - testCharacterCount(["textarea"], 16); - - //////////////////////////////////////////////////////////////////////// - // getText - - var IDs = ["input", "div", "textarea"]; - testText(IDs, 0, 1, "h"); - testText(IDs, 1, 3, "el"); - testText(IDs, 14, 15, "d"); - testText(IDs, 0, 15, "hello my friend"); - //////////////////////////////////////////////////////////////////////// // getTextAfterOffset var IDs = [ "input", "div", "editable", "textarea" ]; var regularIDs = [ "input", "div", "editable" ]; - // BOUNDARY_CHAR - - testCharAfterOffset(IDs, 0, "e", 1, 2); - testCharAfterOffset(IDs, 1, "l", 2, 3); - testCharAfterOffset(regularIDs, 14, "", 15, 15); - testCharAfterOffset("textarea", 14, "\n", 15, 16); - - // XXX: why are 15/15 expected? there's no 16 offset we are trying to - // get an offset for? - testTextAfterOffset(15, BOUNDARY_CHAR, "", 15, 15, - "input", kOk, kTodo, kTodo, - "div", kOk, kTodo, kTodo, - "editable", kOk, kTodo, kTodo); - testCharAfterOffset("textarea", 15, "", 16, 16); - // BOUNDARY_WORD_START testTextAfterOffset(0, BOUNDARY_WORD_START, "my ", 6, 9, IDs); testTextAfterOffset(1, BOUNDARY_WORD_START, "my ", 6, 9, IDs); @@ -131,12 +101,6 @@ var IDs = [ "input", "div", "editable", "textarea" ]; - // BOUNDARY_CHAR - testCharBeforeOffset(IDs, 0, "", 0, 0); - testCharBeforeOffset(IDs, 1, "h", 0, 1); - testCharBeforeOffset(IDs, 14, "n", 13, 14); - testCharBeforeOffset(IDs, 15, "d", 14, 15); - // BOUNDARY_WORD_START testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0, IDs); testTextBeforeOffset(1, BOUNDARY_WORD_START, "", 0, 0, IDs); @@ -215,15 +179,6 @@ IDs = [ "input", "div", "editable", "textarea" ]; regularIDs = [ "input", "div", "editable" ]; - // BOUNDARY_CHAR - - testCharAtOffset(IDs, 0, "h", 0, 1); - testCharAtOffset(IDs, 1, "e", 1, 2); - testCharAtOffset(IDs, 14, "d", 14, 15); - testCharAtOffset(regularIDs, 15, "", 15, 15); - testCharAtOffset("textarea", 15, "\n", 15, 16); - testCharAtOffset("textarea", 16, "", 16, 16); - // BOUNDARY_WORD_START testTextAtOffset(0, BOUNDARY_WORD_START, "hello ", 0, 6, IDs); testTextAtOffset(1, BOUNDARY_WORD_START, "hello ", 0, 6, IDs); diff --git a/accessible/tests/mochitest/text/test_whitespaces.html b/accessible/tests/mochitest/text/test_whitespaces.html index c50dfd4c2131..f3e019fc644c 100644 --- a/accessible/tests/mochitest/text/test_whitespaces.html +++ b/accessible/tests/mochitest/text/test_whitespaces.html @@ -18,41 +18,11 @@ // __B__r__a__v__e__ __S__i__r__ __ __R__o__b__i__n__ __ __ __r__a__n // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 - //////////////////////////////////////////////////////////////////////// - // characterCount - - testCharacterCount(["input", "div", "editable"], 22); - testCharacterCount(["textarea"], 23); - - //////////////////////////////////////////////////////////////////////// - // getText - - var IDs = ["input", "div", "editable", "textarea"]; - - testText(IDs, 0, 1, "B"); - testText(IDs, 5, 6, " "); - testText(IDs, 9, 11, " "); - testText(IDs, 16, 19, " "); - testText(IDs, 0, 22, "Brave Sir Robin ran"); - //////////////////////////////////////////////////////////////////////// // getTextAfterOffset var IDs = [ "input", "div", "editable", "textarea" ]; - // BOUNDARY_CHAR - testCharAfterOffset(IDs, 0, "r", 1, 2); - testCharAfterOffset(IDs, 1, "a", 2, 3); - testCharAfterOffset(IDs, 4, " ", 5, 6); - testCharAfterOffset(IDs, 5, "S", 6, 7); - testCharAfterOffset(IDs, 8, " ", 9, 10); - testCharAfterOffset(IDs, 9, " ", 10, 11); - testCharAfterOffset(IDs, 10, "R", 11, 12); - testCharAfterOffset(IDs, 15, " ", 16, 17); - testCharAfterOffset(IDs, 16, " ", 17, 18); - testCharAfterOffset(IDs, 17, " ", 18, 19); - testCharAfterOffset(IDs, 18, "r", 19, 20); - // BOUNDARY_WORD_START testTextAfterOffset(0, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs); testTextAfterOffset(5, BOUNDARY_WORD_START, "Sir ", 6, 11, IDs); @@ -122,15 +92,6 @@ var IDs = [ "input", "div", "editable", "textarea" ]; - // BOUNDARY_CHAR - testCharBeforeOffset(IDs, 0, "", 0, 0); - testCharBeforeOffset(IDs, 1, "B", 0, 1); - testCharBeforeOffset(IDs, 6, " ", 5, 6); - testCharBeforeOffset(IDs, 10, " ", 9, 10); - testCharBeforeOffset(IDs, 11, " ", 10, 11); - testCharBeforeOffset(IDs, 17, " ", 16, 17); - testCharBeforeOffset(IDs, 19, " ", 18, 19); - // BOUNDARY_WORD_START testTextBeforeOffset(0, BOUNDARY_WORD_START, "", 0, 0, IDs); testTextBeforeOffset(1, BOUNDARY_WORD_START, "", 0, 0, IDs); @@ -169,38 +130,6 @@ //////////////////////////////////////////////////////////////////////// // getTextAtOffset - // BOUNDARY_CHAR - testTextAtOffset(0, BOUNDARY_CHAR, "B", 0, 1, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(1, BOUNDARY_CHAR, "r", 1, 2, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(5, BOUNDARY_CHAR, " ", 5, 6, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(9, BOUNDARY_CHAR, " ", 9, 10, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(10, BOUNDARY_CHAR, " ", 10, 11, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - testTextAtOffset(17, BOUNDARY_CHAR, " ", 17, 18, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kOk, kOk, kOk); - // BOUNDARY_WORD_START testTextAtOffset(0, BOUNDARY_WORD_START, "Brave ", 0, 6, "input", kOk, kOk, kOk, diff --git a/b2g/config/mozconfigs/linux32_gecko/nightly b/b2g/config/mozconfigs/linux32_gecko/nightly index 6a89e52ee5db..ba7db9f6e7d4 100644 --- a/b2g/config/mozconfigs/linux32_gecko/nightly +++ b/b2g/config/mozconfigs/linux32_gecko/nightly @@ -16,9 +16,6 @@ ac_add_options --enable-stdcxx-compat # by 2 MBs. STRIP_FLAGS="--strip-debug" -# PGO -mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10' - # Needed to enable breakpad in application.ini export MOZILLA_OFFICIAL=1 diff --git a/b2g/config/mozconfigs/linux64_gecko/nightly b/b2g/config/mozconfigs/linux64_gecko/nightly index 6a89e52ee5db..ba7db9f6e7d4 100644 --- a/b2g/config/mozconfigs/linux64_gecko/nightly +++ b/b2g/config/mozconfigs/linux64_gecko/nightly @@ -16,9 +16,6 @@ ac_add_options --enable-stdcxx-compat # by 2 MBs. STRIP_FLAGS="--strip-debug" -# PGO -mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10' - # Needed to enable breakpad in application.ini export MOZILLA_OFFICIAL=1 diff --git a/b2g/config/mozconfigs/win32_gecko/nightly b/b2g/config/mozconfigs/win32_gecko/nightly index 221c4603aa8a..bb6510f3059e 100644 --- a/b2g/config/mozconfigs/win32_gecko/nightly +++ b/b2g/config/mozconfigs/win32_gecko/nightly @@ -1,8 +1,5 @@ . "$topsrcdir/b2g/config/mozconfigs/common" -# for pgo -mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' - ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} ac_add_options --enable-update-packaging ac_add_options --enable-jemalloc diff --git a/browser/build.mk b/browser/build.mk index c72d6ac47399..fc692eda5f5e 100644 --- a/browser/build.mk +++ b/browser/build.mk @@ -2,22 +2,6 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -################################################ -# Parallel build on Windows with GNU make check - -default:: -ifeq (,$(findstring pymake,$(MAKE))) -ifeq ($(HOST_OS_ARCH),WINNT) -ifneq (1,$(NUMBER_OF_PROCESSORS)) - @echo $(if $(findstring -j,$(value MAKEFLAGS)), \ -$(error You are using GNU make to build Firefox with -jN on Windows. \ -This will randomly deadlock. To compile a parallel build on Windows \ -run "python -OO build/pymake/make.py -f client.mk build". \ -See https://developer.mozilla.org/en/pymake for more details.)) -endif -endif -endif - installer: @$(MAKE) -C browser/installer installer diff --git a/browser/components/preferences/in-content/privacy.xul b/browser/components/preferences/in-content/privacy.xul index 9129c1e434a1..14bb769cf9e3 100644 --- a/browser/components/preferences/in-content/privacy.xul +++ b/browser/components/preferences/in-content/privacy.xul @@ -77,11 +77,11 @@ preference="privacy.donottrackheader.value" onsynctopreference="return gPrivacyPane.setTrackingPrefs()" onsyncfrompreference="return gPrivacyPane.getTrackingPrefs()"> - - -