| 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. |
| 4 | |
| 5 | |
| 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. |
| 9 | |
| 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. |
| 12 | |
| 13 | |
| 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.) |
| 17 | |
| 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. |
| 20 | |
| 21 | |
| 22 | - **[Loading]** Unify loading classes using the Fetch naming and behavior. |
| 23 | - **[RunLoop]** Unify runloop classes using the HTML EventLoop naming and behavior |
| 24 | |
| 25 | - **[Unify]** Add support for viewports to all ports. |
| 26 | |
| 27 | - **[Naming]** Replace usage of broad PLATFORM() macros with more targeted HAVE()/USE()/ENABLE()/OS() etc. Adding new predicates and predicate types when needed. |
| 28 | |
| 29 | - **[Unclear If Possible]** Find a way to get rid of Widget tree in WebCore. |
| 30 | |