diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
| commit | b1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch) | |
| tree | c88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp | |
| parent | be01689f43cf6882cf670d33df49ead1f570c53a (diff) | |
| download | qtwebkit-b1e9e47fa11f608ae16bc07f97a2acf95bf80272.tar.gz | |
Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200)
Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage
of libpng/libjpeg if available in the system.
Diffstat (limited to 'Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp')
| -rw-r--r-- | Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp b/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp index 8445feba7..4ed35986c 100644 --- a/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp +++ b/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp @@ -275,3 +275,44 @@ TEST(LayerRendererChromiumTest2, initializationDoesNotMakeSynchronousCalls) EXPECT_TRUE(layerRendererChromium.initialize()); } + +class LoseContextOnFirstGetContext : public FakeWebGraphicsContext3D { +public: + LoseContextOnFirstGetContext() + : m_contextLost(false) + { + } + + virtual bool makeContextCurrent() OVERRIDE + { + return !m_contextLost; + } + + virtual void getProgramiv(WebGLId program, WGC3Denum pname, WGC3Dint* value) OVERRIDE + { + m_contextLost = true; + *value = 0; + } + + virtual void getShaderiv(WebGLId shader, WGC3Denum pname, WGC3Dint* value) OVERRIDE + { + m_contextLost = true; + *value = 0; + } + + virtual WGC3Denum getGraphicsResetStatusARB() OVERRIDE + { + return m_contextLost ? 1 : 0; + } + +private: + bool m_contextLost; +}; + +TEST(LayerRendererChromiumTest2, initializationWithQuicklyLostContextDoesNotAssert) +{ + FakeLayerRendererChromiumClient mockClient; + FakeLayerRendererChromium layerRendererChromium(&mockClient, GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new LoseContextOnFirstGetContext), GraphicsContext3D::RenderDirectlyToHostWindow)); + + layerRendererChromium.initialize(); +} |
