For Developers‎ > ‎

Blink Core Projects

This list is for Blink work that is about improving performance, infrastructure and/or the maintainability of the codebase. This is a list of high-priority projects that have minimal dependence on web standards bodies.

If you decide to take on one of these projects put your name at the beginning like [ ojan ]. Some of the bigger projects could use multiple people working on them.

Talk to Ojan if you have questions about any of these or want to add more things to this list. If you discover other new projects that would fit well here we should add them!


blink/core projects

  • Split RenderBlock into two classes. Create a base class for a box that is a container of other boxes and is the appropriate superclass for RenderBlock, RenderFlexibleBox, RenderGrid, RenderTable, RenderDeprecatedFlexibleBox. The new RenderBlock will just be about dealing with laying out lineboxes and inlines.
  • Kill RenderArena. In the past, this has come with a 1-2% performance regression on page cycler tests. The hard part is finding a way to do it without a significant perf hit. A good starter bug here would be https://bugs.webkit.org/show_bug.cgi?id=87523.
  • Add COMPILE_ASSERTS for the size of all object with bitfields and all other objects that we create a lot of.
  • Add histograms for measuring the cost of doing a second layout when we go from not needing a scrollbar to needing a scrollbar. Maybe we can invert the heuristic to assume that we will need a scrollbar and pay the second layout cost for cases where we don’t need one.

Performance

Infrastructure

    • Add a tool to garden-o-matic/flakiness dashboard/code review tool to make it possible to easily view the diff of an expected result to another platform's expected file (e.g. diff between platform/chromium/foo-expected.txt and platform/mac/foo-expected.txt).
    • Rebaseline tests from the results.html page: https://bugs.webkit.org/show_bug.cgi?id=86797
    • Flakiness dashboard
      • gtests should output the same JSON format as run-webkit-tests: crbug.com/247192
      • flakiness dashboard links on the waterfall point to the wrong data: crbug.com/246849
      • Annotate the failing test results shown in the flakiness dashboard with the revision it last failed at. Something like: r12345
      • Audio failures don't show up correctly on the flakiness dashboard: https://bugs.webkit.org/show_bug.cgi?id=104632

    LayoutTests


    Comments