Skip to content

Add SmartScreen as origin feature to TrustedOriginSetting spec#5596

Open
GittyHarsha wants to merge 3 commits into
mainfrom
user/harshanp/origin-settings-add-smartscreen
Open

Add SmartScreen as origin feature to TrustedOriginSetting spec#5596
GittyHarsha wants to merge 3 commits into
mainfrom
user/harshanp/origin-settings-add-smartscreen

Conversation

@GittyHarsha
Copy link
Copy Markdown
Contributor

  • Add COREWEBVIEW2_ORIGIN_FEATURE_SMART_SCREEN enum with documentation describing per-origin SmartScreen reputation check configuration.
  • Update C++, .NET examples and MIDL3 enum to include SmartScreen.

Add COREWEBVIEW2_ORIGIN_FEATURE_SMART_SCREEN enum with documentation
describing per-origin SmartScreen reputation check configuration.
Update C++, .NET examples and MIDL3 enum to include SmartScreen.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the TrustedOriginSetting specification to allow per-origin configuration of SmartScreen reputation checks, updating the associated Win32/C++ and .NET/WinRT examples and the MIDL3 enum to include the new origin feature.

Changes:

  • Adds COREWEBVIEW2_ORIGIN_FEATURE_SMART_SCREEN / CoreWebView2OriginFeature.SmartScreen as a configurable origin feature.
  • Updates C++ and .NET examples to demonstrate configuring SmartScreen per-origin.
  • Expands spec documentation for SmartScreen behavior and updates SetOriginFeatures docs to mention it.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread specs/TrustedOriginSetting.md Outdated
Comment on lines +222 to +228
/// This configuration operates within the scope of the global SmartScreen toggle
/// controlled by `ICoreWebView2Settings8.IsReputationCheckingRequired`.
/// When `IsReputationCheckingRequired` is `false` (SmartScreen globally
/// disabled), the SmartScreen check is not active and this
/// per-origin configuration has no effect. When `IsReputationCheckingRequired`
/// is `true` (the default), this per-origin configuration controls whether
/// individual origins are exempt from SmartScreen reputation checks.
/// URLs and downloaded files against a cloud-based reputation service.
/// By default, SmartScreen is enabled for all origins. Setting this feature to
/// `Disabled` for an origin will skip SmartScreen reputation checks for
/// navigations and downloads from that origin, effectively allow-listing it.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good suggestion.

Comment thread specs/TrustedOriginSetting.md
Copy link
Copy Markdown
Contributor

@david-risney david-risney left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good, but please also address the comment about adding a note about security when disabling - that we only want to do this for known and trusted sites.

- Replace hardcoded ICoreWebView2Settings8 reference with link to
  IsReputationCheckingRequired docs, describe as per-WebView setting
- Add security warning about disabling SmartScreen only for trusted origins
- Restore COREWEBVIEW2_ORIGIN_FEATURE_STATE doc comment

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@GittyHarsha GittyHarsha force-pushed the user/harshanp/origin-settings-add-smartscreen branch from a6c9e08 to 60c61d5 Compare May 19, 2026 23:36
…quired internals

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@GittyHarsha GittyHarsha force-pushed the user/harshanp/origin-settings-add-smartscreen branch from 0ab4c9e to cc3a119 Compare May 20, 2026 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants