Skip to content

Commit de32a21

Browse files
committed
Update IDL API definition
1 parent f43aa00 commit de32a21

1 file changed

Lines changed: 31 additions & 29 deletions

File tree

specs/ExtendedProcessFailed.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ library WebView2
375375
/// `ICoreWebView2ProcessFailedEventHandler` interface. The values in this enum
376376
/// make reference to the process kinds in the Chromium architecture. For more
377377
/// information about what these processes are and what they do, see
378-
/// [Browser Architecture - Inside look at modern web browser](https://developers.google.com/web/updates/2018/09/inside-browser-part1)
378+
/// [Browser Architecture - Inside look at modern web browser](https://developers.google.com/web/updates/2018/09/inside-browser-part1).
379379
[v1_enum]
380380
typedef enum COREWEBVIEW2_PROCESS_FAILED_KIND {
381381
// Existing stable values.
@@ -388,7 +388,7 @@ typedef enum COREWEBVIEW2_PROCESS_FAILED_KIND {
388388

389389
/// Indicates that the main frame's render process ended unexpectedly. A new
390390
/// render process is created automatically and navigated to an error page.
391-
/// You can use the Reload method to try to reload the page that failed.
391+
/// You can use the `Reload` method to try to reload the page that failed.
392392
COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED,
393393

394394
/// Indicates that the main frame's render process is unresponsive.
@@ -397,7 +397,7 @@ typedef enum COREWEBVIEW2_PROCESS_FAILED_KIND {
397397
// New values.
398398

399399
/// Indicates that a frame-only render process ended unexpectedly. The process
400-
/// exit does not impact the top-level document, only a subset of the
400+
/// exit does not affect the top-level document, only a subset of the
401401
/// subframes within it. The content in these frames is replaced with an error
402402
/// page in the frame.
403403
COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED,
@@ -433,8 +433,8 @@ typedef enum COREWEBVIEW2_PROCESS_FAILED_REASON {
433433
/// This only applies to the main frame's render process.
434434
COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE,
435435

436-
/// The process was killed. For example, from Task Manager.
437-
COREWEBVIEW2_PROCESS_FAILED_REASON_KILLED,
436+
/// The process was terminated. For example, from Task Manager.
437+
COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED,
438438

439439
/// The process crashed.
440440
COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED,
@@ -447,8 +447,8 @@ typedef enum COREWEBVIEW2_PROCESS_FAILED_REASON {
447447
} COREWEBVIEW2_PROCESS_FAILED_REASON;
448448

449449
/// A continuation of `ICoreWebView2ProcessFailedEventArgs` interface.
450-
[uuid(c62f5687-2f09-481b-b6e4-2c0620bc95a2), object, pointer_default(unique)]
451-
interface ICoreWebView2ProcessFailedEventArgs2 : IUnknown {
450+
[uuid(4dab9422-46fa-4c3e-a5d2-41d2071d3680), object, pointer_default(unique)]
451+
interface ICoreWebView2ProcessFailedEventArgs2 : ICoreWebView2ProcessFailedEventArgs {
452452
// The ProcessFailedKind property below is already in
453453
// ICoreWebView2ProcessFailedEventArgs. The changes to this interface extend
454454
// its return enum so it can now specify additional process kinds: gpu process
@@ -472,8 +472,8 @@ interface ICoreWebView2ProcessFailedEventArgs2 : IUnknown {
472472
[propget] HRESULT Reason(
473473
[out, retval] COREWEBVIEW2_PROCESS_FAILED_REASON* reason);
474474

475-
/// The exit code of the failing process. The exit code is always `1` when
476-
/// `ProcessFailedKind` is
475+
/// The exit code of the failing process, for telemetry purposes. The exit
476+
/// code is always `1` when `ProcessFailedKind` is
477477
/// `COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED`, and
478478
/// `STILL_ACTIVE` (`259`) when `ProcessFailedKind` is
479479
/// `COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE`.
@@ -482,58 +482,60 @@ interface ICoreWebView2ProcessFailedEventArgs2 : IUnknown {
482482

483483
/// Description of the process assigned by the WebView2 Runtime. This is a
484484
/// technical English term appropriate for logging or development purposes,
485-
/// and not localized for the end user. It applies to utility processes (for example,
486-
/// "Audio Service" or "Video Capture") and plugin processes (for example, "Flash").
487-
/// The returned `processDescription` is `null` if the WebView2 Runtime did
488-
/// not assign a description to the process.
485+
/// and not localized for the end user. It applies to utility processes (for
486+
/// example, "Audio Service", "Video Capture") and plugin processes (for
487+
/// example, "Flash"). The returned `processDescription` is empty if the
488+
/// WebView2 Runtime did not assign a description to the process.
489489
[propget] HRESULT ProcessDescription(
490490
[out, retval] LPWSTR* processDescription);
491491

492-
/// The list of frames in the `CoreWebView2` that were being rendered by the
493-
/// failed process. The content in these frames is replaced with an error page.
492+
/// The collection of `FrameInfo`s for frames in the `CoreWebView2` that were
493+
/// being rendered by the failed process. The content in these frames is
494+
/// replaced with an error page.
494495
/// This is only available when `ProcessFailedKind` is
495496
/// `COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED`;
496497
/// `frames` is `null` for all other process failure kinds, including the case
497498
/// in which the failed process was the renderer for the main frame and
498499
/// subframes within it, for which the failure kind is
499500
/// `COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED`.
500-
[propget] HRESULT ImpactedFramesInfo(
501+
[propget] HRESULT FrameInfosForFailedProcess(
501502
[out, retval] ICoreWebView2FrameInfoCollection** frames);
502503
}
503504

504-
/// Collection of frame details (name and source). Used to list the impacted
505+
/// Collection of `FrameInfo`s (name and source). Used to list the affected
505506
/// frames' info when a frame-only render process failure occurs in the
506507
/// `ICoreWebView2`.
507-
[uuid(4bedeef8-3de7-4a3a-aadc-e9437bfb3e92), object, pointer_default(unique)]
508+
[uuid(8f834154-d38e-4d90-affb-6800a7272839), object, pointer_default(unique)]
508509
interface ICoreWebView2FrameInfoCollection : IUnknown {
509-
/// Gets an iterator over the collection of frames' info.
510+
/// Gets an iterator over the collection of `FrameInfo`s.
510511
HRESULT GetIterator(
511512
[out, retval] ICoreWebView2FrameInfoCollectionIterator** iterator);
512513
}
513514

514-
/// Iterator for a collection of frames' info. For more info, see
515+
/// Iterator for a collection of `FrameInfo`s. For more info, see
515516
/// `ICoreWebView2ProcessFailedEventArgs2` and
516517
/// `ICoreWebView2FrameInfoCollection`.
517-
[uuid(0e2367b9-c725-4696-bb8a-75b97af32330), object, pointer_default(unique)]
518+
[uuid(1bf89e2d-1b2b-4629-b28f-05099b41bb03), object, pointer_default(unique)]
518519
interface ICoreWebView2FrameInfoCollectionIterator : IUnknown {
519-
/// Get the current `ICoreWebView2FrameInfo` of the iterator.
520-
HRESULT GetCurrentFrameInfo([out, retval] ICoreWebView2FrameInfo** frameInfo);
521-
522-
/// `TRUE` when the iterator has not run out of frames' info. If the
520+
/// `TRUE` when the iterator has not run out of `FrameInfo`s. If the
523521
/// collection over which the iterator is iterating is empty or if the
524522
/// iterator has gone past the end of the collection, then this is `FALSE`.
525-
[propget] HRESULT HasCurrentFrameInfo([out, retval] BOOL* hasCurrent);
523+
[propget] HRESULT HasCurrent([out, retval] BOOL* hasCurrent);
526524

527-
/// Move the iterator to the next frame's info in the collection.
525+
/// Get the current `ICoreWebView2FrameInfo` of the iterator.
526+
HRESULT GetCurrent([out, retval] ICoreWebView2FrameInfo** frameInfo);
527+
528+
/// Move the iterator to the next `FrameInfo` in the collection.
528529
HRESULT MoveNext([out, retval] BOOL* hasNext);
529530
}
530531

531532
/// Provides a set of properties for a frame in the `ICoreWebView2`.
532-
[uuid(b41e743b-ab1a-4054-bafa-d3347ddc4ddc), object, pointer_default(unique)]
533+
[uuid(da86b8a1-bdf3-4f11-9955-528cefa59727), object, pointer_default(unique)]
533534
interface ICoreWebView2FrameInfo : IUnknown {
534535
/// The name attribute of the frame, as in `<iframe name="frame-name" ...>`.
535-
/// This is `null` when the frame has no name attribute.
536+
/// The returned string is empty when the frame has no name attribute.
536537
[propget] HRESULT Name([out, retval] LPWSTR* name);
538+
537539
/// The URI of the document in the frame.
538540
[propget] HRESULT Source([out, retval] LPWSTR* source);
539541
}

0 commit comments

Comments
 (0)