Diff
Modified: trunk/Source/WTF/ChangeLog (221285 => 221286)
--- trunk/Source/WTF/ChangeLog 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WTF/ChangeLog 2017-08-29 00:55:01 UTC (rev 221286)
@@ -1,3 +1,12 @@
+2017-08-28 Andy Estes <[email protected]>
+
+ [Cocoa] Upstream WKGetWebDefaultCFStringEncoding()
+ https://bugs.webkit.org/show_bug.cgi?id=176039
+
+ Reviewed by Alex Christensen.
+
+ * wtf/spi/cf/CFStringSPI.h:
+
2017-08-26 Yusuke Suzuki <[email protected]>
Unreviewed, suppress warnings in GTK port
Modified: trunk/Source/WTF/wtf/spi/cf/CFStringSPI.h (221285 => 221286)
--- trunk/Source/WTF/wtf/spi/cf/CFStringSPI.h 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WTF/wtf/spi/cf/CFStringSPI.h 2017-08-29 00:55:01 UTC (rev 221286)
@@ -30,6 +30,7 @@
#if USE(APPLE_INTERNAL_SDK)
#import <CoreFoundation/CFPriv.h>
+#import <CoreFoundation/CFStringDefaultEncoding.h>
#else
@@ -49,6 +50,7 @@
extern "C" {
CFRange CFStringGetRangeOfCharacterClusterAtIndex(CFStringRef, CFIndex charIndex, CFStringCharacterClusterType);
+void _CFStringGetUserDefaultEncoding(UInt32* scriptValue, UInt32* regionValue);
}
Modified: trunk/Source/WebCore/ChangeLog (221285 => 221286)
--- trunk/Source/WebCore/ChangeLog 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/ChangeLog 2017-08-29 00:55:01 UTC (rev 221286)
@@ -1,3 +1,23 @@
+2017-08-28 Andy Estes <[email protected]>
+
+ [Cocoa] Upstream WKGetWebDefaultCFStringEncoding()
+ https://bugs.webkit.org/show_bug.cgi?id=176039
+
+ Reviewed by Alex Christensen.
+
+ * PlatformMac.cmake:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/ios/WebCoreSystemInterfaceIOS.mm:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::defaultTextEncodingNameForSystemLanguage):
+ * platform/text/TextEncodingRegistry.h:
+ * platform/text/ios/TextEncodingRegistryIOS.mm: Added.
+ (WebCore::webDefaultCFStringEncoding):
+ * platform/text/mac/TextEncodingRegistryMac.mm: Added.
+ (WebCore::webDefaultCFStringEncoding):
+
2017-08-28 Joseph Pecoraro <[email protected]>
REGRESSION(r220278): Web Inspector: ContextMenu items are not getting triggered
Modified: trunk/Source/WebCore/PlatformMac.cmake (221285 => 221286)
--- trunk/Source/WebCore/PlatformMac.cmake 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/PlatformMac.cmake 2017-08-29 00:55:01 UTC (rev 221286)
@@ -572,6 +572,7 @@
platform/text/mac/LocaleMac.mm
platform/text/mac/TextBoundaries.mm
platform/text/mac/TextCodecMac.cpp
+ platform/text/mac/TextEncodingRegistryMac.mm
rendering/RenderThemeCocoa.mm
rendering/RenderThemeMac.mm
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (221285 => 221286)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2017-08-29 00:55:01 UTC (rev 221286)
@@ -4408,6 +4408,8 @@
A1E1154813015C5D0054AC8C /* SpotLightSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */; };
A1ED778C1BE3294000DC1791 /* Device.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1ED778A1BE3293F00DC1791 /* Device.cpp */; };
A1ED778D1BE3294000DC1791 /* Device.h in Headers */ = {isa = PBXBuildFile; fileRef = A1ED778B1BE3294000DC1791 /* Device.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ A1F55DC11F54D2D600EDB75F /* TextEncodingRegistryIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1F55DBF1F54D2D600EDB75F /* TextEncodingRegistryIOS.mm */; };
+ A1F55DC61F54D3F000EDB75F /* TextEncodingRegistryMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1F55DC41F54D3F000EDB75F /* TextEncodingRegistryMac.mm */; };
A1F600441F4757A90077E83F /* PaymentRequestUpdateEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600411F4757A90077E83F /* PaymentRequestUpdateEvent.h */; };
A1F600451F4757A90077E83F /* PaymentRequestUpdateEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F600421F4757A90077E83F /* PaymentRequestUpdateEvent.cpp */; };
A1F600491F47594E0077E83F /* PaymentDetailsUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600471F47594E0077E83F /* PaymentDetailsUpdate.h */; };
@@ -12739,6 +12741,8 @@
A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpotLightSource.cpp; sourceTree = "<group>"; };
A1ED778A1BE3293F00DC1791 /* Device.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Device.cpp; sourceTree = "<group>"; };
A1ED778B1BE3294000DC1791 /* Device.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Device.h; sourceTree = "<group>"; };
+ A1F55DBF1F54D2D600EDB75F /* TextEncodingRegistryIOS.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = TextEncodingRegistryIOS.mm; sourceTree = "<group>"; };
+ A1F55DC41F54D3F000EDB75F /* TextEncodingRegistryMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = TextEncodingRegistryMac.mm; sourceTree = "<group>"; };
A1F600411F4757A90077E83F /* PaymentRequestUpdateEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentRequestUpdateEvent.h; sourceTree = "<group>"; };
A1F600421F4757A90077E83F /* PaymentRequestUpdateEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PaymentRequestUpdateEvent.cpp; sourceTree = "<group>"; };
A1F600431F4757A90077E83F /* PaymentRequestUpdateEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentRequestUpdateEvent.idl; sourceTree = "<group>"; };
@@ -21360,6 +21364,7 @@
children = (
A516E8B4136E04DB0076C3C0 /* LocalizedDateCache.h */,
A516E8B5136E04DB0076C3C0 /* LocalizedDateCache.mm */,
+ A1F55DBF1F54D2D600EDB75F /* TextEncodingRegistryIOS.mm */,
);
path = ios;
sourceTree = "<group>";
@@ -23657,6 +23662,7 @@
B2AFFC8C0D00A5DF0030074D /* TextBoundaries.mm */,
B2AFFC8E0D00A5DF0030074D /* TextCodecMac.cpp */,
B2AFFC8F0D00A5DF0030074D /* TextCodecMac.h */,
+ A1F55DC41F54D3F000EDB75F /* TextEncodingRegistryMac.mm */,
);
path = mac;
sourceTree = "<group>";
@@ -33886,6 +33892,8 @@
B2C3DA460D006C1D00EF6F26 /* TextEncoding.cpp in Sources */,
C105DA620F3AA68F001DD44F /* TextEncodingDetectorICU.cpp in Sources */,
B2C3DA480D006C1D00EF6F26 /* TextEncodingRegistry.cpp in Sources */,
+ A1F55DC11F54D2D600EDB75F /* TextEncodingRegistryIOS.mm in Sources */,
+ A1F55DC61F54D3F000EDB75F /* TextEncodingRegistryMac.mm in Sources */,
933A142E0B7D188600A53FFD /* TextEvent.cpp in Sources */,
F55B3DD71251F12D003EF269 /* TextFieldInputType.cpp in Sources */,
2D4F96F51A1ECC240098BF88 /* TextIndicator.cpp in Sources */,
Modified: trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm (221285 => 221286)
--- trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -37,7 +37,6 @@
WEBCORE_EXPORT void (*wkSetCookieStoragePrivateBrowsingEnabled)(BOOL);
WEBCORE_EXPORT CFHTTPMessageRef (*wkCopyCONNECTProxyResponse)(CFReadStreamRef, CFURLRef responseURL, CFStringRef proxyHost, CFNumberRef proxyPort);
WEBCORE_EXPORT void (*wkSetLayerContentsScale)(CALayer *);
-WEBCORE_EXPORT CFStringEncoding (*wkGetWebDefaultCFStringEncoding)(void);
WEBCORE_EXPORT void(*wkDestroyRenderingResources)(void);
Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h (221285 => 221286)
--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 2017-08-29 00:55:01 UTC (rev 221286)
@@ -129,7 +129,6 @@
extern bool (*wkCGContextDrawsWithCorrectShadowOffsets)(CGContextRef);
#endif
extern CGPatternRef (*wkCGPatternCreateWithImageAndTransform)(CGImageRef, CGAffineTransform, int);
-extern CFStringEncoding (*wkGetWebDefaultCFStringEncoding)(void);
#if !PLATFORM(IOS)
extern void (*wkDrawBezeledTextArea)(NSRect, BOOL enabled);
extern void (*wkDrawFocusRing)(CGContextRef, CGColorRef, int);
Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm (221285 => 221286)
--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -33,7 +33,6 @@
void (*wkCALayerEnumerateRectsBeingDrawnWithBlock)(CALayer *, CGContextRef context, void (^block)(CGRect rect));
bool (*wkCGContextDrawsWithCorrectShadowOffsets)(CGContextRef);
CGPatternRef (*wkCGPatternCreateWithImageAndTransform)(CGImageRef, CGAffineTransform, int);
-CFStringEncoding (*wkGetWebDefaultCFStringEncoding)(void);
void (*wkDrawBezeledTextArea)(NSRect, BOOL enabled);
void (*wkDrawFocusRing)(CGContextRef, CGColorRef, int);
bool (*wkDrawFocusRingAtTime)(CGContextRef, NSTimeInterval);
Modified: trunk/Source/WebCore/platform/text/TextEncodingRegistry.cpp (221285 => 221286)
--- trunk/Source/WebCore/platform/text/TextEncodingRegistry.cpp 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/platform/text/TextEncodingRegistry.cpp 2017-08-29 00:55:01 UTC (rev 221286)
@@ -366,7 +366,7 @@
String defaultTextEncodingNameForSystemLanguage()
{
#if PLATFORM(COCOA)
- String systemEncodingName = CFStringConvertEncodingToIANACharSetName(wkGetWebDefaultCFStringEncoding());
+ String systemEncodingName = CFStringConvertEncodingToIANACharSetName(webDefaultCFStringEncoding());
// CFStringConvertEncodingToIANACharSetName() returns cp949 for kTextEncodingDOSKorean AKA "extended EUC-KR" AKA windows-949.
// ICU uses this name for a different encoding, so we need to change the name to a value that actually gives us windows-949.
Modified: trunk/Source/WebCore/platform/text/TextEncodingRegistry.h (221285 => 221286)
--- trunk/Source/WebCore/platform/text/TextEncodingRegistry.h 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebCore/platform/text/TextEncodingRegistry.h 2017-08-29 00:55:01 UTC (rev 221286)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2006-2017 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,8 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef TextEncodingRegistry_h
-#define TextEncodingRegistry_h
+#pragma once
#include <memory>
#include <wtf/text/WTFString.h>
@@ -31,29 +30,31 @@
namespace WebCore {
- class TextCodec;
- class TextEncoding;
+class TextCodec;
+class TextEncoding;
- // Use TextResourceDecoder::decode to decode resources, since it handles BOMs.
- // Use TextEncoding::encode to encode, since it takes care of normalization.
- std::unique_ptr<TextCodec> newTextCodec(const TextEncoding&);
+// Use TextResourceDecoder::decode to decode resources, since it handles BOMs.
+// Use TextEncoding::encode to encode, since it takes care of normalization.
+std::unique_ptr<TextCodec> newTextCodec(const TextEncoding&);
- // Only TextEncoding should use the following functions directly.
- const char* atomicCanonicalTextEncodingName(const char* alias);
- template <typename CharacterType>
- const char* atomicCanonicalTextEncodingName(const CharacterType*, size_t);
- const char* atomicCanonicalTextEncodingName(const String&);
- bool noExtendedTextEncodingNameUsed();
- bool isJapaneseEncoding(const char* canonicalEncodingName);
- bool shouldShowBackslashAsCurrencySymbolIn(const char* canonicalEncodingName);
- bool isReplacementEncoding(const char* alias);
- bool isReplacementEncoding(const String& alias);
+// Only TextEncoding should use the following functions directly.
+const char* atomicCanonicalTextEncodingName(const char* alias);
+template <typename CharacterType>
+const char* atomicCanonicalTextEncodingName(const CharacterType*, size_t);
+const char* atomicCanonicalTextEncodingName(const String&);
+bool noExtendedTextEncodingNameUsed();
+bool isJapaneseEncoding(const char* canonicalEncodingName);
+bool shouldShowBackslashAsCurrencySymbolIn(const char* canonicalEncodingName);
+bool isReplacementEncoding(const char* alias);
+bool isReplacementEncoding(const String& alias);
- WEBCORE_EXPORT String defaultTextEncodingNameForSystemLanguage();
+WEBCORE_EXPORT String defaultTextEncodingNameForSystemLanguage();
+#if PLATFORM(COCOA)
+WEBCORE_EXPORT CFStringEncoding webDefaultCFStringEncoding();
+#endif
#ifndef NDEBUG
- void dumpTextEncodingNameMap();
+void dumpTextEncodingNameMap();
#endif
-}
-#endif // TextEncodingRegistry_h
+} // namespace WebCore
Added: trunk/Source/WebCore/platform/text/ios/TextEncodingRegistryIOS.mm (0 => 221286)
--- trunk/Source/WebCore/platform/text/ios/TextEncodingRegistryIOS.mm (rev 0)
+++ trunk/Source/WebCore/platform/text/ios/TextEncodingRegistryIOS.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "TextEncodingRegistry.h"
+
+#if PLATFORM(IOS)
+
+namespace WebCore {
+
+CFStringEncoding webDefaultCFStringEncoding()
+{
+ // FIXME: we can do better than this hard-coded list once this radar is addressed:
+ // <rdar://problem/4433165> Need API that can get preferred web (and mail) encoding(s) w/o region code.
+ // Alternatively, we could have our own table of preferred encodings in WebKit, shared with Mac.
+
+ NSArray *preferredLanguages = [NSLocale preferredLanguages];
+ if (!preferredLanguages.count)
+ return kCFStringEncodingISOLatin1;
+
+ // We pass in the first language as "en" because if preferredLocalizationsFromArray:forPreferences:
+ // doesn't find a match, it will return the result of the first value in languagesWithCustomDefaultEncodings.
+ // We could really pass anything as this first value, as long as it's not something we're trying to match against
+ // below. We don't want to implictly default to "zh-Hans", that's why it's not first in the array.
+ NSArray *languagesWithCustomDefaultEncodings = @[ @"en", @"zh-Hans", @"zh-Hant", @"zh-HK", @"ja", @"ko", @"ru" ];
+ NSArray *languagesToUse = [NSBundle preferredLocalizationsFromArray:languagesWithCustomDefaultEncodings forPreferences:@[ [preferredLanguages firstObject] ]];
+ if (!languagesToUse.count)
+ return kCFStringEncodingISOLatin1;
+
+ NSString *firstLanguage = languagesToUse.firstObject;
+ if ([firstLanguage isEqualToString:@"zh-Hans"])
+ return kCFStringEncodingEUC_CN;
+ if ([firstLanguage isEqualToString:@"zh-Hant"])
+ return kCFStringEncodingBig5;
+ if ([firstLanguage isEqualToString:@"zh-HK"])
+ return kCFStringEncodingBig5_HKSCS_1999;
+ if ([firstLanguage isEqualToString:@"ja"])
+ return kCFStringEncodingShiftJIS;
+ if ([firstLanguage isEqualToString:@"ko"])
+ return kCFStringEncodingEUC_KR;
+ if ([firstLanguage isEqualToString:@"ru"])
+ return kCFStringEncodingWindowsCyrillic;
+
+ return kCFStringEncodingISOLatin1;
+}
+
+} // namespace WebCore
+
+#endif // PLATFORM(IOS)
Added: trunk/Source/WebCore/platform/text/mac/TextEncodingRegistryMac.mm (0 => 221286)
--- trunk/Source/WebCore/platform/text/mac/TextEncodingRegistryMac.mm (rev 0)
+++ trunk/Source/WebCore/platform/text/mac/TextEncodingRegistryMac.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "TextEncodingRegistry.h"
+
+#if PLATFORM(MAC)
+
+#import <CarbonCore/CarbonCore.h>
+#import <wtf/spi/cf/CFStringSPI.h>
+
+namespace WebCore {
+
+CFStringEncoding webDefaultCFStringEncoding()
+{
+ UInt32 script = 0;
+ UInt32 region = 0;
+ ::TextEncoding encoding;
+ OSErr err;
+ ItemCount dontcare;
+
+ // FIXME: Switch away from using Script Manager, as it does not support some languages newly added in OS X.
+ // <rdar://problem/4433165> Need API that can get preferred web (and mail) encoding(s) w/o region code.
+ // Alternatively, we could have our own table of preferred encodings in WebKit.
+ //
+ // Also, language changes do not apply to _CFStringGetUserDefaultEncoding() until re-login, which could be very confusing.
+
+ _CFStringGetUserDefaultEncoding(&script, ®ion);
+ err = TECGetWebTextEncodings(region, &encoding, 1, &dontcare);
+ if (err != noErr)
+ encoding = kCFStringEncodingISOLatin1;
+ return encoding;
+}
+
+} // namespace WebCore
+
+#endif // PLATFORM(MAC)
Modified: trunk/Source/WebKit/ChangeLog (221285 => 221286)
--- trunk/Source/WebKit/ChangeLog 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebKit/ChangeLog 2017-08-29 00:55:01 UTC (rev 221286)
@@ -1,3 +1,13 @@
+2017-08-28 Andy Estes <[email protected]>
+
+ [Cocoa] Upstream WKGetWebDefaultCFStringEncoding()
+ https://bugs.webkit.org/show_bug.cgi?id=176039
+
+ Reviewed by Alex Christensen.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
2017-08-28 Megan Gardner <[email protected]>
Fix incorrect enum in atBoundaryOfGranularity call
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm (221285 => 221286)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -50,7 +50,6 @@
INIT(DrawMediaSliderTrack);
INIT(DrawMediaUIPart);
#endif
- INIT(GetWebDefaultCFStringEncoding);
INIT(CGContextIsPDFContext);
#if !PLATFORM(IOS)
INIT(GetWheelEventDeltas);
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (221285 => 221286)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2017-08-29 00:55:01 UTC (rev 221286)
@@ -1,5 +1,17 @@
2017-08-28 Andy Estes <[email protected]>
+ [Cocoa] Upstream WKGetWebDefaultCFStringEncoding()
+ https://bugs.webkit.org/show_bug.cgi?id=176039
+
+ Reviewed by Alex Christensen.
+
+ * WebCoreSupport/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences _systemCFStringEncoding]):
+
+2017-08-28 Andy Estes <[email protected]>
+
[Cocoa] Upstream CFNetwork-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176032
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebSystemInterface.mm (221285 => 221286)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebSystemInterface.mm 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebSystemInterface.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -55,9 +55,6 @@
INIT(DrawCellFocusRingWithFrameAtTime);
INIT(DrawMediaUIPart);
INIT(DrawMediaSliderTrack);
-#endif
- INIT(GetWebDefaultCFStringEncoding);
-#if !PLATFORM(IOS)
INIT(GetWheelEventDeltas);
INIT(GetNSEventKeyChar);
INIT(HitTestMediaUIPart);
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (221285 => 221286)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2017-08-29 00:42:27 UTC (rev 221285)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2017-08-29 00:55:01 UTC (rev 221286)
@@ -1835,7 +1835,7 @@
+ (CFStringEncoding)_systemCFStringEncoding
{
- return WKGetWebDefaultCFStringEncoding();
+ return webDefaultCFStringEncoding();
}
+ (void)_setInitialDefaultTextEncodingToSystemEncoding