Web Inspector: Array/Collection Sizes should be visible and distinct
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-03-04  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: Array/Collection Sizes should be visible and distinct
4         https://bugs.webkit.org/show_bug.cgi?id=142254
5
6         Reviewed by Timothy Hatcher.
7
8         * UserInterface/Models/ObjectPreview.js:
9         (WebInspector.ObjectPreview):
10         (WebInspector.ObjectPreview.fromPayload):
11         (WebInspector.ObjectPreview.prototype.get size):
12         (WebInspector.ObjectPreview.prototype.hasSize):
13         * UserInterface/Protocol/RemoteObject.js:
14         (WebInspector.RemoteObject):
15         (WebInspector.RemoteObject.fromPrimitiveValue):
16         (WebInspector.RemoteObject.fromPayload):
17         (WebInspector.RemoteObject.prototype.get size):
18         (WebInspector.RemoteObject.prototype.hasSize):
19         Check if this type has a size and get the size.
20         Gracefully handle construction for legacy protocols.
21
22         * UserInterface/Views/ObjectPreviewView.css:
23         (.object-preview > .size):
24         * UserInterface/Views/FormattedValue.css:
25         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap) > .size):
26         Style the array/collection size.
27
28         * UserInterface/Views/ObjectPreviewView.js:
29         (WebInspector.ObjectPreviewView):
30         * UserInterface/Views/FormattedValue.js:
31         (WebInspector.FormattedValue.createElementForTypesAndValue):
32         (WebInspector.FormattedValue.createElementForRemoteObject):
33         (WebInspector.FormattedValue.createElementForObjectPreview):
34         (WebInspector.FormattedValue.createElementForPropertyPreview):
35         Add an element showing the array/collection size.
36
37         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
38         (WebInspector.ObjectTreePropertyTreeElement.prototype):
39         Remove special handling for Array sizes now that this is handled earlier.
40
41         * UserInterface/Controllers/StorageManager.js:
42         (WebInspector.StorageManager.prototype.processData):
43         (WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
44         Fix what looks like broken RemoteObject construction.
45
46 2015-03-04  Brian J. Burg  <burg@cs.washington.edu>
47
48         Web Inspector: TimelineViews should be displayed in a ContentViewContainer
49         https://bugs.webkit.org/show_bug.cgi?id=142290
50
51         Reviewed by Timothy Hatcher.
52
53         TimelineRecordingContentView has a bunch of logic to manage the currently visible TimelineView.
54         This could be delegated to a ContentViewContainer to simplify the logic. It also opens the possibility
55         for other views to be displayed beneath the timeline overview graphs when it makes sense to do so.
56
57         In order to be displayable in the container, TimelineView and its subclasses have been upgraded to
58         be ContentView subclasses. This also reduces some code duplication for basic view management.
59
60         * UserInterface/Views/ContentView.js:
61         (WebInspector.ContentView): Move base class instantiation pattern from TimelineView to here.
62         (WebInspector.ContentView.isViewable):
63         * UserInterface/Views/LayoutTimelineView.js: Use ContentView events and base methods.
64         (WebInspector.LayoutTimelineView.prototype.shown):
65         (WebInspector.LayoutTimelineView.prototype.hidden):
66         (WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):
67         * UserInterface/Views/NetworkTimelineView.js: Use ContentView events and base methods.
68         (WebInspector.NetworkTimelineView.prototype.shown):
69         (WebInspector.NetworkTimelineView.prototype.hidden):
70         (WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
71         * UserInterface/Views/OverviewTimelineView.js: Use ContentView events and base methods.
72         (WebInspector.OverviewTimelineView.prototype.shown):
73         (WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
74         (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
75         * UserInterface/Views/ScriptTimelineView.js: Use ContentView events and base methods.
76         (WebInspector.ScriptTimelineView.prototype.shown):
77         (WebInspector.ScriptTimelineView.prototype.hidden):
78         (WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
79         * UserInterface/Views/TimelineRecordingContentView.css: Use WebInspector.ContentViewContainer class.
80         (.content-view.timeline-recording > .content-view-container):
81         (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid td):
82         (.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
83         (.content-view.timeline-recording > .view-container): Deleted.
84         (.content-view.timeline-recording > .view-container > .timeline-view > .data-grid td): Deleted.
85         (.content-view.timeline-recording > .view-container > .timeline-view > .data-grid table.data): Deleted.
86
87         * UserInterface/Views/TimelineRecordingContentView.js:
88         Many of the changes here mirror the implementation of ClusterContentView. Searching is disabled since
89         none of the timeline views are currently searchable using ContentViewContainer's full-text search.
90
91         In cases where we update the current timeline view, the currentTimelineView accessor returns the
92         content view if a TimelineView is shown in the content view container, otherwise null.
93
94         (WebInspector.TimelineRecordingContentView):
95         (WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView):
96         (WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
97         (WebInspector.TimelineRecordingContentView.prototype.get supplementalRepresentedObjects):
98         (WebInspector.TimelineRecordingContentView.prototype.get handleCopyEvent):
99         (WebInspector.TimelineRecordingContentView.prototype.get supportsSave):
100         (WebInspector.TimelineRecordingContentView.prototype.get saveData):
101         (WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView):
102         (WebInspector.TimelineRecordingContentView.prototype.shown):
103         (WebInspector.TimelineRecordingContentView.prototype.hidden):
104         (WebInspector.TimelineRecordingContentView.prototype.closed):
105         (WebInspector.TimelineRecordingContentView.prototype.canGoBack):
106         (WebInspector.TimelineRecordingContentView.prototype.canGoForward):
107         (WebInspector.TimelineRecordingContentView.prototype.goBack):
108         (WebInspector.TimelineRecordingContentView.prototype.goForward):
109         (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
110         (WebInspector.TimelineRecordingContentView.prototype.saveToCookie):
111         (WebInspector.TimelineRecordingContentView.prototype.get filterDidChange):
112         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
113         (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
114         (WebInspector.TimelineRecordingContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange):
115         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
116         (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
117         (WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
118         (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
119         (WebInspector.TimelineRecordingContentView.prototype.filterDidChange): Deleted.
120         (WebInspector.TimelineRecordingContentView.prototype._timelineViewSelectionPathComponentsDidChange): Deleted.
121         (WebInspector.TimelineRecordingContentView.prototype._showTimelineView): Deleted.
122         * UserInterface/Views/TimelineView.js: Remove duplicated functionality and use ContentView equivalents instead.
123         (WebInspector.TimelineView):
124         (WebInspector.TimelineView.prototype.filterUpdated):
125         (WebInspector.TimelineView.prototype.needsLayout):
126         (WebInspector.TimelineView.prototype.get representedObject): Deleted.
127         (WebInspector.TimelineView.prototype.get visible): Deleted.
128         (WebInspector.TimelineView.prototype.shown): Deleted.
129         (WebInspector.TimelineView.prototype.hidden): Deleted.
130
131 2015-03-03  Brian J. Burg  <burg@cs.washington.edu>
132
133         Web Inspector: selecting overview timeline tree elements without source locations doesn't update selection components
134         https://bugs.webkit.org/show_bug.cgi?id=142248
135
136         Reviewed by Timothy Hatcher.
137
138         Add a missing event dispatch to trigger recalculation of path components when showing the overview timeline view.
139
140         * UserInterface/Views/OverviewTimelineView.js:
141         (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
142
143 2015-03-03  Nikita Vasilyev  <nvasilyev@apple.com>
144
145         Web Inspector: Refactoring: separate ConsoleSession from ConsoleGroup
146         https://bugs.webkit.org/show_bug.cgi?id=142141
147
148         ConsoleSession doesn't have a title and it's not collapsible either.
149         Simplify ConsoleSession by removing excessive markup.
150
151         Reviewed by Timothy Hatcher.
152
153         * UserInterface/Controllers/JavaScriptLogViewController.js:
154         (WebInspector.JavaScriptLogViewController):
155         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
156         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
157         (WebInspector.JavaScriptLogViewController.prototype.get topConsoleGroup): Deleted.
158         * UserInterface/Main.html:
159         * UserInterface/Views/ConsoleGroup.js:
160         (WebInspector.ConsoleGroup):
161         (WebInspector.ConsoleGroup.prototype.render):
162         (WebInspector.ConsoleGroup.prototype.addMessage):
163         (WebInspector.ConsoleGroup.prototype.append):
164         (WebInspector.ConsoleGroup.prototype.hasMessages): Deleted.
165         * UserInterface/Views/ConsoleSession.js: Added.
166         (WebInspector.ConsoleSession):
167         (WebInspector.ConsoleSession.prototype.addMessage):
168         (WebInspector.ConsoleSession.prototype.append):
169         (WebInspector.ConsoleSession.prototype.hasMessages):
170         * UserInterface/Views/LogContentView.css:
171         (.console-session + .console-session):
172         (.console-group.new-session .console-group-messages .console-item:first-child): Deleted.
173         (.console-group.new-session): Deleted.
174
175 2015-03-03  Brian J. Burg  <burg@cs.washington.edu>
176
177         Web Inspector: popover should use requestAnimationFrame to drive move/resize animations
178         https://bugs.webkit.org/show_bug.cgi?id=142218
179
180         Reviewed by Timothy Hatcher.
181
182         Remove setTimeout workaround now that Inspector runs in its own process.
183
184         * UserInterface/Views/Popover.js:
185         (WebInspector.Popover.prototype.drawBackground):
186         (WebInspector.Popover.prototype._animateFrame):
187
188 2015-03-03  Brian J. Burg  <burg@cs.washington.edu>
189
190         Web Inspector: Console log level selector loses selection on reload
191         https://bugs.webkit.org/show_bug.cgi?id=142199
192
193         Reviewed by Timothy Hatcher.
194
195         The selected items in the console scope bar were being saved as settings,
196         but the "All" scope is forcibly selected on reload due to a logic bug.
197
198         * UserInterface/Base/Main.js:
199         (WebInspector.showFullHeightConsole):
200         The scope bar may already have selected items restored from WebInspector.Settings.
201         Don't select a scope unless explicitly requested (i.e., clicking on dashboard buttons)
202         or if no scopes are selected at all. (In the latter case, "All" is the default scope.)
203
204         * UserInterface/Views/LogContentView.js:
205         (WebInspector.LogContentView): Don't specify a default value here to avoid trampling
206         settings. The "All" scope is selected by default in showFullHeightConsole if
207         nothing else is selected.
208
209 2015-03-02  Joseph Pecoraro  <pecoraro@apple.com>
210
211         Web Inspector: Remove native extensions now built-in
212         https://bugs.webkit.org/show_bug.cgi?id=142203
213
214         Reviewed by Timothy Hatcher.
215
216         * UserInterface/Base/Utilities.js:
217
218 2015-03-02  Joseph Pecoraro  <pecoraro@apple.com>
219
220         Web Inspector: Context Menu to Log a Particular Object
221         https://bugs.webkit.org/show_bug.cgi?id=142198
222
223         Reviewed by Timothy Hatcher.
224
225         * UserInterface/Controllers/JavaScriptLogViewController.js:
226         (WebInspector.JavaScriptLogViewController.prototype.saveResultCallback):
227         (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
228         Add a way to show an execution and result immediately in the Log View.
229
230         * UserInterface/Views/ConsolePrompt.js:
231         (WebInspector.ConsolePrompt.prototype.pushHistoryItem):
232         (WebInspector.ConsolePrompt.prototype.commitTextOrInsertNewLine):
233         (WebInspector.ConsolePrompt.prototype._handleEnterKey):
234         (WebInspector.ConsolePrompt.prototype._commitHistoryEntry):
235         Add a way to append a history item to the console prompt history.
236
237         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
238         (WebInspector.ObjectTreePropertyTreeElement.prototype):
239         Add a context menu item to object tree properties to log the value.
240
241         * UserInterface/Protocol/RemoteObject.js:
242         (WebInspector.RemoteObject.createCallArgument):
243         (WebInspector.RemoteObject.prototype.callFunction):
244         (WebInspector.RemoteObject.prototype.asCallArgument):
245         Simplify CallArgument creation.
246
247         * UserInterface/Controllers/RuntimeManager.js:
248         (WebInspector.RuntimeManager.prototype.mycallback):
249         (WebInspector.RuntimeManager.prototype.saveResult):
250         Wrap RuntimeAgent.saveResult. If supported, run the backend command
251         and fetch a saved result index from the backend for the given value.
252
253         * Localizations/en.lproj/localizedStrings.js:
254         * UserInterface/Base/Main.js:
255         (WebInspector.contentLoaded):
256         * UserInterface/Views/LogContentView.js:
257         (WebInspector.LogContentView.prototype.get logViewController):
258         Misc.
259
260 2015-03-02  Joseph Pecoraro  <pecoraro@apple.com>
261
262         Web Inspector: Add Context Menus to Object Tree properties
263         https://bugs.webkit.org/show_bug.cgi?id=142125
264
265         Reviewed by Timothy Hatcher.
266
267         * Localizations/en.lproj/localizedStrings.js:
268         * UserInterface/Views/ObjectPropertiesSection.js:
269         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
270         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
271         Fix legacy implementation.
272
273         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
274         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
275         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
276         Give prototype buttons a tooltip.
277
278         (WebInspector.ObjectTreePropertyTreeElement.prototype.oncontextmenu):
279         (WebInspector.ObjectTreePropertyTreeElement.prototype._contextMenuHandler):
280         (WebInspector.ObjectTreePropertyTreeElement.prototype._appendMenusItemsForObject):
281         Context Menus based on the selected object.
282
283 2015-02-27  Joseph Pecoraro  <pecoraro@apple.com>
284
285         Web Inspector: Use Maps in ResourceCollection instead of objects
286         https://bugs.webkit.org/show_bug.cgi?id=142101
287
288         Reviewed by Timothy Hatcher.
289
290         * UserInterface/Models/ResourceCollection.js:
291         (WebInspector.ResourceCollection):
292         (WebInspector.ResourceCollection.prototype.resourcesWithType):
293         (WebInspector.ResourceCollection.prototype.removeAllResources):
294         (WebInspector.ResourceCollection.prototype.resourceForURL):
295         (WebInspector.ResourceCollection.prototype._associateWithResource):
296         (WebInspector.ResourceCollection.prototype._disassociateWithResource):
297         (WebInspector.ResourceCollection.prototype._resourceURLDidChange):
298         (WebInspector.ResourceCollection.prototype._resourceTypeDidChange):
299         Use Maps instead of objects.
300
301 2015-02-26  Nikita Vasilyev  <nvasilyev@apple.com>
302
303         Web Inspector: Add a subtle blue background for selected console messages
304         https://bugs.webkit.org/show_bug.cgi?id=142073
305
306         Reviewed by Timothy Hatcher.
307
308         * UserInterface/Views/LogContentView.css:
309         (.console-item.selected::after):
310         (.console-messages:focus .console-item.selected):
311         (.console-messages:focus .console-item.selected + .console-item):
312         (.console-error-level + .console-item):
313         (.console-error-level .section .header .title):
314         (.console-warning-level):
315         (.console-warning-level + .console-item):
316
317 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
318
319         Web Inspector: Colored console messages apply text color to object tree properties
320         https://bugs.webkit.org/show_bug.cgi?id=142051
321
322         Reviewed by Timothy Hatcher.
323
324         * UserInterface/Views/ObjectPreviewView.css:
325         (.object-preview):
326         * UserInterface/Views/ObjectTreeView.css:
327         (.object-tree):
328         Default the color to black within Object Tree and Object Preview views.
329
330 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
331
332         Web Inspector: Clear Log on Reload clears some logs that were after reload
333         https://bugs.webkit.org/show_bug.cgi?id=142070
334
335         Reviewed by Timothy Hatcher.
336
337         * UserInterface/Views/LogContentView.js:
338         (WebInspector.LogContentView.prototype._sessionStarted):
339         We can bail after calling clearLog, since that will already start
340         a new session for us.
341
342         (WebInspector.LogContentView.prototype._clearLog):
343         Don't trigger a backend clear messages, since that will cause us to
344         clear messages received between the request and response.
345
346 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
347
348         Web Inspector: Save Console Evaluations into Command Line variables $1-$99 ($n)
349         https://bugs.webkit.org/show_bug.cgi?id=142061
350
351         Reviewed by Timothy Hatcher.
352
353         * UserInterface/Controllers/RuntimeManager.js:
354         (WebInspector.RuntimeManager.prototype.evalCallback):
355         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
356         Add a saveResult parameter for the new protocol command in parameter.
357
358         * UserInterface/Views/ConsoleMessageImpl.js:
359         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
360         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
361         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
362         (WebInspector.ConsoleMessageImpl.prototype._rootPropertyPathForObject):
363         * UserInterface/Views/ObjectTreeView.js:
364         (WebInspector.ObjectTreeView.prototype.appendTitleSuffix):
365         For console evaluation results, show a "= $n" when the evaluation was
366         given a saved result index.
367
368         * UserInterface/Views/LogContentView.css:
369         (.console-saved-variable):
370         * UserInterface/Views/ObjectPreviewView.css:
371         (.object-preview-name):
372         Make $n and class names in previews always non-italics.
373
374         * UserInterface/Controllers/JavaScriptLogViewController.js:
375         (WebInspector.JavaScriptLogViewController.prototype.printResult):
376         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
377         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
378         (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
379         * UserInterface/Controllers/LogManager.js:
380         (WebInspector.LogManager.prototype.messagesCleared):
381         (WebInspector.LogManager.prototype._mainResourceDidChange):
382         Try to provide better autocompletion for $n, by populating autocompletion menus
383         from $1-$n where n is the maximum saved result index seen. Clear the maximum
384         when we clear the console.
385
386         * UserInterface/Views/ConsoleCommandResult.js:
387         (WebInspector.ConsoleCommandResult):
388         (WebInspector.ConsoleCommandResult.clearMaximumSavedResultIndex):
389         Keep track of the maximum savedResultIndex for console evaluation results.
390
391 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
392
393         Web Inspector: Set/Map appear as lossless when they have lossy entries
394         https://bugs.webkit.org/show_bug.cgi?id=142050
395
396         Reviewed by Timothy Hatcher.
397
398         * UserInterface/Views/ObjectPreviewView.js:
399         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
400         Take into account the lossless states of entry keys and values.
401
402 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
403
404         Web Inspector: New ObjectTree UI for Arrays / Maps / Sets
405         https://bugs.webkit.org/show_bug.cgi?id=142037
406
407         Reviewed by Timothy Hatcher.
408
409         * Localizations/en.lproj/localizedStrings.js:
410         * UserInterface/Main.html:
411         Miscellaneous changes.
412
413         * UserInterface/Models/PropertyDescriptor.js:
414         (WebInspector.PropertyDescriptor.prototype.isIndexProperty):
415         Useful for quickly checking if this property is numeric and possibly
416         an array index.
417
418         * UserInterface/Models/PropertyPath.js:
419         (WebInspector.PropertyPath.prototype.appendMapKey):
420         (WebInspector.PropertyPath.prototype.appendMapValue):
421         (WebInspector.PropertyPath.prototype.appendSetIndex):
422         Be specific about property paths into maps / sets. Note that a map
423         value may be displayable if the key is simple.
424
425         * UserInterface/Protocol/RemoteObject.js:
426         (WebInspector.RemoteObject.prototype.hasValue):
427         A simple value RemoteObject may have the value "undefined". So provide
428         a falsey proof helper that actually checks if we have a value.
429
430         (WebInspector.RemoteObject.prototype.isArray):
431         (WebInspector.RemoteObject.prototype.backendGetOwnPropertyDescriptor):
432         (WebInspector.RemoteObject.prototype.wrappedCallback):
433         (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptor):
434         Currently backend APIs exist only to get all properties. In the case
435         of collections, we often want to get only one property (__proto__).
436         This is a simple implementation on top of callFunctionOn.
437
438         * UserInterface/Views/ConsoleMessageImpl.js:
439         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
440         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
441         (WebInspector.ConsoleMessageImpl.prototype.appendUndefined): Deleted.
442         (WebInspector.ConsoleMessageImpl.prototype._printArray): Deleted.
443         (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry): Deleted.
444         Simplify array formatted to just use an ObjectTreeView. Add fixmes
445         that we should seed the ObjectTreeView with a starting property path.
446
447         * UserInterface/Views/FormattedValue.css:
448         (.formatted-node > ol):
449         Sometimes, a node's display was getting overridden by various console styles.
450         Force a node to always display block. We may be able to remove this later.
451
452         * UserInterface/Views/FormattedValue.js:
453         (WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
454         Helper for formatting a node / object / value more easily. This
455         is used by all collection types.
456
457         * UserInterface/Views/ObjectPreviewView.js:
458         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
459         We lost the nice sparse array support when switching to the new preview path,
460         we should add it back.
461
462         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
463         (.object-tree-array-index):
464         (.object-tree-array-index > .titles):
465         (.object-tree-array-index > .icon):
466         (.object-tree-array-index .index-name):
467         (.object-tree-array-index .index-value .object-tree):
468         (.object-tree-array-index .index-value .object-tree .object-tree-outline):
469         (.object-tree-property + ol .object-tree-array-index):
470         New styles specific to array index tree elements.
471
472         * UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
473         (.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name):
474         (.object-tree-map-entry.key):
475         (.object-tree-map-entry.key:first-of-type):
476         (.object-tree-map-entry):
477         New styles specific to map key/value tree elements.
478
479         * UserInterface/Views/ObjectTreeCollectionTreeElement.js: Removed.
480         Remove old collection implementation.
481
482         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js: Added.
483         (WebInspector.ObjectTreeArrayIndexTreeElement):
484         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype.get property):
485         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._resolvedValue):
486         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._propertyPathType):
487         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._resolvedValuePropertyPath):
488         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._thisPropertyPath):
489         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._propertyPathString):
490         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._updateTitle):
491         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
492         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._createInteractiveGetterElement.):
493         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._createReadOnlyIconElement):
494         Index followed by formatted value. Unfortunately a page can hack up an array
495         with getter properties, so also support getter values in an array. This ends
496         up copying a lot of ObjectTreePropertyTreeElement as a result.
497
498         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js: Added.
499         (WebInspector.ObjectTreeMapEntryTreeElement):
500         (WebInspector.ObjectTreeMapEntryTreeElement.prototype.get object):
501         (WebInspector.ObjectTreeMapEntryTreeElement.prototype._propertyPathString):
502         (WebInspector.ObjectTreeMapEntryTreeElement.prototype._titleFragment):
503         (WebInspector.ObjectTreeMapKeyTreeElement):
504         (WebInspector.ObjectTreeMapKeyTreeElement.prototype.displayPropertyName):
505         (WebInspector.ObjectTreeMapKeyTreeElement.prototype.resolvedValuePropertyPath):
506         (WebInspector.ObjectTreeMapValueTreeElement):
507         (WebInspector.ObjectTreeMapValueTreeElement.prototype.displayPropertyName):
508         (WebInspector.ObjectTreeMapValueTreeElement.prototype.resolvedValuePropertyPath):
509         Key/value followed by formatted value.
510
511         * UserInterface/Views/ObjectTreeSetIndexTreeElement.js: Added.
512         (WebInspector.ObjectTreeSetIndexTreeElement):
513         (WebInspector.ObjectTreeSetIndexTreeElement.prototype.get object):
514         (WebInspector.ObjectTreeSetIndexTreeElement.prototype._resolvedValuePropertyPath):
515         (WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment):
516         Dot followed by formatted value.
517
518         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
519         (.object-tree-property > .titles):
520         Reformat.
521
522         * UserInterface/Views/ObjectTreeView.css:
523         (.object-tree-property :matches(.formatted-string, .formatted-regexp)):
524         Upgrade generic styles.
525
526         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
527         (WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValue):
528         (WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath):
529         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateChildren):
530         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateChildrenInternal):
531         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateEntries):
532         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
533         * UserInterface/Views/ObjectTreeView.js:
534         (WebInspector.ObjectTreeView):
535         (WebInspector.ObjectTreeView.emptyMessageElement):
536         (WebInspector.ObjectTreeView.prototype.expand):
537         (WebInspector.ObjectTreeView.prototype.collapse):
538         (WebInspector.ObjectTreeView.prototype.update):
539         (WebInspector.ObjectTreeView.prototype._updateChildren):
540         (WebInspector.ObjectTreeView.prototype._updateEntries):
541         (WebInspector.ObjectTreeView.prototype._updateProperties):
542         (WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
543         Both ObjectTreeView and ObjectTreePropertyTreeElement will fetch only collection
544         entries or properties depending on the type of the object being expanded.
545
546         (WebInspector.ObjectTreeView.prototype._trackWeakEntries):
547         (WebInspector.ObjectTreeView.prototype._untrackWeakEntries):
548         Allow WeakMap entries to be Garbage Collected when the ObjectTreeView
549         collapses or the console is cleared. FIXME for handling sub-tree WeakMaps.
550
551 2015-02-26  Brent Fulgham  <bfulgham@apple.com>
552
553         [Win] Make build logs more legible by reducing noise
554         https://bugs.webkit.org/show_bug.cgi?id=142034
555
556         Reviewed by Alexey Proskuryakov.
557
558         Modify batch files, makefiles, and DOS commands to remove
559         uninteresting/unhelpful output.
560
561         * WebInspectorUI.vcxproj/WebInspectorUI.make:
562
563 2015-02-25  Joseph Pecoraro  <pecoraro@apple.com>
564
565         Web Inspector: Improve Regex/Error output in Object Tree and Previews
566         https://bugs.webkit.org/show_bug.cgi?id=142010
567
568         Reviewed by Timothy Hatcher.
569
570         * UserInterface/Views/ObjectPreviewView.js:
571         (WebInspector.ObjectPreviewView):
572         (WebInspector.ObjectPreviewView.prototype._initTitleElement):
573         Since some object types may be formatted as simple values, ensure they get
574         the formatted style even in the title view.
575
576         (WebInspector.ObjectPreviewView.prototype._appendPreview):
577         Those object types that can be formatted as simple values should skip
578         to the value formatting phase.
579
580         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
581         Do not show property previews for error objects. Always assume lossy
582         so that it can be expanded.
583
584         * UserInterface/Views/ObjectTreeView.js:
585         (WebInspector.ObjectTreeView):
586         Make a similiar improvement for ObjectTree titles when previews are
587         unavailable. This will make dir(value) show a stylized value in the
588         title of the Object Tree.
589
590 2015-02-25  Joseph Pecoraro  <pecoraro@apple.com>
591
592         Web Inspector: Improve PropertyPath display strings for getters / values
593         https://bugs.webkit.org/show_bug.cgi?id=142008
594
595         Reviewed by Timothy Hatcher.
596
597         * UserInterface/Base/Utilities.js:
598         (doubleQuotedString):
599         Helper to double quote a string and escape double quotes with-in it.
600
601         * UserInterface/Models/PropertyPath.js:
602         (WebInspector.PropertyPath.prototype.get reducedPath):
603         Compute the path eliminating unnecessary __proto__s. Note we don't
604         property handle the case where a .__proto__.x is override earlier
605         by a .x, but that case is rare.
606
607         (WebInspector.PropertyPath.prototype.displayPath):
608         Helper for choosing fullPath or reducedPath display strings.
609
610         (WebInspector.PropertyPath.prototype.appendPropertyName):
611         (WebInspector.PropertyPath.prototype.appendGetterPropertyName):
612         (WebInspector.PropertyPath.prototype.appendSetterPropertyName):
613         (WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
614         When appending a descriptor, specify if it is for a getter/setter or value.
615         For getters / setters the actual function can be directly fetched via
616         __lookupGetter__/__lookupSetter__. Continue to use the property name for values.
617
618         * UserInterface/Views/FormattedValue.js:
619         (WebInspector.FormattedValue.createElementForTypesAndValue):
620
621         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
622         (WebInspector.ObjectTreePropertyTreeElement.prototype._propertyPathType):
623         (WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath):
624         (WebInspector.ObjectTreePropertyTreeElement.prototype._thisPropertyPath):
625         (WebInspector.ObjectTreePropertyTreeElement.prototype):
626
627 2015-02-24  Joseph Pecoraro  <pecoraro@apple.com>
628
629         Web Inspector: Eliminate console-formatted-* class names in favor of formatted-*
630         https://bugs.webkit.org/show_bug.cgi?id=141948
631
632         Reviewed by Timothy Hatcher.
633
634         * UserInterface/Views/FormattedValue.js:
635         (WebInspector.FormattedValue.createElementForNode):
636         Helper for formatting a node as a DOMTreeOutline.
637
638         * UserInterface/Views/ConsoleMessageImpl.js:
639         (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
640         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
641         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
642         (WebInspector.ConsoleMessageImpl.prototype.appendUndefined):
643         (WebInspector.ConsoleMessageImpl.prototype._printArray):
644         (WebInspector.ConsoleMessageImpl.prototype.): Deleted.
645         * UserInterface/Views/LogContentView.css:
646         (.console-user-command-result):
647         (.console-formatted-object): Deleted.
648         (.console-object-preview): Deleted.
649         (.expanded .console-object-preview): Deleted.
650         (.console-object-preview .name): Deleted.
651         (.expanded .console-object-preview > .console-object-preview-body): Deleted.
652         (.console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
653         (.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object): Deleted.
654         (.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
655         (.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap): Deleted.
656         (:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .section): Deleted.
657
658         * UserInterface/Views/LogContentView.js:
659         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
660         (WebInspector.LogContentView.prototype._rightArrowWasPressed):
661         Add FIXMEs since this will no longer work with ObjectTree.
662
663         * UserInterface/Views/ObjectPreviewView.css:
664         (.object-preview):
665         * UserInterface/Views/ObjectTreeView.css:
666         (.object-tree):
667         Copy over the font styles from console-formatted-object.
668
669         * UserInterface/Views/ObjectPropertiesSection.js:
670         (WebInspector.ObjectPropertyTreeElement.prototype.update):
671         * UserInterface/Views/SourceCodeTextEditor.js:
672         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
673         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
674         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForString):
675         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):
676         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNumber):
677         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForBoolean):
678         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNull):
679         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForUndefined):
680         Convert to formatted value class names.
681
682 2015-02-24  Joseph Pecoraro  <pecoraro@apple.com>
683
684         Web Inspector: Make Getter/Setter RemoteObject property and ObjectPreview handling consistent
685         https://bugs.webkit.org/show_bug.cgi?id=141587
686
687         Reviewed by Timothy Hatcher.
688
689         * UserInterface/Models/CallFrame.js:
690         (WebInspector.CallFrame.prototype.collectScopeChainVariableNames):
691         * UserInterface/Models/PropertyDescriptor.js:
692         (WebInspector.PropertyDescriptor.prototype.get nativeGetter):
693         * UserInterface/Protocol/RemoteObject.js:
694         (WebInspector.RemoteObject.fromPayload):
695         (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
696         (WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
697         (WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
698         (WebInspector.RemoteObject.prototype._getPropertyDescriptors):
699         (WebInspector.RemoteObject.prototype.if):
700         (WebInspector.RemoteObject.prototype.deprecatedGetOwnProperties):
701         (WebInspector.RemoteObject.prototype.deprecatedGetAllProperties):
702         (WebInspector.RemoteObject.prototype._deprecatedGetProperties):
703         (WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors): Deleted.
704         (WebInspector.RemoteObject.prototype.callback): Deleted.
705         (WebInspector.RemoteObject.prototype.getOwnProperties): Deleted.
706         (WebInspector.RemoteObject.prototype.getOwnAndGetterProperties): Deleted.
707         (WebInspector.RemoteObject.prototype.getAllProperties): Deleted.
708         (WebInspector.RemoteObject.prototype.set else): Deleted.
709         * UserInterface/Views/ConsoleMessageImpl.js:
710         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
711         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
712         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady):
713         * UserInterface/Views/ObjectPropertiesSection.js:
714         (WebInspector.ObjectPropertiesSection.prototype.update):
715         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
716         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
717         (WebInspector.ObjectTreePropertyTreeElement.prototype.):
718         (WebInspector.ObjectTreePropertyTreeElement.prototype):
719         * UserInterface/Views/ObjectTreeView.js:
720         (WebInspector.ObjectTreeView.prototype.update):
721
722 2015-02-24  Joseph Pecoraro  <pecoraro@apple.com>
723
724         Web Inspector: New Object Tree View UI
725         https://bugs.webkit.org/show_bug.cgi?id=141932
726
727         Reviewed by Timothy Hatcher.
728
729         Part 1: Majority of the UI.
730
731         * Localizations/en.lproj/localizedStrings.js:
732         * UserInterface/Images/Eye.svg: Added.
733         * UserInterface/Images/TypeBoolean.svg: Added.
734         * UserInterface/Images/TypeNull.svg: Added.
735         * UserInterface/Images/TypeNumber.svg: Added.
736         * UserInterface/Images/TypeObject.svg: Added.
737         * UserInterface/Images/TypeRegex.svg: Added.
738         * UserInterface/Images/TypeString.svg: Added.
739         * UserInterface/Images/TypeSymbol.svg: Added.
740         * UserInterface/Images/TypeUndefined.svg: Added.
741         * UserInterface/Main.html:
742         Miscellaneous.
743
744         * UserInterface/Views/FormattedValue.css:
745         (.formatted-boolean):
746         Give booleans a light purple color.
747
748         * UserInterface/Views/FormattedValue.js:
749         (WebInspector.FormattedValue.createElementForTypesAndValue):
750         Previously we were truncating function value logging in the console. E.g.
751           js> multiLineFunction
752           <-  function multiLineFunction() {
753         No longer truncate so we display the full string.
754
755         * UserInterface/Models/PropertyPath.js: Added.
756         (WebInspector.PropertyPath):
757         (WebInspector.PropertyPath.prototype.get object):
758         (WebInspector.PropertyPath.prototype.get parent):
759         (WebInspector.PropertyPath.prototype.get isPrototype):
760         (WebInspector.PropertyPath.prototype.get rootObject):
761         (WebInspector.PropertyPath.prototype.get lastNonPrototypeObject):
762         (WebInspector.PropertyPath.prototype.get pathComponent):
763         (WebInspector.PropertyPath.prototype.get fullPath):
764         (WebInspector.PropertyPath.prototype.isRoot):
765         (WebInspector.PropertyPath.prototype.isPathComponentImpossible):
766         (WebInspector.PropertyPath.prototype.isFullPathImpossible):
767         (WebInspector.PropertyPath.prototype.appendPropertyName):
768         (WebInspector.PropertyPath.prototype.appendPropertySymbol):
769         (WebInspector.PropertyPath.prototype.appendInternalPropertyName):
770         (WebInspector.PropertyPath.prototype.appendArrayIndex):
771         (WebInspector.PropertyPath.prototype.appendCollectionIndex):
772         (WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
773         (WebInspector.PropertyPath.prototype._canPropertyNameBeDotAccess):
774         PropertyPaths are a linked list of remote object / patch component pairs.
775         For a property like "foo['property 1'].__proto__.baz" we will have a PropertyPath
776         chain with the RemoteObject for each component. This allows us to accurately
777         select the RemoteObject on which we should invoke a getter. It also allows
778         us to display the property path string from the root object, if possible.
779
780         * UserInterface/Protocol/RemoteObject.js:
781         (WebInspector.RemoteObject.prototype.callFunction):
782         (WebInspector.RemoteObject.prototype.backendInvokeGetter):
783         (WebInspector.RemoteObject.prototype.invokeGetter):
784         Provide a way to invoke a getter function on a remote object if we
785         have a reference to the getter function. At the same time, improve
786         the mostly unused callFunction API to automatically convert
787         RemoteObjects / values to their Runtime.CallArgument format.
788
789         * UserInterface/Views/ObjectTreePropertyTreeElement.css: Added.
790         (.object-tree-property):
791         (.object-tree-property > .disclosure-button):
792         (.object-tree-property.parent > .disclosure-button):
793         (.object-tree-property.parent.expanded > .disclosure-button):
794         (.object-tree-property > .titles):
795         Focused styles for the ObjectTree property GeneralTreeElements.
796         Reuse navigation sidebar disclosure-triangles.
797
798         (.object-tree-property > .icon):
799         (.object-tree-property.boolean > .icon):
800         (.object-tree-property.function > .icon):
801         (.object-tree-property.number > .icon):
802         (.object-tree-property.object > .icon):
803         (.object-tree-property.object.null > .icon):
804         (.object-tree-property.object.node > .icon):
805         (.object-tree-property.regex > .icon):
806         (.object-tree-property.string > .icon):
807         (.object-tree-property.symbol > .icon):
808         (.object-tree-property.undefined > .icon):
809         Use different icons for different object types. Special case
810         "accessor" to be undefined.
811
812         (.object-tree-property .prototype-name):
813         (.object-tree-property .property-name.not-enumerable):
814         Style property names in sans-serif font.
815         Give non-enumerable properties a slightly transparent look.
816
817         (.object-tree-property.prototype-property):
818         (.object-tree-property.prototype-property > .icon):
819         (.object-tree-property.prototype-property + ol):
820         Special styles for prototype properties and their children.
821
822         (.object-tree-property .getter):
823         (.object-tree-property .getter:hover):
824         (.object-tree-property .read-only):
825         Styles for clickable getter button and non-interactive read-only indicator.
826
827         (.object-tree-property :matches(.formatted-string, .formatted-regexp)):
828         Do not allow wrapping for values that previously allowed wrapping.
829
830         (.object-tree-property .value.error):
831         If getting a value resulted in an error, display that error in red.
832
833         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
834         (WebInspector.ObjectTreePropertyTreeElement):
835         Extend from GeneralTreeElement and set up class names on the root <li> object.
836
837         (WebInspector.ObjectTreePropertyTreeElement.prototype.onattach): Deleted.
838         No longer needed by using GeneralTreeElement.
839
840         (WebInspector.ObjectTreePropertyTreeElement.prototype.onexpand):
841         (WebInspector.ObjectTreePropertyTreeElement.prototype.oncollapse):
842         Expand / collapse an associated ObjectPreview if we have one.
843
844         (WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValue):
845         (WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath):
846         This PropertyTreeElement may be displaying for a value, or a getter that has
847         gotten a value. Refer to this as the "resolvedValue".
848
849         (WebInspector.ObjectTreePropertyTreeElement.prototype._thisPropertyPath):
850         A PropertyPath leaf used for tooltips.
851
852         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateHasChildren):
853         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTooltips):
854         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAndIcon):
855         Helpers for updating small parts of the UI. When a getter is invoked,
856         we need to update the entire UI of this TreeElement.
857
858         (WebInspector.ObjectTreePropertyTreeElement.prototype._titleFragment):
859         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle): Deleted.
860         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle): Deleted.
861         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle): Deleted.
862         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
863         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
864         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitleAPIStyle):
865         Create the UI for the mainTitle of this PropertyTreeElement.
866         
867         (WebInspector.ObjectTreePropertyTreeElement.prototype._createInteractiveGetterElement):
868         (WebInspector.ObjectTreePropertyTreeElement.prototype._createReadOnlyIconElement):
869         Helpers for creating the small components of the title UI.
870
871         (WebInspector.ObjectTreePropertyTreeElement.prototype._alwaysDisplayAsProperty):
872         Establish when a property should still be displayed as a "property" even when in API mode.
873         For example a value property on a prototype, should still display as an expandable property.
874
875         * UserInterface/Views/ObjectTreeView.css:
876         (.object-tree > :matches(.title, .object-preview)::before):
877         (.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
878         (.object-tree.expanded > :matches(.title, .object-preview)::before):
879         (.object-tree .object-tree-outline):
880         (.object-tree-outline ol):
881         (.object-tree-outline li .empty-message):
882         (:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
883         (.object-tree > .title): Deleted.
884         (.object-tree-outline): Deleted.
885         (.object-tree-outline li): Deleted.
886         (.object-tree-outline li.parent): Deleted.
887         (.object-tree-outline li.parent::before): Deleted.
888         (.object-tree-outline li.parent.expanded::before): Deleted.
889         (.object-tree-property .name): Deleted.
890         (.object-tree-property .name.not-enumerable): Deleted.
891         (.object-tree-property .value.error): Deleted.
892         (.console-group-messages .object-tree:not(.lossless-preview)): Deleted.
893         (.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)): Deleted.
894         (.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)::before): Deleted.
895         (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree): Deleted.
896         (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline): Deleted.
897         Move most PropertyTreeElement specific styles into ObjectPropertyTreeElement.css.
898         Plenty of console specific files were eliminated.
899
900         * UserInterface/Views/ObjectTreeView.js:
901         (WebInspector.ObjectTreeView.prototype.update):
902         (WebInspector.ObjectTreeView.prototype._updateProperties):
903
904
905         Part 2: Provide better parameter lists for native functions.
906
907         When expanding an object's prototype chain, with authored code
908         you will accurately see parameter lists for user authored functions
909         because we can get this by parsing Function.prototype.toString.
910         For native code, we don't get any parameter information. In such cases
911         we can detect we are a native function, and provide our own strings.
912
913         This fills in most of the JavaScript built-ins and some DOM
914         functions, however we should autogenerate the rest of the DOM.
915
916         * UserInterface/Base/Utilities.js:
917         (isFunctionStringNativeCode):
918         Helper to check if a function is native or not based on its string.
919
920         * UserInterface/Main.html:
921         * UserInterface/Models/NativeFunctionParameters.js: Added.
922         Dictionary of parameter lists for native constructor functions
923         and prototype functions.
924
925         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
926         (WebInspector.ObjectTreePropertyTreeElement):
927         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionPropertyString):
928         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
929         (WebInspector.ObjectTreePropertyTreeElement.prototype):
930         When we have a native function, try to provide a better parameter string.
931
932
933         Part 3: Better handle errors when invoking getters.
934
935         * UserInterface/Protocol/RemoteObject.js:
936         (WebInspector.RemoteObject.prototype.callFunction):
937         (WebInspector.RemoteObject.prototype.invokeGetter):
938         Pass the error, wasThrown, and result through to the caller so they can
939         act on all the information possible. Provide encapsulation though
940         and auto-convert the result to a RemoteObject for the callback.
941
942         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
943         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved):
944         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady):
945         * UserInterface/Views/DOMTreeElement.js:
946         (WebInspector.DOMTreeElement.prototype._createTooltipForNode.setTooltip):
947         (WebInspector.DOMTreeElement.prototype._createTooltipForNode.resolvedNode):
948         (WebInspector.DOMTreeElement.prototype._createTooltipForNode):
949         Update current users of callFunctionOn for the new callback parameters.
950
951         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
952         (.object-tree-property.had-error > .icon):
953         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
954         (WebInspector.ObjectTreePropertyTreeElement):
955         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateHasChildren):
956         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAndIcon):
957         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
958         (WebInspector.ObjectTreePropertyTreeElement.prototype._createInteractiveGetterElement.):
959         Better style getters with errors.
960
961 2015-02-24  Joseph Pecoraro  <pecoraro@apple.com>
962
963         Web Inspector: Do not show "{}" after Date description in Object Previews
964         https://bugs.webkit.org/show_bug.cgi?id=141898
965
966         Reviewed by Timothy Hatcher.
967
968         * UserInterface/Views/ObjectPreviewView.js:
969         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
970         Only show "{...}" section for Date objects that have user
971         defined properties. Otherwise, Dates do not have properties.
972
973 2015-02-23  Joseph Pecoraro  <pecoraro@apple.com>
974
975         Web Inspector: Remove unused console-object-preview styles - replaced by ObjectPreviewView
976         https://bugs.webkit.org/show_bug.cgi?id=141945
977
978         Reviewed by Timothy Hatcher.
979
980         * UserInterface/Views/LogContentView.css:
981         (.console-object-preview): Deleted.
982         (.expanded .console-object-preview): Deleted.
983         (.console-object-preview .name): Deleted.
984         (.expanded .console-object-preview > .console-object-preview-body): Deleted.
985         (.console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
986         (.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object): Deleted.
987         (.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
988
989 2015-02-23  Saam Barati  <saambarati1@gmail.com>
990
991         Web Inspector: BasicBlockAnnotator ranges should be inclusive of both the start and end offset
992         https://bugs.webkit.org/show_bug.cgi?id=141334
993
994         Reviewed by Timothy Hatcher.
995
996         * UserInterface/Views/TextEditor.js:
997         (WebInspector.TextEditor.prototype.addStyleToTextRange):
998
999 2015-02-22  Joseph Pecoraro  <pecoraro@apple.com>
1000
1001         Web Inspector: Lazily Create GeneralTreeElement Status Elements
1002         https://bugs.webkit.org/show_bug.cgi?id=141873
1003
1004         Reviewed by Timothy Hatcher.
1005
1006         * UserInterface/Views/GeneralTreeElement.js:
1007         (WebInspector.GeneralTreeElement.prototype.set status):
1008         (WebInspector.GeneralTreeElement.prototype.onattach):
1009         (WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded):
1010         (WebInspector.GeneralTreeElement.prototype._updateStatusElement):
1011         Lazily create and attach the status element container if
1012         "this.status" is actually used by a GeneralTreeElement subclass.
1013
1014         * UserInterface/Views/ResourceTreeElement.js:
1015         (WebInspector.ResourceTreeElement.prototype._updateStatus):
1016         Set to the empty string instead of null to avoid inadvertently
1017         creating status elements for no reason.
1018
1019 2015-02-22  Joseph Pecoraro  <pecoraro@apple.com>
1020
1021         Web Inspector: Give ObjectPreviewView a showTitle/showPreview toggle
1022         https://bugs.webkit.org/show_bug.cgi?id=141874
1023
1024         Reviewed by Timothy Hatcher.
1025
1026         Refactor ObjectTree/ObjectPreview a bit to make it easier
1027         to use expanding/collapsing previews in other places.
1028
1029         * UserInterface/Views/ObjectPreviewView.js:
1030         (WebInspector.ObjectPreviewView):
1031         (WebInspector.ObjectPreviewView.prototype.showTitle):
1032         (WebInspector.ObjectPreviewView.prototype.showPreview):
1033         Maintain both a titleElement and previewElement. Show only
1034         one at a time based on showTitle/showPreview APIs.
1035
1036         * UserInterface/Views/ObjectTreeView.css:
1037         (.object-tree.expanded .object-preview):
1038         * UserInterface/Views/ObjectTreeView.js:
1039         (WebInspector.ObjectTreeView):
1040         (WebInspector.ObjectTreeView.prototype.expand):
1041         (WebInspector.ObjectTreeView.prototype.collapse):
1042         If we have a preview, let PreviewView handle toggling
1043         between a title and preview display.
1044
1045 2015-02-22  Joseph Pecoraro  <pecoraro@apple.com>
1046
1047         Web Inspector: Make Console UI icons / lines slightly larger
1048         https://bugs.webkit.org/show_bug.cgi?id=141876
1049
1050         Reviewed by Timothy Hatcher.
1051
1052         In preparation for a new ObjectTree design with larger icons,
1053         increase the size of existing output in the Console / Log
1054         so they don't look so small in comparison. This:
1055
1056           - bumps minimum height of lines from 16px to 21px
1057           - 10x10 icons to be 12x12
1058           - recenters icons to match console prompt
1059           - realigns icons with console log / object output
1060
1061         * UserInterface/Views/LogContentView.css:
1062         (.console-user-command-result.console-log-level::before):
1063         (.console-message, .console-user-command):
1064         (.console-item::before):
1065         (.console-user-command::before):
1066         (:matches(.console-warning-level, .console-error-level, .console-log-level).console-message):
1067         (:matches(.console-warning-level, .console-error-level, .console-log-level)::before):
1068         (.outline-disclosure li):
1069         (.outline-disclosure .expanded li):
1070         Fix a case breaking single-line message height.
1071         Only add padding to expanded trees, not collapsed trees.
1072
1073         * UserInterface/Views/QuickConsole.css:
1074         (.quick-console > .console-prompt::before):
1075
1076 2015-02-21  Joseph Pecoraro  <pecoraro@apple.com>
1077
1078         Web Inspector: Generate Previews more often for RemoteObject interaction
1079         https://bugs.webkit.org/show_bug.cgi?id=141875
1080
1081         Reviewed by Timothy Hatcher.
1082
1083         * UserInterface/Models/PropertyDescriptor.js:
1084         (WebInspector.PropertyDescriptor.fromPayload):
1085         Fix InternalPropertyDescriptor ingestion. There was no ".internal"
1086         property on these objects, so take a flag.
1087
1088         * UserInterface/Protocol/RemoteObject.js:
1089         (WebInspector.RemoteObject.prototype._getPropertyDescriptors):
1090         Fix InternalPropertyDescriptor ingestion by specifying during
1091         importing the internal properties. Also, get previews.
1092
1093         (WebInspector.RemoteObject.prototype.callFunction):
1094         Always get previews when using callFunctionOn.
1095
1096 2015-02-20  Ronald Jett  <rjett@apple.com>
1097
1098         Web Inspector: Add a setting for clearing the console on page reload
1099         https://bugs.webkit.org/show_bug.cgi?id=134414
1100
1101         Reviewed by Timothy Hatcher.
1102
1103         Created a new setting "clear-log-on-reload", which defaults to true.
1104         Users can toggle this setting with an item added to the console's context menu. 
1105         When enabled, the console will clear on page reload. When disabled, the console
1106         content will remain during page reloads. 
1107
1108         * Localizations/en.lproj/localizedStrings.js:
1109         * UserInterface/Views/LogContentView.js:
1110         (WebInspector.LogContentView):
1111         (WebInspector.LogContentView.prototype._sessionStarted):
1112         (WebInspector.LogContentView.prototype._handleContextMenuEvent):
1113         (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
1114
1115 2015-02-19  Saam Barati  <saambarati1@gmail.com>
1116
1117         Web Inspector: merge in upstream Esprima to support parsing more of ES6
1118         https://bugs.webkit.org/show_bug.cgi?id=141215
1119
1120         Reviewed by Timothy Hatcher.
1121
1122         This patch merges in a new esprima that has some ES6 support.
1123         Specifically, the ES6 support ScriptSyntaxTree now has is:
1124         - ForOf loops
1125         - Object destructuring
1126         - Array destructuring
1127
1128         ScriptSyntaxTree now uses Symbols for identifying AST node types
1129         instead of strings. This will prevent any direct usage of strings 
1130         for node types instead of a direct property access off the 
1131         ScriptSyntaxTree constructor.
1132
1133         This patch also does some gardening work: 
1134         - TypeTokenAnnotator only walks over the incoming type information
1135           data once to be more efficient. 
1136         - TypeTokenView is now smarter about updating its associated DOM node
1137           only if its display name has changed.
1138
1139         * UserInterface/Controllers/TypeTokenAnnotator.js:
1140         (WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
1141         * UserInterface/External/Esprima/esprima.js:
1142         (.):
1143         * UserInterface/Models/ScriptSyntaxTree.js:
1144         (WebInspector.ScriptSyntaxTree.prototype.gatherIdentifiersInVariableDeclaration):
1145         (WebInspector.ScriptSyntaxTree.prototype._recurse):
1146         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
1147         * UserInterface/Views/TypeTokenView.js:
1148         (WebInspector.TypeTokenView.prototype.update):
1149
1150 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1151
1152         Web Inspector: Use of Array.from for NodeList/Arguments to Array conversion
1153         https://bugs.webkit.org/show_bug.cgi?id=141819
1154
1155         Reviewed by Timothy Hatcher.
1156
1157         Array.from is clearer than Array.prototype.slice.call(arrayLike).
1158
1159         * UserInterface/Base/Test.js:
1160         (.console.logType):
1161         * UserInterface/Protocol/InspectorBackend.js:
1162         (InspectorBackend.Command.prototype.promise):
1163         (InspectorBackend.Command.prototype._invokeWithArguments):
1164         * UserInterface/Views/LogContentView.js:
1165         (WebInspector.LogContentView.prototype._allMessages):
1166
1167 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1168
1169         Follow-up fix to r180371. formatParameterAsValue expects full object, not just a description.
1170
1171         Reviewed by Timothy Hatcher.
1172
1173         * UserInterface/Views/ConsoleMessageImpl.js:
1174         (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
1175
1176 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1177
1178         Web Inspector: Introduce FormattedValue helpers and use them in Console/ObjectTree
1179         https://bugs.webkit.org/show_bug.cgi?id=141812
1180
1181         Reviewed by Timothy Hatcher.
1182
1183         There were a few different ways to get styled values. Try to consolidate them
1184         all in FormattedValue. That is also a convenient place to have the styles.
1185
1186         * UserInterface/Main.html:
1187         * UserInterface/Views/ConsoleMessageImpl.js:
1188         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1189         (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
1190         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsValue):
1191         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
1192
1193         (WebInspector.ConsoleMessageImpl.prototype._userProvidedColumnNames):
1194         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
1195         (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
1196         (WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement): Deleted.
1197         Fix console.table after renaming ObjectPreview.properties to ObjectPreview.propertyPreviews.
1198         Also, use FormattedValue to create the value elements. Also, remove class
1199         "source-code" as I do not see it actually being used in a meaningful way.
1200
1201         * UserInterface/Views/FormattedValue.css: Added.
1202         (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
1203         (.formatted-number):
1204         (.formatted-string, .formatted-regexp):
1205         (.formatted-string):
1206         (.formatted-regexp):
1207         (.formatted-symbol):
1208         (.formatted-null, .formatted-undefined):
1209         * UserInterface/Views/FormattedValue.js: Added.
1210         (WebInspector.FormattedValue.classNameForTypes):
1211         (WebInspector.FormattedValue.classNameForObject):
1212         (WebInspector.FormattedValue.createLinkifiedElementString):
1213         (WebInspector.FormattedValue.createElementForTypesAndValue):
1214         (WebInspector.FormattedValue.createElementForRemoteObject):
1215         (WebInspector.FormattedValue.createElementForObjectPreview):
1216         (WebInspector.FormattedValue.createElementForPropertyPreview):
1217         Styles and formatted value element creation.
1218
1219         * UserInterface/Views/LogContentView.css:
1220         (.expandable.source-code): Deleted.
1221         Remove ".source-code". I do not see it actually being used in a meaningful way.
1222
1223         * UserInterface/Views/ObjectPreviewView.js:
1224         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1225         (WebInspector.ObjectPreviewView.prototype._appendValuePreview):
1226         (WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview): Deleted.
1227         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
1228         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
1229         (WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString): Deleted.
1230         * UserInterface/Views/ObjectTreeView.css:
1231         (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap): Deleted.
1232         (.formatted-number): Deleted.
1233         (.formatted-string, .formatted-regexp): Deleted.
1234         (.formatted-string): Deleted.
1235         (.formatted-regexp): Deleted.
1236         (.formatted-symbol): Deleted.
1237         (.formatted-null, .formatted-undefined): Deleted.
1238         * UserInterface/Views/ObjectTreeView.js:
1239         (WebInspector.ObjectTreeView.classNameForObject): Deleted.
1240         Extract styles and value formatting to FormattedValue helpers.
1241
1242 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1243
1244         Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
1245         https://bugs.webkit.org/show_bug.cgi?id=141793
1246
1247         Unreviewed follow-up. Fix prototypes.
1248
1249         * UserInterface/Views/ObjectPreviewView.js:
1250         * UserInterface/Views/ObjectTreeView.js:
1251
1252 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1253
1254         Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
1255         https://bugs.webkit.org/show_bug.cgi?id=141696
1256
1257         Reviewed by Timothy Hatcher.
1258
1259         * UserInterface/Main.html:
1260         Add new files.
1261
1262         * UserInterface/Models/CollectionEntry.js: Added.
1263         (WebInspector.CollectionEntry):
1264         (WebInspector.CollectionEntry.fromPayload):
1265         (WebInspector.CollectionEntry.prototype.get key):
1266         (WebInspector.CollectionEntry.prototype.get value):
1267         * UserInterface/Models/CollectionEntryPreview.js: Added.
1268         (WebInspector.CollectionEntryPreview):
1269         (WebInspector.CollectionEntryPreview.fromPayload):
1270         (WebInspector.CollectionEntryPreview.prototype.get keyPreview):
1271         (WebInspector.CollectionEntryPreview.prototype.get valuePreview):
1272         * UserInterface/Models/ObjectPreview.js: Added.
1273         (WebInspector.ObjectPreview):
1274         (WebInspector.ObjectPreview.fromPayload):
1275         (WebInspector.ObjectPreview.prototype.get type):
1276         (WebInspector.ObjectPreview.prototype.get subtype):
1277         (WebInspector.ObjectPreview.prototype.get description):
1278         (WebInspector.ObjectPreview.prototype.get lossless):
1279         (WebInspector.ObjectPreview.prototype.get overflow):
1280         (WebInspector.ObjectPreview.prototype.get properties):
1281         (WebInspector.ObjectPreview.prototype.get entries):
1282         * UserInterface/Models/PropertyPreview.js: Added.
1283         (WebInspector.PropertyPreview):
1284         (WebInspector.PropertyPreview.fromPayload):
1285         (WebInspector.PropertyPreview.prototype.get name):
1286         (WebInspector.PropertyPreview.prototype.get type):
1287         (WebInspector.PropertyPreview.prototype.get subtype):
1288         (WebInspector.PropertyPreview.prototype.get value):
1289         (WebInspector.PropertyPreview.prototype.get valuePreview):
1290         * UserInterface/Models/PropertyDescriptor.js: Added.
1291         (WebInspector.PropertyDescriptor.fromPayload):
1292         (WebInspector.PropertyDescriptor.prototype.get name):
1293         (WebInspector.PropertyDescriptor.prototype.get value):
1294         (WebInspector.PropertyDescriptor.prototype.get writable):
1295         (WebInspector.PropertyDescriptor.prototype.get configurable):
1296         (WebInspector.PropertyDescriptor.prototype.get enumerable):
1297         (WebInspector.PropertyDescriptor.prototype.get isOwnProperty):
1298         (WebInspector.PropertyDescriptor.prototype.get wasThrown):
1299         (WebInspector.PropertyDescriptor.prototype.get isInternalProperty):
1300         (WebInspector.PropertyDescriptor.prototype.hasValue):
1301         (WebInspector.PropertyDescriptor.prototype.hasGetter):
1302         (WebInspector.PropertyDescriptor.prototype.hasSetter):
1303         New Model objects for different Protocol types.
1304         The only customizations right now are compatibility modifications
1305         and PropertyDescriptor's "hasValue", "hasGetter", and "hasSetter"
1306         functions to return reliable checks based on the descriptors contents.
1307
1308         * UserInterface/Protocol/RemoteObject.js:
1309         (WebInspector.RemoteObject):
1310         (WebInspector.RemoteObject.fromPayload):
1311         (WebInspector.RemoteObject.resolveNode):
1312         (WebInspector.RemoteObject.prototype.get value):
1313         (WebInspector.RemoteObject.prototype._isSymbol):
1314         (WebInspector.RemoteObject.prototype.isCollectionType):
1315         (WebInspector.RemoteObject.prototype.isWeakCollection):
1316         (WebInspector.RemoteObject.prototype.getCollectionEntries):
1317         (WebInspector.RemoteObject.prototype.arrayLength):
1318         Clean up the existing code to enforce more checks and use our
1319         style of member variables and public accessors.
1320
1321         (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
1322         (WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors):
1323         (WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
1324         (WebInspector.RemoteObject.prototype.callback):
1325         Provide a new way of getting properties that returns Model objects
1326         instead of raw protocol types.
1327
1328         * UserInterface/Views/ConsoleMessageImpl.js:
1329         (WebInspector.ConsoleMessageImpl.prototype._format):
1330         (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
1331         (WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
1332         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1333         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
1334         (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
1335         Always include a preview when possible. Now, when forced to be an object,
1336         force expansion even if the preview is lossless.
1337
1338         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
1339         Use an ObjectTreeView instead of ObjectPropertiesSection.
1340
1341         (WebInspector.ConsoleMessageImpl.prototype._appendPreview): Deleted.
1342         (WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews): Deleted.
1343         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews): Deleted.
1344         (WebInspector.ConsoleMessageImpl.prototype._appendValuePreview): Deleted.
1345         This code is moved into ObjectPreviewView.
1346
1347
1348         * UserInterface/Views/ObjectPropertiesSection.js:
1349         (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
1350         (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
1351         These types are now converted to Model types in Model objects, so do not do it here.
1352
1353         * UserInterface/Views/ObjectPreviewView.css: Added.
1354         (.object-preview):
1355         (.object-preview.lossless):
1356         (.object-preview .name):
1357         * UserInterface/Views/ObjectPreviewView.js: Added.
1358         (WebInspector.ObjectPreviewView):
1359         (WebInspector.ObjectPreviewView.prototype.get preview):
1360         (WebInspector.ObjectPreviewView.prototype.get element):
1361         (WebInspector.ObjectPreviewView.prototype.get mode):
1362         (WebInspector.ObjectPreviewView.prototype.get lossless):
1363         (WebInspector.ObjectPreviewView.prototype._numberOfPropertiesToShowInMode):
1364         (WebInspector.ObjectPreviewView.prototype._appendPreview):
1365         (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
1366         (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
1367         (WebInspector.ObjectPreviewView.prototype._appendValuePreview):
1368         (WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview):
1369         An ObjectPreviewView can create a full/brief view given a ObjectPreview.
1370         The view will contain formatted values everywhere possible.
1371
1372         * UserInterface/Views/ObjectTreePropertyTreeElement.js: Added.
1373         (WebInspector.ObjectTreePropertyTreeElement):
1374         (WebInspector.ObjectTreePropertyTreeElement.prototype.get property):
1375         (WebInspector.ObjectTreePropertyTreeElement.prototype.onpopulate):
1376         (WebInspector.ObjectTreePropertyTreeElement.prototype.onattach):
1377         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle):
1378         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
1379         (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle):
1380         (WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString):
1381         (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
1382         (WebInspector.ObjectTreePropertyTreeElement.prototype.mode):
1383         (WebInspector.ObjectTreePropertyTreeElement.prototype):
1384         * UserInterface/Views/ObjectTreeView.js: Added.
1385         (WebInspector.ObjectTreeView):
1386         (WebInspector.ObjectTreeView.classNameForObject):
1387         (WebInspector.ObjectTreeView.ComparePropertyDescriptors):
1388         (WebInspector.ObjectTreeView.prototype.get object):
1389         (WebInspector.ObjectTreeView.prototype.get element):
1390         (WebInspector.ObjectTreeView.prototype.get expanded):
1391         (WebInspector.ObjectTreeView.prototype.expand):
1392         (WebInspector.ObjectTreeView.prototype.collapse):
1393         (WebInspector.ObjectTreeView.prototype.update):
1394         (WebInspector.ObjectTreeView.prototype._updateProperties):
1395         (WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
1396         Re-implementation of ObjectPropertiesSection for our Model objects
1397         without "Section" semantics / dependencies. An ObjectTree will creates
1398         an expandable tree for a RemoteObject. The top level clickable item
1399         will be an ObjectPreview if possible, otherwise just a title element.
1400
1401         * UserInterface/Views/ObjectTreeView.css: Added.
1402         (.object-tree):
1403         (.object-tree > .title):
1404         (.object-tree > :matches(.title, .object-preview)::before):
1405         (.object-tree.expanded > :matches(.title, .object-preview)::before):
1406         (.object-tree.lossless-preview > :matches(.title, .object-preview)::before):
1407         (.object-tree-outline):
1408         (.object-tree.expanded > .object-tree-outline):
1409         (.object-tree-outline li):
1410         (.object-tree-outline li.parent):
1411         (.object-tree-outline li.parent::before):
1412         (.object-tree-outline li.parent.expanded::before):
1413         (.object-tree-outline ol):
1414         (.object-tree-outline ol.expanded):
1415         (.object-tree-outline li .empty-message):
1416         (.object-tree-property .name):
1417         (.object-tree-property .name.not-enumerable):
1418         (.object-tree-property .value.error):
1419         (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
1420         (.formatted-number):
1421         (.formatted-string, .formatted-regexp):
1422         (.formatted-string):
1423         (.formatted-regexp):
1424         (.formatted-symbol):
1425         (.formatted-null, .formatted-undefined):
1426         (.console-group-messages .object-tree:not(.lossless-preview)):
1427         (.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
1428         (.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)::before):
1429         (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree):
1430         (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
1431         All styles for ObjectTree / ObjectPreview. Independent from
1432         other styles in the inspector. Most of this is a copy of
1433         the styles applied to ObjectPropertiesSection, renamed.
1434
1435
1436         * UserInterface/Views/ObjectTreeCollectionTreeElement.js: Added.
1437         (WebInspector.ObjectTreeCollectionTreeElement):
1438         (WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry):
1439         (WebInspector.ObjectTreeCollectionTreeElement.prototype.get remoteObject):
1440         (WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand.callback):
1441         (WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand):
1442         (WebInspector.ObjectTreeCollectionTreeElement.prototype.oncollapse):
1443         (WebInspector.ObjectTreeCollectionTreeElement.prototype.ondetach):
1444         (WebInspector.ObjectTreeCollectionTreeElement.prototype._trackWeakEntries):
1445         (WebInspector.ObjectTreeCollectionTreeElement.prototype._untrackWeakEntries):
1446         (WebInspector.ObjectTreeCollectionEntryTreeElement):
1447         (WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onpopulate):
1448         (WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onattach):
1449         (WebInspector.ObjectTreeEmptyCollectionTreeElement):
1450         Essentially a copy of ObjectPropertiesSection Collection handling using
1451         the ObjectTree class names.
1452
1453         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
1454         Fix prototype typo.
1455
1456 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1457
1458         Web Inspector: DOMTree / Node Details Sidebar do not update as <input> content changes
1459         https://bugs.webkit.org/show_bug.cgi?id=141790
1460
1461         Reviewed by Timothy Hatcher.
1462
1463         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1464         (WebInspector.DOMNodeDetailsSidebarPanel):
1465         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._characterDataModified):
1466         Update Node "Value" details if character data changes.
1467
1468         * UserInterface/Views/DOMTreeUpdater.js:
1469         (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
1470         Update the title of the parent. If the parent had a single text node child
1471         and now doesn't, it will need to update its display.
1472
1473 2015-02-19  Joseph Pecoraro  <pecoraro@apple.com>
1474
1475         Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
1476         https://bugs.webkit.org/show_bug.cgi?id=141793
1477
1478         Reviewed by Timothy Hatcher.
1479
1480         Currently the backend disallows editing of Shadow DOM nodes,
1481         so the frontend should not provide options that do not work.
1482         Long term we should allow editing Shadow DOM nodes.
1483
1484         * UserInterface/Models/CSSStyleDeclaration.js:
1485         (WebInspector.CSSStyleDeclaration.prototype.get editable):
1486         Inline styles on a Shadow DOM node are not editable.
1487
1488         * UserInterface/Views/DOMTreeElement.js:
1489         (WebInspector.DOMTreeElement.prototype.ondelete):
1490         (WebInspector.DOMTreeElement.prototype._startEditingTarget):
1491         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
1492         (WebInspector.DOMTreeElement.prototype._populateTextContextMenu):
1493         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
1494         (WebInspector.DOMTreeElement.prototype._startEditing):
1495         Disable context menus and keyboard shortcuts on Shadow DOM nodes.
1496         Only Context Menu item we keep is "Copy as HTML".
1497
1498         * UserInterface/Views/DOMTreeOutline.js:
1499         (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
1500         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
1501         Eliminate double look-up.
1502
1503         * UserInterface/Views/RulesStyleDetailsPanel.js:
1504         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
1505         Do not add the New Rule Button to the Styles Sidebar of Shadow DOM Nodes.
1506         Instead this will just be an empty divider.
1507
1508 2015-02-18  Nikita Vasilyev  <nvasilyev@apple.com>
1509
1510         Web Inspector: REGRESSION: Missing Divider line between console.log and console evaluation
1511         https://bugs.webkit.org/show_bug.cgi?id=141770
1512
1513         Reviewed by Timothy Hatcher.
1514
1515         * UserInterface/Views/LogContentView.css:
1516         (.console-item):
1517         (.console-message): Deleted.
1518
1519 2015-02-18  Jono Wells  <jonowells@apple.com>
1520
1521         Web Inspector: Inspecting a page where resources are in folders forces folder organization on every subsequent page
1522         https://bugs.webkit.org/show_bug.cgi?id=141397
1523
1524         Reviewed by Timothy Hatcher.
1525
1526         When removeChildren is called on an instance of a FolderizedTreeElement, the element's _groupedIntoFolders flag
1527         will now be set to false. This will prevent unnecessary folderization upon a frame navigation. Also during an
1528         onpopulate event, addChildForRepresentedObject is called repeatedly and much of the work done during each call
1529         was unnecessary. That work has now been partially removed and partially relocated to a function that is only
1530         called at the beginning of an onpopulate event.
1531
1532         * UserInterface/Views/FolderizedTreeElement.js:
1533         (WebInspector.FolderizedTreeElement.prototype.set removeChildren): Set _groupedIntoFolders to false.
1534         (WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Remove unnecessary treeOutline
1535         emptiness check, and move _shouldGroupIntoFolders() check to new function prepareToPopulate().
1536         (WebInspector.FolderizedTreeElement.prototype.prepareToPopulate): Create.
1537         (WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue): Call prepareToPopulate().
1538
1539         * UserInterface/Views/FrameTreeElement.js:
1540         (WebInspector.FrameTreeElement.prototype.onpopulate): Call prepareToPopulate().
1541
1542         * UserInterface/Views/GeneralTreeElement.js: Drive-by inheritance style fix.
1543         * UserInterface/Views/ResourceTreeElement.js: Drive-by inheritance style fix.
1544
1545 2015-02-16  Joseph Pecoraro  <pecoraro@apple.com>
1546
1547         Web Inspector: ES6: Improved Console Support for Promise Objects
1548         https://bugs.webkit.org/show_bug.cgi?id=141634
1549
1550         Reviewed by Timothy Hatcher.
1551
1552         * UserInterface/Protocol/RemoteObject.js:
1553         For now just add Internal Properties and regular properties.
1554         We will address the UI later.
1555
1556 2015-02-16  Nikita Vasilyev  <nvasilyev@apple.com>
1557
1558         Web Inspector: Tweak the styles on the Console
1559         https://bugs.webkit.org/show_bug.cgi?id=140580
1560
1561             - Use non-monospace (default sans-serif) font for console messages, but keep using monospace font
1562               for objects, functions, and anything else that presumably code.
1563             - Display all expandable objects on a separate row.
1564
1565         Reviewed by Timothy Hatcher.
1566
1567         * UserInterface/Views/ConsoleCommand.js:
1568         (WebInspector.ConsoleCommand.prototype.decorateMessageElement):
1569         (WebInspector.ConsoleCommand.prototype.toMessageElement):
1570         * UserInterface/Views/ConsoleGroup.js:
1571         (WebInspector.ConsoleGroup.prototype.addMessage):
1572         * UserInterface/Views/ConsoleMessageImpl.js:
1573         (WebInspector.ConsoleMessageImpl.prototype._format):
1574         (WebInspector.ConsoleMessageImpl.prototype._isExpandable):
1575         (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
1576         (WebInspector.ConsoleMessageImpl.prototype.append):
1577         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
1578         (WebInspector.ConsoleMessageImpl.prototype.decorateMessageElement):
1579         (WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
1580         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString): Deleted.
1581         * UserInterface/Views/LogContentView.css:
1582         (.console-messages):
1583         (.console-formatted-object):
1584         (.expandable.source-code):
1585         (.console-message):
1586         (.console-item.selected::after):
1587         (.console-messages:focus .console-item.selected::after):
1588         (.console-user-command-result.console-log-level::before):
1589         (.console-item::before):
1590         (.console-message .bubble):
1591         (.console-error-level):
1592         (.console-error-level .section .header .title):
1593         (.console-error-level::before):
1594         (.console-warning-level):
1595         (.console-warning-level .console-message-text):
1596         (.console-warning-level::before):
1597         (.console-user-command::before):
1598         (.console-group-messages .section):
1599         (.console-group-messages .section .header::before):
1600         (.console-group-messages .section .header .title):
1601         (.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
1602         (.outline-disclosure li):
1603         (.outline-disclosure li.parent::before):
1604         (.console-item): Deleted.
1605         (.console-item.selected): Deleted.
1606         (.console-messages:focus .console-item.selected): Deleted.
1607         (.console-item.selected .console-message::after): Deleted.
1608         (.console-messages:focus .console-item.selected .data-grid tr.selected): Deleted.
1609         (.console-messages:focus .console-item.selected .console-message::after): Deleted.
1610         (.console-message, .console-user-command): Deleted.
1611         (.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): Deleted.
1612         (.console-group): Deleted.
1613         (.console-debug-level .console-message-text): Deleted.
1614         (.console-debug-level::before): Deleted.
1615         (.console-group-messages .section .header): Deleted.
1616         (.console-group-messages .outline-disclosure): Deleted.
1617         (.console-group-messages .outline-disclosure > ol): Deleted.
1618         (.outline-disclosure li.elements-drag-over .selection): Deleted.
1619         (.outline-disclosure ol:focus li.selected .selection): Deleted.
1620         (.outline-disclosure > ol): Deleted.
1621         * UserInterface/Views/LogContentView.js:
1622         (WebInspector.LogContentView.prototype._mousemove):
1623         (WebInspector.LogContentView.prototype._updateMessagesSelection):
1624         (WebInspector.LogContentView.prototype._isMessageVisible):
1625         (WebInspector.LogContentView.prototype._isMessageSelected):
1626         (WebInspector.LogContentView.prototype._selectAllMessages):
1627         (WebInspector.LogContentView.prototype._unfilteredMessages):
1628         (WebInspector.LogContentView.prototype._visibleMessages):
1629         (WebInspector.LogContentView.prototype._filterMessages):
1630         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
1631         (WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent):
1632         (WebInspector.LogContentView.prototype._performSearch):
1633         * UserInterface/Views/Section.css:
1634         (.section .header .title::before):
1635         (.section.expanded .header .title::before):
1636         (.section .header .title, .event-bar .header .title):
1637         (.properties-tree li.parent::before):
1638         (.section .header::before): Deleted.
1639         (.section.expanded .header::before): Deleted.
1640
1641 2015-02-15  Brian J. Burg  <burg@cs.washington.edu>
1642
1643         Web Inspector: remove unused XHR replay code
1644         https://bugs.webkit.org/show_bug.cgi?id=141622
1645
1646         Reviewed by Timothy Hatcher.
1647
1648         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1649         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1650         * Versions/Inspector-iOS-7.0.json:
1651         * Versions/Inspector-iOS-8.0.json:
1652
1653 2015-02-14  Joseph Pecoraro  <pecoraro@apple.com>
1654
1655         Web Inspector: Remove specificity approximation
1656         https://bugs.webkit.org/show_bug.cgi?id=141600
1657
1658         Reviewed by Timothy Hatcher.
1659
1660         * Localizations/en.lproj/localizedStrings.js:
1661         * UserInterface/Views/CSSStyleDeclarationSection.js:
1662         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
1663
1664 2015-02-13  Timothy Hatcher  <timothy@apple.com>
1665
1666         Web Inspector: support better git diff of localizedStrings.js
1667         https://bugs.webkit.org/show_bug.cgi?id=137237
1668
1669         Reviewed by Joseph Pecoraro.
1670
1671         * .gitattributes: Added.
1672
1673 2015-02-12  Brian J. Burg  <burg@cs.washington.edu>
1674
1675         Web Inspector: add keyboard shortcut to enable/disable all breakpoints
1676         https://bugs.webkit.org/show_bug.cgi?id=141527
1677
1678         Reviewed by Joseph Pecoraro.
1679
1680         * Localizations/en.lproj/localizedStrings.js:
1681         * UserInterface/Views/DebuggerSidebarPanel.js:
1682         (WebInspector.DebuggerSidebarPanel): Bind Command/Control + Y to toggle breakpoints button.
1683
1684 2015-02-12  Brian J. Burg  <burg@cs.washington.edu>
1685
1686         Web Inspector: support adding and removing timelines to the timeline sidebar panel and overview
1687         https://bugs.webkit.org/show_bug.cgi?id=138434
1688
1689         Reviewed by Timothy Hatcher.
1690
1691         A timeline recording's timelines should not be static. This patch adds relevant machinery to
1692         dynamically add and remove timelines from the Timeline model object and its various views.
1693
1694         From the model side, this is a simple change that adds TimelineAdded and TimelineRemoved events.
1695         The timeline views and timeline sidebar require more extensive changes to support this functionality.
1696         Instead of keeping a fixed set of timeline tree elements, the sidebar view now adds and removes
1697         tree elements to reflect the available timelines for the displayed timeline recording.
1698
1699         This change also includes several minor cleanups, such as appending 'Element' to view properties that
1700         are DOM elements, and renaming TimelineContentView to TimelineRecordingContentView.
1701
1702         * UserInterface/Controllers/TimelineManager.js:
1703         (WebInspector.TimelineManager.prototype._loadNewRecording):
1704         Populate predefined network, layout, and script timelines here after constructing the recording.
1705
1706         * UserInterface/Main.html:
1707         * UserInterface/Models/Timeline.js:
1708         Move hardcoded class names and localized strings to these base class methods. This is not implemented
1709         using overridden methods because not all timeline types have their own subclasses. Add a dummy
1710         implementation of saveIdentityToCookie() to avoid warnings when saving sidebar panel selection state.
1711
1712         (WebInspector.Timeline.prototype.get type):
1713         (WebInspector.Timeline.prototype.get displayName): Added.
1714         (WebInspector.Timeline.prototype.get iconClassName): Added.
1715         (WebInspector.Timeline.prototype.addRecord):
1716         * UserInterface/Models/TimelineRecording.js:
1717         (WebInspector.TimelineRecording):
1718         (WebInspector.TimelineRecording.prototype.addTimeline.set timeline): Added.
1719         (WebInspector.TimelineRecording.prototype.addTimeline): Added.
1720         (WebInspector.TimelineRecording.prototype.removeTimeline.get this): Added.
1721         (WebInspector.TimelineRecording.prototype.removeTimeline): Added.
1722         * UserInterface/Views/ContentView.js:
1723         (WebInspector.ContentView):
1724         * UserInterface/Views/LayoutTimelineView.css:
1725         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
1726         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.
1727         * UserInterface/Views/LayoutTimelineView.js:
1728         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
1729         (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
1730         * UserInterface/Views/NavigationSidebarPanel.js:
1731         (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie): Fix error message formatting.
1732         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
1733         * UserInterface/Views/NetworkTimelineView.css:
1734         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
1735         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.
1736         * UserInterface/Views/NetworkTimelineView.js:
1737         (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
1738         * UserInterface/Views/ScriptTimelineView.css:
1739         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
1740         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.
1741         * UserInterface/Views/ScriptTimelineView.js:
1742         (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
1743         (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
1744         * UserInterface/Views/TimelineOverview.js:
1745         Convert this class to use the representedObject class pattern. It manages its own mapping from timelines
1746         to overview graph views. Append 'Element' to some properties holding DOM elements.
1747         (WebInspector.TimelineOverview):
1748         (WebInspector.TimelineOverview.prototype.get visibleDuration):
1749         (WebInspector.TimelineOverview.prototype.reset):
1750         (WebInspector.TimelineOverview.prototype.updateLayout):
1751         (WebInspector.TimelineOverview.prototype._handleScrollEvent):
1752         (WebInspector.TimelineOverview.prototype._handleWheelEvent):
1753         (WebInspector.TimelineOverview.prototype._timelineRemoved):
1754         (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
1755         (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
1756         * UserInterface/Views/TimelineRecordingContentView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.css.
1757         Remove hard-coded top offsets and heights that need to be dynamically calculated.
1758         (.content-view.timeline-recording > .timeline-overview):
1759         (.content-view.timeline-recording > .view-container):
1760         (.content-view.timeline-recording > .view-container > .timeline-view > .data-grid td):
1761         (.content-view.timeline-recording > .view-container > .timeline-view > .data-grid table.data):
1762         * UserInterface/Views/TimelineRecordingContentView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.js.
1763         Manage timeline views and path components dynamically. Adjust view heights as necessary. Append 'Element'
1764         to some properties holding DOM elements.
1765         (WebInspector.TimelineRecordingContentView):
1766         (WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView):
1767         (WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
1768         (WebInspector.TimelineRecordingContentView.prototype.get allowedNavigationSidebarPanels):
1769         (WebInspector.TimelineRecordingContentView.prototype.get supportsSplitContentBrowser):
1770         (WebInspector.TimelineRecordingContentView.prototype.get navigationItems):
1771         (WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView):
1772         (WebInspector.TimelineRecordingContentView.prototype.shown):
1773         (WebInspector.TimelineRecordingContentView.prototype.hidden):
1774         (WebInspector.TimelineRecordingContentView.prototype.filterDidChange):
1775         (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
1776         (WebInspector.TimelineRecordingContentView.prototype.saveToCookie):
1777         (WebInspector.TimelineRecordingContentView.prototype.restoreFromCookie):
1778         (WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters.checkTimeBounds):
1779         (WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters):
1780         (WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected):
1781         (WebInspector.TimelineRecordingContentView.prototype._timelineViewSelectionPathComponentsDidChange):
1782         (WebInspector.TimelineRecordingContentView.prototype._showTimelineView):
1783         (WebInspector.TimelineRecordingContentView.prototype._update):
1784         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
1785         (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
1786         (WebInspector.TimelineRecordingContentView.prototype._stopUpdatingCurrentTime):
1787         (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
1788         (WebInspector.TimelineRecordingContentView.prototype._capturingStopped):
1789         (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
1790         (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
1791         Fix a minor regression where we make a useless call to stop updating the time.
1792
1793         (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
1794         (WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
1795         (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
1796         (WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
1797         (WebInspector.TimelineRecordingContentView.prototype._recordingReset):
1798         (WebInspector.TimelineRecordingContentView.prototype._recordingUnloaded):
1799         (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
1800         * UserInterface/Views/TimelineSidebarPanel.css:
1801         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
1802         (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content): Deleted.
1803         * UserInterface/Views/TimelineSidebarPanel.js:
1804         Manage timeline tree elements dynamically. Adjust view heights as necessary. Append 'Element'
1805         to some properties holding DOM elements. Keep track of the displayed recording and view explicitly.
1806         (WebInspector.TimelineSidebarPanel):
1807         (WebInspector.TimelineSidebarPanel.prototype.shown):
1808         (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
1809         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
1810         (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
1811         (WebInspector.TimelineSidebarPanel.prototype.updateFilter):
1812         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
1813         (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
1814         (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
1815         (WebInspector.TimelineSidebarPanel.prototype.get if):
1816         (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
1817         (WebInspector.TimelineSidebarPanel.prototype._recordingCountChanged):
1818         (WebInspector.TimelineSidebarPanel.prototype._recordingSelected):
1819         (WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):
1820         (WebInspector.TimelineSidebarPanel.prototype._timelineRemoved):
1821         (WebInspector.TimelineSidebarPanel.prototype._timelineCountChanged):
1822         (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Deleted.
1823         (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):
1824         * UserInterface/Views/TimelineView.css:
1825         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
1826         (.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
1827
1828 2015-02-12  Brian J. Burg  <burg@cs.washington.edu>
1829
1830         Web Inspector: Large background image fails to load in inspector
1831         https://bugs.webkit.org/show_bug.cgi?id=141405
1832
1833         Reviewed by Timothy Hatcher.
1834
1835         Convert base64-encoded resource data to binary data using Uint8Array and Blobs.
1836         Use object URLs for blobs instead of data URLs when setting image 'src' attribute
1837         and in @font-face urls. This conversion happens when the backend indicates that
1838         resource content is base64-encoded.
1839
1840         Update image and font clients of resource-fetching functionality so that they use
1841         object URLs correctly. Add some plumbing so that Blobs can be constructed with
1842         the correct mime-type.
1843
1844         * UserInterface/Base/Utilities.js:
1845         (decodeBase64ToBlob): Added.
1846         * UserInterface/Models/CSSStyleSheet.js:
1847         (WebInspector.CSSStyleSheet.prototype.get mimeType): Added.
1848         * UserInterface/Models/Resource.js:
1849         (WebInspector.Resource.prototype.createObjectURL): Added.
1850         (WebInspector.Resource.prototype.getImageSize.imageDidLoad):
1851         (WebInspector.Resource.prototype.getImageSize):
1852         (WebInspector.Resource.prototype.get contentURL): Deleted.
1853         * UserInterface/Models/Script.js:
1854         (WebInspector.Script.prototype.get mimeType): Added.
1855         * UserInterface/Models/SourceCode.js:
1856         (WebInspector.SourceCode.prototype.get mimeType): Added.
1857         (WebInspector.SourceCode.prototype._processContent):
1858         (WebInspector.SourceCode.prototype.get contentIsBase64Encoded): Deleted.
1859         * UserInterface/Models/SourceCodeRevision.js:
1860         (WebInspector.SourceCodeRevision):
1861         (WebInspector.SourceCodeRevision.prototype.copy):
1862         (WebInspector.SourceCodeRevision.prototype.get contentIsBase64Encoded): Deleted.
1863         (WebInspector.SourceCodeRevision.prototype.set contentIsBase64Encoded): Deleted.
1864         * UserInterface/Views/FontResourceContentView.js:
1865         (WebInspector.FontResourceContentView.prototype.hidden):
1866         (WebInspector.FontResourceContentView.prototype.closed):
1867         * UserInterface/Views/ImageResourceContentView.js:
1868         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
1869
1870 2015-02-11  Nikita Vasilyev  <nvasilyev@apple.com>
1871
1872         Web Inspector: REGRESSION: Clicking selected item in the sidebar second time should scroll to the corresponding line
1873         https://bugs.webkit.org/show_bug.cgi?id=140280
1874
1875         Reviewed by Brian Burg.
1876
1877         * UserInterface/Views/ContentViewContainer.js:
1878         (WebInspector.ContentViewContainer.prototype.showContentView):
1879         Perform scolling regardless of the navigation history. Since scrolling source code doesn't introduce a BackForwardEntry,
1880         it's possible that the actual content view has a different scroll position.
1881
1882 2015-02-10  Joseph Pecoraro  <pecoraro@apple.com>
1883
1884         Web Inspector: Better handle unknown release versions
1885         https://bugs.webkit.org/show_bug.cgi?id=141454
1886
1887         Reviewed by Timothy Hatcher.
1888
1889         * UserInterface/Base/Platform.js:
1890         If given an unknown Mac OS X version, at least parse
1891         the version number in WebInspector.Platform.
1892
1893 2015-02-10  Nikita Vasilyev  <nvasilyev@apple.com>
1894
1895         Web Inspector: Make collapsed sidebars undraggable
1896         https://bugs.webkit.org/show_bug.cgi?id=140664
1897
1898         Reviewed by Timothy Hatcher.
1899
1900         * UserInterface/Views/Sidebar.css:
1901         (.sidebar.collapsed):
1902         (.sidebar.collapsed.right > .resizer): Deleted.
1903         (.sidebar.collapsed.left > .resizer): Deleted.
1904         * UserInterface/Views/Sidebar.js:
1905         (WebInspector.Sidebar):
1906         (WebInspector.Sidebar.prototype._resizerMouseDown):
1907         (WebInspector.Sidebar.prototype._resizerMouseMoved):
1908         (WebInspector.Sidebar.prototype._resizerDoubleClicked): Deleted.
1909
1910 2015-02-10  Joseph Pecoraro  <pecoraro@apple.com>
1911
1912         Web Inspector: CSS Pretty Printing: still fails fails to put space between rgb(...) and numbers in minified gradients
1913         https://bugs.webkit.org/show_bug.cgi?id=141411
1914
1915         Reviewed by Timothy Hatcher.
1916
1917         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
1918         * UserInterface/Views/CodeMirrorFormatters.js:
1919         Token actually was "number m-css" so we should check token strings
1920         more robustly, like elsewhere in the formatters.
1921
1922 2015-02-09  Brian J. Burg  <burg@cs.washington.edu>
1923
1924         Web Inspector: Uncaught exception when reporting wrong backend command call signature
1925         https://bugs.webkit.org/show_bug.cgi?id=141401
1926
1927         Reviewed by Joseph Pecoraro.
1928
1929         * UserInterface/Protocol/InspectorBackend.js:
1930         (InspectorBackend.Command.prototype._invokeWithArguments): Fix wrong variable name.
1931
1932 2015-02-06  Jono Wells  <jonowells@apple.com>
1933
1934         Web Inspector: REGRESSION: CSS Resource appears as empty after editing it via Styles sidebar
1935         https://bugs.webkit.org/show_bug.cgi?id=140586
1936
1937         Reviewed by Timothy Hatcher.
1938
1939         Update SourceCode#_processContent to properly handle the promise returned from CSSAgent so that the content
1940         will properly update when a style has changed. Properly clear the existing _requestContentPromise on the
1941         stylesheet so that the content will update correctly.
1942
1943         * UserInterface/Controllers/CSSStyleManager.js: Drive-by style updates.
1944         (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
1945         * UserInterface/Models/CSSStyleSheet.js: Drive-by inheritance style update.
1946         (WebInspector.CSSStyleSheet.prototype.requestContentFromBackend): Remove unnecessary backend promise function call.
1947         * UserInterface/Models/Resource.js: Drive-by removal of unused variable.
1948         * UserInterface/Models/SourceCode.js:
1949         (WebInspector.SourceCode.prototype.markContentAsStale): Clear _requestContentPromise.
1950         (WebInspector.SourceCode.prototype._processContent): Handle `parameters.text` correctly.
1951
1952 2015-02-04  Jono Wells  <jonowells@apple.com>
1953
1954         Web Inspector: REGRESSION: Inline SourceMap resources show empty content when opened.
1955         https://bugs.webkit.org/show_bug.cgi?id=141225
1956
1957         Reviewed by Timothy Hatcher.
1958
1959         Change WebInspector.SourceMapResource.prototype.requestContentFromBackend to correctly and consistently handle
1960         calls to NetworkAgent. The helper function sourceMapResourceLoaded will now properly handle parameters as a single
1961         payload, including manual calls in the case where the source map content is in a data URI. Also
1962         WebInspector.SourceCode.prototype._processContent now properly handles an error string used for displaying
1963         resource loading error messages in the resource content view.
1964
1965         * UserInterface/Models/Resource.js: drive-by style fix.
1966
1967         * UserInterface/Models/SourceCode.js:
1968         (WebInspector.SourceCode.prototype._processContent):
1969         Properly handle error string.
1970
1971         * UserInterface/Models/SourceMapResource.js:
1972         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
1973         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
1974         Formerly sourceMapResourceLoadError, now handles parameters from the NetworkAgent correctly.
1975
1976         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoadError):
1977         This function now handles NetworkAgent errors only.
1978
1979 2015-02-05  Brian J. Burg  <burg@cs.washington.edu>
1980
1981         Web Inspector: eliminate some unnecessary layout/painting in timeline overview and ruler
1982         https://bugs.webkit.org/show_bug.cgi?id=141293
1983
1984         Reviewed by Timothy Hatcher.
1985
1986         The timeline overview's ruler was forcing repaints of divider labels even if the labels
1987         had not changed since the last requestAnimationFrame. Bail out early if nothing changed.
1988
1989         The timeline overview and its graphs were updating layout using requestAnimationFrame
1990         even when the TimelineContentView is not visible. Fix this by propagating visibility
1991         changes to subviews, and not updating layout when hidden.
1992
1993         The above change also fixes an assertion sometimes encountered when the timeline view
1994         tries to cache an element's offset width, but cannot because it isn't visible.
1995
1996         * UserInterface/Views/TimelineContentView.js:
1997         (WebInspector.TimelineContentView.prototype.shown):
1998         (WebInspector.TimelineContentView.prototype.hidden):
1999         * UserInterface/Views/TimelineOverview.js:
2000         (WebInspector.TimelineOverview.prototype.get visible):
2001         (WebInspector.TimelineOverview.prototype.shown):
2002         (WebInspector.TimelineOverview.prototype.hidden):
2003         (WebInspector.TimelineOverview.prototype._needsLayout):
2004         * UserInterface/Views/TimelineOverviewGraph.js:
2005         (WebInspector.TimelineOverviewGraph.prototype.get visible):
2006         (WebInspector.TimelineOverviewGraph.prototype.shown):
2007         (WebInspector.TimelineOverviewGraph.prototype.hidden):
2008         (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
2009         * UserInterface/Views/TimelineRuler.js:
2010         (WebInspector.TimelineRuler.prototype.updateLayout):
2011
2012 2015-02-04  Joseph Pecoraro  <pecoraro@apple.com>
2013
2014         Web Inspector: ES6: Improved Console Support for Symbol Objects
2015         https://bugs.webkit.org/show_bug.cgi?id=141173
2016
2017         Reviewed by Timothy Hatcher.
2018
2019         * UserInterface/Protocol/RemoteObject.js:
2020         (WebInspector.RemoteObject):
2021         (WebInspector.RemoteObject.prototype._isSymbol):
2022         Symbols have an objectId because it is a non-primitive that cannot be passed
2023         by value, however it cannot have properties, so handle some cases.
2024
2025         * UserInterface/Views/LogContentView.css:
2026         (.console-formatted-symbol):
2027         Give Symbol's their own color.
2028
2029 2015-02-04  Nikita Vasilyev  <nvasilyev@apple.com>
2030
2031         Web Inspector: Insertion bar (caret) is hidden behind the placeholder text in the style editor
2032         https://bugs.webkit.org/show_bug.cgi?id=139659
2033
2034         Reviewed by Timothy Hatcher.
2035
2036         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2037         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
2038         Use non-monospace font to fit the placeholder text on a single line and
2039         match the color if the native placeholder.
2040
2041 2015-02-04  Joseph Pecoraro  <pecoraro@apple.com>
2042
2043         Web Inspector: console.table with columnName filter for non-existent property should still show column
2044         https://bugs.webkit.org/show_bug.cgi?id=141066
2045
2046         Reviewed by Timothy Hatcher.
2047
2048         * UserInterface/Views/ConsoleMessageImpl.js:
2049         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
2050         (WebInspector.ConsoleMessageImpl.prototype._userProvidedColumnNames):
2051         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
2052         If a second argument was provided to console.table, try to extract a list
2053         of string names to use for the object properties. Output a table with
2054         the provided column names, in the specified order. Also, use this
2055         opportunity to mark missing properties with an em dash.
2056
2057 2015-02-02  Joseph Pecoraro  <pecoraro@apple.com>
2058
2059         Web Inspector: CSS Autocompletion: Autodetect many color supporting properties
2060         https://bugs.webkit.org/show_bug.cgi?id=141166
2061
2062         Reviewed by Timothy Hatcher.
2063
2064         * UserInterface/Base/Utilities.js:
2065         Add String.prototype.endsWith. Group String extensions together.
2066
2067         * UserInterface/Models/CSSKeywordCompletions.js:
2068         (WebInspector.CSSKeywordCompletions.forProperty):
2069         If a property name ends in "color", provide CSS color completions.
2070
2071         (WebInspector.CSSKeywordCompletions.isColorAwareProperty): Deleted.
2072         This was unused and disagrees slightly with the implementation above.
2073
2074 2015-02-02  Joseph Pecoraro  <pecoraro@apple.com>
2075
2076         Web Inspector: Support console.table
2077         https://bugs.webkit.org/show_bug.cgi?id=141058
2078
2079         Reviewed by Timothy Hatcher.
2080
2081         * Localizations/en.lproj/localizedStrings.js:
2082         New "Index", "(Index)", "Value", table header strings.
2083
2084         * UserInterface/Views/ConsoleMessage.js:
2085         Add "Table", but add FIXMEs to consider using the protocol generated enums.
2086
2087         * UserInterface/Views/ConsoleMessageImpl.js:
2088         (WebInspector.ConsoleMessageImpl.prototype._format):
2089         Special case console.table messages.
2090
2091         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
2092         (WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
2093         Factor out ProjectPreview printing. Also, replace newlines in strings
2094         with return characters, like we did elsewhere.
2095
2096         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
2097         Ultimately try to create a DataGrid from the output. Search first
2098         for rich object data in the list. If no rich object data is found
2099         just check for simple values. If the table is lossy, also do
2100         a log of the object in case the user wants to see more data.
2101
2102
2103         * UserInterface/Views/DataGrid.js:
2104         (WebInspector.DataGrid):
2105         The for..in enumeration is unordered and may not give us the
2106         column ordering we wanted. So include an optional preferred
2107         column names list to get the preferred order.
2108
2109         (WebInspector.DataGrid.createSortableDataGrid):
2110         Numerous bug fixes here. Accidental globals, typos, and sorting failures.
2111
2112         (WebInspector.DataGrid.prototype.autoSizeColumns):
2113         (WebInspector.DataGrid.prototype.textForDataGridNodeColumn):
2114         (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
2115         Create a generic method to get the text for a datagrid node in a column.
2116         This is important for getting the text from console.table previews which
2117         contains Nodes.
2118
2119         * UserInterface/Views/LogContentView.css:
2120         (.console-messages:focus .console-item.selected .data-grid tr.selected):
2121         (.console-item .data-grid tr.selected):
2122         DataGrid selection colors while in the console which may or may
2123         not have selected console items.
2124
2125 2015-02-02  Joseph Pecoraro  <pecoraro@apple.com>
2126
2127         Web Inspector: Extend CSS.getSupportedCSSProperties to provide values for properties for CSS Augmented JSContext
2128         https://bugs.webkit.org/show_bug.cgi?id=141064
2129
2130         Reviewed by Timothy Hatcher.
2131
2132         * UserInterface/Models/CSSCompletions.js:
2133         * UserInterface/Models/CSSKeywordCompletions.js:
2134         (WebInspector.CSSKeywordCompletions.addCustomCompletions):
2135         (WebInspector.CSSKeywordCompletions.addPropertyCompletionValues):
2136         If a property is specified with custom values, extend the
2137         keyword completions map to make those values available
2138         in autocompletion.
2139
2140 2015-01-30  Joseph Pecoraro  <pecoraro@apple.com>
2141
2142         Remote Web Inspector should not show undock toolbar buttons
2143         https://bugs.webkit.org/show_bug.cgi?id=141061
2144
2145         Reviewed by Timothy Hatcher.
2146
2147         * UserInterface/Base/Main.js:
2148         (WebInspector.contentLoaded):
2149         Be sure to update the toolbar's dock navigation icons because they
2150         may need to be hidden (the default state).
2151
2152 2015-01-29  Saam Barati  <saambarati1@gmail.com>
2153
2154         Web Inspector: Allow text selection when the BasicBlockAnnotator is enabled
2155         https://bugs.webkit.org/show_bug.cgi?id=140987
2156
2157         Reviewed by Timothy Hatcher.
2158
2159         Because the BasicBlockAnnotator no longer sets the background color of
2160         lines that haven't executed to gray, text selection while the
2161         BasicBlockAnnotator is enabled no longer results in a bad user interface.
2162         This patch both allows text selection while the BasicBlockAnnotator is
2163         enabled and also removes the now unused listeners to CodeMirror's focus
2164         and blur events.
2165
2166         * UserInterface/Views/SourceCodeTextEditor.js:
2167         (WebInspector.SourceCodeTextEditor):
2168         (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
2169         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
2170         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
2171         (WebInspector.SourceCodeTextEditor.prototype.gainedFocus): Deleted.
2172         (WebInspector.SourceCodeTextEditor.prototype.lostFocus): Deleted.
2173         * UserInterface/Views/TextEditor.js:
2174         (WebInspector.TextEditor):
2175         (WebInspector.TextEditor.prototype.gainedFocus): Deleted.
2176         (WebInspector.TextEditor.prototype.lostFocus): Deleted.
2177
2178 2015-01-29  Saam Barati  <saambarati1@gmail.com>
2179
2180         Web Inspector: Make BasicBlockAnnotator lessen the saturation of syntax highlighting instead of graying out unexecuted code
2181         https://bugs.webkit.org/show_bug.cgi?id=141011
2182
2183         Reviewed by Timothy Hatcher.
2184
2185         This patch removes a lot of the complicated logic associated around 
2186         determining which code can be grayed out by the BasicBlockAnnotator. 
2187         Instead, the BasicBlockAnnotator now applies a CSS class to all the
2188         code that has not executed which lessens the saturation of the 
2189         syntax coloring for the code. This creates both a nicer user
2190         interface and a nicer user experience because it makes reading
2191         source code with the BasicBlockAnnotator enabled more pleasant.
2192
2193         * UserInterface/Controllers/BasicBlockAnnotator.js:
2194         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
2195         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
2196         (WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
2197         (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace): Deleted.
2198         (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyClosingBrace): Deleted.
2199         (_canGrayOutEntireLine): Deleted.
2200         (_grayOutLine): Deleted.
2201         (_clearRangeForBasicBlockMarker.get marker): Deleted.
2202         (_clearRangeForBasicBlockMarker): Deleted.
2203         * UserInterface/Views/SourceCodeTextEditor.css:
2204         (.hover-menu.color > img):
2205         (.basic-block-has-not-executed): Deleted.
2206         (.basic-block-has-not-executed-prepend::before): Deleted.
2207         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
2208         (.cm-s-default .basic-block-has-not-executed):
2209         (.cm-s-default .basic-block-has-not-executed.cm-comment):
2210         (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
2211         (.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
2212         (.cm-s-default .basic-block-has-not-executed.cm-string):
2213         (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
2214         (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-attribute):
2215
2216 2015-01-29  Joseph Pecoraro  <pecoraro@apple.com>
2217
2218         Web Inspector: ES6: Improved Console Format for Set and Map Objects (like Arrays)
2219         https://bugs.webkit.org/show_bug.cgi?id=122867
2220
2221         Reviewed by Timothy Hatcher.
2222
2223         This includes Set/Map/WeakMap previews:
2224
2225             - Set previews: Set {1, 2, 3}
2226             - Map/WeakMap previews: Map {1 => 2, "key" => "value"}
2227
2228         For WeakMaps:
2229         
2230             - the preview itself shows up to 5 key/value pairs from when the object was logged
2231             - the previews are strings only, and thus do not retain the actual keys/values
2232             - when expanding, we get RemoteObjects and strongly retain the keys/values
2233             - when collapsing / clearing, we release the RemoteObjects so they can get collected
2234
2235         Currently you collapse the <entries> section, and re-expand later the
2236         collection may show you knew keys/values. The UI for this will change.
2237
2238         * Localizations/en.lproj/localizedStrings.js:
2239         * UserInterface/Protocol/RemoteObject.js:
2240         (WebInspector.RemoteObject.prototype.isCollectionType):
2241         (WebInspector.RemoteObject.prototype.isWeakCollection):
2242         (WebInspector.RemoteObject.prototype.getCollectionEntries):
2243         (WebInspector.RemoteObject.prototype.releaseWeakCollectionEntries):
2244         (WebInspector.RemoteObject.prototype.arrayLength):
2245         (WebInspector.RemoteObject.prototype._weakCollectionObjectGroup):
2246         High level functions for dealing with a RemoteObject that may be a
2247         collection / weak collection.
2248
2249         * UserInterface/Views/ConsoleMessageImpl.js:
2250         (WebInspector.ConsoleMessageImpl):
2251         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
2252         Include default formatters for collection types.
2253
2254         (WebInspector.ConsoleMessageImpl.prototype._appendPreview):
2255         (WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews):
2256         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
2257         (WebInspector.ConsoleMessageImpl.prototype._appendValuePreview):
2258         (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview): Deleted.
2259         Refactor preview generation a bit and include a specific path for
2260         generation the output of a preview with "entries".
2261
2262         * UserInterface/Views/LogContentView.css:
2263         (.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object):
2264         With nested Object previews ("Map {{a:1} => 1}") don't show "Object" for the inner
2265         object preview. Only show it if it has a unique type ("Map {Foo {a:1} => 1}")
2266
2267         (.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
2268         (:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .section):
2269         (:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .properties):
2270         Make map/set/weakmap display like Objects.
2271
2272         * UserInterface/Views/ObjectPropertiesSection.js:
2273         (WebInspector.ObjectPropertiesSection.prototype.update):
2274         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2275         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
2276         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2277         (WebInspector.CollectionEntriesMainTreeElement):
2278         (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
2279         (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
2280         (WebInspector.CollectionEntriesMainTreeElement.prototype.oncollapse):
2281         (WebInspector.CollectionEntriesMainTreeElement.prototype.ondetach):
2282         (WebInspector.CollectionEntriesMainTreeElement.prototype._trackWeakEntries):
2283         (WebInspector.CollectionEntriesMainTreeElement.prototype._untrackWeakEntries):
2284         (WebInspector.CollectionEntryTreeElement):
2285         (WebInspector.CollectionEntryTreeElement.prototype.onpopulate):
2286         (WebInspector.CollectionEntryTreeElement.prototype.onattach):
2287         (WebInspector.EmptyCollectionTreeElement):
2288         (WebInspector.ObjectPropertiesSection.prototype.update.callback): Deleted.
2289         Add a quick UI for exploring the entries of a collection. We are actively
2290         changing the styles of objects in the Console, so this should change soon.
2291
2292 2015-01-28  Joseph Pecoraro  <pecoraro@apple.com>
2293
2294         Web Inspector: Change Main Frame Status Buttons when debugging Augmented JSContext
2295         https://bugs.webkit.org/show_bug.cgi?id=141006
2296
2297         Reviewed by Timothy Hatcher.
2298
2299         * Localizations/en.lproj/localizedStrings.js:
2300         New "Restart" string.
2301
2302         * UserInterface/Base/Main.js:
2303         (WebInspector.canArchiveMainFrame):
2304         * UserInterface/Views/FrameTreeElement.js:
2305         (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
2306         (WebInspector.FrameTreeElement.prototype._updateDownloadButton):
2307         Update the tooltip when in a non-Web debuggable, and only show
2308         the Download button when in a Web debuggable.
2309
2310         * UserInterface/Views/TreeElementStatusButton.js:
2311         (WebInspector.TreeElementStatusButton.prototype.set hidden):
2312         Oops! The implementation was backwards. Simplify with classList.toggle.
2313
2314 2015-01-28  Brian J. Burg  <burg@cs.washington.edu>
2315
2316         Web Inspector: remove CSS.setPropertyText, CSS.toggleProperty and related dead code
2317         https://bugs.webkit.org/show_bug.cgi?id=140961
2318
2319         Reviewed by Timothy Hatcher.
2320
2321         Setters for CSSProperty (except override) are not used, so delete them. These setters
2322         and their callees in DOMNodeStyles were the only clients of the removed protocol commands.
2323
2324         * UserInterface/Models/CSSProperty.js:
2325         (WebInspector.CSSProperty.prototype.update):
2326         (WebInspector.CSSProperty.prototype.get name):
2327         (WebInspector.CSSProperty.prototype.get value):
2328         (WebInspector.CSSProperty.prototype.get priority):
2329         (WebInspector.CSSProperty.prototype.hasOtherVendorNameOrKeyword):
2330         (WebInspector.CSSProperty.prototype.set text): Deleted.
2331         (WebInspector.CSSProperty.prototype.set name): Deleted.
2332         (WebInspector.CSSProperty.prototype.set value): Deleted.
2333         (WebInspector.CSSProperty.prototype.set important): Deleted.
2334         (WebInspector.CSSProperty.prototype.set priority): Deleted.
2335         (WebInspector.CSSProperty.prototype.set enabled): Deleted.
2336         (WebInspector.CSSProperty.prototype.add): Deleted.
2337         (WebInspector.CSSProperty.prototype.remove): Deleted.
2338         (WebInspector.CSSProperty.prototype._updatePropertySoon.performUpdate): Deleted.
2339         (WebInspector.CSSProperty.prototype._updatePropertySoon): Deleted.
2340         (WebInspector.CSSProperty.prototype._cancelPendingUpdate): Deleted.
2341         * UserInterface/Models/CSSStyleDeclaration.js:
2342         (WebInspector.CSSStyleDeclaration.prototype.addProperty): Deleted.
2343         (WebInspector.CSSStyleDeclaration.prototype.removeProperty): Deleted.
2344         * UserInterface/Models/DOMNodeStyles.js:
2345         (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
2346         (WebInspector.DOMNodeStyles.prototype.addRule): Deleted.
2347         (WebInspector.DOMNodeStyles.prototype.changeProperty): Deleted.
2348         (WebInspector.DOMNodeStyles.prototype.changePropertyText): Deleted.
2349         (WebInspector.DOMNodeStyles.prototype.changePropertyEnabledState): Deleted.
2350         (WebInspector.DOMNodeStyles.prototype.addProperty): Deleted.
2351         (WebInspector.DOMNodeStyles.prototype.removeProperty): Deleted.
2352         (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Deleted.
2353         * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
2354         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
2355         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
2356         * UserInterface/Views/RulesStyleDetailsPanel.js:
2357         (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked):
2358         * Versions/Inspector-iOS-6.0.json:
2359         * Versions/Inspector-iOS-7.0.json:
2360         * Versions/Inspector-iOS-8.0.json:
2361
2362 2015-01-28  Dana Burkart  <dburkart@apple.com>
2363
2364         Move ASan flag settings from DebugRelease.xcconfig to Base.xcconfig
2365         https://bugs.webkit.org/show_bug.cgi?id=136765
2366
2367         Reviewed by Alexey Proskuryakov.
2368
2369         * Configurations/Base.xcconfig:
2370         * Configurations/DebugRelease.xcconfig:
2371
2372 2015-01-23  Joseph Pecoraro  <pecoraro@apple.com>
2373
2374         Web Inspector: Object Previews in the Console
2375         https://bugs.webkit.org/show_bug.cgi?id=129204
2376
2377         Reviewed by Timothy Hatcher.
2378
2379         * UserInterface/Controllers/JavaScriptLogViewController.js:
2380         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
2381         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
2382         (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
2383         Update RuntimeManager callsites that do not need object previews.
2384
2385         * UserInterface/Controllers/RuntimeManager.js:
2386         (WebInspector.RuntimeManager.prototype.evalCallback):
2387         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
2388         Update the main evaluate method to include a boolean parameter for
2389         object previews. Most callers do not need them. Also, since previews
2390         were not available on iOS 6, switch to invoke, to conditionally
2391         include the command parameter.
2392
2393         * UserInterface/Protocol/RemoteObject.js:
2394         (WebInspector.RemoteObject):
2395         (WebInspector.RemoteObject.fromPayload):
2396         (WebInspector.RemoteObject.prototype.get preview):
2397         Store the preview from the payload.
2398
2399         * UserInterface/Views/ConsoleMessageImpl.js:
2400         (WebInspector.ConsoleMessageImpl.prototype._format):
2401         (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
2402         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
2403         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
2404         (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
2405         Pass an explicit false for most formatters to not use a preview if available.
2406         
2407         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
2408         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
2409         Currently only object types are previewed. Though we request previews
2410         for arrays, we don't use the preview because we show a better preview
2411         by just immediately requesting for a full non-preview property list.
2412         
2413         (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
2414         Quickly output an object preview into the title element. The format
2415         is "ClassName {prop: value...}". Elide the class name if it is "Object".
2416         Also skip over certain preview properties that may not be useful
2417         at a glance (like constructor, or accessors without values).
2418
2419         * UserInterface/Views/LogContentView.css:
2420         (.console-object-preview):
2421         (.console-formatted-array .console-object-preview):
2422         (.console-object-preview-lossless):
2423         (.expanded .console-object-preview):
2424         Show lossy previews in italics.
2425         Show lossless previews and array previews without italics.
2426         Do not show the class name in the preview in italics when expanded.
2427
2428         (.console-object-preview .name):
2429         Give preview property names the same color as ObjectPropertiesSection property names.
2430         
2431         (.expanded .console-object-preview > .console-object-preview-body):
2432         When expanding an object, hide the preview.
2433
2434         (.console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
2435         (.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
2436         For "Object" previews, hide the name "Object" when not expanded, and show it when expanded.
2437
2438 2015-01-23  Saam Barati  <saambarati1@gmail.com>
2439
2440         Web Inspector: Disable *Annotators on minified files that aren't pretty printed
2441         https://bugs.webkit.org/show_bug.cgi?id=140550
2442
2443         Reviewed by Timothy Hatcher.
2444
2445         When SourceCodeTextEditor speculates that a file is minified it 
2446         sets a flag on itself that the Annotators will notice when pretty 
2447         printing and turning on type profiling. 
2448
2449         SourceCodeTextEditor enforces the following two behaviors:
2450
2451         1. Always pretty print a file if we think it's minified while 
2452         viewing type annotations. So, while viewing a minified file, 
2453         if you press the type profiling button, the pretty printer will 
2454         first reformat the file, then the type profiler will insert type annotations.
2455
2456         2. If the type profiler is enabled and we're viewing a pretty 
2457         printed file that we think originally was minified, and the 
2458         pretty printer is disabled via pressing the button, then the 
2459         type profiler will also be disabled.
2460
2461         These two behaviors maintain a good user experience because 
2462         it prevents a bad visual representation of profiler data and 
2463         also prevents bad performance.
2464
2465         * UserInterface/Controllers/TypeTokenAnnotator.js:
2466         (WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations): Deleted.
2467         * UserInterface/Views/SourceCodeTextEditor.js:
2468         (WebInspector.SourceCodeTextEditor):
2469         (WebInspector.SourceCodeTextEditor.prototype.shown):
2470         (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
2471         (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
2472         (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
2473         (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
2474         (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
2475         (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
2476
2477 2015-01-22  Jonathan Wells  <jonowells@apple.com>
2478
2479         Web Inspector: ResourceContentView.js incorrectly contains call to WebInspector.UIString with a variable parameter
2480         https://bugs.webkit.org/show_bug.cgi?id=140268
2481
2482         Reviewed by Timothy Hatcher.
2483
2484         UIString no longer incorrectly used around variables. Drive-by fixes to prototype inheritance style.
2485         Use of Promises corrected such that requesting content for a resource resolves rather than rejects if
2486         a resource can't be found or has another error that isn't a web inspector error.
2487
2488         * Localizations/en.lproj/localizedStrings.js: Updated.
2489         * UserInterface/Models/Resource.js: Change reject to resolve.
2490         * UserInterface/Models/Script.js:
2491         (WebInspector.Script.prototype.requestContentFromBackend): Proper use of Error object.
2492         * UserInterface/Models/SourceCode.js: Use correct inheritance style.
2493         * UserInterface/Views/ResourceContentView.js:
2494         (WebInspector.ResourceContentView.prototype._contentAvailable): Handle error now that promise resolves.
2495         (WebInspector.ResourceContentView.prototype._contentError): Remove incorrect use of UIString.
2496         * UserInterface/Views/SourceCodeTextEditor.js:
2497         (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Handle error now that promise resolves.
2498
2499 2015-01-22  Nikita Vasilyev  <nvasilyev@apple.com>
2500
2501         Web Inspector: Expected gutter highlight when selecting console input line, just like output line
2502         https://bugs.webkit.org/show_bug.cgi?id=140696
2503
2504         Reviewed by Timothy Hatcher.
2505
2506         * UserInterface/Views/LogContentView.css:
2507
2508 2015-01-21  Saam Barati  <saambarati1@gmail.com>
2509
2510         Web Inspector: Change Annotator's isActive getter into an isActive() function.
2511         https://bugs.webkit.org/show_bug.cgi?id=140729
2512
2513         Reviewed by Timothy Hatcher.
2514
2515         This patch also makes the child classes of Annotator use
2516         the function instead of accessing the property directly.
2517
2518         * UserInterface/Controllers/Annotator.js:
2519         (WebInspector.Annotator.prototype.isActive):
2520         (WebInspector.Annotator.prototype.get isActive): Deleted.
2521         * UserInterface/Controllers/BasicBlockAnnotator.js:
2522         (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
2523         * UserInterface/Controllers/TypeTokenAnnotator.js:
2524         (WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):
2525         * UserInterface/Views/SourceCodeTextEditor.js:
2526         (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
2527         (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
2528         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
2529         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
2530         (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
2531
2532 2015-01-21  Saam Barati  <saambarati1@gmail.com>
2533
2534         Web Inspector: Don't allow the BasicBlockAnnotator to highlight a section if it's only a closing brace
2535         https://bugs.webkit.org/show_bug.cgi?id=140727
2536
2537         Reviewed by Timothy Hatcher.
2538
2539         * UserInterface/Controllers/BasicBlockAnnotator.js:
2540         (WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
2541         (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyClosingBrace):
2542         BasicBlockAnnotator tries to no longer highlight a basic block if it is only
2543         whitespace and a closing brace. These ranges are often after statements
2544         that make these basic blocks unreachable, such as a return/break/continue
2545         statement occurring inside a if/else/while/for block. This check won't
2546         match every highlighted empty closing brace, but catches most of them 
2547         because it only does intra block analysis instead of inter block analysis.
2548
2549 2015-01-20  Joseph Pecoraro  <pecoraro@apple.com>
2550
2551         Web Inspector: Use spread operator in a few places
2552         https://bugs.webkit.org/show_bug.cgi?id=140699
2553
2554         Reviewed by Geoffrey Garen.
2555
2556         * UserInterface/Controllers/ProbeManager.js:
2557         (WebInspector.ProbeManager.prototype.get probeSets):
2558         Simplify by using the spread operator.
2559
2560         * UserInterface/Models/TimelineRecording.js:
2561         This actually fixes an issue. The one place this was used was expecting
2562         an array and called ".length" on the result. However, the iterator being
2563         returned does not have a ".length" property so it was always undefined.
2564
2565 2015-01-20  Joseph Pecoraro  <pecoraro@apple.com>
2566
2567         Web Inspector: Expanding event objects in console shows undefined for most values, it should have real values
2568         https://bugs.webkit.org/show_bug.cgi?id=137306
2569
2570         Reviewed by Timothy Hatcher.
2571
2572         When first expanding an object, show all the object's own properties and any
2573         getter properties that may be on its prototype chain. Now, we only fetch
2574         own properties, for __proto__ properties.
2575
2576         * UserInterface/Protocol/RemoteObject.js:
2577         (WebInspector.RemoteObject.prototype.getOwnProperties):
2578         (WebInspector.RemoteObject.prototype.getOwnAndGetterProperties):
2579         (WebInspector.RemoteObject.prototype.getAllProperties):
2580         (WebInspector.RemoteObject.prototype.get hasChildren): Deleted.
2581         * UserInterface/Views/ObjectPropertiesSection.js:
2582         (WebInspector.ObjectPropertiesSection):
2583         (WebInspector.ObjectPropertiesSection.prototype.update):
2584         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2585
2586 2015-01-20  Joseph Pecoraro  <pecoraro@apple.com>
2587
2588         Web Inspector: Should show dynamic specificity values
2589         https://bugs.webkit.org/show_bug.cgi?id=140647
2590
2591         Reviewed by Benjamin Poulain.
2592
2593         For dynamic selectors, provide text in the tooltip describing that the
2594         specificity is dynamic and may change, and pointing out the element
2595         the current value was calculated against.
2596
2597         * Localizations/en.lproj/localizedStrings.js:
2598         * UserInterface/Models/CSSSelector.js:
2599         (WebInspector.CSSSelector):
2600         (WebInspector.CSSSelector.prototype.get specificity):
2601         (WebInspector.CSSSelector.prototype.get dynamic):
2602         * UserInterface/Models/DOMNodeStyles.js:
2603         (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload.return):
2604         (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload):
2605         * UserInterface/Views/CSSStyleDeclarationSection.js:
2606         (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
2607
2608 2015-01-19  Saam Barati  <saambarati1@gmail.com>
2609
2610         Web Inspector: Provide a front end for JSC's Control Flow Profiler
2611         https://bugs.webkit.org/show_bug.cgi?id=138454
2612
2613         Reviewed by Timothy Hatcher.
2614
2615         This patch creates a user interface for JSC's control flow profiler.
2616         The Web Inspector gets basic block ranges from JSC, and displays
2617         basic blocks that have not executed as having a gray background.
2618         
2619         BasicBlockAnnotator is the class responsible for this UI logic.
2620         It also does a few nifty things when presenting a UI for this gray
2621         background color: if an entire line of code is within the basic 
2622         block's boundary, the annotator will not just highlight the background 
2623         behind the text, but the background of the entire line itself. This
2624         provides a nicer experience when glancing through large JavaScript files.
2625
2626         This patch also adds some necessary wrapper methods inside TextEditor
2627         for accessing CodeMirror's text highlighting functionality. It also
2628         creates a way for TextEditor and SourceCodeTextEditor to listen
2629         for focus events inside CodeMirror.
2630
2631         * UserInterface/Controllers/AnnotatorManager.js: Removed.
2632         * UserInterface/Controllers/BasicBlockAnnotator.js: Added.
2633         (WebInspector.BasicBlockAnnotator):
2634         (WebInspector.BasicBlockAnnotator.prototype.clearAnnotations):
2635         (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
2636         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
2637         (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
2638         (WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
2639         (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace):
2640         (WebInspector.BasicBlockAnnotator.prototype._canGrayOutEntireLine):
2641         (WebInspector.BasicBlockAnnotator.prototype._grayOutLine):
2642         (WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker.get marker):
2643         (WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker):
2644         * UserInterface/Main.html:
2645         * UserInterface/Views/SourceCodeTextEditor.css:
2646         (.basic-block-has-not-executed):
2647         (.basic-block-has-not-executed-prepend::before):
2648         * UserInterface/Views/SourceCodeTextEditor.js:
2649         (WebInspector.SourceCodeTextEditor):
2650         (WebInspector.SourceCodeTextEditor.prototype.shown):
2651         (WebInspector.SourceCodeTextEditor.prototype.hidden):
2652         (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
2653         (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
2654         (WebInspector.SourceCodeTextEditor.prototype.gainedFocus):
2655         (WebInspector.SourceCodeTextEditor.prototype.lostFocus):
2656         (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
2657         (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
2658         (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
2659         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
2660         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
2661         (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
2662         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
2663         (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
2664         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
2665         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
2666         * UserInterface/Views/TextEditor.js:
2667         (WebInspector.TextEditor):
2668         (WebInspector.TextEditor.prototype.getTextInRange):
2669         (WebInspector.TextEditor.prototype.addStyleToTextRange):
2670         (WebInspector.TextEditor.prototype.gainedFocus):
2671         (WebInspector.TextEditor.prototype.lostFocus):
2672
2673 2015-01-16  Nikita Vasilyev  <nvasilyev@apple.com>
2674
2675         Web Inspector: Make message selection in the console more readable
2676         https://bugs.webkit.org/show_bug.cgi?id=140385
2677
2678         Reviewed by Timothy Hatcher.
2679
2680         * UserInterface/Views/LogContentView.css:
2681         (.console-item.selected):
2682         (.console-messages:focus .console-item.selected):
2683         (.console-item.selected .console-message::after):
2684         (.console-messages:focus .console-item.selected .console-message::after):
2685         (.console-messages:focus .console-item.selected .go-to-link):
2686         * UserInterface/Views/Main.css:
2687         (.go-to-link):
2688         !important statements seem to be unnecessary, remove them.
2689
2690 2015-01-16  Joseph Pecoraro  <pecoraro@apple.com>
2691
2692         Web Inspector: Remove unused WebInspector.LocalJSONObject
2693         https://bugs.webkit.org/show_bug.cgi?id=140570
2694
2695         Reviewed by Timothy Hatcher.
2696
2697         * UserInterface/Protocol/RemoteObject.js:
2698         (WebInspector.RemoteObject.fromLocalObject): Deleted.
2699         (WebInspector.LocalJSONObject): Deleted.
2700         (WebInspector.LocalJSONObject.prototype.get description.switch.case.string_appeared_here): Deleted.
2701         (WebInspector.LocalJSONObject.prototype.get description.switch.default): Deleted.
2702         (WebInspector.LocalJSONObject.prototype.get description): Deleted.
2703         (WebInspector.LocalJSONObject.prototype._concatenate): Deleted.
2704         (WebInspector.LocalJSONObject.prototype.get type): Deleted.
2705         (WebInspector.LocalJSONObject.prototype.get subtype): Deleted.
2706         (WebInspector.LocalJSONObject.prototype.get hasChildren): Deleted.
2707         (WebInspector.LocalJSONObject.prototype.getOwnProperties): Deleted.
2708         (WebInspector.LocalJSONObject.prototype.getAllProperties): Deleted.
2709         (WebInspector.LocalJSONObject.prototype._children.buildProperty): Deleted.
2710         (WebInspector.LocalJSONObject.prototype._children): Deleted.
2711         (WebInspector.LocalJSONObject.prototype.isError): Deleted.
2712
2713 2015-01-15  Joseph Pecoraro  <pecoraro@apple.com>
2714
2715         Web Inspector: Uncaught exceptions, attempting to dispatch unimplemented Network WebSocket methods
2716         https://bugs.webkit.org/show_bug.cgi?id=140532
2717
2718         Reviewed by Timothy Hatcher.
2719
2720         * UserInterface/Protocol/NetworkObserver.js:
2721         (WebInspector.NetworkObserver.prototype.webSocketFrameReceived):
2722         (WebInspector.NetworkObserver.prototype.webSocketFrameError):
2723         (WebInspector.NetworkObserver.prototype.webSocketFrameSent):
2724         Add stubs to prevent an exception when trying to dispatch the event.
2725
2726 2015-01-15  Joseph Pecoraro  <pecoraro@apple.com>
2727
2728         Web Inspector: Reopening the inspector can selects a sub-frame instead of the Main Frame's DOM
2729         https://bugs.webkit.org/show_bug.cgi?id=140513
2730
2731         Reviewed by Timothy Hatcher.
2732
2733         * UserInterface/Models/Frame.js:
2734         (WebInspector.Frame.prototype.saveIdentityToCookie):
2735         Specifically identify the main frame, so that any sub-frames with the same
2736         URL, don't get choosen over the main frame when restoring state from cookie.
2737
2738 2015-01-15  Joseph Pecoraro  <pecoraro@apple.com>
2739
2740         Web Inspector: selecting Paint timeline records from sidebar does not trigger preview of paint quad
2741         https://bugs.webkit.org/show_bug.cgi?id=139151
2742
2743         Reviewed by Brian Burg.
2744
2745         * UserInterface/Views/LayoutTimelineDataGrid.js:
2746         (WebInspector.LayoutTimelineDataGrid):
2747         (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
2748         (WebInspector.LayoutTimelineDataGrid.prototype.reset): Deleted.
2749         (WebInspector.LayoutTimelineDataGrid.prototype.hidden): Deleted.
2750         (WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged): Deleted.
2751         (WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded): Deleted.
2752         Move the node highlight from the datagrid to the timeline view because
2753         we want this to happen on both the Navigation sidebar and the datagrid.
2754
2755         * UserInterface/Views/LayoutTimelineView.js:
2756         (WebInspector.LayoutTimelineView.prototype.shown):
2757         (WebInspector.LayoutTimelineView.prototype.hidden):
2758         (WebInspector.LayoutTimelineView.prototype.filterDidChange):
2759         (WebInspector.LayoutTimelineView.prototype.reset):
2760         (WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
2761         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
2762         Update the highlight for major view updates.
2763
2764         (WebInspector.LayoutTimelineView.prototype._updateHighlight):
2765         (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
2766         (WebInspector.LayoutTimelineView.prototype._hideHighlightIfNeeded):
2767         (WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord):
2768         Show a highlight for what we are hovering, or what is selected.
2769         Note the selected node may not be visible due to filtering.
2770
2771         (WebInspector.LayoutTimelineView.prototype._mouseOverDataGrid):
2772         (WebInspector.LayoutTimelineView.prototype._mouseLeaveDataGrid):
2773         (WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline):
2774         (WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline):
2775         Update hovered information mousing over the datagrid and tree outline.
2776
2777         * UserInterface/Views/TimelineContentView.js:
2778         (WebInspector.TimelineContentView.prototype.filterDidChange):
2779         * UserInterface/Views/TimelineSidebarPanel.js:
2780         (WebInspector.TimelineSidebarPanel.prototype.updateFilter):
2781         * UserInterface/Views/TimelineView.js:
2782         (WebInspector.TimelineView.prototype.filterDidChange):
2783         Include a "filterDidChange" TimelineView method that gets called after
2784         updateFilter (things like the filter bar or timeline range changes).
2785
2786         * UserInterface/Views/TreeOutline.js:
2787         (TreeOutline.prototype.treeElementFromNode):
2788         (TreeOutline.prototype.treeElementFromPoint):
2789         Provide a helper to get a tree element from an event target.
2790
2791 2015-01-13  Joseph Pecoraro  <pecoraro@apple.com>
2792
2793         Web Inspector: TextEditor doesn't update when resizing console, white space instead of content
2794         https://bugs.webkit.org/show_bug.cgi?id=140240
2795
2796         Reviewed by Timothy Hatcher.
2797
2798         * UserInterface/Base/Main.js:
2799         (WebInspector._consoleResizerMouseDown.dockedResizerDrag):
2800         Dispatch the event that signals the console has changed size.
2801
2802 2015-01-13  Joseph Pecoraro  <pecoraro@apple.com>
2803
2804         Web Inspector: I do not expect to see the same rule multiple times in styles sidebar
2805         https://bugs.webkit.org/show_bug.cgi?id=138185
2806
2807         Reviewed by Timothy Hatcher.
2808
2809         In the styles sidebar, don't show a duplicate, lesser-specificity rule even
2810         if it matches the selected element multiple times with different selectors
2811         in the list.
2812
2813         * UserInterface/Models/CSSRule.js:
2814         (WebInspector.CSSRule.prototype.isEqualTo):
2815         CSSRule identifiers are objects.
2816
2817         * UserInterface/Views/RulesStyleDetailsPanel.js:
2818         (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
2819         Remove duplicates from the ordered list of style declarations.
2820
2821 2015-01-12  Jonathan Wells  <jonowells@apple.com>
2822
2823         Web Inspector: Timeline: when Network Requests view is selected, in progress requests are absent.
2824         https://bugs.webkit.org/show_bug.cgi?id=140090
2825
2826         Reviewed by Timothy Hatcher.
2827
2828         TimelineContentView#_updateTimes() changed to call WebInspector.timelineSidebarPanel.updateFilter() in addition
2829         to updating the layout of the current timeline view. TimelineSidebarPanel.updateFilter() now responsible for
2830         updating filtered resources in a TimelineView.
2831
2832         * UserInterface/Views/NavigationSidebarPanel.js:
2833         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2834         Now handles updating the UI associated with filtering of navigation sidebar tree elements.
2835
2836         * UserInterface/Views/OverviewTimelineView.js:
2837         (WebInspector.OverviewTimelineView.prototype.updateLayout):
2838         No longer handles updating other UI along with the navigation sidebar tree elements. That is now handled by
2839         WebInspector.TimelineView.prototype.filterUpdated.
2840         (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Drive-by fix. Missing vars.
2841
2842         * UserInterface/Views/TimelineContentView.js:
2843         (WebInspector.TimelineContentView.prototype._updateTimes): Add call to updateFilter().
2844
2845         * UserInterface/Views/TimelineView.js:
2846         (WebInspector.TimelineView.prototype.filterUpdated):
2847         Function added to dispatch a SelectionPathComponentsDidChange event.
2848
2849 2015-01-09  Enrica Casucci  <enrica@apple.com>
2850
2851         [iOS] Support additional text styles.
2852         https://bugs.webkit.org/show_bug.cgi?id=140310
2853         rdar://problem/18568864
2854
2855         Reviewed by Joseph Pecoraro.
2856
2857         Add support for three new text styles.
2858
2859         * UserInterface/Models/CSSKeywordCompletions.js:
2860
2861 2015-01-09  Timothy Hatcher  <timothy@apple.com>
2862
2863         Web Inspector: REGRESSION: Navigation sidebar can show blank next to the Console view
2864         https://bugs.webkit.org/show_bug.cgi?id=140291
2865
2866         Reviewed by Joseph Pecoraro.
2867
2868         * UserInterface/Base/Main.js:
2869         (WebInspector.contentLoaded): Don't restore collapsed false if selectedSidebarPanel is null.
2870         (WebInspector._sidebarCollapsedStateDidChange): Support a _ignoreNavigationSidebarPanelCollapsedEvent flag
2871         to avoid setting _navigationSidebarCollapsedSetting.
2872         (WebInspector._navigationSidebarPanelSelected): Force collapsed if selectedSidebarPanel is null.
2873         (WebInspector._contentBrowserCurrentContentViewDidChange): Set _ignoreNavigationSidebarPanelCollapsedEvent
2874         when forcing the collapsed state to avoid setting _navigationSidebarCollapsedSetting and calling
2875         _updateContentViewForCurrentNavigationSidebar.
2876
2877 2015-01-08  Nikita Vasilyev  <nvasilyev@apple.com>
2878
2879         Web Inspector: REGRESSION Showing debugger sidebar shouldn't change selected JS file
2880         https://bugs.webkit.org/show_bug.cgi?id=139526
2881
2882         Reviewed by Timothy Hatcher.
2883
2884         * UserInterface/Base/Main.js:
2885         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
2886         When switching to Debugger, show last selected JS or HTML resource.
2887
2888         (WebInspector.showSplitConsole):
2889         (WebInspector.showFullHeightConsole):
2890         (WebInspector.toggleConsoleView):
2891         (WebInspector._sidebarCollapsedStateDidChange):
2892         (WebInspector._updateContentViewForCurrentNavigationSidebar):
2893         (WebInspector._navigationSidebarPanelSelected):
2894         (WebInspector._contentBrowserCurrentContentViewDidChange):
2895         (WebInspector._updateNavigationSidebarForCurrentContentView): Deleted.
2896         * UserInterface/Views/ApplicationCacheFrameContentView.js:
2897         (WebInspector.ApplicationCacheFrameContentView.prototype.get allowedNavigationSidebarPanels):
2898         * UserInterface/Views/CookieStorageContentView.js:
2899         (WebInspector.CookieStorageContentView.prototype.get allowedNavigationSidebarPanels):
2900         * UserInterface/Views/DOMStorageContentView.js:
2901         (WebInspector.DOMStorageContentView.prototype.get allowedNavigationSidebarPanels):
2902         * UserInterface/Views/DOMTreeContentView.js:
2903         (WebInspector.DOMTreeContentView.prototype.get allowedNavigationSidebarPanels):
2904         * UserInterface/Views/DatabaseContentView.js:
2905         (WebInspector.DatabaseContentView.prototype.get allowedNavigationSidebarPanels):
2906         * UserInterface/Views/DatabaseTableContentView.js:
2907         (WebInspector.DatabaseTableContentView.prototype.get allowedNavigationSidebarPanels):
2908         * UserInterface/Views/FontResourceContentView.js:
2909         (WebInspector.FontResourceContentView.prototype.get allowedNavigationSidebarPanels):
2910         * UserInterface/Views/FrameDOMTreeContentView.js:
2911         (WebInspector.FrameDOMTreeContentView.prototype.get allowedNavigationSidebarPanels):
2912         * UserInterface/Views/LogContentView.js:
2913         (WebInspector.LogContentView.prototype.get allowedNavigationSidebarPanels):
2914         * UserInterface/Views/ResourceClusterContentView.js:
2915         (WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels):
2916         * UserInterface/Views/ResourceSidebarPanel.js:
2917         (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
2918         (WebInspector.ResourceSidebarPanel.prototype.showMainFrame):
2919         * UserInterface/Views/Sidebar.js:
2920         (WebInspector.Sidebar.prototype.removeSidebarPanel):
2921         * UserInterface/Views/TimelineContentView.js:
2922         (WebInspector.TimelineContentView.prototype.get allowedNavigationSidebarPanels):
2923
2924 2015-01-08  Joseph Pecoraro  <pecoraro@apple.com>
2925
2926         Web Inspector: Phantom breakpoint appears on empty line after reload of minified file with a breakpoint
2927         https://bugs.webkit.org/show_bug.cgi?id=140276
2928
2929         Reviewed by Timothy Hatcher.
2930
2931         Styles being set on lines (e.g. breakpoint styles) before content loaded can
2932         carry forward with the empty line. It is safe for us to just remove all
2933         the styles from the intial empty line before we load the initial content.
2934
2935         * UserInterface/Views/TextEditor.js:
2936         (WebInspector.TextEditor.prototype.set string.update):
2937         (WebInspector.TextEditor.prototype.set string):
2938
2939 2015-01-08  Joseph Pecoraro  <pecoraro@apple.com>
2940
2941         Web Inspector: Pause Reason Improvements (Breakpoint, Debugger Statement, Pause on Next Statement)
2942         https://bugs.webkit.org/show_bug.cgi?id=138991
2943
2944         Reviewed by Timothy Hatcher.
2945
2946         * Localizations/en.lproj/localizedStrings.js:
2947         New UI strings for Pause Reasons.
2948
2949         * UserInterface/Controllers/DebuggerManager.js:
2950         (WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
2951         Provide a way to get the breakpoint with an identifier.
2952
2953         * UserInterface/Images/PausedBreakpoint.svg: Added.
2954         * UserInterface/Images/gtk/PausedBreakpoint.svg: Added.
2955         Copy PseudoElement.svg icon and give it a new name.
2956
2957         * UserInterface/Views/BreakpointTreeElement.css:
2958         (.breakpoint-paused-icon .icon):
2959         New icon for a breakpoint causing a pause.
2960
2961         * UserInterface/Views/BreakpointTreeElement.js:
2962         (WebInspector.BreakpointTreeElement.prototype.removeStatusImage):
2963         (WebInspector.BreakpointTreeElement.prototype._updateStatus):
2964         Give API to remove the breakpoint status icon from a BreakpointTreeElement.
2965
2966         * UserInterface/Views/DebuggerSidebarPanel.js:
2967         (WebInspector.DebuggerSidebarPanel):
2968         (WebInspector.DebuggerSidebarPanel.prototype.get hasSelectedElement):
2969         (WebInspector.DebuggerSidebarPanel.prototype.deselectBreakpointContentTreeElements):
2970         (WebInspector.DebuggerSidebarPanel.prototype.deselectPauseReasonContentTreeElements):
2971         (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
2972         Give DebuggerSidebarPanel an optional pause reason tree outline. When available
2973         include it in the pattern of ensuring a single exclusive selection.
2974
2975         (WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
2976         When a breakpoint is removed, check if we should update the pause reason tree outline.
2977
2978         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
2979         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
2980         Update Pause Reason section contents depending on the reason.
2981
2982         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonGotoArrow):
2983         Always try to include a goto arrow to jump to the original pause location
2984         if it is available at the time of pausing.
2985
2986 2015-01-08  Joseph Pecoraro  <pecoraro@apple.com>
2987
2988         Web Inspector: Expected UserAgent styles to be crossed-out if overridden
2989         https://bugs.webkit.org/show_bug.cgi?id=140154
2990
2991         Reviewed by Timothy Hatcher.
2992
2993         * UserInterface/Models/DOMNodeStyles.js:
2994         (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
2995         Add a comment about anonymous styles. The getter is no longer used, and it is not
2996         clear if we really care about this state, or if "anonymous" is an appropriate name.
2997
2998         (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
2999         Allow browser styles (user agent / html attributes) to be overridden.
3000
3001         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
3002         When refreshing styles after changes, the Style object backing HTML attributes
3003         was being completely replaced. Allow it to be remembered by a unique key.
3004
3005 2015-01-07  Joseph Pecoraro  <pecoraro@apple.com>
3006
3007         Web Inspector: Do not create rulesMap entries for rules without identifiers
3008         https://bugs.webkit.org/show_bug.cgi?id=140237
3009
3010         Reviewed by Timothy Hatcher.
3011
3012         * UserInterface/Models/DOMNodeStyles.js:
3013         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
3014         We were accidentally converting a null into a string with a loose string
3015         concatenation. Only do this if the mapKey is not-null.
3016
3017 2015-01-07  Saam Barati  <saambarati1@gmail.com>
3018
3019         Web Inspector: Abstract common functions from TypeTokenAnnotator into a parent class and introduce an AnnotatorManager
3020         https://bugs.webkit.org/show_bug.cgi?id=139426
3021
3022         Reviewed by Timothy Hatcher.
3023
3024         This patch creates a parent class, Annotator, that TypeTokenAnnotator
3025         inherits from. Annotator defines a common set of functionality
3026         that a text editor annotator can use to mark up UI. This 
3027         is in preparation other classes that will inherit from Annotator.
3028         
3029         This patch also introduces AnnotatorManager which controls a
3030         set of Annotators and provides a single interface for
3031         controlling them.
3032
3033         * UserInterface/Controllers/Annotator.js: Added.
3034         (WebInspector.Annotator):
3035         (WebInspector.Annotator.prototype.get sourceCodeTextEditor):
3036         (WebInspector.Annotator.prototype.get isActive):
3037         (WebInspector.Annotator.prototype.pause):
3038         (WebInspector.Annotator.prototype.resume):
3039         (WebInspector.Annotator.prototype.refresh):
3040         (WebInspector.Annotator.prototype.reset):
3041         (WebInspector.Annotator.prototype.clear):
3042         (WebInspector.Annotator.prototype.insertAnnotations):
3043         (WebInspector.Annotator.prototype.clearAnnotations):
3044         (WebInspector.Annotator.prototype._clearTimeoutIfNeeded):
3045         * UserInterface/Controllers/AnnotatorManager.js: Added.
3046         (WebInspector.AnnotatorManager):
3047         (WebInspector.AnnotatorManager.prototype.addAnnotator):
3048         (WebInspector.AnnotatorManager.prototype.isAnnotatorActive):
3049         (WebInspector.AnnotatorManager.prototype.pauseAll):
3050         (WebInspector.AnnotatorManager.prototype.resumeAll):
3051         (WebInspector.AnnotatorManager.prototype.refreshAllIfActive):
3052         (WebInspector.AnnotatorManager.prototype.resetAllIfActive):
3053         (WebInspector.AnnotatorManager.prototype.clearAll):
3054         (WebInspector.AnnotatorManager.prototype.removeAllAnnotators):
3055         (WebInspector.AnnotatorManager.prototype._getAnnotators):
3056         * UserInterface/Controllers/TypeTokenAnnotator.js:
3057         (WebInspector.TypeTokenAnnotator):
3058         (WebInspector.TypeTokenAnnotator.prototype.insertAnnotations.):
3059         (WebInspector.TypeTokenAnnotator.prototype.clearAnnotations):
3060         (WebInspector.TypeTokenAnnotator.prototype._insertToken):
3061         (WebInspector.TypeTokenAnnotator.prototype.get isActive): Deleted.
3062         (WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor): Deleted.
3063         (WebInspector.TypeTokenAnnotator.prototype.pause): Deleted.
3064         (WebInspector.TypeTokenAnnotator.prototype.resume): Deleted.
3065         (WebInspector.TypeTokenAnnotator.prototype.refresh): Deleted.
3066         (WebInspector.TypeTokenAnnotator.prototype.reset): Deleted.
3067         (WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.): Deleted.
3068         (WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded): Deleted.
3069         * UserInterface/Main.html:
3070         * UserInterface/Views/SourceCodeTextEditor.js:
3071         (WebInspector.SourceCodeTextEditor):
3072         (WebInspector.SourceCodeTextEditor.prototype.shown):
3073         (WebInspector.SourceCodeTextEditor.prototype.hidden):
3074         (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
3075         (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
3076         (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
3077         (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
3078         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
3079         (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
3080         (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
3081         (WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript):
3082         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
3083         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
3084         (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
3085
3086 2015-01-06  Joseph Pecoraro  <pecoraro@apple.com>
3087
3088         Web Inspector: Do not style implicit CSS properties in the Style Rules section
3089         https://bugs.webkit.org/show_bug.cgi?id=140161
3090
3091         Reviewed by Timothy Hatcher.
3092
3093         Previously, implicit properties being transparent in the Rules section
3094         was confusing and not useful. Lets simplify what transparency means:
3095
3096             - Rules:  transparency means a non-inheritable property in an inherited rule
3097             - Computed: transparency means an implicit value
3098
3099         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3100         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited):
3101         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)): Deleted.
3102
3103 2015-01-06  Joseph Pecoraro  <pecoraro@apple.com>
3104
3105         Web Inspector: Uncaught Exception when dismissing Go To Line dialog
3106         https://bugs.webkit.org/show_bug.cgi?id=139663
3107
3108         Reviewed by Timothy Hatcher.
3109
3110         Calling removeChild would trigger the blur event handler and do a
3111         nested call of dismiss(), re-entering and removing while in the middle
3112         of removing. Avoid re-entrancy to avoid the exception.
3113
3114         * UserInterface/Views/GoToLineDialog.js:
3115         (WebInspector.GoToLineDialog):
3116         (WebInspector.GoToLineDialog.prototype.dismiss):
3117
3118 2015-01-01  Darin Adler  <darin@apple.com>
3119
3120         We often misspell identifier as "identifer"
3121         https://bugs.webkit.org/show_bug.cgi?id=140025
3122
3123         Reviewed by Michael Saboff.
3124
3125         * UserInterface/Base/Main.js:
3126         (WebInspector._updateNavigationSidebarForCurrentContentView):
3127         (WebInspector._contentBrowserCurrentContentViewDidChange):
3128         Fix misspellings.
3129
3130 2014-12-29  Jonathan Wells  <jonowells@apple.com>
3131
3132         Web Inspector: SourceCode.requestContent should return a promise
3133         https://bugs.webkit.org/show_bug.cgi?id=135777
3134
3135         Reviewed by Brian Burg.
3136
3137         Change SourceCode.js to request content from the backend using Promises. Change Resource.js to use this new
3138         approach when determining whether a resource load has finished. Change all calls to the older
3139         SourceCode#requestContentFromBackendIfNeeded to simply use requestContent and use a catch function
3140         if a content request error needs to be handled. Fix a bug where the appropriate error message for an
3141         invalid resource wasn't showing in the resource content view.
3142
3143         * UserInterface/Controllers/AnalyzerManager.js:
3144         (set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
3145         (set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
3146         * UserInterface/Controllers/CSSStyleManager.js:
3147         (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
3148         (WebInspector.CSSStyleManager.prototype._updateResourceContent.styleSheetReady):
3149         * UserInterface/Models/CSSStyleSheet.js:
3150         (WebInspector.CSSStyleSheet.prototype.requestContentFromBackend):
3151         (WebInspector.CSSStyleSheet.prototype.canRequestContentFromBackend): Deleted.
3152         * UserInterface/Models/DOMNodeStyles.js:
3153         (WebInspector.DOMNodeStyles.prototype.changeStyleText):
3154         * UserInterface/Models/Resource.js:
3155         (WebInspector.Resource.prototype.canRequestContent):
3156         (WebInspector.Resource.prototype.requestContentFromBackend):
3157         (WebInspector.Resource.prototype.markAsFinished):
3158         (WebInspector.Resource.prototype.markAsFailed):
3159         (WebInspector.Resource.prototype.getImageSize):
3160         (WebInspector.Resource.prototype.canRequestContentFromBackend): Deleted.
3161         * UserInterface/Models/Script.js:
3162         (WebInspector.Script.prototype.requestContentFromBackend):
3163         (WebInspector.Script.prototype.requestScriptSyntaxTree.catch):
3164         (WebInspector.Script.prototype.canRequestContentFromBackend): Deleted.
3165         * UserInterface/Models/SourceCode.js:
3166         (WebInspector.SourceCode):
3167         (WebInspector.SourceCode.prototype.requestContent):
3168         (WebInspector.SourceCode.prototype.requestContentFromBackend):
3169         (WebInspector.SourceCode.prototype._processContent):
3170         (WebInspector.SourceCode.prototype.canRequestContentFromBackend): Deleted.
3171         (WebInspector.SourceCode.prototype.requestContentFromBackendIfNeeded): Deleted.
3172         (WebInspector.SourceCode.prototype.servicePendingContentRequests): Deleted.
3173         * UserInterface/Models/SourceMapResource.js:
3174         (WebInspector.SourceMapResource):
3175         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoadError):
3176         (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
3177         (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Deleted.
3178         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded): Deleted.
3179         * UserInterface/Views/ResourceContentView.js:
3180         (WebInspector.ResourceContentView):
3181         (WebInspector.ResourceContentView.prototype._contentAvailable):
3182         (WebInspector.ResourceContentView.prototype._contentError):
3183         * UserInterface/Views/SourceCodeTextEditor.js:
3184         (WebInspector.SourceCodeTextEditor):
3185         (WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
3186         (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable):
3187         (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent):
3188         (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
3189
3190 2014-12-26  Dan Bernstein  <mitz@apple.com>
3191
3192         <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
3193         https://bugs.webkit.org/show_bug.cgi?id=139950
3194
3195         Reviewed by David Kilzer.
3196
3197         * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
3198         in a manner that works with Xcode 5.1.1.
3199
3200 2014-12-20  David Kilzer  <ddkilzer@apple.com>
3201
3202         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
3203         <http://webkit.org/b/139463>
3204
3205         Reviewed by Mark Rowe.
3206
3207         * Configurations/Base.xcconfig:
3208         - Only set TOOLCHAINS on OS X.
3209         * Configurations/DebugRelease.xcconfig:
3210         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
3211         * Configurations/Version.xcconfig:
3212         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
3213         * Configurations/WebInspectorUIFramework.xcconfig:
3214         - Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
3215           PRODUCTION_FRAMEWORKS_DIR and
3216           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.
3217
3218 2014-12-19  Commit Queue  <commit-queue@webkit.org>
3219
3220         Unreviewed, rolling out r177574.
3221         https://bugs.webkit.org/show_bug.cgi?id=139821
3222
3223         "Broke Production builds by installing
3224         libWebCoreTestSupport.dylib in the wrong directory" (Requested
3225         by ddkilzer on #webkit).
3226
3227         Reverted changeset:
3228
3229         "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
3230         WebInspectorUI, WebKit, WebKit2"
3231         https://bugs.webkit.org/show_bug.cgi?id=139463
3232         http://trac.webkit.org/changeset/177574
3233
3234 2014-12-19  David Kilzer  <ddkilzer@apple.com>
3235
3236         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
3237         <http://webkit.org/b/139463>
3238
3239         Reviewed by Mark Rowe.
3240
3241         * Configurations/Base.xcconfig:
3242         - Only set TOOLCHAINS on OS X.
3243         * Configurations/DebugRelease.xcconfig:
3244         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
3245         * Configurations/Version.xcconfig:
3246         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
3247         * Configurations/WebInspectorUIFramework.xcconfig:
3248         - Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
3249           PRODUCTION_FRAMEWORKS_DIR and
3250           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.
3251
3252 2014-12-16  Matt Baker  <mattbaker@apple.com>
3253
3254         Web Inspector: REGRESSION: Dragging undocked web inspector causes mouse to change from pointer to i-bar cursor over window title
3255         https://bugs.webkit.org/show_bug.cgi?id=139720
3256
3257         Reviewed by Timothy Hatcher.
3258
3259         * UserInterface/Base/Main.js:
3260         Prevent default handling of the mouse event when clicking in the titlebar area. WebCore won't continue handling the event,
3261         but docking buttons/context menu still function.
3262
3263 2014-12-15  Nikita Vasilyev  <nvasilyev@apple.com>
3264
3265         Web Inspector: Clicking on the expand object arrow should always expand an object
3266         https://bugs.webkit.org/show_bug.cgi?id=139382
3267
3268         Reviewed by Joseph Pecoraro.
3269
3270         * UserInterface/Views/LogContentView.js: