Changeset 71171 in webkit
- Timestamp:
- Nov 2, 2010 2:26:37 PM (13 years ago)
- Location:
- trunk/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit2/ChangeLog
r71169 r71171 1 2010-11-02 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Dan Bernstein. 4 5 Add strings to NPVariantData 6 https://bugs.webkit.org/show_bug.cgi?id=48871 7 8 * Shared/Plugins/NPRemoteObjectMap.cpp: 9 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 10 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 11 * Shared/Plugins/NPVariantData.cpp: 12 (WebKit::NPVariantData::makeString): 13 (WebKit::NPVariantData::encode): 14 (WebKit::NPVariantData::decode): 15 * Shared/Plugins/NPVariantData.h: 16 (WebKit::NPVariantData::stringValue): 17 1 18 2010-11-02 Anders Carlsson <andersca@apple.com> 2 19 -
trunk/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp
r71156 r71171 30 30 #include "NPObjectMessageReceiver.h" 31 31 #include "NPObjectProxy.h" 32 #include "NPRuntimeUtilities.h" 32 33 #include "NPVariantData.h" 33 34 #include "NotImplemented.h" … … 99 100 case NPVariantType_Double: 100 101 return NPVariantData::makeDouble(variant.value.doubleValue); 101 102 103 case NPVariantType_String: 104 return NPVariantData::makeString(variant.value.stringValue.UTF8Characters, variant.value.stringValue.UTF8Length); 105 102 106 case NPVariantType_Null: 103 107 case NPVariantType_Int32: 104 case NPVariantType_String:105 108 notImplemented(); 106 109 return NPVariantData::makeVoid(); … … 138 141 DOUBLE_TO_NPVARIANT(npVariantData.doubleValue(), npVariant); 139 142 break; 143 case NPVariantData::String: { 144 NPString npString = createNPString(npVariantData.stringValue()); 145 STRINGN_TO_NPVARIANT(npString.UTF8Characters, npString.UTF8Length, npVariant); 146 break; 147 } 140 148 case NPVariantData::LocalNPObjectID: 141 149 notImplemented(); -
trunk/WebKit2/Shared/Plugins/NPVariantData.cpp
r71156 r71171 31 31 #include "ArgumentEncoder.h" 32 32 #include "NotImplemented.h" 33 #include "WebCoreArgumentCoders.h" 33 34 34 35 namespace WebKit { … … 68 69 } 69 70 71 NPVariantData NPVariantData::makeString(const char* string, unsigned length) 72 { 73 NPVariantData npVariantData; 74 75 npVariantData.m_type = NPVariantData::String; 76 npVariantData.m_stringValue = CString(string, length); 77 78 return npVariantData; 79 } 80 70 81 NPVariantData NPVariantData::makeLocalNPObjectID(uint64_t value) 71 82 { … … 90 101 case NPVariantData::Double: 91 102 encoder->encode(doubleValue()); 103 break; 104 case NPVariantData::String: 105 encoder->encode(stringValue()); 92 106 break; 93 107 case NPVariantData::LocalNPObjectID: … … 124 138 case NPVariantData::Double: 125 139 return decoder->decode(result.m_doubleValue); 140 case NPVariantData::String: 141 return decoder->decode(result.m_stringValue); 126 142 case NPVariantData::LocalNPObjectID: 127 143 return decoder->decode(result.m_localNPObjectIDValue); -
trunk/WebKit2/Shared/Plugins/NPVariantData.h
r71156 r71171 29 29 #if ENABLE(PLUGIN_PROCESS) 30 30 31 #include <wtf/text/CString.h> 32 31 33 namespace CoreIPC { 32 34 class ArgumentDecoder; … … 44 46 Bool, 45 47 Double, 48 String, 46 49 LocalNPObjectID, 47 50 RemoteNPObjectID, … … 52 55 static NPVariantData makeBool(bool value); 53 56 static NPVariantData makeDouble(double value); 57 static NPVariantData makeString(const char* string, unsigned length); 54 58 static NPVariantData makeLocalNPObjectID(uint64_t value); 55 59 … … 66 70 ASSERT(type() == NPVariantData::Double); 67 71 return m_doubleValue; 72 } 73 74 const CString& stringValue() const 75 { 76 ASSERT(type() == NPVariantData::String); 77 return m_stringValue; 68 78 } 69 79 … … 87 97 bool m_boolValue; 88 98 double m_doubleValue; 99 CString m_stringValue; 89 100 uint64_t m_localNPObjectIDValue; 90 101 uint64_t m_remoteNPObjectIDValue;
Note: See TracChangeset
for help on using the changeset viewer.