2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com).
4 * Copyright (C) 2009 Joseph Pecoraro
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
16 * its contributors may be used to endorse or promote products derived
17 * from this software without specific prior written permission.
19 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
20 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
23 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 * @return {?WebInspector.Resource}
35 WebInspector.resourceForURL = function(url)
37 var targets = WebInspector.targetManager.targets();
38 for (var i = 0; i < targets.length; ++i) {
39 var resource = targets[i].resourceTreeModel.resourceForURL(url);
47 * @param {function(!WebInspector.Resource)} callback
49 WebInspector.forAllResources = function(callback)
51 var targets = WebInspector.targetManager.targets();
52 for (var i = 0; i < targets.length; ++i)
53 targets[i].resourceTreeModel.forAllResources(callback);
60 WebInspector.displayNameForURL = function(url)
65 var resource = WebInspector.resourceForURL(url);
67 return resource.displayName;
69 var uiSourceCode = WebInspector.networkMapping.uiSourceCodeForURLForAnyTarget(url);
71 return uiSourceCode.displayName();
73 if (!WebInspector.targetManager.inspectedPageURL())
74 return url.trimURL("");
76 var parsedURL = WebInspector.targetManager.inspectedPageURL().asParsedURL();
77 var lastPathComponent = parsedURL ? parsedURL.lastPathComponent : parsedURL;
78 var index = WebInspector.targetManager.inspectedPageURL().indexOf(lastPathComponent);
79 if (index !== -1 && index + lastPathComponent.length === WebInspector.targetManager.inspectedPageURL().length) {
80 var baseURL = WebInspector.targetManager.inspectedPageURL().substring(0, index);
81 if (url.startsWith(baseURL))
82 return url.substring(index);
88 var displayName = url.trimURL(parsedURL.host);
89 return displayName === "/" ? parsedURL.host + "/" : displayName;