diff options
| author | Ben Murdoch <benm@google.com> | 2010-07-22 15:37:06 +0100 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2010-07-27 10:20:25 +0100 |
| commit | 967717af5423377c967781471ee106e2bb4e11c8 (patch) | |
| tree | 1e701dc0a12f7f07cce1df4a7681717de77a211b /WebKit/chromium/src/GLES2Context.cpp | |
| parent | dcc30a9fca45f634b1d3a12b276d3a0ccce99fc3 (diff) | |
| download | external_webkit-967717af5423377c967781471ee106e2bb4e11c8.zip external_webkit-967717af5423377c967781471ee106e2bb4e11c8.tar.gz external_webkit-967717af5423377c967781471ee106e2bb4e11c8.tar.bz2 | |
Merge WebKit at r63859 : Initial merge by git.
Change-Id: Ie8096c63ec7c991c9a9cba8bdd9c3b74a3b8ed62
Diffstat (limited to 'WebKit/chromium/src/GLES2Context.cpp')
| -rw-r--r-- | WebKit/chromium/src/GLES2Context.cpp | 58 |
1 files changed, 7 insertions, 51 deletions
diff --git a/WebKit/chromium/src/GLES2Context.cpp b/WebKit/chromium/src/GLES2Context.cpp index f342436..b4b4bb2 100644 --- a/WebKit/chromium/src/GLES2Context.cpp +++ b/WebKit/chromium/src/GLES2Context.cpp @@ -31,6 +31,7 @@ #include "config.h" #include "GLES2Context.h" +#include "GLES2ContextInternal.h" #include "IntSize.h" #include "WebGLES2Context.h" #include "WebKit.h" @@ -52,68 +53,23 @@ using namespace WebKit; namespace WebCore { -class GLES2ContextInternal { -public: - GLES2ContextInternal() {} - ~GLES2ContextInternal() {} - - bool initializeOnscreen(Page*); - bool initializeOffscreen(GLES2Context*); - - WebGLES2Context* getWebGLES2Context() { return m_impl; } - -private: - WebGLES2Context* m_impl; -}; - -bool GLES2ContextInternal::initializeOnscreen(Page* page) +PassOwnPtr<GLES2ContextInternal> GLES2ContextInternal::create(WebGLES2Context* impl, bool owns) { - ASSERT(page); - WebViewImpl* webView = WebViewImpl::fromPage(page); - m_impl = webView->gles2Context(); - if (!m_impl) - return false; - - return true; -} - -bool GLES2ContextInternal::initializeOffscreen(GLES2Context* parent) -{ - m_impl = webKitClient()->createGLES2Context(); - if (!m_impl) - return false; - if (!m_impl->initialize(0, parent ? parent->m_internal->m_impl : 0)) { - delete m_impl; - return false; - } - return true; + PassOwnPtr<GLES2ContextInternal> result = new GLES2ContextInternal(impl, owns); + return result; } -PassOwnPtr<GLES2Context> GLES2Context::createOnscreen(Page* page) +PassOwnPtr<GLES2Context> GLES2Context::create(PassOwnPtr<GLES2ContextInternal> internal) { - GLES2ContextInternal* internal = new GLES2ContextInternal(); - if (!internal->initializeOnscreen(page)) { - delete internal; - return 0; - } PassOwnPtr<GLES2Context> result = new GLES2Context(); - result->m_internal.set(internal); + result->m_internal = internal; return result; } -PassOwnPtr<GLES2Context> GLES2Context::createOffscreen(GLES2Context* parent) +GLES2Context::GLES2Context() { - GLES2ContextInternal* internal = new GLES2ContextInternal(); - if (!internal->initializeOffscreen(parent)) { - delete internal; - return 0; - } - PassOwnPtr<GLES2Context> result = new GLES2Context(); - result->m_internal.set(internal); - return result; } - GLES2Context::~GLES2Context() { } |
