 
       Promise.resolve promise, {width, height}
 
-    resolvePosition = =>
-      r = @root.getBoundingClientRect()
+    # Get the current bounding rect.
+    r = @root.getBoundingClientRect()
+
+    if r.width > 0 and r.height > 0
       Promise.resolve promise, {width: r.width, height: r.height}
-
-    if @visible
-      resolvePosition()
     else if @rendered
       calcPositionOffScreen()
     else

  clearTimeout target._transitionTimer

  if target._transitionPromise
    Promise.reject target._transitionPromise, new TransitionCanceled "Transition
    canceled by another transition event."

  target._transitionPromise = promise


# @module stout-ui/component/ComponentView
###

nextTick              = require 'stout-client/util/nextTick'
Promise               = require 'stout-core/promise/Promise'
TransitionCanceledExc = require('stout-client/exc').TransitionCanceledExc
vars                  = require '../vars'
View                  = require 'stout-client/view/View'
ViewNotRenderedErr    = require('stout-client/err').ViewNotRenderedErr

# Load component variables.
require '../vars/component'
