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

Side by Side Diff: webkit/plugins/npapi/plugin_string_stream.cc

Issue 19761007: Move NPAPI implementation out of webkit/plugins/npapi and into content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 7 years, 5 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
(Empty)
1 // Copyright (c) 2010 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.
4
5 #include "webkit/plugins/npapi/plugin_string_stream.h"
6
7 #include "url/gurl.h"
8
9 namespace webkit {
10 namespace npapi {
11
12 PluginStringStream::PluginStringStream(
13 PluginInstance* instance,
14 const GURL& url,
15 bool notify_needed,
16 void* notify_data)
17 : PluginStream(instance, url.spec().c_str(), notify_needed, notify_data) {
18 }
19
20 PluginStringStream::~PluginStringStream() {
21 }
22
23 void PluginStringStream::SendToPlugin(const std::string &data,
24 const std::string &mime_type) {
25 // Protect the stream against it being destroyed or the whole plugin instance
26 // being destroyed within the plugin stream callbacks.
27 scoped_refptr<PluginStringStream> protect(this);
28
29 int length = static_cast<int>(data.length());
30 if (Open(mime_type, std::string(), length, 0, false)) {
31 // TODO - check if it was not fully sent, and figure out a backup plan.
32 int written = Write(data.c_str(), length, 0);
33 NPReason reason = written == length ? NPRES_DONE : NPRES_NETWORK_ERR;
34 Close(reason);
35 }
36 }
37
38 } // namespace npapi
39 } // namespace webkit
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698