Line 0
Link Here
|
|
|
1 |
------------------------------------------------------------------------ |
2 |
r216187 | annulen@yandex.ru | 2017-05-05 00:33:41 +0900 (Fri, 05 May 2017) | 28 lines |
3 |
|
4 |
Fix compilation with ICU 59.1 |
5 |
https://bugs.webkit.org/show_bug.cgi?id=171612 |
6 |
|
7 |
Reviewed by Mark Lam. |
8 |
|
9 |
ICU 59.1 has broken source compatibility. Now it defines UChar as |
10 |
char16_t, which does not allow automatic type conversion from unsigned |
11 |
short in C++ code. |
12 |
|
13 |
--- modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp.orig 2017-07-22 15:59:03 UTC |
14 |
+++ modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp |
15 |
@@ -37,7 +37,7 @@ using namespace WTF::Unicode; |
16 |
JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars) |
17 |
{ |
18 |
initializeThreading(); |
19 |
- return &OpaqueJSString::create(chars, numChars).leakRef(); |
20 |
+ return &OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef(); |
21 |
} |
22 |
|
23 |
JSStringRef JSStringCreateWithUTF8CString(const char* string) |
24 |
@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* |
25 |
JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars) |
26 |
{ |
27 |
initializeThreading(); |
28 |
- return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars)).leakRef(); |
29 |
+ return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars)).leakRef(); |
30 |
} |
31 |
|
32 |
JSStringRef JSStringRetain(JSStringRef string) |
33 |
@@ -87,7 +87,7 @@ const JSChar* JSStringGetCharactersPtr(JSStringRef str |
34 |
{ |
35 |
if (!string) |
36 |
return nullptr; |
37 |
- return string->characters(); |
38 |
+ return reinterpret_cast<const JSChar*>(string->characters()); |
39 |
} |
40 |
|
41 |
size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string) |
42 |
--- modules/web/src/main/native/Source/JavaScriptCore/runtime/DateConversion.cpp.orig 2017-07-22 15:59:03 UTC |
43 |
+++ modules/web/src/main/native/Source/JavaScriptCore/runtime/DateConversion.cpp |
44 |
@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, Date |
45 |
#if OS(WINDOWS) |
46 |
TIME_ZONE_INFORMATION timeZoneInformation; |
47 |
GetTimeZoneInformation(&timeZoneInformation); |
48 |
- const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName; |
49 |
+ const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName; |
50 |
+ String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName)); |
51 |
#else |
52 |
struct tm gtm = t; |
53 |
char timeZoneName[70]; |
54 |
--- modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h.orig 2017-07-22 15:59:03 UTC |
55 |
+++ modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h |
56 |
@@ -17,8 +17,6 @@ |
57 |
|
58 |
#if PLATFORM(JAVA) && OS(WINDOWS) |
59 |
typedef wchar_t UChar; |
60 |
-#else |
61 |
-typedef uint16_t UChar; |
62 |
#endif |
63 |
|
64 |
// #ifdef UChar32 |