| // Copyright (c) 2012 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. |
| |
| // API for integration testing. To be used on test images with a test component |
| // extension. |
| [platforms=("chromeos"), |
| implemented_in="chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.h"] |
| namespace autotestPrivate { |
| |
| dictionary LoginStatusDict { |
| // Are we logged in? |
| boolean isLoggedIn; |
| // Is the logged-in user the owner? |
| boolean isOwner; |
| // Is the screen locked? |
| boolean isScreenLocked; |
| // Is the screen ready for password? |
| boolean isReadyForPassword; |
| |
| // Is the logged-in user a regular user? |
| boolean isRegularUser; |
| // Are we logged into the guest account? |
| boolean isGuest; |
| // Are we logged into kiosk-app mode? |
| boolean isKiosk; |
| |
| DOMString email; |
| DOMString displayEmail; |
| // User image: 'file', 'profile' or a number. |
| DOMString userImage; |
| }; |
| callback LoginStatusCallback = void (LoginStatusDict status); |
| |
| dictionary ExtensionInfoDict { |
| DOMString id; |
| DOMString version; |
| DOMString name; |
| DOMString publicKey; |
| DOMString description; |
| DOMString backgroundUrl; |
| DOMString optionsUrl; |
| |
| DOMString[] hostPermissions; |
| DOMString[] effectiveHostPermissions; |
| DOMString[] apiPermissions; |
| |
| boolean isComponent; |
| boolean isInternal; |
| boolean isUserInstalled; |
| boolean isEnabled; |
| boolean allowedInIncognito; |
| boolean hasPageAction; |
| }; |
| dictionary ExtensionsInfoArray { |
| ExtensionInfoDict[] extensions; |
| }; |
| callback ExtensionsInfoCallback = void (ExtensionsInfoArray info); |
| |
| dictionary Notification { |
| DOMString id; |
| DOMString type; |
| DOMString title; |
| DOMString message; |
| long priority; |
| long progress; |
| }; |
| callback NotificationArrayCallback = void (Notification[] notifications); |
| |
| dictionary Printer { |
| DOMString printerName; |
| DOMString? printerId; |
| DOMString? printerType; |
| DOMString? printerDesc; |
| DOMString? printerMakeAndModel; |
| DOMString? printerUri; |
| DOMString? printerPpd; |
| }; |
| callback PrinterArrayCallback = void (Printer[] printers); |
| |
| dictionary PlayStoreState { |
| // Whether the Play Store allowed for the current user. |
| boolean allowed; |
| // Whether the Play Store currently enabled. |
| boolean? enabled; |
| // Whether the Play Store managed by policy. |
| boolean? managed; |
| }; |
| callback PlayStoreStateCallback = void (PlayStoreState result); |
| |
| dictionary HistogramBucket { |
| // Minimum sample value that can be stored in this bucket (i.e. inclusive). |
| long min; |
| // Exclusive maximum value for samples stored this bucket. |
| long max; |
| // Number of samples stored in this bucket. |
| long count; |
| }; |
| dictionary Histogram { |
| // Buckets containing samples. |
| HistogramBucket[] buckets; |
| }; |
| callback HistogramCallback = void (Histogram histogram); |
| |
| dictionary AssistantQueryResponse { |
| DOMString? text; |
| DOMString? htmlResponse; |
| DOMString? htmlFallback; |
| }; |
| callback AssistantQueryResponseCallback = |
| void(AssistantQueryResponse response); |
| |
| callback IsAppShownCallback = void (boolean appShown); |
| |
| callback IsArcProvisionedCallback = void (boolean arcProvisioned); |
| |
| dictionary ArcAppDict { |
| DOMString name; |
| DOMString packageName; |
| DOMString activity; |
| DOMString intentUri; |
| DOMString iconResourceId; |
| double lastLaunchTime; |
| double installTime; |
| boolean sticky; |
| boolean notificationsEnabled; |
| boolean ready; |
| boolean suspended; |
| boolean showInLauncher; |
| boolean shortcut; |
| boolean launchable; |
| }; |
| callback GetArcAppCallback = void (ArcAppDict package); |
| |
| dictionary ArcPackageDict { |
| DOMString packageName; |
| long packageVersion; |
| DOMString lastBackupAndroidId; |
| double lastBackupTime; |
| boolean shouldSync; |
| boolean system; |
| boolean vpnProvider; |
| }; |
| callback GetArcPackageCallback = void (ArcPackageDict package); |
| |
| callback LaunchArcAppCallback = void (boolean appLaunched); |
| |
| callback TakeScreenshotCallback = void (DOMString base64Png); |
| |
| callback EnsureWindowServiceClientHasDrawnWindowCallback = |
| void(boolean success); |
| |
| callback GetPrimaryDisplayScaleFactorCallback = void (double scaleFactor); |
| |
| callback VoidCallback = void (); |
| |
| interface Functions { |
| // Logout of a user session. |
| static void logout(); |
| |
| // Restart the browser. |
| static void restart(); |
| |
| // Shutdown the browser. |
| // |force|: if set, ignore ongoing downloads and onunbeforeunload handlers. |
| static void shutdown(boolean force); |
| |
| // Get login status. |
| static void loginStatus(LoginStatusCallback callback); |
| |
| // Locks the screen. |
| static void lockScreen(); |
| |
| // Get info about installed extensions. |
| static void getExtensionsInfo(ExtensionsInfoCallback callback); |
| |
| // Simulates a memory access bug for asan testing. |
| static void simulateAsanMemoryBug(); |
| |
| // Set the touchpad pointer sensitivity setting. |
| // |value|: the pointer sensitivity setting index. |
| static void setTouchpadSensitivity(long value); |
| |
| // Turn on/off tap-to-click for the touchpad. |
| // |enabled|: if set, enable tap-to-click. |
| static void setTapToClick(boolean enabled); |
| |
| // Turn on/off three finger click for the touchpad. |
| // |enabled|: if set, enable three finger click. |
| static void setThreeFingerClick(boolean enabled); |
| |
| // Turn on/off tap dragging for the touchpad. |
| // |enabled|: if set, enable tap dragging. |
| static void setTapDragging(boolean enabled); |
| |
| // Turn on/off Australian scrolling for devices other than wheel mouse. |
| // |enabled|: if set, enable Australian scrolling. |
| static void setNaturalScroll(boolean enabled); |
| |
| // Set the mouse pointer sensitivity setting. |
| // |value|: the pointer sensitivity setting index. |
| static void setMouseSensitivity(long value); |
| |
| // Swap the primary mouse button for left click. |
| // |right|: if set, swap the primary mouse button. |
| static void setPrimaryButtonRight(boolean right); |
| |
| // Turn on/off reverse scrolling for mice. |
| // |enabled|: if set, enable reverse scrolling. |
| static void setMouseReverseScroll(boolean enabled); |
| |
| // Get visible notifications on the system. |
| static void getVisibleNotifications(NotificationArrayCallback callback); |
| |
| // Get state of the Play Store. |
| static void getPlayStoreState(PlayStoreStateCallback callback); |
| |
| // Get list of available printers |
| static void getPrinterList(PrinterArrayCallback callback); |
| |
| // Returns true if requested app is shown in Chrome. |
| static void isAppShown(DOMString appId, IsAppShownCallback callback); |
| |
| // Returns true if ARC is provisioned. |
| static void isArcProvisioned(IsArcProvisionedCallback callback); |
| |
| // Gets information about the requested ARC app. |
| static void getArcApp(DOMString appId, GetArcAppCallback callback); |
| |
| // Gets information about requested ARC package. |
| static void getArcPackage(DOMString packageName, |
| GetArcPackageCallback callback); |
| |
| // Launches ARC app with optional intent. Returns true if ARC is active, |
| // app exists and launch request is passed to Android. |
| static void launchArcApp(DOMString appId, DOMString intent, |
| LaunchArcAppCallback callback); |
| |
| // Launches an application from the launcher with the given appId. |
| static void launchApp(DOMString appId, VoidCallback callback); |
| |
| // Closes an application the given appId in case it was running. |
| static void closeApp(DOMString appId, VoidCallback callback); |
| |
| // Update printer. Printer with empty ID is considered new. |
| static void updatePrinter(Printer printer); |
| |
| // Remove printer. |
| static void removePrinter(DOMString printerId); |
| |
| // Enable/disable the Play Store. |
| // |enabled|: if set, enable the Play Store. |
| // |callback|: Called when the operation has completed. |
| static void setPlayStoreEnabled(boolean enabled, VoidCallback callback); |
| |
| // Get details about a histogram displayed at chrome://histogram. |
| // |name|: Histogram name, e.g. "Accessibility.CrosAutoclick". |
| // |callback|: Invoked with details. |
| static void getHistogram(DOMString name, HistogramCallback callback); |
| |
| // Run the crostini installer GUI to install the default crostini |
| // vm / container and create sshfs mount. The installer launches the |
| // crostini terminal app on completion. The installer expects that |
| // crostini is not already installed. |
| // |callback|: Called when the operation has completed. |
| static void runCrostiniInstaller(VoidCallback callback); |
| |
| // Run the crostini uninstaller GUI to remove the default crostini |
| // vm / container. The callback is invoked upon completion. |
| static void runCrostiniUninstaller(VoidCallback callback); |
| |
| // Enable/disable Crostini in preferences. |
| // |enabled|: Enable Crostini. |
| // |callback|: Called when the operation has completed. |
| static void setCrostiniEnabled(boolean enabled, VoidCallback callback); |
| |
| // Takes a screenshot and returns the data in base64 encoded PNG format. |
| static void takeScreenshot(TakeScreenshotCallback callback); |
| |
| // Makes a basic request to ML Service, triggering 1. ML Service |
| // daemon startup, and 2. the initial D-Bus -> Mojo IPC bootstrap. |
| // |callback|: Called when the operation has completed. |
| static void bootstrapMachineLearningService(VoidCallback callback); |
| |
| // Enable/disable the Google Assistant |
| // |callback|: Called when the operation has completed. |
| static void setAssistantEnabled(boolean enabled, long timeout_ms, |
| VoidCallback callback); |
| |
| // Send a text query via Google Assistant. |
| // |callback|: Called when response has been received. |
| static void sendAssistantTextQuery(DOMString query, long timeout_ms, |
| AssistantQueryResponseCallback callback); |
| |
| // Enable/disable a Crostini app's "scaled" property. |
| // |appId|: The Crostini application ID. |
| // |scaled|: The app is "scaled" when shown, which means it uses low display |
| // density. |
| // |callback|: Called when the operation has completed. |
| static void setCrostiniAppScaled(DOMString appId, boolean scaled, |
| VoidCallback callback); |
| |
| // Ensure that the Window Service client identified by |clientName| has |
| // drawn any window. |callback| is invoked with true if the client has drawn |
| // anything or when it does so before the time out. Otherwise, an error |
| // is raised when timeout happens. |
| static void ensureWindowServiceClientHasDrawnWindow( |
| DOMString clientName, |
| long timeout_ms, |
| EnsureWindowServiceClientHasDrawnWindowCallback callback); |
| |
| // Get the primary display scale factor. |
| // |callback| is invoked with the scale factor. |
| static void getPrimaryDisplayScaleFactor( |
| GetPrimaryDisplayScaleFactorCallback callback); |
| }; |
| }; |