RendererV2 -> Renderer2 rename (#14998)
* refactor: rename `RendererV2` into `Renderer2` BREAKING CHANGE (since 4.0 rc.1): - rename `RendererV2` to `Renderer2` - rename `RendererTypeV2` to `RendererType2` - rename `RendererFactoryV2` to `RendererFactory2`
This commit is contained in:

committed by
Chuck Jazdzewski

parent
5df998d086
commit
ad3b44aef7
@ -10,7 +10,7 @@
|
||||
* All channels used by angular's WebWorker components are listed here.
|
||||
* You should not use these channels in your application code.
|
||||
*/
|
||||
export const RENDERER_V2_CHANNEL = 'v2.ng-Renderer';
|
||||
export const EVENT_V2_CHANNEL = 'v2.ng-Events';
|
||||
export const RENDERER_2_CHANNEL = 'v2.ng-Renderer';
|
||||
export const EVENT_2_CHANNEL = 'v2.ng-Events';
|
||||
|
||||
export const ROUTER_CHANNEL = 'ng-Router';
|
||||
|
@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {Injectable, RenderComponentType, RendererTypeV2, Type, ɵstringify as stringify} from '@angular/core';
|
||||
import {Injectable, RenderComponentType, RendererType2, Type, ɵstringify as stringify} from '@angular/core';
|
||||
import {RenderStore} from './render_store';
|
||||
|
||||
|
||||
@ -29,8 +29,8 @@ export class LocationType {
|
||||
* @experimental WebWorker support in Angular is currently experimental.
|
||||
*/
|
||||
export const enum SerializerTypes {
|
||||
// RendererTypeV2
|
||||
RENDERER_TYPE_V2,
|
||||
// RendererType2
|
||||
RENDERER_TYPE_2,
|
||||
// Primitive types
|
||||
PRIMITIVE,
|
||||
// An object stored in a RenderStore
|
||||
@ -54,8 +54,8 @@ export class Serializer {
|
||||
if (type === RenderComponentType) {
|
||||
return this._serializeRenderComponentType(obj);
|
||||
}
|
||||
if (type === SerializerTypes.RENDERER_TYPE_V2) {
|
||||
return this._serializeRendererTypeV2(obj);
|
||||
if (type === SerializerTypes.RENDERER_TYPE_2) {
|
||||
return this._serializeRendererType2(obj);
|
||||
}
|
||||
if (type === LocationType) {
|
||||
return this._serializeLocation(obj);
|
||||
@ -77,8 +77,8 @@ export class Serializer {
|
||||
if (type === RenderComponentType) {
|
||||
return this._deserializeRenderComponentType(map);
|
||||
}
|
||||
if (type === SerializerTypes.RENDERER_TYPE_V2) {
|
||||
return this._deserializeRendererTypeV2(map);
|
||||
if (type === SerializerTypes.RENDERER_TYPE_2) {
|
||||
return this._deserializeRendererType2(map);
|
||||
}
|
||||
if (type === LocationType) {
|
||||
return this._deserializeLocation(map);
|
||||
@ -122,7 +122,7 @@ export class Serializer {
|
||||
this.deserialize(props['encapsulation']), this.deserialize(props['styles']), {});
|
||||
}
|
||||
|
||||
private _serializeRendererTypeV2(type: RendererTypeV2): {[key: string]: any} {
|
||||
private _serializeRendererType2(type: RendererType2): {[key: string]: any} {
|
||||
return {
|
||||
'id': type.id,
|
||||
'encapsulation': this.serialize(type.encapsulation),
|
||||
@ -131,7 +131,7 @@ export class Serializer {
|
||||
};
|
||||
}
|
||||
|
||||
private _deserializeRendererTypeV2(props: {[key: string]: any}): RendererTypeV2 {
|
||||
private _deserializeRendererType2(props: {[key: string]: any}): RendererType2 {
|
||||
return {
|
||||
id: props['id'],
|
||||
encapsulation: props['encapsulation'],
|
||||
|
@ -6,34 +6,34 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {Injectable, RenderComponentType, Renderer, RendererFactoryV2, RendererTypeV2, RendererV2, RootRenderer} from '@angular/core';
|
||||
import {Injectable, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererType2, RootRenderer} from '@angular/core';
|
||||
|
||||
import {MessageBus} from '../shared/message_bus';
|
||||
import {EVENT_V2_CHANNEL, RENDERER_V2_CHANNEL} from '../shared/messaging_api';
|
||||
import {EVENT_2_CHANNEL, RENDERER_2_CHANNEL} from '../shared/messaging_api';
|
||||
import {RenderStore} from '../shared/render_store';
|
||||
import {Serializer, SerializerTypes} from '../shared/serializer';
|
||||
import {ServiceMessageBroker, ServiceMessageBrokerFactory} from '../shared/service_message_broker';
|
||||
import {EventDispatcher} from '../ui/event_dispatcher';
|
||||
|
||||
@Injectable()
|
||||
export class MessageBasedRendererV2 {
|
||||
export class MessageBasedRenderer2 {
|
||||
private _eventDispatcher: EventDispatcher;
|
||||
|
||||
constructor(
|
||||
private _brokerFactory: ServiceMessageBrokerFactory, private _bus: MessageBus,
|
||||
private _serializer: Serializer, private _renderStore: RenderStore,
|
||||
private _rendererFactory: RendererFactoryV2) {}
|
||||
private _rendererFactory: RendererFactory2) {}
|
||||
|
||||
start(): void {
|
||||
const broker = this._brokerFactory.createMessageBroker(RENDERER_V2_CHANNEL);
|
||||
const broker = this._brokerFactory.createMessageBroker(RENDERER_2_CHANNEL);
|
||||
|
||||
this._bus.initChannel(EVENT_V2_CHANNEL);
|
||||
this._eventDispatcher = new EventDispatcher(this._bus.to(EVENT_V2_CHANNEL), this._serializer);
|
||||
this._bus.initChannel(EVENT_2_CHANNEL);
|
||||
this._eventDispatcher = new EventDispatcher(this._bus.to(EVENT_2_CHANNEL), this._serializer);
|
||||
|
||||
const [RSO, P, CRT] = [
|
||||
SerializerTypes.RENDER_STORE_OBJECT,
|
||||
SerializerTypes.PRIMITIVE,
|
||||
SerializerTypes.RENDERER_TYPE_V2,
|
||||
SerializerTypes.RENDERER_TYPE_2,
|
||||
];
|
||||
|
||||
const methods: any[][] = [
|
||||
@ -61,80 +61,80 @@ export class MessageBasedRendererV2 {
|
||||
});
|
||||
}
|
||||
|
||||
private destroy(r: RendererV2) { r.destroy(); }
|
||||
private destroy(r: Renderer2) { r.destroy(); }
|
||||
|
||||
private destroyNode(r: RendererV2, node: any) {
|
||||
private destroyNode(r: Renderer2, node: any) {
|
||||
if (r.destroyNode) {
|
||||
r.destroyNode(node);
|
||||
}
|
||||
this._renderStore.remove(node);
|
||||
}
|
||||
|
||||
private createRenderer(el: any, type: RendererTypeV2, id: number) {
|
||||
private createRenderer(el: any, type: RendererType2, id: number) {
|
||||
this._renderStore.store(this._rendererFactory.createRenderer(el, type), id);
|
||||
}
|
||||
|
||||
private createElement(r: RendererV2, name: string, namespace: string, id: number) {
|
||||
private createElement(r: Renderer2, name: string, namespace: string, id: number) {
|
||||
this._renderStore.store(r.createElement(name, namespace), id);
|
||||
}
|
||||
|
||||
private createComment(r: RendererV2, value: string, id: number) {
|
||||
private createComment(r: Renderer2, value: string, id: number) {
|
||||
this._renderStore.store(r.createComment(value), id);
|
||||
}
|
||||
|
||||
private createText(r: RendererV2, value: string, id: number) {
|
||||
private createText(r: Renderer2, value: string, id: number) {
|
||||
this._renderStore.store(r.createText(value), id);
|
||||
}
|
||||
|
||||
private appendChild(r: RendererV2, parent: any, child: any) { r.appendChild(parent, child); }
|
||||
private appendChild(r: Renderer2, parent: any, child: any) { r.appendChild(parent, child); }
|
||||
|
||||
private insertBefore(r: RendererV2, parent: any, child: any, ref: any) {
|
||||
private insertBefore(r: Renderer2, parent: any, child: any, ref: any) {
|
||||
r.insertBefore(parent, child, ref);
|
||||
}
|
||||
|
||||
private removeChild(r: RendererV2, parent: any, child: any) { r.removeChild(parent, child); }
|
||||
private removeChild(r: Renderer2, parent: any, child: any) { r.removeChild(parent, child); }
|
||||
|
||||
private selectRootElement(r: RendererV2, selector: string, id: number) {
|
||||
private selectRootElement(r: Renderer2, selector: string, id: number) {
|
||||
this._renderStore.store(r.selectRootElement(selector), id);
|
||||
}
|
||||
|
||||
private parentNode(r: RendererV2, node: any, id: number) {
|
||||
private parentNode(r: Renderer2, node: any, id: number) {
|
||||
this._renderStore.store(r.parentNode(node), id);
|
||||
}
|
||||
|
||||
private nextSibling(r: RendererV2, node: any, id: number) {
|
||||
private nextSibling(r: Renderer2, node: any, id: number) {
|
||||
this._renderStore.store(r.nextSibling(node), id);
|
||||
}
|
||||
|
||||
private setAttribute(r: RendererV2, el: any, name: string, value: string, namespace: string) {
|
||||
private setAttribute(r: Renderer2, el: any, name: string, value: string, namespace: string) {
|
||||
r.setAttribute(el, name, value, namespace);
|
||||
}
|
||||
|
||||
private removeAttribute(r: RendererV2, el: any, name: string, namespace: string) {
|
||||
private removeAttribute(r: Renderer2, el: any, name: string, namespace: string) {
|
||||
r.removeAttribute(el, name, namespace);
|
||||
}
|
||||
|
||||
private addClass(r: RendererV2, el: any, name: string) { r.addClass(el, name); }
|
||||
private addClass(r: Renderer2, el: any, name: string) { r.addClass(el, name); }
|
||||
|
||||
private removeClass(r: RendererV2, el: any, name: string) { r.removeClass(el, name); }
|
||||
private removeClass(r: Renderer2, el: any, name: string) { r.removeClass(el, name); }
|
||||
|
||||
private setStyle(
|
||||
r: RendererV2, el: any, style: string, value: any, hasVendorPrefix: boolean,
|
||||
r: Renderer2, el: any, style: string, value: any, hasVendorPrefix: boolean,
|
||||
hasImportant: boolean) {
|
||||
r.setStyle(el, style, value, hasVendorPrefix, hasImportant);
|
||||
}
|
||||
|
||||
private removeStyle(r: RendererV2, el: any, style: string, hasVendorPrefix: boolean) {
|
||||
private removeStyle(r: Renderer2, el: any, style: string, hasVendorPrefix: boolean) {
|
||||
r.removeStyle(el, style, hasVendorPrefix);
|
||||
}
|
||||
|
||||
private setProperty(r: RendererV2, el: any, name: string, value: any) {
|
||||
private setProperty(r: Renderer2, el: any, name: string, value: any) {
|
||||
r.setProperty(el, name, value);
|
||||
}
|
||||
|
||||
private setValue(r: RendererV2, node: any, value: string) { r.setValue(node, value); }
|
||||
private setValue(r: Renderer2, node: any, value: string) { r.setValue(node, value); }
|
||||
|
||||
private listen(r: RendererV2, el: any, elName: string, eventName: string, unlistenId: number) {
|
||||
private listen(r: Renderer2, el: any, elName: string, eventName: string, unlistenId: number) {
|
||||
const listener = (event: any) => {
|
||||
return this._eventDispatcher.dispatchRenderEvent(el, elName, eventName, event);
|
||||
};
|
||||
@ -143,5 +143,5 @@ export class MessageBasedRendererV2 {
|
||||
this._renderStore.store(unlisten, unlistenId);
|
||||
}
|
||||
|
||||
private unlisten(r: RendererV2, unlisten: () => boolean) { unlisten(); }
|
||||
private unlisten(r: Renderer2, unlisten: () => boolean) { unlisten(); }
|
||||
}
|
||||
|
@ -6,11 +6,11 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {Injectable, RenderComponentType, Renderer, RendererFactoryV2, RendererTypeV2, RendererV2, RootRenderer, ViewEncapsulation} from '@angular/core';
|
||||
import {Injectable, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererType2, RootRenderer, ViewEncapsulation} from '@angular/core';
|
||||
|
||||
import {ClientMessageBroker, ClientMessageBrokerFactory, FnArg, UiArguments} from '../shared/client_message_broker';
|
||||
import {MessageBus} from '../shared/message_bus';
|
||||
import {EVENT_V2_CHANNEL, RENDERER_V2_CHANNEL} from '../shared/messaging_api';
|
||||
import {EVENT_2_CHANNEL, RENDERER_2_CHANNEL} from '../shared/messaging_api';
|
||||
import {RenderStore} from '../shared/render_store';
|
||||
import {Serializer, SerializerTypes} from '../shared/serializer';
|
||||
|
||||
@ -53,7 +53,7 @@ function eventNameWithTarget(target: string, eventName: string): string {
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
export class WebWorkerRendererFactoryV2 implements RendererFactoryV2 {
|
||||
export class WebWorkerRendererFactory2 implements RendererFactory2 {
|
||||
globalEvents = new NamedEventEmitter();
|
||||
|
||||
private _messageBroker: ClientMessageBroker;
|
||||
@ -61,20 +61,20 @@ export class WebWorkerRendererFactoryV2 implements RendererFactoryV2 {
|
||||
constructor(
|
||||
messageBrokerFactory: ClientMessageBrokerFactory, bus: MessageBus,
|
||||
private _serializer: Serializer, public renderStore: RenderStore) {
|
||||
this._messageBroker = messageBrokerFactory.createMessageBroker(RENDERER_V2_CHANNEL);
|
||||
bus.initChannel(EVENT_V2_CHANNEL);
|
||||
const source = bus.from(EVENT_V2_CHANNEL);
|
||||
this._messageBroker = messageBrokerFactory.createMessageBroker(RENDERER_2_CHANNEL);
|
||||
bus.initChannel(EVENT_2_CHANNEL);
|
||||
const source = bus.from(EVENT_2_CHANNEL);
|
||||
source.subscribe({next: (message: any) => this._dispatchEvent(message)});
|
||||
}
|
||||
|
||||
createRenderer(element: any, type: RendererTypeV2): RendererV2 {
|
||||
const renderer = new WebWorkerRendererV2(this);
|
||||
createRenderer(element: any, type: RendererType2): Renderer2 {
|
||||
const renderer = new WebWorkerRenderer2(this);
|
||||
|
||||
const id = this.renderStore.allocateId();
|
||||
this.renderStore.store(renderer, id);
|
||||
this.callUI('createRenderer', [
|
||||
new FnArg(element, SerializerTypes.RENDER_STORE_OBJECT),
|
||||
new FnArg(type, SerializerTypes.RENDERER_TYPE_V2),
|
||||
new FnArg(type, SerializerTypes.RENDERER_TYPE_2),
|
||||
new FnArg(renderer, SerializerTypes.RENDER_STORE_OBJECT),
|
||||
]);
|
||||
|
||||
@ -114,10 +114,10 @@ export class WebWorkerRendererFactoryV2 implements RendererFactoryV2 {
|
||||
}
|
||||
|
||||
|
||||
export class WebWorkerRendererV2 implements RendererV2 {
|
||||
export class WebWorkerRenderer2 implements Renderer2 {
|
||||
data: {[key: string]: any} = Object.create(null);
|
||||
|
||||
constructor(private _rendererFactory: WebWorkerRendererFactoryV2) {}
|
||||
constructor(private _rendererFactory: WebWorkerRendererFactory2) {}
|
||||
|
||||
private asFnArg = new FnArg(this, SerializerTypes.RENDER_STORE_OBJECT);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import {CommonModule, ɵPLATFORM_WORKER_APP_ID as PLATFORM_WORKER_APP_ID} from '@angular/common';
|
||||
import {APP_INITIALIZER, ApplicationModule, ErrorHandler, NgModule, NgZone, PLATFORM_ID, PlatformRef, Provider, RendererFactoryV2, RootRenderer, createPlatformFactory, platformCore} from '@angular/core';
|
||||
import {APP_INITIALIZER, ApplicationModule, ErrorHandler, NgModule, NgZone, PLATFORM_ID, PlatformRef, Provider, RendererFactory2, RootRenderer, createPlatformFactory, platformCore} from '@angular/core';
|
||||
import {DOCUMENT, ɵBROWSER_SANITIZATION_PROVIDERS as BROWSER_SANITIZATION_PROVIDERS} from '@angular/platform-browser';
|
||||
import {ON_WEB_WORKER} from './web_workers/shared/api';
|
||||
import {ClientMessageBrokerFactory, ClientMessageBrokerFactory_} from './web_workers/shared/client_message_broker';
|
||||
@ -16,7 +16,7 @@ import {PostMessageBus, PostMessageBusSink, PostMessageBusSource} from './web_wo
|
||||
import {RenderStore} from './web_workers/shared/render_store';
|
||||
import {Serializer} from './web_workers/shared/serializer';
|
||||
import {ServiceMessageBrokerFactory, ServiceMessageBrokerFactory_} from './web_workers/shared/service_message_broker';
|
||||
import {WebWorkerRendererFactoryV2} from './web_workers/worker/renderer';
|
||||
import {WebWorkerRendererFactory2} from './web_workers/worker/renderer';
|
||||
import {WorkerDomAdapter} from './web_workers/worker/worker_adapter';
|
||||
|
||||
|
||||
@ -63,8 +63,8 @@ export function setupWebWorker(): void {
|
||||
{provide: DOCUMENT, useValue: null},
|
||||
{provide: ClientMessageBrokerFactory, useClass: ClientMessageBrokerFactory_},
|
||||
{provide: ServiceMessageBrokerFactory, useClass: ServiceMessageBrokerFactory_},
|
||||
WebWorkerRendererFactoryV2,
|
||||
{provide: RendererFactoryV2, useExisting: WebWorkerRendererFactoryV2},
|
||||
WebWorkerRendererFactory2,
|
||||
{provide: RendererFactory2, useExisting: WebWorkerRendererFactory2},
|
||||
{provide: ON_WEB_WORKER, useValue: true},
|
||||
RenderStore,
|
||||
{provide: ErrorHandler, useFactory: errorHandler, deps: []},
|
||||
|
@ -7,8 +7,8 @@
|
||||
*/
|
||||
|
||||
import {CommonModule, ɵPLATFORM_WORKER_UI_ID as PLATFORM_WORKER_UI_ID} from '@angular/common';
|
||||
import {ErrorHandler, Injectable, InjectionToken, Injector, NgZone, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactoryV2, RootRenderer, Testability, createPlatformFactory, isDevMode, platformCore, ɵAPP_ID_RANDOM_PROVIDER as APP_ID_RANDOM_PROVIDER} from '@angular/core';
|
||||
import {DOCUMENT, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HammerGestureConfig, ɵBROWSER_SANITIZATION_PROVIDERS as BROWSER_SANITIZATION_PROVIDERS, ɵBrowserDomAdapter as BrowserDomAdapter, ɵBrowserGetTestability as BrowserGetTestability, ɵDomEventsPlugin as DomEventsPlugin, ɵDomRendererFactoryV2 as DomRendererFactoryV2, ɵDomSharedStylesHost as DomSharedStylesHost, ɵHammerGesturesPlugin as HammerGesturesPlugin, ɵKeyEventsPlugin as KeyEventsPlugin, ɵSharedStylesHost as SharedStylesHost, ɵgetDOM as getDOM} from '@angular/platform-browser';
|
||||
import {ErrorHandler, Injectable, InjectionToken, Injector, NgZone, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, Testability, createPlatformFactory, isDevMode, platformCore, ɵAPP_ID_RANDOM_PROVIDER as APP_ID_RANDOM_PROVIDER} from '@angular/core';
|
||||
import {DOCUMENT, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HammerGestureConfig, ɵBROWSER_SANITIZATION_PROVIDERS as BROWSER_SANITIZATION_PROVIDERS, ɵBrowserDomAdapter as BrowserDomAdapter, ɵBrowserGetTestability as BrowserGetTestability, ɵDomEventsPlugin as DomEventsPlugin, ɵDomRendererFactory2 as DomRendererFactory2, ɵDomSharedStylesHost as DomSharedStylesHost, ɵHammerGesturesPlugin as HammerGesturesPlugin, ɵKeyEventsPlugin as KeyEventsPlugin, ɵSharedStylesHost as SharedStylesHost, ɵgetDOM as getDOM} from '@angular/platform-browser';
|
||||
|
||||
import {ON_WEB_WORKER} from './web_workers/shared/api';
|
||||
import {ClientMessageBrokerFactory, ClientMessageBrokerFactory_} from './web_workers/shared/client_message_broker';
|
||||
@ -17,7 +17,7 @@ import {PostMessageBus, PostMessageBusSink, PostMessageBusSource} from './web_wo
|
||||
import {RenderStore} from './web_workers/shared/render_store';
|
||||
import {Serializer} from './web_workers/shared/serializer';
|
||||
import {ServiceMessageBrokerFactory, ServiceMessageBrokerFactory_} from './web_workers/shared/service_message_broker';
|
||||
import {MessageBasedRendererV2} from './web_workers/ui/renderer';
|
||||
import {MessageBasedRenderer2} from './web_workers/ui/renderer';
|
||||
|
||||
|
||||
/**
|
||||
@ -54,12 +54,8 @@ export const WORKER_UI_STARTABLE_MESSAGING_SERVICE =
|
||||
|
||||
export const _WORKER_UI_PLATFORM_PROVIDERS: Provider[] = [
|
||||
{provide: NgZone, useFactory: createNgZone, deps: []},
|
||||
MessageBasedRendererV2,
|
||||
{
|
||||
provide: WORKER_UI_STARTABLE_MESSAGING_SERVICE,
|
||||
useExisting: MessageBasedRendererV2,
|
||||
multi: true
|
||||
},
|
||||
MessageBasedRenderer2,
|
||||
{provide: WORKER_UI_STARTABLE_MESSAGING_SERVICE, useExisting: MessageBasedRenderer2, multi: true},
|
||||
BROWSER_SANITIZATION_PROVIDERS,
|
||||
{provide: ErrorHandler, useFactory: _exceptionHandler, deps: []},
|
||||
{provide: DOCUMENT, useFactory: _document, deps: []},
|
||||
@ -70,8 +66,8 @@ export const _WORKER_UI_PLATFORM_PROVIDERS: Provider[] = [
|
||||
{provide: EVENT_MANAGER_PLUGINS, useClass: HammerGesturesPlugin, multi: true},
|
||||
{provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig},
|
||||
APP_ID_RANDOM_PROVIDER,
|
||||
DomRendererFactoryV2,
|
||||
{provide: RendererFactoryV2, useExisting: DomRendererFactoryV2},
|
||||
DomRendererFactory2,
|
||||
{provide: RendererFactory2, useExisting: DomRendererFactory2},
|
||||
{provide: SharedStylesHost, useExisting: DomSharedStylesHost},
|
||||
{provide: ServiceMessageBrokerFactory, useClass: ServiceMessageBrokerFactory_},
|
||||
{provide: ClientMessageBrokerFactory, useClass: ClientMessageBrokerFactory_},
|
||||
|
@ -6,11 +6,11 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {Component, ComponentRef, RendererFactoryV2, RendererTypeV2, RendererV2, RootRenderer} from '@angular/core';
|
||||
import {Component, ComponentRef, Renderer2, RendererFactory2, RendererType2, RootRenderer} from '@angular/core';
|
||||
import {TestBed} from '@angular/core/testing';
|
||||
import {platformBrowserDynamicTesting} from '@angular/platform-browser-dynamic/testing';
|
||||
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
|
||||
import {DomRendererFactoryV2} from '@angular/platform-browser/src/dom/dom_renderer';
|
||||
import {DomRendererFactory2} from '@angular/platform-browser/src/dom/dom_renderer';
|
||||
import {BrowserTestingModule} from '@angular/platform-browser/testing';
|
||||
import {dispatchEvent} from '@angular/platform-browser/testing/browser_util';
|
||||
import {expect} from '@angular/platform-browser/testing/matchers';
|
||||
@ -19,11 +19,11 @@ import {ClientMessageBrokerFactory, ClientMessageBrokerFactory_} from '../../../
|
||||
import {RenderStore} from '../../../src/web_workers/shared/render_store';
|
||||
import {Serializer} from '../../../src/web_workers/shared/serializer';
|
||||
import {ServiceMessageBrokerFactory_} from '../../../src/web_workers/shared/service_message_broker';
|
||||
import {MessageBasedRendererV2} from '../../../src/web_workers/ui/renderer';
|
||||
import {WebWorkerRendererFactoryV2} from '../../../src/web_workers/worker/renderer';
|
||||
import {MessageBasedRenderer2} from '../../../src/web_workers/ui/renderer';
|
||||
import {WebWorkerRendererFactory2} from '../../../src/web_workers/worker/renderer';
|
||||
import {PairedMessageBuses, createPairedMessageBuses} from '../shared/web_worker_test_util';
|
||||
|
||||
let lastCreatedRenderer: RendererV2;
|
||||
let lastCreatedRenderer: Renderer2;
|
||||
|
||||
export function main() {
|
||||
describe('Web Worker Renderer v2', () => {
|
||||
@ -43,12 +43,12 @@ export function main() {
|
||||
providers: [
|
||||
Serializer,
|
||||
{provide: RenderStore, useValue: uiRenderStore},
|
||||
DomRendererFactoryV2,
|
||||
{provide: RendererFactoryV2, useExisting: DomRendererFactoryV2},
|
||||
DomRendererFactory2,
|
||||
{provide: RendererFactory2, useExisting: DomRendererFactory2},
|
||||
]
|
||||
});
|
||||
const uiSerializer = uiInjector.get(Serializer);
|
||||
const domRendererFactory = uiInjector.get(RendererFactoryV2);
|
||||
const domRendererFactory = uiInjector.get(RendererFactory2);
|
||||
|
||||
// Worker side
|
||||
lastCreatedRenderer = null;
|
||||
@ -61,9 +61,9 @@ export function main() {
|
||||
Serializer,
|
||||
{provide: RenderStore, useValue: wwRenderStore},
|
||||
{
|
||||
provide: RendererFactoryV2,
|
||||
provide: RendererFactory2,
|
||||
useFactory:
|
||||
(wwSerializer: Serializer) => createWebWorkerRendererFactoryV2(
|
||||
(wwSerializer: Serializer) => createWebWorkerRendererFactory2(
|
||||
wwSerializer, uiSerializer, domRendererFactory, uiRenderStore, wwRenderStore),
|
||||
deps: [Serializer],
|
||||
},
|
||||
@ -174,7 +174,7 @@ class MyComp2 {
|
||||
|
||||
function createWebWorkerBrokerFactory(
|
||||
messageBuses: PairedMessageBuses, wwSerializer: Serializer, uiSerializer: Serializer,
|
||||
domRendererFactory: DomRendererFactoryV2,
|
||||
domRendererFactory: DomRendererFactory2,
|
||||
uiRenderStore: RenderStore): ClientMessageBrokerFactory {
|
||||
const uiMessageBus = messageBuses.ui;
|
||||
const wwMessageBus = messageBuses.worker;
|
||||
@ -184,17 +184,16 @@ function createWebWorkerBrokerFactory(
|
||||
|
||||
// set up the ui side
|
||||
const uiBrokerFactory = new ServiceMessageBrokerFactory_(uiMessageBus, uiSerializer);
|
||||
const renderer = new MessageBasedRendererV2(
|
||||
const renderer = new MessageBasedRenderer2(
|
||||
uiBrokerFactory, uiMessageBus, uiSerializer, uiRenderStore, domRendererFactory);
|
||||
renderer.start();
|
||||
|
||||
return wwBrokerFactory;
|
||||
}
|
||||
|
||||
function createWebWorkerRendererFactoryV2(
|
||||
workerSerializer: Serializer, uiSerializer: Serializer,
|
||||
domRendererFactory: DomRendererFactoryV2, uiRenderStore: RenderStore,
|
||||
workerRenderStore: RenderStore): RendererFactoryV2 {
|
||||
function createWebWorkerRendererFactory2(
|
||||
workerSerializer: Serializer, uiSerializer: Serializer, domRendererFactory: DomRendererFactory2,
|
||||
uiRenderStore: RenderStore, workerRenderStore: RenderStore): RendererFactory2 {
|
||||
const messageBuses = createPairedMessageBuses();
|
||||
const brokerFactory = createWebWorkerBrokerFactory(
|
||||
messageBuses, workerSerializer, uiSerializer, domRendererFactory, uiRenderStore);
|
||||
@ -205,8 +204,8 @@ function createWebWorkerRendererFactoryV2(
|
||||
return rendererFactory;
|
||||
}
|
||||
|
||||
class RenderFactory extends WebWorkerRendererFactoryV2 {
|
||||
createRenderer(element: any, type: RendererTypeV2): RendererV2 {
|
||||
class RenderFactory extends WebWorkerRendererFactory2 {
|
||||
createRenderer(element: any, type: RendererType2): Renderer2 {
|
||||
lastCreatedRenderer = super.createRenderer(element, type);
|
||||
return lastCreatedRenderer;
|
||||
}
|
||||
|
Reference in New Issue
Block a user