Skip to content

Commit 1a9b736

Browse files
authored
Merge pull request #295 from MicrosoftEdge/smoketest/1.0.4015-testing
Smoketest/1.0.4015 testing
2 parents a25c529 + 212f72c commit 1a9b736

33 files changed

Lines changed: 252 additions & 289 deletions

SampleApps/WebView2APISample/AppWindow.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2422,12 +2422,13 @@ void AppWindow::RegisterEventHandlers()
24222422

24232423
//! [WindowCloseRequested]
24242424
// Register a handler for the WindowCloseRequested event.
2425-
// This handler will close the app window if it is not the main window.
2425+
// This handler will close the app window if it is not the main window,
2426+
// or if it is a WCO window (where the close button fires this event).
24262427
CHECK_FAILURE(m_webView->add_WindowCloseRequested(
24272428
Callback<ICoreWebView2WindowCloseRequestedEventHandler>(
24282429
[this](ICoreWebView2* sender, IUnknown* args)
24292430
{
2430-
if (m_isPopupWindow)
2431+
if (m_isPopupWindow || m_webviewOption.useWco)
24312432
{
24322433
CloseAppWindow();
24332434
}

SampleApps/WebView2APISample/ClientCertificateSelectionDialog.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ struct ClientCertificate
2929
PCWSTR CertificateKind;
3030
};
3131

32-
// Constructing this struct will show a client certificate selection dialog and return when
33-
// the user dismisses it. If the user clicks the OK button, confirmed will be true with the
32+
// Constructing this struct will show a client certificate selection dialog and return when
33+
// the user dismisses it. If the user clicks the OK button, confirmed will be true with the
3434
// selected certificate.
3535
struct ClientCertificateSelectionDialog
3636
{

SampleApps/WebView2APISample/ScenarioDedicatedWorker.cpp

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@ using namespace Microsoft::WRL;
1212
ScenarioDedicatedWorker::ScenarioDedicatedWorker(AppWindow* appWindow) : m_appWindow(appWindow)
1313
{
1414
//! [DedicatedWorkerCreated]
15-
m_appWindow->GetWebView()->QueryInterface(IID_PPV_ARGS(&m_webView2Experimental_30));
16-
CHECK_FEATURE_RETURN_EMPTY(m_webView2Experimental_30);
17-
18-
CHECK_FAILURE(m_webView2Experimental_30->add_DedicatedWorkerCreated(
19-
Callback<ICoreWebView2ExperimentalDedicatedWorkerCreatedEventHandler>(
20-
[this](
21-
ICoreWebView2* sender,
22-
ICoreWebView2ExperimentalDedicatedWorkerCreatedEventArgs* args)
15+
m_appWindow->GetWebView()->QueryInterface(IID_PPV_ARGS(&m_webView2_29));
16+
CHECK_FEATURE_RETURN_EMPTY(m_webView2_29);
17+
18+
CHECK_FAILURE(m_webView2_29->add_DedicatedWorkerCreated(
19+
Callback<ICoreWebView2DedicatedWorkerCreatedEventHandler>(
20+
[this](ICoreWebView2* sender, ICoreWebView2DedicatedWorkerCreatedEventArgs* args)
2321
{
24-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker> dedicatedWorker;
22+
wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker;
2523
CHECK_FAILURE(args->get_Worker(&dedicatedWorker));
2624

2725
wil::unique_cotaskmem_string scriptUri;
@@ -32,10 +30,9 @@ ScenarioDedicatedWorker::ScenarioDedicatedWorker(AppWindow* appWindow) : m_appWi
3230

3331
// Subscribe to worker destroying event
3432
dedicatedWorker->add_Destroying(
35-
Callback<ICoreWebView2ExperimentalDedicatedWorkerDestroyingEventHandler>(
33+
Callback<ICoreWebView2DedicatedWorkerDestroyingEventHandler>(
3634
[this, scriptUriStr](
37-
ICoreWebView2ExperimentalDedicatedWorker* sender,
38-
IUnknown* args) -> HRESULT
35+
ICoreWebView2DedicatedWorker* sender, IUnknown* args) -> HRESULT
3936
{
4037
/*Cleanup on worker destruction*/
4138
m_appWindow->AsyncMessageBox(
@@ -62,15 +59,14 @@ ScenarioDedicatedWorker::ScenarioDedicatedWorker(AppWindow* appWindow) : m_appWi
6259
wil::com_ptr<ICoreWebView2Frame> webviewFrame;
6360
CHECK_FAILURE(args->get_Frame(&webviewFrame));
6461

65-
wil::com_ptr<ICoreWebView2ExperimentalFrame9> m_frameExperimental_9 =
66-
webviewFrame.try_query<ICoreWebView2ExperimentalFrame9>();
62+
wil::com_ptr<ICoreWebView2Frame8> m_frame8 =
63+
webviewFrame.try_query<ICoreWebView2Frame8>();
6764

68-
m_frameExperimental_9->add_DedicatedWorkerCreated(
69-
Callback<ICoreWebView2ExperimentalFrameDedicatedWorkerCreatedEventHandler>(
65+
m_frame8->add_DedicatedWorkerCreated(
66+
Callback<ICoreWebView2FrameDedicatedWorkerCreatedEventHandler>(
7067
[this](
7168
ICoreWebView2Frame* sender,
72-
ICoreWebView2ExperimentalDedicatedWorkerCreatedEventArgs* args)
73-
-> HRESULT
69+
ICoreWebView2DedicatedWorkerCreatedEventArgs* args) -> HRESULT
7470
{
7571
// frameInfo that created the worker.
7672
wil::com_ptr<ICoreWebView2FrameInfo> frameInfo;
@@ -85,8 +81,7 @@ ScenarioDedicatedWorker::ScenarioDedicatedWorker(AppWindow* appWindow) : m_appWi
8581
UINT32 source_frameId;
8682
CHECK_FAILURE(frameInfo2->get_FrameId(&source_frameId));
8783

88-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker>
89-
dedicatedWorker;
84+
wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker;
9085
CHECK_FAILURE(args->get_Worker(&dedicatedWorker));
9186

9287
wil::unique_cotaskmem_string scriptUri;
@@ -98,10 +93,9 @@ ScenarioDedicatedWorker::ScenarioDedicatedWorker(AppWindow* appWindow) : m_appWi
9893

9994
// Subscribe to worker destroying event
10095
dedicatedWorker->add_Destroying(
101-
Callback<
102-
ICoreWebView2ExperimentalDedicatedWorkerDestroyingEventHandler>(
96+
Callback<ICoreWebView2DedicatedWorkerDestroyingEventHandler>(
10397
[this, scriptUriStr](
104-
ICoreWebView2ExperimentalDedicatedWorker* sender,
98+
ICoreWebView2DedicatedWorker* sender,
10599
IUnknown* args) -> HRESULT
106100
{
107101
/*Cleanup on worker destruction*/
@@ -125,5 +119,5 @@ ScenarioDedicatedWorker::ScenarioDedicatedWorker(AppWindow* appWindow) : m_appWi
125119

126120
ScenarioDedicatedWorker::~ScenarioDedicatedWorker()
127121
{
128-
m_webView2Experimental_30->remove_DedicatedWorkerCreated(m_dedicatedWorkerCreatedToken);
122+
m_webView2_29->remove_DedicatedWorkerCreated(m_dedicatedWorkerCreatedToken);
129123
}

SampleApps/WebView2APISample/ScenarioDedicatedWorker.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ class ScenarioDedicatedWorker : public ComponentBase
1515

1616
private:
1717
AppWindow* m_appWindow;
18-
wil::com_ptr<ICoreWebView2Experimental30> m_webView2Experimental_30;
18+
wil::com_ptr<ICoreWebView2_29> m_webView2_29;
1919
EventRegistrationToken m_dedicatedWorkerCreatedToken = {};
2020
};

SampleApps/WebView2APISample/ScenarioDedicatedWorkerPostMessage.cpp

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,14 @@ ScenarioDedicatedWorkerPostMessage::ScenarioDedicatedWorkerPostMessage(AppWindow
1818
: m_appWindow(appWindow)
1919
{
2020
//! [DedicatedWorkerCreated]
21-
m_appWindow->GetWebView()->QueryInterface(IID_PPV_ARGS(&m_webView2Experimental_30));
22-
CHECK_FEATURE_RETURN_EMPTY(m_webView2Experimental_30);
21+
m_appWindow->GetWebView()->QueryInterface(IID_PPV_ARGS(&m_webView2_29));
22+
CHECK_FEATURE_RETURN_EMPTY(m_webView2_29);
2323

24-
CHECK_FAILURE(m_webView2Experimental_30->add_DedicatedWorkerCreated(
25-
Callback<ICoreWebView2ExperimentalDedicatedWorkerCreatedEventHandler>(
26-
[this](
27-
ICoreWebView2* sender,
28-
ICoreWebView2ExperimentalDedicatedWorkerCreatedEventArgs* args)
24+
CHECK_FAILURE(m_webView2_29->add_DedicatedWorkerCreated(
25+
Callback<ICoreWebView2DedicatedWorkerCreatedEventHandler>(
26+
[this](ICoreWebView2* sender, ICoreWebView2DedicatedWorkerCreatedEventArgs* args)
2927
{
30-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker> dedicatedWorker;
28+
wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker;
3129
CHECK_FAILURE(args->get_Worker(&dedicatedWorker));
3230

3331
wil::unique_cotaskmem_string scriptUri;
@@ -66,13 +64,13 @@ ScenarioDedicatedWorkerPostMessage::ScenarioDedicatedWorkerPostMessage(AppWindow
6664
}
6765

6866
void ScenarioDedicatedWorkerPostMessage::SetupEventsOnDedicatedWorker(
69-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker> dedicatedWorker)
67+
wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker)
7068
{
7169
//! [WebMessageReceived]
7270
dedicatedWorker->add_WebMessageReceived(
73-
Callback<ICoreWebView2ExperimentalDedicatedWorkerWebMessageReceivedEventHandler>(
71+
Callback<ICoreWebView2DedicatedWorkerWebMessageReceivedEventHandler>(
7472
[this](
75-
ICoreWebView2ExperimentalDedicatedWorker* sender,
73+
ICoreWebView2DedicatedWorker* sender,
7674
ICoreWebView2WebMessageReceivedEventArgs* args) -> HRESULT
7775
{
7876
wil::unique_cotaskmem_string scriptUri;
@@ -96,7 +94,7 @@ void ScenarioDedicatedWorkerPostMessage::SetupEventsOnDedicatedWorker(
9694
}
9795

9896
void ScenarioDedicatedWorkerPostMessage::ComputeWithDedicatedWorker(
99-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker> dedicatedWorker)
97+
wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker)
10098
{
10199
//! [PostWebMessageAsJson]
102100
// Do not block from event handler
@@ -118,6 +116,6 @@ void ScenarioDedicatedWorkerPostMessage::ComputeWithDedicatedWorker(
118116

119117
ScenarioDedicatedWorkerPostMessage::~ScenarioDedicatedWorkerPostMessage()
120118
{
121-
m_webView2Experimental_30->remove_DedicatedWorkerCreated(m_dedicatedWorkerCreatedToken);
119+
m_webView2_29->remove_DedicatedWorkerCreated(m_dedicatedWorkerCreatedToken);
122120
m_appWindow->GetWebView()->remove_ContentLoading(m_contentLoadingToken);
123121
}

SampleApps/WebView2APISample/ScenarioDedicatedWorkerPostMessage.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ class ScenarioDedicatedWorkerPostMessage : public ComponentBase
1515

1616
private:
1717
void SetupEventsOnDedicatedWorker(
18-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker> dedicatedWorker);
19-
void ComputeWithDedicatedWorker(
20-
wil::com_ptr<ICoreWebView2ExperimentalDedicatedWorker> dedicatedWorker);
18+
wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker);
19+
void ComputeWithDedicatedWorker(wil::com_ptr<ICoreWebView2DedicatedWorker> dedicatedWorker);
2120

2221
AppWindow* m_appWindow;
23-
wil::com_ptr<ICoreWebView2Experimental30> m_webView2Experimental_30;
22+
wil::com_ptr<ICoreWebView2_29> m_webView2_29;
2423
std::wstring m_sampleUri;
2524
EventRegistrationToken m_contentLoadingToken = {};
2625
EventRegistrationToken m_dedicatedWorkerCreatedToken = {};

SampleApps/WebView2APISample/ScenarioServiceWorkerManager.cpp

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,9 @@ void ScenarioServiceWorkerManager::CreateServiceWorkerManager()
2727

2828
wil::com_ptr<ICoreWebView2Profile> webView2Profile;
2929
CHECK_FAILURE(webView2_13->get_Profile(&webView2Profile));
30-
auto webViewExperimentalProfile13 =
31-
webView2Profile.try_query<ICoreWebView2ExperimentalProfile13>();
32-
CHECK_FEATURE_RETURN_EMPTY(webViewExperimentalProfile13);
33-
CHECK_FAILURE(
34-
webViewExperimentalProfile13->get_ServiceWorkerManager(&m_serviceWorkerManager));
30+
auto webViewProfile9 = webView2Profile.try_query<ICoreWebView2Profile9>();
31+
CHECK_FEATURE_RETURN_EMPTY(webViewProfile9);
32+
CHECK_FAILURE(webViewProfile9->get_ServiceWorkerManager(&m_serviceWorkerManager));
3533
//! [ServiceWorkerManager]
3634
}
3735

@@ -44,13 +42,12 @@ void ScenarioServiceWorkerManager::SetupEventsOnWebview()
4442

4543
//! [ServiceWorkerRegistered]
4644
CHECK_FAILURE(m_serviceWorkerManager->add_ServiceWorkerRegistered(
47-
Callback<ICoreWebView2ExperimentalServiceWorkerRegisteredEventHandler>(
45+
Callback<ICoreWebView2ServiceWorkerRegisteredEventHandler>(
4846
[this](
49-
ICoreWebView2ExperimentalServiceWorkerManager* sender,
50-
ICoreWebView2ExperimentalServiceWorkerRegisteredEventArgs* args)
47+
ICoreWebView2ServiceWorkerManager* sender,
48+
ICoreWebView2ServiceWorkerRegisteredEventArgs* args)
5149
{
52-
wil::com_ptr<ICoreWebView2ExperimentalServiceWorkerRegistration>
53-
serviceWorkerRegistration;
50+
wil::com_ptr<ICoreWebView2ServiceWorkerRegistration> serviceWorkerRegistration;
5451
CHECK_FAILURE(args->get_ServiceWorkerRegistration(&serviceWorkerRegistration));
5552

5653
if (serviceWorkerRegistration)
@@ -69,9 +66,9 @@ void ScenarioServiceWorkerManager::SetupEventsOnWebview()
6966
// Subscribe to worker registration unregistering event
7067
serviceWorkerRegistration->add_Unregistering(
7168
Callback<
72-
ICoreWebView2ExperimentalServiceWorkerRegistrationUnregisteringEventHandler>(
69+
ICoreWebView2ServiceWorkerRegistrationUnregisteringEventHandler>(
7370
[this, scopeUriStr](
74-
ICoreWebView2ExperimentalServiceWorkerRegistration* sender,
71+
ICoreWebView2ServiceWorkerRegistration* sender,
7572
IUnknown* args) -> HRESULT
7673
{
7774
/*Cleanup on worker registration destruction*/
@@ -82,7 +79,7 @@ void ScenarioServiceWorkerManager::SetupEventsOnWebview()
8279
.Get(),
8380
nullptr);
8481

85-
wil::com_ptr<ICoreWebView2ExperimentalServiceWorker> serviceWorker;
82+
wil::com_ptr<ICoreWebView2ServiceWorker> serviceWorker;
8683
CHECK_FAILURE(
8784
serviceWorkerRegistration->get_ActiveServiceWorker(&serviceWorker));
8885

@@ -94,10 +91,9 @@ void ScenarioServiceWorkerManager::SetupEventsOnWebview()
9491

9592
// Subscribe to worker destroying event
9693
serviceWorker->add_Destroying(
97-
Callback<
98-
ICoreWebView2ExperimentalServiceWorkerDestroyingEventHandler>(
94+
Callback<ICoreWebView2ServiceWorkerDestroyingEventHandler>(
9995
[this, scriptUriStr](
100-
ICoreWebView2ExperimentalServiceWorker* sender,
96+
ICoreWebView2ServiceWorker* sender,
10197
IUnknown* args) -> HRESULT
10298
{
10399
/*Cleanup on worker destruction*/
@@ -111,15 +107,13 @@ void ScenarioServiceWorkerManager::SetupEventsOnWebview()
111107
else
112108
{
113109
CHECK_FAILURE(serviceWorkerRegistration->add_ServiceWorkerActivated(
114-
Callback<
115-
ICoreWebView2ExperimentalServiceWorkerActivatedEventHandler>(
110+
Callback<ICoreWebView2ServiceWorkerActivatedEventHandler>(
116111
[this](
117-
ICoreWebView2ExperimentalServiceWorkerRegistration* sender,
118-
ICoreWebView2ExperimentalServiceWorkerActivatedEventArgs*
119-
args) -> HRESULT
112+
ICoreWebView2ServiceWorkerRegistration* sender,
113+
ICoreWebView2ServiceWorkerActivatedEventArgs* args)
114+
-> HRESULT
120115
{
121-
wil::com_ptr<ICoreWebView2ExperimentalServiceWorker>
122-
serviceWorker;
116+
wil::com_ptr<ICoreWebView2ServiceWorker> serviceWorker;
123117
CHECK_FAILURE(
124118
args->get_ActiveServiceWorker(&serviceWorker));
125119
wil::unique_cotaskmem_string scriptUri;
@@ -129,9 +123,9 @@ void ScenarioServiceWorkerManager::SetupEventsOnWebview()
129123
// Subscribe to worker destroying event
130124
serviceWorker->add_Destroying(
131125
Callback<
132-
ICoreWebView2ExperimentalServiceWorkerDestroyingEventHandler>(
126+
ICoreWebView2ServiceWorkerDestroyingEventHandler>(
133127
[this, scriptUriStr](
134-
ICoreWebView2ExperimentalServiceWorker* sender,
128+
ICoreWebView2ServiceWorker* sender,
135129
IUnknown* args) -> HRESULT
136130
{
137131
/*Cleanup on worker destruction*/
@@ -166,9 +160,9 @@ void ScenarioServiceWorkerManager::GetAllServiceWorkerRegistrations()
166160
{
167161
CHECK_FEATURE_RETURN_EMPTY(m_serviceWorkerManager);
168162
CHECK_FAILURE(m_serviceWorkerManager->GetServiceWorkerRegistrations(
169-
Callback<ICoreWebView2ExperimentalGetServiceWorkerRegistrationsCompletedHandler>(
163+
Callback<ICoreWebView2GetServiceWorkerRegistrationsCompletedHandler>(
170164
[this](
171-
HRESULT error, ICoreWebView2ExperimentalServiceWorkerRegistrationCollectionView*
165+
HRESULT error, ICoreWebView2ServiceWorkerRegistrationCollectionView*
172166
workerRegistrationCollection) -> HRESULT
173167
{
174168
CHECK_FAILURE(error);
@@ -181,8 +175,7 @@ void ScenarioServiceWorkerManager::GetAllServiceWorkerRegistrations()
181175

182176
for (UINT32 i = 0; i < workersCount; i++)
183177
{
184-
ComPtr<ICoreWebView2ExperimentalServiceWorkerRegistration>
185-
serviceWorkerRegistration;
178+
ComPtr<ICoreWebView2ServiceWorkerRegistration> serviceWorkerRegistration;
186179
CHECK_FAILURE(workerRegistrationCollection->GetValueAtIndex(
187180
i, &serviceWorkerRegistration));
188181

@@ -221,11 +214,10 @@ void ScenarioServiceWorkerManager::GetServiceWorkerRegisteredForScope()
221214
std::wstring scope = dialog.input.c_str();
222215
CHECK_FAILURE(m_serviceWorkerManager->GetServiceWorkerRegistrationsForScope(
223216
scope.c_str(),
224-
Callback<ICoreWebView2ExperimentalGetServiceWorkerRegistrationsCompletedHandler>(
217+
Callback<ICoreWebView2GetServiceWorkerRegistrationsCompletedHandler>(
225218
[this, scope](
226-
HRESULT error,
227-
ICoreWebView2ExperimentalServiceWorkerRegistrationCollectionView*
228-
workerRegistrationCollection) -> HRESULT
219+
HRESULT error, ICoreWebView2ServiceWorkerRegistrationCollectionView*
220+
workerRegistrationCollection) -> HRESULT
229221
{
230222
CHECK_FAILURE(error);
231223
UINT32 workersCount = 0;
@@ -237,7 +229,7 @@ void ScenarioServiceWorkerManager::GetServiceWorkerRegisteredForScope()
237229

238230
for (UINT32 i = 0; i < workersCount; i++)
239231
{
240-
ComPtr<ICoreWebView2ExperimentalServiceWorkerRegistration>
232+
ComPtr<ICoreWebView2ServiceWorkerRegistration>
241233
serviceWorkerRegistration;
242234
CHECK_FAILURE(workerRegistrationCollection->GetValueAtIndex(
243235
i, &serviceWorkerRegistration));

SampleApps/WebView2APISample/ScenarioServiceWorkerManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ class ScenarioServiceWorkerManager : public ComponentBase
2222

2323
AppWindow* m_appWindow;
2424
wil::com_ptr<ICoreWebView2> m_webView;
25-
wil::com_ptr<ICoreWebView2ExperimentalServiceWorkerManager> m_serviceWorkerManager;
25+
wil::com_ptr<ICoreWebView2ServiceWorkerManager> m_serviceWorkerManager;
2626
EventRegistrationToken m_serviceWorkerRegisteredToken = {};
2727
};

0 commit comments

Comments
 (0)