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