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