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_SHELL_RENDERER_GC_CONTROLLER_H_ 6 #define CONTENT_SHELL_RENDERER_GC_CONTROLLER_H_ 7 8 #include "base/basictypes.h" 9 #include "gin/wrappable.h" 10 11 namespace blink { 12 class WebFrame; 13 } 14 15 namespace gin { 16 class Arguments; 17 } 18 19 namespace content { 20 21 class GCController : public gin::Wrappable<GCController> { 22 public: 23 static gin::WrapperInfo kWrapperInfo; 24 static void Install(blink::WebFrame* frame); 25 26 private: 27 GCController(); 28 virtual ~GCController(); 29 30 // gin::Wrappable. 31 virtual gin::ObjectTemplateBuilder GetObjectTemplateBuilder( 32 v8::Isolate* isolate) OVERRIDE; 33 34 void Collect(const gin::Arguments& args); 35 void CollectAll(const gin::Arguments& args); 36 void MinorCollect(const gin::Arguments& args); 37 38 DISALLOW_COPY_AND_ASSIGN(GCController); 39 }; 40 41 } // namespace content 42 43 #endif // CONTENT_SHELL_RENDERER_GC_CONTROLLER_H_ 44