WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
209389.diff (text/plain), 4.38 KB, created by
Devin Rousso
on 2021-03-16 17:05:49 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2021-03-16 17:05:49 PDT
Size:
4.38 KB
patch
obsolete
>diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index b7859216199a..56bea9a391a4 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,21 @@ >+2021-03-16 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: use native datetime-local picker for changing `expires` value in cookie popover >+ https://bugs.webkit.org/show_bug.cgi?id=209389 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ r259173 already made it so that the `<input>` for Expires used `datetime-local`, so nothing >+ needs to be changed to adopt that. We still want to keep the `"input"` event listener that >+ parses and validates the `value` (or `placeholder`) of the `<input type="datetime-local">` >+ because dates in the past should be considered invalid. >+ >+ * UserInterface/Views/CookiePopover.js: >+ (WI.CookiePopover.prototype.show): Add `step = 1` so that the seconds field is shown. >+ (WI.CookiePopover.prototype.show.formatDate): Added. >+ (WI.CookiePopover.prototype.show.formatDate.pad): Added. >+ * UserInterface/Views/CookiePopover.css: Remove the FIXME comment. >+ > 2021-03-15 Nikita Vasilyev <nvasilyev@apple.com> > > Web Inspector: remove experimental setting and enable Layout sidebar >diff --git a/Source/WebInspectorUI/UserInterface/Views/CookiePopover.css b/Source/WebInspectorUI/UserInterface/Views/CookiePopover.css >index a5e25d9a9b38..d7c30ebc81c0 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/CookiePopover.css >+++ b/Source/WebInspectorUI/UserInterface/Views/CookiePopover.css >@@ -45,8 +45,6 @@ > padding-inline-start: 4px; > } > >-/* FIXME: <https://webkit.org/b/209389> Web Inspector: use native datetime-local picker for changing `expires` value in cookie popover */ >- > .popover .cookie-popover-content > table > tr > td > input:matches([type="text"], [type="datetime-local"]) { > width: 100%; > padding: 3px 4px 2px; >diff --git a/Source/WebInspectorUI/UserInterface/Views/CookiePopover.js b/Source/WebInspectorUI/UserInterface/Views/CookiePopover.js >index 4186634c63cb..2e2c81668a8a 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/CookiePopover.js >+++ b/Source/WebInspectorUI/UserInterface/Views/CookiePopover.js >@@ -107,13 +107,32 @@ WI.CookiePopover = class CookiePopover extends WI.Popover > this._targetElement = targetElement; > this._preferredEdges = preferredEdges; > >+ function formatDate(date) { >+ function pad(number) { >+ return String(number).padStart(2, "0"); >+ } >+ return [ >+ date.getFullYear(), >+ "-", >+ pad(date.getMonth() + 1), >+ "-", >+ pad(date.getDate()), >+ "T", >+ pad(date.getHours()), >+ ":", >+ pad(date.getMinutes()), >+ ":", >+ pad(date.getSeconds()), >+ ].join(""); >+ } >+ > let data = {}; > if (cookie) { > data.name = cookie.name; > data.value = cookie.value; > data.domain = cookie.domain; > data.path = cookie.path; >- data.expires = (cookie.expires || this._defaultExpires()).toLocaleString(); >+ data.expires = formatDate(cookie.expires || this._defaultExpires()); > data.session = cookie.session; > data.httpOnly = cookie.httpOnly; > data.secure = cookie.secure; >@@ -124,7 +143,7 @@ WI.CookiePopover = class CookiePopover extends WI.Popover > data.value = ""; > data.domain = urlComponents.host; > data.path = urlComponents.path; >- data.expires = this._defaultExpires().toLocaleString(); >+ data.expires = formatDate(this._defaultExpires()); > data.session = true; > data.httpOnly = false; > data.secure = false; >@@ -196,6 +215,7 @@ WI.CookiePopover = class CookiePopover extends WI.Popover > > let expiresInputRow = createInputRow("expires", WI.unlocalizedString("Expires"), "datetime-local", data.expires); > this._expiresInputElement = expiresInputRow.inputElement; >+ this._expiresInputElement.step = 1; // Causes the seconds field to be shown. > this._expiresInputElement.addEventListener("input", (event) => { > this._expiresInputElement.classList.toggle("invalid", isNaN(this._parseExpires())); > });
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 209389
: 423418