Fixes relative timezone bug #18133 for Chromium reports (#23652)

This commit is contained in:
Chris Davies 2018-10-02 14:09:54 -04:00 committed by GitHub
parent e9d23f64f7
commit f74b4bfdac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 5 deletions

View file

@ -32,9 +32,9 @@ function generatePdfObservableFn(server) {
const screenshotsObservable = screenshotsObservableFactory(server);
const captureConcurrency = 1;
const urlScreenshotsObservable = (urls, headers, layout) => {
const urlScreenshotsObservable = (urls, headers, layout, browserTimezone) => {
return Rx.from(urls).pipe(
mergeMap(url => screenshotsObservable(url, headers, layout),
mergeMap(url => screenshotsObservable(url, headers, layout, browserTimezone),
(outer, inner) => inner,
captureConcurrency
)
@ -70,7 +70,7 @@ function generatePdfObservableFn(server) {
const layout = createLayout(server, layoutParams);
const screenshots$ = urlScreenshotsObservable(urls, headers, layout);
const screenshots$ = urlScreenshotsObservable(urls, headers, layout, browserTimezone);
return screenshots$.pipe(
toArray(),

View file

@ -223,7 +223,7 @@ export function screenshotsObservableFactory(server) {
return screenshots;
};
return function screenshotsObservable(url, headers, layout) {
return function screenshotsObservable(url, headers, layout, browserTimezone) {
return Rx.defer(async () => await getPort()).pipe(
mergeMap(bridgePort => {
@ -233,6 +233,7 @@ export function screenshotsObservableFactory(server) {
viewport: layout.getBrowserViewport(),
zoom: layout.getBrowserZoom(),
logger,
browserTimezone,
});
}),
tap(() => logger.debug('Driver factory created')),

View file

@ -27,7 +27,7 @@ export class HeadlessChromiumDriverFactory {
type = 'chromium';
create({ viewport }) {
create({ viewport, browserTimezone }) {
return Rx.Observable.create(async observer => {
const userDataDir = fs.mkdtempSync(path.join(os.tmpdir(), 'chromium-'));
const chromiumArgs = args({
@ -46,6 +46,9 @@ export class HeadlessChromiumDriverFactory {
executablePath: this.binaryPath,
ignoreHTTPSErrors: true,
args: chromiumArgs,
env: {
TZ: browserTimezone
},
});
page = await chromium.newPage();