1 2015-08-26 Matt Baker <mattbaker@apple.com>
3 Web Inspector: Rendering Frames legend item checkbox colors are too light
4 https://bugs.webkit.org/show_bug.cgi?id=148465
6 Reviewed by Timothy Hatcher.
8 * UserInterface/Views/ChartDetailsSectionRow.js:
9 (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
10 Gamma primitive should use an "exponent" attribute instead of "value".
11 Increased gamma exponent to 1.4.
13 2015-08-26 Nikita Vasilyev <nvasilyev@apple.com>
15 Web Inspector: Make DOM node attribute changes highlighting less obnoxious
16 https://bugs.webkit.org/show_bug.cgi?id=148050
18 Reviewed by Timothy Hatcher.
20 * UserInterface/Views/DOMTreeOutline.css:
21 (@keyframes node-state-changed): Change color to a light green.
22 (.node-state-changed): Add a slight ease-in for the animation function.
24 2015-08-26 Joseph Pecoraro <pecoraro@apple.com>
26 Web Inspector: Add Refresh button to Cookie Content View
27 https://bugs.webkit.org/show_bug.cgi?id=148468
29 Reviewed by Timothy Hatcher.
31 * UserInterface/Views/CookieStorageContentView.js:
32 (WebInspector.CookieStorageContentView):
33 (WebInspector.CookieStorageContentView.prototype.get navigationItems):
34 (WebInspector.CookieStorageContentView.prototype._refreshButtonClicked):
36 2015-08-25 Brian Burg <bburg@apple.com>
38 Web Inspector: message dispatch metrics should use high-resolution timing data
39 https://bugs.webkit.org/show_bug.cgi?id=135467
41 Reviewed by Timothy Hatcher.
43 Use performance.now if it's available, otherwise fallback to Date.now().
44 Format timestamps with fixed decimal point, and sprinkle some ES6.
46 * UserInterface/Base/Utilities.js:
48 * UserInterface/Protocol/InspectorBackend.js:
49 (InspectorBackendClass):
50 (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
51 (InspectorBackendClass.prototype._dispatchEvent):
52 * UserInterface/Protocol/MessageDispatcher.js:
53 (WebInspector.dispatchNextQueuedMessageFromBackend):
54 (WebInspector.dispatchMessageFromBackend): Be consistent about using `this`.
56 2015-08-25 Matt Baker <mattbaker@apple.com>
58 Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom
59 https://bugs.webkit.org/show_bug.cgi?id=148412
61 Reviewed by Timothy Hatcher.
63 * UserInterface/Views/ChartDetailsSectionRow.js:
64 (WebInspector.ChartDetailsSectionRow):
65 (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
66 (WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
68 (WebInspector.ChartDetailsSectionRow.prototype.set data): Deleted.
69 Replaced by addItem, setItemValue, and clearItems.
70 (WebInspector.ChartDetailsSectionRow.prototype.addItem):
71 (WebInspector.ChartDetailsSectionRow.prototype.setItemValue):
72 (WebInspector.ChartDetailsSectionRow.prototype.clearItems):
73 Add/update data points and schedule a layout.
74 (WebInspector.ChartDetailsSectionRow.prototype._needsLayout):
75 (WebInspector.ChartDetailsSectionRow.prototype.updateLayout):
76 Update legend and draw pie chart.
77 (WebInspector.ChartDetailsSectionRow.prototype._createLegend): Deleted.
78 Refactored as _updateLegend.
79 (WebInspector.ChartDetailsSectionRow.prototype._refresh): Deleted.
80 Refactored as updateLayout.
82 * UserInterface/Views/TimelineSidebarPanel.js:
83 (WebInspector.TimelineSidebarPanel):
84 Add chart data points once.
85 (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
88 2015-08-24 Brian Burg <bburg@apple.com>
90 Web Inspector: add protocol test for existing error handling performed by the backend
91 https://bugs.webkit.org/show_bug.cgi?id=147097
93 Reviewed by Joseph Pecoraro.
95 Add a way to send raw messages to the backend while still awaiting on responses.
96 This is necessary to test protocol error handling in the inspector backend.
98 * UserInterface/Test/InspectorProtocol.js:
99 (InspectorProtocol.sendCommand):
100 (InspectorProtocol.awaitCommand): Use awaitMessage internally.
101 (InspectorProtocol.awaitMessage): Added. Use a dummy requestId if none is supplied.
102 (InspectorProtocol._sendMessage): Added.
103 (InspectorProtocol.dispatchMessageFromBackend):
104 Reject with the error object instead of the error message, so error code/data can be checked.
105 (InspectorProtocol.sendMessage): Deleted, it is now a private method.
107 2015-08-24 Timothy Hatcher <timothy@apple.com>
109 Web Inspector: Change webkitAnimationEnd use, should be animationEnd
110 https://bugs.webkit.org/show_bug.cgi?id=148385
112 Reviewed by Joseph Pecoraro.
114 * UserInterface/Views/DOMTreeElement.js:
115 (WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
116 * UserInterface/Views/DashboardContainerView.js:
117 (WebInspector.DashboardContainerView.prototype._showDashboardView.animationEnded):
118 (WebInspector.DashboardContainerView.prototype._showDashboardView):
119 (WebInspector.DashboardContainerView.prototype._hideDashboardView.animationEnded):
120 (WebInspector.DashboardContainerView.prototype._hideDashboardView):
121 * UserInterface/Views/DefaultDashboardView.js:
122 (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue.animationEnded):
123 (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
124 * UserInterface/Views/TextEditor.js:
125 (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
126 (WebInspector.TextEditor.prototype.revealPosition):
127 (WebInspector.TextEditor.prototype._revealSearchResult):
129 2015-08-24 Nikita Vasilyev <nvasilyev@apple.com>
131 REGRESSION (r188581): Web Inspector: Console user command isn't visible when it's expected to be
132 https://bugs.webkit.org/show_bug.cgi?id=148283
134 One of the improvements of r188581 "Option-Enter should commit console command
135 without erasing the prompt" was not to show a console user command if it's the
136 same as the previous one.
138 However, there could be a lot of other messages between the last two user
139 commands - console.log, CSS warnings, etc. In that case we should show a console
140 user command again by resetting _lastCommitted.
142 Reviewed by Timothy Hatcher.
144 * UserInterface/Controllers/JavaScriptLogViewController.js:
145 (WebInspector.JavaScriptLogViewController):
146 (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
147 (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
148 Reset _lastCommitted for all messages except for user commands and use command results.
150 2015-08-24 Matt Baker <mattbaker@apple.com>
152 Web Inspector: Rendering Frames filter checkboxes all become checked during recording
153 https://bugs.webkit.org/show_bug.cgi?id=148375
155 Reviewed by Timothy Hatcher.
157 * UserInterface/Views/ChartDetailsSectionRow.js:
158 (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
159 Removed incorrect code that forced checked to true.
161 * UserInterface/Views/TimelineSidebarPanel.js:
162 (WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart):
163 Persist legend item checkbox state when updating the chart.
165 2015-08-23 Matt Baker <mattbaker@apple.com>
167 Web Inspector: Filtered style not applied to graph elements during timeline recording
168 https://bugs.webkit.org/show_bug.cgi?id=148339
170 Reviewed by Brian Burg.
172 * UserInterface/Views/NavigationSidebarPanel.js:
173 (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
174 Check for hidden state change when applying filters to newly added tree elements.
176 2015-08-23 Timothy Hatcher <timothy@apple.com>
178 Web Inspector: Drop webkit prefixes from animation, keyframes and transform
179 https://bugs.webkit.org/show_bug.cgi?id=148364
181 Reviewed by Darin Adler.
183 * UserInterface/Views/BreakpointTreeElement.css:
184 (.breakpoint-generic-line-icon .icon > span):
185 (.data-updated.breakpoint-generic-line-icon .icon > span):
186 * UserInterface/Views/ColorPicker.css:
187 (.color-picker > .slider):
188 * UserInterface/Views/DashboardContainerView.css:
189 (.toolbar .dashboard):
190 (.toolbar .dashboard.slide-out-up):
191 (.toolbar .dashboard.slide-out-down):
192 (.toolbar .dashboard.slide-in-up):
193 (.toolbar .dashboard.slide-in-down):
194 (@keyframes slide-top-edge):
195 (@keyframes slide-bottom-edge):
196 (@-webkit-keyframes slide-top-edge): Deleted.
197 (@-webkit-keyframes slide-bottom-edge): Deleted.
198 * UserInterface/Views/DebuggerDashboardView.css:
199 (.dashboard.debugger .navigation-bar .item.button > .glyph):
200 (@keyframes pulse-pause-button):
201 (@-webkit-keyframes pulse-pause-button): Deleted.
202 * UserInterface/Views/DefaultDashboardView.css:
203 (.toolbar .dashboard.default > .item.pulsing):
204 (@keyframes console-item-pulse):
205 (@-webkit-keyframes console-item-pulse): Deleted.
206 * UserInterface/Views/GoToLineDialog.css:
207 (.go-to-line-dialog):
208 * UserInterface/Views/HoverMenu.css:
210 * UserInterface/Views/IndeterminateProgressSpinner.css:
211 (@keyframes discrete-spinner):
212 (.indeterminate-progress-spinner):
213 (@-webkit-keyframes discrete-spinner): Deleted.
214 * UserInterface/Views/Main.css:
216 (@keyframes bouncy-highlight-animation):
217 (@-webkit-keyframes bouncy-highlight-animation): Deleted.
218 * UserInterface/Views/ProbeSetDataGrid.css:
219 (.details-section.probe-set .data-grid tr.revealed.highlighted):
220 (@keyframes blink-frame-highlight):
221 (.details-section.probe-set .data-grid > tr.data-updated):
222 (@keyframes blink-probe-frame):
223 (@-webkit-keyframes blink-frame-highlight): Deleted.
224 (@-webkit-keyframes blink-probe-frame): Deleted.
225 * UserInterface/Views/TextEditor.css:
226 (.text-editor > .CodeMirror .highlighted):
227 (@keyframes text-editor-highlight-fadeout):
228 (.text-editor > .CodeMirror .hovered-expression-highlight):
229 (@keyframes text-editor-hovered-expression-highlight-fadeout):
230 (@-webkit-keyframes text-editor-highlight-fadeout): Deleted.
231 (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout): Deleted.
232 * UserInterface/Views/TimelineOverview.css:
233 (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
234 (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
235 (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
236 * UserInterface/Views/TimelineRuler.css:
237 (.timeline-ruler > .header > .divider):
238 (.timeline-ruler > .markers > .divider):
239 (.timeline-ruler > .markers > .marker):
240 (.timeline-ruler > .selection-handle.left):
241 (.timeline-ruler > .selection-handle.right):
243 2015-08-21 Saam barati <sbarati@apple.com>
245 Web Inspector: Type profiler shows 'Undefined' annotation for functions with no return statements
246 https://bugs.webkit.org/show_bug.cgi?id=146882
248 Reviewed by Joseph Pecoraro.
250 * UserInterface/Controllers/TypeTokenAnnotator.js:
251 (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
252 * UserInterface/Models/ScriptSyntaxTree.js:
253 (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
254 (WebInspector.ScriptSyntaxTree):
256 2015-08-21 Joseph Pecoraro <pecoraro@apple.com>
258 Web Inspector: WebInspector.domTreeManager.regionLayoutUpdated does not exist
259 https://bugs.webkit.org/show_bug.cgi?id=148348
261 Reviewed by Timothy Hatcher.
263 * UserInterface/Protocol/CSSObserver.js:
264 (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
265 Just do the same as the new event name.
267 2015-08-21 Brian Burg <bburg@apple.com>
269 Web Inspector: clean up uses of `new` with zero-argument constructors and factory methods
270 https://bugs.webkit.org/show_bug.cgi?id=148311
272 Reviewed by Timothy Hatcher.
274 * UserInterface/Protocol/InspectorFrontendHostStub.js:
275 * UserInterface/Views/ClusterContentView.js:
276 (WebInspector.ClusterContentView):
277 * UserInterface/Views/ColorPicker.js:
278 (WebInspector.ColorPicker):
279 * UserInterface/Views/ContentView.js:
280 (WebInspector.ContentView.createFromRepresentedObject): This was causing a console assertion
281 when a breakpoint tree element was selected and the inspector tried to restore the view state
282 after a reload or back/forward navigation.
284 * UserInterface/Views/NavigationSidebarPanel.js:
285 (WebInspector.NavigationSidebarPanel):
286 * UserInterface/Views/TimelineRecordingContentView.js:
287 (WebInspector.TimelineRecordingContentView):
289 2015-08-20 Brian Burg <bburg@apple.com>
291 Web Inspector: add a regression test for the fix introduced in r188679
292 https://bugs.webkit.org/show_bug.cgi?id=148223
294 Reviewed by Joseph Pecoraro.
296 Turns out that we were possibly leaking a single DOMTree on reload.
297 Always clear the main frame's DOMTree as well as those of sub-frames.
299 * UserInterface/Base/Object.js: Add back single-fire listeners.
300 (WebInspector.Object.singleFireEventListener.let.wrappedCallback):
301 (WebInspector.Object.singleFireEventListener):
302 (WebInspector.Object.retainedObjectsWithPrototype):
303 (WebInspector.Object.prototype.singleFireEventListener):
304 (WebInspector.Object.prototype.retainedObjectsWithPrototype):
305 * UserInterface/Models/Frame.js:
306 (WebInspector.Frame.prototype.removeAllChildFrames): Clear own tree too.
308 2015-08-20 Joseph Pecoraro <pecoraro@apple.com>
310 Web Inspector: Better Remember open tab types and order if using JSContext inspector
311 https://bugs.webkit.org/show_bug.cgi?id=148285
313 Reviewed by Timothy Hatcher.
315 * UserInterface/Base/Main.js:
316 (WebInspector.contentLoaded):
317 (WebInspector.activateExtraDomains):
318 Save and restore extra domain related tabs at the expected saved index.
320 (WebInspector._rememberOpenTabs):
321 Keep unsupported tab types in the setting so when they are supported they open.
323 * UserInterface/Base/Utilities.js:
324 Add a helper for inserting a single object into an array.
326 2015-08-20 Nikita Vasilyev <nvasilyev@apple.com>
328 Web Inspector: inline errors/warnings are taller than the line height
329 https://bugs.webkit.org/show_bug.cgi?id=148232
331 Reviewed by Timothy Hatcher.
333 * UserInterface/Views/SourceCodeTextEditor.css:
334 (.source-code.text-editor > .CodeMirror .issue-widget.inline):
335 (.source-code.text-editor > .CodeMirror .issue-widget.inline > .text):
337 2015-08-20 Joseph Pecoraro <pecoraro@apple.com>
339 JSContext Inspector: Uncaught Exception opening Search Tab
340 https://bugs.webkit.org/show_bug.cgi?id=148284
342 Reviewed by Timothy Hatcher.
344 * UserInterface/Views/SearchSidebarPanel.js:
345 (WebInspector.SearchSidebarPanel):
346 This is copied / pasted code that shouldn't apply to the Search tab.
347 We want to show results under Resources in the Search tab.
349 2015-08-20 Nikita Vasilyev <nvasilyev@apple.com>
351 Web Inspector: Truncate data URIs
352 https://bugs.webkit.org/show_bug.cgi?id=148212
354 Reviewed by Timothy Hatcher.
356 * UserInterface/Base/URLUtilities.js:
358 Exit early to avoid an expensive RegExp match on a potentially very large data URI.
363 (WebInspector.displayNameForURL):
364 (WebInspector.truncateURL):
365 By default, only show first and last 3 characters of data URIs.
367 * UserInterface/Models/Resource.js:
368 (WebInspector.Resource.prototype.get displayURL):
369 For tooltips, show first and last 32 characters of data URIs.
371 * UserInterface/Models/SourceCodeLocation.js:
372 (WebInspector.SourceCodeLocation.prototype._locationString):
373 * UserInterface/Views/ResourceTreeElement.js:
374 (WebInspector.ResourceTreeElement.prototype._updateToolTip):
376 2015-08-20 Devin Rousso <drousso@apple.com>
378 Web Inspector: Add flex alignment section to Visual sidebar
379 https://bugs.webkit.org/show_bug.cgi?id=148243
381 Reviewed by Timothy Hatcher.
383 Uses select keyword pickers to contain the list of possible values. Also supports
384 the upcoming Grid layout keywords in the advanced keyword list.
386 * Localizations/en.lproj/localizedStrings.js:
387 * UserInterface/Views/VisualStyleDetailsPanel.js:
388 (WebInspector.VisualStyleDetailsPanel):
389 (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
390 (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
392 2015-08-20 Devin Rousso <drousso@apple.com>
394 Web Inspector: Labels in the computed panel are shifted when a filter is applieds
395 https://bugs.webkit.org/show_bug.cgi?id=148250
397 Reviewed by Timothy Hatcher.
399 Added to the selectors for filtering to ensure they only apply to the rules panel.
401 * UserInterface/Views/RulesStyleDetailsPanel.css:
402 (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label):
403 (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) ~ .label):
404 (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label.filter-matching-label):
405 (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)):
406 (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .new-rule):
407 (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
408 (@media (-webkit-min-device-pixel-ratio: 2)):
409 (.sidebar > .panel.details.css-style > .content.filter-in-progress .label): Deleted.
410 (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) ~ .label): Deleted.
411 (.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label): Deleted.
412 (.sidebar > .panel.details.css-style > .content.filter-in-progress .label:not(.filter-section-non-matching) + .label.filter-matching-label:not(.filter-section-non-matching)): Deleted.
413 (.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
414 (.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)): Deleted.
416 2015-08-20 Devin Rousso <drousso@apple.com>
418 Web Inspector: Fix "attempted to assign to readonly property" in Visual editor links
419 https://bugs.webkit.org/show_bug.cgi?id=148264
421 Reviewed by Timothy Hatcher.
423 * UserInterface/Views/VisualStylePropertyEditorLink.js:
424 (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
425 No longer attempts to set the "hidden" attribute of the link icons before they exist.
427 2015-08-20 Devin Rousso <drousso@apple.com>
429 Web Inspector: Visual editor adds extra spaces to styles with no properties
430 https://bugs.webkit.org/show_bug.cgi?id=148242
432 Reviewed by Timothy Hatcher.
434 * UserInterface/Models/CSSStyleDeclaration.js:
435 (WebInspector.CSSStyleDeclaration.prototype.set text):
436 Now trims the text and, if the resulting string has no length or the style is inline,
437 replaces the text to be set with the trimmed text.
439 * UserInterface/Views/VisualStylePropertyCombiner.js:
440 (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
441 Removed unnecessary trim.
443 2015-08-20 Devin Rousso <drousso@apple.com>
445 Web Inspector: Font size between computed and set value is off in visual styles popups
446 https://bugs.webkit.org/show_bug.cgi?id=148226
448 Reviewed by Timothy Hatcher.
450 * UserInterface/Views/VisualStylePropertyEditor.css:
451 (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
452 Increased font-size to match the font-size of the overlaid select element.
454 2015-08-20 Matt Baker <mattbaker@apple.com>
456 Web Inspector: Filtered frames shouldn't be selectable in the Rendering Frames overview graph
457 https://bugs.webkit.org/show_bug.cgi?id=148253
459 Reviewed by Timothy Hatcher.
461 * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
462 Check record's filtered state before setting new frame selection.
464 2015-08-20 Devin Rousso <drousso@apple.com>
466 Web Inspector: visual style number inputs don't style the units correctly
467 https://bugs.webkit.org/show_bug.cgi?id=148222
469 Reviewed by Timothy Hatcher.
471 * UserInterface/Views/VisualStyleNumberInputBox.js:
472 (WebInspector.VisualStyleNumberInputBox.prototype.set value):
473 Added extra checks to see if the number input has a value when setting the value on the editor.
475 2015-08-20 Matt Baker <mattbaker@apple.com>
477 Web Inspector: Filtered frames should be styled differently in the Rendering Frames overview graph
478 https://bugs.webkit.org/show_bug.cgi?id=147421
480 Reviewed by Timothy Hatcher.
482 * UserInterface/Views/NavigationSidebarPanel.js:
483 (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered):
484 (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
485 Inform derived sidebar of tree element filter state changes.
487 * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
488 (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.recordWasFiltered):
489 (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout):
490 Update filtered frame style when a record's state changes, and during layout.
492 * UserInterface/Views/TimelineOverview.js:
493 * UserInterface/Views/TimelineOverviewGraph.js:
494 (WebInspector.TimelineOverviewGraph.prototype.recordWasFiltered):
495 Allow setting a record's filtered state for a given timeline in the overview.
497 * UserInterface/Views/TimelineRecordFrame.css:
498 (.timeline-record-frame.filtered > .frame):
499 New filtered frame style.
501 * UserInterface/Views/TimelineRecordFrame.js:
502 (WebInspector.TimelineRecordFrame.prototype.get filtered):
503 (WebInspector.TimelineRecordFrame.prototype.set filtered):
505 * UserInterface/Views/TimelineRecordingContentView.js:
506 (WebInspector.TimelineRecordingContentView.prototype.recordWasFiltered):
508 * UserInterface/Views/TimelineSidebarPanel.js:
509 (WebInspector.TimelineSidebarPanel.prototype.representedObjectWasFiltered):
510 (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
511 Apply task filters to RenderingFrameTimelineRecords and their immediate children.
513 2015-08-20 Brian Burg <bburg@apple.com>
515 Web Inspector: console assertion when hitting breakpoint after auto-recording ends
516 https://bugs.webkit.org/show_bug.cgi?id=148225
518 Reviewed by Timothy Hatcher.
520 Add checks for the precondition to starting/stopping time updates.
522 * UserInterface/Views/TimelineRecordingContentView.js:
523 (WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
524 (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
525 (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
527 2015-08-19 Brian Burg <bburg@apple.com>
529 Web Inspector: add TestHarness option to tee all commands to system console
530 https://bugs.webkit.org/show_bug.cgi?id=148181
532 Reviewed by Joseph Pecoraro.
534 It is currently difficult to trace what's going on when a test times out
535 on a buildbot instance. The existing option for forcing debug logging can
536 still drop messages that don't make it from the inspector to the test page.
538 This patch adds an option which logs all TestHarness commands directly to
539 stderr in the Inspector instance using InspectorFrontendHost::unbufferedLog.
541 Clean up how existing harness logging code calls into each other. Extract
542 the stringifying code that is duplicated everywhere.
544 * UserInterface/Test.html: Reorganize options and add new option.
545 * UserInterface/Test/FrontendTestHarness.js:
546 (FrontendTestHarness.prototype.completeTest):
547 (FrontendTestHarness.prototype.addResult):
548 (FrontendTestHarness.prototype.debugLog):
549 (FrontendTestHarness.prototype.testPageDidLoad):
550 (FrontendTestHarness.prototype._resendResults):
551 (FrontendTestHarness):
552 * UserInterface/Test/ProtocolTestHarness.js:
553 (ProtocolTestHarness.prototype.completeTest):
554 (ProtocolTestHarness.prototype.addResult):
555 (ProtocolTestHarness.prototype.debugLog):
556 * UserInterface/Test/TestHarness.js:
557 (TestHarness.prototype.log):
558 (TestHarness.prototype.assert):
559 (TestHarness.prototype.expectThat):
560 (TestHarness.messageAsString):
562 * UserInterface/TestStub.html: Reorganize options and add new option.
564 2015-08-20 Joseph Pecoraro <pecoraro@apple.com>
566 Web Inspector: Remove unused temporary variable
567 https://bugs.webkit.org/show_bug.cgi?id=148215
569 Reviewed by Timothy Hatcher.
571 * UserInterface/Views/VisualStyleDetailsPanel.js:
572 (WebInspector.VisualStyleDetailsPanel):
574 2015-08-19 Devin Rousso <drousso@apple.com>
576 Web Inspector: Visual styles panel does not work with pseudo-elements
577 https://bugs.webkit.org/show_bug.cgi?id=148187
579 Reviewed by Timothy Hatcher.
581 If the inline style does not exist, such as for pseudo-elements, default to the first matched rule.
583 * UserInterface/Views/VisualStyleSelectorSection.js:
584 (WebInspector.VisualStyleSelectorSection.prototype.update):
586 2015-08-19 Joseph Pecoraro <pecoraro@apple.com>
588 Web Inspector: DOMTree leaks on main resource changes
589 https://bugs.webkit.org/show_bug.cgi?id=148158
591 Reviewed by Timothy Hatcher.
593 * UserInterface/Models/DOMTree.js:
594 (WebInspector.DOMTree.prototype.disconnect):
595 Add a way to disconnect the DOMTree and allow it to get garbage collected.
597 (WebInspector.DOMTree.prototype.invalidate.performInvalidate):
598 (WebInspector.DOMTree.prototype.invalidate):
599 (WebInspector.DOMTree.prototype._requestRootDOMNode):
600 (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
601 Remove some uses of the delete operator.
603 * UserInterface/Models/Frame.js:
604 (WebInspector.Frame.prototype.removeChildFrame):
605 (WebInspector.Frame.prototype.removeAllChildFrames):
606 (WebInspector.Frame.prototype._detachFromParentFrame):
607 When a frame gets removed from its parent, disconnect its DOMTree.
609 2015-08-19 Devin Rousso <drousso@apple.com>
611 Web Inspector: The first style in the Rules panel for pseudo-elements needs padding
612 https://bugs.webkit.org/show_bug.cgi?id=148207
614 Reviewed by Timothy Hatcher.
616 * UserInterface/Views/RulesStyleDetailsPanel.css:
617 (.sidebar > .panel.details.css-style .rules .label:first-child):
618 If the first element in the Rules panel is a label, add some top padding.
620 2015-08-19 Devin Rousso <drousso@apple.com>
622 Web Inspector: Committing a valid selector in the styles sidebar replaces the new selector with the old one
623 https://bugs.webkit.org/show_bug.cgi?id=148206
625 Reviewed by Timothy Hatcher.
627 * UserInterface/Views/CSSStyleDeclarationSection.js:
628 (WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
629 No longer unnecessarily refreshes the section if the selector is valid.
631 2015-08-19 Joseph Pecoraro <pecoraro@apple.com>
633 Web Inspector: Uncaught Exceptions regarding PseudoElements / TemplateContent
634 https://bugs.webkit.org/show_bug.cgi?id=148190
636 Reviewed by Brian Burg.
638 * UserInterface/Controllers/DOMTreeManager.js:
639 (WebInspector.DOMTreeManager.prototype._unbind):
640 Iterate over the values in the map, not the iterator pairs.
642 * UserInterface/Models/DOMNode.js:
643 When removing a pseudo element, don't assume this._children
644 exists, it may be null. So separate the two paths.
646 2015-08-19 Devin Rousso <drousso@apple.com>
648 Web Inspector: long selectors in the visual editor sidebar can overflow
649 https://bugs.webkit.org/show_bug.cgi?id=148185
651 Reviewed by Timothy Hatcher.
653 Selectors in the Visual editor sidebar are now clipped and use ellipses.
655 * UserInterface/Views/VisualStyleSelectorSection.css:
656 (.details-section.visual-style-selector-section > .header > .current-selector):
657 (.details-section.visual-style-selector-section:not(.collapsed) > .content):
658 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles):
659 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title): Deleted.
661 * UserInterface/Views/VisualStyleSelectorTreeItem.css:
662 (.item.visual-style-selector-item):
663 (.item.visual-style-selector-item > .titles):
664 (.item.visual-style-selector-item > input[type="checkbox"]):
665 (.item.visual-style-selector-item > .icon):
667 2015-08-19 Joseph Pecoraro <pecoraro@apple.com>
669 Web Inspector: Include Legacy Inspector JSON for iOS 9
670 https://bugs.webkit.org/show_bug.cgi?id=148200
672 Reviewed by Timothy Hatcher.
674 * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: Added.
675 * Versions/Inspector-iOS-9.0.json: Added.
677 2015-08-19 Joseph Pecoraro <pecoraro@apple.com>
679 Web Inspector: Update Copyright in minified / combined output
680 https://bugs.webkit.org/show_bug.cgi?id=148201
682 Reviewed by Timothy Hatcher.
684 * Scripts/copy-user-interface-resources.pl:
685 Include copyright comments from missing 2014 and 2015 contributors
686 in the comment in the minified / combined Main.js.
688 2015-08-19 Joseph Pecoraro <pecoraro@apple.com>
690 Web Inspector: Uncaught exception in inspector page while handling event DOMStorage.domStorageItemRemoved
691 https://bugs.webkit.org/show_bug.cgi?id=148191
693 Reviewed by Brian Burg.
695 * UserInterface/Controllers/StorageManager.js:
696 (WebInspector.StorageManager.prototype.itemsCleared):
697 (WebInspector.StorageManager.prototype.itemRemoved):
698 (WebInspector.StorageManager.prototype.itemAdded):
699 (WebInspector.StorageManager.prototype.itemUpdated):
700 Check if the DOMStorage for the identifier actually exists.
701 Due to how the backend emits events, the page may have already
702 navigated when we get a storage update for the previous page.
703 In that case, we don't want to create a DOMStorage for the
704 previous page if it doesn't exist.
706 2015-08-19 Brian Burg <bburg@apple.com>
708 Web Inspector: use unprefixed CSS property 'filter' instead of '-webkit-filter'
709 https://bugs.webkit.org/show_bug.cgi?id=148186
711 Reviewed by Dean Jackson.
713 * UserInterface/Views/BreakpointActionView.css:
714 (.breakpoint-action-remove-button:active):
715 * UserInterface/Views/CSSStyleDeclarationSection.css:
716 (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
717 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
718 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):
719 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
720 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
721 * UserInterface/Views/ChartDetailsSectionRow.css:
722 (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
723 * UserInterface/Views/ChartDetailsSectionRow.js:
724 (WebInspector.ChartDetailsSectionRow.prototype._addCheckboxColorFilter):
725 * UserInterface/Views/NewTabContentView.css:
726 (.new-tab.tab.content-view > .tab-item.disabled):
727 (.new-tab.tab.content-view > .tab-item:not(.disabled):hover > .box):
728 (.new-tab.tab.content-view > .tab-item:not(.disabled):active > .box):
729 * UserInterface/Views/TimelineSidebarPanel.css:
730 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
731 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover):
732 (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active):
733 * UserInterface/Views/VisualStyleKeywordIconList.css:
734 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
735 * UserInterface/Views/VisualStyleSelectorSection.css:
736 (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
738 2015-08-19 Joseph Pecoraro <pecoraro@apple.com>
740 Web Inspector: Uncaught Exception while handling event DOM.pseudoElementRemoved reloading twitter pages
741 https://bugs.webkit.org/show_bug.cgi?id=148180
743 Reviewed by Brian Burg.
745 * UserInterface/Views/DOMTreeElement.js:
746 (WebInspector.DOMTreeElement.prototype._visibleChildren):
747 DOMNode.children can be null before it is filled in.
749 2015-08-19 Brian Burg <bburg@apple.com>
751 Web Inspector: InspectorTest should be a subclass of TestHarness
752 https://bugs.webkit.org/show_bug.cgi?id=148079
754 Reviewed by Timothy Hatcher.
756 Extract the frontend test harness into a subclass. Delete some code that
757 is now redundant. Sprinkle some ES6 syntax where possible.
759 Rewrite the code that redirects the Inspector page's console messages to
760 the test page, since it didn't appear to work any more.
762 * UserInterface/Test.html: Add debug options here, and a wiki link.
763 * UserInterface/Test/FrontendTestHarness.js: Added.
764 (FrontendTestHarness):
765 (FrontendTestHarness.prototype.completeTest):
766 (FrontendTestHarness.prototype.addResult):
767 (FrontendTestHarness.prototype.debugLog):
768 (FrontendTestHarness.prototype.evaluateInPage):
769 (FrontendTestHarness.prototype.expectNoError):
770 (FrontendTestHarness.prototype.testPageDidLoad):
771 (FrontendTestHarness.prototype.reloadPage):
772 (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
773 (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
774 (FrontendTestHarness.prototype.reportUncaughtException):
775 (FrontendTestHarness.prototype._resendResults):
776 * UserInterface/Test/Test.js:
777 (WebInspector.loaded):
778 (WebInspector.UIString): Arrow it.
779 (WebInspector.updateDockedState): Arrow it.
780 (WebInspector.updateDockingAvailability): Arrow it.
781 (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
782 (InspectorTest.EventDispatcher): Deleted.
783 (InspectorTest.log): Deleted.
784 (InspectorTest.assert): Deleted.
785 (InspectorTest.expectThat): Deleted.
786 (InspectorTest.debugLog): Deleted.
787 (InspectorTest.expectNoError): Deleted.
788 (InspectorTest.completeTest): Deleted.
789 (InspectorTest.evaluateInPage): Deleted.
790 (InspectorTest.addResult): Deleted.
791 (InspectorTest._resendResults): Deleted.
792 (InspectorTest.testPageDidLoad): Deleted.
793 (InspectorTest.reloadPage): Deleted.
794 (InspectorTest.reportUncaughtException): Deleted.
795 * UserInterface/Test/TestSuite.js: Clean an unnecessary self = this.
796 (SyncTestSuite.prototype.runTestCases):
798 * UserInterface/TestStub.html: Add matching link to wiki.
800 2015-08-19 Brian Burg <bburg@apple.com>
802 Web Inspector: split TestStub.js into multiple files and modernize it
803 https://bugs.webkit.org/show_bug.cgi?id=148077
805 Reviewed by Timothy Hatcher.
807 Since we want to share files between the two harnesses, split some of the parts
808 into different files so not everything has to be included at once.
810 Rename InjectedTestHarness to just TestHarness. Update some code to use
811 ES6 features where appropriate. Put test classes into Test/ directory.
813 * UserInterface/Base/TestStub.js: Removed.
814 * UserInterface/Test.html:
815 * UserInterface/Test/InspectorProtocol.js: Added.
816 (InspectorProtocol.sendCommand):
817 (InspectorProtocol.awaitCommand):
818 (InspectorProtocol.awaitEvent.):
819 (InspectorProtocol.awaitEvent):
820 (InspectorProtocol.addEventListener):
821 (InspectorProtocol.sendMessage):
822 (InspectorProtocol.checkForError):
823 (InspectorProtocol.dispatchMessageFromBackend):
824 * UserInterface/Test/ProtocolTestHarness.js: Added.
825 (ProtocolTestHarness.prototype.completeTest):
826 (ProtocolTestHarness.prototype.addResult):
827 (ProtocolTestHarness.prototype.debugLog):
828 (ProtocolTestHarness.prototype.evaluateInPage):
829 (ProtocolTestHarness):
830 * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
831 (WebInspector.loaded):
832 (WebInspector.contentLoaded):
833 (WebInspector.UIString):
834 (WebInspector.updateDockedState):
835 (WebInspector.updateDockingAvailability):
836 (InspectorTest.EventDispatcher.prototype.dispatchEvent):
837 (InspectorTest.EventDispatcher):
839 (InspectorTest.assert):
840 (InspectorTest.expectThat):
841 (InspectorTest.debugLog):
842 (InspectorTest.expectNoError):
843 (InspectorTest.completeTest):
844 (InspectorTest.evaluateInPage):
845 (InspectorTest.addResult):
846 (InspectorTest._resendResults):
847 (InspectorTest.testPageDidLoad):
848 (InspectorTest.reloadPage):
849 (InspectorTest.reportUncaughtException):
850 * UserInterface/Test/TestHarness.js: Added.
852 (TestHarness.prototype.completeTest):
853 (TestHarness.prototype.addResult):
854 (TestHarness.prototype.debugLog):
855 (TestHarness.prototype.evaluateInPage):
856 (TestHarness.prototype.createAsyncSuite):
857 (TestHarness.prototype.createSyncSuite):
858 (TestHarness.prototype.get logCount):
859 (TestHarness.prototype.log):
860 (TestHarness.prototype.assert):
861 (TestHarness.prototype.expectThat):
862 * UserInterface/Test/TestStub.js: Added.
863 * UserInterface/Test/TestSuite.js: Added.
865 (TestSuite.prototype.runTestCasesAndFinish):
866 (TestSuite.prototype.runTestCases):
867 (TestSuite.prototype.get passCount):
868 (TestSuite.prototype.get skipCount):
869 (TestSuite.prototype.addTestCase):
870 (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
871 (AsyncTestSuite.prototype.runTestCasesAndFinish):
872 (AsyncTestSuite.prototype.runTestCases):
874 (SyncTestSuite.prototype.runTestCasesAndFinish):
875 (SyncTestSuite.prototype.runTestCases):
877 * UserInterface/TestStub.html:
879 2015-08-19 Nikita Vasilyev <nvasilyev@apple.com>
881 Web Inspector: Pressing Command-Enter should re-evaluate selected console user command
882 https://bugs.webkit.org/show_bug.cgi?id=147918
884 Reviewed by Timothy Hatcher.
886 * UserInterface/Views/LogContentView.js:
887 (WebInspector.LogContentView.prototype._keyDown):
888 (WebInspector.LogContentView.prototype._commandEnterWasPressed):
889 Only re-evaluate one selected user command.
891 2015-08-19 Nikita Vasilyev <nvasilyev@apple.com>
893 REGRESSION (r188581): Web Inspector: Console user command isn't visible after reloading the page
894 https://bugs.webkit.org/show_bug.cgi?id=148166
896 Reviewed by Timothy Hatcher.
898 * UserInterface/Controllers/JavaScriptLogViewController.js:
899 (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
901 2015-08-19 Nikita Vasilyev <nvasilyev@apple.com>
903 REGRESSION (r188581): Web Inspector: Option-Enter no longer inserts a new line in the console
904 https://bugs.webkit.org/show_bug.cgi?id=148165
906 Make Option-Enter insert a new line, as it was before r188581.
907 Make Command-Enter keep executed command in the prompt.
909 Reviewed by Timothy Hatcher.
911 * UserInterface/Views/ConsolePrompt.js:
912 (WebInspector.ConsolePrompt): Deleted.
913 (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey):
914 (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey): Deleted.
915 (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey): Deleted.
917 2015-08-18 Joseph Pecoraro <pecoraro@apple.com>
919 Web Inspector: Links for rules in <style> are incorrect, do not account for <style> offset in the document
920 https://bugs.webkit.org/show_bug.cgi?id=148141
922 Reviewed by Brian Burg.
924 * UserInterface/Controllers/CSSStyleManager.js:
925 (WebInspector.CSSStyleManager):
926 (WebInspector.CSSStyleManager.prototype.get styleSheets):
927 (WebInspector.CSSStyleManager.prototype.fetchStyleSheetsIfNeeded):
928 (WebInspector.CSSStyleManager.prototype.styleSheetForIdentifier):
929 (WebInspector.CSSStyleManager.prototype._mainResourceDidChange):
930 Update more information about a StyleSheet when fetched.
932 * UserInterface/Models/CSSRule.js:
933 (WebInspector.CSSRule.prototype.update):
934 Eliminate usage of `delete`.
936 * UserInterface/Models/CSSStyleSheet.js:
937 (WebInspector.CSSStyleSheet):
938 (WebInspector.CSSStyleSheet.prototype.get startLineNumber):
939 (WebInspector.CSSStyleSheet.prototype.get startColumnNumber):
940 (WebInspector.CSSStyleSheet.prototype.hasInfo):
941 (WebInspector.CSSStyleSheet.prototype.isInlineStyleTag):
942 (WebInspector.CSSStyleSheet.prototype.updateInfo):
943 Include more information about this stylesheet.
945 (WebInspector.CSSStyleSheet.prototype.offsetSourceCodeLocation):
946 Include helper API to offset a source code location by the startLine/Column
947 of this stylesheet itself, if it was an inline style.
949 (WebInspector.CSSStyleSheet.prototype.isInlineStyleAttributeStyleSheet):
950 (WebInspector.CSSStyleSheet.prototype.markAsInlineStyleAttributeStyleSheet):
951 (WebInspector.CSSStyleSheet.isInlineStyle): Deleted.
952 (WebInspector.CSSStyleSheet.prototype.markAsInlineStyle): Deleted.
955 * UserInterface/Models/DOMNodeStyles.js:
956 (WebInspector.DOMNodeStyles.prototype.refresh):
957 Fetch stylesheet header information eagerly, so we have them early on.
959 (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
960 (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
961 Offset sourceCodeLocations for CSSRules based on the StyleSheet offset.
963 * UserInterface/Models/SourceCodeLocation.js:
964 (WebInspector.SourceCodeLocation.prototype.update):
965 Improve coding style.
967 2015-08-18 Devin Rousso <drousso@apple.com>
969 Web Inspector: Add proper formatting for editing styles in the Visual Panel
970 https://bugs.webkit.org/show_bug.cgi?id=148147
972 Reviewed by Timothy Hatcher.
974 Editing styles in the Visual styles panel now preserves whitespace in the related resource file.
976 * UserInterface/Views/VisualStylePropertyCombiner.js:
977 (WebInspector.VisualStylePropertyCombiner):
978 (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
980 * UserInterface/Views/VisualStylePropertyEditor.js:
981 (WebInspector.VisualStylePropertyEditor):
982 (WebInspector.VisualStylePropertyEditor.generateFormattedTextForNewProperty):
983 (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
985 2015-08-18 Devin Rousso <drousso@apple.com>
987 Web Inspector: Add support for positioning Visual editors on non-retina displays
988 https://bugs.webkit.org/show_bug.cgi?id=148160
990 Reviewed by Timothy Hatcher.
992 Cleans up the positioning, dimensions, and widths of the
993 Visual editors on non-retina displays.
995 * UserInterface/Views/VisualStyleColorPicker.css:
996 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
998 * UserInterface/Views/VisualStyleDetailsPanel.css:
999 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
1000 (@media (-webkit-min-device-pixel-ratio: 2)):
1002 * UserInterface/Views/VisualStyleDetailsPanel.js:
1003 (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
1005 * UserInterface/Views/VisualStylePropertyEditorLink.css:
1006 (.visual-style-property-editor-link):
1007 (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
1008 (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-border.left):
1009 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border):
1010 (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
1011 (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
1012 (@media (-webkit-min-device-pixel-ratio: 2)):
1013 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
1014 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right): Deleted.
1015 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right): Deleted.
1016 (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon): Deleted.
1018 * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1019 (.item.visual-style-selector-item > input[type="checkbox"]):
1020 (.item.visual-style-selector-item > .icon):
1021 (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
1022 (@media (-webkit-min-device-pixel-ratio: 2)):
1023 (.item.visual-style-selector-item > .titles):
1024 (.item.visual-style-selector-item.selector-invalid > .icon): Deleted.
1026 * UserInterface/Views/VisualStyleTimingEditor.css:
1027 (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
1028 (@media (-webkit-min-device-pixel-ratio: 2)):
1032 2015-08-18 Devin Rousso <drousso@apple.com>
1034 Web Inspector: Show the computed value in an overlay for numerical Visual Editors
1035 https://bugs.webkit.org/show_bug.cgi?id=148161
1037 Reviewed by Timothy Hatcher.
1039 Adds an "Unchanged" option to the number-based Visual editors that shows the
1040 computed value if it is not a number (it would therefore be a keyword).
1042 * UserInterface/Views/VisualStyleNumberInputBox.css:
1043 (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
1044 (.visual-style-property-container > .visual-style-property-value-container > .number-input-container:not(.has-value) > span):
1046 * UserInterface/Views/VisualStyleNumberInputBox.js:
1047 (WebInspector.VisualStyleNumberInputBox):
1048 (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1049 (WebInspector.VisualStyleNumberInputBox.prototype.get units):
1050 (WebInspector.VisualStyleNumberInputBox.prototype.set units):
1051 (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
1052 (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
1053 (WebInspector.VisualStyleNumberInputBox.prototype.set _unitsElementTextContent):
1054 (WebInspector.VisualStyleNumberInputBox.prototype._markUnitsContainerIfInputHasValue):
1055 (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
1056 (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
1057 (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
1059 2015-08-18 Devin Rousso <drousso@apple.com>
1061 Web Inspector: Small Caps variant checkbox should be to the left of the Small Caps label
1062 https://bugs.webkit.org/show_bug.cgi?id=148102
1064 Reviewed by Timothy Hatcher.
1066 * UserInterface/Views/VisualStyleKeywordCheckbox.css:
1067 (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input): Deleted.
1068 (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::after):
1069 (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before): Deleted.
1071 2015-08-18 Devin Rousso <drousso@apple.com>
1073 Web Inspector: Visual editor links should unlink when switching styles
1074 https://bugs.webkit.org/show_bug.cgi?id=148153
1076 Reviewed by Timothy Hatcher.
1078 Visual editor links are now deactivated when switching rules/nodes.
1080 * UserInterface/Images/VisualStylePropertyUnlinked.svg:
1081 * UserInterface/Views/VisualStyleDetailsPanel.js:
1082 (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
1083 (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
1085 * UserInterface/Views/VisualStylePropertyEditorLink.js:
1086 (WebInspector.VisualStylePropertyEditorLink.prototype.set linked):
1087 (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
1088 (WebInspector.VisualStylePropertyEditorLink):
1090 2015-08-18 Devin Rousso <drousso@apple.com>
1092 Web Inspector: Consider showing style summary on collapsed visual sidebar sections
1093 https://bugs.webkit.org/show_bug.cgi?id=148104
1095 Reviewed by Timothy Hatcher.
1097 The blue indicator dot on a section now means that that section has at least one set value.
1098 If a section has been modified, it will display a trash can that will clear those modifications.
1100 * UserInterface/Views/VisualStyleDetailsPanel.css:
1101 (.sidebar > .panel.details.css-style .visual > .details-section .details-section.has-set-property > .header > span::after):
1102 (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after): Deleted.
1104 * UserInterface/Views/VisualStyleDetailsPanel.js:
1105 (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
1106 (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
1107 (WebInspector.VisualStyleDetailsPanel.prototype._groupHasSetProperty):
1109 2015-08-18 Devin Rousso <drousso@apple.com>
1111 Web Inspector: round sub-pixel values we get from computed style in visual sidebar
1112 https://bugs.webkit.org/show_bug.cgi?id=148105
1114 Reviewed by Timothy Hatcher.
1116 * UserInterface/Views/VisualStyleNumberInputBox.js:
1117 (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1118 (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
1119 Now rounds the value and placeholder to the nearest 100th.
1121 2015-08-18 Joseph Pecoraro <pecoraro@apple.com>
1123 Web Inspector: transparent color swatches have lopsided checkered background on non-retina
1124 https://bugs.webkit.org/show_bug.cgi?id=148150
1126 Reviewed by Timothy Hatcher.
1128 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1129 (@media (-webkit-max-device-pixel-ratio: 1)):
1130 Make color and bezier widgets slightly smaller, but evenly sized so the
1131 checkered background is not lopsided and the curve is a little less blurry.
1133 2015-08-18 Joseph Pecoraro <pecoraro@apple.com>
1135 Web Inspector: Modernize CSSStyleManager
1136 https://bugs.webkit.org/show_bug.cgi?id=148143
1138 Reviewed by Brian Burg.
1140 * UserInterface/Controllers/CSSStyleManager.js:
1141 - Eliminate `delete` operator use.
1142 - Move from using Objects as hashmaps to Map.
1145 2015-08-18 Brian Burg <bburg@apple.com>
1147 Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
1148 https://bugs.webkit.org/show_bug.cgi?id=147955
1150 Reviewed by Timothy Hatcher.
1152 Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.
1154 * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
1155 * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.
1157 2015-08-18 Devin Rousso <drousso@apple.com>
1159 Web Inspector: Better keyboard shortcut to focus on the console prompt
1160 https://bugs.webkit.org/show_bug.cgi?id=147927
1162 Reviewed by Brian Burg.
1164 * UserInterface/Base/Main.js:
1165 (WebInspector.contentLoaded):
1166 (WebInspector._focusConsolePrompt):
1167 Added a Control-Tilde keyboard shortcut to focus the console prompt.
1169 2015-08-18 Nikita Vasilyev <nvasilyev@apple.com>
1171 Web Inspector: Option-Enter should commit console command without erasing the prompt
1172 https://bugs.webkit.org/show_bug.cgi?id=148123
1174 Also, don't append a console command if it's the same as the last one.
1176 Reviewed by Timothy Hatcher.
1178 * UserInterface/Controllers/JavaScriptLogViewController.js:
1179 (WebInspector.JavaScriptLogViewController):
1180 * UserInterface/Views/ConsolePrompt.js:
1181 (WebInspector.ConsolePrompt):
1182 (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine):
1183 (WebInspector.ConsolePrompt.prototype._handleEnterKey):
1184 (WebInspector.ConsolePrompt.prototype._handleOptionEnterKey):
1185 (WebInspector.ConsolePrompt.prototype._handleCommandOptionEnterKey):
1187 2015-08-17 Commit Queue <commit-queue@webkit.org>
1189 Unreviewed, rolling out r188539, r188544, r188552, and
1191 https://bugs.webkit.org/show_bug.cgi?id=148122
1193 Broke tests and some build styles (Requested by ap on
1196 Reverted changesets:
1198 "Web Inspector: load ProtocolTestStub from the WebInspectorUI
1200 https://bugs.webkit.org/show_bug.cgi?id=147955
1201 http://trac.webkit.org/changeset/188539
1203 "Web Inspector: split TestStub.js into multiple files and
1205 https://bugs.webkit.org/show_bug.cgi?id=148077
1206 http://trac.webkit.org/changeset/188544
1208 "Web Inspector: InspectorTest should be a subclass of
1210 https://bugs.webkit.org/show_bug.cgi?id=148079
1211 http://trac.webkit.org/changeset/188552
1213 "Unreviewed internal build fix attempt after r188539."
1214 http://trac.webkit.org/changeset/188564
1216 2015-08-17 Nikita Vasilyev <nvasilyev@apple.com>
1218 Web Inspector: Allow typing command when a console message is selected
1219 https://bugs.webkit.org/show_bug.cgi?id=148121
1221 Reviewed by Timothy Hatcher.
1223 * UserInterface/Views/LogContentView.js:
1224 (WebInspector.LogContentView):
1225 (WebInspector.LogContentView.prototype._keyPress):
1226 Command-C should still copy the selected message.
1228 2015-08-17 Nikita Vasilyev <nvasilyev@apple.com>
1230 Web Inspector: Update slider styles
1231 https://bugs.webkit.org/show_bug.cgi?id=148120
1233 Reviewed by Timothy Hatcher.
1235 * UserInterface/Views/Main.css:
1236 (input[type=range]):
1237 (input[type=range]::-webkit-slider-runnable-track::before):
1239 2015-08-17 Devin Rousso <drousso@apple.com>
1241 Web Inspector: font-family list is backwards in visual sidebar
1242 https://bugs.webkit.org/show_bug.cgi?id=148101
1244 Reviewed by Timothy Hatcher.
1246 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1247 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
1248 Now appends new children if the current index is not set instead of inserting them.
1250 2015-08-17 Devin Rousso <drousso@apple.com>
1252 Web Inspector: Style changes to Visual sidebar selector items
1253 https://bugs.webkit.org/show_bug.cgi?id=148114
1255 Reviewed by Timothy Hatcher.
1257 * Localizations/en.lproj/localizedStrings.js:
1258 * UserInterface/Views/GeneralTreeElement.js:
1259 (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
1260 (WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
1261 Moved the code to update the item tooltip to its own function.
1263 * UserInterface/Views/VisualStyleDetailsPanel.js:
1264 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseover):
1265 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.editorMouseout):
1266 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
1267 (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
1268 (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
1269 (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
1270 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover): Deleted.
1271 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout): Deleted.
1272 Added on-hover node/selector highlighting to margin and padding editor links.
1274 * UserInterface/Views/VisualStyleNumberInputBox.js:
1275 (WebInspector.VisualStyleNumberInputBox):
1276 Replaced "No Units" with "Number" for better clarity.
1278 * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1279 (body:not(.window-inactive, .window-docked-inactive) .item.visual-style-selector-item.selected > input[type="checkbox"]:checked::before):
1280 (.item.visual-style-selector-item.selected > input[type="checkbox"]::before): Deleted.
1281 Removes the white border when the window is inactive and when the checkbox is unchecked.
1283 * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1284 (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
1285 Now updates the title of the item when the selector changes.
1287 2015-08-17 Devin Rousso <drousso@apple.com>
1289 Web Inspector: delete key should work on multi-values visual sidebar grid sections
1290 https://bugs.webkit.org/show_bug.cgi?id=148110
1292 Reviewed by Timothy Hatcher.
1294 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1295 (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
1296 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._listElementKeyDown):
1297 If the backspace/delete key is pressed when focus is within the list element, delete
1298 the selected list item if it is not currently being edited (if it has an editor).
1300 * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
1301 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get currentlyEditing):
1303 2015-08-17 Devin Rousso <drousso@apple.com>
1305 Web Inspector: web fonts or unknown fonts show up as Times in visual sidebar
1306 https://bugs.webkit.org/show_bug.cgi?id=148103
1308 Reviewed by Timothy Hatcher.
1310 * UserInterface/Views/VisualStyleFontFamilyTreeElement.js:
1311 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
1312 Fonts now fall back to sans-serif and -apple-system if they do not exist.
1314 2015-08-17 Myles C. Maxfield <mmaxfield@apple.com>
1316 Implement IntegerHasher
1317 https://bugs.webkit.org/show_bug.cgi?id=147866
1319 Reviewed by Darin Adler and Anders Carlsson.
1323 * UserInterface/Base/Utilities.js:
1325 2015-08-17 Brian Burg <bburg@apple.com>
1327 Web Inspector: InspectorTest should be a subclass of TestHarness
1328 https://bugs.webkit.org/show_bug.cgi?id=148079
1330 Reviewed by Timothy Hatcher.
1332 Extract the frontend test harness into a subclass. Delete some code that
1333 is now redundant. Sprinkle some ES6 syntax where possible.
1335 Rewrite the code that redirects the Inspector page's console messages to
1336 the test page, since it didn't appear to work any more.
1338 * UserInterface/Test.html:
1339 * UserInterface/Test/FrontendTestHarness.js: Added.
1340 (FrontendTestHarness):
1341 (FrontendTestHarness.prototype.completeTest):
1342 (FrontendTestHarness.prototype.addResult):
1343 (FrontendTestHarness.prototype.debugLog):
1344 (FrontendTestHarness.prototype.evaluateInPage):
1345 (FrontendTestHarness.prototype.expectNoError):
1346 (FrontendTestHarness.prototype.testPageDidLoad):
1347 (FrontendTestHarness.prototype.reloadPage):
1348 (FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
1349 (FrontendTestHarness.prototype.redirectConsoleToTestOutput):
1350 (FrontendTestHarness.prototype.reportUncaughtException):
1351 (FrontendTestHarness.prototype._resendResults):
1352 * UserInterface/Test/Test.js:
1353 (InspectorTest.EventDispatcher.prototype.dispatchEvent): Deleted.
1354 (InspectorTest.EventDispatcher): Deleted.
1355 (InspectorTest.log): Deleted.
1356 (InspectorTest.assert): Deleted.
1357 (InspectorTest.expectThat): Deleted.
1358 (InspectorTest.debugLog): Deleted.
1359 (InspectorTest.expectNoError): Deleted.
1360 (InspectorTest.completeTest): Deleted.
1361 (InspectorTest.evaluateInPage): Deleted.
1362 (InspectorTest.addResult): Deleted.
1363 (InspectorTest._resendResults): Deleted.
1364 (InspectorTest.testPageDidLoad): Deleted.
1365 (InspectorTest.reloadPage): Deleted.
1366 (InspectorTest.reportUncaughtException): Deleted.
1368 2015-08-17 Saam barati <sbarati@apple.com>
1370 Web Inspector: Type profiler return types aren't showing up
1371 https://bugs.webkit.org/show_bug.cgi?id=147348
1373 Reviewed by Brian Burg.
1375 Bug #145995 changed the starting offset of a function to
1376 be the open parenthesis of the function's parameter list.
1377 This broke the type profiler's text offset based protocol with JSC.
1378 The text offset used in the protocol is now the first letter of the
1379 function/get/set/method name. So "f" in "function a() {}", "s" in "set foo(){}", etc.
1381 * UserInterface/Models/ScriptSyntaxTree.js:
1382 (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
1383 (WebInspector.ScriptSyntaxTree.functionReturnDivot):
1385 2015-08-17 Brian Burg <bburg@apple.com>
1387 Web Inspector: REGRESSION: spurious console.assert inside ResourceContentView._contentAvailable
1388 https://bugs.webkit.org/show_bug.cgi?id=147886
1390 Reviewed by Joseph Pecoraro.
1392 * UserInterface/Views/ResourceContentView.js:
1393 (WebInspector.ResourceContentView.prototype._hasContent): Fix the style class name.
1395 2015-08-17 Brian Burg <bburg@apple.com>
1397 Web Inspector: split TestStub.js into multiple files and modernize it
1398 https://bugs.webkit.org/show_bug.cgi?id=148077
1400 Reviewed by Timothy Hatcher.
1402 Since we want to share files between the two harnesses, split some of the parts
1403 into different files so not everything has to be included at once.
1405 Rename InjectedTestHarness to just TestHarness. Update some code to use
1406 ES6 features where appropriate. Put test classes into Test/ directory.
1408 * UserInterface/Base/TestStub.js: Removed.
1409 * UserInterface/Test.html:
1410 * UserInterface/Test/InspectorProtocol.js: Added.
1411 (InspectorProtocol.sendCommand):
1412 (InspectorProtocol.awaitCommand):
1413 (InspectorProtocol.awaitEvent.):
1414 (InspectorProtocol.awaitEvent):
1415 (InspectorProtocol.addEventListener):
1416 (InspectorProtocol.sendMessage):
1417 (InspectorProtocol.checkForError):
1418 (InspectorProtocol.dispatchMessageFromBackend):
1419 * UserInterface/Test/ProtocolTestHarness.js: Added.
1420 (ProtocolTestHarness.prototype.completeTest):
1421 (ProtocolTestHarness.prototype.addResult):
1422 (ProtocolTestHarness.prototype.debugLog):
1423 (ProtocolTestHarness.prototype.evaluateInPage):
1424 (ProtocolTestHarness):
1425 * UserInterface/Test/Test.js: Renamed from Source/WebInspectorUI/UserInterface/Base/Test.js.
1426 (WebInspector.loaded):
1427 (WebInspector.contentLoaded):
1428 (WebInspector.UIString):
1429 (WebInspector.updateDockedState):
1430 (WebInspector.updateDockingAvailability):
1431 (InspectorTest.EventDispatcher.prototype.dispatchEvent):
1432 (InspectorTest.EventDispatcher):
1433 (InspectorTest.log):
1434 (InspectorTest.assert):
1435 (InspectorTest.expectThat):
1436 (InspectorTest.debugLog):
1437 (InspectorTest.expectNoError):
1438 (InspectorTest.completeTest):
1439 (InspectorTest.evaluateInPage):
1440 (InspectorTest.addResult):
1441 (InspectorTest._resendResults):
1442 (InspectorTest.testPageDidLoad):
1443 (InspectorTest.reloadPage):
1444 (InspectorTest.reportUncaughtException):
1445 * UserInterface/Test/TestHarness.js: Added.
1447 (TestHarness.prototype.completeTest):
1448 (TestHarness.prototype.addResult):
1449 (TestHarness.prototype.debugLog):
1450 (TestHarness.prototype.evaluateInPage):
1451 (TestHarness.prototype.createAsyncSuite):
1452 (TestHarness.prototype.createSyncSuite):
1453 (TestHarness.prototype.get logCount):
1454 (TestHarness.prototype.log):
1455 (TestHarness.prototype.assert):
1456 (TestHarness.prototype.expectThat):
1457 * UserInterface/Test/TestStub.js: Added.
1458 * UserInterface/Test/TestSuite.js: Added.
1460 (TestSuite.prototype.runTestCasesAndFinish):
1461 (TestSuite.prototype.runTestCases):
1462 (TestSuite.prototype.get passCount):
1463 (TestSuite.prototype.get skipCount):
1464 (TestSuite.prototype.addTestCase):
1465 (AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
1466 (AsyncTestSuite.prototype.runTestCasesAndFinish):
1467 (AsyncTestSuite.prototype.runTestCases):
1469 (SyncTestSuite.prototype.runTestCasesAndFinish):
1470 (SyncTestSuite.prototype.runTestCases):
1472 * UserInterface/TestStub.html:
1474 2015-08-17 Brian Burg <bburg@apple.com>
1476 Web Inspector: load ProtocolTestStub from the WebInspectorUI bundle
1477 https://bugs.webkit.org/show_bug.cgi?id=147955
1479 Reviewed by Timothy Hatcher.
1481 Move ProtocolTestStub.{html,js} into the actual WebInspectorUI project.
1483 * UserInterface/Base/TestStub.js: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.js.
1484 * UserInterface/TestStub.html: Renamed from LayoutTests/http/tests/inspector/resources/ProtocolTestStub.html.
1486 2015-08-17 Simon Fraser <simon.fraser@apple.com>
1488 will-change should sometimes trigger compositing
1489 https://bugs.webkit.org/show_bug.cgi?id=148072
1491 Reviewed by Tim Horton.
1493 Have the web inspector show a correct compositing reason for will-change.
1494 This could be improved to indicate which specific value in will-change triggered
1497 * Localizations/en.lproj/localizedStrings.js:
1498 * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1499 (WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
1500 (WebInspector.LayerTreeDetailsSidebarPanel):
1502 2015-08-14 Matt Baker <mattbaker@apple.com>
1504 Web Inspector: NavigationBar.updateLayoutSoon should use requestAnimationFrame
1505 https://bugs.webkit.org/show_bug.cgi?id=148010
1507 Reviewed by Brian Burg.
1509 NavigationBar.updateLayoutSoon now uses requestAnimationFrame instead of setTimeout.
1511 * UserInterface/Views/NavigationBar.js:
1512 (WebInspector.NavigationBar):
1513 (WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
1514 (WebInspector.NavigationBar.prototype.updateLayoutSoon):
1515 (WebInspector.NavigationBar.prototype.updateLayout):
1517 2015-08-14 Devin Rousso <drousso@apple.com>
1519 Web Inspector: Add VisualStyleDetailsPanel
1520 https://bugs.webkit.org/show_bug.cgi?id=147570
1522 Reviewed by Timothy Hatcher.
1524 Added VisualStyleDetailsPanel and inclusions to forthcoming classes
1525 that will be used in this visual sidebar panel.
1527 * Localizations/en.lproj/localizedStrings.js:
1528 * UserInterface/Main.html:
1529 Added files for all new classes used in the VisualStyleDetailsPanel.
1531 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1532 (WebInspector.CSSStyleDetailsSidebarPanel):
1533 * UserInterface/Views/DetailsSection.js:
1534 (WebInspector.DetailsSection):
1535 (WebInspector.DetailsSection.prototype.set collapsed):
1536 (WebInspector.DetailsSection.prototype.get expandedByUser):
1537 (WebInspector.DetailsSection.prototype._headerElementClicked):
1538 Track whether or not the expanded state was caused by the user.
1540 * UserInterface/Views/VisualStyleDetailsPanel.css: Added.
1541 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header):
1542 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
1543 (.sidebar > .panel.details.css-style .visual > .details-section .details-section:not(.modified) > .header > .visual-style-section-clear):
1544 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > span):
1545 (.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after):
1546 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content):
1547 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
1548 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row:last-child):
1549 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
1550 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container > .visual-style-property-title):
1551 (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child):
1552 (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section)):
1553 (.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section) input):
1555 * UserInterface/Views/VisualStyleDetailsPanel.js: Added.
1556 (WebInspector.VisualStyleDetailsPanel):
1557 (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
1558 (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital):
1559 (WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
1560 (WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
1561 (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange):
1562 (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
1563 (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
1564 (WebInspector.VisualStyleDetailsPanel.prototype._updateAutocompleteCompatiblePropertyEditor):
1565 (WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
1566 (WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
1567 (WebInspector.VisualStyleDetailsPanel.prototype.get _initialTextList):
1568 (WebInspector.VisualStyleDetailsPanel.prototype._initialPropertyTextModified):
1569 (WebInspector.VisualStyleDetailsPanel.prototype._populateSection):
1570 (WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
1571 (WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
1572 (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
1573 (WebInspector.VisualStyleDetailsPanel.prototype._populateFloatSection):
1574 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover):
1575 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout):
1576 (WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
1577 (WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
1578 (WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
1579 (WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
1580 (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
1581 (WebInspector.VisualStyleDetailsPanel.prototype._populateTextStyleSection):
1582 (WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection):
1583 (WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection):
1584 (WebInspector.VisualStyleDetailsPanel.prototype._populateTextShadowSection):
1585 (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
1586 (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
1587 (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
1588 (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems):
1589 (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged):
1590 (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected):
1591 (WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
1592 (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems):
1593 (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged):
1594 (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected):
1595 (WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
1597 2015-08-14 Devin Rousso <drousso@apple.com>
1599 Web Inspector: Highlight DOM node attribute changes in parallel, not sequentially
1600 https://bugs.webkit.org/show_bug.cgi?id=148019
1602 Reviewed by Brian Burg.
1604 * UserInterface/Views/DOMTreeElement.js:
1605 (WebInspector.DOMTreeElement.prototype._markNodeChanged):
1606 (WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd):
1607 Now removes the animated element from the updated list once the animation ends.
1609 2015-08-14 Matt Baker <mattbaker@apple.com>
1611 Web Inspector: Long delay when row selection changes in timeline data grids
1612 https://bugs.webkit.org/show_bug.cgi?id=148005
1614 Reviewed by Brian Burg.
1616 Selecting a tree element in the Timelines sidebar generates multiple
1617 WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
1618 causes NavigationBar to update its layout (which is extremely expensive).
1620 * UserInterface/Views/ContentBrowser.js:
1621 (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
1622 Call updateLayoutSoon instead of updateLayout to coalesce layout requests.
1624 * UserInterface/Views/TimelineRecordingContentView.js:
1625 (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
1626 When the selected record changes in the overview graph, make sure the record's tree element
1627 isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.
1629 2015-08-14 Matt Baker <mattbaker@apple.com>
1631 Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
1632 https://bugs.webkit.org/show_bug.cgi?id=148040
1634 Reviewed by Brian Burg.
1636 * UserInterface/Views/TimelineOverview.css:
1637 (.timeline-overview.frames > .timeline-ruler > .markers > .divider):
1638 (.timeline-overview.frames > .timeline-ruler > .header > .divider): Deleted.
1639 All ruler dividers should be translated by the same amount.
1641 2015-08-14 Devin Rousso <drousso@apple.com>
1643 Web Inspector: Style changes to Visual sidebar editors
1644 https://bugs.webkit.org/show_bug.cgi?id=148021
1646 Reviewed by Brian Burg.
1648 Various style fixes and feature enhancements in some of the Visual style property editors.
1650 * UserInterface/Views/VisualStyleColorPicker.css:
1651 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
1652 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
1653 (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
1655 * UserInterface/Views/VisualStyleKeywordCheckbox.css:
1656 (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input):
1657 (.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before):
1658 (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input): Deleted.
1659 (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div): Deleted.
1660 Replaced the SVG image before the checkbox with a :before pseudo-element with content.
1662 * UserInterface/Views/VisualStyleKeywordCheckbox.js:
1663 (WebInspector.VisualStyleKeywordCheckbox):
1664 Removed the SVG image before the checkbox.
1666 * UserInterface/Views/VisualStyleKeywordPicker.js:
1667 (WebInspector.VisualStyleKeywordPicker.prototype.get value):
1668 (WebInspector.VisualStyleKeywordPicker.prototype.set value):
1669 (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
1670 (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
1671 (WebInspector.VisualStyleKeywordPicker.prototype._getValue):
1672 (WebInspector.VisualStyleKeywordPicker.prototype._setValue):
1673 (WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue):
1674 (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
1675 Due to a current bug (https://webkit.org/b/147064), you cannot extend ES6 getters/setters. In order to work
1676 around this, a member function was added that performs the same action as the getter/setter, but can be extended.
1678 * UserInterface/Views/VisualStylePropertyEditorLink.css:
1679 (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
1680 (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
1682 * UserInterface/Views/VisualStyleRelativeNumberSlider.js:
1683 (WebInspector.VisualStyleRelativeNumberSlider):
1684 (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
1685 (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
1687 * UserInterface/Views/VisualStyleSelectorTreeItem.css:
1688 (.item.visual-style-selector-item > input[type="checkbox"]):
1689 (.item.visual-style-selector-item.selected > input[type="checkbox"]::before):
1690 (.item.visual-style-selector-item.modified > .icon):
1691 (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
1693 * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1694 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
1695 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
1696 Added another context menu item to show the source location for the selected rule.
1698 2015-08-14 Devin Rousso <drousso@apple.com>
1700 Web Inspector: Add visual editors for CSS properties
1701 https://bugs.webkit.org/show_bug.cgi?id=147576
1703 Added parent class for property editors in the Visual style
1704 details panel in the CSS sidebar.
1706 Reviewed by Timothy Hatcher.
1708 * UserInterface/Views/VisualStylePropertyCombiner.js: Added.
1709 (WebInspector.VisualStylePropertyCombiner):
1710 (WebInspector.VisualStylePropertyCombiner.prototype.get style):
1711 (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
1712 (WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
1713 (WebInspector.VisualStylePropertyCombiner.prototype.update):
1714 (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
1715 (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
1716 (WebInspector.VisualStylePropertyCombiner.prototype.propertyMissing):
1717 (WebInspector.VisualStylePropertyCombiner.prototype.resetEditorValues):
1718 (WebInspector.VisualStylePropertyCombiner.prototype._markEditors):
1719 (WebInspector.VisualStylePropertyCombiner.prototype._handlePropertyEditorValueChanged):
1721 * UserInterface/Views/VisualStylePropertyEditor.css: Added.
1722 (.visual-style-property-container):
1723 (.visual-style-property-container > .visual-style-property-title):
1724 (.visual-style-property-container > .visual-style-property-title > .property-reference-info):
1725 (.visual-style-property-container.disabled > .visual-style-property-title > :not(.property-reference-info)):
1726 (.visual-style-property-container > .visual-style-property-value-container):
1727 (.visual-style-property-container.disabled > .visual-style-property-value-container):
1728 (.visual-style-property-container > .visual-style-property-value-container select):
1729 (.visual-style-property-container > .visual-style-property-value-container input):
1730 (.visual-style-property-container.disabled > .visual-style-property-value-container input):
1731 (.visual-style-property-container.layout-reversed > .visual-style-property-title):
1732 (.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
1733 (.visual-style-property-info-popover):
1734 (.visual-style-property-info-popover > h3):
1736 * UserInterface/Views/VisualStylePropertyEditor.js: Added.
1737 (WebInspector.VisualStylePropertyEditor.canonicalizeValues):
1738 (WebInspector.VisualStylePropertyEditor):
1739 (WebInspector.VisualStylePropertyEditor.prototype.get element):
1740 (WebInspector.VisualStylePropertyEditor.prototype.get style):
1741 (WebInspector.VisualStylePropertyEditor.prototype.get value):
1742 (WebInspector.VisualStylePropertyEditor.prototype.set value):
1743 (WebInspector.VisualStylePropertyEditor.prototype.get units):
1744 (WebInspector.VisualStylePropertyEditor.prototype.set units):
1745 (WebInspector.VisualStylePropertyEditor.prototype.get placeholder):
1746 (WebInspector.VisualStylePropertyEditor.prototype.set placeholder):
1747 (WebInspector.VisualStylePropertyEditor.prototype.get synthesizedValue):
1748 (WebInspector.VisualStylePropertyEditor.prototype.set suppressStyleTextUpdate):
1749 (WebInspector.VisualStylePropertyEditor.prototype.set masterProperty):
1750 (WebInspector.VisualStylePropertyEditor.prototype.get masterProperty):
1751 (WebInspector.VisualStylePropertyEditor.prototype.set optionalProperty):
1752 (WebInspector.VisualStylePropertyEditor.prototype.get optionalProperty):
1753 (WebInspector.VisualStylePropertyEditor.prototype.set colorProperty):
1754 (WebInspector.VisualStylePropertyEditor.prototype.get colorProperty):
1755 (WebInspector.VisualStylePropertyEditor.prototype.get propertyReferenceName):
1756 (WebInspector.VisualStylePropertyEditor.prototype.set propertyReferenceName):
1757 (WebInspector.VisualStylePropertyEditor.prototype.set disabled):
1758 (WebInspector.VisualStylePropertyEditor.prototype.get disabled):
1759 (WebInspector.VisualStylePropertyEditor.prototype.update):
1760 (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
1761 (WebInspector.VisualStylePropertyEditor.prototype.resetEditorValues):
1762 (WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
1763 (WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
1764 (WebInspector.VisualStylePropertyEditor.prototype.propertyMissing):
1765 (WebInspector.VisualStylePropertyEditor.prototype.valueIsCompatible):
1766 (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
1767 (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
1768 (WebInspector.VisualStylePropertyEditor.prototype.get contentElement):
1769 (WebInspector.VisualStylePropertyEditor.prototype.get specialPropertyPlaceholderElement):
1770 (WebInspector.VisualStylePropertyEditor.prototype.parseValue):
1771 (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
1772 (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
1773 (WebInspector.VisualStylePropertyEditor.prototype._canonicalizedKeywordForKey):
1774 (WebInspector.VisualStylePropertyEditor.prototype._keyForKeyword):
1775 (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
1776 (WebInspector.VisualStylePropertyEditor.prototype._replaceShorthandPropertyWithLonghandProperties):
1777 (WebInspector.VisualStylePropertyEditor.prototype._titleElementPrepareForClick):
1778 (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOver):
1779 (WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOut):
1780 (WebInspector.VisualStylePropertyEditor.prototype._titleElementClick):
1781 (WebInspector.VisualStylePropertyEditor.prototype._hasMultipleConflictingValues):
1782 (WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
1783 (WebInspector.VisualStylePropertyEditor.prototype._toggleTabbingOfSelectableElements):
1785 * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Added.
1786 (.visual-style-tabbed-properties-row ~ :not(.visible)):
1787 (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container):
1788 (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button):
1789 (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected):
1790 (.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button:not(.selected):hover):
1792 * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Added.
1793 (WebInspector.VisualStyleTabbedPropertiesRow):
1794 (WebInspector.VisualStyleTabbedPropertiesRow.prototype._handleButtonClicked):
1796 2015-08-14 Devin Rousso <drousso@apple.com>
1798 Web Inspector: Add Visual editors for CSS properties with comma separated values
1799 https://bugs.webkit.org/show_bug.cgi?id=147578
1801 Reviewed by Timothy Hatcher.
1803 Displays comma separated CSS property values as a tree outline list.
1805 * UserInterface/Images/Minus.svg: Added.
1806 * UserInterface/Views/TreeOutline.js:
1807 (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
1808 (WebInspector.TreeOutline):
1810 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Added.
1811 (.visual-style-property-container.comma-separated-keyword-editor):
1812 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container):
1813 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list):
1814 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item):
1815 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:nth-child(odd)):
1816 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.selected):
1817 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > :matches(button, img)):
1818 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles):
1819 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.selected:not(.editor-hidden) > .titles > *):
1820 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor):
1821 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.editor-hidden > .visual-style-comma-separated-keyword-item-editor):
1822 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle):
1823 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:not(.no-value) > .titles > .subtitle):
1824 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls):
1825 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
1826 (.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > .visual-style-remove-comma-separated-keyword):
1828 * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Added.
1829 (WebInspector.VisualStyleCommaSeparatedKeywordEditor):
1830 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set selectedTreeElementValue):
1831 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
1832 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
1833 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get synthesizedValue):
1834 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected):
1835 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeItemIsEmpty):
1836 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addEmptyCommaSeparatedKeyword):
1837 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeSelectedCommaSeparatedKeyword):
1838 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeEmptyCommaSeparatedKeywords):
1839 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
1840 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeCommaSeparatedKeyword):
1841 (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._createNewTreeElement):
1843 * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Added.
1844 (WebInspector.VisualStyleFontFamilyListEditor):
1845 (WebInspector.VisualStyleFontFamilyListEditor.prototype.visualStyleCompletionsControllerCustomizeCompletionElement):
1846 (WebInspector.VisualStyleFontFamilyListEditor.prototype.get hasCompletions):
1847 (WebInspector.VisualStyleFontFamilyListEditor.prototype.set completions):
1848 (WebInspector.VisualStyleFontFamilyListEditor.prototype._modifyCommaSeparatedKeyword):
1849 (WebInspector.VisualStyleFontFamilyListEditor.prototype._addCommaSeparatedKeyword):
1850 (WebInspector.VisualStyleFontFamilyListEditor.prototype._addEmptyCommaSeparatedKeyword):
1851 (WebInspector.VisualStyleFontFamilyListEditor.prototype._completionClicked):
1852 (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeyDown):
1853 (WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeywordChanged):
1854 (WebInspector.VisualStyleFontFamilyListEditor.prototype._hideCompletions):
1855 (WebInspector.VisualStyleFontFamilyListEditor.prototype._createNewTreeElement):
1857 * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Added.
1858 (WebInspector.VisualStyleFontFamilyTreeElement):
1859 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.editorBounds):
1860 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
1861 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.showKeywordEditor):
1862 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.hideKeywordEditor):
1863 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.get keywordEditorHidden):
1864 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.onattach):
1865 (WebInspector.VisualStyleFontFamilyTreeElement.prototype.ondeselect):
1866 (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyDown):
1867 (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyUp):
1868 (WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorBlurred):
1870 2015-08-14 Devin Rousso <drousso@apple.com>
1872 Web Inspector: Add autocomplete controller for Visual property editors
1873 https://bugs.webkit.org/show_bug.cgi?id=147579
1875 Reviewed by Timothy Hatcher.
1877 * UserInterface/Controllers/VisualStyleCompletionsController.js: Added.
1878 (WebInspector.VisualStyleCompletionsController):
1879 Takes in a CSSCompletions and displays a list of suggestions based on a given prefix in a popover.
1880 (WebInspector.VisualStyleCompletionsController.prototype.get visible):
1881 (WebInspector.VisualStyleCompletionsController.prototype.get hasCompletions):
1882 (WebInspector.VisualStyleCompletionsController.prototype.get currentCompletion):
1883 (WebInspector.VisualStyleCompletionsController.prototype.set completions):
1884 (WebInspector.VisualStyleCompletionsController.prototype.completionSuggestionsViewCustomizeCompletionElement):
1885 (WebInspector.VisualStyleCompletionsController.prototype.previous):
1886 (WebInspector.VisualStyleCompletionsController.prototype.next):
1887 (WebInspector.VisualStyleCompletionsController.prototype.update):
1888 (WebInspector.VisualStyleCompletionsController.prototype.show):
1889 (WebInspector.VisualStyleCompletionsController.prototype.hide):
1891 * UserInterface/Models/CSSKeywordCompletions.js:
1892 (WebInspector.CSSKeywordCompletions.forProperty):
1893 Make sure that the cssNameCompletions exist before trying to add them.
1895 * UserInterface/Views/CompletionSuggestionsView.js:
1896 (WebInspector.CompletionSuggestionsView.prototype.update):
1897 Allow the delegate to modify the newly created completion suggestion item.
1899 2015-08-14 Devin Rousso <drousso@apple.com>
1901 Web Inspector: Add a visual editor for timing functions
1902 https://bugs.webkit.org/show_bug.cgi?id=148022
1904 Reviewed by Timothy Hatcher.
1906 Uses the existing bezier editor and the Visual keyword picker to make an editor for timing functions.
1908 * UserInterface/Views/VisualStyleTimingEditor.css: Added.
1909 (.visual-style-property-container.timing-editor > .visual-style-property-value-container):
1910 (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .keyword-picker-select):
1911 (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
1912 (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover):
1913 (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active):
1915 * UserInterface/Views/VisualStyleTimingEditor.js: Added.
1916 (WebInspector.VisualStyleTimingEditor):
1917 (WebInspector.VisualStyleTimingEditor.prototype.parseValue):
1918 (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
1919 (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
1920 (WebInspector.VisualStyleTimingEditor.prototype._getValue):
1921 (WebInspector.VisualStyleTimingEditor.prototype._setValue):
1922 (WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue):
1923 (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked):
1924 (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
1926 2015-08-13 Nikita Vasilyev <nvasilyev@apple.com>
1928 Web Inspector: Can't resize split console when window is too narrow
1929 https://bugs.webkit.org/show_bug.cgi?id=147924
1931 Make some items inside of the navigation bar click-through to incsease
1934 Reviewed by Timothy Hatcher.
1936 * UserInterface/Views/Main.css:
1937 (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-search-bar, .log-scope-bar)):
1938 (#split-content-browser > .navigation-bar > :matches(.log-search-bar, .log-scope-bar) > :matches(li, input)):
1940 2015-08-13 Devin Rousso <drousso@apple.com>
1942 Web Inspector: Flash DOM node attribute on change
1943 https://bugs.webkit.org/show_bug.cgi?id=147973
1945 Reviewed by Timothy Hatcher.
1947 Whenever an attribute on a DOM node changes, flash the attribute value.
1948 If that value doesn't exist, flash the attribute name instead.
1950 * UserInterface/Views/DOMTreeElement.js:
1951 (WebInspector.DOMTreeElement):
1952 (WebInspector.DOMTreeElement.prototype.nodeChanged):
1953 (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
1954 If the node has been marked with a general change, mark the attribute element for animation.
1955 (WebInspector.DOMTreeElement.prototype._markNodeChanged.animationEnd):
1956 (WebInspector.DOMTreeElement.prototype._markNodeChanged):
1957 Adds a class to the given element that applies a simple background flash animation.
1958 (WebInspector.DOMTreeElement.prototype._fireDidChange):
1959 Add the animation class once all building of the represented DOM object for that node is done.
1961 * UserInterface/Views/DOMTreeOutline.css:
1962 (@keyframes node-state-changed):
1963 Applies a semi-transparent background that fades to default.
1964 (.node-state-changed):
1966 * UserInterface/Views/DOMTreeUpdater.js:
1967 (WebInspector.DOMTreeUpdater.prototype._attributesUpdated):
1968 Now passes along the name of the modified attribute.
1969 (WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
1970 If the modified node object has an attribute member, mark the node as being generally changed.
1972 2015-08-13 Devin Rousso <drousso@apple.com>
1974 REGRESSION (r184000): Web Inspector: Stripped whitespace after editing CSS in Styles sidebar
1975 https://bugs.webkit.org/show_bug.cgi?id=145679
1977 Reviewed by Timothy Hatcher.
1979 The formatter will now calculate the number of beginning spaces before the first line in a rule
1980 and duplicate them in front of every other line. If there is no new line at the beginning or are
1981 no spaces, assume 4 spaces and a new line for each property.
1982 Also cleaned up the code for _resetContent a bit.
1984 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1985 (WebInspector.CSSStyleDeclarationTextEditor):
1986 (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set get this):
1987 (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
1988 (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
1989 (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
1991 2015-08-13 Matt Baker <mattbaker@apple.com>
1993 Web Inspector: Skip rendering frame records without children
1994 https://bugs.webkit.org/show_bug.cgi?id=147993
1996 Reviewed by Reviewed by Joseph Pecoraro.
1998 This became an issue for frames which include an IndexedDB "success" event. This caused the
1999 payload to pass the "has children" test, but resulted in model objects with no child records.
2001 * UserInterface/Controllers/TimelineManager.js:
2002 (WebInspector.TimelineManager.prototype.eventRecorded):
2003 Fixed record type check and moved rendering frame index assignment.
2005 * UserInterface/Models/RenderingFrameTimelineRecord.js:
2006 (WebInspector.RenderingFrameTimelineRecord):
2007 (WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
2008 Frame index is now set externally, and can only be set once.
2010 * UserInterface/Views/RenderingFrameTimelineView.js:
2011 (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
2014 2015-08-13 Joseph Pecoraro <pecoraro@apple.com>
2016 Web Inspector: Watch Expressions
2017 https://bugs.webkit.org/show_bug.cgi?id=147904
2019 Reviewed by Brian Burg.
2021 * UserInterface/Protocol/RemoteObject.js:
2022 (WebInspector.RemoteObject):
2023 A RemoteObject's description string is optional, but we always
2024 assume it exists and is a string, so default to the empty string.
2026 * UserInterface/Controllers/RuntimeManager.js:
2027 (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow.evalCallback):
2028 Include the object group in the DidEvaluate event.
2030 (WebInspector.RemoteObject.fakeRemoteObject):
2031 (WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
2032 (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties.get return):
2033 (WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties):
2034 (WebInspector.RemoteObject.prototype._isFakeObject):
2035 (WebInspector.RemoteObject.prototype._getPropertyDescriptors):
2036 (WebInspector.RemoteObject.prototype._deprecatedGetProperties):
2037 Support a fake RemoteObject. We use this fake RemoteObject to
2038 back a ObjectTreeView where we add custom Properties which are of the form
2039 "Expressions => RemoteObject" instead of "Object Property => RemoteObject".
2040 Ensure a fake remote object is not used in unexpected ways.
2042 * UserInterface/Views/Popover.js:
2043 (WebInspector.Popover.prototype.update):
2044 Default a popover update to animate, but allow not animating.
2046 (WebInspector.Popover.prototype.handleEvent):
2047 Vend a class that other content can use so that the Popover won't
2048 dismiss if content with that class is scrolled. For example, a
2049 completions list may be showing over a popover, if that scrolls
2050 it should not dismiss the popover.
2052 * UserInterface/Views/CompletionSuggestionsView.js:
2053 (WebInspector.CompletionSuggestionsView):
2054 Adopt the Popover ignore class so a popover won't dismiss if the
2055 completion suggestions view is scrolled.
2057 * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2058 (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement.get return):
2059 (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
2060 Allow modifying the context menu on an ObjectTreeView by looking for a delegate
2063 * UserInterface/Views/ScopeChainDetailsSidebarPanel.css: Added.
2064 (.details-section.watch-expressions .options > *):
2065 (.details-section.watch-expressions .options > *:active):
2066 (.details-section.watch-expressions .options > .watch-expression-add):
2067 (.details-section.watch-expressions .options > .watch-expression-clear):
2068 (.details-section.watch-expressions .options > .watch-expression-refresh):
2069 (.popover .watch-expression):
2070 (.watch-expression-editor):
2071 (.watch-expression-editor > .CodeMirror):
2072 (.watch-expression-editor > .CodeMirror-scroll):
2073 Styles for the new Watch Expressions section, buttons, popover, and editor.
2075 * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2076 (WebInspector.ScopeChainDetailsSidebarPanel):
2077 (WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect):
2078 (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
2079 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
2080 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
2081 Because we update the UI after a delay, to allow ObjectTreeView's to asynchronously
2082 expand and fetch their list of properties, we convert updating the watch expression
2083 and call frame sections asynchronously and return a promise. This lets us visually
2084 update the UI after both sections have updated.
2086 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
2087 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
2088 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
2089 Modify the saved list of watch expressions.
2091 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
2092 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.this._codeMirror.addKeyMap):
2093 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
2094 (WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover):
2095 Handle presenting and dismissing the add watch expression popover.
2097 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
2098 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressionsButtonClicked):
2099 Other button handlers.
2101 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
2102 Refresh the sidebar on navigation, as the watch expressions may change value (`location.href`).
2104 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems):
2105 Add our own context menu items to watch expression ObjectTreeView tree elements to
2106 allow removing a watch expression.
2108 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
2109 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
2110 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
2111 (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
2112 Convert code to use `let`.
2114 * Localizations/en.lproj/localizedStrings.js:
2115 * UserInterface/Main.html:
2118 2015-08-13 Joseph Pecoraro <pecoraro@apple.com>
2120 Web Inspector: A {Map, WeakMap, Set, WeakSet} object contains itself will hang the console
2121 https://bugs.webkit.org/show_bug.cgi?id=147966
2123 Reviewed by Timothy Hatcher.
2125 * UserInterface/Views/ObjectPreviewView.js:
2126 (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
2127 (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
2128 For empty overflow previews, don't show ", ..." if we didn't show any
2129 values; just show "..." in these cases.
2131 2015-08-13 Matt Baker <mattbaker@apple.com>
2133 Web Inspector: Hide child rows for filtered tasks in the Rendering Frames data grid
2134 https://bugs.webkit.org/show_bug.cgi?id=147960
2136 Reviewed by Timothy Hatcher.
2138 * UserInterface/Models/RenderingFrameTimelineRecord.js:
2139 (WebInspector.RenderingFrameTimelineRecord.taskTypeForTimelineRecord):
2140 New static method for mapping TimelineRecords to rendering frame tasks.
2141 (WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
2142 Refactored to use taskTypeForTimelineRecord.
2144 * UserInterface/Views/TimelineSidebarPanel.js:
2145 (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2146 Task filtering is applied to children of the frame record only. Parent frame
2147 record is hidden by default, and visible by virtue of having unfiltered children.
2149 2015-08-13 Matt Baker <mattbaker@apple.com>
2151 Web Inspector: Clearing frames timeline doesn't remove current time marker
2152 https://bugs.webkit.org/show_bug.cgi?id=147650
2154 Reviewed by Timothy Hatcher.
2156 The rendering frames timeline offsets all markers by 1px to align them on frame
2157 boundaries, which causes the current time marker to be visible even with left: 0px.
2158 We can exclude the current time marker without it being noticable during recording.
2160 * UserInterface/Views/TimelineOverview.css:
2162 2015-08-13 Nikita Vasilyev <nvasilyev@apple.com>
2164 REGRESSION (r188325): Web Inspector: Fix vertical spacing in CodeMirror
2165 https://bugs.webkit.org/show_bug.cgi?id=147971
2167 r188325 inceased line-height by 2px. Remove top and bottom 1px padding
2168 to compensate for line-height changes.
2170 In the feature we may highlight the backgroud of text tokens (e.g. for the
2171 heatmap profiler) so we would want to get rid of the gaps between the lines
2172 (caused by the paddind) regardless of this regression.
2174 Reviewed by Timothy Hatcher.
2176 * UserInterface/Views/CodeMirrorOverrides.css:
2179 2015-08-12 Joseph Pecoraro <pecoraro@apple.com>
2181 Web Inspector: Sometimes CSS resources don't update after editing via Styles panel
2182 https://bugs.webkit.org/show_bug.cgi?id=143244
2184 Reviewed by Timothy Hatcher.
2186 * UserInterface/Models/SourceCode.js:
2187 (WebInspector.SourceCode.prototype._processContent):
2188 This code is brittle and we should move off of putting the
2189 possibly stale content in the Promise result.
2191 * UserInterface/Views/ResourceContentView.js:
2192 (WebInspector.ResourceContentView.prototype._contentAvailable):
2193 * UserInterface/Views/SourceCodeTextEditor.js:
2194 (WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
2195 * UserInterface/Models/Script.js:
2196 (WebInspector.Script.prototype.requestScriptSyntaxTree):
2197 Use the current source code's content.
2199 2015-08-12 Joseph Pecoraro <pecoraro@apple.com>
2201 Web Inspector: Fix Poor Class Names
2202 https://bugs.webkit.org/show_bug.cgi?id=147958
2204 Reviewed by Timothy Hatcher.
2206 * UserInterface/Views/ClusterContentView.js:
2207 * UserInterface/Views/ResourceContentView.js:
2209 2015-08-12 Devin Rousso <drousso@apple.com>
2211 Web Inspector: Opening the Elements tab without a selected sidebar panel causes a crash
2212 https://bugs.webkit.org/show_bug.cgi?id=147965
2214 Reviewed by Timothy Hatcher.
2216 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2217 (WebInspector.CSSStyleDetailsSidebarPanel):
2218 If the saved setting for the selectedPanel does not exist, default to the rules panel.
2220 (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
2221 Only save the new navigationItem info if the selectedPanel exists.
2223 2015-08-12 Matt Baker <mattbaker@apple.com>
2225 Web Inspector: Remove clamp and adopt Number.constrain
2226 https://bugs.webkit.org/show_bug.cgi?id=147952
2228 Reviewed by Timothy Hatcher.
2230 * UserInterface/Base/Utilities.js:
2231 Removed clamp function.
2233 * UserInterface/Views/BezierEditor.js:
2234 (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
2235 * UserInterface/Views/ProfileNodeDataGridNode.js:
2236 (WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
2237 * UserInterface/Views/ScriptTimelineDataGridNode.js:
2238 (WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
2239 * UserInterface/Views/TimelineRuler.js:
2240 (WebInspector.TimelineRuler.prototype._updateSelection):
2241 Replaced instances of clamp with Number.constrain.
2243 2015-08-12 Joseph Pecoraro <pecoraro@apple.com>
2245 Web Inspector: DOM Node should have context menu to scroll it into view on the inspected page
2246 https://bugs.webkit.org/show_bug.cgi?id=147913
2248 Reviewed by Timothy Hatcher.
2250 * Localizations/en.lproj/localizedStrings.js:
2251 * UserInterface/Views/DOMTreeElement.js:
2252 (WebInspector.DOMTreeElement.prototype._updateChildren.set continue):
2253 (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
2254 Add a context menu item to scroll into view for element nodes.
2256 (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode.scrollIntoView):
2257 (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode):
2258 (WebInspector.DOMTreeElement.prototype._scrollIntoView):
2259 Call scrollIntoViewIfNeeded on the real Node.
2261 * UserInterface/Views/DOMTreeOutline.js:
2262 (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
2263 Remove unused parameter.
2265 * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2266 (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
2267 Add context menu for Nodes in ObjectTrees.
2269 2015-08-12 Dan Bernstein <mitz@apple.com>
2271 Removed the executable bit from non-executable source.
2273 * UserInterface/External/CodeMirror/LICENSE: Removed property svn:executable.
2274 * UserInterface/External/CodeMirror/clojure.js: Removed property svn:executable.
2275 * UserInterface/External/CodeMirror/closebrackets.js: Removed property svn:executable.
2276 * UserInterface/External/CodeMirror/codemirror.css: Removed property svn:executable.
2277 * UserInterface/External/CodeMirror/codemirror.js: Removed property svn:executable.
2278 * UserInterface/External/CodeMirror/coffeescript.js: Removed property svn:executable.
2279 * UserInterface/External/CodeMirror/comment.js: Removed property svn:executable.
2280 * UserInterface/External/CodeMirror/css.js: Removed property svn:executable.
2281 * UserInterface/External/CodeMirror/htmlmixed.js: Removed property svn:executable.
2282 * UserInterface/External/CodeMirror/javascript.js: Removed property svn:executable.
2283 * UserInterface/External/CodeMirror/livescript.js: Removed property svn:executable.
2284 * UserInterface/External/CodeMirror/matchbrackets.js: Removed property svn:executable.
2285 * UserInterface/External/CodeMirror/overlay.js: Removed property svn:executable.
2286 * UserInterface/External/CodeMirror/placeholder.js: Removed property svn:executable.
2287 * UserInterface/External/CodeMirror/runmode.js: Removed property svn:executable.
2288 * UserInterface/External/CodeMirror/sass.js: Removed property svn:executable.
2289 * UserInterface/External/CodeMirror/searchcursor.js: Removed property svn:executable.
2290 * UserInterface/External/CodeMirror/sql.js: Removed property svn:executable.
2291 * UserInterface/External/CodeMirror/xml.js: Removed property svn:executable.
2293 2015-08-11 Matt Baker <mattbaker@apple.com>
2295 Web Inspector: TimelineView data not cleared when recording is reset
2296 https://bugs.webkit.org/show_bug.cgi?id=147916
2298 Reviewed by Timothy Hatcher.
2300 Each derived timeline view maintains a separate array of timeline records. These weren't
2301 cleared on reset, so switching to a timeline view after clearing the recording caused
2302 the view to populate its tree outline.
2304 * UserInterface/Views/LayoutTimelineView.js:
2305 (WebInspector.LayoutTimelineView.set columns):
2306 (WebInspector.LayoutTimelineView):
2307 * UserInterface/Views/NetworkTimelineView.js:
2308 (WebInspector.NetworkTimelineView.set columns):
2309 (WebInspector.NetworkTimelineView):
2310 * UserInterface/Views/OverviewTimelineView.js:
2311 (WebInspector.OverviewTimelineView.prototype.reset):
2312 (WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):
2313 * UserInterface/Views/RenderingFrameTimelineView.js:
2314 (WebInspector.RenderingFrameTimelineView.prototype.reset):
2315 * UserInterface/Views/ScriptTimelineView.js:
2316 (WebInspector.ScriptTimelineView.prototype.reset):
2318 2015-08-11 Matt Baker <mattbaker@apple.com>
2320 Web Inspector: Dragging a timeline ruler handle when both handles clamped is broken
2321 https://bugs.webkit.org/show_bug.cgi?id=147912
2323 Reviewed by Timothy Hatcher.
2325 When clamped handles overlap, the handle nearest in time to the ruler's edge should be visible and
2326 clickable, and the other should be hidden. This change ensures that clicking and dragging a ruler
2327 handle to modify a selection outside the visible area works correctly.
2329 * UserInterface/Views/TimelineOverview.css:
2330 (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
2331 Style adjustment for rendering frames, which offsets the right handle by 5px instead of 4px.
2332 (.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
2333 Style adjustment for rendering frames, which offsets the right shaded area by 1px.
2334 (.timeline-overview.frames > .timeline-ruler > .selection-handle.right): Deleted.
2335 (.timeline-overview.frames > .timeline-ruler > .shaded-area.right): Deleted.
2337 * UserInterface/Views/TimelineRuler.css:
2338 (.timeline-ruler.both-handles-clamped > .selection-handle):
2339 Updated handle style when both are clamped.
2340 (.timeline-ruler > .selection-handle.clamped.hidden):
2341 Hide the clamped handle that is beneath the other clamped handle.
2343 * UserInterface/Views/TimelineRuler.js:
2344 (WebInspector.TimelineRuler.prototype._updateSelection):
2347 2015-08-11 Devin Rousso <drousso@apple.com>
2349 Web Inspector: Disabling attribute styles should not be possible
2350 https://bugs.webkit.org/show_bug.cgi?id=147922
2352 Reviewed by Timothy Hatcher.
2354 * UserInterface/Views/CSSStyleDeclarationSection.js:
2355 (WebInspector.CSSStyleDeclarationSection):
2356 Increases the specificity of the if statement that adds rule disable state toggling to the icon.
2358 2015-08-11 Devin Rousso <drousso@apple.com>
2360 Web Inspector: Update to CodeMirror 5.5 or later
2361 https://bugs.webkit.org/show_bug.cgi?id=147109
2363 Reviewed by Timothy Hatcher.
2365 Updated CodeMirror to version 5.5, as well as the extension files for CodeMirror
2366 that are currently used in WebInspector.
2368 * Localizations/en.lproj/localizedStrings.js:
2369 * Tools/PrettyPrinting/FormatterDebug.js:
2370 Added WebInspector namespace for formatters.
2372 * Tools/PrettyPrinting/index.html:
2373 Added WebInspector namespace for formatters.
2375 * UserInterface/External/CodeMirror/LICENSE:
2376 * UserInterface/External/CodeMirror/clojure.js:
2377 * UserInterface/External/CodeMirror/closebrackets.js:
2378 * UserInterface/External/CodeMirror/codemirror.css:
2379 * UserInterface/External/CodeMirror/codemirror.js:
2380 * UserInterface/External/CodeMirror/coffeescript.js:
2381 * UserInterface/External/CodeMirror/comment.js:
2382 * UserInterface/External/CodeMirror/css.js:
2383 * UserInterface/External/CodeMirror/htmlmixed.js:
2384 * UserInterface/External/CodeMirror/javascript.js:
2385 * UserInterface/External/CodeMirror/livescript.js:
2386 * UserInterface/External/CodeMirror/matchbrackets.js:
2387 * UserInterface/External/CodeMirror/overlay.js:
2388 * UserInterface/External/CodeMirror/sass.js:
2389 * UserInterface/External/CodeMirror/searchcursor.js:
2390 * UserInterface/External/CodeMirror/sql.js:
2391 * UserInterface/External/CodeMirror/xml.js:
2392 * UserInterface/Views/CodeMirrorFormatters.js:
2393 Now uses the new token in CodeMirror for media query parenthesis.
2395 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2396 (.css-style-text-editor > .CodeMirror pre):
2397 Removed the additional vertical padding.
2399 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2400 (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
2401 (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
2402 Clicking on the end of a line in a style will now correctly insert a new line.
2404 * UserInterface/Views/ComputedStyleDetailsPanel.css:
2405 (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow):
2406 The go-to arrow now has the proper dimensions.
2408 * UserInterface/Views/HoverMenu.css:
2409 (.hover-menu > img):
2410 * UserInterface/Views/SourceCodeTextEditor.css:
2411 (.hover-menu.color > img):
2413 2015-08-11 Matt Baker <mattbaker@apple.com>
2415 Web Inspector: Add the ability to filter out tasks in the Rendering Frames timeline
2416 https://bugs.webkit.org/show_bug.cgi?id=147389
2418 Reviewed by Timothy Hatcher.
2420 Added filtering by task type to the Rendering Frames timeline view. Legend item checkboxes
2421 in the timeline sidebar toggle filtering for the corresponding task. The "Other" category
2422 cannot be filtered, since all rendering frame records include some "other" time in addition to
2423 child records from at least one additional task type.
2425 A row is filtered (hidden) from the data grid when the corresponding rendering frame has no
2426 unfiltered child records.
2428 * UserInterface/Base/Main.js:
2429 (WebInspector._windowFocused):
2430 (WebInspector._windowBlurred):
2431 Added inactive style for docked window.
2433 * UserInterface/Views/ChartDetailsSectionRow.css:
2434 (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
2435 (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label):
2436 (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
2437 (body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
2438 (.details-section > .content > .group > .row.chart > .defs-only):
2439 (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch): Deleted.
2440 (.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label): Deleted.
2441 Switched to label elements, added checkbox styles, and updated color swatch style for non-checkbox items.
2443 * UserInterface/Views/ChartDetailsSectionRow.js:
2444 (WebInspector.ChartDetailsSectionRow):
2445 Added svg filter container and style sheet element.
2446 (WebInspector.ChartDetailsSectionRow.prototype.set data):
2447 (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createGammaPrimitive):
2448 (WebInspector.ChartDetailsSectionRow.prototype._createLegend.createCheckboxFilterElement):
2449 Helper function to create an svg:filter to blend legend key color over the native checkbox element.
2450 Filter assumes grayscale input, and each checkbox requires a separate filter.
2451 (WebInspector.ChartDetailsSectionRow.prototype._createLegend):
2452 Creates legend items, svg filters, and checkbox style sheet.
2453 (WebInspector.ChartDetailsSectionRow.prototype._legendItemCheckboxValueChanged):
2454 Repackage and forward checkbox changed event.
2455 (WebInspector.ChartDetailsSectionRow.prototype._createLegendItem): Deleted.
2456 Logic moved to WebInspector.ChartDetailsSectionRow.prototype._createLegend.
2458 * UserInterface/Views/TimelineSidebarPanel.js:
2459 Added set of rendering frame task types against which tree elements can be filtered.
2460 (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
2461 If filter is not empty, check ancestor rendering frame record for unfiltered data.
2462 (WebInspector.TimelineSidebarPanel.prototype._frameSelectionLegendItemChecked):
2463 Update task filter in response when legend items are checked/unchecked.
2465 2015-08-11 Brent Fulgham <bfulgham@apple.com>
2467 [Win] Switch Windows build to Visual Studio 2015
2468 https://bugs.webkit.org/show_bug.cgi?id=147887
2469 <rdar://problem/22235098>
2471 Reviewed by Alex Christensen.
2473 Update Visual Studio project file settings to use the current Visual
2474 Studio and compiler. Continue targeting binaries to run on our minimum
2475 supported configuration of Windows 7.
2477 * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2479 2015-08-11 Brian Burg <bburg@apple.com>
2481 Web Inspector: Agent commands do not actually return a promise when expected
2482 https://bugs.webkit.org/show_bug.cgi?id=138665
2484 Reviewed by Timothy Hatcher.
2486 This patch unifies the handling of different invocation and dispatch modes in the
2487 InspectorBackend protocol system. Command responses are dispatched to a provided
2488 callback function; if no function was provided, then the command returns a promise.
2490 Rather than awkwardly converting between promises and callbacks at invocation and
2491 response dispatch time, the backend now stores the callback or promise thunks and
2492 knows how to invoke each when the response comes. This mirrors how response handling
2493 works in ProtocolTestStub.js. InspectorBackend includes more machinery to support Agent
2494 objects and various debug flags.
2496 Performanace impact is expected to be negligible, because there are relatively
2497 few commands issued by the inspector frontend and returned promises are short-lived.
2499 Remove all uses of Command.prototype.promise, since it is no longer necessary.
2501 * UserInterface/Base/Test.js:
2502 (InspectorTest.reloadPage):
2503 * UserInterface/Controllers/ReplayManager.js:
2504 (WebInspector.ReplayManager.prototype.getSession.get var):
2505 (WebInspector.ReplayManager.getSegment.get var):
2506 * UserInterface/Models/ReplaySession.js:
2507 (WebInspector.ReplaySession.prototype.segmentsChanged):
2508 * UserInterface/Models/Resource.js:
2509 (WebInspector.Resource.prototype.requestContentFromBackend):
2510 * UserInterface/Models/Script.js:
2511 (WebInspector.Script.prototype.requestContentFromBackend):
2512 * UserInterface/Models/SourceMapResource.js:
2513 (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
2514 * UserInterface/Protocol/InspectorBackend.js:
2515 (InspectorBackendClass):
2516 (InspectorBackendClass.prototype.dispatch):
2517 (InspectorBackendClass.prototype.runAfterPendingDispatches):
2518 (InspectorBackendClass.prototype._sendCommandToBackendWithCallback.set this):
2519 (InspectorBackendClass.set this):
2520 (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
2521 (InspectorBackendClass.prototype._dispatchResponseToCallback):
2522 (InspectorBackendClass.prototype._dispatchResponseToPromise):
2523 (InspectorBackendClass.prototype._flushPendingScripts):
2524 (InspectorBackend.Command.prototype.invoke):
2525 (InspectorBackend.Command.prototype._invokeWithArguments):
2526 (InspectorBackendClass.prototype._willSendMessageToBackend.set return): Deleted.
2527 (InspectorBackendClass._dispatchCallback.get if): Deleted.
2528 (InspectorBackendClass.prototype._willSendMessageToBackend): Deleted.
2529 (InspectorBackendClass.prototype._invokeCommand): Deleted.
2530 (.callable): Deleted.
2531 (InspectorBackend.Command.create): Deleted.
2532 (InspectorBackend.Command.prototype.promise): Deleted.
2534 2015-08-11 Devin Rousso <drousso@apple.com>
2536 Web Inspector: Hovering over an element in the Elements tab should highlight the whole line
2537 https://bugs.webkit.org/show_bug.cgi?id=147855
2539 Reviewed by Brian Burg.
2541 * UserInterface/Views/DOMTreeOutline.css:
2542 (.dom-tree-outline li.hovered:not(.selected) .selection):
2543 Removed the horizontal positioning and border radius.
2545 2015-08-10 Devin Rousso <drousso@apple.com>
2547 Web Inspector: Add numerical input and slider based Visual editors for CSS properties
2548 https://bugs.webkit.org/show_bug.cgi?id=147712
2550 Reviewed by Brian Burg.
2552 Added editors for CSS properties with numerical values for use in the Visual style
2553 details panel in the CSS sidebar, in the form of a combined select and input or an
2554 input range. Also added optional visual linkages to sync values between multiple
2555 editors of this type.
2557 * UserInterface/Images/VisualStylePropertyLinked.svg: Added.
2558 * UserInterface/Images/VisualStylePropertyUnlinked.svg: Added.
2560 * UserInterface/Views/VisualStyleNumberInputBox.css: Added.
2561 (.visual-style-property-container > .visual-style-property-value-container.focused > .focus-ring):
2562 (.visual-style-property-container > .visual-style-property-value-container > .number-input-keyword-select):
2563 (.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
2564 (.visual-style-property-container > .visual-style-property-value-container:not(.number-input-editable) > .number-input-container):
2565 (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > .number-input-value):
2566 (.visual-style-property-container > .visual-style-property-value-container > .number-input-container > span):
2568 * UserInterface/Views/VisualStyleNumberInputBox.js: Added.
2569 (WebInspector.VisualStyleNumberInputBox):
2570 (WebInspector.VisualStyleNumberInputBox.prototype.get value):
2571 (WebInspector.VisualStyleNumberInputBox.prototype.set value):
2572 (WebInspector.VisualStyleNumberInputBox.prototype.get units):
2573 (WebInspector.VisualStyleNumberInputBox.prototype.set units):
2574 (WebInspector.VisualStyleNumberInputBox.prototype.get placeholder):
2575 (WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
2576 (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
2577 (WebInspector.VisualStyleNumberInputBox.prototype.get numberInputEditable):
2578 (WebInspector.VisualStyleNumberInputBox.prototype.updateValueFromText):
2579 (WebInspector.VisualStyleNumberInputBox.prototype.parseValue):
2580 (WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
2581 (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.shiftValue):
2582 (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
2583 (WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
2584 (WebInspector.VisualStyleNumberInputBox.prototype._keywordSelectMouseDown):
2585 (WebInspector.VisualStyleNumberInputBox.prototype._createValueOptions):
2586 (WebInspector.VisualStyleNumberInputBox.prototype._createUnitOptions):
2587 (WebInspector.VisualStyleNumberInputBox.prototype._addAdvancedUnits):
2588 (WebInspector.VisualStyleNumberInputBox.prototype._removeAdvancedUnits):
2589 (WebInspector.VisualStyleNumberInputBox.prototype._focusContentElement):
2590 (WebInspector.VisualStyleNumberInputBox.prototype._blurContentElement):
2591 (WebInspector.VisualStyleNumberInputBox.prototype._toggleTabbingOfSelectableElements):
2593 * UserInterface/Views/VisualStylePropertyEditorLink.css: Added.
2594 (.visual-style-property-editor-link):
2595 (.visual-style-property-editor-link.disabled):
2596 (.visual-style-property-editor-link.link-all):
2597 (.visual-style-property-editor-link.link-all.linked):
2598 (.visual-style-property-editor-link > .visual-style-property-editor-link-border):
2599 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right):
2600 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
2601 (.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right):
2602 (.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
2603 (.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
2604 (.visual-style-property-editor-link > .visual-style-property-editor-link-border.right):
2605 (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
2606 (.visual-style-property-editor-link:not(.link-all).linked > .visual-style-property-editor-link-border):
2607 (.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
2608 (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
2609 (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled):
2610 (.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked):
2611 (.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
2612 (.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon):
2614 * UserInterface/Views/VisualStylePropertyEditorLink.js: Added.
2615 (WebInspector.VisualStylePropertyEditorLink):
2616 (WebInspector.VisualStylePropertyEditorLink.prototype.get element):
2617 (WebInspector.VisualStylePropertyEditorLink.prototype.set disabled):
2618 (WebInspector.VisualStylePropertyEditorLink.prototype._linkedPropertyValueChanged):
2619 (WebInspector.VisualStylePropertyEditorLink.prototype._updateLinkedEditors):
2620 (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseover):
2621 (WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseout):
2622 (WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):
2624 * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Added.
2625 (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-title):
2626 (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container):
2627 (.visual-style-property-container.number-input-box.relative-number-slider.disabled > .relative-slider):
2628 (.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container.no-values.no-units):
2629 (.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider):
2631 * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Added.
2632 (WebInspector.VisualStyleRelativeNumberSlider):
2633 (WebInspector.VisualStyleRelativeNumberSlider.prototype.set scale):
2634 (WebInspector.VisualStyleRelativeNumberSlider.prototype.updateEditorValues):
2635 (WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
2636 (WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
2637 (WebInspector.VisualStyleRelativeNumberSlider.prototype._numberInputChanged):
2639 2015-08-10 Devin Rousso <drousso@apple.com>
2641 Web Inspector: Add different types of non-numerical Visual editors for CSS properties
2642 https://bugs.webkit.org/show_bug.cgi?id=147711
2644 Added editors for keyword based CSS properties for use in the Visual style
2645 details panel in the CSS sidebar. Also added images for keyword values that
2646 are simple enough to be conveyed in an image.
2648 Reviewed by Brian Burg.
2650 * UserInterface/Images/ClearBoth.svg: Added.
2651 * UserInterface/Images/ClearLeft.svg: Added.
2652 * UserInterface/Images/ClearRight.svg: Added.
2653 * UserInterface/Images/FloatLeft.svg: Added.
2654 * UserInterface/Images/FloatRight.svg: Added.
2655 * UserInterface/Images/FontStyleItalic.svg: Added.
2656 * UserInterface/Images/FontStyleNormal.svg: Added.
2657 * UserInterface/Images/FontVariantSmallCaps.svg: Added.
2658 * UserInterface/Images/TextAlignCenter.svg: Added.
2659 * UserInterface/Images/TextAlignJustify.svg: Added.
2660 * UserInterface/Images/TextAlignLeft.svg: Added.
2661 * UserInterface/Images/TextAlignRight.svg: Added.
2662 * UserInterface/Images/TextDecorationLineThrough.svg: Added.
2663 * UserInterface/Images/TextDecorationOverline.svg: Added.
2664 * UserInterface/Images/TextDecorationUnderline.svg: Added.
2665 * UserInterface/Images/TextTransformCapitalize.svg: Added.
2666 * UserInterface/Images/TextTransformLowercase.svg: Added.
2667 * UserInterface/Images/TextTransformUppercase.svg: Added.
2668 * UserInterface/Images/VisualStyleNone.svg: Added.
2669 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2670 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
2671 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
2672 Changed color swatch title.
2674 * UserInterface/Views/Slider.js:
2675 (WebInspector.Slider):
2676 (WebInspector.Slider.prototype.set value):
2677 (WebInspector.Slider.prototype.set knobX):
2678 (WebInspector.Slider.prototype.get maxX):
2679 If the given value is below 0, reset it to 0.
2680 (WebInspector.Slider.prototype._handleMousedown):
2681 (WebInspector.Slider.prototype._handleMousemove):
2682 (WebInspector.Slider.prototype.get _maxX): Deleted.
2684 * UserInterface/Views/VisualStyleColorPicker.css: Added.
2685 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container):
2686 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .visual-style-special-property-placeholder):
2687 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
2688 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:hover):
2689 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:active):
2690 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):
2691 (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
2692 (.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
2694 * UserInterface/Views/VisualStyleColorPicker.js: Added.
2695 (WebInspector.VisualStyleColorPicker):
2696 (WebInspector.VisualStyleColorPicker.prototype.get value):
2697 (WebInspector.VisualStyleColorPicker.prototype.set value):
2698 (WebInspector.VisualStyleColorPicker.prototype.get placeholder):
2699 (WebInspector.VisualStyleColorPicker.prototype.set placeholder):
2700 (WebInspector.VisualStyleColorPicker.prototype.get synthesizedValue):
2701 (WebInspector.VisualStyleColorPicker.prototype.get hasCompletions):
2702 (WebInspector.VisualStyleColorPicker.prototype.set completions):
2703 (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
2704 (WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked):
2705 (WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange):
2706 (WebInspector.VisualStyleColorPicker.prototype._completionClicked):
2707 (WebInspector.VisualStyleColorPicker.prototype._textInputKeyDown):
2708 (WebInspector.VisualStyleColorPicker.prototype._textInputKeyUp):
2709 (WebInspector.VisualStyleColorPicker.prototype._showCompletionsIfAble):
2710 (WebInspector.VisualStyleColorPicker.prototype._hideCompletions):
2711 (WebInspector.VisualStyleColorPicker.prototype._toggleTabbingOfSelectableElements):
2713 * UserInterface/Views/VisualStyleKeywordCheckbox.css: Added.
2714 (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container):
2715 (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input):
2716 (.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div):
2718 * UserInterface/Views/VisualStyleKeywordCheckbox.js: Added.
2719 (WebInspector.VisualStyleKeywordCheckbox):
2720 (WebInspector.VisualStyleKeywordCheckbox.prototype.get value):
2721 (WebInspector.VisualStyleKeywordCheckbox.prototype.set value):
2722 (WebInspector.VisualStyleKeywordCheckbox.prototype.get synthesizedValue):
2723 (WebInspector.VisualStyleKeywordCheckbox.prototype._toggleTabbingOfSelectableElements):
2725 * UserInterface/Views/VisualStyleKeywordIconList.css: Added.
2726 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container):
2727 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container):
2728 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon):
2729 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:first-child):
2730 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:last-child):
2731 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)):
2732 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
2733 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked):
2734 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled):
2735 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected) + .keyword-icon):
2736 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon > div):
2737 (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):
2739 * UserInterface/Views/VisualStyleKeywordIconList.js: Added.
2740 (WebInspector.VisualStyleKeywordIconList.dashToCapital):
2741 (WebInspector.VisualStyleKeywordIconList.createListItem):
2742 (WebInspector.VisualStyleKeywordIconList):
2743 (WebInspector.VisualStyleKeywordIconList.prototype.get value):
2744 (WebInspector.VisualStyleKeywordIconList.prototype.set value):
2745 (WebInspector.VisualStyleKeywordIconList.prototype.get synthesizedValue):
2746 (WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
2748 * UserInterface/Views/VisualStyleKeywordPicker.js: Added.
2749 (WebInspector.VisualStyleKeywordPicker):
2750 (WebInspector.VisualStyleKeywordPicker.prototype.get value):
2751 (WebInspector.VisualStyleKeywordPicker.prototype.set value):
2752 (WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
2753 (WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
2754 (WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
2755 (WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
2756 (WebInspector.VisualStyleKeywordPicker.prototype._keywordSelectMouseDown):
2757 (WebInspector.VisualStyleKeywordPicker.prototype._addValues):
2758 (WebInspector.VisualStyleKeywordPicker.prototype._addAdvancedValues):
2759 (WebInspector.VisualStyleKeywordPicker.prototype._removeAdvancedValues):
2760 (WebInspector.VisualStyleKeywordPicker.prototype._toggleTabbingOfSelectableElements):
2762 * UserInterface/Views/VisualStylePropertyNameInput.js: Added.
2763 (WebInspector.VisualStylePropertyNameInput):
2764 (WebInspector.VisualStylePropertyNameInput.prototype.get value):
2765 (WebInspector.VisualStylePropertyNameInput.prototype.set value):
2766 (WebInspector.VisualStylePropertyNameInput.prototype.get synthesizedValue):
2767 (WebInspector.VisualStylePropertyNameInput.prototype.get hasCompletions):
2768 (WebInspector.VisualStylePropertyNameInput.prototype.set completions):
2769 (WebInspector.VisualStylePropertyNameInput.prototype._completionClicked):
2770 (WebInspector.VisualStylePropertyNameInput.prototype._inputKeyDown):
2771 (WebInspector.VisualStylePropertyNameInput.prototype._inputKeyUp):
2772 (WebInspector.VisualStylePropertyNameInput.prototype._hideCompletions):
2773 (WebInspector.VisualStylePropertyNameInput.prototype._toggleTabbingOfSelectableElements):
2775 * UserInterface/Views/VisualStyleURLInput.js: Added.
2776 (WebInspector.VisualStyleURLInput):
2777 (WebInspector.VisualStyleURLInput.prototype.set get value):
2778 (WebInspector.VisualStyleURLInput.prototype.parseValue):
2780 * UserInterface/Views/VisualStyleUnitSlider.css: Added.
2781 (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider):
2782 (.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider > img):
2783 (.visual-style-property-container.unit-slider.opacity > .visual-style-property-value-container > .slider):
2785 * UserInterface/Views/VisualStyleUnitSlider.js: Added.
2786 (WebInspector.VisualStyleUnitSlider):
2787 (WebInspector.VisualStyleUnitSlider.prototype.set value):
2788 (WebInspector.VisualStyleUnitSlider.prototype.get value):
2789 (WebInspector.VisualStyleUnitSlider.prototype.get synthesizedValue):
2790 (WebInspector.VisualStyleUnitSlider.prototype.sliderValueDidChange):
2792 2015-08-10 Devin Rousso <drousso@apple.com>
2794 Web Inspector: Add VisualStyleSelectorSection
2795 https://bugs.webkit.org/show_bug.cgi?id=147572
2797 Reviewed by Brian Burg.
2799 Adds a section to the new Visual style sidebar panel that contains the list of
2800 styles for the currently selected node.
2802 * UserInterface/Models/CSSRule.js:
2803 (WebInspector.CSSRule.prototype.get mediaText):
2804 Returns a string containing the list of media queries.
2806 * UserInterface/Models/CSSStyleDeclaration.js:
2807 (WebInspector.CSSStyleDeclaration):
2808 (WebInspector.CSSStyleDeclaration.prototype.set text):
2809 (WebInspector.CSSStyleDeclaration.prototype.get modified):
2810 (WebInspector.CSSStyleDeclaration.prototype.resetText):
2811 (WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
2812 Generates a formatted string of the style text.
2814 * UserInterface/Views/CSSStyleDeclarationSection.js:
2815 (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
2816 (WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Deleted.
2818 * UserInterface/Views/VisualStyleSelectorSection.css: Added.
2819 (.details-section.visual-style-selector-section > .header):
2820 (.details-section.visual-style-selector-section:not(.collapsed) > .header):
2821 (@media (-webkit-min-device-pixel-ratio: 2)):
2822 (.details-section.visual-style-selector-section > .header > .current-selector):
2823 (.visual-style-selector-section.details-section:not(.collapsed) > .header > .current-selector):
2824 (.details-section.visual-style-selector-section > .header > .current-selector > .icon):
2825 (.details-section.visual-style-selector-section > .header > .current-selector > span):
2826 (.details-section.visual-style-selector-section > .header > .controls):
2827 (.details-section.visual-style-selector-section.collapsed > .header > .controls):
2828 (.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
2829 (.details-section.visual-style-selector-section > .content > .selectors):
2830 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list):
2831 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .visual-style-selector-item:nth-child(odd)):
2832 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
2833 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .icon):
2834 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > :matches(.disclosure-button, .icon)):
2835 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title):
2836 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(even)):
2837 (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(odd)):
2839 * UserInterface/Views/VisualStyleSelectorSection.js: Added.
2840 (WebInspector.VisualStyleSelectorSection):
2841 (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
2842 (WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
2843 (WebInspector.VisualStyleSelectorSection.prototype.update.insertAllMatchingPseudoRules):
2844 (WebInspector.VisualStyleSelectorSection.prototype.update):
2845 (WebInspector.VisualStyleSelectorSection.prototype.currentStyle):
2846 (WebInspector.VisualStyleSelectorSection.prototype._selectorChanged):
2847 (WebInspector.VisualStyleSelectorSection.prototype._styleTextReset):
2848 (WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
2849 (WebInspector.VisualStyleSelectorSection.prototype._treeElementCheckboxToggled):
2850 (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
2851 (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOut):
2853 * UserInterface/Views/VisualStyleSelectorTreeItem.css:
2854 (.item.visual-style-selector-item):
2855 (.item.visual-style-selector-item.selected):
2856 (.item.visual-style-selector-item > .disclosure-button):
2857 (.item.visual-style-selector-item > input[type="checkbox"]):
2858 (.item.visual-style-selector-item > .icon):
2859 (.item.visual-style-selector-item.modified > .icon):
2860 (.item.visual-style-selector-item.selector-invalid > .icon):
2861 (.item.visual-style-selector-item.selector-invalid > .titles > .title):
2862 (.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
2863 (.item.visual-style-selector-item > .titles):
2864 (.item.visual-style-selector-item:not(.dom-element-icon) > .titles > .title):
2865 (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
2866 (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
2867 (.item.visual-style-selector-item > .titles > .subtitle::before):
2868 (.item.visual-style-selector-item > .titles > .subtitle):
2870 * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2871 (WebInspector.VisualStyleSelectorTreeItem):
2872 (WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName):
2873 (WebInspector.VisualStyleSelectorTreeItem.prototype.get selectorText):
2874 (WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
2875 (WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
2876 (WebInspector.VisualStyleSelectorTreeItem.prototype._highlightNodesWithSelector):
2877 (WebInspector.VisualStyleSelectorTreeItem.prototype._hideDOMNodeHighlight):
2878 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
2879 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleCheckboxChanged):
2880 (WebInspector.VisualStyleSelectorTreeItem.prototype._updateCheckboxTitle):
2881 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
2882 (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleKeyDown):
2883 (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
2884 (WebInspector.VisualStyleSelectorTreeItem.prototype._styleTextModified):
2885 (WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged):
2887 2015-08-10 Joseph Pecoraro <pecoraro@apple.com>
2889 Web Inspector: TDZ in ProbeSetDataGrid construction
2890 https://bugs.webkit.org/show_bug.cgi?id=147834
2892 Reviewed by Timothy Hatcher.
2894 * UserInterface/Views/ProbeSetDataGrid.js:
2895 (WebInspector.ProbeSetDataGrid):
2896 Do not use "this" before calling super.
2898 2015-08-08 Devin Rousso <drousso@apple.com>
2900 Web Inspector: Timeline ruler handle tooltip shows wrong value when handles overlap
2901 https://bugs.webkit.org/show_bug.cgi?id=147652
2903 Reviewed by Timothy Hatcher.
2905 * UserInterface/Views/TimelineRuler.js:
2906 (WebInspector.TimelineRuler.prototype._updateSelection):
2907 Now changes the title depending on whether the selection start/end is clamped.
2909 2015-08-08 Devin Rousso <drousso@apple.com>
2911 Web Inspector: Don't show "No Filter Results" when timeline is empty
2912 https://bugs.webkit.org/show_bug.cgi?id=147662
2914 Reviewed by Timothy Hatcher.
2916 * UserInterface/Views/TimelineView.js:
2917 (WebInspector.TimelineView.prototype.reset):
2918 Now hides the empty content placeholder on timeline clear.
2920 2015-08-07 Devin Rousso <drousso@apple.com>
2922 Web Inspector: Decrease the padding of each rule in the Rules sidebar to allow more content to show
2923 https://bugs.webkit.org/show_bug.cgi?id=147360
2925 Reviewed by Timothy Hatcher.
2927 Generally tightened the padding around each section in the rules panel, as well as the
2928 content inside each section. Also moved the new rule button to be next to the filter bar.
2930 * UserInterface/Views/CSSStyleDeclarationSection.css:
2931 (.style-declaration-section):
2932 (.style-declaration-section.last-in-group):
2933 (.style-declaration-section.last-in-group + .style-declaration-section): Deleted.
2934 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2935 (.css-style-text-editor):
2936 * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
2937 (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
2938 (.sidebar > .panel.details.css-style > .content + .options-container):
2939 (.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) + .options-container):
2940 (.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
2941 (.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
2942 (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .options-container > .filter-bar):
2943 (.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar): Deleted.
2944 (.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar): Deleted.
2945 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2946 (WebInspector.CSSStyleDetailsSidebarPanel):
2947 (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
2948 (WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):
2949 * UserInterface/Views/RulesStyleDetailsPanel.css:
2950 (.sidebar > .panel.details.css-style .rules .label):
2951 * UserInterface/Views/RulesStyleDetailsPanel.js:
2952 (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2953 (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
2954 (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Deleted.
2955 (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
2956 (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Deleted.
2958 2015-08-07 Devin Rousso <drousso@apple.com>
2960 Web Inspector: Don't include zero-width space into a copied text from the console
2961 https://bugs.webkit.org/show_bug.cgi?id=147767
2963 Reviewed by Timothy Hatcher.
2965 Now removes work break characters in generated javascript text when copying
2966 to the clipboard. Also replaced var with let in the modified functions.
2968 * UserInterface/Views/ConsoleCommandView.js:
2969 (WebInspector.ConsoleCommandView.prototype.toClipboardString):
2970 (WebInspector.ConsoleCommandView):
2971 * UserInterface/Views/ConsoleMessageView.js:
2972 (WebInspector.ConsoleMessageView.prototype.toClipboardString):
2974 2015-08-07 Nikita Vasilyev <nvasilyev@apple.com>
2976 Web Inspector: Simplify OS-specific CSS class names
2977 https://bugs.webkit.org/show_bug.cgi?id=147794
2979 Replace "body:not(.el-capitan)" with ".legacy-mac".
2980 Replace "body.el-capitan" with ".latest-mac".
2982 Reviewed by Timothy Hatcher.
2984 * UserInterface/Base/Main.js:
2985 (WebInspector.contentLoaded):
2986 * UserInterface/Views/Toolbar.css:
2987 (body.legacy-mac .toolbar .dashboard-container):
2988 (body.legacy-mac .toolbar .search-bar > input[type="search"]):
2989 (body.legacy-mac .toolbar .search-bar > input[type="search"]:focus):
2990 (body.legacy-mac .toolbar .item.button:active):
2991 (body.window-inactive.legacy-mac .toolbar .dashboard-container):
2992 (body.latest-mac .toolbar .dashboard-container):
2993 (body.latest-mac .toolbar .search-bar > input[type="search"]):
2994 (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
2995 (@media (-webkit-min-device-pixel-ratio: 2)):
2996 (body.latest-mac .toolbar .item.button:active):
2997 (body.latest-mac.window-inactive .toolbar .dashboard-container):
2998 (body:not(.el-capitan) .toolbar .dashboard-container): Deleted.
2999 (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]): Deleted.
3000 (body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus): Deleted.
3001 (body:not(.el-capitan) .toolbar .item.button:active): Deleted.
3002 (body.window-inactive:not(.el-capitan) .toolbar .dashboard-container): Deleted.
3003 (body.el-capitan .toolbar .dashboard-container): Deleted.
3004 (body.el-capitan .toolbar .search-bar > input[type="search"]): Deleted.
3005 (body.el-capitan .toolbar .search-bar > input[type="search"]:focus): Deleted.
3006 (body.el-capitan .toolbar .item.button:active): Deleted.
3007 (body.el-capitan.window-inactive .toolbar .dashboard-container): Deleted.
3009 2015-08-07 Devin Rousso <drousso@apple.com>
3011 Web Inspector: Option+Up/Down arrow keys should increment/decrement numbers in HTML and SVG attributes
3012 https://bugs.webkit.org/show_bug.cgi?id=147317
3014 Reviewed by Timothy Hatcher.
3016 If the value under the cursor in an HTML element attribute is a number, pressing alt and
3017 up/down will increment/decrement the number value and apply that change to the element.
3019 * UserInterface/Views/BoxModelDetailsSectionRow.js:
3020 (WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber):
3021 (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown):
3022 * UserInterface/Views/DOMTreeElement.js:
3023 (WebInspector.DOMTreeElement.prototype._startEditingAttribute):
3024 (WebInspector.DOMTreeElement.prototype._attributeEditingCommitted):
3025 (WebInspector.DOMTreeElement.prototype._attributeNumberEditingCommitted):
3026 * UserInterface/Views/EditingSupport.js:
3027 (WebInspector.EditingConfig.prototype.setNumberCommitHandler):
3028 (WebInspector.startEditing.defaultFinishHandler):
3029 (WebInspector.startEditing.handleEditingResult):
3031 2015-08-05 Devin Rousso <drousso@apple.com>
3033 Web Inspector: Move the Metrics style sidebar panel into Computed
3034 https://bugs.webkit.org/show_bug.cgi?id=147715
3036 Reviewed by Timothy Hatcher.
3038 Deleted the Metrics sidebar panel and moved its contents into the Computed sidebar panel.
3039 In addition, not hovering over the Metrics section will display the colors of each box.
3041 * UserInterface/Main.html:
3042 * UserInterface/Views/BoxModelDetailsSectionRow.css:
3043 (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
3044 (.details-section .row.box-model .position):
3045 (.details-section .row.box-model .margin):
3046 (.details-section .row.box-model .border):
3047 (.details-section .row.box-model .padding):
3048 (.details-section .row.box-model :matches(.content span, .top, .right, .bottom, .left)):
3049 (.details-section .row.box-model :matches(.right, .left)):
3050 (.details-section .row.box-model .content): Deleted.
3051 (.details-section .row.box-model .content span): Deleted.
3052 (.details-section .row.box-model .left): Deleted.
3053 (.details-section .row.box-model .right): Deleted.
3054 (.details-section .row.box-model .top): Deleted.
3055 (.details-section .row.box-model .bottom): Deleted.
3057 * UserInterface/Views/BoxModelDetailsSectionRow.js:
3058 (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
3059 If no metric box is hovered, apply a class to the entire section.
3061 * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
3062 (WebInspector.CSSStyleDetailsSidebarPanel):
3063 Removed the usage of MetricsStyleDetailsPanel.
3065 * UserInterface/Views/ComputedStyleDetailsPanel.css:
3066 (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
3067 Give the metrics section in the Computed panel a white background.
3069 * UserInterface/Views/ComputedStyleDetailsPanel.js:
3070 (WebInspector.ComputedStyleDetailsPanel):
3071 (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
3072 Don't refresh the content unless the change is significant (without this, you cannot edit
3073 metrics values using the arrow keys).
3075 * UserInterface/Views/MetricsStyleDetailsPanel.js: Removed.
3077 2015-08-05 Devin Rousso <drousso@apple.com>
3079 Web Inspector: Bezier curve visual editor
3080 https://bugs.webkit.org/show_bug.cgi?id=134501
3082 Reviewed by Timothy Hatcher.
3084 Added a visual Cubic Bezier curve editor that is usable in both
3085 the CSS sidebar and the resources panel.
3087 * Localizations/en.lproj/localizedStrings.js:
3088 * UserInterface/Base/DOMUtilities.js:
3090 * UserInterface/Controllers/CodeMirrorBezierEditingController.js:
3091 (WebInspector.CodeMirrorBezierEditingController):
3092 (WebInspector.CodeMirrorBezierEditingController.prototype.get initialValue):
3093 (WebInspector.CodeMirrorBezierEditingController.prototype.get cssClassName):
3094 (WebInspector.CodeMirrorBezierEditingController.prototype.popoverWillPresent):
3095 (WebInspector.CodeMirrorBezierEditingController.prototype.popoverDidPresent):
3096 (WebInspector.CodeMirrorBezierEditingController.prototype._bezierEditorBezierChanged):
3097 * UserInterface/Images/CubicBezier.svg: Added.
3098 * UserInterface/Main.html:
3099 * UserInterface/Models/Geometry.js:
3100 (WebInspector.Point.prototype.distance):
3101 (WebInspector.Point):
3102 (WebInspector.CubicBezier):
3103 (WebInspector.CubicBezier.fromPoints):
3104 (WebInspector.CubicBezier.fromString):
3105 (WebInspector.CubicBezier.prototype.get inPoint):
3106 (WebInspector.CubicBezier.prototype.get outPoint):
3107 (WebInspector.CubicBezier.prototype.copy):
3108 (WebInspector.CubicBezier.prototype.toString):
3109 (WebInspector.CubicBezier.prototype.solve):
3110 (WebInspector.CubicBezier.prototype._sampleCurveX):
3111 (WebInspector.CubicBezier.prototype._sampleCurveY):
3112 (WebInspector.CubicBezier.prototype._sampleCurveDerivativeX):
3113 (WebInspector.CubicBezier.prototype._solveCurveX):
3114 * UserInterface/Models/TextMarker.js:
3115 * UserInterface/Models/UnitBezier.js: Removed.
3116 * UserInterface/Views/BezierEditor.css: Added.
3118 (.bezier-editor > .bezier-preview):
3119 (.bezier-editor > .bezier-preview > div):
3120 (.bezier-editor > .bezier-preview-timing):
3121 (.bezier-editor > .bezier-preview-timing.animate):
3122 (.bezier-editor > .bezier-container):
3123 (@keyframes bezierPreview):
3124 (.bezier-editor > .bezier-container):
3125 (.bezier-editor > .bezier-container .linear-curve):
3126 (.bezier-editor > .bezier-container .bezier-curve):
3127 (.bezier-editor > .bezier-container .control-line):
3128 (.bezier-editor > .bezier-container .control-handle):
3129 * UserInterface/Views/BezierEditor.js: Added.
3130 (WebInspector.BezierEditor.createControl):
3131 (WebInspector.BezierEditor):
3132 (WebInspector.BezierEditor.prototype.get element):
3133 (WebInspector.BezierEditor.prototype.set bezier):
3134 (WebInspector.BezierEditor.prototype.get bezier):
3135 (WebInspector.BezierEditor.prototype.handleEvent):
3136 (WebInspector.BezierEditor.prototype._handleMousedown):
3137 (WebInspector.BezierEditor.prototype._handleMousemove):
3138 (WebInspector.BezierEditor.prototype._handleMouseup):
3139 (WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
3140 (WebInspector.BezierEditor.prototype._updateValue.round):
3141 (WebInspector.BezierEditor.prototype._updateValue):
3142 (WebInspector.BezierEditor.prototype._updateBezier):
3143 (WebInspector.BezierEditor.prototype._updateControl):
3144 (WebInspector.BezierEditor.prototype._triggerPreviewAnimation):
3145 (WebInspector.BezierEditor.prototype._resetPreviewAnimation):
3146 * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
3147 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker):
3148 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
3149 (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):
3150 * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3151 (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
3152 (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
3153 (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
3154 (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
3155 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
3156 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
3157 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors.update):
3158 (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors):
3159 (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty.update):
3160 (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty):
3161 (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange.update):
3162 (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange):
3163 (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror.update):
3164 (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror):
3165 (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked):
3166 (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
3167 (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
3168 * UserInterface/Views/CodeMirrorAdditions.js:
3169 * UserInterface/Views/CodeMirrorTextMarkers.js: Added.
3170 (createCodeMirrorTextMarkers):
3171 (createCodeMirrorColorTextMarkers):
3172 (createCodeMirrorGradientTextMarkers):
3173 (createCodeMirrorCubicBezierTextMarkers):
3174 * UserInterface/Views/Popover.js:
3175 (WebInspector.Popover.prototype._animateFrame):
3176 * UserInterface/Views/SourceCodeTextEditor.js:
3177 (WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
3178 (WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
3179 * UserInterface/Views/TextEditor.js:
3180 (WebInspector.TextEditor.prototype.createColorMarkers):
3181 (WebInspector.TextEditor.prototype.createGradientMarkers):
3182 (WebInspector.TextEditor.prototype.createCubicBezierMarkers):
3183 (WebInspector.TextEditor.prototype.editingControllerForMarker):
3185 2015-08-05 Nikita Vasilyev <nvasilyev@apple.com>
3187 Web Inspector: Logging error objects should have a better UI
3188 https://bugs.webkit.org/show_bug.cgi?id=143853
3190 Previously, an error object looked like any other object, which wasn't very useful.
3191 Source links couldn't be clicked and stacktraces were unreadable.
3193 Unify console.trace, caught and uncaught exceptions. The following examples use
3194 the same StaceTraceView:
3196 - try { ({}).x.y } catch (e) { console.log(e); }
3199 Reviewed by Brian Burg.
3201 * UserInterface/Main.html:
3202 * UserInterface/Models/CallFrame.js:
3203 (WebInspector.CallFrame.fromPayload):
3204 (WebInspector.CallFrame):
3205 * UserInterface/Protocol/RemoteObject.js:
3206 (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptorsAsObject):
3207 * UserInterface/Test.html:
3208 * UserInterface/Views/CallFrameView.css:
3209 (.call-frame .separator):
3210 (.call-frame .subtitle .source-link): Deleted.
3211 (.call-frame:focus .subtitle .source-link): Deleted.
3212 (.call-frame .subtitle:empty): Deleted.
3213 (.call-frame .subtitle): Deleted.
3214 * UserInterface/Views/CallFrameView.js:
3215 (WebInspector.CallFrameView):
3216 - Start usind CallFrameView in stacktraces.
3217 - Introduce showFunctionName optional argument. In stacktraces anonymous functions
3218 are shown as "(anonymous function)" but in console message location
3219 links (the ones on the right side of a console message) we omit them.
3220 - Dash was a pseudo-element and it couldn't be copied to the clipboard.
3221 Make it an actual HTML element.
3223 * UserInterface/Views/ConsoleMessageView.css:
3224 (.console-message-location.call-frame):
3225 (.console-message-location.call-frame > .title):
3226 (.console-message-location.call-frame > .subtitle > .source-link):
3227 Since .call-frame rules are now used in stacktraces, move console message
3228 specific rules from CallFrameView.css to ConsoleMessageView.css.
3230 * UserInterface/Views/ConsoleMessageView.js:
3231 (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
3232 (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
3233 (WebInspector.ConsoleMessageView.prototype._formatParameter):
3234 (WebInspector.ConsoleMessageView.prototype._formatParameterAsError): Added.
3235 Format errors differently from other objects.
3237 * UserInterface/Views/ErrorObjectView.css: Added.
3238 (.error-object::before):
3239 (.error-object.expanded::before):
3240 (.error-object-link-container):
3241 (.error-object.expanded > .formatted-error > .error-object-link-container):
3242 (.error-object:not(.expanded) .error-object-outline):
3243 (.error-object-outline):
3244 * UserInterface/Views/ErrorObjectView.js: Added.
3245 (WebInspector.ErrorObjectView):
3246 (WebInspector.ErrorObjectView.parseStackTrace):
3247 (WebInspector.ErrorObjectView.makeSourceLinkWithPrefix):
3248 (WebInspector.ErrorObjectView.prototype.get object):
3249 (WebInspector.ErrorObjectView.prototype.get element):
3250 (WebInspector.ErrorObjectView.prototype.get treeOutline):
3251 (WebInspector.ErrorObjectView.prototype.get expanded):
3252 (WebInspector.ErrorObjectView.prototype.update):
3253 (WebInspector.ErrorObjectView.prototype.expand):
3254 (WebInspector.ErrorObjectView.prototype.collapse):
3255 (WebInspector.ErrorObjectView.prototype._handlePreviewOrTitleElementClick):
3256 (WebInspector.ErrorObjectView.prototype._buildStackTrace):
3257 ErrorObjectView is used to log caught exceptions, e.g.:
3258 try { i.dont.exist++ } catch (e) { console.log(e) }
3260 * UserInterface/Views/FormattedValue.js:
3261 (WebInspector.FormattedValue.createElementForError): Added.
3262 Create error preview.
3264 (WebInspector.FormattedValue.createElementForTypesAndValue):