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

Side by Side Diff: webkit/plugins/ppapi/ppb_flash_menu_impl.cc

Issue 7669055: Remove webkit::ppapi::Resource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nulls auditeed Created 9 years, 4 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/plugins/ppapi/ppb_flash_menu_impl.h" 5 #include "webkit/plugins/ppapi/ppb_flash_menu_impl.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "ppapi/c/pp_completion_callback.h" 8 #include "ppapi/c/pp_completion_callback.h"
9 #include "ui/gfx/point.h" 9 #include "ui/gfx/point.h"
10 #include "webkit/glue/webmenuitem.h" 10 #include "webkit/glue/webmenuitem.h"
11 #include "webkit/plugins/ppapi/common.h" 11 #include "webkit/plugins/ppapi/common.h"
12 #include "webkit/plugins/ppapi/plugin_delegate.h" 12 #include "webkit/plugins/ppapi/plugin_delegate.h"
13 #include "webkit/plugins/ppapi/plugin_module.h" 13 #include "webkit/plugins/ppapi/plugin_module.h"
14 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" 14 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
15 #include "webkit/plugins/ppapi/resource_helper.h"
15 16
16 using ::ppapi::thunk::PPB_Flash_Menu_API; 17 using ::ppapi::thunk::PPB_Flash_Menu_API;
17 18
18 namespace webkit { 19 namespace webkit {
19 namespace ppapi { 20 namespace ppapi {
20 21
21 namespace { 22 namespace {
22 23
23 // Maximum depth of submenus allowed (e.g., 1 indicates that submenus are 24 // Maximum depth of submenus allowed (e.g., 1 indicates that submenus are
24 // allowed, but not sub-submenus). 25 // allowed, but not sub-submenus).
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 } 88 }
88 89
89 out_menu->push_back(item); 90 out_menu->push_back(item);
90 } 91 }
91 92
92 return true; 93 return true;
93 } 94 }
94 95
95 } // namespace 96 } // namespace
96 97
97 PPB_Flash_Menu_Impl::PPB_Flash_Menu_Impl(PluginInstance* instance) 98 PPB_Flash_Menu_Impl::PPB_Flash_Menu_Impl(PP_Instance instance)
98 : Resource(instance) { 99 : Resource(instance) {
99 } 100 }
100 101
101 PPB_Flash_Menu_Impl::~PPB_Flash_Menu_Impl() { 102 PPB_Flash_Menu_Impl::~PPB_Flash_Menu_Impl() {
102 } 103 }
103 104
104 // static 105 // static
105 PP_Resource PPB_Flash_Menu_Impl::Create(PluginInstance* instance, 106 PP_Resource PPB_Flash_Menu_Impl::Create(PP_Instance instance,
106 const PP_Flash_Menu* menu_data) { 107 const PP_Flash_Menu* menu_data) {
107 scoped_refptr<PPB_Flash_Menu_Impl> menu(new PPB_Flash_Menu_Impl(instance)); 108 scoped_refptr<PPB_Flash_Menu_Impl> menu(new PPB_Flash_Menu_Impl(instance));
108 if (!menu->Init(menu_data)) 109 if (!menu->Init(menu_data))
109 return 0; 110 return 0;
110 return menu->GetReference(); 111 return menu->GetReference();
111 } 112 }
112 113
113 bool PPB_Flash_Menu_Impl::Init(const PP_Flash_Menu* menu_data) { 114 bool PPB_Flash_Menu_Impl::Init(const PP_Flash_Menu* menu_data) {
114 menu_id_map_.clear(); 115 menu_id_map_.clear();
115 menu_id_map_.push_back(0); // Reserve |menu_id_map_[0]|. 116 menu_id_map_.push_back(0); // Reserve |menu_id_map_[0]|.
(...skipping 18 matching lines...) Expand all
134 return PP_ERROR_BADARGUMENT; 135 return PP_ERROR_BADARGUMENT;
135 136
136 if (!callback.func) { 137 if (!callback.func) {
137 NOTIMPLEMENTED(); 138 NOTIMPLEMENTED();
138 return PP_ERROR_BADARGUMENT; 139 return PP_ERROR_BADARGUMENT;
139 } 140 }
140 141
141 if (callback_.get() && !callback_->completed()) 142 if (callback_.get() && !callback_->completed())
142 return PP_ERROR_INPROGRESS; 143 return PP_ERROR_INPROGRESS;
143 144
144 int32_t rv = instance()->delegate()->ShowContextMenu( 145 PluginInstance* plugin_instance = ResourceHelper::GetPluginInstance(this);
145 instance(), this, gfx::Point(location->x, location->y)); 146 if (!plugin_instance)
147 return false;
148
149 int32_t rv = plugin_instance->delegate()->ShowContextMenu(
150 plugin_instance, this, gfx::Point(location->x, location->y));
146 if (rv == PP_OK_COMPLETIONPENDING) { 151 if (rv == PP_OK_COMPLETIONPENDING) {
147 // Record callback and output buffers. 152 // Record callback and output buffers.
148 callback_ = new TrackedCompletionCallback( 153 callback_ = new TrackedCompletionCallback(
149 instance()->module()->GetCallbackTracker(), pp_resource(), callback); 154 plugin_instance->module()->GetCallbackTracker(),
155 pp_resource(), callback);
150 selected_id_out_ = selected_id_out; 156 selected_id_out_ = selected_id_out;
151 } else { 157 } else {
152 // This should never be completed synchronously successfully. 158 // This should never be completed synchronously successfully.
153 DCHECK_NE(rv, PP_OK); 159 DCHECK_NE(rv, PP_OK);
154 } 160 }
155 return rv; 161 return rv;
156 162
157 NOTIMPLEMENTED(); 163 NOTIMPLEMENTED();
158 return PP_ERROR_FAILED; 164 return PP_ERROR_FAILED;
159 } 165 }
(...skipping 19 matching lines...) Expand all
179 185
180 scoped_refptr<TrackedCompletionCallback> callback; 186 scoped_refptr<TrackedCompletionCallback> callback;
181 callback.swap(callback_); 187 callback.swap(callback_);
182 selected_id_out_ = NULL; 188 selected_id_out_ = NULL;
183 189
184 callback->Run(rv); // Will complete abortively if necessary. 190 callback->Run(rv); // Will complete abortively if necessary.
185 } 191 }
186 192
187 } // namespace ppapi 193 } // namespace ppapi
188 } // namespace webkit 194 } // namespace webkit
OLDNEW
« no previous file with comments | « webkit/plugins/ppapi/ppb_flash_menu_impl.h ('k') | webkit/plugins/ppapi/ppb_flash_net_connector_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698