1// Copyright 2013 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#include "extensions/browser/api/system_memory/system_memory_api.h" 6 7#include "extensions/browser/api/system_memory/memory_info_provider.h" 8 9namespace extensions { 10 11using core_api::system_memory::MemoryInfo; 12 13SystemMemoryGetInfoFunction::SystemMemoryGetInfoFunction() { 14} 15 16SystemMemoryGetInfoFunction::~SystemMemoryGetInfoFunction() { 17} 18 19bool SystemMemoryGetInfoFunction::RunAsync() { 20 MemoryInfoProvider::Get()->StartQueryInfo( 21 base::Bind(&SystemMemoryGetInfoFunction::OnGetMemoryInfoCompleted, this)); 22 return true; 23} 24 25void SystemMemoryGetInfoFunction::OnGetMemoryInfoCompleted(bool success) { 26 if (success) 27 SetResult(MemoryInfoProvider::Get()->memory_info().ToValue().release()); 28 else 29 SetError("Error occurred when querying memory information."); 30 SendResponse(success); 31} 32 33} // namespace extensions 34