1*6777b538SAndroid Build Coastguard Worker // Copyright 2014 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef COMPONENTS_NACL_RENDERER_NACL_HELPER_H_ 6*6777b538SAndroid Build Coastguard Worker #define COMPONENTS_NACL_RENDERER_NACL_HELPER_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include "base/compiler_specific.h" 9*6777b538SAndroid Build Coastguard Worker #include "content/public/renderer/render_frame_observer.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace nacl { 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker // This class listens for Pepper creation events from the RenderFrame. For the 14*6777b538SAndroid Build Coastguard Worker // NaCl trusted plugin, it configures it as an external plugin host. 15*6777b538SAndroid Build Coastguard Worker // TODO(dmichael): When the trusted plugin goes away, we need to figure out the 16*6777b538SAndroid Build Coastguard Worker // right event to watch for. 17*6777b538SAndroid Build Coastguard Worker class NaClHelper : public content::RenderFrameObserver { 18*6777b538SAndroid Build Coastguard Worker public: 19*6777b538SAndroid Build Coastguard Worker explicit NaClHelper(content::RenderFrame* render_frame); 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker NaClHelper(const NaClHelper&) = delete; 22*6777b538SAndroid Build Coastguard Worker NaClHelper& operator=(const NaClHelper&) = delete; 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Worker ~NaClHelper() override; 25*6777b538SAndroid Build Coastguard Worker 26*6777b538SAndroid Build Coastguard Worker // RenderFrameObserver. 27*6777b538SAndroid Build Coastguard Worker void DidCreatePepperPlugin(content::RendererPpapiHost* host) override; 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker private: 30*6777b538SAndroid Build Coastguard Worker // RenderFrameObserver implementation. 31*6777b538SAndroid Build Coastguard Worker void OnDestruct() override; 32*6777b538SAndroid Build Coastguard Worker }; 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Worker } // namespace nacl 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker #endif // COMPONENTS_NACL_RENDERER_NACL_HELPER_H_ 37