From b6027dfccca6887da8ee5056f757a6417f052b50 Mon Sep 17 00:00:00 2001 From: Diego Nascimento Date: Tue, 27 Mar 2018 10:34:54 -0300 Subject: [PATCH] Removing contains internal implementaion | Fixes #367 --- packages/metal-dom/src/domNamed.js | 17 +---------------- packages/metal-dom/src/events.js | 2 +- packages/metal-dom/test/dom.js | 18 ------------------ 3 files changed, 2 insertions(+), 35 deletions(-) diff --git a/packages/metal-dom/src/domNamed.js b/packages/metal-dom/src/domNamed.js index 9cae389c..e02b78b3 100644 --- a/packages/metal-dom/src/domNamed.js +++ b/packages/metal-dom/src/domNamed.js @@ -205,21 +205,6 @@ export function buildFragment(htmlString) { return fragment; } -/** - * Checks if the first element contains the second one. - * @param {!Element} element1 - * @param {!Element} element2 - * @return {boolean} - */ -export function contains(element1, element2) { - if (isDocument(element1)) { - // document.contains is not defined on IE9, so call it on documentElement instead. - return element1.documentElement.contains(element2); - } else { - return element1.contains(element2); - } -} - /** * Listens to the specified event on the given DOM element, but only calls the * given callback listener when it's triggered by elements that match the @@ -854,7 +839,7 @@ function toggleClassesWithoutNative_(element, classes) { */ function triggerElementListeners_(element, event, defaultFns) { const lastContainer = event[LAST_CONTAINER]; - if (!isDef(lastContainer) || !contains(lastContainer, element)) { + if (!isDef(lastContainer) || !lastContainer.contains(element)) { const listeners = domData.get(element, 'listeners', {})[event.type]; return triggerListeners_(listeners, event, element, defaultFns); } diff --git a/packages/metal-dom/src/events.js b/packages/metal-dom/src/events.js index 63756e32..08772e59 100644 --- a/packages/metal-dom/src/events.js +++ b/packages/metal-dom/src/events.js @@ -23,7 +23,7 @@ function registerEvents() { // eslint-disable-next-line if ( !related || - (related !== target && !contains(target, related)) + (related !== target && !target.contains(related)) ) { event.customType = eventName; return callback(event); diff --git a/packages/metal-dom/test/dom.js b/packages/metal-dom/test/dom.js index fdd8122b..87f5d44e 100644 --- a/packages/metal-dom/test/dom.js +++ b/packages/metal-dom/test/dom.js @@ -167,24 +167,6 @@ describe('dom', function() { }); }); - describe('contains', function() { - it('should check if element contains another', function() { - let element1 = document.createElement('div'); - let element2 = document.createElement('div'); - let element3 = document.createElement('div'); - dom.append(element1, element2); - dom.enterDocument(element3); - - assert.ok(dom.contains(element1, element2)); - assert.ok(dom.contains(document, element3)); - - assert.ok(!dom.contains(element1, element3)); - assert.ok(!dom.contains(element2, element1)); - assert.ok(!dom.contains(document, element1)); - assert.ok(!dom.contains(document, element2)); - }); - }); - describe('manipulation', function() { it('should append html string to parent element', function() { let parent = document.createElement('div');