Changeset 248912 in webkit


Ignore:
Timestamp:
Aug 20, 2019 12:17:59 PM (5 years ago)
Author:
Joseph Pecoraro
Message:

Web Inspector: Sources: Give Origins their own icon in the Sources sidebar
https://bugs.webkit.org/show_bug.cgi?id=200683
<rdar://problem/54269044>

Reviewed by Devin Rousso.

  • UserInterface/Images/Origin.svg: Added.
  • UserInterface/Main.html:

New resources.

  • UserInterface/Views/FolderIcon.css:

(.origin-icon .icon):
Light and Dark appearances for Origin icons.

(@media (prefers-color-scheme: dark)):

  • UserInterface/Views/OriginTreeElement.js:

(WI.OriginTreeElement):
Very much like a folder with different classes.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
(WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
Use OriginTreeElement in a few places.

Location:
trunk/Source/WebInspectorUI
Files:
1 added
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r248898 r248912  
     12019-08-20  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Sources: Give Origins their own icon in the Sources sidebar
     4        https://bugs.webkit.org/show_bug.cgi?id=200683
     5        <rdar://problem/54269044>
     6
     7        Reviewed by Devin Rousso.
     8
     9        * UserInterface/Images/Origin.svg: Added.
     10        * UserInterface/Main.html:
     11        New resources.
     12
     13        * UserInterface/Views/FolderIcon.css:
     14        (.origin-icon .icon):
     15        Light and Dark appearances for Origin icons.
     16
     17        (@media (prefers-color-scheme: dark)):
     18        * UserInterface/Views/OriginTreeElement.js:
     19        (WI.OriginTreeElement):
     20        Very much like a folder with different classes.
     21
     22        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
     23        (WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
     24        (WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
     25        (WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
     26        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
     27        Use OriginTreeElement in a few places.
     28
    1292019-08-20  Joseph Pecoraro  <pecoraro@apple.com>
    230
  • trunk/Source/WebInspectorUI/UserInterface/Main.html

    r248818 r248912  
    738738    <script src="Views/ObjectTreeView.js"></script>
    739739    <script src="Views/OpenResourceDialog.js"></script>
     740    <script src="Views/OriginTreeElement.js"></script>
    740741    <script src="Views/OverviewTimelineView.js"></script>
    741742    <script src="Views/ProbeDetailsSidebarPanel.js"></script>
  • trunk/Source/WebInspectorUI/UserInterface/Views/FolderIcon.css

    r202830 r248912  
    2727    content: image-set(url(../Images/FolderGeneric.png) 1x, url(../Images/FolderGeneric@2x.png) 2x);
    2828}
     29
     30.origin-icon .icon {
     31    content: url(../Images/Origin.svg);
     32}
     33
     34@media (prefers-color-scheme: dark) {
     35    .origin-icon .icon {
     36        filter: brightness(0.9);
     37    }
     38}
  • trunk/Source/WebInspectorUI/UserInterface/Views/OriginTreeElement.js

    r248911 r248912  
    11/*
    2  * Copyright (C) 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2019 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 .folder-icon .icon {
    27     content: image-set(url(../Images/FolderGeneric.png) 1x, url(../Images/FolderGeneric@2x.png) 2x);
    28 }
     26WI.OriginTreeElement = class OriginTreeElement extends WI.GeneralTreeElement
     27{
     28    constructor(title, representedObject, options)
     29    {
     30        const classNames = ["origin-icon"];
     31        const subtitle = null;
     32        super(classNames, title, subtitle, representedObject, options);
     33    }
     34};
  • trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js

    r248894 r248912  
    575575
    576576        // Folders are hidden on the first pass, but visible childen under the folder will force the folder visible again.
    577         if (treeElement instanceof WI.FolderTreeElement)
     577        if (treeElement instanceof WI.FolderTreeElement || treeElement instanceof WI.OriginTreeElement)
    578578            return false;
    579579
     
    644644            (treeElement) => treeElement === this._mainFrameTreeElement,
    645645            (treeElement) => treeElement instanceof WI.FrameTreeElement,
     646            (treeElement) => treeElement instanceof WI.OriginTreeElement,
    646647            (treeElement) => {
    647648                return treeElement !== this._extensionScriptsFolderTreeElement
     
    687688
    688689            let origin = mainFrame.urlComponents.origin;
    689             this._mainFrameTreeElement = new WI.FolderTreeElement(origin);
     690            this._mainFrameTreeElement = new WI.OriginTreeElement(origin, mainFrame, {hasChildren: true});
    690691            this._originTreeElementMap.set(origin, this._mainFrameTreeElement);
    691692            break;
     
    760761                let origin = resource.urlComponents.origin;
    761762                if (origin) {
    762                     let frameTreeElement = this._originTreeElementMap.get(origin);
    763                     if (!frameTreeElement) {
    764                         frameTreeElement = new WI.FolderTreeElement(origin);
    765                         this._originTreeElementMap.set(origin, frameTreeElement);
    766 
    767                         let index = insertionIndexForObjectInListSortedByFunction(frameTreeElement, this._resourcesTreeOutline.children, this._boundCompareTreeElements);
    768                         this._resourcesTreeOutline.insertChild(frameTreeElement, index);
     763                    let originTreeElement = this._originTreeElementMap.get(origin);
     764                    if (!originTreeElement) {
     765                        originTreeElement = new WI.OriginTreeElement(origin, resource.parentFrame, {hasChildren: true});
     766                        this._originTreeElementMap.set(origin, originTreeElement);
     767
     768                        let index = insertionIndexForObjectInListSortedByFunction(originTreeElement, this._resourcesTreeOutline.children, this._boundCompareTreeElements);
     769                        this._resourcesTreeOutline.insertChild(originTreeElement, index);
    769770                    }
    770771
     
    773774                        subpath = subpath.substring(1);
    774775
    775                     parentTreeElement = frameTreeElement.createFoldersAsNeededForSubpath(subpath, this._boundCompareTreeElements);
     776                    parentTreeElement = originTreeElement.createFoldersAsNeededForSubpath(subpath, this._boundCompareTreeElements);
    776777                } else
    777778                    parentTreeElement = this._resourcesTreeOutline;
     
    15491550
    15501551        if (treeElement instanceof WI.FolderTreeElement
     1552            || treeElement instanceof WI.OriginTreeElement
    15511553            || treeElement instanceof WI.ResourceTreeElement
    15521554            || treeElement instanceof WI.ScriptTreeElement
     
    18441846        parentTreeElement.removeChild(scriptTreeElement);
    18451847
    1846         if (parentTreeElement instanceof WI.FolderTreeElement) {
     1848        if (parentTreeElement instanceof WI.FolderTreeElement || parentTreeElement instanceof WI.OriginTreeElement) {
    18471849            parentTreeElement.representedObject.remove(script);
    18481850
Note: See TracChangeset for help on using the changeset viewer.