rt-value.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-rrggbbaa.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-scroll-behavior.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-scroll-timeline.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-scrollbar.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-sel2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-sel3.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-selection.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-shapes.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-snappoints.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-sticky.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-subgrid.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-supports-api.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-table.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-text-align-last.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-text-box-trim.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-text-indent.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-text-justify.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-text-orientation.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-text-spacing.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-textshadow.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-touch-action.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-transitions.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-unicode-bidi.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-unset-value.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-variables.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-when-else.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-widows-orphans.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-width-stretch.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-writing-mode.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css-zoom.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-attr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-boxsizing.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-colors.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-cursors-grab.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-cursors-newer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-cursors.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años css3-tabsize.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años currentcolor.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años custom-elements.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años custom-elementsv1.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años customevent.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años datalist.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dataset.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años datauri.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años date-tolocaledatestring.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años declarative-shadow-dom.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años decorators.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años details.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años deviceorientation.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años devicepixelratio.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dialog.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dispatchevent.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dnssec.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años do-not-track.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años document-currentscript.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años document-evaluate-xpath.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años document-execcommand.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años document-policy.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años document-scrollingelement.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años documenthead.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dom-manip-convenience.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dom-range.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años domcontentloaded.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dommatrix.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años download.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años dragndrop.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años element-closest.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años element-from-point.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años element-scroll-methods.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años eme.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años eot.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es5.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6-class.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6-generators.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6-module-dynamic-import.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6-module.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6-number.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6-string-includes.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años es6.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años eventsource.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años extended-system-fonts.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años feature-policy.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años fetch.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años fieldset-disabled.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años fileapi.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años filereader.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años filereadersync.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años filesystem.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años flac.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años flexbox-gap.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años flexbox.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años flow-root.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años focusin-focusout-events.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-family-system-ui.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-feature.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-kerning.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-loading.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-size-adjust.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-smooth.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-unicode-range.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-variant-alternates.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años font-variant-numeric.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años fontface.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años form-attribute.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años form-submit-attributes.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años form-validation.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años forms.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años fullscreen.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años gamepad.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años geolocation.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años getboundingclientrect.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años getcomputedstyle.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años getelementsbyclassname.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años getrandomvalues.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años gyroscope.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años hardwareconcurrency.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años hashchange.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años heif.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años hevc.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años hidden.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años high-resolution-time.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años history.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años html-media-capture.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años html5semantic.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años http-live-streaming.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años http2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años http3.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años iframe-sandbox.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años iframe-seamless.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años iframe-srcdoc.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años imagecapture.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ime.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años img-naturalwidth-naturalheight.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años import-maps.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años imports.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años indeterminate-checkbox.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años indexeddb.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años indexeddb2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años inline-block.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años innertext.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-autocomplete-onoff.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-color.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-datetime.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-email-tel-url.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-event.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-file-accept.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-file-directory.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-file-multiple.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-inputmode.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-minlength.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-number.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-pattern.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-placeholder.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-range.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-search.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años input-selection.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años insert-adjacent.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años insertadjacenthtml.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años internationalization.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años intersectionobserver-v2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años intersectionobserver.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años intl-pluralrules.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años intrinsic-width.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años jpeg2000.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años jpegxl.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años jpegxr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años js-regexp-lookbehind.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años json.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años justify-content-space-evenly.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años kerning-pairs-ligatures.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años keyboardevent-charcode.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años keyboardevent-code.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años keyboardevent-getmodifierstate.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años keyboardevent-key.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años keyboardevent-location.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años keyboardevent-which.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años lazyload.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años let.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-icon-png.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-icon-svg.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-rel-dns-prefetch.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-rel-modulepreload.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-rel-preconnect.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-rel-prefetch.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-rel-preload.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años link-rel-prerender.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años loading-lazy-attr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años localecompare.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años magnetometer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años matchesselector.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años matchmedia.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mathml.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años maxlength.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-css-unicode-bidi-isolate-override.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-css-unicode-bidi-isolate.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-css-unicode-bidi-plaintext.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-text-decoration-color.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-text-decoration-line.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-text-decoration-shorthand.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mdn-text-decoration-style.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años media-fragments.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mediacapture-fromelement.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mediarecorder.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mediasource.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años menu.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años meta-theme-color.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años meter.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años midi.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años minmaxwh.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mp3.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mpeg-dash.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mpeg4.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años multibackgrounds.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años multicolumn.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mutation-events.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años mutationobserver.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años namevalue-storage.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años native-filesystem-api.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años nav-timing.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años netinfo.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años notifications.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años object-entries.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años object-fit.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años object-observe.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años object-values.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años objectrtc.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años offline-apps.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años offscreencanvas.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ogg-vorbis.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ogv.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ol-reversed.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años once-event-listener.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años online-status.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años opus.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años orientation-sensor.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años outline.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años pad-start-end.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años page-transition-events.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años pagevisibility.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años passive-event-listener.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años passwordrules.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años path2d.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años payment-request.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años pdf-viewer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años permissions-api.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años permissions-policy.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años picture-in-picture.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años picture.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ping.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años png-alpha.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años pointer-events.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años pointer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años pointerlock.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años portals.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años prefers-color-scheme.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años prefers-reduced-motion.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años progress.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años promise-finally.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años promises.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años proximity.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años proxy.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años publickeypinning.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años push-api.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años queryselector.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años readonly-attr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años referrer-policy.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años registerprotocolhandler.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años rel-noopener.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años rel-noreferrer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años rellist.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años rem.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años requestanimationframe.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años requestidlecallback.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años resizeobserver.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años resource-timing.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años rest-parameters.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años rtcpeerconnection.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ruby.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años run-in.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años same-site-cookie-attribute.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años screen-orientation.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años script-async.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años script-defer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años scrollintoview.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años scrollintoviewifneeded.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años sdch.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años selection-api.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años server-timing.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años serviceworkers.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años setimmediate.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años shadowdom.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años shadowdomv1.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años sharedarraybuffer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años sharedworkers.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años sni.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años spdy.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años speech-recognition.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años speech-synthesis.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años spellcheck-attribute.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años sql-storage.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años srcset.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años stream.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años streams.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años stricttransportsecurity.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años style-scoped.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años subresource-bundling.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años subresource-integrity.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-css.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-filters.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-fonts.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-fragment.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-html.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-html5.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-img.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg-smil.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años svg.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años sxg.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años tabindex-attr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años template-literals.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años template.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años temporal.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años testfeat.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años text-decoration.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años text-emphasis.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años text-overflow.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años text-size-adjust.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años text-stroke.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años textcontent.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años textencoder.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años tls1-1.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años tls1-2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años tls1-3.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años touch.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años transforms2d.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años transforms3d.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años trusted-types.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años ttf.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años typedarrays.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años u2f.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años unhandledrejection.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años upgradeinsecurerequests.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años url-scroll-to-text-fragment.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años url.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años urlsearchparams.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años use-strict.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años user-select-none.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años user-timing.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años variable-fonts.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años vector-effect.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años vibration.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años video.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años videotracks.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años viewport-unit-variants.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años viewport-units.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años wai-aria.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años wake-lock.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años wasm.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años wav.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años wbr-element.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años web-animation.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años web-app-manifest.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años web-bluetooth.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años web-serial.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años web-share.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webauthn.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webcodecs.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webgl.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webgl2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webgpu.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webhid.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webkit-user-drag.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webm.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webnfc.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webp.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años websockets.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webtransport.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webusb.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webvr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webvtt.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webworkers.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años webxr.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años will-change.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años woff.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años woff2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años word-break.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años wordwrap.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años x-doc-messaging.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años x-frame-options.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años xhr2.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años xhtml.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años xhtmlsmil.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años xml-serializer.js 77628cf8bf first comm %!s(int64=3) %!d(string=hace) años tum/whitesports - Gogs: Simplico Git Service

