Closed Bug 1115230 Opened 9 years ago Closed 8 years ago

Implement BitmapData.dispose() behavior more accurately.

Categories

(Firefox Graveyard :: Shumway, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: mbx, Assigned: till)

References

Details

In the Flash player, calling dispose on a bitmap data instance that was placed by the timeline does not cause it to disappear. However, all bitmap instances created through AS3 that use that bitmap data do in fact disappear.

We should also track whether a bitmap data is invalid and raise the appropriate exceptions as the Flash player does.
This doesn't only affect disposing: changing the BitmapData also shouldn't change the timeline-placed image. (Or any other instances of the BitmapData class, for that matter.)

Once the eager-assets branch is merged, this should be fairly straight-forward to do: we can create a new Renderable per BitmapData instance, but have it delegate to the original Renderable for the embedded image. Only once the BitmapData's content is changed do we create a canvas element for that instance itself and sever the tie to the original.
Till, did you just fix this dispose() bug?
Assignee: nobody → till
Flags: needinfo?(till)
Nope, I just did the wrapper for AVM1. This is about a (possibly, but maybe not important) internal improvement.
Flags: needinfo?(till)
No longer blocks: shumway-m4
Product: Firefox → Firefox Graveyard
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.