/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { CommonModule, PlatformLocation } from '@angular/common'; import { ApplicationModule, ErrorHandler, NgModule, Optional, PLATFORM_INITIALIZER, RootRenderer, Sanitizer, SkipSelf, Testability, createPlatformFactory, platformCore } from '@angular/core'; import { AnimationDriver } from '../src/dom/animation_driver'; import { WebAnimationsDriver } from '../src/dom/web_animations_driver'; import { BrowserDomAdapter } from './browser/browser_adapter'; import { BrowserPlatformLocation } from './browser/location/browser_platform_location'; import { BrowserGetTestability } from './browser/testability'; import { Title } from './browser/title'; import { ELEMENT_PROBE_PROVIDERS } from './dom/debug/ng_probe'; import { getDOM } from './dom/dom_adapter'; import { DomRootRenderer, DomRootRenderer_ } from './dom/dom_renderer'; import { DOCUMENT } from './dom/dom_tokens'; import { DomEventsPlugin } from './dom/events/dom_events'; import { EVENT_MANAGER_PLUGINS, EventManager } from './dom/events/event_manager'; import { HAMMER_GESTURE_CONFIG, HammerGestureConfig, HammerGesturesPlugin } from './dom/events/hammer_gestures'; import { KeyEventsPlugin } from './dom/events/key_events'; import { DomSharedStylesHost, SharedStylesHost } from './dom/shared_styles_host'; import { DomSanitizer, DomSanitizerImpl } from './security/dom_sanitization_service'; export var /** @type {?} */ INTERNAL_BROWSER_PLATFORM_PROVIDERS = [ { provide: PLATFORM_INITIALIZER, useValue: initDomAdapter, multi: true }, { provide: PlatformLocation, useClass: BrowserPlatformLocation } ]; /** * @security Replacing built-in sanitization providers exposes the application to XSS risks. * Attacker-controlled data introduced by an unsanitized provider could expose your * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security). * @experimental */ export var /** @type {?} */ BROWSER_SANITIZATION_PROVIDERS = [ { provide: Sanitizer, useExisting: DomSanitizer }, { provide: DomSanitizer, useClass: DomSanitizerImpl }, ]; /** * @stable */ export var /** @type {?} */ platformBrowser = createPlatformFactory(platformCore, 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS); /** * @return {?} */ export function initDomAdapter() { BrowserDomAdapter.makeCurrent(); BrowserGetTestability.init(); } /** * @return {?} */ export function errorHandler() { return new ErrorHandler(); } /** * @return {?} */ export function _document() { return getDOM().defaultDoc(); } /** * @return {?} */ export function _resolveDefaultAnimationDriver() { if (getDOM().supportsWebAnimation()) { return new WebAnimationsDriver(); } return AnimationDriver.NOOP; } /** * The ng module for the browser. * * \@stable */ export var BrowserModule = (function () { /** * @param {?} parentModule */ function BrowserModule(parentModule) { if (parentModule) { throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead."); } } BrowserModule.decorators = [ { type: NgModule, args: [{ providers: [ BROWSER_SANITIZATION_PROVIDERS, { provide: ErrorHandler, useFactory: errorHandler, deps: [] }, { provide: DOCUMENT, useFactory: _document, deps: [] }, { provide: EVENT_MANAGER_PLUGINS, useClass: DomEventsPlugin, multi: true }, { provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true }, { provide: EVENT_MANAGER_PLUGINS, useClass: HammerGesturesPlugin, multi: true }, { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig }, { provide: DomRootRenderer, useClass: DomRootRenderer_ }, { provide: RootRenderer, useExisting: DomRootRenderer }, { provide: SharedStylesHost, useExisting: DomSharedStylesHost }, { provide: AnimationDriver, useFactory: _resolveDefaultAnimationDriver }, DomSharedStylesHost, Testability, EventManager, ELEMENT_PROBE_PROVIDERS, Title ], exports: [CommonModule, ApplicationModule] },] }, ]; /** @nocollapse */ BrowserModule.ctorParameters = function () { return [ { type: BrowserModule, decorators: [{ type: Optional }, { type: SkipSelf },] }, ]; }; return BrowserModule; }()); function BrowserModule_tsickle_Closure_declarations() { /** @type {?} */ BrowserModule.decorators; /** * @nocollapse * @type {?} */ BrowserModule.ctorParameters; } //# sourceMappingURL=browser.js.map