1// Copyright 2014 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 "PluginTest.h"
6#include <string.h>
7
8extern NPNetscapeFuncs *browser;
9
10class FormValue : public PluginTest {
11public:
12    FormValue(NPP npp, const std::string& identifier)
13        : PluginTest(npp, identifier)
14    {
15    }
16    virtual NPError NPP_GetValue(NPPVariable, void*) OVERRIDE;
17};
18
19NPError FormValue::NPP_GetValue(NPPVariable variable, void *value)
20{
21    if (variable == NPPVformValue) {
22        static const char formValueText[] = "Plugin form value";
23        *((void**)value) = browser->memalloc(sizeof(formValueText));
24        if (!*((void**)value))
25            return NPERR_OUT_OF_MEMORY_ERROR;
26        strncpy(*((char**)value), formValueText, sizeof(formValueText));
27        return NPERR_NO_ERROR;
28    }
29    return NPERR_GENERIC_ERROR;
30}
31
32static PluginTest::Register<FormValue> formValue("form-value");
33