naiveproxy/ash/public/interfaces/new_window.mojom
2018-08-14 22:19:20 +00:00

59 lines
1.7 KiB
Plaintext

// 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();
};