blob: a82a07ca2672c225d9866b30591369cbf0ec368b [file] [log] [blame]
// 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);
};
// 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. If the |from_user_interaction|
// is true then the page will load with a user activation. This means the
// page will be able to autoplay media without restriction.
NewTabWithUrl(url.mojom.Url url, bool from_user_interaction);
// 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();
// Show the keyboard shortcut viewer.
ShowKeyboardShortcutViewer();
// Shows the task manager window.
ShowTaskManager();
// Opens the feedback page for "Report Issue". If |from_assistant| is
// true then the page is triggered from Assistant.
OpenFeedbackPage(bool from_assistant);
};