[0.16]: Merge Preview Handlers in Master (#1516)

* Added project template for common library

* Added reference to stylecop.json

* Fixed xml documetation file path for common project

* Added reference to stylecop.json

* Added COM interface interpolations to C#

* Changed namespace to Common

* Added xml doc to com interfaces

* Removed AnyCPU configuration from solution file

* Added Preview Hander and form User Control Implementation

* Fix stylecop warnings

* Added test control and handler

* Added Xaml description for preview handler

* Added Xml documenatation

* Updated the control to form

* Added registration and unregistration logic for the handler

* Moved the files in separate folder and fix PR comments

* updated the name of previewhandler class to base class

* Added the DoPreview to PreviewHandlerControl Interface

* Modified the Dopreview and Unload as virtual method

* Uncommented the DocumentText to help bug repro

* HTML Parsing Extension for preview pane markdown renderer (#1108)

* Added Extension for html post processing

* Added unit test poroject for preview pane

* Added pipline test and base test function

* Added Tests for extension

* Added tests for url slashes

* Added tests for url and figure caption

* Markdown preview pane (#1128)

* Added Extension for html post processing

* Added unit test poroject for preview pane

* Added pipline test and base test function

* Added Tests for extension

* Added handler and control for markdown

* Tests added

* Locally working version for markdown

* Working image relative url's in markdown

* Added CSS to preview display

* Updates CSS for code block

* Removed html file write comment in markdown control

* Updated assembly version and web browser control test

* Add Svg preview handler (#1129)

* Added a new project for Svg preview handler

* Added initial implementation of Svg Preview Handler

* Fixed output path

* Added Unit Test Project

* Added StreamWrapper and Update Svg Control

* Updated Svg Handler Guid

* Removed migration backup folder

* Removed Fluent Assertions NuGet

* Added Comments for StreamWrapper

* Removed the manual GC collect

* Added unit tests for Svg preview Handler

* Updated the xml doc for stream wrapper

* User/lamotile/add_powerpreviewsettings (#1075)

* Added powersettings to PowerToys Settings UI

* added settings library

* updated settings-web

* updated project oncfiguration

* updated project onfiguration

* updated project .sln file

* removed .etl file and added it to git-ignore

* separated the PowerPreviewModule into split classes .cpp and .h

* moved PowerPreviewModule implemnetations to .cpp file

* fixed StringTable formatter

* fixed spacing in resource.h

* added m_ to member varibales

* initiliaze m_isPreviewEnabled in the base class

* removed duplication of objects by using pass by refference and std::move

* made the getters const

* updated naming convention

* Split test calsses

* Add const string

* Replaced move with const string

* Made attributes private

* Made attributes private

* removed unused constructor

* Update resource.h

formatted resource.h

* Adding unit tests for preview handler common (#1156)

* Changed the name of the Common library to PreviewHandlerCommon

* Added unit tests project for PreviewHandlerCommon

* Updated ComInterop accessor type

* Added unit tests for PreviewHandlerbase

* Added tests for file and stream based handler

* Added unit tests for StreamWrapper

* Added form handler unit tests

* Added Unit tests for FormHandlerControl

* Added file header

* Add Powerpreview project

* Add spacing in sln file

* swapped string refferences (#1199)

* added registry methods and enable/disable preview handlers (#1230)

* added registry methods and enable/disable preview handlers

* formatted .rc file.

* formatted resource file

* formatted .rc file.

* formatted settings.cpp

* formatted settings.h

* formatted SVGPreviewSettingsClassTest.cpp

* Formatted MarkDownPreviewSettingsClassTest.cpp

* using wide strings

* formatted settings.h

* FileExplorerPreviewSettingsTest.cpp formatting

* fixed typo and formatting

* closing Registry and fixing typos

* formmarted code using ctrl+k+d

* fixed naming

* fixed typo

* changed if/else reverse order

* Markdown preview pane  (#1220)

* Added rich text bar for information display

* Added infobar

* Added tests for extension and markdown control

* Added xml docstring for markdown preview handler control

* Updated assembly file for markdown preview pane

* Updated removal of script tag without modifying CSS

* Added info bar text string to resource file.

* Removed error with infobar display on first rendering

* Updated assembly version

* Remove script and image element from Svg (#1231)

* Added implementation to remove script and image tag

* Added Unit tests for SvgPreviewHandlerHelper

* Updated Unit tests for SvgPreviewControl

* Moved the hardcoded string to resource file

* Changed the LocalMachine to CurrentUser for preview handler registration

* Added unit tests for multiple blocked elements tags

* User/lamotile/update settings objects (#1263)

* added registry methods and enable/disable preview handlers

* formatted .rc file.

* formatted resource file

* formatted .rc file.

* formatted settings.cpp

* formatted settings.h

* formatted SVGPreviewSettingsClassTest.cpp

* Formatted MarkDownPreviewSettingsClassTest.cpp

* using wide strings

* formatted settings.h

* FileExplorerPreviewSettingsTest.cpp formatting

* fixed typo and formatting

* closing Registry and fixing typos

* formmarted code using ctrl+k+d

* fixed naming

* fixed typo

* changed if/else reverse order

* updated setiings_objects.cpp

* removed changes on files that are not part of this PR

* removed const ref on primative types

* updated pass by ref semantic and removed pas by reff on primative types

* fixed spaces in the commas

* fixed spaces in brackets

* Preview pane telemetry (#1299)

* Added telemetry base class and markdown telemetry class

* Updated docstring for telemetry event.

* Added telemetry to markdown for error

* Added try catch for markdown preview handler and display error bar

* Updated markdown telemetry to make event names global variable

* Updated parameter name to camel casing and telemetry event name naming.

* Corrected assembbly version for svg renderer

* Markdown Image files display (#1303)

* Added telemetry base class and markdown telemetry class

* Updated docstring for telemetry event.

* Added telemetry to markdown for error

* Added try catch for markdown preview handler and display error bar

* Updated markdown telemetry to make event names global variable

* Updated Markdown preview to display without vertical scrollbar and removed xml doc to html agility pack.

* Updated parameter name to camel casing and telemetry event name naming.

* Corrected assembbly version for svg renderer

* Removed duplicate function

* Add telemetry for Svg preview handler (#1314)

* Added telemetry events for Svg Preview Handler

* Added unit test in case preview handler throws

* Updated the Error event name

* Remove the not required return statement

* User/lamotile/add read me (#1332)

* add readme

* moved images

* re-added images'

* Fixed gramma

* Update figure number refference

* improve preview handler intergration (#1319)

* improve preview handler intergration

* Fixed typo

* updated typo

* updated enable() function

* updated is enabled()

* re-updated is enabled()

* added this-> key word

* (0.16) - Install preview handler with msix (#1339)

* Removed the registration logic from preview handlers

* Updated the output path

* Added logic to shim the activation of .net assembly

* Updated manifest file

* Fix the allowedsilenttakeover filed in manifest

* Updated the appxmanifest file

* Added AllowSilentDefaultTakeOver in manifest

* Fix returned error code by DllGetClassObject

* Moved the CLSID to a common header file

* Added info about where CLSID needs to be updated

* Added a .reg file for the Keys added in registry.dat

* Added comments for DllGetClassObject

* Svg Preview Handler block external component  (#1368)

* Removed the registration logic from preview handlers

* Updated the output path

* Added logic to shim the activation of .net assembly

* Updated manifest file

* Fix the allowedsilenttakeover filed in manifest

* Updated the appxmanifest file

* Added AllowSilentDefaultTakeOver in manifest

* Fix returned error code by DllGetClassObject

* Moved the CLSID to a common header file

* Added info about where CLSID needs to be updated

* Added a .reg file for the Keys added in registry.dat

* Added comments for DllGetClassObject

* Extended WebBrowserSite for setting flags in DISPID_AMBIENT_DLCONTROL

* Added XML Documenatation

* Removed the logic for deleting image and script element from Svg

* Updated Unit Tests

* Updated typecast of uint

* Forwarded calls to Type.InvokeMember

* Resolve PR Comments

* Adding MSI Installation for Preview Handler (#1436)

* Updated wxs for including dll and registry keys for preview handlers

* Changed the casing for registry key

* Resolve PR Comments

* Added comments for File element

* Call GC on preview unloading (#1456)

* Call GC collect on preview unloading

* Added github issue link

* Update Web browser control for Markdown Previewer (#1464)

* Updated Webbrowser control

* Updated Unit tests

* Disabled Navigation for Svg Previewer

* Fix power preview unit tests (#1508)

* Decoupled registry interaction logic

* Updated File explorer settings

* Updated unit tests for PowerPreview Settings

* Added Asserrtion for Scope of registry key

* Updated the registry value to match with installation registry value

* Sync master settings.cpp

* Merge settings changes from PreviewHandlers

* Remove newline changes added into in example_powertoy\trace.cpp

* Chaned .net framework to 4.7.2

* Updated Csproj files to auto generate Assembly.info files

* Updated msi installer to use version variable for preview handlers assembly

* Removed the signing of Assembly and updated wxs to not include PublicKeyToken

* Updated the Path in Packaginglayout.xml to modules from Gac and the registry hive binary

* Regenerated updated JS and html file

* Resolve PR Comments

* Readded the wprp file

Co-authored-by: Divyansh <divyan@microsoft.com>
Co-authored-by: Divyansh <somm14divi@gmail.com>
Co-authored-by: Lavius Motileng <58791731+laviusmotileng-ms@users.noreply.github.com>
This commit is contained in:
udit3333
2020-03-11 15:53:49 -07:00
committed by GitHub
parent f170cef506
commit 83ce8a2197
107 changed files with 8787 additions and 1850 deletions

View File

@@ -1139,9 +1139,9 @@
}
},
"@microsoft/load-themed-styles": {
"version": "1.10.26",
"resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.26.tgz",
"integrity": "sha512-N//pFTBL/iCSrMuDoLvBLpgGjlk+MgKX2kyFI3bJVb+LRozeyWCOZVRcR8aMKiYHdqwy5isu2Frp8drvWx7RbA=="
"version": "1.10.33",
"resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.33.tgz",
"integrity": "sha512-6ke2PEMbjizIvqhSeb/K6iUStEJcfONndE1kfB46dstFYZ9jJmYgO6UHUZkA3VMufmjdI1z28bJKz3cMzmkZGw=="
},
"@microsoft/package-deps-hash": {
"version": "2.2.159",
@@ -1422,25 +1422,54 @@
}
},
"@uifabric/foundation": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.5.0.tgz",
"integrity": "sha512-eymMyV3e+MFCkcfC1AFIAzVP/h6/QvDcYb1l6K3IaG1QG47ZwijJJXseEvNDjimfUiJhez9H7cSsRZPIIJ5MaQ==",
"version": "7.5.2",
"resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.5.2.tgz",
"integrity": "sha512-TNDVWjVDV/UbGOMbCsRblDY6yciTL9GPMOT1b4Ibuul6ytUVLaUCRchdnMf+8JIUNBwZIDMMJWwDVpdwURqpvQ==",
"requires": {
"@uifabric/merge-styles": "^7.8.0",
"@uifabric/set-version": "^7.0.2",
"@uifabric/styling": "^7.7.2",
"@uifabric/utilities": "^7.5.0",
"tslib": "^1.7.1"
"@uifabric/merge-styles": "^7.8.2",
"@uifabric/set-version": "^7.0.3",
"@uifabric/styling": "^7.10.1",
"@uifabric/utilities": "^7.11.2",
"tslib": "^1.10.0"
},
"dependencies": {
"@uifabric/merge-styles": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.8.2.tgz",
"integrity": "sha512-CiGZkOQegNdrXIaVvgd8pumeHLm3odSRE21rsrA7HiqdyF+fh6ArQ0RWsKTlJRIQklCUJjMkXaO54QIWNOlQyg==",
"requires": {
"@uifabric/set-version": "^7.0.3",
"tslib": "^1.10.0"
}
},
"@uifabric/set-version": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.3.tgz",
"integrity": "sha512-03A68Fyfx3y75dUW9rjQ2fZv/9zmGgMeovVLAQa0wc/oVjQ++eVDlAEK0AjfgnOaujYmhk79lXbYAuW3n+YUXw==",
"requires": {
"tslib": "^1.10.0"
}
}
}
},
"@uifabric/icons": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.3.0.tgz",
"integrity": "sha512-wbcR8fJce20sPjsK2bbTC/cAZfAOFuE4dd4LHw194+8H+/dqotsowrQVp5Lu8aaHGQk+fXoiZmUy30WA9cAG4Q==",
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.3.1.tgz",
"integrity": "sha512-Jb2KjC6s+nY75H7U8/i23iKRwYFS3cavTXVYDz69guwLEhWh0aZ1QZqbAbUfF+YikVabJQmT8YT0Pup8/VbeWA==",
"requires": {
"@uifabric/set-version": "^7.0.2",
"@uifabric/styling": "^7.7.1",
"tslib": "^1.7.1"
"@uifabric/set-version": "^7.0.3",
"@uifabric/styling": "^7.10.1",
"tslib": "^1.10.0"
},
"dependencies": {
"@uifabric/set-version": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.3.tgz",
"integrity": "sha512-03A68Fyfx3y75dUW9rjQ2fZv/9zmGgMeovVLAQa0wc/oVjQ++eVDlAEK0AjfgnOaujYmhk79lXbYAuW3n+YUXw==",
"requires": {
"tslib": "^1.10.0"
}
}
}
},
"@uifabric/merge-styles": {
@@ -1453,13 +1482,23 @@
}
},
"@uifabric/react-hooks": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.0.1.tgz",
"integrity": "sha512-cIr/ToLvc48D7A+XJrH/rHmSa/YmonvyFGHykFqHKiFSYiGKvc50GIyRJ/gkOUDuaaYVThWRwBQNOIMr3iFCYA==",
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.0.2.tgz",
"integrity": "sha512-Ly2loVgrSJ3VYHvyOp6Q23aieOcX3w80Cf8t8+gXRZjLXgNh39omOhucD1nVnSlnUy+w88vDhr2aC1dCiw/o7w==",
"requires": {
"@uifabric/set-version": "^7.0.2",
"@uifabric/utilities": "^7.0.10",
"tslib": "^1.7.1"
"@uifabric/set-version": "^7.0.3",
"@uifabric/utilities": "^7.11.2",
"tslib": "^1.10.0"
},
"dependencies": {
"@uifabric/set-version": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.3.tgz",
"integrity": "sha512-03A68Fyfx3y75dUW9rjQ2fZv/9zmGgMeovVLAQa0wc/oVjQ++eVDlAEK0AjfgnOaujYmhk79lXbYAuW3n+YUXw==",
"requires": {
"tslib": "^1.10.0"
}
}
}
},
"@uifabric/set-version": {
@@ -1471,26 +1510,64 @@
}
},
"@uifabric/styling": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.8.0.tgz",
"integrity": "sha512-mRNQUvfasOWW0/RJARA5mPHmPMORJXrNDoOpjoTNt+J6uj1/sA8km0l/AQtZ6b36bqo6kkaQgB9+msRobmdpiQ==",
"version": "7.10.1",
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.10.1.tgz",
"integrity": "sha512-/G0BbIS1tI1SEiUD4mNxfNXq6dLyff6Ey5YqeMGx6v1AyQ2dWBolhGSYK8l7XGlBQCNZ+gR+AV4M6+8gWOkAaw==",
"requires": {
"@microsoft/load-themed-styles": "^1.7.13",
"@uifabric/merge-styles": "^7.8.1",
"@uifabric/set-version": "^7.0.2",
"@uifabric/utilities": "^7.8.0",
"tslib": "^1.7.1"
"@microsoft/load-themed-styles": "^1.10.26",
"@uifabric/merge-styles": "^7.8.2",
"@uifabric/set-version": "^7.0.3",
"@uifabric/utilities": "^7.11.2",
"tslib": "^1.10.0"
},
"dependencies": {
"@uifabric/merge-styles": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.8.2.tgz",
"integrity": "sha512-CiGZkOQegNdrXIaVvgd8pumeHLm3odSRE21rsrA7HiqdyF+fh6ArQ0RWsKTlJRIQklCUJjMkXaO54QIWNOlQyg==",
"requires": {
"@uifabric/set-version": "^7.0.3",
"tslib": "^1.10.0"
}
},
"@uifabric/set-version": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.3.tgz",
"integrity": "sha512-03A68Fyfx3y75dUW9rjQ2fZv/9zmGgMeovVLAQa0wc/oVjQ++eVDlAEK0AjfgnOaujYmhk79lXbYAuW3n+YUXw==",
"requires": {
"tslib": "^1.10.0"
}
}
}
},
"@uifabric/utilities": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.8.0.tgz",
"integrity": "sha512-ow3v9arBhe5C8GvklIuqD3PZMSNnY04HC7JoQVW301Q/gH+BGVECLTBzrFm/m66GCetMksDOMnkoBQSk0poPOQ==",
"version": "7.11.2",
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.11.2.tgz",
"integrity": "sha512-PZnBsV3fyS6FiqZlP7byBosRNvmiIg9B8TLRl0YVQYr4LDDpLE05HKYxLLrp7SepPX9sxOh5AXgwrgDPojAkpg==",
"requires": {
"@uifabric/merge-styles": "^7.8.1",
"@uifabric/set-version": "^7.0.2",
"@uifabric/merge-styles": "^7.8.2",
"@uifabric/set-version": "^7.0.3",
"prop-types": "^15.5.10",
"tslib": "^1.7.1"
"tslib": "^1.10.0"
},
"dependencies": {
"@uifabric/merge-styles": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.8.2.tgz",
"integrity": "sha512-CiGZkOQegNdrXIaVvgd8pumeHLm3odSRE21rsrA7HiqdyF+fh6ArQ0RWsKTlJRIQklCUJjMkXaO54QIWNOlQyg==",
"requires": {
"@uifabric/set-version": "^7.0.3",
"tslib": "^1.10.0"
}
},
"@uifabric/set-version": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.3.tgz",
"integrity": "sha512-03A68Fyfx3y75dUW9rjQ2fZv/9zmGgMeovVLAQa0wc/oVjQ++eVDlAEK0AjfgnOaujYmhk79lXbYAuW3n+YUXw==",
"requires": {
"tslib": "^1.10.0"
}
}
}
},
"@webassemblyjs/ast": {
@@ -8476,20 +8553,39 @@
"dev": true
},
"office-ui-fabric-react": {
"version": "7.76.2",
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.76.2.tgz",
"integrity": "sha512-rWQrkv1o4jOdYhNk3GsLDxJw8mo1+6HspGNILiodRj7RfJx/OmSyVM4KT2gGJ5k2PZGNCdp7f7kp1JuICd31Mg==",
"version": "7.83.1",
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.83.1.tgz",
"integrity": "sha512-XDL+9baCqq8kDA1VHrAlRvfnWKEQRJVx9hlzsbFNxzMpZtXNH0ip4SHzahRRU0eqCXHBNkd5ZA4xUV532Uv8dQ==",
"requires": {
"@microsoft/load-themed-styles": "^1.7.13",
"@uifabric/foundation": "^7.5.0",
"@uifabric/icons": "^7.3.0",
"@uifabric/merge-styles": "^7.8.1",
"@uifabric/react-hooks": "^7.0.1",
"@uifabric/set-version": "^7.0.2",
"@uifabric/styling": "^7.8.0",
"@uifabric/utilities": "^7.8.0",
"@microsoft/load-themed-styles": "^1.10.26",
"@uifabric/foundation": "^7.5.2",
"@uifabric/icons": "^7.3.1",
"@uifabric/merge-styles": "^7.8.2",
"@uifabric/react-hooks": "^7.0.2",
"@uifabric/set-version": "^7.0.3",
"@uifabric/styling": "^7.10.1",
"@uifabric/utilities": "^7.11.2",
"prop-types": "^15.5.10",
"tslib": "^1.7.1"
"tslib": "^1.10.0"
},
"dependencies": {
"@uifabric/merge-styles": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.8.2.tgz",
"integrity": "sha512-CiGZkOQegNdrXIaVvgd8pumeHLm3odSRE21rsrA7HiqdyF+fh6ArQ0RWsKTlJRIQklCUJjMkXaO54QIWNOlQyg==",
"requires": {
"@uifabric/set-version": "^7.0.3",
"tslib": "^1.10.0"
}
},
"@uifabric/set-version": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.3.tgz",
"integrity": "sha512-03A68Fyfx3y75dUW9rjQ2fZv/9zmGgMeovVLAQa0wc/oVjQ++eVDlAEK0AjfgnOaujYmhk79lXbYAuW3n+YUXw==",
"requires": {
"tslib": "^1.10.0"
}
}
}
},
"on-finished": {