Skip to content

Commit c9c4205

Browse files
committed
Incorporate memory leak fix into 2.6.14 since there is no 2.6.15 release
vuejs#10085
1 parent 612fb89 commit c9c4205

20 files changed

+14826
-1658
lines changed

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

+156-146
Large diffs are not rendered by default.

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

+155-144
Large diffs are not rendered by default.

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.

Diff for: dist/vue.esm.js

+75-82
Large diffs are not rendered by default.

Diff for: dist/vue.js

+158-148
Large diffs are not rendered by default.

Diff for: dist/vue.min.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.runtime.common.dev.js

+110-111
Large diffs are not rendered by default.

Diff for: dist/vue.runtime.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.runtime.esm.js

+58-70
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* Vue.js v2.6.14
3-
* (c) 2014-2021 Evan You
3+
* (c) 2014-2023 Evan You
44
* Released under the MIT License.
55
*/
66
/* */
@@ -929,7 +929,7 @@ var Observer = function Observer (value) {
929929
Observer.prototype.walk = function walk (obj) {
930930
var keys = Object.keys(obj);
931931
for (var i = 0; i < keys.length; i++) {
932-
defineReactive$$1(obj, keys[i]);
932+
defineReactive(obj, keys[i]);
933933
}
934934
};
935935

@@ -996,7 +996,7 @@ function observe (value, asRootData) {
996996
/**
997997
* Define a reactive property on an Object.
998998
*/
999-
function defineReactive$$1 (
999+
function defineReactive (
10001000
obj,
10011001
key,
10021002
val,
@@ -1089,7 +1089,7 @@ function set (target, key, val) {
10891089
target[key] = val;
10901090
return val
10911091
}
1092-
defineReactive$$1(ob.value, key, val);
1092+
defineReactive(ob.value, key, val);
10931093
ob.dep.notify();
10941094
return val
10951095
}
@@ -1483,9 +1483,9 @@ function normalizeDirectives (options) {
14831483
var dirs = options.directives;
14841484
if (dirs) {
14851485
for (var key in dirs) {
1486-
var def$$1 = dirs[key];
1487-
if (typeof def$$1 === 'function') {
1488-
dirs[key] = { bind: def$$1, update: def$$1 };
1486+
var def = dirs[key];
1487+
if (typeof def === 'function') {
1488+
dirs[key] = { bind: def, update: def };
14891489
}
14901490
}
14911491
}
@@ -1627,7 +1627,7 @@ function validateProp (
16271627
if (
16281628
process.env.NODE_ENV !== 'production' &&
16291629
// skip validation for weex recycle-list child component props
1630-
!(false)
1630+
!(false )
16311631
) {
16321632
assertProp(prop, key, value, vm, absent);
16331633
}
@@ -2006,8 +2006,6 @@ function nextTick (cb, ctx) {
20062006
}
20072007
}
20082008

2009-
/* */
2010-
20112009
/* not type checking this file because flow doesn't play well with Proxy */
20122010

20132011
var initProxy;
@@ -2161,13 +2159,13 @@ if (process.env.NODE_ENV !== 'production') {
21612159
var normalizeEvent = cached(function (name) {
21622160
var passive = name.charAt(0) === '&';
21632161
name = passive ? name.slice(1) : name;
2164-
var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first
2165-
name = once$$1 ? name.slice(1) : name;
2162+
var once = name.charAt(0) === '~'; // Prefixed last, checked first
2163+
name = once ? name.slice(1) : name;
21662164
var capture = name.charAt(0) === '!';
21672165
name = capture ? name.slice(1) : name;
21682166
return {
21692167
name: name,
2170-
once: once$$1,
2168+
once: once,
21712169
capture: capture,
21722170
passive: passive
21732171
}
@@ -2196,13 +2194,13 @@ function updateListeners (
21962194
on,
21972195
oldOn,
21982196
add,
2199-
remove$$1,
2197+
remove,
22002198
createOnceHandler,
22012199
vm
22022200
) {
2203-
var name, def$$1, cur, old, event;
2201+
var name, def, cur, old, event;
22042202
for (name in on) {
2205-
def$$1 = cur = on[name];
2203+
def = cur = on[name];
22062204
old = oldOn[name];
22072205
event = normalizeEvent(name);
22082206
if (isUndef(cur)) {
@@ -2226,7 +2224,7 @@ function updateListeners (
22262224
for (name in oldOn) {
22272225
if (isUndef(on[name])) {
22282226
event = normalizeEvent(name);
2229-
remove$$1(event.name, oldOn[name], event.capture);
2227+
remove(event.name, oldOn[name], event.capture);
22302228
}
22312229
}
22322230
}
@@ -2439,7 +2437,7 @@ function initInjections (vm) {
24392437
Object.keys(result).forEach(function (key) {
24402438
/* istanbul ignore else */
24412439
if (process.env.NODE_ENV !== 'production') {
2442-
defineReactive$$1(vm, key, result[key], function () {
2440+
defineReactive(vm, key, result[key], function () {
24432441
warn(
24442442
"Avoid mutating an injected value directly since the changes will be " +
24452443
"overwritten whenever the provided component re-renders. " +
@@ -2448,7 +2446,7 @@ function initInjections (vm) {
24482446
);
24492447
});
24502448
} else {
2451-
defineReactive$$1(vm, key, result[key]);
2449+
defineReactive(vm, key, result[key]);
24522450
}
24532451
});
24542452
toggleObserving(true);
@@ -3112,12 +3110,6 @@ function mergeProps (to, from) {
31123110

31133111
/* */
31143112

3115-
/* */
3116-
3117-
/* */
3118-
3119-
/* */
3120-
31213113
// inline hooks to be invoked on component VNodes during patch
31223114
var componentVNodeHooks = {
31233115
init: function init (vnode, hydrating) {
@@ -3520,15 +3512,15 @@ function initRender (vm) {
35203512

35213513
/* istanbul ignore else */
35223514
if (process.env.NODE_ENV !== 'production') {
3523-
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
3515+
defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
35243516
!isUpdatingChildComponent && warn("$attrs is readonly.", vm);
35253517
}, true);
3526-
defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {
3518+
defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {
35273519
!isUpdatingChildComponent && warn("$listeners is readonly.", vm);
35283520
}, true);
35293521
} else {
3530-
defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);
3531-
defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);
3522+
defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);
3523+
defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);
35323524
}
35333525
}
35343526

@@ -3772,8 +3764,6 @@ function getFirstComponentChild (children) {
37723764

37733765
/* */
37743766

3775-
/* */
3776-
37773767
function initEvents (vm) {
37783768
vm._events = Object.create(null);
37793769
vm._hasHookEvent = false;
@@ -4424,7 +4414,7 @@ function queueWatcher (watcher) {
44244414

44254415

44264416

4427-
var uid$2 = 0;
4417+
var uid$1 = 0;
44284418

44294419
/**
44304420
* A watcher parses an expression, collects dependencies,
@@ -4454,7 +4444,7 @@ var Watcher = function Watcher (
44544444
this.deep = this.user = this.lazy = this.sync = false;
44554445
}
44564446
this.cb = cb;
4457-
this.id = ++uid$2; // uid for batching
4447+
this.id = ++uid$1; // uid for batching
44584448
this.active = true;
44594449
this.dirty = this.lazy; // for lazy watchers
44604450
this.deps = [];
@@ -4686,7 +4676,7 @@ function initProps (vm, propsOptions) {
46864676
vm
46874677
);
46884678
}
4689-
defineReactive$$1(props, key, value, function () {
4679+
defineReactive(props, key, value, function () {
46904680
if (!isRoot && !isUpdatingChildComponent) {
46914681
warn(
46924682
"Avoid mutating a prop directly since the value will be " +
@@ -4698,7 +4688,7 @@ function initProps (vm, propsOptions) {
46984688
}
46994689
});
47004690
} else {
4701-
defineReactive$$1(props, key, value);
4691+
defineReactive(props, key, value);
47024692
}
47034693
// static props are already proxied on the component's prototype
47044694
// during Vue.extend(). We only need to proxy props defined at
@@ -4973,13 +4963,13 @@ function stateMixin (Vue) {
49734963

49744964
/* */
49754965

4976-
var uid$3 = 0;
4966+
var uid$2 = 0;
49774967

49784968
function initMixin (Vue) {
49794969
Vue.prototype._init = function (options) {
49804970
var vm = this;
49814971
// a uid
4982-
vm._uid = uid$3++;
4972+
vm._uid = uid$2++;
49834973

49844974
var startTag, endTag;
49854975
/* istanbul ignore if */
@@ -5446,7 +5436,7 @@ function initGlobalAPI (Vue) {
54465436
warn: warn,
54475437
extend: extend,
54485438
mergeOptions: mergeOptions,
5449-
defineReactive: defineReactive$$1
5439+
defineReactive: defineReactive
54505440
};
54515441

54525442
Vue.set = set;
@@ -5782,6 +5772,7 @@ function setStyleScope (node, scopeId) {
57825772
}
57835773

57845774
var nodeOps = /*#__PURE__*/Object.freeze({
5775+
__proto__: null,
57855776
createElement: createElement$1,
57865777
createElementNS: createElementNS,
57875778
createTextNode: createTextNode,
@@ -5912,13 +5903,13 @@ function createPatchFunction (backend) {
59125903
}
59135904

59145905
function createRmCb (childElm, listeners) {
5915-
function remove$$1 () {
5916-
if (--remove$$1.listeners === 0) {
5906+
function remove () {
5907+
if (--remove.listeners === 0) {
59175908
removeNode(childElm);
59185909
}
59195910
}
5920-
remove$$1.listeners = listeners;
5921-
return remove$$1
5911+
remove.listeners = listeners;
5912+
return remove
59225913
}
59235914

59245915
function removeNode (el) {
@@ -5929,7 +5920,7 @@ function createPatchFunction (backend) {
59295920
}
59305921
}
59315922

5932-
function isUnknownElement$$1 (vnode, inVPre) {
5923+
function isUnknownElement (vnode, inVPre) {
59335924
return (
59345925
!inVPre &&
59355926
!vnode.ns &&
@@ -5978,7 +5969,7 @@ function createPatchFunction (backend) {
59785969
if (data && data.pre) {
59795970
creatingElmInVPre++;
59805971
}
5981-
if (isUnknownElement$$1(vnode, creatingElmInVPre)) {
5972+
if (isUnknownElement(vnode, creatingElmInVPre)) {
59825973
warn(
59835974
'Unknown custom element: <' + tag + '> - did you ' +
59845975
'register the component correctly? For recursive components, ' +
@@ -6076,11 +6067,11 @@ function createPatchFunction (backend) {
60766067
insert(parentElm, vnode.elm, refElm);
60776068
}
60786069

6079-
function insert (parent, elm, ref$$1) {
6070+
function insert (parent, elm, ref) {
60806071
if (isDef(parent)) {
6081-
if (isDef(ref$$1)) {
6082-
if (nodeOps.parentNode(ref$$1) === parent) {
6083-
nodeOps.insertBefore(parent, elm, ref$$1);
6072+
if (isDef(ref)) {
6073+
if (nodeOps.parentNode(ref) === parent) {
6074+
nodeOps.insertBefore(parent, elm, ref);
60846075
}
60856076
} else {
60866077
nodeOps.appendChild(parent, elm);
@@ -6498,7 +6489,7 @@ function createPatchFunction (backend) {
64986489
function assertNodeMatch (node, vnode, inVPre) {
64996490
if (isDef(vnode.tag)) {
65006491
return vnode.tag.indexOf('vue-component') === 0 || (
6501-
!isUnknownElement$$1(vnode, inVPre) &&
6492+
!isUnknownElement(vnode, inVPre) &&
65026493
vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())
65036494
)
65046495
} else {
@@ -6875,12 +6866,6 @@ var klass = {
68756866

68766867
/* */
68776868

6878-
/* */
6879-
6880-
/* */
6881-
6882-
/* */
6883-
68846869
// in some cases, the event used has to be determined at runtime
68856870
// so we used some reserved tokens during compile.
68866871
var RANGE_TOKEN = '__r';
@@ -6990,15 +6975,18 @@ function updateDOMListeners (oldVnode, vnode) {
69906975
}
69916976
var on = vnode.data.on || {};
69926977
var oldOn = oldVnode.data.on || {};
6993-
target$1 = vnode.elm;
6978+
// vnode is empty when removing all listeners,
6979+
// and use old vnode dom element
6980+
target$1 = vnode.elm || oldVnode.elm;
69946981
normalizeEvents(on);
69956982
updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);
69966983
target$1 = undefined;
69976984
}
69986985

69996986
var events = {
70006987
create: updateDOMListeners,
7001-
update: updateDOMListeners
6988+
update: updateDOMListeners,
6989+
destroy: function (vnode) { return updateDOMListeners(vnode, emptyNode); }
70026990
};
70036991

70046992
/* */
@@ -7342,20 +7330,20 @@ function removeClass (el, cls) {
73427330

73437331
/* */
73447332

7345-
function resolveTransition (def$$1) {
7346-
if (!def$$1) {
7333+
function resolveTransition (def) {
7334+
if (!def) {
73477335
return
73487336
}
73497337
/* istanbul ignore else */
7350-
if (typeof def$$1 === 'object') {
7338+
if (typeof def === 'object') {
73517339
var res = {};
7352-
if (def$$1.css !== false) {
7353-
extend(res, autoCssTransition(def$$1.name || 'v'));
7340+
if (def.css !== false) {
7341+
extend(res, autoCssTransition(def.name || 'v'));
73547342
}
7355-
extend(res, def$$1);
7343+
extend(res, def);
73567344
return res
7357-
} else if (typeof def$$1 === 'string') {
7358-
return autoCssTransition(def$$1)
7345+
} else if (typeof def === 'string') {
7346+
return autoCssTransition(def)
73597347
}
73607348
}
73617349

@@ -7835,7 +7823,7 @@ function _enter (_, vnode) {
78357823
var transition = inBrowser ? {
78367824
create: _enter,
78377825
activate: _enter,
7838-
remove: function remove$$1 (vnode, rm) {
7826+
remove: function remove (vnode, rm) {
78397827
/* istanbul ignore else */
78407828
if (vnode.data.show !== true) {
78417829
leave(vnode, rm);
@@ -8015,10 +8003,10 @@ var show = {
80158003
var value = ref.value;
80168004

80178005
vnode = locateNode(vnode);
8018-
var transition$$1 = vnode.data && vnode.data.transition;
8006+
var transition = vnode.data && vnode.data.transition;
80198007
var originalDisplay = el.__vOriginalDisplay =
80208008
el.style.display === 'none' ? '' : el.style.display;
8021-
if (value && transition$$1) {
8009+
if (value && transition) {
80228010
vnode.data.show = true;
80238011
enter(vnode, function () {
80248012
el.style.display = originalDisplay;
@@ -8035,8 +8023,8 @@ var show = {
80358023
/* istanbul ignore if */
80368024
if (!value === !oldValue) { return }
80378025
vnode = locateNode(vnode);
8038-
var transition$$1 = vnode.data && vnode.data.transition;
8039-
if (transition$$1) {
8026+
var transition = vnode.data && vnode.data.transition;
8027+
if (transition) {
80408028
vnode.data.show = true;
80418029
if (value) {
80428030
enter(vnode, function () {

0 commit comments

Comments
 (0)