Changeset 68930 in webkit
- Timestamp:
- Oct 1, 2010 3:00:00 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit2/ChangeLog
r68898 r68930 1 2010-10-01 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 Add additional WKString API 6 https://bugs.webkit.org/show_bug.cgi?id=46958 7 8 API Test: WebKit2/WKString 9 10 * Shared/API/c/WKString.cpp: 11 (WKStringCreateWithUTF8CString): 12 (WKStringGetMaximumUTF8CStringSize): 13 (WKStringGetUTF8CString): 14 (WKStringIsEqual): 15 (WKStringIsEqualToUTF8CString): 16 * Shared/API/c/WKString.h: 17 * Shared/WebString.h: 18 (WebKit::WebString::createFromUTF8String): 19 (WebKit::WebString::maximumUTF8CStringSize): 20 (WebKit::WebString::getUTF8CString): 21 (WebKit::WebString::equal): 22 (WebKit::WebString::equalToUTF8String): 23 1 24 2010-10-01 Anders Carlsson <andersca@apple.com> 2 25 -
trunk/WebKit2/Shared/API/c/WKString.cpp
r68844 r68930 35 35 } 36 36 37 WKStringRef WKStringCreateWithUTF8CString(const char* string) 38 { 39 RefPtr<WebString> webString = WebString::createFromUTF8String(string); 40 return toRef(webString.release().leakRef()); 41 } 42 37 43 bool WKStringIsEmpty(WKStringRef stringRef) 38 44 { … … 40 46 } 41 47 42 bool WKStringIsEqual(WKStringRef firstString, WKStringRef secondString)48 size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef) 43 49 { 44 if (firstString == secondString) 45 return true; 46 if (!firstString || !secondString) 47 return false; 48 49 return toWK(firstString)->string() == toWK(secondString)->string(); 50 return toWK(stringRef)->maximumUTF8CStringSize(); 50 51 } 52 53 size_t WKStringGetUTF8CString(WKStringRef stringRef, char* buffer, size_t bufferSize) 54 { 55 return toWK(stringRef)->getUTF8CString(buffer, bufferSize); 56 } 57 58 bool WKStringIsEqual(WKStringRef aRef, WKStringRef bRef) 59 { 60 return toWK(aRef)->equal(toWK(bRef)); 61 } 62 63 bool WKStringIsEqualToUTF8CString(WKStringRef aRef, const char* b) 64 { 65 return toWK(aRef)->equalToUTF8String(b); 66 } -
trunk/WebKit2/Shared/API/c/WKString.h
r68844 r68930 39 39 WK_EXPORT WKTypeID WKStringGetTypeID(); 40 40 41 WK_EXPORT WKStringRef WKStringCreateWithUTF8CString(const char* string); 42 41 43 WK_EXPORT bool WKStringIsEmpty(WKStringRef string); 42 WK_EXPORT bool WKStringIsEqual(WKStringRef firstString, WKStringRef secondString); 44 45 WK_EXPORT size_t WKStringGetMaximumUTF8CStringSize(WKStringRef string); 46 WK_EXPORT size_t WKStringGetUTF8CString(WKStringRef string, char* buffer, size_t bufferSize); 47 48 WK_EXPORT bool WKStringIsEqual(WKStringRef a, WKStringRef b); 49 WK_EXPORT bool WKStringIsEqualToUTF8CString(WKStringRef a, const char* b); 43 50 44 51 #ifdef __cplusplus -
trunk/WebKit2/Shared/WebString.h
r67775 r68930 30 30 #include <wtf/PassRefPtr.h> 31 31 #include <wtf/text/WTFString.h> 32 #include <wtf/unicode/UTF8.h> 32 33 33 34 namespace WebKit { … … 44 45 } 45 46 47 static PassRefPtr<WebString> createFromUTF8String(const char* string) 48 { 49 return adoptRef(new WebString(String::fromUTF8(string))); 50 } 51 46 52 bool isNull() const { return m_string.isNull(); } 47 53 bool isEmpty() const { return m_string.isEmpty(); } 54 55 size_t maximumUTF8CStringSize() const { return m_string.length() * 3 + 1; } 56 size_t getUTF8CString(char* buffer, size_t bufferSize) 57 { 58 if (!bufferSize) 59 return 0; 60 char* p = buffer; 61 const UChar* d = m_string.characters(); 62 WTF::Unicode::ConversionResult result = WTF::Unicode::convertUTF16ToUTF8(&d, d + m_string.length(), &p, p + bufferSize - 1, /* strict */ true); 63 *p++ = '\0'; 64 if (result != WTF::Unicode::conversionOK && result != WTF::Unicode::targetExhausted) 65 return 0; 66 return p - buffer; 67 } 68 69 bool equal(WebString* other) { return m_string == other->m_string; } 70 bool equalToUTF8String(const char* other) { return m_string == String::fromUTF8(other); } 48 71 49 72 const String& string() const { return m_string; } -
trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj
r68686 r68930 1964 1964 buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "WebKit2" */; 1965 1965 compatibilityVersion = "Xcode 3.1"; 1966 developmentRegion = English;1967 1966 hasScannedForEncodings = 1; 1968 1967 knownRegions = ( -
trunk/WebKitTools/ChangeLog
r68922 r68930 1 2010-10-01 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 Add additional WKString API 6 https://bugs.webkit.org/show_bug.cgi?id=46958 7 8 Add basic WKStringRef tests. 9 10 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 11 * TestWebKitAPI/Tests/WebKit2/WKString.cpp: Added. 12 1 13 2010-10-01 Sam Weinig <sam@webkit.org> 2 14 -
trunk/WebKitTools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r68910 r68930 16 16 BC90977A125571AB00083756 /* PageLoadBasic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC909779125571AB00083756 /* PageLoadBasic.cpp */; }; 17 17 BC909784125571CF00083756 /* basic-1.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = BC909778125571AB00083756 /* basic-1.html */; }; 18 BC90995E12567BC100083756 /* WKString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC90995D12567BC100083756 /* WKString.cpp */; }; 18 19 BCA61DB511700EFD00460D1E /* WebKit2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCA61DB411700EFD00460D1E /* WebKit2.framework */; }; 19 20 BCB9E9F111235BDE00A137E0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCB9E9F011235BDE00A137E0 /* Cocoa.framework */; }; … … 59 60 BC909778125571AB00083756 /* basic-1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "basic-1.html"; sourceTree = "<group>"; }; 60 61 BC909779125571AB00083756 /* PageLoadBasic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageLoadBasic.cpp; sourceTree = "<group>"; }; 62 BC90995D12567BC100083756 /* WKString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKString.cpp; sourceTree = "<group>"; }; 61 63 BCA61DB411700EFD00460D1E /* WebKit2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebKit2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 62 64 BCB9E7C711234E3A00A137E0 /* TestsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestsController.h; sourceTree = "<group>"; }; … … 138 140 BC90977B125571AE00083756 /* Resources */, 139 141 BC909779125571AB00083756 /* PageLoadBasic.cpp */, 142 BC90995D12567BC100083756 /* WKString.cpp */, 140 143 ); 141 144 path = WebKit2; … … 227 230 BC90964C125561BF00083756 /* VectorBasic.cpp in Sources */, 228 231 BC90977A125571AB00083756 /* PageLoadBasic.cpp in Sources */, 232 BC90995E12567BC100083756 /* WKString.cpp in Sources */, 229 233 ); 230 234 runOnlyForDeploymentPostprocessing = 0;
Note: See TracChangeset
for help on using the changeset viewer.