Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(270)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.h

Issue 120913004: aura: Ensure OwnedMailbox not used with invalid or destroyed GLHelper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ownedmailbox: test Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_aura.h
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index 04a4bd1ebfd059b4f14907724d9cfc6852ad980e..193efbd5b44550504371d9a08247d7ca718bcc17 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -6,6 +6,7 @@
#define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_
#include <map>
+#include <set>
#include <string>
#include <vector>
@@ -48,6 +49,7 @@ class ScopedTooltipDisabler;
}
namespace cc {
+class CopyOutputRequest;
class CopyOutputResult;
class DelegatedFrameData;
}
@@ -371,6 +373,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
virtual bool ShouldCreateResizeLock();
virtual scoped_ptr<ResizeLock> CreateResizeLock(bool defer_compositor_lock);
+ virtual void RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request);
+
// Exposed for tests.
aura::Window* window() { return window_; }
gfx::Size current_frame_size() const { return current_frame_size_; }
@@ -404,6 +408,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SoftwareDPIChange);
FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest,
UpdateCursorIfOverSelf);
+ FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraCopyRequestTest,
+ DestroyedAfterCopyRequest);
class WindowObserver;
friend class WindowObserver;
@@ -506,6 +512,10 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
scoped_refptr<OwnedMailbox> subscriber_texture,
scoped_ptr<cc::SingleReleaseCallback> release_callback,
bool result);
+ static void ReturnSubscriberTexture(
+ base::WeakPtr<RenderWidgetHostViewAura> rwhva,
+ scoped_refptr<OwnedMailbox> subscriber_texture,
+ uint32 sync_point);
ui::Compositor* GetCompositor() const;
@@ -765,6 +775,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
// Subscriber that listens to frame presentation events.
scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_;
std::vector<scoped_refptr<OwnedMailbox> > idle_frame_subscriber_textures_;
+ std::set<OwnedMailbox*> active_frame_subscriber_textures_;
// YUV readback pipeline.
scoped_ptr<content::ReadbackYUVInterface>

Powered by Google App Engine
This is Rietveld 408576698