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

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

Issue 220093002: cc: Prevent integer overflow with software TextureMailbox. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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
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/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 3599 matching lines...) Expand 10 before | Expand all | Expand 10 after
3610 current_surface_->device_scale_factor(), texture_id); 3610 current_surface_->device_scale_factor(), texture_id);
3611 } 3611 }
3612 } 3612 }
3613 if (new_texture.get()) 3613 if (new_texture.get())
3614 old_layer->SetExternalTexture(new_texture.get()); 3614 old_layer->SetExternalTexture(new_texture.get());
3615 else 3615 else
3616 old_layer->SetShowPaintedContent(); 3616 old_layer->SetShowPaintedContent();
3617 new_layer->SetExternalTexture(old_texture.get()); 3617 new_layer->SetExternalTexture(old_texture.get());
3618 } else if (old_mailbox.IsSharedMemory()) { 3618 } else if (old_mailbox.IsSharedMemory()) {
3619 base::SharedMemory* old_buffer = old_mailbox.shared_memory(); 3619 base::SharedMemory* old_buffer = old_mailbox.shared_memory();
3620 const size_t size = old_mailbox.shared_memory_size_in_bytes(); 3620 const size_t size = old_mailbox.SharedMemorySizeInBytes();
3621 3621
3622 scoped_ptr<base::SharedMemory> new_buffer(new base::SharedMemory); 3622 scoped_ptr<base::SharedMemory> new_buffer(new base::SharedMemory);
3623 new_buffer->CreateAndMapAnonymous(size); 3623 new_buffer->CreateAndMapAnonymous(size);
3624 3624
3625 if (old_buffer->memory() && new_buffer->memory()) { 3625 if (old_buffer->memory() && new_buffer->memory()) {
3626 memcpy(new_buffer->memory(), old_buffer->memory(), size); 3626 memcpy(new_buffer->memory(), old_buffer->memory(), size);
3627 base::SharedMemory* new_buffer_raw_ptr = new_buffer.get(); 3627 base::SharedMemory* new_buffer_raw_ptr = new_buffer.get();
3628 scoped_ptr<cc::SingleReleaseCallback> callback = 3628 scoped_ptr<cc::SingleReleaseCallback> callback =
3629 cc::SingleReleaseCallback::Create(base::Bind(MailboxReleaseCallback, 3629 cc::SingleReleaseCallback::Create(base::Bind(MailboxReleaseCallback,
3630 Passed(&new_buffer))); 3630 Passed(&new_buffer)));
(...skipping 17 matching lines...) Expand all
3648 RenderWidgetHost* widget) { 3648 RenderWidgetHost* widget) {
3649 return new RenderWidgetHostViewAura(widget); 3649 return new RenderWidgetHostViewAura(widget);
3650 } 3650 }
3651 3651
3652 // static 3652 // static
3653 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { 3653 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) {
3654 GetScreenInfoForWindow(results, NULL); 3654 GetScreenInfoForWindow(results, NULL);
3655 } 3655 }
3656 3656
3657 } // namespace content 3657 } // namespace content
OLDNEW
« cc/resources/texture_mailbox.cc ('K') | « cc/resources/texture_mailbox.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698