Skip to content

Commit 5bffed0

Browse files
committed
build: build 2.6.9
1 parent f1bdd7f commit 5bffed0

19 files changed

+300
-194
lines changed

Diff for: dist/vue.common.dev.js

+34-20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Vue.js v2.6.8
2+
* Vue.js v2.6.9
33
* (c) 2014-2019 Evan You
44
* Released under the MIT License.
55
*/
@@ -1857,10 +1857,11 @@ function invokeWithErrorHandling (
18571857
var res;
18581858
try {
18591859
res = args ? handler.apply(context, args) : handler.call(context);
1860-
if (res && !res._isVue && isPromise(res)) {
1860+
if (res && !res._isVue && isPromise(res) && !res._handled) {
1861+
res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
18611862
// issue #9511
1862-
// reassign to res to avoid catch triggering multiple times when nested calls
1863-
res = res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
1863+
// avoid catch triggering multiple times when nested calls
1864+
res._handled = true;
18641865
}
18651866
} catch (e) {
18661867
handleError(e, vm, info);
@@ -2544,6 +2545,7 @@ function normalizeScopedSlots (
25442545
) {
25452546
var res;
25462547
var isStable = slots ? !!slots.$stable : true;
2548+
var hasNormalSlots = Object.keys(normalSlots).length > 0;
25472549
var key = slots && slots.$key;
25482550
if (!slots) {
25492551
res = {};
@@ -2555,7 +2557,8 @@ function normalizeScopedSlots (
25552557
prevSlots &&
25562558
prevSlots !== emptyObject &&
25572559
key === prevSlots.$key &&
2558-
Object.keys(normalSlots).length === 0
2560+
!hasNormalSlots &&
2561+
!prevSlots.$hasNormal
25592562
) {
25602563
// fast path 2: stable scoped slots w/ no normal slots to proxy,
25612564
// only need to normalize once
@@ -2581,6 +2584,7 @@ function normalizeScopedSlots (
25812584
}
25822585
def(res, '$stable', isStable);
25832586
def(res, '$key', key);
2587+
def(res, '$hasNormal', hasNormalSlots);
25842588
return res
25852589
}
25862590

@@ -2590,8 +2594,10 @@ function normalizeScopedSlot(normalSlots, key, fn) {
25902594
res = res && typeof res === 'object' && !Array.isArray(res)
25912595
? [res] // single vnode
25922596
: normalizeChildren(res);
2593-
return res && res.length === 0
2594-
? undefined
2597+
return res && (
2598+
res.length === 0 ||
2599+
(res.length === 1 && res[0].isComment) // #9658
2600+
) ? undefined
25952601
: res
25962602
};
25972603
// this is a slot using the new v-slot syntax without scope. although it is
@@ -2771,12 +2777,13 @@ function bindObjectProps (
27712777
: data.attrs || (data.attrs = {});
27722778
}
27732779
var camelizedKey = camelize(key);
2774-
if (!(key in hash) && !(camelizedKey in hash)) {
2780+
var hyphenatedKey = hyphenate(key);
2781+
if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
27752782
hash[key] = value[key];
27762783

27772784
if (isSync) {
27782785
var on = data.on || (data.on = {});
2779-
on[("update:" + camelizedKey)] = function ($event) {
2786+
on[("update:" + key)] = function ($event) {
27802787
value[key] = $event;
27812788
};
27822789
}
@@ -3611,7 +3618,7 @@ function resolveAsyncComponent (
36113618
}
36123619

36133620
var owner = currentRenderingInstance;
3614-
if (isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
3621+
if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
36153622
// already pending
36163623
factory.owners.push(owner);
36173624
}
@@ -3620,7 +3627,7 @@ function resolveAsyncComponent (
36203627
return factory.loadingComp
36213628
}
36223629

3623-
if (!isDef(factory.owners)) {
3630+
if (owner && !isDef(factory.owners)) {
36243631
var owners = factory.owners = [owner];
36253632
var sync = true
36263633

@@ -4235,10 +4242,15 @@ var getNow = Date.now;
42354242
// timestamp can either be hi-res (relative to page load) or low-res
42364243
// (relative to UNIX epoch), so in order to compare time we have to use the
42374244
// same timestamp type when saving the flush timestamp.
4238-
if (inBrowser && getNow() > document.createEvent('Event').timeStamp) {
4239-
// if the low-res timestamp which is bigger than the event timestamp
4240-
// (which is evaluated AFTER) it means the event is using a hi-res timestamp,
4241-
// and we need to use the hi-res version for event listeners as well.
4245+
if (
4246+
inBrowser &&
4247+
window.performance &&
4248+
typeof performance.now === 'function' &&
4249+
document.createEvent('Event').timeStamp <= performance.now()
4250+
) {
4251+
// if the event timestamp is bigger than the hi-res timestamp
4252+
// (which is evaluated AFTER) it means the event is using a lo-res timestamp,
4253+
// and we need to use the lo-res version for event listeners as well.
42424254
getNow = function () { return performance.now(); };
42434255
}
42444256

@@ -5404,7 +5416,7 @@ Object.defineProperty(Vue, 'FunctionalRenderContext', {
54045416
value: FunctionalRenderContext
54055417
});
54065418

5407-
Vue.version = '2.6.8';
5419+
Vue.version = '2.6.9';
54085420

54095421
/* */
54105422

@@ -7496,8 +7508,10 @@ function add$1 (
74967508
e.target === e.currentTarget ||
74977509
// event is fired after handler attachment
74987510
e.timeStamp >= attachedTimestamp ||
7499-
// #9462 bail for iOS 9 bug: event.timeStamp is 0 after history.pushState
7500-
e.timeStamp === 0 ||
7511+
// bail for environments that have buggy event.timeStamp implementations
7512+
// #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState
7513+
// #9681 QtWebEngine event.timeStamp is negative value
7514+
e.timeStamp <= 0 ||
75017515
// #9448 bail if event is fired in another document in a multi-page
75027516
// electron/nw.js app, since event.timeStamp will be using a different
75037517
// starting reference
@@ -8115,8 +8129,8 @@ function enter (vnode, toggleDisplay) {
81158129
var context = activeInstance;
81168130
var transitionNode = activeInstance.$vnode;
81178131
while (transitionNode && transitionNode.parent) {
8118-
transitionNode = transitionNode.parent;
81198132
context = transitionNode.context;
8133+
transitionNode = transitionNode.parent;
81208134
}
81218135

81228136
var isAppear = !context._isMounted || !vnode.isRootInsert;
@@ -9823,7 +9837,7 @@ function parse (
98239837
text = preserveWhitespace ? ' ' : '';
98249838
}
98259839
if (text) {
9826-
if (whitespaceOption === 'condense') {
9840+
if (!inPre && whitespaceOption === 'condense') {
98279841
// condense consecutive whitespaces into single space
98289842
text = text.replace(whitespaceRE$1, ' ');
98299843
}

Diff for: dist/vue.common.prod.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: dist/vue.esm.browser.js

+34-20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Vue.js v2.6.8
2+
* Vue.js v2.6.9
33
* (c) 2014-2019 Evan You
44
* Released under the MIT License.
55
*/
@@ -1888,10 +1888,11 @@ function invokeWithErrorHandling (
18881888
let res;
18891889
try {
18901890
res = args ? handler.apply(context, args) : handler.call(context);
1891-
if (res && !res._isVue && isPromise(res)) {
1891+
if (res && !res._isVue && isPromise(res) && !res._handled) {
1892+
res.catch(e => handleError(e, vm, info + ` (Promise/async)`));
18921893
// issue #9511
1893-
// reassign to res to avoid catch triggering multiple times when nested calls
1894-
res = res.catch(e => handleError(e, vm, info + ` (Promise/async)`));
1894+
// avoid catch triggering multiple times when nested calls
1895+
res._handled = true;
18951896
}
18961897
} catch (e) {
18971898
handleError(e, vm, info);
@@ -2572,6 +2573,7 @@ function normalizeScopedSlots (
25722573
) {
25732574
let res;
25742575
const isStable = slots ? !!slots.$stable : true;
2576+
const hasNormalSlots = Object.keys(normalSlots).length > 0;
25752577
const key = slots && slots.$key;
25762578
if (!slots) {
25772579
res = {};
@@ -2583,7 +2585,8 @@ function normalizeScopedSlots (
25832585
prevSlots &&
25842586
prevSlots !== emptyObject &&
25852587
key === prevSlots.$key &&
2586-
Object.keys(normalSlots).length === 0
2588+
!hasNormalSlots &&
2589+
!prevSlots.$hasNormal
25872590
) {
25882591
// fast path 2: stable scoped slots w/ no normal slots to proxy,
25892592
// only need to normalize once
@@ -2609,6 +2612,7 @@ function normalizeScopedSlots (
26092612
}
26102613
def(res, '$stable', isStable);
26112614
def(res, '$key', key);
2615+
def(res, '$hasNormal', hasNormalSlots);
26122616
return res
26132617
}
26142618

@@ -2618,8 +2622,10 @@ function normalizeScopedSlot(normalSlots, key, fn) {
26182622
res = res && typeof res === 'object' && !Array.isArray(res)
26192623
? [res] // single vnode
26202624
: normalizeChildren(res);
2621-
return res && res.length === 0
2622-
? undefined
2625+
return res && (
2626+
res.length === 0 ||
2627+
(res.length === 1 && res[0].isComment) // #9658
2628+
) ? undefined
26232629
: res
26242630
};
26252631
// this is a slot using the new v-slot syntax without scope. although it is
@@ -2799,12 +2805,13 @@ function bindObjectProps (
27992805
: data.attrs || (data.attrs = {});
28002806
}
28012807
const camelizedKey = camelize(key);
2802-
if (!(key in hash) && !(camelizedKey in hash)) {
2808+
const hyphenatedKey = hyphenate(key);
2809+
if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
28032810
hash[key] = value[key];
28042811

28052812
if (isSync) {
28062813
const on = data.on || (data.on = {});
2807-
on[`update:${camelizedKey}`] = function ($event) {
2814+
on[`update:${key}`] = function ($event) {
28082815
value[key] = $event;
28092816
};
28102817
}
@@ -3632,7 +3639,7 @@ function resolveAsyncComponent (
36323639
}
36333640

36343641
const owner = currentRenderingInstance;
3635-
if (isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
3642+
if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
36363643
// already pending
36373644
factory.owners.push(owner);
36383645
}
@@ -3641,7 +3648,7 @@ function resolveAsyncComponent (
36413648
return factory.loadingComp
36423649
}
36433650

3644-
if (!isDef(factory.owners)) {
3651+
if (owner && !isDef(factory.owners)) {
36453652
const owners = factory.owners = [owner];
36463653
let sync = true
36473654

@@ -4256,10 +4263,15 @@ let getNow = Date.now;
42564263
// timestamp can either be hi-res (relative to page load) or low-res
42574264
// (relative to UNIX epoch), so in order to compare time we have to use the
42584265
// same timestamp type when saving the flush timestamp.
4259-
if (inBrowser && getNow() > document.createEvent('Event').timeStamp) {
4260-
// if the low-res timestamp which is bigger than the event timestamp
4261-
// (which is evaluated AFTER) it means the event is using a hi-res timestamp,
4262-
// and we need to use the hi-res version for event listeners as well.
4266+
if (
4267+
inBrowser &&
4268+
window.performance &&
4269+
typeof performance.now === 'function' &&
4270+
document.createEvent('Event').timeStamp <= performance.now()
4271+
) {
4272+
// if the event timestamp is bigger than the hi-res timestamp
4273+
// (which is evaluated AFTER) it means the event is using a lo-res timestamp,
4274+
// and we need to use the lo-res version for event listeners as well.
42634275
getNow = () => performance.now();
42644276
}
42654277

@@ -5435,7 +5447,7 @@ Object.defineProperty(Vue, 'FunctionalRenderContext', {
54355447
value: FunctionalRenderContext
54365448
});
54375449

5438-
Vue.version = '2.6.8';
5450+
Vue.version = '2.6.9';
54395451

54405452
/* */
54415453

@@ -7519,8 +7531,10 @@ function add$1 (
75197531
e.target === e.currentTarget ||
75207532
// event is fired after handler attachment
75217533
e.timeStamp >= attachedTimestamp ||
7522-
// #9462 bail for iOS 9 bug: event.timeStamp is 0 after history.pushState
7523-
e.timeStamp === 0 ||
7534+
// bail for environments that have buggy event.timeStamp implementations
7535+
// #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState
7536+
// #9681 QtWebEngine event.timeStamp is negative value
7537+
e.timeStamp <= 0 ||
75247538
// #9448 bail if event is fired in another document in a multi-page
75257539
// electron/nw.js app, since event.timeStamp will be using a different
75267540
// starting reference
@@ -8137,8 +8151,8 @@ function enter (vnode, toggleDisplay) {
81378151
let context = activeInstance;
81388152
let transitionNode = activeInstance.$vnode;
81398153
while (transitionNode && transitionNode.parent) {
8140-
transitionNode = transitionNode.parent;
81418154
context = transitionNode.context;
8155+
transitionNode = transitionNode.parent;
81428156
}
81438157

81448158
const isAppear = !context._isMounted || !vnode.isRootInsert;
@@ -9840,7 +9854,7 @@ function parse (
98409854
text = preserveWhitespace ? ' ' : '';
98419855
}
98429856
if (text) {
9843-
if (whitespaceOption === 'condense') {
9857+
if (!inPre && whitespaceOption === 'condense') {
98449858
// condense consecutive whitespaces into single space
98459859
text = text.replace(whitespaceRE$1, ' ');
98469860
}

Diff for: dist/vue.esm.browser.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)