From 7ea4dd517ff5425882357136284e3dfe31dffdc3 Mon Sep 17 00:00:00 2001 From: Alexandre Poirot Date: Wed, 2 Jul 2014 15:40:56 -0700 Subject: [PATCH 01/52] Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal --- accessible/tests/mochitest/actions/a11y.ini | 1 + accessible/tests/mochitest/elm/a11y.ini | 2 + accessible/tests/mochitest/events/a11y.ini | 2 + accessible/tests/mochitest/focus/a11y.ini | 1 + accessible/tests/mochitest/jsat/a11y.ini | 2 + accessible/tests/mochitest/states/a11y.ini | 1 + accessible/tests/mochitest/tree/a11y.ini | 2 + .../tests/mochitest/treeupdate/a11y.ini | 1 + .../content/test/mochitest/mochitest.ini | 2 +- browser/base/content/test/chat/browser.ini | 1 + browser/base/content/test/general/browser.ini | 53 +++++++++++-------- browser/base/content/test/newtab/browser.ini | 2 +- browser/base/content/test/plugins/browser.ini | 2 +- browser/base/content/test/social/browser.ini | 2 +- .../customizableui/test/browser.ini | 3 +- .../downloads/test/browser/browser.ini | 1 + .../components/feeds/test/chrome/chrome.ini | 1 + browser/components/feeds/test/mochitest.ini | 2 +- .../loop/test/mochitest/browser.ini | 1 + .../places/tests/browser/browser.ini | 1 + .../preferences/in-content/tests/browser.ini | 1 + .../components/preferences/tests/browser.ini | 1 + .../privatebrowsing/test/browser/browser.ini | 1 + browser/components/search/test/browser.ini | 1 + .../components/sessionstore/test/browser.ini | 1 + browser/components/tabview/test/browser.ini | 7 +++ browser/devtools/commandline/test/browser.ini | 1 + browser/devtools/debugger/test/browser.ini | 1 + browser/devtools/netmonitor/test/browser.ini | 1 + .../devtools/projecteditor/test/browser.ini | 3 ++ browser/devtools/scratchpad/test/browser.ini | 1 + browser/devtools/shared/test/browser.ini | 2 + browser/devtools/webconsole/test/browser.ini | 15 ++++++ browser/experiments/Experiments.jsm | 6 ++- content/base/test/chrome.ini | 1 + content/base/test/chrome/chrome.ini | 3 +- .../base/test/mochitest-child-permissions.ini | 4 +- content/base/test/mochitest.ini | 10 ++-- content/canvas/test/mochitest.ini | 2 +- .../test/webgl-conformance/mochitest.ini | 2 +- .../canvas/test/webgl-mochitest/mochitest.ini | 2 +- content/html/content/test/forms/mochitest.ini | 23 +++++--- content/html/content/test/mochitest.ini | 14 ++--- content/html/document/test/mochitest.ini | 4 +- content/media/test/mochitest.ini | 4 +- .../webspeech/recognition/test/mochitest.ini | 2 +- content/svg/content/test/mochitest.ini | 2 +- content/xul/content/test/mochitest.ini | 2 +- content/xul/templates/tests/chrome/chrome.ini | 1 + docshell/test/browser/browser.ini | 3 +- docshell/test/chrome/chrome.ini | 2 + docshell/test/mochitest.ini | 6 +-- dom/alarm/test/mochitest.ini | 12 ++--- dom/animation/test/mochitest.ini | 2 + dom/audiochannel/tests/mochitest.ini | 2 +- dom/base/test/mochitest.ini | 3 +- .../mochitest/mochitest-oop.ini | 2 +- dom/browser-element/mochitest/mochitest.ini | 2 +- .../mochitest/priority/mochitest.ini | 2 +- dom/devicestorage/ipc/mochitest.ini | 2 +- dom/devicestorage/test/chrome.ini | 1 + dom/downloads/tests/mochitest.ini | 2 +- dom/events/test/mochitest.ini | 20 ++++--- dom/identity/tests/mochitest/chrome.ini | 1 + dom/indexedDB/ipc/mochitest.ini | 2 +- dom/indexedDB/test/mochitest.ini | 6 +-- dom/indexedDB/test/unit/xpcshell.ini | 2 +- dom/ipc/tests/chrome.ini | 1 + dom/messages/test/mochitest.ini | 2 +- dom/permission/tests/mochitest.ini | 4 +- dom/plugins/test/mochitest/chrome.ini | 1 + dom/plugins/test/mochitest/mochitest.ini | 2 +- dom/plugins/test/unit/xpcshell.ini | 1 + dom/power/test/mochitest.ini | 2 +- dom/settings/tests/chrome.ini | 1 + dom/tests/browser/browser.ini | 5 +- .../mochitest/ajax/offline/mochitest.ini | 2 +- dom/tests/mochitest/bugs/mochitest.ini | 20 +++---- dom/tests/mochitest/chrome/chrome.ini | 1 + dom/tests/mochitest/general/chrome.ini | 1 + dom/tests/mochitest/general/mochitest.ini | 15 +++--- dom/tests/mochitest/geolocation/mochitest.ini | 4 +- .../mochitest/notification/mochitest.ini | 2 +- .../mochitest/storageevent/mochitest.ini | 1 + dom/workers/test/mochitest.ini | 1 + editor/composer/test/mochitest.ini | 2 +- editor/libeditor/base/tests/chrome.ini | 2 + editor/libeditor/base/tests/mochitest.ini | 2 +- editor/libeditor/html/tests/mochitest.ini | 2 +- editor/libeditor/text/tests/chrome.ini | 1 + editor/libeditor/text/tests/mochitest.ini | 1 + gfx/tests/mochitest.ini | 2 +- js/xpconnect/tests/chrome/chrome.ini | 13 +++++ js/xpconnect/tests/mochitest/mochitest.ini | 1 + layout/base/tests/chrome/chrome.ini | 3 ++ layout/base/tests/mochitest.ini | 6 +-- layout/forms/test/chrome.ini | 1 + layout/forms/test/mochitest.ini | 6 +-- layout/generic/test/chrome.ini | 2 + layout/generic/test/mochitest.ini | 12 ++--- layout/style/test/chrome/chrome.ini | 1 + layout/xul/test/chrome.ini | 3 ++ layout/xul/test/mochitest.ini | 2 +- python/mozbuild/mozbuild/mozinfo.py | 4 +- .../ssl/tests/mochitest/bugs/chrome.ini | 1 + .../healthreport/tests/xpcshell/xpcshell.ini | 1 + testing/mochitest/chrome/chrome.ini | 2 + .../tests/Harness_sanity/mochitest.ini | 2 +- .../components/aboutmemory/tests/chrome.ini | 1 + .../components/osfile/tests/mochi/chrome.ini | 1 + .../components/passwordmgr/test/mochitest.ini | 2 +- .../places/tests/browser/browser.ini | 2 +- toolkit/components/prompts/test/mochitest.ini | 2 +- .../social/test/browser/browser.ini | 1 + .../components/thumbnails/test/browser.ini | 4 ++ toolkit/content/tests/browser/browser.ini | 1 + toolkit/content/tests/chrome/chrome.ini | 9 ++++ toolkit/content/tests/widgets/mochitest.ini | 2 +- .../devtools/server/tests/browser/browser.ini | 1 + .../server/tests/mochitest/chrome.ini | 14 +++++ .../forgetaboutsite/test/browser/browser.ini | 2 +- toolkit/identity/Identity.jsm | 5 +- .../test/browser/browser-common.ini | 6 ++- .../extensions/test/browser/browser.ini | 1 + .../test/xpcshell/xpcshell-shared.ini | 5 +- .../extensions/test/xpcshell/xpcshell.ini | 1 + .../extensions/test/xpinstall/browser.ini | 1 + .../mozapps/update/tests/chrome/chrome.ini | 1 + .../update/tests/unit_aus_update/xpcshell.ini | 2 +- toolkit/webapps/tests/chrome.ini | 2 +- widget/tests/mochitest.ini | 2 +- 131 files changed, 330 insertions(+), 149 deletions(-) diff --git a/accessible/tests/mochitest/actions/a11y.ini b/accessible/tests/mochitest/actions/a11y.ini index 2553520f28df..9750b29f43fe 100644 --- a/accessible/tests/mochitest/actions/a11y.ini +++ b/accessible/tests/mochitest/actions/a11y.ini @@ -9,6 +9,7 @@ [test_keys_menu.xul] [test_link.html] [test_media.html] +skip-if = buildapp == 'mulet' [test_select.html] [test_tree.xul] [test_treegrid.xul] diff --git a/accessible/tests/mochitest/elm/a11y.ini b/accessible/tests/mochitest/elm/a11y.ini index 060533355975..c0b94f4c3d21 100644 --- a/accessible/tests/mochitest/elm/a11y.ini +++ b/accessible/tests/mochitest/elm/a11y.ini @@ -1,9 +1,11 @@ [DEFAULT] [test_HTMLSpec.html] +skip-if = buildapp == 'mulet' [test_figure.html] [test_listbox.xul] [test_nsApplicationAcc.html] [test_plugin.html] +skip-if = buildapp == 'mulet' [test_canvas.html] [test_shadowroot.html] diff --git a/accessible/tests/mochitest/events/a11y.ini b/accessible/tests/mochitest/events/a11y.ini index f9bdc8dc4e2b..50dd2e8060d2 100644 --- a/accessible/tests/mochitest/events/a11y.ini +++ b/accessible/tests/mochitest/events/a11y.ini @@ -16,6 +16,7 @@ support-files = [test_descrchange.html] [test_docload.html] [test_docload.xul] +skip-if = buildapp == 'mulet' [test_docload_aria.html] [test_dragndrop.html] [test_flush.html] @@ -46,6 +47,7 @@ skip-if = os == 'win' || os == 'linux' [test_namechange.html] [test_scroll.xul] [test_selection.html] +skip-if = buildapp == 'mulet' [test_selection.xul] [test_selection_aria.html] [test_statechange.html] diff --git a/accessible/tests/mochitest/focus/a11y.ini b/accessible/tests/mochitest/focus/a11y.ini index 94966198238c..9a9e2c284524 100644 --- a/accessible/tests/mochitest/focus/a11y.ini +++ b/accessible/tests/mochitest/focus/a11y.ini @@ -2,4 +2,5 @@ [test_focusedChild.html] [test_takeFocus.html] +skip-if = buildapp == 'mulet' [test_takeFocus.xul] diff --git a/accessible/tests/mochitest/jsat/a11y.ini b/accessible/tests/mochitest/jsat/a11y.ini index 65300fc059bb..bd12501e94a8 100644 --- a/accessible/tests/mochitest/jsat/a11y.ini +++ b/accessible/tests/mochitest/jsat/a11y.ini @@ -10,7 +10,9 @@ support-files = [test_alive.html] [test_content_integration.html] +skip-if = buildapp == 'mulet' [test_content_text.html] +skip-if = buildapp == 'mulet' [test_explicit_names.html] [test_gesture_tracker.html] [test_landmarks.html] diff --git a/accessible/tests/mochitest/states/a11y.ini b/accessible/tests/mochitest/states/a11y.ini index 164bfe4e6fcc..631ae38288b4 100644 --- a/accessible/tests/mochitest/states/a11y.ini +++ b/accessible/tests/mochitest/states/a11y.ini @@ -29,3 +29,4 @@ support-files = [test_tree.xul] [test_visibility.html] [test_visibility.xul] +skip-if = buildapp == "mulet" diff --git a/accessible/tests/mochitest/tree/a11y.ini b/accessible/tests/mochitest/tree/a11y.ini index 282a5b0e967d..cafa06dd2916 100644 --- a/accessible/tests/mochitest/tree/a11y.ini +++ b/accessible/tests/mochitest/tree/a11y.ini @@ -20,6 +20,7 @@ skip-if = true # Bug 561508 [test_dockids.html] [test_filectrl.html] [test_formctrl.html] +skip-if = buildapp == "mulet" [test_formctrl.xul] [test_gencontent.html] [test_groupbox.xul] @@ -30,6 +31,7 @@ skip-if = true # Bug 561508 [test_list.html] [test_map.html] [test_media.html] +skip-if = buildapp == "mulet" [test_select.html] [test_tabbox.xul] [test_tabbrowser.xul] diff --git a/accessible/tests/mochitest/treeupdate/a11y.ini b/accessible/tests/mochitest/treeupdate/a11y.ini index 232537dc0ab6..e3852cd99895 100644 --- a/accessible/tests/mochitest/treeupdate/a11y.ini +++ b/accessible/tests/mochitest/treeupdate/a11y.ini @@ -14,6 +14,7 @@ [test_gencontent.html] [test_hidden.html] [test_imagemap.html] +skip-if = buildapp == "mulet" [test_list.html] [test_list_editabledoc.html] [test_listbox.xul] diff --git a/b2g/chrome/content/test/mochitest/mochitest.ini b/b2g/chrome/content/test/mochitest/mochitest.ini index 0d60bb873d88..d18a20401abf 100644 --- a/b2g/chrome/content/test/mochitest/mochitest.ini +++ b/b2g/chrome/content/test/mochitest/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #require OOP support for mochitest-b2g-desktop, Bug 957554 +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #require OOP support for mochitest-b2g-desktop, Bug 957554 support-files = RecordingStatusChromeScript.js RecordingStatusHelper.js diff --git a/browser/base/content/test/chat/browser.ini b/browser/base/content/test/chat/browser.ini index b5ef3f7d85c9..fe2f9b8badf1 100644 --- a/browser/base/content/test/chat/browser.ini +++ b/browser/base/content/test/chat/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' support-files = head.js chat.html diff --git a/browser/base/content/test/general/browser.ini b/browser/base/content/test/general/browser.ini index 65622871aa92..588a30bb5f5e 100644 --- a/browser/base/content/test/general/browser.ini +++ b/browser/base/content/test/general/browser.ini @@ -101,7 +101,7 @@ skip-if = os == "linux" || e10s # Linux: Intermittent failures, bug 951680; e10s skip-if = os != "win" || e10s # The Fitts Law back button is only supported on Windows (bug 571454) / e10s - Bug ?????? test touches content (attempts to add an event listener directly to the contentWindow) [browser_blob-channelname.js] [browser_bookmark_titles.js] -skip-if = toolkit == "windows" || e10s # Disabled on Windows due to frequent failures (bugs 825739, 841341) / e10s - Bug ?????? test checks event.target on load event, which our e10s utils don't support +skip-if = buildapp == 'mulet' || toolkit == "windows" || e10s # Disabled on Windows due to frequent failures (bugs 825739, 841341) / e10s - Bug ?????? test checks event.target on load event, which our e10s utils don't support [browser_bug304198.js] [browser_bug321000.js] skip-if = true # browser_bug321000.js is disabled because newline handling is shaky (bug 592528) @@ -135,9 +135,9 @@ skip-if = e10s # Bug ?????? - test directly manipulates content (eg, var expertD [browser_bug432599.js] [browser_bug435035.js] [browser_bug435325.js] -skip-if = e10s # Bug ?????? - test directly manipulates content +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test directly manipulates content [browser_bug441778.js] -skip-if = e10s # Bug 691614 - no e10s zoom support yet +skip-if = buildapp == 'mulet' || e10s # Bug 691614 - no e10s zoom support yet [browser_bug455852.js] [browser_bug460146.js] skip-if = e10s # Bug 866413 - PageInfo doesn't work in e10s @@ -148,12 +148,12 @@ skip-if = e10s # Bug 924260 - "Window is closed" [browser_bug477014.js] skip-if = e10s # Bug 918634 - swapFrameLoaders not implemented for e10s [browser_bug479408.js] -skip-if = e10s # Bug 918663 - DOMLinkAdded events don't make their way to chrome +skip-if = buildapp == 'mulet' || e10s # Bug 918663 - DOMLinkAdded events don't make their way to chrome [browser_bug481560.js] skip-if = e10s # Bug ????? - This bug attached an event listener directly to the content [browser_bug484315.js] [browser_bug491431.js] -skip-if = e10s # Bug 918634 - swapFrameLoaders (and thus replaceTabWithWindow) not implemented for e10s +skip-if = buildapp == 'mulet' || e10s # Bug 918634 - swapFrameLoaders (and thus replaceTabWithWindow) not implemented for e10s [browser_bug495058.js] skip-if = e10s # Bug 918634 - swapFrameLoaders (and thus replaceTabWithWindow) not implemented for e10s [browser_bug517902.js] @@ -165,13 +165,13 @@ skip-if = e10s # Bug ?????? - some weird timing issue with progress listeners th skip-if = e10s # Bug 918663 - DOMLinkAdded events don't make their way to chrome [browser_bug533232.js] [browser_bug537013.js] -skip-if = e10s # Bug 918634 - swapFrameLoaders not implemented for e10s (test calls replaceTabWithWindow) +skip-if = buildapp == 'mulet' || e10s # Bug 918634 - swapFrameLoaders not implemented for e10s (test calls replaceTabWithWindow) [browser_bug537474.js] skip-if = e10s # Bug ?????? - test doesn't wait for document to be created before it checks it [browser_bug550565.js] skip-if = e10s # Bug 918663 - DOMLinkAdded events don't make their way to chrome (which is how gBrowser.getIcon works) [browser_bug553455.js] -skip-if = e10s # Bug ????? - I don't think either popup notifications nor addon install stuff works? +skip-if = buildapp == 'mulet' || e10s # Bug ????? - I don't think either popup notifications nor addon install stuff works? [browser_bug555224.js] skip-if = e10s # Bug 691614 - no e10s zoom support yet [browser_bug555767.js] @@ -233,11 +233,11 @@ skip-if = e10s # Bug 916974 - Session history doesn't work in e10s [browser_bug633691.js] skip-if = e10s # Bug ?????? - test directly manipulates content (eg, var expertDiv = gBrowser.contentDocument.getElementById("expertContent");) [browser_bug647886.js] -skip-if = e10s # Bug 916974 - Session history doesn't work in e10s +skip-if = buildapp == 'mulet' || e10s # Bug 916974 - Session history doesn't work in e10s [browser_bug655584.js] [browser_bug664672.js] [browser_bug676619.js] -skip-if = os == "mac" || e10s # mac: Intermittent failures, bug 925225; e10s: Bug ?????? - test directly manipulates content (event.target.location) +skip-if = buildapp == 'mulet' || os == "mac" || e10s # mac: Intermittent failures, bug 925225; e10s: Bug ?????? - test directly manipulates content (event.target.location) [browser_bug678392.js] skip-if = e10s # Bug ?????? - Obscure non-windows failures ("Snapshot array has correct length of 1 after loading one page. - Got 0, expected 1" and more) [browser_bug710878.js] @@ -269,7 +269,7 @@ skip-if = e10s # Bug 921959 - reload with LOAD_FLAGS_ALLOW_MIXED_CONTENT fails i [browser_bug902156.js] skip-if = e10s # Bug 921959 - reload with LOAD_FLAGS_ALLOW_MIXED_CONTENT fails in e10s [browser_bug906190.js] -skip-if = e10s # Bug ?????? - test directly manipulates content (strange - gets an element from a child which it tries to treat as a string, but that fails) +skip-if = buildapp == "mulet" || e10s # Bug ?????? - test directly manipulates content (strange - gets an element from a child which it tries to treat as a string, but that fails) [browser_bug970746.js] skip-if = e10s # Bug ?????? - test directly manipulates content (directly gets elements from the content) [browser_canonizeURL.js] @@ -283,7 +283,7 @@ skip-if = e10s # Bug ????? - thumbnail captures need e10s love (tabPreviews_capt [browser_datareporting_notification.js] run-if = datareporting [browser_devices_get_user_media.js] -skip-if = (os == "linux" && debug) || e10s # linux: bug 976544; e10s: Bug 973001 - appears user media notifications only happen in the child and don't make their way to the parent? +skip-if = buildapp == 'mulet' || (os == "linux" && debug) || e10s # linux: bug 976544; e10s: Bug 973001 - appears user media notifications only happen in the child and don't make their way to the parent? [browser_devices_get_user_media_about_urls.js] skip-if = e10s # Bug 973001 - appears user media notifications only happen in the child and don't make their way to the parent? [browser_discovery.js] @@ -295,12 +295,13 @@ skip-if = true # browser_drag.js is disabled, as it needs to be updated for the [browser_findbarClose.js] skip-if = e10s # Bug ?????? - test directly manipulates content (tries to grab an iframe directly from content) [browser_fullscreen-window-open.js] -skip-if = e10s || os == "linux" # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly. Linux: Intermittent failures - bug 941575. +skip-if = buildapp == 'mulet' || e10s || os == "linux" # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly. Linux: Intermittent failures - bug 941575. [browser_gestureSupport.js] skip-if = e10s # Bug 863514 - no gesture support. [browser_getshortcutoruri.js] [browser_hide_removing.js] [browser_homeDrop.js] +skip-if = buildapp == 'mulet' [browser_identity_UI.js] skip-if = e10s # Bug ?????? - this test fails for obscure reasons on non-windows builds only. [browser_keywordBookmarklets.js] @@ -323,13 +324,13 @@ skip-if = e10s # Bug ?????? - test directly manipulates content (TypeError: gBro [browser_mixedcontent_securityflags.js] skip-if = e10s # Bug ?????? - test directly manipulates content ("cannot ipc non-cpow object") [browser_notification_tab_switching.js] -skip-if = e10s # Bug ?????? - uncaught exception - Error: cannot ipc non-cpow object at chrome://mochitests/content/browser/browser/base/content/test/general/browser_notification_tab_switching.js:32 +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - uncaught exception - Error: cannot ipc non-cpow object at chrome://mochitests/content/browser/browser/base/content/test/general/browser_notification_tab_switching.js:32 [browser_offlineQuotaNotification.js] -skip-if = e10s # Bug ?????? - test directly manipulates content (gBrowser.selectedBrowser.contentWindow.applicationCache.oncached = function() {...}) +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test directly manipulates content (gBrowser.selectedBrowser.contentWindow.applicationCache.oncached = function() {...}) [browser_overflowScroll.js] skip-if = e10s # Bug 921905 - pinTab/unpinTab fail in e10s [browser_pageInfo.js] -skip-if = e10s # Bug 866413 - PageInfo doesn't work in e10s +skip-if = buildapp == 'mulet' || e10s # Bug 866413 - PageInfo doesn't work in e10s [browser_page_style_menu.js] skip-if = e10s # Bug ?????? - test directly manipulates content @@ -340,11 +341,13 @@ skip-if = e10s # Bug 921905 - pinTab/unpinTab fail in e10s [browser_plainTextLinks.js] skip-if = e10s # Bug ?????? - test directly manipulates content (creates and fetches elements directly from content document) [browser_popupUI.js] -skip-if = e10s # Bug ?????? - test directly manipulates content (tries to get a popup element directly from content) +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test directly manipulates content (tries to get a popup element directly from content) [browser_printpreview.js] -skip-if = e10s # Bug ?????? - timeout after logging "Error: Channel closing: too late to send/recv, messages will be lost" +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - timeout after logging "Error: Channel closing: too late to send/recv, messages will be lost" [browser_private_browsing_window.js] +skip-if = buildapp == 'mulet' [browser_private_no_prompt.js] +skip-if = buildapp == 'mulet' [browser_relatedTabs.js] [browser_removeTabsToTheEnd.js] skip-if = e10s # Bug 921905 - pinTab/unpinTab fail in e10s @@ -354,17 +357,19 @@ skip-if = true # bug 432425 [browser_sanitize-passwordDisabledHosts.js] [browser_sanitize-sitepermissions.js] [browser_sanitize-timespans.js] +skip-if = buildapp == 'mulet' [browser_sanitizeDialog.js] +skip-if = buildapp == 'mulet' [browser_sanitizeDialog_treeView.js] skip-if = true # disabled until the tree view is added # back to the clear recent history dialog (sanitize.xul), if # it ever is (bug 480169) [browser_save_link-perwindowpb.js] -skip-if = e10s # Bug ?????? - test directly manipulates content (event.target) +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test directly manipulates content (event.target) [browser_save_private_link_perwindowpb.js] -skip-if = e10s # e10s: Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly +skip-if = buildapp == 'mulet' || e10s # e10s: Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly [browser_save_video.js] -skip-if = e10s # Bug ?????? - test directly manipulates content (event.target) +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test directly manipulates content (event.target) [browser_scope.js] [browser_selectTabAtIndex.js] skip-if = e10s # Bug ?????? - no idea! "Accel+9 selects expected tab - Got 0, expected 9" @@ -372,12 +377,15 @@ skip-if = e10s # Bug ?????? - no idea! "Accel+9 selects expected tab - Got 0, ex skip-if = e10s # Bug ?????? - timeout after logging "Error: Channel closing: too late to send/recv, messages will be lost" [browser_subframe_favicons_not_used.js] [browser_tabDrop.js] +skip-if = buildapp == 'mulet' [browser_tabMatchesInAwesomebar_perwindowpb.js] skip-if = e10s # Bug 918634 - swapFrameLoaders not implemented for e10s (test uses gBrowser.swapBrowsersAndCloseOther) [browser_tab_drag_drop_perwindow.js] +skip-if = buildapp == 'mulet' [browser_tab_dragdrop.js] -skip-if = e10s # Bug 918634 - swapFrameLoaders not implemented for e10s (test uses gBrowser.swapBrowsersAndCloseOther) +skip-if = buildapp == 'mulet' || e10s # Bug 918634 - swapFrameLoaders not implemented for e10s (test uses gBrowser.swapBrowsersAndCloseOther) [browser_tab_dragdrop2.js] +skip-if = buildapp == 'mulet' [browser_tabbar_big_widgets.js] skip-if = os == "linux" || os == "mac" # No tabs in titlebar on linux # Disabled on OS X because of bug 967917 @@ -390,7 +398,7 @@ skip-if = e10s # Bug ?????? - test needs to be updated for e10s (captures a stac skip-if = e10s # Bug ?????? - test directly manipulates content (tries to get/set attributes directly on content docshell) [browser_tabs_owner.js] [browser_typeAheadFind.js] -skip-if = e10s # Bug 921935 - focusmanager issues with e10s (test calls waitForFocus) +skip-if = buildapp == 'mulet' || e10s # Bug 921935 - focusmanager issues with e10s (test calls waitForFocus) [browser_unloaddialogs.js] skip-if = e10s # Bug ?????? - test uses chrome windowMediator to try and see alert() from content [browser_urlHighlight.js] @@ -422,6 +430,7 @@ skip-if = e10s # Bug 921905 - pinTab/unpinTab fail in e10s [browser_visibleTabs_tabPreview.js] skip-if = (os == "win" && !debug) || e10s # Bug 1007418 / Bug 698371 - thumbnail captures need e10s love (tabPreviews_capture fails with Argument 1 of CanvasRenderingContext2D.drawWindow does not implement interface Window.) [browser_windowopen_reflows.js] +skip-if = buildapp == 'mulet' [browser_wyciwyg_urlbarCopying.js] skip-if = e10s # Bug ?????? - test directly manipulates content (content.document.getElementById) [browser_zbug569342.js] diff --git a/browser/base/content/test/newtab/browser.ini b/browser/base/content/test/newtab/browser.ini index 20a84f0a8756..ee011a0d5592 100644 --- a/browser/base/content/test/newtab/browser.ini +++ b/browser/base/content/test/newtab/browser.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = e10s # Bug ?????? - about:newtab tests don't work in e10s +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - about:newtab tests don't work in e10s support-files = head.js diff --git a/browser/base/content/test/plugins/browser.ini b/browser/base/content/test/plugins/browser.ini index cf9bdfcba86f..51f6ec9459c5 100644 --- a/browser/base/content/test/plugins/browser.ini +++ b/browser/base/content/test/plugins/browser.ini @@ -5,7 +5,7 @@ # * Bug XXXXX - no plugins in content processes ("Error: You cannot use the AddonManager in child processes!") # * Bug 866413 - PageInfo doesn't work in e10s [browser_pageInfo_plugins.js] # * Bug 921957 - remote webprogress doesn't supply originalURI attribute on the request object [browser_clearplugindata.js] -skip-if = e10s +skip-if = buildapp == "mulet" || e10s support-files = blockNoPlugins.xml blockPluginHard.xml diff --git a/browser/base/content/test/social/browser.ini b/browser/base/content/test/social/browser.ini index 8176814cb148..f6e2a7d8135e 100644 --- a/browser/base/content/test/social/browser.ini +++ b/browser/base/content/test/social/browser.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = e10s # Bug 915547 (social providers don't install) +skip-if = buildapp == "mulet" || e10s # Bug 915547 (social providers don't install) support-files = blocklist.xml checked.jpg diff --git a/browser/components/customizableui/test/browser.ini b/browser/components/customizableui/test/browser.ini index c1bdf706b3d1..f4a7ab0e5d9f 100644 --- a/browser/components/customizableui/test/browser.ini +++ b/browser/components/customizableui/test/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == "mulet" support-files = head.js support/test_967000_charEncoding_page.html @@ -75,7 +76,7 @@ skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s f [browser_967000_button_charEncoding.js] skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly. [browser_967000_button_feeds.js] -skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly. +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly. [browser_967000_button_sync.js] skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly. [browser_967000_button_tabView.js] diff --git a/browser/components/downloads/test/browser/browser.ini b/browser/components/downloads/test/browser/browser.ini index 2e1e1f45c60a..8b38affb1760 100644 --- a/browser/components/downloads/test/browser/browser.ini +++ b/browser/components/downloads/test/browser/browser.ini @@ -2,6 +2,7 @@ support-files = head.js [browser_basic_functionality.js] +skip-if = buildapp == "mulet" [browser_first_download_panel.js] skip-if = os == "linux" # Bug 949434 [browser_overflow_anchor.js] diff --git a/browser/components/feeds/test/chrome/chrome.ini b/browser/components/feeds/test/chrome/chrome.ini index f8d015d487b6..70789c258dec 100644 --- a/browser/components/feeds/test/chrome/chrome.ini +++ b/browser/components/feeds/test/chrome/chrome.ini @@ -4,4 +4,5 @@ support-files = sample_feed.atom [test_423060.xul] [test_bug368464.html] [test_bug408328.html] +skip-if= buildapp == 'mulet' [test_maxSniffing.html] diff --git a/browser/components/feeds/test/mochitest.ini b/browser/components/feeds/test/mochitest.ini index 46725466ec33..5737d31c81c4 100644 --- a/browser/components/feeds/test/mochitest.ini +++ b/browser/components/feeds/test/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || e10s support-files = bug368464-data.xml bug408328-data.xml diff --git a/browser/components/loop/test/mochitest/browser.ini b/browser/components/loop/test/mochitest/browser.ini index c50b515d100a..c56605806f50 100644 --- a/browser/components/loop/test/mochitest/browser.ini +++ b/browser/components/loop/test/mochitest/browser.ini @@ -4,3 +4,4 @@ support-files = [browser_mozLoop_charPref.js] [browser_mozLoop_doNotDisturb.js] +skip-if = buildapp == 'mulet' diff --git a/browser/components/places/tests/browser/browser.ini b/browser/components/places/tests/browser/browser.ini index 17497115b871..4cf37b6f96b0 100644 --- a/browser/components/places/tests/browser/browser.ini +++ b/browser/components/places/tests/browser/browser.ini @@ -3,6 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. [DEFAULT] +skip-if = buildapp == "mulet" support-files = head.js framedPage.html diff --git a/browser/components/preferences/in-content/tests/browser.ini b/browser/components/preferences/in-content/tests/browser.ini index d5806a432b08..85ce7dac54e2 100644 --- a/browser/components/preferences/in-content/tests/browser.ini +++ b/browser/components/preferences/in-content/tests/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == "mulet" support-files = head.js privacypane_tests_perwindow.js diff --git a/browser/components/preferences/tests/browser.ini b/browser/components/preferences/tests/browser.ini index 287e625ddfbc..87686dcc2a25 100644 --- a/browser/components/preferences/tests/browser.ini +++ b/browser/components/preferences/tests/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == "mulet" support-files = head.js privacypane_tests_perwindow.js diff --git a/browser/components/privatebrowsing/test/browser/browser.ini b/browser/components/privatebrowsing/test/browser/browser.ini index 8f9183550051..824344afde75 100644 --- a/browser/components/privatebrowsing/test/browser/browser.ini +++ b/browser/components/privatebrowsing/test/browser/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == "mulet" support-files = browser_privatebrowsing_concurrent_page.html browser_privatebrowsing_cookieacceptdialog.html diff --git a/browser/components/search/test/browser.ini b/browser/components/search/test/browser.ini index 8dc3919f1d93..9bf6850dfd97 100644 --- a/browser/components/search/test/browser.ini +++ b/browser/components/search/test/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' support-files = 426329.xml 483086-1.xml diff --git a/browser/components/sessionstore/test/browser.ini b/browser/components/sessionstore/test/browser.ini index 55939409c956..868918d89850 100644 --- a/browser/components/sessionstore/test/browser.ini +++ b/browser/components/sessionstore/test/browser.ini @@ -68,6 +68,7 @@ support-files = [browser_dynamic_frames.js] [browser_form_restore_events.js] [browser_formdata.js] +skip-if = buildapp == 'mulet' [browser_formdata_format.js] [browser_formdata_xpath.js] [browser_frametree.js] diff --git a/browser/components/tabview/test/browser.ini b/browser/components/tabview/test/browser.ini index 60ff5e6c208a..d8b11e52fb54 100644 --- a/browser/components/tabview/test/browser.ini +++ b/browser/components/tabview/test/browser.ini @@ -16,6 +16,7 @@ support-files = [browser_tabview_bug586553.js] [browser_tabview_bug587043.js] [browser_tabview_bug587231.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug587276.js] [browser_tabview_bug587351.js] [browser_tabview_bug587503.js] @@ -69,6 +70,7 @@ skip-if = os == "win" # Bug 951477 [browser_tabview_bug616967.js] [browser_tabview_bug618816.js] [browser_tabview_bug618828.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug619937.js] [browser_tabview_bug622835.js] [browser_tabview_bug623768.js] @@ -76,6 +78,7 @@ skip-if = os == "win" # Bug 951477 skip-if = true # Bug 921984, hopefully fixed by bug 930202 [browser_tabview_bug624692.js] [browser_tabview_bug624727_perwindowpb.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug624847.js] [browser_tabview_bug624931.js] [browser_tabview_bug624953.js] @@ -87,6 +90,7 @@ skip-if = true # Bug 921984, hopefully fixed by bug 930202 [browser_tabview_bug626455.js] [browser_tabview_bug626525.js] [browser_tabview_bug626791.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug627736.js] [browser_tabview_bug628061.js] [browser_tabview_bug628165.js] @@ -107,6 +111,7 @@ skip-if = true # Bug 922422 [browser_tabview_bug634672.js] [browser_tabview_bug635696.js] [browser_tabview_bug637840.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug640765.js] [browser_tabview_bug641802.js] [browser_tabview_bug642793.js] @@ -133,6 +138,7 @@ skip-if = os == "mac" || e10s # mac: Bug 939617; e10s - Bug ?????? - "leaked unt [browser_tabview_bug662266.js] [browser_tabview_bug663421.js] [browser_tabview_bug665502.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug669694.js] [browser_tabview_bug673196.js] [browser_tabview_bug673729.js] @@ -149,6 +155,7 @@ skip-if = true # Bug 736425 [browser_tabview_bug705621.js] [browser_tabview_bug706430.js] [browser_tabview_bug706736.js] +skip-if = buildapp == 'mulet' [browser_tabview_bug707466.js] [browser_tabview_bug712203.js] [browser_tabview_bug715454.js] diff --git a/browser/devtools/commandline/test/browser.ini b/browser/devtools/commandline/test/browser.ini index c306724bb934..9a42d3515244 100644 --- a/browser/devtools/commandline/test/browser.ini +++ b/browser/devtools/commandline/test/browser.ini @@ -7,6 +7,7 @@ support-files = mockCommands.js [browser_cmd_addon.js] +skip-if = buildapp == 'mulet' [browser_cmd_calllog.js] skip-if = true || e10s # Bug 845831 [browser_cmd_calllog_chrome.js] diff --git a/browser/devtools/debugger/test/browser.ini b/browser/devtools/debugger/test/browser.ini index 0420b4b1dfc7..77f0e47ee799 100644 --- a/browser/devtools/debugger/test/browser.ini +++ b/browser/devtools/debugger/test/browser.ini @@ -288,6 +288,7 @@ skip-if = (os == 'mac' || os == 'win') && (debug == false) # Bug 986166 [browser_dbg_variables-view-frame-parameters-03.js] [browser_dbg_variables-view-frame-with.js] [browser_dbg_variables-view-frozen-sealed-nonext.js] +skip-if = buildapp == 'mulet' [browser_dbg_variables-view-hide-non-enums.js] [browser_dbg_variables-view-large-array-buffer.js] [browser_dbg_variables-view-override-01.js] diff --git a/browser/devtools/netmonitor/test/browser.ini b/browser/devtools/netmonitor/test/browser.ini index a63cd230d921..c4144a71022e 100644 --- a/browser/devtools/netmonitor/test/browser.ini +++ b/browser/devtools/netmonitor/test/browser.ini @@ -39,6 +39,7 @@ support-files = [browser_net_charts-01.js] [browser_net_charts-02.js] [browser_net_charts-03.js] +skip-if= buildapp == 'mulet' [browser_net_charts-04.js] [browser_net_charts-05.js] [browser_net_charts-06.js] diff --git a/browser/devtools/projecteditor/test/browser.ini b/browser/devtools/projecteditor/test/browser.ini index 2ad99841262a..886be9cb72b0 100644 --- a/browser/devtools/projecteditor/test/browser.ini +++ b/browser/devtools/projecteditor/test/browser.ini @@ -6,8 +6,11 @@ support-files = helper_edits.js [browser_projecteditor_app_options.js] +skip-if = buildapp == 'mulet' [browser_projecteditor_delete_file.js] +skip-if = buildapp == 'mulet' [browser_projecteditor_editing_01.js] +skip-if = buildapp == 'mulet' [browser_projecteditor_editors_image.js] [browser_projecteditor_external_change.js] [browser_projecteditor_immediate_destroy.js] diff --git a/browser/devtools/scratchpad/test/browser.ini b/browser/devtools/scratchpad/test/browser.ini index 916b42709a7b..c5ddab709ca1 100644 --- a/browser/devtools/scratchpad/test/browser.ini +++ b/browser/devtools/scratchpad/test/browser.ini @@ -8,6 +8,7 @@ support-files = head.js [browser_scratchpad_reset_undo.js] [browser_scratchpad_display_outputs_errors.js] [browser_scratchpad_eval_func.js] +skip-if = buildapp == 'mulet' [browser_scratchpad_goto_line_ui.js] [browser_scratchpad_reload_and_run.js] [browser_scratchpad_display_non_error_exceptions.js] diff --git a/browser/devtools/shared/test/browser.ini b/browser/devtools/shared/test/browser.ini index 16768895b2e2..20bd00cda9f1 100644 --- a/browser/devtools/shared/test/browser.ini +++ b/browser/devtools/shared/test/browser.ini @@ -42,6 +42,7 @@ support-files = [browser_tableWidget_basic.js] [browser_tableWidget_keyboard_interaction.js] [browser_tableWidget_mouse_interaction.js] +skip-if = buildapp == 'mulet' [browser_telemetry_button_paintflashing.js] [browser_telemetry_button_responsive.js] [browser_telemetry_button_scratchpad.js] @@ -62,6 +63,7 @@ support-files = [browser_toolbar_basic.js] [browser_toolbar_tooltip.js] [browser_toolbar_webconsole_errors_count.js] +skip-if = buildapp == 'mulet' [browser_treeWidget_basic.js] [browser_treeWidget_keyboard_interaction.js] [browser_treeWidget_mouse_interaction.js] diff --git a/browser/devtools/webconsole/test/browser.ini b/browser/devtools/webconsole/test/browser.ini index 386b6a75eaed..a69d7690127f 100644 --- a/browser/devtools/webconsole/test/browser.ini +++ b/browser/devtools/webconsole/test/browser.ini @@ -122,6 +122,7 @@ support-files = [browser_bug_869003_inspect_cross_domain_object.js] [browser_bug_871156_ctrlw_close_tab.js] [browser_cached_messages.js] +skip-if = buildapp == 'mulet' [browser_console.js] [browser_console_addonsdk_loader_exception.js] [browser_console_clear_on_reload.js] @@ -129,18 +130,23 @@ support-files = [browser_console_consolejsm_output.js] [browser_console_dead_objects.js] [browser_console_error_source_click.js] +skip-if = buildapp == 'mulet' [browser_console_filters.js] [browser_console_iframe_messages.js] +skip-if = buildapp == 'mulet' [browser_console_keyboard_accessibility.js] [browser_console_log_inspectable_object.js] [browser_console_native_getters.js] [browser_console_navigation_marker.js] [browser_console_nsiconsolemessage.js] +skip-if = buildapp == 'mulet' [browser_console_optimized_out_vars.js] [browser_console_private_browsing.js] +skip-if = buildapp == 'mulet' [browser_console_variables_view.js] [browser_console_variables_view_dom_nodes.js] [browser_console_variables_view_dont_sort_non_sortable_classes_properties.js] +skip-if = buildapp == 'mulet' [browser_console_variables_view_while_debugging.js] [browser_console_variables_view_while_debugging_and_inspecting.js] [browser_eval_in_debugger_stackframe.js] @@ -150,13 +156,16 @@ support-files = [browser_output_breaks_after_console_dir_uninspectable.js] [browser_output_longstring_expand.js] [browser_repeated_messages_accuracy.js] +skip-if = buildapp == 'mulet' [browser_result_format_as_string.js] [browser_warn_user_about_replaced_api.js] [browser_webconsole_abbreviate_source_url.js] [browser_webconsole_allow_mixedcontent_securityerrors.js] +skip-if = buildapp == 'mulet' [browser_webconsole_assert.js] [browser_webconsole_basic_net_logging.js] [browser_webconsole_block_mixedcontent_securityerrors.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_579412_input_focus.js] [browser_webconsole_bug_580001_closing_after_completion.js] [browser_webconsole_bug_580030_errors_after_page_reload.js] @@ -223,16 +232,22 @@ run-if = os == "win" [browser_webconsole_bug_734061_No_input_change_and_Tab_key_pressed.js] [browser_webconsole_bug_737873_mixedcontent.js] [browser_webconsole_bug_762593_insecure_passwords_about_blank_web_console_warning.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_762593_insecure_passwords_web_console_warning.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_764572_output_open_url.js] [browser_webconsole_bug_766001_JS_Console_in_Debugger.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_770099_violation.js] [browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_804845_ctrl_key_nav.js] run-if = os == "mac" [browser_webconsole_bug_817834_add_edited_input_to_history.js] [browser_webconsole_bug_837351_securityerrors.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_846918_hsts_invalid-headers.js] +skip-if = buildapp == 'mulet' [browser_webconsole_bug_915141_toggle_response_logging_with_keyboard.js] [browser_webconsole_bug_1006027_message_timestamps_incorrect.js] [browser_webconsole_bug_1010953_cspro.js] diff --git a/browser/experiments/Experiments.jsm b/browser/experiments/Experiments.jsm index bd2a6c57f25a..3f6e5080c87f 100644 --- a/browser/experiments/Experiments.jsm +++ b/browser/experiments/Experiments.jsm @@ -2181,7 +2181,11 @@ this.Experiments.PreviousExperimentProvider.prototype = Object.freeze({ shutdown: function () { this._log.trace("shutdown()"); - Services.obs.removeObserver(this, EXPERIMENTS_CHANGED_TOPIC); + try { + Services.obs.removeObserver(this, EXPERIMENTS_CHANGED_TOPIC); + } catch(e) { + // Prevent crash in mochitest-browser3 on Mulet + } }, observe: function (subject, topic, data) { diff --git a/content/base/test/chrome.ini b/content/base/test/chrome.ini index 4432f014e9a7..77b0752c5900 100644 --- a/content/base/test/chrome.ini +++ b/content/base/test/chrome.ini @@ -3,3 +3,4 @@ [test_bug357450.js] [test_copypaste.xul] [test_messagemanager_principal.html] +skip-if = buildapp == 'mulet' diff --git a/content/base/test/chrome/chrome.ini b/content/base/test/chrome/chrome.ini index 3159db9858e8..78aca03f29be 100644 --- a/content/base/test/chrome/chrome.ini +++ b/content/base/test/chrome/chrome.ini @@ -33,6 +33,7 @@ support-files = [test_bug549682.xul] [test_bug571390.xul] [test_bug574596.html] +skip-if = buildapp == 'mulet' [test_bug599295.html] [test_bug616841.xul] [test_bug635835.xul] @@ -52,7 +53,7 @@ support-files = [test_bug914381.html] [test_bug990812.xul] [test_cpows.xul] -skip-if = toolkit == "cocoa" +skip-if = buildapp == 'mulet' || toolkit == "cocoa" [test_document_register.xul] [test_domparsing.xul] [test_fileconstructor.xul] diff --git a/content/base/test/mochitest-child-permissions.ini b/content/base/test/mochitest-child-permissions.ini index 238e3d1ec441..7b798216b482 100644 --- a/content/base/test/mochitest-child-permissions.ini +++ b/content/base/test/mochitest-child-permissions.ini @@ -1,4 +1,4 @@ [test_messagemanager_assertpermission.html] -skip-if = buildapp == 'b2g' #b2g(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-debug(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-desktop(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' #b2g(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-debug(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-desktop(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) [test_child_process_shutdown_message.html] -skip-if = buildapp == 'b2g' #b2g(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-debug(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-desktop(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' #b2g(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-debug(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) b2g-desktop(specialpowers.wrap issue, NS_ERROR_XPC_GS_RETURNED_FAILURE) diff --git a/content/base/test/mochitest.ini b/content/base/test/mochitest.ini index 70a4cc1d7683..84b0cc31eab2 100644 --- a/content/base/test/mochitest.ini +++ b/content/base/test/mochitest.ini @@ -536,7 +536,7 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 901343, specialpowers.wr [test_bug819051.html] [test_bug820909.html] [test_bug827160.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #needs plugin support # b2g(needs plugin support) b2g-debug(debug-only failure) b2g-desktop(needs plugin support) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #needs plugin support # b2g(needs plugin support) b2g-debug(debug-only failure) b2g-desktop(needs plugin support) [test_bug840098.html] [test_bug864595.html] [test_bug868999.html] @@ -592,20 +592,20 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #bug 775227 [test_meta_viewport5.html] [test_meta_viewport6.html] [test_mixed_content_blocker.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT, SSL_REQUIRED +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT, SSL_REQUIRED [test_mixed_content_blocker_bug803225.html] skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT, SSL_REQUIRED [test_mixed_content_blocker_frameNavigation.html] skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT, SSL_REQUIRED [test_mozfiledataurl.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT [test_mutationobservers.html] skip-if = buildapp == 'b2g' || e10s # b2g(bug 901385, showmodaldialog) b2g-debug(bug 901385, showmodaldialog) b2g-desktop(bug 901385, showmodaldialog) [test_nodelist_holes.html] [test_object.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(needs plugin support) b2g-debug(needs plugin support) b2g-desktop(needs plugin support) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(needs plugin support) b2g-debug(needs plugin support) b2g-desktop(needs plugin support) [test_plugin_freezing.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #CLICK_TO_PLAY +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #CLICK_TO_PLAY [test_processing_instruction_update_stylesheet.xhtml] [test_range_bounds.html] skip-if = toolkit == 'android' || e10s diff --git a/content/canvas/test/mochitest.ini b/content/canvas/test/mochitest.ini index 18bf84d5aa91..6227d5a31736 100644 --- a/content/canvas/test/mochitest.ini +++ b/content/canvas/test/mochitest.ini @@ -202,7 +202,7 @@ skip-if = os == "android" || appname == "b2g" [test_drawImage_edge_cases.html] [test_drawWindow.html] support-files = file_drawWindow_source.html file_drawWindow_common.js -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') [test_ImageData_ctor.html] [test_isPointInStroke.html] [test_mozDashOffset.html] diff --git a/content/canvas/test/webgl-conformance/mochitest.ini b/content/canvas/test/webgl-conformance/mochitest.ini index 7670a805b3b6..b2caf9cc2ac9 100644 --- a/content/canvas/test/webgl-conformance/mochitest.ini +++ b/content/canvas/test/webgl-conformance/mochitest.ini @@ -18,4 +18,4 @@ support-files = skipped_tests_winxp.txt [test_webgl_conformance_test_suite.html] -skip-if = (buildapp == 'b2g') # bug 865443- separate suite - the non_conf* tests pass except for one on armv6 tests +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # bug 865443- separate suite - the non_conf* tests pass except for one on armv6 tests diff --git a/content/canvas/test/webgl-mochitest/mochitest.ini b/content/canvas/test/webgl-mochitest/mochitest.ini index 89cc65ba8794..94c74f10020c 100644 --- a/content/canvas/test/webgl-mochitest/mochitest.ini +++ b/content/canvas/test/webgl-mochitest/mochitest.ini @@ -15,7 +15,7 @@ support-files = [test_webgl_available.html] skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests [test_webgl_conformance.html] -skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests +skip-if = buildapp == 'mulet' || toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests [test_webgl_request_context.html] skip-if = toolkit == 'android' #bug 865443- seperate suite - the non_conf* tests pass except for one on armv6 tests [test_webgl_request_mismatch.html] diff --git a/content/html/content/test/forms/mochitest.ini b/content/html/content/test/forms/mochitest.ini index c246692e5523..37bcd0dd5113 100644 --- a/content/html/content/test/forms/mochitest.ini +++ b/content/html/content/test/forms/mochitest.ini @@ -7,7 +7,7 @@ support-files = [test_button_attributes_reflection.html] [test_input_radio_radiogroup.html] [test_change_event.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_datalist_element.html] [test_experimental_forms_pref.html] [test_form_attribute-1.html] @@ -17,42 +17,49 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop spec [test_form_attributes_reflection.html] [test_form_named_getter_dynamic.html] [test_formaction_attribute.html] +skip-if = buildapp == 'mulet' [test_formnovalidate_attribute.html] +skip-if = buildapp == 'mulet' [test_input_attributes_reflection.html] [test_input_autocomplete.html] [test_input_color_input_change_events.html] +skip-if = buildapp == 'mulet' [test_input_color_picker_initial.html] +skip-if = buildapp == 'mulet' [test_input_color_picker_popup.html] +skip-if = buildapp == 'mulet' [test_input_color_picker_update.html] +skip-if = buildapp == 'mulet' [test_input_defaultValue.html] [test_input_email.html] [test_input_event.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop and mulet specific, initial triage [test_input_file_picker.html] skip-if = buildapp == 'b2g' # b2g(5 failures out of 139 and timing out, bug 901581) b2g-debug(5 failures out of 139 and timing out, bug 901581) b2g-desktop(5 failures out of 139 and timing out, bug 901581) [test_input_list_attribute.html] [test_input_number_l10n.html] # We don't build ICU for Firefox for Android or Firefox OS: -skip-if = os == "android" || appname == "b2g" +skip-if = buildapp == 'mulet' || os == "android" || appname == "b2g" [test_input_number_key_events.html] [test_input_number_mouse_events.html] # Not run on Firefox OS and Firefox for Android where the spin buttons are hidden: -skip-if = os == "android" || appname == "b2g" +skip-if = os == "android" || appname == "b2g" || buildapp == "mulet" [test_input_number_rounding.html] -skip-if = os == "android" +skip-if = os == "android" || buildapp == "mulet" [test_input_number_validation.html] # We don't build ICU for Firefox for Android or Firefox OS: -skip-if = os == "android" || appname == "b2g" +skip-if = buildapp == 'mulet' || os == "android" || appname == "b2g" [test_input_range_attr_order.html] [test_input_range_key_events.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_input_range_mouse_and_touch_events.html] skip-if = (toolkit == 'gonk' && debug) #debug-only failure; bug 926546 [test_input_range_rounding.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_input_sanitization.html] [test_input_textarea_set_value_no_scroll.html] [test_input_typing_sanitization.html] +skip-if = buildapp == 'mulet' [test_input_untrusted_key_events.html] [test_input_url.html] [test_label_control_attribute.html] diff --git a/content/html/content/test/mochitest.ini b/content/html/content/test/mochitest.ini index 40f4da2c45b1..472ad8d9506d 100644 --- a/content/html/content/test/mochitest.ini +++ b/content/html/content/test/mochitest.ini @@ -324,14 +324,14 @@ skip-if = e10s [test_bug610687.html] [test_bug611189.html] [test_bug612730.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-debug(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-desktop(form control not selected/checked with synthesizeMouse, also fails on Android) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' # b2g(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-debug(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-desktop(form control not selected/checked with synthesizeMouse, also fails on Android) [test_bug613113.html] skip-if = buildapp == 'b2g' || e10s # b2g(bug 587671, need an invalidformsubmit observer) b2g-debug(bug 587671, need an invalidformsubmit observer) b2g-desktop(bug 587671, need an invalidformsubmit observer) [test_bug613722.html] [test_bug613979.html] [test_bug615595.html] [test_bug615833.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-debug(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-desktop(form control not selected/checked with synthesizeMouse, also fails on Android) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-debug(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-desktop(form control not selected/checked with synthesizeMouse, also fails on Android) [test_bug617528.html] [test_bug618948.html] skip-if = buildapp == 'b2g' || e10s # b2g(bug 587671, need an invalidformsubmit observer) b2g-debug(bug 587671, need an invalidformsubmit observer) b2g-desktop(bug 587671, need an invalidformsubmit observer) @@ -432,7 +432,7 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(NS_ skip-if = toolkit == 'android' [test_formelements.html] [test_fullscreen-api.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(time out, some kind of focus issue) b2g-debug(time out, some kind of focus issue) b2g-desktop(time out, some kind of focus issue) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(time out, some kind of focus issue) b2g-debug(time out, some kind of focus issue) b2g-desktop(time out, some kind of focus issue) [test_hidden.html] [test_html_attributes_reflection.html] [test_htmlcollection.html] @@ -440,13 +440,13 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(tim skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_iframe_sandbox_inheritance.html] [test_iframe_sandbox_modal.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #modal tests fail on android # b2g(modal tests fail on B2G) b2g-debug(modal tests fail on B2G) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #modal tests fail on android # b2g(modal tests fail on B2G) b2g-debug(modal tests fail on B2G) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) [test_iframe_sandbox_navigation.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #time out on b2g desktop specific [test_iframe_sandbox_navigation2.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #time out on b2g desktop specific [test_iframe_sandbox_plugins.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) [test_iframe_sandbox_popups.html] skip-if = buildapp == 'b2g' # b2g(multiple concurrent window.open()s fail on B2G) b2g-debug(multiple concurrent window.open()s fail on B2G) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) [test_iframe_sandbox_popups_inheritance.html] @@ -466,12 +466,12 @@ skip-if = buildapp == 'b2g' || e10s # b2g(multiple concurrent window.open()s fai [test_meta_attributes_reflection.html] [test_mod_attributes_reflection.html] [test_mozaudiochannel.html] -skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(Perma-orange on debug emulator) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(Perma-orange on debug emulator) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) [test_named_options.html] [test_nested_invalid_fieldsets.html] [test_object_attributes_reflection.html] [test_object_plugin_nav.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) [test_ol_attributes_reflection.html] [test_option_defaultSelected.html] [test_option_selected_state.html] diff --git a/content/html/document/test/mochitest.ini b/content/html/document/test/mochitest.ini index ebcaae613726..4c138805be00 100644 --- a/content/html/document/test/mochitest.ini +++ b/content/html/document/test/mochitest.ini @@ -38,10 +38,10 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' || e1 [test_bug340017.xhtml] [test_bug359657.html] [test_bug369370.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s [test_bug380383.html] [test_bug391777.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_bug402680.html] [test_bug403868.html] [test_bug403868.xhtml] diff --git a/content/media/test/mochitest.ini b/content/media/test/mochitest.ini index 0b5ae364a87f..b009707c2dd9 100644 --- a/content/media/test/mochitest.ini +++ b/content/media/test/mochitest.ini @@ -22,7 +22,7 @@ # do ok(true, "Type not supported") and stop the test. [DEFAULT] -skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug,b2g-desktop(bug 918299) +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug,b2g-desktop(bug 918299) support-files = 320x240.ogv 320x240.ogv^headers^ @@ -306,7 +306,7 @@ skip-if = true # bug 475110 - disabled since we don't play Wave files standalone [test_autoplay_contentEditable.html] [test_buffered.html] [test_bug448534.html] -skip-if = os == 'win' # bug 894922 +skip-if = buildapp == 'mulet' || os == 'win' # bug 894922 [test_bug463162.xhtml] [test_bug465498.html] [test_bug493187.html] diff --git a/content/media/webspeech/recognition/test/mochitest.ini b/content/media/webspeech/recognition/test/mochitest.ini index 7e4b3143031f..fb70608fd2c8 100644 --- a/content/media/webspeech/recognition/test/mochitest.ini +++ b/content/media/webspeech/recognition/test/mochitest.ini @@ -10,7 +10,7 @@ support-files = [test_audio_capture_error.html] [test_call_start_from_end_handler.html] [test_nested_eventloop.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) [test_preference_enable.html] [test_recognition_service_error.html] skip-if = buildapp == 'b2g' # b2g(timed out) diff --git a/content/svg/content/test/mochitest.ini b/content/svg/content/test/mochitest.ini index 30a668c6a719..4f5a87d0e1e1 100644 --- a/content/svg/content/test/mochitest.ini +++ b/content/svg/content/test/mochitest.ini @@ -86,7 +86,7 @@ skip-if = true [test_text_lengthAdjust.html] [test_text_scaled.html] [test_text_selection.html] -skip-if = buildapp == 'b2g' # b2g(Mouse selection not workin on b2g) b2g-debug(Mouse selection not workin on b2g) b2g-desktop(Mouse selection not workin on b2g) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # b2g(Mouse selection not workin on b2g) b2g-debug(Mouse selection not workin on b2g) b2g-desktop(Mouse selection not workin on b2g) [test_text_update.html] [test_transform.xhtml] [test_transformParsing.html] diff --git a/content/xul/content/test/mochitest.ini b/content/xul/content/test/mochitest.ini index c6ae56a82269..2ca10f272b56 100644 --- a/content/xul/content/test/mochitest.ini +++ b/content/xul/content/test/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' #tests that use xul +skip-if = buildapp == 'mulet' || buildapp == 'b2g' #tests that use xul [test_bug486990.xul] skip-if = toolkit == 'android' #TIMED_OUT diff --git a/content/xul/templates/tests/chrome/chrome.ini b/content/xul/templates/tests/chrome/chrome.ini index 21db61762b51..2c1da41317be 100644 --- a/content/xul/templates/tests/chrome/chrome.ini +++ b/content/xul/templates/tests/chrome/chrome.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' support-files = animals.rdf animals.sqlite diff --git a/docshell/test/browser/browser.ini b/docshell/test/browser/browser.ini index 682ebd2de136..b6a9b035dc5a 100644 --- a/docshell/test/browser/browser.ini +++ b/docshell/test/browser/browser.ini @@ -72,8 +72,9 @@ skip-if = e10s # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions n [browser_bug422543.js] skip-if = e10s # Bug ?????? - obscure test failures (shistory has a new entry - Got initial, expected newentry) [browser_bug441169.js] +skip-if = buildapp == 'mulet' [browser_bug503832.js] -skip-if = e10s # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly +skip-if = buildapp == 'mulet' || e10s # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly [browser_bug554155.js] [browser_bug655270.js] skip-if = e10s # Bug ?????? - PlacesUtils.history.addObserver notifications don't seem to fire diff --git a/docshell/test/chrome/chrome.ini b/docshell/test/chrome/chrome.ini index 6a756a453c5d..585a45aead1f 100644 --- a/docshell/test/chrome/chrome.ini +++ b/docshell/test/chrome/chrome.ini @@ -56,10 +56,12 @@ support-files = [test_bug301397.xul] [test_bug303267.xul] [test_bug311007.xul] +skip-if = buildapp == 'mulet' [test_bug321671.xul] [test_bug360511.xul] [test_bug364461.xul] [test_bug396519.xul] +skip-if = buildapp == 'mulet' [test_bug396649.xul] [test_bug428288.html] [test_bug449778.xul] diff --git a/docshell/test/mochitest.ini b/docshell/test/mochitest.ini index 3a46fc3e35db..385dd0c0f89c 100644 --- a/docshell/test/mochitest.ini +++ b/docshell/test/mochitest.ini @@ -40,7 +40,7 @@ support-files = skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug123696.html] [test_bug369814.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug384014.html] [test_bug385434.html] [test_bug387979.html] @@ -57,9 +57,9 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop spec skip-if = toolkit != "cocoa" || e10s support-files = file_bug511449.html [test_bug529119-1.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug529119-2.html] -skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(debug-only failure) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(debug-only failure) b2g-desktop(Bug 931116, b2g desktop specific, initial triage) [test_bug530396.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Timeouts on B2G desktop support-files = bug530396-noref.sjs bug530396-subframe.html diff --git a/dom/alarm/test/mochitest.ini b/dom/alarm/test/mochitest.ini index 0110820eda94..f54189afe01d 100644 --- a/dom/alarm/test/mochitest.ini +++ b/dom/alarm/test/mochitest.ini @@ -5,16 +5,16 @@ support-files = file_empty.html [test_alarm_add_data.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_alarm_add_date.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_alarm_add_respectTimezone.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_alarm_non_permitted_app.html] [test_alarm_permitted_app.html] [test_alarm_remove.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug1015540.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug1037079.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage diff --git a/dom/animation/test/mochitest.ini b/dom/animation/test/mochitest.ini index 2f33e470dc13..ddd97fd03955 100644 --- a/dom/animation/test/mochitest.ini +++ b/dom/animation/test/mochitest.ini @@ -1,3 +1,5 @@ [animation-timeline/test_animation-timeline.html] +skip-if = buildapp == 'mulet' [css-integration/test_element-get-animation-players.html] +skip-if = buildapp == 'mulet' [css-integration/test_animations-dynamic-changes.html] diff --git a/dom/audiochannel/tests/mochitest.ini b/dom/audiochannel/tests/mochitest.ini index 9cbe25785b41..9e5de668f74c 100644 --- a/dom/audiochannel/tests/mochitest.ini +++ b/dom/audiochannel/tests/mochitest.ini @@ -6,6 +6,6 @@ support-files = AudioChannelChromeScript.js [test_telephonyPolicy.html] -skip-if = (toolkit == 'gonk' || e10s) +skip-if = buildapp == 'mulet' || (toolkit == 'gonk' || e10s) [test_audioChannelChange.html] skip-if = (toolkit != 'gonk') diff --git a/dom/base/test/mochitest.ini b/dom/base/test/mochitest.ini index 1789c8689e1e..f1e8367f9349 100644 --- a/dom/base/test/mochitest.ini +++ b/dom/base/test/mochitest.ini @@ -13,6 +13,7 @@ support-files = [test_appname_override.html] [test_audioWindowUtils.html] [test_audioNotification.html] +skip-if = buildapp == 'mulet' [test_bug793311.html] [test_bug913761.html] [test_bug976673.html] @@ -25,7 +26,7 @@ support-files = [test_constructor-assignment.html] [test_constructor.html] [test_dialogArguments.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s [test_document.all_unqualified.html] [test_domcursor.html] [test_domrequest.html] diff --git a/dom/browser-element/mochitest/mochitest-oop.ini b/dom/browser-element/mochitest/mochitest-oop.ini index db15d8211edd..d912ce52203d 100644 --- a/dom/browser-element/mochitest/mochitest-oop.ini +++ b/dom/browser-element/mochitest/mochitest-oop.ini @@ -3,7 +3,7 @@ # so we don't run that test on platforms which don't support OOP tests. # OOP tests don't work on native-fennec (bug 774939). # Bug 960345 - Disabled on OSX debug for frequent crashes. -skip-if = os == "android" || (toolkit == "cocoa" && debug) || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || e10s +skip-if = os == "android" || (toolkit == "cocoa" && debug) || buildapp == 'mulet' || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || e10s support-files = browserElement_OpenMixedProcess.js file_browserElement_OpenMixedProcess.html diff --git a/dom/browser-element/mochitest/mochitest.ini b/dom/browser-element/mochitest/mochitest.ini index 17472e37ec1c..2d96a30e86e2 100644 --- a/dom/browser-element/mochitest/mochitest.ini +++ b/dom/browser-element/mochitest/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || e10s +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || e10s support-files = ../../../browser/base/content/test/general/audio.ogg ../../../content/media/test/short-video.ogv diff --git a/dom/browser-element/mochitest/priority/mochitest.ini b/dom/browser-element/mochitest/priority/mochitest.ini index 393f7bba918e..a9932314e1a7 100644 --- a/dom/browser-element/mochitest/priority/mochitest.ini +++ b/dom/browser-element/mochitest/priority/mochitest.ini @@ -1,6 +1,6 @@ [DEFAULT] # Good luck running these tests on anything but desktop Linux. -skip-if = toolkit != "gtk2" || (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || e10s +skip-if = toolkit != "gtk2" || ((buildapp =='mulet' || buildapp == 'b2g') && (toolkit != 'gonk' || debug)) || e10s # Note: ../browserElementTestHelpers.js makes all tests in this directory OOP, # because testing the process-priority manager without OOP frames does not make diff --git a/dom/devicestorage/ipc/mochitest.ini b/dom/devicestorage/ipc/mochitest.ini index 37bb5f93bb6f..bab5e0b46ff5 100644 --- a/dom/devicestorage/ipc/mochitest.ini +++ b/dom/devicestorage/ipc/mochitest.ini @@ -3,4 +3,4 @@ skip-if = toolkit == 'android' || e10s #bug 781789 & bug 782275 support-files = ../test/devicestorage_common.js [test_ipc.html] -skip-if = buildapp == 'b2g' # b2g(nested ipc not working) b2g-debug(nested ipc not working) b2g-desktop(nested ipc not working) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # b2g(nested ipc not working) b2g-debug(nested ipc not working) b2g-desktop(nested ipc not working) diff --git a/dom/devicestorage/test/chrome.ini b/dom/devicestorage/test/chrome.ini index 568a23ac75b5..d7e88eb147d5 100644 --- a/dom/devicestorage/test/chrome.ini +++ b/dom/devicestorage/test/chrome.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' [test_app_permissions.html] [test_fs_app_permissions.html] diff --git a/dom/downloads/tests/mochitest.ini b/dom/downloads/tests/mochitest.ini index 4b200d829c88..aee62b639434 100644 --- a/dom/downloads/tests/mochitest.ini +++ b/dom/downloads/tests/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' # bug 979446, frequent failures +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # bug 979446, frequent failures support-files = serve_file.sjs diff --git a/dom/events/test/mochitest.ini b/dom/events/test/mochitest.ini index 4eeff715106e..b7d0f197ac54 100644 --- a/dom/events/test/mochitest.ini +++ b/dom/events/test/mochitest.ini @@ -40,30 +40,32 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT [test_bug422132.html] skip-if = buildapp == 'b2g' || e10s # b2g(2 failures out of 8, mousewheel test) b2g-debug(2 failures out of 8, mousewheel test) b2g-desktop(2 failures out of 8, mousewheel test) [test_bug426082.html] -skip-if = buildapp == 'b2g' || os == "win" || toolkit == 'android' || e10s # Intermittent failures, bug 921693 # b2g(1 failure out of 6, Moving the mouse down from the label should have unpressed the button) b2g-debug(1 failure out of 6, Moving the mouse down from the label should have unpressed the button) b2g-desktop(1 failure out of 6, Moving the mouse down from the label should have unpressed the button) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || os == "win" || toolkit == 'android' || e10s # Intermittent failures, bug 921693 # b2g(1 failure out of 6, Moving the mouse down from the label should have unpressed the button) b2g-debug(1 failure out of 6, Moving the mouse down from the label should have unpressed the button) b2g-desktop(1 failure out of 6, Moving the mouse down from the label should have unpressed the button) [test_bug427537.html] [test_bug428988.html] [test_bug432698.html] +skip-if = buildapp == 'mulet' [test_bug443985.html] [test_bug447736.html] [test_bug448602.html] [test_bug450876.html] +skip-if = buildapp == 'mulet' [test_bug456273.html] [test_bug457672.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' #CRASH_DUMP, RANDOM +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug489671.html] [test_bug493251.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug502818.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug508479.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #CRASH_DUMP, RANDOM # b2g(drag event, also fails on Android) b2g-debug(drag event, also fails on Android) b2g-desktop(drag event, also fails on Android) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #CRASH_DUMP, RANDOM # b2g(drag event, also fails on Android) b2g-debug(drag event, also fails on Android) b2g-desktop(drag event, also fails on Android) [test_bug822898.html] [test_bug517851.html] [test_bug534833.html] skip-if = buildapp == 'b2g' || toolkit == 'android' #CRASH_DUMP, RANDOM # b2g(4 failures out of 6, bug 901564,click not fired, also disabled on Android) b2g-debug(4 failures out of 6, bug 901564,click not fired, also disabled on Android) b2g-desktop(4 failures out of 6, bug 901564,click not fired, also disabled on Android) [test_bug545268.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #CRASH_DUMP, RANDOM #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #CRASH_DUMP, RANDOM #Bug 931116, b2g desktop specific, initial triage [test_bug547996-1.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug547996-2.xhtml] @@ -81,7 +83,7 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(1 failure out of 615, [test_bug605242.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug607464.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' #CRASH_DUMP, RANDOM +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug613634.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug615597.html] @@ -143,18 +145,20 @@ skip-if = buildapp == 'b2g' || e10s # b2g(456 failed out of 19873, mousewheel te [test_draggableprop.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_dragstart.html] -skip-if = buildapp == 'b2g' # b2g(drag event, also fails on Android) b2g-debug(drag event, also fails on Android) b2g-desktop(drag event, also fails on Android) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # b2g(drag event, also fails on Android) b2g-debug(drag event, also fails on Android) b2g-desktop(drag event, also fails on Android) [test_error_events.html] skip-if = toolkit == 'android' #TIMED_OUT [test_eventctors.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_eventTimeStamp.html] [test_focus_disabled.html] +skip-if = buildapp == 'mulet' [test_messageEvent.html] [test_moz_mouse_pixel_scroll_event.html] +skip-if = buildapp == 'mulet' [test_onerror_handler_args.html] [test_wheel_default_action.html] -skip-if = buildapp == 'b2g' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || e10s [test_bug985988.html] [test_dom_storage_event.html] [test_bug998809.html] diff --git a/dom/identity/tests/mochitest/chrome.ini b/dom/identity/tests/mochitest/chrome.ini index a19d9f30a63b..adcf54945fef 100644 --- a/dom/identity/tests/mochitest/chrome.ini +++ b/dom/identity/tests/mochitest/chrome.ini @@ -12,5 +12,6 @@ support-files= [test_declareAudience.html] [test_rpHasValidCallbacks.html] +skip-if = buildapp == 'mulet' [test_syntheticEvents.html] diff --git a/dom/indexedDB/ipc/mochitest.ini b/dom/indexedDB/ipc/mochitest.ini index 4a55c62e16d7..81b48267ea25 100644 --- a/dom/indexedDB/ipc/mochitest.ini +++ b/dom/indexedDB/ipc/mochitest.ini @@ -1,4 +1,4 @@ [DEFAULT] [test_ipc.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #bug 783513 # b2g(nested ipc not working) b2g-debug(nested ipc not working) b2g-desktop(nested ipc not working) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #bug 783513 # b2g(nested ipc not working) b2g-debug(nested ipc not working) b2g-desktop(nested ipc not working) diff --git a/dom/indexedDB/test/mochitest.ini b/dom/indexedDB/test/mochitest.ini index 0da0e834e2e7..f8053fc50146 100644 --- a/dom/indexedDB/test/mochitest.ini +++ b/dom/indexedDB/test/mochitest.ini @@ -239,10 +239,10 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop spec [test_unique_index_update.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_webapp_clearBrowserData_inproc_inproc.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #No test app installed #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') || toolkit == 'android' #No test app installed #Bug 931116, b2g desktop specific, initial triage [test_webapp_clearBrowserData_inproc_oop.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #No test app installed #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') || toolkit == 'android' #No test app installed #Bug 931116, b2g desktop specific, initial triage [test_webapp_clearBrowserData_oop_inproc.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #No test app installed #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') || toolkit == 'android' #No test app installed #Bug 931116, b2g desktop specific, initial triage [test_bug937006.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage diff --git a/dom/indexedDB/test/unit/xpcshell.ini b/dom/indexedDB/test/unit/xpcshell.ini index be4e7a6f60db..306bd42e58cf 100644 --- a/dom/indexedDB/test/unit/xpcshell.ini +++ b/dom/indexedDB/test/unit/xpcshell.ini @@ -31,7 +31,7 @@ support-files = [test_getAll.js] [test_globalObjects_ipc.js] # FIXME/bug 575918: out-of-process xpcshell is broken on OS X -skip-if = os == "mac" || os == "android" +skip-if = buildapp == 'mulet' || os == "mac" || os == "android" [test_globalObjects_other.js] [test_globalObjects_xpc.js] [test_global_data.js] diff --git a/dom/ipc/tests/chrome.ini b/dom/ipc/tests/chrome.ini index 8a05fe088b7a..58acba9ffe09 100644 --- a/dom/ipc/tests/chrome.ini +++ b/dom/ipc/tests/chrome.ini @@ -4,3 +4,4 @@ support-files = process_error_contentscript.js [test_process_error.xul] +skip-if = buildapp == "mulet" diff --git a/dom/messages/test/mochitest.ini b/dom/messages/test/mochitest.ini index 7ebc13d88c34..5fc124679d01 100644 --- a/dom/messages/test/mochitest.ini +++ b/dom/messages/test/mochitest.ini @@ -2,4 +2,4 @@ skip-if = e10s [test_bug_993732.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = buildapp == 'mulet' || (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage diff --git a/dom/permission/tests/mochitest.ini b/dom/permission/tests/mochitest.ini index f6da99653cd6..962d3db1774d 100644 --- a/dom/permission/tests/mochitest.ini +++ b/dom/permission/tests/mochitest.ini @@ -7,7 +7,7 @@ support-files = [test_alarms.html] [test_browser.html] [test_embed-apps.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_idle.html] skip-if = (toolkit == 'gonk' && debug) #debug-only failure [test_permission_basics.html] @@ -24,4 +24,4 @@ skip-if = toolkit == 'android' [test_input-manage.html] skip-if = toolkit == 'android' [test_wifi-manage.html] -skip-if = (buildapp != 'b2g') || (buildapp == 'b2g' && toolkit != 'gonk') #b2g-desktop(Bug 931116, b2g desktop specific, initial triage) \ No newline at end of file +skip-if = (buildapp != 'b2g') || (buildapp == 'b2g' && toolkit != 'gonk') #b2g-desktop(Bug 931116, b2g desktop specific, initial triage) diff --git a/dom/plugins/test/mochitest/chrome.ini b/dom/plugins/test/mochitest/chrome.ini index 44b303bc11f1..5beb831e370b 100644 --- a/dom/plugins/test/mochitest/chrome.ini +++ b/dom/plugins/test/mochitest/chrome.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == "mulet" support-files = hang_test.js privatemode_perwindowpb.xul diff --git a/dom/plugins/test/mochitest/mochitest.ini b/dom/plugins/test/mochitest/mochitest.ini index 9a326927e33f..a4aca3191da0 100644 --- a/dom/plugins/test/mochitest/mochitest.ini +++ b/dom/plugins/test/mochitest/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || e10s #b2g-desktop(tests that use plugins) +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') || e10s #b2g-desktop(tests that use plugins) support-files = 307-xo-redirect.sjs crashing_subpage.html diff --git a/dom/plugins/test/unit/xpcshell.ini b/dom/plugins/test/unit/xpcshell.ini index eaa0022a144d..2e81b4f456e5 100644 --- a/dom/plugins/test/unit/xpcshell.ini +++ b/dom/plugins/test/unit/xpcshell.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' head = head_plugins.js tail = diff --git a/dom/power/test/mochitest.ini b/dom/power/test/mochitest.ini index 1d1da9d9df04..3c519d46262d 100644 --- a/dom/power/test/mochitest.ini +++ b/dom/power/test/mochitest.ini @@ -4,7 +4,7 @@ skip-if = e10s [test_bug957893.html] [test_bug957899.html] [test_wakelock_not_exposed.html] -run-if = appname != "b2g" +run-if = appname != "b2g" && buildapp != "mulet" [test_power_basics.html] [test_power_set_cpusleepallowed.html] skip-if = toolkit != "gonk" diff --git a/dom/settings/tests/chrome.ini b/dom/settings/tests/chrome.ini index 75dc4064aad6..759514814058 100644 --- a/dom/settings/tests/chrome.ini +++ b/dom/settings/tests/chrome.ini @@ -2,5 +2,6 @@ [test_settings_service.js] [test_settings_service.xul] +skip-if= buildapp == 'mulet' [test_settings_service_callback.js] [test_settings_service_callback.xul] diff --git a/dom/tests/browser/browser.ini b/dom/tests/browser/browser.ini index 0fa50199837a..1be9889af13e 100644 --- a/dom/tests/browser/browser.ini +++ b/dom/tests/browser/browser.ini @@ -11,11 +11,13 @@ support-files = worker_bug1004814.js [browser_bug1008941_dismissGeolocationHanger.js] +skip-if = buildapp == 'mulet' [browser_test__content.js] [browser_ConsoleAPITests.js] [browser_ConsoleStorageAPITests.js] [browser_ConsoleStoragePBTest_perwindowpb.js] [browser_autofocus_background.js] +skip-if= buildapp == 'mulet' [browser_autofocus_preference.js] [browser_bug396843.js] [browser_focus_steal_from_chrome.js] @@ -24,7 +26,7 @@ support-files = [browser_geolocation_privatebrowsing_perwindowpb.js] [browser_localStorage_privatestorageevent.js] [browser_test_new_window_from_content.js] -skip-if = (toolkit == 'android' || buildapp == 'b2g') +skip-if = (toolkit == 'android' || buildapp == 'b2g' || buildapp == 'mulet') support-files = test_new_window_from_content_child.html test_new_window_from_content_child.js @@ -39,4 +41,5 @@ support-files = [browser_webapps_perms_reinstall.js] disabled = re-enable when bug 794920 is fixed [browser_xhr_sandbox.js] +skip-if= buildapp == 'mulet' [browser_bug1004814.js] diff --git a/dom/tests/mochitest/ajax/offline/mochitest.ini b/dom/tests/mochitest/ajax/offline/mochitest.ini index 5125653d943a..dba8a3b462b2 100644 --- a/dom/tests/mochitest/ajax/offline/mochitest.ini +++ b/dom/tests/mochitest/ajax/offline/mochitest.ini @@ -74,7 +74,7 @@ skip-if = buildapp == 'b2g' [test_bug474696.html] skip-if = buildapp == 'b2g' [test_bug544462.html] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' [test_bug744719-cancel.html] skip-if = buildapp == 'b2g' [test_bug744719.html] diff --git a/dom/tests/mochitest/bugs/mochitest.ini b/dom/tests/mochitest/bugs/mochitest.ini index e1a954c5a9e8..774177e984fc 100644 --- a/dom/tests/mochitest/bugs/mochitest.ini +++ b/dom/tests/mochitest/bugs/mochitest.ini @@ -44,7 +44,7 @@ skip-if = buildapp == 'b2g' || e10s # b2g(dom.disable_open_during_load not imple [test_bug265203.html] [test_bug291377.html] [test_bug291653.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_bug304459.html] [test_bug308856.html] [test_bug327891.html] @@ -71,16 +71,16 @@ skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) [test_bug400204.html] [test_bug404748.html] [test_bug406375.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s [test_bug411103.html] [test_bug414291.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_bug427744.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s [test_bug42976.html] [test_bug430276.html] [test_bug437361.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(dom.disable_open_during_load not implemented in b2g, showmodaldialog) b2g-debug(dom.disable_open_during_load not implemented in b2g, showmodaldialog) b2g-desktop(dom.disable_open_during_load not implemented in b2g, showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(dom.disable_open_during_load not implemented in b2g, showmodaldialog) b2g-debug(dom.disable_open_during_load not implemented in b2g, showmodaldialog) b2g-desktop(dom.disable_open_during_load not implemented in b2g, showmodaldialog) [test_bug440572.html] [test_bug456151.html] [test_bug458091.html] @@ -88,14 +88,14 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop spec [test_bug459848.html] [test_bug465263.html] [test_bug479143.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_bug484775.html] [test_bug492925.html] [test_bug49312.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_bug495219.html] [test_bug504862.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #RANDOM # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #RANDOM # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_bug529328.html] [test_bug531176.html] [test_bug531542.html] @@ -116,7 +116,7 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop spec [test_bug597809.html] skip-if = toolkit == 'android' || e10s [test_bug61098.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_bug612267.html] [test_bug617296.html] [test_bug620947.html] @@ -158,9 +158,9 @@ skip-if = toolkit == 'android' || e10s #bug 775227 [test_onerror_message.html] [test_protochains.html] [test_resize_move_windows.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #Windows can't change size and position on Android # b2g(Windows can't change size and position on B2G) b2g-debug(Windows can't change size and position on B2G) b2g-desktop(Windows can't change size and position on B2G) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #Windows can't change size and position on Android # b2g(Windows can't change size and position on B2G) b2g-debug(Windows can't change size and position on B2G) b2g-desktop(Windows can't change size and position on B2G) [test_sizetocontent_clamp.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #Windows can't change size on Android # b2g(Windows can't change size on B2G) b2g-debug(Windows can't change size on B2G) b2g-desktop(Windows can't change size on B2G) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #Windows can't change size on Android # b2g(Windows can't change size on B2G) b2g-debug(Windows can't change size on B2G) b2g-desktop(Windows can't change size on B2G) [test_toJSON.html] [test_window_bar.html] skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s diff --git a/dom/tests/mochitest/chrome/chrome.ini b/dom/tests/mochitest/chrome/chrome.ini index 544110bf3eaa..487b059e1540 100644 --- a/dom/tests/mochitest/chrome/chrome.ini +++ b/dom/tests/mochitest/chrome/chrome.ini @@ -36,6 +36,7 @@ support-files = [test_cyclecollector.xul] [test_docshell_swap.xul] [test_focus.xul] +skip-if = buildapp == 'mulet' [test_focus_docnav.xul] [test_focus_switchbinding.xul] [test_focused_link_scroll.xul] diff --git a/dom/tests/mochitest/general/chrome.ini b/dom/tests/mochitest/general/chrome.ini index 28a04daf5736..6a80281ab784 100644 --- a/dom/tests/mochitest/general/chrome.ini +++ b/dom/tests/mochitest/general/chrome.ini @@ -4,3 +4,4 @@ [test_offsets.css] [test_offsets.js] [test_offsets.xul] +skip-if = buildapp == 'mulet' diff --git a/dom/tests/mochitest/general/mochitest.ini b/dom/tests/mochitest/general/mochitest.ini index b8effe4949ad..4c2bea3fa535 100644 --- a/dom/tests/mochitest/general/mochitest.ini +++ b/dom/tests/mochitest/general/mochitest.ini @@ -34,33 +34,36 @@ skip-if = buildapp == 'b2g' # b2g(clipboard undefined) b2g-debug(clipboard undef [test_domWindowUtils_scrollXY.html] [test_domWindowUtils_scrollbarSize.html] [test_donottrack.html] +skip-if = buildapp == 'mulet' [test_focus_legend_noparent.html] [test_focusrings.xul] -skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT [test_for_of.html] [test_frameElementWrapping.html] [test_framedhistoryframes.html] [test_idleapi_permissions.html] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'b2g' || buildapp == 'mulet' [test_interfaces.html] -skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage +skip-if = ((buildapp == 'mulet' || buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage # [test_network_events.html] # Disable this test until bug 795711 is fixed. [test_offsets.html] [test_offsets.js] [test_outerHTML.html] [test_outerHTML.xhtml] +skip-if = buildapp == 'mulet' [test_paste_selection.html] +skip-if = buildapp == 'mulet' [test_picture_pref.html] [test_resource_timing.html] -skip-if = buildapp == 'b2g' # b2g(No clipboard) b2g-debug(No clipboard) b2g-desktop(No clipboard) +skip-if = buildapp == 'b2g' || buildapp == 'mulet' # b2g(No clipboard) b2g-debug(No clipboard) b2g-desktop(No clipboard) [test_performance_now.html] [test_srcset_pref.html] [test_showModalDialog.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' #Don't run modal tests on Android # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #Don't run modal tests on Android # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_stylesheetPI.html] [test_vibrator.html] -skip-if = toolkit == 'android' #CRASH_SUTAGENT +skip-if = buildapp == 'mulet' || toolkit == 'android' #CRASH_SUTAGENT [test_windowProperties.html] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage [test_windowedhistoryframes.html] diff --git a/dom/tests/mochitest/geolocation/mochitest.ini b/dom/tests/mochitest/geolocation/mochitest.ini index fd3d700e3924..79b359a018d5 100644 --- a/dom/tests/mochitest/geolocation/mochitest.ini +++ b/dom/tests/mochitest/geolocation/mochitest.ini @@ -23,7 +23,7 @@ skip-if = buildapp == 'b2g' skip-if = toolkit=='gonk' || toolkit == 'android' || e10s #TIMED_OUT # b2g-debug(debug-only timeout) [test_geolocation_is_undefined_when_pref_is_off.html] [test_handlerSpinsEventLoop.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #Don't run modal tests on Android # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #Don't run modal tests on Android # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog) [test_manyCurrentConcurrent.html] skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT [test_manyCurrentSerial.html] @@ -33,7 +33,7 @@ skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT [test_manyWatchSerial.html] skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT [test_manyWindows.html] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' [test_mozsettings.html] skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #mozSettings is undefined [test_mozsettingsWatch.html] diff --git a/dom/tests/mochitest/notification/mochitest.ini b/dom/tests/mochitest/notification/mochitest.ini index 89d4e45169c3..9972c9c1d05d 100644 --- a/dom/tests/mochitest/notification/mochitest.ini +++ b/dom/tests/mochitest/notification/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = e10s +skip-if = e10s || buildapp == 'mulet' support-files = MockServices.js NotificationTest.js diff --git a/dom/tests/mochitest/storageevent/mochitest.ini b/dom/tests/mochitest/storageevent/mochitest.ini index f18fb840b1e7..e6fcf34b22d2 100644 --- a/dom/tests/mochitest/storageevent/mochitest.ini +++ b/dom/tests/mochitest/storageevent/mochitest.ini @@ -14,5 +14,6 @@ support-files = [test_storageLocalStorageEventCheckNoPropagation.html] [test_storageLocalStorageEventCheckPropagation.html] [test_storageNotifications.html] +skip-if = buildapp == 'mulet' [test_storageSessionStorageEventCheckNoPropagation.html] [test_storageSessionStorageEventCheckPropagation.html] diff --git a/dom/workers/test/mochitest.ini b/dom/workers/test/mochitest.ini index 6b77f6ccaaaa..48ee725ad8ed 100644 --- a/dom/workers/test/mochitest.ini +++ b/dom/workers/test/mochitest.ini @@ -119,6 +119,7 @@ skip-if = (toolkit == 'gonk' && debug) #debug-only failure [test_multi_sharedWorker.html] [test_multi_sharedWorker_lifetimes.html] [test_navigator.html] +skip-if = buildapp == 'mulet' [test_newError.html] [test_onLine.html] skip-if = (toolkit == 'gonk' && debug) #debug-only failure diff --git a/editor/composer/test/mochitest.ini b/editor/composer/test/mochitest.ini index 320a6868c223..86784ebd0f46 100644 --- a/editor/composer/test/mochitest.ini +++ b/editor/composer/test/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'b2g' || buildapp == 'mulet' support-files = bug678842_subframe.html [test_bug348497.html] diff --git a/editor/libeditor/base/tests/chrome.ini b/editor/libeditor/base/tests/chrome.ini index 43db29fe56d0..aed807e1a739 100644 --- a/editor/libeditor/base/tests/chrome.ini +++ b/editor/libeditor/base/tests/chrome.ini @@ -2,7 +2,9 @@ [test_bug46555.html] [test_bug599983.xul] +skip-if = buildapp == 'mulet' [test_bug646194.xul] [test_composition_event_created_in_chrome.html] [test_dragdrop.html] +skip-if = buildapp == 'mulet' [test_selection_move_commands.xul] diff --git a/editor/libeditor/base/tests/mochitest.ini b/editor/libeditor/base/tests/mochitest.ini index acda8b810514..d00c37f49d2b 100644 --- a/editor/libeditor/base/tests/mochitest.ini +++ b/editor/libeditor/base/tests/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'b2g' || buildapp == 'mulet' support-files = file_bug586662.html [test_bug408231.html] diff --git a/editor/libeditor/html/tests/mochitest.ini b/editor/libeditor/html/tests/mochitest.ini index 2ff15ae68836..e21388f36928 100644 --- a/editor/libeditor/html/tests/mochitest.ini +++ b/editor/libeditor/html/tests/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' support-files = data/cfhtml-chromium.txt data/cfhtml-firefox.txt diff --git a/editor/libeditor/text/tests/chrome.ini b/editor/libeditor/text/tests/chrome.ini index dc4572ab35d2..699c1f0fe382 100644 --- a/editor/libeditor/text/tests/chrome.ini +++ b/editor/libeditor/text/tests/chrome.ini @@ -1,6 +1,7 @@ [test_bug471319.html] [test_bug483651.html] [test_bug569988.html] +skip-if = buildapp == 'mulet' [test_bug636465.xul] [test_bug830600.html] [test_texteditor_keyevent_handling.html] diff --git a/editor/libeditor/text/tests/mochitest.ini b/editor/libeditor/text/tests/mochitest.ini index ed7ebf8122c2..8be1128fd8a5 100644 --- a/editor/libeditor/text/tests/mochitest.ini +++ b/editor/libeditor/text/tests/mochitest.ini @@ -11,6 +11,7 @@ skip-if = toolkit == 'android' || e10s skip-if = toolkit == 'android' || e10s [test_bug596506.html] [test_bug597331.html] +skip-if = buildapp == 'mulet' [test_bug600570.html] skip-if = toolkit == 'android' [test_bug602130.html] diff --git a/gfx/tests/mochitest.ini b/gfx/tests/mochitest.ini index 8026f07c69bb..f7d7af038365 100644 --- a/gfx/tests/mochitest.ini +++ b/gfx/tests/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' [mochitest/test_bug509244.html] [mochitest/test_bug513439.html] skip-if = e10s diff --git a/js/xpconnect/tests/chrome/chrome.ini b/js/xpconnect/tests/chrome/chrome.ini index 45f17d5d0bb9..3e70cbcf5cc0 100644 --- a/js/xpconnect/tests/chrome/chrome.ini +++ b/js/xpconnect/tests/chrome/chrome.ini @@ -18,6 +18,7 @@ support-files = [test_bug500931.xul] [test_bug503926.xul] [test_bug533596.xul] +skip-if = buildapp == 'mulet' [test_bug571849.xul] [test_bug596580.xul] [test_bug601803.xul] @@ -32,11 +33,15 @@ support-files = [test_bug679861.xul] [test_bug706301.xul] [test_bug726949.xul] +skip-if = buildapp == 'mulet' [test_bug732665.xul] +skip-if = buildapp == 'mulet' [test_bug738244.xul] [test_bug743843.xul] [test_bug760076.xul] +skip-if = buildapp == 'mulet' [test_bug760109.xul] +skip-if = buildapp == 'mulet' [test_bug760131.html] [test_bug763343.xul] [test_bug771429.xul] @@ -46,10 +51,12 @@ support-files = [test_bug795275.xul] [test_bug799348.xul] [test_bug801241.xul] +skip-if = buildapp == 'mulet' [test_bug812415.xul] [test_bug853283.xul] [test_bug853571.xul] [test_bug858101.xul] +skip-if = buildapp == 'mulet' [test_bug860494.xul] [test_bug866823.xul] [test_bug895340.xul] @@ -57,16 +64,21 @@ support-files = [test_bug996069.xul] [test_bug1041626.xul] [test_xrayToJS.xul] +skip-if = buildapp == 'mulet' [test_chrometoSource.xul] +skip-if = buildapp == 'mulet' [test_cloneInto.xul] [test_cows.xul] +skip-if = buildapp == 'mulet' [test_discardSystemSource.xul] +skip-if = buildapp == 'mulet' [test_documentdomain.xul] [test_doublewrappedcompartments.xul] [test_evalInSandbox.xul] [test_evalInWindow.xul] [test_exnstack.xul] [test_expandosharing.xul] +skip-if = buildapp == 'mulet' [test_exposeInDerived.xul] [test_getweakmapkeys.xul] [test_localstorage_with_nsEp.xul] @@ -76,6 +88,7 @@ support-files = [test_precisegc.xul] [test_sandboxImport.xul] [test_scriptSettings.xul] +skip-if = buildapp == 'mulet' [test_weakmap_keys_preserved.xul] [test_weakmap_keys_preserved2.xul] [test_weakref.xul] diff --git a/js/xpconnect/tests/mochitest/mochitest.ini b/js/xpconnect/tests/mochitest/mochitest.ini index 8b521265cd87..8c50b545303a 100644 --- a/js/xpconnect/tests/mochitest/mochitest.ini +++ b/js/xpconnect/tests/mochitest/mochitest.ini @@ -37,6 +37,7 @@ support-files = test2_bug629331.html [test_bug384632.html] +skip-if= buildapp == 'mulet' [test_bug390488.html] [test_bug393269.html] [test_bug396851.html] diff --git a/layout/base/tests/chrome/chrome.ini b/layout/base/tests/chrome/chrome.ini index 4aadd076c56f..c0158409e0d9 100644 --- a/layout/base/tests/chrome/chrome.ini +++ b/layout/base/tests/chrome/chrome.ini @@ -26,15 +26,18 @@ support-files = [test_bug504311.xul] [test_bug514660.xul] [test_bug533845.xul] +skip-if = buildapp == 'mulet' [test_bug551434.html] [test_bug708062.html] [test_bug812817.xul] [test_bug847890_paintFlashing.html] [test_bug1018265.xul] +skip-if = buildapp == 'mulet' [test_bug1041200.xul] support-files=bug1041200_window.html [test_chrome_content_integration.xul] [test_chrome_over_plugin.xul] +skip-if = buildapp == 'mulet' [test_default_background.xul] [test_dialog_with_positioning.html] [test_fixed_bg_scrolling_repaints.html] diff --git a/layout/base/tests/mochitest.ini b/layout/base/tests/mochitest.ini index 34198a4a5425..4d6da1ce86fc 100644 --- a/layout/base/tests/mochitest.ini +++ b/layout/base/tests/mochitest.ini @@ -182,7 +182,7 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') # bug 1040987 skip-if = e10s # bug 1020135, nested oop iframes not supported support-files = bug921928_event_target_iframe_apps_oop.html [test_mozPaintCount.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(depends on plugins support) b2g-debug(depends on plugins support) b2g-desktop(depends on plugins support) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(depends on plugins support) b2g-debug(depends on plugins support) b2g-desktop(depends on plugins support) [test_scroll_event_ordering.html] [test_bug583889.html] support-files = bug583889_inner1.html bug583889_inner2.html @@ -192,7 +192,7 @@ support-files = bug968148_inner.html [test_bug603550.html] skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #TIMED_OUT # b2g(Components.classes[@mozilla.org/widget/dragservice;1] is undefined) b2g-debug(Components.classes[@mozilla.org/widget/dragservice;1] is undefined) b2g-desktop(Components.classes[@mozilla.org/widget/dragservice;1] is undefined) [test_bug629838.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(depends on plugins support) b2g-debug(depends on plugins support) b2g-desktop(depends on plugins support) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(depends on plugins support) b2g-debug(depends on plugins support) b2g-desktop(depends on plugins support) [test_bug646757.html] [test_bug718809.html] [test_bug725426.html] @@ -216,7 +216,7 @@ support-files = bug976963_inner.html [test_emulateMedium.html] [test_getClientRects_emptytext.html] [test_bug858459.html] -skip-if = toolkit == "gonk" || buildapp == 'b2g' #Bug 931116, b2g desktop specific, initial triage +skip-if = toolkit == "gonk" || buildapp == 'mulet' || buildapp == 'b2g' #Bug 931116, b2g desktop specific, initial triage # Tests for bugs 441782, 467672 and 570378 do not pass reliably on Windows, # because of bug 469208. diff --git a/layout/forms/test/chrome.ini b/layout/forms/test/chrome.ini index 59a2e705a02d..7a6075c126c2 100644 --- a/layout/forms/test/chrome.ini +++ b/layout/forms/test/chrome.ini @@ -6,3 +6,4 @@ support-files = [test_bug536567_perwindowpb.html] [test_bug665540.html] +skip-if = buildapp == 'mulet' diff --git a/layout/forms/test/mochitest.ini b/layout/forms/test/mochitest.ini index 36281d64b453..aa582a0dbc4e 100644 --- a/layout/forms/test/mochitest.ini +++ b/layout/forms/test/mochitest.ini @@ -10,7 +10,7 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 947789 [test_bug345267.html] skip-if = e10s [test_bug348236.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(select form control popup) b2g-debug(select form control popup) b2g-desktop(select form control popup) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(select form control popup) b2g-debug(select form control popup) b2g-desktop(select form control popup) [test_bug353539.html] [test_bug365410.html] [test_bug378670.html] @@ -33,7 +33,7 @@ skip-if = (toolkit == 'gonk' && debug) #debug-only failure [test_bug564115.html] skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || toolkit == 'android' || e10s #TIMED_OUT # b2g-debug(times out on window.open and focus event) b2g-desktop(times out on window.open and focus event) [test_bug571352.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(shift-click multi-select not working?) b2g-debug(shift-click multi-select not working?) b2g-desktop(shift-click multi-select not working?) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(shift-click multi-select not working?) b2g-debug(shift-click multi-select not working?) b2g-desktop(shift-click multi-select not working?) [test_bug572406.html] [test_bug572649.html] skip-if = toolkit == 'android' #TIMED_OUT @@ -58,6 +58,6 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || toolkit == 'android' #select elements don't use an in-page popup on Android # b2g-debug(select elements don't use an in-page popup in B2G) b2g-desktop(select elements don't use an in-page popup in B2G) [test_select_prevent_default.html] [test_textarea_resize.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(resizing textarea not available in b2g) b2g-debug(resizing textarea not available in b2g) b2g-desktop(resizing textarea not available in b2g) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' # b2g(resizing textarea not available in b2g) b2g-debug(resizing textarea not available in b2g) b2g-desktop(resizing textarea not available in b2g) [test_bug961363.html] skip-if = toolkit == 'android' # Bug 1021644 - Fails when pushed into a different chunk on Android diff --git a/layout/generic/test/chrome.ini b/layout/generic/test/chrome.ini index f910c86444d8..5b8d6994167c 100644 --- a/layout/generic/test/chrome.ini +++ b/layout/generic/test/chrome.ini @@ -12,5 +12,7 @@ support-files = [test_bug508115.xul] [test_bug514732-2.xul] [test_bug632379.xul] +skip-if = buildapp == 'mulet' [test_selection_preventDefault.html] +skip-if = buildapp == 'mulet' [test_selection_underline.html] diff --git a/layout/generic/test/mochitest.ini b/layout/generic/test/mochitest.ini index 63f7abbaed7d..f3d30cd0955d 100644 --- a/layout/generic/test/mochitest.ini +++ b/layout/generic/test/mochitest.ini @@ -28,7 +28,7 @@ support-files = bug344830_testembed.svg [test_bug389630.html] [test_bug391747.html] [test_bug392746.html] -skip-if = buildapp == 'b2g' # b2g(ctrl mouse select not working in b2g) b2g-debug(ctrl mouse select not working in b2g) b2g-desktop(ctrl mouse select not working in b2g) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # b2g(ctrl mouse select not working in b2g) b2g-debug(ctrl mouse select not working in b2g) b2g-desktop(ctrl mouse select not working in b2g) [test_bug392923.html] [test_bug394173.html] [test_bug394239.html] @@ -59,7 +59,7 @@ skip-if = true # Bug 489560 [test_bug496275.html] skip-if = toolkit == 'android' #CRASH_DUMP [test_bug503813.html] -skip-if = toolkit == 'android' #CRASH_DUMP +skip-if = buildapp == 'mulet' || toolkit == 'android' #CRASH_DUMP [test_bug507902.html] skip-if = true # Bug 510001 [test_bug514732.html] @@ -98,7 +98,7 @@ skip-if = os=='win' || e10s [test_image_selection.html] [test_image_selection_2.html] [test_invalidate_during_plugin_paint.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) [test_movement_by_characters.html] [test_movement_by_words.html] # Disable the caret movement by word test on Linux because the shortcut keys @@ -118,13 +118,13 @@ skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || e10s #Bug 931116, b2g desk [test_plugin_clipping_table.xhtml] skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || e10s #Bug 931116, b2g desktop specific, initial triage [test_plugin_focus.html] -skip-if = buildapp == 'b2g' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) [test_plugin_mouse_coords.html] -skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported) [test_plugin_position.xhtml] skip-if = e10s [test_selection_expanding.html] -skip-if = buildapp == 'b2g' # b2g(mouse selection not working) b2g-debug(mouse selection not working) b2g-desktop(mouse selection not working) +skip-if = buildapp == 'mulet' || buildapp == 'b2g' # b2g(mouse selection not working) b2g-debug(mouse selection not working) b2g-desktop(mouse selection not working) support-files = selection_expanding_xbl.xml [test_selection_splitText-normalize.html] [test_selection_touchevents.html] diff --git a/layout/style/test/chrome/chrome.ini b/layout/style/test/chrome/chrome.ini index 4b0790bd80f3..09d04e4a322b 100644 --- a/layout/style/test/chrome/chrome.ini +++ b/layout/style/test/chrome/chrome.ini @@ -10,4 +10,5 @@ support-files = [test_author_specified_style.html] [test_bug535806.xul] [test_hover.html] +skip-if = buildapp == 'mulet' [test_moz_document_rules.html] diff --git a/layout/xul/test/chrome.ini b/layout/xul/test/chrome.ini index 1cdce3c6f431..09521533e173 100644 --- a/layout/xul/test/chrome.ini +++ b/layout/xul/test/chrome.ini @@ -4,6 +4,7 @@ support-files = window_resizer_element.xul [test_bug159346.xul] +skip-if = buildapp == 'mulet' [test_bug372685.xul] [test_bug381167.xhtml] [test_bug393970.xul] @@ -12,7 +13,9 @@ support-files = [test_bug467442.xul] [test_bug477754.xul] [test_bug703150.xul] +skip-if = buildapp == 'mulet' [test_popupSizeTo.xul] [test_resizer.xul] [test_stack.xul] [test_windowminmaxsize.xul] +skip-if = buildapp == 'mulet' diff --git a/layout/xul/test/mochitest.ini b/layout/xul/test/mochitest.ini index 4445f32cc420..f52c2ad5cb96 100644 --- a/layout/xul/test/mochitest.ini +++ b/layout/xul/test/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' [test_bug386386.html] [test_bug394800.xhtml] diff --git a/python/mozbuild/mozbuild/mozinfo.py b/python/mozbuild/mozbuild/mozinfo.py index cfc77366deef..cac6236cb63a 100755 --- a/python/mozbuild/mozbuild/mozinfo.py +++ b/python/mozbuild/mozbuild/mozinfo.py @@ -51,7 +51,9 @@ def build_dict(config, env=os.environ): d["appname"] = substs["MOZ_APP_NAME"] # Build app name - if 'MOZ_BUILD_APP' in substs: + if 'MOZ_MULET' in substs and substs.get('MOZ_MULET') == "1": + d["buildapp"] = "mulet" + elif 'MOZ_BUILD_APP' in substs: d["buildapp"] = substs["MOZ_BUILD_APP"] # processor diff --git a/security/manager/ssl/tests/mochitest/bugs/chrome.ini b/security/manager/ssl/tests/mochitest/bugs/chrome.ini index 15aff3fe1c52..d56b44980690 100644 --- a/security/manager/ssl/tests/mochitest/bugs/chrome.ini +++ b/security/manager/ssl/tests/mochitest/bugs/chrome.ini @@ -2,6 +2,7 @@ [test_bug234856.html] [test_bug413909.html] +skip-if = buildapp == 'mulet' [test_bug480619.html] [test_bug644006.html] [test_certificate_overrides.html] diff --git a/services/healthreport/tests/xpcshell/xpcshell.ini b/services/healthreport/tests/xpcshell/xpcshell.ini index a93d3df8dc0e..745e5ecd7109 100644 --- a/services/healthreport/tests/xpcshell/xpcshell.ini +++ b/services/healthreport/tests/xpcshell/xpcshell.ini @@ -6,6 +6,7 @@ tail = [test_profile.js] [test_healthreporter.js] [test_provider_addons.js] +skip-if = buildapp == 'mulet' [test_provider_appinfo.js] [test_provider_crashes.js] run-if = crashreporter diff --git a/testing/mochitest/chrome/chrome.ini b/testing/mochitest/chrome/chrome.ini index 9382bc6eeb1e..5366e90d698b 100644 --- a/testing/mochitest/chrome/chrome.ini +++ b/testing/mochitest/chrome/chrome.ini @@ -3,7 +3,9 @@ support-files = test-dir/test-file [test_sample.xul] [test_sanityChromeUtils.xul] +skip-if = buildapp == 'mulet' [test_sanityPluginUtils.html] +skip-if = buildapp == 'mulet' [test_sanityException.xul] [test_sanityException2.xul] [test_chromeGetTestFile.xul] diff --git a/testing/mochitest/tests/Harness_sanity/mochitest.ini b/testing/mochitest/tests/Harness_sanity/mochitest.ini index 0a3b956ee9d1..a0a904abfb33 100644 --- a/testing/mochitest/tests/Harness_sanity/mochitest.ini +++ b/testing/mochitest/tests/Harness_sanity/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' [test_sanity.html] [test_sanityException.html] [test_sanityException2.html] diff --git a/toolkit/components/aboutmemory/tests/chrome.ini b/toolkit/components/aboutmemory/tests/chrome.ini index e4d8e0f5db03..b236f0e966be 100644 --- a/toolkit/components/aboutmemory/tests/chrome.ini +++ b/toolkit/components/aboutmemory/tests/chrome.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' support-files = memory-reports-bad.json memory-reports-diff1.json diff --git a/toolkit/components/osfile/tests/mochi/chrome.ini b/toolkit/components/osfile/tests/mochi/chrome.ini index 28740a64a12f..082e68c8cf7a 100644 --- a/toolkit/components/osfile/tests/mochi/chrome.ini +++ b/toolkit/components/osfile/tests/mochi/chrome.ini @@ -11,4 +11,5 @@ support-files = [test_osfile_async.xul] [test_osfile_back.xul] [test_osfile_comms.xul] +skip-if = buildapp == 'mulet' [test_osfile_front.xul] diff --git a/toolkit/components/passwordmgr/test/mochitest.ini b/toolkit/components/passwordmgr/test/mochitest.ini index 506981a5a1e1..4f8754b05535 100644 --- a/toolkit/components/passwordmgr/test/mochitest.ini +++ b/toolkit/components/passwordmgr/test/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || e10s support-files = authenticate.sjs formsubmit.sjs diff --git a/toolkit/components/places/tests/browser/browser.ini b/toolkit/components/places/tests/browser/browser.ini index e96dd9c33d68..48df3da48d09 100644 --- a/toolkit/components/places/tests/browser/browser.ini +++ b/toolkit/components/places/tests/browser/browser.ini @@ -12,7 +12,7 @@ skip-if = e10s # Bug ?????? - test uses history observer which doesn't seem to m [browser_bug646422.js] skip-if = e10s # Bug ?????? - test times out on try on all platforms, but works locally for markh! [browser_bug680727.js] -skip-if = e10s # Bug ?????? - test times out on try on all platforms, but works locally for markh! +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test times out on try on all platforms, but works locally for markh! [browser_colorAnalyzer.js] [browser_favicon_privatebrowsing_perwindowpb.js] [browser_favicon_setAndFetchFaviconForPage.js] diff --git a/toolkit/components/prompts/test/mochitest.ini b/toolkit/components/prompts/test/mochitest.ini index c32300b99082..e222d9fa1c17 100644 --- a/toolkit/components/prompts/test/mochitest.ini +++ b/toolkit/components/prompts/test/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || e10s support-files = bug619644_inner.html bug625187_iframe.html diff --git a/toolkit/components/social/test/browser/browser.ini b/toolkit/components/social/test/browser/browser.ini index 09f28ec25b40..2d36a995fd14 100644 --- a/toolkit/components/social/test/browser/browser.ini +++ b/toolkit/components/social/test/browser/browser.ini @@ -1,6 +1,7 @@ # Note: these tests are disabled if MOZ_SOCIAL is off. [DEFAULT] +skip-if= buildapp == 'mulet' support-files = head.js data.json diff --git a/toolkit/components/thumbnails/test/browser.ini b/toolkit/components/thumbnails/test/browser.ini index 7ddaa5c04f63..9d835ebae392 100644 --- a/toolkit/components/thumbnails/test/browser.ini +++ b/toolkit/components/thumbnails/test/browser.ini @@ -12,7 +12,9 @@ support-files = [browser_thumbnails_bg_bad_url.js] [browser_thumbnails_bg_crash_during_capture.js] +skip-if = buildapp == 'mulet' [browser_thumbnails_bg_crash_while_idle.js] +skip-if = buildapp == 'mulet' [browser_thumbnails_bg_basic.js] [browser_thumbnails_bg_queueing.js] [browser_thumbnails_bg_timeout.js] @@ -25,6 +27,7 @@ support-files = [browser_thumbnails_bg_no_duplicates.js] [browser_thumbnails_bg_captureIfMissing.js] [browser_thumbnails_bug726727.js] +skip-if = buildapp == 'mulet' [browser_thumbnails_bug727765.js] [browser_thumbnails_bug818225.js] [browser_thumbnails_capture.js] @@ -33,4 +36,5 @@ support-files = [browser_thumbnails_redirect.js] [browser_thumbnails_storage.js] [browser_thumbnails_storage_migrate3.js] +skip-if = buildapp == 'mulet' [browser_thumbnails_update.js] diff --git a/toolkit/content/tests/browser/browser.ini b/toolkit/content/tests/browser/browser.ini index e879340c24b6..694419856c70 100644 --- a/toolkit/content/tests/browser/browser.ini +++ b/toolkit/content/tests/browser/browser.ini @@ -3,6 +3,7 @@ [browser_autoscroll_disabled.js] skip-if = e10s # Bug ?????? - test touches content (getElementById on the content document) [browser_browserDrop.js] +skip-if = buildapp == 'mulet' [browser_bug295977_autoscroll_overflow.js] skip-if = e10s # Bug 921935 - focusmanager issues with e10s [browser_bug594509.js] diff --git a/toolkit/content/tests/chrome/chrome.ini b/toolkit/content/tests/chrome/chrome.ini index 62ffb81e0fe5..8b25a3c58c66 100644 --- a/toolkit/content/tests/chrome/chrome.ini +++ b/toolkit/content/tests/chrome/chrome.ini @@ -56,6 +56,7 @@ support-files = [test_autocomplete_with_composition_on_input.html] [test_autocomplete_with_composition_on_textbox.xul] [test_browser_drop.xul] +skip-if = buildapp == 'mulet' [test_bug253481.xul] [test_bug263683.xul] [test_bug304188.xul] @@ -90,6 +91,7 @@ skip-if = os == "win" # Intermittent failures, bug 919016 [test_deck.xul] [test_dialogfocus.xul] [test_findbar.xul] +skip-if = buildapp == 'mulet' [test_findbar_events.xul] [test_focus_anons.xul] [test_hiddenitems.xul] @@ -104,13 +106,18 @@ skip-if = os == "win" # Intermittent failures, bug 919016 [test_menuitem_blink.xul] [test_menuitem_commands.xul] [test_menulist.xul] +skip-if = buildapp == 'mulet' [test_menulist_keynav.xul] [test_menulist_null_value.xul] [test_mousecapture.xul] +skip-if = buildapp == 'mulet' [test_mousescroll.xul] +skip-if = buildapp == 'mulet' [test_notificationbox.xul] +skip-if = buildapp == 'mulet' [test_panel.xul] [test_panelfrommenu.xul] +skip-if = buildapp == 'mulet' [test_popup_anchor.xul] [test_popup_attribute.xul] [test_popup_button.xul] @@ -139,8 +146,10 @@ support-files = window_preferences_onsyncfrompreference.xul [test_righttoleft.xul] [test_scale.xul] [test_scaledrag.xul] +skip-if = buildapp == 'mulet' [test_screenPersistence.xul] [test_scrollbar.xul] +skip-if = buildapp == 'mulet' [test_showcaret.xul] skip-if = os == "win" # Bug 952350 [test_sorttemplate.xul] diff --git a/toolkit/content/tests/widgets/mochitest.ini b/toolkit/content/tests/widgets/mochitest.ini index ca6fca0bc35d..339c49cccd02 100644 --- a/toolkit/content/tests/widgets/mochitest.ini +++ b/toolkit/content/tests/widgets/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' +skip-if = buildapp == 'mulet' || buildapp == 'b2g' support-files = ../../../../content/media/test/audio.wav ../../../../browser/base/content/test/general/audio.ogg diff --git a/toolkit/devtools/server/tests/browser/browser.ini b/toolkit/devtools/server/tests/browser/browser.ini index afa8942607cd..37703b10e44c 100644 --- a/toolkit/devtools/server/tests/browser/browser.ini +++ b/toolkit/devtools/server/tests/browser/browser.ini @@ -15,3 +15,4 @@ support-files = [browser_storage_listings.js] [browser_storage_updates.js] [browser_navigateEvents.js] +skip-if = buildapp == 'mulet' diff --git a/toolkit/devtools/server/tests/mochitest/chrome.ini b/toolkit/devtools/server/tests/mochitest/chrome.ini index ac556537a5ab..2518b6936933 100644 --- a/toolkit/devtools/server/tests/mochitest/chrome.ini +++ b/toolkit/devtools/server/tests/mochitest/chrome.ini @@ -17,18 +17,30 @@ support-files = [test_Debugger.Source.prototype.element.html] [test_Debugger.Script.prototype.global.html] [test_connection-manager.html] +skip-if = buildapp == 'mulet' [test_css-logic.html] [test_device.html] +skip-if = buildapp == 'mulet' [test_framerate_01.html] +skip-if = buildapp == 'mulet' [test_framerate_02.html] +skip-if = buildapp == 'mulet' [test_framerate_03.html] +skip-if = buildapp == 'mulet' [test_framerate_04.html] +skip-if = buildapp == 'mulet' [test_framerate_05.html] +skip-if = buildapp == 'mulet' [test_highlighter-boxmodel_01.html] +skip-if = buildapp == 'mulet' [test_highlighter-boxmodel_02.html] +skip-if = buildapp == 'mulet' [test_highlighter-csstransform_01.html] +skip-if = buildapp == 'mulet' [test_highlighter-csstransform_02.html] +skip-if = buildapp == 'mulet' [test_highlighter-csstransform_03.html] +skip-if = buildapp == 'mulet' [test_inspector-changeattrs.html] [test_inspector-changevalue.html] [test_inspector-hide.html] @@ -52,6 +64,8 @@ support-files = [test_unsafeDereference.html] [test_evalInGlobal-outerized_this.html] [test_inspector_getImageData.html] +skip-if = buildapp == 'mulet' [test_memory.html] [test_preference.html] [test_connectToChild.html] +skip-if = buildapp == 'mulet' diff --git a/toolkit/forgetaboutsite/test/browser/browser.ini b/toolkit/forgetaboutsite/test/browser/browser.ini index 39ba5c161cac..2c8a25c7fa64 100644 --- a/toolkit/forgetaboutsite/test/browser/browser.ini +++ b/toolkit/forgetaboutsite/test/browser/browser.ini @@ -2,4 +2,4 @@ support-files = browser_clearplugindata.html [browser_clearplugindata.js] -skip-if = e10s # Bug ?????? - test touches content (gBrowser.selectedBrowser.contentWindow.wrappedJSObject.testFinishedCallback = function() {...}) +skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test touches content (gBrowser.selectedBrowser.contentWindow.wrappedJSObject.testFinishedCallback = function() {...}) diff --git a/toolkit/identity/Identity.jsm b/toolkit/identity/Identity.jsm index 1c76c6803905..4690b1eefdd7 100644 --- a/toolkit/identity/Identity.jsm +++ b/toolkit/identity/Identity.jsm @@ -75,7 +75,10 @@ IDService.prototype = { shutdown: function shutdown() { log("shutdown"); Services.obs.removeObserver(this, "identity-auth-complete"); - Services.obs.removeObserver(this, "quit-application-granted"); + // try to prevent abort/crash during shutdown of mochitest-browser2... + try { + Services.obs.removeObserver(this, "quit-application-granted"); + } catch(e) {} }, /** diff --git a/toolkit/mozapps/extensions/test/browser/browser-common.ini b/toolkit/mozapps/extensions/test/browser/browser-common.ini index a9a95b497b5a..5baadabcf3f7 100644 --- a/toolkit/mozapps/extensions/test/browser/browser-common.ini +++ b/toolkit/mozapps/extensions/test/browser/browser-common.ini @@ -10,6 +10,7 @@ skip-if = e10s # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions n [browser_bug562854.js] [browser_bug562890.js] [browser_bug562899.js] +skip-if = buildapp == 'mulet' [browser_bug562992.js] [browser_bug567127.js] [browser_bug567137.js] @@ -36,6 +37,7 @@ skip-if = e10s # Bug ?????? - EventUtils.synthesizeKey not e10s friendly [browser_discovery.js] skip-if = e10s # Bug ?????? - test times out on try on all platforms, but works locally for markh! [browser_dragdrop.js] +skip-if = buildapp == 'mulet' [browser_experiments.js] [browser_list.js] [browser_metadataTimeout.js] @@ -51,6 +53,7 @@ skip-if = e10s # Bug ?????? - leaked until shutdown [nsGlobalWindow #1760 about: [browser_globalinformations.js] skip-if = e10s # Bug 933103 - mochitest's EventUtils.synthesizeMouse functions not e10s friendly [browser_eula.js] +skip-if = buildapp == 'mulet' [browser_updateid.js] skip-if = e10s # Bug ?????? - window leak reported at end of test run. [browser_purchase.js] @@ -64,5 +67,6 @@ skip-if = e10s # Bug ?????? - leaked until shutdown [nsGlobalWindow #1760 about: [browser_tabsettings.js] skip-if = e10s # Bug ?????? - leaked until shutdown [nsGlobalWindow #1760 about:blank] [browser_pluginprefs.js] +skip-if = buildapp == 'mulet' [browser_CTP_plugins.js] -skip-if = e10s # Bug 899347 - no e10s click-to-play support +skip-if = buildapp == 'mulet' || e10s # Bug 899347 - no e10s click-to-play support diff --git a/toolkit/mozapps/extensions/test/browser/browser.ini b/toolkit/mozapps/extensions/test/browser/browser.ini index 87d1ee9ab59b..8df1d0fff386 100644 --- a/toolkit/mozapps/extensions/test/browser/browser.ini +++ b/toolkit/mozapps/extensions/test/browser/browser.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' support-files = addon_about.xul addon_prefs.xul diff --git a/toolkit/mozapps/extensions/test/xpcshell/xpcshell-shared.ini b/toolkit/mozapps/extensions/test/xpcshell/xpcshell-shared.ini index 55dfe78709c3..da1f20949d19 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell-shared.ini +++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell-shared.ini @@ -102,7 +102,7 @@ skip-if = os == "android" skip-if = os == "android" [test_bug514327_2.js] # Bug 676992: test consistently hangs on Android -skip-if = os == "android" +skip-if = buildapp == "mulet" || os == "android" [test_bug514327_3.js] # Bug 676992: test consistently hangs on Android skip-if = os == "android" @@ -215,10 +215,11 @@ skip-if = os == "android" [test_permissions.js] [test_permissions_prefs.js] [test_plugins.js] +skip-if = buildapp == "mulet" [test_pluginchange.js] [test_pluginBlocklistCtp.js] # Bug 676992: test consistently fails on Android -fail-if = os == "android" +fail-if = buildapp == "mulet" || os == "android" [test_pref_properties.js] [test_registry.js] [test_safemode.js] diff --git a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini index 398b2850c34b..2beaadb16068 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini +++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini @@ -1,4 +1,5 @@ [DEFAULT] +skip-if = buildapp == 'mulet' head = head_addons.js tail = firefox-appdir = browser diff --git a/toolkit/mozapps/extensions/test/xpinstall/browser.ini b/toolkit/mozapps/extensions/test/xpinstall/browser.ini index 7772be76d849..dc03b69eeb72 100644 --- a/toolkit/mozapps/extensions/test/xpinstall/browser.ini +++ b/toolkit/mozapps/extensions/test/xpinstall/browser.ini @@ -82,6 +82,7 @@ support-files = [browser_trigger_redirect.js] [browser_unsigned_trigger.js] [browser_unsigned_trigger_iframe.js] +skip-if = buildapp == "mulet" [browser_unsigned_url.js] [browser_whitelist.js] [browser_whitelist2.js] diff --git a/toolkit/mozapps/update/tests/chrome/chrome.ini b/toolkit/mozapps/update/tests/chrome/chrome.ini index e069ba4606fb..9af24d141db8 100644 --- a/toolkit/mozapps/update/tests/chrome/chrome.ini +++ b/toolkit/mozapps/update/tests/chrome/chrome.ini @@ -3,6 +3,7 @@ ; file, You can obtain one at http://mozilla.org/MPL/2.0/. [DEFAULT] +skip-if = buildapp == 'mulet' support-files = utils.js update.sjs diff --git a/toolkit/mozapps/update/tests/unit_aus_update/xpcshell.ini b/toolkit/mozapps/update/tests/unit_aus_update/xpcshell.ini index 02f47c2e4e61..f5e180762f23 100644 --- a/toolkit/mozapps/update/tests/unit_aus_update/xpcshell.ini +++ b/toolkit/mozapps/update/tests/unit_aus_update/xpcshell.ini @@ -23,7 +23,7 @@ generated-files = head_update.js [downloadInterruptedRecovery.js] [downloadResumeForSameAppVersion.js] [downloadCompleteAfterPartialFailure.js] -skip-if = toolkit == 'gonk' +skip-if = buildapp == "mulet" || toolkit == 'gonk' reason = custom nsIUpdatePrompt [downloadInterruptedByOfflineRetry.js] [downloadFileTooBig_gonk.js] diff --git a/toolkit/webapps/tests/chrome.ini b/toolkit/webapps/tests/chrome.ini index 181e245f809f..774b4b142c31 100644 --- a/toolkit/webapps/tests/chrome.ini +++ b/toolkit/webapps/tests/chrome.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = os == "mac" && os_version == "10.6" # see bug 993690 +skip-if = buildapp == 'mulet' || os == "mac" && os_version == "10.6" # see bug 993690 support-files = head.js app.sjs diff --git a/widget/tests/mochitest.ini b/widget/tests/mochitest.ini index 2d182318a205..78d6c6437add 100644 --- a/widget/tests/mochitest.ini +++ b/widget/tests/mochitest.ini @@ -1,5 +1,5 @@ [DEFAULT] -skip-if = buildapp == 'b2g' || e10s +skip-if = buildapp == 'mulet' || buildapp == 'b2g' || e10s [test_assign_event_data.html] skip-if = toolkit == "cocoa" # Bug 933303 From 987efb80fafcc7faf1decbd7d2c839cb39b4c2d4 Mon Sep 17 00:00:00 2001 From: Jonathan Griffin Date: Tue, 22 Jul 2014 14:41:09 -0700 Subject: [PATCH 02/52] Bug 1042270 - Add is_mulet condition to mach, r=ahal --- python/mozbuild/mozbuild/base.py | 13 +++++++++++++ testing/mochitest/mach_commands.py | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/python/mozbuild/mozbuild/base.py b/python/mozbuild/mozbuild/base.py index a9c0160b06d6..7703ae1f8cbf 100644 --- a/python/mozbuild/mozbuild/base.py +++ b/python/mozbuild/mozbuild/base.py @@ -612,6 +612,19 @@ class MachCommandConditions(object): return cls.substs.get('MOZ_BUILD_APP') == 'browser' return False + @staticmethod + def is_mulet(cls): + """Must have a Mulet build.""" + if hasattr(cls, 'substs'): + return cls.substs.get('MOZ_BUILD_APP') == 'b2g/dev' + return False + + @staticmethod + def is_firefox_or_mulet(cls): + """Must have a Mulet build.""" + return (MachCommandConditions.is_firefox(cls) or + MachCommandConditions.is_mulet(cls)) + @staticmethod def is_b2g(cls): """Must have a Boot to Gecko build.""" diff --git a/testing/mochitest/mach_commands.py b/testing/mochitest/mach_commands.py index 643cb1e695b2..0077b0e9d67a 100644 --- a/testing/mochitest/mach_commands.py +++ b/testing/mochitest/mach_commands.py @@ -595,7 +595,7 @@ def B2GCommand(func): @CommandProvider class MachCommands(MachCommandBase): @Command('mochitest-plain', category='testing', - conditions=[conditions.is_firefox], + conditions=[conditions.is_firefox_or_mulet], description='Run a plain mochitest.') @MochitestCommand def run_mochitest_plain(self, test_paths, **kwargs): From 1a6cd2110feb7fe98d674b41765e4170018871ef Mon Sep 17 00:00:00 2001 From: Nikhil Marathe Date: Tue, 22 Jul 2014 18:18:48 -0700 Subject: [PATCH 03/52] Bug 984048 - Add non-null installing worker check to FinishInstall. r=ehsan --HG-- extra : rebase_source : bb459bc5bddca875099584446c65b2909f92b343 --- dom/workers/ServiceWorkerManager.cpp | 10 ++++++++++ .../test/serviceworkers/install_event_worker.js | 3 +-- .../test/serviceworkers/test_install_event.html | 13 +++++++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/dom/workers/ServiceWorkerManager.cpp b/dom/workers/ServiceWorkerManager.cpp index 8b01ce2d01ca..855be5219341 100644 --- a/dom/workers/ServiceWorkerManager.cpp +++ b/dom/workers/ServiceWorkerManager.cpp @@ -879,6 +879,7 @@ ServiceWorkerManager::Install(ServiceWorkerRegistration* aRegistration, { AssertIsOnMainThread(); aRegistration->mInstallingWorker = aServiceWorkerInfo; + MOZ_ASSERT(aRegistration->mInstallingWorker); nsMainThreadPtrHandle handle = new nsMainThreadPtrHolder(aRegistration); @@ -934,6 +935,15 @@ ServiceWorkerManager::FinishInstall(ServiceWorkerRegistration* aRegistration) // FIXME(nsm): Actually update the state of active ServiceWorker instances. } + if (!aRegistration->mInstallingWorker) { + // It is possible that while this run of [[Install]] was waiting for + // the worker to handle the install event, some page called register() with + // a different script leading to [[Update]] terminating the + // installingWorker and setting it to null. The FinishInstallRunnable may + // already have been dispatched, hence the check. + return; + } + aRegistration->mWaitingWorker = aRegistration->mInstallingWorker.forget(); // FIXME(nsm): Actually update state of active ServiceWorker instances to diff --git a/dom/workers/test/serviceworkers/install_event_worker.js b/dom/workers/test/serviceworkers/install_event_worker.js index 02b5174a778c..f965d28aa8a2 100644 --- a/dom/workers/test/serviceworkers/install_event_worker.js +++ b/dom/workers/test/serviceworkers/install_event_worker.js @@ -1,4 +1,3 @@ oninstall = function(e) { - dump("NSM Got install event\n"); - dump(e.activeWorker); + dump("Got install event\n"); } diff --git a/dom/workers/test/serviceworkers/test_install_event.html b/dom/workers/test/serviceworkers/test_install_event.html index b84a9604bb5d..dcea3d78adcf 100644 --- a/dom/workers/test/serviceworkers/test_install_event.html +++ b/dom/workers/test/serviceworkers/test_install_event.html @@ -16,14 +16,19 @@
+ diff --git a/layout/style/AnimationCommon.cpp b/layout/style/AnimationCommon.cpp index 04fc4ef1ab56..a8b85dbcf451 100644 --- a/layout/style/AnimationCommon.cpp +++ b/layout/style/AnimationCommon.cpp @@ -435,8 +435,8 @@ ElementAnimation::CurrentTime() const // (but not AnimationPlayers) is always 0, these are currently identical. Nullable currentTime = GetLocalTime(); - // The current time is currently only going to be null when don't have a - // refresh driver (e.g. because we are in a display:none iframe). + // The current time is only going to be null when we don't have a refresh + // driver or navigation timing object and never did. // // Web Animations says that in this case we should use a timeline time of // 0 (the "effective timeline time") and calculate the current time from that. From 1e14ec2f14e533dbcf38fe773b1006d55111efb5 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Thu, 24 Jul 2014 13:43:56 +0900 Subject: [PATCH 36/52] Bug 1036286 - Make sure libraries loaded by faulty.lib use its own sigaction. r=nfroyd Android L added a libsigchain library it LD_PRELOADs. That library exposes a different sigaction than libc's. It's used for ART. faulty.lib gets its sigaction from libsigchain, but after bug 874708, the libraries it loads simply use libc's sigaction, assuming it would be the hooked one. In turn, this means libraries loaded by faulty.lib may override faulty.lib's handler, which is definitely not the intent. This essentially restores some of the code that bug 874708 removed. An alternative fix would be to add support for LD_PRELOAD, but that has more implications and feels more risky. This could be done, if necessary, as a followup. --- mozglue/linker/CustomElf.cpp | 5 +++++ mozglue/linker/ElfLoader.cpp | 26 ++++++++++++++++++++++++++ mozglue/linker/ElfLoader.h | 8 +++++--- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/mozglue/linker/CustomElf.cpp b/mozglue/linker/CustomElf.cpp index 1f73303055b2..29208d47e826 100644 --- a/mozglue/linker/CustomElf.cpp +++ b/mozglue/linker/CustomElf.cpp @@ -353,6 +353,11 @@ CustomElf::GetSymbolPtrInDeps(const char *symbol) const if (strcmp(symbol + 2, "gnu_Unwind_Find_exidx") == 0) return FunctionPtr(__wrap___gnu_Unwind_Find_exidx); #endif + } else if (symbol[0] == 's' && symbol[1] == 'i') { + if (strcmp(symbol + 2, "gnal") == 0) + return FunctionPtr(SEGVHandler::__wrap_signal); + if (strcmp(symbol + 2, "gaction") == 0) + return FunctionPtr(SEGVHandler::__wrap_sigaction); } #define MISSING_FLASH_SYMNAME_START "_ZN7android10VectorImpl19reservedVectorImpl" diff --git a/mozglue/linker/ElfLoader.cpp b/mozglue/linker/ElfLoader.cpp index 28b4eb9bf7cb..617b07ad5388 100644 --- a/mozglue/linker/ElfLoader.cpp +++ b/mozglue/linker/ElfLoader.cpp @@ -1123,4 +1123,30 @@ SEGVHandler::__wrap_sigaction(int signum, const struct sigaction *act, return 0; } +sighandler_t +SEGVHandler::__wrap_signal(int signum, sighandler_t handler) +{ + /* Use system signal() function for all but SIGSEGV signals. */ + if (signum != SIGSEGV) + return signal(signum, handler); + + SEGVHandler &that = ElfLoader::Singleton; + union { + sighandler_t signal; + void (*sigaction)(int, siginfo_t *, void *); + } oldHandler; + + /* Keep the previous handler to return its value */ + if (that.action.sa_flags & SA_SIGINFO) { + oldHandler.sigaction = that.action.sa_sigaction; + } else { + oldHandler.signal = that.action.sa_handler; + } + /* Set the new handler */ + that.action.sa_handler = handler; + that.action.sa_flags = 0; + + return oldHandler.signal; +} + Logging Logging::Singleton; diff --git a/mozglue/linker/ElfLoader.h b/mozglue/linker/ElfLoader.h index 0c59974e527c..be644c112d70 100644 --- a/mozglue/linker/ElfLoader.h +++ b/mozglue/linker/ElfLoader.h @@ -319,14 +319,16 @@ public: return signalHandlingBroken; } + static int __wrap_sigaction(int signum, const struct sigaction *act, + struct sigaction *oldact); + + static sighandler_t __wrap_signal(int signum, sighandler_t handler); + protected: SEGVHandler(); ~SEGVHandler(); private: - static int __wrap_sigaction(int signum, const struct sigaction *act, - struct sigaction *oldact); - /** * SIGSEGV handler registered with __wrap_signal or __wrap_sigaction. */ From bf1fc42cfc9b1b6b890857851909141ac934072f Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Thu, 24 Jul 2014 13:44:11 +0900 Subject: [PATCH 37/52] Bug 1043033 - Allow to override on-demand decompression blocklist. r=snorp --- mobile/android/base/mozglue/GeckoLoader.java.in | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mobile/android/base/mozglue/GeckoLoader.java.in b/mobile/android/base/mozglue/GeckoLoader.java.in index 25e0f7cf4eb3..9c2ce0dc9c74 100644 --- a/mobile/android/base/mozglue/GeckoLoader.java.in +++ b/mobile/android/base/mozglue/GeckoLoader.java.in @@ -213,9 +213,12 @@ public final class GeckoLoader { // Disable on-demand decompression of the linker on devices where it // is known to cause crashes. - if ("HTC".equals(android.os.Build.MANUFACTURER) && - "HTC Vision".equals(android.os.Build.MODEL)) { - putenv("MOZ_LINKER_ONDEMAND=0"); + String forced_ondemand = System.getenv("MOZ_LINKER_ONDEMAND"); + if (forced_ondemand == null) { + if ("HTC".equals(android.os.Build.MANUFACTURER) && + "HTC Vision".equals(android.os.Build.MODEL)) { + putenv("MOZ_LINKER_ONDEMAND=0"); + } } #ifdef MOZ_LINKER_EXTRACT From a3462a83f5875354c173e1d7d121593ddd1922c7 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Thu, 24 Jul 2014 13:44:39 +0900 Subject: [PATCH 38/52] Bug 1042982 - Make shared libraries go after static libraries on program linkage command lines. r=gps Also remove a branch that can never happen. --- python/mozbuild/mozbuild/backend/recursivemake.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py index 250370ac1ae6..f8f4a4ea8aa8 100644 --- a/python/mozbuild/mozbuild/backend/recursivemake.py +++ b/python/mozbuild/mozbuild/backend/recursivemake.py @@ -1180,15 +1180,11 @@ class RecursiveMakeBackend(CommonBackend): backend_file.write_once('LIBS += %s/%s\n' % (relpath, lib.lib_name)) for l in recurse_lib(lib): - backend_file.write_once('LIBS += %s/%s\n' + backend_file.write_once('EXTRA_LIBS += %s/%s\n' % (pretty_relpath(l), l.import_name)) - elif isinstance(obj, SharedLibrary): - assert lib.variant != lib.COMPONENT - backend_file.write_once('EXTRA_DSO_LDOPTS += %s/%s\n' - % (relpath, lib.import_name)) else: assert lib.variant != lib.COMPONENT - backend_file.write_once('LIBS += %s/%s\n' + backend_file.write_once('EXTRA_LIBS += %s/%s\n' % (relpath, lib.import_name)) elif isinstance(obj, (HostLibrary, HostProgram, HostSimpleProgram)): assert isinstance(lib, HostLibrary) From 56c34f115a85ce14b5690e295bf82612a5214e96 Mon Sep 17 00:00:00 2001 From: "Byron Campen [:bwc]" Date: Wed, 23 Jul 2014 11:48:05 -0700 Subject: [PATCH 39/52] Bug 1042873: Add the appropriate byte-order conversion to ChildDNSRecord::GetNextAddr r=mcmanus --- netwerk/dns/DNSRequestChild.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netwerk/dns/DNSRequestChild.cpp b/netwerk/dns/DNSRequestChild.cpp index 5e29e235d273..d2660cf28174 100644 --- a/netwerk/dns/DNSRequestChild.cpp +++ b/netwerk/dns/DNSRequestChild.cpp @@ -87,7 +87,7 @@ ChildDNSRecord::GetNextAddr(uint16_t port, NetAddr *addr) memcpy(addr, &mAddresses[mCurrent++], sizeof(NetAddr)); // both Ipv4/6 use same bits for port, so safe to just use ipv4's field - addr->inet.port = port; + addr->inet.port = htons(port); return NS_OK; } From a3b8bd49eeb34606481f6ba0686cb2f794a34d26 Mon Sep 17 00:00:00 2001 From: Jed Davis Date: Tue, 22 Jul 2014 13:05:00 +0200 Subject: [PATCH 40/52] Bug 1042261 - Don't crash while trying to report a crash if reporting is disabled. r=ted --- toolkit/crashreporter/nsExceptionHandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp index 263e811538c4..bfb36d803091 100644 --- a/toolkit/crashreporter/nsExceptionHandler.cpp +++ b/toolkit/crashreporter/nsExceptionHandler.cpp @@ -1860,6 +1860,10 @@ nsresult WriteMinidumpForException(EXCEPTION_POINTERS* aExceptionInfo) #ifdef XP_LINUX bool WriteMinidumpForSigInfo(int signo, siginfo_t* info, void* uc) { + if (!gExceptionHandler) { + // Crash reporting is disabled. + return false; + } return gExceptionHandler->HandleSignal(signo, info, uc); } #endif From 2e1fdfe132eb324645347d2e4b10df86c596810a Mon Sep 17 00:00:00 2001 From: Max Vujovic Date: Tue, 15 Jul 2014 11:37:00 +0200 Subject: [PATCH 41/52] Bug 948265 - Support SourceAlpha keyword in SVG filter chains. r=mstange --- gfx/src/FilterSupport.cpp | 8 +++ gfx/src/FilterSupport.h | 1 + .../filters/svg-filter-chains/reftest.list | 1 + .../second-filter-uses-SourceAlpha-ref.svg | 29 +++++++++++ .../second-filter-uses-SourceAlpha.svg | 49 +++++++++++++++++++ layout/svg/nsSVGFilterInstance.cpp | 42 +++++++++++++++- layout/svg/nsSVGFilterInstance.h | 24 ++++++++- 7 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha-ref.svg create mode 100644 layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha.svg diff --git a/gfx/src/FilterSupport.cpp b/gfx/src/FilterSupport.cpp index f67eff73d3ce..67b96a3d7346 100644 --- a/gfx/src/FilterSupport.cpp +++ b/gfx/src/FilterSupport.cpp @@ -966,6 +966,11 @@ FilterNodeFromPrimitiveDescription(const FilterPrimitiveDescription& aDescriptio return transform; } + case PrimitiveType::ToAlpha: + { + return FilterWrappers::ToAlpha(aDT, aSources[0]); + } + default: return nullptr; } @@ -1001,6 +1006,7 @@ InputAlphaModelForPrimitive(const FilterPrimitiveDescription& aDescr, switch (aDescr.Type()) { case PrimitiveType::Tile: case PrimitiveType::Offset: + case PrimitiveType::ToAlpha: return aOriginalAlphaModel; case PrimitiveType::ColorMatrix: @@ -1196,6 +1202,7 @@ ResultChangeRegionForPrimitive(const FilterPrimitiveDescription& aDescription, case PrimitiveType::ColorMatrix: case PrimitiveType::ComponentTransfer: + case PrimitiveType::ToAlpha: return aInputChangeRegions[0]; case PrimitiveType::Morphology: @@ -1425,6 +1432,7 @@ SourceNeededRegionForPrimitive(const FilterPrimitiveDescription& aDescription, case PrimitiveType::Merge: case PrimitiveType::ColorMatrix: case PrimitiveType::ComponentTransfer: + case PrimitiveType::ToAlpha: return aResultNeededRegion; case PrimitiveType::Morphology: diff --git a/gfx/src/FilterSupport.h b/gfx/src/FilterSupport.h index 6324399d7c67..1ff92441b5dc 100644 --- a/gfx/src/FilterSupport.h +++ b/gfx/src/FilterSupport.h @@ -270,6 +270,7 @@ MOZ_BEGIN_ENUM_CLASS(PrimitiveType) DropShadow, DiffuseLighting, SpecularLighting, + ToAlpha, Max MOZ_END_ENUM_CLASS(PrimitiveType) diff --git a/layout/reftests/svg/filters/svg-filter-chains/reftest.list b/layout/reftests/svg/filters/svg-filter-chains/reftest.list index 163bcc0b5887..3ef0ff2da101 100644 --- a/layout/reftests/svg/filters/svg-filter-chains/reftest.list +++ b/layout/reftests/svg/filters/svg-filter-chains/reftest.list @@ -9,5 +9,6 @@ default-preferences pref(layout.css.filters.enabled,true) == intersecting-filter-regions.svg intersecting-filter-regions-ref.svg == long-chain.svg simple-chain-ref.svg == multiple-primitives-per-filter.svg simple-chain-ref.svg +== second-filter-uses-SourceAlpha.svg second-filter-uses-SourceAlpha.svg == second-filter-uses-SourceGraphic.svg simple-chain-ref.svg == simple-chain.svg simple-chain-ref.svg diff --git a/layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha-ref.svg b/layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha-ref.svg new file mode 100644 index 000000000000..e809e55bb3e2 --- /dev/null +++ b/layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha-ref.svg @@ -0,0 +1,29 @@ + + + + + SVG Filter Chains: Second Filter Uses SourceAlpha + + + + + namespace svg + + + + + + + + + diff --git a/layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha.svg b/layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha.svg new file mode 100644 index 000000000000..474c9da14ca9 --- /dev/null +++ b/layout/reftests/svg/filters/svg-filter-chains/second-filter-uses-SourceAlpha.svg @@ -0,0 +1,49 @@ + + + + + SVG Filter Chains: Second Filter Uses SourceAlpha + + + + + + namespace svg + + In an SVG filter chain, this test verifies that a filter receives the + correct SourceAlpha input from the previous filter in the chain. If the + test passes, you should see a blurred green square. + + + + + + + + + + + + + + + + + + + diff --git a/layout/svg/nsSVGFilterInstance.cpp b/layout/svg/nsSVGFilterInstance.cpp index ed5eb59488df..bcf667a5ceb3 100644 --- a/layout/svg/nsSVGFilterInstance.cpp +++ b/layout/svg/nsSVGFilterInstance.cpp @@ -34,6 +34,7 @@ nsSVGFilterInstance::nsSVGFilterInstance(const nsStyleFilter& aFilter, mTargetBBox(aTargetBBox), mUserSpaceToFilterSpaceScale(aUserSpaceToFilterSpaceScale), mFilterSpaceToUserSpaceScale(aFilterSpaceToUserSpaceScale), + mSourceAlphaAvailable(false), mInitialized(false) { // Get the filter frame. @@ -288,9 +289,46 @@ GetLastResultIndex(const nsTArray& aPrimitiveDescrs) numPrimitiveDescrs - 1; } +int32_t +nsSVGFilterInstance::GetOrCreateSourceAlphaIndex(nsTArray& aPrimitiveDescrs) +{ + // If the SourceAlpha index has already been determined or created for this + // SVG filter, just return it. + if (mSourceAlphaAvailable) + return mSourceAlphaIndex; + + // If this is the first filter in the chain, we can just use the + // kPrimitiveIndexSourceAlpha keyword to refer to the SourceAlpha of the + // original image. + if (mSourceGraphicIndex < 0) { + mSourceAlphaIndex = FilterPrimitiveDescription::kPrimitiveIndexSourceAlpha; + mSourceAlphaAvailable = true; + return mSourceAlphaIndex; + } + + // Otherwise, create a primitive description to turn the previous filter's + // output into a SourceAlpha input. + FilterPrimitiveDescription descr(PrimitiveType::ToAlpha); + descr.SetInputPrimitive(0, mSourceGraphicIndex); + + const FilterPrimitiveDescription& sourcePrimitiveDescr = + aPrimitiveDescrs[mSourceGraphicIndex]; + descr.SetPrimitiveSubregion(sourcePrimitiveDescr.PrimitiveSubregion()); + descr.SetIsTainted(sourcePrimitiveDescr.IsTainted()); + + ColorSpace colorSpace = sourcePrimitiveDescr.OutputColorSpace(); + descr.SetInputColorSpace(0, colorSpace); + descr.SetOutputColorSpace(colorSpace); + + aPrimitiveDescrs.AppendElement(descr); + mSourceAlphaIndex = aPrimitiveDescrs.Length() - 1; + mSourceAlphaAvailable = true; + return mSourceAlphaIndex; +} + nsresult nsSVGFilterInstance::GetSourceIndices(nsSVGFE* aPrimitiveElement, - const nsTArray& aPrimitiveDescrs, + nsTArray& aPrimitiveDescrs, const nsDataHashtable& aImageTable, nsTArray& aSourceIndices) { @@ -305,7 +343,7 @@ nsSVGFilterInstance::GetSourceIndices(nsSVGFE* aPrimitiveElement, if (str.EqualsLiteral("SourceGraphic")) { sourceIndex = mSourceGraphicIndex; } else if (str.EqualsLiteral("SourceAlpha")) { - sourceIndex = FilterPrimitiveDescription::kPrimitiveIndexSourceAlpha; + sourceIndex = GetOrCreateSourceAlphaIndex(aPrimitiveDescrs); } else if (str.EqualsLiteral("FillPaint")) { sourceIndex = FilterPrimitiveDescription::kPrimitiveIndexFillPaint; } else if (str.EqualsLiteral("StrokePaint")) { diff --git a/layout/svg/nsSVGFilterInstance.h b/layout/svg/nsSVGFilterInstance.h index 5a49565c0c12..5912ea6dc0a0 100644 --- a/layout/svg/nsSVGFilterInstance.h +++ b/layout/svg/nsSVGFilterInstance.h @@ -173,6 +173,16 @@ private: */ gfxMatrix GetUserSpaceToFrameSpaceInCSSPxTransform() const; + /** + * Appends a new FilterPrimitiveDescription to aPrimitiveDescrs that + * converts the FilterPrimitiveDescription at mSourceGraphicIndex into + * a SourceAlpha input for the next FilterPrimitiveDescription. + * + * The new FilterPrimitiveDescription zeros out the SourceGraphic's RGB + * channels and keeps the alpha channel intact. + */ + int32_t GetOrCreateSourceAlphaIndex(nsTArray& aPrimitiveDescrs); + /** * Finds the index in aPrimitiveDescrs of each input to aPrimitiveElement. * For example, if aPrimitiveElement is: @@ -181,7 +191,7 @@ private: * FilterPrimitiveDescription representing "another-primitive". */ nsresult GetSourceIndices(nsSVGFE* aPrimitiveElement, - const nsTArray& aPrimitiveDescrs, + nsTArray& aPrimitiveDescrs, const nsDataHashtable& aImageTable, nsTArray& aSourceIndices); @@ -240,6 +250,18 @@ private: */ int32_t mSourceGraphicIndex; + /** + * The index of the FilterPrimitiveDescription that this SVG filter should use + * as its SourceAlpha, or the SourceAlpha keyword index if this is the first + * filter in a chain. + */ + int32_t mSourceAlphaIndex; + + /** + * SourceAlpha is available if GetOrCreateSourceAlphaIndex has been called. + */ + int32_t mSourceAlphaAvailable; + bool mInitialized; }; From 36cb6e7809d991b3e06d93098e7eeaa2ad7d7c0b Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Wed, 23 Jul 2014 09:15:00 +0200 Subject: [PATCH 42/52] Bug 1035287 - Part 2: Refactor js::SavedStacks::insertFrames to use iteration instead of recursion. r=shu --- ...035287-track-allocation-sites-recursion.js | 7 + js/src/vm/SavedStacks.cpp | 229 +++++++++++------- js/src/vm/SavedStacks.h | 76 ++++-- 3 files changed, 205 insertions(+), 107 deletions(-) create mode 100644 js/src/jit-test/tests/basic/bug1035287-track-allocation-sites-recursion.js diff --git a/js/src/jit-test/tests/basic/bug1035287-track-allocation-sites-recursion.js b/js/src/jit-test/tests/basic/bug1035287-track-allocation-sites-recursion.js new file mode 100644 index 000000000000..79394c31c787 --- /dev/null +++ b/js/src/jit-test/tests/basic/bug1035287-track-allocation-sites-recursion.js @@ -0,0 +1,7 @@ +// |jit-test| exitstatus: 3 + +enableTrackAllocations(); +function f() { + eval('f();'); +} +f(); diff --git a/js/src/vm/SavedStacks.cpp b/js/src/vm/SavedStacks.cpp index 5086268463fb..7621e55533e2 100644 --- a/js/src/vm/SavedStacks.cpp +++ b/js/src/vm/SavedStacks.cpp @@ -13,6 +13,7 @@ #include "jsnum.h" #include "gc/Marking.h" +#include "js/Vector.h" #include "vm/GlobalObject.h" #include "vm/StringBuffer.h" @@ -25,21 +26,21 @@ using mozilla::HashString; namespace js { struct SavedFrame::Lookup { - Lookup(JSAtom *source, size_t line, size_t column, JSAtom *functionDisplayName, + Lookup(JSAtom *source, uint32_t line, uint32_t column, JSAtom *functionDisplayName, SavedFrame *parent, JSPrincipals *principals) - : source(source), - line(line), - column(column), - functionDisplayName(functionDisplayName), - parent(parent), - principals(principals) + : source(source), + line(line), + column(column), + functionDisplayName(functionDisplayName), + parent(parent), + principals(principals) { JS_ASSERT(source); } JSAtom *source; - size_t line; - size_t column; + uint32_t line; + uint32_t column; JSAtom *functionDisplayName; SavedFrame *parent; JSPrincipals *principals; @@ -48,12 +49,13 @@ struct SavedFrame::Lookup { class SavedFrame::AutoLookupRooter : public JS::CustomAutoRooter { public: - AutoLookupRooter(JSContext *cx, JSAtom *source, size_t line, size_t column, + AutoLookupRooter(JSContext *cx, JSAtom *source, uint32_t line, uint32_t column, JSAtom *functionDisplayName, SavedFrame *parent, JSPrincipals *principals) : JS::CustomAutoRooter(cx), value(source, line, column, functionDisplayName, parent, principals) {} operator const SavedFrame::Lookup&() const { return value; } + SavedFrame::Lookup &get() { return value; } private: virtual void trace(JSTracer *trc) { @@ -69,6 +71,16 @@ class SavedFrame::AutoLookupRooter : public JS::CustomAutoRooter SavedFrame::Lookup value; }; +class SavedFrame::HandleLookup +{ + public: + HandleLookup(SavedFrame::AutoLookupRooter &lookup) : ref(lookup) { } + SavedFrame::Lookup *operator->() { return &ref.get(); } + operator const SavedFrame::Lookup&() const { return ref; } + private: + SavedFrame::AutoLookupRooter &ref; +}; + /* static */ HashNumber SavedFrame::HashPolicy::hash(const Lookup &lookup) { @@ -150,14 +162,14 @@ SavedFrame::getSource() return &s->asAtom(); } -size_t +uint32_t SavedFrame::getLine() { const Value &v = getReservedSlot(JSSLOT_LINE); return v.toInt32(); } -size_t +uint32_t SavedFrame::getColumn() { const Value &v = getReservedSlot(JSSLOT_COLUMN); @@ -191,25 +203,25 @@ SavedFrame::getPrincipals() } void -SavedFrame::initFromLookup(const Lookup &lookup) +SavedFrame::initFromLookup(SavedFrame::HandleLookup lookup) { - JS_ASSERT(lookup.source); + JS_ASSERT(lookup->source); JS_ASSERT(getReservedSlot(JSSLOT_SOURCE).isUndefined()); - setReservedSlot(JSSLOT_SOURCE, StringValue(lookup.source)); + setReservedSlot(JSSLOT_SOURCE, StringValue(lookup->source)); - setReservedSlot(JSSLOT_LINE, NumberValue(lookup.line)); - setReservedSlot(JSSLOT_COLUMN, NumberValue(lookup.column)); + setReservedSlot(JSSLOT_LINE, NumberValue(lookup->line)); + setReservedSlot(JSSLOT_COLUMN, NumberValue(lookup->column)); setReservedSlot(JSSLOT_FUNCTIONDISPLAYNAME, - lookup.functionDisplayName - ? StringValue(lookup.functionDisplayName) + lookup->functionDisplayName + ? StringValue(lookup->functionDisplayName) : NullValue()); - setReservedSlot(JSSLOT_PARENT, ObjectOrNullValue(lookup.parent)); - setReservedSlot(JSSLOT_PRIVATE_PARENT, PrivateValue(lookup.parent)); + setReservedSlot(JSSLOT_PARENT, ObjectOrNullValue(lookup->parent)); + setReservedSlot(JSSLOT_PRIVATE_PARENT, PrivateValue(lookup->parent)); JS_ASSERT(getReservedSlot(JSSLOT_PRINCIPALS).isUndefined()); - if (lookup.principals) - JS_HoldPrincipals(lookup.principals); - setReservedSlot(JSSLOT_PRINCIPALS, PrivateValue(lookup.principals)); + if (lookup->principals) + JS_HoldPrincipals(lookup->principals); + setReservedSlot(JSSLOT_PRINCIPALS, PrivateValue(lookup->principals)); } bool @@ -480,78 +492,74 @@ bool SavedStacks::insertFrames(JSContext *cx, FrameIter &iter, MutableHandleSavedFrame frame, unsigned maxFrameCount) { - if (iter.done()) { - frame.set(nullptr); - return true; - } + // In order to lookup a cached SavedFrame object, we need to have its parent + // SavedFrame, which means we need to walk the stack from oldest frame to + // youngest. However, FrameIter walks the stack from youngest frame to + // oldest. The solution is to append stack frames to a vector as we walk the + // stack with FrameIter, and then do a second pass through that vector in + // reverse order after the traversal has completed and get or create the + // SavedFrame objects at that time. + // + // To avoid making many copies of FrameIter (whose copy constructor is + // relatively slow), we save the subset of FrameIter's data that is relevant + // to our needs in a FrameState object, and maintain a vector of FrameState + // objects instead of a vector of FrameIter objects. - // Don't report the over-recursion error because if we are blowing the stack - // here, we already blew the stack in JS, reported it, and we are creating - // the saved stack for the over-recursion error object. We do this check - // here, rather than inside saveCurrentStack, because in some cases we will - // pass the check there, despite later failing the check here (for example, - // in js/src/jit-test/tests/saved-stacks/bug-1006876-too-much-recursion.js). - JS_CHECK_RECURSION_DONT_REPORT(cx, return false); + // Accumulate the vector of FrameState objects in |stackState|. + AutoFrameStateVector stackState(cx); + while (!iter.done()) { + AutoLocationValueRooter location(cx); - JSPrincipals* principals = iter.compartment()->principals; - RootedAtom name(cx, iter.isNonEvalFunctionFrame() ? iter.functionDisplayAtom() : nullptr); - - // When we have a |JSScript| for this frame, use |getLocation| to get a - // potentially memoized location result and copy it into |location|. When we - // do not have a |JSScript| for this frame (asm.js frames), we take a slow - // path that doesn't employ memoization, and update |location|'s slots - // directly. - AutoLocationValueRooter location(cx); - if (iter.hasScript()) { - JSScript *script = iter.script(); - jsbytecode *pc = iter.pc(); { AutoCompartment ac(cx, iter.compartment()); - if (!cx->compartment()->savedStacks().getLocation(cx, script, pc, &location)) + if (!cx->compartment()->savedStacks().getLocation(cx, iter, &location)) return false; } - } else { - const char *filename = iter.scriptFilename(); - if (!filename) - filename = ""; - location.get().source = Atomize(cx, filename, strlen(filename)); - if (!location.get().source) - return false; - uint32_t column; - location.get().line = iter.computeLine(&column); - location.get().column = column; + + { + FrameState frameState(iter); + frameState.location = location.get(); + if (!stackState->append(frameState)) + return false; + } + + ++iter; + + if (maxFrameCount == 0) { + // If maxFrameCount is zero, then there's no limit on the number of + // frames. + continue; + } else if (maxFrameCount == 1) { + // Since we were only asked to save one frame, do not continue + // walking the stack and saving frame state. + break; + } else { + maxFrameCount--; + } } - RootedSavedFrame parentFrame(cx); - - // If maxFrameCount is zero, then there's no limit on the number of frames. - if (maxFrameCount == 0) { - if (!insertFrames(cx, ++iter, &parentFrame, 0)) - return false; - } else if (maxFrameCount == 1) { - // Since we were only asked to save one frame, the SavedFrame we're - // building here should have no parent, even if there are older frames - // on the stack. - parentFrame = nullptr; - } else { - if (!insertFrames(cx, ++iter, &parentFrame, maxFrameCount - 1)) + // Iterate through |stackState| in reverse order and get or create the + // actual SavedFrame instances. + RootedSavedFrame parentFrame(cx, nullptr); + for (size_t i = stackState->length(); i != 0; i--) { + SavedFrame::AutoLookupRooter lookup(cx, + stackState[i-1].location.source, + stackState[i-1].location.line, + stackState[i-1].location.column, + stackState[i-1].name, + parentFrame, + stackState[i-1].principals); + parentFrame.set(getOrCreateSavedFrame(cx, lookup)); + if (!parentFrame) return false; } - SavedFrame::AutoLookupRooter lookup(cx, - location.get().source, - location.get().line, - location.get().column, - name, - parentFrame, - principals); - - frame.set(getOrCreateSavedFrame(cx, lookup)); - return frame.get() != nullptr; + frame.set(parentFrame); + return true; } SavedFrame * -SavedStacks::getOrCreateSavedFrame(JSContext *cx, const SavedFrame::Lookup &lookup) +SavedStacks::getOrCreateSavedFrame(JSContext *cx, SavedFrame::HandleLookup lookup) { SavedFrame::Set::AddPtr p = frames.lookupForAdd(lookup); if (p) @@ -594,7 +602,7 @@ SavedStacks::getOrCreateSavedFramePrototype(JSContext *cx) } SavedFrame * -SavedStacks::createFrameFromLookup(JSContext *cx, const SavedFrame::Lookup &lookup) +SavedStacks::createFrameFromLookup(JSContext *cx, SavedFrame::HandleLookup lookup) { RootedObject proto(cx, getOrCreateSavedFramePrototype(cx)); if (!proto) @@ -640,14 +648,33 @@ SavedStacks::sweepPCLocationMap() } bool -SavedStacks::getLocation(JSContext *cx, JSScript *script, jsbytecode *pc, - MutableHandleLocationValue locationp) +SavedStacks::getLocation(JSContext *cx, const FrameIter &iter, MutableHandleLocationValue locationp) { // We should only ever be caching location values for scripts in this // compartment. Otherwise, we would get dead cross-compartment scripts in // the cache because our compartment's sweep method isn't called when their // compartment gets collected. - assertSameCompartment(cx, this, script); + assertSameCompartment(cx, this, iter.compartment()); + + // When we have a |JSScript| for this frame, use a potentially memoized + // location from our PCLocationMap and copy it into |locationp|. When we do + // not have a |JSScript| for this frame (asm.js frames), we take a slow path + // that doesn't employ memoization, and update |locationp|'s slots directly. + + if (!iter.hasScript()) { + const char *filename = iter.scriptFilename(); + if (!filename) + filename = ""; + locationp->source = Atomize(cx, filename, strlen(filename)); + if (!locationp->source) + return false; + + locationp->line = iter.computeLine(&locationp->column); + return true; + } + + RootedScript script(cx, iter.script()); + jsbytecode *pc = iter.pc(); PCKey key(script, pc); PCLocationMap::AddPtr p = pcLocationMap.lookupForAdd(key); @@ -670,6 +697,36 @@ SavedStacks::getLocation(JSContext *cx, JSScript *script, jsbytecode *pc, return true; } +SavedStacks::FrameState::FrameState(const FrameIter &iter) + : principals(iter.compartment()->principals), + name(iter.isNonEvalFunctionFrame() ? iter.functionDisplayAtom() : nullptr), + location() +{ + if (principals) + JS_HoldPrincipals(principals); +} + +SavedStacks::FrameState::FrameState(const FrameState &fs) + : principals(fs.principals), + name(fs.name), + location(fs.location) +{ + if (principals) + JS_HoldPrincipals(principals); +} + +SavedStacks::FrameState::~FrameState() { + if (principals) + JS_DropPrincipals(TlsPerThreadData.get()->runtimeFromMainThread(), principals); +} + +void +SavedStacks::FrameState::trace(JSTracer *trc) { + if (name) + gc::MarkStringUnbarriered(trc, &name, "SavedStacks::FrameState::name"); + location.trace(trc); +} + bool SavedStacksMetadataCallback(JSContext *cx, JSObject **pmetadata) { diff --git a/js/src/vm/SavedStacks.h b/js/src/vm/SavedStacks.h index 71cdee4c5694..4afcab4ee281 100644 --- a/js/src/vm/SavedStacks.h +++ b/js/src/vm/SavedStacks.h @@ -33,8 +33,8 @@ class SavedFrame : public JSObject { // Convenient getters for SavedFrame's reserved slots for use from C++. JSAtom *getSource(); - size_t getLine(); - size_t getColumn(); + uint32_t getLine(); + uint32_t getColumn(); JSAtom *getFunctionDisplayName(); SavedFrame *getParent(); JSPrincipals *getPrincipals(); @@ -49,9 +49,10 @@ class SavedFrame : public JSObject { SystemAllocPolicy> Set; class AutoLookupRooter; + class HandleLookup; private: - void initFromLookup(const Lookup &lookup); + void initFromLookup(HandleLookup lookup); enum { // The reserved slots in the SavedFrame class. @@ -118,11 +119,11 @@ class SavedStacks { bool insertFrames(JSContext *cx, FrameIter &iter, MutableHandleSavedFrame frame, unsigned maxFrameCount = 0); - SavedFrame *getOrCreateSavedFrame(JSContext *cx, const SavedFrame::Lookup &lookup); + SavedFrame *getOrCreateSavedFrame(JSContext *cx, SavedFrame::HandleLookup lookup); // |SavedFrame.prototype| is created lazily and held weakly. It should only // be accessed through this method. JSObject *getOrCreateSavedFramePrototype(JSContext *cx); - SavedFrame *createFrameFromLookup(JSContext *cx, const SavedFrame::Lookup &lookup); + SavedFrame *createFrameFromLookup(JSContext *cx, SavedFrame::HandleLookup lookup); // Cache for memoizing PCToLineNumber lookups. @@ -135,15 +136,20 @@ class SavedStacks { struct LocationValue { LocationValue() : source(nullptr), line(0), column(0) { } - LocationValue(JSAtom *source, size_t line, size_t column) + LocationValue(JSAtom *source, size_t line, uint32_t column) : source(source), line(line), column(column) { } + void trace(JSTracer *trc) { + if (source) + gc::MarkString(trc, &source, "SavedStacks::LocationValue::source"); + } + PreBarrieredAtom source; size_t line; - size_t column; + uint32_t column; }; class MOZ_STACK_CLASS AutoLocationValueRooter : public JS::CustomAutoRooter @@ -153,18 +159,13 @@ class SavedStacks { : JS::CustomAutoRooter(cx), value() {} - void set(LocationValue &loc) { - value = loc; - } - - LocationValue &get() { - return value; - } + inline LocationValue *operator->() { return &value; } + void set(LocationValue &loc) { value = loc; } + LocationValue &get() { return value; } private: virtual void trace(JSTracer *trc) { - if (value.source) - gc::MarkString(trc, &value.source, "SavedStacks::LocationValue::source"); + value.trace(trc); } SavedStacks::LocationValue value; @@ -176,9 +177,8 @@ class SavedStacks { inline MOZ_IMPLICIT MutableHandleLocationValue(AutoLocationValueRooter *location) : location(location) {} - void set(LocationValue &loc) { - location->set(loc); - } + inline LocationValue *operator->() { return &location->get(); } + void set(LocationValue &loc) { location->set(loc); } private: AutoLocationValueRooter *location; @@ -203,8 +203,42 @@ class SavedStacks { PCLocationMap pcLocationMap; void sweepPCLocationMap(); - bool getLocation(JSContext *cx, JSScript *script, jsbytecode *pc, - MutableHandleLocationValue locationp); + bool getLocation(JSContext *cx, const FrameIter &iter, MutableHandleLocationValue locationp); + + struct FrameState + { + FrameState() : principals(nullptr), name(nullptr), location() { } + FrameState(const FrameIter &iter); + FrameState(const FrameState &fs); + + ~FrameState(); + + void trace(JSTracer *trc); + + JSPrincipals *principals; + JSAtom *name; + LocationValue location; + }; + + class MOZ_STACK_CLASS AutoFrameStateVector : public JS::CustomAutoRooter { + public: + AutoFrameStateVector(JSContext *cx) + : JS::CustomAutoRooter(cx), + frames(cx) + { } + + typedef Vector FrameStateVector; + inline FrameStateVector *operator->() { return &frames; } + inline FrameState &operator[](size_t i) { return frames[i]; } + + private: + FrameStateVector frames; + + virtual void trace(JSTracer *trc) { + for (size_t i = 0; i < frames.length(); i++) + frames[i].trace(trc); + } + }; }; bool SavedStacksMetadataCallback(JSContext *cx, JSObject **pmetadata); From 087859b18fdcc46511986f06b618b39349695d8b Mon Sep 17 00:00:00 2001 From: Ahmed Kachkach Date: Wed, 23 Jul 2014 15:31:00 +0200 Subject: [PATCH 43/52] Bug 1041706 - Mochitests prints raw JSON logs when running with a debugger. r=ahal --- testing/mochitest/runtests.py | 2 + .../mochitest/tests/SimpleTest/TestRunner.js | 61 ++++++++++++++++++- testing/mochitest/tests/SimpleTest/setup.js | 7 ++- .../specialpowers/content/MozillaLogger.js | 5 +- 4 files changed, 69 insertions(+), 6 deletions(-) diff --git a/testing/mochitest/runtests.py b/testing/mochitest/runtests.py index 1a55c4a6e391..d9eefa04ce42 100644 --- a/testing/mochitest/runtests.py +++ b/testing/mochitest/runtests.py @@ -514,6 +514,8 @@ class MochitestUtilsMixin(object): self.urlOpts.append("dumpAboutMemoryAfterTest=true") if options.dumpDMDAfterTest: self.urlOpts.append("dumpDMDAfterTest=true") + if options.debugger: + self.urlOpts.append("interactiveDebugger=true") def getTestFlavor(self, options): if options.browserChrome: diff --git a/testing/mochitest/tests/SimpleTest/TestRunner.js b/testing/mochitest/tests/SimpleTest/TestRunner.js index 8c38cd789351..99e41cf1351b 100644 --- a/testing/mochitest/tests/SimpleTest/TestRunner.js +++ b/testing/mochitest/tests/SimpleTest/TestRunner.js @@ -65,6 +65,56 @@ function flattenArguments(lst/* ...*/) { return res; } +/** + * StructuredFormatter: Formatter class turning structured messages + * into human-readable messages. + */ +this.StructuredFormatter = function() { + this.testStartTimes = {}; +}; + +StructuredFormatter.prototype.log = function(message) { + return message.message; +}; + +StructuredFormatter.prototype.suite_start = function(message) { + this.suiteStartTime = message.time; + return "SUITE-START | Running " + message.tests.length + " tests"; +}; + +StructuredFormatter.prototype.test_start = function(message) { + this.testStartTimes[message.test] = new Date().getTime(); + return "TEST-START | " + message.test; +}; + +StructuredFormatter.prototype.test_status = function(message) { + var statusInfo = message.test + " | " + message.subtest + + (message.message ? " | " + message.message : ""); + if (message.expected) { + return "TEST-UNEXPECTED-" + message.status + " | " + statusInfo + + " - expected: " + message.expected; + } else { + return "TEST-" + message.status + " | " + statusInfo; + } +}; + +StructuredFormatter.prototype.test_end = function(message) { + var startTime = this.testStartTimes[message.test]; + delete this.testStartTimes[message.test]; + var statusInfo = message.test + (message.message ? " | " + String(message.message) : ""); + var result; + if (message.expected) { + result = "TEST-UNEXPECTED-" + message.status + " | " + statusInfo + + " - expected: " + message.expected; + } else { + return "TEST-" + message.status + " | " + statusInfo; + } + result = " | took " + message.time - startTime + "ms"; +}; + +StructuredFormatter.prototype.suite_end = function(message) { + return "SUITE-END | took " + message.time - this.suiteStartTime + "ms"; +}; /** * StructuredLogger: Structured logger class following the mozlog.structured protocol @@ -72,10 +122,14 @@ function flattenArguments(lst/* ...*/) { * **/ var VALID_ACTIONS = ['suite_start', 'suite_end', 'test_start', 'test_end', 'test_status', 'process_output', 'log']; +// This delimiter is used to avoid interleaving Mochitest/Gecko logs. +var LOG_DELIMITER = String.fromCharCode(0xe175) + String.fromCharCode(0xee31) + String.fromCharCode(0x2c32) + String.fromCharCode(0xacbf); function StructuredLogger(name) { this.name = name; this.testsStarted = []; + this.interactiveDebugger = false; + this.structuredFormatter = new StructuredFormatter(); /* test logs */ @@ -201,7 +255,12 @@ function StructuredLogger(name) { }; this._dumpMessage = function(message) { - var str = JSON.stringify(message); + var str; + if (this.interactiveDebugger) { + str = this.structuredFormatter[message.action](message); + } else { + str = LOG_DELIMITER + JSON.stringify(message) + LOG_DELIMITER; + } // BUGFIX: browser-chrome tests doesn't use LogController if (Object.keys(LogController.listeners).length !== 0) { LogController.log(str); diff --git a/testing/mochitest/tests/SimpleTest/setup.js b/testing/mochitest/tests/SimpleTest/setup.js index ea9a668307b6..78d586e7e222 100644 --- a/testing/mochitest/tests/SimpleTest/setup.js +++ b/testing/mochitest/tests/SimpleTest/setup.js @@ -135,10 +135,13 @@ if (params.dumpDMDAfterTest) { TestRunner.dumpDMDAfterTest = true; } +if (params.interactiveDebugger) { + TestRunner.structuredLogger.interactiveDebugger = true; +} + // Log things to the console if appropriate. TestRunner.logger.addListener("dumpListener", consoleLevel + "", function(msg) { - var data = formatLogMessage(msg); - dump(data); + dump(msg.info.join(' ') + "\n"); }); var gTestList = []; diff --git a/testing/specialpowers/content/MozillaLogger.js b/testing/specialpowers/content/MozillaLogger.js index 9fd52d0da84c..52e16cabc4c8 100644 --- a/testing/specialpowers/content/MozillaLogger.js +++ b/testing/specialpowers/content/MozillaLogger.js @@ -6,10 +6,9 @@ function MozillaLogger(aPath) { } -// This delimiter is used to avoid interleaving Mochitest/Gecko logs. -var LOG_DELIMITER = String.fromCharCode(0xe175) + String.fromCharCode(0xee31) + String.fromCharCode(0x2c32) + String.fromCharCode(0xacbf); + function formatLogMessage(msg) { - return LOG_DELIMITER + msg.info.join(' ') + LOG_DELIMITER + "\n"; + return msg.info.join(' ') + "\n"; } MozillaLogger.prototype = { From fa7ae7d2c81d73f5e83b7c6775224f47b1acfd08 Mon Sep 17 00:00:00 2001 From: Ekanan Ketunuti Date: Wed, 23 Jul 2014 11:30:10 +0700 Subject: [PATCH 44/52] Bug 1042482 - Add parallelization, parallelize to the en-US dictionary. r=ehsan --- .../dictionary-sources/upstream-hunspell.diff | 387 +++++++++--------- .../locales/en-US/hunspell/en-US.dic | 4 +- 2 files changed, 198 insertions(+), 193 deletions(-) diff --git a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/upstream-hunspell.diff b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/upstream-hunspell.diff index 897303206588..5b4f51c2b7f5 100644 --- a/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/upstream-hunspell.diff +++ b/extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/upstream-hunspell.diff @@ -10553,807 +10553,810 @@ < paediatrician's < paediatricians < paediatrics/M -36291a41964 +36290a41963,41964 +> parallelization/SM +> parallelize/SGD +36291a41966 > paralyses -36377a42051 +36377a42053 > parkour -36403d42076 +36403d42078 < parrakeet/MS -36418,36419c42091 +36418,36419c42093 < part's < part/CDSG --- > part/CDSGM -36445,36447c42117 +36445,36447c42119 < partition's < partition/ADG < partitions --- > partition/ADGMS -36449d42118 +36449d42120 < partizan/SM -36621,36622c42290 +36621,36622c42292 < pay's < pay/ASGBL --- > pay/ASGBLM -37093a42762 +37093a42764 > petabyte/MS -37102c42771 +37102c42773 < petitioner/M --- > petitioner/MS -37221a42891,42892 +37221a42893,42894 > phlebotomist/SM > phlebotomize/SGD -37264a42936 +37264a42938 > phosphorylate/DSGN -37310,37311c42982 +37310,37311c42984 < phrase's < phrase/AGDS --- > phrase/AGDSM -37316d42986 +37316d42988 < phrenetic -37469,37470c43139 +37469,37470c43141 < pine's < pine/AGDS --- > pine/AGDSM -37596,37597c43265 +37596,37597c43267 < place's < place/EAGLDS --- > place/EAGLDSM -37630a43299 +37630a43301 > plaintext -37636,37637c43305 +37636,37637c43307 < plane's < plane/CGDS --- > plane/CGDSM -37786,37787c43454 +37786,37787c43456 < ploy's < ploy/S --- > ploy/SM -37792,37793c43459 +37792,37793c43461 < plug's < plug/US --- > plug/USM -37796a43463 +37796a43465 > plugin/MS -37987c43654 +37987c43656 < polypeptide/S --- > polypeptide/MS -38106,38107c43773 +38106,38107c43775 < port's < port/CAEGDS --- > port/CAEGDSM -38134,38135c43800 +38134,38135c43802 < pose's/A < pose/CAKEGDS --- > pose/CAKEGDSM -38140,38141c43805 +38140,38141c43807 < position's/KC < position/ACKES --- > position/ACKESM -38260,38261c43924 +38260,38261c43926 < pound's < pound/KDSG --- > pound/KDSGM -38291d43953 +38291d43955 < practise's -38451a44114 +38451a44116 > prejudgement/MS -38568,38569c44231 +38568,38569c44233 < press's < press/ACGSD --- > press/ACGSDM -38638,38639c44300 +38638,38639c44302 < price's < price/AGDS --- > price/AGDSM -38756,38757c44417 +38756,38757c44419 < process's < process/AGDS --- > process/AGDSM -38780,38781c44440 +38780,38781c44442 < produce's < produce/AZGDRS --- > produce/AZGDRSM -38805a44465 +38805a44467 > profiler/SM -38835a44496 +38835a44498 > programmatically -38891a44553,44554 +38891a44555,44556 > pronate/DSGN > pronator/MS -38951c44614 +38951c44616 < proprietorship/M --- > proprietorship/MS -39039a44703 +39039a44705 > provender/M -39095a44760 +39095a44762 > pseudorandom/Y -39564a45230 +39564a45232 > quinoa -39581,39582c45247 +39581,39582c45249 < quire's < quire/IAS --- > quire/IASM -39614,39615c45279 +39614,39615c45281 < quote's < quote/UDSG --- > quote/UDSGM -39653,39654c45317 +39653,39654c45319 < racoon's < racoons --- > racoon/MS -39738,39739c45401 +39738,39739c45403 < rail's < rail/CGDS --- > rail/CGDSM -39816,39817c45478 +39816,39817c45480 < range's < range/CGDS --- > range/CGDSM -39873a45535,45536 +39873a45537,45538 > rasterization/M > rasterize/SGDR -39925,39926c45588 +39925,39926c45590 < ravel's < ravel/UDSG --- > ravel/UDSGM -40036a45699 +40036a45701 > recency -40140a45804 +40140a45806 > recurse/DGSV -40141a45806 +40141a45808 > recuse/DGS -40204,40205c45869 +40204,40205c45871 < reel's < reel/UGDS --- > reel/UGDSM -40208a45873 +40208a45875 > refactor/SMDG -40244d45908 +40244d45910 < reflexion/SM -40659d46322 +40659d46324 < resizing -40829c46492 +40829c46494 < reverie/M --- > reverie/MS -40895a46559,46561 +40895a46561,46563 > rheumatological > rheumatology/M > rheumatologist/SM -40944,40945c46610 +40944,40945c46612 < ride's < ride/CZGS --- > ride/CZGSM -41104,41105c46769 +41104,41105c46771 < robe's < robe/EGDS --- > robe/EGDSM -41132,41133c46796 +41132,41133c46798 < rogue's < rogue/KS --- > rogue/KSM -41185a46849 +41185a46851 > rootkit/MS -41258,41259c46922 +41258,41259c46924 < route's < route/ADSG --- > route/ADSGM -41415a47079 +41415a47081 > sabre/MS -41447,41448c47111 +41447,41448c47113 < saddle's < saddle/UDSG --- > saddle/UDSGM -41463,41464c47126 +41463,41464c47128 < safe's < safe/UYTPR --- > safe/UYTPRM -41544,41545c47206 +41544,41545c47208 < salt's < salt/CTGDS --- > salt/CTGDSM -41765,41766c47426 +41765,41766c47428 < say's < say/USG --- > say/USGM -41787,41788c47447 +41787,41788c47449 < scale's < scale/ACSDG --- > scale/ACSDGM -41806,41807c47465 +41806,41807c47467 < scan's < scan/AS --- > scan/ASM -41880,41881c47538 +41880,41881c47540 < schedule's < schedule/ADSG --- > schedule/ADSGM -41914c47571 +41914c47573 < schnaps's --- > schnaps/M -41949c47606 +41949c47608 < schrod's --- > schrod/SM -41998a47656 +41998a47658 > scot-free -42016,42017c47674 +42016,42017c47676 < scramble's < scramble/UGDS --- > scramble/UGDSM -42055,42056c47712 +42055,42056c47714 < screw's < screw/UDSG --- > screw/UDSGM -42065,42066c47721 +42065,42066c47723 < scribe's < scribe/IKCGSD --- > scribe/IKCGSDM -42170,42171c47825 +42170,42171c47827 < seal's < seal/AUSDG --- > seal/AUSDGM -42204,42205c47858 +42204,42205c47860 < seat's < seat/UGDS --- > seat/UGDSM -42288,42289c47941 +42288,42289c47943 < seed's < seed/AGDS --- > seed/AGDSM -42365,42367c48017,48018 +42365,42367c48019,48020 < sell's < sell/AZGRS < seller's --- > sell/AZGRSM > seller/M -42524c48175 +42524c48177 < seraphim's --- > seraphim/M -42558,42559c48209 +42558,42559c48211 < serve's/AF < serve/FACGDS --- > serve/FACGDSM -42574,42575c48224 +42574,42575c48226 < serving's < servings --- > serving/MS -42594,42595c48243 +42594,42595c48245 < settle's < settle/AUGDS --- > settle/AUGDSM -42647,42648c48295 +42647,42648c48297 < shackle's < shackle/UGDS --- > shackle/UGDSM -42716,42717c48363 +42716,42717c48365 < shape's < shape/AGDS --- > shape/AGDSM -42851,42852c48497 +42851,42852c48499 < ship's < ship/ALS --- > ship/ALSM -42883,42885c48528 +42883,42885c48530 < shit's < shit/S! < shite/S! --- > shit/MS! -42887,42888c48530,48531 +42887,42888c48532,48533 < shithead/S! < shitload/! --- > shithead/MS! > shitload/MS! -42891c48534 +42891c48536 < shitty/RT! --- > shitty/TR! -42976a48620 +42976a48622 > should've -43008c48652 +43008c48654 < showtime --- > showtime/MS -43090,43091c48734 +43090,43091c48736 < side's < side/AGDS --- > side/AGDSM -43143,43144c48786 +43143,43144c48788 < sign's < sign/AFCGDS --- > sign/AFCGDSM -43163,43164c48805 +43163,43164c48807 < signing's/C < signings --- > signing/MCS -43328c48969 +43328c48971 < size/MGBDRS --- > size/AMGBDRS -43368,43369c49009 +43368,43369c49011 < skill's < skill/CSD --- > skill/CSDM -43724,43726c49364 +43724,43726c49366 < smoulder's < smouldered < smoulders --- > smoulder/GSMD -43752,43753c49390 +43752,43753c49392 < snap's < snap/US --- > snap/USM -43767,43768c49404,49406 +43767,43768c49406,49408 < snarl's < snarl/USDG --- > snarkily > snarky/TR > snarl/USDGM -44012,44013c49650 +44012,44013c49652 < solute's < solute/XN --- > solute/XNM -44015c49652 +44015c49654 < solution's/EA --- > solution/EAM -44021c49658 +44021c49660 < solver's --- > solver/M -44041a49679 +44041a49681 > sommelier/SM -44062c49700 +44062c49702 < sonofabitch --- > sonofabitch/! -44177,44178c49815 +44177,44178c49817 < sow's < sow/ASGD --- > sow/ASGDM -44346a49984 +44346a49986 > spelled -44348a49987 +44348a49989 > spelt -44371a50011 +44371a50013 > spick/S! -44383c50023 +44383c50025 < spik/S --- > spik/S! -44413,44414c50053 +44413,44414c50055 < spire's < spire/IFAS --- > spire/IFASM -44416,44417c50055 +44416,44417c50057 < spirit's < spirit/ISGD --- > spirit/ISGDM -44475,44476c50113 +44475,44476c50115 < spoil's < spoil/CSDRZG --- > spoil/CSDRZGM -44549,44550c50186 +44549,44550c50188 < spray's < spray/ASDG --- > spray/ASDGM -44688,44689c50324 +44688,44689c50326 < staff's < staff/ASDG --- > staff/ASDGM -44729,44730c50364 +44729,44730c50366 < stall's < stall/SDG --- > stall/SDGM -44985,44986c50619 +44985,44986c50621 < still's < still/ITGSD --- > still/ITGSDM -45024,45025c50657 +45024,45025c50659 < stitch's < stitch/ADSG --- > stitch/ADSGM -45030,45031c50662 +45030,45031c50664 < stock's < stock/AGSD --- > stock/AGSDM -45090,45091c50721 +45090,45091c50723 < stop's < stop/US --- > stop/USM -45105,45106c50735 +45105,45106c50737 < store's < store/ADSG --- > store/ADSGM -45148,45149c50777 +45148,45149c50779 < strain's < strain/FADSG --- > strain/FADSGM -45164,45165c50792 +45164,45165c50794 < strap's < strap/US --- > strap/USM -45290,45291c50917 +45290,45291c50919 < structure's < structure/AGDS --- > structure/AGDSM -45330,45331c50956 +45330,45331c50958 < study's < study/AGDS --- > study/AGDSM -45368,45369c50993 +45368,45369c50995 < style's < style/ADSG --- > style/ADSGM -45455,45456c51079 +45455,45456c51081 < submission's < submission/AS --- > submission/ASM -45872,45873c51495 +45872,45873c51497 < surface's < surface/AGDS --- > surface/AGDSM -45918,45919c51540 +45918,45919c51542 < survey's < survey/ADGS --- > survey/ADGSM -46106a51728 +46106a51730 > syllabi -46160c51782 +46160c51784 < synch/GMD --- > synch/GMDS -46167d51788 +46167d51790 < synchs -46178a51800,51802 +46178a51802,51804 > synesthesia > synesthete/S > synesthetic -46203,46204c51827,51828 +46203,46204c51829,51830 < sysadmin/S < sysop/S --- > sysadmin/MS > sysop/MS -46363,46364c51987 +46363,46364c51989 < tangle's < tangle/UDSG --- > tangle/UDSGM -46632a52256,52257 +46632a52258,52259 > teleport/SGD > teleportation -46675,46676c52300 +46675,46676c52302 < template's < template/S --- > template/SM -46752a52377 +46752a52379 > terabit/MS -46753a52379,52380 +46753a52381,52382 > terahertz/M > terapixel/MS -46806,46807c52433 +46806,46807c52435 < test's/AFK < test/AKFCDGS --- > test/AKFCDGSM -46817a52444 +46817a52446 > testcase/MS -46831a52459 +46831a52461 > testsuite/MS -46845a52474 +46845a52476 > textbox/SM -46925a52555 +46925a52557 > theremin/MS -46999c52629 +46999c52631 < thinking's --- > thinking/M -47095,47096c52725 +47095,47096c52727 < throne's < throne/CDS --- > throne/CDSM -47188,47189c52817 +47188,47189c52819 < tie's < tie/AUSD --- > tie/AUSDM -47213,47214c52841 +47213,47214c52843 < till's < till/EDRZGS --- > till/EDRZGSM -47303,47304c52930 +47303,47304c52932 < tire's < tire/AGDS --- > tire/AGDSM -47433,47434c53059 +47433,47434c53061 < tone's < tone/IZGDRS --- > tone/IZGDRSM -47453,47455c53078,53079 +47453,47455c53080,53081 < tool's < tool/ADGS < toolbar --- > tool/ADGSM > toolbar/MS -47540,47541c53164 +47540,47541c53166 < tort's < tort/FEAS --- > tort/FEASM -47644a53268 +47644a53270 > traceur/SM -47657,47658c53281 +47657,47658c53283 < tract's < tract/CEKFAS --- > tract/CEKFASM -47755a53379 +47755a53381 > transfect/DSMG -47774a53399,53400 +47774a53401,53402 > transgenderism > transgene/MS -47807,47808c53433 +47807,47808c53435 < transmission's < transmission/AS --- > transmission/ASM -47928,47929c53553 +47928,47929c53555 < trench's < trench/AIGSD --- > trench/AIGSDM -47951c53575 +47951c53577 < triage/M --- > triage/MGS -47976,47977c53600 +47976,47977c53602 < tribute's < tribute/FS --- > tribute/FSM -47997a53621 +47997a53623 > trifecta/S -48165,48166c53789 +48165,48166c53791 < trust's/E < trust/IESGD --- > trust/IESGDM -48180,48181c53803 +48180,48181c53805 < try's < try/AGDS --- > try/AGDSM -48371,48372c53993 +48371,48372c53995 < twist's < twist/USDG --- > twist/USDGM -48396,48397c54017 +48396,48397c54019 < type's < type/AGDS --- > type/AGDSM -48869a54490 +48869a54492 > unlikeable -49163,49164c54784 +49163,49164c54786 < usual's < usual/UY --- > usual/UYM -49211c54831 +49211c54833 < vagina/M --- > vagina/MS -49249,49250c54869 +49249,49250c54871 < value's < value/CAGSD --- > value/CAGSDM -49292,49293c54911 +49292,49293c54913 < variant's < variant/IS --- > variant/ISM -49356,49357c54974 +49356,49357c54976 < veil's < veil/UDGS --- > veil/UDGSM -49368,49369c54985 +49368,49369c54987 < velour's < velours's --- > velour/MS -49398,49399c55014 +49398,49399c55016 < vent's < vent/DGS --- > vent/DGSM -49435,49436c55050 +49435,49436c55052 < verge's < verge/FDSG --- > verge/FDSGM -49478a55093 +49478a55095 > vertices -49488,49489c55103 +49488,49489c55105 < vest's < vest/ILDGS --- > vest/ILDGSM -49681,49682c55295 +49681,49682c55297 < visit's < visit/ASGD --- > visit/ASGDM -49772a55386,55388 +49772a55388,55390 > volcanological > volcanologist/MS > volcanology/M -49807,49808c55423 +49807,49808c55425 < vote's < vote/CGVDS --- > vote/CGVDSM -50148a55764 +50148a55766 > weaponize/DSG -50215,50216c55831 +50215,50216c55833 < weigh's < weigh/AGD --- > weigh/AGDM -50260,50261d55874 +50260,50261d55876 < werwolf/M < werwolves -50555,50556c56168 +50555,50556c56170 < wind's < wind/UASG --- > wind/UASGM -50626,50627c56238 +50626,50627c56240 < wire's < wire/AGDS --- > wire/AGDSM -50728c56339 +50728c56341 < women --- > women/M -50794,50796c56405,56406 +50794,50796c56407,56408 < wop/S! < word's < word/AJDSG --- > wop/MS! > word/AJDSGM -50801c56411 +50801c56413 < wording's --- > wording/M -50808,50809c56418 +50808,50809c56420 < work's < work/ADJSG --- > work/ADJSGM -50824c56433 +50824c56435 < working's --- > working/M -50884,50885c56493 +50884,50885c56495 < worthy's < worthy/UPRT --- > worthy/UPRTM -50903,50904c56511 +50903,50904c56513 < wrap's < wrap/US --- > wrap/USM -50945c56552 +50945c56554 < writing's --- > writing/M -51118,51119c56725 +51118,51119c56727 < yoke's < yoke/UGDS --- > yoke/UGDSM -51212,51213c56818 +51212,51213c56820 < zip's < zip/US --- > zip/USM -51228,51229c56833 +51228,51229c56835 < zone's < zone/AGDS --- diff --git a/extensions/spellcheck/locales/en-US/hunspell/en-US.dic b/extensions/spellcheck/locales/en-US/hunspell/en-US.dic index 0198ad1d1b8c..fd99199088d3 100644 --- a/extensions/spellcheck/locales/en-US/hunspell/en-US.dic +++ b/extensions/spellcheck/locales/en-US/hunspell/en-US.dic @@ -1,4 +1,4 @@ -57220 +57222 0/nm 0th/pt 1/n1 @@ -42280,6 +42280,8 @@ parallel/SGMD paralleled/U parallelepiped parallelism/SM +parallelization/SM +parallelize/SGD parallelogram/SM paralyses paralysis/M From fef06636ea4d66f7cc9409684d1f281d0b76ffd5 Mon Sep 17 00:00:00 2001 From: Yuan Xulei Date: Thu, 24 Jul 2014 10:21:34 +0800 Subject: [PATCH 45/52] Bug 1036500 - Fix crash caused by non-thread safe DOMFile. r=ehsan --- dom/filesystem/CreateFileTask.h | 2 +- dom/filesystem/DeviceStorageFileSystem.cpp | 4 ++-- dom/filesystem/DeviceStorageFileSystem.h | 2 +- dom/filesystem/Directory.cpp | 4 ++-- dom/filesystem/FileSystemBase.h | 4 ++-- dom/filesystem/RemoveTask.cpp | 19 ++++++++++--------- dom/filesystem/RemoveTask.h | 7 +++++-- 7 files changed, 23 insertions(+), 19 deletions(-) diff --git a/dom/filesystem/CreateFileTask.h b/dom/filesystem/CreateFileTask.h index 0d20726a5f7a..bbba9b940228 100644 --- a/dom/filesystem/CreateFileTask.h +++ b/dom/filesystem/CreateFileTask.h @@ -71,7 +71,7 @@ private: InfallibleTArray mArrayData; bool mReplace; - // This cannot be a DOMFile bacause this object is created on a different + // This cannot be a DOMFile because this object is created on a different // thread and DOMFile is not thread-safe. Let's use the DOMFileImpl instead. nsRefPtr mTargetFileImpl; }; diff --git a/dom/filesystem/DeviceStorageFileSystem.cpp b/dom/filesystem/DeviceStorageFileSystem.cpp index a9251f04b8a5..a6637dfc11a3 100644 --- a/dom/filesystem/DeviceStorageFileSystem.cpp +++ b/dom/filesystem/DeviceStorageFileSystem.cpp @@ -13,7 +13,7 @@ #include "nsCOMPtr.h" #include "nsDebug.h" #include "nsDeviceStorage.h" -#include "nsIDOMFile.h" +#include "nsDOMFile.h" #include "nsIFile.h" #include "nsPIDOMWindow.h" @@ -114,7 +114,7 @@ DeviceStorageFileSystem::GetLocalFile(const nsAString& aRealPath) const } bool -DeviceStorageFileSystem::GetRealPath(nsIDOMFile* aFile, nsAString& aRealPath) const +DeviceStorageFileSystem::GetRealPath(DOMFileImpl* aFile, nsAString& aRealPath) const { MOZ_ASSERT(FileSystemUtils::IsParentProcess(), "Should be on parent process!"); diff --git a/dom/filesystem/DeviceStorageFileSystem.h b/dom/filesystem/DeviceStorageFileSystem.h index cd4e19431f0f..1240e8c30dc0 100644 --- a/dom/filesystem/DeviceStorageFileSystem.h +++ b/dom/filesystem/DeviceStorageFileSystem.h @@ -37,7 +37,7 @@ public: GetLocalFile(const nsAString& aRealPath) const MOZ_OVERRIDE; virtual bool - GetRealPath(nsIDOMFile* aFile, nsAString& aRealPath) const MOZ_OVERRIDE; + GetRealPath(DOMFileImpl* aFile, nsAString& aRealPath) const MOZ_OVERRIDE; virtual const nsAString& GetRootName() const MOZ_OVERRIDE; diff --git a/dom/filesystem/Directory.cpp b/dom/filesystem/Directory.cpp index 389883fdadb5..b3a05c7b69f3 100644 --- a/dom/filesystem/Directory.cpp +++ b/dom/filesystem/Directory.cpp @@ -195,12 +195,12 @@ Directory::RemoveInternal(const StringOrFileOrDirectory& aPath, bool aRecursive, { nsresult error = NS_OK; nsString realPath; - nsCOMPtr file; + nsRefPtr file; // Check and get the target path. if (aPath.IsFile()) { - file = aPath.GetAsFile(); + file = static_cast(aPath.GetAsFile())->Impl(); goto parameters_check_done; } diff --git a/dom/filesystem/FileSystemBase.h b/dom/filesystem/FileSystemBase.h index 490e53b46182..dffc48cf748b 100644 --- a/dom/filesystem/FileSystemBase.h +++ b/dom/filesystem/FileSystemBase.h @@ -10,13 +10,13 @@ #include "nsAutoPtr.h" #include "nsString.h" -class nsIDOMFile; class nsPIDOMWindow; namespace mozilla { namespace dom { class Directory; +class DOMFileImpl; class FileSystemBase { @@ -73,7 +73,7 @@ public: * empty string. */ virtual bool - GetRealPath(nsIDOMFile* aFile, nsAString& aRealPath) const = 0; + GetRealPath(DOMFileImpl* aFile, nsAString& aRealPath) const = 0; /* * Get the permission name required to access this file system. diff --git a/dom/filesystem/RemoveTask.cpp b/dom/filesystem/RemoveTask.cpp index ed92044b2987..fc0c3cf0e1ec 100644 --- a/dom/filesystem/RemoveTask.cpp +++ b/dom/filesystem/RemoveTask.cpp @@ -10,7 +10,7 @@ #include "mozilla/dom/FileSystemBase.h" #include "mozilla/dom/FileSystemUtils.h" #include "mozilla/dom/Promise.h" -#include "nsIDOMFile.h" +#include "nsDOMFile.h" #include "nsIFile.h" #include "nsStringGlue.h" @@ -19,13 +19,13 @@ namespace dom { RemoveTask::RemoveTask(FileSystemBase* aFileSystem, const nsAString& aDirPath, - nsIDOMFile* aTargetFile, + DOMFileImpl* aTargetFile, const nsAString& aTargetPath, bool aRecursive, ErrorResult& aRv) : FileSystemTaskBase(aFileSystem) , mDirRealPath(aDirPath) - , mTargetFile(aTargetFile) + , mTargetFileImpl(aTargetFile) , mTargetRealPath(aTargetPath) , mRecursive(aRecursive) , mReturnValue(false) @@ -65,8 +65,8 @@ RemoveTask::RemoveTask(FileSystemBase* aFileSystem, BlobParent* bp = static_cast(static_cast(target)); nsCOMPtr blob = bp->GetBlob(); - mTargetFile = do_QueryInterface(blob); - MOZ_ASSERT(mTargetFile, "mTargetFile should not be null."); + MOZ_ASSERT(blob); + mTargetFileImpl = static_cast(blob.get())->Impl(); } RemoveTask::~RemoveTask() @@ -90,9 +90,10 @@ RemoveTask::GetRequestParams(const nsString& aFileSystem) const param.filesystem() = aFileSystem; param.directory() = mDirRealPath; param.recursive() = mRecursive; - if (mTargetFile) { + if (mTargetFileImpl) { + nsRefPtr file = new DOMFile(mTargetFileImpl); BlobChild* actor - = ContentChild::GetSingleton()->GetOrCreateActorForBlob(mTargetFile); + = ContentChild::GetSingleton()->GetOrCreateActorForBlob(file); if (actor) { param.target() = actor; } @@ -129,8 +130,8 @@ RemoveTask::Work() } // Get the DOM path if a DOMFile is passed as the target. - if (mTargetFile) { - if (!mFileSystem->GetRealPath(mTargetFile, mTargetRealPath)) { + if (mTargetFileImpl) { + if (!mFileSystem->GetRealPath(mTargetFileImpl, mTargetRealPath)) { return NS_ERROR_DOM_SECURITY_ERR; } if (!FileSystemUtils::IsDescendantPath(mDirRealPath, mTargetRealPath)) { diff --git a/dom/filesystem/RemoveTask.h b/dom/filesystem/RemoveTask.h index 109296762d2d..f7aa856c041d 100644 --- a/dom/filesystem/RemoveTask.h +++ b/dom/filesystem/RemoveTask.h @@ -14,6 +14,7 @@ namespace mozilla { namespace dom { +class DOMFileImpl; class Promise; class RemoveTask MOZ_FINAL @@ -22,7 +23,7 @@ class RemoveTask MOZ_FINAL public: RemoveTask(FileSystemBase* aFileSystem, const nsAString& aDirPath, - nsIDOMFile* aTargetFile, + DOMFileImpl* aTargetFile, const nsAString& aTargetPath, bool aRecursive, ErrorResult& aRv); @@ -58,7 +59,9 @@ protected: private: nsRefPtr mPromise; nsString mDirRealPath; - nsCOMPtr mTargetFile; + // This cannot be a DOMFile because this object will be used on a different + // thread and DOMFile is not thread-safe. Let's use the DOMFileImpl instead. + nsRefPtr mTargetFileImpl; nsString mTargetRealPath; bool mRecursive; bool mReturnValue; From 37383818848537b69b7bccfa65ccb4ec82bd944c Mon Sep 17 00:00:00 2001 From: JW Wang Date: Wed, 23 Jul 2014 20:29:00 +0200 Subject: [PATCH 46/52] Bug 1043111 - Allow |mState==DECODER_STATE_DORMANT| in MediaDecoderStateMachine::ResetPlayback(). r=kinetik --- content/media/MediaDecoderStateMachine.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/media/MediaDecoderStateMachine.cpp b/content/media/MediaDecoderStateMachine.cpp index 797e96e490a7..9286ec93bcb6 100644 --- a/content/media/MediaDecoderStateMachine.cpp +++ b/content/media/MediaDecoderStateMachine.cpp @@ -1405,7 +1405,9 @@ void MediaDecoderStateMachine::Play() void MediaDecoderStateMachine::ResetPlayback() { - MOZ_ASSERT(mState == DECODER_STATE_SEEKING || mState == DECODER_STATE_SHUTDOWN); + MOZ_ASSERT(mState == DECODER_STATE_SEEKING || + mState == DECODER_STATE_SHUTDOWN || + mState == DECODER_STATE_DORMANT); mVideoFrameEndTime = -1; mAudioStartTime = -1; mAudioEndTime = -1; From 7b3340b3570cfd54d8f4dc1419dffd24b5e2b682 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Wed, 23 Jul 2014 22:40:00 +0200 Subject: [PATCH 47/52] Bug 1041381 - Ignore missing depfiles for dtrace. r=glandium --- config/rules.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/config/rules.mk b/config/rules.mk index 751b33c54a45..39725867b2f3 100644 --- a/config/rules.mk +++ b/config/rules.mk @@ -797,6 +797,7 @@ endif ifdef DTRACE_PROBE_OBJ EXTRA_DEPS += $(DTRACE_PROBE_OBJ) OBJS += $(DTRACE_PROBE_OBJ) +EXCLUDED_OBJS += $(DTRACE_PROBE_OBJ) endif $(filter %.$(LIB_SUFFIX),$(LIBRARY)): $(OBJS) $(EXTRA_DEPS) $(GLOBAL_DEPS) From a6de1d83f3237c1a2a84d9825c70d05dbb721750 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Wed, 23 Jul 2014 10:07:35 -0700 Subject: [PATCH 48/52] Bug 1042810 - Use string comparison for Android versions. r=gps --- content/media/omx/moz.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/media/omx/moz.build b/content/media/omx/moz.build index e1fe5abba56e..922f264c719d 100644 --- a/content/media/omx/moz.build +++ b/content/media/omx/moz.build @@ -48,7 +48,7 @@ if 'rtsp' in CONFIG['NECKO_PROTOCOLS']: 'RtspOmxReader.cpp', ] -if CONFIG['ANDROID_VERSION'] and int(CONFIG['ANDROID_VERSION']) >= 18: +if CONFIG['ANDROID_VERSION'] >= '18': EXPORTS += [ 'I420ColorConverterHelper.h', 'MediaCodecDecoder.h', From 19d0897794c2f0d7da1b47ea8dfd186f9391ced1 Mon Sep 17 00:00:00 2001 From: Jeremy Poulin Date: Tue, 15 Jul 2014 09:23:09 -0700 Subject: [PATCH 49/52] Bug 1038357 - Added automatic pruning for mForcedValidEntries in CacheStorage Service. r=honzab --- netwerk/cache2/CacheStorageService.cpp | 33 ++++++++++++++++++++++++-- netwerk/cache2/CacheStorageService.h | 2 ++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/netwerk/cache2/CacheStorageService.cpp b/netwerk/cache2/CacheStorageService.cpp index 0ed4dd706546..2220735f0181 100644 --- a/netwerk/cache2/CacheStorageService.cpp +++ b/netwerk/cache2/CacheStorageService.cpp @@ -1067,13 +1067,42 @@ void CacheStorageService::ForceEntryValidFor(nsACString &aCacheEntryKey, { mozilla::MutexAutoLock lock(mLock); + TimeStamp now = TimeStamp::NowLoRes(); + ForcedValidEntriesPrune(now); + // This will be the timeout - TimeStamp validUntil = TimeStamp::NowLoRes() + - TimeDuration::FromSeconds(aSecondsToTheFuture); + TimeStamp validUntil = now + TimeDuration::FromSeconds(aSecondsToTheFuture); mForcedValidEntries.Put(aCacheEntryKey, validUntil); } +namespace { // anon + +PLDHashOperator PruneForcedValidEntries( + const nsACString& aKey, TimeStamp& aTimeStamp, void* aClosure) +{ + TimeStamp* now = static_cast(aClosure); + if (aTimeStamp < *now) { + return PL_DHASH_REMOVE; + } + + return PL_DHASH_NEXT; +} + +} // anon + +// Cleans out the old entries in mForcedValidEntries +void CacheStorageService::ForcedValidEntriesPrune(TimeStamp &now) +{ + static TimeDuration const oneMinute = TimeDuration::FromSeconds(60); + static TimeStamp dontPruneUntil = now + oneMinute; + if (now < dontPruneUntil) + return; + + mForcedValidEntries.Enumerate(PruneForcedValidEntries, &now); + dontPruneUntil = now + oneMinute; +} + void CacheStorageService::OnMemoryConsumptionChange(CacheMemoryConsumer* aConsumer, uint32_t aCurrentMemoryConsumption) diff --git a/netwerk/cache2/CacheStorageService.h b/netwerk/cache2/CacheStorageService.h index 6c494b2c0398..3e3e34f2e948 100644 --- a/netwerk/cache2/CacheStorageService.h +++ b/netwerk/cache2/CacheStorageService.h @@ -280,6 +280,8 @@ private: bool aReplace, CacheEntryHandle** aResult); + void ForcedValidEntriesPrune(TimeStamp &now); + static CacheStorageService* sSelf; mozilla::Mutex mLock; From 2260cc58681697f01ca78d8521bef954590b348e Mon Sep 17 00:00:00 2001 From: "Antonio M. Amaya" Date: Tue, 22 Jul 2014 08:28:00 +0200 Subject: [PATCH 50/52] Bug 1036847 - Add a test for mozApps cancel()/download() on installation. r=fabrice --- dom/apps/tests/file_packaged_app.sjs | 31 ++++- dom/apps/tests/test_packaged_app_common.js | 8 +- dom/apps/tests/test_packaged_app_install.html | 115 +++++++++++++++--- 3 files changed, 130 insertions(+), 24 deletions(-) diff --git a/dom/apps/tests/file_packaged_app.sjs b/dom/apps/tests/file_packaged_app.sjs index 9e0e44842ea6..2e138e4a904f 100644 --- a/dom/apps/tests/file_packaged_app.sjs +++ b/dom/apps/tests/file_packaged_app.sjs @@ -20,12 +20,23 @@ var gDevUrl = "http://dev.url"; function handleRequest(request, response) { var query = getQuery(request); - response.setHeader("Access-Control-Allow-Origin", "*", false); - var packageSize = ("packageSize" in query) ? query.packageSize : 0; var appName = ("appName" in query) ? query.appName : gAppName; var devName = ("devName" in query) ? query.devName : gDevName; var devUrl = ("devUrl" in query) ? query.devUrl : gDevUrl; + // allowCancel just means deliver the file slowly so we have time to cancel it + var allowCancel = "allowCancel" in query; + var getPackage = "getPackage" in query; + var alreadyDeferred = Number(getState("alreadyDeferred")); + + if (allowCancel && getPackage && !alreadyDeferred) { + // Only do this for the actual package delivery. + response.processAsync(); + // And to avoid timer problems, only do this once. + setState("alreadyDeferred", "1"); + } + + response.setHeader("Access-Control-Allow-Origin", "*", false); // If this is a version update, update state, prepare the manifest, // the application package and return. @@ -36,7 +47,8 @@ function handleRequest(request, response) { var packageName = "test_packaged_app_" + packageVersion + ".zip"; setState("packageName", packageName); - var packagePath = "/" + gBasePath + "file_packaged_app.sjs?getPackage=" + + var packagePath = "/" + gBasePath + "file_packaged_app.sjs?" + + (allowCancel?"allowCancel&": "") + "getPackage=" + packageName; setState("packagePath", packagePath); @@ -84,11 +96,20 @@ function handleRequest(request, response) { response.setHeader("Etag", etag, false); // Serve the application package corresponding to the requested app version. - if ("getPackage" in query) { + if (getPackage) { var resource = readFile(packageName, true); response.setHeader("Content-Type", "Content-Type: application/java-archive", false); - response.write(resource); + if (allowCancel && !alreadyDeferred) { + var timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); + timer.initWithCallback(function (aTimer) { + response.write(resource); + aTimer.cancel(); + response.finish(); + }, 1000, Ci.nsITimer.TYPE_ONE_SHOT); + } else { + response.write(resource); + } return; } diff --git a/dom/apps/tests/test_packaged_app_common.js b/dom/apps/tests/test_packaged_app_common.js index 7c91021f1f64..449aa513d78c 100644 --- a/dom/apps/tests/test_packaged_app_common.js +++ b/dom/apps/tests/test_packaged_app_common.js @@ -57,13 +57,17 @@ var PackagedTestHelper = (function PackagedTestHelper() { finish(); } - function setAppVersion(aVersion, aCb, aDontUpdatePackage) { + function setAppVersion(aVersion, aCb, aDontUpdatePackage, aAllowCancel) { var xhr = new XMLHttpRequest(); var dontUpdate = ""; + var allowCancel = ""; if (aDontUpdatePackage) { dontUpdate = "&dontUpdatePackage=1"; } - var url = gSJS + "?setVersion=" + aVersion + dontUpdate; + if (aAllowCancel) { + allowCancel= "&allowCancel=1"; + } + var url = gSJS + "?setVersion=" + aVersion + dontUpdate + allowCancel; xhr.addEventListener("load", function() { is(xhr.responseText, "OK", "setAppVersion OK"); aCb(); diff --git a/dom/apps/tests/test_packaged_app_install.html b/dom/apps/tests/test_packaged_app_install.html index e3f40b7967f1..4dc300a35b8b 100644 --- a/dom/apps/tests/test_packaged_app_install.html +++ b/dom/apps/tests/test_packaged_app_install.html @@ -34,7 +34,7 @@ function checkAppInstallError(aMiniManifestURL, aExpectedError) { req.onerror = function(evt) { var error = evt.target.error.name; if (error == aExpectedError) { - ok(true, "Got expected " + aExpectedError); + info("Got expected " + aExpectedError); PackagedTestHelper.next(); } else { ok(false, "Got unexpected " + error); @@ -46,7 +46,7 @@ function checkAppInstallError(aMiniManifestURL, aExpectedError) { function checkUninstallApp(aApp) { var req = navigator.mozApps.mgmt.uninstall(aApp); req.onsuccess = function() { - ok(true, "App uninstalled"); + info("App uninstalled"); aApp.ondownloadsuccess = null; aApp.ondownloaderror = null; aApp.onprogress = null; @@ -83,11 +83,11 @@ var steps = [ // Set up SpecialPowers.setAllAppsLaunchable(true); SpecialPowers.addPermission("webapps-manage", true, document); - ok(true, "Set up"); + info("Set up"); PackagedTestHelper.next(); }, function() { - ok(true, "autoConfirmAppInstall"); + info("autoConfirmAppInstall"); SpecialPowers.autoConfirmAppInstall(PackagedTestHelper.next); }, function() { @@ -96,17 +96,17 @@ var steps = [ function() { // Bug 927699 - navigator.mozApps.install(url) lets NS_ERROR_FAILURE onto // the web. - ok(true, "== TEST == INVALID_URL"); + info("== TEST == INVALID_URL"); checkAppInstallError("", "INVALID_URL"); }, function() { // Test network error. - ok(true, "== TEST == Network error"); + info("== TEST == Network error"); checkAppInstallError("http://notvalidurl", "NETWORK_ERROR"); }, function() { // Test wrong mini-manifest content type. - ok(true, "== TEST == Not valid mini-manifest content type"); + info("== TEST == Not valid mini-manifest content type"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true" + "&noManifestContentType=true"; @@ -114,7 +114,7 @@ var steps = [ }, function() { // Test mini-manifest 'size' value is not number. Bug 839435. - ok(true, "== TEST == Size value is not a number"); + info("== TEST == Size value is not a number"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true" + "&packageSize=\"NotANumber\""; @@ -122,7 +122,7 @@ var steps = [ }, function() { // Test mini-manifest negative 'size' value. Bug 839435. - ok(true, "== TEST == Negative size value"); + info("== TEST == Negative size value"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true" + "&packageSize=-1"; @@ -130,7 +130,7 @@ var steps = [ }, function() { // Test wrong package path - ok(true, "== TEST == Installing app with wrong package path"); + info("== TEST == Installing app with wrong package path"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true" + "&wrongPackagePath=true"; @@ -138,7 +138,7 @@ var steps = [ }, function() { // Test no manifest in zip file. - ok(true, "== TEST == No manifest in the zip file"); + info("== TEST == No manifest in the zip file"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true"; PackagedTestHelper.checkAppDownloadError(miniManifestURL, "MISSING_MANIFEST", 0, true, true, @@ -150,7 +150,7 @@ var steps = [ function() { // Test mini-manifest app name is different from the webapp manifest name. // Bug 844243. - ok(true, "== TEST == Mini-manifest app name is different from webapp " + + info("== TEST == Mini-manifest app name is different from webapp " + "manifest name"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true" + @@ -187,11 +187,11 @@ var steps = [ PackagedTestHelper.setAppVersion(2, PackagedTestHelper.next); }, function() { - ok(true, "== TEST == Install packaged app"); + info("== TEST == Install packaged app"); var miniManifestURL = PackagedTestHelper.gSJS + "?getManifest=true"; navigator.mozApps.mgmt.oninstall = function(evt) { - ok(true, "Got oninstall event"); + info("Got oninstall event"); PackagedTestHelper.gApp = evt.application; PackagedTestHelper.gApp.ondownloaderror = function() { ok(false, "Download error " + @@ -199,7 +199,7 @@ var steps = [ PackagedTestHelper.finish(); }; PackagedTestHelper.gApp.ondownloadsuccess = function() { - ok(true, "App downloaded"); + info("App downloaded"); var expected = { name: PackagedTestHelper.gAppName, manifestURL: miniManifestURL, @@ -220,11 +220,92 @@ var steps = [ var request = navigator.mozApps.installPackage(miniManifestURL); request.onerror = PackagedTestHelper.mozAppsError; request.onsuccess = function() { - ok(true, "Application installed"); + info("Application installed"); }; }, function() { - ok(true, "all done!\n"); + PackagedTestHelper.setAppVersion(3, PackagedTestHelper.next, false, true); + }, + function() { + info("== TEST == Install packaged app with a cancel/resume"); + var miniManifestURL = PackagedTestHelper.gSJS + + "?getManifest=true&allowCancel"; + navigator.mozApps.mgmt.oninstall = function(evt) { + info("Got oninstall event"); + PackagedTestHelper.gApp = evt.application; + + PackagedTestHelper.gApp.onprogress = function() { + // The first onprogress event is generated *before* the actual + // download is started. And the next one will be generated too late. + // So we just try to delay the canceling a bit. + setTimeout(function() { + // Let's try cancelling and resuming the download later on. + info("Cancelling the download"); + PackagedTestHelper.gApp.cancelDownload(); + // And only do this once. + PackagedTestHelper.gApp.onprogress = null; + }, 40); + }; + + var alreadyCanceled = false; + PackagedTestHelper.gApp.ondownloaderror = function() { + info("Got a expected download error"); + ok(!alreadyCanceled, "The download should be cancelled only once!"); + is(PackagedTestHelper.gApp.downloadError.name, "DOWNLOAD_CANCELED", + "Download error " + PackagedTestHelper.gApp.downloadError.name); + if (!alreadyCanceled) { + PackagedTestHelper.gApp.download(); + alreadyCanceled = true; + } + }; + + PackagedTestHelper.gApp.ondownloadsuccess = function() { + info("App downloaded"); + // We could try also applying the download we just made. + var expected = { + name: PackagedTestHelper.gAppName, + manifestURL: miniManifestURL, + installOrigin: PackagedTestHelper.gInstallOrigin, + progress: 0, + installState: "pending", + downloadAvailable: false, + downloading: false, + downloadSize: 0, + size: 0, + readyToApplyDownload: true + }; + PackagedTestHelper.checkAppState(PackagedTestHelper.gApp, 3, expected, + true, false, function() {}); + }; + + PackagedTestHelper.gApp.ondownloadapplied = function() { + info("App download applied."); + var expected = { + name: PackagedTestHelper.gAppName, + manifestURL: miniManifestURL, + installOrigin: PackagedTestHelper.gInstallOrigin, + progress: 0, + installState: "installed", + downloadAvailable: false, + downloading: false, + downloadSize: 0, + size: 0, + readyToApplyDownload: false + }; + PackagedTestHelper.checkAppState(PackagedTestHelper.gApp, 3, expected, + true, false, PackagedTestHelper.next); + } + + }; + + var request = navigator.mozApps.installPackage(miniManifestURL); + request.onerror = PackagedTestHelper.mozAppsError; + request.onsuccess = function() { + info("Application installed"); + }; + }, + function() { + info("all done!\n"); PackagedTestHelper.finish(); } ]; From fc2b3b5598a744342b1b2cc122bcd0bf00e1294b Mon Sep 17 00:00:00 2001 From: William Chen Date: Thu, 24 Jul 2014 01:12:38 -0700 Subject: [PATCH 51/52] Bug 1041880 - Use GetParentElementCrossingShadowRoot() when initializing style scopes. r=heycam --- layout/style/nsStyleSet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layout/style/nsStyleSet.cpp b/layout/style/nsStyleSet.cpp index a4bbf449705e..99c7a487dd19 100644 --- a/layout/style/nsStyleSet.cpp +++ b/layout/style/nsStyleSet.cpp @@ -1176,7 +1176,7 @@ static void InitStyleScopes(TreeMatchContext& aTreeContext, Element* aElement) { if (aElement->IsElementInStyleScope()) { - aTreeContext.InitStyleScopes(aElement->GetParentElement()); + aTreeContext.InitStyleScopes(aElement->GetParentElementCrossingShadowRoot()); } } From 6ad763fa7fd55c9cbb00ab2dfbda45d8c611be13 Mon Sep 17 00:00:00 2001 From: Tom Schuster Date: Thu, 24 Jul 2014 10:28:29 +0200 Subject: [PATCH 52/52] Bug 1042685 - Correct LIBS definition for Qt Widget and Gstreamer on Mac. r=glandium --- toolkit/library/libxul.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolkit/library/libxul.mk b/toolkit/library/libxul.mk index 1852a970782c..3ef80ce2de10 100644 --- a/toolkit/library/libxul.mk +++ b/toolkit/library/libxul.mk @@ -204,12 +204,12 @@ endif endif # WINNT ifdef MOZ_ENABLE_QT -LIBS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS) +OS_LIBS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS) endif ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) ifdef MOZ_GSTREAMER -LIBS += $(GSTREAMER_LIBS) +OS_LIBS += $(GSTREAMER_LIBS) endif endif