| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/SceneOverlay.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/SceneOverlay.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/SceneOverlay.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7b211d16b08e068199dc81a5ece2ac26f589e516
|
| --- /dev/null
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/SceneOverlay.java
|
| @@ -0,0 +1,146 @@
|
| +// 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.
|
| +
|
| +package org.chromium.chrome.browser.compositor.overlays;
|
| +
|
| +import org.chromium.chrome.browser.compositor.LayerTitleCache;
|
| +import org.chromium.chrome.browser.compositor.layouts.components.VirtualView;
|
| +import org.chromium.chrome.browser.compositor.layouts.eventfilter.EventFilter;
|
| +import org.chromium.chrome.browser.compositor.scene_layer.SceneOverlayLayer;
|
| +import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
|
| +import org.chromium.chrome.browser.tabmodel.TabModel;
|
| +import org.chromium.ui.resources.ResourceManager;
|
| +
|
| +import java.util.List;
|
| +
|
| +/**
|
| + * An interface which positions the actual tabs and adds additional UI to the them.
|
| + */
|
| +public interface SceneOverlay {
|
| + /**
|
| + * Updates and gets a {@link SceneOverlayLayer} that represents an scene overlay.
|
| + *
|
| + * @param layerTitleCache A layer title cache.
|
| + * @param resourceManager A resource manager.
|
| + * @param fullscreenManager A fullscreen manager.
|
| + * @return A {@link SceneOverlayLayer} that represents an scene overlay.
|
| + * Or {@code null} if this {@link SceneOverlay} doesn't have a tree.
|
| + */
|
| + SceneOverlayLayer getUpdatedSceneOverlayTree(LayerTitleCache layerTitleCache,
|
| + ResourceManager resourceManager, ChromeFullscreenManager fullscreenManager);
|
| +
|
| + /**
|
| + * @return The {@link EventFilter} that processes events for this {@link SceneOverlay}.
|
| + */
|
| + EventFilter getEventFilter();
|
| +
|
| + /**
|
| + * Called when the viewport size of the screen changes.
|
| + * @param width The new width of the viewport available in dp.
|
| + * @param height The new height of the viewport available in dp.
|
| + * @param visibleViewportOffsetY The visible viewport Y offset in dp.
|
| + */
|
| + void onSizeChanged(float width, float height, float visibleViewportOffsetY);
|
| +
|
| + /**
|
| + * @param views A list of virtual views representing compositor rendered views.
|
| + */
|
| + void getVirtualViews(List<VirtualView> views);
|
| +
|
| + /**
|
| + * Helper-specific updates. Cascades the values updated by the animations and flings.
|
| + * @param time The current time of the app in ms.
|
| + * @param dt The delta time between update frames in ms.
|
| + * @return Whether the updating is done.
|
| + */
|
| + boolean updateOverlay(long time, long dt);
|
| +
|
| + /**
|
| + * Notify the a title has changed.
|
| + *
|
| + * @param tabId The id of the tab that has changed.
|
| + * @param title The new title.
|
| + */
|
| + void tabTitleChanged(int tabId, String title);
|
| +
|
| + /**
|
| + * Called when the active {@link TabModel} switched (e.g. standard -> incognito).
|
| + * @param incognito Whether or not the new active model is incognito.
|
| + */
|
| + void tabModelSwitched(boolean incognito);
|
| +
|
| + /**
|
| + * Called when a tab get selected.
|
| + * @param time The current time of the app in ms.
|
| + * @param incognito Whether or not the affected model was incognito.
|
| + * @param id The id of the selected tab.
|
| + * @param prevId The id of the previously selected tab.
|
| + */
|
| + void tabSelected(long time, boolean incognito, int id, int prevId);
|
| +
|
| + /**
|
| + * Called when a tab has been moved in the tabModel.
|
| + * @param time The current time of the app in ms.
|
| + * @param incognito Whether or not the affected model was incognito.
|
| + * @param id The id of the Tab.
|
| + * @param oldIndex The old index of the tab in the {@link TabModel}.
|
| + * @param newIndex The new index of the tab in the {@link TabModel}.
|
| + */
|
| + void tabMoved(long time, boolean incognito, int id, int oldIndex, int newIndex);
|
| +
|
| + /**
|
| + * Called when a tab is being closed. When called, the closing tab will not
|
| + * be part of the model.
|
| + * @param time The current time of the app in ms.
|
| + * @param incognito Whether or not the affected model was incognito.
|
| + * @param id The id of the tab being closed.
|
| + */
|
| + void tabClosed(long time, boolean incognito, int id);
|
| +
|
| + /**
|
| + * Called when a tab close has been undone and the tab has been restored.
|
| + * @param time The current time of the app in ms.
|
| + * @param id The id of the Tab.
|
| + * @param incognito True if the tab is incognito
|
| + */
|
| + void tabClosureCancelled(long time, boolean incognito, int id);
|
| +
|
| + /**
|
| + * Called when a tab is created from the top left button.
|
| + * @param time The current time of the app in ms.
|
| + * @param incognito Whether or not the affected model was incognito.
|
| + * @param id The id of the newly created tab.
|
| + * @param prevId The id of the source tab.
|
| + * @param selected Whether the tab will be selected.
|
| + */
|
| + void tabCreated(long time, boolean incognito, int id, int prevId, boolean selected);
|
| +
|
| + /**
|
| + * Called when a tab has started loading.
|
| + * @param id The id of the Tab.
|
| + * @param incognito True if the tab is incognito.
|
| + */
|
| + void tabPageLoadStarted(int id, boolean incognito);
|
| +
|
| + /**
|
| + * Called when a tab has finished loading.
|
| + * @param id The id of the Tab.
|
| + * @param incognito True if the tab is incognito.
|
| + */
|
| + void tabPageLoadFinished(int id, boolean incognito);
|
| +
|
| + /**
|
| + * Called when a tab has started loading resources.
|
| + * @param id The id of the Tab.
|
| + * @param incognito True if the tab is incognito.
|
| + */
|
| + void tabLoadStarted(int id, boolean incognito);
|
| +
|
| + /**
|
| + * Called when a tab has stopped loading resources.
|
| + * @param id The id of the Tab.
|
| + * @param incognito True if the tab is incognito.
|
| + */
|
| + void tabLoadFinished(int id, boolean incognito);
|
| +}
|
|
|