Changeset 273735 in webkit
- Timestamp:
- Mar 2, 2021, 10:25:38 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp (modified) (2 diffs)
-
Source/WebKit/UIProcess/WebProcessPool.cpp (modified) (4 diffs)
-
Source/WebKit/UIProcess/WebProcessPool.h (modified) (2 diffs)
-
Source/WebKit/WebProcess/WebProcess.cpp (modified) (1 diff)
-
Source/WebKit/WebProcess/WebProcess.h (modified) (1 diff)
-
Source/WebKit/WebProcess/WebProcess.messages.in (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp (modified) (1 diff)
-
Tools/TestWebKitAPI/glib/TestExpectations.json (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r273732 r273735 1 2021-03-02 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 REGRESSION(r263094): [GTK][WPE] API test /webkit/WebKitWebContext/languages is failing 4 https://bugs.webkit.org/show_bug.cgi?id=188111 5 6 Reviewed by Michael Catanzaro. 7 8 The GLib API allows to change the user preferred languages after the web process is created. Since r263094 we 9 are no loner sending the new overrides to the web process. Instead of calling overrideUserPreferredLanguages() 10 we now set the overrides in the WebProcessPool configuration, so that we can remove the language observer. 11 12 * UIProcess/API/glib/WebKitWebContext.cpp: 13 (webkit_web_context_set_preferred_languages): Use WebProcessPool::setOverrideLanguages() instead of 14 overrideUserPreferredLanguages(). 15 * UIProcess/WebProcessPool.cpp: 16 (WebKit::WebProcessPool::WebProcessPool) Remove the language observer registration. 17 (WebKit::WebProcessPool::~WebProcessPool): Remove the language observer unregistration. 18 (WebKit::WebProcessPool::setOverrideLanguages): Update the language overrides in the configuration and notify 19 all processes. 20 (WebKit::WebProcessPool::languageChanged): Deleted. 21 * UIProcess/WebProcessPool.h: 22 * WebProcess/WebProcess.cpp: 23 (WebKit::WebProcess::userPreferredLanguagesChanged const): Call overrideUserPreferredLanguages() again here. 24 * WebProcess/WebProcess.h: 25 * WebProcess/WebProcess.messages.in: 26 1 27 2021-03-02 Youenn Fablet <youenn@apple.com> 2 28 -
trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
r271647 r273735 66 66 #include <wtf/HashMap.h> 67 67 #include <wtf/HashSet.h> 68 #include <wtf/Language.h>69 68 #include <wtf/NeverDestroyed.h> 70 69 #include <wtf/RefCounted.h> … … 1464 1463 languages.append(String::fromUTF8(languageList[i]).replace("_", "-")); 1465 1464 } 1466 overrideUserPreferredLanguages(languages);1465 context->priv->processPool->setOverrideLanguages(WTFMove(languages)); 1467 1466 } 1468 1467 -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r273694 r273735 97 97 #include <pal/SessionID.h> 98 98 #include <wtf/CallbackAggregator.h> 99 #include <wtf/Language.h>100 99 #include <wtf/MainThread.h> 101 100 #include <wtf/NeverDestroyed.h> … … 306 305 processPools().append(this); 307 306 308 addLanguageChangeObserver(this, languageChanged);309 310 307 resolvePathsForSandboxExtensions(); 311 308 … … 337 334 ASSERT_UNUSED(removed, removed); 338 335 339 removeLanguageChangeObserver(this);340 341 336 m_messageReceiverMap.invalidate(); 342 337 … … 418 413 } 419 414 420 void WebProcessPool::languageChanged(void* context) 421 { 422 static_cast<WebProcessPool*>(context)->languageChanged(); 423 } 424 425 void WebProcessPool::languageChanged() 426 { 427 sendToAllProcesses(Messages::WebProcess::UserPreferredLanguagesChanged()); 415 void WebProcessPool::setOverrideLanguages(Vector<String>&& languages) 416 { 417 m_configuration->setOverrideLanguages(WTFMove(languages)); 418 419 sendToAllProcesses(Messages::WebProcess::UserPreferredLanguagesChanged(m_configuration->overrideLanguages())); 428 420 #if USE(SOUP) 429 421 for (auto networkProcess : NetworkProcessProxy::allNetworkProcesses()) 430 networkProcess->send(Messages::NetworkProcess::UserPreferredLanguagesChanged( userPreferredLanguages()), 0);422 networkProcess->send(Messages::NetworkProcess::UserPreferredLanguagesChanged(m_configuration->overrideLanguages()), 0); 431 423 #endif 432 424 } -
trunk/Source/WebKit/UIProcess/WebProcessPool.h
r273693 r273735 488 488 void setJavaScriptConfigurationDirectory(String&& directory) { m_javaScriptConfigurationDirectory = directory; } 489 489 const String& javaScriptConfigurationDirectory() const { return m_javaScriptConfigurationDirectory; } 490 490 491 void setOverrideLanguages(Vector<String>&&); 492 491 493 WebProcessDataStoreParameters webProcessDataStoreParameters(WebProcessProxy&, WebsiteDataStore&); 492 494 … … 545 547 void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override; 546 548 void didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&) override; 547 548 static void languageChanged(void* context);549 void languageChanged();550 549 551 550 bool usesSingleWebProcess() const { return m_configuration->usesSingleWebProcess(); } -
trunk/Source/WebKit/WebProcess/WebProcess.cpp
r273657 r273735 683 683 } 684 684 685 void WebProcess::userPreferredLanguagesChanged( ) const686 { 687 WTF::languageDidChange();685 void WebProcess::userPreferredLanguagesChanged(const Vector<String>& languages) const 686 { 687 overrideUserPreferredLanguages(languages); 688 688 } 689 689 -
trunk/Source/WebKit/WebProcess/WebProcess.h
r273657 r273735 419 419 void flushResourceLoadStatistics(); 420 420 void seedResourceLoadStatisticsForTesting(const WebCore::RegistrableDomain& firstPartyDomain, const WebCore::RegistrableDomain& thirdPartyDomain, bool shouldScheduleNotification, CompletionHandler<void()>&&); 421 void userPreferredLanguagesChanged( ) const;421 void userPreferredLanguagesChanged(const Vector<String>&) const; 422 422 void fullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled); 423 423 -
trunk/Source/WebKit/WebProcess/WebProcess.messages.in
r273657 r273735 48 48 SetResourceLoadStatisticsEnabled(bool resourceLoadStatisticsEnabled); 49 49 ClearResourceLoadStatistics(); 50 UserPreferredLanguagesChanged( )50 UserPreferredLanguagesChanged(Vector<String> languages) 51 51 FullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled) 52 52 -
trunk/Tools/ChangeLog
r273734 r273735 1 2021-03-02 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 REGRESSION(r263094): [GTK][WPE] API test /webkit/WebKitWebContext/languages is failing 4 https://bugs.webkit.org/show_bug.cgi?id=188111 5 6 Reviewed by Michael Catanzaro. 7 8 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: 9 (testWebContextLanguages): Invalid locale is ignored now instead of throwing a exception. 10 * TestWebKitAPI/glib/TestExpectations.json: Remove test expectation now that it passes again. 11 1 12 2021-03-02 Aakash Jain <aakash_jain@apple.com> 2 13 -
trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp
r273236 r273735 380 380 g_assert_cmpstr(locale.get(), ==, expectedDefaultLanguage); 381 381 382 // An invalid locale should throw an exception.382 // An invalid locale should not be used. 383 383 const char* invalidLanguage[] = { "A", nullptr }; 384 384 webkit_web_context_set_preferred_languages(test->m_webContext.get(), invalidLanguage); 385 385 javascriptResult = test->runJavaScriptAndWaitUntilFinished("Intl.DateTimeFormat().resolvedOptions().locale", &error.outPtr()); 386 386 g_assert_nonnull(javascriptResult); 387 g_assert_error(error.get(), WEBKIT_JAVASCRIPT_ERROR, WEBKIT_JAVASCRIPT_ERROR_SCRIPT_FAILED); 387 g_assert_no_error(error.get()); 388 locale.reset(WebViewTest::javascriptResultToCString(javascriptResult)); 389 g_assert_cmpstr(locale.get(), !=, "A"); 388 390 } 389 391 -
trunk/Tools/TestWebKitAPI/glib/TestExpectations.json
r273124 r273735 111 111 "/webkit/WebKitWebContext/uri-scheme": { 112 112 "expected": {"all": {"status": ["FAIL", "PASS"], "bug": "webkit.org/b/183183"}} 113 },114 "/webkit/WebKitWebContext/languages": {115 "expected": {"all": {"status": ["FAIL"], "bug": "webkit.org/b/188111"}}116 113 }, 117 114 "/webkit/WebKitWebContext/proxy": {
Note:
See TracChangeset
for help on using the changeset viewer.