author | Wes Kocher <wkocher@mozilla.com> |
Mon, 09 Dec 2013 20:45:54 -0800 | |
changeset 159631 | cd37573496575d867f6951fba24584da42787081 |
parent 159630 | 712628797f219e9ecc406a176702b65d4cae4b82 (current diff) |
parent 159607 | 038269f529a2b427ad0f5f15d2d44fe7870cd06e (diff) |
child 159632 | b9a394d1c11e63e456be047b659097577f38e873 |
push id | 25808 |
push user | cbook@mozilla.com |
push date | Tue, 10 Dec 2013 12:03:31 +0000 |
treeherder | mozilla-central@7fb91a422c5e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
milestone | 29.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
browser/devtools/webconsole/test/Makefile.in | file | annotate | diff | comparison | revisions | |
dom/media/tests/mochitest/test_getUserMedia_permission.html | file | annotate | diff | comparison | revisions |
--- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,4 +1,4 @@ { - "revision": "d5f4a104c0b79b8fe13b7883dd531249ed251146", + "revision": "bb23044d4a97be1381be924064817dddbd2ea47b", "repo_path": "/integration/gaia-central" }
--- a/browser/components/sessionstore/src/DocumentUtils.jsm +++ b/browser/components/sessionstore/src/DocumentUtils.jsm @@ -50,17 +50,18 @@ this.DocumentUtils = { // Only generate a limited number of XPath expressions for perf reasons // (cf. bug 477564) if (!nId && generatedCount > MAX_TRAVERSED_XPATHS) { continue; } if (node instanceof Ci.nsIDOMHTMLInputElement || - node instanceof Ci.nsIDOMHTMLTextAreaElement) { + node instanceof Ci.nsIDOMHTMLTextAreaElement || + node instanceof Ci.nsIDOMXULTextBoxElement) { switch (node.type) { case "checkbox": case "radio": value = node.checked; hasDefaultValue = value == node.defaultChecked; break; case "file": value = { type: "file", fileList: node.mozGetFileNameArray() }; @@ -197,20 +198,20 @@ this.DocumentUtils = { if (aNode.options[aNode.selectedIndex].value == aValue.value) { return; } // find first option with matching aValue if possible for (let i = 0; i < aNode.options.length; i++) { if (aNode.options[i].value == aValue.value) { aNode.selectedIndex = i; + eventType = "change"; break; } } - eventType = "change"; } else if (aValue && aValue.fileList && aValue.type == "file" && aNode.type == "file") { aNode.mozSetFileNameArray(aValue.fileList, aValue.fileList.length); eventType = "input"; } else if (aValue && typeof aValue.indexOf == "function" && aNode.options) { Array.forEach(aNode.options, function(opt, index) { // don't worry about malformed options with same values opt.selected = aValue.indexOf(opt.value) > -1;
--- a/browser/components/sessionstore/src/TextAndScrollData.jsm +++ b/browser/components/sessionstore/src/TextAndScrollData.jsm @@ -81,23 +81,16 @@ let TextAndScrollDataInternal = { // get scroll position from nsIDOMWindowUtils, since it allows avoiding a // flush of layout let domWindowUtils = content.QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.nsIDOMWindowUtils); let scrollX = {}, scrollY = {}; domWindowUtils.getScrollXY(false, scrollX, scrollY); entry.scroll = scrollX.value + "," + scrollY.value; - - if (topURL == "about:config") { - entry.formdata = { - id: { "textbox": content.top.document.getElementById("textbox").value }, - xpath: {} - }; - } }, isAboutSessionRestore: function (url) { return url == "about:sessionrestore" || url == "about:welcomeback"; }, restore: function (frameList) { for (let [frame, data] of frameList) {
--- a/browser/components/sessionstore/src/XPathGenerator.jsm +++ b/browser/components/sessionstore/src/XPathGenerator.jsm @@ -3,18 +3,24 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ "use strict"; this.EXPORTED_SYMBOLS = ["XPathGenerator"]; this.XPathGenerator = { // these two hashes should be kept in sync - namespaceURIs: { "xhtml": "http://www.w3.org/1999/xhtml" }, - namespacePrefixes: { "http://www.w3.org/1999/xhtml": "xhtml" }, + namespaceURIs: { + "xhtml": "http://www.w3.org/1999/xhtml", + "xul": "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + }, + namespacePrefixes: { + "http://www.w3.org/1999/xhtml": "xhtml", + "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul": "xul" + }, /** * Generates an approximate XPath query to an (X)HTML node */ generate: function sss_xph_generate(aNode) { // have we reached the document node already? if (!aNode.parentNode) return ""; @@ -88,12 +94,15 @@ this.XPathGenerator = { let ignoreTypes = ["password", "hidden", "button", "image", "submit", "reset"]; // XXXzeniko work-around until lower-case has been implemented (bug 398389) let toLowerCase = '"ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz"'; let ignore = "not(translate(@type, " + toLowerCase + ")='" + ignoreTypes.join("' or translate(@type, " + toLowerCase + ")='") + "')"; let formNodesXPath = "//textarea|//select|//xhtml:textarea|//xhtml:select|" + "//input[" + ignore + "]|//xhtml:input[" + ignore + "]"; + // Special case for about:config's search field. + formNodesXPath += '|/xul:window[@id="config"]//xul:textbox[@id="textbox"]'; + delete this.restorableFormNodes; return (this.restorableFormNodes = formNodesXPath); } };
--- a/browser/devtools/commandline/test/browser.ini +++ b/browser/devtools/commandline/test/browser.ini @@ -5,43 +5,50 @@ support-files = mockCommands.js [browser_cmd_addon.js] [browser_cmd_calllog.js] skip-if = true # Bug 845831 [browser_cmd_calllog_chrome.js] skip-if = true # Bug 845831 [browser_cmd_appcache_invalid.js] -[browser_cmd_appcache_invalid_appcache.appcache] -[browser_cmd_appcache_invalid_appcache.appcache^headers^] -[browser_cmd_appcache_invalid_index.html] -[browser_cmd_appcache_invalid_page1.html] -[browser_cmd_appcache_invalid_page2.html] -[browser_cmd_appcache_invalid_page3.html] -[browser_cmd_appcache_invalid_page3.html^headers^] +support-files = + browser_cmd_appcache_invalid_appcache.appcache + browser_cmd_appcache_invalid_appcache.appcache^headers^ + browser_cmd_appcache_invalid_index.html + browser_cmd_appcache_invalid_page1.html + browser_cmd_appcache_invalid_page2.html + browser_cmd_appcache_invalid_page3.html + browser_cmd_appcache_invalid_page3.html^headers^ [browser_cmd_appcache_valid.js] -[browser_cmd_appcache_valid_appcache.appcache] -[browser_cmd_appcache_valid_appcache.appcache^headers^] -[browser_cmd_appcache_valid_index.html] -[browser_cmd_appcache_valid_page1.html] -[browser_cmd_appcache_valid_page2.html] -[browser_cmd_appcache_valid_page3.html] +support-files = + browser_cmd_appcache_valid_appcache.appcache + browser_cmd_appcache_valid_appcache.appcache^headers^ + browser_cmd_appcache_valid_index.html + browser_cmd_appcache_valid_page1.html + browser_cmd_appcache_valid_page2.html + browser_cmd_appcache_valid_page3.html [browser_cmd_commands.js] -[browser_cmd_cookie.html] [browser_cmd_cookie.js] +support-files = + browser_cmd_cookie.html [browser_cmd_jsb.js] -[browser_cmd_jsb_script.jsi] -[browser_cmd_media.html] +support-files = + browser_cmd_jsb_script.jsi [browser_cmd_media.js] -[browser_cmd_pagemod_export.html] +support-files = + browser_cmd_media.html [browser_cmd_pagemod_export.js] +support-files = + browser_cmd_pagemod_export.html [browser_cmd_pref.js] [browser_cmd_restart.js] -[browser_cmd_screenshot.html] [browser_cmd_screenshot.js] +support-files = + browser_cmd_screenshot.html [browser_cmd_settings.js] [browser_gcli_async.js] [browser_gcli_canon.js] [browser_gcli_cli.js] [browser_gcli_completion.js] [browser_gcli_date.js] skip-if = true # Disabled until TZ bug is fixed [browser_gcli_exec.js]
deleted file mode 100644 --- a/browser/devtools/webconsole/test/Makefile.in +++ /dev/null @@ -1,16 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -ifeq ($(OS_ARCH), Darwin) -MOCHITEST_BROWSER_FILES += \ - browser_webconsole_bug_804845_ctrl_key_nav.js \ - $(NULL) -endif - -ifeq ($(OS_ARCH),WINNT) -MOCHITEST_BROWSER_FILES += \ - browser_webconsole_bug_623749_ctrl_a_select_all_winnt.js \ - $(NULL) -endif -
--- a/browser/devtools/webconsole/test/browser.ini +++ b/browser/devtools/webconsole/test/browser.ini @@ -180,16 +180,18 @@ support-files = [browser_webconsole_bug_613280_jsterm_copy.js] [browser_webconsole_bug_613642_maintain_scroll.js] [browser_webconsole_bug_613642_prune_scroll.js] [browser_webconsole_bug_614793_jsterm_scroll.js] [browser_webconsole_bug_618078_network_exceptions.js] [browser_webconsole_bug_618311_close_panels.js] [browser_webconsole_bug_621644_jsterm_dollar.js] [browser_webconsole_bug_622303_persistent_filters.js] +[browser_webconsole_bug_623749_ctrl_a_select_all_winnt.js] +run-if = os == "win" [browser_webconsole_bug_630733_response_redirect_headers.js] [browser_webconsole_bug_632275_getters_document_width.js] [browser_webconsole_bug_632347_iterators_generators.js] [browser_webconsole_bug_632817.js] [browser_webconsole_bug_642108_pruneTest.js] [browser_webconsole_bug_642615_autocomplete.js] [browser_webconsole_bug_644419_log_limits.js] [browser_webconsole_bug_646025_console_file_location.js] @@ -205,16 +207,18 @@ support-files = [browser_webconsole_bug_737873_mixedcontent.js] [browser_webconsole_bug_762593_insecure_passwords_about_blank_web_console_warning.js] [browser_webconsole_bug_762593_insecure_passwords_web_console_warning.js] [browser_webconsole_bug_764572_output_open_url.js] [browser_webconsole_bug_766001_JS_Console_in_Debugger.js] [browser_webconsole_bug_770099_bad_policyuri.js] [browser_webconsole_bug_770099_violation.js] [browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js] +[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_821877_csp_errors.js] [browser_webconsole_bug_837351_securityerrors.js] [browser_webconsole_bug_846918_hsts_invalid-headers.js] [browser_webconsole_cached_autocomplete.js] [browser_webconsole_change_font_size.js] [browser_webconsole_chrome.js] [browser_webconsole_closure_inspection.js]
--- a/dom/apps/src/Webapps.jsm +++ b/dom/apps/src/Webapps.jsm @@ -446,16 +446,41 @@ this.DOMApplicationRegistry = { destDir.remove(true); delete this.webapps[aId]; } finally { zipReader.close(); } #endif }, + // For hosted apps, uninstall an app served from http:// if we have + // one installed from the same url with an https:// scheme. + removeIfHttpsDuplicate: function(aId) { +#ifdef MOZ_WIDGET_GONK + let app = this.webapps[aId]; + if (!app || !app.origin.startsWith("http://")) { + return; + } + + let httpsManifestURL = + "https://" + app.manifestURL.substring("http://".length); + + // This will uninstall the http apps and remove any data hold by this + // app. Bug 948105 tracks data migration from http to https apps. + for (let id in this.webapps) { + if (this.webapps[id].manifestURL === httpsManifestURL) { + debug("Found a http/https match: " + app.manifestURL + " / " + + this.webapps[id].manifestURL); + this.uninstall(app.manifestURL, function() {}, function() {}); + return; + } + } +#endif + }, + // Implements the core of bug 787439 // if at first run, go through these steps: // a. load the core apps registry. // b. uninstall any core app from the current registry but not in the // new core apps registry. // c. for all apps in the new core registry, install them if they are not // yet in the current registry, and run installPermissions() installSystemApps: function installSystemApps(aNext) { @@ -550,16 +575,17 @@ this.DOMApplicationRegistry = { } #endif let onAppsLoaded = (function onAppsLoaded() { if (runUpdate) { // At first run, install preloaded apps and set up their permissions. for (let id in this.webapps) { this.installPreinstalledApp(id); + this.removeIfHttpsDuplicate(id); if (!this.webapps[id]) { continue; } this.updateOfflineCacheForApp(id); this.updatePermissionsForApp(id); } // Need to update the persisted list of apps since // installPreinstalledApp() removes the ones failing to install.
--- a/dom/media/tests/mochitest/Makefile.in +++ b/dom/media/tests/mochitest/Makefile.in @@ -2,14 +2,8 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # The following tests are leaking and cannot be run by default yet ifdef MOZ_WEBRTC_LEAKING_TESTS MOCHITEST_FILES += \ $(NULL) endif - -ifdef MOZ_B2G_CAMERA -MOCHITEST_FILES += \ - test_getUserMedia_permission.html \ - $(NULL) -endif
deleted file mode 100644 --- a/dom/media/tests/mochitest/test_getUserMedia_permission.html +++ /dev/null @@ -1,75 +0,0 @@ -<!DOCTYPE HTML> -<html> -<!-- -https://bugzilla.mozilla.org/show_bug.cgi?id=853356 ---> -<head> - <meta charset="utf-8"> - <title>mozGetUserMedia Permission Test</title> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> - <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <script type="application/javascript" src="head.js"></script> - <script type="application/javascript" src="mediaStreamPlayback.js"></script> -</head> -<body> -<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=853356">Display camera/microphone permission acquisition prompt</a> -<script type="application/javascript"> - -var gCount = 0; -var gTests = [ - { - constraints: {video: true, audio: false} - } - , - { - constraints: {video: false, audio: true} - } - , - { - constraints: {video: true, audio: true}, - } - ]; - -function gUM(data) { - var gum_success = function (stream) { - SimpleTest.info("TEST-INFO | Got succss callback for " + JSON.stringify(data.constraints)); - - var hasAudioTrack = stream.getAudioTracks().length > 0; - var hasVideoTrack = stream.getVideoTracks().length > 0; - - is(data.constraints.audio, hasAudioTrack, "Request audio track:" + - data.constraints.audio + " contain audio track:" + hasAudioTrack); - is(data.constraints.video, hasVideoTrack, "Request video track:" + - data.constraints.video + " contain audio track:" + hasVideoTrack); - gCount++; - if (gCount < gTests.length) { - gUM(gTests[gCount]); - } else { - SimpleTest.finish(); - } - } - - var gum_fail = function () { - ok(false, "permission not granted for " + JSON.stringify(data.constraints)); - - SimpleTest.finish(); - } - - SimpleTest.info("TEST-INFO | Call getUserMedia for " + JSON.stringify(data.constraints)); - navigator.mozGetUserMedia(data.constraints, gum_success, gum_fail); -} - -SpecialPowers.pushPrefEnv({"set": [["media.navigator.permission.disabled", false]]}, - function () { - SpecialPowers.addPermission('video-capture', - Ci.nsIPermissionManager.ALLOW_ACTION, document); - SpecialPowers.addPermission('audio-capture', - Ci.nsIPermissionManager.ALLOW_ACTION, document); - - gUM(gTests[gCount]); - }); -SimpleTest.waitForExplicitFinish(); -</script> -</pre> -</body> -</html>