Roll src/third_party/WebKit e0eac24:489c548 (svn 193311:193320)
[chromium-blink-merge.git] / content / test / plugin / plugin_request_read_test.h
blobcbb0f904dce3e689ab068b6a545d24eb57d241e8
1 // Copyright 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 #ifndef CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_
6 #define CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_
8 #include <string>
9 #include <vector>
11 #include "base/compiler_specific.h"
12 #include "content/test/plugin/plugin_test.h"
14 namespace NPAPIClient {
16 // Tests whether the browser correctly handles single range requests from NPAPI
17 // plugins.
18 class PluginRequestReadTest : public PluginTest {
19 public:
20 PluginRequestReadTest(NPP id, NPNetscapeFuncs* host_functions);
21 ~PluginRequestReadTest() override;
24 // NPAPI Functions
26 NPError New(uint16 mode,
27 int16 argc,
28 const char* argn[],
29 const char* argv[],
30 NPSavedData* saved) override;
31 NPError SetWindow(NPWindow* window) override;
32 NPError NewStream(NPMIMEType type,
33 NPStream* stream,
34 NPBool seekable,
35 uint16* stream_type) override;
36 NPError DestroyStream(NPStream* stream, NPError reason) override;
37 int32 WriteReady(NPStream* stream) override;
38 int32 Write(NPStream* stream, int32 offset, int32 len, void* buffer) override;
40 private:
41 // Tracks ranges, which we requested, but for which we did not get response.
42 std::vector<NPByteRange> requested_ranges_;
43 std::string url_to_request_;
44 bool tests_started_;
45 bool read_requested_;
48 } // namespace NPAPIClient
50 #endif // CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_