// Copyright 2016 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. module ash.mojom; // For GURL. import "url/mojom/url.mojom"; // An exported object in ash which lets an ash consumer set a client interface. interface NewWindowController { SetClient(associated NewWindowClient client); // TODO(crbug.com/755448): Remove this when the new shortcut viewer is // enabled. // Shows the keyboard shortcut overlay. TODO(mash): this calls the client // function of the same name below, but it should be implemented inside ash. ShowKeyboardOverlay(); }; // A delegate interface that an ash user sends to ash to handle certain window // management responsibilities. interface NewWindowClient { // Invoked when the user uses Ctrl+T to open a new tab. NewTab(); // Opens a new tab with the specified URL. NewTabWithUrl(url.mojom.Url url); // Invoked when the user uses Ctrl-N or Ctrl-Shift-N to open a new window. NewWindow(bool incognito); // Invoked when an accelerator is used to open the file manager. OpenFileManager(); // Invoked when the user opens Crosh. OpenCrosh(); // Invoked when an accelerator is used to open help center. OpenGetHelp(); // Invoked when the user uses Shift+Ctrl+T to restore the closed tab. RestoreTab(); // TODO(crbug.com/755448): Remove this when the new shortcut viewer is // enabled. // Shows the keyboard shortcut overlay. ShowKeyboardOverlay(); // Show the keyboard shortcut viewer. ShowKeyboardShortcutViewer(); // Shows the task manager window. ShowTaskManager(); // Opens the feedback page for "Report Issue". OpenFeedbackPage(); };