mirror of
https://github.com/GoogleChrome/chrome-extensions-samples.git
synced 2026-03-26 13:19:49 +07:00
* Remove docs folder. This was a redirect from a GitHub pages site that does not appear to be in use. * Rename api folder to api-samples. * Move examples to functional-samples folder. * Move cookbook sample to functional-samples. * Move tutorials to functional-samples folder. * Move mv2 and apps folders to _archive. * Rename tools folder to .repo. * Move reference folder to functional-samples. * Update README. Update README with new relative links for reorg. * Update README.md Co-authored-by: amysteamdev <37001393+AmySteam@users.noreply.github.com> --------- Co-authored-by: amysteamdev <37001393+AmySteam@users.noreply.github.com>
70 lines
2.8 KiB
JavaScript
70 lines
2.8 KiB
JavaScript
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// A generic onclick callback function.
|
|
function genericOnClick(info, tab) {
|
|
console.log("item " + info.menuItemId + " was clicked");
|
|
console.log("info: " + JSON.stringify(info));
|
|
console.log("tab: " + JSON.stringify(tab));
|
|
}
|
|
|
|
// Create one test item for each context type.
|
|
var contexts = ["page","selection","link","editable","image","video",
|
|
"audio"];
|
|
for (var i = 0; i < contexts.length; i++) {
|
|
var context = contexts[i];
|
|
var title = "Test '" + context + "' menu item";
|
|
var id = chrome.contextMenus.create({"title": title, "contexts":[context],
|
|
"onclick": genericOnClick});
|
|
console.log("'" + context + "' item:" + id);
|
|
}
|
|
|
|
|
|
// Create a parent item and two children.
|
|
var parent = chrome.contextMenus.create({"title": "Test parent item"});
|
|
var child1 = chrome.contextMenus.create(
|
|
{"title": "Child 1", "parentId": parent, "onclick": genericOnClick});
|
|
var child2 = chrome.contextMenus.create(
|
|
{"title": "Child 2", "parentId": parent, "onclick": genericOnClick});
|
|
console.log("parent:" + parent + " child1:" + child1 + " child2:" + child2);
|
|
|
|
|
|
// Create some radio items.
|
|
function radioOnClick(info, tab) {
|
|
console.log("radio item " + info.menuItemId +
|
|
" was clicked (previous checked state was " +
|
|
info.wasChecked + ")");
|
|
}
|
|
var radio1 = chrome.contextMenus.create({"title": "Radio 1", "type": "radio",
|
|
"onclick":radioOnClick});
|
|
var radio2 = chrome.contextMenus.create({"title": "Radio 2", "type": "radio",
|
|
"onclick":radioOnClick});
|
|
console.log("radio1:" + radio1 + " radio2:" + radio2);
|
|
|
|
|
|
// Create some checkbox items.
|
|
function checkboxOnClick(info, tab) {
|
|
console.log(JSON.stringify(info));
|
|
console.log("checkbox item " + info.menuItemId +
|
|
" was clicked, state is now: " + info.checked +
|
|
"(previous state was " + info.wasChecked + ")");
|
|
|
|
}
|
|
var checkbox1 = chrome.contextMenus.create(
|
|
{"title": "Checkbox1", "type": "checkbox", "onclick":checkboxOnClick});
|
|
var checkbox2 = chrome.contextMenus.create(
|
|
{"title": "Checkbox2", "type": "checkbox", "onclick":checkboxOnClick});
|
|
console.log("checkbox1:" + checkbox1 + " checkbox2:" + checkbox2);
|
|
|
|
|
|
// Intentionally create an invalid item, to show off error checking in the
|
|
// create callback.
|
|
console.log("About to try creating an invalid item - an error about " +
|
|
"item 999 should show up");
|
|
chrome.contextMenus.create({"title": "Oops", "parentId":999}, function() {
|
|
if (chrome.extension.lastError) {
|
|
console.log("Got expected error: " + chrome.extension.lastError.message);
|
|
}
|
|
});
|