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#ifndef CONTENT_PUBLIC_RENDERER_BROWSER_PLUGIN_DELEGATE_H_
6#define CONTENT_PUBLIC_RENDERER_BROWSER_PLUGIN_DELEGATE_H_
7
8#include <string>
9
10#include "content/common/content_export.h"
11
12namespace content {
13
14class RenderFrame;
15
16// A delegate for BrowserPlugin which gets notified about the plugin load.
17// Implementations can provide additional steps necessary to change the load
18// behavior of the plugin.
19class CONTENT_EXPORT BrowserPluginDelegate {
20 public:
21  BrowserPluginDelegate(RenderFrame* render_frame,
22                        const std::string& mime_type) {}
23  virtual ~BrowserPluginDelegate() {}
24
25  // Called when plugin document has finished loading.
26  virtual void DidFinishLoading() {}
27
28  // Called when plugin document receives data.
29  virtual void DidReceiveData(const char* data, int data_length) {}
30
31  // Sets the instance ID that idenfies the plugin within current render
32  // process.
33  virtual void SetElementInstanceID(int element_instance_id) {}
34};
35
36}  // namespace content
37
38#endif  // CONTENT_PUBLIC_RENDERER_BROWSER_PLUGIN_DELEGATE_H_
39