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

Side by Side Diff: mojo/examples/pepper_container_app/pepper_container_app.cc

Issue 372273004: Shutdown cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 5 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 | Annotate | Revision Log
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 #include "base/macros.h" 5 #include "base/macros.h"
6 #include "base/memory/ref_counted.h" 6 #include "base/memory/ref_counted.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "mojo/examples/pepper_container_app/mojo_ppapi_globals.h" 10 #include "mojo/examples/pepper_container_app/mojo_ppapi_globals.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 // NativeViewportClient implementation. 49 // NativeViewportClient implementation.
50 virtual void OnCreated() OVERRIDE { 50 virtual void OnCreated() OVERRIDE {
51 ppapi::ProxyAutoLock lock; 51 ppapi::ProxyAutoLock lock;
52 52
53 plugin_instance_ = plugin_module_->CreateInstance().Pass(); 53 plugin_instance_ = plugin_module_->CreateInstance().Pass();
54 if (!plugin_instance_->DidCreate()) 54 if (!plugin_instance_->DidCreate())
55 plugin_instance_.reset(); 55 plugin_instance_.reset();
56 } 56 }
57 57
58 virtual void OnDestroyed() OVERRIDE { 58 virtual void OnDestroyed(const mojo::Callback<void()>& callback) OVERRIDE {
59 ppapi::ProxyAutoLock lock; 59 ppapi::ProxyAutoLock lock;
60 60
61 if (plugin_instance_) { 61 if (plugin_instance_) {
62 plugin_instance_->DidDestroy(); 62 plugin_instance_->DidDestroy();
63 plugin_instance_.reset(); 63 plugin_instance_.reset();
64 } 64 }
65 65
66 base::MessageLoop::current()->Quit(); 66 base::MessageLoop::current()->Quit();
67 callback.Run();
67 } 68 }
68 69
69 virtual void OnBoundsChanged(RectPtr bounds) OVERRIDE { 70 virtual void OnBoundsChanged(RectPtr bounds) OVERRIDE {
70 ppapi::ProxyAutoLock lock; 71 ppapi::ProxyAutoLock lock;
71 72
72 if (plugin_instance_) 73 if (plugin_instance_)
73 plugin_instance_->DidChangeView(bounds.To<PP_Rect>()); 74 plugin_instance_->DidChangeView(bounds.To<PP_Rect>());
74 } 75 }
75 76
76 virtual void OnEvent(EventPtr event, 77 virtual void OnEvent(EventPtr event,
(...skipping 24 matching lines...) Expand all
101 }; 102 };
102 103
103 } // namespace examples 104 } // namespace examples
104 105
105 // static 106 // static
106 ApplicationDelegate* ApplicationDelegate::Create() { 107 ApplicationDelegate* ApplicationDelegate::Create() {
107 return new examples::PepperContainerApp(); 108 return new examples::PepperContainerApp();
108 } 109 }
109 110
110 } // namespace mojo 111 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698