New file chooser interface that uses the new PP_ArrayOutput feature. This also changes PP_ArrayOutput to be pass-by-value.
This keeps backwards compat for the old interface. It fixes some bugs in the callback system that I found when working on the patch and adds some new machinery for doing array output in the proxy. It also re-enables the file chooser feature which was recently broken.
BUG=118857
Review URL: https://chromiumcodereview.appspot.com/9728001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129022 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ppapi/proxy/proxy_array_output.cc b/ppapi/proxy/proxy_array_output.cc
new file mode 100644
index 0000000..e550b1c
--- /dev/null
+++ b/ppapi/proxy/proxy_array_output.cc
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 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 "ppapi/proxy/proxy_array_output.h"
+
+#include "base/logging.h"
+
+namespace ppapi {
+namespace proxy {
+
+// static
+void* ArrayOutputAdapterBase::GetDataBufferThunk(void* user_data,
+ uint32_t element_count,
+ uint32_t element_size) {
+ return static_cast<ArrayOutputAdapterBase*>(user_data)->
+ GetDataBuffer(element_count, element_size);
+}
+
+} // namespace proxy
+} // namespace ppapi