From dbcc0b4b00439b8518a76284aa86d40ae5f96460 Mon Sep 17 00:00:00 2001 From: Chad Hietala Date: Tue, 18 Oct 2016 12:31:17 -0700 Subject: [PATCH] [Glimmer2] Use the document service for glimmer --- addon/utils/dom.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addon/utils/dom.js b/addon/utils/dom.js index 330ded6..baf655f 100644 --- a/addon/utils/dom.js +++ b/addon/utils/dom.js @@ -3,6 +3,9 @@ * be it Fastboot's SimpleDOM or the browser's version. */ +import Ember from 'ember'; +let getOwner = Ember.getOwner; + export function getActiveElement() { if (typeof document === 'undefined') { return null; @@ -43,11 +46,14 @@ export function findElementById(doc, id) { // Private Ember API usage. Get the dom implementation used by the current // renderer, be it native browser DOM or Fastboot SimpleDOM export function getDOM(context) { - let { renderer } = context; + let container = getOwner ? getOwner(context) : context.container; + let renderer = container.lookup('renderer:-dom'); + var domForAppWithGlimmer2 = container.lookup('service:-document'); + if (renderer._dom) { // pre glimmer2 return renderer._dom; - } else if (renderer._env && renderer._env.getDOM) { // glimmer2 - return renderer._env.getDOM(); + } else if (domForAppWithGlimmer2) { // glimmer2 + return domForAppWithGlimmer2; } else { throw new Error('ember-wormhole could not get DOM'); }