wiki:ProjectsWorthDoing

Version 1 (modified by weinig@apple.com, 3 years ago) (diff)

--

  • [Singleton Removals] Remove PlatformStrategies, replacing with per-page providers
  • [Singleton Removals] Remove RuntimeEnabledFeatures and DeprecatedGlobalSettings, replacing them with use of per-page Settings.
  • [Singleton Removals] Remove Theme (and related classes) singletons, replacing them with per-page Theme objects.
  • [Moving] Move remaining settings in Settings.yaml WTF/WebPreferences*.yaml
  • [Moving] Move WeCore/platform/ classes to PAL/ to enforce layering via the linker
  • [Moving] Move legacy loading code to WebKitLegacy.
  • [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
  • [CSS] Add "context" for CSS classes so they can access a relevant ScriptExecutionContext for Settings/Caches/etc.
  • [Testing] Split WebKit IPC code into a static library that we can test via unit tests.
  • [Testing] Add preferences generation to WebKitLegacy/win (needed so we can stop updating testing defaults for it every time)
  • [Testing] Move unit tests out of WebKitTools/TestWebKitAPI and into project specific directories (e.g. WTF tests go in Source/WTF/Tests, etc.)
  • [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.
  • [Rationalize] Rationalize how WebPreferences and API::PageConfiguration specific settings interact.
  • [Loading] Unify loading classes using the Fetch naming and behavior.
  • [RunLoop] Unify runloop classes using the HTML EventLoop naming and behavior
  • [Unify] Add support for viewports to all ports.
  • [Naming] Replace usage of broad PLATFORM() macros with more targeted HAVE()/USE()/ENABLE()/OS() etc. Adding new predicates and predicate types when needed.
  • [Unclear If Possible] Find a way to get rid of Widget tree in WebCore.