Home | History | Annotate | Download | only in plugin
      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.
      4 
      5 #ifndef CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_
      6 #define CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_
      7 
      8 #include <string>
      9 #include <vector>
     10 
     11 #include "base/compiler_specific.h"
     12 #include "content/test/plugin/plugin_test.h"
     13 
     14 namespace NPAPIClient {
     15 
     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   virtual ~PluginRequestReadTest();
     22 
     23   //
     24   // NPAPI Functions
     25   //
     26   virtual NPError New(uint16 mode, int16 argc, const char* argn[],
     27                       const char* argv[], NPSavedData* saved) OVERRIDE;
     28   virtual NPError SetWindow(NPWindow* window) OVERRIDE;
     29   virtual NPError NewStream(NPMIMEType type, NPStream* stream,
     30                             NPBool seekable, uint16* stream_type) OVERRIDE;
     31   virtual NPError DestroyStream(NPStream *stream, NPError reason) OVERRIDE;
     32   virtual int32 WriteReady(NPStream* stream) OVERRIDE;
     33   virtual int32 Write(NPStream* stream, int32 offset, int32 len,
     34                       void* buffer) OVERRIDE;
     35 
     36  private:
     37   // Tracks ranges, which we requested, but for which we did not get response.
     38   std::vector<NPByteRange> requested_ranges_;
     39   std::string url_to_request_;
     40   bool tests_started_;
     41   bool read_requested_;
     42 };
     43 
     44 }  // namespace NPAPIClient
     45 
     46 #endif  // CONTENT_TEST_PLUGIN_PLUGIN_REQUEST_READ_TEST_H_
     47 
     48