summaryrefslogtreecommitdiff
path: root/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js')
-rw-r--r--Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js163
1 files changed, 0 insertions, 163 deletions
diff --git a/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js b/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js
deleted file mode 100644
index a7229200e..000000000
--- a/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-WebInspector.NewTabContentView = class NewTabContentView extends WebInspector.TabContentView
-{
- constructor(identifier)
- {
- let {image, title} = WebInspector.NewTabContentView.tabInfo();
- let tabBarItem = new WebInspector.TabBarItem(image, title);
- tabBarItem.isDefaultTab = true;
-
- super(identifier || "new-tab", "new-tab", tabBarItem);
-
- WebInspector.notifications.addEventListener(WebInspector.Notification.TabTypesChanged, this._updateShownTabs.bind(this));
-
- this._tabElementsByTabClass = new Map;
- this._updateShownTabs();
- }
-
- static tabInfo()
- {
- return {
- image: "Images/NewTab.svg",
- title: WebInspector.UIString("New Tab"),
- };
- }
-
- static isEphemeral()
- {
- return true;
- }
-
- static shouldSaveTab()
- {
- return false;
- }
-
- // Public
-
- get type()
- {
- return WebInspector.NewTabContentView.Type;
- }
-
- shown()
- {
- WebInspector.tabBrowser.tabBar.addEventListener(WebInspector.TabBar.Event.TabBarItemAdded, this._updateTabItems, this);
- WebInspector.tabBrowser.tabBar.addEventListener(WebInspector.TabBar.Event.TabBarItemRemoved, this._updateTabItems, this);
-
- this._updateTabItems();
- }
-
- hidden()
- {
- WebInspector.tabBrowser.tabBar.removeEventListener(null, null, this);
- }
-
- get supportsSplitContentBrowser()
- {
- // Showing the split console is problematic because some new tabs will cause it to
- // disappear and not reappear, but others won't. Just prevent it from ever showing.
- return false;
- }
-
- layout()
- {
- this._tabElementsByTabClass.clear();
- this.element.removeChildren();
-
- for (let tabClass of this._shownTabClasses) {
- let tabItemElement = document.createElement("div");
- tabItemElement.classList.add("tab-item");
- tabItemElement.addEventListener("click", this._createNewTabWithType.bind(this, tabClass.Type));
- tabItemElement[WebInspector.NewTabContentView.TypeSymbol] = tabClass.Type;
-
- let boxElement = tabItemElement.appendChild(document.createElement("div"));
- boxElement.classList.add("box");
-
- let info = tabClass.tabInfo();
- let imageElement = boxElement.appendChild(document.createElement("img"));
- imageElement.src = info.image;
-
- let labelElement = tabItemElement.appendChild(document.createElement("label"));
- labelElement.textContent = info.title;
-
- this.element.appendChild(tabItemElement);
- this._tabElementsByTabClass.set(tabClass, tabItemElement);
- }
-
- this._updateTabItems();
- }
-
- // Private
-
- _createNewTabWithType(tabType, event)
- {
- if (!WebInspector.isNewTabWithTypeAllowed(tabType))
- return;
-
- const canCreateAdditionalTabs = this._allowableTabTypes().length > 1;
- const options = {
- referencedView: this,
- shouldReplaceTab: !canCreateAdditionalTabs || !WebInspector.modifierKeys.metaKey,
- shouldShowNewTab: !WebInspector.modifierKeys.metaKey
- }
- WebInspector.createNewTabWithType(tabType, options);
- }
-
- _updateShownTabs()
- {
- let allTabClasses = [...WebInspector.knownTabClasses()];
- let allowedTabClasses = allTabClasses.filter((tabClass) => tabClass.isTabAllowed() && !tabClass.isEphemeral());
- allowedTabClasses.sort((a, b) => a.tabInfo().title.localeCompare(b.tabInfo().title));
-
- if (Object.shallowEqual(this._shownTabClasses, allowedTabClasses))
- return;
-
- this._shownTabClasses = allowedTabClasses;
- this.needsLayout();
- }
-
- _allowableTabTypes()
- {
- let tabTypes = this._shownTabClasses.map((tabClass) => tabClass.Type);
- return tabTypes.filter((type) => WebInspector.isNewTabWithTypeAllowed(type));
- }
-
- _updateTabItems()
- {
- for (let [tabClass, tabItemElement] of this._tabElementsByTabClass.entries()) {
- let allowed = WebInspector.isNewTabWithTypeAllowed(tabClass.Type);
- tabItemElement.classList.toggle(WebInspector.NewTabContentView.DisabledStyleClassName, !allowed);
- }
- }
-};
-
-WebInspector.NewTabContentView.Type = "new-tab";
-WebInspector.NewTabContentView.TypeSymbol = Symbol("type");
-
-WebInspector.NewTabContentView.TabItemStyleClassName = "tab-item";
-WebInspector.NewTabContentView.DisabledStyleClassName = "disabled";