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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 return WebBindings::getStringIdentifier(kPartitionAttribute) == identifier; | 79 return WebBindings::getStringIdentifier(kPartitionAttribute) == identifier; |
80 } | 80 } |
81 | 81 |
82 std::string StringFromNPVariant(const NPVariant& variant) { | 82 std::string StringFromNPVariant(const NPVariant& variant) { |
83 if (!NPVARIANT_IS_STRING(variant)) | 83 if (!NPVARIANT_IS_STRING(variant)) |
84 return std::string(); | 84 return std::string(); |
85 const NPString& np_string = NPVARIANT_TO_STRING(variant); | 85 const NPString& np_string = NPVARIANT_TO_STRING(variant); |
86 return std::string(np_string.UTF8Characters, np_string.UTF8Length); | 86 return std::string(np_string.UTF8Characters, np_string.UTF8Length); |
87 } | 87 } |
88 | 88 |
89 string16 String16FromNPVariant(const NPVariant& variant) { | |
90 if (!NPVARIANT_IS_STRING(variant)) | |
91 return string16(); | |
92 const NPString& np_string = NPVARIANT_TO_STRING(variant); | |
93 string16 wstr; | |
94 if (!UTF8ToUTF16(np_string.UTF8Characters, np_string.UTF8Length, &wstr)) | |
95 return string16(); | |
96 return wstr; | |
97 } | |
98 | |
99 bool StringToNPVariant(const std::string &in, NPVariant *variant) { | 89 bool StringToNPVariant(const std::string &in, NPVariant *variant) { |
100 size_t length = in.size(); | 90 size_t length = in.size(); |
101 NPUTF8 *chars = static_cast<NPUTF8 *>(malloc(length)); | 91 NPUTF8 *chars = static_cast<NPUTF8 *>(malloc(length)); |
102 if (!chars) { | 92 if (!chars) { |
103 VOID_TO_NPVARIANT(*variant); | 93 VOID_TO_NPVARIANT(*variant); |
104 return false; | 94 return false; |
105 } | 95 } |
106 memcpy(chars, in.c_str(), length); | 96 memcpy(chars, in.c_str(), length); |
107 STRINGN_TO_NPVARIANT(chars, length, *variant); | 97 STRINGN_TO_NPVARIANT(chars, length, *variant); |
108 return true; | 98 return true; |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 WebBindings::createObject(NULL, &browser_plugin_message_class); | 310 WebBindings::createObject(NULL, &browser_plugin_message_class); |
321 np_object_ = static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(obj); | 311 np_object_ = static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(obj); |
322 np_object_->message_channel = weak_ptr_factory_.GetWeakPtr(); | 312 np_object_->message_channel = weak_ptr_factory_.GetWeakPtr(); |
323 } | 313 } |
324 | 314 |
325 BrowserPluginBindings::~BrowserPluginBindings() { | 315 BrowserPluginBindings::~BrowserPluginBindings() { |
326 WebBindings::releaseObject(np_object_); | 316 WebBindings::releaseObject(np_object_); |
327 } | 317 } |
328 | 318 |
329 } // namespace content | 319 } // namespace content |
OLD | NEW |