Changeset 177276 in webkit


Ignore:
Timestamp:
Dec 15, 2014 2:39:49 AM (9 years ago)
Author:
yoon@igalia.com
Message:

Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
https://bugs.webkit.org/show_bug.cgi?id=118383

Reviewed by Martin Robinson.

Implements an initial version of the Threaded Compositor.

Threaded Compositor is a variant of Coordinated Graphics implementation.
Basic structure of the implementaion is simliar, thus, Threaded
Compositor reuses lots of classes from Coordinated Graphics. However,
instead of compositing on UI Process, Threaded Compositor performs
compositing on a dedicate thread of Web Process.

No new test, because it is in experimental stage.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
Removed a assertion not to force its creation in the main thread. In
the Threaded Compositor, it can be created in the dedicated thread.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.

Implements a surface using ImageBuffer as a backend to use in the Web
Process.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.

Implements a compositor which runs on the created thread. It owns
SimpleViewportController and CoordinatedGraphicsScene to render scene on the
actual surface.

  • Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
  • Shared/CoordinatedGraphics/SimpleViewportController.h: Added.

This class is responsible to handle scale factor and scrolling position
with a simplifed logic in the compositing thread.

Location:
trunk/Source/WebKit2
Files:
7 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r177259 r177276  
     12014-12-15  Gwang Yoon Hwang  <yoon@igalia.com>
     2
     3        Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
     4        https://bugs.webkit.org/show_bug.cgi?id=118383
     5
     6        Reviewed by Martin Robinson.
     7
     8        Implements an initial version of the Threaded Compositor.
     9
     10        Threaded Compositor is a variant of Coordinated Graphics implementation.
     11        Basic structure of the implementaion is simliar, thus, Threaded
     12        Compositor reuses lots of classes from Coordinated Graphics. However,
     13        instead of compositing on UI Process, Threaded Compositor performs
     14        compositing on a dedicate thread of Web Process.
     15
     16        No new test, because it is in experimental stage.
     17
     18        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
     19        (WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
     20        Removed a assertion not to force its creation in the main thread. In
     21        the Threaded Compositor, it can be created in the dedicated thread.
     22
     23        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
     24        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.
     25        Implements a surface using ImageBuffer as a backend to use in the Web
     26        Process.
     27
     28        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
     29        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.
     30        Implements a compositor which runs on the created thread. It owns
     31        SimpleViewportController and CoordinatedGraphicsScene to render scene on the
     32        actual surface.
     33
     34        * Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
     35        * Shared/CoordinatedGraphics/SimpleViewportController.h: Added.
     36        This class is responsible to handle scale factor and scrolling position
     37        with a simplifed logic in the compositing thread.
     38
    1392014-12-14  Andreas Kling  <akling@apple.com>
    240
  • trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp

    r176946 r177276  
    5555    , m_viewBackgroundColor(Color::white)
    5656{
    57     ASSERT(isMainThread());
    5857}
    5958
Note: See TracChangeset for help on using the changeset viewer.