主题

主题是一种特殊的扩展,可以用来改变整个浏览器的外观。主题和标准扩展的打包方式类似,但是主题中不能包含JavaScript或者HTML代码。

您可以更换主题在主题画廊

Manifest

下面是manifest.json的示例代码,用来生成一个特定的主题。

{
  "version": "2.6",
  "name": "camo theme",
  "theme": {
    "images" : {
      "theme_frame" : "images/theme_frame_camo.png",
      "theme_frame_overlay" : "images/theme_frame_stripe.png",
      "theme_toolbar" : "images/theme_toolbar_camo.png",
      "theme_ntp_background" : "images/theme_ntp_background_norepeat.png",
      "theme_ntp_attribution" : "images/attribution.png"
    },
    "colors" : {
      "frame" : [71, 105, 91],
      "toolbar" : [207, 221, 192],
      "ntp_text" : [20, 40, 0],
      "ntp_link" : [36, 70, 0],
      "ntp_section" : [207, 221, 192],
      "button_background" : [255, 255, 255]
    },
    "tints" : {
      "buttons" : [0.33, 0.5, 0.47]
    },
    "properties" : {
      "ntp_background_alignment" : "bottom"
    }
  }
}

颜色

颜色采用 RGB格式。 如果想了解更多颜色值,可以在 theme_service.cc 文件中查找 kColor*。

图片

图片资源使用扩展的根目录作为引用路径。你可以重写 theme_service.cc 文件中的 kThemeableImages 指定的任何图片资源。删除 "IDR_" 标识并将剩下的字符串修改为小写字母。例如,将 IDR_THEME_NTP_BACKGROUND(这个被 kThemeableImages 用来指定新标签的背景)修改为“theme_ntp_background”。

属性

该字段允许您指定主题的属性。例如背景对齐、背景重复和logo的轮换。更多的信息可以参考 theme_service.cc

色泽

您可以将色泽应用到按钮、框架UI、背景标签等用户界面。Google Chrome支持指定色泽,但是不支持图片。因为图片不能跨平台工作,并且当添加一些新的按钮时会变得很脆弱。如果想了解更多关于色泽字段可以使用的字符串常量,在 theme_service.cc 文件“tints”字段中查找 kTint*。

色泽采用 Hue-Saturation-Lightness (HSL)格式,浮点数范围为 0 - 1.0:

你可以使用 -1.0 表示 HSL 的值都不变。

附加文档

社区提供了一些文档用来帮助开发主题。地址如下:

http://code.google.com/p/chromium/wiki/ThemeCreationGuide