WebKit Bugzilla
Attachment 368996 Details for
Bug 197296
: Web Inspector: DOM: rename "low power" to "display composited"
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197296-20190503145520.patch (text/plain), 35.64 KB, created by
Devin Rousso
on 2019-05-03 14:55:21 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-05-03 14:55:21 PDT
Size:
35.64 KB
patch
obsolete
>diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 84b44232a66053607fdb670f49f399796d89a55c..260ebc3e72f99075b6fe81f1a7fd83ede810a29f 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,14 @@ >+2019-05-03 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: DOM: rename "low power" to "display composited" >+ https://bugs.webkit.org/show_bug.cgi?id=197296 >+ >+ Reviewed by Joseph Pecoraro. >+ >+ Removed specific ChangeLog entries since it is almost entirely mechanical changes. >+ >+ * inspector/protocol/DOM.json: >+ > 2019-05-01 Saam barati <sbarati@apple.com> > > Baseline JIT should do argument value profiling after checking for stack overflow >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 70a44407fce85f7b7262deef6a0ebb9d78514973..320aed45b585610952d4c9c6054157b3fd20d66d 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,15 @@ >+2019-05-03 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: DOM: rename "low power" to "display composited" >+ https://bugs.webkit.org/show_bug.cgi?id=197296 >+ >+ Reviewed by Joseph Pecoraro. >+ >+ Removed specific ChangeLog entries since it is almost entirely mechanical changes. >+ >+ * inspector/agents/InspectorDOMAgent.h: >+ * inspector/agents/InspectorDOMAgent.cpp: >+ > 2019-05-01 Jiewen Tan <jiewen_tan@apple.com> > > [WebAuthN] Adopt SecurityOrigin::isMatchingRegistrableDomainSuffix() >diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index 9dc8d0d299134976d3b6231c068015fb9849519b..f8b83cc654b31acc14939ce19c841d307e5dafd9 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,29 @@ >+2019-05-03 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: DOM: rename "low power" to "display composited" >+ https://bugs.webkit.org/show_bug.cgi?id=197296 >+ >+ Reviewed by Joseph Pecoraro. >+ >+ Removed specific ChangeLog entries since it is almost entirely mechanical changes. >+ >+ * UserInterface/Protocol/DOMObserver.js: >+ * UserInterface/Controllers/DOMManager.js: >+ * UserInterface/Controllers/TimelineManager.js: >+ * UserInterface/Models/DOMNode.js: >+ * UserInterface/Models/MediaInstrument.js: >+ * UserInterface/Models/MediaTimelineRecord.js: >+ * UserInterface/Models/TimelineRecording.js: >+ * UserInterface/Views/DOMEventsBreakdownView.js: >+ * UserInterface/Views/DOMEventsBreakdownView.css: >+ * UserInterface/Views/NetworkTableContentView.js: >+ * UserInterface/Views/NetworkTableContentView.css: >+ * UserInterface/Views/TimelineIcons.css: >+ * UserInterface/Views/TimelineTabContentView.js: >+ * UserInterface/Images/PowerEfficientPlaybackStateChanged.svg: Added. >+ * UserInterface/Images/LowPower.svg: Removed. >+ * Localizations/en.lproj/localizedStrings.js: >+ > 2019-04-29 Alex Christensen <achristensen@webkit.org> > > <rdar://problem/50299396> Fix internal High Sierra build >diff --git a/Source/JavaScriptCore/inspector/protocol/DOM.json b/Source/JavaScriptCore/inspector/protocol/DOM.json >index 1195e886de92a171ade48e832c6a06a6345421f0..77910c9b4c82edb760fd92646fdd4f7271211d00 100644 >--- a/Source/JavaScriptCore/inspector/protocol/DOM.json >+++ b/Source/JavaScriptCore/inspector/protocol/DOM.json >@@ -677,12 +677,12 @@ > ] > }, > { >- "name": "videoLowPowerChanged", >- "description": "Called when a video element enters/exits low power mode.", >+ "name": "powerEfficientPlaybackStateChanged", >+ "description": "Called when an element enters/exits a power efficient playback state.", > "parameters": [ > { "name": "nodeId", "$ref": "NodeId" }, >- { "name": "timestamp", "$ref": "Network.Timestamp", "description": "Time when the video element entered/exited low power mode" }, >- { "name": "isLowPower", "type": "boolean" } >+ { "name": "timestamp", "$ref": "Network.Timestamp" }, >+ { "name": "isPowerEfficient", "type": "boolean" } > ] > } > ] >diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp >index ce6a2798c25cd268d5b2c62c2d660185c34ac6f0..6cce58e40c28b91276e0b1deb364c52ea2656a89 100644 >--- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp >+++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp >@@ -2514,14 +2514,14 @@ void InspectorDOMAgent::mediaMetricsTimerFired() > continue; > } > >- bool isLowPower = (displayCompositedVideoFrames - iterator->value.displayCompositedFrames) > 0; >- if (iterator->value.isLowPower != isLowPower) { >- iterator->value.isLowPower = isLowPower; >+ bool isDisplayComposited = (displayCompositedVideoFrames - iterator->value.displayCompositedFrames) > 0; >+ if (iterator->value.isDisplayComposited != isDisplayComposited) { >+ iterator->value.isDisplayComposited = isDisplayComposited; > > int nodeId = pushNodePathToFrontend(mediaElement); > if (nodeId) { > auto timestamp = m_environment.executionStopwatch()->elapsedTime().seconds(); >- m_frontendDispatcher->videoLowPowerChanged(nodeId, timestamp, iterator->value.isLowPower); >+ m_frontendDispatcher->powerEfficientPlaybackStateChanged(nodeId, timestamp, iterator->value.isDisplayComposited); > } > } > >diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.h b/Source/WebCore/inspector/agents/InspectorDOMAgent.h >index df23ced62ebd5c3cd9a8023544ac05f78696bf3c..b926e0db631d95b9ebc2172f1aa8aec63f5199ee 100644 >--- a/Source/WebCore/inspector/agents/InspectorDOMAgent.h >+++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.h >@@ -264,7 +264,7 @@ private: > Timer m_mediaMetricsTimer; > struct MediaMetrics { > unsigned displayCompositedFrames { 0 }; >- bool isLowPower { false }; >+ bool isDisplayComposited { false }; > > MediaMetrics() { } > >diff --git a/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js b/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js >index 51a6e858f70ee4b91270c9129cd8c7f1a34c815a..50b23c2a8b7dce452c635c641d4292dc6eeba54d 100644 >--- a/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js >+++ b/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js >@@ -421,7 +421,6 @@ localizedStrings["Ensure that only one live region is used on the page."] = "Ens > localizedStrings["Ensure that only one main content section is used on the page."] = "Ensure that only one main content section is used on the page."; > localizedStrings["Ensure that values for \u0022%s\u0022 are valid."] = "Ensure that values for \u0022%s\u0022 are valid."; > localizedStrings["Entered Full-Screen Mode"] = "Entered Full-Screen Mode"; >-localizedStrings["Entered Low-Power Mode"] = "Entered Low-Power Mode"; > localizedStrings["Entire Recording"] = "Entire Recording"; > localizedStrings["Error"] = "Error"; > localizedStrings["Error: "] = "Error: "; >@@ -442,7 +441,6 @@ localizedStrings["Example: \u201C%s\u201D"] = "Example: \u201C%s\u201D"; > localizedStrings["Exception with thrown value: %s"] = "Exception with thrown value: %s"; > localizedStrings["Execution context for $0"] = "Execution context for $0"; > localizedStrings["Exited Full-Screen Mode"] = "Exited Full-Screen Mode"; >-localizedStrings["Exited Low-Power Mode"] = "Exited Low-Power Mode"; > localizedStrings["Expand All"] = "Expand All"; > localizedStrings["Expand columns"] = "Expand columns"; > localizedStrings["Expanded"] = "Expanded"; >@@ -628,7 +626,6 @@ localizedStrings["Log WebSocket"] = "Log WebSocket"; > localizedStrings["Log: "] = "Log: "; > localizedStrings["Logs"] = "Logs"; > localizedStrings["Low"] = "Low"; >-localizedStrings["Low-Power Mode"] = "Low-Power Mode"; > localizedStrings["Lowest: %s"] = "Lowest: %s"; > localizedStrings["MIME Type"] = "MIME Type"; > localizedStrings["MIME Type:"] = "MIME Type:"; >@@ -763,6 +760,9 @@ localizedStrings["Play Sound"] = "Play Sound"; > localizedStrings["Polite"] = "Polite"; > localizedStrings["Pong Frame"] = "Pong Frame"; > localizedStrings["Port"] = "Port"; >+localizedStrings["Power Efficient Playback"] = "Power Efficient Playback"; >+localizedStrings["Power Efficient Playback Started"] = "Power Efficient Playback Started"; >+localizedStrings["Power Efficient Playback Stopped"] = "Power Efficient Playback Stopped"; > localizedStrings["Prefer indent using:"] = "Prefer indent using:"; > localizedStrings["Preserve Log"] = "Preserve Log"; > localizedStrings["Press %s to import a test or result file"] = "Press %s to import a test or result file"; >diff --git a/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js b/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js >index f68d89409c041157e8999ef361b82436e283e1a7..7a91b3fea37385eab2dc1f80cb1f134cdc91bb89 100644 >--- a/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js >+++ b/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js >@@ -166,7 +166,7 @@ WI.DOMManager = class DOMManager extends WI.Object > node.didFireEvent(eventName, timestamp, data); > } > >- videoLowPowerChanged(nodeId, timestamp, isLowPower) >+ powerEfficientPlaybackStateChanged(nodeId, timestamp, isPowerEfficient) > { > // Called from WI.DOMObserver. > >@@ -174,7 +174,7 @@ WI.DOMManager = class DOMManager extends WI.Object > if (!node) > return; > >- node.videoLowPowerChanged(timestamp, isLowPower); >+ node.powerEfficientPlaybackStateChanged(timestamp, isPowerEfficient); > } > > // Private >diff --git a/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js b/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js >index fe514c755a7689f1f8608fcf389bb0c9adc75a5d..a04386ed17d0ecd7f5e4ed4c49f05f6baffc4c58 100644 >--- a/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js >+++ b/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js >@@ -365,7 +365,7 @@ WI.TimelineManager = class TimelineManager extends WI.Object > WI.memoryManager.addEventListener(WI.MemoryManager.Event.MemoryPressure, this._memoryPressure, this); > > WI.DOMNode.addEventListener(WI.DOMNode.Event.DidFireEvent, this._handleDOMNodeDidFireEvent, this); >- WI.DOMNode.addEventListener(WI.DOMNode.Event.LowPowerChanged, this._handleDOMNodeLowPowerChanged, this); >+ WI.DOMNode.addEventListener(WI.DOMNode.Event.PowerEfficientPlaybackStateChanged, this._handleDOMNodePowerEfficientPlaybackStateChanged, this); > > this._updateCapturingState(TimelineManager.CapturingState.Active, {startTime: this._capturingStartTime}); > } >@@ -1248,13 +1248,13 @@ WI.TimelineManager = class TimelineManager extends WI.Object > })); > } > >- _handleDOMNodeLowPowerChanged(event) >+ _handleDOMNodePowerEfficientPlaybackStateChanged(event) > { >- let {timestamp, isLowPower} = event.data; >+ let {timestamp, isPowerEfficient} = event.data; > >- this._addRecord(new WI.MediaTimelineRecord(WI.MediaTimelineRecord.EventType.LowPower, timestamp, { >+ this._addRecord(new WI.MediaTimelineRecord(WI.MediaTimelineRecord.EventType.PowerEfficientPlaybackStateChanged, timestamp, { > domNode: event.target, >- isLowPower, >+ isPowerEfficient, > })); > } > }; >diff --git a/Source/WebInspectorUI/UserInterface/Images/LowPower.svg b/Source/WebInspectorUI/UserInterface/Images/LowPower.svg >deleted file mode 100644 >index 1b6e3820806f79cd29d008235f6679dfb4e7bffc..0000000000000000000000000000000000000000 >--- a/Source/WebInspectorUI/UserInterface/Images/LowPower.svg >+++ /dev/null >@@ -1,8 +0,0 @@ >-<?xml version="1.0" encoding="utf-8"?> >-<!-- Copyright © 2018 Apple Inc. All rights reserved. --> >-<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16"> >- <path fill="rgb(148, 190, 164)" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 13 C 1 14.101562 1.898438 15 3 15 L 13 15 C 14.101562 15 15 14.101562 15 13 L 15 3 C 15 1.898438 14.101562 1 13 1 Z"/> >- <path fill="rgb(101, 161, 134)" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 13 C 1 14.101562 1.898438 15 3 15 L 13 15 C 14.101562 15 15 14.101562 15 13 L 15 3 C 15 1.898438 14.101562 1 13 1 M 13 2 C 13.550781 2 14 2.449219 14 3 L 14 13 C 14 13.550781 13.550781 14 13 14 L 3 14 C 2.449219 14 2 13.550781 2 13 L 2 3 C 2 2.449219 2.449219 2 3 2 L 13 2"/> >- <path fill="rgb(101, 161, 134)" d="M 5 13 L 6 13 L 11 13 L 12 13 L 12 12 L 12 10.8648649 L 12 9.86486486 L 11 9.86486486 L 8.57948709 9.86486483 L 8.57948718 4 L 8.57948718 3 L 7.57948718 3 L 6 3 L 5 3 L 5 4 L 5 12 L 5 13 Z M 5 13"/> >- <path fill="white" d="M 6 4 L 7.57948718 4 L 7.57948718 10.8648649 L 11 10.8648649 L 11 12 L 6 12 L 6 4 Z M 6 4"/> >-</svg> >diff --git a/Source/WebInspectorUI/UserInterface/Images/PowerEfficientPlaybackStateChanged.svg b/Source/WebInspectorUI/UserInterface/Images/PowerEfficientPlaybackStateChanged.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..793adf0e43a3fa135e5f398934c72747bfe53358 >--- /dev/null >+++ b/Source/WebInspectorUI/UserInterface/Images/PowerEfficientPlaybackStateChanged.svg >@@ -0,0 +1,8 @@ >+<?xml version="1.0" encoding="utf-8"?> >+<!-- Copyright © 2013 Apple Inc. All rights reserved. --> >+<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16"> >+ <path fill="rgb(148, 190, 164)" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 13 C 1 14.101562 1.898438 15 3 15 L 13 15 C 14.101562 15 15 14.101562 15 13 L 15 3 C 15 1.898438 14.101562 1 13 1 Z"/> >+ <path fill="rgb(101, 161, 134)" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 13 C 1 14.101562 1.898438 15 3 15 L 13 15 C 14.101562 15 15 14.101562 15 13 L 15 3 C 15 1.898438 14.101562 1 13 1 M 13 2 C 13.550781 2 14 2.449219 14 3 L 14 13 C 14 13.550781 13.550781 14 13 14 L 3 14 C 2.449219 14 2 13.550781 2 13 L 2 3 C 2 2.449219 2.449219 2 3 2 L 13 2"/> >+ <path fill="white" d="M 6.78125 7.769531 L 7.136719 7.769531 C 7.757812 7.769531 8.246094 7.636719 8.605469 7.371094 C 8.96875 7.105469 9.148438 6.746094 9.148438 6.292969 C 9.148438 5.496094 8.59375 5.097656 7.488281 5.097656 L 6.78125 5.097656 Z M 5 12 L 5 4 L 8.042969 4 C 9.105469 4 9.863281 4.164062 10.316406 4.488281 C 10.773438 4.816406 11 5.359375 11 6.125 C 11 6.988281 10.695312 7.660156 10.085938 8.144531 C 9.480469 8.625 8.628906 8.863281 7.535156 8.863281 L 6.78125 8.863281 L 6.78125 12 Z"/> >+ <path fill="rgb(101, 161, 134)" d="M 7.78125 6.679688 L 7.78125 6.113281 C 8.019531 6.136719 8.117188 6.1875 8.144531 6.203125 C 8.140625 6.210938 8.148438 6.242188 8.148438 6.292969 C 8.148438 6.441406 8.105469 6.496094 8.015625 6.566406 C 7.953125 6.613281 7.875 6.648438 7.78125 6.679688 M 8.042969 3 L 4 3 L 4 13 L 7.78125 13 L 7.78125 9.863281 C 8.988281 9.824219 9.96875 9.507812 10.707031 8.925781 C 11.550781 8.257812 12 7.289062 12 6.125 C 12 4.753906 11.402344 4.035156 10.902344 3.675781 C 10.265625 3.222656 9.332031 3 8.042969 3 M 6.78125 7.769531 L 7.136719 7.769531 C 7.757812 7.769531 8.246094 7.636719 8.605469 7.371094 C 8.96875 7.105469 9.148438 6.746094 9.148438 6.292969 C 9.148438 5.496094 8.59375 5.097656 7.488281 5.097656 L 6.78125 5.097656 L 6.78125 7.769531 M 8.042969 4 C 9.105469 4 9.863281 4.164062 10.316406 4.488281 C 10.773438 4.816406 11 5.359375 11 6.125 C 11 6.988281 10.695312 7.660156 10.085938 8.144531 C 9.480469 8.625 8.628906 8.863281 7.535156 8.863281 L 6.78125 8.863281 L 6.78125 12 L 5 12 L 5 4 L 8.042969 4"/> >+</svg> >diff --git a/Source/WebInspectorUI/UserInterface/Models/DOMNode.js b/Source/WebInspectorUI/UserInterface/Models/DOMNode.js >index 18b7e15fdcb8159595de41e468b960c72cdba523..a088537c8958cc3a6b194fbb141b1156431d68bf 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/DOMNode.js >+++ b/Source/WebInspectorUI/UserInterface/Models/DOMNode.js >@@ -147,7 +147,7 @@ WI.DOMNode = class DOMNode extends WI.Object > } > > this._domEvents = []; >- this._lowPowerRanges = []; >+ this._powerEfficientPlaybackRanges = []; > > if (this._shouldListenForEventListeners()) > WI.DOMNode.addEventListener(WI.DOMNode.Event.DidFireEvent, this._handleDOMNodeDidFireEvent, this); >@@ -188,7 +188,7 @@ WI.DOMNode = class DOMNode extends WI.Object > > get frame() { return this._frame; } > get domEvents() { return this._domEvents; } >- get lowPowerRanges() { return this._lowPowerRanges; } >+ get powerEfficientPlaybackStateChanged() { return this._powerEfficientPlaybackRanges; } > > get attached() > { >@@ -757,30 +757,30 @@ WI.DOMNode = class DOMNode extends WI.Object > }); > } > >- videoLowPowerChanged(timestamp, isLowPower) >+ powerEfficientPlaybackStateChanged(timestamp, isPowerEfficient) > { > // Called from WI.DOMManager. > >- console.assert(this.canEnterLowPowerMode()); >+ console.assert(this.canEnterPowerEfficientPlaybackState()); > >- let lastValue = this._lowPowerRanges.lastValue; >+ let lastValue = this._powerEfficientPlaybackRanges.lastValue; > >- if (isLowPower) { >+ if (isPowerEfficient) { > console.assert(!lastValue || lastValue.endTimestamp); > if (!lastValue || lastValue.endTimestamp) >- this._lowPowerRanges.push({startTimestamp: timestamp}); >+ this._powerEfficientPlaybackRanges.push({startTimestamp: timestamp}); > } else { > console.assert(!lastValue || lastValue.startTimestamp); > if (!lastValue) >- this._lowPowerRanges.push({endTimestamp: timestamp}); >+ this._powerEfficientPlaybackRanges.push({endTimestamp: timestamp}); > else if (lastValue.startTimestamp) > lastValue.endTimestamp = timestamp; > } > >- this.dispatchEventToListeners(WI.DOMNode.Event.LowPowerChanged, {isLowPower, timestamp}); >+ this.dispatchEventToListeners(DOMNode.Event.PowerEfficientPlaybackStateChanged, {isPowerEfficient, timestamp}); > } > >- canEnterLowPowerMode() >+ canEnterPowerEfficientPlaybackState() > { > return this.localName() === "video" || this.nodeName().toLowerCase() === "video"; > } >@@ -957,7 +957,7 @@ WI.DOMNode.Event = { > AttributeRemoved: "dom-node-attribute-removed", > EventListenersChanged: "dom-node-event-listeners-changed", > DidFireEvent: "dom-node-did-fire-event", >- LowPowerChanged: "dom-node-video-low-power-changed", >+ PowerEfficientPlaybackStateChanged: "dom-node-power-efficient-playback-state-changed", > }; > > WI.DOMNode.PseudoElementType = { >diff --git a/Source/WebInspectorUI/UserInterface/Models/MediaInstrument.js b/Source/WebInspectorUI/UserInterface/Models/MediaInstrument.js >index 20bf6d9f598a809de4f513c93bfe6c3f1fa33b20..9cbc06f5a035338c8ad4071775943d10d6f7a560 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/MediaInstrument.js >+++ b/Source/WebInspectorUI/UserInterface/Models/MediaInstrument.js >@@ -36,8 +36,8 @@ WI.MediaInstrument = class MediaInstrument extends WI.Instrument > > static supported() > { >- // COMPATIBILITY (iOS 12): DOM.didFireEvent and DOM.videoLowPowerChanged did not exist. >- return window.DOMAgent && DOMAgent.hasEvent("didFireEvent") && DOMAgent.hasEvent("videoLowPowerChanged"); >+ // COMPATIBILITY (iOS 12): DOM.didFireEvent. >+ return InspectorBackend.domains.DOM && InspectorBackend.domains.DOM.hasEvent("didFireEvent"); > } > > // Protected >diff --git a/Source/WebInspectorUI/UserInterface/Models/MediaTimelineRecord.js b/Source/WebInspectorUI/UserInterface/Models/MediaTimelineRecord.js >index ed370704d5eb9cea6042d0d46aa7a2b0d69a322b..d53473246d062c255b497edbaddce80011e7ac9c 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/MediaTimelineRecord.js >+++ b/Source/WebInspectorUI/UserInterface/Models/MediaTimelineRecord.js >@@ -25,7 +25,7 @@ > > WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > { >- constructor(eventType, timestamp, {domNode, domEvent, isLowPower} = {}) >+ constructor(eventType, timestamp, {domNode, domEvent, isPowerEfficient} = {}) > { > console.assert(Object.values(WI.MediaTimelineRecord.EventType).includes(eventType)); > >@@ -34,7 +34,7 @@ WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > this._eventType = eventType; > this._domNode = domNode || null; > this._domEvent = domEvent || null; >- this._isLowPower = isLowPower || false; >+ this._isPowerEfficient = isPowerEfficient || false; > } > > // Import / Export >@@ -42,6 +42,11 @@ WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > static fromJSON(json) > { > let {eventType, timestamp} = json; >+ >+ // COMPATIBILITY (iOS 12.2): isLowPower was renamed to isPowerEfficient. >+ if ("isLowPower" in json && !("isPowerEfficient" in json)) >+ json.isPowerEfficient = json.isLowPower; >+ > return new WI.MediaTimelineRecord(eventType, timestamp, json); > } > >@@ -61,7 +66,7 @@ WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > eventType: this._eventType, > timestamp: this.startTime, > domEvent, >- isLowPower: this._isLowPower, >+ isPowerEfficient: this._isPowerEfficient, > }; > } > >@@ -70,7 +75,7 @@ WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > get eventType() { return this._eventType; } > get domNode() { return this._domNode; } > get domEvent() { return this._domEvent; } >- get isLowPower() { return this._isLowPower; } >+ get isPowerEfficient() { return this._isPowerEfficient; } > > get displayName() > { >@@ -81,8 +86,8 @@ WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > return eventName; > } > >- if (this._eventType === WI.MediaTimelineRecord.EventType.LowPower) >- return this._isLowPower ? WI.UIString("Entered Low-Power Mode") : WI.UIString("Exited Low-Power Mode"); >+ if (this._eventType === MediaTimelineRecord.EventType.PowerEfficientPlaybackStateChanged) >+ return this._isPowerEfficient ? WI.UIString("Power Efficient Playback Started") : WI.UIString("Power Efficient Playback Stopped"); > > if (this._domNode) > return this._domNode.displayName; >@@ -96,16 +101,19 @@ WI.MediaTimelineRecord = class MediaTimelineRecord extends WI.TimelineRecord > super.saveIdentityToCookie(cookie); > > cookie["media-timeline-record-event-type"] = this._eventType; >+ if (this._eventType === MediaTimelineRecord.EventType.PowerEfficientPlaybackStateChanged) >+ cookie["media-timeline-record-power-efficient-playback"] = this._isPowerEfficient; > if (this._domNode) > cookie["media-timeline-record-dom-node"] = this._domNode.path(); >- if (this._domEvent) >+ if (this._domEvent) { > cookie["media-timeline-record-dom-event"] = this._domEvent.eventName; >- if (this._isLowPower || (this._domEvent && this._domEvent.data && this._domEvent.data.enabled)) >- cookie["media-timeline-record-active"] = true; >+ if (this._domEvent.data && this._domEvent.data.enabled) >+ cookie["media-timeline-record-dom-event-active"] = true; >+ } > } > }; > > WI.MediaTimelineRecord.EventType = { > DOMEvent: "dom-event", >- LowPower: "low-power", >+ PowerEfficientPlaybackStateChanged: "power-efficient-playback-state-changed", > }; >diff --git a/Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js b/Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js >index d09fa661e47aa80ff3c25187e14c2095b460a723..974409cdf3ad5cd851bb4c3bfc35a3ab470407e6 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js >+++ b/Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js >@@ -467,8 +467,8 @@ WI.TimelineRecording = class TimelineRecording extends WI.Object > if (record.eventType === WI.MediaTimelineRecord.EventType.DOMEvent) { > if (record.domEvent && record.domEvent.eventName) > key += ":" + record.domEvent.eventName; >- } else if (record.eventType === WI.MediaTimelineRecord.EventType.LowPower) >- key += ":" + (record.isLowPower ? "enabled" : "disabled"); >+ } else if (record.eventType === WI.MediaTimelineRecord.EventType.PowerEfficientPlaybackStateChanged) >+ key += ":" + (record.isPowerEfficient ? "enabled" : "disabled"); > } > if (record.sourceCodeLocation) > key += ":" + record.sourceCodeLocation.lineNumber + ":" + record.sourceCodeLocation.columnNumber; >diff --git a/Source/WebInspectorUI/UserInterface/Protocol/DOMObserver.js b/Source/WebInspectorUI/UserInterface/Protocol/DOMObserver.js >index eeddb28f0109aa8f6c7bd4d17bb8f358a76dfc1f..73cbef3260d08a7b6a5e8c6c3de42e35444ca61b 100644 >--- a/Source/WebInspectorUI/UserInterface/Protocol/DOMObserver.js >+++ b/Source/WebInspectorUI/UserInterface/Protocol/DOMObserver.js >@@ -119,6 +119,12 @@ WI.DOMObserver = class DOMObserver > > videoLowPowerChanged(nodeId, timestamp, isLowPower) > { >- WI.domManager.videoLowPowerChanged(nodeId, timestamp, isLowPower); >+ // COMPATIBILITY (iOS 12.2): DOM.videoLowPowerChanged was renamed to DOM.powerEfficientPlaybackStateChanged. >+ WI.domManager.powerEfficientPlaybackStateChanged(nodeId, timestamp, isLowPower); >+ } >+ >+ powerEfficientPlaybackStateChanged(nodeId, timestamp, isPowerEfficient) >+ { >+ WI.domManager.powerEfficientPlaybackStateChanged(nodeId, timestamp, isPowerEfficient); > } > }; >diff --git a/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.css b/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.css >index 64aea24b1d45bb71e08e4ee8aa54fd9d7bfc012a..78fb196c72fb17467c856937c21d43eb773973f3 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.css >+++ b/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.css >@@ -76,7 +76,7 @@ > background-color: hsla(0, 0%, 75%, 0.25); > } > >-.dom-events-breakdown .graph > .area.low-power { >+.dom-events-breakdown .graph > .area.power-efficient-playback { > background-color: hsla(83, 100%, 48%, 0.4); > } > >diff --git a/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js b/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js >index 89ff5ffa83bd05aabf932764434db4722988ba56..25ff3d6695d4be842afa64f492c373df2ddf0e62 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js >@@ -34,14 +34,13 @@ WI.DOMEventsBreakdownView = class DOMEventsBreakdownView extends WI.View > if (domNodeOrEvents instanceof WI.DOMNode) { > this._domNode = domNodeOrEvents; > this._domNode.addEventListener(WI.DOMNode.Event.DidFireEvent, this._handleDOMNodeDidFireEvent, this); >- if (this._domNode.canEnterLowPowerMode()) >- this._domNode.addEventListener(WI.DOMNode.Event.LowPowerChanged, this._handleDOMNodeLowPowerChanged, this); >+ if (this._domNode.canEnterPowerEfficientPlaybackState()) >+ this._domNode.addEventListener(WI.DOMNode.Event.PowerEfficientPlaybackStateChanged, this._handleDOMNodePowerEfficientPlaybackStateChanged, this); > > this._domEvents = null; > } else { > this._domNode = null; > this._domEvents = domNodeOrEvents; >- this._lowPowerRanges = []; > } > > this._includeGraph = includeGraph || false; >@@ -112,7 +111,7 @@ WI.DOMEventsBreakdownView = class DOMEventsBreakdownView extends WI.View > fullscreenRanges.lastValue.originator = fullscreenDOMEvent.originator; > } > >- let lowPowerRanges = this._domNode ? this._domNode.lowPowerRanges : []; >+ let powerEfficientPlaybackRanges = this._domNode ? this._domNode.powerEfficientPlaybackRanges : []; > > for (let domEvent of domEvents) { > let rowElement = this._tableBodyElement.appendChild(document.createElement("tr")); >@@ -138,13 +137,13 @@ WI.DOMEventsBreakdownView = class DOMEventsBreakdownView extends WI.View > fullscreenArea.title = WI.UIString("Full-Screen"); > } > >- let lowPowerRange = lowPowerRanges.find((range) => domEvent.timestamp >= range.startTimestamp && domEvent.timestamp <= range.endTimestamp); >- if (lowPowerRange) { >- let lowPowerArea = graphCell.appendChild(document.createElement("div")); >- lowPowerArea.classList.add("area", "low-power"); >- lowPowerArea.title = WI.UIString("Low-Power Mode"); >- lowPowerArea.style.setProperty(styleAttribute, percentOfTotalTime(lowPowerRange.startTimestamp - startTimestamp) + "%"); >- lowPowerArea.style.setProperty("width", percentOfTotalTime(lowPowerRange.endTimestamp - lowPowerRange.startTimestamp) + "%"); >+ let powerEfficientPlaybackRange = powerEfficientPlaybackRanges.find((range) => domEvent.timestamp >= range.startTimestamp && domEvent.timestamp <= range.endTimestamp); >+ if (powerEfficientPlaybackRange) { >+ let powerEfficientPlaybackArea = graphCell.appendChild(document.createElement("div")); >+ powerEfficientPlaybackArea.classList.add("area", "power-efficient-playback"); >+ powerEfficientPlaybackArea.title = WI.UIString("Power Efficient Playback"); >+ powerEfficientPlaybackArea.style.setProperty(styleAttribute, percentOfTotalTime(powerEfficientPlaybackRange.startTimestamp - startTimestamp) + "%"); >+ powerEfficientPlaybackArea.style.setProperty("width", percentOfTotalTime(powerEfficientPlaybackRange.endTimestamp - powerEfficientPlaybackRange.startTimestamp) + "%"); > } > > let graphImage = graphCell.appendChild(document.createElement("img")); >@@ -183,7 +182,7 @@ WI.DOMEventsBreakdownView = class DOMEventsBreakdownView extends WI.View > this.needsLayout(); > } > >- _handleDOMNodeLowPowerChanged(event) >+ _handleDOMNodePowerEfficientPlaybackStateChanged(event) > { > this.needsLayout(); > } >diff --git a/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css b/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css >index 6e3dd1e45b8c6d87c385fd8e10c5db262d276967..09a002ce5c8fa3b0cb19f5226dbf806678f11fa9 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css >+++ b/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css >@@ -211,7 +211,7 @@ body[dir=rtl] .network-table .cell.name > .status { > background-color: hsla(0, 0%, 75%, 0.75); > } > >-.network-table :not(.header) .cell.waterfall .waterfall-container > .area.low-power { >+.network-table :not(.header) .cell.waterfall .waterfall-container > .area.power-efficient-playback { > background-color: var(--network-request-color); > } > >diff --git a/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js b/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js >index a7a9fc7bb25f217e2316cb3ec86abb066b2bf407..33b9163c760a6079adf5b8e4c41c54ffc15e0fb2 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js >@@ -822,15 +822,15 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > } > } > >- for (let lowPowerRange of domNode.lowPowerRanges) { >- let startTimestamp = lowPowerRange.startTimestamp || graphStartTime; >- let endTimestamp = lowPowerRange.endTimestamp || collection.waterfallEndTime; >+ for (let powerEfficientPlaybackRange of domNode.powerEfficientPlaybackRanges) { >+ let startTimestamp = powerEfficientPlaybackRange.startTimestamp || graphStartTime; >+ let endTimestamp = powerEfficientPlaybackRange.endTimestamp || collection.waterfallEndTime; > >- let lowPowerElement = container.appendChild(document.createElement("div")); >- lowPowerElement.classList.add("area", "low-power"); >- lowPowerElement.title = WI.UIString("Low-Power Mode"); >- positionByStartOffset(lowPowerElement, startTimestamp); >- setWidthForDuration(lowPowerElement, startTimestamp, endTimestamp); >+ let powerEfficientPlaybackRangeElement = container.appendChild(document.createElement("div")); >+ powerEfficientPlaybackRangeElement.classList.add("area", "power-efficient-playback"); >+ powerEfficientPlaybackRangeElement.title = WI.UIString("Power Efficient Playback"); >+ positionByStartOffset(powerEfficientPlaybackRangeElement, startTimestamp); >+ setWidthForDuration(powerEfficientPlaybackRangeElement, startTimestamp, endTimestamp); > } > > let playing = false; >@@ -1819,8 +1819,8 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > this._domNodeEntries.set(resource.initiatorNode, nodeEntry); > > resource.initiatorNode.addEventListener(WI.DOMNode.Event.DidFireEvent, this._handleNodeDidFireEvent, this); >- if (resource.initiatorNode.canEnterLowPowerMode()) >- resource.initiatorNode.addEventListener(WI.DOMNode.Event.LowPowerChanged, this._handleNodeLowPowerChanged, this); >+ if (resource.initiatorNode.canEnterPowerEfficientPlaybackState()) >+ resource.initiatorNode.addEventListener(WI.DOMNode.Event.PowerEfficientPlaybackStateChanged, this._handleDOMNodePowerEfficientPlaybackStateChanged, this); > } > > if (!this._entriesSortComparator) >@@ -1858,7 +1858,7 @@ WI.NetworkTableContentView = class NetworkTableContentView extends WI.ContentVie > }); > } > >- _handleNodeLowPowerChanged(event) >+ _handleDOMNodePowerEfficientPlaybackStateChanged(event) > { > this._runForMainCollection((collection, wasMain) => { > let domNode = event.target; >diff --git a/Source/WebInspectorUI/UserInterface/Views/TimelineIcons.css b/Source/WebInspectorUI/UserInterface/Views/TimelineIcons.css >index ca8e893393f746e38b848651167e3f680f95bf02..7e41245dc0fc2294d8f27dc83cac7e0c0a18fc46 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TimelineIcons.css >+++ b/Source/WebInspectorUI/UserInterface/Views/TimelineIcons.css >@@ -133,8 +133,8 @@ > content: url(../Images/DOMEventFullscreen.svg); > } > >-.low-power-record .icon { >- content: url(../Images/LowPower.svg); >+.power-efficient-playback-state-changed-record .icon { >+ content: url(../Images/PowerEfficientPlaybackStateChanged.svg); > } > > @media (prefers-color-scheme: dark) { >diff --git a/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js b/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js >index aed5ecf083a9ffeeac184c453a45c552b9c401ab..32d9215afe24bc1d62edb40fe9002fd47e7eb748 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js >@@ -251,8 +251,8 @@ WI.TimelineTabContentView = class TimelineTabContentView extends WI.ContentBrows > switch (timelineRecord.eventType) { > case WI.MediaTimelineRecord.EventType.DOMEvent: > return "dom-event-record"; >- case WI.MediaTimelineRecord.EventType.LowPower: >- return "low-power-record"; >+ case WI.MediaTimelineRecord.EventType.PowerEfficientPlaybackStateChanged: >+ return "power-efficient-playback-state-changed-record"; > default: > console.error("Unknown MediaTimelineRecord eventType: " + timelineRecord.eventType, timelineRecord); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197296
:
368277
|
368996
|
369007