I just added one more event for testing:
====== VIEWABLE_CHANGE (MediaPlayerCapabilityChangeEvent) ======
Test 1: works fine
Test 2: evt.currentTarget.width = 0 and evt.currentTarget.height = 0
These are bugs, you should get the same event in both cases. The first (DIMENSION_CHANGE, Test 1, no event fires) is now fixed in the public trunk. The second (DIMENSION_CHANGE, Test 2, multiple events fire) is a layout bug, can you file it? Please reference this thread.
Additional detail: The second bug is a result of LayoutContextSprite.updateIntrinsicDimensions updating the height and the width separately. Ideally this would be done atomically, so that a single event would be dispatched.
From your reply it looks like, once the bugs are fixed that DIMENSION_CHANGE will be the perfect place to capture the width and height.
Thanks, I think I can let this one go until Sprint 9.
I have already filed a bug on the multiple events firing, a couple of weeks ago:
Title: "DimensionChangeEvent firing twice (TemporalProxyElement)"
I just posted your forum answer, as a comment to the bug base.