diff options
Diffstat (limited to 'toolkit/components')
-rw-r--r-- | toolkit/components/places/PlacesUtils.jsm | 9 | ||||
-rw-r--r-- | toolkit/components/places/tests/unit/test_utils_getURLsForContainerNode.js | 1 |
2 files changed, 7 insertions, 3 deletions
diff --git a/toolkit/components/places/PlacesUtils.jsm b/toolkit/components/places/PlacesUtils.jsm index 323fa41a1..5f6e81f18 100644 --- a/toolkit/components/places/PlacesUtils.jsm +++ b/toolkit/components/places/PlacesUtils.jsm @@ -1341,7 +1341,7 @@ this.PlacesUtils = { * The container node to search through. * @returns true if the node contains uri nodes, false otherwise. */ - hasChildURIs: function PU_hasChildURIs(aNode) { + hasChildURIs: function PU_hasChildURIs(aNode, aMultiple=false) { if (!this.nodeIsContainer(aNode)) return false; @@ -1357,11 +1357,14 @@ this.PlacesUtils = { root.containerOpen = true; } + let foundFirst = !aMultiple; let found = false; for (let i = 0; i < root.childCount && !found; i++) { let child = root.getChild(i); - if (this.nodeIsURI(child)) - found = true; + if (this.nodeIsURI(child)) { + found = foundFirst; + foundFirst = true; + } } if (!wasOpen) { diff --git a/toolkit/components/places/tests/unit/test_utils_getURLsForContainerNode.js b/toolkit/components/places/tests/unit/test_utils_getURLsForContainerNode.js index ecebce94a..3e2f88c21 100644 --- a/toolkit/components/places/tests/unit/test_utils_getURLsForContainerNode.js +++ b/toolkit/components/places/tests/unit/test_utils_getURLsForContainerNode.js @@ -165,6 +165,7 @@ function check_uri_nodes(aQuery, aOptions, aExpectedURINodes) { root.containerOpen = true; var node = root.getChild(0); do_check_eq(PU.hasChildURIs(node), aExpectedURINodes > 0); + do_check_eq(PU.hasChildURIs(node, true), aExpectedURINodes > 1); do_check_eq(PU.getURLsForContainerNode(node).length, aExpectedURINodes); root.containerOpen = false; } |