1 2015-02-19 Joseph Pecoraro <pecoraro@apple.com>
3 Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
4 https://bugs.webkit.org/show_bug.cgi?id=141696
6 Reviewed by Timothy Hatcher.
8 * UserInterface/Main.html:
11 * UserInterface/Models/CollectionEntry.js: Added.
12 (WebInspector.CollectionEntry):
13 (WebInspector.CollectionEntry.fromPayload):
14 (WebInspector.CollectionEntry.prototype.get key):
15 (WebInspector.CollectionEntry.prototype.get value):
16 * UserInterface/Models/CollectionEntryPreview.js: Added.
17 (WebInspector.CollectionEntryPreview):
18 (WebInspector.CollectionEntryPreview.fromPayload):
19 (WebInspector.CollectionEntryPreview.prototype.get keyPreview):
20 (WebInspector.CollectionEntryPreview.prototype.get valuePreview):
21 * UserInterface/Models/ObjectPreview.js: Added.
22 (WebInspector.ObjectPreview):
23 (WebInspector.ObjectPreview.fromPayload):
24 (WebInspector.ObjectPreview.prototype.get type):
25 (WebInspector.ObjectPreview.prototype.get subtype):
26 (WebInspector.ObjectPreview.prototype.get description):
27 (WebInspector.ObjectPreview.prototype.get lossless):
28 (WebInspector.ObjectPreview.prototype.get overflow):
29 (WebInspector.ObjectPreview.prototype.get properties):
30 (WebInspector.ObjectPreview.prototype.get entries):
31 * UserInterface/Models/PropertyPreview.js: Added.
32 (WebInspector.PropertyPreview):
33 (WebInspector.PropertyPreview.fromPayload):
34 (WebInspector.PropertyPreview.prototype.get name):
35 (WebInspector.PropertyPreview.prototype.get type):
36 (WebInspector.PropertyPreview.prototype.get subtype):
37 (WebInspector.PropertyPreview.prototype.get value):
38 (WebInspector.PropertyPreview.prototype.get valuePreview):
39 * UserInterface/Models/PropertyDescriptor.js: Added.
40 (WebInspector.PropertyDescriptor.fromPayload):
41 (WebInspector.PropertyDescriptor.prototype.get name):
42 (WebInspector.PropertyDescriptor.prototype.get value):
43 (WebInspector.PropertyDescriptor.prototype.get writable):
44 (WebInspector.PropertyDescriptor.prototype.get configurable):
45 (WebInspector.PropertyDescriptor.prototype.get enumerable):
46 (WebInspector.PropertyDescriptor.prototype.get isOwnProperty):
47 (WebInspector.PropertyDescriptor.prototype.get wasThrown):
48 (WebInspector.PropertyDescriptor.prototype.get isInternalProperty):
49 (WebInspector.PropertyDescriptor.prototype.hasValue):
50 (WebInspector.PropertyDescriptor.prototype.hasGetter):
51 (WebInspector.PropertyDescriptor.prototype.hasSetter):
52 New Model objects for different Protocol types.
53 The only customizations right now are compatibility modifications
54 and PropertyDescriptor's "hasValue", "hasGetter", and "hasSetter"
55 functions to return reliable checks based on the descriptors contents.
57 * UserInterface/Protocol/RemoteObject.js:
58 (WebInspector.RemoteObject):
59 (WebInspector.RemoteObject.fromPayload):
60 (WebInspector.RemoteObject.resolveNode):
61 (WebInspector.RemoteObject.prototype.get value):
62 (WebInspector.RemoteObject.prototype._isSymbol):
63 (WebInspector.RemoteObject.prototype.isCollectionType):
64 (WebInspector.RemoteObject.prototype.isWeakCollection):
65 (WebInspector.RemoteObject.prototype.getCollectionEntries):
66 (WebInspector.RemoteObject.prototype.arrayLength):
67 Clean up the existing code to enforce more checks and use our
68 style of member variables and public accessors.
70 (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
71 (WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors):
72 (WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
73 (WebInspector.RemoteObject.prototype.callback):
74 Provide a new way of getting properties that returns Model objects
75 instead of raw protocol types.
77 * UserInterface/Views/ConsoleMessageImpl.js:
78 (WebInspector.ConsoleMessageImpl.prototype._format):
79 (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
80 (WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
81 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
82 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
83 (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
84 Always include a preview when possible. Now, when forced to be an object,
85 force expansion even if the preview is lossless.
87 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
88 Use an ObjectTreeView instead of ObjectPropertiesSection.
90 (WebInspector.ConsoleMessageImpl.prototype._appendPreview): Deleted.
91 (WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews): Deleted.
92 (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews): Deleted.
93 (WebInspector.ConsoleMessageImpl.prototype._appendValuePreview): Deleted.
94 This code is moved into ObjectPreviewView.
97 * UserInterface/Views/ObjectPropertiesSection.js:
98 (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
99 (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
100 These types are now converted to Model types in Model objects, so do not do it here.
102 * UserInterface/Views/ObjectPreviewView.css: Added.
104 (.object-preview.lossless):
105 (.object-preview .name):
106 * UserInterface/Views/ObjectPreviewView.js: Added.
107 (WebInspector.ObjectPreviewView):
108 (WebInspector.ObjectPreviewView.prototype.get preview):
109 (WebInspector.ObjectPreviewView.prototype.get element):
110 (WebInspector.ObjectPreviewView.prototype.get mode):
111 (WebInspector.ObjectPreviewView.prototype.get lossless):
112 (WebInspector.ObjectPreviewView.prototype._numberOfPropertiesToShowInMode):
113 (WebInspector.ObjectPreviewView.prototype._appendPreview):
114 (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
115 (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
116 (WebInspector.ObjectPreviewView.prototype._appendValuePreview):
117 (WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview):
118 An ObjectPreviewView can create a full/brief view given a ObjectPreview.
119 The view will contain formatted values everywhere possible.
121 * UserInterface/Views/ObjectTreePropertyTreeElement.js: Added.
122 (WebInspector.ObjectTreePropertyTreeElement):
123 (WebInspector.ObjectTreePropertyTreeElement.prototype.get property):
124 (WebInspector.ObjectTreePropertyTreeElement.prototype.onpopulate):
125 (WebInspector.ObjectTreePropertyTreeElement.prototype.onattach):
126 (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle):
127 (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
128 (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle):
129 (WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString):
130 (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
131 (WebInspector.ObjectTreePropertyTreeElement.prototype.mode):
132 (WebInspector.ObjectTreePropertyTreeElement.prototype):
133 * UserInterface/Views/ObjectTreeView.js: Added.
134 (WebInspector.ObjectTreeView):
135 (WebInspector.ObjectTreeView.classNameForObject):
136 (WebInspector.ObjectTreeView.ComparePropertyDescriptors):
137 (WebInspector.ObjectTreeView.prototype.get object):
138 (WebInspector.ObjectTreeView.prototype.get element):
139 (WebInspector.ObjectTreeView.prototype.get expanded):
140 (WebInspector.ObjectTreeView.prototype.expand):
141 (WebInspector.ObjectTreeView.prototype.collapse):
142 (WebInspector.ObjectTreeView.prototype.update):
143 (WebInspector.ObjectTreeView.prototype._updateProperties):
144 (WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
145 Re-implementation of ObjectPropertiesSection for our Model objects
146 without "Section" semantics / dependencies. An ObjectTree will creates
147 an expandable tree for a RemoteObject. The top level clickable item
148 will be an ObjectPreview if possible, otherwise just a title element.
150 * UserInterface/Views/ObjectTreeView.css: Added.
152 (.object-tree > .title):
153 (.object-tree > :matches(.title, .object-preview)::before):
154 (.object-tree.expanded > :matches(.title, .object-preview)::before):
155 (.object-tree.lossless-preview > :matches(.title, .object-preview)::before):
156 (.object-tree-outline):
157 (.object-tree.expanded > .object-tree-outline):
158 (.object-tree-outline li):
159 (.object-tree-outline li.parent):
160 (.object-tree-outline li.parent::before):
161 (.object-tree-outline li.parent.expanded::before):
162 (.object-tree-outline ol):
163 (.object-tree-outline ol.expanded):
164 (.object-tree-outline li .empty-message):
165 (.object-tree-property .name):
166 (.object-tree-property .name.not-enumerable):
167 (.object-tree-property .value.error):
168 (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
170 (.formatted-string, .formatted-regexp):
174 (.formatted-null, .formatted-undefined):
175 (.console-group-messages .object-tree:not(.lossless-preview)):
176 (.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
177 (.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)::before):
178 (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree):
179 (.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):
180 All styles for ObjectTree / ObjectPreview. Independent from
181 other styles in the inspector. Most of this is a copy of
182 the styles applied to ObjectPropertiesSection, renamed.
185 * UserInterface/Views/ObjectTreeCollectionTreeElement.js: Added.
186 (WebInspector.ObjectTreeCollectionTreeElement):
187 (WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry):
188 (WebInspector.ObjectTreeCollectionTreeElement.prototype.get remoteObject):
189 (WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand.callback):
190 (WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand):
191 (WebInspector.ObjectTreeCollectionTreeElement.prototype.oncollapse):
192 (WebInspector.ObjectTreeCollectionTreeElement.prototype.ondetach):
193 (WebInspector.ObjectTreeCollectionTreeElement.prototype._trackWeakEntries):
194 (WebInspector.ObjectTreeCollectionTreeElement.prototype._untrackWeakEntries):
195 (WebInspector.ObjectTreeCollectionEntryTreeElement):
196 (WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onpopulate):
197 (WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onattach):
198 (WebInspector.ObjectTreeEmptyCollectionTreeElement):
199 Essentially a copy of ObjectPropertiesSection Collection handling using
200 the ObjectTree class names.
202 * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
205 2015-02-19 Joseph Pecoraro <pecoraro@apple.com>
207 Web Inspector: DOMTree / Node Details Sidebar do not update as <input> content changes
208 https://bugs.webkit.org/show_bug.cgi?id=141790
210 Reviewed by Timothy Hatcher.
212 * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
213 (WebInspector.DOMNodeDetailsSidebarPanel):
214 (WebInspector.DOMNodeDetailsSidebarPanel.prototype._characterDataModified):
215 Update Node "Value" details if character data changes.
217 * UserInterface/Views/DOMTreeUpdater.js:
218 (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
219 Update the title of the parent. If the parent had a single text node child
220 and now doesn't, it will need to update its display.
222 2015-02-19 Joseph Pecoraro <pecoraro@apple.com>
224 Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
225 https://bugs.webkit.org/show_bug.cgi?id=141793
227 Reviewed by Timothy Hatcher.
229 Currently the backend disallows editing of Shadow DOM nodes,
230 so the frontend should not provide options that do not work.
231 Long term we should allow editing Shadow DOM nodes.
233 * UserInterface/Models/CSSStyleDeclaration.js:
234 (WebInspector.CSSStyleDeclaration.prototype.get editable):
235 Inline styles on a Shadow DOM node are not editable.
237 * UserInterface/Views/DOMTreeElement.js:
238 (WebInspector.DOMTreeElement.prototype.ondelete):
239 (WebInspector.DOMTreeElement.prototype._startEditingTarget):
240 (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
241 (WebInspector.DOMTreeElement.prototype._populateTextContextMenu):
242 (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
243 (WebInspector.DOMTreeElement.prototype._startEditing):
244 Disable context menus and keyboard shortcuts on Shadow DOM nodes.
245 Only Context Menu item we keep is "Copy as HTML".
247 * UserInterface/Views/DOMTreeOutline.js:
248 (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
249 (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
250 Eliminate double look-up.
252 * UserInterface/Views/RulesStyleDetailsPanel.js:
253 (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
254 Do not add the New Rule Button to the Styles Sidebar of Shadow DOM Nodes.
255 Instead this will just be an empty divider.
257 2015-02-18 Nikita Vasilyev <nvasilyev@apple.com>
259 Web Inspector: REGRESSION: Missing Divider line between console.log and console evaluation
260 https://bugs.webkit.org/show_bug.cgi?id=141770
262 Reviewed by Timothy Hatcher.
264 * UserInterface/Views/LogContentView.css:
266 (.console-message): Deleted.
268 2015-02-18 Jono Wells <jonowells@apple.com>
270 Web Inspector: Inspecting a page where resources are in folders forces folder organization on every subsequent page
271 https://bugs.webkit.org/show_bug.cgi?id=141397
273 Reviewed by Timothy Hatcher.
275 When removeChildren is called on an instance of a FolderizedTreeElement, the element's _groupedIntoFolders flag
276 will now be set to false. This will prevent unnecessary folderization upon a frame navigation. Also during an
277 onpopulate event, addChildForRepresentedObject is called repeatedly and much of the work done during each call
278 was unnecessary. That work has now been partially removed and partially relocated to a function that is only
279 called at the beginning of an onpopulate event.
281 * UserInterface/Views/FolderizedTreeElement.js:
282 (WebInspector.FolderizedTreeElement.prototype.set removeChildren): Set _groupedIntoFolders to false.
283 (WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Remove unnecessary treeOutline
284 emptiness check, and move _shouldGroupIntoFolders() check to new function prepareToPopulate().
285 (WebInspector.FolderizedTreeElement.prototype.prepareToPopulate): Create.
286 (WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue): Call prepareToPopulate().
288 * UserInterface/Views/FrameTreeElement.js:
289 (WebInspector.FrameTreeElement.prototype.onpopulate): Call prepareToPopulate().
291 * UserInterface/Views/GeneralTreeElement.js: Drive-by inheritance style fix.
292 * UserInterface/Views/ResourceTreeElement.js: Drive-by inheritance style fix.
294 2015-02-16 Joseph Pecoraro <pecoraro@apple.com>
296 Web Inspector: ES6: Improved Console Support for Promise Objects
297 https://bugs.webkit.org/show_bug.cgi?id=141634
299 Reviewed by Timothy Hatcher.
301 * UserInterface/Protocol/RemoteObject.js:
302 For now just add Internal Properties and regular properties.
303 We will address the UI later.
305 2015-02-16 Nikita Vasilyev <nvasilyev@apple.com>
307 Web Inspector: Tweak the styles on the Console
308 https://bugs.webkit.org/show_bug.cgi?id=140580
310 - Use non-monospace (default sans-serif) font for console messages, but keep using monospace font
311 for objects, functions, and anything else that presumably code.
312 - Display all expandable objects on a separate row.
314 Reviewed by Timothy Hatcher.
316 * UserInterface/Views/ConsoleCommand.js:
317 (WebInspector.ConsoleCommand.prototype.decorateMessageElement):
318 (WebInspector.ConsoleCommand.prototype.toMessageElement):
319 * UserInterface/Views/ConsoleGroup.js:
320 (WebInspector.ConsoleGroup.prototype.addMessage):
321 * UserInterface/Views/ConsoleMessageImpl.js:
322 (WebInspector.ConsoleMessageImpl.prototype._format):
323 (WebInspector.ConsoleMessageImpl.prototype._isExpandable):
324 (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
325 (WebInspector.ConsoleMessageImpl.prototype.append):
326 (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
327 (WebInspector.ConsoleMessageImpl.prototype.decorateMessageElement):
328 (WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
329 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString): Deleted.
330 * UserInterface/Views/LogContentView.css:
332 (.console-formatted-object):
333 (.expandable.source-code):
335 (.console-item.selected::after):
336 (.console-messages:focus .console-item.selected::after):
337 (.console-user-command-result.console-log-level::before):
338 (.console-item::before):
339 (.console-message .bubble):
340 (.console-error-level):
341 (.console-error-level .section .header .title):
342 (.console-error-level::before):
343 (.console-warning-level):
344 (.console-warning-level .console-message-text):
345 (.console-warning-level::before):
346 (.console-user-command::before):
347 (.console-group-messages .section):
348 (.console-group-messages .section .header::before):
349 (.console-group-messages .section .header .title):
350 (.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
351 (.outline-disclosure li):
352 (.outline-disclosure li.parent::before):
353 (.console-item): Deleted.
354 (.console-item.selected): Deleted.
355 (.console-messages:focus .console-item.selected): Deleted.
356 (.console-item.selected .console-message::after): Deleted.
357 (.console-messages:focus .console-item.selected .data-grid tr.selected): Deleted.
358 (.console-messages:focus .console-item.selected .console-message::after): Deleted.
359 (.console-message, .console-user-command): Deleted.
360 (.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): Deleted.
361 (.console-group): Deleted.
362 (.console-debug-level .console-message-text): Deleted.
363 (.console-debug-level::before): Deleted.
364 (.console-group-messages .section .header): Deleted.
365 (.console-group-messages .outline-disclosure): Deleted.
366 (.console-group-messages .outline-disclosure > ol): Deleted.
367 (.outline-disclosure li.elements-drag-over .selection): Deleted.
368 (.outline-disclosure ol:focus li.selected .selection): Deleted.
369 (.outline-disclosure > ol): Deleted.
370 * UserInterface/Views/LogContentView.js:
371 (WebInspector.LogContentView.prototype._mousemove):
372 (WebInspector.LogContentView.prototype._updateMessagesSelection):
373 (WebInspector.LogContentView.prototype._isMessageVisible):
374 (WebInspector.LogContentView.prototype._isMessageSelected):
375 (WebInspector.LogContentView.prototype._selectAllMessages):
376 (WebInspector.LogContentView.prototype._unfilteredMessages):
377 (WebInspector.LogContentView.prototype._visibleMessages):
378 (WebInspector.LogContentView.prototype._filterMessages):
379 (WebInspector.LogContentView.prototype._leftArrowWasPressed):
380 (WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent):
381 (WebInspector.LogContentView.prototype._performSearch):
382 * UserInterface/Views/Section.css:
383 (.section .header .title::before):
384 (.section.expanded .header .title::before):
385 (.section .header .title, .event-bar .header .title):
386 (.properties-tree li.parent::before):
387 (.section .header::before): Deleted.
388 (.section.expanded .header::before): Deleted.
390 2015-02-15 Brian J. Burg <burg@cs.washington.edu>
392 Web Inspector: remove unused XHR replay code
393 https://bugs.webkit.org/show_bug.cgi?id=141622
395 Reviewed by Timothy Hatcher.
397 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
398 * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
399 * Versions/Inspector-iOS-7.0.json:
400 * Versions/Inspector-iOS-8.0.json:
402 2015-02-14 Joseph Pecoraro <pecoraro@apple.com>
404 Web Inspector: Remove specificity approximation
405 https://bugs.webkit.org/show_bug.cgi?id=141600
407 Reviewed by Timothy Hatcher.
409 * Localizations/en.lproj/localizedStrings.js:
410 * UserInterface/Views/CSSStyleDeclarationSection.js:
411 (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
413 2015-02-13 Timothy Hatcher <timothy@apple.com>
415 Web Inspector: support better git diff of localizedStrings.js
416 https://bugs.webkit.org/show_bug.cgi?id=137237
418 Reviewed by Joseph Pecoraro.
420 * .gitattributes: Added.
422 2015-02-12 Brian J. Burg <burg@cs.washington.edu>
424 Web Inspector: add keyboard shortcut to enable/disable all breakpoints
425 https://bugs.webkit.org/show_bug.cgi?id=141527
427 Reviewed by Joseph Pecoraro.
429 * Localizations/en.lproj/localizedStrings.js:
430 * UserInterface/Views/DebuggerSidebarPanel.js:
431 (WebInspector.DebuggerSidebarPanel): Bind Command/Control + Y to toggle breakpoints button.
433 2015-02-12 Brian J. Burg <burg@cs.washington.edu>
435 Web Inspector: support adding and removing timelines to the timeline sidebar panel and overview
436 https://bugs.webkit.org/show_bug.cgi?id=138434
438 Reviewed by Timothy Hatcher.
440 A timeline recording's timelines should not be static. This patch adds relevant machinery to
441 dynamically add and remove timelines from the Timeline model object and its various views.
443 From the model side, this is a simple change that adds TimelineAdded and TimelineRemoved events.
444 The timeline views and timeline sidebar require more extensive changes to support this functionality.
445 Instead of keeping a fixed set of timeline tree elements, the sidebar view now adds and removes
446 tree elements to reflect the available timelines for the displayed timeline recording.
448 This change also includes several minor cleanups, such as appending 'Element' to view properties that
449 are DOM elements, and renaming TimelineContentView to TimelineRecordingContentView.
451 * UserInterface/Controllers/TimelineManager.js:
452 (WebInspector.TimelineManager.prototype._loadNewRecording):
453 Populate predefined network, layout, and script timelines here after constructing the recording.
455 * UserInterface/Main.html:
456 * UserInterface/Models/Timeline.js:
457 Move hardcoded class names and localized strings to these base class methods. This is not implemented
458 using overridden methods because not all timeline types have their own subclasses. Add a dummy
459 implementation of saveIdentityToCookie() to avoid warnings when saving sidebar panel selection state.
461 (WebInspector.Timeline.prototype.get type):
462 (WebInspector.Timeline.prototype.get displayName): Added.
463 (WebInspector.Timeline.prototype.get iconClassName): Added.
464 (WebInspector.Timeline.prototype.addRecord):
465 * UserInterface/Models/TimelineRecording.js:
466 (WebInspector.TimelineRecording):
467 (WebInspector.TimelineRecording.prototype.addTimeline.set timeline): Added.
468 (WebInspector.TimelineRecording.prototype.addTimeline): Added.
469 (WebInspector.TimelineRecording.prototype.removeTimeline.get this): Added.
470 (WebInspector.TimelineRecording.prototype.removeTimeline): Added.
471 * UserInterface/Views/ContentView.js:
472 (WebInspector.ContentView):
473 * UserInterface/Views/LayoutTimelineView.css:
474 (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
475 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.
476 * UserInterface/Views/LayoutTimelineView.js:
477 (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
478 (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
479 * UserInterface/Views/NavigationSidebarPanel.js:
480 (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie): Fix error message formatting.
481 (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
482 * UserInterface/Views/NetworkTimelineView.css:
483 (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
484 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.
485 * UserInterface/Views/NetworkTimelineView.js:
486 (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
487 * UserInterface/Views/ScriptTimelineView.css:
488 (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
489 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.
490 * UserInterface/Views/ScriptTimelineView.js:
491 (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
492 (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
493 * UserInterface/Views/TimelineOverview.js:
494 Convert this class to use the representedObject class pattern. It manages its own mapping from timelines
495 to overview graph views. Append 'Element' to some properties holding DOM elements.
496 (WebInspector.TimelineOverview):
497 (WebInspector.TimelineOverview.prototype.get visibleDuration):
498 (WebInspector.TimelineOverview.prototype.reset):
499 (WebInspector.TimelineOverview.prototype.updateLayout):
500 (WebInspector.TimelineOverview.prototype._handleScrollEvent):
501 (WebInspector.TimelineOverview.prototype._handleWheelEvent):
502 (WebInspector.TimelineOverview.prototype._timelineRemoved):
503 (WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
504 (WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):
505 * UserInterface/Views/TimelineRecordingContentView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.css.
506 Remove hard-coded top offsets and heights that need to be dynamically calculated.
507 (.content-view.timeline-recording > .timeline-overview):
508 (.content-view.timeline-recording > .view-container):
509 (.content-view.timeline-recording > .view-container > .timeline-view > .data-grid td):
510 (.content-view.timeline-recording > .view-container > .timeline-view > .data-grid table.data):
511 * UserInterface/Views/TimelineRecordingContentView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.js.
512 Manage timeline views and path components dynamically. Adjust view heights as necessary. Append 'Element'
513 to some properties holding DOM elements.
514 (WebInspector.TimelineRecordingContentView):
515 (WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView):
516 (WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
517 (WebInspector.TimelineRecordingContentView.prototype.get allowedNavigationSidebarPanels):
518 (WebInspector.TimelineRecordingContentView.prototype.get supportsSplitContentBrowser):
519 (WebInspector.TimelineRecordingContentView.prototype.get navigationItems):
520 (WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView):
521 (WebInspector.TimelineRecordingContentView.prototype.shown):
522 (WebInspector.TimelineRecordingContentView.prototype.hidden):
523 (WebInspector.TimelineRecordingContentView.prototype.filterDidChange):
524 (WebInspector.TimelineRecordingContentView.prototype.updateLayout):
525 (WebInspector.TimelineRecordingContentView.prototype.saveToCookie):
526 (WebInspector.TimelineRecordingContentView.prototype.restoreFromCookie):
527 (WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters.checkTimeBounds):
528 (WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters):
529 (WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected):
530 (WebInspector.TimelineRecordingContentView.prototype._timelineViewSelectionPathComponentsDidChange):
531 (WebInspector.TimelineRecordingContentView.prototype._showTimelineView):
532 (WebInspector.TimelineRecordingContentView.prototype._update):
533 (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
534 (WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
535 (WebInspector.TimelineRecordingContentView.prototype._stopUpdatingCurrentTime):
536 (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
537 (WebInspector.TimelineRecordingContentView.prototype._capturingStopped):
538 (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
539 (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
540 Fix a minor regression where we make a useless call to stop updating the time.
542 (WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
543 (WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
544 (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
545 (WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
546 (WebInspector.TimelineRecordingContentView.prototype._recordingReset):
547 (WebInspector.TimelineRecordingContentView.prototype._recordingUnloaded):
548 (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
549 * UserInterface/Views/TimelineSidebarPanel.css:
550 (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
551 (.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content): Deleted.
552 * UserInterface/Views/TimelineSidebarPanel.js:
553 Manage timeline tree elements dynamically. Adjust view heights as necessary. Append 'Element'
554 to some properties holding DOM elements. Keep track of the displayed recording and view explicitly.
555 (WebInspector.TimelineSidebarPanel):
556 (WebInspector.TimelineSidebarPanel.prototype.shown):
557 (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
558 (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
559 (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
560 (WebInspector.TimelineSidebarPanel.prototype.updateFilter):
561 (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
562 (WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
563 (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
564 (WebInspector.TimelineSidebarPanel.prototype.get if):
565 (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
566 (WebInspector.TimelineSidebarPanel.prototype._recordingCountChanged):
567 (WebInspector.TimelineSidebarPanel.prototype._recordingSelected):
568 (WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):
569 (WebInspector.TimelineSidebarPanel.prototype._timelineRemoved):
570 (WebInspector.TimelineSidebarPanel.prototype._timelineCountChanged):
571 (WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Deleted.
572 (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):
573 * UserInterface/Views/TimelineView.css:
574 (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
575 (.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
577 2015-02-12 Brian J. Burg <burg@cs.washington.edu>
579 Web Inspector: Large background image fails to load in inspector
580 https://bugs.webkit.org/show_bug.cgi?id=141405
582 Reviewed by Timothy Hatcher.
584 Convert base64-encoded resource data to binary data using Uint8Array and Blobs.
585 Use object URLs for blobs instead of data URLs when setting image 'src' attribute
586 and in @font-face urls. This conversion happens when the backend indicates that
587 resource content is base64-encoded.
589 Update image and font clients of resource-fetching functionality so that they use
590 object URLs correctly. Add some plumbing so that Blobs can be constructed with
591 the correct mime-type.
593 * UserInterface/Base/Utilities.js:
594 (decodeBase64ToBlob): Added.
595 * UserInterface/Models/CSSStyleSheet.js:
596 (WebInspector.CSSStyleSheet.prototype.get mimeType): Added.
597 * UserInterface/Models/Resource.js:
598 (WebInspector.Resource.prototype.createObjectURL): Added.
599 (WebInspector.Resource.prototype.getImageSize.imageDidLoad):
600 (WebInspector.Resource.prototype.getImageSize):
601 (WebInspector.Resource.prototype.get contentURL): Deleted.
602 * UserInterface/Models/Script.js:
603 (WebInspector.Script.prototype.get mimeType): Added.
604 * UserInterface/Models/SourceCode.js:
605 (WebInspector.SourceCode.prototype.get mimeType): Added.
606 (WebInspector.SourceCode.prototype._processContent):
607 (WebInspector.SourceCode.prototype.get contentIsBase64Encoded): Deleted.
608 * UserInterface/Models/SourceCodeRevision.js:
609 (WebInspector.SourceCodeRevision):
610 (WebInspector.SourceCodeRevision.prototype.copy):
611 (WebInspector.SourceCodeRevision.prototype.get contentIsBase64Encoded): Deleted.
612 (WebInspector.SourceCodeRevision.prototype.set contentIsBase64Encoded): Deleted.
613 * UserInterface/Views/FontResourceContentView.js:
614 (WebInspector.FontResourceContentView.prototype.hidden):
615 (WebInspector.FontResourceContentView.prototype.closed):
616 * UserInterface/Views/ImageResourceContentView.js:
617 (WebInspector.ImageResourceContentView.prototype.contentAvailable):
619 2015-02-11 Nikita Vasilyev <nvasilyev@apple.com>
621 Web Inspector: REGRESSION: Clicking selected item in the sidebar second time should scroll to the corresponding line
622 https://bugs.webkit.org/show_bug.cgi?id=140280
624 Reviewed by Brian Burg.
626 * UserInterface/Views/ContentViewContainer.js:
627 (WebInspector.ContentViewContainer.prototype.showContentView):
628 Perform scolling regardless of the navigation history. Since scrolling source code doesn't introduce a BackForwardEntry,
629 it's possible that the actual content view has a different scroll position.
631 2015-02-10 Joseph Pecoraro <pecoraro@apple.com>
633 Web Inspector: Better handle unknown release versions
634 https://bugs.webkit.org/show_bug.cgi?id=141454
636 Reviewed by Timothy Hatcher.
638 * UserInterface/Base/Platform.js:
639 If given an unknown Mac OS X version, at least parse
640 the version number in WebInspector.Platform.
642 2015-02-10 Nikita Vasilyev <nvasilyev@apple.com>
644 Web Inspector: Make collapsed sidebars undraggable
645 https://bugs.webkit.org/show_bug.cgi?id=140664
647 Reviewed by Timothy Hatcher.
649 * UserInterface/Views/Sidebar.css:
650 (.sidebar.collapsed):
651 (.sidebar.collapsed.right > .resizer): Deleted.
652 (.sidebar.collapsed.left > .resizer): Deleted.
653 * UserInterface/Views/Sidebar.js:
654 (WebInspector.Sidebar):
655 (WebInspector.Sidebar.prototype._resizerMouseDown):
656 (WebInspector.Sidebar.prototype._resizerMouseMoved):
657 (WebInspector.Sidebar.prototype._resizerDoubleClicked): Deleted.
659 2015-02-10 Joseph Pecoraro <pecoraro@apple.com>
661 Web Inspector: CSS Pretty Printing: still fails fails to put space between rgb(...) and numbers in minified gradients
662 https://bugs.webkit.org/show_bug.cgi?id=141411
664 Reviewed by Timothy Hatcher.
666 * Tools/PrettyPrinting/CodeMirrorFormatters.js:
667 * UserInterface/Views/CodeMirrorFormatters.js:
668 Token actually was "number m-css" so we should check token strings
669 more robustly, like elsewhere in the formatters.
671 2015-02-09 Brian J. Burg <burg@cs.washington.edu>
673 Web Inspector: Uncaught exception when reporting wrong backend command call signature
674 https://bugs.webkit.org/show_bug.cgi?id=141401
676 Reviewed by Joseph Pecoraro.
678 * UserInterface/Protocol/InspectorBackend.js:
679 (InspectorBackend.Command.prototype._invokeWithArguments): Fix wrong variable name.
681 2015-02-06 Jono Wells <jonowells@apple.com>
683 Web Inspector: REGRESSION: CSS Resource appears as empty after editing it via Styles sidebar
684 https://bugs.webkit.org/show_bug.cgi?id=140586
686 Reviewed by Timothy Hatcher.
688 Update SourceCode#_processContent to properly handle the promise returned from CSSAgent so that the content
689 will properly update when a style has changed. Properly clear the existing _requestContentPromise on the
690 stylesheet so that the content will update correctly.
692 * UserInterface/Controllers/CSSStyleManager.js: Drive-by style updates.
693 (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets):
694 * UserInterface/Models/CSSStyleSheet.js: Drive-by inheritance style update.
695 (WebInspector.CSSStyleSheet.prototype.requestContentFromBackend): Remove unnecessary backend promise function call.
696 * UserInterface/Models/Resource.js: Drive-by removal of unused variable.
697 * UserInterface/Models/SourceCode.js:
698 (WebInspector.SourceCode.prototype.markContentAsStale): Clear _requestContentPromise.
699 (WebInspector.SourceCode.prototype._processContent): Handle `parameters.text` correctly.
701 2015-02-04 Jono Wells <jonowells@apple.com>
703 Web Inspector: REGRESSION: Inline SourceMap resources show empty content when opened.
704 https://bugs.webkit.org/show_bug.cgi?id=141225
706 Reviewed by Timothy Hatcher.
708 Change WebInspector.SourceMapResource.prototype.requestContentFromBackend to correctly and consistently handle
709 calls to NetworkAgent. The helper function sourceMapResourceLoaded will now properly handle parameters as a single
710 payload, including manual calls in the case where the source map content is in a data URI. Also
711 WebInspector.SourceCode.prototype._processContent now properly handles an error string used for displaying
712 resource loading error messages in the resource content view.
714 * UserInterface/Models/Resource.js: drive-by style fix.
716 * UserInterface/Models/SourceCode.js:
717 (WebInspector.SourceCode.prototype._processContent):
718 Properly handle error string.
720 * UserInterface/Models/SourceMapResource.js:
721 (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
722 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
723 Formerly sourceMapResourceLoadError, now handles parameters from the NetworkAgent correctly.
725 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoadError):
726 This function now handles NetworkAgent errors only.
728 2015-02-05 Brian J. Burg <burg@cs.washington.edu>
730 Web Inspector: eliminate some unnecessary layout/painting in timeline overview and ruler
731 https://bugs.webkit.org/show_bug.cgi?id=141293
733 Reviewed by Timothy Hatcher.
735 The timeline overview's ruler was forcing repaints of divider labels even if the labels
736 had not changed since the last requestAnimationFrame. Bail out early if nothing changed.
738 The timeline overview and its graphs were updating layout using requestAnimationFrame
739 even when the TimelineContentView is not visible. Fix this by propagating visibility
740 changes to subviews, and not updating layout when hidden.
742 The above change also fixes an assertion sometimes encountered when the timeline view
743 tries to cache an element's offset width, but cannot because it isn't visible.
745 * UserInterface/Views/TimelineContentView.js:
746 (WebInspector.TimelineContentView.prototype.shown):
747 (WebInspector.TimelineContentView.prototype.hidden):
748 * UserInterface/Views/TimelineOverview.js:
749 (WebInspector.TimelineOverview.prototype.get visible):
750 (WebInspector.TimelineOverview.prototype.shown):
751 (WebInspector.TimelineOverview.prototype.hidden):
752 (WebInspector.TimelineOverview.prototype._needsLayout):
753 * UserInterface/Views/TimelineOverviewGraph.js:
754 (WebInspector.TimelineOverviewGraph.prototype.get visible):
755 (WebInspector.TimelineOverviewGraph.prototype.shown):
756 (WebInspector.TimelineOverviewGraph.prototype.hidden):
757 (WebInspector.TimelineOverviewGraph.prototype.needsLayout):
758 * UserInterface/Views/TimelineRuler.js:
759 (WebInspector.TimelineRuler.prototype.updateLayout):
761 2015-02-04 Joseph Pecoraro <pecoraro@apple.com>
763 Web Inspector: ES6: Improved Console Support for Symbol Objects
764 https://bugs.webkit.org/show_bug.cgi?id=141173
766 Reviewed by Timothy Hatcher.
768 * UserInterface/Protocol/RemoteObject.js:
769 (WebInspector.RemoteObject):
770 (WebInspector.RemoteObject.prototype._isSymbol):
771 Symbols have an objectId because it is a non-primitive that cannot be passed
772 by value, however it cannot have properties, so handle some cases.
774 * UserInterface/Views/LogContentView.css:
775 (.console-formatted-symbol):
776 Give Symbol's their own color.
778 2015-02-04 Nikita Vasilyev <nvasilyev@apple.com>
780 Web Inspector: Insertion bar (caret) is hidden behind the placeholder text in the style editor
781 https://bugs.webkit.org/show_bug.cgi?id=139659
783 Reviewed by Timothy Hatcher.
785 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
786 (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
787 Use non-monospace font to fit the placeholder text on a single line and
788 match the color if the native placeholder.
790 2015-02-04 Joseph Pecoraro <pecoraro@apple.com>
792 Web Inspector: console.table with columnName filter for non-existent property should still show column
793 https://bugs.webkit.org/show_bug.cgi?id=141066
795 Reviewed by Timothy Hatcher.
797 * UserInterface/Views/ConsoleMessageImpl.js:
798 (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
799 (WebInspector.ConsoleMessageImpl.prototype._userProvidedColumnNames):
800 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
801 If a second argument was provided to console.table, try to extract a list
802 of string names to use for the object properties. Output a table with
803 the provided column names, in the specified order. Also, use this
804 opportunity to mark missing properties with an em dash.
806 2015-02-02 Joseph Pecoraro <pecoraro@apple.com>
808 Web Inspector: CSS Autocompletion: Autodetect many color supporting properties
809 https://bugs.webkit.org/show_bug.cgi?id=141166
811 Reviewed by Timothy Hatcher.
813 * UserInterface/Base/Utilities.js:
814 Add String.prototype.endsWith. Group String extensions together.
816 * UserInterface/Models/CSSKeywordCompletions.js:
817 (WebInspector.CSSKeywordCompletions.forProperty):
818 If a property name ends in "color", provide CSS color completions.
820 (WebInspector.CSSKeywordCompletions.isColorAwareProperty): Deleted.
821 This was unused and disagrees slightly with the implementation above.
823 2015-02-02 Joseph Pecoraro <pecoraro@apple.com>
825 Web Inspector: Support console.table
826 https://bugs.webkit.org/show_bug.cgi?id=141058
828 Reviewed by Timothy Hatcher.
830 * Localizations/en.lproj/localizedStrings.js:
831 New "Index", "(Index)", "Value", table header strings.
833 * UserInterface/Views/ConsoleMessage.js:
834 Add "Table", but add FIXMEs to consider using the protocol generated enums.
836 * UserInterface/Views/ConsoleMessageImpl.js:
837 (WebInspector.ConsoleMessageImpl.prototype._format):
838 Special case console.table messages.
840 (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
841 (WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
842 Factor out ProjectPreview printing. Also, replace newlines in strings
843 with return characters, like we did elsewhere.
845 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
846 Ultimately try to create a DataGrid from the output. Search first
847 for rich object data in the list. If no rich object data is found
848 just check for simple values. If the table is lossy, also do
849 a log of the object in case the user wants to see more data.
852 * UserInterface/Views/DataGrid.js:
853 (WebInspector.DataGrid):
854 The for..in enumeration is unordered and may not give us the
855 column ordering we wanted. So include an optional preferred
856 column names list to get the preferred order.
858 (WebInspector.DataGrid.createSortableDataGrid):
859 Numerous bug fixes here. Accidental globals, typos, and sorting failures.
861 (WebInspector.DataGrid.prototype.autoSizeColumns):
862 (WebInspector.DataGrid.prototype.textForDataGridNodeColumn):
863 (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
864 Create a generic method to get the text for a datagrid node in a column.
865 This is important for getting the text from console.table previews which
868 * UserInterface/Views/LogContentView.css:
869 (.console-messages:focus .console-item.selected .data-grid tr.selected):
870 (.console-item .data-grid tr.selected):
871 DataGrid selection colors while in the console which may or may
872 not have selected console items.
874 2015-02-02 Joseph Pecoraro <pecoraro@apple.com>
876 Web Inspector: Extend CSS.getSupportedCSSProperties to provide values for properties for CSS Augmented JSContext
877 https://bugs.webkit.org/show_bug.cgi?id=141064
879 Reviewed by Timothy Hatcher.
881 * UserInterface/Models/CSSCompletions.js:
882 * UserInterface/Models/CSSKeywordCompletions.js:
883 (WebInspector.CSSKeywordCompletions.addCustomCompletions):
884 (WebInspector.CSSKeywordCompletions.addPropertyCompletionValues):
885 If a property is specified with custom values, extend the
886 keyword completions map to make those values available
889 2015-01-30 Joseph Pecoraro <pecoraro@apple.com>
891 Remote Web Inspector should not show undock toolbar buttons
892 https://bugs.webkit.org/show_bug.cgi?id=141061
894 Reviewed by Timothy Hatcher.
896 * UserInterface/Base/Main.js:
897 (WebInspector.contentLoaded):
898 Be sure to update the toolbar's dock navigation icons because they
899 may need to be hidden (the default state).
901 2015-01-29 Saam Barati <saambarati1@gmail.com>
903 Web Inspector: Allow text selection when the BasicBlockAnnotator is enabled
904 https://bugs.webkit.org/show_bug.cgi?id=140987
906 Reviewed by Timothy Hatcher.
908 Because the BasicBlockAnnotator no longer sets the background color of
909 lines that haven't executed to gray, text selection while the
910 BasicBlockAnnotator is enabled no longer results in a bad user interface.
911 This patch both allows text selection while the BasicBlockAnnotator is
912 enabled and also removes the now unused listeners to CodeMirror's focus
915 * UserInterface/Views/SourceCodeTextEditor.js:
916 (WebInspector.SourceCodeTextEditor):
917 (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
918 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
919 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
920 (WebInspector.SourceCodeTextEditor.prototype.gainedFocus): Deleted.
921 (WebInspector.SourceCodeTextEditor.prototype.lostFocus): Deleted.
922 * UserInterface/Views/TextEditor.js:
923 (WebInspector.TextEditor):
924 (WebInspector.TextEditor.prototype.gainedFocus): Deleted.
925 (WebInspector.TextEditor.prototype.lostFocus): Deleted.
927 2015-01-29 Saam Barati <saambarati1@gmail.com>
929 Web Inspector: Make BasicBlockAnnotator lessen the saturation of syntax highlighting instead of graying out unexecuted code
930 https://bugs.webkit.org/show_bug.cgi?id=141011
932 Reviewed by Timothy Hatcher.
934 This patch removes a lot of the complicated logic associated around
935 determining which code can be grayed out by the BasicBlockAnnotator.
936 Instead, the BasicBlockAnnotator now applies a CSS class to all the
937 code that has not executed which lessens the saturation of the
938 syntax coloring for the code. This creates both a nicer user
939 interface and a nicer user experience because it makes reading
940 source code with the BasicBlockAnnotator enabled more pleasant.
942 * UserInterface/Controllers/BasicBlockAnnotator.js:
943 (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
944 (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
945 (WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
946 (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace): Deleted.
947 (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyClosingBrace): Deleted.
948 (_canGrayOutEntireLine): Deleted.
949 (_grayOutLine): Deleted.
950 (_clearRangeForBasicBlockMarker.get marker): Deleted.
951 (_clearRangeForBasicBlockMarker): Deleted.
952 * UserInterface/Views/SourceCodeTextEditor.css:
953 (.hover-menu.color > img):
954 (.basic-block-has-not-executed): Deleted.
955 (.basic-block-has-not-executed-prepend::before): Deleted.
956 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
957 (.cm-s-default .basic-block-has-not-executed):
958 (.cm-s-default .basic-block-has-not-executed.cm-comment):
959 (.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
960 (.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
961 (.cm-s-default .basic-block-has-not-executed.cm-string):
962 (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):
963 (.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-attribute):
965 2015-01-29 Joseph Pecoraro <pecoraro@apple.com>
967 Web Inspector: ES6: Improved Console Format for Set and Map Objects (like Arrays)
968 https://bugs.webkit.org/show_bug.cgi?id=122867
970 Reviewed by Timothy Hatcher.
972 This includes Set/Map/WeakMap previews:
974 - Set previews: Set {1, 2, 3}
975 - Map/WeakMap previews: Map {1 => 2, "key" => "value"}
979 - the preview itself shows up to 5 key/value pairs from when the object was logged
980 - the previews are strings only, and thus do not retain the actual keys/values
981 - when expanding, we get RemoteObjects and strongly retain the keys/values
982 - when collapsing / clearing, we release the RemoteObjects so they can get collected
984 Currently you collapse the <entries> section, and re-expand later the
985 collection may show you knew keys/values. The UI for this will change.
987 * Localizations/en.lproj/localizedStrings.js:
988 * UserInterface/Protocol/RemoteObject.js:
989 (WebInspector.RemoteObject.prototype.isCollectionType):
990 (WebInspector.RemoteObject.prototype.isWeakCollection):
991 (WebInspector.RemoteObject.prototype.getCollectionEntries):
992 (WebInspector.RemoteObject.prototype.releaseWeakCollectionEntries):
993 (WebInspector.RemoteObject.prototype.arrayLength):
994 (WebInspector.RemoteObject.prototype._weakCollectionObjectGroup):
995 High level functions for dealing with a RemoteObject that may be a
996 collection / weak collection.
998 * UserInterface/Views/ConsoleMessageImpl.js:
999 (WebInspector.ConsoleMessageImpl):
1000 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
1001 Include default formatters for collection types.
1003 (WebInspector.ConsoleMessageImpl.prototype._appendPreview):
1004 (WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews):
1005 (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews):
1006 (WebInspector.ConsoleMessageImpl.prototype._appendValuePreview):
1007 (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview): Deleted.
1008 Refactor preview generation a bit and include a specific path for
1009 generation the output of a preview with "entries".
1011 * UserInterface/Views/LogContentView.css:
1012 (.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object):
1013 With nested Object previews ("Map {{a:1} => 1}") don't show "Object" for the inner
1014 object preview. Only show it if it has a unique type ("Map {Foo {a:1} => 1}")
1016 (.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
1017 (:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .section):
1018 (:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .properties):
1019 Make map/set/weakmap display like Objects.
1021 * UserInterface/Views/ObjectPropertiesSection.js:
1022 (WebInspector.ObjectPropertiesSection.prototype.update):
1023 (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
1024 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
1025 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1026 (WebInspector.CollectionEntriesMainTreeElement):
1027 (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
1028 (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
1029 (WebInspector.CollectionEntriesMainTreeElement.prototype.oncollapse):
1030 (WebInspector.CollectionEntriesMainTreeElement.prototype.ondetach):
1031 (WebInspector.CollectionEntriesMainTreeElement.prototype._trackWeakEntries):
1032 (WebInspector.CollectionEntriesMainTreeElement.prototype._untrackWeakEntries):
1033 (WebInspector.CollectionEntryTreeElement):
1034 (WebInspector.CollectionEntryTreeElement.prototype.onpopulate):
1035 (WebInspector.CollectionEntryTreeElement.prototype.onattach):
1036 (WebInspector.EmptyCollectionTreeElement):
1037 (WebInspector.ObjectPropertiesSection.prototype.update.callback): Deleted.
1038 Add a quick UI for exploring the entries of a collection. We are actively
1039 changing the styles of objects in the Console, so this should change soon.
1041 2015-01-28 Joseph Pecoraro <pecoraro@apple.com>
1043 Web Inspector: Change Main Frame Status Buttons when debugging Augmented JSContext
1044 https://bugs.webkit.org/show_bug.cgi?id=141006
1046 Reviewed by Timothy Hatcher.
1048 * Localizations/en.lproj/localizedStrings.js:
1049 New "Restart" string.
1051 * UserInterface/Base/Main.js:
1052 (WebInspector.canArchiveMainFrame):
1053 * UserInterface/Views/FrameTreeElement.js:
1054 (WebInspector.FrameTreeElement.prototype.updateStatusForMainFrame):
1055 (WebInspector.FrameTreeElement.prototype._updateDownloadButton):
1056 Update the tooltip when in a non-Web debuggable, and only show
1057 the Download button when in a Web debuggable.
1059 * UserInterface/Views/TreeElementStatusButton.js:
1060 (WebInspector.TreeElementStatusButton.prototype.set hidden):
1061 Oops! The implementation was backwards. Simplify with classList.toggle.
1063 2015-01-28 Brian J. Burg <burg@cs.washington.edu>
1065 Web Inspector: remove CSS.setPropertyText, CSS.toggleProperty and related dead code
1066 https://bugs.webkit.org/show_bug.cgi?id=140961
1068 Reviewed by Timothy Hatcher.
1070 Setters for CSSProperty (except override) are not used, so delete them. These setters
1071 and their callees in DOMNodeStyles were the only clients of the removed protocol commands.
1073 * UserInterface/Models/CSSProperty.js:
1074 (WebInspector.CSSProperty.prototype.update):
1075 (WebInspector.CSSProperty.prototype.get name):
1076 (WebInspector.CSSProperty.prototype.get value):
1077 (WebInspector.CSSProperty.prototype.get priority):
1078 (WebInspector.CSSProperty.prototype.hasOtherVendorNameOrKeyword):
1079 (WebInspector.CSSProperty.prototype.set text): Deleted.
1080 (WebInspector.CSSProperty.prototype.set name): Deleted.
1081 (WebInspector.CSSProperty.prototype.set value): Deleted.
1082 (WebInspector.CSSProperty.prototype.set important): Deleted.
1083 (WebInspector.CSSProperty.prototype.set priority): Deleted.
1084 (WebInspector.CSSProperty.prototype.set enabled): Deleted.
1085 (WebInspector.CSSProperty.prototype.add): Deleted.
1086 (WebInspector.CSSProperty.prototype.remove): Deleted.
1087 (WebInspector.CSSProperty.prototype._updatePropertySoon.performUpdate): Deleted.
1088 (WebInspector.CSSProperty.prototype._updatePropertySoon): Deleted.
1089 (WebInspector.CSSProperty.prototype._cancelPendingUpdate): Deleted.
1090 * UserInterface/Models/CSSStyleDeclaration.js:
1091 (WebInspector.CSSStyleDeclaration.prototype.addProperty): Deleted.
1092 (WebInspector.CSSStyleDeclaration.prototype.removeProperty): Deleted.
1093 * UserInterface/Models/DOMNodeStyles.js:
1094 (WebInspector.DOMNodeStyles.prototype.addEmptyRule):
1095 (WebInspector.DOMNodeStyles.prototype.addRule): Deleted.
1096 (WebInspector.DOMNodeStyles.prototype.changeProperty): Deleted.
1097 (WebInspector.DOMNodeStyles.prototype.changePropertyText): Deleted.
1098 (WebInspector.DOMNodeStyles.prototype.changePropertyEnabledState): Deleted.
1099 (WebInspector.DOMNodeStyles.prototype.addProperty): Deleted.
1100 (WebInspector.DOMNodeStyles.prototype.removeProperty): Deleted.
1101 (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Deleted.
1102 * UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
1103 * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1104 * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1105 * UserInterface/Views/RulesStyleDetailsPanel.js:
1106 (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked):
1107 * Versions/Inspector-iOS-6.0.json:
1108 * Versions/Inspector-iOS-7.0.json:
1109 * Versions/Inspector-iOS-8.0.json:
1111 2015-01-28 Dana Burkart <dburkart@apple.com>
1113 Move ASan flag settings from DebugRelease.xcconfig to Base.xcconfig
1114 https://bugs.webkit.org/show_bug.cgi?id=136765
1116 Reviewed by Alexey Proskuryakov.
1118 * Configurations/Base.xcconfig:
1119 * Configurations/DebugRelease.xcconfig:
1121 2015-01-23 Joseph Pecoraro <pecoraro@apple.com>
1123 Web Inspector: Object Previews in the Console
1124 https://bugs.webkit.org/show_bug.cgi?id=129204
1126 Reviewed by Timothy Hatcher.
1128 * UserInterface/Controllers/JavaScriptLogViewController.js:
1129 (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
1130 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1131 (get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
1132 Update RuntimeManager callsites that do not need object previews.
1134 * UserInterface/Controllers/RuntimeManager.js:
1135 (WebInspector.RuntimeManager.prototype.evalCallback):
1136 (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
1137 Update the main evaluate method to include a boolean parameter for
1138 object previews. Most callers do not need them. Also, since previews
1139 were not available on iOS 6, switch to invoke, to conditionally
1140 include the command parameter.
1142 * UserInterface/Protocol/RemoteObject.js:
1143 (WebInspector.RemoteObject):
1144 (WebInspector.RemoteObject.fromPayload):
1145 (WebInspector.RemoteObject.prototype.get preview):
1146 Store the preview from the payload.
1148 * UserInterface/Views/ConsoleMessageImpl.js:
1149 (WebInspector.ConsoleMessageImpl.prototype._format):
1150 (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
1151 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1152 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
1153 (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
1154 Pass an explicit false for most formatters to not use a preview if available.
1156 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
1157 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
1158 Currently only object types are previewed. Though we request previews
1159 for arrays, we don't use the preview because we show a better preview
1160 by just immediately requesting for a full non-preview property list.
1162 (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
1163 Quickly output an object preview into the title element. The format
1164 is "ClassName {prop: value...}". Elide the class name if it is "Object".
1165 Also skip over certain preview properties that may not be useful
1166 at a glance (like constructor, or accessors without values).
1168 * UserInterface/Views/LogContentView.css:
1169 (.console-object-preview):
1170 (.console-formatted-array .console-object-preview):
1171 (.console-object-preview-lossless):
1172 (.expanded .console-object-preview):
1173 Show lossy previews in italics.
1174 Show lossless previews and array previews without italics.
1175 Do not show the class name in the preview in italics when expanded.
1177 (.console-object-preview .name):
1178 Give preview property names the same color as ObjectPropertiesSection property names.
1180 (.expanded .console-object-preview > .console-object-preview-body):
1181 When expanding an object, hide the preview.
1183 (.console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
1184 (.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
1185 For "Object" previews, hide the name "Object" when not expanded, and show it when expanded.
1187 2015-01-23 Saam Barati <saambarati1@gmail.com>
1189 Web Inspector: Disable *Annotators on minified files that aren't pretty printed
1190 https://bugs.webkit.org/show_bug.cgi?id=140550
1192 Reviewed by Timothy Hatcher.
1194 When SourceCodeTextEditor speculates that a file is minified it
1195 sets a flag on itself that the Annotators will notice when pretty
1196 printing and turning on type profiling.
1198 SourceCodeTextEditor enforces the following two behaviors:
1200 1. Always pretty print a file if we think it's minified while
1201 viewing type annotations. So, while viewing a minified file,
1202 if you press the type profiling button, the pretty printer will
1203 first reformat the file, then the type profiler will insert type annotations.
1205 2. If the type profiler is enabled and we're viewing a pretty
1206 printed file that we think originally was minified, and the
1207 pretty printer is disabled via pressing the button, then the
1208 type profiler will also be disabled.
1210 These two behaviors maintain a good user experience because
1211 it prevents a bad visual representation of profiler data and
1212 also prevents bad performance.
1214 * UserInterface/Controllers/TypeTokenAnnotator.js:
1215 (WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations): Deleted.
1216 * UserInterface/Views/SourceCodeTextEditor.js:
1217 (WebInspector.SourceCodeTextEditor):
1218 (WebInspector.SourceCodeTextEditor.prototype.shown):
1219 (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
1220 (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1221 (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
1222 (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
1223 (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
1224 (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
1226 2015-01-22 Jonathan Wells <jonowells@apple.com>
1228 Web Inspector: ResourceContentView.js incorrectly contains call to WebInspector.UIString with a variable parameter
1229 https://bugs.webkit.org/show_bug.cgi?id=140268
1231 Reviewed by Timothy Hatcher.
1233 UIString no longer incorrectly used around variables. Drive-by fixes to prototype inheritance style.
1234 Use of Promises corrected such that requesting content for a resource resolves rather than rejects if
1235 a resource can't be found or has another error that isn't a web inspector error.
1237 * Localizations/en.lproj/localizedStrings.js: Updated.
1238 * UserInterface/Models/Resource.js: Change reject to resolve.
1239 * UserInterface/Models/Script.js:
1240 (WebInspector.Script.prototype.requestContentFromBackend): Proper use of Error object.
1241 * UserInterface/Models/SourceCode.js: Use correct inheritance style.
1242 * UserInterface/Views/ResourceContentView.js:
1243 (WebInspector.ResourceContentView.prototype._contentAvailable): Handle error now that promise resolves.
1244 (WebInspector.ResourceContentView.prototype._contentError): Remove incorrect use of UIString.
1245 * UserInterface/Views/SourceCodeTextEditor.js:
1246 (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Handle error now that promise resolves.
1248 2015-01-22 Nikita Vasilyev <nvasilyev@apple.com>
1250 Web Inspector: Expected gutter highlight when selecting console input line, just like output line
1251 https://bugs.webkit.org/show_bug.cgi?id=140696
1253 Reviewed by Timothy Hatcher.
1255 * UserInterface/Views/LogContentView.css:
1257 2015-01-21 Saam Barati <saambarati1@gmail.com>
1259 Web Inspector: Change Annotator's isActive getter into an isActive() function.
1260 https://bugs.webkit.org/show_bug.cgi?id=140729
1262 Reviewed by Timothy Hatcher.
1264 This patch also makes the child classes of Annotator use
1265 the function instead of accessing the property directly.
1267 * UserInterface/Controllers/Annotator.js:
1268 (WebInspector.Annotator.prototype.isActive):
1269 (WebInspector.Annotator.prototype.get isActive): Deleted.
1270 * UserInterface/Controllers/BasicBlockAnnotator.js:
1271 (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
1272 * UserInterface/Controllers/TypeTokenAnnotator.js:
1273 (WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):
1274 * UserInterface/Views/SourceCodeTextEditor.js:
1275 (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1276 (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
1277 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
1278 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
1279 (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
1281 2015-01-21 Saam Barati <saambarati1@gmail.com>
1283 Web Inspector: Don't allow the BasicBlockAnnotator to highlight a section if it's only a closing brace
1284 https://bugs.webkit.org/show_bug.cgi?id=140727
1286 Reviewed by Timothy Hatcher.
1288 * UserInterface/Controllers/BasicBlockAnnotator.js:
1289 (WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
1290 (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyClosingBrace):
1291 BasicBlockAnnotator tries to no longer highlight a basic block if it is only
1292 whitespace and a closing brace. These ranges are often after statements
1293 that make these basic blocks unreachable, such as a return/break/continue
1294 statement occurring inside a if/else/while/for block. This check won't
1295 match every highlighted empty closing brace, but catches most of them
1296 because it only does intra block analysis instead of inter block analysis.
1298 2015-01-20 Joseph Pecoraro <pecoraro@apple.com>
1300 Web Inspector: Use spread operator in a few places
1301 https://bugs.webkit.org/show_bug.cgi?id=140699
1303 Reviewed by Geoffrey Garen.
1305 * UserInterface/Controllers/ProbeManager.js:
1306 (WebInspector.ProbeManager.prototype.get probeSets):
1307 Simplify by using the spread operator.
1309 * UserInterface/Models/TimelineRecording.js:
1310 This actually fixes an issue. The one place this was used was expecting
1311 an array and called ".length" on the result. However, the iterator being
1312 returned does not have a ".length" property so it was always undefined.
1314 2015-01-20 Joseph Pecoraro <pecoraro@apple.com>
1316 Web Inspector: Expanding event objects in console shows undefined for most values, it should have real values
1317 https://bugs.webkit.org/show_bug.cgi?id=137306
1319 Reviewed by Timothy Hatcher.
1321 When first expanding an object, show all the object's own properties and any
1322 getter properties that may be on its prototype chain. Now, we only fetch
1323 own properties, for __proto__ properties.
1325 * UserInterface/Protocol/RemoteObject.js:
1326 (WebInspector.RemoteObject.prototype.getOwnProperties):
1327 (WebInspector.RemoteObject.prototype.getOwnAndGetterProperties):
1328 (WebInspector.RemoteObject.prototype.getAllProperties):
1329 (WebInspector.RemoteObject.prototype.get hasChildren): Deleted.
1330 * UserInterface/Views/ObjectPropertiesSection.js:
1331 (WebInspector.ObjectPropertiesSection):
1332 (WebInspector.ObjectPropertiesSection.prototype.update):
1333 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1335 2015-01-20 Joseph Pecoraro <pecoraro@apple.com>
1337 Web Inspector: Should show dynamic specificity values
1338 https://bugs.webkit.org/show_bug.cgi?id=140647
1340 Reviewed by Benjamin Poulain.
1342 For dynamic selectors, provide text in the tooltip describing that the
1343 specificity is dynamic and may change, and pointing out the element
1344 the current value was calculated against.
1346 * Localizations/en.lproj/localizedStrings.js:
1347 * UserInterface/Models/CSSSelector.js:
1348 (WebInspector.CSSSelector):
1349 (WebInspector.CSSSelector.prototype.get specificity):
1350 (WebInspector.CSSSelector.prototype.get dynamic):
1351 * UserInterface/Models/DOMNodeStyles.js:
1352 (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload.return):
1353 (WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload):
1354 * UserInterface/Views/CSSStyleDeclarationSection.js:
1355 (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
1357 2015-01-19 Saam Barati <saambarati1@gmail.com>
1359 Web Inspector: Provide a front end for JSC's Control Flow Profiler
1360 https://bugs.webkit.org/show_bug.cgi?id=138454
1362 Reviewed by Timothy Hatcher.
1364 This patch creates a user interface for JSC's control flow profiler.
1365 The Web Inspector gets basic block ranges from JSC, and displays
1366 basic blocks that have not executed as having a gray background.
1368 BasicBlockAnnotator is the class responsible for this UI logic.
1369 It also does a few nifty things when presenting a UI for this gray
1370 background color: if an entire line of code is within the basic
1371 block's boundary, the annotator will not just highlight the background
1372 behind the text, but the background of the entire line itself. This
1373 provides a nicer experience when glancing through large JavaScript files.
1375 This patch also adds some necessary wrapper methods inside TextEditor
1376 for accessing CodeMirror's text highlighting functionality. It also
1377 creates a way for TextEditor and SourceCodeTextEditor to listen
1378 for focus events inside CodeMirror.
1380 * UserInterface/Controllers/AnnotatorManager.js: Removed.
1381 * UserInterface/Controllers/BasicBlockAnnotator.js: Added.
1382 (WebInspector.BasicBlockAnnotator):
1383 (WebInspector.BasicBlockAnnotator.prototype.clearAnnotations):
1384 (WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
1385 (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
1386 (WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
1387 (WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
1388 (WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace):
1389 (WebInspector.BasicBlockAnnotator.prototype._canGrayOutEntireLine):
1390 (WebInspector.BasicBlockAnnotator.prototype._grayOutLine):
1391 (WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker.get marker):
1392 (WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker):
1393 * UserInterface/Main.html:
1394 * UserInterface/Views/SourceCodeTextEditor.css:
1395 (.basic-block-has-not-executed):
1396 (.basic-block-has-not-executed-prepend::before):
1397 * UserInterface/Views/SourceCodeTextEditor.js:
1398 (WebInspector.SourceCodeTextEditor):
1399 (WebInspector.SourceCodeTextEditor.prototype.shown):
1400 (WebInspector.SourceCodeTextEditor.prototype.hidden):
1401 (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
1402 (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
1403 (WebInspector.SourceCodeTextEditor.prototype.gainedFocus):
1404 (WebInspector.SourceCodeTextEditor.prototype.lostFocus):
1405 (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1406 (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
1407 (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
1408 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
1409 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
1410 (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
1411 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
1412 (WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
1413 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
1414 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
1415 * UserInterface/Views/TextEditor.js:
1416 (WebInspector.TextEditor):
1417 (WebInspector.TextEditor.prototype.getTextInRange):
1418 (WebInspector.TextEditor.prototype.addStyleToTextRange):
1419 (WebInspector.TextEditor.prototype.gainedFocus):
1420 (WebInspector.TextEditor.prototype.lostFocus):
1422 2015-01-16 Nikita Vasilyev <nvasilyev@apple.com>
1424 Web Inspector: Make message selection in the console more readable
1425 https://bugs.webkit.org/show_bug.cgi?id=140385
1427 Reviewed by Timothy Hatcher.
1429 * UserInterface/Views/LogContentView.css:
1430 (.console-item.selected):
1431 (.console-messages:focus .console-item.selected):
1432 (.console-item.selected .console-message::after):
1433 (.console-messages:focus .console-item.selected .console-message::after):
1434 (.console-messages:focus .console-item.selected .go-to-link):
1435 * UserInterface/Views/Main.css:
1437 !important statements seem to be unnecessary, remove them.
1439 2015-01-16 Joseph Pecoraro <pecoraro@apple.com>
1441 Web Inspector: Remove unused WebInspector.LocalJSONObject
1442 https://bugs.webkit.org/show_bug.cgi?id=140570
1444 Reviewed by Timothy Hatcher.
1446 * UserInterface/Protocol/RemoteObject.js:
1447 (WebInspector.RemoteObject.fromLocalObject): Deleted.
1448 (WebInspector.LocalJSONObject): Deleted.
1449 (WebInspector.LocalJSONObject.prototype.get description.switch.case.string_appeared_here): Deleted.
1450 (WebInspector.LocalJSONObject.prototype.get description.switch.default): Deleted.
1451 (WebInspector.LocalJSONObject.prototype.get description): Deleted.
1452 (WebInspector.LocalJSONObject.prototype._concatenate): Deleted.
1453 (WebInspector.LocalJSONObject.prototype.get type): Deleted.
1454 (WebInspector.LocalJSONObject.prototype.get subtype): Deleted.
1455 (WebInspector.LocalJSONObject.prototype.get hasChildren): Deleted.
1456 (WebInspector.LocalJSONObject.prototype.getOwnProperties): Deleted.
1457 (WebInspector.LocalJSONObject.prototype.getAllProperties): Deleted.
1458 (WebInspector.LocalJSONObject.prototype._children.buildProperty): Deleted.
1459 (WebInspector.LocalJSONObject.prototype._children): Deleted.
1460 (WebInspector.LocalJSONObject.prototype.isError): Deleted.
1462 2015-01-15 Joseph Pecoraro <pecoraro@apple.com>
1464 Web Inspector: Uncaught exceptions, attempting to dispatch unimplemented Network WebSocket methods
1465 https://bugs.webkit.org/show_bug.cgi?id=140532
1467 Reviewed by Timothy Hatcher.
1469 * UserInterface/Protocol/NetworkObserver.js:
1470 (WebInspector.NetworkObserver.prototype.webSocketFrameReceived):
1471 (WebInspector.NetworkObserver.prototype.webSocketFrameError):
1472 (WebInspector.NetworkObserver.prototype.webSocketFrameSent):
1473 Add stubs to prevent an exception when trying to dispatch the event.
1475 2015-01-15 Joseph Pecoraro <pecoraro@apple.com>
1477 Web Inspector: Reopening the inspector can selects a sub-frame instead of the Main Frame's DOM
1478 https://bugs.webkit.org/show_bug.cgi?id=140513
1480 Reviewed by Timothy Hatcher.
1482 * UserInterface/Models/Frame.js:
1483 (WebInspector.Frame.prototype.saveIdentityToCookie):
1484 Specifically identify the main frame, so that any sub-frames with the same
1485 URL, don't get choosen over the main frame when restoring state from cookie.
1487 2015-01-15 Joseph Pecoraro <pecoraro@apple.com>
1489 Web Inspector: selecting Paint timeline records from sidebar does not trigger preview of paint quad
1490 https://bugs.webkit.org/show_bug.cgi?id=139151
1492 Reviewed by Brian Burg.
1494 * UserInterface/Views/LayoutTimelineDataGrid.js:
1495 (WebInspector.LayoutTimelineDataGrid):
1496 (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
1497 (WebInspector.LayoutTimelineDataGrid.prototype.reset): Deleted.
1498 (WebInspector.LayoutTimelineDataGrid.prototype.hidden): Deleted.
1499 (WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged): Deleted.
1500 (WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded): Deleted.
1501 Move the node highlight from the datagrid to the timeline view because
1502 we want this to happen on both the Navigation sidebar and the datagrid.
1504 * UserInterface/Views/LayoutTimelineView.js:
1505 (WebInspector.LayoutTimelineView.prototype.shown):
1506 (WebInspector.LayoutTimelineView.prototype.hidden):
1507 (WebInspector.LayoutTimelineView.prototype.filterDidChange):
1508 (WebInspector.LayoutTimelineView.prototype.reset):
1509 (WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
1510 (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
1511 Update the highlight for major view updates.
1513 (WebInspector.LayoutTimelineView.prototype._updateHighlight):
1514 (WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
1515 (WebInspector.LayoutTimelineView.prototype._hideHighlightIfNeeded):
1516 (WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord):
1517 Show a highlight for what we are hovering, or what is selected.
1518 Note the selected node may not be visible due to filtering.
1520 (WebInspector.LayoutTimelineView.prototype._mouseOverDataGrid):
1521 (WebInspector.LayoutTimelineView.prototype._mouseLeaveDataGrid):
1522 (WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline):
1523 (WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline):
1524 Update hovered information mousing over the datagrid and tree outline.
1526 * UserInterface/Views/TimelineContentView.js:
1527 (WebInspector.TimelineContentView.prototype.filterDidChange):
1528 * UserInterface/Views/TimelineSidebarPanel.js:
1529 (WebInspector.TimelineSidebarPanel.prototype.updateFilter):
1530 * UserInterface/Views/TimelineView.js:
1531 (WebInspector.TimelineView.prototype.filterDidChange):
1532 Include a "filterDidChange" TimelineView method that gets called after
1533 updateFilter (things like the filter bar or timeline range changes).
1535 * UserInterface/Views/TreeOutline.js:
1536 (TreeOutline.prototype.treeElementFromNode):
1537 (TreeOutline.prototype.treeElementFromPoint):
1538 Provide a helper to get a tree element from an event target.
1540 2015-01-13 Joseph Pecoraro <pecoraro@apple.com>
1542 Web Inspector: TextEditor doesn't update when resizing console, white space instead of content
1543 https://bugs.webkit.org/show_bug.cgi?id=140240
1545 Reviewed by Timothy Hatcher.
1547 * UserInterface/Base/Main.js:
1548 (WebInspector._consoleResizerMouseDown.dockedResizerDrag):
1549 Dispatch the event that signals the console has changed size.
1551 2015-01-13 Joseph Pecoraro <pecoraro@apple.com>
1553 Web Inspector: I do not expect to see the same rule multiple times in styles sidebar
1554 https://bugs.webkit.org/show_bug.cgi?id=138185
1556 Reviewed by Timothy Hatcher.
1558 In the styles sidebar, don't show a duplicate, lesser-specificity rule even
1559 if it matches the selected element multiple times with different selectors
1562 * UserInterface/Models/CSSRule.js:
1563 (WebInspector.CSSRule.prototype.isEqualTo):
1564 CSSRule identifiers are objects.
1566 * UserInterface/Views/RulesStyleDetailsPanel.js:
1567 (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
1568 Remove duplicates from the ordered list of style declarations.
1570 2015-01-12 Jonathan Wells <jonowells@apple.com>
1572 Web Inspector: Timeline: when Network Requests view is selected, in progress requests are absent.
1573 https://bugs.webkit.org/show_bug.cgi?id=140090
1575 Reviewed by Timothy Hatcher.
1577 TimelineContentView#_updateTimes() changed to call WebInspector.timelineSidebarPanel.updateFilter() in addition
1578 to updating the layout of the current timeline view. TimelineSidebarPanel.updateFilter() now responsible for
1579 updating filtered resources in a TimelineView.
1581 * UserInterface/Views/NavigationSidebarPanel.js:
1582 (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
1583 Now handles updating the UI associated with filtering of navigation sidebar tree elements.
1585 * UserInterface/Views/OverviewTimelineView.js:
1586 (WebInspector.OverviewTimelineView.prototype.updateLayout):
1587 No longer handles updating other UI along with the navigation sidebar tree elements. That is now handled by
1588 WebInspector.TimelineView.prototype.filterUpdated.
1589 (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Drive-by fix. Missing vars.
1591 * UserInterface/Views/TimelineContentView.js:
1592 (WebInspector.TimelineContentView.prototype._updateTimes): Add call to updateFilter().
1594 * UserInterface/Views/TimelineView.js:
1595 (WebInspector.TimelineView.prototype.filterUpdated):
1596 Function added to dispatch a SelectionPathComponentsDidChange event.
1598 2015-01-09 Enrica Casucci <enrica@apple.com>
1600 [iOS] Support additional text styles.
1601 https://bugs.webkit.org/show_bug.cgi?id=140310
1602 rdar://problem/18568864
1604 Reviewed by Joseph Pecoraro.
1606 Add support for three new text styles.
1608 * UserInterface/Models/CSSKeywordCompletions.js:
1610 2015-01-09 Timothy Hatcher <timothy@apple.com>
1612 Web Inspector: REGRESSION: Navigation sidebar can show blank next to the Console view
1613 https://bugs.webkit.org/show_bug.cgi?id=140291
1615 Reviewed by Joseph Pecoraro.
1617 * UserInterface/Base/Main.js:
1618 (WebInspector.contentLoaded): Don't restore collapsed false if selectedSidebarPanel is null.
1619 (WebInspector._sidebarCollapsedStateDidChange): Support a _ignoreNavigationSidebarPanelCollapsedEvent flag
1620 to avoid setting _navigationSidebarCollapsedSetting.
1621 (WebInspector._navigationSidebarPanelSelected): Force collapsed if selectedSidebarPanel is null.
1622 (WebInspector._contentBrowserCurrentContentViewDidChange): Set _ignoreNavigationSidebarPanelCollapsedEvent
1623 when forcing the collapsed state to avoid setting _navigationSidebarCollapsedSetting and calling
1624 _updateContentViewForCurrentNavigationSidebar.
1626 2015-01-08 Nikita Vasilyev <nvasilyev@apple.com>
1628 Web Inspector: REGRESSION Showing debugger sidebar shouldn't change selected JS file
1629 https://bugs.webkit.org/show_bug.cgi?id=139526
1631 Reviewed by Timothy Hatcher.
1633 * UserInterface/Base/Main.js:
1634 (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
1635 When switching to Debugger, show last selected JS or HTML resource.
1637 (WebInspector.showSplitConsole):
1638 (WebInspector.showFullHeightConsole):
1639 (WebInspector.toggleConsoleView):
1640 (WebInspector._sidebarCollapsedStateDidChange):
1641 (WebInspector._updateContentViewForCurrentNavigationSidebar):
1642 (WebInspector._navigationSidebarPanelSelected):
1643 (WebInspector._contentBrowserCurrentContentViewDidChange):
1644 (WebInspector._updateNavigationSidebarForCurrentContentView): Deleted.
1645 * UserInterface/Views/ApplicationCacheFrameContentView.js:
1646 (WebInspector.ApplicationCacheFrameContentView.prototype.get allowedNavigationSidebarPanels):
1647 * UserInterface/Views/CookieStorageContentView.js:
1648 (WebInspector.CookieStorageContentView.prototype.get allowedNavigationSidebarPanels):
1649 * UserInterface/Views/DOMStorageContentView.js:
1650 (WebInspector.DOMStorageContentView.prototype.get allowedNavigationSidebarPanels):
1651 * UserInterface/Views/DOMTreeContentView.js:
1652 (WebInspector.DOMTreeContentView.prototype.get allowedNavigationSidebarPanels):
1653 * UserInterface/Views/DatabaseContentView.js:
1654 (WebInspector.DatabaseContentView.prototype.get allowedNavigationSidebarPanels):
1655 * UserInterface/Views/DatabaseTableContentView.js:
1656 (WebInspector.DatabaseTableContentView.prototype.get allowedNavigationSidebarPanels):
1657 * UserInterface/Views/FontResourceContentView.js:
1658 (WebInspector.FontResourceContentView.prototype.get allowedNavigationSidebarPanels):
1659 * UserInterface/Views/FrameDOMTreeContentView.js:
1660 (WebInspector.FrameDOMTreeContentView.prototype.get allowedNavigationSidebarPanels):
1661 * UserInterface/Views/LogContentView.js:
1662 (WebInspector.LogContentView.prototype.get allowedNavigationSidebarPanels):
1663 * UserInterface/Views/ResourceClusterContentView.js:
1664 (WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels):
1665 * UserInterface/Views/ResourceSidebarPanel.js:
1666 (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
1667 (WebInspector.ResourceSidebarPanel.prototype.showMainFrame):
1668 * UserInterface/Views/Sidebar.js:
1669 (WebInspector.Sidebar.prototype.removeSidebarPanel):
1670 * UserInterface/Views/TimelineContentView.js:
1671 (WebInspector.TimelineContentView.prototype.get allowedNavigationSidebarPanels):
1673 2015-01-08 Joseph Pecoraro <pecoraro@apple.com>
1675 Web Inspector: Phantom breakpoint appears on empty line after reload of minified file with a breakpoint
1676 https://bugs.webkit.org/show_bug.cgi?id=140276
1678 Reviewed by Timothy Hatcher.
1680 Styles being set on lines (e.g. breakpoint styles) before content loaded can
1681 carry forward with the empty line. It is safe for us to just remove all
1682 the styles from the intial empty line before we load the initial content.
1684 * UserInterface/Views/TextEditor.js:
1685 (WebInspector.TextEditor.prototype.set string.update):
1686 (WebInspector.TextEditor.prototype.set string):
1688 2015-01-08 Joseph Pecoraro <pecoraro@apple.com>
1690 Web Inspector: Pause Reason Improvements (Breakpoint, Debugger Statement, Pause on Next Statement)
1691 https://bugs.webkit.org/show_bug.cgi?id=138991
1693 Reviewed by Timothy Hatcher.
1695 * Localizations/en.lproj/localizedStrings.js:
1696 New UI strings for Pause Reasons.
1698 * UserInterface/Controllers/DebuggerManager.js:
1699 (WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
1700 Provide a way to get the breakpoint with an identifier.
1702 * UserInterface/Images/PausedBreakpoint.svg: Added.
1703 * UserInterface/Images/gtk/PausedBreakpoint.svg: Added.
1704 Copy PseudoElement.svg icon and give it a new name.
1706 * UserInterface/Views/BreakpointTreeElement.css:
1707 (.breakpoint-paused-icon .icon):
1708 New icon for a breakpoint causing a pause.
1710 * UserInterface/Views/BreakpointTreeElement.js:
1711 (WebInspector.BreakpointTreeElement.prototype.removeStatusImage):
1712 (WebInspector.BreakpointTreeElement.prototype._updateStatus):
1713 Give API to remove the breakpoint status icon from a BreakpointTreeElement.
1715 * UserInterface/Views/DebuggerSidebarPanel.js:
1716 (WebInspector.DebuggerSidebarPanel):
1717 (WebInspector.DebuggerSidebarPanel.prototype.get hasSelectedElement):
1718 (WebInspector.DebuggerSidebarPanel.prototype.deselectBreakpointContentTreeElements):
1719 (WebInspector.DebuggerSidebarPanel.prototype.deselectPauseReasonContentTreeElements):
1720 (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
1721 Give DebuggerSidebarPanel an optional pause reason tree outline. When available
1722 include it in the pattern of ensuring a single exclusive selection.
1724 (WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
1725 When a breakpoint is removed, check if we should update the pause reason tree outline.
1727 (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
1728 (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
1729 Update Pause Reason section contents depending on the reason.
1731 (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonGotoArrow):
1732 Always try to include a goto arrow to jump to the original pause location
1733 if it is available at the time of pausing.
1735 2015-01-08 Joseph Pecoraro <pecoraro@apple.com>
1737 Web Inspector: Expected UserAgent styles to be crossed-out if overridden
1738 https://bugs.webkit.org/show_bug.cgi?id=140154
1740 Reviewed by Timothy Hatcher.
1742 * UserInterface/Models/DOMNodeStyles.js:
1743 (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
1744 Add a comment about anonymous styles. The getter is no longer used, and it is not
1745 clear if we really care about this state, or if "anonymous" is an appropriate name.
1747 (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
1748 Allow browser styles (user agent / html attributes) to be overridden.
1750 (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
1751 When refreshing styles after changes, the Style object backing HTML attributes
1752 was being completely replaced. Allow it to be remembered by a unique key.
1754 2015-01-07 Joseph Pecoraro <pecoraro@apple.com>
1756 Web Inspector: Do not create rulesMap entries for rules without identifiers
1757 https://bugs.webkit.org/show_bug.cgi?id=140237
1759 Reviewed by Timothy Hatcher.
1761 * UserInterface/Models/DOMNodeStyles.js:
1762 (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
1763 We were accidentally converting a null into a string with a loose string
1764 concatenation. Only do this if the mapKey is not-null.
1766 2015-01-07 Saam Barati <saambarati1@gmail.com>
1768 Web Inspector: Abstract common functions from TypeTokenAnnotator into a parent class and introduce an AnnotatorManager
1769 https://bugs.webkit.org/show_bug.cgi?id=139426
1771 Reviewed by Timothy Hatcher.
1773 This patch creates a parent class, Annotator, that TypeTokenAnnotator
1774 inherits from. Annotator defines a common set of functionality
1775 that a text editor annotator can use to mark up UI. This
1776 is in preparation other classes that will inherit from Annotator.
1778 This patch also introduces AnnotatorManager which controls a
1779 set of Annotators and provides a single interface for
1782 * UserInterface/Controllers/Annotator.js: Added.
1783 (WebInspector.Annotator):
1784 (WebInspector.Annotator.prototype.get sourceCodeTextEditor):
1785 (WebInspector.Annotator.prototype.get isActive):
1786 (WebInspector.Annotator.prototype.pause):
1787 (WebInspector.Annotator.prototype.resume):
1788 (WebInspector.Annotator.prototype.refresh):
1789 (WebInspector.Annotator.prototype.reset):
1790 (WebInspector.Annotator.prototype.clear):
1791 (WebInspector.Annotator.prototype.insertAnnotations):
1792 (WebInspector.Annotator.prototype.clearAnnotations):
1793 (WebInspector.Annotator.prototype._clearTimeoutIfNeeded):
1794 * UserInterface/Controllers/AnnotatorManager.js: Added.
1795 (WebInspector.AnnotatorManager):
1796 (WebInspector.AnnotatorManager.prototype.addAnnotator):
1797 (WebInspector.AnnotatorManager.prototype.isAnnotatorActive):
1798 (WebInspector.AnnotatorManager.prototype.pauseAll):
1799 (WebInspector.AnnotatorManager.prototype.resumeAll):
1800 (WebInspector.AnnotatorManager.prototype.refreshAllIfActive):
1801 (WebInspector.AnnotatorManager.prototype.resetAllIfActive):
1802 (WebInspector.AnnotatorManager.prototype.clearAll):
1803 (WebInspector.AnnotatorManager.prototype.removeAllAnnotators):
1804 (WebInspector.AnnotatorManager.prototype._getAnnotators):
1805 * UserInterface/Controllers/TypeTokenAnnotator.js:
1806 (WebInspector.TypeTokenAnnotator):
1807 (WebInspector.TypeTokenAnnotator.prototype.insertAnnotations.):
1808 (WebInspector.TypeTokenAnnotator.prototype.clearAnnotations):
1809 (WebInspector.TypeTokenAnnotator.prototype._insertToken):
1810 (WebInspector.TypeTokenAnnotator.prototype.get isActive): Deleted.
1811 (WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor): Deleted.
1812 (WebInspector.TypeTokenAnnotator.prototype.pause): Deleted.
1813 (WebInspector.TypeTokenAnnotator.prototype.resume): Deleted.
1814 (WebInspector.TypeTokenAnnotator.prototype.refresh): Deleted.
1815 (WebInspector.TypeTokenAnnotator.prototype.reset): Deleted.
1816 (WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.): Deleted.
1817 (WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded): Deleted.
1818 * UserInterface/Main.html:
1819 * UserInterface/Views/SourceCodeTextEditor.js:
1820 (WebInspector.SourceCodeTextEditor):
1821 (WebInspector.SourceCodeTextEditor.prototype.shown):
1822 (WebInspector.SourceCodeTextEditor.prototype.hidden):
1823 (WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
1824 (WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
1825 (WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
1826 (WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
1827 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
1828 (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
1829 (WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
1830 (WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript):
1831 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
1832 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
1833 (WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):
1835 2015-01-06 Joseph Pecoraro <pecoraro@apple.com>
1837 Web Inspector: Do not style implicit CSS properties in the Style Rules section
1838 https://bugs.webkit.org/show_bug.cgi?id=140161
1840 Reviewed by Timothy Hatcher.
1842 Previously, implicit properties being transparent in the Rules section
1843 was confusing and not useful. Lets simplify what transparency means:
1845 - Rules: transparency means a non-inheritable property in an inherited rule
1846 - Computed: transparency means an implicit value
1848 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1849 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited):
1850 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)): Deleted.
1852 2015-01-06 Joseph Pecoraro <pecoraro@apple.com>
1854 Web Inspector: Uncaught Exception when dismissing Go To Line dialog
1855 https://bugs.webkit.org/show_bug.cgi?id=139663
1857 Reviewed by Timothy Hatcher.
1859 Calling removeChild would trigger the blur event handler and do a
1860 nested call of dismiss(), re-entering and removing while in the middle
1861 of removing. Avoid re-entrancy to avoid the exception.
1863 * UserInterface/Views/GoToLineDialog.js:
1864 (WebInspector.GoToLineDialog):
1865 (WebInspector.GoToLineDialog.prototype.dismiss):
1867 2015-01-01 Darin Adler <darin@apple.com>
1869 We often misspell identifier as "identifer"
1870 https://bugs.webkit.org/show_bug.cgi?id=140025
1872 Reviewed by Michael Saboff.
1874 * UserInterface/Base/Main.js:
1875 (WebInspector._updateNavigationSidebarForCurrentContentView):
1876 (WebInspector._contentBrowserCurrentContentViewDidChange):
1879 2014-12-29 Jonathan Wells <jonowells@apple.com>
1881 Web Inspector: SourceCode.requestContent should return a promise
1882 https://bugs.webkit.org/show_bug.cgi?id=135777
1884 Reviewed by Brian Burg.
1886 Change SourceCode.js to request content from the backend using Promises. Change Resource.js to use this new
1887 approach when determining whether a resource load has finished. Change all calls to the older
1888 SourceCode#requestContentFromBackendIfNeeded to simply use requestContent and use a catch function
1889 if a content request error needs to be handled. Fix a bug where the appropriate error message for an
1890 invalid resource wasn't showing in the resource content view.
1892 * UserInterface/Controllers/AnalyzerManager.js:
1893 (set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
1894 (set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
1895 * UserInterface/Controllers/CSSStyleManager.js:
1896 (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
1897 (WebInspector.CSSStyleManager.prototype._updateResourceContent.styleSheetReady):
1898 * UserInterface/Models/CSSStyleSheet.js:
1899 (WebInspector.CSSStyleSheet.prototype.requestContentFromBackend):
1900 (WebInspector.CSSStyleSheet.prototype.canRequestContentFromBackend): Deleted.
1901 * UserInterface/Models/DOMNodeStyles.js:
1902 (WebInspector.DOMNodeStyles.prototype.changeStyleText):
1903 * UserInterface/Models/Resource.js:
1904 (WebInspector.Resource.prototype.canRequestContent):
1905 (WebInspector.Resource.prototype.requestContentFromBackend):
1906 (WebInspector.Resource.prototype.markAsFinished):
1907 (WebInspector.Resource.prototype.markAsFailed):
1908 (WebInspector.Resource.prototype.getImageSize):
1909 (WebInspector.Resource.prototype.canRequestContentFromBackend): Deleted.
1910 * UserInterface/Models/Script.js:
1911 (WebInspector.Script.prototype.requestContentFromBackend):
1912 (WebInspector.Script.prototype.requestScriptSyntaxTree.catch):
1913 (WebInspector.Script.prototype.canRequestContentFromBackend): Deleted.
1914 * UserInterface/Models/SourceCode.js:
1915 (WebInspector.SourceCode):
1916 (WebInspector.SourceCode.prototype.requestContent):
1917 (WebInspector.SourceCode.prototype.requestContentFromBackend):
1918 (WebInspector.SourceCode.prototype._processContent):
1919 (WebInspector.SourceCode.prototype.canRequestContentFromBackend): Deleted.
1920 (WebInspector.SourceCode.prototype.requestContentFromBackendIfNeeded): Deleted.
1921 (WebInspector.SourceCode.prototype.servicePendingContentRequests): Deleted.
1922 * UserInterface/Models/SourceMapResource.js:
1923 (WebInspector.SourceMapResource):
1924 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoadError):
1925 (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
1926 (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Deleted.
1927 (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded): Deleted.
1928 * UserInterface/Views/ResourceContentView.js:
1929 (WebInspector.ResourceContentView):
1930 (WebInspector.ResourceContentView.prototype._contentAvailable):
1931 (WebInspector.ResourceContentView.prototype._contentError):
1932 * UserInterface/Views/SourceCodeTextEditor.js:
1933 (WebInspector.SourceCodeTextEditor):
1934 (WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
1935 (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable):
1936 (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent):
1937 (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
1939 2014-12-26 Dan Bernstein <mitz@apple.com>
1941 <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
1942 https://bugs.webkit.org/show_bug.cgi?id=139950
1944 Reviewed by David Kilzer.
1946 * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
1947 in a manner that works with Xcode 5.1.1.
1949 2014-12-20 David Kilzer <ddkilzer@apple.com>
1951 Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
1952 <http://webkit.org/b/139463>
1954 Reviewed by Mark Rowe.
1956 * Configurations/Base.xcconfig:
1957 - Only set TOOLCHAINS on OS X.
1958 * Configurations/DebugRelease.xcconfig:
1959 - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
1960 * Configurations/Version.xcconfig:
1961 - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
1962 * Configurations/WebInspectorUIFramework.xcconfig:
1963 - Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
1964 PRODUCTION_FRAMEWORKS_DIR and
1965 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.
1967 2014-12-19 Commit Queue <commit-queue@webkit.org>
1969 Unreviewed, rolling out r177574.
1970 https://bugs.webkit.org/show_bug.cgi?id=139821
1972 "Broke Production builds by installing
1973 libWebCoreTestSupport.dylib in the wrong directory" (Requested
1974 by ddkilzer on #webkit).
1978 "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
1979 WebInspectorUI, WebKit, WebKit2"
1980 https://bugs.webkit.org/show_bug.cgi?id=139463
1981 http://trac.webkit.org/changeset/177574
1983 2014-12-19 David Kilzer <ddkilzer@apple.com>
1985 Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
1986 <http://webkit.org/b/139463>
1988 Reviewed by Mark Rowe.
1990 * Configurations/Base.xcconfig:
1991 - Only set TOOLCHAINS on OS X.
1992 * Configurations/DebugRelease.xcconfig:
1993 - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
1994 * Configurations/Version.xcconfig:
1995 - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
1996 * Configurations/WebInspectorUIFramework.xcconfig:
1997 - Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
1998 PRODUCTION_FRAMEWORKS_DIR and
1999 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.
2001 2014-12-16 Matt Baker <mattbaker@apple.com>
2003 Web Inspector: REGRESSION: Dragging undocked web inspector causes mouse to change from pointer to i-bar cursor over window title
2004 https://bugs.webkit.org/show_bug.cgi?id=139720
2006 Reviewed by Timothy Hatcher.
2008 * UserInterface/Base/Main.js:
2009 Prevent default handling of the mouse event when clicking in the titlebar area. WebCore won't continue handling the event,
2010 but docking buttons/context menu still function.
2012 2014-12-15 Nikita Vasilyev <nvasilyev@apple.com>
2014 Web Inspector: Clicking on the expand object arrow should always expand an object
2015 https://bugs.webkit.org/show_bug.cgi?id=139382
2017 Reviewed by Joseph Pecoraro.
2019 * UserInterface/Views/LogContentView.js:
2020 (WebInspector.LogContentView):
2021 (WebInspector.LogContentView.prototype._click): Deleted.
2022 stopPropagation was preventing the object expansion from happening as expecting.
2024 2014-12-15 Joseph Pecoraro <pecoraro@apple.com>
2026 Web Inspector: CSSStyleDeclarationTextEditor fails to update if computed properties changed from empty to non-empty
2027 https://bugs.webkit.org/show_bug.cgi?id=139610
2029 Reviewed by Timothy Hatcher.
2031 The CSSStyleDeclarationTextEditor for Computed Style Properties always has
2032 empty DOMNodeStyles text. However we would not reset contents if properties
2033 changed and the actualy content was empty. So once empty, we could never
2034 recover. In fact, we should always refresh for Computed Styles.
2036 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2037 (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged):
2039 2014-12-08 Joseph Pecoraro <pecoraro@apple.com>
2041 Web Inspector: Hide Compositing Borders Button if backend returns an error that it is unsupported
2042 https://bugs.webkit.org/show_bug.cgi?id=139307
2044 Reviewed by Darin Adler.
2046 * UserInterface/Views/DOMTreeContentView.js:
2047 (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
2049 2014-12-05 Joseph Pecoraro <pecoraro@apple.com>
2051 Web Inspector: Uncaught Exceptions when attempting to show Content Flow
2052 https://bugs.webkit.org/show_bug.cgi?id=139276
2054 Reviewed by Brian Burg.
2056 * UserInterface/Views/ContentView.js:
2057 (WebInspector.ContentView):
2058 (WebInspector.ContentView.isViewable):
2059 LegacyJavaScriptProfileObject no longer exists, these references should be removed.
2061 * UserInterface/Views/FolderizedTreeElement.js:
2062 (WebInspector.FolderizedTreeElement.prototype._insertChildTreeElement):
2063 This sort function references "this" and needed to be bound.
2065 2014-12-04 Joseph Pecoraro <pecoraro@apple.com>
2067 Web Inspector: Network Timeline Filter Bar only has "All", missing Resource Type filters
2068 https://bugs.webkit.org/show_bug.cgi?id=139268
2070 Reviewed by Brian Burg.
2072 * UserInterface/Views/TimelineDataGrid.js:
2073 (WebInspector.TimelineDataGrid.createColumnScopeBar):
2074 Users of createColumnScopeBar pass a Map object now instead of a dictionary.
2075 Iterate over the map appropriately.
2077 2014-12-04 Joseph Pecoraro <pecoraro@apple.com>
2079 Web Inspector: LayoutTests/inspector tests fail in Production builds due to missing test resources
2080 https://bugs.webkit.org/show_bug.cgi?id=138898
2082 Reviewed by Mark Rowe.
2084 In Production builds, if FORCE_TOOL_INSTALL=YES is in the environment
2085 we will copy all resources (for Tests) and still do the combine and
2086 optimize phase for normal Production inspection resources.
2088 * Scripts/copy-user-interface-resources.pl:
2090 2014-12-03 Joseph Pecoraro <pecoraro@apple.com>
2092 Web Inspector: Missing getter, clients never see DragToAdjustController is enabled
2093 https://bugs.webkit.org/show_bug.cgi?id=139228
2095 Reviewed by Simon Fraser.
2097 * UserInterface/Controllers/DragToAdjustController.js:
2098 (WebInspector.DragToAdjustController.prototype.get enabled):
2100 2014-12-02 Joseph Pecoraro <pecoraro@apple.com>
2102 Web Inspector: CSS Minification breaks some selectors with colons
2103 https://bugs.webkit.org/show_bug.cgi?id=139206
2105 Reviewed by Simon Fraser.
2107 Do not remove spaces preceeding colons, as they may change the semantics
2108 of selectors with colon prefixes (e.g. "a :not(b)").
2110 At the same time, we can strip spaces around "!" characters, for example
2111 a space is not required before "!important" priority.
2113 * Scripts/cssmin.py:
2116 2014-12-01 Benjamin Poulain <benjamin@webkit.org>
2118 Web Inspector: add more :not() and :matches() awesomeness
2119 https://bugs.webkit.org/show_bug.cgi?id=138997
2121 Reviewed by Joseph Pecoraro.
2123 Simplify the Inspector's CSS when possible.
2125 * UserInterface/Views/DatabaseContentView.css:
2126 (:matches(.database-user-query, .database-query-prompt, .database-query-result)::before):
2127 (.database-user-query::before, .database-query-prompt::before, .database-query-result::before): Deleted.
2128 * UserInterface/Views/GradientSlider.css:
2129 (.gradient-slider-knob > :matches(img, div)):
2130 (.gradient-slider-knob > div): Deleted.
2131 * UserInterface/Views/HoverMenu.css:
2132 (.hover-menu > svg > :matches(path, rect)):
2133 (.hover-menu > svg > rect): Deleted.
2134 * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
2135 (.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
2136 (.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
2137 (.panel.details.layer-tree .name-column .reflection): Deleted.
2138 (.panel.details.layer-tree tr.selected .name-column .reflection): Deleted.
2139 * UserInterface/Views/ProbeDetailsSidebarPanel.css:
2140 (.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)):
2141 (.details-section.probe-set .options > .probe-add): Deleted.
2142 * UserInterface/Views/ResourceSidebarPanel.css:
2143 (.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
2144 (body.mac-platform.legacy .sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
2145 (.sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.
2146 (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.
2147 * UserInterface/Views/ScopeBar.css:
2148 (.scope-bar > li:matches(.selected, :active)):
2149 (.scope-bar > li:active): Deleted.
2150 * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
2151 (.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
2152 (.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
2153 (.syntax-highlighted :matches(.css-number, .javascript-number)):
2154 (.syntax-highlighted :matches(.css-property, .css-selector, .javascript-ident)):
2155 (.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
2156 (.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
2157 (.syntax-highlighted .html-comment): Deleted.
2158 (.syntax-highlighted .html-tag): Deleted.
2159 (.syntax-highlighted .javascript-number): Deleted.
2160 (.syntax-highlighted .javascript-ident): Deleted.
2161 (.syntax-highlighted .html-attribute-value): Deleted.
2162 (.syntax-highlighted .html-processing-instruction): Deleted.
2163 It looks like ".cm-tag.cm-bracket" was there only to override the rule below.
2164 From basic testing, it looks like "cm-tag" and "cm-bracket" always appear together. I removed the "cm-bracket" rule
2165 from the second rule, and simplified the first rule.
2167 * UserInterface/Views/TimelineSidebarPanel.css:
2168 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)):
2169 (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder): Deleted.
2170 * UserInterface/Views/Toolbar.css:
2171 (body.mac-platform:not(.legacy, .docked) .toolbar):
2172 (body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical):
2173 (body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical.small-size):
2174 (body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal, .icon-only)):
2175 (body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only)):
2176 (.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section):
2177 (body.mac-platform:not(.legacy):not(.docked) .toolbar): Deleted.
2178 (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Deleted.
2179 (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Deleted.
2180 (body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Deleted.
2181 (body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Deleted.
2182 (.toolbar.label-only .control-section): Deleted.
2184 2014-11-27 Andres Gomez <agomez@igalia.com>
2186 Web Inspector: Update NavigationItemProbes icon for the GTK+ port
2187 https://bugs.webkit.org/show_bug.cgi?id=139074
2189 Reviewed by Carlos Garcia Campos.
2191 NavigationItemProbes was updated for the Mac port and we are now
2192 having a similar ideogram in GTK+.
2194 * UserInterface/Images/gtk/NavigationItemProbes.svg: Updated.
2196 2014-11-21 Benjamin Poulain <bpoulain@apple.com>
2198 Start using the new :not() and :matches() in the Web Inspector
2199 https://bugs.webkit.org/show_bug.cgi?id=138978
2201 Reviewed by Joseph Pecoraro.
2203 Start simpifying some definitions by using modern CSS.
2205 * UserInterface/Views/CSSStyleDeclarationSection.css:
2206 (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:matches(.last-in-group, :last-child)):
2207 (.style-declaration-section:matches(.locked, .selector-locked) > .header > .selector):
2208 (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted.
2209 (.style-declaration-section.selector-locked > .header > .selector): Deleted.
2210 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2211 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
2212 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)):
2213 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
2214 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.overridden): Deleted.
2215 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited): Deleted.
2216 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property.overridden): Deleted.
2217 * UserInterface/Views/ControlToolbarItem.css:
2218 (.toolbar:matches(.icon-and-label-horizontal, .toolbar.icon-only) .item.control):
2219 (.toolbar.icon-only .item.control): Deleted.
2220 * UserInterface/Views/DOMStorageContentView.css:
2221 * UserInterface/Views/DashboardContainerView.css:
2222 (.toolbar.icon-and-label-vertical:matches(.small-size, .normal-size) .dashboard-container):
2223 (.toolbar:matches(.label-only, .small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal)) .dashboard-container):
2224 (.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container):
2225 (.toolbar.normal-size.icon-and-label-vertical .dashboard-container): Deleted.
2226 (.toolbar.small-size.icon-and-label-horizontal .dashboard-container): Deleted.
2227 (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container): Deleted.
2228 * UserInterface/Views/DataGrid.css:
2229 (.data-grid :matches(th, td):not(:last-child)):
2230 (.data-grid th:matches(.sort-ascending, .sort-descending)):
2231 (.data-grid :matches(th, td) > div):
2232 (.data-grid th:matches(.sort-ascending, .sort-descending) > div:first-child):
2233 (.data-grid tr:matches(.selected, :hover) .go-to-arrow):
2234 (.data-grid :-webkit-any(th, td):not(:last-child)): Deleted.
2235 (.data-grid th:-webkit-any(.sort-ascending, .sort-descending)): Deleted.
2236 (.data-grid :-webkit-any(th, td) > div): Deleted.
2237 (.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child): Deleted.
2238 (.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow): Deleted.
2239 * UserInterface/Views/DebuggerDashboardView.css:
2240 (.toolbar.collapsed .dashboard.debugger > :not(.message, .navigation-bar )):
2241 (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )): Deleted.
2242 * UserInterface/Views/DefaultDashboardView.css:
2243 (body.web .toolbar.collapsed .dashboard.default > :matches(.time, .resourcesSize, .logs)):
2244 (body.javascript .toolbar .dashboard.default > :matches(.time, .resourcesSize, .resourcesCount)):
2245 (.toolbar:matches(.label-only, .small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal)) .dashboard.default > .item):
2246 (.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard.default > .item):
2247 (body.web .toolbar.collapsed .dashboard.default > .logs): Deleted.
2248 (body.javascript .toolbar .dashboard.default > .resourcesCount): Deleted.
2249 (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item): Deleted.
2250 (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item): Deleted.
2251 * UserInterface/Views/DetailsSection.css:
2252 (.details-section > .header > :matches(.node-link, .go-to-arrow)):
2253 (.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
2254 (body.mac-platform.legacy .details-section > .content > .group:matches(:nth-child(even), :last-child) > .row.simple:last-child > *):
2255 (.details-section > .content > .group > .row:matches(.empty, .text)):
2256 (body.mac-platform.legacy .details-section > .content > .group > .row:matches(.empty, .text)):
2257 (.details-section > .header > .go-to-arrow): Deleted.
2258 (.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *): Deleted.
2259 (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted.
2260 (.details-section > .content > .group > .row.text): Deleted.
2261 (body.mac-platform.legacy .details-section > .content > .group > .row.text): Deleted.
2262 * UserInterface/Views/FindBanner.css:
2263 (:matches(.find-banner, .supports-find-banner).no-find-banner-transition):
2264 (.supports-find-banner.no-find-banner-transition): Deleted.
2265 * UserInterface/Views/FlexibleSpaceNavigationItem.css:
2266 (:matches(.navigation-bar, .toolbar) .item.flexible-space):
2267 (.toolbar .item.flexible-space): Deleted.
2269 2014-11-19 Joseph Pecoraro <pecoraro@apple.com>
2271 Web Inspector: LayoutTests/inspector should not have localStorage side effects
2272 https://bugs.webkit.org/show_bug.cgi?id=138895
2274 Reviewed by Brian Burg.
2276 When running inspector tests, do not restore/save WebInspector.Settings
2277 to localStorage, as that will cause side effects. Instead each Setting
2278 will be initialized with its default value and can be modified during
2279 the run of the test.
2281 * UserInterface/Base/Test.js:
2282 (WebInspector.loaded):
2283 Name the setting to match the normal setting name now that persistence
2286 * UserInterface/Models/Setting.js:
2287 (WebInspector.Setting.prototype.get value):
2288 (WebInspector.Setting.prototype.set value):
2289 Do not restore/save when in tests.
2291 2014-11-19 Joseph Pecoraro <pecoraro@apple.com>
2293 Web Inspector: JSContext inspection Resource search does not work
2294 https://bugs.webkit.org/show_bug.cgi?id=131252
2296 Reviewed by Timothy Hatcher.
2298 * UserInterface/Views/ResourceSidebarPanel.js:
2299 (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback):
2300 (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback):
2301 Cleanup by reordering things a bit.
2303 (WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts.scriptCallback):
2304 (WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts):
2305 (WebInspector.ResourceSidebarPanel.prototype.performSearch):
2306 Search non-resource scripts individually.
2308 (WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForScript):
2309 Lazily create a ScriptTreeElement for the search tree outline as needed.
2311 (WebInspector.ResourceSidebarPanel.prototype._scriptsToSearch):
2312 When searching scripts, just perform a shallow walk of the tree outline to find
2313 Script resources that are not also Resources. Scripts are always guarenteed to
2314 be in a folder when inspecting a web resource. For JSContext inspection, scripts
2315 are promoted to the top level.
2317 * UserInterface/Main.html:
2318 * UserInterface/Models/SourceCodeSearchMatchObject.js: Renamed from Source/WebInspectorUI/UserInterface/Models/ResourceSearchMatchObject.js.
2319 (WebInspector.SourceCodeSearchMatchObject):
2320 * UserInterface/Views/SearchIcons.css:
2321 (.source-code-match-icon .icon):
2322 (.resource-match-icon .icon): Deleted.
2323 * UserInterface/Views/SearchResultTreeElement.js:
2324 (WebInspector.SearchResultTreeElement):
2325 Rename ResourceSearchMatchObject to SourceCodeSearchMatchObject.
2327 2014-11-19 Joseph Pecoraro <pecoraro@apple.com>
2329 Web Inspector: Provide $exception in the console for the thrown exception value
2330 https://bugs.webkit.org/show_bug.cgi?id=138726
2332 Reviewed by Timothy Hatcher.
2334 * UserInterface/Base/Test.js:
2335 (WebInspector.loaded):
2336 In order to use RuntimeManager to execute in the global context or on the
2337 active debugger call frame, we need to expose the quickConsole controller.
2339 * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
2340 Expose $exception to completion when we paused because of an exception.
2342 2014-11-19 Joseph Pecoraro <pecoraro@apple.com>
2344 Web Inspector: Debugger should not mutate variable when hovering mouse over ++n expression
2345 https://bugs.webkit.org/show_bug.cgi?id=138839
2347 Reviewed by Timothy Hatcher.
2349 * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
2350 (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
2352 2014-11-19 Joseph Pecoraro <pecoraro@apple.com>
2354 Web Inspector: Improve basic JavaScript completion in inline <script>s
2355 https://bugs.webkit.org/show_bug.cgi?id=138845
2357 Reviewed by Timothy Hatcher.
2359 * UserInterface/Controllers/CodeMirrorCompletionController.js:
2360 (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
2361 Fix up CodeMirror mode handling for JavaScript completion when inside of mixed mode
2362 input (html). Also add completion for CodeMirror's localVars list.
2364 == Rolled over to ChangeLog-2014-11-19 ==