build: upgrade Chromium and ChromeDriver to latest versions (#25602)

PR Close #25602
This commit is contained in:
George Kalpakas 2018-08-22 19:17:59 +03:00 committed by Matias Niemelä
parent efb453cb73
commit 18f129f536
7 changed files with 19 additions and 24 deletions

View File

@ -1515,7 +1515,7 @@ export function elementStyling<T>(
*
* This method lazily creates the `StylingContext`. This is because in most cases
* we have styling without any bindings. Creating `StylingContext` eagerly would mean that
* every style declaration such as `<div style="color: 'red' ">` would result `StyleContext`
* every style declaration such as `<div style="color: red">` would result `StyleContext`
* which would create unnecessary memory pressure.
*
* @param index Index of the style allocation. See: `elementStyling`.

View File

@ -6,9 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
import {browserDetection} from '@angular/platform-browser/testing/src/browser_util';
import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, Directive, HostBinding, HostListener, Injectable, Input, NgModule, OnDestroy, Optional, Pipe, PipeTransform, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewChildren, ViewContainerRef} from '../../../src/core';
import {Component} from '../../../src/core';
import * as $r3$ from '../../../src/core_render3_private_export';
import {AttributeMarker} from '../../../src/render3';
import {ComponentDefInternal, InitialStylingFlags} from '../../../src/render3/interfaces/definition';
@ -353,20 +351,12 @@ describe('elements', () => {
}
const comp = renderComponent(MyComponent);
if (browserDetection.isIE) {
expect(toHtml(comp)).toEqual('<div style="width: 50px; color: red;"></div>');
} else {
expect(toHtml(comp)).toEqual('<div style="color: red; width: 50px;"></div>');
}
comp.someColor = 'blue';
comp.someWidth = 100;
$r3$.ɵdetectChanges(comp);
if (browserDetection.isIE) {
expect(toHtml(comp)).toEqual('<div style="width: 100px; color: blue;"></div>');
} else {
expect(toHtml(comp)).toEqual('<div style="color: blue; width: 100px;"></div>');
}
});
it('should bind to many and keep order', () => {

View File

@ -244,7 +244,7 @@ describe('instructions', () => {
elementStylingMap(0, null, {'background-color': 'red'});
elementStylingApply(0);
});
expect(fixture.html).toEqual('<div style="height: 10px; background-color: red;"></div>');
expect(fixture.html).toEqual('<div style="background-color: red; height: 10px;"></div>');
});
it('should sanitize new styles that may contain `url` properties', () => {

View File

@ -168,11 +168,11 @@ describe('styling', () => {
expect(renderToHtml(
Template, {myStyles: {width: '200px', height: '200px'}, myWidth: '300px'}, 1))
.toEqual('<span style="width: 300px; height: 200px; opacity: 0.5;"></span>');
.toEqual('<span style="height: 200px; opacity: 0.5; width: 300px;"></span>');
expect(
renderToHtml(Template, {myStyles: {width: '200px', height: null}, myWidth: null}, 1))
.toEqual('<span style="width: 200px; height: 100px; opacity: 0.5;"></span>');
.toEqual('<span style="height: 100px; opacity: 0.5; width: 200px;"></span>');
});
});

View File

@ -100,14 +100,19 @@ export function stringifyElement(el: any /** TODO #9100 */): string {
// Attributes in an ordered way
const attributeMap = getDOM().attributeMap(el);
const keys: string[] = Array.from(attributeMap.keys()).sort();
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
const attValue = attributeMap.get(key);
const sortedKeys = Array.from(attributeMap.keys()).sort();
for (const key of sortedKeys) {
const lowerCaseKey = key.toLowerCase();
let attValue = attributeMap.get(key);
if (typeof attValue !== 'string') {
result += ` ${lowerCaseKey}`;
} else {
// Browsers order style rules differently. Order them alphabetically for consistency.
if (lowerCaseKey === 'style') {
attValue = attValue.split(/; ?/).filter(s => !!s).sort().map(s => `${s};`).join(' ');
}
result += ` ${lowerCaseKey}="${attValue}"`;
}
}

View File

@ -38,8 +38,8 @@ setEnvVar NODE_VERSION 8.9.1
setEnvVar YARN_VERSION 1.3.2
# Pin to a Chromium version that does not cause the aio e2e tests to flake. (See https://github.com/angular/angular/pull/20403.)
# Revision 494239 (which was part of Chrome 62.0.3186.0) is the last version that does not cause flakes. (Latest revision checked: 508578)
setEnvVar CHROMIUM_VERSION 494239 # Chrome 62 linux stable, see https://www.chromium.org/developers/calendar
setEnvVar CHROMEDRIVER_VERSION_ARG "--versions.chrome 2.33"
setEnvVar CHROMIUM_VERSION 561733 # Chrome 68 linux stable, see https://www.chromium.org/developers/calendar
setEnvVar CHROMEDRIVER_VERSION_ARG "--versions.chrome 2.41"
setEnvVar SAUCE_CONNECT_VERSION 4.4.9
setEnvVar ANGULAR_CLI_VERSION 1.6.3
setEnvVar PROJECT_ROOT $(cd ${thisDir}/../..; pwd)

View File

@ -80,5 +80,5 @@ if [[ "$EXISTING_VERSION" != "$CHROMIUM_VERSION" ]]; then
fi
if [[ "$CHROMIUM_VERSION" != "$LATEST_CHROMIUM_VERSION" ]]; then
echo "New version of Chromium available. Update install-chromium.sh with build number: ${LATEST_CHROMIUM_VERSION}"
echo "New version of Chromium available. Update 'scripts/ci/env.sh' with build number: $LATEST_CHROMIUM_VERSION"
fi