cc: Make picture pile base thread safe.
[chromium-blink-merge.git] / content / renderer / scoped_clipboard_writer_glue.cc
blob71471344fd5be6158acc6e62f16a9db0f1b0b028
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/renderer/scoped_clipboard_writer_glue.h"
6 #include "base/logging.h"
8 namespace content {
10 ScopedClipboardWriterGlue::ScopedClipboardWriterGlue(ClipboardClient* client)
11 : ui::ScopedClipboardWriter(ui::CLIPBOARD_TYPE_COPY_PASTE),
12 context_(client->CreateWriteContext()) {
13 DCHECK(context_);
16 ScopedClipboardWriterGlue::~ScopedClipboardWriterGlue() {
17 if (!objects_.empty() && context_) {
18 context_->Flush(objects_);
19 // TODO(dcheng): Temporary hack while the clipboard IPCs are cleaned up.
20 // This prevents the base class destructor from also trying to (probably
21 // unsuccessfully) flush things to the clipboard.
22 objects_.clear();
26 void ScopedClipboardWriterGlue::WriteBitmapFromPixels(const void* pixels,
27 const gfx::Size& size) {
28 if (context_) {
29 context_->WriteBitmapFromPixels(&objects_, pixels, size);
30 } else {
31 NOTREACHED();
35 } // namespace content