Web Inspector: Navigator should show tree element for each folder in the source path.
https://bugs.webkit.org/show_bug.cgi?id=108943

Reviewed by Pavel Feldman.

Source/WebCore:

NavigatorView now renders tree element for each folder in uiSourceCode uri.
Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
ScriptsNavigator has horizontal scroll now.
Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').

Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html

* English.lproj/localizedStrings.js:
* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorView):
(WebInspector.NavigatorView.iconClassForType):
(WebInspector.NavigatorView.prototype.addUISourceCode):
(WebInspector.NavigatorView.prototype._getProjectNode):
(WebInspector.NavigatorView.prototype._createProjectNode):
(WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
(WebInspector.NavigatorView.prototype._getFolderNode):
(WebInspector.NavigatorView.prototype._createFolderNode):
(WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
(WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
(WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
(WebInspector.NavigatorView.prototype.revealUISourceCode):
(WebInspector.NavigatorView.prototype.removeUISourceCode):
(WebInspector.NavigatorView.prototype.rename):
(WebInspector.NavigatorView.prototype.reset):
(.typeWeight):
(WebInspector.NavigatorTreeOutline._treeElementsCompare):
(WebInspector.BaseNavigatorTreeElement):
(WebInspector.BaseNavigatorTreeElement.prototype.type):
(WebInspector.NavigatorFolderTreeElement):
(WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
(WebInspector.NavigatorFolderTreeElement.prototype.onattach):
(WebInspector.NavigatorSourceTreeElement):
(WebInspector.NavigatorTreeNode):
(WebInspector.NavigatorTreeNode.prototype.treeElement):
(WebInspector.NavigatorTreeNode.prototype.dispose):
(WebInspector.NavigatorTreeNode.prototype.isRoot):
(WebInspector.NavigatorTreeNode.prototype.hasChildren):
(WebInspector.NavigatorTreeNode.prototype.populate):
(WebInspector.NavigatorTreeNode.prototype.wasPopulated):
(WebInspector.NavigatorTreeNode.prototype.didAddChild):
(WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
(WebInspector.NavigatorTreeNode.prototype.isPopulated):
(WebInspector.NavigatorTreeNode.prototype.isEmpty):
(WebInspector.NavigatorTreeNode.prototype.child):
(WebInspector.NavigatorTreeNode.prototype.children):
(WebInspector.NavigatorTreeNode.prototype.appendChild):
(WebInspector.NavigatorTreeNode.prototype.removeChild):
(WebInspector.NavigatorTreeNode.prototype.reset):
(WebInspector.NavigatorRootTreeNode):
(WebInspector.NavigatorRootTreeNode.prototype.isRoot):
(WebInspector.NavigatorRootTreeNode.prototype.treeElement):
(WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
(WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
(WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
(WebInspector.NavigatorUISourceCodeTreeNode):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
(WebInspector.NavigatorFolderTreeNode):
(WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
(WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
(WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
(WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
(WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
(WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
(WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):
* inspector/front-end/ScriptsNavigator.js:
* inspector/front-end/SimpleWorkspaceProvider.js:
(WebInspector.SimpleProjectDelegate.prototype.displayName):
* inspector/front-end/navigatorView.css:
(.navigator > ol):
(.navigator .base-navigator-tree-element-title):
(.navigator-tabbed-pane .navigator-container):

LayoutTests:

* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest.):
(initialize_DebuggerTest):
* http/tests/inspector/workspace-test.js:
(initialize_WorkspaceTest.InspectorTest.createWorkspace):
* inspector/debugger/navigator-view-expected.txt: Added.
* inspector/debugger/navigator-view.html: Added.
* inspector/debugger/scripts-file-selector-expected.txt: Removed.
* inspector/debugger/scripts-file-selector.html: Removed.
* inspector/debugger/scripts-panel-expected.txt:
* inspector/debugger/scripts-panel.html:
* inspector/debugger/scripts-sorting-expected.txt:
* inspector/debugger/scripts-sorting.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144467 268f45cc-cd09-0410-ab3c-d52691b4dbfc