Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4351)

Unified Diff: cc/fake_web_graphics_context_3d.cc

Issue 12211110: Implement WebKit::WebUnitTestSupport::createLayerTreeViewForTesting() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add enum, fix NON_EXPORTED_BASE Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/fake_web_graphics_context_3d.h ('k') | cc/gl_renderer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/fake_web_graphics_context_3d.cc
diff --git a/cc/test/fake_web_graphics_context_3d.cc b/cc/fake_web_graphics_context_3d.cc
similarity index 56%
copy from cc/test/fake_web_graphics_context_3d.cc
copy to cc/fake_web_graphics_context_3d.cc
index b5ee8055cf01154e4a3e8b10b806beeddf991d0c..5d15a29ddbc31747f6f5c691f92f068c7d03401e 100644
--- a/cc/test/fake_web_graphics_context_3d.cc
+++ b/cc/fake_web_graphics_context_3d.cc
@@ -1,16 +1,10 @@
-// Copyright 2011 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "cc/test/fake_web_graphics_context_3d.h"
+#include "cc/fake_web_graphics_context_3d.h"
-#include <algorithm>
-#include <string>
-
-#include "base/logging.h"
-#include "gpu/GLES2/gl2extchromium.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/khronos/GLES2/gl2ext.h"
+#include "third_party/khronos/GLES2/gl2.h"
using WebKit::WGC3Dboolean;
using WebKit::WGC3Denum;
@@ -19,71 +13,26 @@ using WebKit::WebGraphicsContext3D;
namespace cc {
-static const WebGLId kBufferId = 1;
-static const WebGLId kFramebufferId = 2;
-static const WebGLId kProgramId = 3;
-static const WebGLId kRenderbufferId = 4;
-static const WebGLId kShaderId = 5;
-
-static unsigned s_context_id = 1;
-
-const WebGLId FakeWebGraphicsContext3D::kExternalTextureId = 1337;
-
FakeWebGraphicsContext3D::FakeWebGraphicsContext3D()
- : context_id_(s_context_id++),
- next_texture_id_(1),
- have_extension_io_surface_(false),
- have_extension_egl_image_(false),
- times_make_current_succeeds_(-1),
- times_bind_texture_succeeds_(-1),
- times_end_query_succeeds_(-1),
- context_lost_(false),
- context_lost_callback_(NULL),
- width_(0),
- height_(0) {
-}
-
-FakeWebGraphicsContext3D::FakeWebGraphicsContext3D(
- const WebGraphicsContext3D::Attributes& attributes)
- : context_id_(s_context_id++),
- next_texture_id_(1),
- attributes_(attributes),
- have_extension_io_surface_(false),
- have_extension_egl_image_(false),
- times_make_current_succeeds_(-1),
- times_bind_texture_succeeds_(-1),
- times_end_query_succeeds_(-1),
- context_lost_(false),
- context_lost_callback_(NULL),
- width_(0),
- height_(0) {
+ : WebKit::WebGraphicsContext3D() {
}
FakeWebGraphicsContext3D::~FakeWebGraphicsContext3D() {
}
bool FakeWebGraphicsContext3D::makeContextCurrent() {
- if (times_make_current_succeeds_ >= 0) {
- if (!times_make_current_succeeds_) {
- loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
- GL_INNOCENT_CONTEXT_RESET_ARB);
- }
- --times_make_current_succeeds_;
- }
- return !context_lost_;
+ return true;
}
int FakeWebGraphicsContext3D::width() {
- return width_;
+ return 1;
}
int FakeWebGraphicsContext3D::height() {
- return height_;
+ return 1;
}
void FakeWebGraphicsContext3D::reshape(int width, int height) {
- width_ = width;
- height_ = height;
}
bool FakeWebGraphicsContext3D::isGLES2Compliant() {
@@ -104,11 +53,11 @@ WebGLId FakeWebGraphicsContext3D::getPlatformTextureId() {
}
bool FakeWebGraphicsContext3D::isContextLost() {
- return context_lost_;
+ return false;
}
WGC3Denum FakeWebGraphicsContext3D::getGraphicsResetStatusARB() {
- return context_lost_ ? GL_UNKNOWN_CONTEXT_RESET_ARB : GL_NO_ERROR;
+ return GL_NO_ERROR;
}
void* FakeWebGraphicsContext3D::mapBufferSubDataCHROMIUM(
@@ -138,8 +87,6 @@ WebKit::WebString FakeWebGraphicsContext3D::getRequestableExtensionsCHROMIUM() {
WGC3Denum FakeWebGraphicsContext3D::checkFramebufferStatus(
WGC3Denum target) {
- if (context_lost_)
- return GL_FRAMEBUFFER_UNDEFINED_OES;
return GL_FRAMEBUFFER_COMPLETE;
}
@@ -165,7 +112,7 @@ WebKit::WGC3Dint FakeWebGraphicsContext3D::getAttribLocation(
WebGraphicsContext3D::Attributes
FakeWebGraphicsContext3D::getContextAttributes() {
- return attributes_;
+ return WebGraphicsContext3D::Attributes();
}
WGC3Denum FakeWebGraphicsContext3D::getError() {
@@ -211,16 +158,7 @@ WebKit::WebString FakeWebGraphicsContext3D::getShaderSource(
}
WebKit::WebString FakeWebGraphicsContext3D::getString(WGC3Denum name) {
- std::string string;
-
- if (name == GL_EXTENSIONS) {
- if (have_extension_io_surface_)
- string += "GL_CHROMIUM_iosurface GL_ARB_texture_rectangle ";
- if (have_extension_egl_image_)
- string += "GL_OES_EGL_image_external";
- }
-
- return WebKit::WebString::fromUTF8(string.c_str());
+ return WebKit::WebString();
}
WebKit::WGC3Dint FakeWebGraphicsContext3D::getUniformLocation(
@@ -271,106 +209,66 @@ WGC3Dboolean FakeWebGraphicsContext3D::isTexture(
}
WebGLId FakeWebGraphicsContext3D::createBuffer() {
- return kBufferId | context_id_ << 16;
+ return 1;
}
void FakeWebGraphicsContext3D::deleteBuffer(WebKit::WebGLId id) {
- EXPECT_EQ(kBufferId | context_id_ << 16, id);
}
WebGLId FakeWebGraphicsContext3D::createFramebuffer() {
- return kFramebufferId | context_id_ << 16;
+ return 1;
}
void FakeWebGraphicsContext3D::deleteFramebuffer(WebKit::WebGLId id) {
- EXPECT_EQ(kFramebufferId | context_id_ << 16, id);
}
WebGLId FakeWebGraphicsContext3D::createProgram() {
- return kProgramId | context_id_ << 16;
+ return 1;
}
void FakeWebGraphicsContext3D::deleteProgram(WebKit::WebGLId id) {
- EXPECT_EQ(kProgramId | context_id_ << 16, id);
}
WebGLId FakeWebGraphicsContext3D::createRenderbuffer() {
- return kRenderbufferId | context_id_ << 16;
+ return 1;
}
void FakeWebGraphicsContext3D::deleteRenderbuffer(WebKit::WebGLId id) {
- EXPECT_EQ(kRenderbufferId | context_id_ << 16, id);
}
WebGLId FakeWebGraphicsContext3D::createShader(WGC3Denum) {
- return kShaderId | context_id_ << 16;
+ return 1;
}
void FakeWebGraphicsContext3D::deleteShader(WebKit::WebGLId id) {
- EXPECT_EQ(kShaderId | context_id_ << 16, id);
}
WebGLId FakeWebGraphicsContext3D::createTexture() {
- WebGLId texture_id = NextTextureId();
- DCHECK_NE(texture_id, kExternalTextureId);
- textures_.push_back(texture_id);
- return texture_id;
+ return 1;
}
void FakeWebGraphicsContext3D::deleteTexture(WebGLId texture_id) {
- DCHECK(std::find(textures_.begin(), textures_.end(), texture_id) !=
- textures_.end());
- textures_.erase(std::find(textures_.begin(), textures_.end(), texture_id));
}
void FakeWebGraphicsContext3D::attachShader(WebGLId program, WebGLId shader) {
- EXPECT_EQ(kProgramId | context_id_ << 16, program);
- EXPECT_EQ(kShaderId | context_id_ << 16, shader);
}
void FakeWebGraphicsContext3D::useProgram(WebGLId program) {
- if (!program)
- return;
- EXPECT_EQ(kProgramId | context_id_ << 16, program);
}
void FakeWebGraphicsContext3D::bindBuffer(WGC3Denum target, WebGLId buffer) {
- if (!buffer)
- return;
- EXPECT_EQ(kBufferId | context_id_ << 16, buffer);
}
void FakeWebGraphicsContext3D::bindFramebuffer(
WGC3Denum target, WebGLId framebuffer) {
- if (!framebuffer)
- return;
- EXPECT_EQ(kFramebufferId | context_id_ << 16, framebuffer);
}
void FakeWebGraphicsContext3D::bindRenderbuffer(
WGC3Denum target, WebGLId renderbuffer) {
- if (!renderbuffer)
- return;
- EXPECT_EQ(kRenderbufferId | context_id_ << 16, renderbuffer);
}
void FakeWebGraphicsContext3D::bindTexture(
WGC3Denum target, WebGLId texture_id) {
- if (times_bind_texture_succeeds_ >= 0) {
- if (!times_bind_texture_succeeds_) {
- loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
- GL_INNOCENT_CONTEXT_RESET_ARB);
- }
- --times_bind_texture_succeeds_;
- }
-
- if (!texture_id)
- return;
- if (texture_id == kExternalTextureId)
- return;
- DCHECK(std::find(textures_.begin(), textures_.end(), texture_id) !=
- textures_.end());
- used_textures_.insert(texture_id);
}
WebGLId FakeWebGraphicsContext3D::createQueryEXT() {
@@ -382,43 +280,20 @@ WGC3Dboolean FakeWebGraphicsContext3D::isQueryEXT(WebGLId query) {
}
void FakeWebGraphicsContext3D::endQueryEXT(WebKit::WGC3Denum target) {
- if (times_end_query_succeeds_ >= 0) {
- if (!times_end_query_succeeds_) {
- loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
- GL_INNOCENT_CONTEXT_RESET_ARB);
- }
- --times_end_query_succeeds_;
- }
}
void FakeWebGraphicsContext3D::getQueryObjectuivEXT(
WebKit::WebGLId query,
WebKit::WGC3Denum pname,
WebKit::WGC3Duint* params) {
- // If the context is lost, behave as if result is available.
- if (pname == GL_QUERY_RESULT_AVAILABLE_EXT)
- *params = 1;
}
void FakeWebGraphicsContext3D::setContextLostCallback(
WebGraphicsContextLostCallback* callback) {
- context_lost_callback_ = callback;
}
void FakeWebGraphicsContext3D::loseContextCHROMIUM(WGC3Denum current,
WGC3Denum other) {
- if (context_lost_)
- return;
- context_lost_ = true;
- if (context_lost_callback_)
- context_lost_callback_->onContextLost();
-}
-
-WebKit::WebGLId FakeWebGraphicsContext3D::NextTextureId() {
- WebGLId texture_id = next_texture_id_++;
- DCHECK(texture_id < (1 << 16));
- texture_id |= context_id_ << 16;
- return texture_id;
}
} // namespace cc
« no previous file with comments | « cc/fake_web_graphics_context_3d.h ('k') | cc/gl_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698