Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Unified Diff: chrome/common/extensions/api/tabs.json

Issue 301733006: Zoom Extension API (chrome) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix javascript test function signature. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/api/tabs.json
diff --git a/chrome/common/extensions/api/tabs.json b/chrome/common/extensions/api/tabs.json
index 992535af637b7346338bea96cbb8b8ccad43ca33..931a293e34fcd81aa81efc01721191c206dd8c23 100644
--- a/chrome/common/extensions/api/tabs.json
+++ b/chrome/common/extensions/api/tabs.json
@@ -46,6 +46,47 @@
"description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
}
}
+ },
+ {
+ "id": "ZoomSettings",
+ "type": "object",
+ "description": "Defines how zoom changes in a tab are handled and at what scope.",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Defines how zoom changes are handled, i.e. which entity is responsible for the actual scaling of the page; defaults to <code>automatic</code>.",
+ "optional": true,
+ "enum": [
+ {
+ "name": "automatic",
+ "description": "Zoom changes are handled automatically by the browser."
+ },
+ {
+ "name": "manual",
+ "description": "Overrides the automatic handling of zoom changes. The <code>onZoomChange</code> event will still be dispatched, and it is the responsibility of the extension to listen for this event and manually scale the page. This mode does not support <code>per-origin</code> zooming, and will thus ignore the <code>scope</code> zoom setting and assume <code>per-tab</code>."
+ },
+ {
+ "name": "disabled",
+ "description": "Disables all zooming in the tab. The tab will revert to default (100%) zoom, and all attempted zoom changes will be ignored."
+ }
+ ]
+ },
+ "scope": {
+ "type": "string",
+ "description": "Defines whether zoom changes will persist for the page's origin, or only take effect in this tab; defaults to <code>per-origin</code> when in <code>automatic</code> mode, and <code>per-tab</code> otherwise.",
+ "optional": true,
+ "enum": [
+ {
+ "name": "per-origin",
+ "description": "Zoom changes will persist in the zoomed page's origin, i.e. all other tabs navigated to that same origin will be zoomed as well. Moreover, <code>per-origin</code> zoom changes are saved with the origin, meaning that when navigating to other pages in the same origin, they will all be zoomed to the same zoom factor. The <code>per-origin</code> scope is only available in the <code>automatic</code> mode."
+ },
+ {
+ "name": "per-tab",
+ "description": "Zoom changes only take effect in this tab, and zoom changes in other tabs will not affect the zooming of this tab. Also, <code>per-tab</code> zoom changes are reset on navigation; navigating a tab will always load pages with their <code>per-origin</code> zoom factors."
+ }
+ ]
+ }
+ }
}
],
"functions": [
@@ -671,6 +712,109 @@
"parameters": []
}
]
+ },
+ {
+ "name": "setZoom",
+ "type": "function",
+ "description": "Zooms a specified tab.",
+ "parameters": [
+ {
+ "type": "integer",
+ "name": "tabId",
+ "minimum": 0,
+ "optional": true,
+ "description": "The ID of the tab to zoom; defaults to the active tab of the current window."
+ },
+ {
+ "type": "number",
+ "name": "zoomFactor",
+ "description": "The new zoom factor."
+ },
+ {
+ "type": "function",
+ "name": "callback",
+ "optional": true,
+ "description": "Called after the zoom factor has been changed.",
+ "parameters": []
+ }
+ ]
+ },
+ {
+ "name": "getZoom",
+ "type": "function",
+ "description": "Gets the current zoom factor of a specified tab.",
+ "parameters": [
+ {
+ "type": "integer",
+ "name": "tabId",
+ "minimum": 0,
+ "optional": true,
+ "description": "The ID of the tab to get the current zoom factor from; defaults to the active tab of the current window."
+ },
+ {
+ "type": "function",
+ "name": "callback",
+ "description": "Called with the tab's current zoom factor after it has been fetched.",
+ "parameters": [
+ {
+ "type": "number",
+ "name": "zoomFactor",
+ "description": "The tab's current zoom factor."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "setZoomSettings",
+ "type": "function",
+ "description": "Sets the zoom settings for a specified tab, which define how zoom changes are handled. These settings are reset to defaults upon navigating the tab.",
+ "parameters": [
+ {
+ "type": "integer",
+ "name": "tabId",
+ "optional": true,
+ "minimum": 0,
+ "description": "The ID of the tab to change the zoom settings for; defaults to the active tab of the current window."
+ },
+ {
+ "$ref": "ZoomSettings",
+ "name": "zoomSettings",
+ "description": "Defines how zoom changes are handled and at what scope."
+ },
+ {
+ "type": "function",
+ "name": "callback",
+ "description": "Called after the zoom settings have been changed.",
+ "parameters": []
+ }
+ ]
+ },
+ {
+ "name": "getZoomSettings",
+ "type": "function",
+ "description": "Gets the current zoom settings of a specified tab.",
+ "parameters": [
+ {
+ "type": "integer",
+ "name": "tabId",
+ "optional": true,
+ "minimum": 0,
+ "description": "The ID of the tab to get the current zoom settings from; defaults to the active tab of the current window."
+ },
+ {
+ "type": "function",
+ "name": "callback",
+ "description": "Called with the tab's current zoom settings.",
+ "parameters": [
+ {
+ "$ref": "ZoomSettings",
+ "name": "zoomSettings",
+ "description": "The tab's current zoom settings."
+ }
+ ]
+ }
+ ]
}
],
"events": [
@@ -921,6 +1065,21 @@
{"type": "integer", "name": "addedTabId", "minimum": 0},
{"type": "integer", "name": "removedTabId", "minimum": 0}
]
+ },
+ {
+ "name": "onZoomChange",
+ "type": "function",
+ "description": "Fired when a tab is zoomed.",
+ "parameters": [{
+ "type": "object",
+ "name": "ZoomChangeInfo",
+ "properties": {
+ "tabId": {"type": "integer", "minimum": 0},
+ "oldZoomFactor": {"type": "number"},
+ "newZoomFactor": {"type": "number"},
+ "zoomSettings": {"$ref": "ZoomSettings"}
+ }
+ }]
}
]
}

Powered by Google App Engine
This is Rietveld 408576698