diff --git a/WATCHLISTS b/WATCHLISTS index 8fcd7326..fcbd1bc 100644 --- a/WATCHLISTS +++ b/WATCHLISTS
@@ -43,7 +43,7 @@ }, 'android_infra': { 'filepath': 'build/config/android/' \ - 'build/android/' \ + '|build/android/' \ '|testing/android/' \ '|tools/android/' },
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java index 990b02e5..296f5f8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
@@ -38,9 +38,7 @@ * saving, to view saved passwords (just the username and URL), and to delete saved passwords. */ public class SavePasswordsPreferences extends PreferenceFragment - implements OnPreferenceChangeListener, PasswordListObserver, - Preference.OnPreferenceClickListener { - + implements PasswordListObserver, Preference.OnPreferenceClickListener { // Keys for name/password dictionaries. public static final String PASSWORD_LIST_URL = "url"; public static final String PASSWORD_LIST_NAME = "name"; @@ -114,12 +112,6 @@ } @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - rebuildPasswordLists(); - return true; - } - - @Override public void onDetach() { super.onDetach(); ReauthenticationManager.setLastReauthTimeMillis(0);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/media/router/MediaRouterIntegrationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/media/router/MediaRouterIntegrationTest.java index 43b7396..8140f0a 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/media/router/MediaRouterIntegrationTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/media/router/MediaRouterIntegrationTest.java
@@ -296,6 +296,7 @@ @Restriction({UiRestriction.RESTRICTION_TYPE_PHONE, RESTRICTION_TYPE_NON_LOW_END_DEVICE}) @Feature({"MediaRouter"}) @LargeTest + @RetryOnFailure public void testFailCreateRoute() throws InterruptedException, TimeoutException { MockMediaRouteProvider.Factory.sProvider.setCreateRouteErrorMessage("Unknown sink"); mActivityTestRule.loadUrl(mTestServer.getURL(TEST_PAGE));
diff --git a/chrome/browser/resources/local_ntp/local_ntp.css b/chrome/browser/resources/local_ntp/local_ntp.css index 20430ad..590792ad 100644 --- a/chrome/browser/resources/local_ntp/local_ntp.css +++ b/chrome/browser/resources/local_ntp/local_ntp.css
@@ -11,6 +11,11 @@ /* We add an extra pixel because rounding errors on different zooms can * make the width shorter than it should be. */ + 1px); + + --logo-height: 200px; /* Normal height of a doodle. */ + --logo-margin-top: 56px; /* Expected OGB height, so logo doesn't overlap. */ + --logo-margin-bottom: 24px; /* Between logo and fakebox. */ + --tile-height: 128px; --tile-margin: 16px; --tile-width: 154px; @@ -69,9 +74,11 @@ display: flex; flex-direction: column; height: 100%; - margin: 0 auto; - text-align: -webkit-center; - width: var(--content-width); +} + +#logo, +#fakebox-container { + flex-shrink: 0; } .non-google-page #ntp-contents { @@ -83,14 +90,10 @@ visibility: hidden; } -#search { - margin: 0 calc(var(--tile-margin) / 2); - width: calc(100% - var(--tile-margin)); -} - #logo { - height: 249px; - margin-bottom: 24px; + height: calc(var(--logo-height) + var(--logo-margin-bottom)); + margin-top: var(--logo-margin-top); + min-height: fit-content; position: relative; } @@ -99,12 +102,6 @@ } #logo-default, -#logo-non-white, -#logo-doodle { - position: absolute; -} - -#logo-default, #logo-doodle { opacity: 0; visibility: hidden; @@ -135,9 +132,10 @@ #logo-non-white { background-image: url(../../../../ui/webui/resources/images/google_logo.svg); background-repeat: no-repeat; + bottom: var(--logo-margin-bottom); height: 92px; left: calc(50% - 272px/2); - top: 157px; + position: absolute; width: 272px; } @@ -159,19 +157,13 @@ display: none; } -#logo-doodle { - /* Normally, logos are aligned with tiles and bounded to their left and right - * edges. Doodles may be larger than this. In order that they are centered and - * cropped, instead of left-aligned, give them 100px of extra space on the - * left and the right side. - */ - left: -100px; - right: -100px; - top: 44px; -} - #logo-doodle-button { + /* An image logo is allowed to spill into the margin below, so it's not a + * real bottom margin. If the image extends further than that margin, it + * is cropped. */ margin: 0 auto; + max-height: calc(var(--logo-height) + var(--logo-margin-bottom)); + overflow: hidden; } .non-white-bg #logo-doodle-button, @@ -181,8 +173,9 @@ #logo-doodle-iframe { border: 0; - height: 228px; - width: 100%; + height: var(--logo-height); + margin: 0 auto var(--logo-margin-bottom) auto; + width: var(--content-width); } #logo-doodle-notifier { @@ -194,9 +187,9 @@ cursor: pointer; display: inline-block; height: 24px; - left: 148px; + left: calc(50% + 148px); padding: 0; - position: relative; + position: absolute; top: 100px; width: 24px; } @@ -259,6 +252,11 @@ 0deg, rgb(255, 170, 51), rgb(255, 204, 0), rgb(255, 221, 102)); } +#fakebox-container { + margin: 0 auto 8px auto; + width: var(--content-width); +} + #fakebox { background-color: #fff; border-radius: 2px; @@ -267,14 +265,13 @@ font-size: 18px; height: 44px; line-height: 36px; - margin-bottom: 8px; - max-width: 672px; + margin: 0 calc(var(--tile-margin) / 2 + 1px) 0 calc(var(--tile-margin) / 2); outline: none; position: relative; transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1); } -.non-google-page #fakebox { +.non-google-page #fakebox-container { display: none; } @@ -400,6 +397,7 @@ max-height: calc(100% - var(--mv-notice-height)); position: relative; text-align: -webkit-auto; + width: var(--content-width); } #mv-notice-x {
diff --git a/chrome/browser/resources/local_ntp/local_ntp.html b/chrome/browser/resources/local_ntp/local_ntp.html index 7d1111c5..e11e189 100644 --- a/chrome/browser/resources/local_ntp/local_ntp.html +++ b/chrome/browser/resources/local_ntp/local_ntp.html
@@ -23,28 +23,28 @@ <div id="one-google" class="hidden"></div> <div id="ntp-contents"> - <div id="search"> - <!-- Container for the logo, whether default or doodle. --> - <div id="logo"> - <!-- The logo that is displayed in the absence of a doodle. --> - <div id="logo-default" title="Google"></div> - <!-- Logo displayed when theme prevents doodles. Doesn't fade. --> - <div id="logo-non-white" title="Google"></div> - <!-- A doodle, if any: its link and image. --> - <div id="logo-doodle"> - <button id="logo-doodle-button"> - <img id="logo-doodle-image"></img> - </button> - <iframe id="logo-doodle-iframe"></iframe> - <!-- A spinner, visible on dark-themed NTPs, prompting the doodle --> - <button id="logo-doodle-notifier"> - <div class="outer ball0"><div class="inner"></div></div> - <div class="outer ball1"><div class="inner"></div></div> - <div class="outer ball2"><div class="inner"></div></div> - <div class="outer ball3"><div class="inner"></div></div> - </button> - </div> + <div id="logo"> + <!-- The logo that is displayed in the absence of a doodle. --> + <div id="logo-default" title="Google"></div> + <!-- Logo displayed when theme prevents doodles. Doesn't fade. --> + <div id="logo-non-white" title="Google"></div> + <!-- A doodle, if any: its link and image. --> + <div id="logo-doodle"> + <button id="logo-doodle-button"> + <img id="logo-doodle-image"></img> + </button> + <iframe id="logo-doodle-iframe"></iframe> + <!-- A spinner, visible on dark-themed NTPs, prompting the doodle --> + <button id="logo-doodle-notifier"> + <div class="outer ball0"><div class="inner"></div></div> + <div class="outer ball1"><div class="inner"></div></div> + <div class="outer ball2"><div class="inner"></div></div> + <div class="outer ball3"><div class="inner"></div></div> + </button> </div> + </div> + + <div id="fakebox-container"> <div id="fakebox"> <div id="fakebox-text"></div> <input id="fakebox-input" autocomplete="off" tabindex="-1" type="url" @@ -53,6 +53,7 @@ <button id="fakebox-microphone" hidden></button> </div> </div> + <div id="most-visited"> <!-- The container for the tiles. The MV iframe goes in here. --> <div id="mv-tiles"></div>
diff --git a/chrome/browser/resources/local_ntp/local_ntp.js b/chrome/browser/resources/local_ntp/local_ntp.js index 40e87bae..d2f77c0 100644 --- a/chrome/browser/resources/local_ntp/local_ntp.js +++ b/chrome/browser/resources/local_ntp/local_ntp.js
@@ -535,7 +535,7 @@ function handlePostMessage(event) { var cmd = event.data.cmd; var args = event.data; - if (cmd == 'loaded') { + if (cmd === 'loaded') { tilesAreLoaded = true; if (configData.isGooglePage && !$('one-google-loader')) { // Load the OneGoogleBar script. It'll create a global variable name "og" @@ -550,11 +550,19 @@ injectOneGoogleBar(og); }; } - } else if (cmd == 'tileBlacklisted') { + } else if (cmd === 'tileBlacklisted') { showNotification(); lastBlacklistedTile = args.tid; ntpApiHandle.deleteMostVisitedItem(args.tid); + } else if (cmd === 'resizeDoodle') { + let width = args.width || null; + let height = args.height || null; + let duration = args.duration || '0s'; + let iframe = $(IDS.LOGO_DOODLE_IFRAME); + iframe.style.transition = 'width ' + duration + ', height ' + duration; + iframe.style.width = width; + iframe.style.height = height; } }
diff --git a/chrome/test/data/local_ntp/local_ntp_browsertest.html b/chrome/test/data/local_ntp/local_ntp_browsertest.html index c5d2118b..d0e3b83 100644 --- a/chrome/test/data/local_ntp/local_ntp_browsertest.html +++ b/chrome/test/data/local_ntp/local_ntp_browsertest.html
@@ -14,36 +14,37 @@ <script src="local_ntp_browsertest.js" charset="utf-8"></script> <template id="local-ntp-template"> <div id="ntp-contents"> - <div id="search"> - <!-- Container for the logo, whether default or doodle. --> - <div id="logo"> - <!-- The logo that is displayed in the absence of a doodle. --> - <div id="logo-default" title="Google"></div> - <!-- Logo displayed when theme prevents doodles. Doesn't fade. --> - <div id="logo-non-white" title="Google"></div> - <!-- A doodle, if any: its link and image. --> - <div id="logo-doodle"> - <button id="logo-doodle-button"> - <img id="logo-doodle-image"></img> - </button> - <iframe id="logo-doodle-iframe"></iframe> - <!-- A spinner, visible on dark-themed NTPs, prompting the doodle --> - <button id="logo-doodle-notifier"> - <div class="outer ball0"><div class="inner"></div></div> - <div class="outer ball1"><div class="inner"></div></div> - <div class="outer ball2"><div class="inner"></div></div> - <div class="outer ball3"><div class="inner"></div></div> - </button> - </div> + <div id="logo"> + <!-- The logo that is displayed in the absence of a doodle. --> + <div id="logo-default" title="Google"></div> + <!-- Logo displayed when theme prevents doodles. Doesn't fade. --> + <div id="logo-non-white" title="Google"></div> + <!-- A doodle, if any: its link and image. --> + <div id="logo-doodle"> + <button id="logo-doodle-button"> + <img id="logo-doodle-image"></img> + </button> + <iframe id="logo-doodle-iframe"></iframe> + <!-- A spinner, visible on dark-themed NTPs, prompting the doodle --> + <button id="logo-doodle-notifier"> + <div class="outer ball0"><div class="inner"></div></div> + <div class="outer ball1"><div class="inner"></div></div> + <div class="outer ball2"><div class="inner"></div></div> + <div class="outer ball3"><div class="inner"></div></div> + </button> </div> + </div> + + <div id="fakebox-container"> <div id="fakebox"> <div id="fakebox-text"></div> - <input id="fakebox-input" autocomplete="off" tabIndex="-1" type="url" + <input id="fakebox-input" autocomplete="off" tabindex="-1" type="url" aria-hidden="true"> <div id="fakebox-cursor"></div> <button id="fakebox-microphone" hidden></button> </div> </div> + <div id="most-visited"> <!-- The container for the tiles. The MV iframe goes in here. --> <div id="mv-tiles"></div>
diff --git a/chrome/test/data/local_ntp/voice_browsertest.html b/chrome/test/data/local_ntp/voice_browsertest.html index 4e9acf4..f214ee3 100644 --- a/chrome/test/data/local_ntp/voice_browsertest.html +++ b/chrome/test/data/local_ntp/voice_browsertest.html
@@ -64,7 +64,7 @@ </template> <template id="voice-speech-template"> <div id="ntp-contents"> - <div id="search"> + <div id="fakebox-container"> <div id="fakebox"> <div id="fakebox-text"></div> <input id="fakebox-input" autocomplete="off" tabIndex="-1" type="url"
diff --git a/components/policy/tools/template_writers/template_formatter.py b/components/policy/tools/template_writers/template_formatter.py index 14674396..e64d089 100755 --- a/components/policy/tools/template_writers/template_formatter.py +++ b/components/policy/tools/template_writers/template_formatter.py
@@ -11,6 +11,7 @@ import collections import optparse import os +import re import sys import writer_configuration @@ -40,25 +41,27 @@ is_per_language: Whether one file per language should be emitted. encoding: Encoding of the output file. language_map: Optional language mapping for file paths. + force_windows_line_ending: Forces output file to use Windows line ending. ''' WriterDesc = collections.namedtuple( - 'WriterDesc', ['type', 'is_per_language', 'encoding', 'language_map']) + 'WriterDesc', ['type', 'is_per_language', 'encoding', 'language_map', + 'force_windows_line_ending']) _WRITER_DESCS = [ - WriterDesc('adm', True, 'utf-16', None), - WriterDesc('adml', True, 'utf-16', None), - WriterDesc('admx', False, 'utf-16', None), - WriterDesc('google_adml', True, 'utf-8', None), - WriterDesc('google_admx', False, 'utf-8', None), - WriterDesc('chromeos_adml', True, 'utf-8', None), - WriterDesc('chromeos_admx', False, 'utf-8', None), - WriterDesc('android_policy', False, 'utf-8', None), - WriterDesc('reg', False, 'utf-16', None), - WriterDesc('doc', True, 'utf-8', None), - WriterDesc('json', False, 'utf-8', None), - WriterDesc('plist', False, 'utf-8', None), - WriterDesc('plist_strings', True, 'utf-8', MacLanguageMap) + WriterDesc('adm', True, 'utf-16', None, True), + WriterDesc('adml', True, 'utf-16', None, True), + WriterDesc('admx', False, 'utf-16', None, True), + WriterDesc('google_adml', True, 'utf-8', None, True), + WriterDesc('google_admx', False, 'utf-8', None, True), + WriterDesc('chromeos_adml', True, 'utf-8', None, True), + WriterDesc('chromeos_admx', False, 'utf-8', None, True), + WriterDesc('android_policy', False, 'utf-8', None, False), + WriterDesc('reg', False, 'utf-16', None, False), + WriterDesc('doc', True, 'utf-8', None, False), + WriterDesc('json', False, 'utf-8', None, False), + WriterDesc('plist', False, 'utf-8', None, False), + WriterDesc('plist_strings', True, 'utf-8', MacLanguageMap, False) ] @@ -198,6 +201,11 @@ # Run the template writer on th policy data. writer = GetWriter(writer_desc.type, config) output_data = policy_generator.GetTemplateText(writer) + # Make sure the file uses Windows line endings if needed. This is + # important here because codecs.open() opens files in binary more and + # will not do line ending conversion. + if writer_desc.force_windows_line_ending: + output_data = re.sub(r'([^\r])\n', r'\1\r\n', output_data) # Make output directory if it doesn't exist yet. output_dir = os.path.split(output_path)[0]
diff --git a/headless/README.md b/headless/README.md index 4a909f1..bad3f074 100644 --- a/headless/README.md +++ b/headless/README.md
@@ -136,7 +136,8 @@ * [Deterministic page loading for Blink](https://docs.google.com/document/d/19s2g4fPP9p9qmMZvwPX8uDGbb-39rgR9k56B4B-ueG8/edit#) * [Crash dumps for Headless Chrome](https://docs.google.com/document/d/1l6AGOOBLk99PaAKoZQW_DVhM8FQ6Fut27lD938CRbTM/edit) * [Runtime headless mode for Chrome](https://docs.google.com/document/d/1aIJUzQr3eougZQp90bp4mqGr5gY6hdUice8UPa-Ys90/edit#) -* [Virtual Time in Blink](https://docs.google.com/document/d/1y9kdt_zezt7pbey6uzvt1dgklwc1ob_vy4nzo1zbqmo/edit#heading=h.tn3gd1y9ifml) +* [Virtual Time in + Blink](https://docs.google.com/document/d/1y9KDT_ZEzT7pBeY6uzVt1dgKlwc1OB_vY4NZO1zBQmo/edit?usp=sharing) * [Headless Chrome architecture](https://docs.google.com/document/d/11zIkKkLBocofGgoTeeyibB2TZ_k7nR78v7kNelCatUE/edit) * [Headless Chrome C++ DevTools API](https://docs.google.com/document/d/1rlqcp8nk-ZQvldNJWdbaMbwfDbJoOXvahPCDoPGOwhQ/edit#heading=h.ng2bxb15li9a) * [Session isolation in Headless Chrome](https://docs.google.com/document/d/1XAKvrxtSEoe65vNghSWC5S3kJ--z2Zpt2UWW1Fi8GiM/edit)
diff --git a/ios/chrome/browser/ui/history/history_ui_egtest.mm b/ios/chrome/browser/ui/history/history_ui_egtest.mm index 30d5e91..5d8a969 100644 --- a/ios/chrome/browser/ui/history/history_ui_egtest.mm +++ b/ios/chrome/browser/ui/history/history_ui_egtest.mm
@@ -17,7 +17,6 @@ #import "ios/chrome/browser/ui/authentication/signin_earlgrey_utils.h" #import "ios/chrome/browser/ui/authentication/signin_promo_view.h" #import "ios/chrome/browser/ui/history/history_entry_item.h" -#import "ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_controller.h" #import "ios/chrome/browser/ui/settings/settings_collection_view_controller.h" #include "ios/chrome/browser/ui/tools_menu/public/tools_menu_constants.h" #import "ios/chrome/browser/ui/tools_menu/tools_popup_controller.h" @@ -119,15 +118,6 @@ id<GREYMatcher> CopyUrlButton() { return ButtonWithAccessibilityLabelId(IDS_IOS_CONTENT_CONTEXT_COPY); } -// Matcher for the clear cookies cell on the clear browsing data panel. -id<GREYMatcher> ClearCookiesButton() { - return grey_accessibilityID(kClearCookiesCellId); -} -// Matcher for the clear cache cell on the clear browsing data panel. -id<GREYMatcher> ClearCacheButton() { - return grey_allOf(grey_accessibilityID(kClearCacheCellId), - grey_sufficientlyVisible(), nil); -} // Matcher for the clear browsing data button on the clear browsing data panel. id<GREYMatcher> ClearBrowsingDataButton() { return ButtonWithAccessibilityLabelId(IDS_IOS_CLEAR_BUTTON); @@ -323,9 +313,9 @@ // Uncheck "Cookies, Site Data" and "Cached Images and Files," which are // checked by default, and press "Clear Browsing Data" - [[EarlGrey selectElementWithMatcher:ClearCookiesButton()] + [[EarlGrey selectElementWithMatcher:chrome_test_util::ClearCookiesButton()] performAction:grey_tap()]; - [[EarlGrey selectElementWithMatcher:ClearCacheButton()] + [[EarlGrey selectElementWithMatcher:chrome_test_util::ClearCacheButton()] performAction:grey_tap()]; [[EarlGrey selectElementWithMatcher:ClearBrowsingDataButton()] performAction:grey_tap()];
diff --git a/net/spdy/core/hpack/hpack_encoder_test.cc b/net/spdy/core/hpack/hpack_encoder_test.cc index fb10c8f..477bc37 100644 --- a/net/spdy/core/hpack/hpack_encoder_test.cc +++ b/net/spdy/core/hpack/hpack_encoder_test.cc
@@ -445,7 +445,7 @@ } TEST_P(HpackEncoderTest, CookieToCrumbs) { - test::HpackEncoderPeer peer(NULL); + test::HpackEncoderPeer peer(nullptr); std::vector<SpdyStringPiece> out; // Leading and trailing whitespace is consumed. A space after ';' is consumed. @@ -479,7 +479,7 @@ } TEST_P(HpackEncoderTest, DecomposeRepresentation) { - test::HpackEncoderPeer peer(NULL); + test::HpackEncoderPeer peer(nullptr); std::vector<SpdyStringPiece> out; peer.DecomposeRepresentation("", &out);
diff --git a/net/spdy/core/hpack/hpack_header_table.cc b/net/spdy/core/hpack/hpack_header_table.cc index e59a5db..ba7b787 100644 --- a/net/spdy/core/hpack/hpack_header_table.cc +++ b/net/spdy/core/hpack/hpack_header_table.cc
@@ -43,7 +43,7 @@ const HpackEntry* HpackHeaderTable::GetByIndex(size_t index) { if (index == 0) { - return NULL; + return nullptr; } index -= 1; if (index < static_entries_.size()) { @@ -57,7 +57,7 @@ } return result; } - return NULL; + return nullptr; } const HpackEntry* HpackHeaderTable::GetByName(SpdyStringPiece name) { @@ -77,7 +77,7 @@ return result; } } - return NULL; + return nullptr; } const HpackEntry* HpackHeaderTable::GetByNameAndValue(SpdyStringPiece name, @@ -99,7 +99,7 @@ return result; } } - return NULL; + return nullptr; } size_t HpackHeaderTable::IndexOf(const HpackEntry* entry) const { @@ -192,7 +192,7 @@ // Entire table has been emptied, but there's still insufficient room. DCHECK(dynamic_entries_.empty()); DCHECK_EQ(0u, size_); - return NULL; + return nullptr; } dynamic_entries_.push_front(HpackEntry(name, value, false, // is_static
diff --git a/net/spdy/core/hpack/hpack_header_table_test.cc b/net/spdy/core/hpack/hpack_header_table_test.cc index 141d58b..4be29b4 100644 --- a/net/spdy/core/hpack/hpack_header_table_test.cc +++ b/net/spdy/core/hpack/hpack_header_table_test.cc
@@ -109,7 +109,7 @@ EXPECT_EQ(0, distance(begin, end)); const HpackEntry* entry = table_.TryAddEntry(it->name(), it->value()); - EXPECT_NE(entry, static_cast<HpackEntry*>(NULL)); + EXPECT_NE(entry, static_cast<HpackEntry*>(nullptr)); } for (size_t i = 0; i != entries.size(); ++i) { @@ -225,7 +225,7 @@ EXPECT_EQ(entry7, table_.GetByName("key-2")); EXPECT_EQ(entry2->name(), table_.GetByName(first_static_entry->name())->name()); - EXPECT_EQ(NULL, table_.GetByName("not-present")); + EXPECT_EQ(nullptr, table_.GetByName("not-present")); // Querying by name & value returns the lowest-index matching entry among // static entries, and the highest-index one among dynamic entries. @@ -238,8 +238,8 @@ first_static_entry->value())); EXPECT_EQ(entry2, table_.GetByNameAndValue(first_static_entry->name(), "Value Four")); - EXPECT_EQ(NULL, table_.GetByNameAndValue("key-1", "Not Present")); - EXPECT_EQ(NULL, table_.GetByNameAndValue("not-present", "Value One")); + EXPECT_EQ(nullptr, table_.GetByNameAndValue("key-1", "Not Present")); + EXPECT_EQ(nullptr, table_.GetByNameAndValue("not-present", "Value One")); // Evict |entry1|. Queries for its name & value now return the static entry. // |entry2| remains queryable. @@ -252,7 +252,7 @@ // Evict |entry2|. Queries by its name & value are not found. peer_.Evict(1); - EXPECT_EQ(NULL, + EXPECT_EQ(nullptr, table_.GetByNameAndValue(first_static_entry->name(), "Value Four")); } @@ -394,7 +394,7 @@ const HpackEntry* new_entry = table_.TryAddEntry(long_entry.name(), long_entry.value()); - EXPECT_EQ(new_entry, static_cast<HpackEntry*>(NULL)); + EXPECT_EQ(new_entry, static_cast<HpackEntry*>(nullptr)); EXPECT_EQ(0u, peer_.dynamic_entries().size()); }
diff --git a/third_party/WebKit/LayoutTests/NeverFixTests b/third_party/WebKit/LayoutTests/NeverFixTests index 025e1cf..2b19953 100644 --- a/third_party/WebKit/LayoutTests/NeverFixTests +++ b/third_party/WebKit/LayoutTests/NeverFixTests
@@ -1800,21 +1800,13 @@ external/wpt/css/css-color/lch-007.html [ WontFix ] # New rgb() and rgba() syntax not supported. https://crbug.com/788707 -external/wpt/css/css-color/rgb-001.html [ WontFix ] external/wpt/css/css-color/rgb-002.html [ WontFix ] -external/wpt/css/css-color/rgb-003.html [ WontFix ] external/wpt/css/css-color/rgb-004.html [ WontFix ] -external/wpt/css/css-color/rgb-005.html [ WontFix ] external/wpt/css/css-color/rgb-006.html [ WontFix ] -external/wpt/css/css-color/rgb-007.html [ WontFix ] external/wpt/css/css-color/rgb-008.html [ WontFix ] -external/wpt/css/css-color/rgba-001.html [ WontFix ] external/wpt/css/css-color/rgba-002.html [ WontFix ] -external/wpt/css/css-color/rgba-003.html [ WontFix ] external/wpt/css/css-color/rgba-004.html [ WontFix ] -external/wpt/css/css-color/rgba-005.html [ WontFix ] external/wpt/css/css-color/rgba-006.html [ WontFix ] -external/wpt/css/css-color/rgba-007.html [ WontFix ] external/wpt/css/css-color/rgba-008.html [ WontFix ] # Failures on the initial import of css-color. Test suite had many other bugs,
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index b03b6a1..bd6155a 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -2791,16 +2791,7 @@ crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-8.worker.html [ Failure ] crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-9.worker.html [ Failure ] crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-1.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6.worker.html [ Failure ] crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-1.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5.worker.html [ Failure ] -crbug.com/709227 external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6.worker.html [ Failure ] crbug.com/709227 external/wpt/offscreen-canvas/path-objects/2d.path.stroke.prune.arc.worker.html [ Failure ] crbug.com/709227 external/wpt/offscreen-canvas/path-objects/2d.path.stroke.prune.closed.worker.html [ Failure ] crbug.com/709227 external/wpt/offscreen-canvas/path-objects/2d.path.stroke.prune.curve.worker.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt b/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt index 3f92af96..519ab76 100644 --- a/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt +++ b/third_party/WebKit/LayoutTests/css-parser/color3-expected.txt
@@ -62,11 +62,11 @@ PASS colorTest.parseColor("rgb()") is "parse error" PASS colorTest.parseColor("rgb(0)") is "parse error" PASS colorTest.parseColor("rgb(0, 0)") is "parse error" -PASS colorTest.parseColor("rgb(0, 0, 0, 0)") is "parse error" +FAIL colorTest.parseColor("rgb(0, 0, 0, 0)") should be parse error. Was rgba(0, 0, 0, 0). PASS colorTest.parseColor("rgb(0%)") is "parse error" PASS colorTest.parseColor("rgb(0%, 0%)") is "parse error" -PASS colorTest.parseColor("rgb(0%, 0%, 0%, 0%)") is "parse error" -PASS colorTest.parseColor("rgb(0%, 0%, 0%, 0)") is "parse error" +FAIL colorTest.parseColor("rgb(0%, 0%, 0%, 0%)") should be parse error. Was rgba(0, 0, 0, 0). +FAIL colorTest.parseColor("rgb(0%, 0%, 0%, 0)") should be parse error. Was rgba(0, 0, 0, 0). PASS colorTest.parseColor("rgba(0, 0, 0, 0)") is "rgba(0, 0, 0, 0)" PASS colorTest.parseColor("rgba(204, 0, 102, 0.3)") is "rgba(204, 0, 102, 0.3)" PASS colorTest.parseColor("RGBA(255, 255, 255, 0)") is "rgba(255, 255, 255, 0)" @@ -86,7 +86,7 @@ PASS colorTest.parseColor("rgba(0%, 20%, 100%, 0)") is "rgba(0, 51, 255, 0)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, -0.1)") is "rgba(0, 51, 255, 0)" PASS colorTest.parseColor("rgba(0%, 20%, 100%, -139)") is "rgba(0, 51, 255, 0)" -PASS colorTest.parseColor("rgba(255, 255, 255, 0%)") is "parse error" +FAIL colorTest.parseColor("rgba(255, 255, 255, 0%)") should be parse error. Was rgba(255, 255, 255, 0). PASS colorTest.parseColor("rgba(10%, 50%, 0, 1)") is "parse error" PASS colorTest.parseColor("rgba(255, 50%, 0%, 1)") is "parse error" PASS colorTest.parseColor("rgba(0, 0, 0 0)") is "parse error" @@ -94,12 +94,12 @@ PASS colorTest.parseColor("rgba(0, 0, 0, light)") is "parse error" PASS colorTest.parseColor("rgba()") is "parse error" PASS colorTest.parseColor("rgba(0)") is "parse error" -PASS colorTest.parseColor("rgba(0, 0, 0)") is "parse error" +FAIL colorTest.parseColor("rgba(0, 0, 0)") should be parse error. Was rgb(0, 0, 0). PASS colorTest.parseColor("rgba(0, 0, 0, 0, 0)") is "parse error" PASS colorTest.parseColor("rgba(0%)") is "parse error" PASS colorTest.parseColor("rgba(0%, 0%)") is "parse error" -PASS colorTest.parseColor("rgba(0%, 0%, 0%)") is "parse error" -PASS colorTest.parseColor("rgba(0%, 0%, 0%, 0%)") is "parse error" +FAIL colorTest.parseColor("rgba(0%, 0%, 0%)") should be parse error. Was rgb(0, 0, 0). +FAIL colorTest.parseColor("rgba(0%, 0%, 0%, 0%)") should be parse error. Was rgba(0, 0, 0, 0). PASS colorTest.parseColor("rgba(0%, 0%, 0%, 0%, 0%)") is "parse error" PASS colorTest.parseColor("HSL(0, 0%, 0%)") is "rgb(0, 0, 0)" PASS colorTest.parseColor("hsL(0, 100%, 50%)") is "rgb(255, 0, 0)"
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json index 0ac223c8..08e37b7b 100644 --- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json +++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -42701,18 +42701,6 @@ {} ] ], - "css/css-multicol/multicol-fill-auto.xht": [ - [ - "/css/css-multicol/multicol-fill-auto.xht", - [ - [ - "/css/css-multicol/multicol-fill-ref.xht", - "==" - ] - ], - {} - ] - ], "css/css-multicol/multicol-fill-balance-001.xht": [ [ "/css/css-multicol/multicol-fill-balance-001.xht", @@ -42881,18 +42869,6 @@ {} ] ], - "css/css-multicol/multicol-inherit-004.xht": [ - [ - "/css/css-multicol/multicol-inherit-004.xht", - [ - [ - "/css/css-multicol/multicol-inherit-4-ref.xht", - "==" - ] - ], - {} - ] - ], "css/css-multicol/multicol-list-item-001.xht": [ [ "/css/css-multicol/multicol-list-item-001.xht", @@ -109141,11 +109117,6 @@ {} ] ], - "css/css-multicol/multicol-fill-ref.xht": [ - [ - {} - ] - ], "css/css-multicol/multicol-gap-000-ref.xht": [ [ {} @@ -109201,11 +109172,6 @@ {} ] ], - "css/css-multicol/multicol-inherit-4-ref.xht": [ - [ - {} - ] - ], "css/css-multicol/multicol-list-item-001-ref.xht": [ [ {} @@ -265526,10 +265492,6 @@ "d97337c9c5fe4ff3ab4472b1c0f9f459f9d7cf8e", "support" ], - "css/css-multicol/multicol-fill-auto.xht": [ - "54fe8ec972a87ea83b6ea770ac5975bcb1868412", - "reftest" - ], "css/css-multicol/multicol-fill-balance-001-ref.xht": [ "dfdc227760f0fb524232d65ee792f108d32fc7de", "support" @@ -265538,10 +265500,6 @@ "cd580ac2b2ddf85cb1f3e14b554e4e3ce357f012", "reftest" ], - "css/css-multicol/multicol-fill-ref.xht": [ - "a5f5c85453df52637a510c3f6ae5e5c65fdec50c", - "support" - ], "css/css-multicol/multicol-gap-000-ref.xht": [ "1fe1e1d56fb2336ae63544a4bb568ee6f6daa053", "support" @@ -265634,18 +265592,10 @@ "bfb8f201623a96cf2737bef1ba1c0d6b08bc54e4", "reftest" ], - "css/css-multicol/multicol-inherit-004.xht": [ - "eaf2a8ba48e8f8dc5ead28a675bfa5ff478df734", - "reftest" - ], "css/css-multicol/multicol-inherit-3-ref.xht": [ "56158a2fdc63c2e534672679c81c8de93a5730d1", "support" ], - "css/css-multicol/multicol-inherit-4-ref.xht": [ - "0423d597aaed6efc746fd7c9cccc21b3901cfae8", - "support" - ], "css/css-multicol/multicol-list-item-001-ref.xht": [ "6f5adc6cc216feef55920d97595d32cf68be5ed4", "support" @@ -265687,11 +265637,11 @@ "reftest" ], "css/css-multicol/multicol-nested-column-rule-001-ref.xht": [ - "e045b4bb02989ec16c6b1fc10bd9717b9daf0224", + "d53e71b2a82e6d519fa7fffcc62ba832717cd7a5", "support" ], "css/css-multicol/multicol-nested-column-rule-001.xht": [ - "2052bad4a14f5d52b369751d5a7eee955dcca92b", + "7157a7f0a6dc740d9a12561118c2aa71923511c7", "reftest" ], "css/css-multicol/multicol-nested-margin-001-ref.xht": [ @@ -313187,7 +313137,7 @@ "testharness" ], "html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html": [ - "a3f85905acb42372806d07259e09d75e2fd8db1f", + "4ca73ff5658b3512784e9e1b236c78861ca4ecc9", "testharness" ], "html/semantics/forms/the-button-element/.gitkeep": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt deleted file mode 100644 index c21fb816c..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgb-2 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt deleted file mode 100644 index f56dc3e..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgb-3 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt deleted file mode 100644 index 702f009..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgb-4 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt deleted file mode 100644 index 5c45c7c9..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgb-5 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt deleted file mode 100644 index 6f5994c9..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgb-6 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt deleted file mode 100644 index 50f6a99a..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgba-3 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt deleted file mode 100644 index 7761f3fe..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgba-4 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt deleted file mode 100644 index 01e9ed8..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgba-5 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt deleted file mode 100644 index 1fa7fd1..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Canvas test: 2d.fillStyle.parse.css-color-4-rgba-6 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html index 86508762..3aba6b7a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html
@@ -10,6 +10,17 @@ <textarea id="b">abcde</textarea> </div> <script> +var expected_direction_none; +setup(function() { + var input = document.createElement("input"); + input.setSelectionRange(0, 1, "none"); + var direction = input.selectionDirection; + if (direction !== "none" && direction !== "forward") { + throw new Error("Unexpected direction"); + } + expected_direction_none = direction; +}); + test(function() { var input = document.getElementById("a"); test(function() { @@ -67,22 +78,22 @@ test(function() { input.setSelectionRange(0,1,"none") - assert_equals(input.selectionDirection, "none", 'The direction of the selection must be set to forward if direction is a case-sensitive match for the string "none"'); + assert_equals(input.selectionDirection, expected_direction_none); },'input direction of setSelectionRange(0,1,"none")'); test(function() { input.setSelectionRange(0,1,"hoge") - assert_equals(input.selectionDirection, "none", "otherwise"); + assert_equals(input.selectionDirection, expected_direction_none); },'input direction of setSelectionRange(0,1,"hoge")'); test(function() { input.setSelectionRange(0,1,"BACKWARD") - assert_equals(input.selectionDirection, "none", "selectionDirection should be 'none'"); + assert_equals(input.selectionDirection, expected_direction_none); },'input direction of setSelectionRange(0,1,"BACKWARD")'); test(function() { input.setSelectionRange(0,1) - assert_equals(input.selectionDirection, "none", "if the argument is omitted"); + assert_equals(input.selectionDirection, expected_direction_none); },'input direction of setSelectionRange(0,1)'); test(function() { @@ -214,22 +225,22 @@ test(function() { textarea.setSelectionRange(0,1,"none") - assert_equals(textarea.selectionDirection, "none", 'The direction of the selection must be set to forward if direction is a case-sensitive match for the string "none"'); + assert_equals(textarea.selectionDirection, expected_direction_none); },'textarea direction of setSelectionRange(0,1,"none")'); test(function() { textarea.setSelectionRange(0,1,"hoge") - assert_equals(textarea.selectionDirection, "none", "otherwise"); + assert_equals(textarea.selectionDirection, expected_direction_none); },'textarea direction of setSelectionRange(0,1,"hoge")'); test(function() { textarea.setSelectionRange(0,1,"BACKWARD") - assert_equals(textarea.selectionDirection, "none", "selectionDirection should be 'none'"); + assert_equals(textarea.selectionDirection, expected_direction_none); },'textarea direction of setSelectionRange(0,1,"BACKWARD")'); test(function() { textarea.setSelectionRange(0,1) - assert_equals(textarea.selectionDirection, "none", "if the argument is omitted"); + assert_equals(textarea.selectionDirection, expected_direction_none); },'textarea direction of setSelectionRange(0,1)'); test(function() {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt deleted file mode 100644 index 5f273b4d7..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgb-2 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt deleted file mode 100644 index 3109b12..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgb-3 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt deleted file mode 100644 index fbf6721..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgb-4 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt deleted file mode 100644 index 5c631db..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgb-5 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt deleted file mode 100644 index 956dade..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgb-6 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt deleted file mode 100644 index 16703db9..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgba-3 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt deleted file mode 100644 index ab79479..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgba-4 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt deleted file mode 100644 index b6cce60..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgba-5 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt deleted file mode 100644 index e656162..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL OffscreenCanvas test: 2d.fillStyle.parse.css-color-4-rgba-6 assert_equals: Red channel of the pixel at (50, 25) expected 0 but got 255 -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/fast/canvas-api/gradient-addColorStop-with-invalid-color.html b/third_party/WebKit/LayoutTests/fast/canvas-api/gradient-addColorStop-with-invalid-color.html index 10734be..64df36e 100644 --- a/third_party/WebKit/LayoutTests/fast/canvas-api/gradient-addColorStop-with-invalid-color.html +++ b/third_party/WebKit/LayoutTests/fast/canvas-api/gradient-addColorStop-with-invalid-color.html
@@ -15,7 +15,7 @@ gradient.addColorStop(0, 'rgb(257, 0)'); }); assert_throws("SYNTAX_ERR", function() { - gradient.addColorStop(0, 'rgb(257, 0, 5, 0)'); + gradient.addColorStop(0, 'rgb(257, 0, 5 / 0)'); }); }, 'This test checks invalid colors on gradients.'); </script>
diff --git a/third_party/WebKit/LayoutTests/platform/linux/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt new file mode 100644 index 0000000..1037d453 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt
@@ -0,0 +1,52 @@ +This is a testharness.js-based test. +PASS test of input.setSelectionRange +PASS input typeof(input.setSelectionRange)' +PASS input setSelectionRange return void +PASS input setSelectionRange(0,1) +PASS input setSelectionRange(0,input.value.length+1) +PASS input setSelectionRange(input.value.length+1,input.value.length+1) +PASS input setSelectionRange(input.value.length+1,1) +PASS input setSelectionRange(2,2) +PASS input setSelectionRange(2,1) +PASS input direction of setSelectionRange(0,1,"backward") +PASS input direction of setSelectionRange(0,1,"forward") +PASS input direction of setSelectionRange(0,1,"none") +PASS input direction of setSelectionRange(0,1,"hoge") +PASS input direction of setSelectionRange(0,1,"BACKWARD") +PASS input direction of setSelectionRange(0,1) +PASS input setSelectionRange(1,-1) +PASS input setSelectionRange(-1,1) +PASS input setSelectionRange("string",1) +PASS input setSelectionRange(true,1) +PASS input setSelectionRange([],1) +PASS input setSelectionRange({},1) +PASS input setSelectionRange(NaN,1) +PASS input setSelectionRange(null,1) +PASS input setSelectionRange(undefined,1) +PASS input setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1) +PASS input setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1) +PASS input setSelectionRange fires a select event +PASS test of textarea.setSelectionRange +PASS textarea typeof(input.setSelectionRange)' +PASS textarea setSelectionRange return void +PASS textarea setSelectionRange(0,1) +PASS textarea setSelectionRange(0,textarea.value.length+1) +PASS textarea setSelectionRange(2,2) +PASS textarea setSelectionRange(2,1) +PASS textarea direction of setSelectionRange(0,1,"backward") +PASS textarea direction of setSelectionRange(0,1,"forward") +PASS textarea direction of setSelectionRange(0,1,"none") +PASS textarea direction of setSelectionRange(0,1,"hoge") +PASS textarea direction of setSelectionRange(0,1,"BACKWARD") +PASS textarea direction of setSelectionRange(0,1) +PASS textarea setSelectionRange("string",1) +PASS textarea setSelectionRange(true,1) +PASS textarea setSelectionRange([],1) +PASS textarea setSelectionRange({},1) +PASS textarea setSelectionRange(NaN,1) +PASS textarea setSelectionRange(null,1) +PASS textarea setSelectionRange(undefined,1) +PASS textarea setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1) +PASS textarea setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1) +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/platform/win/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt b/third_party/WebKit/LayoutTests/platform/win/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt index 6a15852..1037d453 100644 --- a/third_party/WebKit/LayoutTests/platform/win/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/win/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt
@@ -10,10 +10,10 @@ PASS input setSelectionRange(2,1) PASS input direction of setSelectionRange(0,1,"backward") PASS input direction of setSelectionRange(0,1,"forward") -FAIL input direction of setSelectionRange(0,1,"none") assert_equals: The direction of the selection must be set to forward if direction is a case-sensitive match for the string "none" expected "none" but got "forward" -FAIL input direction of setSelectionRange(0,1,"hoge") assert_equals: otherwise expected "none" but got "forward" -FAIL input direction of setSelectionRange(0,1,"BACKWARD") assert_equals: selectionDirection should be 'none' expected "none" but got "forward" -FAIL input direction of setSelectionRange(0,1) assert_equals: if the argument is omitted expected "none" but got "forward" +PASS input direction of setSelectionRange(0,1,"none") +PASS input direction of setSelectionRange(0,1,"hoge") +PASS input direction of setSelectionRange(0,1,"BACKWARD") +PASS input direction of setSelectionRange(0,1) PASS input setSelectionRange(1,-1) PASS input setSelectionRange(-1,1) PASS input setSelectionRange("string",1) @@ -35,10 +35,10 @@ PASS textarea setSelectionRange(2,1) PASS textarea direction of setSelectionRange(0,1,"backward") PASS textarea direction of setSelectionRange(0,1,"forward") -FAIL textarea direction of setSelectionRange(0,1,"none") assert_equals: The direction of the selection must be set to forward if direction is a case-sensitive match for the string "none" expected "none" but got "forward" -FAIL textarea direction of setSelectionRange(0,1,"hoge") assert_equals: otherwise expected "none" but got "forward" -FAIL textarea direction of setSelectionRange(0,1,"BACKWARD") assert_equals: selectionDirection should be 'none' expected "none" but got "forward" -FAIL textarea direction of setSelectionRange(0,1) assert_equals: if the argument is omitted expected "none" but got "forward" +PASS textarea direction of setSelectionRange(0,1,"none") +PASS textarea direction of setSelectionRange(0,1,"hoge") +PASS textarea direction of setSelectionRange(0,1,"BACKWARD") +PASS textarea direction of setSelectionRange(0,1) PASS textarea setSelectionRange("string",1) PASS textarea setSelectionRange(true,1) PASS textarea setSelectionRange([],1)
diff --git a/third_party/WebKit/LayoutTests/platform/win7/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt new file mode 100644 index 0000000..1037d453 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win7/external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt
@@ -0,0 +1,52 @@ +This is a testharness.js-based test. +PASS test of input.setSelectionRange +PASS input typeof(input.setSelectionRange)' +PASS input setSelectionRange return void +PASS input setSelectionRange(0,1) +PASS input setSelectionRange(0,input.value.length+1) +PASS input setSelectionRange(input.value.length+1,input.value.length+1) +PASS input setSelectionRange(input.value.length+1,1) +PASS input setSelectionRange(2,2) +PASS input setSelectionRange(2,1) +PASS input direction of setSelectionRange(0,1,"backward") +PASS input direction of setSelectionRange(0,1,"forward") +PASS input direction of setSelectionRange(0,1,"none") +PASS input direction of setSelectionRange(0,1,"hoge") +PASS input direction of setSelectionRange(0,1,"BACKWARD") +PASS input direction of setSelectionRange(0,1) +PASS input setSelectionRange(1,-1) +PASS input setSelectionRange(-1,1) +PASS input setSelectionRange("string",1) +PASS input setSelectionRange(true,1) +PASS input setSelectionRange([],1) +PASS input setSelectionRange({},1) +PASS input setSelectionRange(NaN,1) +PASS input setSelectionRange(null,1) +PASS input setSelectionRange(undefined,1) +PASS input setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1) +PASS input setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1) +PASS input setSelectionRange fires a select event +PASS test of textarea.setSelectionRange +PASS textarea typeof(input.setSelectionRange)' +PASS textarea setSelectionRange return void +PASS textarea setSelectionRange(0,1) +PASS textarea setSelectionRange(0,textarea.value.length+1) +PASS textarea setSelectionRange(2,2) +PASS textarea setSelectionRange(2,1) +PASS textarea direction of setSelectionRange(0,1,"backward") +PASS textarea direction of setSelectionRange(0,1,"forward") +PASS textarea direction of setSelectionRange(0,1,"none") +PASS textarea direction of setSelectionRange(0,1,"hoge") +PASS textarea direction of setSelectionRange(0,1,"BACKWARD") +PASS textarea direction of setSelectionRange(0,1) +PASS textarea setSelectionRange("string",1) +PASS textarea setSelectionRange(true,1) +PASS textarea setSelectionRange([],1) +PASS textarea setSelectionRange({},1) +PASS textarea setSelectionRange(NaN,1) +PASS textarea setSelectionRange(null,1) +PASS textarea setSelectionRange(undefined,1) +PASS textarea setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1) +PASS textarea setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1) +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/svg/dom/rgb-color-parser-expected.txt b/third_party/WebKit/LayoutTests/svg/dom/rgb-color-parser-expected.txt index d43ef55..85fb4cb 100644 --- a/third_party/WebKit/LayoutTests/svg/dom/rgb-color-parser-expected.txt +++ b/third_party/WebKit/LayoutTests/svg/dom/rgb-color-parser-expected.txt
@@ -6,7 +6,7 @@ Parsed as blue: blue Parsed as rgb(0, 255, 0): rgb(0, 255, 0) Parsed as rgb(255, 255, 0): rgb(100%,100%,0% -Failed to parse: rgba(100%,100%,0% +Parsed as rgb(255, 255, 0): rgba(100%,100%,0% Failed to parse: rgb(100%,100%,r) Failed to parse: rgb (100%,100%,r) Failed to parse: rgb(100%, 1, 1)
diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp b/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp index 9cb6aad..48de273 100644 --- a/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp +++ b/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
@@ -267,6 +267,8 @@ static bool ParseColorIntOrPercentage(const CharacterType*& string, const CharacterType* end, const char terminator, + bool& should_whitespace_terminate, + bool is_first_value, CSSPrimitiveValue::UnitType& expect, int& value) { const CharacterType* current = string; @@ -328,8 +330,21 @@ while (current != end && IsHTMLSpace<CharacterType>(*current)) current++; - if (current == end || *current++ != terminator) + + if (current == end || *current != terminator) { + if (!should_whitespace_terminate || + !IsHTMLSpace<CharacterType>(*(current - 1))) { + return false; + } + } else if (should_whitespace_terminate && is_first_value) { + should_whitespace_terminate = false; + } else if (should_whitespace_terminate) { return false; + } + + if (!should_whitespace_terminate) + current++; + // Clamp negative values at zero. value = negative ? 0 : static_cast<int>(local_value); string = current; @@ -409,26 +424,16 @@ } template <typename CharacterType> -static inline bool MightBeRGBA(const CharacterType* characters, - unsigned length) { - if (length < 5) - return false; - return characters[4] == '(' && - IsASCIIAlphaCaselessEqual(characters[0], 'r') && - IsASCIIAlphaCaselessEqual(characters[1], 'g') && - IsASCIIAlphaCaselessEqual(characters[2], 'b') && - IsASCIIAlphaCaselessEqual(characters[3], 'a'); -} - -template <typename CharacterType> -static inline bool MightBeRGB(const CharacterType* characters, - unsigned length) { +static inline bool MightBeRGBOrRGBA(const CharacterType* characters, + unsigned length) { if (length < 4) return false; - return characters[3] == '(' && - IsASCIIAlphaCaselessEqual(characters[0], 'r') && + return IsASCIIAlphaCaselessEqual(characters[0], 'r') && IsASCIIAlphaCaselessEqual(characters[1], 'g') && - IsASCIIAlphaCaselessEqual(characters[2], 'b'); + IsASCIIAlphaCaselessEqual(characters[2], 'b') && + (characters[3] == '(' || + (IsASCIIAlphaCaselessEqual(characters[3], 'a') && + characters[4] == '(')); } template <typename CharacterType> @@ -446,45 +451,58 @@ return true; } - // Try rgba() syntax. - if (MightBeRGBA(characters, length)) { - const CharacterType* current = characters + 5; + // rgb() and rgba() have the same syntax + if (MightBeRGBOrRGBA(characters, length)) { + int length_to_add = IsASCIIAlphaCaselessEqual(characters[3], 'a') ? 5 : 4; + const CharacterType* current = characters + length_to_add; const CharacterType* end = characters + length; int red; int green; int blue; int alpha; + bool should_have_alpha = false; + bool should_whitespace_terminate = true; + bool no_whitespace_check = false; - if (!ParseColorIntOrPercentage(current, end, ',', expect, red)) + if (!ParseColorIntOrPercentage(current, end, ',', + should_whitespace_terminate, + true /* is_first_value */, expect, red)) return false; - if (!ParseColorIntOrPercentage(current, end, ',', expect, green)) + if (!ParseColorIntOrPercentage(current, end, ',', + should_whitespace_terminate, + false /* is_first_value */, expect, green)) return false; - if (!ParseColorIntOrPercentage(current, end, ',', expect, blue)) - return false; - if (!ParseAlphaValue(current, end, ')', alpha)) - return false; - if (current != end) - return false; - rgb = MakeRGBA(red, green, blue, alpha); - return true; - } + if (!ParseColorIntOrPercentage(current, end, ',', no_whitespace_check, + false /* is_first_value */, expect, blue)) { + // Might have slash as separator + if (ParseColorIntOrPercentage(current, end, '/', no_whitespace_check, + false /* is_first_value */, expect, blue)) { + if (!should_whitespace_terminate) + return false; + should_have_alpha = true; + } + // Might not have alpha + else if (!ParseColorIntOrPercentage( + current, end, ')', no_whitespace_check, + false /* is_first_value */, expect, blue)) + return false; + } else { + if (should_whitespace_terminate) + return false; + should_have_alpha = true; + } - // Try rgb() syntax. - if (MightBeRGB(characters, length)) { - const CharacterType* current = characters + 4; - const CharacterType* end = characters + length; - int red; - int green; - int blue; - if (!ParseColorIntOrPercentage(current, end, ',', expect, red)) - return false; - if (!ParseColorIntOrPercentage(current, end, ',', expect, green)) - return false; - if (!ParseColorIntOrPercentage(current, end, ')', expect, blue)) - return false; - if (current != end) - return false; - rgb = MakeRGB(red, green, blue); + if (should_have_alpha) { + if (!ParseAlphaValue(current, end, ')', alpha)) + return false; + if (current != end) + return false; + rgb = MakeRGBA(red, green, blue, alpha); + } else { + if (current != end) + return false; + rgb = MakeRGB(red, green, blue); + } return true; }
diff --git a/third_party/WebKit/Source/core/css/parser/CSSParserFastPathsTest.cpp b/third_party/WebKit/Source/core/css/parser/CSSParserFastPathsTest.cpp index eff8239..89d418d0 100644 --- a/third_party/WebKit/Source/core/css/parser/CSSParserFastPathsTest.cpp +++ b/third_party/WebKit/Source/core/css/parser/CSSParserFastPathsTest.cpp
@@ -118,4 +118,45 @@ EXPECT_EQ(Color::kBlack, ToCSSColorValue(*value).Value()); } +TEST(CSSParserFastPathsTest, ParseColorWithNewSyntax) { + CSSValue* value = + CSSParserFastPaths::ParseColor("rgba(0 0 0)", kHTMLStandardMode); + EXPECT_NE(nullptr, value); + EXPECT_TRUE(value->IsColorValue()); + EXPECT_EQ(Color::kBlack, ToCSSColorValue(*value).Value()); + + value = CSSParserFastPaths::ParseColor("rgba(0 0 0 / 1)", kHTMLStandardMode); + EXPECT_NE(nullptr, value); + EXPECT_TRUE(value->IsColorValue()); + EXPECT_EQ(Color::kBlack, ToCSSColorValue(*value).Value()); + + value = CSSParserFastPaths::ParseColor("rgba(0, 0, 0, 1)", kHTMLStandardMode); + EXPECT_NE(nullptr, value); + EXPECT_TRUE(value->IsColorValue()); + EXPECT_EQ(Color::kBlack, ToCSSColorValue(*value).Value()); + + value = CSSParserFastPaths::ParseColor("RGBA(0 0 0 / 1)", kHTMLStandardMode); + EXPECT_NE(nullptr, value); + EXPECT_TRUE(value->IsColorValue()); + EXPECT_EQ(Color::kBlack, ToCSSColorValue(*value).Value()); + + value = CSSParserFastPaths::ParseColor("RGB(0 0 0 / 1)", kHTMLStandardMode); + EXPECT_NE(nullptr, value); + EXPECT_TRUE(value->IsColorValue()); + EXPECT_EQ(Color::kBlack, ToCSSColorValue(*value).Value()); + + value = CSSParserFastPaths::ParseColor("rgba(0 0 0 0)", kHTMLStandardMode); + EXPECT_EQ(nullptr, value); + + value = CSSParserFastPaths::ParseColor("rgba(0, 0 0 1)", kHTMLStandardMode); + EXPECT_EQ(nullptr, value); + + value = + CSSParserFastPaths::ParseColor("rgba(0, 0, 0 / 1)", kHTMLStandardMode); + EXPECT_EQ(nullptr, value); + + value = CSSParserFastPaths::ParseColor("rgba(0 0 0, 1)", kHTMLStandardMode); + EXPECT_EQ(nullptr, value); +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp index 9deac34d..cfdef6d 100644 --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
@@ -550,9 +550,7 @@ return clampTo<int>(result, 0, 255); } -static bool ParseRGBParameters(CSSParserTokenRange& range, - RGBA32& result, - bool parse_alpha) { +static bool ParseRGBParameters(CSSParserTokenRange& range, RGBA32& result) { DCHECK(range.Peek().FunctionId() == CSSValueRgb || range.Peek().FunctionId() == CSSValueRgba); CSSParserTokenRange args = ConsumeFunction(range); @@ -564,21 +562,37 @@ const bool is_percent = color_parameter->IsPercentage(); int color_array[3]; color_array[0] = ClampRGBComponent(*color_parameter); + bool requires_commas = false; for (int i = 1; i < 3; i++) { - if (!ConsumeCommaIncludingWhitespace(args)) + if (ConsumeCommaIncludingWhitespace(args)) { + if (i != 1 && !requires_commas) + return false; + requires_commas = true; + } else if (requires_commas || + (&args.Peek() - 1)->GetType() != kWhitespaceToken) { return false; + } color_parameter = is_percent ? ConsumePercent(args, kValueRangeAll) : ConsumeInteger(args); if (!color_parameter) return false; color_array[i] = ClampRGBComponent(*color_parameter); } - if (parse_alpha) { - if (!ConsumeCommaIncludingWhitespace(args)) - return false; + + bool comma_consumed = ConsumeCommaIncludingWhitespace(args); + bool slash_consumed = ConsumeSlashIncludingWhitespace(args); + if ((comma_consumed && !requires_commas) || + (slash_consumed && requires_commas)) + return false; + if (comma_consumed || slash_consumed) { double alpha; - if (!ConsumeNumberRaw(args, alpha)) - return false; + if (!ConsumeNumberRaw(args, alpha)) { + CSSPrimitiveValue* alpha_percent = ConsumePercent(args, kValueRangeAll); + if (!alpha_percent) + return false; + else + alpha = alpha_percent->GetDoubleValue() / 100.0f; + } // W3 standard stipulates a 2.55 alpha value multiplication factor. int alpha_component = static_cast<int>(lroundf(clampTo<double>(alpha, 0.0, 1.0) * 255.0f)); @@ -665,7 +679,7 @@ return false; CSSParserTokenRange color_range = range; if ((function_id <= CSSValueRgba && - !ParseRGBParameters(color_range, result, function_id == CSSValueRgba)) || + !ParseRGBParameters(color_range, result)) || (function_id >= CSSValueHsl && !ParseHSLParameters(color_range, result, function_id == CSSValueHsla))) return false;
diff --git a/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp b/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp index 1ba8cda..63dca7c7 100644 --- a/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp +++ b/third_party/WebKit/Source/core/frame/RemoteFrameView.cpp
@@ -193,6 +193,9 @@ void RemoteFrameView::UpdateRenderThrottlingStatus(bool hidden, bool subtree_throttled) { TRACE_EVENT0("blink", "RemoteFrameView::UpdateRenderThrottlingStatus"); + if (!remote_frame_->Client()) + return; + bool was_throttled = CanThrottleRendering(); // Note that we disallow throttling of 0x0 and display:none frames because
diff --git a/third_party/WebKit/Source/platform/fonts/Font.cpp b/third_party/WebKit/Source/platform/fonts/Font.cpp index f577719e..057ca730 100644 --- a/third_party/WebKit/Source/platform/fonts/Font.cpp +++ b/third_party/WebKit/Source/platform/fonts/Font.cpp
@@ -114,8 +114,7 @@ for (const auto& blob_info : blobs) { DCHECK(blob_info.blob); PaintCanvasAutoRestore auto_restore(canvas, false); - if (blob_info.rotation == - ShapeResultBloberizer::BlobRotation::kCCWRotation) { + if (blob_info.rotation == CanvasRotationInVertical::kRotateCanvasUpright) { canvas->save(); SkMatrix m; @@ -289,7 +288,7 @@ // for a change in font. A TextBlob can contain runs with differing fonts // and the getTextBlobIntercepts method handles multiple fonts for us. For // upright in vertical blobs we currently have to bail, see crbug.com/655154 - if (blob_info.rotation == ShapeResultBloberizer::BlobRotation::kCCWRotation) + if (blob_info.rotation == CanvasRotationInVertical::kRotateCanvasUpright) continue; SkScalar* offset_intercepts_buffer = nullptr;
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp index 47b6660..e1e34d3b 100644 --- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp +++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp
@@ -32,12 +32,11 @@ if (pending_glyphs_.IsEmpty()) return; - const auto pending_rotation = GetBlobRotation(pending_canvas_rotation_); - if (pending_rotation != builder_rotation_) { + if (pending_canvas_rotation_ != builder_rotation_) { // The pending run rotation doesn't match the current blob; start a new // blob. CommitPendingBlob(); - builder_rotation_ = pending_rotation; + builder_rotation_ = pending_canvas_rotation_; } PaintFont run_font; @@ -75,15 +74,6 @@ return blobs_; } -// TODO(drott) crbug.com/788725: Try to merge BlobRotation and -// CanvasRotationInVertical. -ShapeResultBloberizer::BlobRotation ShapeResultBloberizer::GetBlobRotation( - const CanvasRotationInVertical canvas_rotation) { - return canvas_rotation == CanvasRotationInVertical::kRegular - ? BlobRotation::kNoRotation - : BlobRotation::kCCWRotation; -} - float ShapeResultBloberizer::FillGlyphs( const TextRunPaintInfo& run_info, const ShapeResultBuffer& result_buffer) {
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h index c0666146c..7748274 100644 --- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h +++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h
@@ -6,6 +6,7 @@ #define ShapeResultBloberizer_h #include "platform/PlatformExport.h" +#include "platform/fonts/CanvasRotationInVertical.h" #include "platform/fonts/Glyph.h" #include "platform/fonts/SimpleFontData.h" #include "platform/fonts/shaping/ShapeResultBuffer.h" @@ -60,7 +61,7 @@ CommitPendingRun(); pending_font_data_ = font_data; pending_canvas_rotation_ = canvas_rotation; - DCHECK_EQ(GetBlobRotation(canvas_rotation), BlobRotation::kNoRotation); + DCHECK_EQ(canvas_rotation, CanvasRotationInVertical::kRegular); } pending_glyphs_.push_back(glyph); @@ -80,7 +81,7 @@ pending_font_data_ = font_data; pending_canvas_rotation_ = canvas_rotation; pending_vertical_baseline_x_offset_ = - GetBlobRotation(canvas_rotation) == BlobRotation::kNoRotation + canvas_rotation == CanvasRotationInVertical::kRegular ? 0 : font_data->GetFontMetrics().FloatAscent() - font_data->GetFontMetrics().FloatAscent( @@ -93,12 +94,11 @@ pending_offsets_.push_back(offset.Y()); } - enum class BlobRotation { kNoRotation, kCCWRotation }; struct BlobInfo { - BlobInfo(scoped_refptr<PaintTextBlob> b, BlobRotation r) + BlobInfo(scoped_refptr<PaintTextBlob> b, CanvasRotationInVertical r) : blob(std::move(b)), rotation(r) {} scoped_refptr<PaintTextBlob> blob; - BlobRotation rotation; + CanvasRotationInVertical rotation; }; using BlobBuffer = Vector<BlobInfo, 16>; @@ -142,7 +142,6 @@ void CommitPendingBlob(); bool HasPendingVerticalOffsets() const; - static BlobRotation GetBlobRotation(const CanvasRotationInVertical); const Font& font_; const float device_scale_factor_; @@ -150,7 +149,8 @@ // Current text blob state. PaintTextBlobBuilder builder_; - BlobRotation builder_rotation_ = BlobRotation::kNoRotation; + CanvasRotationInVertical builder_rotation_ = + CanvasRotationInVertical::kRegular; size_t builder_run_count_ = 0; // Current run state.
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl index 29d49e8..a0a10a4e 100644 --- a/tools/mb/mb_config.pyl +++ b/tools/mb/mb_config.pyl
@@ -793,7 +793,6 @@ }, 'tryserver.v8': { - 'v8_android_chromium_gn_dbg': 'android_debug_bot', 'v8_linux_blink_rel': 'release_trybot', 'v8_linux_chromium_gn_rel': 'release_trybot', },
diff --git a/tools/perf/page_sets/google_pages.py b/tools/perf/page_sets/google_pages.py index 9e11ee4..03d51626 100644 --- a/tools/perf/page_sets/google_pages.py +++ b/tools/perf/page_sets/google_pages.py
@@ -16,12 +16,10 @@ class GooglePages(page_module.Page): def __init__(self, url, page_set, shared_page_state_class, - name='', credentials=None): + name=''): super(GooglePages, self).__init__( url=url, page_set=page_set, name=name, - credentials_path='data/credentials.json', shared_page_state_class=shared_page_state_class) - self.credentials = credentials self.script_to_evaluate_on_commit = _DeterministicPerformanceCounters() @@ -35,8 +33,7 @@ name='https://mail.google.com/mail/') def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'google', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'google') super(GmailPage, self).RunNavigateSteps(action_runner) action_runner.WaitForJavaScriptCondition( 'window.gmonkey !== undefined &&'
diff --git a/tools/perf/page_sets/key_desktop_move_cases.py b/tools/perf/page_sets/key_desktop_move_cases.py index ee1b1639..e2e6ad4 100644 --- a/tools/perf/page_sets/key_desktop_move_cases.py +++ b/tools/perf/page_sets/key_desktop_move_cases.py
@@ -10,14 +10,12 @@ class KeyDesktopMoveCasesPage(page_module.Page): - def __init__(self, url, page_set, name='', credentials=None): + def __init__(self, url, page_set, name=''): if name == '': name = url super(KeyDesktopMoveCasesPage, self).__init__( url=url, page_set=page_set, name=name, - credentials_path='data/credentials.json', shared_page_state_class=shared_page_state.SharedDesktopPageState) - self.credentials = credentials class GmailMouseScrollPage(KeyDesktopMoveCasesPage): @@ -37,8 +35,7 @@ }''' def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(GmailMouseScrollPage, self).RunNavigateSteps(action_runner) action_runner.WaitForJavaScriptCondition( 'window.gmonkey !== undefined &&'
diff --git a/tools/perf/page_sets/key_mobile_sites_pages.py b/tools/perf/page_sets/key_mobile_sites_pages.py index 7b59144..63e08cf 100644 --- a/tools/perf/page_sets/key_mobile_sites_pages.py +++ b/tools/perf/page_sets/key_mobile_sites_pages.py
@@ -13,7 +13,7 @@ super(KeyMobileSitesPage, self).__init__( url=url, page_set=page_set, name=name, shared_page_state_class=shared_page_state.SharedMobilePageState, - credentials_path='data/credentials.json', tags=tags) + tags=tags) class CapitolVolkswagenPage(KeyMobileSitesPage):
diff --git a/tools/perf/page_sets/key_mobile_sites_smooth.py b/tools/perf/page_sets/key_mobile_sites_smooth.py index c836d86..865d1df6 100644 --- a/tools/perf/page_sets/key_mobile_sites_smooth.py +++ b/tools/perf/page_sets/key_mobile_sites_smooth.py
@@ -28,8 +28,7 @@ if name == '': name = url super(KeyMobileSitesSmoothPage, self).__init__( - url=url, page_set=page_set, name=name, - credentials_path='data/credentials.json', tags=tags, + url=url, page_set=page_set, name=name, tags=tags, shared_page_state_class=shared_page_state.SharedMobilePageState) self.action_on_load_complete = action_on_load_complete
diff --git a/tools/perf/page_sets/key_silk_cases.py b/tools/perf/page_sets/key_silk_cases.py index 92ad8880..70eed60 100644 --- a/tools/perf/page_sets/key_silk_cases.py +++ b/tools/perf/page_sets/key_silk_cases.py
@@ -19,7 +19,7 @@ if not name.startswith('http'): name = url.split('/')[-1] super(KeySilkCasesPage, self).__init__( - url=url, page_set=page_set, credentials_path = 'data/credentials.json', + url=url, page_set=page_set, shared_page_state_class=shared_page_state.SharedMobilePageState, name=name) self._run_no_page_interactions = run_no_page_interactions @@ -467,8 +467,6 @@ url='http://plus.google.com/app/basic/stream', page_set=page_set, run_no_page_interactions=run_no_page_interactions) - self.credentials = 'google' - def RunNavigateSteps(self, action_runner): super(Page22, self).RunNavigateSteps(action_runner) action_runner.WaitForJavaScriptCondition(
diff --git a/tools/perf/page_sets/pathological_mobile_sites.py b/tools/perf/page_sets/pathological_mobile_sites.py index 514f3cc4..c6ca7f27 100644 --- a/tools/perf/page_sets/pathological_mobile_sites.py +++ b/tools/perf/page_sets/pathological_mobile_sites.py
@@ -10,7 +10,7 @@ def __init__(self, url, page_set): super(PathologicalMobileSitesPage, self).__init__( - url=url, page_set=page_set, credentials_path='data/credentials.json', + url=url, page_set=page_set, shared_page_state_class=shared_page_state.SharedMobilePageState, name=url)
diff --git a/tools/perf/page_sets/simple_mobile_sites.py b/tools/perf/page_sets/simple_mobile_sites.py index 587245c0..805541a4 100644 --- a/tools/perf/page_sets/simple_mobile_sites.py +++ b/tools/perf/page_sets/simple_mobile_sites.py
@@ -13,7 +13,6 @@ url=url, page_set=page_set, shared_page_state_class=shared_page_state.Shared10InchTabletPageState, - credentials_path='data/credentials.json', name=url) def RunNavigateSteps(self, action_runner):
diff --git a/tools/perf/page_sets/top_10.py b/tools/perf/page_sets/top_10.py index 2d7b0a4..ab9029b 100644 --- a/tools/perf/page_sets/top_10.py +++ b/tools/perf/page_sets/top_10.py
@@ -7,14 +7,12 @@ class SimplePage(page_module.Page): - def __init__(self, url, page_set, credentials='', name=''): + def __init__(self, url, page_set, name=''): if name == '': name = url super(SimplePage, self).__init__( url, page_set=page_set, name=name, - credentials_path='data/credentials.json', shared_page_state_class=shared_page_state.SharedDesktopPageState) - self.credentials = credentials def RunPageInteractions(self, action_runner): pass @@ -34,8 +32,7 @@ def __init__(self, page_set): super(Gmail, self).__init__( url='https://mail.google.com/mail/', - page_set=page_set, - credentials='google') + page_set=page_set) def RunNavigateSteps(self, action_runner): super(Gmail, self).RunNavigateSteps(action_runner) @@ -48,8 +45,7 @@ def __init__(self, page_set): super(GoogleCalendar, self).__init__( url='https://www.google.com/calendar/', - page_set=page_set, - credentials='google') + page_set=page_set) def RunNavigateSteps(self, action_runner): super(GoogleCalendar, self).RunNavigateSteps(action_runner) @@ -67,8 +63,7 @@ def __init__(self, page_set): super(Youtube, self).__init__( url='http://www.youtube.com', - page_set=page_set, - credentials='google') + page_set=page_set) def RunNavigateSteps(self, action_runner): super(Youtube, self).RunNavigateSteps(action_runner) @@ -80,7 +75,6 @@ super(Facebook, self).__init__( url='https://www.facebook.com/barackobama', page_set=page_set, - credentials='facebook2', name='Facebook') def RunNavigateSteps(self, action_runner):
diff --git a/tools/perf/page_sets/top_25_smooth.py b/tools/perf/page_sets/top_25_smooth.py index 42296c5..8d5ee5c2 100644 --- a/tools/perf/page_sets/top_25_smooth.py +++ b/tools/perf/page_sets/top_25_smooth.py
@@ -24,14 +24,12 @@ class TopSmoothPage(page_module.Page): - def __init__(self, url, page_set, name='', credentials=None): + def __init__(self, url, page_set, name=''): if name == '': name = url super(TopSmoothPage, self).__init__( url=url, page_set=page_set, name=name, - shared_page_state_class=shared_page_state.SharedDesktopPageState, - credentials_path='data/credentials.json') - self.credentials = credentials + shared_page_state_class=shared_page_state.SharedDesktopPageState) def RunPageInteractions(self, action_runner): action_runner.Wait(1)
diff --git a/tools/perf/page_sets/top_pages.py b/tools/perf/page_sets/top_pages.py index bf15991..75c3530 100644 --- a/tools/perf/page_sets/top_pages.py +++ b/tools/perf/page_sets/top_pages.py
@@ -10,14 +10,12 @@ class TopPages(page_module.Page): def __init__(self, url, page_set, shared_page_state_class, - name='', credentials=None): + name=''): if name == '': name = url super(TopPages, self).__init__( url=url, page_set=page_set, name=name, - credentials_path='data/credentials.json', shared_page_state_class=shared_page_state_class) - self.credentials = credentials class GoogleWebSearchPage(TopPages): @@ -48,8 +46,7 @@ shared_page_state_class=shared_page_state_class) def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(GoogleImageSearchPage, self).RunNavigateSteps(action_runner) @@ -65,8 +62,7 @@ shared_page_state_class=shared_page_state_class) def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(GmailPage, self).RunNavigateSteps(action_runner) action_runner.WaitForJavaScriptCondition( 'window.gmonkey !== undefined &&' @@ -85,8 +81,7 @@ shared_page_state_class=shared_page_state_class) def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(GoogleCalendarPage, self).RunNavigateSteps(action_runner) action_runner.Wait(2) action_runner.WaitForElement('div[class~="navForward"]') @@ -114,8 +109,7 @@ shared_page_state_class=shared_page_state_class) def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(GoogleDocPage, self).RunNavigateSteps(action_runner) action_runner.Wait(2) action_runner.WaitForJavaScriptCondition( @@ -134,8 +128,7 @@ shared_page_state_class=shared_page_state_class) def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(GooglePlusPage, self).RunNavigateSteps(action_runner) action_runner.WaitForElement(text='Home') @@ -152,8 +145,7 @@ shared_page_state_class=shared_page_state_class) def RunNavigateSteps(self, action_runner): - google_login.LoginGoogleAccount(action_runner, 'googletest', - self.credentials_path) + google_login.LoginGoogleAccount(action_runner, 'googletest') super(YoutubePage, self).RunNavigateSteps(action_runner) action_runner.Wait(2)
diff --git a/tools/perf/page_sets/tough_compositor_cases.py b/tools/perf/page_sets/tough_compositor_cases.py index 7ae3a6e..1a601cb6 100644 --- a/tools/perf/page_sets/tough_compositor_cases.py +++ b/tools/perf/page_sets/tough_compositor_cases.py
@@ -10,7 +10,7 @@ def __init__(self, url, page_set): super(ToughCompositorPage, self).__init__( - url=url, page_set=page_set, credentials_path = 'data/credentials.json', + url=url, page_set=page_set, shared_page_state_class=shared_page_state.SharedMobilePageState, name=url)
diff --git a/tools/perf/page_sets/tough_pinch_zoom_cases.py b/tools/perf/page_sets/tough_pinch_zoom_cases.py index 2c3dc50f..2df13b2b 100644 --- a/tools/perf/page_sets/tough_pinch_zoom_cases.py +++ b/tools/perf/page_sets/tough_pinch_zoom_cases.py
@@ -13,8 +13,7 @@ name = url super(ToughPinchZoomCasesPage, self).__init__( url=url, page_set=page_set, name=name, - shared_page_state_class=shared_page_state.SharedDesktopPageState, - credentials_path = 'data/credentials.json') + shared_page_state_class=shared_page_state.SharedDesktopPageState) self.target_scale_factor = page_set.target_scale_factor def RunPinchGesture(self, action_runner, left_anchor_ratio=0.5, @@ -60,8 +59,6 @@ url='https://mail.google.com/mail/', page_set=page_set) - self.credentials = 'google' - def RunNavigateSteps(self, action_runner): super(GmailPage, self).RunNavigateSteps(action_runner) action_runner.WaitForJavaScriptCondition( @@ -78,8 +75,6 @@ url='https://www.google.com/calendar/', page_set=page_set) - self.credentials = 'google' - def RunNavigateSteps(self, action_runner): super(GoogleCalendarPage, self).RunNavigateSteps(action_runner) action_runner.Wait(2) @@ -93,8 +88,6 @@ url='https://www.google.com/search?q=cats&tbm=isch', page_set=page_set) - self.credentials = 'google' - class YoutubePage(ToughPinchZoomCasesPage): @@ -105,8 +98,6 @@ url='http://www.youtube.com', page_set=page_set) - self.credentials = 'google' - def RunNavigateSteps(self, action_runner): super(YoutubePage, self).RunNavigateSteps(action_runner) action_runner.Wait(2) @@ -136,7 +127,6 @@ super(FacebookPage, self).__init__( url='http://www.facebook.com/barackobama', page_set=page_set, name='Facebook') - self.credentials = 'facebook' def RunNavigateSteps(self, action_runner): super(FacebookPage, self).RunNavigateSteps(action_runner)
diff --git a/tools/perf/page_sets/tough_scheduling_cases.py b/tools/perf/page_sets/tough_scheduling_cases.py index 31e725a..d5606514 100644 --- a/tools/perf/page_sets/tough_scheduling_cases.py +++ b/tools/perf/page_sets/tough_scheduling_cases.py
@@ -10,7 +10,7 @@ def __init__(self, url, page_set): super(ToughSchedulingCasesPage, self).__init__( - url=url, page_set=page_set, credentials_path='data/credentials.json', + url=url, page_set=page_set, shared_page_state_class=shared_page_state.SharedMobilePageState, name=url.split('/')[-1])
diff --git a/tools/perf/page_sets/typical_10_mobile.py b/tools/perf/page_sets/typical_10_mobile.py index 58df35ae..4a5fa32 100644 --- a/tools/perf/page_sets/typical_10_mobile.py +++ b/tools/perf/page_sets/typical_10_mobile.py
@@ -11,7 +11,6 @@ def __init__(self, url, page_set, name=''): super(Typical10MobilePage, self).__init__( url=url, page_set=page_set, name=name, - credentials_path = 'data/credentials.json', shared_page_state_class=shared_page_state.SharedMobilePageState) def RunPageInteractions(self, action_runner):