// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "extensions/renderer/lazy_background_page_native_handler.h" #include "base/bind.h" #include "content/public/renderer/render_frame.h" #include "extensions/common/extension_messages.h" #include "extensions/renderer/extension_frame_helper.h" #include "extensions/renderer/script_context.h" namespace extensions { LazyBackgroundPageNativeHandler::LazyBackgroundPageNativeHandler( ScriptContext* context) : ObjectBackedNativeHandler(context) { RouteFunction( "IncrementKeepaliveCount", base::Bind(&LazyBackgroundPageNativeHandler::IncrementKeepaliveCount, base::Unretained(this))); RouteFunction( "DecrementKeepaliveCount", base::Bind(&LazyBackgroundPageNativeHandler::DecrementKeepaliveCount, base::Unretained(this))); } void LazyBackgroundPageNativeHandler::IncrementKeepaliveCount( const v8::FunctionCallbackInfo& args) { if (context() && ExtensionFrameHelper::IsContextForEventPage(context())) { content::RenderFrame* render_frame = context()->GetRenderFrame(); render_frame->Send(new ExtensionHostMsg_IncrementLazyKeepaliveCount( render_frame->GetRoutingID())); } } void LazyBackgroundPageNativeHandler::DecrementKeepaliveCount( const v8::FunctionCallbackInfo& args) { if (context() && ExtensionFrameHelper::IsContextForEventPage(context())) { content::RenderFrame* render_frame = context()->GetRenderFrame(); render_frame->Send(new ExtensionHostMsg_DecrementLazyKeepaliveCount( render_frame->GetRoutingID())); } } } // namespace extensions