@theia/mini-browser 1.67.0-next.56 → 1.67.0-next.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/environment/mini-browser-environment-module.d.ts +4 -0
- package/lib/browser/environment/mini-browser-environment-module.d.ts.map +1 -0
- package/lib/browser/environment/mini-browser-environment-module.js +25 -0
- package/lib/browser/environment/mini-browser-environment-module.js.map +1 -0
- package/lib/browser/environment/mini-browser-environment.d.ts +26 -0
- package/lib/browser/environment/mini-browser-environment.d.ts.map +1 -0
- package/lib/browser/environment/mini-browser-environment.js +88 -0
- package/lib/browser/environment/mini-browser-environment.js.map +1 -0
- package/lib/browser/location-mapper-service.d.ts +59 -0
- package/lib/browser/location-mapper-service.d.ts.map +1 -0
- package/lib/browser/location-mapper-service.js +133 -0
- package/lib/browser/location-mapper-service.js.map +1 -0
- package/lib/browser/mini-browser-content-style.d.ts +18 -0
- package/lib/browser/mini-browser-content-style.d.ts.map +1 -0
- package/lib/browser/mini-browser-content-style.js +37 -0
- package/lib/browser/mini-browser-content-style.js.map +1 -0
- package/lib/browser/mini-browser-content.d.ts +178 -0
- package/lib/browser/mini-browser-content.d.ts.map +1 -0
- package/lib/browser/mini-browser-content.js +543 -0
- package/lib/browser/mini-browser-content.js.map +1 -0
- package/lib/browser/mini-browser-frontend-module.d.ts +5 -0
- package/lib/browser/mini-browser-frontend-module.d.ts.map +1 -0
- package/lib/browser/mini-browser-frontend-module.js +71 -0
- package/lib/browser/mini-browser-frontend-module.js.map +1 -0
- package/lib/browser/mini-browser-frontend-security-warnings.d.ts +12 -0
- package/lib/browser/mini-browser-frontend-security-warnings.d.ts.map +1 -0
- package/lib/browser/mini-browser-frontend-security-warnings.js +66 -0
- package/lib/browser/mini-browser-frontend-security-warnings.js.map +1 -0
- package/lib/browser/mini-browser-open-handler.d.ts +77 -0
- package/lib/browser/mini-browser-open-handler.d.ts.map +1 -0
- package/lib/browser/mini-browser-open-handler.js +285 -0
- package/lib/browser/mini-browser-open-handler.js.map +1 -0
- package/lib/browser/mini-browser.d.ts +26 -0
- package/lib/browser/mini-browser.d.ts.map +1 -0
- package/lib/browser/mini-browser.js +111 -0
- package/lib/browser/mini-browser.js.map +1 -0
- package/lib/common/mini-browser-endpoint.d.ts +13 -0
- package/lib/common/mini-browser-endpoint.d.ts.map +1 -0
- package/lib/common/mini-browser-endpoint.js +32 -0
- package/lib/common/mini-browser-endpoint.js.map +1 -0
- package/lib/common/mini-browser-service.d.ts +15 -0
- package/lib/common/mini-browser-service.d.ts.map +1 -0
- package/lib/common/mini-browser-service.js +21 -0
- package/lib/common/mini-browser-service.js.map +1 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment-module.d.ts +4 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment-module.d.ts.map +1 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment-module.js +26 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment-module.js.map +1 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment.d.ts +10 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment.d.ts.map +1 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment.js +53 -0
- package/lib/electron-browser/environment/electron-mini-browser-environment.js.map +1 -0
- package/lib/electron-main/mini-browser-electron-main-contribution.d.ts +13 -0
- package/lib/electron-main/mini-browser-electron-main-contribution.d.ts.map +1 -0
- package/lib/electron-main/mini-browser-electron-main-contribution.js +47 -0
- package/lib/electron-main/mini-browser-electron-main-contribution.js.map +1 -0
- package/lib/node/mini-browser-backend-module.d.ts +4 -0
- package/lib/node/mini-browser-backend-module.d.ts.map +1 -0
- package/lib/node/mini-browser-backend-module.js +42 -0
- package/lib/node/mini-browser-backend-module.js.map +1 -0
- package/lib/node/mini-browser-backend-security-warnings.d.ts +6 -0
- package/lib/node/mini-browser-backend-security-warnings.d.ts.map +1 -0
- package/lib/node/mini-browser-backend-security-warnings.js +47 -0
- package/lib/node/mini-browser-backend-security-warnings.js.map +1 -0
- package/lib/node/mini-browser-endpoint.d.ts +98 -0
- package/lib/node/mini-browser-endpoint.d.ts.map +1 -0
- package/lib/node/mini-browser-endpoint.js +261 -0
- package/lib/node/mini-browser-endpoint.js.map +1 -0
- package/lib/node/mini-browser-ws-validator.d.ts +13 -0
- package/lib/node/mini-browser-ws-validator.d.ts.map +1 -0
- package/lib/node/mini-browser-ws-validator.js +62 -0
- package/lib/node/mini-browser-ws-validator.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +19 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-environment-module.d.ts","sourceRoot":"","sources":["../../../src/browser/environment/mini-browser-environment-module.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAG/D,wBAGG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2020 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
19
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
20
|
+
const mini_browser_environment_1 = require("./mini-browser-environment");
|
|
21
|
+
exports.default = new inversify_1.ContainerModule(bind => {
|
|
22
|
+
bind(mini_browser_environment_1.MiniBrowserEnvironment).toSelf().inSingletonScope();
|
|
23
|
+
bind(browser_1.FrontendApplicationContribution).toService(mini_browser_environment_1.MiniBrowserEnvironment);
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=mini-browser-environment-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-environment-module.js","sourceRoot":"","sources":["../../../src/browser/environment/mini-browser-environment-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,qDAA0E;AAC1E,4DAA+D;AAC/D,yEAAoE;AAEpE,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,iDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,iDAAsB,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Endpoint, FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
2
|
+
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch values from the backend's environment and caches them locally.
|
|
5
|
+
* Helps with deploying various mini-browser endpoints.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MiniBrowserEnvironment implements FrontendApplicationContribution {
|
|
8
|
+
protected _hostPatternPromise: Promise<string>;
|
|
9
|
+
protected _hostPattern?: string;
|
|
10
|
+
protected environment: EnvVariablesServer;
|
|
11
|
+
protected init(): void;
|
|
12
|
+
get hostPatternPromise(): Promise<string>;
|
|
13
|
+
get hostPattern(): string | undefined;
|
|
14
|
+
onStart(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Throws if `hostPatternPromise` is not yet resolved.
|
|
17
|
+
*/
|
|
18
|
+
getEndpoint(uuid: string, hostname?: string): Endpoint;
|
|
19
|
+
/**
|
|
20
|
+
* Throws if `hostPatternPromise` is not yet resolved.
|
|
21
|
+
*/
|
|
22
|
+
getRandomEndpoint(): Endpoint;
|
|
23
|
+
protected getHostPattern(): Promise<string>;
|
|
24
|
+
protected getDefaultHostname(): string;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=mini-browser-environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-environment.d.ts","sourceRoot":"","sources":["../../../src/browser/environment/mini-browser-environment.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAM1E;;;GAGG;AACH,qBACa,sBAAuB,YAAW,+BAA+B;IAE1E,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGhC,SAAS,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAG1C,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,IAAI,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ;IAYtD;;OAEG;IACH,iBAAiB,IAAI,QAAQ;cAIb,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAOjD,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGzC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2020 Ericsson and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MiniBrowserEnvironment = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
21
|
+
const env_variables_1 = require("@theia/core/lib/common/env-variables");
|
|
22
|
+
const environment_1 = require("@theia/core/shared/@theia/application-package/lib/environment");
|
|
23
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
+
const uuid_1 = require("@theia/core/lib/common/uuid");
|
|
25
|
+
const mini_browser_endpoint_1 = require("../../common/mini-browser-endpoint");
|
|
26
|
+
/**
|
|
27
|
+
* Fetch values from the backend's environment and caches them locally.
|
|
28
|
+
* Helps with deploying various mini-browser endpoints.
|
|
29
|
+
*/
|
|
30
|
+
let MiniBrowserEnvironment = class MiniBrowserEnvironment {
|
|
31
|
+
init() {
|
|
32
|
+
this._hostPatternPromise = this.getHostPattern()
|
|
33
|
+
.then(pattern => this._hostPattern = pattern);
|
|
34
|
+
}
|
|
35
|
+
get hostPatternPromise() {
|
|
36
|
+
return this._hostPatternPromise;
|
|
37
|
+
}
|
|
38
|
+
get hostPattern() {
|
|
39
|
+
return this._hostPattern;
|
|
40
|
+
}
|
|
41
|
+
async onStart() {
|
|
42
|
+
await this._hostPatternPromise;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Throws if `hostPatternPromise` is not yet resolved.
|
|
46
|
+
*/
|
|
47
|
+
getEndpoint(uuid, hostname) {
|
|
48
|
+
if (this._hostPattern === undefined) {
|
|
49
|
+
throw new Error('MiniBrowserEnvironment is not finished initializing');
|
|
50
|
+
}
|
|
51
|
+
return new browser_1.Endpoint({
|
|
52
|
+
path: mini_browser_endpoint_1.MiniBrowserEndpoint.PATH,
|
|
53
|
+
host: this._hostPattern
|
|
54
|
+
.replace('{{uuid}}', uuid)
|
|
55
|
+
.replace('{{hostname}}', hostname || this.getDefaultHostname()),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Throws if `hostPatternPromise` is not yet resolved.
|
|
60
|
+
*/
|
|
61
|
+
getRandomEndpoint() {
|
|
62
|
+
return this.getEndpoint((0, uuid_1.generateUuid)());
|
|
63
|
+
}
|
|
64
|
+
async getHostPattern() {
|
|
65
|
+
return environment_1.environment.electron.is()
|
|
66
|
+
? mini_browser_endpoint_1.MiniBrowserEndpoint.HOST_PATTERN_DEFAULT
|
|
67
|
+
: this.environment.getValue(mini_browser_endpoint_1.MiniBrowserEndpoint.HOST_PATTERN_ENV)
|
|
68
|
+
.then(envVar => (envVar === null || envVar === void 0 ? void 0 : envVar.value) || mini_browser_endpoint_1.MiniBrowserEndpoint.HOST_PATTERN_DEFAULT);
|
|
69
|
+
}
|
|
70
|
+
getDefaultHostname() {
|
|
71
|
+
return self.location.host;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.MiniBrowserEnvironment = MiniBrowserEnvironment;
|
|
75
|
+
tslib_1.__decorate([
|
|
76
|
+
(0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
|
|
77
|
+
tslib_1.__metadata("design:type", Object)
|
|
78
|
+
], MiniBrowserEnvironment.prototype, "environment", void 0);
|
|
79
|
+
tslib_1.__decorate([
|
|
80
|
+
(0, inversify_1.postConstruct)(),
|
|
81
|
+
tslib_1.__metadata("design:type", Function),
|
|
82
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
83
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
84
|
+
], MiniBrowserEnvironment.prototype, "init", null);
|
|
85
|
+
exports.MiniBrowserEnvironment = MiniBrowserEnvironment = tslib_1.__decorate([
|
|
86
|
+
(0, inversify_1.injectable)()
|
|
87
|
+
], MiniBrowserEnvironment);
|
|
88
|
+
//# sourceMappingURL=mini-browser-environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-environment.js","sourceRoot":"","sources":["../../../src/browser/environment/mini-browser-environment.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,qDAAoF;AACpF,wEAA0E;AAC1E,+FAA4F;AAC5F,4DAAiF;AACjF,sDAA2D;AAC3D,8EAAyE;AAEzE;;;GAGG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IASrB,IAAI;QACV,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE;aAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,mBAAmB,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY,EAAE,QAAiB;QACvC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,kBAAQ,CAAC;YAChB,IAAI,EAAE,2CAAmB,CAAC,IAAI;YAC9B,IAAI,EAAE,IAAI,CAAC,YAAY;iBAClB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;iBACzB,OAAO,CAAC,cAAc,EAAE,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACtE,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAA,mBAAY,GAAE,CAAC,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,cAAc;QAC1B,OAAO,yBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE;YAC5B,CAAC,CAAC,2CAAmB,CAAC,oBAAoB;YAC1C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,2CAAmB,CAAC,gBAAgB,CAAC;iBAC5D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,2CAAmB,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC;IAES,kBAAkB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;CACJ,CAAA;AA1DY,wDAAsB;AAMrB;IADT,IAAA,kBAAM,EAAC,kCAAkB,CAAC;;2DACe;AAGhC;IADT,IAAA,yBAAa,GAAE;;;;kDAIf;iCAZQ,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CA0DlC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { MaybePromise } from '@theia/core/lib/common/types';
|
|
2
|
+
import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
|
|
3
|
+
import { MiniBrowserEnvironment } from './environment/mini-browser-environment';
|
|
4
|
+
/**
|
|
5
|
+
* Contribution for the `LocationMapperService`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const LocationMapper: unique symbol;
|
|
8
|
+
export interface LocationMapper {
|
|
9
|
+
/**
|
|
10
|
+
* Should return with a positive number if the current contribution can handle the given location.
|
|
11
|
+
* The number indicates the priority of the location mapper. If it is not a positive number, it means, the
|
|
12
|
+
* contribution cannot handle the location.
|
|
13
|
+
*/
|
|
14
|
+
canHandle(location: string): MaybePromise<number>;
|
|
15
|
+
/**
|
|
16
|
+
* Maps the given location.
|
|
17
|
+
*/
|
|
18
|
+
map(location: string): MaybePromise<string>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Location mapper service.
|
|
22
|
+
*/
|
|
23
|
+
export declare class LocationMapperService {
|
|
24
|
+
protected readonly contributions: ContributionProvider<LocationMapper>;
|
|
25
|
+
map(location: string): Promise<string>;
|
|
26
|
+
protected defaultMapper(): (location: string) => MaybePromise<string>;
|
|
27
|
+
protected prioritize(location: string): Promise<LocationMapper[]>;
|
|
28
|
+
protected getContributions(): LocationMapper[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* HTTP location mapper.
|
|
32
|
+
*/
|
|
33
|
+
export declare class HttpLocationMapper implements LocationMapper {
|
|
34
|
+
canHandle(location: string): MaybePromise<number>;
|
|
35
|
+
map(location: string): MaybePromise<string>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* HTTPS location mapper.
|
|
39
|
+
*/
|
|
40
|
+
export declare class HttpsLocationMapper implements LocationMapper {
|
|
41
|
+
canHandle(location: string): MaybePromise<number>;
|
|
42
|
+
map(location: string): MaybePromise<string>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Location mapper for locations without a scheme.
|
|
46
|
+
*/
|
|
47
|
+
export declare class LocationWithoutSchemeMapper implements LocationMapper {
|
|
48
|
+
canHandle(location: string): MaybePromise<number>;
|
|
49
|
+
map(location: string): MaybePromise<string>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* `file` URI location mapper.
|
|
53
|
+
*/
|
|
54
|
+
export declare class FileLocationMapper implements LocationMapper {
|
|
55
|
+
protected miniBrowserEnvironment: MiniBrowserEnvironment;
|
|
56
|
+
canHandle(location: string): MaybePromise<number>;
|
|
57
|
+
map(location: string): Promise<string>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=location-mapper-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"location-mapper-service.d.ts","sourceRoot":"","sources":["../../src/browser/location-mapper-service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD,MAAM,WAAW,cAAc;IAE3B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAElD;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;CAE/C;AAED;;GAEG;AACH,qBACa,qBAAqB;IAI9B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEjE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5C,SAAS,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;cAIrD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKvE,SAAS,CAAC,gBAAgB,IAAI,cAAc,EAAE;CAIjD;AAED;;GAEG;AACH,qBACa,kBAAmB,YAAW,cAAc;IAErD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAIjD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;CAI9C;AAED;;GAEG;AACH,qBACa,mBAAoB,YAAW,cAAc;IAEtD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAIjD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;CAI9C;AAED;;GAEG;AACH,qBACa,2BAA4B,YAAW,cAAc;IAE9D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAIjD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;CAI9C;AAED;;GAEG;AACH,qBACa,kBAAmB,YAAW,cAAc;IAGrD,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAEzD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAI3C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAY/C"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.FileLocationMapper = exports.LocationWithoutSchemeMapper = exports.HttpsLocationMapper = exports.HttpLocationMapper = exports.LocationMapperService = exports.LocationMapper = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
22
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
23
|
+
const types_1 = require("@theia/core/lib/common/types");
|
|
24
|
+
const contribution_provider_1 = require("@theia/core/lib/common/contribution-provider");
|
|
25
|
+
const mini_browser_environment_1 = require("./environment/mini-browser-environment");
|
|
26
|
+
/**
|
|
27
|
+
* Contribution for the `LocationMapperService`.
|
|
28
|
+
*/
|
|
29
|
+
exports.LocationMapper = Symbol('LocationMapper');
|
|
30
|
+
/**
|
|
31
|
+
* Location mapper service.
|
|
32
|
+
*/
|
|
33
|
+
let LocationMapperService = class LocationMapperService {
|
|
34
|
+
async map(location) {
|
|
35
|
+
const contributions = await this.prioritize(location);
|
|
36
|
+
if (contributions.length === 0) {
|
|
37
|
+
return this.defaultMapper()(location);
|
|
38
|
+
}
|
|
39
|
+
return contributions[0].map(location);
|
|
40
|
+
}
|
|
41
|
+
defaultMapper() {
|
|
42
|
+
return location => `${new browser_1.Endpoint().httpScheme}//${location}`;
|
|
43
|
+
}
|
|
44
|
+
async prioritize(location) {
|
|
45
|
+
const prioritized = await types_1.Prioritizeable.prioritizeAll(this.getContributions(), contribution => contribution.canHandle(location));
|
|
46
|
+
return prioritized.map(p => p.value);
|
|
47
|
+
}
|
|
48
|
+
getContributions() {
|
|
49
|
+
return this.contributions.getContributions();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.LocationMapperService = LocationMapperService;
|
|
53
|
+
tslib_1.__decorate([
|
|
54
|
+
(0, inversify_1.inject)(contribution_provider_1.ContributionProvider),
|
|
55
|
+
(0, inversify_1.named)(exports.LocationMapper),
|
|
56
|
+
tslib_1.__metadata("design:type", Object)
|
|
57
|
+
], LocationMapperService.prototype, "contributions", void 0);
|
|
58
|
+
exports.LocationMapperService = LocationMapperService = tslib_1.__decorate([
|
|
59
|
+
(0, inversify_1.injectable)()
|
|
60
|
+
], LocationMapperService);
|
|
61
|
+
/**
|
|
62
|
+
* HTTP location mapper.
|
|
63
|
+
*/
|
|
64
|
+
let HttpLocationMapper = class HttpLocationMapper {
|
|
65
|
+
canHandle(location) {
|
|
66
|
+
return location.startsWith('http://') ? 1 : 0;
|
|
67
|
+
}
|
|
68
|
+
map(location) {
|
|
69
|
+
return location;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.HttpLocationMapper = HttpLocationMapper;
|
|
73
|
+
exports.HttpLocationMapper = HttpLocationMapper = tslib_1.__decorate([
|
|
74
|
+
(0, inversify_1.injectable)()
|
|
75
|
+
], HttpLocationMapper);
|
|
76
|
+
/**
|
|
77
|
+
* HTTPS location mapper.
|
|
78
|
+
*/
|
|
79
|
+
let HttpsLocationMapper = class HttpsLocationMapper {
|
|
80
|
+
canHandle(location) {
|
|
81
|
+
return location.startsWith('https://') ? 1 : 0;
|
|
82
|
+
}
|
|
83
|
+
map(location) {
|
|
84
|
+
return location;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.HttpsLocationMapper = HttpsLocationMapper;
|
|
88
|
+
exports.HttpsLocationMapper = HttpsLocationMapper = tslib_1.__decorate([
|
|
89
|
+
(0, inversify_1.injectable)()
|
|
90
|
+
], HttpsLocationMapper);
|
|
91
|
+
/**
|
|
92
|
+
* Location mapper for locations without a scheme.
|
|
93
|
+
*/
|
|
94
|
+
let LocationWithoutSchemeMapper = class LocationWithoutSchemeMapper {
|
|
95
|
+
canHandle(location) {
|
|
96
|
+
return new uri_1.default(location).scheme === '' ? 1 : 0;
|
|
97
|
+
}
|
|
98
|
+
map(location) {
|
|
99
|
+
return `http://${location}`;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
exports.LocationWithoutSchemeMapper = LocationWithoutSchemeMapper;
|
|
103
|
+
exports.LocationWithoutSchemeMapper = LocationWithoutSchemeMapper = tslib_1.__decorate([
|
|
104
|
+
(0, inversify_1.injectable)()
|
|
105
|
+
], LocationWithoutSchemeMapper);
|
|
106
|
+
/**
|
|
107
|
+
* `file` URI location mapper.
|
|
108
|
+
*/
|
|
109
|
+
let FileLocationMapper = class FileLocationMapper {
|
|
110
|
+
canHandle(location) {
|
|
111
|
+
return location.startsWith('file://') ? 1 : 0;
|
|
112
|
+
}
|
|
113
|
+
async map(location) {
|
|
114
|
+
const uri = new uri_1.default(location);
|
|
115
|
+
if (uri.scheme !== 'file') {
|
|
116
|
+
throw new Error(`Only URIs with 'file' scheme can be mapped to an URL. URI was: ${uri}.`);
|
|
117
|
+
}
|
|
118
|
+
let rawLocation = uri.path.toString();
|
|
119
|
+
if (rawLocation.charAt(0) === '/') {
|
|
120
|
+
rawLocation = rawLocation.substring(1);
|
|
121
|
+
}
|
|
122
|
+
return this.miniBrowserEnvironment.getRandomEndpoint().getRestUrl().resolve(rawLocation).toString();
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
exports.FileLocationMapper = FileLocationMapper;
|
|
126
|
+
tslib_1.__decorate([
|
|
127
|
+
(0, inversify_1.inject)(mini_browser_environment_1.MiniBrowserEnvironment),
|
|
128
|
+
tslib_1.__metadata("design:type", mini_browser_environment_1.MiniBrowserEnvironment)
|
|
129
|
+
], FileLocationMapper.prototype, "miniBrowserEnvironment", void 0);
|
|
130
|
+
exports.FileLocationMapper = FileLocationMapper = tslib_1.__decorate([
|
|
131
|
+
(0, inversify_1.injectable)()
|
|
132
|
+
], FileLocationMapper);
|
|
133
|
+
//# sourceMappingURL=location-mapper-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"location-mapper-service.js","sourceRoot":"","sources":["../../src/browser/location-mapper-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare namespace MiniBrowserContentStyle {
|
|
2
|
+
const MINI_BROWSER = "theia-mini-browser";
|
|
3
|
+
const TOOLBAR = "theia-mini-browser-toolbar";
|
|
4
|
+
const TOOLBAR_READ_ONLY = "theia-mini-browser-toolbar-read-only";
|
|
5
|
+
const PRE_LOAD = "theia-mini-browser-load-indicator";
|
|
6
|
+
const FADE_OUT = "theia-fade-out";
|
|
7
|
+
const CONTENT_AREA = "theia-mini-browser-content-area";
|
|
8
|
+
const PDF_CONTAINER = "theia-mini-browser-pdf-container";
|
|
9
|
+
const PREVIOUS = "theia-mini-browser-previous";
|
|
10
|
+
const NEXT = "theia-mini-browser-next";
|
|
11
|
+
const REFRESH = "theia-mini-browser-refresh";
|
|
12
|
+
const OPEN = "theia-mini-browser-open";
|
|
13
|
+
const BUTTON = "theia-mini-browser-button";
|
|
14
|
+
const DISABLED = "theia-mini-browser-button-disabled";
|
|
15
|
+
const TRANSPARENT_OVERLAY = "theia-transparent-overlay";
|
|
16
|
+
const ERROR_BAR = "theia-mini-browser-error-bar";
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=mini-browser-content-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-content-style.d.ts","sourceRoot":"","sources":["../../src/browser/mini-browser-content-style.ts"],"names":[],"mappings":"AAeA,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,YAAY,uBAAuB,CAAC;IAC1C,MAAM,OAAO,+BAA+B,CAAC;IAC7C,MAAM,iBAAiB,yCAAyC,CAAC;IACjE,MAAM,QAAQ,sCAAsC,CAAC;IACrD,MAAM,QAAQ,mBAAmB,CAAC;IAClC,MAAM,YAAY,oCAAoC,CAAC;IACvD,MAAM,aAAa,qCAAqC,CAAC;IACzD,MAAM,QAAQ,gCAAgC,CAAC;IAC/C,MAAM,IAAI,4BAA4B,CAAC;IACvC,MAAM,OAAO,+BAA+B,CAAC;IAC7C,MAAM,IAAI,4BAA4B,CAAC;IACvC,MAAM,MAAM,8BAA8B,CAAC;IAC3C,MAAM,QAAQ,uCAAuC,CAAC;IACtD,MAAM,mBAAmB,8BAA8B,CAAC;IACxD,MAAM,SAAS,iCAAiC,CAAC;CAC3D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MiniBrowserContentStyle = void 0;
|
|
4
|
+
// *****************************************************************************
|
|
5
|
+
// Copyright (C) 2019 TypeFox and others.
|
|
6
|
+
//
|
|
7
|
+
// This program and the accompanying materials are made available under the
|
|
8
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
//
|
|
11
|
+
// This Source Code may also be made available under the following Secondary
|
|
12
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
// with the GNU Classpath Exception which is available at
|
|
15
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
//
|
|
17
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
|
+
// *****************************************************************************
|
|
19
|
+
var MiniBrowserContentStyle;
|
|
20
|
+
(function (MiniBrowserContentStyle) {
|
|
21
|
+
MiniBrowserContentStyle.MINI_BROWSER = 'theia-mini-browser';
|
|
22
|
+
MiniBrowserContentStyle.TOOLBAR = 'theia-mini-browser-toolbar';
|
|
23
|
+
MiniBrowserContentStyle.TOOLBAR_READ_ONLY = 'theia-mini-browser-toolbar-read-only';
|
|
24
|
+
MiniBrowserContentStyle.PRE_LOAD = 'theia-mini-browser-load-indicator';
|
|
25
|
+
MiniBrowserContentStyle.FADE_OUT = 'theia-fade-out';
|
|
26
|
+
MiniBrowserContentStyle.CONTENT_AREA = 'theia-mini-browser-content-area';
|
|
27
|
+
MiniBrowserContentStyle.PDF_CONTAINER = 'theia-mini-browser-pdf-container';
|
|
28
|
+
MiniBrowserContentStyle.PREVIOUS = 'theia-mini-browser-previous';
|
|
29
|
+
MiniBrowserContentStyle.NEXT = 'theia-mini-browser-next';
|
|
30
|
+
MiniBrowserContentStyle.REFRESH = 'theia-mini-browser-refresh';
|
|
31
|
+
MiniBrowserContentStyle.OPEN = 'theia-mini-browser-open';
|
|
32
|
+
MiniBrowserContentStyle.BUTTON = 'theia-mini-browser-button';
|
|
33
|
+
MiniBrowserContentStyle.DISABLED = 'theia-mini-browser-button-disabled';
|
|
34
|
+
MiniBrowserContentStyle.TRANSPARENT_OVERLAY = 'theia-transparent-overlay';
|
|
35
|
+
MiniBrowserContentStyle.ERROR_BAR = 'theia-mini-browser-error-bar';
|
|
36
|
+
})(MiniBrowserContentStyle || (exports.MiniBrowserContentStyle = MiniBrowserContentStyle = {}));
|
|
37
|
+
//# sourceMappingURL=mini-browser-content-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-content-style.js","sourceRoot":"","sources":["../../src/browser/mini-browser-content-style.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,IAAiB,uBAAuB,CAgBvC;AAhBD,WAAiB,uBAAuB;IACvB,oCAAY,GAAG,oBAAoB,CAAC;IACpC,+BAAO,GAAG,4BAA4B,CAAC;IACvC,yCAAiB,GAAG,sCAAsC,CAAC;IAC3D,gCAAQ,GAAG,mCAAmC,CAAC;IAC/C,gCAAQ,GAAG,gBAAgB,CAAC;IAC5B,oCAAY,GAAG,iCAAiC,CAAC;IACjD,qCAAa,GAAG,kCAAkC,CAAC;IACnD,gCAAQ,GAAG,6BAA6B,CAAC;IACzC,4BAAI,GAAG,yBAAyB,CAAC;IACjC,+BAAO,GAAG,4BAA4B,CAAC;IACvC,4BAAI,GAAG,yBAAyB,CAAC;IACjC,8BAAM,GAAG,2BAA2B,CAAC;IACrC,gCAAQ,GAAG,oCAAoC,CAAC;IAChD,2CAAmB,GAAG,2BAA2B,CAAC;IAClD,iCAAS,GAAG,8BAA8B,CAAC;AAC5D,CAAC,EAhBgB,uBAAuB,uCAAvB,uBAAuB,QAgBvC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { Message } from '@theia/core/shared/@lumino/messaging';
|
|
2
|
+
import { ILogger } from '@theia/core/lib/common/logger';
|
|
3
|
+
import { Emitter } from '@theia/core/lib/common/event';
|
|
4
|
+
import { KeybindingRegistry } from '@theia/core/lib/browser/keybinding';
|
|
5
|
+
import { WindowService } from '@theia/core/lib/browser/window/window-service';
|
|
6
|
+
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
7
|
+
import { BaseWidget } from '@theia/core/lib/browser/widgets/widget';
|
|
8
|
+
import { LocationMapperService } from './location-mapper-service';
|
|
9
|
+
import { ApplicationShellMouseTracker } from '@theia/core/lib/browser/shell/application-shell-mouse-tracker';
|
|
10
|
+
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
11
|
+
/**
|
|
12
|
+
* Initializer properties for the embedded browser widget.
|
|
13
|
+
*/
|
|
14
|
+
export declare class MiniBrowserProps {
|
|
15
|
+
/**
|
|
16
|
+
* `show` if the toolbar should be visible. If `read-only`, the toolbar is visible but the address cannot be changed and it acts as a link instead.\
|
|
17
|
+
* `hide` if the toolbar should be hidden. `show` by default. If the `startPage` is not defined, this property is always `show`.
|
|
18
|
+
*/
|
|
19
|
+
readonly toolbar?: 'show' | 'hide' | 'read-only';
|
|
20
|
+
/**
|
|
21
|
+
* If defined, the browser will load this page on startup. Otherwise, it show a blank page.
|
|
22
|
+
*/
|
|
23
|
+
readonly startPage?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Sandbox options for the underlying `iframe`. Defaults to `SandboxOptions#DEFAULT` if not provided.
|
|
26
|
+
*/
|
|
27
|
+
readonly sandbox?: MiniBrowserProps.SandboxOptions[];
|
|
28
|
+
/**
|
|
29
|
+
* The optional icon class for the widget.
|
|
30
|
+
*/
|
|
31
|
+
readonly iconClass?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The desired name of the widget.
|
|
34
|
+
*/
|
|
35
|
+
readonly name?: string;
|
|
36
|
+
/**
|
|
37
|
+
* `true` if the `iFrame`'s background has to be reset to the default white color. Otherwise, `false`. `false` is the default.
|
|
38
|
+
*/
|
|
39
|
+
readonly resetBackground?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare namespace MiniBrowserProps {
|
|
42
|
+
/**
|
|
43
|
+
* Enumeration of the supported `sandbox` options for the `iframe`.
|
|
44
|
+
*/
|
|
45
|
+
enum SandboxOptions {
|
|
46
|
+
/**
|
|
47
|
+
* Allows form submissions.
|
|
48
|
+
*/
|
|
49
|
+
'allow-forms' = 0,
|
|
50
|
+
/**
|
|
51
|
+
* Allows popups, such as `window.open()`, `showModalDialog()`, `target=”_blank”`, etc.
|
|
52
|
+
*/
|
|
53
|
+
'allow-popups' = 1,
|
|
54
|
+
/**
|
|
55
|
+
* Allows pointer lock.
|
|
56
|
+
*/
|
|
57
|
+
'allow-pointer-lock' = 2,
|
|
58
|
+
/**
|
|
59
|
+
* Allows the document to maintain its origin. Pages loaded from https://example.com/ will retain access to that origin’s data.
|
|
60
|
+
*/
|
|
61
|
+
'allow-same-origin' = 3,
|
|
62
|
+
/**
|
|
63
|
+
* Allows JavaScript execution. Also allows features to trigger automatically (as they’d be trivial to implement via JavaScript).
|
|
64
|
+
*/
|
|
65
|
+
'allow-scripts' = 4,
|
|
66
|
+
/**
|
|
67
|
+
* Allows the document to break out of the frame by navigating the top-level `window`.
|
|
68
|
+
*/
|
|
69
|
+
'allow-top-navigation' = 5,
|
|
70
|
+
/**
|
|
71
|
+
* Allows the embedded browsing context to open modal windows.
|
|
72
|
+
*/
|
|
73
|
+
'allow-modals' = 6,
|
|
74
|
+
/**
|
|
75
|
+
* Allows the embedded browsing context to disable the ability to lock the screen orientation.
|
|
76
|
+
*/
|
|
77
|
+
'allow-orientation-lock' = 7,
|
|
78
|
+
/**
|
|
79
|
+
* Allows a sandboxed document to open new windows without forcing the sandboxing flags upon them.
|
|
80
|
+
* This will allow, for example, a third-party advertisement to be safely sandboxed without forcing the same restrictions upon a landing page.
|
|
81
|
+
*/
|
|
82
|
+
'allow-popups-to-escape-sandbox' = 8,
|
|
83
|
+
/**
|
|
84
|
+
* Allows embedders to have control over whether an iframe can start a presentation session.
|
|
85
|
+
*/
|
|
86
|
+
'allow-presentation' = 9,
|
|
87
|
+
/**
|
|
88
|
+
* Allows the embedded browsing context to navigate (load) content to the top-level browsing context only when initiated by a user gesture.
|
|
89
|
+
* If this keyword is not used, this operation is not allowed.
|
|
90
|
+
*/
|
|
91
|
+
'allow-top-navigation-by-user-activation' = 10
|
|
92
|
+
}
|
|
93
|
+
namespace SandboxOptions {
|
|
94
|
+
/**
|
|
95
|
+
* The default `sandbox` options, if other is not provided.
|
|
96
|
+
*
|
|
97
|
+
* See: https://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/
|
|
98
|
+
*/
|
|
99
|
+
const DEFAULT: SandboxOptions[];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export declare const MiniBrowserContentFactory: unique symbol;
|
|
103
|
+
export type MiniBrowserContentFactory = (props: MiniBrowserProps) => MiniBrowserContent;
|
|
104
|
+
export declare class MiniBrowserContent extends BaseWidget {
|
|
105
|
+
protected readonly props: MiniBrowserProps;
|
|
106
|
+
protected readonly logger: ILogger;
|
|
107
|
+
protected readonly windowService: WindowService;
|
|
108
|
+
protected readonly locationMapper: LocationMapperService;
|
|
109
|
+
protected readonly keybindings: KeybindingRegistry;
|
|
110
|
+
protected readonly mouseTracker: ApplicationShellMouseTracker;
|
|
111
|
+
protected readonly fileService: FileService;
|
|
112
|
+
protected readonly submitInputEmitter: Emitter<string>;
|
|
113
|
+
protected readonly navigateBackEmitter: Emitter<void>;
|
|
114
|
+
protected readonly navigateForwardEmitter: Emitter<void>;
|
|
115
|
+
protected readonly refreshEmitter: Emitter<void>;
|
|
116
|
+
protected readonly openEmitter: Emitter<void>;
|
|
117
|
+
protected readonly input: HTMLInputElement;
|
|
118
|
+
protected readonly loadIndicator: HTMLElement;
|
|
119
|
+
protected readonly errorBar: HTMLElement & Readonly<{
|
|
120
|
+
message: HTMLElement;
|
|
121
|
+
}>;
|
|
122
|
+
protected readonly frame: HTMLIFrameElement;
|
|
123
|
+
protected readonly transparentOverlay: HTMLElement;
|
|
124
|
+
protected readonly pdfContainer: HTMLElement;
|
|
125
|
+
protected frameLoadTimeout: number;
|
|
126
|
+
protected readonly initialHistoryLength: number;
|
|
127
|
+
protected readonly toDisposeOnGo: DisposableCollection;
|
|
128
|
+
constructor(props: MiniBrowserProps);
|
|
129
|
+
protected init(): void;
|
|
130
|
+
protected onActivateRequest(msg: Message): void;
|
|
131
|
+
protected listenOnContentChange(location: string): Promise<void>;
|
|
132
|
+
protected createToolbar(parent: HTMLElement): HTMLDivElement & Readonly<{
|
|
133
|
+
input: HTMLInputElement;
|
|
134
|
+
}>;
|
|
135
|
+
protected getToolbarProps(): 'show' | 'hide' | 'read-only';
|
|
136
|
+
protected createContentArea(parent: HTMLElement): HTMLElement & Readonly<{
|
|
137
|
+
frame: HTMLIFrameElement;
|
|
138
|
+
loadIndicator: HTMLElement;
|
|
139
|
+
errorBar: HTMLElement & Readonly<{
|
|
140
|
+
message: HTMLElement;
|
|
141
|
+
}>;
|
|
142
|
+
pdfContainer: HTMLElement;
|
|
143
|
+
transparentOverlay: HTMLElement;
|
|
144
|
+
}>;
|
|
145
|
+
protected createIFrame(): HTMLIFrameElement;
|
|
146
|
+
protected createErrorBar(): HTMLElement & Readonly<{
|
|
147
|
+
message: HTMLElement;
|
|
148
|
+
}>;
|
|
149
|
+
protected onFrameLoad(): void;
|
|
150
|
+
protected onFrameError(): void;
|
|
151
|
+
protected onFrameTimeout(): void;
|
|
152
|
+
protected showLoadIndicator(): void;
|
|
153
|
+
protected hideLoadIndicator(): void;
|
|
154
|
+
protected showErrorBar(message: string): void;
|
|
155
|
+
protected hideErrorBar(): void;
|
|
156
|
+
protected maybeResetBackground(): void;
|
|
157
|
+
protected handleBack(): void;
|
|
158
|
+
protected handleForward(): void;
|
|
159
|
+
protected handleRefresh(): void;
|
|
160
|
+
protected handleOpen(): void;
|
|
161
|
+
protected createInput(parent: HTMLElement): HTMLInputElement;
|
|
162
|
+
protected handleInputChange(e: KeyboardEvent): void;
|
|
163
|
+
protected createPrevious(parent: HTMLElement): HTMLElement;
|
|
164
|
+
protected createNext(parent: HTMLElement): HTMLElement;
|
|
165
|
+
protected createRefresh(parent: HTMLElement): HTMLElement;
|
|
166
|
+
protected createOpen(parent: HTMLElement): HTMLElement;
|
|
167
|
+
protected createButton(parent: HTMLElement, title: string, ...className: string[]): HTMLElement;
|
|
168
|
+
protected onClick(element: HTMLElement, emitter: Emitter<any>): HTMLElement;
|
|
169
|
+
protected mapLocation(location: string): Promise<string>;
|
|
170
|
+
protected setInput(value: string): void;
|
|
171
|
+
protected frameSrc(): string;
|
|
172
|
+
protected contentDocument(): Document | null;
|
|
173
|
+
protected go(location: string, options?: Partial<{
|
|
174
|
+
showLoadIndicator: boolean;
|
|
175
|
+
preserveFocus: boolean;
|
|
176
|
+
}>): Promise<void>;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=mini-browser-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mini-browser-content.d.ts","sourceRoot":"","sources":["../../src/browser/mini-browser-content.ts"],"names":[],"mappings":"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"}
|