Commit Graph

417 Commits

Author SHA1 Message Date
Pranav K eb2b58188a Updating to dev versions
# Conflicts:
#	test/Microsoft.AspNetCore.Razor.Test/project.json
2016-06-16 10:41:31 -07:00
N. Taylor Mullen e20d18636e Move more classes into Internal namespaces.
- These classes aren't needed as top level public classes.

#779
2016-06-13 13:53:14 -07:00
N. Taylor Mullen ccba161447 Move `FileSystem` dependency from Razor to Razor.Runtime. 2016-06-09 15:58:55 -07:00
N. Taylor Mullen 6e4f15bad4 Remove unused/unpurposeful classes.
- Several classes are legacy and left over from many changes in the Razor code base. This changeset removes those classes.
- Also moved several corresponding test cases

#778
2016-06-09 15:51:43 -07:00
mnltejaswini 3b9539960b [Perf] Preallocate TagHelperAttributes for simple bound string valued attributes Fixes #704 2016-06-01 11:24:32 -07:00
Doug Bunting 44f0aa63c6 Do not HTML encode while checking for whitespace
- #760
- using a `NullHtmlEncoder` improves `TagHelperContent.IsEmptyOrWhiteSpace` semantics
 - e.g. a tab is still a tab after encoding
 - also avoids `NotImplementedException`
- implement `Write(char)` for char-by-char `IHtmlContent` corner case
2016-05-31 22:09:19 -07:00
N. Taylor Mullen e14f4b095d Track `TagHelperAttribute` quotes.
- Removed `Minimized` from `TagHelperAttribute` and replaced it with `HtmlAttributeValueStyle`.
- Removed `AddMinimizedTagHelperAttribute` method from `TagHelperExecutionContext` since we always provide a `HtmlAttributeValueStyle` now.
- Stopped manually escaping double quotes because we now know how an attribute was originally written.
- Updated tests to account for new attribute format (from kvp).

#705
2016-05-27 12:28:33 -07:00
John Luo ccd0d52d8e React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:32:23 -07:00
mnltejaswini bde78dc3d4 [Perf]: Avoid ViewBuffers for writing bound TagHelper attribute values
Fixes #717
2016-05-25 12:06:03 -07:00
N. Taylor Mullen d0bf6bf841 Make HTML comments more resilient to extra end dashes.
aspnet/Mvc#4465
2016-05-24 15:34:35 -07:00
N. Taylor Mullen 80ebb4a068 Update `TagHelperDirectiveSpanVisitor` to properly capture TagHelper directive text.
- Added a test with optional quotes for each of the `TagHelperDirectiveDescriptor`s, add, remove and prefix.

#744
2016-05-23 17:07:36 -07:00
Ben Adams cacd16fa85 Remove pragma warning disable 1998
Function doesn't need async
2016-05-20 15:03:38 -07:00
N. Taylor Mullen cdea6fd3fb Fix TagHelper directive tests to fail when expected.
- Prior to this change the equals bits were falling back to the type comparison that `ChunkGenerator` exposes.
2016-05-18 11:05:55 -07:00
Pranav K 852642de84 Revert "React to updated CoreCLR packages."
This reverts commit 46f7a8575e.
2016-05-18 09:37:25 -07:00
N. Taylor Mullen d27ab1ce3d React to `HtmlEncodedString` rename to `HtmlString`.
- Updated test output to reflect new `HtmlString` naming.

