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

Side by Side Diff: content/browser/renderer_host/image_transport_factory.cc

Issue 12612005: Revert 186627 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 9 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
Property Changes:
Deleted: svn:mergeinfo
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "content/browser/renderer_host/image_transport_factory.h" 5 #include "content/browser/renderer_host/image_transport_factory.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 public: 155 public:
156 ImageTransportClientTexture( 156 ImageTransportClientTexture(
157 WebKit::WebGraphicsContext3D* host_context, 157 WebKit::WebGraphicsContext3D* host_context,
158 float device_scale_factor) 158 float device_scale_factor)
159 : OwnedTexture(host_context, 159 : OwnedTexture(host_context,
160 gfx::Size(0, 0), 160 gfx::Size(0, 0),
161 device_scale_factor, 161 device_scale_factor,
162 host_context->createTexture()) { 162 host_context->createTexture()) {
163 } 163 }
164 164
165 virtual void Consume(const gpu::Mailbox& mailbox_name, 165 virtual void Consume(const std::string& mailbox_name,
166 const gfx::Size& new_size) OVERRIDE { 166 const gfx::Size& new_size) OVERRIDE {
167 DCHECK(mailbox_name.size() == GL_MAILBOX_SIZE_CHROMIUM);
168 mailbox_name_ = mailbox_name;
169 if (mailbox_name.empty())
170 return;
171
167 DCHECK(host_context_ && texture_id_); 172 DCHECK(host_context_ && texture_id_);
168 mailbox_name_ = mailbox_name;
169 host_context_->bindTexture(GL_TEXTURE_2D, texture_id_); 173 host_context_->bindTexture(GL_TEXTURE_2D, texture_id_);
170 host_context_->consumeTextureCHROMIUM(GL_TEXTURE_2D, mailbox_name.name); 174 host_context_->consumeTextureCHROMIUM(
175 GL_TEXTURE_2D,
176 reinterpret_cast<const signed char*>(mailbox_name.c_str()));
171 size_ = new_size; 177 size_ = new_size;
172 host_context_->shallowFlushCHROMIUM(); 178 host_context_->shallowFlushCHROMIUM();
173 } 179 }
174 180
175 virtual gpu::Mailbox Produce() OVERRIDE { 181 virtual std::string Produce() OVERRIDE {
176 DCHECK(!mailbox_name_.IsZero()); 182 std::string name;
177 DCHECK(host_context_ && texture_id_); 183 if (!mailbox_name_.empty()) {
178 host_context_->bindTexture(GL_TEXTURE_2D, texture_id_); 184 DCHECK(host_context_ && texture_id_);
179 host_context_->produceTextureCHROMIUM(GL_TEXTURE_2D, mailbox_name_.name); 185 host_context_->bindTexture(GL_TEXTURE_2D, texture_id_);
180 gpu::Mailbox name; 186 host_context_->produceTextureCHROMIUM(
181 std::swap(mailbox_name_, name); 187 GL_TEXTURE_2D,
188 reinterpret_cast<const signed char*>(mailbox_name_.c_str()));
189 mailbox_name_.swap(name);
190 }
182 return name; 191 return name;
183 } 192 }
184 193
185 protected: 194 protected:
186 virtual ~ImageTransportClientTexture() {} 195 virtual ~ImageTransportClientTexture() {}
187 196
188 private: 197 private:
189 gpu::Mailbox mailbox_name_; 198 std::string mailbox_name_;
190 DISALLOW_COPY_AND_ASSIGN(ImageTransportClientTexture); 199 DISALLOW_COPY_AND_ASSIGN(ImageTransportClientTexture);
191 }; 200 };
192 201
193 class GpuProcessTransportFactory; 202 class GpuProcessTransportFactory;
194 203
195 class CompositorSwapClient 204 class CompositorSwapClient
196 : public base::SupportsWeakPtr<CompositorSwapClient>, 205 : public base::SupportsWeakPtr<CompositorSwapClient>,
197 public WebGraphicsContext3DSwapBuffersClient { 206 public WebGraphicsContext3DSwapBuffersClient {
198 public: 207 public:
199 CompositorSwapClient(ui::Compositor* compositor, 208 CompositorSwapClient(ui::Compositor* compositor,
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 delete g_factory; 690 delete g_factory;
682 g_factory = NULL; 691 g_factory = NULL;
683 } 692 }
684 693
685 // static 694 // static
686 ImageTransportFactory* ImageTransportFactory::GetInstance() { 695 ImageTransportFactory* ImageTransportFactory::GetInstance() {
687 return g_factory; 696 return g_factory;
688 } 697 }
689 698
690 } // namespace content 699 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_process_host_ui_shim.cc ('k') | content/browser/renderer_host/render_widget_host_view_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698