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