Changes between Initial Version and Version 1 of ProjectsWorthDoing

May 9, 2021 11:13:46 AM (9 months ago)



  • ProjectsWorthDoing

    v1 v1  
     1- **[Singleton Removals]** Remove PlatformStrategies, replacing with per-page providers
     2- **[Singleton Removals]** Remove RuntimeEnabledFeatures and DeprecatedGlobalSettings, replacing them with use of per-page Settings.
     3- **[Singleton Removals]** Remove Theme (and related classes) singletons, replacing them with per-page Theme objects.
     6- **[Moving]** Move remaining settings in Settings.yaml WTF/WebPreferences*.yaml
     7- **[Moving]** Move WeCore/platform/ classes to PAL/ to enforce layering via the linker
     8- **[Moving]** Move legacy loading code to WebKitLegacy.
     10- **[CSSValue <-> Style Split]** Stop using CSSValue classes in Style code, creating new Style classes for remaining concepts and simplifying CSSValue classes to just be plain data
     11- **[CSS]** Add "context" for CSS classes so they can access a relevant ScriptExecutionContext for Settings/Caches/etc.
     14- **[Testing]** Split WebKit IPC code into a static library that we can test via unit tests.
     15- **[Testing]** Add preferences generation to WebKitLegacy/win (needed so we can stop updating testing defaults for it every time)
     16- **[Testing]** Move unit tests out of WebKitTools/TestWebKitAPI and into project specific directories (e.g. WTF tests go in Source/WTF/Tests, etc.)
     18- **[Rationalize]** Rationalize how settings should work with Service Workers. Probably requires a concept in WebKit that a Service Worker can only be shared by pages that have the same WebPreferences/WebDataStore/WKUserContentController/applicationNameForUserAgent etc.
     19- **[Rationalize]** Rationalize how WebPreferences and API::PageConfiguration specific settings interact.
     22- **[Loading]** Unify loading classes using the Fetch naming and behavior.
     23- **[RunLoop]** Unify runloop classes using the HTML EventLoop naming and behavior
     25- **[Unify]** Add support for viewports to all ports.
     27- **[Naming]** Replace usage of broad PLATFORM() macros with more targeted HAVE()/USE()/ENABLE()/OS() etc. Adding new predicates and predicate types when needed.
     29- **[Unclear If Possible]** Find a way to get rid of Widget tree in WebCore.