Sin descripción

class-wp-customize-custom-css-setting.php 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <?php
  2. /**
  3. * Customize API: WP_Customize_Custom_CSS_Setting class
  4. *
  5. * This handles validation, sanitization and saving of the value.
  6. *
  7. * @package WordPress
  8. * @subpackage Customize
  9. * @since 4.7.0
  10. */
  11. /**
  12. * Custom Setting to handle WP Custom CSS.
  13. *
  14. * @since 4.7.0
  15. *
  16. * @see WP_Customize_Setting
  17. */
  18. final class WP_Customize_Custom_CSS_Setting extends WP_Customize_Setting {
  19. /**
  20. * The setting type.
  21. *
  22. * @since 4.7.0
  23. * @var string
  24. */
  25. public $type = 'custom_css';
  26. /**
  27. * Setting Transport
  28. *
  29. * @since 4.7.0
  30. * @var string
  31. */
  32. public $transport = 'postMessage';
  33. /**
  34. * Capability required to edit this setting.
  35. *
  36. * @since 4.7.0
  37. * @var string
  38. */
  39. public $capability = 'edit_css';
  40. /**
  41. * Stylesheet
  42. *
  43. * @since 4.7.0
  44. * @var string
  45. */
  46. public $stylesheet = '';
  47. /**
  48. * WP_Customize_Custom_CSS_Setting constructor.
  49. *
  50. * @since 4.7.0
  51. *
  52. * @throws Exception If the setting ID does not match the pattern `custom_css[$stylesheet]`.
  53. *
  54. * @param WP_Customize_Manager $manager Customizer bootstrap instance.
  55. * @param string $id A specific ID of the setting.
  56. * Can be a theme mod or option name.
  57. * @param array $args Setting arguments.
  58. */
  59. public function __construct( $manager, $id, $args = array() ) {
  60. parent::__construct( $manager, $id, $args );
  61. if ( 'custom_css' !== $this->id_data['base'] ) {
  62. throw new Exception( 'Expected custom_css id_base.' );
  63. }
  64. if ( 1 !== count( $this->id_data['keys'] ) || empty( $this->id_data['keys'][0] ) ) {
  65. throw new Exception( 'Expected single stylesheet key.' );
  66. }
  67. $this->stylesheet = $this->id_data['keys'][0];
  68. }
  69. /**
  70. * Add filter to preview post value.
  71. *
  72. * @since 4.7.9
  73. *
  74. * @return bool False when preview short-circuits due no change needing to be previewed.
  75. */
  76. public function preview() {
  77. if ( $this->is_previewed ) {
  78. return false;
  79. }
  80. $this->is_previewed = true;
  81. add_filter( 'wp_get_custom_css', array( $this, 'filter_previewed_wp_get_custom_css' ), 9, 2 );
  82. return true;
  83. }
  84. /**
  85. * Filters `wp_get_custom_css` for applying the customized value.
  86. *
  87. * This is used in the preview when `wp_get_custom_css()` is called for rendering the styles.
  88. *
  89. * @since 4.7.0
  90. *
  91. * @see wp_get_custom_css()
  92. *
  93. * @param string $css Original CSS.
  94. * @param string $stylesheet Current stylesheet.
  95. * @return string CSS.
  96. */
  97. public function filter_previewed_wp_get_custom_css( $css, $stylesheet ) {
  98. if ( $stylesheet === $this->stylesheet ) {
  99. $customized_value = $this->post_value( null );
  100. if ( ! is_null( $customized_value ) ) {
  101. $css = $customized_value;
  102. }
  103. }
  104. return $css;
  105. }
  106. /**
  107. * Fetch the value of the setting. Will return the previewed value when `preview()` is called.
  108. *
  109. * @since 4.7.0
  110. *
  111. * @see WP_Customize_Setting::value()
  112. *
  113. * @return string
  114. */
  115. public function value() {
  116. if ( $this->is_previewed ) {
  117. $post_value = $this->post_value( null );
  118. if ( null !== $post_value ) {
  119. return $post_value;
  120. }
  121. }
  122. $id_base = $this->id_data['base'];
  123. $value = '';
  124. $post = wp_get_custom_css_post( $this->stylesheet );
  125. if ( $post ) {
  126. $value = $post->post_content;
  127. }
  128. if ( empty( $value ) ) {
  129. $value = $this->default;
  130. }
  131. /** This filter is documented in wp-includes/class-wp-customize-setting.php */
  132. $value = apply_filters( "customize_value_{$id_base}", $value, $this );
  133. return $value;
  134. }
  135. /**
  136. * Validate CSS.
  137. *
  138. * Checks for imbalanced braces, brackets, and comments.
  139. * Notifications are rendered when the customizer state is saved.
  140. *
  141. * @since 4.7.0
  142. * @since 4.9.0 Checking for balanced characters has been moved client-side via linting in code editor.
  143. *
  144. * @param string $css The input string.
  145. * @return true|WP_Error True if the input was validated, otherwise WP_Error.
  146. */
  147. public function validate( $css ) {
  148. $validity = new WP_Error();
  149. if ( preg_match( '#</?\w+#', $css ) ) {
  150. $validity->add( 'illegal_markup', __( 'Markup is not allowed in CSS.' ) );
  151. }
  152. if ( ! $validity->has_errors() ) {
  153. $validity = parent::validate( $css );
  154. }
  155. return $validity;
  156. }
  157. /**
  158. * Store the CSS setting value in the custom_css custom post type for the stylesheet.
  159. *
  160. * @since 4.7.0
  161. *
  162. * @param string $css The input value.
  163. * @return int|false The post ID or false if the value could not be saved.
  164. */
  165. public function update( $css ) {
  166. if ( empty( $css ) ) {
  167. $css = '';
  168. }
  169. $r = wp_update_custom_css_post(
  170. $css,
  171. array(
  172. 'stylesheet' => $this->stylesheet,
  173. )
  174. );
  175. if ( $r instanceof WP_Error ) {
  176. return false;
  177. }
  178. $post_id = $r->ID;
  179. // Cache post ID in theme mod for performance to avoid additional DB query.
  180. if ( $this->manager->get_stylesheet() === $this->stylesheet ) {
  181. set_theme_mod( 'custom_css_post_id', $post_id );
  182. }
  183. return $post_id;
  184. }
  185. }