From: djy0 Date: Wed, 26 Feb 2020 15:20:10 +0000 (+0800) Subject: fix(runtime-core): set appContext.provides to Object.create(null) (#781) X-Git-Tag: v3.0.0-alpha.7~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=04f83fa6810e07915e98b94c954ff0c1859aaa49;p=thirdparty%2Fvuejs%2Fcore.git fix(runtime-core): set appContext.provides to Object.create(null) (#781) --- diff --git a/packages/runtime-core/__tests__/apiCreateApp.spec.ts b/packages/runtime-core/__tests__/apiCreateApp.spec.ts index 0442cf7062..c80f005ae7 100644 --- a/packages/runtime-core/__tests__/apiCreateApp.spec.ts +++ b/packages/runtime-core/__tests__/apiCreateApp.spec.ts @@ -79,6 +79,9 @@ describe('api: createApp', () => { setup() { const foo = inject('foo') const bar = inject('bar') + try { + inject('__proto__') + } catch (e) {} return () => `${foo},${bar}` } } @@ -90,6 +93,7 @@ describe('api: createApp', () => { const root = nodeOps.createElement('div') app.mount(root) expect(serializeInner(root)).toBe(`3,2`) + expect('[Vue warn]: injection "__proto__" not found.').toHaveBeenWarned() }) test('component', () => { diff --git a/packages/runtime-core/src/apiCreateApp.ts b/packages/runtime-core/src/apiCreateApp.ts index f8189f25e9..5e6acb9cd0 100644 --- a/packages/runtime-core/src/apiCreateApp.ts +++ b/packages/runtime-core/src/apiCreateApp.ts @@ -82,7 +82,7 @@ export function createAppContext(): AppContext { mixins: [], components: {}, directives: {}, - provides: {} + provides: Object.create(null) } }