MV3 04_Introducing Manifest V3

news/2024/10/30 9:34:19/

Introducing Mainfest V3

Welcome to Manifest V3

向安全、隐私和性能方向上迈进了一步

发布于2020年11月9日

这个页面介绍了Chrome拓展的Manifest V3版本特性。不仅介绍了引入MV3的背景和原因,还有我们对平台未来的愿景,以及如何优化您的扩展以使用MV3的指导。

自十年前发布的拓展插件以来,MV3代表了扩展平台最大的转变之一。扩展插件使用MV3将享受到来自安全、隐私和性能方面的增强;开发者还可以在v3中采用更现代化的Open Web技术,如service worker和promise。开发者可以利用这些MV3特性更新他们的扩展插件;随着未来逐步淘汰MV2,使用MV3这将会是强制性的。

Manifest V3是我们处理终端用户安全和隐私背后的理念转变的一部分。本节中的页面提供了MV3的概述,其背后的原因,以及如何使用它。

  • Platform vision 解释了MV3的变化如何适应平台发展的大局。
  • Overview of Manifest V3 概述了MV3所引入的技术变化。
  • Migration guide 告诉你如何开始更新MV2的扩展,以便扩展可以在MV3中工作。

我们对v3为扩展平台带来的改进感到兴奋。在Chromium Blog和Chromium扩展论坛上可以看到更多的公告。

最后更新:2020年11月9日,星期一


Extensions platform vision

2020年11月9日周一发布

Chrome扩展插件是Chrome浏览器最受欢迎和最使用的功能之一。扩展可以为不同用户群体解决无数种使用场景,并且以这样或那样的形式,扩展插件正常成为大多数主流浏览器的最主要的功能。

这里有一个繁荣的扩展开发者社区,有数十万个已发布的扩展插件;有一个强大的用户群,每天有数百万个扩展被下载。我们将继续改善和扩展这个充满活力的生态系统。

此页面描述了Chrome扩展平台的长期愿景。这将有助于开发人员了解并拥抱扩展平台的未来方向。

历史背景

自从有了web浏览器,就有了或这或那形式的浏览器扩展。扩展程序提供了一个很好的方式来增强用户权限:通过增加特定的功能,使浏览器更好地满足特定用户的需求。

Chrome浏览器的扩展平台是基于 "webby "模式,以最小化减少开发者参与开发的障碍。通过构建网络技术和网络安全模型,Chrome扩展插件的核心也被认为比以前的版本更安全。

