Chromium 中chrome.system.memory扩展接口定义c++

一、chrome.system.memory

chrome.system.memory API。

权限

system.memory

类型

MemoryInfo

属性
  • availableCapacity

    number

    可用容量的量(以字节为单位)。

  • 容量

    number

    物理内存容量的总容量(以字节为单位)。

方法

getInfo()

<ph type="x-smartling-placeholder"></ph> 承诺

复制代码
chrome.system.memory.getInfo(
  callback?: function,
)

获取物理内存信息。

参数
  • callback

    函数(可选)

    callback 参数如下所示:

    复制代码
    (info: MemoryInfo) => void

chrome.system.memory | API | Chrome for Developers

二、chrome.system.memory API c++接口定义:

1、system_memory.idl

extensions\common\api\system_memory.idl

cpp 复制代码
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// The <code>chrome.system.memory</code> API.
namespace system.memory {

  dictionary MemoryInfo {
    // The total amount of physical memory capacity, in bytes.
    double capacity;
    // The amount of available capacity, in bytes.
    double availableCapacity;
  };

  callback MemoryInfoCallback = void (MemoryInfo info);

  interface Functions {
    // Get physical memory information.
    [supportsPromises] static void getInfo(MemoryInfoCallback callback);
  };
};

2、system_memory.idl 自动生成c++文件:

out\Debug\gen\extensions\common\api\system_memory.cc

out\Debug\gen\extensions\common\api\system_memory.h

3、chrome.system.memory API 接口定义c++:

extensions\browser\api\system_memory\system_memory_api.h

extensions\browser\api\system_memory\system_memory_api.cc

cpp 复制代码
namespace extensions {

class SystemMemoryGetInfoFunction : public ExtensionFunction {
 public:
  DECLARE_EXTENSION_FUNCTION("system.memory.getInfo", SYSTEM_MEMORY_GETINFO)

  SystemMemoryGetInfoFunction() = default;
  SystemMemoryGetInfoFunction(const SystemMemoryGetInfoFunction&) = delete;
  SystemMemoryGetInfoFunction& operator=(const SystemMemoryGetInfoFunction&) =
      delete;

 private:
  ~SystemMemoryGetInfoFunction() override = default;

  // ExtensionFunction:
  ResponseAction Run() override;

  void OnGetMemoryInfoCompleted(bool success);
};

}  // namespace extensions
相关推荐
铁皮饭盒2 小时前
TypeBox 比 Zod.js 校验 快10倍, 还兼容AI 工具调用, 他做对了什么?
前端·javascript·后端
Bigger10 小时前
Tauri (26)——托盘图标总对不上系统主题?一行 Template Image 搞定
前端·rust·app
kyriewen13 小时前
面试官问你:“AI 能写 80% 的代码了,公司为什么还需要你?”
前端·javascript·面试
甲维斯13 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
搬砖的码农16 小时前
(08)为什么我的 Agent 一跑后台服务就卡死
前端·agent·ai编程
飘尘16 小时前
前端转全栈(Java 后端)必须要知道的:开发中的锁机制与分布式并发控制
前端·后端·全栈
亲亲小宝宝鸭16 小时前
前端性能监控:web-vitals
前端·性能优化·监控
陆枫Larry16 小时前
可滚动页面背景填不满:`height: 100vh` vs `min-height: 100vh`
前端
Patrick_Wilson16 小时前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员