angular-docs-cn/packages/core/test/render3
Miško Hevery 2e4d17f3a9 perf(core): make sanitization tree-shakable in Ivy mode (#31934)
In VE the `Sanitizer` is always available in `BrowserModule` because the VE retrieves it using injection.

In Ivy the injection is optional and we have instructions instead of component definition arrays. The implication of this is that in Ivy the instructions can pull in the sanitizer only when they are working with a property which is known to be unsafe. Because the Injection is optional this works even if no Sanitizer is present. So in Ivy we first use the sanitizer which is pulled in by the instruction, unless one is available through the `Injector` then we use that one instead.

This PR does few things:
1) It makes `Sanitizer` optional in Ivy.
2) It makes `DomSanitizer` tree shakable.
3) It aligns the semantics of Ivy `Sanitizer` with that of the Ivy sanitization rules.
4) It refactors `DomSanitizer` to use same functions as Ivy sanitization for consistency.

PR Close #31934
2019-08-15 10:30:12 -07:00
..
ivy refactor(ivy): fix type of factory functions to allow explicit types (#30855) 2019-06-11 14:27:17 -07:00
jit fix(core): require 'static' flag on queries in typings (#30639) 2019-05-24 16:55:00 -04:00
perf test(ivy): add style binding node-based micro benchmark (#32104) 2019-08-15 09:55:03 -07:00
styling_next refactor(ivy): make styling instructions use the new styling algorithm (#30742) 2019-07-19 16:40:40 -07:00
BUILD.bazel Revert "feat(ivy): use i18n locale data to determine the plural form of ICU expressions (#29249)" (#29918) 2019-04-15 16:55:51 -07:00
basic_perf.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
change_detection_spec.ts refactor(ivy): update ɵɵtextBinding to not take index (#30792) 2019-06-14 12:22:11 -07:00
common_with_def.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
component_ref_spec.ts perf(core): make sanitization tree-shakable in Ivy mode (#31934) 2019-08-15 10:30:12 -07:00
component_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
content_spec.ts fix(ivy): unable to project into multiple slots with default selector (#30561) 2019-05-31 09:52:32 -07:00
control_flow_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
debug_spec.ts refactor(ivy): rename debug.ts to lview_debug.ts (#30542) 2019-06-04 12:01:46 -07:00
di_spec.ts perf(ivy): split view processing into render (create) and refresh (update) pass (#32020) 2019-08-13 15:22:42 -07:00
domino.d.ts feat(core): Moving Renderer3 into @angular/core (#20855) 2017-12-21 21:40:58 -08:00
exports_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
global_utils_spec.ts refactor(ivy): remove all old styling code prior to refactor (#31193) 2019-07-23 15:45:32 -07:00
i18n_spec.ts feat(ivy): support `ng-content` in runtime i18n translations (#30782) 2019-06-05 09:04:13 -07:00
imported_renderer2.ts refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
instructions_spec.ts perf(core): make sanitization tree-shakable in Ivy mode (#31934) 2019-08-15 10:30:12 -07:00
integration_spec.ts perf(core): make sanitization tree-shakable in Ivy mode (#31934) 2019-08-15 10:30:12 -07:00
jit_environment_spec.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
lifecycle_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
listeners_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
load_domino.ts fix(core): Remove static dependency from @angular/core to @angular/compiler (#26734) 2018-10-31 14:15:06 -04:00
metadata_spec.ts build: extract interface and util sub compilation from core (#28028) 2019-01-10 16:31:44 -08:00
node_selector_matcher_spec.ts refactor(ivy): remove all old styling code prior to refactor (#31193) 2019-07-23 15:45:32 -07:00
outputs_spec.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
perfCounter_spec.ts build: extract interface and util sub compilation from core (#28028) 2019-01-10 16:31:44 -08:00
pipe_spec.ts refactor(ivy): remove interpolation instructions (#31395) 2019-07-08 09:34:13 -07:00
providers_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
pure_function_spec.ts refactor(ivy): make `bind` an internal-only function (#31131) 2019-06-20 17:20:56 -07:00
query_spec.ts refactor(ivy): remove load instruction (#32067) 2019-08-12 12:55:18 -07:00
render_util.ts perf(core): make sanitization tree-shakable in Ivy mode (#31934) 2019-08-15 10:30:12 -07:00
renderer_factory_spec.ts refactor(ivy): Move instructions back to ɵɵ (#30546) 2019-05-20 16:37:47 -07:00
testing_spec.ts refactor(core): remove withBody from public testing API (#25171) 2018-07-31 15:09:32 -07:00
util_spec.ts refactor(ivy): remove duplicated flatten util (#29547) 2019-03-27 12:36:23 -07:00
view_container_ref_spec.ts refactor(ivy): combine query load instructions (#32100) 2019-08-12 10:32:08 -07:00
view_utils_spec.ts refactor(ivy): remove all old styling code prior to refactor (#31193) 2019-07-23 15:45:32 -07:00