Skip to content

Commit 6420cff

Browse files
Minor updates
1 parent 735f99f commit 6420cff

1 file changed

Lines changed: 25 additions & 10 deletions

File tree

specs/SensitivityLabel.md

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ We propose introducing a SensitivityLabelChanged event to the CoreWebView2 objec
1010

1111
The core features of this proposal are as follows:
1212
* Configure the allowlist filter for Page Interaction Restriction Manager at the profile level.
13-
* After setup, the manager is available on allowlisted pages. Content can send sensitivity labels to the platform via the API.
14-
* When a label changes, an event notifies the platform of all labels on that page.
13+
* After the setup, the `Page Interaction Restriction Manager` is available on allowlisted pages. Content can send sensitivity labels to the platform via the API.
14+
* When a label changes, an event is raised by WebView2 to hosted app with all the labels on that page.
1515
* Sensitivity labels are cleared when navigating away from the current WebView.
1616

1717
# Examples
@@ -134,11 +134,6 @@ void RegisterForSensitivityLabelChange()
134134
COREWEBVIEW2_SENSITIVITY_LABEL_STATE sensitivityState;
135135
CHECK_FAILURE(args->get_SensitivityState(&sensitivityState));
136136

137-
if (sensitivityState == COREWEBVIEW2_SENSITIVITY_LABEL_STATE_NONE ||
138-
sensitivityState == COREWEBVIEW2_SENSITIVITY_LABEL_STATE_UNDETERMINED)
139-
{
140-
labelsString = L"<no labels>";
141-
}
142137
switch (sensitivityState)
143138
{
144139
case COREWEBVIEW2_SENSITIVITY_LABEL_STATE_UNDETERMINED:
@@ -285,7 +280,9 @@ typedef enum COREWEBVIEW2_SENSITIVITY_LABEL_STATE {
285280
/// There are allow listed pages in the WebView2 and the sensitivity label is determined.
286281
COREWEBVIEW2_SENSITIVITY_LABEL_STATE_DETERMINED,
287282
} COREWEBVIEW2_SENSITIVITY_LABEL_STATE;
283+
```
288284

285+
```
289286
/// Enum for sensitivity label types.
290287
[v1_enum]
291288
typedef enum COREWEBVIEW2_SENSITIVITY_LABEL_TYPE {
@@ -294,7 +291,9 @@ typedef enum COREWEBVIEW2_SENSITIVITY_LABEL_TYPE {
294291
/// Microsoft Information Protection label.
295292
COREWEBVIEW2_SENSITIVITY_LABEL_TYPE_MIP,
296293
} COREWEBVIEW2_SENSITIVITY_LABEL_TYPE;
294+
```
297295

296+
```
298297
/// Base interface for all sensitivity label types.
299298
[uuid(9112ece5-d54d-5d16-a595-275ae574c287), object, pointer_default(unique)]
300299
interface ICoreWebView2StagingSensitivityLabel : IUnknown {
@@ -304,8 +303,9 @@ interface ICoreWebView2StagingSensitivityLabel : IUnknown {
304303
305304
306305
}
306+
```
307307

308-
308+
```
309309
/// Interface for MIP Sensitivity Label with label ID and organization ID.
310310
[uuid(1a562888-3031-5375-b8c5-8afd573e79c8), object, pointer_default(unique)]
311311
interface ICoreWebView2StagingMipSensitivityLabel : IUnknown {
@@ -323,7 +323,9 @@ interface ICoreWebView2StagingMipSensitivityLabel : IUnknown {
323323
[propget] HRESULT OrganizationId([out, retval] LPWSTR* value);
324324
325325
}
326+
```
326327

328+
```
327329
/// A collection of ICoreWebView2StagingSensitivityLabel.
328330
[uuid(2cb85219-0878-5f38-b7e9-769fab6ff887), object, pointer_default(unique)]
329331
interface ICoreWebView2StagingSensitivityLabelCollectionView : IUnknown {
@@ -333,8 +335,9 @@ interface ICoreWebView2StagingSensitivityLabelCollectionView : IUnknown {
333335
/// Gets the element at the given index.
334336
HRESULT GetValueAtIndex([in] UINT32 index, [out, retval] ICoreWebView2StagingSensitivityLabel** value);
335337
}
338+
```
336339

337-
340+
```
338341
/// Event args for the `SensitivityLabelChanged` event.
339342
[uuid(36de2060-e013-5b03-939b-117d08d0abd5), object, pointer_default(unique)]
340343
interface ICoreWebView2StagingSensitivityLabelEventArgs : IUnknown {
@@ -346,7 +349,20 @@ interface ICoreWebView2StagingSensitivityLabelEventArgs : IUnknown {
346349
[propget] HRESULT SensitivityState([out, retval] COREWEBVIEW2_SENSITIVITY_LABEL_STATE* value);
347350
348351
}
352+
```
353+
354+
```
355+
/// Receives `SensitivityLabelChanged` events.
356+
[uuid(927a011d-bbf3-546b-ba28-1fc0ef4c1f4a), object, pointer_default(unique)]
357+
interface ICoreWebView2StagingSensitivityLabelChangedEventHandler : IUnknown {
358+
/// Provides the event args for the corresponding event.
359+
HRESULT Invoke(
360+
[in] ICoreWebView2* sender,
361+
[in] ICoreWebView2StagingSensitivityLabelEventArgs* args);
362+
}
363+
```
349364

365+
```
350366
/// A continuation of the ICoreWebView2 interface to notify changes in
351367
/// web content sensitivity label.
352368
[uuid(ac4543d5-f466-5622-8b3b-24d3b195525c), object, pointer_default(unique)]
@@ -361,6 +377,5 @@ interface ICoreWebView2Staging32 : IUnknown {
361377
HRESULT remove_SensitivityLabelChanged(
362378
[in] EventRegistrationToken token);
363379
364-
365380
}
366381
```

0 commit comments

Comments
 (0)