-
Notifications
You must be signed in to change notification settings - Fork 9.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
misc: the great sample rebaseline #12932
Conversation
There's also these things, which we must not forget (we should add programmatically): https://github.com/GoogleChrome/lighthouse/blob/18e9f7d/lighthouse-core/test/results/artifacts/defaultPass.trace.json#L14508 |
We should try to reduce this. Our dependency of non-snapshot tests on snapshot fixtures that are expected to change isn't great :)
IMO, yes.
The goal of these isn't really to track latest Chromium IMO. Reducing churn and keeping the focus on preventing accidental audit-side regressions feels right.
+1 :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a specific piece of feedback you're looking for from reviewers @connorjclark?
From my perspective we're fine to move forward but we need the automatic injection of the manually added trace events in some script.
] | ||
} | ||
"score": null, | ||
"scoreDisplayMode": "notApplicable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say yes, perhaps the shifter could shrink back to 0 after it expands?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hm,, i've done this and it is still n/a.
@@ -2044,57 +2154,11 @@ | |||
"title": "Avoid non-composited animations", | |||
"description": "Animations which are not composited can be janky and increase CLS. [Learn more](https://web.dev/non-composited-animations)", | |||
"score": null, | |||
"scoreDisplayMode": "informative", | |||
"displayValue": "1 animated element found", | |||
"scoreDisplayMode": "notApplicable", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say yes. Were these manually added before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, not that I saw from the commit history of that audit / this file.
I did find this: https://github.com/GoogleChrome/lighthouse/pull/11474/files#diff-09cd5d246b94b3c67132390d8e55b17af0a48f52b7054f52949c61548891fd96R1938 (the items dissapeared in this PR and came back in the following revert)
idk what's going on here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I manually added this to artifacts.json
: https://github.com/GoogleChrome/lighthouse/pull/11246/files#diff-fccf071866992ae51684ed3c5edc57deda156a9ef8bbf41caeeeb5ba8931d205
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
called out a few items that might be undesirable
] | ||
} | ||
"score": null, | ||
"scoreDisplayMode": "notApplicable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say yes, perhaps the shifter could shrink back to 0 after it expands?
@@ -2044,57 +2154,11 @@ | |||
"title": "Avoid non-composited animations", | |||
"description": "Animations which are not composited can be janky and increase CLS. [Learn more](https://web.dev/non-composited-animations)", | |||
"score": null, | |||
"scoreDisplayMode": "informative", | |||
"displayValue": "1 animated element found", | |||
"scoreDisplayMode": "notApplicable", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say yes. Were these manually added before?
// vendored from zone.js@0.7.3 | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(this,function(){"use strict";function e(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=Zone.current.wrap(e[n],t+"_"+n));return e}function t(t,n){for(var r=t.constructor.name,o=function(o){var a=n[o],i=t[a];i&&(t[a]=function(t){return function(){return t.apply(this,e(arguments,r+"."+a))}}(i))},a=0;a<n.length;a++)o(a)}function n(e,t){var n=Object.getOwnPropertyDescriptor(e,t)||{enumerable:!0,configurable:!0},r=Object.getOwnPropertyDescriptor(e,"original"+t);!r&&n.get&&Object.defineProperty(e,"original"+t,{enumerable:!1,configurable:!0,get:n.get}),delete n.writable,delete n.value;var o=t.substr(2),a="_"+t;n.set=function(e){if(this[a]&&this.removeEventListener(o,this[a]),"function"==typeof e){var t=function(t){var n;n=e.apply(this,arguments),void 0==n||n||t.preventDefault()};this[a]=t,this.addEventListener(o,t,!1)}else this[a]=null},n.get=function(){var r=this[a]||null;if(null===r){var o=Object.getOwnPropertyDescriptor(e,"original"+t);o&&o.get&&(r=o.get.apply(this,arguments),r&&(n.set.apply(this,[r]),this.removeAttribute(t)))}return this[a]||null},Object.defineProperty(e,t,n)}function r(e,t){var r=[];for(var o in e)"on"==o.substr(0,2)&&r.push(o);for(var a=0;a<r.length;a++)n(e,r[a]);if(t)for(var i=0;i<t.length;i++)n(e,"on"+t[i])}function o(e,t,n,r,o){var a=e[C];if(a)for(var i=0;i<a.length;i++){var s=a[i],u=s.data,c=u.handler;if((u.handler===t||c.listener===t)&&u.useCapturing===r&&u.eventName===n)return o&&a.splice(i,1),s}return null}function a(e,t,n){var r=e[C];r||(r=e[C]=[]),n?r.unshift(t):r.push(t)}function i(e,t,n,r,i,s){function u(e){var t=e.data;return a(t.target,e,i),t.invokeAddFunc(l,e)}function c(e){var t=e.data;return o(t.target,e.invoke,t.eventName,t.useCapturing,!0),t.invokeRemoveFunc(h,e)}void 0===n&&(n=!0),void 0===r&&(r=!1),void 0===i&&(i=!1),void 0===s&&(s=I);var l=E(e),h=E(t),p=!n&&void 0;return function(t,n){var a=s(t,n);a.useCapturing=a.useCapturing||p;var i=null;"function"==typeof a.handler?i=a.handler:a.handler&&a.handler.handleEvent&&(i=function(e){return a.handler.handleEvent(e)});var h=!1;try{h=a.handler&&"[object FunctionWrapper]"===a.handler.toString()}catch(f){return}if(!i||h)return a.invokeAddFunc(l,a.handler);if(!r){var d=o(a.target,a.handler,a.eventName,a.useCapturing,!1);if(d)return a.invokeAddFunc(l,d)}var k=Zone.current,v=a.target.constructor.name+"."+e+":"+a.eventName;k.scheduleEventTask(v,i,a,u,c)}}function s(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=I);var r=E(e),a=!t&&void 0;return function(e,t){var i=n(e,t);i.useCapturing=i.useCapturing||a;var s=o(i.target,i.handler,i.eventName,i.useCapturing,!0);s?s.zone.cancelTask(s):i.invokeRemoveFunc(r,i.handler)}}function u(e,t,n,r){return void 0===t&&(t=z),void 0===n&&(n=j),void 0===r&&(r=I),!(!e||!e[t])&&(h(e,t,function(){return i(t,n,!0,!1,!1,r)}),h(e,n,function(){return s(n,!0,r)}),!0)}function c(t){var n=D[t];if(n){D[t]=function(){var r=e(arguments,t);switch(r.length){case 0:this[L]=new n;break;case 1:this[L]=new n(r[0]);break;case 2:this[L]=new n(r[0],r[1]);break;case 3:this[L]=new n(r[0],r[1],r[2]);break;case 4:this[L]=new n(r[0],r[1],r[2],r[3]);break;default:throw new Error("Arg list too long.")}};var r,o=new n(function(){});for(r in o)"XMLHttpRequest"===t&&"responseBlob"===r||!function(e){"function"==typeof o[e]?D[t].prototype[e]=function(){return this[L][e].apply(this[L],arguments)}:Object.defineProperty(D[t].prototype,e,{set:function(n){"function"==typeof n?this[L][e]=Zone.current.wrap(n,t+"."+e):this[L][e]=n},get:function(){return this[L][e]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(D[t][r]=n[r])}}function l(e,t){try{return Function("f","return function "+e+"(){return f(this, arguments)}")(t)}catch(n){return function(){return t(this,arguments)}}}function h(e,t,n){for(var r=e;r&&Object.getOwnPropertyNames(r).indexOf(t)===-1;)r=Object.getPrototypeOf(r);!r&&e[t]&&(r=e);var o,a=E(t);return r&&!(o=r[a])&&(o=r[a]=r[t],r[t]=l(t,n(o,a,t))),o}function p(e,t,n,r){function o(t){var n=t.data;return n.args[0]=function(){t.invoke.apply(this,arguments),delete u[n.handleId]},n.handleId=i.apply(e,n.args),u[n.handleId]=t,t}function a(e){return delete u[e.data.handleId],s(e.data.handleId)}var i=null,s=null;t+=r,n+=r;var u={};i=h(e,t,function(n){return function(i,s){if("function"==typeof s[0]){var u=Zone.current,c={handleId:null,isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?s[1]||0:null,args:s},l=u.scheduleMacroTask(t,s[0],c,o,a);if(!l)return l;var h=l.data.handleId;return h.ref&&h.unref&&(l.ref=h.ref.bind(h),l.unref=h.unref.bind(h)),l}return n.apply(e,s)}}),s=h(e,n,function(t){return function(n,r){var o="number"==typeof r[0]?u[r[0]]:r[0];o&&"string"==typeof o.type?(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&o.zone.cancelTask(o):t.apply(e,r)}})}function f(){Object.defineProperty=function(e,t,n){if(k(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=v(e,t,n)),g(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=v(e,n,t[n])}),H(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=M(e,t);return k(e,t)&&(n.configurable=!1),n}}function d(e,t,n){var r=n.configurable;return n=v(e,t,n),g(e,t,n,r)}function k(e,t){return e&&e[R]&&e[R][t]}function v(e,t,n){return n.configurable=!0,n.configurable||(e[R]||F(e,R,{writable:!0,value:{}}),e[R][t]=!0),n}function g(e,t,n,r){try{return F(e,t,n)}catch(o){if(!n.configurable)throw o;"undefined"==typeof r?delete n.configurable:n.configurable=r;try{return F(e,t,n)}catch(o){var a=null;try{a=JSON.stringify(n)}catch(o){a=a.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+a+"' on object '"+e+"' and got error, giving up: "+o)}}}function y(e){var t=[],n=e.wtf;n?t=x.split(",").map(function(e){return"HTML"+e+"Element"}).concat(q):e[B]?t.push(B):t=q;for(var r=0;r<t.length;r++){var o=e[t[r]];u(o&&o.prototype)}}function m(e){var t=e.WebSocket;e.EventTarget||u(t.prototype),e.WebSocket=function(e,n){var o,a=arguments.length>1?new t(e,n):new t(e),i=Object.getOwnPropertyDescriptor(a,"onmessage");return i&&i.configurable===!1?(o=Object.create(a),["addEventListener","removeEventListener","send","close"].forEach(function(e){o[e]=function(){return a[e].apply(a,arguments)}})):o=a,r(o,["close","error","message","open"]),o};for(var n in t)e.WebSocket[n]=t[n]}function b(e){if(!Z){var t="undefined"!=typeof WebSocket;T()?(P&&r(HTMLElement.prototype,A),r(XMLHttpRequest.prototype,null),"undefined"!=typeof IDBIndex&&(r(IDBIndex.prototype,null),r(IDBRequest.prototype,null),r(IDBOpenDBRequest.prototype,null),r(IDBDatabase.prototype,null),r(IDBTransaction.prototype,null),r(IDBCursor.prototype,null)),t&&r(WebSocket.prototype,null)):(_(),c("XMLHttpRequest"),t&&m(e))}}function T(){if(P&&!Object.getOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=Object.getOwnPropertyDescriptor(Element.prototype,"onclick");if(e&&!e.configurable)return!1}Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{get:function(){return!0}});var t=new XMLHttpRequest,n=!!t.onreadystatechange;return Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{}),n}function _(){for(var e=function(e){var t=A[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][W]&&(t=Zone.current.wrap(o[n],r),t[W]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<A.length;t++)e(t)}function w(e){if(P&&"registerElement"in e.document){var t=document.registerElement,n=["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"];document.registerElement=function(e,r){return r&&r.prototype&&n.forEach(function(e){var t="Document.registerElement::"+e;if(r.prototype.hasOwnProperty(e)){var n=Object.getOwnPropertyDescriptor(r.prototype,e);n&&n.value?(n.value=Zone.current.wrap(n.value,t),d(r.prototype,e,n)):r.prototype[e]=Zone.current.wrap(r.prototype[e],t)}else r.prototype[e]&&(r.prototype[e]=Zone.current.wrap(r.prototype[e],t))}),t.apply(document,[e,r])}}}function S(e){function t(e){var t=e[J];return t}function n(e){self[$]=!1;var t=e.data,n=t.target[Y];n&&t.target.removeEventListener("readystatechange",n);var r=t.target[Y]=function(){t.target.readyState===t.target.DONE&&!t.aborted&&self[$]&&e.invoke()};t.target.addEventListener("readystatechange",r);var o=t.target[J];return o||(t.target[J]=e),i.apply(t.target,t.args),self[$]=!0,e}function r(){}function o(e){var t=e.data;return t.aborted=!0,s.apply(t.target,t.args)}var a=h(e.XMLHttpRequest.prototype,"open",function(){return function(e,t){return e[Q]=0==t[2],a.apply(e,t)}}),i=h(e.XMLHttpRequest.prototype,"send",function(){return function(e,t){var a=Zone.current;if(e[Q])return i.apply(e,t);var s={target:e,isPeriodic:!1,delay:null,args:t,aborted:!1};return a.scheduleMacroTask("XMLHttpRequest.send",r,s,n,o)}}),s=h(e.XMLHttpRequest.prototype,"abort",function(e){return function(e,n){var r=t(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn)return;r.zone.cancelTask(r)}}})}var E=(function(e){function t(e){return"__zone_symbol__"+e}function n(){0===O&&0===S.length&&(e[b]?e[b].resolve(0)[T](a):e[m](a,0))}function r(e){n(),S.push(e)}function o(e){var t=e&&e.rejection;t&&console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0),console.error(e)}function a(){if(!E){for(E=!0;S.length;){var e=S;S=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(r){o(r)}}}for(;D.length;)for(var a=function(){var e=D.shift();try{e.zone.runGuarded(function(){throw e})}catch(t){o(t)}};D.length;)a();E=!1}}function i(e){return e&&e.then}function s(e){return e}function u(e){return F.reject(e)}function c(e,t){return function(n){l(e,t,n)}}function l(e,t,r){if(e[Z]===z)if(r instanceof F&&r.hasOwnProperty(Z)&&r.hasOwnProperty(P)&&r[Z]!==z)h(r),l(e,r[Z],r[P]);else if(i(r))r.then(c(e,t),c(e,!1));else{e[Z]=t;var o=e[P];e[P]=r;for(var a=0;a<o.length;)p(e,o[a++],o[a++],o[a++],o[a++]);if(0==o.length&&t==I){e[Z]=L;try{throw new Error("Uncaught (in promise): "+r+(r&&r.stack?"\n"+r.stack:""))}catch(s){var u=s;u.rejection=r,u.promise=e,u.zone=k.current,u.task=k.currentTask,D.push(u),n()}}}return e}function h(e){if(e[Z]===L){e[Z]=I;for(var t=0;t<D.length;t++)if(e===D[t].promise){D.splice(t,1);break}}}function p(e,t,n,r,o){h(e);var a=e[Z]?r||s:o||u;t.scheduleMicroTask(C,function(){try{l(n,!0,t.run(a,null,[e[P]]))}catch(r){l(n,!1,r)}})}function f(e){var n=e.prototype,r=n[t("then")]=n.then;n.then=function(e,t){var n=this;return new F(function(e,t){r.call(n,e,t)}).then(e,t)}}function d(){var e=B.apply(this,arguments);if(this.message=e.message,this.originalStack=e.stack,d[W]&&this.originalStack){for(var t=this.originalStack.split("\n"),n=_,r=0;t[r]!==q&&r<t.length;)r++;for(;r<t.length&&n;r++){var o=t[r];if(o.trim()){var a=A.hasOwnProperty(o)&&A[o];a===x.blackList?(t.splice(r,1),r--):a===x.transition?n.parent?(t[r]+=" ["+n.parent.zone.name+" => "+n.zone.name+"]",n=n.parent):n=null:t[r]+=" ["+n.zone.name+"]"}}this.stack=this.zoneAwareStack=t.join("\n")}}if(e.Zone)throw new Error("Zone already loaded.");var k=function(){function n(e,t){this._properties=null,this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,t)}return n.assertZonePatched=function(){if(e.Promise!==F)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(n,"current",{get:function(){return _.zone},enumerable:!0,configurable:!0}),Object.defineProperty(n,"currentTask",{get:function(){return w},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),n.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},n.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},n.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},n.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},n.prototype.run=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null),_=new y(_,this);try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{_=_.parent}},n.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null),_=new y(_,this);try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{_=_.parent}},n.prototype.runTask=function(e,t,n){if(e.runCount++,e.zone!=this)throw new Error("A task can only be run in the zone which created it! (Creation: "+e.zone.name+"; Execution: "+this.name+")");var r=w;w=e,_=new y(_,this);try{"macroTask"==e.type&&e.data&&!e.data.isPeriodic&&(e.cancelFn=null);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{_=_.parent,w=r}},n.prototype.scheduleMicroTask=function(e,t,n,r){return this._zoneDelegate.scheduleTask(this,new g("microTask",this,e,t,n,r,null))},n.prototype.scheduleMacroTask=function(e,t,n,r,o){return this._zoneDelegate.scheduleTask(this,new g("macroTask",this,e,t,n,r,o))},n.prototype.scheduleEventTask=function(e,t,n,r,o){return this._zoneDelegate.scheduleTask(this,new g("eventTask",this,e,t,n,r,o))},n.prototype.cancelTask=function(e){var t=this._zoneDelegate.cancelTask(this,e);return e.runCount=-1,e.cancelFn=null,t},n.__symbol__=t,n}(),v=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=n&&(n.onHasTask?n:t._hasTaskZS),this._hasTaskDlgt=n&&(n.onHasTask?t:t._hasTaskDlgt),this._hasTaskCurrZone=n&&(n.onHasTask?this.zone:t.zone)}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new k(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){try{if(this._scheduleTaskZS)return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t);if(t.scheduleFn)t.scheduleFn(t);else{if("microTask"!=t.type)throw new Error("Task is missing scheduleFn.");r(t)}return t}finally{e==this.zone&&this._updateTaskCount(t.type,1)}},e.prototype.invokeTask=function(e,t,n,r){try{return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)}finally{e!=this.zone||"eventTask"==t.type||t.data&&t.data.isPeriodic||this._updateTaskCount(t.type,-1)}},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw new Error("Task does not support cancellation, or is already canceled.");n=t.cancelFn(t)}return e==this.zone&&this._updateTaskCount(t.type,-1),n},e.prototype.hasTask=function(e,t){return this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");if(0==r||0==o){var a={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};try{this.hasTask(this.zone,a)}finally{this._parentDelegate&&this._parentDelegate._updateTaskCount(e,t)}}},e}(),g=function(){function e(e,t,n,r,o,i,s){this.runCount=0,this.type=e,this.zone=t,this.source=n,this.data=o,this.scheduleFn=i,this.cancelFn=s,this.callback=r;var u=this;this.invoke=function(){O++;try{return t.runTask(u,this,arguments)}finally{1==O&&a(),O--}}}return e.prototype.toString=function(){return this.data&&"undefined"!=typeof this.data.handleId?this.data.handleId:Object.prototype.toString.call(this)},e}(),y=function(){function e(e,t){this.parent=e,this.zone=t}return e}(),m=t("setTimeout"),b=t("Promise"),T=t("then"),_=new y(null,new k(null,null)),w=null,S=[],E=!1,D=[],O=0,Z=t("state"),P=t("value"),C="Promise.then",z=null,j=!0,I=!1,L=0,F=function(){function e(t){var n=this;if(!(n instanceof e))throw new Error("Must be an instanceof Promise.");n[Z]=z,n[P]=[];try{t&&t(c(n,j),c(n,I))}catch(r){l(n,!1,r)}}return e.resolve=function(e){return l(new this(null),j,e)},e.reject=function(e){return l(new this(null),I,e)},e.race=function(e){function t(e){a&&(a=r(e))}function n(e){a&&(a=o(e))}for(var r,o,a=new this(function(e,t){n=[e,t],r=n[0],o=n[1];var n}),s=0,u=e;s<u.length;s++){var c=u[s];i(c)||(c=this.resolve(c)),c.then(t,n)}return a},e.all=function(e){for(var t,n,r=new this(function(e,r){t=e,n=r}),o=0,a=[],s=0,u=e;s<u.length;s++){var c=u[s];i(c)||(c=this.resolve(c)),c.then(function(e){return function(n){a[e]=n,o--,o||t(a)}}(o),n),o++}return o||t(a),r},e.prototype.then=function(e,t){var n=new this.constructor(null),r=k.current;return this[Z]==z?this[P].push(r,n,e,t):p(this,r,n,e,t),n},e.prototype["catch"]=function(e){return this.then(null,e)},e}();F.resolve=F.resolve,F.reject=F.reject,F.race=F.race,F.all=F.all;var M=e[t("Promise")]=e.Promise;if(e.Promise=F,M&&(f(M),"undefined"!=typeof e.fetch)){var H=void 0;try{H=e.fetch()}catch(R){H=e.fetch("about:blank")}H.then(function(){return null},function(){return null}),H.constructor!=M&&H.constructor!=F&&f(H.constructor)}Promise[k.__symbol__("uncaughtPromiseErrors")]=D;var x;!function(e){e[e.blackList=0]="blackList",e[e.transition=1]="transition"}(x||(x={}));var q,B=e[t("Error")]=e.Error,A={};e.Error=d;var W="stackRewrite";d.prototype=Object.create(B.prototype),d[k.__symbol__("blacklistedStackFrames")]=A,d[W]=!1,B.hasOwnProperty("stackTraceLimit")&&(B.stackTraceLimit=Math.max(B.stackTraceLimit,15),Object.defineProperty(d,"stackTraceLimit",{get:function(){return B.stackTraceLimit},set:function(e){return B.stackTraceLimit=e}})),B.hasOwnProperty("captureStackTrace")&&Object.defineProperty(d,"captureStackTrace",{value:function(e,t){B.captureStackTrace(e,t)}}),Object.defineProperty(d,"prepareStackTrace",{get:function(){return B.prepareStackTrace},set:function(e){return B.prepareStackTrace=e}});var N=k.current.fork({name:"detect",onInvoke:function(e,t,n,r,o,a,i){return e.invoke(n,r,o,a,i)},onHandleError:function(e,t,n,r){if(r.originalStack&&Error===d)for(var o=r.originalStack.split(/\n/),a=!1,i=!1,s=!1;o.length;){var u=o.shift();if(/:\d+:\d+/.test(u)){var c=u.split("(")[0].split("@")[0],l=x.transition;if(c.indexOf("ZoneAwareError")!==-1&&(q=u),c.indexOf("runGuarded")!==-1?i=!0:c.indexOf("runTask")!==-1?s=!0:c.indexOf("run")!==-1?a=!0:l=x.blackList,A[u]=l,a&&i&&s){d[W]=!0;break}}}return!1}}),X=function(){N.run(function(){N.runGuarded(function(){throw new Error("blacklistStackFrames")})})};return N.runTask(N.scheduleMacroTask("detect",X,null,function(){return null},null)),e.Zone=k}("object"==typeof window&&window||"object"==typeof self&&self||global),function(e){return"__zone_symbol__"+e}),D="object"==typeof window&&window||"object"==typeof self&&self||global,O="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Z=!("nw"in D)&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),P=!Z&&!O&&!("undefined"==typeof window||!window.HTMLElement),C=E("eventTasks"),z="addEventListener",j="removeEventListener",I=function(e,t){return{useCapturing:t[2],eventName:t[0],handler:t[1],target:e||D,name:t[0],invokeAddFunc:function(e,t){return t&&t.invoke?this.target[e](this.eventName,t.invoke,this.useCapturing):this.target[e](this.eventName,t,this.useCapturing)},invokeRemoveFunc:function(e,t){return t&&t.invoke?this.target[e](this.eventName,t.invoke,this.useCapturing):this.target[e](this.eventName,t,this.useCapturing)}}},L=(i(z,j),s(j),E("originalInstance")),F=Object[E("defineProperty")]=Object.defineProperty,M=Object[E("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,H=Object.create,R=E("unconfigurables"),x="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",q="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),B="EventTarget",A="copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror".split(" "),W=E("unbound"),N="set",X="clear",G=["alert","prompt","confirm"],U="object"==typeof window&&window||"object"==typeof self&&self||global;p(U,N,X,"Timeout"),p(U,N,X,"Interval"),p(U,N,X,"Immediate"),p(U,"request","cancel","AnimationFrame"),p(U,"mozRequest","mozCancel","AnimationFrame"),p(U,"webkitRequest","webkitCancel","AnimationFrame");for(var K=0;K<G.length;K++){var V=G[K];h(U,V,function(e,t,n){return function(t,r){return Zone.current.run(e,U,r,n)}})}y(U),b(U),c("MutationObserver"),c("WebKitMutationObserver"),c("FileReader"),f(),w(U),S(U);var J=E("xhrTask"),Q=E("xhrSync"),Y=E("xhrListener"),$=E("xhrScheduled");U.navigator&&U.navigator.geolocation&&t(U.navigator.geolocation,["getCurrentPosition","watchPosition"])}); | ||
// vendored from zone.js@0.11.4 | ||
// purposefully not minified to trigger unminified-javascript |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this still an aggressive promise polyfill? It might be better to bump back down to 0.7.3 unless you verified, since that's a lot of (potentially) breaking changes since #1178
Just putting this up to discuss.I simply ran
yarn update:sample-artifacts ; yarn update:sample-json ; yarn jest -u
. ~15 tests failed.If we wanted to completely update the devtoolsLogs / traces like this, should we also wholesale update artifacts.json ?
Is there a way to balance keeping these sample data up-to-date to recent Chrome, and reducing churn? Or is this a bandaid we must rip?