summaryrefslogtreecommitdiffstats
path: root/chromium/content/renderer/renderer_clipboard_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/renderer_clipboard_client.cc')
-rw-r--r--chromium/content/renderer/renderer_clipboard_client.cc26
1 files changed, 10 insertions, 16 deletions
diff --git a/chromium/content/renderer/renderer_clipboard_client.cc b/chromium/content/renderer/renderer_clipboard_client.cc
index 9c47463bddd..e4f275c92eb 100644
--- a/chromium/content/renderer/renderer_clipboard_client.cc
+++ b/chromium/content/renderer/renderer_clipboard_client.cc
@@ -7,6 +7,7 @@
#include "content/renderer/renderer_clipboard_client.h"
#include "base/memory/shared_memory.h"
+#include "base/numerics/safe_math.h"
#include "base/strings/string16.h"
#include "content/common/clipboard_messages.h"
#include "content/public/renderer/content_renderer_client.h"
@@ -49,7 +50,13 @@ void RendererClipboardWriteContext::WriteBitmapFromPixels(
if (shared_buf_)
return;
- uint32 buf_size = 4 * size.width() * size.height();
+ base::CheckedNumeric<uint32> checked_buf_size = 4;
+ checked_buf_size *= size.width();
+ checked_buf_size *= size.height();
+ if (!checked_buf_size.IsValid())
+ return;
+
+ uint32 buf_size = checked_buf_size.ValueOrDie();
// Allocate a shared memory buffer to hold the bitmap bits.
shared_buf_.reset(ChildThread::current()->AllocateSharedMemory(buf_size));
@@ -107,9 +114,8 @@ uint64 RendererClipboardClient::GetSequenceNumber(ui::ClipboardType type) {
return sequence_number;
}
-bool RendererClipboardClient::IsFormatAvailable(
- const ui::Clipboard::FormatType& format,
- ui::ClipboardType type) {
+bool RendererClipboardClient::IsFormatAvailable(content::ClipboardFormat format,
+ ui::ClipboardType type) {
bool result;
RenderThreadImpl::current()->Send(
new ClipboardHostMsg_IsFormatAvailable(format, type, &result));
@@ -134,12 +140,6 @@ void RendererClipboardClient::ReadText(ui::ClipboardType type,
new ClipboardHostMsg_ReadText(type, result));
}
-void RendererClipboardClient::ReadAsciiText(ui::ClipboardType type,
- std::string* result) {
- RenderThreadImpl::current()->Send(
- new ClipboardHostMsg_ReadAsciiText(type, result));
-}
-
void RendererClipboardClient::ReadHTML(ui::ClipboardType type,
base::string16* markup,
GURL* url, uint32* fragment_start,
@@ -173,12 +173,6 @@ void RendererClipboardClient::ReadCustomData(ui::ClipboardType clipboard_type,
new ClipboardHostMsg_ReadCustomData(clipboard_type, type, data));
}
-void RendererClipboardClient::ReadData(const ui::Clipboard::FormatType& format,
- std::string* data) {
- RenderThreadImpl::current()->Send(
- new ClipboardHostMsg_ReadData(format, data));
-}
-
ClipboardClient::WriteContext* RendererClipboardClient::CreateWriteContext() {
return new RendererClipboardWriteContext;
}