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

Side by Side Diff: cc/fake_web_graphics_context_3d.h

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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/delegating_renderer_unittest.cc ('k') | cc/fake_web_graphics_context_3d.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_ 5 #ifndef CC_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_
6 #define CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_ 6 #define CC_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_
7 7
8 #include <vector> 8 #include "base/compiler_specific.h"
9 9 #include "cc/cc_export.h"
10 #include "base/hash_tables.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/stl_util.h"
13 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3 D.h" 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3 D.h"
14 #include "third_party/khronos/GLES2/gl2.h"
15 11
16 namespace cc { 12 namespace cc {
17 13
18 // WebGraphicsContext3D base class for use in WebKit unit tests. 14 // WebGraphicsContext3D base class for use in unit tests.
19 // All operations are no-ops (returning 0 if necessary). 15 // All operations are no-ops (returning 0 if necessary).
20 class FakeWebGraphicsContext3D : public WebKit::WebGraphicsContext3D { 16 class CC_EXPORT FakeWebGraphicsContext3D :
17 public NON_EXPORTED_BASE(WebKit::WebGraphicsContext3D) {
21 public: 18 public:
22 static scoped_ptr<FakeWebGraphicsContext3D> Create() { 19 FakeWebGraphicsContext3D();
23 return make_scoped_ptr(new FakeWebGraphicsContext3D());
24 }
25 static scoped_ptr<FakeWebGraphicsContext3D> Create(
26 const WebKit::WebGraphicsContext3D::Attributes& attributes) {
27 return make_scoped_ptr(new FakeWebGraphicsContext3D(attributes));
28 }
29 virtual ~FakeWebGraphicsContext3D(); 20 virtual ~FakeWebGraphicsContext3D();
30 21
31 virtual bool makeContextCurrent(); 22 virtual bool makeContextCurrent();
32 23
33 virtual int width(); 24 virtual int width();
34 virtual int height(); 25 virtual int height();
35 26
36 virtual void reshape(int width, int height); 27 virtual void reshape(int width, int height);
37 28
38 virtual bool isGLES2Compliant(); 29 virtual bool isGLES2Compliant();
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 virtual void getQueryObjectuivEXT( 575 virtual void getQueryObjectuivEXT(
585 WebKit::WebGLId query, 576 WebKit::WebGLId query,
586 WebKit::WGC3Denum pname, 577 WebKit::WGC3Denum pname,
587 WebKit::WGC3Duint* params); 578 WebKit::WGC3Duint* params);
588 579
589 virtual void setContextLostCallback( 580 virtual void setContextLostCallback(
590 WebGraphicsContextLostCallback* callback); 581 WebGraphicsContextLostCallback* callback);
591 582
592 virtual void loseContextCHROMIUM(WebKit::WGC3Denum current, 583 virtual void loseContextCHROMIUM(WebKit::WGC3Denum current,
593 WebKit::WGC3Denum other); 584 WebKit::WGC3Denum other);
594
595 // When set, MakeCurrent() will fail after this many times.
596 void set_times_make_current_succeeds(int times) {
597 times_make_current_succeeds_ = times;
598 }
599 void set_times_bind_texture_succeeds(int times) {
600 times_bind_texture_succeeds_ = times;
601 }
602 void set_times_end_query_succeeds(int times) {
603 times_end_query_succeeds_ = times;
604 }
605
606 size_t NumTextures() const { return textures_.size(); }
607 WebKit::WebGLId TextureAt(int i) const { return textures_[i]; }
608
609 size_t NumUsedTextures() const { return used_textures_.size(); }
610 bool UsedTexture(int texture) const {
611 return ContainsKey(used_textures_, texture);
612 }
613 void ResetUsedTextures() { used_textures_.clear(); }
614
615 void set_have_extension_io_surface(bool have) {
616 have_extension_io_surface_ = have;
617 }
618 void set_have_extension_egl_image(bool have) {
619 have_extension_egl_image_ = have;
620 }
621
622 static const WebKit::WebGLId kExternalTextureId;
623 virtual WebKit::WebGLId NextTextureId();
624
625 protected:
626 FakeWebGraphicsContext3D();
627 FakeWebGraphicsContext3D(
628 const WebKit::WebGraphicsContext3D::Attributes& attributes);
629
630 unsigned context_id_;
631 unsigned next_texture_id_;
632 Attributes attributes_;
633 bool have_extension_io_surface_;
634 bool have_extension_egl_image_;
635 int times_make_current_succeeds_;
636 int times_bind_texture_succeeds_;
637 int times_end_query_succeeds_;
638 bool context_lost_;
639 WebGraphicsContextLostCallback* context_lost_callback_;
640 std::vector<WebKit::WebGLId> textures_;
641 base::hash_set<WebKit::WebGLId> used_textures_;
642 int width_;
643 int height_;
644 }; 585 };
645 586
646 } // namespace cc 587 } // namespace cc
647 588
648 #endif // CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_ 589 #endif // CC_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_
OLDNEW
« no previous file with comments | « cc/delegating_renderer_unittest.cc ('k') | cc/fake_web_graphics_context_3d.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698