xref: /aosp_15_r20/external/cronet/components/nacl/renderer/nacl_helper.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2014 The Chromium Authors
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 COMPONENTS_NACL_RENDERER_NACL_HELPER_H_
6 #define COMPONENTS_NACL_RENDERER_NACL_HELPER_H_
7 
8 #include "base/compiler_specific.h"
9 #include "content/public/renderer/render_frame_observer.h"
10 
11 namespace nacl {
12 
13 // This class listens for Pepper creation events from the RenderFrame. For the
14 // NaCl trusted plugin, it configures it as an external plugin host.
15 // TODO(dmichael): When the trusted plugin goes away, we need to figure out the
16 //                 right event to watch for.
17 class NaClHelper : public content::RenderFrameObserver {
18  public:
19   explicit NaClHelper(content::RenderFrame* render_frame);
20 
21   NaClHelper(const NaClHelper&) = delete;
22   NaClHelper& operator=(const NaClHelper&) = delete;
23 
24   ~NaClHelper() override;
25 
26   // RenderFrameObserver.
27   void DidCreatePepperPlugin(content::RendererPpapiHost* host) override;
28 
29  private:
30   // RenderFrameObserver implementation.
31   void OnDestruct() override;
32 };
33 
34 }  // namespace nacl
35 
36 #endif  // COMPONENTS_NACL_RENDERER_NACL_HELPER_H_
37