// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/renderer/scoped_clipboard_writer_glue.h" #include "base/logging.h" namespace content { ScopedClipboardWriterGlue::ScopedClipboardWriterGlue(ClipboardClient* client) : ui::ScopedClipboardWriter(ui::CLIPBOARD_TYPE_COPY_PASTE), context_(client->CreateWriteContext()) { DCHECK(context_); } ScopedClipboardWriterGlue::~ScopedClipboardWriterGlue() { if (!objects_.empty() && context_) { context_->Flush(objects_); // TODO(dcheng): Temporary hack while the clipboard IPCs are cleaned up. // This prevents the base class destructor from also trying to (probably // unsuccessfully) flush things to the clipboard. objects_.clear(); } } void ScopedClipboardWriterGlue::WriteBitmapFromPixels(const void* pixels, const gfx::Size& size) { if (context_) { context_->WriteBitmapFromPixels(&objects_, pixels, size); } else { NOTREACHED(); } } } // namespace content