后来,Chrome扩展程序引入了权限模型,让用户更精细地控制他们所安装的任何扩展程序可以访问哪些信息和资源。扩展平台还在独立的进程中对扩展进行了沙盒处理,提供了额外的安全性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-myx16iLl-1635060321432)(https://wd.imgix.net/image/SHhb2PDKzXTggPGAYpv8JgR81pX2/1604880385879.svg)]

开发人员利用我们的平台建立了一系列精彩的扩展,为Chrome用户提供了各种增强浏览器体验的功能。但是,扩展平台的强大功能有时会被利用来窃取用户数据和元数据。我们认为在扩展程序的隐私和安全方面有改进的余地;我们也打算在提高扩展程序能力和保持网络性的同时,关注性能。

我们的目标

Chrome扩展平台将继续发展。我们正在引导的具体路线侧重于改进安全、性能和隐私——同时保留或扩展扩展功能,并保持网络式的开发者体验。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Frc6Y8l6-1635060321435)(https://wd.imgix.net/image/SHhb2PDKzXTggPGAYpv8JgR81pX2/1604881144327.svg)]

隐私 —— 为扩展提供良好的工作方式,而不需要持续地访问用户数据。通过告知用户扩展正在做什么,让他们在运行时和上下文中授予权限,改善用户对权限的控制。

安全性——对扩展访问扩展上下文以外的资源要有更严格的协议和要求。

性能——确保扩展程序在所有设备上运行良好:性能问题不会影响浏览器的体验,即使安装了许多扩展程序,Chrome也能流畅地运行。

网络——拥抱网络平台的做事方式,帮助降低开发者参与的障碍,并随着网络平台的不断发展而受益。

能力——总的来说,保持平台的能力、强大的功能和丰富的特性,这样扩展程序就可以继续改进,为用户提供更大的价值。

开发人员和用户体验

扩展平台的持续发展将导致开发人员和最终用户体验的匹配发展。下面的部分描述了我们将要追求的一些特定的功能途径。

改进的用户可视性和控制能力

扩展平台将提供更大的用户可见性和控制,以便用户可以更容易地管理扩展如何访问他们的数据和其他资源。该平台已经开始通过以下方式来解决这个问题。

  • 让用户修改授予扩展程序的主机权限
  • 扩展程序菜单显示哪些扩展插件可以或想要访问当前页面
  • 我们将继续改善这种用户体验。寻找一个越来越强调临时的、上下文风格的权限授予,限制对用户数据的被动访问。activeTab的引入是朝这个方向迈出的第一步。

同样重要的是,用户要对他们的数据如何被处理做出明智的决定。我们将引入新的方法来帮助用户了解每个扩展访问哪些数据,以及它如何使用这些数据,这样用户就可以控制他们的数据。

用户数据访问的新方法

许多扩展依赖于对用户数据的持久性访问:用户在安装时给予访问权限,然后扩展可以在任何时候访问这些数据。我们正在摒弃这种持久性访问的模式。相反,我们希望让用户临时授予权限,而且只在需要的情况下授予。

除此之外,我们还将提供新的API功能,帮助扩展程序执行工作,而不需要数据访问。Chrome的declarativeNetRequest就是这种方法的一个例子。

更好地与网络平台对齐

Chrome浏览器的扩展功能继续建立和扩展网络技术。这有助于最大限度地减少开发人员参与的障碍。除了特定的扩展技术外,还将进一步采用开放网络的能力。

当开放网络提供了一种实现结果的方法时,扩展平台将优先采用这种方法,而不是特定的扩展方法。

除了服务开发者和承诺之外,希望扩展平台继续采用现代的网络技术和方法,因为它们已经出现了。我们的目的是与开放网络相融合,而不是与之相背离。

扩展功能

当然,我们将继续改进扩展平台,甚至超出本愿景中所表达的特定目标。扩展平台将不断发展,以解决新的用例,添加功能,并接受新的web特性。

支持这些目标的新政策

扩展平台和Chrome网络商店将引入新的政策,以支持本愿景中描述的目标。这些政策将鼓励开发者和终端用户之间就扩展程序使用的权限进行更清晰的沟通。寻找新的政策,要求披露信息,限制访问用户数据的背景,并更好地执行扩展程序的单一目的政策。

Manifest V3

本文提出的愿景代表了一个战略方向,就像罗盘的方向或北极星。Manifest V3及其相关特性是朝着这个战略方向迈出的重要一步。要了解Manifest V3本身及其特性,请参见Manifest V3概述。

Manifest V3相关变更

有一些功能实际上不是MV3的一部分,但计划在同一时间框架内发布。这些功能与MV3有关,因为它们提出了MV3所要解决的新要求。

在这个类别中推出的关键功能是改变授予主机权限的方式。同样,这不是MV3的功能,但它确实刺激了MV3的变化。预计这些变化将在2021年初出现。

这一领域的初步已经启动。

  • 能够修改扩展程序的主机访问权限(参见默认情况下值得信赖的Chrome扩展程序)。

  • 将扩展程序从右键菜单中移出,转为扩展程序菜单上的一个按钮(参见扩展程序的新家)。

未来的相关变化

展望未来,我们将改变主机权限,默认情况下是可选的,需要用户明确同意才能授予网站访问权。我们还将为用户提供新的方法,将权限授予推迟到运行时间,以便用户了解所请求的权限的背景。这些变化的目的是为用户提供更大的权限可见性。

最后更新。2020年11月9日,星期一 改进文章
情况下是可选的,需要用户明确同意才能授予网站访问权。我们还将为用户提供新的方法,将权限授予推迟到运行时间,以便用户了解所请求的权限的背景。这些变化的目的是为用户提供更大的权限可见性。

最后更新。2020年11月9日,星期一 改进文章


http://www.ppmy.cn/news/464034.html

相关文章

MySQL数据表:对数据的基础操作(增、删、查、改)以及运算符的讲解

目录 前言 一.增加数据 二.查询数据 2.1查询数据表中所有信息 2.2查询表中指定的列信息 2.3查询通过计算的列 2.4使用别名代替列名 2.5查询不带有重复值的列 2.6将查询的结果进行排序 2.7条件查询 2.7.1条件查询的种类 2.7.2使用运算符查询的讲解 2.8分页查询 …

Android MVC、MVP、MVVM、MVI架构对比及示例

随着Android应用开发技术的不断成熟,应用功能越来越丰富,迭代速度要求的越来越高,应用的开发架构也在不断演进、优化,从MVC、MVP到MVVM,到如今的MVI。谷歌官方也在不断推广、优化适合Android平台的开发架构&#xff0c…

程序编译出错记录及解决方案

2016.07.07 在做一起做RGB-D SLAM (&#xff16;)编译g2o的地方报错&#xff1a; CMakeFiles/slamEnd.dir/slamEnd.cpp.o: In function g2o::LinearSolverCSparse<Eigen::Matrix<double, 6, 6, 0, 6, 6> >::solve(g2o::SparseBlockMatrix<Eigen::Matrix<do…

python环境管理

介绍工作中常用的两种python包管理工具&#xff0c;conda和mamba。 conda 什么是conda&#xff1f; Conda is an open-source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs, and upd…

P31[10-1]软件模拟IIC通信协议(使用stm32库函数)(内含:实物连接+IIC时序解释+硬件电路+IIC基本时序单元(起始 终止 发送接收 ))

IIC通讯分为硬件读写IIC和软件IIC,以下为软件读写IIC 实物连接如下: 解释: 软件IIC通讯,对MPU6050芯片内部的寄存器进行读写操作,。写入配置寄存器,即可对外挂模块进行配置。。读出数据寄存器,即可获取外挂模块的数据。。。 OLED第一行为设备ID号(固定,有些可能不同)…

NSS刷web(1)

一点点做,简单的也不跳了,就当回忆知识了 [SWPUCTF 2021 新生赛]gift_F12 ctrlu [SWPUCTF 2021 新生赛]jicao [SWPUCTF 2021 新生赛]easy_md5 [SWPUCTF 2021 新生赛]easy_sql [SWPUCTF 2021 新生赛]include [SWPUCTF 2021 新生赛]easyrce [SWPUCTF 2021 新生赛]caidao [SWP…

在 Debian 12 上安装 KubeSphere 实战入门

老 Z&#xff0c;运维架构师&#xff0c;云原生爱好者&#xff0c;目前专注于云原生运维&#xff0c;云原生领域技术栈涉及 Kubernetes、KubeSphere、DevOps、OpenStack、Ansible 等。 前言 知识点 定级&#xff1a;入门级KubeKey 安装部署 KubeSphere 和 KubernetesDebian 操…

【C/C++】switch-case 使用全面总结

【C/C】switch-case 使用全面总结 文章目录 【C/C】switch-case 使用全面总结I - 基础概述1.1 - 基础结构1.2 - 使用举例1.3 - 注意事项1.3.1 - switch 语句中的表达式必须是整型1.3.2 - 满足条件的 case 标签后的语句都会执行&#xff0c;直到 break 语句1.3.3 - default 标签…