Changeset 263094 in webkit
- Timestamp:
- Jun 16, 2020, 8:30:03 AM (6 years ago)
- Location:
- trunk/Source
- Files:
-
- 12 edited
-
WTF/ChangeLog (modified) (1 diff)
-
WTF/wtf/Language.h (modified) (1 diff)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/Shared/WebProcessCreationParameters.cpp (modified) (2 diffs)
-
WebKit/Shared/WebProcessCreationParameters.h (modified) (1 diff)
-
WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm (modified) (1 diff)
-
WebKit/UIProcess/WebProcessPool.cpp (modified) (2 diffs)
-
WebKit/UIProcess/WebProcessProxy.cpp (modified) (2 diffs)
-
WebKit/UIProcess/WebProcessProxy.h (modified) (1 diff)
-
WebKit/WebProcess/WebProcess.cpp (modified) (2 diffs)
-
WebKit/WebProcess/WebProcess.h (modified) (1 diff)
-
WebKit/WebProcess/WebProcess.messages.in (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r263082 r263094 1 2020-06-16 Chris Dumez <cdumez@apple.com> 2 3 Stop calling userPreferredLanguages() in the UIProcess 4 https://bugs.webkit.org/show_bug.cgi?id=213214 5 <rdar://problem/64317593> 6 7 Reviewed by Per Arne Vollan. 8 9 Export WTF::languageDidChange() so we can call it from WebKit2. 10 11 * wtf/Language.h: 12 1 13 2020-06-16 Mark Lam <mark.lam@apple.com> 2 14 -
trunk/Source/WTF/wtf/Language.h
r256420 r263094 43 43 WTF_EXPORT_PRIVATE Vector<String> platformUserPreferredLanguages(); 44 44 // Called from platform specific code when the user's preferred language(s) change. 45 void languageDidChange();45 WTF_EXPORT_PRIVATE void languageDidChange(); 46 46 47 47 // The observer function will be called when system language changes. -
trunk/Source/WebKit/ChangeLog
r263093 r263094 1 2020-06-16 Chris Dumez <cdumez@apple.com> 2 3 Stop calling userPreferredLanguages() in the UIProcess 4 https://bugs.webkit.org/show_bug.cgi?id=213214 5 <rdar://problem/64317593> 6 7 Reviewed by Per Arne Vollan. 8 9 Stop calling userPreferredLanguages() in the UIProcess since this can be slow and may keep 10 the main thread busy. Nowadays, the WebProcess is able to call it by itself anyway. The 11 sandbox is allowing it. 12 13 * Shared/WebProcessCreationParameters.cpp: 14 (WebKit::WebProcessCreationParameters::encode const): 15 (WebKit::WebProcessCreationParameters::decode): 16 * Shared/WebProcessCreationParameters.h: 17 * UIProcess/WebProcessPool.cpp: 18 (WebKit::WebProcessPool::languageChanged): 19 (WebKit::WebProcessPool::initializeNewWebProcess): 20 * WebProcess/WebProcess.cpp: 21 (WebKit::WebProcess::initializeWebProcess): 22 (WebKit::WebProcess::userPreferredLanguagesChanged const): 23 * WebProcess/WebProcess.h: 24 * WebProcess/WebProcess.messages.in: 25 1 26 2020-06-16 Truitt Savell <tsavell@apple.com> 2 27 -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp
r262994 r263094 80 80 encoder << fontWhitelist; 81 81 encoder << terminationTimeout; 82 encoder << languages;82 encoder << overrideLanguages; 83 83 #if USE(GSTREAMER) 84 84 encoder << gstreamerOptions; … … 285 285 if (!decoder.decode(parameters.terminationTimeout)) 286 286 return false; 287 if (!decoder.decode(parameters. languages))287 if (!decoder.decode(parameters.overrideLanguages)) 288 288 return false; 289 289 #if USE(GSTREAMER) -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.h
r262648 r263094 108 108 109 109 Vector<String> fontWhitelist; 110 Vector<String> languages;110 Vector<String> overrideLanguages; 111 111 #if USE(GSTREAMER) 112 112 Vector<String> gstreamerOptions; -
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm
r261016 r263094 248 248 #endif 249 249 250 } 250 Vector<String> WebProcessProxy::platformOverrideLanguages() const 251 { 252 NeverDestroyed<Vector<String>> overrideLanguages = []() { 253 NSArray *languages = [[NSUserDefaults standardUserDefaults] valueForKey:@"AppleLanguages"]; 254 if (!languages) 255 return Vector<WTF::String> { }; 256 257 Vector<String> overrideLanguages; 258 overrideLanguages.reserveInitialCapacity([languages count]); 259 for (NSString *language in languages) 260 overrideLanguages.uncheckedAppend(language); 261 return overrideLanguages; 262 }(); 263 return overrideLanguages.get(); 264 } 265 266 } -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r263060 r263094 445 445 void WebProcessPool::languageChanged() 446 446 { 447 sendToAllProcesses(Messages::WebProcess::UserPreferredLanguagesChanged( userPreferredLanguages()));447 sendToAllProcesses(Messages::WebProcess::UserPreferredLanguagesChanged()); 448 448 #if USE(SOUP) 449 449 if (m_networkProcess) … … 1030 1030 1031 1031 parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel(); 1032 parameters. languages = configuration().overrideLanguages().isEmpty() ? userPreferredLanguages() :configuration().overrideLanguages();1032 parameters.overrideLanguages = configuration().overrideLanguages(); 1033 1033 1034 1034 parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument); -
trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp
r263038 r263094 318 318 319 319 auto overrideLanguages = m_processPool->configuration().overrideLanguages(); 320 if (overrideLanguages.size()) { 320 if (overrideLanguages.isEmpty()) 321 overrideLanguages = platformOverrideLanguages(); 322 if (!overrideLanguages.isEmpty()) { 321 323 StringBuilder languageString; 322 324 for (size_t i = 0; i < overrideLanguages.size(); ++i) { … … 649 651 return false; 650 652 } 653 654 Vector<String> WebProcessProxy::platformOverrideLanguages() const 655 { 656 return { }; 657 } 651 658 #endif 652 659 -
trunk/Source/WebKit/UIProcess/WebProcessProxy.h
r263038 r263094 478 478 479 479 void updateRegistrationWithDataStore(); 480 Vector<String> platformOverrideLanguages() const; 480 481 481 482 void maybeShutDown(); -
trunk/Source/WebKit/WebProcess/WebProcess.cpp
r263045 r263094 392 392 setCacheModel(parameters.cacheModel); 393 393 394 if (!parameters. languages.isEmpty())395 overrideUserPreferredLanguages(parameters. languages);394 if (!parameters.overrideLanguages.isEmpty()) 395 overrideUserPreferredLanguages(parameters.overrideLanguages); 396 396 397 397 m_textCheckerState = parameters.textCheckerState; … … 646 646 } 647 647 648 void WebProcess::userPreferredLanguagesChanged( const Vector<String>& languages) const649 { 650 overrideUserPreferredLanguages(languages);648 void WebProcess::userPreferredLanguagesChanged() const 649 { 650 WTF::languageDidChange(); 651 651 } 652 652 -
trunk/Source/WebKit/WebProcess/WebProcess.h
r263038 r263094 378 378 void flushResourceLoadStatistics(); 379 379 void seedResourceLoadStatisticsForTesting(const WebCore::RegistrableDomain& firstPartyDomain, const WebCore::RegistrableDomain& thirdPartyDomain, bool shouldScheduleNotification, CompletionHandler<void()>&&); 380 void userPreferredLanguagesChanged( const Vector<String>&) const;380 void userPreferredLanguagesChanged() const; 381 381 void fullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled); 382 382 -
trunk/Source/WebKit/WebProcess/WebProcess.messages.in
r262648 r263094 50 50 SetResourceLoadStatisticsEnabled(bool resourceLoadStatisticsEnabled); 51 51 ClearResourceLoadStatistics(); 52 UserPreferredLanguagesChanged( Vector<String> languages)52 UserPreferredLanguagesChanged() 53 53 FullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled) 54 54
Note:
See TracChangeset
for help on using the changeset viewer.