| // Copyright 2014 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. |
| |
| // The <code>chrome.launcherPage</code> API provides launcher pages in the |
| // Chrome Launcher with the capabilities and events they need. |
| namespace launcherPage { |
| callback PushSubpageCallback = void(); |
| callback ShowCallback = void(); |
| callback HideCallback = void(); |
| callback SetEnabledCallback = void(); |
| |
| interface Functions { |
| // Pushes a subpage state onto a state stack for the launcher page. This |
| // state will be popped when the launcher's back button is pressed, |
| // preventing the launcher from hiding the launcher page and sending an |
| // onPopSubpage event to the launcher page. Once all states are popped, the |
| // next press of the back button will cause the launcher to be hidden. |
| // |
| // Note: All subpages are immediately popped when the launcher is closed or |
| // the launcher page is otherwise hidden. |
| static void pushSubpage(optional PushSubpageCallback callback); |
| |
| // Opens the launcher if it isn't currently open and shows the launcher |
| // page. |
| static void show(optional ShowCallback callback); |
| |
| // Returns the launcher to the start page if the launcher page is showing. |
| static void hide(optional HideCallback callback); |
| |
| // Sets whether the launcher page is enabled in the launcher. If disabled, |
| // the launcher page will not be shown when the area at the bottom of the |
| // launcher is pressed. |
| // |
| // Note: The launcher page will still be displayed at the bottom of the |
| // launcher's start page and launcherPage.show() will still show the |
| // launcher page. |
| static void setEnabled(boolean enabled, |
| optional SetEnabledCallback callback); |
| }; |
| |
| interface Events { |
| // Fired when the launcher page is transitioning between hidden and shown. |
| // It's possible for this to be called with a pushed subpage so this |
| // event handler should account for transitioning from any subpage to a |
| // collapsed view. |
| static void onTransitionChanged(double progress); |
| |
| // Fired when the launcher's back button is pressed if there are remaining |
| // subpages on the state stack pushed by pushSubpage(). |
| static void onPopSubpage(); |
| }; |
| }; |