aspnet/HtmlAbstractions.25
2016-05-17 12:13:26 -07:00
N. Taylor Mullen 46f7a8575e React to updated CoreCLR packages.
https://github.com/aspnet/Coherence/issues/97
2016-05-17 12:11:54 -07:00
N. Taylor Mullen 53e59b39c3 Revert "Add Visual Studio specific RC1 binaries."
This reverts commit 197d6a579f, 2c0fb950bc, 62fe5d6c4e and fad09801f8
2016-05-16 10:30:59 -07:00
Ajay Bhargav Baaskaran 9bfa74d829 [Fixes #739] Newline after text tag rendered only if followed by html 2016-05-02 16:29:29 -07:00
Pranav K 2950c87651 Merge branch 'release' into dev 2016-05-02 14:57:07 -07:00
Pranav K 2c4b0e8a7f Fix build warnings 2016-05-02 14:39:19 -07:00
Ajay Bhargav Baaskaran b520c9c15e Fix: Newline at the end of text tag in code block is rendered as markup 2016-04-26 15:43:18 -07:00
Pranav K eeed1036e3 Stop compiling for dnx451
Fixes #734
2016-04-15 13:12:14 -07:00
Pranav K 78c742c6ee Removing imports from src projects 2016-04-08 06:48:49 -07:00
N. Taylor Mullen fad09801f8 Update Resource lookup keys for VSRC1 packages. 2016-04-06 11:41:19 -07:00
N. Taylor Mullen c400289de5 Change `DefaultTagHelperContent` to be smart about single content entries.
- Today `TagHelperContent`s always allocate their underlying buffer even though they typically only ever have a single entry. Added a field to enable us to only allocate the backing buffer when we absolutely need to.
- Removed `IsEmpty` from `TagHelperContent` since it was not used in any of our `TagHelper`s for simplification. Changed `IsWhiteSpace` naming to be `IsEmptyOrWhiteSpace` since it can be used to indicate either state.
- Updated tests.

#621
2016-04-05 16:09:06 -07:00
N. Taylor Mullen 2c0fb950bc Add `AssemblyCompany`, `AssemblyCopyright` and `AssemblyProduct` attributes to the assembly. 2016-04-04 16:18:59 -07:00
N. Taylor Mullen 197d6a579f Add Visual Studio specific RC1 binaries.
- This is needed for Visual Studio RC1 backwards compatibility.
2016-04-04 15:20:38 -07:00
N. Taylor Mullen 4212b7e713 Add `SetOutputContentAsync` to `TagHelperExecutionContext` to prevent allocation of `Task<T>`.
- Previously we'd do `executionContext.Output.Content = await executionContext.Output.GetChildContentAsync()`. The problem with this approach is that it returned a `Task<TagHelperContent>` which could not be optimized when building in release.
- Added test to validate `SetOutputContentAsync` does the appropriate thing.

#721
2016-04-02 22:58:37 -07:00
jacalvar abaf3bba50 Make dependencies injectable in TagHelperDescriptorResolver.
* Added an interface for ITagHelperTypeResolver and made TagHelperTypeResolver implement it.
* Added an interface for ITagHelperTypeDescriptorFactory and made TagHelperDescriptorFactory implement it.
* Added a constructor on TagHelperDescriptorResolver that takes in an ITagHelperTypeResolver and ITagHelperDescriptorFactory.
2016-04-01 11:25:47 -07:00
N. Taylor Mullen f5c79b62de Prevent method => delegate conversion happening multiple times.
- The conversion now only occurs on the construction of the `TagHelperScopeManager` which only occurs once.
- Updated tests.

#720
2016-03-29 10:18:10 -07:00
N. Taylor Mullen 3c73ae9cfe Change `TagHelperOutput` and `TagHelperContext` lifetimes.
- `TagHelperOutput` and `TagHelperContext` lifetimes now mach `TagHelperExecutionContext`s. This means once a set of `TagHelper`s have run on a tag the `TagHelperOutput`/`TagHelperContext` will be re-used.
- Added tests to validate the various `Reset`/`Reinitialize` methods behaved correctly.
- Updated codegen to no longer set `TagHelperExecutionContext.Output`.

#719
2016-03-28 11:54:48 -07:00
Doug Bunting a8d4da9f17 Add a couple of missing `global::` prefixes
- was missing when writing out full name of an `enum` value
- was missing in one case when writing out `TagHelperAttribute` type name

nit: updated `CSharpTagHelperFieldDeclarationVisitor.WritePrivateField()` to always include the prefix
- no change in generated code but centralizes the prefix addition and reduces intermediate `string`s
2016-03-26 19:12:36 -07:00
ryanbrandenburg 21be7973ea SetContent to SetHtmlContent 2016-03-25 12:05:43 -07:00
Pranav K d04f2fd2ee Reacting to CoreCLR package changes 2016-03-23 14:30:29 -07:00
Pranav K 63ed1e551a Reacting to CoreCLR package changes 2016-03-23 13:02:53 -07:00
Pranav K 1e3d675993 Reacting to CoreCLR package changes 2016-03-22 15:09:58 -07:00
N. Taylor Mullen 3d0bf621f3 Update `TagHelperDesignTimeDescriptorFactory` to work in CoreCLR.
- After discussion offline to maintain consistency we decided to also remove `CodeBase` fallback in the net451 scenario. This will keep CoreCLR and net451 scenarios more consistent.
- Removed `CodeBase` validation tests.
- Added `GetAssemblyLocation` extensibility point to enable proper testing of the `TagHelperDesignTimeDescriptorFactory`.

#709
2016-03-21 16:17:37 -07:00
Eilon Lipton 0f6fb8277c Fix package metadata 2016-03-15 15:48:34 -07:00
Pranav K 0858d430ea Fix CI build break + add dnx451 2016-03-11 15:51:45 -08:00
N. Taylor Mullen e5927ddd01 Add CSS attribute selectors for `TagHelper` attributes.
- Added the ability for users to opt into CSS `TagHelper` selectors in their required attributes by surrounding the value with `[` and `]`. Added operators `^`, `$` and `=`.
- Added tests to cover code paths used when determining CSS selectors.

#684
2016-03-08 12:15:06 -08:00
Ryan Nowak 9bd06a5dfc React to changes in HTML abstractions
This change implements the new API for flattening content in Razor.

Also, some optimizations to avoid allocations on paths where we need
to encode HTML attribute values.
2016-03-04 07:56:53 -08:00
Ajay Bhargav Baaskaran 5b7dc0d1bc Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:32:27 -08:00
N. Taylor Mullen e6d4d6c7a1 Fix nested C# blocks when combined with C# @ symbols.
- We used to accept until markup or an ending brace which didn't allow the parser to balance nested braces.

#679
2016-03-03 12:34:35 -08:00
Doug Bunting 38183b5887 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 20:58:45 -08:00
N. Taylor Mullen b00c1c1dc7 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:32:43 -08:00
N. Taylor Mullen 9f675abbca Pre-allocate unbound `TagHelper` attributes.
- Hoist `TagHelperAttribute` creation into `private static readonly` fields to avoid allocations on every request. With the recent `TagHelperAttribute` change that made them immutable we can now pre-allocate them without worry of them being modified.
- Added two extra class configuration pieces to enable pre-allocation.
- Updated test files to showcase new pre-allocations.

#600
2016-03-01 11:23:49 -08:00
Ajay Bhargav Baaskaran 32c75fc78e [Fixes #698] Removed unnecessary Debug.Assert in TagHelperBlockRewriter 2016-02-25 16:16:20 -08:00
Ajay Bhargav Baaskaran 6cd13c441e [Fixes #691] Use WriteAttributeTo when TextWrites is not null 2016-02-24 12:31:13 -08:00
N. Taylor Mullen 78451efa7f Pool `TagHelperExecutionContext`s within `TagHelperScopeManager`.
- Currently the `TagHelperScopeManager` creates a new `TagHelperExecutionContext` per `TagHelper` on a given page. With this change the max number of `TagHelperExecutionContext`s per page is the number of nested levels that exist.
- Added two tests validating that specific pieces of `TagHelperExecutionContext` are updated as expected.

#674
2016-02-19 10:37:01 -08:00
Caleb Nelton b03d3aa56f Code Cleanup
Use var
Conditional can be simplified
Redundant array creation expression
Parameter name differs in base declaration
Empty statement is redundant
2016-02-18 12:04:32 -08:00