Changeset 106320 in webkit


Ignore:
Timestamp:
Jan 30, 2012 7:10:49 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Add Plumming to get graphics error messages to JS Console
https://bugs.webkit.org/show_bug.cgi?id=77238

Source/WebCore:

Patch by Gregg Tavares <Gregg Tavares> on 2012-01-30
Reviewed by Kenneth Russell.

No new tests. No change in behavior.

  • html/canvas/WebGLRenderingContext.cpp:

(WebGLRenderingContextErrorMessageCallback):
(WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
(WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
(WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
(WebCore):
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::~WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

  • platform/graphics/GraphicsContext3D.h:

(ErrorMessageCallback):
(WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
(GraphicsContext3D):

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

Source/WebKit/chromium:

Patch by Gregg Tavares <gman@google.com> on 2012-01-30
Reviewed by Kenneth Russell.

  • public/platform/WebGraphicsContext3D.h:

(WebGraphicsErrorMessageCallback):
(WebKit::WebGraphicsContext3D::WebGraphicsErrorMessageCallback::~WebGraphicsErrorMessageCallback):
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::setErrorMessageCallback):

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore):
(GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
(WebCore::GraphicsErrorMessageCallbackAdapter::create):
(WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):

  • src/GraphicsContext3DPrivate.h:

(WebCore):
():

Location:
trunk/Source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r106319 r106320  
     12012-01-30  Gregg Tavares  <gman@chromium.org>
     2
     3        Add Plumming to get graphics error messages to JS Console
     4        https://bugs.webkit.org/show_bug.cgi?id=77238
     5
     6        Reviewed by Kenneth Russell.
     7
     8        No new tests. No change in behavior.
     9
     10        * html/canvas/WebGLRenderingContext.cpp:
     11        (WebGLRenderingContextErrorMessageCallback):
     12        (WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
     13        (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
     14        (WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
     15        (WebCore):
     16        (WebCore::WebGLRenderingContext::create):
     17        (WebCore::WebGLRenderingContext::initializeNewContext):
     18        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
     19        * html/canvas/WebGLRenderingContext.h:
     20        (WebGLRenderingContext):
     21        * platform/graphics/GraphicsContext3D.h:
     22        (ErrorMessageCallback):
     23        (WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
     24        (GraphicsContext3D):
     25        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
     26        (WebCore::GraphicsContext3D::setErrorMessageCallback):
     27        (WebCore):
     28        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
     29        (WebCore::GraphicsContext3D::setErrorMessageCallback):
     30        (WebCore):
     31        * platform/graphics/qt/GraphicsContext3DQt.cpp:
     32        (WebCore::GraphicsContext3D::setErrorMessageCallback):
     33        (WebCore):
     34
    1352012-01-30  Anders Carlsson  <andersca@apple.com>
    236
  • trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp

    r105712 r106320  
    375375};
    376376
     377class WebGLRenderingContextErrorMessageCallback : public GraphicsContext3D::ErrorMessageCallback {
     378public:
     379    explicit WebGLRenderingContextErrorMessageCallback(WebGLRenderingContext* cb) : m_context(cb) { }
     380    virtual void onErrorMessage(const String& message, GC3Dint) { m_context->printWarningToConsole(message); }
     381    virtual ~WebGLRenderingContextErrorMessageCallback() { }
     382private:
     383    WebGLRenderingContext* m_context;
     384};
     385
    377386PassOwnPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTMLCanvasElement* canvas, WebGLContextAttributes* attrs)
    378387{
     
    501510
    502511    m_context->setContextLostCallback(adoptPtr(new WebGLRenderingContextLostCallback(this)));
     512    m_context->setErrorMessageCallback(adoptPtr(new WebGLRenderingContextErrorMessageCallback(this)));
    503513}
    504514
     
    549559    detachAndRemoveAllObjects();
    550560    m_context->setContextLostCallback(nullptr);
     561    m_context->setErrorMessageCallback(nullptr);
    551562    m_contextGroup->removeContext(this);
    552563}
  • trunk/Source/WebCore/html/canvas/WebGLRenderingContext.h

    r105706 r106320  
    323323    friend class WebGLDebugShaders;
    324324    friend class WebGLCompressedTextures;
     325    friend class WebGLRenderingContextErrorMessageCallback;
    325326
    326327    WebGLRenderingContext(HTMLCanvasElement*, PassRefPtr<GraphicsContext3D>, GraphicsContext3D::Attributes);
  • trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h

    r105203 r106320  
    455455    };
    456456
     457    class ErrorMessageCallback {
     458    public:
     459        virtual void onErrorMessage(const String& message, GC3Dint id) = 0;
     460        virtual ~ErrorMessageCallback() { }
     461    };
     462
    457463    void setContextLostCallback(PassOwnPtr<ContextLostCallback>);
     464    void setErrorMessageCallback(PassOwnPtr<ErrorMessageCallback>);
    458465
    459466    static PassRefPtr<GraphicsContext3D> create(Attributes, HostWindow*, RenderStyle = RenderOffscreen);
  • trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp

    r101548 r106320  
    116116}
    117117
     118void GraphicsContext3D::setErrorMessageCallback(PassOwnPtr<ErrorMessageCallback>)
     119{
     120}
     121
    118122#if USE(ACCELERATED_COMPOSITING)
    119123PlatformLayer* GraphicsContext3D::platformLayer() const
  • trunk/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp

    r101578 r106320  
    837837}
    838838
     839void GraphicsContext3D::setErrorMessageCallback(PassOwnPtr<ErrorMessageCallback>)
     840{
     841    notImplemented();
     842}
     843
    839844bool GraphicsContext3D::getImageData(Image* image, GC3Denum format, GC3Denum type, bool premultiplyAlpha,
    840845                                     bool ignoreGammaAndColorProfile, Vector<uint8_t>& outputVector)
  • trunk/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm

    r101295 r106320  
    279279}
    280280
     281void GraphicsContext3D::setErrorMessageCallback(PassOwnPtr<ErrorMessageCallback>)
     282{
     283}
     284
    281285}
    282286
  • trunk/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp

    r103301 r106320  
    16401640}
    16411641
     1642void GraphicsContext3D::setErrorMessageCallback(PassOwnPtr<ErrorMessageCallback>)
     1643{
     1644}
     1645
    16421646}
    16431647
  • trunk/Source/WebKit/chromium/ChangeLog

    r106313 r106320  
     12012-01-30  Gregg Tavares  <gman@google.com>
     2
     3        Add Plumming to get graphics error messages to JS Console
     4        https://bugs.webkit.org/show_bug.cgi?id=77238
     5
     6        Reviewed by Kenneth Russell.
     7
     8        * public/platform/WebGraphicsContext3D.h:
     9        (WebGraphicsErrorMessageCallback):
     10        (WebKit::WebGraphicsContext3D::WebGraphicsErrorMessageCallback::~WebGraphicsErrorMessageCallback):
     11        (WebGraphicsContext3D):
     12        (WebKit::WebGraphicsContext3D::setErrorMessageCallback):
     13        * src/GraphicsContext3DChromium.cpp:
     14        (WebCore::GraphicsContext3D::~GraphicsContext3D):
     15        (WebCore):
     16        (GraphicsErrorMessageCallbackAdapter):
     17        (WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
     18        (WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
     19        (WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
     20        (WebCore::GraphicsErrorMessageCallbackAdapter::create):
     21        (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
     22        * src/GraphicsContext3DPrivate.h:
     23        (WebCore):
     24        ():
     25
    1262012-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
    227
  • trunk/Source/WebKit/chromium/public/platform/WebGraphicsContext3D.h

    r106074 r106320  
    119119    };
    120120
     121    class WebGraphicsErrorMessageCallback {
     122    public:
     123        virtual void onErrorMessage(const WebString&, WGC3Dint) = 0;
     124        virtual ~WebGraphicsErrorMessageCallback() { }
     125    };
     126
    121127    class WebGraphicsSwapBuffersCompleteCallbackCHROMIUM {
    122128    public:
     
    370376
    371377    virtual void setContextLostCallback(WebGraphicsContextLostCallback* callback) {}
     378    virtual void setErrorMessageCallback(WebGraphicsErrorMessageCallback* callback) { }
    372379    // GL_ARB_robustness
    373380    //
  • trunk/Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp

    r106164 r106320  
    10331033{
    10341034    m_private->setContextLostCallback(nullptr);
     1035    m_private->setErrorMessageCallback(nullptr);
    10351036    m_private->setSwapBuffersCompleteCallbackCHROMIUM(nullptr);
    10361037}
     
    12691270
    12701271DELEGATE_TO_INTERNAL_1(setContextLostCallback, PassOwnPtr<GraphicsContext3D::ContextLostCallback>)
     1272DELEGATE_TO_INTERNAL_1(setErrorMessageCallback, PassOwnPtr<GraphicsContext3D::ErrorMessageCallback>)
    12711273
    12721274class GraphicsContextLostCallbackAdapter : public WebKit::WebGraphicsContext3D::WebGraphicsContextLostCallback {
     
    12971299}
    12981300
     1301class GraphicsErrorMessageCallbackAdapter : public WebKit::WebGraphicsContext3D::WebGraphicsErrorMessageCallback {
     1302public:
     1303    virtual void onErrorMessage(const WebKit::WebString&, WebKit::WGC3Dint);
     1304    static PassOwnPtr<GraphicsErrorMessageCallbackAdapter> create(PassOwnPtr<GraphicsContext3D::ErrorMessageCallback>);
     1305    virtual ~GraphicsErrorMessageCallbackAdapter() { }
     1306private:
     1307    GraphicsErrorMessageCallbackAdapter(PassOwnPtr<GraphicsContext3D::ErrorMessageCallback> cb) : m_errorMessageCallback(cb) { }
     1308    OwnPtr<GraphicsContext3D::ErrorMessageCallback> m_errorMessageCallback;
     1309};
     1310
     1311void GraphicsErrorMessageCallbackAdapter::onErrorMessage(const WebKit::WebString& message, WebKit::WGC3Dint id)
     1312{
     1313    if (m_errorMessageCallback)
     1314        m_errorMessageCallback->onErrorMessage(message, id);
     1315}
     1316
     1317PassOwnPtr<GraphicsErrorMessageCallbackAdapter> GraphicsErrorMessageCallbackAdapter::create(PassOwnPtr<GraphicsContext3D::ErrorMessageCallback> cb)
     1318{
     1319    return adoptPtr(cb.get() ? new GraphicsErrorMessageCallbackAdapter(cb) : 0);
     1320}
     1321
     1322void GraphicsContext3DPrivate::setErrorMessageCallback(PassOwnPtr<GraphicsContext3D::ErrorMessageCallback> cb)
     1323{
     1324    m_errorMessageCallbackAdapter = GraphicsErrorMessageCallbackAdapter::create(cb);
     1325    m_impl->setErrorMessageCallback(m_errorMessageCallbackAdapter.get());
     1326}
     1327
    12991328bool GraphicsContext3D::isGLES2Compliant() const
    13001329{
  • trunk/Source/WebKit/chromium/src/GraphicsContext3DPrivate.h

    r102055 r106320  
    5151class GraphicsContextLostCallbackAdapter;
    5252class GraphicsContext3DSwapBuffersCompleteCallbackAdapter;
     53class GraphicsErrorMessageCallbackAdapter;
    5354
    5455class GraphicsContext3DPrivate {
     
    274275
    275276    void setContextLostCallback(PassOwnPtr<GraphicsContext3D::ContextLostCallback>);
     277    void setErrorMessageCallback(PassOwnPtr<GraphicsContext3D::ErrorMessageCallback>);
    276278
    277279    // Extensions3D support.
     
    322324    OwnPtr<Extensions3DChromium> m_extensions;
    323325    OwnPtr<GraphicsContextLostCallbackAdapter> m_contextLostCallbackAdapter;
     326    OwnPtr<GraphicsErrorMessageCallbackAdapter> m_errorMessageCallbackAdapter;
    324327    OwnPtr<GraphicsContext3DSwapBuffersCompleteCallbackAdapter> m_swapBuffersCompleteCallbackAdapter;
    325328    WebKit::WebViewImpl* m_webViewImpl;
Note: See TracChangeset for help on using the changeset viewer.