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

Side by Side Diff: content/browser/compositor/gpu_process_transport_factory.h

Issue 553213003: Avoid destroying surface before the parent surface stops referencing it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_BROWSER_COMPOSITOR_GPU_PROCESS_TRANSPORT_FACTORY_H_ 5 #ifndef CONTENT_BROWSER_COMPOSITOR_GPU_PROCESS_TRANSPORT_FACTORY_H_
6 #define CONTENT_BROWSER_COMPOSITOR_GPU_PROCESS_TRANSPORT_FACTORY_H_ 6 #define CONTENT_BROWSER_COMPOSITOR_GPU_PROCESS_TRANSPORT_FACTORY_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/id_map.h" 10 #include "base/id_map.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 ui::Compositor* source, 49 ui::Compositor* source,
50 ui::Layer* target) OVERRIDE; 50 ui::Layer* target) OVERRIDE;
51 virtual void RemoveReflector( 51 virtual void RemoveReflector(
52 scoped_refptr<ui::Reflector> reflector) OVERRIDE; 52 scoped_refptr<ui::Reflector> reflector) OVERRIDE;
53 virtual void RemoveCompositor(ui::Compositor* compositor) OVERRIDE; 53 virtual void RemoveCompositor(ui::Compositor* compositor) OVERRIDE;
54 virtual scoped_refptr<cc::ContextProvider> 54 virtual scoped_refptr<cc::ContextProvider>
55 SharedMainThreadContextProvider() OVERRIDE; 55 SharedMainThreadContextProvider() OVERRIDE;
56 virtual bool DoesCreateTestContexts() OVERRIDE; 56 virtual bool DoesCreateTestContexts() OVERRIDE;
57 virtual cc::SharedBitmapManager* GetSharedBitmapManager() OVERRIDE; 57 virtual cc::SharedBitmapManager* GetSharedBitmapManager() OVERRIDE;
58 virtual base::MessageLoopProxy* GetCompositorMessageLoop() OVERRIDE; 58 virtual base::MessageLoopProxy* GetCompositorMessageLoop() OVERRIDE;
59 virtual scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator()
60 OVERRIDE;
59 61
60 // ImageTransportFactory implementation. 62 // ImageTransportFactory implementation.
61 virtual ui::ContextFactory* GetContextFactory() OVERRIDE; 63 virtual ui::ContextFactory* GetContextFactory() OVERRIDE;
62 virtual gfx::GLSurfaceHandle GetSharedSurfaceHandle() OVERRIDE; 64 virtual gfx::GLSurfaceHandle GetSharedSurfaceHandle() OVERRIDE;
63 virtual scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator()
64 OVERRIDE;
65 virtual cc::SurfaceManager* GetSurfaceManager() OVERRIDE; 65 virtual cc::SurfaceManager* GetSurfaceManager() OVERRIDE;
66 virtual GLHelper* GetGLHelper() OVERRIDE; 66 virtual GLHelper* GetGLHelper() OVERRIDE;
67 virtual void AddObserver(ImageTransportFactoryObserver* observer) OVERRIDE; 67 virtual void AddObserver(ImageTransportFactoryObserver* observer) OVERRIDE;
68 virtual void RemoveObserver( 68 virtual void RemoveObserver(
69 ImageTransportFactoryObserver* observer) OVERRIDE; 69 ImageTransportFactoryObserver* observer) OVERRIDE;
70 #if defined(OS_MACOSX) 70 #if defined(OS_MACOSX)
71 virtual void OnSurfaceDisplayed(int surface_id) OVERRIDE; 71 virtual void OnSurfaceDisplayed(int surface_id) OVERRIDE;
72 #endif 72 #endif
73 73
74 private: 74 private:
(...skipping 21 matching lines...) Expand all
96 IDMap<BrowserCompositorOutputSurface> output_surface_map_; 96 IDMap<BrowserCompositorOutputSurface> output_surface_map_;
97 97
98 scoped_refptr<BrowserCompositorOutputSurfaceProxy> output_surface_proxy_; 98 scoped_refptr<BrowserCompositorOutputSurfaceProxy> output_surface_proxy_;
99 99
100 DISALLOW_COPY_AND_ASSIGN(GpuProcessTransportFactory); 100 DISALLOW_COPY_AND_ASSIGN(GpuProcessTransportFactory);
101 }; 101 };
102 102
103 } // namespace content 103 } // namespace content
104 104
105 #endif // CONTENT_BROWSER_COMPOSITOR_GPU_PROCESS_TRANSPORT_FACTORY_H_ 105 #endif // CONTENT_BROWSER_COMPOSITOR_GPU_PROCESS_TRANSPORT_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698