### Flutter Build Script Example Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Indicates the import for a build script example related to Flutter Chrome extensions. This script is responsible for building the Flutter app and compiling Dart scripts for the extension. ```dart import 'example/build_script.dart#example'; ``` -------------------------------- ### Handle Runtime Events and Messages Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Listens for the 'onInstalled' event from the chrome.runtime API to log installation reasons. It also listens for incoming messages and sends a response back. ```dart import 'dart:js_interop'; import 'package:chrome_extension/runtime.dart'; void main() async { chrome.runtime.onInstalled.listen((e) { print('OnInstalled: ${e.reason}'); }); chrome.runtime.onMessage.listen((e) { e.sendResponse.callAsFunction(null, {'the_response': 1}.jsify()); }); } ``` -------------------------------- ### Flutter Desktop Entry Point Abstraction Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Shows how to import a desktop entry point example for developing Flutter Chrome extensions. This is used to create an abstraction layer for the UI part when developing on desktop. ```dart import 'example/desktop_entry_point.dart#example'; ``` -------------------------------- ### Chrome Extension Processes API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to get information about running processes using the Chrome Processes API. This package is useful for monitoring and managing browser resources. ```Dart import 'package:chrome_extension/processes.dart'; // Example usage (conceptual): // chrome.processes.getProcessInfo(1, (info) => print(info)); ``` -------------------------------- ### Chrome Extension System CPU API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to get information about the system's CPU using the Chrome System CPU API. This package is useful for performance monitoring. ```Dart import 'package:chrome_extension/system_cpu.dart'; // Example usage (conceptual): // chrome.system.cpu.getInfo().then((cpuInfo) => print(cpuInfo.processors)); ``` -------------------------------- ### Chrome Extension System Network API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to get information about the system's network interfaces using the Chrome System Network API. This package is useful for network diagnostics. ```Dart import 'package:chrome_extension/system_network.dart'; // Example usage (conceptual): // chrome.system.network.getInfo().then((networkInfo) => print(networkInfo)); ``` -------------------------------- ### Chrome Extension System Memory API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to get information about the system's memory using the Chrome System Memory API. This package is useful for resource management. ```Dart import 'package:chrome_extension/system_memory.dart'; // Example usage (conceptual): // chrome.system.memory.getInfo().then((memoryInfo) => print(memoryInfo.availableCapacity)); ``` -------------------------------- ### Chrome Extension Management API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to the Chrome Management API, allowing extensions to manage installed extensions, apps, and their properties. This package enables control over the extension ecosystem. ```Dart import 'package:chrome_extension/management.dart'; // Example usage (conceptual): // chrome.management.getAll().then((extensions) => print(extensions.length)); ``` -------------------------------- ### Access Chrome Tabs API with Dart Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Demonstrates how to import and use the chrome.tabs API from the chrome_extension.dart library. This is a common starting point for managing browser tabs within a Chrome extension. ```dart import 'example/chrome_tabs.dart'; ``` -------------------------------- ### Create and Get Chrome Alarms Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Creates a named alarm with a specified delay using the chrome.alarms API and then retrieves the alarm information. It prints the name of the created alarm. ```dart import 'package:chrome_extension/alarms.dart'; void main() async { await chrome.alarms.create('MyAlarm', AlarmCreateInfo(delayInMinutes: 2)); var alarm = await chrome.alarms.get('MyAlarm'); print(alarm!.name); } ``` -------------------------------- ### Chrome Extension Login State API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to get and set the login state of the user using the Chrome Login State API. This package is relevant for managing user sessions. ```Dart import 'package:chrome_extension/login_state.dart'; // Example usage (conceptual): // chrome.loginState.getProfileInfo().then((info) => print(info.name)); ``` -------------------------------- ### Flutter Desktop Entry Point for Chrome Extension Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md This Dart code demonstrates the desktop entry point for a Flutter Chrome extension. It injects a fake service implementation for the BookmarkService, allowing UI development with hot-reload on desktop platforms. The fake service provides a mock list of bookmarks. ```Dart void main() { // Inject a fake service that doesn't use the real chrome_extension package. var service = FakeBookmarkService(); runApp(MyExtensionPopup(service)); } abstract class BookmarkService { Future> getBookmarks(); } class FakeBookmarkService implements BookmarkService { @override Future> getBookmarks() async => [Bookmark()]; } ``` -------------------------------- ### Flutter Real Extension Entry Point Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Illustrates the import for the real entry point of a Flutter Chrome extension. This is the entry point used in the actual compiled extension, distinct from the desktop development entry point. ```dart import 'example/real_entry_point.dart#example'; ``` -------------------------------- ### Flutter Chrome Extension Real Entry Point Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md This Dart code represents the real entry point for a Flutter Chrome extension, used in the compiled extension. It initializes a ChromeBookmarkService that interacts with the actual `chrome.bookmarks` API to fetch bookmark data. ```Dart void main() { var service = ChromeBookmarkService(); runApp(MyExtensionPopup(service)); } class ChromeBookmarkService implements BookmarkService { @override Future> getBookmarks() async { // Real implementation using chrome.bookmarks return (await chrome.bookmarks.getTree()).map(Bookmark.new).toList(); } } ``` -------------------------------- ### Chrome Extension Manifest Configuration (manifest.json) Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md A sample `manifest.json` file for a Chrome extension. It defines the manifest version, name, permissions, options page, background service worker, action popup, default icon, and content security policy. ```json { "manifest_version": 3, "name": "my_extension", "permissions": [ "activeTab" ], "options_page": "options.html", "background": { "service_worker": "background.dart.js" }, "action": { "default_popup": "index.html", "default_icon": { "16": "icons-16.png" } }, "content_security_policy": { "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';" } } ``` -------------------------------- ### Chrome Extension Downloads API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to initiate, manage, and track file downloads. ```dart import 'package:chrome_extension/downloads.dart'; // Example usage (conceptual): // Downloads.download({'url': 'https://example.com/file.zip', 'filename': 'download.zip'}); // Downloads.onCreated.listen((item) => print('Download created: ${item.id}')); ``` -------------------------------- ### Chrome Extension System Storage API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to information about the system's storage devices using the Chrome System Storage API. This package is useful for storage management and analysis. ```Dart import 'package:chrome_extension/system_storage.dart'; // Example usage (conceptual): // chrome.system.storage.getInfo().then((storageInfo) => print(storageInfo)); ``` -------------------------------- ### Chrome Extension System Display API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to information about the system's displays using the Chrome System Display API. This package is useful for managing multi-display environments. ```Dart import 'package:chrome_extension/system_display.dart'; // Example usage (conceptual): // chrome.system.display.getInfo().then((displayInfo) => print(displayInfo)); ``` -------------------------------- ### Launch Browser and Test Chrome Extension Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md This Dart code snippet demonstrates how to launch a Chrome browser instance with a specific extension loaded using puppeteer-dart. It includes steps to find the extension's background service worker and navigate to its popup page, providing a foundation for automated testing. ```dart import 'package:collection/collection.dart'; import 'package:puppeteer/puppeteer.dart'; void main() async { // Compile the extension var extensionPath = '...'; var browser = await puppeteer.launch( headless: false, args: [ '--disable-extensions-except=$extensionPath', '--load-extension=$extensionPath', // Allow to connect to puppeteer from inside your extension if needed for the testing '--remote-allow-origins=*', ], ); // Find the background page target var targetName = 'service_worker'; var backgroundPageTarget = browser.targets.firstWhereOrNull((t) => t.type == targetName); backgroundPageTarget ??= await browser.waitForTarget((target) => target.type == targetName); var worker = (await backgroundPageTarget.worker)!; var url = Uri.parse(worker.url!); assert(url.scheme == 'chrome-extension'); var extensionId = url.host; // Go to the popup page await (await browser.pages) .first .goto('chrome-extension://$extensionId/popup.html'); // Etc... } ``` -------------------------------- ### Chrome Extension Desktop Capture API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to capture the contents of the user's screen, specific windows, or tabs. ```dart import 'package:chrome_extension/desktop_capture.dart'; // Example usage (conceptual): // DesktopCapture.chooseDesktopMedia({'sources': ['screen', 'window']}); ``` -------------------------------- ### Chrome Extension File System Provider API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to register virtual file systems that can be accessed by the operating system. ```dart import 'package:chrome_extension/file_system_provider.dart'; // Example usage (conceptual): // FileSystemProvider.requestFileSystem({'fileSystemId': 'myProvider', 'displayName': 'My Files'}); ``` -------------------------------- ### Testing Chrome Extensions with puppeteer-dart Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Shows the import statement for testing Chrome extensions using the `puppeteer-dart` package. This is a common approach for automating browser interactions and testing extension functionality. ```dart import 'example/test.dart'; ``` -------------------------------- ### Access Chrome Power API with Dart Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Illustrates how to import the chrome.power API from the chrome_extension.dart library. This API allows extensions to request the system not to go into sleep mode. ```dart import 'example/chrome_power.dart'; ``` -------------------------------- ### Chrome Extension Bookmarks API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to create, organize, and manage bookmarks in Chrome. ```dart import 'package:chrome_extension/bookmarks.dart'; // Example usage (conceptual): // Bookmarks.create('New Folder', 'bookmarks/newFolder'); // Bookmarks.search('Dart').then((results) => print(results)); ``` -------------------------------- ### Chrome Extension Commands API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to define keyboard shortcuts for triggering extension actions. ```dart import 'package:chrome_extension/commands.dart'; // Example usage (conceptual): // Commands.getAll().then((commands) => print(commands)); // Commands.onCommand.listen((command) => print('Command executed: ${command.command}')); ``` -------------------------------- ### Chrome Extension Side Panel API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to create and manage side panels using the Chrome Side Panel API. This package enables rich UI experiences alongside web content. ```Dart import 'package:chrome_extension/side_panel.dart'; // Example usage (conceptual): // chrome.sidePanel.open({ // 'tabId': tab.id // }); ``` -------------------------------- ### Chrome Extension Enterprise Hardware Platform API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Retrieves hardware platform information for managed Chrome devices. ```dart import 'package:chrome_extension/enterprise_hardware_platform.dart'; // Example usage (conceptual): // HardwarePlatform.getPlatformInfo().then((info) => print('Platform: ${info.platform}')); ``` -------------------------------- ### Chrome Extension Offscreen API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to create and manage offscreen documents using the Chrome Offscreen API. This package is useful for running code that requires a DOM or specific environments. ```Dart import 'package:chrome_extension/offscreen.dart'; // Example usage (conceptual): // chrome.offscreen.createDocument({ // 'url': 'offscreen.html', // 'reasons': ['DOM_SCRAPING'], // 'justification': 'Need DOM for scraping' // }); ``` -------------------------------- ### Build Flutter Web for Chrome Extension Source: https://github.com/xvrh/chrome_extension.dart/blob/main/extension_examples/flutter2/README.md Builds the Flutter web application for deployment as a Chrome extension. It uses the HTML renderer and enables Content Security Policy (CSP) for security. ```sh flutter build web --web-renderer html --csp ``` -------------------------------- ### Access Chrome Storage API with Dart Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Demonstrates importing the chrome.storage API from the chrome_extension.dart library. This API is used for storing and retrieving data within a Chrome extension. ```dart import 'example/chrome_storage.dart'; ``` -------------------------------- ### Chrome Extension Input IME API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to interact with the Input Method Editor (IME) using the Chrome Input IME API. This package enables custom input handling. ```Dart import 'package:chrome_extension/input_ime.dart'; // Example usage (conceptual): // chrome.input.ime.commitText({'text': 'Hello'}); ``` -------------------------------- ### Chrome Extension DevTools Panels API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to create custom panels within Chrome DevTools. ```dart import 'package:chrome_extension/devtools_panels.dart'; // Example usage (conceptual): // DevToolsPanels.create('My Panel', 'icons/panel_icon.png', 'panel.html'); ``` -------------------------------- ### Chrome Extension Storage API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to store and retrieve data using the Chrome Storage API. This package supports local and synchronized storage options. ```Dart import 'package:chrome_extension/storage.dart'; // Example usage (conceptual): // chrome.storage.local.set({'key': 'value'}); // chrome.storage.sync.get(['key']).then((result) => print(result['key'])); ``` -------------------------------- ### Chrome Extension File Browser Handler API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to provide custom file system interfaces for Chrome's file browser. ```dart import 'package:chrome_extension/file_browser_handler.dart'; // Example usage (conceptual): // FileBrowserHandler.selectFile({'actionId': 'myFileAction'}); ``` -------------------------------- ### Chrome Extension Instance ID API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to manage instance IDs using the Chrome Instance ID API. This package is useful for device identification and messaging. ```Dart import 'package:chrome_extension/instance_id.dart'; // Example usage (conceptual): // String? id = await chrome.instanceID.getID(); ``` -------------------------------- ### Store and Retrieve Data Locally Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Uses the chrome.storage.local API to set a key-value pair and then retrieve all stored values. It prints the value associated with 'mykey'. ```dart import 'package:chrome_extension/storage.dart'; void main() async { await chrome.storage.local.set({'mykey': 'value'}); var values = await chrome.storage.local.get(null /* all */); print(values['mykey']); } ``` -------------------------------- ### Access Chrome Runtime API with Dart Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Provides the import statement for the chrome.runtime API, which is part of the chrome_extension.dart library. This API is essential for interacting with the extension's runtime environment. ```dart import 'example/chrome_runtime.dart'; ``` -------------------------------- ### Chrome Extension Permissions API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to request and manage permissions dynamically using the Chrome Permissions API. This package allows for granular control over extension capabilities. ```Dart import 'package:chrome_extension/permissions.dart'; // Example usage (conceptual): // chrome.permissions.request({'permissions': ['storage']}); ``` -------------------------------- ### Chrome Extension DevTools Recorder API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for recording user interactions within Chrome DevTools. ```dart import 'package:chrome_extension/devtools_recorder.dart'; // Example usage (conceptual): // Recorder.create('myRecording'); // Recorder.start(); // Recorder.stop(); ``` -------------------------------- ### Chrome Extension Runtime API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to interact with the Chrome runtime environment using the Chrome Runtime API. This package provides access to extension lifecycle events, messaging, and more. ```Dart import 'package:chrome_extension/runtime.dart'; // Example usage (conceptual): // chrome.runtime.onInstalled.addListener((details) => print('Extension installed')); // chrome.runtime.sendMessage({'action': 'greet'}); ``` -------------------------------- ### Chrome Extension Extension API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides information about the extension itself, such as its ID, version, and manifest details. ```dart import 'package:chrome_extension/extension.dart'; // Example usage (conceptual): // Extension.getURL('options.html').then((url) => print('Options URL: $url')); // print('Extension ID: ${Extension.id}'); ``` -------------------------------- ### Chrome Extension Printing API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to interact with the printing system using the Chrome Printing API. This package allows for managing print jobs and settings. ```Dart import 'package:chrome_extension/printing.dart'; // Example usage (conceptual): // chrome.printing.getPrinters().then((printers) => print(printers)); ``` -------------------------------- ### Chrome Extension Printing Metrics API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to collect and report printing metrics using the Chrome Printing Metrics API. This package is useful for usage analysis and reporting. ```Dart import 'package:chrome_extension/printing_metrics.dart'; // Example usage (conceptual): // chrome.printingMetrics.recordAuxPrinter( // 'MyPrinter', 'PDF', // {'type': 'print', 'source': 'extension'} // ); ``` -------------------------------- ### Chrome Extension Omnibox API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to create rich interactions with the Chrome Omnibox (address bar) using the Chrome Omnibox API. This package allows for custom suggestions and actions. ```Dart import 'package:chrome_extension/omnibox.dart'; // Example usage (conceptual): // chrome.omnibox.setDefaultSuggestion({'description': 'Search with my extension'}); // chrome.omnibox.onInputChanged.addListener((text, callback) => callback([...])); ``` -------------------------------- ### Flutter Chrome Extension Build Script Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md This Dart script automates the build process for a Flutter Chrome extension. It first builds the Flutter web application with CanvasKit renderer and no CDN, then compiles separate Dart scripts (background, content_script, options) into JavaScript files for the extension. ```Dart void main() async { await _process.runProcess([ 'flutter', 'build', 'web', '-t', 'web/popup.dart', '--csp', '--web-renderer=canvaskit', '--no-web-resources-cdn', ]); for (var script in [ 'background.dart', 'content_script.dart', 'options.dart' ]) { await _process.runProcess([ Platform.resolvedExecutable, 'compile', 'js', 'web/$script', '--output', 'build/web/$script.js', ]); } } ``` -------------------------------- ### Chrome Extension Manifest File Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md This JSON file defines the manifest for a Chrome extension. It specifies the manifest version, extension name, required permissions (activeTab), options page, background service worker, action popup, default icon, and content security policy. ```JSON { "manifest_version": 3, "name": "my_extension", "permissions": [ "activeTab" ], "options_page": "options.html", "background": { "service_worker": "background.dart.js" }, "action": { "default_popup": "index.html", "default_icon": { "16": "icons-16.png" } }, "content_security_policy": { "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';" } } ``` -------------------------------- ### Chrome Extension Top Sites API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to access and manage the list of top sites visited by the user using the Chrome Top Sites API. This package is useful for personalized suggestions and data. ```Dart import 'package:chrome_extension/top_sites.dart'; // Example usage (conceptual): // chrome.topSites.get().then((sites) => print(sites)); ``` -------------------------------- ### Chrome Extension Document Scan API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to initiate document scanning from connected devices. ```dart import 'package:chrome_extension/document_scan.dart'; // Example usage (conceptual): // DocumentScan.scan({'sources': ['scanner'], 'filename': 'scan.pdf'}); ``` -------------------------------- ### Chrome Extension Tab Capture API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to capture media streams from tabs using the Chrome Tab Capture API. This package is useful for screen recording and streaming functionalities. ```Dart import 'package:chrome_extension/tab_capture.dart'; // Example usage (conceptual): // chrome.tabCapture.capture({ // 'constraints': {'audio': true, 'video': true} // }).then((mediaStream) => print(mediaStream)); ``` -------------------------------- ### Chrome Extension Audio API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides control over audio playback and recording within the browser, enabling features like audio capture. ```dart import 'package:chrome_extension/audio.dart'; // Example usage (conceptual): // Audio.getMicActivity().then((activity) => print('Mic activity: $activity')); ``` -------------------------------- ### Chrome Extension Certificate Provider API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to provide client certificates for TLS authentication. ```dart import 'package:chrome_extension/certificate_provider.dart'; // Example usage (conceptual): // CertificateProvider.requestCertificate({'filter': [{'pattern': 'example.com'}]}); ``` -------------------------------- ### Chrome Extension Scripting API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to inject scripts into web pages using the Chrome Scripting API. This package provides methods for executing content scripts and managing their lifecycle. ```Dart import 'package:chrome_extension/scripting.dart'; // Example usage (conceptual): // chrome.scripting.executeScript({ // 'target': {'tabId': tab.id}, // 'files': ['content_script.js'] // }); ``` -------------------------------- ### Chrome Extension Page Action API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to display a page-specific icon in the address bar using the Chrome Page Action API. This package allows for context-dependent UI elements. ```Dart import 'package:chrome_extension/page_action.dart'; // Example usage (conceptual): // chrome.pageAction.show({ // 'tabId': tab.id // }); ``` -------------------------------- ### Chrome Extension Idle API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to detect user activity and system idle state using the Chrome Idle API. This package helps in monitoring when the user is inactive. ```Dart import 'package:chrome_extension/idle.dart'; // Example usage (conceptual): // chrome.idle.onStateChanged.listen((state) => print('User is $state')); ``` -------------------------------- ### Chrome Extension Sessions API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to access and control browsing sessions using the Chrome Sessions API. This package allows for managing tabs, windows, and history. ```Dart import 'package:chrome_extension/sessions.dart'; // Example usage (conceptual): // chrome.sessions.getRecentlyClosed().then((sessions) => print(sessions)); ``` -------------------------------- ### Chrome Extension Proxy API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to control the browser's proxy settings using the Chrome Proxy API. This package allows for custom proxy configurations. ```Dart import 'package:chrome_extension/proxy.dart'; // Example usage (conceptual): // chrome.proxy.settings.set({ // 'value': { // 'mode': 'fixed_servers', // 'rules': { // 'singleProxy': { // 'scheme': 'http', // 'host': 'proxy.example.com', // 'port': 8080 // } // } // } // }); ``` -------------------------------- ### Chrome Extension Browser Action API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Manages the browser action (button in the toolbar) for extensions, similar to the Action API. ```dart import 'package:chrome_extension/browser_action.dart'; // Example usage (conceptual): // BrowserAction.setBadgeText({text: 'New'}); // BrowserAction.onClicked.listen((tab) => print('Browser action clicked')); ``` -------------------------------- ### Chrome Extension Content Settings API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to manage site-specific settings like cookies, JavaScript, and images. ```dart import 'package:chrome_extension/content_settings.dart'; // Example usage (conceptual): // ContentSettings.set({settings: {'content_type': 'cookies', 'setting': 'session', 'resourceIdentifier': {'url': 'https://example.com/*'}}, 'extensionId': 'myExtension'}); // ContentSettings.get({settings: {'content_type': 'javascript', 'primaryPattern': 'https://example.com/*'}}) .then((setting) => print(setting)); ``` -------------------------------- ### Chrome Extension Enterprise Platform Keys API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Manages cryptographic keys for enterprise-managed Chrome devices. ```dart import 'package:chrome_extension/enterprise_platform_keys.dart'; // Example usage (conceptual): // PlatformKeys.getKey({'keyType': 'pkcs11', 'tokenName': 'myToken'}).then((key) => print('Key retrieved')); ``` -------------------------------- ### Chrome Extension Platform Keys API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to access and manage cryptographic keys on the user's platform using the Chrome Platform Keys API. This package is relevant for security-sensitive operations. ```Dart import 'package:chrome_extension/platform_keys.dart'; // Example usage (conceptual): // chrome.platformKeys.selectClientCertificates({}).then((certificates) => print(certificates)); ``` -------------------------------- ### Chrome Extension DevTools Inspected Window API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to information about the inspected page within Chrome DevTools. ```dart import 'package:chrome_extension/devtools_inspected_window.dart'; // Example usage (conceptual): // InspectedWindow.eval('console.log("Hello from extension!")').then((result) => print(result)); ``` -------------------------------- ### Chrome Extension TTS Engine API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to implement custom Text-to-Speech (TTS) engines using the Chrome TTS Engine API. This package enables extensions to provide their own speech synthesis capabilities. ```Dart import 'package:chrome_extension/tts_engine.dart'; // Example usage (conceptual): // chrome.ttsEngine.onSpeak.addListener((utterance, options, sendTtsEvent) => print(utterance)); ``` -------------------------------- ### Chrome Extension Context Menus API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to add custom items to Chrome's context menus (right-click menus). ```dart import 'package:chrome_extension/context_menus.dart'; // Example usage (conceptual): // ContextMenus.create({'id': 'myMenuItem', 'title': 'My Action'}); // ContextMenus.onClicked.listen((info) => print('Menu item clicked: ${info.menuItemId}')); ``` -------------------------------- ### Chrome Extension Tabs API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides core functionality for extensions to interact with browser tabs using the Chrome Tabs API. This package allows for creating, querying, updating, and closing tabs. ```Dart import 'package:chrome_extension/tabs.dart'; // Example usage (conceptual): // chrome.tabs.create({'url': 'https://example.com'}); // chrome.tabs.query({'active': true}).then((tabs) => print(tabs)); ``` -------------------------------- ### Chrome Extension DevTools Network API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to inspect network activity within Chrome DevTools. ```dart import 'package:chrome_extension/devtools_network.dart'; // Example usage (conceptual): // Network.getHAR().then((har) => print(har)); ``` -------------------------------- ### Chrome Extension Printer Provider API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to act as custom printer providers using the Chrome Printer Provider API. This package allows for integration with printing services. ```Dart import 'package:chrome_extension/printer_provider.dart'; // Example usage (conceptual): // chrome.printerProvider.onPrintRequested.addListener((printJob) => print(printJob)); ``` -------------------------------- ### Access Chrome Alarms API with Dart Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.template.md Shows the import statement for accessing the chrome.alarms API using the chrome_extension.dart library. This API is used for scheduling code to run at specific times or intervals. ```dart import 'example/chrome_alarms.dart'; ``` -------------------------------- ### Chrome Extension Action API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to add and manage a button in the Chrome toolbar, allowing users to interact with the extension. ```dart import 'package:chrome_extension/action.dart'; // Example usage (conceptual): // Action.setTitle({title: 'My Extension'}); // Action.setIcon({path: 'icons/icon16.png'}); ``` -------------------------------- ### Chrome Extension Extension Types API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Defines common types and structures used across various Chrome Extension APIs. ```dart import 'package:chrome_extension/extension_types.dart'; // Example usage (conceptual): // ExtensionTypes.ImageFormat.png; // ExtensionTypes.DateInterval; // ExtensionTypes.ImageDataType; // ExtensionTypes.ImageFormat.jpeg; ``` -------------------------------- ### Chrome Extension Page Capture API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to capture the visible area or a full frame of a tab using the Chrome Page Capture API. This package is useful for screenshots and content saving. ```Dart import 'package:chrome_extension/page_capture.dart'; // Example usage (conceptual): // chrome.pageCapture.saveAsMHTML({ // 'tabs': [tab.id] // }, (mhtmlData) => print(mhtmlData)); ``` -------------------------------- ### Chrome Extension Font Settings API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to manage and query font settings in Chrome. ```dart import 'package:chrome_extension/font_settings.dart'; // Example usage (conceptual): // FontSettings.setFont({'fontName': 'Arial', 'levelOfControl': 'font', 'fontFamily': 'Arial'}); // FontSettings.getFont({}).then((fonts) => print(fonts)); ``` -------------------------------- ### Chrome Extension i18n API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to the Chrome Internationalization API, allowing for localized strings and messages within extensions. This package facilitates the use of `chrome.i18n` methods. ```Dart import 'package:chrome_extension/i18n.dart'; // Example usage (conceptual): // String message = await chrome.i18n.getMessage('extensionName'); ``` -------------------------------- ### Chrome Extension Events API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md A fundamental API for handling events within Chrome extensions, allowing listeners to be added to various browser events. ```dart import 'package:chrome_extension/events.dart'; // Example usage (conceptual): // Events.onEvent.listen((event) => print('Event received: ${event.name}')); ``` -------------------------------- ### Query Chrome Tabs Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Queries for active tabs in the current window using the chrome.tabs API. It retrieves tab information and prints the title of the first tab found. ```dart import 'package:chrome_extension/tabs.dart'; void main() async { var tabs = await chrome.tabs.query(QueryInfo( active: true, currentWindow: true, )); print(tabs.first.title); } ``` -------------------------------- ### Chrome Extension Power API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to request the system not to enter sleep mode using the Chrome Power API. This package is useful for maintaining active states during critical operations. ```Dart import 'package:chrome_extension/power.dart'; // Example usage (conceptual): // chrome.power.requestKeepAwake('system'); ``` -------------------------------- ### Chrome Extension Notifications API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to create and manage rich notifications using the Chrome Notifications API. This package allows for user-facing alerts and information. ```Dart import 'package:chrome_extension/notifications.dart'; // Example usage (conceptual): // chrome.notifications.create({ // 'type': 'basic', // 'iconUrl': 'icon.png', // 'title': 'Notification', // 'message': 'Hello from extension!' // }); ``` -------------------------------- ### Chrome Extension Search API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides functionality for extensions to interact with the Chrome search provider using the Chrome Search API. This package allows for custom search integrations. ```Dart import 'package:chrome_extension/search.dart'; // Example usage (conceptual): // chrome.search.query({'text': 'dart programming'}).then((results) => print(results)); ``` -------------------------------- ### Chrome Extension Identity API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to manage user identity and authentication using the Chrome Identity API. This package allows for obtaining OAuth tokens and managing user sign-in status. ```Dart import 'package:chrome_extension/identity.dart'; // Example usage (conceptual): // String? token = await chrome.identity.getAuthToken({}); ``` -------------------------------- ### Chrome Extension Enterprise Device Attributes API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to device attributes for managed Chrome environments. ```dart import 'package:chrome_extension/enterprise_device_attributes.dart'; // Example usage (conceptual): // DeviceAttributes.getDirectoryId().then((id) => print('Directory ID: $id')); ``` -------------------------------- ### Chrome Extension Alarms API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to schedule code to run in the future, useful for periodic tasks or time-based events. ```dart import 'package:chrome_extension/alarms.dart'; // Example usage (conceptual): // Alarms.create('myAlarm', {'delayInMinutes': 1}); // Alarms.onAlarm.listen((alarm) => print('Alarm fired: ${alarm.name}')); ``` -------------------------------- ### Chrome Extension TTS API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides Text-to-Speech (TTS) capabilities for extensions using the Chrome TTS API. This package allows for synthesizing speech from text. ```Dart import 'package:chrome_extension/tts.dart'; // Example usage (conceptual): // chrome.tts.speak('Hello world!'); ``` -------------------------------- ### Chrome Extension GCM API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides support for Google Cloud Messaging (GCM) to enable push messaging to extensions. ```dart import 'package:chrome_extension/gcm.dart'; // Example usage (conceptual): // GCM.register({'senderId': 'YOUR_SENDER_ID'}); // GCM.onMessage.listen((message) => print('GCM Message: ${message.data}')); ``` -------------------------------- ### Chrome Extension Tab Groups API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to manage tab groups using the Chrome Tab Groups API. This package enables programmatic creation, modification, and deletion of tab groups. ```Dart import 'package:chrome_extension/tab_groups.dart'; // Example usage (conceptual): // chrome.tabGroups.create({ // 'tabIds': [1, 2], // 'title': 'My Group', // 'color': 'blue' // }); ``` -------------------------------- ### Chrome Extension History API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to access and manage the user's browsing history. ```dart import 'package:chrome_extension/history.dart'; // Example usage (conceptual): // History.search({'text': 'chrome extension'}).then((results) => print(results)); // History.addUrl({'url': 'https://example.com', 'title': 'Example Site'}); ``` -------------------------------- ### Chrome Extension DOM API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides utilities for interacting with the Document Object Model (DOM) of web pages. ```dart import 'package:chrome_extension/dom.dart'; // Example usage (conceptual): // DOM.querySelector('body').then((element) => print(element.innerText)); ``` -------------------------------- ### Chrome Extension Debugger API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to attach to and debug other extensions or the browser itself. ```dart import 'package:chrome_extension/debugger.dart'; // Example usage (conceptual): // Debugger.attach({'tabId': 123}); // Debugger.detach({'tabId': 123}); ``` -------------------------------- ### Chrome Extension Declarative Content API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to show or hide themselves based on page content without inspecting the page. ```dart import 'package:chrome_extension/declarative_content.dart'; // Example usage (conceptual): // DeclarativeContent.createRule({'conditions': [Page.matchesUrl({'url': {'hostSuffix': 'example.com'}})], 'actions': [ShowPageAction()]}); ``` -------------------------------- ### Chrome Extension Enterprise Networking Attributes API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides network-related attributes for managed Chrome devices. ```dart import 'package:chrome_extension/enterprise_networking_attributes.dart'; // Example usage (conceptual): // NetworkingAttributes.getHostname().then((hostname) => print('Hostname: $hostname')); ``` -------------------------------- ### Chrome Extension Declarative Net Request API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Allows extensions to block or modify network requests using declarative rules. ```dart import 'package:chrome_extension/declarative_net_request.dart'; // Example usage (conceptual): // DeclarativeNetRequest.updateDynamicRules({'addRules': [{'id': 1, 'priority': 1, 'action': {'type': 'block'}, 'condition': {'urlFilter': 'bad.com'}}], 'removeRuleIds': [1]}); ``` -------------------------------- ### Chrome Extension Browsing Data API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Enables extensions to remove browsing data like history, cookies, and cache. ```dart import 'package:chrome_extension/browsing_data.dart'; // Example usage (conceptual): // BrowsingData.remove({options: {'since': 0, 'dataToRemove': ['cookies']}}); // BrowsingData.settings().then((settings) => print(settings)); ``` -------------------------------- ### Chrome Extension Cookies API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides methods for extensions to access and manage cookies. ```dart import 'package:chrome_extension/cookies.dart'; // Example usage (conceptual): // Cookies.get({'url': 'https://example.com/'}).then((cookie) => print(cookie)); // Cookies.set({'url': 'https://example.com/', 'name': 'myCookie', 'value': 'test'}); ``` -------------------------------- ### Chrome Extension Accessibility Features API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to Chrome's accessibility features API, allowing extensions to interact with and control accessibility settings. ```dart import 'package:chrome_extension/accessibility_features.dart'; // Example usage (conceptual): // AccessibilityFeatures.setDictationMode(true); // AccessibilityFeatures.getAccessibilityStatus().then((status) => print(status)); ``` -------------------------------- ### Chrome Extension Privacy API Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Provides access to the Chrome Privacy API, allowing extensions to manage privacy-related settings and data. This package enables control over user privacy features. ```Dart import 'package:chrome_extension/privacy.dart'; // Example usage (conceptual): // chrome.privacy.websites.setContentSetting({ // 'setting': 'allow', // 'levelOfControl': 'USER_CONTROLLED', // 'primaryPattern': '', // 'secondaryPattern': '' // }, () => print('Setting updated')); ``` -------------------------------- ### Request Keep Awake Source: https://github.com/xvrh/chrome_extension.dart/blob/main/README.md Requests the device to stay awake using the chrome.power API, specifically keeping the display on. This prevents the device from sleeping. ```dart import 'package:chrome_extension/power.dart'; void main() { chrome.power.requestKeepAwake(Level.display); } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.