Skip to content

Commit 1f0bbb6

Browse files
Addressed comments related to sensitivity label event
1 parent fb54cf1 commit 1f0bbb6

1 file changed

Lines changed: 60 additions & 48 deletions

File tree

specs/SensitivityLabel.md

Lines changed: 60 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ namespace Microsoft.Web.WebView2.Core
279279
### C++
280280
```
281281
/// Represents the state of sensitivity label detection and processing
282-
/// for web content loaded in the WebView2 control. This enum indicates
282+
/// for web page loaded in the WebView2 control. This enum indicates
283283
/// whether sensitivity labels have been detected, are being processed,
284284
/// or are fully determined for the current web page content.
285285
[v1_enum]
@@ -295,81 +295,86 @@ typedef enum COREWEBVIEW2_SENSITIVITY_LABEL_STATE {
295295
COREWEBVIEW2_SENSITIVITY_LABEL_STATE_DETERMINED,
296296
} COREWEBVIEW2_SENSITIVITY_LABEL_STATE;
297297
298-
/// Represents the type of sensitivity label applied to web content.
298+
/// Represents the kind of sensitivity label applied to web page.
299299
/// Sensitivity labels are used to classify and protect content based on
300-
/// its sensitivity level.
300+
/// its sensitivity level.
301301
[v1_enum]
302-
typedef enum COREWEBVIEW2_SENSITIVITY_LABEL_TYPE {
303-
/// Represents an unknown or unsupported sensitivity label type.
304-
COREWEBVIEW2_SENSITIVITY_LABEL_TYPE_UNKNOWN,
302+
typedef enum COREWEBVIEW2_SENSITIVITY_LABEL_KIND {
303+
/// Represents an unknown or unsupported sensitivity label.
304+
COREWEBVIEW2_SENSITIVITY_LABEL_KIND_UNKNOWN,
305305
/// Represents a Microsoft Information Protection (MIP) sensitivity label.
306-
COREWEBVIEW2_SENSITIVITY_LABEL_TYPE_MIP,
307-
} COREWEBVIEW2_SENSITIVITY_LABEL_TYPE;
308-
309-
/// Base interface for all sensitivity label types used in WebView2.
310-
/// This interface provides common functionality for accessing sensitivity
311-
/// label information applied to web content. Different label types
312-
/// (such as Microsoft Information Protection labels) can implement
313-
/// this interface to provide specific label information and metadata.
314-
[uuid(e0288585-9f8c-5b29-bca8-5de14e024557), object, pointer_default(unique)]
306+
COREWEBVIEW2_SENSITIVITY_LABEL_KIND_MIP,
307+
} COREWEBVIEW2_SENSITIVITY_LABEL_KIND;
308+
309+
/// Interface for different sensitivity label kinds used in WebView2.
310+
/// This interface provides functionality for accessing sensitivity
311+
/// label information applied to web page. Different label types
312+
/// (such as Microsoft Information Protection labels) provide
313+
/// specific label information and metadata.
314+
[uuid(5c27e6f2-baa6-5646-b726-db80a77b7345), object, pointer_default(unique)]
315315
interface ICoreWebView2SensitivityLabel : IUnknown {
316-
/// Gets the type of the sensitivity label applied to the web content.
316+
/// Gets the type of the sensitivity label applied to the web page.
317317
/// This property identifies which sensitivity label system is being used
318318
/// (such as Microsoft Information Protection or other label providers).
319319
/// Applications can use this information to determine how to interpret
320320
/// and handle the label data, as different label types may have different
321321
/// metadata formats, protection requirements, and policy enforcement
322322
/// mechanisms.
323-
[propget] HRESULT LabelType([out, retval] COREWEBVIEW2_SENSITIVITY_LABEL_TYPE* value);
323+
[propget] HRESULT LabelKind([out, retval] COREWEBVIEW2_SENSITIVITY_LABEL_KIND* value);
324324
}
325325
326326
/// Interface for Microsoft Information Protection (MIP) sensitivity labels.
327327
/// This interface provides specific information about MIP labels, including
328-
/// label identification and organizational context.
328+
/// label identification and organizational context.
329329
[uuid(1a562888-3031-5375-b8c5-8afd573e79c8), object, pointer_default(unique)]
330-
interface ICoreWebView2StagingMipSensitivityLabel : IUnknown {
331-
/// Gets the unique identifier for the Microsoft Information Protection label.
330+
interface ICoreWebView2MipSensitivityLabel : IUnknown {
331+
/// The unique identifier for the Microsoft Information Protection label.
332332
/// This string contains a GUID that uniquely identifies the specific
333333
/// sensitivity label within the organization's MIP policy configuration.
334+
/// The GUID is of type GUIDv4 and follows the format:
335+
/// `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
336+
/// eg: `3fa85f64-5717-4562-b3fc-2c963f66afa6`
334337
///
335338
/// The caller must free the returned string with `CoTaskMemFree`. See
336339
/// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).
337340
[propget] HRESULT LabelId([out, retval] LPWSTR* value);
338341
339-
340-
/// Gets the unique identifier for the organization that owns the MIP label.
342+
/// The unique identifier for the organization that owns the MIP label.
341343
/// This string contains a GUID that identifies the Azure Active Directory
342344
/// tenant or organization that configured and deployed the sensitivity label.
345+
/// The GUID is of type GUIDv4 and follows the format:
346+
/// `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
347+
/// eg: `44567f64-8712-1789-ac3f-15aa3f66ab12`
343348
///
344349
/// The caller must free the returned string with `CoTaskMemFree`. See
345350
/// [API Conventions](/microsoft-edge/webview2/concepts/win32-api-conventions#strings).
346351
[propget] HRESULT OrganizationId([out, retval] LPWSTR* value);
347-
348352
}
349353
350-
/// A collection of ICoreWebView2StagingSensitivityLabel.
354+
355+
/// A collection of ICoreWebView2SensitivityLabel.
351356
[uuid(2cb85219-0878-5f38-b7e9-769fab6ff887), object, pointer_default(unique)]
352-
interface ICoreWebView2StagingSensitivityLabelCollectionView : IUnknown {
357+
interface ICoreWebView2SensitivityLabelCollectionView : IUnknown {
353358
/// The number of elements contained in the collection.
354359
[propget] HRESULT Count([out, retval] UINT32* value);
355360
356361
/// Gets the element at the given index.
357-
HRESULT GetValueAtIndex([in] UINT32 index, [out, retval] ICoreWebView2StagingSensitivityLabel** value);
362+
HRESULT GetValueAtIndex([in] UINT32 index, [out, retval] ICoreWebView2SensitivityLabel** value);
358363
}
359364
360365
/// Event arguments for the `SensitivityLabelChanged` event.
361366
/// This interface provides information about sensitivity label changes
362-
/// that occur when web content is loaded or updated in the WebView2 control.
367+
/// that occur when web page is loaded or updated in the WebView2 control.
363368
/// The event args contain the current state of sensitivity label detection
364369
/// and a collection of all sensitivity labels that have been reported by
365-
/// the web content via
370+
/// the web page via
366371
/// [`Page Interaction Restriction Manager`](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PageInteractionRestrictionManager/explainer.md).
367372
[uuid(36de2060-e013-5b03-939b-117d08d0abd5), object, pointer_default(unique)]
368-
interface ICoreWebView2StagingSensitivityLabelEventArgs : IUnknown {
373+
interface ICoreWebView2SensitivityLabelEventArgs : IUnknown {
369374
/// Gets a read-only collection of all sensitivity labels detected in the
370375
/// current web document. This collection contains instances of sensitivity
371-
/// labels that have been reported by the web content.
372-
[propget] HRESULT SensitivityLabels([out, retval] ICoreWebView2StagingSensitivityLabelCollectionView** value);
376+
/// labels that have been reported by the web page.
377+
[propget] HRESULT SensitivityLabels([out, retval] ICoreWebView2SensitivityLabelCollectionView** value);
373378
374379
375380
/// Gets the current state of sensitivity label detection.
@@ -379,11 +384,11 @@ interface ICoreWebView2StagingSensitivityLabelEventArgs : IUnknown {
379384
380385
/// Receives `SensitivityLabelChanged` events.
381386
[uuid(927a011d-bbf3-546b-ba28-1fc0ef4c1f4a), object, pointer_default(unique)]
382-
interface ICoreWebView2StagingSensitivityLabelChangedEventHandler : IUnknown {
387+
interface ICoreWebView2SensitivityLabelChangedEventHandler : IUnknown {
383388
/// Provides the event args for the corresponding event.
384389
HRESULT Invoke(
385390
[in] ICoreWebView2* sender,
386-
[in] ICoreWebView2StagingSensitivityLabelEventArgs* args);
391+
[in] ICoreWebView2SensitivityLabelEventArgs* args);
387392
}
388393
389394
/// Extension of the ICoreWebView2 interface that provides sensitivity label
@@ -393,16 +398,23 @@ interface ICoreWebView2StagingSensitivityLabelChangedEventHandler : IUnknown {
393398
/// detected, updated, or removed from web pages, the SensitivityLabelChanged
394399
/// event is raised.
395400
[uuid(ac4543d5-f466-5622-8b3b-24d3b195525c), object, pointer_default(unique)]
396-
interface ICoreWebView2Staging32 : IUnknown {
401+
interface ICoreWebView2_32 : IUnknown {
397402
/// Adds an event handler for the `SensitivityLabelChanged` event.
398-
/// Event raised when the sensitivity label classification of web content changes.
403+
/// Event raised when the sensitivity label classification of web page changes.
404+
/// web pages may report sensitivity labels via
405+
/// [`Page Interaction Restriction Manager`](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PageInteractionRestrictionManager/explainer.md).
399406
/// This event is triggered when the WebView2 control detects a change in the
400-
/// sensitivity labels associated with the currently loaded web content.
401-
/// Applications can subscribe to this event to receive notifications
402-
/// about sensitivity changes. The event args provide the current label state and
403-
/// the complete collection of detected sensitivity labels.
407+
/// sensitivity labels associated with the currently loaded web page.
408+
/// Changes can occur when navigating to a new page in the main frame,
409+
/// when the existing page updates its sensitivity label information.
410+
/// On navigation to a new page `SensitivityLabelChanged` event is raised
411+
/// after the `NavigationCompleted` event. Applications can subscribe to
412+
/// this event to receive notifications about sensitivity changes. The
413+
/// event args provide the current label state and the complete collection
414+
/// of detected sensitivity labels. the complete collection of detected
415+
/// sensitivity labels.
404416
HRESULT add_SensitivityLabelChanged(
405-
[in] ICoreWebView2StagingSensitivityLabelChangedEventHandler* eventHandler,
417+
[in] ICoreWebView2SensitivityLabelChangedEventHandler* eventHandler,
406418
[out] EventRegistrationToken* token);
407419
408420
/// Removes an event handler previously added with `add_SensitivityLabelChanged`.
@@ -413,7 +425,7 @@ interface ICoreWebView2Staging32 : IUnknown {
413425
```
414426
### .NET/WinRT
415427
```c#
416-
enum CoreWebView2SensitivityLabelType
428+
enum CoreWebView2SensitivityLabelKind
417429
{
418430
Unknown = 0,
419431
Mip = 1,
@@ -428,47 +440,47 @@ enum CoreWebView2SensitivityLabelState
428440

429441
runtimeclass CoreWebView2SensitivityLabelEventArgs
430442
{
431-
// ICoreWebView2StagingSensitivityLabelEventArgs members
443+
// ICoreWebView2SensitivityLabelEventArgs members
432444
IVectorView<CoreWebView2SensitivityLabel> SensitivityLabels { get; };
433445

434446
CoreWebView2SensitivityLabelState SensitivityState { get; };
435447
}
436448

437449
runtimeclass CoreWebView2SensitivityLabelCollectionView
438450
{
439-
// ICoreWebView2StagingSensitivityLabelCollectionView members
451+
// ICoreWebView2SensitivityLabelCollectionView members
440452
UInt32 Count { get; };
441453

442454
CoreWebView2SensitivityLabel GetValueAtIndex(UInt32 index);
443455
}
444456

445457
runtimeclass CoreWebView2SensitivityLabel
446458
{
447-
// ICoreWebView2StagingSensitivityLabel members
459+
// ICoreWebView2SensitivityLabel members
448460
CoreWebView2SensitivityLabelType LabelType { get; };
449461
}
450462

451463
runtimeclass CoreWebView2MipSensitivityLabel
452464
{
453-
// ICoreWebView2StagingMipSensitivityLabel members
465+
// ICoreWebView2MipSensitivityLabel members
454466
String LabelId { get; };
455467

456468
String OrganizationId { get; };
457469
}
458470

459471
runtimeclass CoreWebView2SensitivityLabelEventArgs
460472
{
461-
// ICoreWebView2StagingSensitivityLabelEventArgs members
473+
// ICoreWebView2SensitivityLabelEventArgs members
462474
IVectorView<CoreWebView2SensitivityLabel> SensitivityLabels { get; };
463475

464476
CoreWebView2SensitivityLabelState SensitivityState { get; };
465477
}
466478

467479
runtimeclass CoreWebView2
468480
{
469-
[interface_name("Microsoft.Web.WebView2.Core.ICoreWebView2Staging32")]
481+
[interface_name("Microsoft.Web.WebView2.Core.ICoreWebView2_32")]
470482
{
471-
// ICoreWebView2Staging32 members
483+
// ICoreWebView2_32 members
472484
event Windows.Foundation.TypedEventHandler<CoreWebView2, CoreWebView2SensitivityLabelEventArgs> SensitivityLabelChanged;
473485
}
474486
}

0 commit comments

Comments
 (0)