Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2014-08-07  Brian J. Burg  <burg@cs.washington.edu>
2
3         Web Inspector: DebuggerManager sends spurious setBreakpointsActive commands when setting a breakpoint
4         https://bugs.webkit.org/show_bug.cgi?id=135674
5
6         Reviewed by David Kilzer.
7
8         * UserInterface/Controllers/DebuggerManager.js:
9         (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Fix a typo.
10
11 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
12
13         Web Inspector: breakpoint resolved state should not depend on all breakpoints being enabled
14         https://bugs.webkit.org/show_bug.cgi?id=135517
15
16         Reviewed by Joseph Pecoraro.
17
18         Previously, Breakpoint.resolved returned false if all breakpoints were disabled, even if
19         the breakpoint had an associated SourceCode. This was a weird hack to make it easier to
20         style breakpoint widgets. This made it hard for other code to deal with resolved
21         breakpoints that were also disabled, or SourceCodeLocations that resolve and unresolve.
22         This patch removes that consideration and fixes style update code to manually check if all
23         breakpoints are being suppressed.
24
25         The code now enforces that a Breakpoint must have a SourceCode before it can be resolved.
26         (As a performance optimization when loading the initial frame tree, we sometimes we give
27         Breakpoints a SourceCode before the debugger officially says that the breakpoint has been
28         resolved. Thus, it's possible to be unresolved with a SourceCode, but not vice-versa.)
29
30         This patch also adds a few guards where we assumed a SourceCodeLocation had a SourceCode.
31
32         * UserInterface/Controllers/DebuggerManager.js:
33         (WebInspector.DebuggerManager.prototype.set breakpointsEnabled): Remove spurious
34         ResolvedStateDidChange events.
35
36         (WebInspector.DebuggerManager.prototype.breakpointResolved): Set the breakpoint's SourceCode
37         if it has not been set already by DebuggerManager.associateBreakpointsWithSourceCode.
38
39         * UserInterface/Models/Breakpoint.js:
40         (WebInspector.Breakpoint.prototype.get resolved):
41         (WebInspector.Breakpoint.prototype.set resolved.isSpecialBreakpoint):
42         (WebInspector.Breakpoint.prototype.set resolved): Add an assertion.
43         * UserInterface/Models/SourceCodeLocation.js: Add guards for !SourceCode.
44         (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
45         * UserInterface/Views/BreakpointTreeElement.js: Account for DebuggerManager.breakpointsEnabled.
46         (WebInspector.BreakpointTreeElement):
47         (WebInspector.BreakpointTreeElement.prototype._updateStatus):
48         * UserInterface/Views/ProbeSetDetailsSection.js:
49         (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Loosen the assertion.
50         * UserInterface/Views/SourceCodeTextEditor.js: Account for DebuggerManager.breakpointsEnabled.
51         (WebInspector.SourceCodeTextEditor):
52         (WebInspector.SourceCodeTextEditor.prototype.close):
53         (WebInspector.SourceCodeTextEditor.prototype._breakpointStatusDidChange):
54         (WebInspector.SourceCodeTextEditor.prototype._breakpointsEnabledDidChange):
55         (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus):
56         * UserInterface/Views/TextEditor.js: Account for DebuggerManager.breakpointsEnabled.
57
58 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
59
60         Web Inspector: ReplayManager should unpause and suppress breakpoints before capturing/replaying
61         https://bugs.webkit.org/show_bug.cgi?id=135608
62
63         Reviewed by Timothy Hatcher.
64
65         It is jarring when the debugger pauses during capturing or replaying. For now, we should suppress
66         all breakpoints during capturing or replaying, and restore breakpoint enabled state when
67         capturing finishes, when replaying finishes, or during temporary replay pauses.
68
69         In the future, the debugger will be selectively enabled during playback to seek to specific
70         breakpoint hits. This is tracked in https://bugs.webkit.org/show_bug.cgi?id=135663.
71
72         * UserInterface/Controllers/ReplayManager.js:
73         (WebInspector.ReplayManager.prototype.startCapturing.result):
74         (WebInspector.ReplayManager.prototype.replayToPosition.result):
75         (WebInspector.ReplayManager.prototype.replayToCompletion.result):
76         (WebInspector.ReplayManager.prototype.captureStopped):
77         (WebInspector.ReplayManager.prototype.playbackPaused):
78         (WebInspector.ReplayManager.prototype.playbackFinished):
79         (WebInspector.ReplayManager.prototype._changeSegmentState):
80         (WebInspector.ReplayManager.prototype._suppressBreakpointsAndResumeIfNeeded):
81
82 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
83
84         [Win] Build fix.
85
86         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: DebugSuffix target was missing
87         proper path settings for final output.
88
89 2014-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
90
91         Implement parsing for CSS scroll snap points
92         https://bugs.webkit.org/show_bug.cgi?id=134301
93
94         Reviewed by Dean Jackson.
95
96         * UserInterface/Models/CSSKeywordCompletions.js: Added snap point property keywords, such as mandatory, proximity, elements, and repeat.
97
98 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
99
100         REGRESSION(r172094): tests fail because Inspector test harness does not include UIString
101         https://bugs.webkit.org/show_bug.cgi?id=135658
102
103         Reviewed by Joseph Pecoraro.
104
105         * UserInterface/Base/Test.js:
106         (WebInspector.contentLoaded): Fix brace placement.
107         (WebInspector.UIString): Added. This is the identity function during testing.
108
109 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
110
111         Web Inspector: convert ReplayManager to a promise-based API
112         https://bugs.webkit.org/show_bug.cgi?id=135249
113
114         Reviewed by Timothy Hatcher.
115
116         Convert replay commands to an asynchronous, promise-based API. This addresses
117         two problems with a synchronous replay API: clients can only use the synchronous
118         API if session and segment state are exactly correct, and trying to change state
119         to match this requirement requires chaining multiple commands and events.
120
121         The asynchronous API allows clients to issue replay commands with impunity,
122         as long as they can be unambiguously handled. For example, issuing
123         pausePlayback() while capturing is not allowed, but issuing startCapturing()
124         while replaying is allowed. The API also hides implementation details that
125         are not important, such as steps to unpause or temporarily disable the debugger.
126
127         This patch also cleans up uses of promises, such as adding error re-throwing.
128         It adds return type annotations to public ReplayManager asynchronous methods.
129
130         * UserInterface/Controllers/ReplayManager.js:
131         (WebInspector.ReplayManager.catch):
132         (WebInspector.ReplayManager):
133         (WebInspector.ReplayManager.prototype.createSession):
134         (WebInspector.ReplayManager.prototype.switchSession):
135         (WebInspector.ReplayManager.prototype.startCapturing):
136         (WebInspector.ReplayManager.prototype.stopCapturing):
137         (WebInspector.ReplayManager.prototype.replayToPosition):
138         (WebInspector.ReplayManager.prototype.replayToCompletion):
139         (WebInspector.ReplayManager.prototype.sessionCreated.catch): re-throw.
140         (WebInspector.ReplayManager.prototype.segmentCompleted.catch): re-throw.
141         (WebInspector.ReplayManager.prototype.segmentCompleted.catch): re-throw.
142         (WebInspector.ReplayManager.prototype.segmentUnloaded.catch): re-throw.
143         (WebInspector.ReplayManager.prototype.sessionCreated.catech): re-throw.
144
145 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
146
147         Web Inspector: protocol command invocations should return a promise if no callback is supplied
148         https://bugs.webkit.org/show_bug.cgi?id=130702
149
150         Reviewed by Timothy Hatcher.
151
152         This allows the trailing Agent.command.promise(args) to be dropped in favor of just
153         Agent.command(args). It should make it a bit easier to convert code to use promises.
154
155         Test: LayoutTests/inspector/protocol-promise-result.html
156
157         * UserInterface/Controllers/ReplayManager.js: Drop use of .promise().
158         * UserInterface/Controllers/TimelineManager.js: Drop use of .promise().
159         (WebInspector.TimelineManager.prototype.startCapturing):
160         * UserInterface/Protocol/InspectorBackend.js:
161         (.callable): Redirect to the promise entry point if the last argument isn't a function.
162         (InspectorBackend.Command.create):
163
164 2014-08-05  James Craig  <jcraig@apple.com>
165
166         Web Inspector: AXI: Add label string once AccessibilityObject::computedLabel() is available
167         https://bugs.webkit.org/show_bug.cgi?id=129940
168
169         Reviewed by Chris Fleizach.
170
171         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI update for label field in Node Inspector.
172         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
173
174 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
175
176         Web Inspector: support storing multiple timeline recordings in the manager
177         https://bugs.webkit.org/show_bug.cgi?id=132875
178
179         Reviewed by Timothy Hatcher.
180
181         This patch adds support for capturing multiple timeline recordings and switching
182         between them in the user interface using hierarchical path components.
183
184         * Localizations/en.lproj/localizedStrings.js:
185         * UserInterface/Base/Main.js:
186         (WebInspector.contentLoaded): Remove hard-coded priming of the timeline sidebar panel.
187         Instead, load the first recording in the timeline manager after the initial load.
188
189         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Don't suppress
190         onselect events when selecting the tree element for a newly shown content view. This
191         allows the sidebar to sync the current content view and timeline tree element selection
192         with what is displayed in the content browser.
193
194         * UserInterface/Controllers/TimelineManager.js: Add two new events, RecordingCreated and
195         RecordingLoaded. A recording is considered active when any new records recieved will be
196         appended to that recording. The user interface is not necessarily viewing the active
197         recording.
198
199         (WebInspector.TimelineManager.delayedWork):
200         (WebInspector.TimelineManager): Keep a list of recordings, and load the first recording
201         asynchronously so that everyone can add an event listener for it.
202
203         (WebInspector.TimelineManager.prototype.get activeRecording):
204         (WebInspector.TimelineManager.prototype.get recordings):
205         (WebInspector.TimelineManager.prototype.startCapturing):
206         (WebInspector.TimelineManager.prototype.stopCapturing): Use promises to make the iOS 7
207         fallback path better match the async semantics of the non-fallback path.
208
209         (WebInspector.TimelineManager.prototype.unloadRecording):
210         (WebInspector.TimelineManager.prototype._loadNewRecording): Stop capturing and unload
211         any existing recording before creating and loading a new recording.
212
213         (WebInspector.TimelineManager.prototype._startAutoCapturing): Create a new recording
214         rather than resetting the current recording.
215
216         * UserInterface/Models/NetworkTimeline.js:
217         (WebInspector.NetworkTimeline):
218         * UserInterface/Models/Timeline.js:
219         (WebInspector.Timeline):
220         (WebInspector.Timeline.prototype.get type): Each timeline stores its TimelineRecord.Type
221         so that other code can create type-specific views using the Timeline as a representedObject.
222
223         * UserInterface/Models/TimelineRecording.js: For each recording, add new state for a unique identifier,
224         display string, and an isWritable flag. Once a recording is unloaded, it becomes read-only.
225         (WebInspector.TimelineRecording.prototype.get displayName):
226         (WebInspector.TimelineRecording.prototype.get identifier):
227         (WebInspector.TimelineRecording.prototype.isWritable):
228         (WebInspector.TimelineRecording.prototype.unloaded):
229         (WebInspector.TimelineRecording.prototype.reset): A recording can only be reset if it is writable.
230
231         * UserInterface/Protocol/InspectorFrontendAPI.js:
232         (InspectorFrontendAPI.setTimelineProfilingEnabled): Don't make redundant start/stop capturing calls.
233
234         * UserInterface/Views/LayoutTimelineOverviewGraph.js: Use a timeline as the representedObject for all
235         timeline-specific graphs and views. Otherwise, use the recording.
236         (WebInspector.LayoutTimelineOverviewGraph):
237         * UserInterface/Views/LayoutTimelineView.js:
238         (WebInspector.LayoutTimelineView):
239         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
240         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
241         (WebInspector.NetworkTimelineOverviewGraph):
242         * UserInterface/Views/NetworkTimelineView.js:
243         (WebInspector.NetworkTimelineView):
244         * UserInterface/Views/OverviewTimelineView.js:
245         (WebInspector.OverviewTimelineView.prototype._networkTimelineRecordAdded):
246         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
247         (WebInspector.ScriptTimelineOverviewGraph):
248         * UserInterface/Views/ScriptTimelineView.js:
249         (WebInspector.ScriptTimelineView):
250         (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
251
252         * UserInterface/Views/TimelineContentView.js: Iterate over timeline objects when setting up maps. Use timelines
253         as keys rather than their type identifiers.
254         (WebInspector.TimelineContentView.prototype.showTimelineViewForTimeline): Renamed from showTimelineView. This
255         function takes a Timeline instance rather than an identifier, since the conten view is specific to one recording.
256         (WebInspector.TimelineContentView.prototype.get selectionPathComponents): Match types against the currently
257         visible timeline's representedObject.
258         (WebInspector.TimelineContentView.prototype.get currentTimelineView): Used by the sidebar panel to sync timeline
259         tree element selections to TimelineView shown by the TimelineContentView.
260         (WebInspector.TimelineContentView.prototype.shown): Sync enablement of the "Clear Timelines" button to recording
261         read-only state.
262
263         (WebInspector.TimelineContentView.prototype.saveToCookie):
264         (WebInspector.TimelineContentView.prototype.restoreFromCookie): Added. Only handle saving/restoring the subview.
265
266         (WebInspector.TimelineContentView.prototype._pathComponentSelected):
267         (WebInspector.TimelineContentView.prototype._showTimelineView): Relax the early return so that timeline views
268         and content tree outlines are reattached when re-navigating to the same timeline view via back-forward entries.
269         (WebInspector.TimelineContentView.prototype.showTimelineView): Deleted.
270
271         * UserInterface/Views/TimelineOverviewGraph.js:
272         (WebInspector.TimelineOverviewGraph):
273
274         * UserInterface/Views/TimelineSidebarPanel.js:
275         (WebInspector.TimelineSidebarPanel): Keep a tree outline and tree element map for storing available recordings.
276         (WebInspector.TimelineSidebarPanel.createTimelineTreeElement):
277         (WebInspector.TimelineSidebarPanel.prototype.shown): Added.
278         (WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView): Add a guard.
279         (WebInspector.TimelineSidebarPanel.prototype.get hasSelectedElement): Added. Selected recording tree elements
280         should be considered when deciding whether a represented object has been selected in the sidebar panel.
281
282         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
283         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
284         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
285         (WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
286         (WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForType): Renamed to explicit take a type identifier.
287         Delegate the actual showing of the timeline view to the onselect handler for the timelines tree outline.
288
289         (WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
290         (WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie): Fix a typo.
291         (WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie): Fix a typo.
292         (WebInspector.TimelineSidebarPanel.prototype._recordingsTreeElementSelected): Sync the currently displayed
293         recording object and content view, and sync the selected tree element to the displayed timeline subview.
294
295         (WebInspector.TimelineSidebarPanel.prototype._timelinesTreeElementSelected): If this is a user action, show the timeline.
296         (WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange): Use classList.toggle().
297         (WebInspector.TimelineSidebarPanel.prototype._recordingCreated): Dynamically add new recordings to the interface.
298         (WebInspector.TimelineSidebarPanel.prototype._recordingLoaded): Automatically show recordings when they are loaded.
299         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): Shift+click will force-create a new recording.
300         (WebInspector.TimelineSidebarPanel.prototype.initialize): Deleted.
301         * UserInterface/Views/TimelineView.js:
302         (WebInspector.TimelineView):
303         (WebInspector.TimelineView.prototype.get representedObject):
304
305 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
306
307         Web Inspector: ReplayManager shouldn't assume replay status when the inspector is opened
308         https://bugs.webkit.org/show_bug.cgi?id=135212
309
310         Reviewed by Timothy Hatcher.
311
312         The inspector could be closed and reopened at any point during capturing or replaying.
313         ReplayManager should query the current state on initialization rather than assuming
314         that the replay controller is still in its initial state.
315
316         ReplayManager's initialization code requires querying the backend for the current replay
317         state. This could race with replay protocol events that mutate the manager's state before
318         it is fully initialized, leading to undefined behavior.
319
320         To mitigate this, all protocol event handlers (called by ReplayObserver) are wrapped
321         with a guard that enqueues the callback if initialization is not yet complete. This
322         queue is implemented via multiple then-chaining of a shared 'initialization' promise
323         which resolves when initialization completes.
324
325         * UserInterface/Controllers/ReplayManager.js:
326         (WebInspector.ReplayManager.then):
327         (WebInspector.ReplayManager.catch):
328         (WebInspector.ReplayManager): Rewrite the initialization code to first query the replay
329         state, set the initialization flag to true, and then request and update session records.
330         The sessions must be loaded after querying initial state because ReplayManager.sessionCreated
331         requires replay state to be initialized.
332
333         (WebInspector.ReplayManager.prototype.get sessionState):
334         (WebInspector.ReplayManager.prototype.get segmentState):
335         (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
336         (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
337         (WebInspector.ReplayManager.prototype.get playbackSpeed):
338         (WebInspector.ReplayManager.prototype.set playbackSpeed):
339         (WebInspector.ReplayManager.prototype.get currentPosition): Add assertions to catch uses of
340         manager state before the manager is fully initialized.
341
342         (WebInspector.ReplayManager.prototype.waitUntilInitialized): Added. It returns a shared promise
343         that is fulfilled when initialization is complete.
344
345         (WebInspector.ReplayManager.prototype.captureStarted):
346         (WebInspector.ReplayManager.prototype.captureStopped):
347         (WebInspector.ReplayManager.prototype.playbackStarted):
348         (WebInspector.ReplayManager.prototype.playbackHitPosition):
349         (WebInspector.ReplayManager.prototype.playbackPaused):
350         (WebInspector.ReplayManager.prototype.playbackFinished):
351         (WebInspector.ReplayManager.prototype.sessionModified):
352         (WebInspector.ReplayManager.prototype.sessionLoaded):
353         (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
354         (WebInspector.ReplayManager.prototype.segmentCompleted):
355         (WebInspector.ReplayManager.prototype.segmentRemoved.then):
356         (WebInspector.ReplayManager.prototype.segmentRemoved):
357         (WebInspector.ReplayManager.prototype.segmentLoaded): Add initialization guards.
358
359 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
360
361         Web Replay: rename protocol methods for getting replay session/segment data
362         https://bugs.webkit.org/show_bug.cgi?id=135618
363
364         Reviewed by Timothy Hatcher.
365
366         * UserInterface/Controllers/ReplayManager.js:
367         (WebInspector.ReplayManager.prototype.getSession.get var):
368         (WebInspector.ReplayManager.prototype.getSegment.get var):
369         * UserInterface/Models/ReplaySession.js:
370         (WebInspector.ReplaySession.prototype.segmentsChanged):
371
372 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
373
374         Web Inspector: cannot navigate between multiple applicable dashboards
375         https://bugs.webkit.org/show_bug.cgi?id=135130
376
377         Reviewed by Timothy Hatcher.
378
379         Add navigation arrows between dashboards when multiple dashboards are applicable.
380         For example, the user should be able to go back to the default dashboard while paused
381         at a breakpoint. Dashboards form a stack based on when they are first introduced.
382
383         * UserInterface/Views/DashboardContainerView.css:
384         (.toolbar .dashboard): Increase padding-right a bit to make room for arrows.
385         (.toolbar .dashboard:not(.visible)): Fix a bug where higher dashboards in the dashboard stack
386         can shine through when animating between two lower dashboards that have transparent background.
387         This ensures that at most two dashboards (namely, the ones being animated) are displayed.
388
389         (.dashboard-container .advance-arrow): Main style class for navigation arrows.
390         (.dashboard-container .advance-arrow:hover):
391         (.dashboard-container .advance-arrow:active):
392         (.dashboard-container .advance-arrow.inactive):
393         (.toolbar.label-only .dashboard-container .advance-arrow): Make arrows slightly smaller when
394         the dashboards get shorter.
395
396         (.dashboard-container .advance-arrow.advance-forward):
397         (.dashboard-container .advance-arrow.advance-backward):
398         * UserInterface/Views/DashboardContainerView.js:
399         (WebInspector.DashboardContainerView): Arrow styles are updated when a dashboard is shown,
400         hidden, or closed. When moving away, we dismiss (i.e., set zero opacity) arrows at animation
401         start. When the animation finishes, redisplay arrows that are applicable for the new dashboard.
402
403         (WebInspector.DashboardContainerView.prototype._advanceForwardArrowClicked):
404         (WebInspector.DashboardContainerView.prototype._advanceBackwardArrowClicked):
405         (WebInspector.DashboardContainerView.prototype._dismissAdvanceArrows):
406         (WebInspector.DashboardContainerView.prototype._updateAdvanceArrowVisibility):
407         (WebInspector.DashboardContainerView.prototype._showDashboardAtIndex): There was a bug here
408         where it would unconditionally use the same animation direction when showing a dashboard, but
409         it was hard to spot without arrows that must correlate with the animation direction.
410
411         (WebInspector.DashboardContainerView.prototype.animationEnded):
412         (WebInspector.DashboardContainerView.prototype._showDashboardView):
413         (WebInspector.DashboardContainerView.prototype._hideDashboardView):
414         (WebInspector.DashboardContainerView.prototype._closeDashboardView):
415
416 2014-08-05  Saam Barati  <sbarati@apple.com>
417
418         Web Inspector: shown() called on a content view when stepping over an instruction in the debugger
419         https://bugs.webkit.org/show_bug.cgi?id=135311
420
421         Reviewed by Timothy Hatcher.
422
423         ContentViewContainer should not repeatedly call ContentView.prototype.shown 
424         on ContentViews that are already visible. ContentViewContainer now passes
425         a flag to BackForwardEntry.prototype.prepareToShow indicating whether it should
426         call the shown function on the ContentView it is about to display.
427         ContentViewContainer.prototype.showBackForwardEntryForIndex passes in this
428         flag based on its ContentView being visible.
429
430         * UserInterface/Models/BackForwardEntry.js:
431         (WebInspector.BackForwardEntry.prototype.prepareToShow):
432         * UserInterface/Views/ContentViewContainer.js:
433         (WebInspector.ContentViewContainer.prototype.showBackForwardEntryForIndex):
434         (WebInspector.ContentViewContainer.prototype.replaceContentView):
435         (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype):
436         (WebInspector.ContentViewContainer.prototype.shown):
437         (WebInspector.ContentViewContainer.prototype._showEntry):
438
439 2014-08-01  Jonathan Wells  <jonowells@apple.com>
440
441         Web Inspector: Timeline header height doesn't match style updates.
442         https://bugs.webkit.org/show_bug.cgi?id=135516
443
444         Reviewed by Timothy Hatcher.
445
446         Update the timeline header height to match the updates
447         to the navigation bars in other panels made in
448         https://bugs.webkit.org/show_bug.cgi?id=135445. Also
449         update the shadows on some of the search bars.
450
451         * UserInterface/Views/FilterBar.css:
452         (.filter-bar > input[type="search"]):
453         (body.mac-platform.legacy .filter-bar > input[type="search"]):
454         * UserInterface/Views/FindBanner.css:
455         (.find-banner > input[type="search"]):
456         (body.mac-platform.legacy .find-banner > input[type="search"]):
457         * UserInterface/Views/LogContentView.css:
458         (.search-bar.log-search-bar > input[type="search"]):
459         (body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]):
460         Remove inset shadows on search bars.
461
462         * UserInterface/Views/TimelineSidebarPanel.css:
463         (.sidebar > .panel.navigation.timeline > .status-bar):
464         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar):
465         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
466         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph):
467         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
468         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status):
469         (.sidebar > .panel.navigation.timeline > .title-bar.timelines):
470         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines):
471         (.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
472         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
473         (.sidebar > .panel.navigation.timeline > .timelines-content):
474         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content):
475         (.sidebar > .panel.navigation.timeline > .empty-content-placeholder):
476         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder):
477         Update the height of the timeline status bar.
478
479 2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
480
481         Web Inspector: "Stop Recording" button feels unresponsive, recording takes a long time to stop
482         https://bugs.webkit.org/show_bug.cgi?id=135490
483
484         Reviewed by Timothy Hatcher.
485
486         * UserInterface/Controllers/TimelineManager.js:
487         (WebInspector.TimelineManager.prototype.stopCapturing):
488         Immediately stop the recording without waiting for an event from the backend.
489         This makes the Web Inspector UI feel responsive to the user stopping the recording.
490         This also matches behavior before r171195.
491
492 2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
493
494         Web Inspector: Timeline recording is not working inspecting iOS 7 and earlier
495         https://bugs.webkit.org/show_bug.cgi?id=135466
496
497         Reviewed by Timothy Hatcher.
498
499         Start / stop capturing for older backends that won't emit start / stop events.
500
501         * UserInterface/Protocol/InspectorBackend.js:
502         (InspectorBackend.Agent.prototype.hasEvent):
503         Provide a way to check if an event is supported.
504
505         * UserInterface/Controllers/TimelineManager.js:
506         (WebInspector.TimelineManager.prototype.startCapturing):
507         (WebInspector.TimelineManager.prototype.stopCapturing):
508         Fallback to starting and stopping capturing manually if the backend
509         does not provide the events.
510
511 2014-07-31  Jonathan Wells  <jonowells@apple.com>
512
513         Web Inspector: Sync button look and feel with Xcode updates.
514         https://bugs.webkit.org/show_bug.cgi?id=135445
515
516         Reviewed by Timothy Hatcher.
517
518         Update styles to match recent changes to Xcode text-only
519         buttons, the navigation bar, and search fields. Include
520         older style rules for older Mac platforms.
521
522         * UserInterface/Views/ButtonNavigationItem.css:
523         (.navigation-bar .item.button.text-only):
524         (body.mac-platform.legacy .navigation-bar .item.button.text-only):
525         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
526         (.sidebar > .panel.details.css-style > .navigation-bar):
527         (.sidebar > .panel.details.css-style > .content):
528         (body.mac-platform.legacy .sidebar > .panel.details.css-style > .content):
529         * UserInterface/Views/DebuggerSidebarPanel.css:
530         (.sidebar > .panel.navigation.debugger > .content):
531         (body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content):
532         * UserInterface/Views/DividerNavigationItem.css:
533         (.navigation-bar .item.divider):
534         (body.mac-platform.legacy .navigation-bar .item.divider):
535         * UserInterface/Views/FilterBar.css:
536         (.filter-bar):
537         (body.mac-platform.legacy .filter-bar):
538         (.filter-bar > input[type="search"]):
539         (body.mac-platform.legacy .filter-bar > input[type="search"]):
540         * UserInterface/Views/LogContentView.css:
541         (.search-bar.log-search-bar > input[type="search"]):
542         (@media reader):
543         (.log-search-bar > input): Deleted.
544         * UserInterface/Views/Main.css:
545         (#split-content-browser > .navigation-bar):
546         (body.mac-platform.legacy #split-content-browser > .navigation-bar):
547         * UserInterface/Views/NavigationBar.css:
548         (.navigation-bar):
549         (body.mac-platform.legacy .navigation-bar):
550         (.navigation-bar .item):
551         (body.mac-platform.legacy .navigation-bar .item):
552         * UserInterface/Views/NavigationSidebarPanel.css:
553         (.sidebar > .panel.navigation > .content):
554         (body.mac-platform.legacy .sidebar > .panel.navigation > .content):
555         * UserInterface/Views/QuickConsole.css:
556         (.quick-console):
557         (body.mac-platform.legacy .quick-console):
558         * UserInterface/Views/RadioButtonNavigationItem.css:
559         (.navigation-bar .item.radio.button.text-only:hover):
560         (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover):
561         (.navigation-bar .item.radio.button.text-only.selected):
562         (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
563         (.navigation-bar .item.radio.button.text-only:active):
564         (.navigation-bar .item.radio.button.text-only.selected:active):
565         (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active):
566         * UserInterface/Views/ResourceSidebarPanel.css:
567         (.sidebar > .panel.navigation.resource > .empty-content-placeholder):
568         (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder):
569         (.sidebar > .panel.navigation.resource > .search-bar):
570         (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar):
571         (.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
572         (body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
573         * UserInterface/Views/ScopeBar.css:
574         (.scope-bar > li):
575         (body.mac-platform.legacy .scope-bar > li):
576         (.scope-bar > li:hover):
577         (body.mac-platform.legacy .scope-bar > li:hover):
578         (.scope-bar > li.selected):
579         (.scope-bar > li:active):
580         (body.mac-platform.legacy .scope-bar > li:active):
581         (.scope-bar > li.selected:active):
582         (body.mac-platform.legacy .scope-bar > li.selected:active):
583         * UserInterface/Views/SearchBar.css:
584         (.search-bar > input[type="search"]):
585         (body.mac-platform.legacy .search-bar > input[type="search"]):
586         Update styles and apply older styles to legacy Mac platforms.
587
588 2014-07-31  Brian J. Burg  <burg@cs.washington.edu>
589
590         Web Inspector: MessageDispatcher should not synchronously dispatch all backend messages
591         https://bugs.webkit.org/show_bug.cgi?id=135427
592
593         Reviewed by Timothy Hatcher.
594
595         The frontend dispatches all queued messages from the backend synchronously, even if there are
596         hundreds of messages, or even if some of the messages take a long time (>10ms) to process.
597
598         This patch adds a time limit to the frontend's message dispatcher. If the time limit is exceeded
599         when processing the message queue, unhandled messages remain in the queue and the dispatcher goes
600         to sleep until the next run loop (obtained by a new setTimeout).
601
602         This has the effect of removing stutters when the message queue has hundreds of small messages.
603         The outliers are still the same since some single messages can take over 200ms to be handled.
604
605         This patch also improves performance logging in InspectorBackend so that it is easier to see
606         message handling times and their distribution among run loop turns.
607
608         * UserInterface/Protocol/InspectorBackend.js:
609         (InspectorBackendClass): Add a new diagnostic flag that warns about slow message handling.
610         (InspectorBackendClass.prototype._dispatchCallback.get if): Improve logging.
611         (InspectorBackendClass.prototype._dispatchCallback): Improve logging.
612         (InspectorBackendClass.prototype._dispatchEvent): Improve logging.
613         * UserInterface/Protocol/MessageDispatcher.js:
614         (WebInspector.dispatchNextQueuedMessageFromBackend): Keep track of a time limit for message
615         dispatching, and set a new timeout if we exceed the time limit.
616
617 2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
618
619         Web Inspector: Right edge of Timeline Record button does not work
620         https://bugs.webkit.org/show_bug.cgi?id=135444
621
622         Reviewed by Timothy Hatcher.
623
624         When hovering the record button we would show the status text, however
625         because the left edge of the status text box would overlap the right
626         edge of the record button causing completely unexpected behavior.
627
628         Position the status text correctly so that it never overlaps the record
629         button. 5px to match the left margin of the record button, and another
630         2px for some padding between the button and text.
631
632         * UserInterface/Views/TimelineSidebarPanel.css:
633         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
634
635 2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
636
637         Web Inspector: console.profile missing profile information
638         https://bugs.webkit.org/show_bug.cgi?id=135432
639
640         Reviewed by Timothy Hatcher.
641
642         * UserInterface/Models/ScriptTimelineRecord.js:
643         Delete the payload information as soon as it has been processed.
644         It is no longer needed anymore and can be garbage collected.
645
646 2014-07-30  Brian J. Burg  <burg@cs.washington.edu>
647
648         Web Inspector: ProbeSetDetailsSection should not create live location links for unresolved breakpoints
649         https://bugs.webkit.org/show_bug.cgi?id=135367
650
651         Reviewed by Timothy Hatcher.
652
653         Regenerate the source code link whenever the breakpoint resolved status changes. If it is
654         resolved, then we can create a live location link that respects source maps.
655
656         * UserInterface/Views/ProbeSetDetailsSection.js:
657         (WebInspector.ProbeSetDetailsSection):
658         (WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Added.
659         (WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink): Deleted.
660
661 2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
662
663         Web Inspector: 80% of time during recording is spent creating source code locations for profile nodes
664         https://bugs.webkit.org/show_bug.cgi?id=135399
665
666         Reviewed by Timothy Hatcher.
667
668         Profiling the inspector while recording a timeline, a significant amount of
669         time was spent creating SourceCodeLocation objects for profiling information
670         and call frames. A lot of this data was eagerly being processed, even though
671         it would not immediately be presentable to the user.
672
673         This makes two significant changes. We create a LazySourceCodeLocation class
674         which does as little as possible until display information is requested. We
675         also lazily convert the profiler payload data to a Profile object, so the
676         processing is only done if you drill into the Script specific timeline.
677
678         This results in a significant performance improvement in the overview view.
679
680         * UserInterface/Controllers/TimelineManager.js:
681         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
682         (WebInspector.TimelineManager.prototype.eventRecorded):
683         (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame):
684         (WebInspector.TimelineManager.prototype._callFramesFromPayload):
685         (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload): Deleted.
686         (WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload): Deleted.
687         (WebInspector.TimelineManager.prototype._profileFromPayload): Deleted.
688         Do not eagerly process profile payloads. Instead pass the payload to ScriptTimelineRecords.
689         Likewise create callframes with lazy source code locations to do the minimum amount of work.
690
691         * UserInterface/Models/ScriptTimelineRecord.js:
692         (WebInspector.ScriptTimelineRecord):
693         (WebInspector.ScriptTimelineRecord.prototype.get profile):
694         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
695         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
696         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
697         Only when the profile is asked do we process the profiler payload information.
698         This defer the processing until at least the user drills into the Script timeline.
699
700         * UserInterface/Main.html:
701         Add the new class and ensure SourceCodeLocation is available beforehand.
702
703         * UserInterface/Models/LazySourceCodeLocation.js: Added.
704         (WebInspector.LazySourceCodeLocation):
705         (WebInspector.LazySourceCodeLocation.prototype.isEqual):
706         (WebInspector.LazySourceCodeLocation.prototype.get sourceCode):
707         (WebInspector.LazySourceCodeLocation.prototype.set sourceCode):
708         (WebInspector.LazySourceCodeLocation.prototype.get formattedLineNumber):
709         (WebInspector.LazySourceCodeLocation.prototype.get formattedColumnNumber):
710         (WebInspector.LazySourceCodeLocation.prototype.formattedPosition):
711         (WebInspector.LazySourceCodeLocation.prototype.hasFormattedLocation):
712         (WebInspector.LazySourceCodeLocation.prototype.hasDifferentDisplayLocation):
713         (WebInspector.LazySourceCodeLocation.prototype.resolveMappedLocation):
714         (WebInspector.LazySourceCodeLocation.prototype._lazyInitialization):
715         Only when display information is requested will we perform extra processing.
716         For basic information we do not need to check for formatted (pretty-printed) info.
717
718         * UserInterface/Models/SourceCode.js:
719         (WebInspector.SourceCode.prototype.createLazySourceCodeLocation):
720         Provide an explict create function for lazy source codes.
721
722         * UserInterface/Models/SourceCodeLocation.js:
723         (WebInspector.SourceCodeLocation.prototype.set sourceCode):
724         (WebInspector.SourceCodeLocation.prototype.get displaySourceCode):
725         (WebInspector.SourceCodeLocation.prototype.get displayLineNumber):
726         (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber):
727         (WebInspector.SourceCodeLocation.prototype.hasMappedLocation):
728         (WebInspector.SourceCodeLocation.prototype.setSourceCode):
729         (WebInspector.SourceCodeLocation.prototype.resolveMappedLocation):
730         (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded):
731         (WebInspector.SourceCodeLocation.prototype._resolveMappedLocation): Deleted.
732         Include two protected functions which LazySourceCodeLocation overrides.
733
734 2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
735
736         Web Inspector: Only compute full ProfileNode times if needed - Legacy Profiler
737         https://bugs.webkit.org/show_bug.cgi?id=135406
738
739         Reviewed by Timothy Hatcher.
740
741         Full ProfileNode times are only used by the Legacy Profiler. The new profile
742         information in the Scripts Timelines currently never uses the pass. We should
743         avoid calculating it if we never use it.
744
745         * UserInterface/Models/ProfileNode.js:
746         (WebInspector.ProfileNode.prototype.get startTime):
747         (WebInspector.ProfileNode.prototype.get endTime):
748         (WebInspector.ProfileNode.prototype.get selfTime):
749         (WebInspector.ProfileNode.prototype.get totalTime):
750         (WebInspector.ProfileNode.prototype.establishRelationships):
751         (WebInspector.ProfileNode.prototype._computeTotalTimes):
752
753 2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
754
755         Web Inspector: Reduce forced layouts in TimelineOverview
756         https://bugs.webkit.org/show_bug.cgi?id=135405
757
758         Reviewed by Timothy Hatcher.
759
760         Remove another forced layout. The scroll container won't
761         change size unless the ContentView itself resized. Make the
762         distinction between a layout update due to a resize and
763         normal events (scale changes, etc) and only calculate
764         element sizes then.
765
766         * UserInterface/Views/TimelineContentView.js:
767         (WebInspector.TimelineContentView.prototype.updateLayout):
768         * UserInterface/Views/TimelineOverview.js:
769         (WebInspector.TimelineOverview):
770         (WebInspector.TimelineOverview.prototype.get visibleDuration):
771         (WebInspector.TimelineOverview.prototype.updateLayoutForResize):
772
773 2014-07-29  Brian J. Burg  <burg@cs.washington.edu>
774
775         Web Inspector: breakpoints are always speculatively resolved when restored from local storage
776         https://bugs.webkit.org/show_bug.cgi?id=135396
777
778         Reviewed by Timothy Hatcher.
779
780         A longstanding quirk/optimization in the frontend is that we immediately set a breakpoint
781         as resolved if the breakpoint was successfully set in the backend. This ensures that clicking in
782         the gutter immediately produces a resolved breakpoint with only one round-trip.
783
784         However, not all breakpoints should be speculatively resolved, because the corresponding resource
785         may not be loaded yet. This situation causes problems for code that assumes a resolved breakpoint
786         also has a valid sourceCodeLocation.sourceCode.
787
788         * UserInterface/Controllers/DebuggerManager.js:
789         (WebInspector.DebuggerManager.restoreBreakpointsSoon): Don't leak the variable to global scope.
790         (WebInspector.DebuggerManager):
791         (WebInspector.DebuggerManager.prototype.speculativelyResolveBreakpoint):
792         (WebInspector.DebuggerManager.prototype.addBreakpoint): Speculatively resolve here if requested
793         using the success callback passed to _setBreakpoint.
794
795         (WebInspector.DebuggerManager.prototype.didSetBreakpoint): Emit simulated
796         Debugger.breakpointResolved events since they are only sent by the backend when a script is parsed.
797
798         (WebInspector.DebuggerManager.prototype._setBreakpoint):
799         * UserInterface/Views/SourceCodeTextEditor.js:
800         (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Request speculative resolve.
801
802 2014-07-29  Joseph Pecoraro  <pecoraro@apple.com>
803
804         Web Inspector: Eliminate more forced layouts during timeline recordings
805         https://bugs.webkit.org/show_bug.cgi?id=135397
806
807         Reviewed by Timothy Hatcher.
808
809         Instead of computing the secondsPerPixel in each overview graph,
810         we can ask the overview view itself which has a cached value.
811         The computation used to force a layout, now it doesn't need to.
812
813         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
814         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
815         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
816         * UserInterface/Views/TimelineOverview.js:
817         (WebInspector.TimelineOverview):
818         * UserInterface/Views/TimelineOverviewGraph.js:
819         (WebInspector.TimelineOverviewGraph):
820         (WebInspector.TimelineOverviewGraph.prototype.get timelineOverview):
821         (WebInspector.TimelineOverviewGraph.prototype.set timelineOverview):
822
823 2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>
824
825         Web Inspector: Incorrectly sized TimelineDataGrid event bubble
826         https://bugs.webkit.org/show_bug.cgi?id=135371
827
828         Reviewed by Timothy Hatcher.
829
830         Previously the secondsPerPixel calculation was relying on an element
831         that may not be sized yet. This was resulting in a visibleWidth of 0
832         and resulted in secondsPerPixel being Infinity. Fortunately, the
833         graph data source already knows the secondsPerPixel so we can just
834         ask it. Getting the correct value and eliminating forced layouts.
835
836         * UserInterface/Views/OverviewTimelineView.js:
837         (WebInspector.OverviewTimelineView.prototype.get secondsPerPixel):
838         * UserInterface/Views/TimelineDataGridNode.js:
839
840 2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>
841
842         Web Inspector: Reduce work creating the initial WebInspector.TimelineRecordBar
843         https://bugs.webkit.org/show_bug.cgi?id=135373
844
845         Reviewed by Timothy Hatcher.
846
847         Eliminate a bit of extra work creating TimelineRecordBars. Previously
848         the constructor would setup an empty list of records, and then we would
849         immediately after replace them. Now just set them in the constructor.
850
851         * UserInterface/Views/LayoutTimelineOverviewGraph.js:
852         (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout.createBar):
853         (WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
854         * UserInterface/Views/NetworkTimelineOverviewGraph.js:
855         (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar):
856         (WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout):
857         * UserInterface/Views/ScriptTimelineOverviewGraph.js:
858         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar):
859         (WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
860         * UserInterface/Views/TimelineDataGridNode.js:
861         (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
862
863 2014-07-28  Timothy Hatcher  <timothy@apple.com>
864
865         Web Inspector: Unexpected dark border on selected but window inactive timeline
866         https://bugs.webkit.org/show_bug.cgi?id=135360
867
868         Update the border-top colors for the item adjacent to the selected item.
869
870         Reviewed by Joseph Pecoraro.
871
872         * UserInterface/Views/TimelineSidebarPanel.css:
873         (.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
874         (.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
875         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
876         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):
877
878 2014-07-28  Joseph Pecoraro  <pecoraro@apple.com>
879
880         Web Inspector: Disable Copy Row in Timelines DataGrids, it does not currently provide value
881         https://bugs.webkit.org/show_bug.cgi?id=135364
882
883         Reviewed by Timothy Hatcher.
884
885         * UserInterface/Views/DataGrid.js:
886         (WebInspector.DataGridNode):
887         (WebInspector.DataGridNode.prototype.get copyable):
888         (WebInspector.DataGridNode.prototype.set copyable):
889         * UserInterface/Views/TimelineDataGridNode.js:
890         (WebInspector.TimelineDataGridNode):
891
892 2014-07-26  Brian J. Burg  <burg@cs.washington.edu>
893
894         Web Inspector: ReplayManager uses undefined events and inconsistent event data
895         https://bugs.webkit.org/show_bug.cgi?id=135222
896
897         Reviewed by Timothy Hatcher.
898
899         * UserInterface/Controllers/ReplayManager.js:
900         (WebInspector.ReplayManager.prototype.sessionCreated.this):
901         (WebInspector.ReplayManager.prototype.sessionCreated):
902         (WebInspector.ReplayManager.prototype.segmentLoaded):
903         (WebInspector.ReplayManager.prototype.segmentUnloaded):
904         (WebInspector.ReplayManager.prototype.stopCapturing):
905         (WebInspector.ReplayManager.prototype.replayToMarkIndex):
906         (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
907         (WebInspector.ReplayManager.prototype.segmentCompleted):
908         (WebInspector.ReplayManager.prototype.startCapturing):
909         (WebInspector.ReplayManager.prototype._changeSessionState):
910
911 2014-07-26  Joseph Pecoraro  <pecoraro@apple.com>
912
913         Remove accidental debugging console.log
914         https://bugs.webkit.org/show_bug.cgi?id=135315
915
916         Reviewed by Alexey Proskuryakov.
917
918         * UserInterface/Views/ApplicationCacheFrameContentView.js:
919         (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
920
921 2014-07-26  Joseph Pecoraro  <pecoraro@apple.com>
922
923         Web Inspector: Timelines performance is very slow, has many forced layouts
924         https://bugs.webkit.org/show_bug.cgi?id=135313
925
926         Reviewed by Timothy Hatcher.
927
928         * UserInterface/Views/NavigationItem.js:
929         (WebInspector.NavigationItem):
930         (WebInspector.NavigationItem.prototype.get hidden):
931         (WebInspector.NavigationItem.prototype.set hidden):
932         Don't have the parent navigation bar update layout if the hidden state did not change.
933         This greatly reduces the number of forced layouts as timeline nodes are added.
934
935         * UserInterface/Views/NavigationSidebarPanel.js:
936         (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
937         (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
938         Don't do any work if this is not changing the view.
939
940         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibilitySoon):
941         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
942         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
943         When first selecting a specific timeline (Layout / Scripts) we would have a very long hang
944         updating the content. Most of this was time spent updating the overflow shadow visibility
945         because every single tree element addition was causing a layout invalidation and forced layout.
946         Coalesce all of the tree element adds into a single update at the end.
947
948         * UserInterface/Views/TimelineOverview.js:
949         (WebInspector.TimelineOverview.prototype.updateLayout):
950         Calculating the visible duration checks offsetLeft. Calculate this once, outside
951         of a loop down below, to prevent or reduce possible forced layouts.
952
953         * UserInterface/Views/TreeOutline.js:
954         (TreeElement.prototype.revealed):
955         Prevent doing any work for timeline tree elements outside of the selected time range.
956         Previously they were considered revealed if a parent was expanded, even though that
957         parent was hidden. This greatly reduces the amount of work during a recording, since
958         previously we were potentially doing a forced layout for hidden nodes.
959
960         * UserInterface/Views/TimelineSidebarPanel.js:
961         (WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
962         Ignore ProfileNode, which may happen here in the Script timeline.
963
964 2014-07-23  Brian J. Burg  <burg@cs.washington.edu>
965
966         Web Inspector: InspectorBackend's promise-based agent API does not support multiple return values
967         https://bugs.webkit.org/show_bug.cgi?id=135207
968
969         Reviewed by Joseph Pecoraro.
970
971         The promise wrapper implementation assumed that the protocol callback supplies a single 'payload'
972         return value, but InspectorBackend will actually unpack multiple return values as multiple
973         callback arguments. Set a special flag so it will not try to apply multiple return values.
974
975         It would read better if multiple return values could be spread to the resolve callback, but
976         multiple argument support are not required by the Promises specification, so we won't use them.
977
978         * UserInterface/Controllers/ReplayManager.js: Fix uses of promise return values.
979         (WebInspector.ReplayManager):
980         * UserInterface/Models/ReplaySession.js:
981         * UserInterface/Models/ReplaySessionSegment.js:
982         (WebInspector.ReplaySessionSegment):
983         * UserInterface/Protocol/InspectorBackend.js:
984         (InspectorBackend.Command.prototype.promise):
985
986 2014-07-21  Saam Barati  <sbarati@apple.com>
987
988         Web Inspector: Add esprima to the WebInspector.
989         https://bugs.webkit.org/show_bug.cgi?id=135098
990
991         Reviewed by Joseph Pecoraro.
992
993         This patch includes Esprima into the WebInspector and attaches its
994         exported function onto the WebInspector namespace object. 
995
996         * UserInterface/External/Esprima: Added.
997         * UserInterface/External/Esprima/esprima.js: Added.
998         (.):
999         * UserInterface/Main.html:
1000
1001 2014-07-21  Jonathan Wells  <jonowells@apple.com>
1002
1003         Back/Forward arrows (modern) are too large.
1004         https://bugs.webkit.org/show_bug.cgi?id=135073
1005
1006         Reviewed by Joseph Pecoraro.
1007
1008         Changes to adjust new forward and back arrow sizes to be more consistent with the 
1009         universal design language. Moved WebInspector.Platform definition to its own file.
1010         Refactored handling of image versions inside ImageUtilities.js.
1011
1012         * UserInterface/Base/ImageUtilities.js:
1013         (.restoreImage):
1014         (.generateImage):
1015         (generateColoredImagesForCSS):
1016         Make the default image versioning smarter.
1017
1018         * UserInterface/Base/Main.js:
1019         (WebInspector.contentLoaded):
1020         (WebInspector.contentLoaded.WebInspector.Platform.version.toString): Deleted.
1021         (WebInspector.contentLoaded.WebInspector.Platform.toString): Deleted.
1022         * UserInterface/Base/Platform.js: Added.
1023         Move platform information definition into Platform.js.
1024
1025         * UserInterface/Main.html: Include Platform.js.
1026
1027         * UserInterface/Views/ContentBrowser.js:
1028         (WebInspector.ContentBrowser):
1029         * UserInterface/Views/FindBanner.css:
1030         (.find-banner > button > .glyph):
1031         (body.mac-platform.legacy .find-banner > button > .glyph):
1032         (.find-banner > button.segmented.left > .glyph):
1033         (body.mac-platform.legacy .find-banner > button.segmented.left > .glyph):
1034         (.find-banner > button.segmented.right > .glyph):
1035         (body.mac-platform.legacy .find-banner > button.segmented.right > .glyph):
1036         (.find-banner > button.segmented):
1037         (body.mac-platform.legacy .find-banner > button.segmented):
1038         * UserInterface/Views/FindBanner.js:
1039         (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
1040         Size of forward and back arrows adjusted.
1041
1042 2014-07-19  Saam Barati  <sbarati@apple.com>
1043
1044         Web Inspector: TextContentView calls wrong prototype function in the hidden() function
1045         https://bugs.webkit.org/show_bug.cgi?id=135097
1046
1047         Reviewed by Timothy Hatcher.
1048
1049         Corollary bug to: https://bugs.webkit.org/show_bug.cgi?id=135001
1050
1051         * UserInterface/Views/TextContentView.js:
1052         (WebInspector.TextContentView.prototype.hidden):
1053
1054 2014-07-18  Timothy Hatcher  <timothy@apple.com>
1055
1056         Revert r169735 since it broke Timeline, and fix bug 129696 in a more targeted way.
1057
1058         REGRESSION (r169735): Web Inspector: Timeline tree outline missing data until collapse-expand.
1059         https://bugs.webkit.org/show_bug.cgi?id=134845
1060
1061         Reviewed by Joseph Pecoraro.
1062
1063         * UserInterface/Views/DOMTreeElement.js:
1064         (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): Use button isteand of assuming
1065         item.listItemElement will be ready to use. The listItemElement node is lazily created.
1066         * UserInterface/Views/TreeOutline.js:
1067         (TreeOutline.prototype.appendChild): Don't attach unless _childrenListNode exists.
1068         (TreeOutline.prototype.insertChild): Ditto.
1069
1070 2014-07-17  Timothy Hatcher  <timothy@apple.com>
1071
1072         Make console.profile record to the Timeline.
1073
1074         https://bugs.webkit.org/show_bug.cgi?id=134643
1075
1076         Reviewed by Joseph Pecoraro.
1077
1078         * Localizations/en.lproj/localizedStrings.js:
1079         * UserInterface/Controllers/TimelineManager.js:
1080         (WebInspector.TimelineManager.prototype.startCapturing):
1081         (WebInspector.TimelineManager.prototype.stopCapturing):
1082         (WebInspector.TimelineManager.prototype.capturingStarted):
1083         (WebInspector.TimelineManager.prototype.capturingStopped):
1084         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1085         (WebInspector.TimelineManager.prototype.eventRecorded):
1086         * UserInterface/Images/TimelineRecordConsoleProfile.svg: Added.
1087         * UserInterface/Models/ScriptTimelineRecord.js:
1088         * UserInterface/Protocol/TimelineObserver.js:
1089         (WebInspector.TimelineObserver.prototype.eventRecorded):
1090         (WebInspector.TimelineObserver.prototype.recordingStarted):
1091         (WebInspector.TimelineObserver.prototype.recordingStopped):
1092         * UserInterface/Views/TimelineIcons.css:
1093         (.console-profile-record .icon):
1094         * UserInterface/Views/TimelineRecordTreeElement.js:
1095         (WebInspector.TimelineRecordTreeElement):
1096
1097 2014-07-16  Saam Barati  <sbarati@apple.com>
1098
1099         Web Inspector: TextContentView calls the wrong super function in shown()
1100         https://bugs.webkit.org/show_bug.cgi?id=135001
1101
1102         Reviewed by Timothy Hatcher.
1103         TextContentView calls ResourceContentView.shown instead of ContentView.shown.
1104         It should call ContentView.shown because ContentView is its prototype.
1105
1106
1107         * UserInterface/Views/TextContentView.js:
1108         (WebInspector.TextContentView.prototype.shown):
1109
1110 2014-07-15  Jonathan Wells  <jonowells@apple.com>
1111
1112         Web Inspector: Modernize UI styles and better sync with platform styles
1113         https://bugs.webkit.org/show_bug.cgi?id=134846
1114
1115         Reviewed by Timothy Hatcher.
1116
1117         Updated styles to better match the OS UI design. Updated the forward/back button. 
1118         Moved several rules to selectors that support older OS designs. Added global platform
1119         data to support this patch.
1120
1121         * UserInterface/Images/BackArrow.svg: Added.
1122         * UserInterface/Images/BackArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/BackArrow.svg.
1123         * UserInterface/Images/ForwardArrow.svg: Added.
1124         * UserInterface/Images/ForwardArrowLegacy.svg: Copied from Source/WebInspectorUI/UserInterface/Images/ForwardArrow.svg.
1125
1126         * UserInterface/Base/ImageUtilities.js: Updated image version
1127         (.generateImage.generateModernImage):
1128         (.generateImage.generateLegacyImage):
1129         (.generateImage):
1130         Updated image generation to support modern look. Updated versioning scheme and version.
1131
1132         * UserInterface/Base/Main.js:
1133         (WebInspector.loaded):
1134         (WebInspector.contentLoaded.WebInspector.Platform.version.toString):
1135         (WebInspector.contentLoaded.WebInspector.Platform.toString):
1136         (WebInspector.contentLoaded):
1137         Added global platform information.
1138
1139         * UserInterface/Views/ContentBrowser.js:
1140         (WebInspector.ContentBrowser):
1141         Updated back and forward buttons.
1142
1143         * UserInterface/Views/FindBanner.js:
1144         (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
1145         Updated images for the find banner.
1146
1147         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1148         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1149         Added new images.
1150
1151         * UserInterface/Views/ButtonToolbarItem.css:
1152         (.toolbar .item.button > .label):
1153         (body.mac-platform.legacy .toolbar .item.button > .label):
1154         * UserInterface/Views/CSSStyleDeclarationSection.css:
1155         (.style-declaration-section):
1156         (body.mac-platform.legacy .style-declaration-section):
1157         (body.mac-platform.legacy .style-declaration-section + .style-declaration-section):
1158         (.style-declaration-section.last-in-group):
1159         (body.mac-platform.legacy .style-declaration-section.last-in-group):
1160         (.style-declaration-section.last-in-group + .style-declaration-section):
1161         (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section):
1162         (body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child):
1163         (.style-declaration-section + .style-declaration-section): Deleted.
1164         (.style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted.
1165         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1166         (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
1167         * UserInterface/Views/DOMTreeOutline.css:
1168         (.dom-tree-outline li.hovered:not(.selected) .selection):
1169         (body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection):
1170         (.dom-tree-outline li.elements-drag-over .selection):
1171         (body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection):
1172         (.dom-tree-outline:focus li.selected .selection):
1173         (body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection):
1174         * UserInterface/Views/DashboardContainerView.css:
1175         (.toolbar .dashboard-container):
1176         (body.mac-platform.legacy .toolbar .dashboard-container):
1177         (body.window-inactive .toolbar .dashboard-container):
1178         (body.mac-platform.legacy.window-inactive .toolbar .dashboard-container):
1179         (.toolbar .dashboard):
1180         (body.window-inactive .toolbar .dashboard):
1181         (body.mac-platform.legacy.window-inactive .toolbar .dashboard):
1182         * UserInterface/Views/DataGrid.css:
1183         (.data-grid th):
1184         (body.mac-platform.legacy .data-grid th):
1185         (.data-grid tr.selected):
1186         (body.mac-platform.legacy .data-grid tr.selected):
1187         (.data-grid:focus tr.selected):
1188         (body.mac-platform.legacy .data-grid:focus tr.selected):
1189         * UserInterface/Views/DetailsSection.css:
1190         (.details-section):
1191         (body.mac-platform.legacy .details-section):
1192         (.details-section .details-section):
1193         (body.mac-platform.legacy .details-section .details-section):
1194         (.details-section .details-section:last-child):
1195         (.details-section .details-section:first-child):
1196         (.details-section > .header):
1197         (body.mac-platform.legacy .details-section > .header):
1198         (.details-section .details-section > .header):
1199         (body.mac-platform.mountain-lion .details-section .details-section > .header):
1200         (.details-section .details-section.collaspsed > .header):
1201         (.details-section.computed-style-properties:not(.collapsed) > .header):
1202         (body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header):
1203         (.details-section > .content > .group):
1204         (body.mac-platform.legacy .details-section > .content > .group):
1205         (.details-section > .content > .group:last-child):
1206         (.details-section > .content > .group:nth-child(even)):
1207         (body.mac-platform.legacy .details-section > .content > .group:nth-child(even)):
1208         (body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *):
1209         (.details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted.
1210         * UserInterface/Views/FilterBar.css:
1211         (.filter-bar > input[type="search"]):
1212         (body.mac-platform.legacy .filter-bar > input[type="search"]):
1213         * UserInterface/Views/NavigationSidebarPanel.css:
1214         (.navigation-sidebar-panel-content-tree-outline .item.selected):
1215         (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected):
1216         (.navigation-sidebar-panel-content-tree-outline:focus .item.selected):
1217         (body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected):
1218         (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
1219         (body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
1220         * UserInterface/Views/RadioButtonNavigationItem.css:
1221         (.navigation-bar .item.radio.button.text-only.selected):
1222         (body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
1223         * UserInterface/Views/RulesStyleDetailsPanel.css:
1224         (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
1225         (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
1226         (.sidebar > .panel.details.css-style .rules .new-rule):
1227         (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule):
1228         (.sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
1229         (body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section):
1230         * UserInterface/Views/ScopeBar.css:
1231         (.scope-bar > li):
1232         (body.mac-platform.legacy .scope-bar > li):
1233         (.scope-bar > li.selected):
1234         (body.mac-platform.legacy .scope-bar > li.selected):
1235         * UserInterface/Views/SearchBar.css:
1236         (.search-bar > input[type="search"]):
1237         (body.mac-platform.legacy .search-bar > input[type="search"]):
1238         * UserInterface/Views/Sidebar.css:
1239         (.sidebar):
1240         (body.mac-platform.legacy .sidebar):
1241         (body.mac-platform.legacy.window-inactive .sidebar):
1242         (body.mac-platform.legacy .sidebar.right):
1243         (body.window-inactive .sidebar): Deleted.
1244         (.sidebar.right): Deleted.
1245         * UserInterface/Views/TimelineSidebarPanel.css:
1246         (.sidebar > .panel.navigation.timeline > .title-bar):
1247         (body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar):
1248         Style updates for new look and feel.
1249
1250 2014-07-11  Joseph Pecoraro  <pecoraro@apple.com>
1251
1252         Web Inspector: Debugger Pause button does not work
1253         https://bugs.webkit.org/show_bug.cgi?id=134785
1254
1255         Reviewed by Timothy Hatcher.
1256
1257         Previously we were automatically resuming if we had no recognized
1258         call frames in the call stack we get when paused. However, we
1259         were accidentally skipping over anonymous scripts instead of
1260         just Web Inspector originated call frames.
1261
1262         Now that we allow anonymous scripts we can step into anonymous
1263         scripts (e.g. evals, new Function(...)) as expected.
1264
1265         Also, remove the condition of automatically resuming if the
1266         call stack was empty. The UI handles this with "No Call Frames".
1267
1268         * UserInterface/Controllers/DebuggerManager.js:
1269         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
1270
1271 2014-07-11  Joseph Pecoraro  <pecoraro@apple.com>
1272
1273         Web Inspector: CSS Autocompletion: "background" only has colors, should support others
1274         https://bugs.webkit.org/show_bug.cgi?id=134839
1275
1276         Reviewed by Timothy Hatcher.
1277
1278         Update and consolidate the background related CSS properties
1279         and include sub-property completions in the shorthand property.
1280
1281         Also take the opportunity to add or update other properties
1282         (-webkit-alt, -webkit-text-decoration-skip, -webkit-aspect-ratio)
1283         and remove unnecessary newlines / commas in the list.
1284
1285         * UserInterface/Models/CSSKeywordCompletions.js:
1286
1287 2014-07-10  Joseph Pecoraro  <pecoraro@apple.com>
1288
1289         Web Inspector: Debugger Continue button is incorrectly sized
1290         https://bugs.webkit.org/show_bug.cgi?id=134786
1291
1292         Reviewed by Timothy Hatcher.
1293
1294         Before this patch everything in the DebuggerDashboardView was flexing.
1295         Normally, if the contents were not too wide, this would just behave
1296         as expected and be centered. If the content was too wide, then each
1297         element would flex uniformly and overlap uniformly. That was not expected.
1298
1299         This patch changes makes everything but the link have a non-flexible
1300         size. If the link (at the end) flexs it will have a nice ellipsis
1301         text truncation, and the rest of the content will be left justified.
1302
1303         This also fixes a few other minor issues seen in the view.
1304
1305         * UserInterface/Views/DebuggerDashboardView.css:
1306         (.dashboard.debugger .navigation-bar):
1307         Reduce the complexity, give the nav bar (the resume button) some simple padding.
1308
1309         (.dashboard.debugger > div):
1310         Make everything non-flex by default.
1311
1312         (.dashboard.debugger > .location):
1313         The location will have an inner element flex, so make it flex.
1314
1315         (.dashboard.debugger > .location > *):
1316         Make everything in .location non-flex by default.
1317
1318         (.dashboard.debugger > .location .go-to-link):
1319         Make the link flex and truncate cleanly.
1320
1321         (.dashboard.debugger > .location .function-name):
1322         Fix vertical alignment when the toolbar has small icons.
1323
1324         * UserInterface/Views/DebuggerDashboardView.js:
1325         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
1326         Fix class name spelling.
1327
1328 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
1329
1330         [Win] Remove uses of 'bash' in build system
1331         https://bugs.webkit.org/show_bug.cgi?id=134782
1332         <rdar://problem/17615533>
1333
1334         Reviewed by Dean Jackson.
1335
1336         Remove uses of 'bash' by replacing Windows-specific bash scripts
1337         with Perl equivalents.
1338
1339         * WebInspectorUI.vcxproj/WebInspectorUI.make:
1340         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1341         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1342         * WebInspectorUI.vcxproj/build-webinspectorui.pl: Copied from Source/WebInspectorUI/WebInspectorUI.vcxproj/build-webinspectorui.sh.
1343         * WebInspectorUI.vcxproj/build-webinspectorui.sh: Removed.
1344
1345 2014-07-08  Joseph Pecoraro  <pecoraro@apple.com>
1346
1347         Web Inspector: Debugger popovers should not dismiss when mousing over them
1348         https://bugs.webkit.org/show_bug.cgi?id=134687
1349
1350         Reviewed by David Kilzer.
1351
1352         * UserInterface/Views/SourceCodeTextEditor.js:
1353         (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
1354         Actually install the listeners in the set. Regression from code refactoring in r165052.
1355
1356 2014-07-07  Jonathan Wells  <jonowells@apple.com>
1357
1358         Web Inspector: CSS style declaration editor should ignore empty lines when determining prefix whitespace
1359         https://bugs.webkit.org/show_bug.cgi?id=134704
1360
1361         Reviewed by Joseph Pecoraro.
1362
1363         When checking for zero-length prefix whitespace, completely empty lines are now ignored
1364         as these lines are most often used for organizing rules into groups and often have their
1365         whitespace removed due to trailing whitespace removal conventions.
1366
1367         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1368
1369 2014-07-07  Joseph Pecoraro  <pecoraro@apple.com>
1370
1371         Web Inspector: Uncaught Exception debugging iOS 7 NetworkAgent.loadResource is unavailable
1372         https://bugs.webkit.org/show_bug.cgi?id=134689
1373
1374         Reviewed by Darin Adler.
1375
1376         Gracefully handle if NetworkAgent.loadResource is unavailable.
1377
1378         * UserInterface/Controllers/SourceMapManager.js:
1379         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
1380         * UserInterface/Models/SourceMapResource.js:
1381
1382 2014-07-01  Jonathan Wells  <jonowells@apple.com>
1383
1384         Web Inspector: Hexadecimal color values in all CSS editors are purple when they should be blue
1385         https://bugs.webkit.org/show_bug.cgi?id=133997
1386
1387         Reviewed by Joseph Pecoraro.
1388
1389         CodeMirror 4 removed the style for hex colors from the CSS tokenizer.
1390         Feature has been added to CodeMirrorAdditions.js.
1391
1392         * UserInterface/Views/CodeMirrorAdditions.js: Added hex-color to style for a valid hexadecimal color.
1393         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Added selector for hexadecimal color.
1394
1395 2014-06-26  Jono Wells  <jonowells@apple.com>
1396
1397         Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should remove as command to pause
1398         https://bugs.webkit.org/show_bug.cgi?id=134313
1399
1400         Reviewed by Timothy Hatcher.
1401
1402         Changed alternate command to pause/resume from command-slash to command-backslash.
1403         Command-slash sets/unsets comments in all code editors.
1404
1405         * UserInterface/Models/KeyboardShortcut.js: Added Backslash.
1406         * UserInterface/Views/DebuggerSidebarPanel.js: Changed pauseOrResumeAlternateKeyboardShortcut to use Backslash instead of Slash.
1407
1408 2014-06-25  Jono Wells  <jonowells@apple.com>
1409
1410         Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start;
1411         https://bugs.webkit.org/show_bug.cgi?id=133515
1412
1413         Reviewed by Timothy Hatcher.
1414
1415         The CSS style declaration text editor uses the author's shortest instance of prefix whitespace
1416         to create an indentation baseline for the style editor. This needs to consider the possibility
1417         that there is no whitespace prefixing one of the rules. Also clarified a FIXME line.
1418
1419         * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace.
1420
1421 2014-06-25  Dana Burkart  <dburkart@apple.com>
1422
1423         Add support for 5-tuple versioning.
1424
1425         Reviewed by David Farler.
1426
1427         * Configurations/Version.xcconfig:
1428
1429 2014-06-24  Jono Wells  <jonowells@apple.com>
1430
1431         Web Inspector: clicking "Show All Nodes" button throws TypeError
1432         https://bugs.webkit.org/show_bug.cgi?id=133701
1433
1434         Reviewed by Timothy Hatcher.
1435
1436         The method used for isEventWithinDisclosureTriangle needs to consider the possibility that the 
1437         targeted TreeElement isn't contained within the visible DOM, for instance in the case of the
1438         "Show All Nodes" button immediately after it is pressed.
1439
1440         * UserInterface/Views/TreeOutline.js:
1441         (TreeElement.prototype.isEventWithinDisclosureTriangle): Check to make sure TreeElement node is in the visible DOM.
1442
1443 2014-06-24  Jono Wells  <jonowells@apple.com>
1444
1445         Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector
1446         https://bugs.webkit.org/show_bug.cgi?id=133699
1447
1448         Reviewed by Geoffrey Garen.
1449
1450         The call to element._createTooltipForNode() was failing because element was sometimes not a 
1451         DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically).
1452         A check for type fixes this issue.
1453
1454         * UserInterface/Views/DOMTreeOutline.js:
1455         (WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode.
1456
1457 2014-06-21  Jono Wells  <jonowells@apple.com>
1458
1459         Web Inspector: UI fonts should pull from system fonts automatically to whatever degree possible
1460         https://bugs.webkit.org/show_bug.cgi?id=133966
1461
1462         Reviewed by Timothy Hatcher.
1463
1464         Updated font families to use -webkit-system-font, and set this on the body to be
1465         inherited. Also made sure that popovers use Menlo as the default. Updated 
1466         autocompletions with system font names.
1467
1468         * UserInterface/Models/CSSKeywordCompletions.js: Updated completions with available system fonts.
1469
1470         * UserInterface/Controllers/CodeMirrorGradientEditingController.css:
1471         * UserInterface/Views/Breakpoint.css:
1472         * UserInterface/Views/ButtonNavigationItem.css:
1473         * UserInterface/Views/ButtonToolbarItem.css:
1474         * UserInterface/Views/CSSStyleDeclarationSection.css:
1475         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1476         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
1477         * UserInterface/Views/CodeMirrorOverrides.css:
1478         * UserInterface/Views/DataGrid.css:
1479         * UserInterface/Views/DebuggerDashboardView.css:
1480         * UserInterface/Views/DetailsSection.css:
1481         * UserInterface/Views/FindBanner.css:
1482         * UserInterface/Views/GoToLineDialog.css:
1483         * UserInterface/Views/HierarchicalPathComponent.css:
1484         * UserInterface/Views/Main.css:
1485         * UserInterface/Views/NavigationSidebarPanel.css:
1486         * UserInterface/Views/ProbeSetDataGrid.css:
1487         * UserInterface/Views/RulesStyleDetailsPanel.css:
1488         * UserInterface/Views/ScopeBar.css:
1489         * UserInterface/Views/SourceCodeTextEditor.css:
1490         * UserInterface/Views/TimelineDataGrid.css:
1491         * UserInterface/Views/TimelineRuler.css:
1492         * UserInterface/Views/TimelineSidebarPanel.css:
1493         Changes to fonts. Set default font stack to -webkit-system-font, sans-serif. Default size is
1494         11px. Only changes to this default size or changes to the font (to Menlo, monospace usually) remain.
1495
1496 2014-06-21  Joseph Pecoraro  <pecoraro@apple.com>
1497
1498         Web Inspector: Esc in quick console no longer toggles console drawer
1499         https://bugs.webkit.org/show_bug.cgi?id=134068
1500
1501         Reviewed by Timothy Hatcher.
1502
1503         For Escape to toggle console behavior we were relying on the Escape
1504         keyboard event to propagate up to the window and be handled by
1505         QuickConsole's global keyboard shortcut. With CodeMirror 4, all
1506         editors have a default "Esc" key handler to reduce multiple selections
1507         to a single selection. Unfortunately this always prevents default,
1508         which our keyboard shortcut respects and doesn't toggle the console.
1509
1510         Workaround this by putting a specific handler for when a Console
1511         Prompt is empty and the Escape key is triggered. This does not go
1512         through the normal ConsolePrompt delegate because the delegate
1513         is never the QuickConsole, it is actually the JavaScript log.
1514
1515         * UserInterface/Views/ConsolePrompt.js:
1516         (WebInspector.ConsolePrompt):
1517         (WebInspector.ConsolePrompt.prototype.set escapeKeyHandlerWhenEmpty):
1518         (WebInspector.ConsolePrompt.prototype._handleEscapeKey):
1519         * UserInterface/Views/QuickConsole.js:
1520         (WebInspector.QuickConsole.this.prompt.escapeKeyHandlerWhenEmpty):
1521         (WebInspector.QuickConsole):
1522
1523 2014-06-18  James Craig  <jcraig@apple.com>
1524
1525         Web Inspector: AXI: expose aria-relevant
1526         https://bugs.webkit.org/show_bug.cgi?id=130913
1527
1528         Reviewed by Joseph Pecoraro.
1529
1530         Expose ARIA live region relevance in Web Inspector.
1531         E.g. "Live: Assertive (Additions, Text)"
1532
1533         * Localizations/en.lproj/localizedStrings.js: New strings.
1534         * UserInterface/Models/DOMNode.js: One additional property passed.
1535         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI updates to support new property.
1536
1537 2014-06-18  Simon Fraser  <simon.fraser@apple.com>
1538
1539         Add rebeccapurple to CSS named color list
1540         https://bugs.webkit.org/show_bug.cgi?id=133804
1541
1542         Reviewed by Jer Noble.
1543         
1544         Add the named color "rebeccapurple" (#639).
1545
1546         * UserInterface/External/CodeMirror/css.js:
1547         * UserInterface/Models/CSSKeywordCompletions.js:
1548         * UserInterface/Models/Color.js:
1549
1550 2014-06-18  Jono Wells  <jonowells@apple.com>
1551
1552         Web Inspector: REGRESSION: Style declaration editor: placeholder misaligned
1553         https://bugs.webkit.org/show_bug.cgi?id=134012
1554
1555         Reviewed by Timothy Hatcher.
1556
1557         Removed a rule needed to align the placeholder for selectors in 
1558         the style declation text editors with no rules declared in
1559         http://trac.webkit.org/changeset/170077. The necessary
1560         rule has been added back to fix the issue.
1561
1562         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1563         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
1564
1565 2014-06-17  Joseph Pecoraro  <pecoraro@apple.com>
1566
1567         Web Inspector: PrettyPrinting regression on "var a=1"
1568         https://bugs.webkit.org/show_bug.cgi?id=134001
1569
1570         Reviewed by Timothy Hatcher.
1571
1572         Previously operators did not get a token type. After a CodeMirror
1573         update they now have a token type of "operator".
1574
1575         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
1576         * UserInterface/Views/CodeMirrorFormatters.js:
1577
1578 2014-06-17  Jono Wells  <jonowells@apple.com>
1579
1580         Web Inspector: Two lines in CSS rule are hidden until resize or click
1581         https://bugs.webkit.org/show_bug.cgi?id=133951
1582
1583         Reviewed by Joseph Pecoraro.
1584
1585         Update to CodeMirror 4.2 fixed the issue.
1586
1587         * Tools/PrettyPrinting/codemirror.js:
1588         * Tools/PrettyPrinting/css.js:
1589         * Tools/PrettyPrinting/javascript.js:
1590         * UserInterface/External/CodeMirror/clojure.js:
1591         * UserInterface/External/CodeMirror/closebrackets.js:
1592         * UserInterface/External/CodeMirror/codemirror.js:
1593         * UserInterface/External/CodeMirror/coffeescript.js:
1594         * UserInterface/External/CodeMirror/comment.js:
1595         * UserInterface/External/CodeMirror/css.js:
1596         * UserInterface/External/CodeMirror/htmlmixed.js:
1597         * UserInterface/External/CodeMirror/javascript.js:
1598         * UserInterface/External/CodeMirror/livescript.js:
1599         * UserInterface/External/CodeMirror/matchbrackets.js:
1600         * UserInterface/External/CodeMirror/overlay.js:
1601         * UserInterface/External/CodeMirror/placeholder.js:
1602         * UserInterface/External/CodeMirror/runmode.js:
1603         * UserInterface/External/CodeMirror/sass.js:
1604         * UserInterface/External/CodeMirror/searchcursor.js:
1605         * UserInterface/External/CodeMirror/sql.js:
1606         * UserInterface/External/CodeMirror/xml.js:
1607         Update CodeMirror 4.1 to CodeMirror 4.2.0.
1608
1609 2014-06-17  Jono Wells  <jonowells@apple.com>
1610
1611         Web Inspector: style declaration editor: visual highlight doesn't match actual selected text
1612         https://bugs.webkit.org/show_bug.cgi?id=133965
1613
1614         Reviewed by Joseph Pecoraro.
1615
1616         Update styles for css style editor to fix highlighting visual mismatch glitch.
1617
1618         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1619         (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):
1620         (.css-style-text-editor > .CodeMirror pre):
1621         (.css-style-text-editor.read-only > .CodeMirror pre):
1622         Updated styles to eliminate highlight mismatch by adjusting the padding and
1623         text-indent values.
1624
1625 2014-06-10  Brian J. Burg  <burg@cs.washington.edu>
1626
1627         Web Inspector: recording is overused as both noun and verb in TimelineManager
1628         https://bugs.webkit.org/show_bug.cgi?id=132878
1629
1630         Reviewed by Joseph Pecoraro.
1631
1632         Rename most uses of the verb 'recording' to the verb 'capturing' for timelines.
1633         Rename getter for the recording to activeRecording, and recordingEnabled to isCapturing().
1634
1635         When the timeline manager can handle multiple timeline data sets (i.e., 'recordings'),
1636         it will be very confusing to have 'recording' as a plural noun and verb in the model.
1637
1638         * UserInterface/Controllers/TimelineManager.js:
1639         (WebInspector.TimelineManager):
1640         (WebInspector.TimelineManager.prototype.get activeRecording):
1641         (WebInspector.TimelineManager.prototype.isCapturing):
1642         (WebInspector.TimelineManager.prototype.startCapturing):
1643         (WebInspector.TimelineManager.prototype.stopCapturing):
1644         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
1645         (WebInspector.TimelineManager.prototype.eventRecorded):
1646         (WebInspector.TimelineManager.prototype._addRecord):
1647         (WebInspector.TimelineManager.prototype._startAutoCapturing):
1648         (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
1649         (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
1650         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
1651         (WebInspector.TimelineManager.prototype._resourceWasAdded):
1652         (WebInspector.TimelineManager.prototype.get recording): Deleted.
1653         (WebInspector.TimelineManager.prototype.get recordingEnabled): Deleted.
1654         (WebInspector.TimelineManager.prototype.startRecording): Deleted.
1655         (WebInspector.TimelineManager.prototype.stopRecording): Deleted.
1656         (WebInspector.TimelineManager.prototype._startAutoRecording): Deleted.
1657         * UserInterface/Models/DefaultDashboard.js:
1658         (WebInspector.DefaultDashboard):
1659         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
1660         (WebInspector.DefaultDashboard.prototype._capturingStopped):
1661         (WebInspector.DefaultDashboard.prototype._recordingStopped): Deleted.
1662         * UserInterface/Protocol/InspectorFrontendAPI.js:
1663         (InspectorFrontendAPI.isTimelineProfilingEnabled):
1664         (InspectorFrontendAPI.setTimelineProfilingEnabled):
1665         * UserInterface/Views/TimelineContentView.js:
1666         (WebInspector.TimelineContentView.prototype._capturingStarted):
1667         (WebInspector.TimelineContentView.prototype._capturingStopped):
1668         (WebInspector.TimelineContentView.prototype._recordingStarted): Deleted.
1669         (WebInspector.TimelineContentView.prototype._recordingStopped): Deleted.
1670         * UserInterface/Views/TimelineSidebarPanel.js:
1671         (WebInspector.TimelineSidebarPanel.prototype.initialize):
1672         (WebInspector.TimelineSidebarPanel.prototype._capturingStarted):
1673         (WebInspector.TimelineSidebarPanel.prototype._capturingStopped):
1674         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver):
1675         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut):
1676         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
1677         (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
1678         (WebInspector.TimelineSidebarPanel.prototype._recordingStarted): Deleted.
1679         (WebInspector.TimelineSidebarPanel.prototype._recordingStopped): Deleted.
1680
1681 2014-06-09  Jono Wells  <jonowells@apple.com>
1682
1683         REGRESSION: Web Inspector: Exception showing the DOM tree for a node with too many children
1684         https://bugs.webkit.org/show_bug.cgi?id=129696
1685
1686         Fix issue where sometimes inspecting an element will try to attach the "show all nodes" button
1687         before the expand function is called in TreeElement before _childrenListNode has been set.
1688
1689         Reviewed by Joseph Pecoraro.
1690
1691         * UserInterface/Views/TreeOutline.js:
1692         (TreeOutline.prototype.appendChild):
1693         (TreeOutline.prototype.insertChild):
1694         Added check for existance of this._childrenListNode.
1695
1696 2014-05-29  Timothy Hatcher  <timothy@apple.com>
1697
1698         Fix an exception in InspectorBackend.Command.prototype.supports.
1699
1700         https://bugs.webkit.org/show_bug.cgi?id=133384
1701
1702         Reviewed by Joseph Pecoraro.
1703
1704         * UserInterface/Protocol/InspectorBackend.js:
1705         (InspectorBackend.Command.prototype.supports): Use some not any.
1706
1707 2014-05-19  Jono Wells  <jonowells@apple.com>
1708
1709         Web Inspector: Inspect Element sometimes does not select the right DOM Node
1710         https://bugs.webkit.org/show_bug.cgi?id=127938
1711
1712         Reviewed by Joseph Pecoraro.
1713
1714         Inspecting an element when the inspector is in a closed state was selecting the node but then 
1715         overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
1716         Now when an element is inspected a flag prevents the restore from taking place.
1717
1718         * UserInterface/Controllers/DOMTreeManager.js:
1719         (WebInspector.DOMTreeManager):
1720         (WebInspector.DOMTreeManager.prototype.inspectElement):
1721         (WebInspector.DOMTreeManager.prototype.inspectNodeObject):
1722         Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.
1723
1724         (WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
1725         Added.
1726
1727         * UserInterface/Views/FrameDOMTreeContentView.js:
1728         (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
1729         Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.
1730
1731 2014-05-15  Jono Wells  <jonowells@apple.com>
1732
1733         Web Inspector: Should remove JSDoc comment blocks.
1734         https://bugs.webkit.org/show_bug.cgi?id=132984
1735
1736         Reviewed by Timothy Hatcher.
1737
1738         Remove JSDoc comment blocks. These are no longer necessary.
1739
1740         * UserInterface/Base/Main.js:
1741         * UserInterface/Base/Object.js:
1742         * UserInterface/Controllers/DOMTreeManager.js:
1743         * UserInterface/Models/CSSCompletions.js:
1744         * UserInterface/Models/DOMNode.js:
1745         * UserInterface/Models/SourceMap.js:
1746         * UserInterface/Protocol/InspectorBackend.js:
1747         * UserInterface/Protocol/RemoteObject.js:
1748         * UserInterface/Views/ApplicationCacheFrameContentView.js:
1749         * UserInterface/Views/ConsoleMessage.js:
1750         * UserInterface/Views/ConsoleMessageImpl.js:
1751         * UserInterface/Views/ContextMenu.js:
1752         * UserInterface/Views/DOMTreeElement.js:
1753         * UserInterface/Views/DOMTreeOutline.js:
1754         * UserInterface/Views/DOMTreeUpdater.js:
1755         * UserInterface/Views/DataGrid.js:
1756         * UserInterface/Views/DatabaseContentView.js:
1757         * UserInterface/Views/EditingSupport.js:
1758         * UserInterface/Views/ObjectPropertiesSection.js:
1759         * UserInterface/Views/Popover.js:
1760         * UserInterface/Views/TreeOutline.js:
1761         JSDoc style comment blocks removed.
1762
1763 2014-05-13  Radu Stavila  <stavila@adobe.com>
1764
1765         Web Inspector: Restore regionLayoutUpdated event in iOS7 inspector and remove regionOversetChanged
1766         https://bugs.webkit.org/show_bug.cgi?id=132731
1767
1768         Reviewed by Joseph Pecoraro.
1769
1770         Added the regionLayoutUpdated event back into the inspector for compatibility with iOS 7
1771         and removed regionOversetChanged from the iOS7 inspector as iOS 7 does not implement that event.
1772
1773         * UserInterface/Models/ScriptTimelineRecord.js:
1774         * UserInterface/Protocol/CSSObserver.js:
1775         (WebInspector.CSSObserver.prototype.regionLayoutUpdated):
1776         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
1777         * Versions/Inspector-iOS-7.0.json:
1778
1779 2014-05-12  Brent Fulgham  <bfulgham@apple.com>
1780
1781         [Win] Correct Cygwin Path Confusion in WebInspectorUI Build
1782         https://bugs.webkit.org/show_bug.cgi?id=132826
1783
1784         Reviewed by Joseph Pecoraro.
1785
1786         * Scripts/copy-user-interface-resources.pl: If the build is running
1787         under Cygwin, be sure to use '/usr/bin/python', instead of just
1788         'python' to avoid build errors.
1789
1790 2014-05-09  Alberto Garcia  <berto@igalia.com>
1791
1792         jsmin.py license header confusing, mentions non-free license
1793         https://bugs.webkit.org/show_bug.cgi?id=123665
1794
1795         Reviewed by Darin Adler.
1796
1797         Pull the most recent version from upstream, which has a clear
1798         license.
1799
1800         * Scripts/jsmin.py:
1801
1802 2014-05-08  Jono Wells  <jonowells@apple.com>
1803
1804         Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream"
1805         https://bugs.webkit.org/show_bug.cgi?id=132703
1806
1807         Reviewed by Timothy Hatcher.
1808
1809         The CodeMirror 4 update brought with it a change in the XML mode that 
1810         causes our XML mode extension to fail to consume empty paired quotes
1811         correctly.
1812
1813         * UserInterface/Views/CodeMirrorAdditions.js:
1814         Updated extendedXMLToken() to properly handle empty paired quotes.
1815
1816 2014-05-08  Jono Wells  <jonowells@apple.com>
1817
1818         Web Inspector: Selecting frame in debugger sidebar doesn't reveal code
1819         https://bugs.webkit.org/show_bug.cgi?id=132112
1820
1821         Reviewed by Joseph Pecoraro.
1822
1823         WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking
1824         only one of the two content trees in the DebuggerSidebarPanel instance. Added
1825         base getter elementIsSelected to NavigationSidebarPanel and extended it in 
1826         DebuggerSidebarPanel.
1827
1828         * UserInterface/Base/Main.js:
1829         (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check `selectedSidebarPanel.elementIsSelected`.
1830         * UserInterface/Views/DebuggerSidebarPanel.js:
1831         (WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees.
1832         * UserInterface/Views/NavigationSidebarPanel.js:
1833         (WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation.
1834
1835 2014-05-06  Radu Stavila  <stavila@adobe.com>
1836
1837         Web Inspector: [CSS Regions] Add the regionOversetChange event to the iOS 7.0 WebInspector UI
1838         https://bugs.webkit.org/show_bug.cgi?id=132566
1839
1840         Reviewed by Antti Koivisto.
1841
1842         The regionOversetChange event was missing from the iOS7 WebInspector.
1843
1844         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
1845         * Versions/Inspector-iOS-7.0.json:
1846
1847 2014-05-05  Radu Stavila  <stavila@adobe.com>
1848
1849         [CSS Regions] Remove regionLayoutUpdate event
1850         https://bugs.webkit.org/show_bug.cgi?id=132564
1851
1852         Reviewed by Simon Fraser.
1853
1854         The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 
1855         regionOversetChange and regionFragmentChange.
1856
1857         * UserInterface/Controllers/DOMTreeManager.js:
1858         (WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.
1859         * UserInterface/Models/ScriptTimelineRecord.js:
1860         * UserInterface/Protocol/CSSObserver.js:
1861         (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.
1862         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
1863         * Versions/Inspector-iOS-7.0.json:
1864
1865 2014-05-02  Jono Wells  <jonowells@apple.com>
1866
1867         Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
1868         https://bugs.webkit.org/show_bug.cgi?id=132149
1869
1870         Reviewed by Joseph Pecoraro.
1871
1872         The update to CodeMirror 4 included dramatic changes to the CSS mode,
1873         particularly the way it handles tokens. `state.stack` is gone, replaced
1874         by `state.context`.
1875
1876         * Tools/PrettyPrinting/CodeMirrorFormatters.js:
1877         * Tools/PrettyPrinting/codemirror.js:
1878         * UserInterface/External/CodeMirror/codemirror.js:
1879         * UserInterface/External/CodeMirror/livescript.js:
1880         * UserInterface/External/CodeMirror/runmode.js:
1881         Updates from ToT CodeMirror.
1882
1883         * UserInterface/Controllers/CodeMirrorCompletionController.js:
1884         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
1885         * UserInterface/Views/CodeMirrorAdditions.js:
1886         * UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters.
1887         Changes to match structural changes to the state object and changes to expected values of `lastToken`.
1888
1889 2014-04-30  Brian J. Burg  <burg@cs.washington.edu>
1890
1891         Web Inspector: clean up and decompose InspectorBackend functionality
1892         https://bugs.webkit.org/show_bug.cgi?id=132387
1893
1894         Reviewed by Joseph Pecoraro.
1895
1896         Aside from renaming variables and other minor cleanup, this patch
1897         changes the following:
1898
1899         When calling a command, only store callback data when a callback is passed.
1900         Use explicit model objects for the agent, event, enum, and commands.
1901         Separate the agent models from encoding and decoding of JSON messages.
1902
1903         * UserInterface/Protocol/InspectorBackend.js:
1904         (InspectorBackendClass):
1905         (InspectorBackendClass.prototype.registerCommand):
1906         (InspectorBackendClass.prototype.registerEnum):
1907         (InspectorBackendClass.prototype.registerEvent):
1908         (InspectorBackendClass.prototype.registerDomainDispatcher):
1909         (InspectorBackendClass.prototype.dispatch):
1910         (InspectorBackendClass.prototype.runAfterPendingDispatches):
1911         (InspectorBackendClass.prototype._agentForDomain):
1912         (InspectorBackendClass.prototype._registerSentCommand):
1913         (InspectorBackendClass.prototype._dispatchCallback):
1914         (InspectorBackendClass.prototype._dispatchEvent):
1915         (InspectorBackendClass.prototype._invokeCommand):
1916         (InspectorBackendClass.prototype._reportProtocolError):
1917         (InspectorBackend.Agent):
1918         (InspectorBackend.Agent.prototype.get domainName):
1919         (InspectorBackend.Agent.prototype.set dispatcher):
1920         (InspectorBackend.Agent.prototype.addEnum):
1921         (InspectorBackend.Agent.prototype.addCommand):
1922         (InspectorBackend.Agent.prototype.addEvent):
1923         (InspectorBackend.Agent.prototype.getEvent):
1924         (InspectorBackend.Agent.prototype.dispatchEvent):
1925         (InspectorBackend.Command):
1926         (InspectorBackend.Command.create):
1927         (InspectorBackend.Command.prototype.get qualifiedName):
1928         (InspectorBackend.Command.prototype.get commandName):
1929         (InspectorBackend.Command.prototype.get callSignature):
1930         (InspectorBackend.Command.prototype.get replySignature):
1931         (InspectorBackend.Command.prototype.invoke):
1932         (InspectorBackend.Command.prototype.supports):
1933         (InspectorBackend.Command.prototype._invokeWithArguments):
1934         (InspectorBackend.Event):
1935         (InspectorBackend.Enum):
1936         (InspectorBackendClass.prototype.callback): Deleted.
1937         (InspectorBackendClass.prototype._registerPendingResponse): Deleted.
1938         (InspectorBackendClass.prototype._invokeMethod): Deleted.
1939         (InspectorBackendClass.prototype._getAgent): Deleted.
1940         (InspectorBackendClass.prototype.reportProtocolError): Deleted.
1941         (InspectorBackendCommand): Deleted.
1942         (InspectorBackendCommand.create): Deleted.
1943         (InspectorBackendCommand.prototype.invoke): Deleted.
1944         (InspectorBackendCommand.prototype.supports): Deleted.
1945         (InspectorBackendCommand.prototype._invokeWithArguments): Deleted.
1946
1947 2014-04-29  Brian J. Burg  <burg@cs.washington.edu>
1948
1949         Web Inspector: reduce per-protocol method function creation in InspectorBackend
1950         https://bugs.webkit.org/show_bug.cgi?id=130701
1951
1952         Reviewed by Timothy Hatcher.
1953
1954         Instead of creating 4 bound functions for every backend method on startup, we
1955         can share common functionality on the InspectorBackendCommand prototype. This
1956         also splits the various client-facing protocol introspection mechanisms from
1957         the message encoding/decoding code.
1958
1959         We use a workaround to make the command instances themselves callable as well
1960         as having .invoke, .promise, and .supports. InspectorAgent.methodName returns a
1961         trampoline function that performs the default method invocation. The trampoline's
1962         __proto__ is patched to point to InspectorBackendClass.prototype, and the command
1963         instance is saved in the closure and on the trampoline function itself.
1964
1965         * UserInterface/Protocol/InspectorBackend.js:
1966         (InspectorBackendClass.prototype._registerPendingResponse):
1967         (InspectorBackendClass.prototype._invokeMethod):
1968         (InspectorBackendClass.prototype.registerCommand):
1969         (InspectorBackendClass.prototype.registerEvent):
1970         (InspectorBackendCommand):
1971         (.callable):
1972         (InspectorBackendCommand.create):
1973         (InspectorBackendCommand.prototype.invoke):
1974         (InspectorBackendCommand.prototype.promise):
1975         (InspectorBackendCommand.prototype.supports):
1976         (InspectorBackendCommand.prototype._invokeWithArguments):
1977         (InspectorBackendClass.prototype._wrap): Deleted.
1978         (InspectorBackendClass.prototype._invoke): Deleted.
1979         (InspectorBackendClass.prototype._promise): Deleted.
1980         (InspectorBackendClass.prototype._supports): Deleted.
1981         (InspectorBackendClass.prototype._sendMessageToBackend): Deleted.
1982         (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject): Deleted.
1983         (InspectorBackendClass.prototype.sendMessageObjectToBackend): Deleted.
1984
1985 2014-04-29  Brian J. Burg  <burg@cs.washington.edu>
1986
1987         Web Inspector: DataGrid columns should be objects not Maps
1988         https://bugs.webkit.org/show_bug.cgi?id=129383
1989
1990         Reviewed by Timothy Hatcher.
1991
1992         This reverts an earlier conversion to maps, so that column properties
1993         (which rarely change) can be optimized.
1994
1995         String literals for column properties have been preserved so columns
1996         can be easily converted into objects with methods.
1997
1998         * UserInterface/Views/DataGrid.js:
1999         (WebInspector.DataGrid.prototype.autoSizeColumns):
2000         (WebInspector.DataGrid.prototype.set var):
2001         (WebInspector.DataGrid.prototype.set if):
2002         (WebInspector.DataGrid.prototype.insertColumn):
2003         (WebInspector.DataGrid.prototype.removeColumn.get this):
2004         (WebInspector.DataGrid.prototype.removeColumn):
2005         (WebInspector.DataGrid.prototype.columnWidthsMap):
2006         (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
2007         (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
2008         (WebInspector.DataGridNode.prototype.createCell.get if):
2009         (WebInspector.DataGridNode.prototype.createCell):
2010         (WebInspector.DataGrid.prototype.get length): Deleted.
2011         * UserInterface/Views/ProbeSetDataGrid.js:
2012         (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this):
2013         (WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged):
2014         * UserInterface/Views/TimelineDataGrid.js:
2015         (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here):
2016         (WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):
2017
2018 2014-04-25  Jonathan Wells  <jonowells@apple.com>
2019
2020         Web Inspector: DOM Tree debugger popover obscures dashboard
2021         https://bugs.webkit.org/show_bug.cgi?id=132205
2022
2023         Reviewed by Timothy Hatcher.
2024
2025         * UserInterface/Views/DashboardContainerView.css:
2026         (.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.
2027         * UserInterface/Views/Popover.css:
2028         (.popover): Add z-index: 100.
2029
2030 2014-04-24  Timothy Hatcher  <timothy@apple.com>
2031
2032         Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
2033         https://bugs.webkit.org/show_bug.cgi?id=132113
2034
2035         Reviewed by Joseph Pecoraro.
2036
2037         * UserInterface/Views/DebuggerDashboardView.css:
2038         (.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.
2039
2040 2014-04-24  Jonathan Wells  <jonowells@apple.com>
2041
2042         Web Inspector: Should update to CodeMirror 4.1
2043         https://bugs.webkit.org/show_bug.cgi?id=132140
2044
2045         Reviewed by Timothy Hatcher.
2046
2047         Updated to CodeMirror 4.1, which contains several bugfixes.
2048         Release notes: http://codemirror.net/doc/releases.html#v4
2049
2050         * Tools/PrettyPrinting/codemirror.js:
2051         * Tools/PrettyPrinting/css.js:
2052         * Tools/PrettyPrinting/javascript.js:
2053         * UserInterface/External/CodeMirror/codemirror.js:
2054         * UserInterface/External/CodeMirror/css.js:
2055         * UserInterface/External/CodeMirror/javascript.js:
2056         * UserInterface/External/CodeMirror/livescript.js:
2057         * UserInterface/External/CodeMirror/runmode.js:
2058         * UserInterface/External/CodeMirror/xml.js:
2059         Updated to CodeMirror 4.1.
2060
2061 2014-04-24  Jonathan Wells  <jonowells@apple.com>
2062
2063         Web Inspector: CSS autofill suggests properties instead of values when values are needed
2064         https://bugs.webkit.org/show_bug.cgi?id=132090
2065
2066         Reviewed by Joseph Pecoraro.
2067
2068         Updates are required to the CodeMirror helpers to be compatible with
2069         CodeMirror 4. Some of those changes have been made to fix an issue
2070         with CSS autofill, CSS code coloring, and also
2071         https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
2072         CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
2073         data structure. All references to state.stack are obsolete. Many
2074         are fixed here and more will be in an upcoming patch.
2075
2076         * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
2077         * UserInterface/Controllers/CodeMirrorCompletionController.js:
2078         (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
2079         * UserInterface/External/CodeMirror/less.js: Removed.
2080         * UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
2081         * UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
2082         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.
2083
2084 2014-04-24  Antoine Quint  <graouts@webkit.org>
2085
2086         Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
2087         https://bugs.webkit.org/show_bug.cgi?id=132083
2088
2089         Reviewed by Timothy Hatcher.
2090
2091         Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.
2092
2093         * UserInterface/Models/Gradient.js:
2094         (WebInspector.LinearGradient.linearGradientWithComponents):
2095
2096 2014-04-22  Brent Fulgham  <bfulgham@apple.com>
2097
2098         [Win] Support Python 2.7 in Cygwin
2099         https://bugs.webkit.org/show_bug.cgi?id=132023
2100
2101         Reviewed by Michael Saboff.
2102
2103         * WebInspectorUI.vcxproj/build-webinspectorui.sh: use
2104         proper path to Python under Cygwin.
2105
2106 2014-04-18  Katie Madonna  <madonnk@gmail.com>
2107
2108         Web Inspector: add entries for probe samples in the JS/Events timeline UI
2109         https://bugs.webkit.org/show_bug.cgi?id=131173
2110
2111         Reviewed by Timothy Hatcher.
2112
2113         Create probe sample fired entries for the JS/Events timeline UI.
2114
2115         * Localizations/en.lproj/localizedStrings.js:
2116         * UserInterface/Controllers/ProbeManager.js:
2117         (WebInspector.ProbeManager.prototype.probeForIdentifier): Added.
2118         * UserInterface/Controllers/TimelineManager.js: Added cases for probe sample recorded.
2119         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2120         (WebInspector.TimelineManager.prototype.eventRecorded):
2121         * UserInterface/Images/TimelineRecordProbeSampled.svg: Added.
2122         * UserInterface/Models/ScriptTimelineRecord.js: Create ProbeSampleRecorded record for ProbeSample case.
2123         * UserInterface/Views/TimelineIcons.css:
2124         (.probe-record .icon): Added.
2125         * UserInterface/Views/TimelineRecordTreeElement.js:
2126         (WebInspector.TimelineRecordTreeElement): Added case for probe sample recorded.
2127
2128 2014-04-15  Timothy Hatcher  <timothy@apple.com>
2129
2130         Web Inspector: CodeMirror LICENSE is not properly added to combined files
2131         https://bugs.webkit.org/show_bug.cgi?id=131674
2132
2133         Reviewed by Darin Adler.
2134
2135         * Scripts/copy-user-interface-resources.pl: Use $CODE_MIRROR_LICENSE instead
2136         for CodeMirror.css and CodeMirror.js.
2137
2138 2014-04-14  Jono Wells  <jonowells@apple.com>
2139
2140         Update to CodeMirror 4.0.
2141         https://bugs.webkit.org/show_bug.cgi?id=130019
2142
2143         The CodeMirror 4.0 library adds multiple selections and the ability to
2144         undo/redo selections. Selections are made by holding the Command (Cmd) key
2145         and clicking into an editor, or by holding Option (Alt) and making a block
2146         selection followed by entering a character or moving the cursor.
2147
2148         Reviewed by Timothy Hatcher.
2149
2150         * Scripts/update-codemirror-resources.rb:
2151         * Scripts/update-pretty-printer.rb:
2152         Update scripts to reflect updated locations for CodeMirror files.
2153         No longer copies LESS mode file as this has been integrated into CSS mode
2154         in CodeMirror 4.0.
2155
2156         * Tools/PrettyPrinting/codemirror.css:
2157         * Tools/PrettyPrinting/codemirror.js:
2158         * Tools/PrettyPrinting/css.js:
2159         * Tools/PrettyPrinting/javascript.js:
2160         * UserInterface/External/CodeMirror/clojure.js:
2161         * UserInterface/External/CodeMirror/closebrackets.js:
2162         * UserInterface/External/CodeMirror/codemirror.css:
2163         * UserInterface/External/CodeMirror/codemirror.js:
2164         * UserInterface/External/CodeMirror/coffeescript.js:
2165         * UserInterface/External/CodeMirror/comment.js:
2166         * UserInterface/External/CodeMirror/css.js:
2167         * UserInterface/External/CodeMirror/htmlmixed.js:
2168         * UserInterface/External/CodeMirror/javascript.js:
2169         * UserInterface/External/CodeMirror/livescript.js:
2170         * UserInterface/External/CodeMirror/matchbrackets.js:
2171         * UserInterface/External/CodeMirror/overlay.js:
2172         * UserInterface/External/CodeMirror/placeholder.js:
2173         * UserInterface/External/CodeMirror/runmode.js:
2174         * UserInterface/External/CodeMirror/sass.js:
2175         * UserInterface/External/CodeMirror/searchcursor.js:
2176         * UserInterface/External/CodeMirror/sql.js:
2177         * UserInterface/External/CodeMirror/xml.js:
2178         Update to CodeMirror 4.0.
2179
2180         * UserInterface/Main.html: Remove less.js which is now part of css.js.
2181
2182         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
2183         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2184         (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
2185         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
2186         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
2187         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
2188         Update styles to match CodeMirror changes. Update CSSStyleDeclarationTextEditor.js
2189         to match CodeMirror API updates (doc.removeLine() has been removed, so
2190         replaceRange() is used instead). Also the tokenTrackingController is now enabled in the
2191         CSSStyleDeclarationTextEditor and SourceCodeTextEditor when the Option (Alt) key
2192         is pressed instead of the Command (Cmd) key so as not to conflict with multiple
2193         cursor placement in the CodeMirror update.
2194
2195 2014-04-08  Brent Fulgham  <bfulgham@apple.com>
2196
2197         [Windows] Generate Optimized WebInspectorUI in Release Build
2198         https://bugs.webkit.org/show_bug.cgi?id=120120
2199
2200         Reviewed by Timothy Hatcher.
2201
2202         * Scripts/copy-user-interface-resources.pl: Copied from Scripts/copy-user-interface-resources.sh.
2203         * Scripts/copy-user-interface-resources.sh: Removed.
2204         * Scripts/remove-console-asserts.pl:
2205         * WebInspectorUI.vcxproj/WebInspectorUI.make: Added.
2206         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Switch to Makefile style.
2207         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters: Ditto.
2208         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: More work should
2209         be done in the new build-webinspectorui.sh file.
2210         * WebInspectorUI.vcxproj/build-webinspectorui.sh: Added.
2211         * WebInspectorUI.xcodeproj/project.pbxproj:
2212
2213 2014-04-08  Timothy Hatcher  <timothy@apple.com>
2214
2215         Fix corrupt APPLE_IMAGES_LICENSE.rtf after r165676.
2216         https://bugs.webkit.org/show_bug.cgi?id=131384
2217
2218         Reviewed by Joseph Pecoraro.
2219
2220         * APPLE_IMAGES_LICENSE.rtf:
2221
2222 2014-04-08  Timothy Hatcher  <timothy@apple.com>
2223
2224         Clean up old protocol JSON files to better match the latest
2225         https://bugs.webkit.org/show_bug.cgi?id=131308
2226
2227         Reviewed by Joseph Pecoraro.
2228
2229         * Versions/Inspector-iOS-6.0.json:
2230         * Versions/Inspector-iOS-7.0.json:
2231
2232 2014-04-05  Brian J. Burg  <burg@cs.washington.edu>
2233
2234         Enable WEB_REPLAY for PLATFORM(MAC)
2235         https://bugs.webkit.org/show_bug.cgi?id=130700
2236
2237         Reviewed by Timothy Hatcher.
2238
2239         If the ReplayAgent is available, then add an option to toggle between the
2240         replay interface and normal Timeline interface from the timeline
2241         sidebar panel. The option is available through a context menu item on the
2242         sidebar panel's top navigation bar.
2243
2244         If web replay not available, just show the non-replay interface.
2245
2246         * Localizations/en.lproj/localizedStrings.js:
2247         * UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting.
2248         (WebInspector.loaded):
2249
2250         * UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay
2251         interface elements, but only show them if showReplayInterfaceSetting is enabled.
2252         (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added
2253         (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added.
2254         (WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added.
2255
2256 2014-04-05  Brian J. Burg  <burg@cs.washington.edu>
2257
2258         Web Inspector: remove unused metrics and commands from the Timeline agent
2259         https://bugs.webkit.org/show_bug.cgi?id=131184
2260
2261         Reviewed by Timothy Hatcher.
2262
2263         Remove the Memory domain from old protocol versions. Remove enum values
2264         BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
2265         Remove miscellaneous Timeline commands that no longer exist and were never used.
2266
2267         * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
2268         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
2269         * Versions/Inspector-iOS-6.0.json:
2270         * Versions/Inspector-iOS-7.0.json:
2271
2272 2014-04-03  Brian J. Burg  <burg@cs.washington.edu>
2273
2274         Web Inspector: hook up probe samples to TimelineAgent's records
2275         https://bugs.webkit.org/show_bug.cgi?id=131127
2276
2277         Reviewed by Timothy Hatcher.
2278
2279         * UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.
2280         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
2281         (WebInspector.TimelineManager.prototype.eventRecorded):
2282
2283 2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
2284
2285         Web Inspector: JSContext inspection Resource search throws exception
2286         https://bugs.webkit.org/show_bug.cgi?id=131253
2287
2288         Reviewed by Timothy Hatcher.
2289
2290         Fail gracefully when none of the supported search backends are available.
2291         In JSContext inspection the DOM and Page agents are unavailable.
2292
2293         * UserInterface/Views/ResourceSidebarPanel.js:
2294         (WebInspector.ResourceSidebarPanel.prototype.performSearch):
2295
2296 2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
2297
2298         Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
2299         https://bugs.webkit.org/show_bug.cgi?id=129857
2300
2301         Reviewed by Timothy Hatcher.
2302
2303         When inspecting a JSContext, there is no main frame resource, so
2304         attempting to show it was resulting in a runtime error.
2305         Instead, check to see if there is a main frame resource, fallback
2306         to selecting the first tree element.
2307
2308         * UserInterface/Base/Main.js:
2309         (WebInspector.toggleConsoleView):
2310         * UserInterface/Views/DebuggerSidebarPanel.js:
2311         (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
2312         * UserInterface/Views/ResourceSidebarPanel.js:
2313         (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
2314
2315 2014-04-04  Ion Rosca  <rosca@adobe.com>
2316
2317         [CSS Blending] Add compositing reason for isolation.
2318         https://bugs.webkit.org/show_bug.cgi?id=131153
2319
2320         Reviewed by Joseph Pecoraro.
2321
2322         * Localizations/en.lproj/localizedStrings.js:
2323         * UserInterface/Views/LayerTreeSidebarPanel.js:
2324         (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):
2325
2326 2014-04-02  Timothy Hatcher  <timothy@apple.com>
2327
2328         Remove Input domain from the Web Inspector protocol.
2329
2330         https://bugs.webkit.org/show_bug.cgi?id=131073
2331
2332         Reviewed by Joseph Pecoraro.
2333
2334         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
2335         * Versions/Inspector-iOS-7.0.json: Removed Input domain.
2336
2337 2014-04-01  Timothy Hatcher  <timothy@apple.com>
2338
2339         Remove HeapProfiler from the Web Inspector protocol.
2340
2341         https://bugs.webkit.org/show_bug.cgi?id=131070
2342
2343         Reviewed by Joseph Pecoraro.
2344
2345         * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
2346         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
2347         * Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
2348         * Versions/Inspector-iOS-7.0.json: Ditto.
2349
2350 2014-04-01  Joseph Pecoraro  <pecoraro@apple.com>
2351
2352         Web Inspector: Remove stale localStorage deletion transition code
2353         https://bugs.webkit.org/show_bug.cgi?id=131061
2354
2355         Reviewed by Timothy Hatcher.
2356
2357         * UserInterface/Base/ImageUtilities.js:
2358         This code has been in for a while. We have transitioned to Web SQL.
2359
2360 2014-04-01  Zoltan Horvath  <zoltan@webkit.org>
2361
2362         [CSS Exclusions] Remove exclusions parsing support
2363         https://bugs.webkit.org/show_bug.cgi?id=131046
2364
2365         Reviewed by David Hyatt.
2366
2367         * UserInterface/Models/CSSKeywordCompletions.js:
2368
2369 2014-04-01  Timothy Hatcher  <timothy@apple.com>
2370
2371         Remove the rest of the old Canvas inspection support.
2372
2373         https://bugs.webkit.org/show_bug.cgi?id=131066
2374
2375         Reviewed by Joseph Pecoraro.
2376
2377         * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Updated.
2378         * Versions/Inspector-iOS-7.0.json: Removed Canvas domain.
2379
2380 2014-03-28  James Craig  <jcraig@apple.com>
2381
2382         Web Inspector: AXI: support for live regions
2383         https://bugs.webkit.org/show_bug.cgi?id=130725
2384
2385         Reviewed by Timothy Hatcher.
2386
2387         Initial support for @aria-live, @aria-atomic, and @aria-busy.
2388
2389         * Localizations/en.lproj/localizedStrings.js:
2390         * UserInterface/Models/DOMNode.js:
2391         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2392         * UserInterface/Views/Main.css:
2393
2394 2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2395
2396         Web Inspector: console.warn is showing as error instead of warning
2397         https://bugs.webkit.org/show_bug.cgi?id=130921
2398
2399         Reviewed by Timothy Hatcher.
2400
2401         * UserInterface/Models/DefaultDashboard.js:
2402         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
2403         Use our enums instead of hardcoded strings.
2404
2405 2014-03-28  James Craig  <jcraig@apple.com>
2406
2407         Web Inspector: AXI: expose what elements get generic "clickable" status
2408         https://bugs.webkit.org/show_bug.cgi?id=130721
2409
2410         Reviewed by Timothy Hatcher.
2411
2412         Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
2413
2414         * Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
2415         * UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
2416         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.
2417
2418 2014-03-27  James Craig  <jcraig@apple.com>
2419
2420         Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
2421         https://bugs.webkit.org/show_bug.cgi?id=130827
2422
2423         Reviewed by Timothy Hatcher.
2424
2425         UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.
2426
2427         * Localizations/en.lproj/localizedStrings.js:
2428         * UserInterface/Models/DOMNode.js:
2429         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2430
2431 2014-03-27  Antoine Quint  <graouts@webkit.org>
2432
2433         Web Inspector: clearing the console log doesn't update the activity viewer
2434         https://bugs.webkit.org/show_bug.cgi?id=130774
2435
2436         Reviewed by Joseph Pecoraro.
2437
2438         Ensure we take the changes made to the ivars into account on the view.
2439
2440         * UserInterface/Models/DefaultDashboard.js:
2441         (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
2442
2443 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
2444
2445         [Win] Correct handling of autogenerated WebInspectorUI files
2446         https://bugs.webkit.org/show_bug.cgi?id=130846
2447
2448         Reviewed by Joseph Pecoraro.
2449
2450         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
2451         'Protocol' subdirectory of the WebInspectorUI directory.
2452
2453 2014-03-25  James Craig  <jcraig@apple.com>
2454
2455         Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
2456         https://bugs.webkit.org/show_bug.cgi?id=130712
2457
2458         Reviewed by Timothy Hatcher.
2459
2460         Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
2461
2462         * Localizations/en.lproj/localizedStrings.js:
2463         * UserInterface/Models/DOMNode.js:
2464         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2465
2466 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
2467
2468         [GTK] Remove the autotools build
2469         https://bugs.webkit.org/show_bug.cgi?id=130717
2470
2471         Reviewed by Anders Carlsson.
2472
2473         * GNUmakefile.am: Removed.
2474
2475 2014-03-24  Timothy Hatcher  <timothy@apple.com>
2476
2477         Lazy load source code referred to from the source map, instead of when
2478         the source code is revealed in the Resources sidebar.
2479
2480         https://bugs.webkit.org/show_bug.cgi?id=130625
2481
2482         Reviewed by Joseph Pecoraro.
2483
2484         * UserInterface/Models/SourceMapResource.js:
2485         (WebInspector.SourceMapResource): Set up the type info here so it can be used to
2486         dispaly the right icon in the sidebar.
2487         (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend): Use _contentRequested.
2488         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
2489         Reset finished and remove the type change dance we had before.
2490         * UserInterface/Views/SourceMapResourceTreeElement.js:
2491         (WebInspector.SourceMapResourceTreeElement.prototype.onattach): Removed. Don't request content here.
2492
2493 2014-03-23  James Craig  <jcraig@apple.com>
2494
2495         Web Inspector: AXI: add other ARIA one-to-many relationships: owns, flowto, controls.
2496         https://bugs.webkit.org/show_bug.cgi?id=130635
2497
2498         Reviewed by Timothy Hatcher.
2499
2500         Support for @aria-owns, @aria-controls, and @aria-flowto.
2501
2502         * Localizations/en.lproj/localizedStrings.js:
2503         * UserInterface/Models/DOMNode.js:
2504         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2505
2506 2014-03-21  James Craig  <jcraig@apple.com>
2507
2508         Web Inspector: AXI: Expose Accessibility Tree children of the selected node
2509         https://bugs.webkit.org/show_bug.cgi?id=130264
2510
2511         Reviewed by Timothy Hatcher.
2512
2513         Expose the accessibility tree children (different from DOM children) of the
2514         current node in the accessibility node inspector.
2515
2516         * Localizations/en.lproj/localizedStrings.js: New "Children" string.
2517         * UserInterface/Base/DOMUtilities.js: Added linkifyAccessibilityNodeReference.
2518         * UserInterface/Models/DOMNode.js: Support for accessibility children.
2519         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Support for accessibility children.
2520         * UserInterface/Views/Main.css: New styles for .node-link-list.
2521
2522 2014-03-20  Brian Burg  <bburg@apple.com>
2523
2524         Web Inspector: add temporary buttons to capture/play/pause replay recordings
2525         https://bugs.webkit.org/show_bug.cgi?id=129692
2526
2527         Reviewed by Timothy Hatcher.
2528
2529         If the Replay agent is available, replace the existing ad-hoc navigation bar
2530         in the Timelines sidebar panel with a record and pause/play button. This UI
2531         is temporary.
2532
2533         * Localizations/en.lproj/localizedStrings.js:
2534         * UserInterface/Controllers/ReplayManager.js: Turn two segment state assertions into
2535         FIXMEs because the assertions are too strong until the public API uses async chains.
2536         (WebInspector.ReplayManager.prototype.replayToMarkIndex):
2537         (WebInspector.ReplayManager.prototype.replayToCompletion):
2538         * UserInterface/Images/Circle.svg: Added.
2539         * UserInterface/Views/ActivateButtonNavigationItem.js:
2540         (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
2541         * UserInterface/Views/ButtonNavigationItem.css: Adjust styles so the default style
2542         has opacity:1 and the glyph color is darker.
2543         (.navigation-bar .item.button.suppress-emboss > .glyph):
2544         (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
2545         * UserInterface/Views/ButtonNavigationItem.js:
2546         (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Explicitly
2547         generate the width and height properties so that separate button instances do
2548         not influence the size of each other.
2549
2550         * UserInterface/Views/TimelineSidebarPanel.js:
2551         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked):
2552         (WebInspector.TimelineSidebarPanel.prototype._replayCaptureButtonClicked):
2553         (WebInspector.TimelineSidebarPanel.prototype._replayPauseResumeButtonClicked):
2554         (WebInspector.TimelineSidebarPanel.prototype._captureStarted):
2555         (WebInspector.TimelineSidebarPanel.prototype._captureStopped):
2556         (WebInspector.TimelineSidebarPanel.prototype._playbackStarted):
2557         (WebInspector.TimelineSidebarPanel.prototype._playbackPaused):
2558
2559 2014-03-20  Brian Burg  <bburg@apple.com>
2560
2561         Web Inspector: add frontend controller and models for replay sessions
2562         https://bugs.webkit.org/show_bug.cgi?id=130145
2563
2564         Reviewed by Joseph Pecoraro.
2565
2566         Upstream the frontend models and controller for web replay. The replay manager
2567         syncs with the backend controller's replay state and replay sessions by using
2568         the same state machines and transitions.
2569
2570         Session and segment models update their data asynchronously using promises.
2571
2572         * UserInterface/Base/Main.js:
2573         (WebInspector.loaded): Add the replay manager.
2574         * UserInterface/Base/Test.js:
2575         (WebInspector.loaded): Add the replay manager.
2576         (InspectorTest.debugLog): Fix a bug in the unescape/escape trick.
2577         (InspectorTest.addResult): Don't try to add results until the test page has loaded.
2578         (InspectorTest.testPageDidLoad): Clear the isReloading flag.
2579         (InspectorTest.reloadPage): Reimplement using promises. Return a promise.
2580         * UserInterface/Base/Utilities.js: Implement Map.take in the obvious way.
2581         * UserInterface/Controllers/ReplayManager.js: Added.
2582         (WebInspector.ReplayManager):
2583         (WebInspector):
2584         (WebInspector.ReplayManager.prototype.get sessionState):
2585         (WebInspector.ReplayManager.prototype.get segmentState):
2586         (WebInspector.ReplayManager.prototype.get activeSessionIdentifier):
2587         (WebInspector.ReplayManager.prototype.get activeSegmentIdentifier):
2588         (WebInspector.ReplayManager.prototype.get playbackSpeed):
2589         (WebInspector.ReplayManager.prototype.set playbackSpeed):
2590         (WebInspector.ReplayManager.prototype.get currentPosition):
2591         (WebInspector.ReplayManager.prototype.getSession.get var):
2592         (WebInspector.ReplayManager.prototype.getSegment.get var):
2593         (WebInspector.ReplayManager.prototype.captureStarted):
2594         (WebInspector.ReplayManager.prototype.captureStopped):
2595         (WebInspector.ReplayManager.prototype.playbackStarted):
2596         (WebInspector.ReplayManager.prototype.playbackHitPosition):
2597         (WebInspector.ReplayManager.prototype.playbackPaused):
2598         (WebInspector.ReplayManager.prototype.playbackFinished):
2599         (WebInspector.ReplayManager.prototype.sessionCreated.set catch):
2600         (WebInspector.ReplayManager.prototype.sessionCreated.this):
2601         (WebInspector.ReplayManager.prototype.sessionCreated):
2602         (WebInspector.ReplayManager.prototype.sessionModified):
2603         (WebInspector.ReplayManager.prototype.sessionRemoved.then):
2604         (WebInspector.ReplayManager.prototype.sessionRemoved):
2605         (WebInspector.ReplayManager.prototype.segmentCreated.set this):
2606         (WebInspector.ReplayManager.prototype.segmentCompleted.set catch):
2607         (WebInspector.ReplayManager.prototype.segmentCompleted):
2608         (WebInspector.ReplayManager.prototype.segmentRemoved.then):
2609         (WebInspector.ReplayManager.prototype.segmentRemoved):
2610         (WebInspector.ReplayManager.prototype.segmentLoaded):
2611         (WebInspector.ReplayManager.prototype.segmentUnloaded):
2612         (WebInspector.ReplayManager.prototype.startCapturing):
2613         (WebInspector.ReplayManager.prototype.stopCapturing):
2614         (WebInspector.ReplayManager.prototype.replayToMarkIndex):
2615         (WebInspector.ReplayManager.prototype.replayToCompletion):
2616         (WebInspector.ReplayManager.prototype.pausePlayback):
2617         (WebInspector.ReplayManager.prototype.stopPlayback):
2618         (WebInspector.ReplayManager.prototype._changeSessionState):
2619         (WebInspector.ReplayManager.prototype._changeSegmentState):
2620         * UserInterface/Main.html:
2621         * UserInterface/Models/ReplaySession.js: Added.
2622         (WebInspector.ReplaySession):
2623         (WebInspector.ReplaySession.fromPayload):
2624         (WebInspector.ReplaySession.prototype.get segments):
2625         (WebInspector.ReplaySession.prototype.segmentsChanged):
2626         (WebInspector.ReplaySession.prototype._updateFromPayload):
2627         * UserInterface/Models/ReplaySessionSegment.js: Added.
2628         (WebInspector.IncompleteSessionSegment):
2629         (WebInspector.IncompleteSessionSegment.prototype.get isComplete):
2630         (WebInspector.ReplaySessionSegment):
2631         (WebInspector.ReplaySessionSegment.prototype.get isComplete):
2632         * UserInterface/Protocol/InspectorBackend.js:
2633         (InspectorBackendClass.prototype.registerCommand):
2634         (InspectorBackendClass.prototype._promise): Add a promise-returning method for
2635         invoking backend commands that return a result asynchronously.
2636         * UserInterface/Protocol/ReplayObserver.js: Added.
2637         (WebInspector.ReplayPosition):
2638         (WebInspector.ReplayPosition.fromProtocol):
2639         (WebInspector.ReplayObserver):
2640         (WebInspector.ReplayObserver.prototype.captureStarted):
2641         (WebInspector.ReplayObserver.prototype.captureStopped):
2642         (WebInspector.ReplayObserver.prototype.playbackStarted):
2643         (WebInspector.ReplayObserver.prototype.playbackHitPosition):
2644         (WebInspector.ReplayObserver.prototype.playbackPaused):
2645         (WebInspector.ReplayObserver.prototype.playbackFinished):
2646         (WebInspector.ReplayObserver.prototype.inputSuppressionChanged):
2647         (WebInspector.ReplayObserver.prototype.sessionCreated):
2648         (WebInspector.ReplayObserver.prototype.sessionModified):
2649         (WebInspector.ReplayObserver.prototype.sessionRemoved):
2650         (WebInspector.ReplayObserver.prototype.sessionLoaded):
2651         (WebInspector.ReplayObserver.prototype.segmentCreated):
2652         (WebInspector.ReplayObserver.prototype.segmentRemoved):
2653         (WebInspector.ReplayObserver.prototype.segmentCompleted):
2654         (WebInspector.ReplayObserver.prototype.segmentLoaded):
2655         (WebInspector.ReplayObserver.prototype.segmentUnloaded):
2656         * UserInterface/Test.html:
2657
2658 2014-03-20  Joseph Pecoraro  <pecoraro@apple.com>
2659
2660         Web Inspector: DebuggerDashboardView looks scrunched debugging JSContext
2661         https://bugs.webkit.org/show_bug.cgi?id=130527
2662
2663         Reviewed by Timothy Hatcher.
2664
2665         Instead of using body.javascript to force a collapsed style,
2666         actually use the toolbar's collapsed class.
2667
2668         * UserInterface/Views/DashboardContainerView.css:
2669         (.toolbar.collapsed .dashboard-container):
2670         * UserInterface/Views/Toolbar.js:
2671
2672 2014-03-20  Katie Madonna  <madonnk@gmail.com>
2673
2674         Web Inspector: probe sidebar should use overflow:scroll and split space evenly
2675         https://bugs.webkit.org/show_bug.cgi?id=129627
2676
2677         Reviewed by Timothy Hatcher.
2678
2679         Use flexbox to split space evenly in the probe sidebar, which required changes to collapse
2680         format, remove scrollbar styles from old timelapse branch.
2681
2682         * UserInterface/Views/ProbeDetailsSidebarPanel.css: Space elements evenly with flexbox
2683         and make collapse correctly, remove scrollbar style.
2684         * UserInterface/Views/ProbeSetDetailsSection.js: Removed inline style.
2685
2686 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
2687
2688         Web Inspector: Make update-InspectorBackendCommands.rb only update legacy protocol versions
2689         https://bugs.webkit.org/show_bug.cgi?id=130412
2690
2691         Reviewed by Timothy Hatcher.
2692
2693         Rename the script and simplify to only update Legacy protocol versions.
2694
2695         * Scripts/update-LegacyInspectorBackendCommands.rb: Renamed from Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb.
2696
2697 2014-03-18  Joseph Pecoraro  <pecoraro@apple.com>
2698
2699         Web Inspector: sourceMapResourceLoaded expects statusCode parameter
2700         https://bugs.webkit.org/show_bug.cgi?id=130377
2701
2702         Reviewed by Timothy Hatcher.
2703
2704         * UserInterface/Models/SourceMapResource.js:
2705
2706 2014-03-17  Joseph Pecoraro  <pecoraro@apple.com>
2707
2708         Web Inspector: Uncaught Exception in JSContext Inspector
2709         https://bugs.webkit.org/show_bug.cgi?id=130368
2710
2711         Reviewed by Timothy Hatcher.
2712
2713         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2714         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
2715         Feature check DOMAgent as well as the function.
2716
2717 2014-03-16  Brian Burg  <bburg@apple.com>
2718
2719         Web Inspector: vended backend commands file should be generated as part of the build
2720         https://bugs.webkit.org/show_bug.cgi?id=130110
2721
2722         Reviewed by Timothy Hatcher.
2723
2724         Copy the backend commands generated in other frameworks into our built products directory.
2725
2726         * Configurations/WebInspectorUIFramework.xcconfig: Set up variables so we can pull backend
2727         commands files from the private headers directory of other frameworks.
2728         * Scripts/copy-user-interface-resources.sh: Always ditto inspector backend commands.
2729         * UserInterface/Protocol/InspectorJSBackendCommands.js: Removed.
2730         * UserInterface/Protocol/InspectorWebBackendCommands.js: Removed.
2731         * WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Copy over the generated
2732         backend commands files from the other frameworks.
2733         * WebInspectorUI.xcodeproj/project.pbxproj: Add JavaScriptCore and WebCore as
2734         framework dependencies so Xcode builds them first.
2735
2736 2014-03-15  David Kilzer  <ddkilzer@apple.com>
2737
2738         [iOS] Define SYSTEM_VERSION_PREFIX consistently
2739         <http://webkit.org/b/130293>
2740         <rdar://problem/15926359>
2741
2742         Reviewed by Dan Bernstein.
2743
2744         * Configurations/Version.xcconfig:
2745         (SYSTEM_VERSION_PREFIX): Sync with
2746         Source/WebKit/mac/Version.xcconfig.
2747
2748 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
2749
2750         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
2751         https://bugs.webkit.org/show_bug.cgi?id=130276
2752         <rdar://problem/16266927>
2753
2754         Reviewed by Simon Fraser.
2755
2756         * APPLE_IMAGES_LICENSE.rtf:
2757         * UserInterface/Base/DOMUtilities.js:
2758         * UserInterface/Models/Color.js:
2759         * UserInterface/Views/ConsoleCommand.js:
2760         * UserInterface/Views/ConsoleCommandResult.js:
2761         * UserInterface/Views/ConsoleGroup.js:
2762         * UserInterface/Views/ConsoleMessage.js:
2763         * UserInterface/Views/ConsoleMessageImpl.js:
2764         * UserInterface/Views/DOMTreeElement.js:
2765         * UserInterface/Views/DOMTreeOutline.js:
2766         * UserInterface/Views/DOMTreeUpdater.js:
2767         * UserInterface/Views/GradientSlider.css:
2768         * UserInterface/Views/GradientSlider.js:
2769         * UserInterface/Views/TreeOutline.js:
2770
2771 2014-03-14  Bem Jones-Bey  <bjonesbe@adobe.com>
2772
2773         [CSS Shapes] Add autocomplete for -webkit-shape-outside
2774         https://bugs.webkit.org/show_bug.cgi?id=130268
2775
2776         Reviewed by Joseph Pecoraro.
2777
2778         Add completions for -webkit-shape-outside. Also add the box shapes to
2779         the possible completions for clip-path.
2780
2781         * UserInterface/Models/CSSKeywordCompletions.js:
2782
2783 2014-03-14  Joseph Pecoraro  <pecoraro@apple.com>
2784
2785         Web Inspector: Update shapes autocompletion suggestions
2786         https://bugs.webkit.org/show_bug.cgi?id=130255
2787
2788         Reviewed by Bem Jones-Bey.
2789
2790         * UserInterface/Models/CSSKeywordCompletions.js:
2791
2792 2014-03-14  James Craig  <jcraig@apple.com>
2793
2794         Web Inspector: AXI: Expose Accessibility Tree parent of the selected node
2795         https://bugs.webkit.org/show_bug.cgi?id=129943
2796
2797         Reviewed by Timothy Hatcher.
2798
2799         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2800
2801         Web Accessibility Node Inspector now displays a link to the AX parent node,
2802         because it's not a 1:1 match with the DOMNode parent.
2803
2804         * Localizations/en.lproj/localizedStrings.js: new "Parent" string.
2805         * UserInterface/Base/DOMUtilities.js: Updating linkifyNodeReference to include role; adding new roleSelectorForNode method.
2806         * UserInterface/Models/DOMNode.js: AX Parent support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).
2807         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Accessibility parent node.
2808
2809 2014-03-14  Diego Pino Garcia  <dpino@igalia.com>
2810
2811         Web Inspector: Resource and Frame saveIdentityToCookie should store URL hashes not URLs
2812         https://bugs.webkit.org/show_bug.cgi?id=126833
2813
2814         Reviewed by Timothy Hatcher.
2815
2816         * UserInterface/Models/Frame.js:
2817         (WebInspector.Frame.prototype.saveIdentityToCookie):
2818         * UserInterface/Models/Resource.js:
2819         (WebInspector.Resource.prototype.saveIdentityToCookie):
2820
2821 2014-03-13  James Craig  <jcraig@apple.com>
2822
2823         Web Inspector: AXI: Use loc strings for known aria-invalid types
2824         https://bugs.webkit.org/show_bug.cgi?id=129952
2825
2826         Reviewed by Joseph Pecoraro.
2827
2828         Updating inspector-protocol and UI display values for @aria-invalid.
2829
2830         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2831
2832         * Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings.
2833         * UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid
2834         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly.
2835
2836 2014-03-13  Diego Pino Garcia  <dpino@igalia.com>
2837
2838         Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
2839         https://bugs.webkit.org/show_bug.cgi?id=129779
2840
2841         Reviewed by Timothy Hatcher.
2842
2843         * Localizations/en.lproj/localizedStrings.js: Add label "Focused".
2844         * UserInterface/Models/DOMNode.js: Set property "focused" in
2845         accessibilityProperties.
2846         (WebInspector.DOMNode.prototype.accessibilityProperties): Add row for
2847         property "focused".
2848         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2849         (WebInspector.DOMNodeDetailsSidebarPanel):
2850         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
2851         Refresh value of property "focused" in UI.
2852
2853 2014-03-13  Joseph Pecoraro  <pecoraro@apple.com>
2854
2855         Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously
2856         https://bugs.webkit.org/show_bug.cgi?id=130217
2857
2858         Reviewed by Timothy Hatcher.
2859
2860         * UserInterface/Protocol/InspectorFrontendHostStub.js:
2861
2862 2014-03-13  Joseph Pecoraro  <pecoraro@apple.com>
2863
2864         Web Inspector: Network.loadResource should include the response status code
2865         https://bugs.webkit.org/show_bug.cgi?id=130216
2866
2867         Reviewed by Timothy Hatcher.
2868
2869         * UserInterface/Controllers/SourceMapManager.js:
2870         (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
2871         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
2872         * UserInterface/Models/SourceMapResource.js:
2873         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
2874         If the response is 400 or larger, treat it as an error / failed load.
2875
2876         * UserInterface/Protocol/InspectorWebBackendCommands.js:
2877         Update protocol to provide status code parameter.
2878
2879 2014-03-12  Brian Burg  <bburg@apple.com>
2880
2881         Web Inspector: Remove unused callId parameter from evaluateInWebInspector
2882         https://bugs.webkit.org/show_bug.cgi?id=129744
2883
2884         Reviewed by Timothy Hatcher.
2885
2886         * UserInterface/Protocol/InspectorJSBackendCommands.js:
2887         * UserInterface/Protocol/InspectorObserver.js:
2888         (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):
2889
2890 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
2891
2892         Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
2893         https://bugs.webkit.org/show_bug.cgi?id=130167
2894
2895         Reviewed by Timothy Hatcher.
2896
2897         Feature check the protocol method before using it. It is
2898         fine to do nothing if the feature is not supported.
2899
2900         * UserInterface/Controllers/DOMTreeManager.js:
2901
2902 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
2903
2904         Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
2905         https://bugs.webkit.org/show_bug.cgi?id=130037
2906
2907         Reviewed by Timothy Hatcher.
2908
2909         Feature detect if accessibility information is supported before
2910         creating or attempting to update the accessibility section.
2911
2912         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2913         (WebInspector.DOMNodeDetailsSidebarPanel):
2914         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
2915         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
2916
2917 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
2918
2919         Web Inspector: Fix multiple console.assert stripping issues
2920         https://bugs.webkit.org/show_bug.cgi?id=130166
2921
2922         Reviewed by Timothy Hatcher.
2923
2924         There were a couple console.assert stripping issues in production.
2925         One line required a semicolon so was avoiding getting stripped.
2926         One resulted in a logic change, when stripping the only statement
2927         of a control flow block. Add a warning for such cases.
2928
2929         * Scripts/remove-console-asserts.pl:
2930         Add warning for a console.assert being the only statement in a control flow block
2931         without braces. When it is stripped it may change the flow of the function.
2932
2933         * Scripts/remove-console-asserts-dryrun.rb: Added.
2934         Add a script to quickly test running remove console asserts on our files, to
2935         help catch errors not in a production build and in the original non-combined
2936         files, so you can more easily fix issues.
2937
2938         * UserInterface/Controllers/DOMTreeManager.js:
2939         (WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
2940         Convert the for loop into a single console.assert statement.
2941
2942         * UserInterface/Views/DataGrid.js:
2943         (WebInspector.DataGrid.prototype.removeChild):
2944         Add missing semicolon.
2945
2946 2014-03-12  Brian Burg  <bburg@apple.com>
2947
2948         Web Inspector: convert model tests and inspector-test.js to use Test.html
2949         https://bugs.webkit.org/show_bug.cgi?id=129217
2950
2951         Reviewed by Timothy Hatcher.
2952
2953         Miscellaneous changes to make the inspector model test harness work well in
2954         scenarios where the test page must navigate or reload. Also improve reporting
2955         test failures so that messages will be dumped correctly even when an exception
2956         is thrown in the Inspector or the test times out.
2957
2958         * UserInterface/Base/Test.js:
2959         (WebInspector.loaded): register new managers and observers.
2960         (InspectorTest.log): Stringify the argument if it's an object.
2961         (InspectorTest.assert): Stringify the argument if it's an object. Don't log
2962         unless the condition is false.
2963
2964         (InspectorTest.expectThat): Added. Like assert(), but always logs.
2965         (InspectorTest.debugLog): Escape and unescape the string properly.
2966         (InspectorTest.completeTest): Fix teardown so messages are not lost.
2967         (InspectorTest.evaluateInPage): Accept a callback argument.
2968         (InspectorTest.addResult): Don't rebuild results when adding a new result.
2969         (InspectorTest._resendResults.decrementPendingResponseCount): Added.
2970
2971         (InspectorTest._resendResults): Added. Track the number of pending
2972         responses and invoke a given callback when everything has been resent.
2973
2974         (InspectorTest.testPageDidLoad): Renamed from `pageLoaded`.
2975         (InspectorTest.reloadPage): Added.
2976         (InspectorTest.reportUncaughtException): Prevent the default handler from running.
2977         * UserInterface/Protocol/InspectorBackend.js:
2978         (InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
2979         messages on the inspector page without blowing away the entire call stack.
2980
2981         * UserInterface/Test.html: Add files used by Network and Timeline domains.
2982
2983 2014-03-11  Brian Burg  <bburg@apple.com>
2984
2985         Web Inspector: DataGrid should have an API to set sort column and direction
2986         https://bugs.webkit.org/show_bug.cgi?id=128783
2987
2988         Reviewed by Timothy Hatcher.
2989
2990         Previously there was no way for DataGrid clients to programmatically change
2991         the sort order or sort column identifier after the data grid was constructed.
2992         This patch modernizes DataGrid sorting by exposing getters and setters for
2993         sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
2994         the sort settings have changed.
2995
2996         This patch also modernizes sorting functionality in DataGrid clients, and in
2997         a few clients it moves column identifiers from numbers to string identifiers.
2998
2999         * UserInterface/Main.html:
3000         * UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers
3001         instead of numbers. Don't repopulate the entire table when the sort changes, instead
3002         call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.
3003
3004         (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
3005         (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
3006         (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
3007         (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
3008
3009         * UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead
3010         of numbers. Don't sort the cookies themselves, just the data grid nodes representing
3011         each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
3012         comparator. Don't rebuild the entire table when the sort changes.
3013
3014         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
3015         (WebInspector.CookieStorageContentView.prototype._sortDataGrid):
3016         (WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
3017         (WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):
3018
3019         * UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder
3020         and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
3021         class names into constants. Remove the "sort" field on column config objects; instead
3022         should use the DataGrid.sortColumnIdentifier setter after construction.
3023
3024         (WebInspector.DataGrid): Keep sort settings in private variables.
3025         (WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
3026         (WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
3027         (WebInspector.DataGrid.prototype.moveToNextCell):
3028         (WebInspector.DataGrid.prototype._editingCommitted):
3029         (WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
3030         coalesce multiple sort requests within the same draw frame.
3031         (WebInspector.DataGrid.prototype._sortNodesCallback):
3032         (WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.
3033         * UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance
3034         now that sort requests are coalesced by requestAnimationFrame.
3035
3036         * UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.
3037         Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.
3038
3039         (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
3040         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
3041         (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
3042         * UserInterface/Views/LayoutTimelineView.js:
3043         * UserInterface/Views/LegacyJavaScriptProfileView.js:
3044         (WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):
3045         * UserInterface/Views/NetworkTimelineView.js:
3046         * UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.
3047         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
3048         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
3049         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
3050         * UserInterface/Views/ScriptTimelineView.js:
3051         * UserInterface/Views/TimelineDataGrid.js:
3052         (WebInspector.TimelineDataGrid.prototype._sortComparator):
3053
3054 2014-03-10  James Craig  <jcraig@apple.com>
3055
3056         Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
3057         https://bugs.webkit.org/show_bug.cgi?id=129781
3058
3059         Reviewed by Joseph Pecoraro.
3060
3061         Enabling several more properties to be exposed in the Accessibility Node Inspector.
3062
3063         Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3064
3065         * Localizations/en.lproj/localizedStrings.js:
3066         * UserInterface/Models/DOMNode.js:
3067         * UserInterface/Protocol/InspectorWebBackendCommands.js:
3068         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3069
3070 2014-03-10  Brian Burg  <bburg@apple.com>
3071
3072         Web Inspector: show a debugging-oriented dashboard when scripts pause
3073         https://bugs.webkit.org/show_bug.cgi?id=129913
3074
3075         Reviewed by Timothy Hatcher.
3076
3077         Using the dashboard swapping functionality just added, show a debugger dashboard
3078         whenever the debugger pauses, and hide it when it resumes. The debugger manager
3079         already coalesces pause/resume events across stepping commands.
3080
3081         The dashboard itself is straightforward, with the exception of how it uses the
3082         navigation bar buttons. Since buttons from the same URL can't be reused if they
3083         are bezeled, we don't bezel our button, and set the button image as the glyph mask
3084         instead of the background image. This lets us easily animate the glyph shape.
3085
3086         We also have to more forcefully declare a bunch of icon rules that would otherwise
3087         be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
3088         bar icon styles).
3089
3090         * Localizations/en.lproj/localizedStrings.js:
3091         * UserInterface/Base/Main.js:
3092         (WebInspector.loaded):
3093         (WebInspector.contentLoaded):
3094         (WebInspector._debuggerDidPause):
3095         (WebInspector._debuggerDidResume):
3096         * UserInterface/Controllers/DashboardManager.js:
3097         (WebInspector.DashboardManager):
3098         * UserInterface/Main.html:
3099         * UserInterface/Models/DebuggerDashboard.js: Added.
3100         (WebInspector.DebuggerDashboard):
3101         * UserInterface/Views/ButtonNavigationItem.css:
3102         (.navigation-bar .item.button.suppress-emboss > .glyph):
3103         * UserInterface/Views/ButtonNavigationItem.js:
3104         (WebInspector.ButtonNavigationItem.prototype._updateImage):
3105         * UserInterface/Views/DashboardView.js:
3106         (WebInspector.DashboardView):
3107         * UserInterface/Views/DebuggerDashboardView.css: Added.
3108         (.toolbar .dashboard.debugger):
3109         (.dashboard.debugger > .message):
3110         (.dashboard.debugger .navigation-bar):
3111         (.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
3112         (.dashboard.debugger .navigation-bar .item.button):
3113         (.dashboard.debugger .navigation-bar .item.button > .glyph):
3114         (@-webkit-keyframes pulse-pause-button):
3115         (to):
3116         (.dashboard.debugger > .divider):
3117         (.dashboard.debugger > div):
3118         (.dashboard.debugger > .location > :first-child):
3119         (.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
3120         (.dashboard.debugger > .location img.icon):
3121         (.dashboard.debugger > .location .function-name):
3122         (.dashboard.debugger > .location .function-name::after):
3123         (.dashboard.debugger > .location .go-to-link):
3124         (.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
3125         (.toolbar.small-size .dashboard.debugger > .message):
3126         (.toolbar.small-size .dashboard.debugger > .location > :first-child):
3127         * UserInterface/Views/DebuggerDashboardView.js: Added.
3128         (WebInspector.DebuggerDashboardView):
3129         (WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
3130         (WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):
3131         * UserInterface/Views/DebuggerSidebarPanel.js:
3132         (WebInspector.DebuggerSidebarPanel):
3133
3134 2014-03-10  Brian Burg  <bburg@apple.com>
3135
3136         Web Inspector: convert the dashboard toolbar item to support multiple dashboards
3137         https://bugs.webkit.org/show_bug.cgi?id=129898
3138
3139         Reviewed by Timothy Hatcher.
3140
3141         We want to ability to swap in and out different dashboard contents depending on
3142         circumstances such as debugger activity and page loading. This patch converts the
3143         existing hard-coded dashboard implementation to follow the container-based approach
3144         used by WebInspector.ContentViewContainer.
3145
3146         As part of the refactoring, we introduce dashboard model objects to store persistent
3147         dashboard data. Some CSS has also been split between the container and specific dashboard.
3148
3149         * UserInterface/Controllers/DashboardManager.js:
3150         (WebInspector.DashboardManager):
3151         (WebInspector.DashboardManager.prototype.get toolbarItem):
3152         * UserInterface/Main.html:
3153         * UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.
3154         (WebInspector.DefaultDashboard):
3155         (WebInspector.DefaultDashboard.prototype.get resourcesCount):
3156         (WebInspector.DefaultDashboard.prototype.set resourcesCount):
3157         (WebInspector.DefaultDashboard.prototype.get resourcesSize):
3158         (WebInspector.DefaultDashboard.prototype.set resourcesSize):
3159         (WebInspector.DefaultDashboard.prototype.get time):
3160         (WebInspector.DefaultDashboard.prototype.set time):
3161         (WebInspector.DefaultDashboard.prototype.get logs):
3162         (WebInspector.DefaultDashboard.prototype.set logs):
3163         (WebInspector.DefaultDashboard.prototype.get errors):
3164         (WebInspector.DefaultDashboard.prototype.set errors):
3165         (WebInspector.DefaultDashboard.prototype.get issues):
3166         (WebInspector.DefaultDashboard.prototype.set issues):
3167         (WebInspector.DefaultDashboard.prototype._dataDidChange):
3168         (WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
3169         (WebInspector.DefaultDashboard.prototype._recordingStopped):
3170         (WebInspector.DefaultDashboard.prototype._resourceWasAdded):
3171         (WebInspector.DefaultDashboard.prototype._frameWasAdded):
3172         (WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
3173         (WebInspector.DefaultDashboard.prototype._startUpdatingTime):
3174         (WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
3175         (WebInspector.DefaultDashboard.prototype._updateTime):
3176         (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
3177         (WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
3178         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
3179         (WebInspector.DefaultDashboard.prototype._consoleWasCleared):
3180         * UserInterface/Views/DashboardContainerView.css: Added.
3181         (.toolbar .dashboard-container):
3182         (body.window-inactive .toolbar .dashboard-container):
3183         (body.javascript .toolbar .dashboard-container):
3184         (.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
3185         (.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
3186         (.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
3187         (.toolbar .dashboard-container):
3188         (.toolbar .dashboard):
3189         (.toolbar .dashboard.visible):
3190         (.toolbar .dashboard.slide-out-up):
3191         (.toolbar .dashboard.slide-out-down):
3192         (.toolbar .dashboard.slide-in-up):
3193         (.toolbar .dashboard.slide-in-down):
3194         (@-webkit-keyframes slide-top-edge):
3195         (to):
3196         (@-webkit-keyframes slide-bottom-edge):
3197         * UserInterface/Views/DashboardContainerView.js: Added.
3198         (WebInspector.DashboardContainerView):
3199         (WebInspector.DashboardContainerView.prototype.get toolbarItem):
3200         (WebInspector.DashboardContainerView.prototype.get currentDashboardView):
3201         (WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
3202         (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
3203         (WebInspector.DashboardContainerView.prototype._showDashboardView):
3204         * UserInterface/Views/DashboardView.css: Removed.
3205         * UserInterface/Views/DashboardView.js:
3206         (WebInspector.DashboardView):
3207         (WebInspector.DashboardView.prototype.get element):
3208         (WebInspector.DashboardView.prototype.get parentContainer):
3209         (WebInspector.DashboardView.prototype.get representedObject):
3210         (WebInspector.DashboardView.prototype.shown):
3211         (WebInspector.DashboardView.prototype.hidden):
3212         * UserInterface/Views/DefaultDashboardView.css: Added.
3213         (body.web .toolbar.collapsed .dashboard.default > .logs):
3214         (body.javascript .toolbar .dashboard.default > .resourcesCount):
3215         (.toolbar .dashboard.default):
3216         (.toolbar .dashboard.default > .item):
3217         (.toolbar .dashboard.default > .resourcesSize):
3218         (.toolbar .dashboard.default > .item.enabled:hover):
3219         (.toolbar .dashboard.default > .item.enabled:active):
3220         (.toolbar .dashboard.default > .item > *):
3221         (.toolbar .dashboard.default > .item > img):
3222         (.toolbar .dashboard.default > .item.enabled > img):
3223         (.toolbar .dashboard.default > .item.enabled:hover > img):
3224         (.toolbar .dashboard.default > .item > div):
3225         (.toolbar .dashboard.default > .item.enabled > div):
3226         (.toolbar .dashboard.default > .item.enabled:hover > div):
3227         (.toolbar .dashboard.default > .resourcesCount > img):
3228         (.toolbar .dashboard.default > .time > img):
3229         (.toolbar .dashboard.default > .logs > img):
3230         (.toolbar .dashboard.default > .resourcesSize > img):
3231         (.toolbar .dashboard.default > .errors > img):
3232         (.toolbar .dashboard.default > .errors.enabled > img):
3233         (.toolbar .dashboard.default > .errors.enabled:hover > img):
3234         (.toolbar .dashboard.default > .errors.enabled > div):
3235         (.toolbar .dashboard.default > .errors.enabled:hover > div):
3236         (.toolbar .dashboard.default > .issues > img):
3237         (.toolbar .dashboard.default > .issues.enabled > img):
3238         (.toolbar .dashboard.default > .issues.enabled:hover > img):
3239         (.toolbar .dashboard.default > .issues.enabled > div):
3240         (.toolbar .dashboard.default > .issues.enabled:hover > div):
3241         (.toolbar .dashboard.default > .item.pulsing):
3242         (@-webkit-keyframes console-item-pulse):
3243         (.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
3244         (.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):
3245         * UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.
3246         (WebInspector.DefaultDashboardView):
3247         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
3248         (WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
3249         (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
3250         (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
3251         (WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
3252         (WebInspector.DefaultDashboardView.prototype._itemWasClicked):
3253         (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
3254         (WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
3255         (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
3256         (WebInspector.DefaultDashboardView.prototype.animationEnded):
3257         (WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
3258         (WebInspector.DefaultDashboardView.prototype._setItemEnabled):
3259
3260 2014-03-08  Joseph Pecoraro  <pecoraro@apple.com>
3261
3262         Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
3263         https://bugs.webkit.org/show_bug.cgi?id=129959
3264
3265         Reviewed by Timothy Hatcher.
3266
3267         The script was putting legacy generated files into UserInterface
3268         instead of UserInterface/Protocol.
3269
3270         * Scripts/update-InspectorBackendCommands.rb:
3271
3272 2014-03-07  Timothy Hatcher  <timothy@apple.com>
3273
3274         Load source maps and their resources asynchronously.
3275
3276         https://bugs.webkit.org/show_bug.cgi?id=112071
3277
3278         Reviewed by Joseph Pecoraro.
3279
3280         * UserInterface/Controllers/SourceMapManager.js:
3281         (WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
3282         (WebInspector.SourceMapManager.prototype.downloadSourceMap):
3283         (WebInspector.SourceMapManager.prototype.sourceMapLoaded):
3284         (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
3285         Use NetworkAgent.loadResource.
3286
3287         * UserInterface/Models/SourceMapResource.js:
3288         (WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
3289         (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
3290         Use NetworkAgent.loadResource.
3291
3292         * UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.
3293
3294 2014-03-04  Brian Burg  <bburg@apple.com>
3295
3296         Inspector does not restore breakpoints after a page reload
3297         https://bugs.webkit.org/show_bug.cgi?id=129655
3298
3299         Reviewed by Joseph Pecoraro.
3300
3301         Fix some console asserts that fire when breakpoints resolve.
3302
3303         * UserInterface/Controllers/DebuggerManager.js:
3304         (WebInspector.DebuggerManager.prototype.breakpointResolved):
3305         This had a typo, it should be `breakpoint.identifier`.