Changeset 96490 in webkit


Ignore:
Timestamp:
Oct 3, 2011 4:58:07 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r96481.
http://trac.webkit.org/changeset/96481
https://bugs.webkit.org/show_bug.cgi?id=69251

Breaks webkit_unit_tests on Linux(dbg) (Requested by hwennborg
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-10-03

  • WebKit.gypi:
  • public/WebCompositor.h:
  • public/WebWidgetClient.h:
  • src/WebCompositorImpl.cpp:

(WebKit::WebCompositorImpl::WebCompositorImpl):
(WebKit::WebCompositorImpl::~WebCompositorImpl):
(WebKit::WebCompositorImpl::setClient):
(WebKit::WebCompositorImpl::handleInputEvent):

  • src/WebCompositorImpl.h:
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

  • src/WebViewImpl.h:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::MockLayerTreeHost::MockLayerTreeHost):

  • tests/WebCompositorImplTest.cpp: Removed.
Location:
trunk/Source/WebKit/chromium
Files:
1 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r96481 r96490  
     12011-10-03  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r96481.
     4        http://trac.webkit.org/changeset/96481
     5        https://bugs.webkit.org/show_bug.cgi?id=69251
     6
     7        Breaks webkit_unit_tests on Linux(dbg) (Requested by hwennborg
     8        on #webkit).
     9
     10        * WebKit.gypi:
     11        * public/WebCompositor.h:
     12        * public/WebWidgetClient.h:
     13        * src/WebCompositorImpl.cpp:
     14        (WebKit::WebCompositorImpl::WebCompositorImpl):
     15        (WebKit::WebCompositorImpl::~WebCompositorImpl):
     16        (WebKit::WebCompositorImpl::setClient):
     17        (WebKit::WebCompositorImpl::handleInputEvent):
     18        * src/WebCompositorImpl.h:
     19        * src/WebViewImpl.cpp:
     20        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
     21        * src/WebViewImpl.h:
     22        * tests/CCLayerTreeHostTest.cpp:
     23        (WTF::MockLayerTreeHost::MockLayerTreeHost):
     24        * tests/WebCompositorImplTest.cpp: Removed.
     25
    1262011-10-02  James Robinson  <jamesr@chromium.org>
    227
  • trunk/Source/WebKit/chromium/WebKit.gypi

    r96481 r96490  
    7777            'tests/TreeTestHelpers.cpp',
    7878            'tests/TreeTestHelpers.h',
    79             'tests/WebCompositorImplTest.cpp',
    8079            'tests/WebFrameTest.cpp',
    8180            'tests/WebURLRequestTest.cpp',
  • trunk/Source/WebKit/chromium/public/WebCompositor.h

    r96481 r96490  
    4141    // This must be called once with a non-null WebThread before any compositors attempt to initialize.
    4242    WEBKIT_EXPORT static void setThread(WebThread*);
    43     WEBKIT_EXPORT static WebCompositor* fromIdentifier(int);
    4443
    4544    virtual void setClient(WebCompositorClient*) = 0;
  • trunk/Source/WebKit/chromium/public/WebWidgetClient.h

    r96481 r96490  
    5353
    5454    // Called when the compositor enables or disables.
    55     // FIXME: Remove when all implementations switch over to didEnable.../didDisable...
    5655    virtual void didActivateAcceleratedCompositing(bool active) { }
    57 
    58     // Called when the compositor is enabled or disabled.
    59     // The WebCompositor identifier can be used on the compositor thread to get access
    60     // to the WebCompositor instance associated with this WebWidget.
    61     virtual void didActivateCompositor(int compositorIdentifier) { }
    62     virtual void didDeactivateCompositor() { }
    6356
    6457    // Called when a call to WebWidget::composite is required
  • trunk/Source/WebKit/chromium/src/WebCompositorImpl.cpp

    r96481 r96490  
    3232#include "WebInputEvent.h"
    3333#include "cc/CCThreadProxy.h"
    34 #include <wtf/ThreadingPrimitives.h>
    3534
    3635using namespace WebCore;
     
    4443}
    4544
    46 int WebCompositorImpl::s_nextAvailableIdentifier = 1;
    47 
    48 // These data structures are always allocated from the main thread, but may
    49 // be accessed and mutated on the main or compositor thread.
    50 // s_compositors is deleted when it has no elements. s_compositorsLock is never
    51 // deleted.
    52 HashSet<WebCompositorImpl*>* WebCompositorImpl::s_compositors = 0;
    53 Mutex* WebCompositorImpl::s_compositorsLock = 0;
    54 
    55 WebCompositor* WebCompositor::fromIdentifier(int identifier)
    56 {
    57     return WebCompositorImpl::fromIdentifier(identifier);
    58 }
    59 
    60 WebCompositor* WebCompositorImpl::fromIdentifier(int identifier)
    61 {
    62     ASSERT(CCProxy::isImplThread());
    63     if (!s_compositorsLock)
    64         return 0;
    65 
    66     MutexLocker lock(*s_compositorsLock);
    67     if (!s_compositors)
    68         return 0;
    69 
    70     for (HashSet<WebCompositorImpl*>::iterator it = s_compositors->begin(); it != s_compositors->end(); ++it) {
    71         if ((*it)->identifier() == identifier)
    72             return *it;
    73     }
    74     return 0;
    75 }
    76 
    7745WebCompositorImpl::WebCompositorImpl()
    7846    : m_client(0)
    79     , m_identifier(s_nextAvailableIdentifier++)
    8047{
    81     ASSERT(CCProxy::isMainThread());
    82     if (!s_compositorsLock)
    83         s_compositorsLock = new Mutex;
    84     MutexLocker lock(*s_compositorsLock);
    85     if (!s_compositors)
    86         s_compositors = new HashSet<WebCompositorImpl*>;
    87     s_compositors->add(this);
    8848}
    8949
    9050WebCompositorImpl::~WebCompositorImpl()
    9151{
    92     ASSERT(s_compositorsLock);
    93     MutexLocker lock(*s_compositorsLock);
    94     ASSERT(s_compositors);
    95     s_compositors->remove(this);
    96     if (!s_compositors->size()) {
    97         delete s_compositors;
    98         s_compositors = 0;
    99     }
    10052}
    10153
    10254void WebCompositorImpl::setClient(WebCompositorClient* client)
    10355{
    104     ASSERT(CCProxy::isImplThread());
    10556    ASSERT(client);
    10657    m_client = client;
     
    10960void WebCompositorImpl::handleInputEvent(const WebInputEvent& event)
    11061{
    111     ASSERT(CCProxy::isImplThread());
    11262    // FIXME: Do something interesting with the event here.
    11363    m_client->didHandleInputEvent(false);
  • trunk/Source/WebKit/chromium/src/WebCompositorImpl.h

    r96481 r96490  
    2828
    2929#include "WebCompositor.h"
    30 
    31 #include <wtf/HashSet.h>
    3230#include <wtf/Noncopyable.h>
    3331#include <wtf/PassOwnPtr.h>
    34 
    35 namespace WTF {
    36 class Mutex;
    37 }
    3832
    3933namespace WebKit {
     
    4438    WTF_MAKE_NONCOPYABLE(WebCompositorImpl);
    4539public:
    46     static WebCompositor* fromIdentifier(int identifier);
    47 
    4840    static PassOwnPtr<WebCompositorImpl> create()
    4941    {
     
    5648    virtual void handleInputEvent(const WebInputEvent&);
    5749
    58     int identifier() const { return m_identifier; }
    59 
    6050private:
    6151    WebCompositorImpl();
    6252
    6353    WebCompositorClient* m_client;
    64     int m_identifier;
    65 
    66     static HashSet<WebCompositorImpl*>* s_compositors;
    67     static Mutex* s_compositorsLock;
    68 
    69     static int s_nextAvailableIdentifier;
    7054};
    7155
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r96481 r96490  
    104104#include "WebAccessibilityObject.h"
    105105#include "WebAutofillClient.h"
    106 #include "WebCompositorImpl.h"
    107106#include "WebDevToolsAgentImpl.h"
    108107#include "WebDevToolsAgentPrivate.h"
     
    26472646            m_layerTreeHost->finishAllRendering();
    26482647        m_client->didActivateAcceleratedCompositing(false);
    2649         m_client->didDeactivateCompositor();
    26502648    } else if (m_layerTreeHost) {
    26512649        m_isAcceleratedCompositingActive = true;
     
    26532651
    26542652        m_client->didActivateAcceleratedCompositing(true);
    2655         m_client->didActivateCompositor(m_webCompositorImpl->identifier());
    26562653    } else {
    26572654        TRACE_EVENT("WebViewImpl::setIsAcceleratedCompositingActive(true)", this, 0);
     
    26712668        m_layerTreeHost = CCLayerTreeHost::create(this, m_nonCompositedContentHost->topLevelRootLayer()->platformLayer(), ccSettings);
    26722669        if (m_layerTreeHost) {
    2673             m_webCompositorImpl = WebCompositorImpl::create();
    2674             // FIXME: Hook the m_webCompositorImpl up with the CCLayerTreeHost somehow.
    26752670            updateLayerTreeViewport();
    26762671            m_client->didActivateAcceleratedCompositing(true);
    2677             m_client->didActivateCompositor(m_webCompositorImpl->identifier());
    26782672            m_isAcceleratedCompositingActive = true;
    26792673            m_compositorCreationFailed = false;
     
    26832677            m_isAcceleratedCompositingActive = false;
    26842678            m_client->didActivateAcceleratedCompositing(false);
    2685             m_client->didDeactivateCompositor();
    26862679            m_compositorCreationFailed = true;
    26872680        }
  • trunk/Source/WebKit/chromium/src/WebViewImpl.h

    r96481 r96490  
    8383class SpeechInputClientImpl;
    8484class WebAccessibilityObject;
    85 class WebCompositorImpl;
    8685class WebDevToolsAgentClient;
    8786class WebDevToolsAgentPrivate;
     
    577576    OwnPtr<WebCore::NonCompositedContentHost> m_nonCompositedContentHost;
    578577    RefPtr<WebCore::CCLayerTreeHost> m_layerTreeHost;
    579     OwnPtr<WebCompositorImpl> m_webCompositorImpl;
    580578    WebCore::GraphicsLayer* m_rootGraphicsLayer;
    581579    bool m_isAcceleratedCompositingActive;
  • trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp

    r96481 r96490  
    118118        bool success = initialize();
    119119        ASSERT(success);
    120         UNUSED_PARAM(success);
    121120    }
    122121
Note: See TracChangeset for help on using the changeset viewer.