Last Comment Bug 724886 - Push images from plugins instead of pulling from nsObjectFrame
: Push images from plugins instead of pulling from nsObjectFrame
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Plug-ins (show other bugs)
: unspecified
: x86_64 Windows 7
: -- normal (vote)
: mozilla13
Assigned To: Bas Schouten (:bas.schouten)
:
:
Mentors:
Depends on: 777946
Blocks: 651192
  Show dependency treegraph
 
Reported: 2012-02-07 07:27 PST by Bas Schouten (:bas.schouten)
Modified: 2012-07-26 14:45 PDT (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Push images instead of pulling (18.11 KB, patch)
2012-02-07 11:11 PST, Bas Schouten (:bas.schouten)
roc: review+
Details | Diff | Splinter Review
Push images instead of pulling v2 (20.54 KB, patch)
2012-02-07 22:06 PST, Bas Schouten (:bas.schouten)
roc: review+
Details | Diff | Splinter Review

Description Bas Schouten (:bas.schouten) 2012-02-07 07:27:09 PST
As we progress om making the NPAPI Async extension work, we need to push images from the plugin code rather than pulling them from nsObjectFrame. That way the plugin code can also update the images on the container as new surfaces are set current.

Now that the refactoring of image containers is done so that they are layermanager independent we can do this.
Comment 1 Bas Schouten (:bas.schouten) 2012-02-07 11:11:39 PST
Created attachment 595105 [details] [diff] [review]
Push images instead of pulling

This patch should do the trick, the MacIOSurface path could be made to work a little bit more optimal now that we push instead of pull, but since this shouldn't cause any regressions I suggest we do that in a followup.
Comment 2 Robert O'Callahan (:roc) (email my personal email if necessary) 2012-02-07 12:50:09 PST
Comment on attachment 595105 [details] [diff] [review]
Push images instead of pulling

Review of attachment 595105 [details] [diff] [review]:
-----------------------------------------------------------------

Nice

::: dom/plugins/ipc/PluginInstanceParent.h
@@ +299,5 @@
>      // |aSize|.  Return true if successful.
>      bool CreateBackground(const nsIntSize& aSize);
>      void DestroyBackground();
>      SurfaceDescriptor BackgroundDescriptor() /*const*/;
> +    mozilla::layers::ImageContainer *GetImageContainer();

Add a typedef to make this prefixing go away
Comment 3 Bas Schouten (:bas.schouten) 2012-02-07 22:06:08 PST
Created attachment 595316 [details] [diff] [review]
Push images instead of pulling v2

Some issues found during testing were fixed. We now deal with an instance going away due to plugin crashing causing no container to be found, and some of the mac code was fixed up to compile/behave correctly.
Comment 4 Ed Morley [:emorley] 2012-02-09 10:33:04 PST
https://hg.mozilla.org/mozilla-central/rev/1a345b043b47

Note You need to log in before you can comment on or make changes to this bug.