| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/renderer/browser_plugin/browser_plugin_bindings.h" | 5 #include "content/renderer/browser_plugin/browser_plugin_bindings.h" |
| 6 | 6 |
| 7 #include <cstdlib> | 7 #include <cstdlib> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 using WebKit::WebPluginContainer; | 32 using WebKit::WebPluginContainer; |
| 33 using WebKit::WebSerializedScriptValue; | 33 using WebKit::WebSerializedScriptValue; |
| 34 using WebKit::WebString; | 34 using WebKit::WebString; |
| 35 | 35 |
| 36 namespace content { | 36 namespace content { |
| 37 | 37 |
| 38 namespace { | 38 namespace { |
| 39 | 39 |
| 40 const char kAddEventListener[] = "addEventListener"; | 40 const char kAddEventListener[] = "addEventListener"; |
| 41 const char kBackMethod[] = "back"; | 41 const char kBackMethod[] = "back"; |
| 42 const char kCanGoBack[] = "canGoBack"; |
| 43 const char kCanGoForward[] = "canGoForward"; |
| 42 const char kForwardMethod[] = "forward"; | 44 const char kForwardMethod[] = "forward"; |
| 43 const char kGetProcessId[] = "getProcessId"; | 45 const char kGetProcessId[] = "getProcessId"; |
| 44 const char kGoMethod[] = "go"; | 46 const char kGoMethod[] = "go"; |
| 45 const char kPartitionAttribute[] = "partition"; | 47 const char kPartitionAttribute[] = "partition"; |
| 46 const char kReloadMethod[] = "reload"; | 48 const char kReloadMethod[] = "reload"; |
| 47 const char kRemoveEventListener[] = "removeEventListener"; | 49 const char kRemoveEventListener[] = "removeEventListener"; |
| 48 const char kSrcAttribute[] = "src"; | 50 const char kSrcAttribute[] = "src"; |
| 49 const char kStopMethod[] = "stop"; | 51 const char kStopMethod[] = "stop"; |
| 50 const char kTerminateMethod[] = "terminate"; | 52 const char kTerminateMethod[] = "terminate"; |
| 51 | 53 |
| 52 BrowserPluginBindings* GetBindings(NPObject* object) { | 54 BrowserPluginBindings* GetBindings(NPObject* object) { |
| 53 return static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(object)-> | 55 return static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(object)-> |
| 54 message_channel; | 56 message_channel; |
| 55 } | 57 } |
| 56 | 58 |
| 57 bool IdentifierIsAddEventListener(NPIdentifier identifier) { | 59 bool IdentifierIsAddEventListener(NPIdentifier identifier) { |
| 58 return WebBindings::getStringIdentifier(kAddEventListener) == identifier; | 60 return WebBindings::getStringIdentifier(kAddEventListener) == identifier; |
| 59 } | 61 } |
| 60 | 62 |
| 61 bool IdentifierIsBackMethod(NPIdentifier identifier) { | 63 bool IdentifierIsBackMethod(NPIdentifier identifier) { |
| 62 return WebBindings::getStringIdentifier(kBackMethod) == identifier; | 64 return WebBindings::getStringIdentifier(kBackMethod) == identifier; |
| 63 } | 65 } |
| 64 | 66 |
| 67 bool IdentifierIsCanGoBack(NPIdentifier identifier) { |
| 68 return WebBindings::getStringIdentifier(kCanGoBack) == identifier; |
| 69 } |
| 70 |
| 71 bool IdentifierIsCanGoForward(NPIdentifier identifier) { |
| 72 return WebBindings::getStringIdentifier(kCanGoForward) == identifier; |
| 73 } |
| 74 |
| 65 bool IdentifierIsForwardMethod(NPIdentifier identifier) { | 75 bool IdentifierIsForwardMethod(NPIdentifier identifier) { |
| 66 return WebBindings::getStringIdentifier(kForwardMethod) == identifier; | 76 return WebBindings::getStringIdentifier(kForwardMethod) == identifier; |
| 67 } | 77 } |
| 68 | 78 |
| 69 bool IdentifierIsGetProcessID(NPIdentifier identifier) { | 79 bool IdentifierIsGetProcessID(NPIdentifier identifier) { |
| 70 return WebBindings::getStringIdentifier(kGetProcessId) == identifier; | 80 return WebBindings::getStringIdentifier(kGetProcessId) == identifier; |
| 71 } | 81 } |
| 72 | 82 |
| 73 bool IdentifierIsGoMethod(NPIdentifier identifier) { | 83 bool IdentifierIsGoMethod(NPIdentifier identifier) { |
| 74 return WebBindings::getStringIdentifier(kGoMethod) == identifier; | 84 return WebBindings::getStringIdentifier(kGoMethod) == identifier; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 bool BrowserPluginBindingsHasMethod(NPObject* np_obj, NPIdentifier name) { | 154 bool BrowserPluginBindingsHasMethod(NPObject* np_obj, NPIdentifier name) { |
| 145 if (!np_obj) | 155 if (!np_obj) |
| 146 return false; | 156 return false; |
| 147 | 157 |
| 148 if (IdentifierIsAddEventListener(name)) | 158 if (IdentifierIsAddEventListener(name)) |
| 149 return true; | 159 return true; |
| 150 | 160 |
| 151 if (IdentifierIsBackMethod(name)) | 161 if (IdentifierIsBackMethod(name)) |
| 152 return true; | 162 return true; |
| 153 | 163 |
| 164 if (IdentifierIsCanGoBack(name)) |
| 165 return true; |
| 166 |
| 167 if (IdentifierIsCanGoForward(name)) |
| 168 return true; |
| 169 |
| 154 if (IdentifierIsForwardMethod(name)) | 170 if (IdentifierIsForwardMethod(name)) |
| 155 return true; | 171 return true; |
| 156 | 172 |
| 157 if (IdentifierIsGetProcessID(name)) | 173 if (IdentifierIsGetProcessID(name)) |
| 158 return true; | 174 return true; |
| 159 | 175 |
| 160 if (IdentifierIsGoMethod(name)) | 176 if (IdentifierIsGoMethod(name)) |
| 161 return true; | 177 return true; |
| 162 | 178 |
| 163 if (IdentifierIsReload(name)) | 179 if (IdentifierIsReload(name)) |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 result->value.boolValue = | 216 result->value.boolValue = |
| 201 bindings->instance()->AddEventListener(event_name, function); | 217 bindings->instance()->AddEventListener(event_name, function); |
| 202 return true; | 218 return true; |
| 203 } | 219 } |
| 204 | 220 |
| 205 if (IdentifierIsBackMethod(name) && !arg_count) { | 221 if (IdentifierIsBackMethod(name) && !arg_count) { |
| 206 bindings->instance()->Back(); | 222 bindings->instance()->Back(); |
| 207 return true; | 223 return true; |
| 208 } | 224 } |
| 209 | 225 |
| 226 if (IdentifierIsCanGoBack(name) && !arg_count) { |
| 227 result->type = NPVariantType_Bool; |
| 228 result->value.boolValue = bindings->instance()->CanGoBack(); |
| 229 return true; |
| 230 } |
| 231 |
| 232 if (IdentifierIsCanGoForward(name) && !arg_count) { |
| 233 result->type = NPVariantType_Bool; |
| 234 result->value.boolValue = bindings->instance()->CanGoForward(); |
| 235 return true; |
| 236 } |
| 237 |
| 210 if (IdentifierIsForwardMethod(name) && !arg_count) { | 238 if (IdentifierIsForwardMethod(name) && !arg_count) { |
| 211 bindings->instance()->Forward(); | 239 bindings->instance()->Forward(); |
| 212 return true; | 240 return true; |
| 213 } | 241 } |
| 214 | 242 |
| 215 if (IdentifierIsGetProcessID(name) && !arg_count) { | 243 if (IdentifierIsGetProcessID(name) && !arg_count) { |
| 216 int process_id = bindings->instance()->process_id(); | 244 int process_id = bindings->instance()->process_id(); |
| 217 result->type = NPVariantType_Int32; | 245 result->type = NPVariantType_Int32; |
| 218 result->value.intValue = process_id; | 246 result->value.intValue = process_id; |
| 219 return true; | 247 return true; |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 WebBindings::createObject(NULL, &browser_plugin_message_class); | 400 WebBindings::createObject(NULL, &browser_plugin_message_class); |
| 373 np_object_ = static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(obj); | 401 np_object_ = static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(obj); |
| 374 np_object_->message_channel = weak_ptr_factory_.GetWeakPtr(); | 402 np_object_->message_channel = weak_ptr_factory_.GetWeakPtr(); |
| 375 } | 403 } |
| 376 | 404 |
| 377 BrowserPluginBindings::~BrowserPluginBindings() { | 405 BrowserPluginBindings::~BrowserPluginBindings() { |
| 378 WebBindings::releaseObject(np_object_); | 406 WebBindings::releaseObject(np_object_); |
| 379 } | 407 } |
| 380 | 408 |
| 381 } // namespace content | 409 } // namespace content |
| OLD | NEW |