17dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 27dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 37dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// found in the LICENSE file. 47dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 5ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#ifndef CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_ 6ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#define CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_ 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 87dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include <string> 97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include <vector> 107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "base/compiler_specific.h" 12ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/test/plugin/plugin_test.h" 137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochnamespace NPAPIClient { 157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Tests whether the browser correctly handles single range requests from NPAPI 177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// plugins. 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochclass PluginRequestReadTest : public PluginTest { 197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch public: 207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PluginRequestReadTest(NPP id, NPNetscapeFuncs* host_functions); 217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual ~PluginRequestReadTest(); 227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch // 247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch // NPAPI Functions 257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch // 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual NPError New(uint16 mode, int16 argc, const char* argn[], 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const char* argv[], NPSavedData* saved) OVERRIDE; 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual NPError SetWindow(NPWindow* window) OVERRIDE; 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual NPError NewStream(NPMIMEType type, NPStream* stream, 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch NPBool seekable, uint16* stream_type) OVERRIDE; 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual NPError DestroyStream(NPStream *stream, NPError reason) OVERRIDE; 327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual int32 WriteReady(NPStream* stream) OVERRIDE; 337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual int32 Write(NPStream* stream, int32 offset, int32 len, 347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch void* buffer) OVERRIDE; 357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch private: 377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch // Tracks ranges, which we requested, but for which we did not get response. 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch std::vector<NPByteRange> requested_ranges_; 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch std::string url_to_request_; 407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch bool tests_started_; 417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch bool read_requested_; 427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}; 437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} // namespace NPAPIClient 457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 46ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#endif // CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_ 477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 48