feat: ServiceWorkerMain.scriptURL (#45863)
feat: serviceWorker.scriptURL
This commit is contained in:
parent
30d2fadb28
commit
afca4e271e
4 changed files with 23 additions and 0 deletions
|
@ -46,6 +46,10 @@ An [`IpcMainServiceWorker`](ipc-main-service-worker.md) instance scoped to the s
|
||||||
|
|
||||||
A `string` representing the scope URL of the service worker.
|
A `string` representing the scope URL of the service worker.
|
||||||
|
|
||||||
|
#### `serviceWorker.scriptURL` _Readonly_ _Experimental_
|
||||||
|
|
||||||
|
A `string` representing the script URL of the service worker.
|
||||||
|
|
||||||
#### `serviceWorker.versionId` _Readonly_ _Experimental_
|
#### `serviceWorker.versionId` _Readonly_ _Experimental_
|
||||||
|
|
||||||
A `number` representing the ID of the specific version of the service worker script in its scope.
|
A `number` representing the ID of the specific version of the service worker script in its scope.
|
||||||
|
|
|
@ -282,6 +282,12 @@ GURL ServiceWorkerMain::ScopeURL() const {
|
||||||
return version_info()->scope;
|
return version_info()->scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GURL ServiceWorkerMain::ScriptURL() const {
|
||||||
|
if (version_destroyed_)
|
||||||
|
return {};
|
||||||
|
return version_info()->script_url;
|
||||||
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
gin::Handle<ServiceWorkerMain> ServiceWorkerMain::New(v8::Isolate* isolate) {
|
gin::Handle<ServiceWorkerMain> ServiceWorkerMain::New(v8::Isolate* isolate) {
|
||||||
return gin::Handle<ServiceWorkerMain>();
|
return gin::Handle<ServiceWorkerMain>();
|
||||||
|
@ -330,6 +336,7 @@ void ServiceWorkerMain::FillObjectTemplate(
|
||||||
&ServiceWorkerMain::CountExternalRequestsForTest)
|
&ServiceWorkerMain::CountExternalRequestsForTest)
|
||||||
.SetProperty("versionId", &ServiceWorkerMain::VersionID)
|
.SetProperty("versionId", &ServiceWorkerMain::VersionID)
|
||||||
.SetProperty("scope", &ServiceWorkerMain::ScopeURL)
|
.SetProperty("scope", &ServiceWorkerMain::ScopeURL)
|
||||||
|
.SetProperty("scriptURL", &ServiceWorkerMain::ScriptURL)
|
||||||
.Build();
|
.Build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -147,6 +147,7 @@ class ServiceWorkerMain final
|
||||||
|
|
||||||
int64_t VersionID() const;
|
int64_t VersionID() const;
|
||||||
GURL ScopeURL() const;
|
GURL ScopeURL() const;
|
||||||
|
GURL ScriptURL() const;
|
||||||
|
|
||||||
// Version ID unique only to the StoragePartition.
|
// Version ID unique only to the StoragePartition.
|
||||||
int64_t version_id_;
|
int64_t version_id_;
|
||||||
|
|
|
@ -314,6 +314,17 @@ describe('ServiceWorkerMain module', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("'scriptURL' property", () => {
|
||||||
|
it('matches the expected value', async () => {
|
||||||
|
loadWorkerScript();
|
||||||
|
const serviceWorker = await waitForServiceWorker();
|
||||||
|
expect(serviceWorker).to.not.be.undefined();
|
||||||
|
if (!serviceWorker) return;
|
||||||
|
expect(serviceWorker).to.have.property('scriptURL').that.is.a('string');
|
||||||
|
expect(serviceWorker.scriptURL).to.equal(`${baseUrl}/sw.js`);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('ipc', () => {
|
describe('ipc', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
registerPreload('preload-tests.js');
|
registerPreload('preload-tests.js');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue