From 459efd9f46c9d6f22865419f768e6acf7b5ab3d4 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 29 Oct 2021 19:48:56 +0200 Subject: [PATCH] iridium-browser 2021.10.95.1 [base 95.0.4638.69] --- DEPS | 6 +- ash/strings/ash_strings_ar.xtb | 2 +- ash/strings/ash_strings_as.xtb | 6 +- ash/strings/ash_strings_hr.xtb | 4 +- ash/strings/ash_strings_pt-PT.xtb | 2 +- ash/strings/ash_strings_sq.xtb | 2 +- ash/strings/ash_strings_sv.xtb | 2 +- ash/strings/ash_strings_te.xtb | 2 +- .../chromium/base/PackageManagerUtils.java | 27 +- build/util/LASTCHANGE | 2 +- build/util/LASTCHANGE.committime | 2 +- chrome/VERSION | 2 +- chrome/android/aapt2.config | 2 + .../chrome/browser/DefaultBrowserInfo.java | 2 +- .../customtabs/CustomTabDelegateFactory.java | 49 +-- .../externalnav/UrlOverridingTest.java | 143 ++++++- .../ChromeActionModeHandlerUnitTest.java | 3 +- .../app/resources/generated_resources_as.xtb | 8 +- .../app/resources/generated_resources_ca.xtb | 8 +- .../app/resources/generated_resources_de.xtb | 2 +- .../app/resources/generated_resources_es.xtb | 14 +- .../app/resources/generated_resources_fa.xtb | 2 +- .../app/resources/generated_resources_gl.xtb | 8 +- .../app/resources/generated_resources_gu.xtb | 2 +- .../app/resources/generated_resources_hr.xtb | 2 +- .../app/resources/generated_resources_pl.xtb | 2 +- .../resources/generated_resources_pt-PT.xtb | 6 +- .../app/resources/generated_resources_ru.xtb | 2 +- .../app/resources/generated_resources_sk.xtb | 2 +- .../app/resources/generated_resources_sv.xtb | 4 +- .../app/resources/generated_resources_te.xtb | 52 +-- .../strings/accessibility_strings_pl.xtb | 2 +- .../strings/accessibility_strings_te.xtb | 2 +- .../new_tab_page/realbox/realbox_match.js | 25 +- .../browser/signin/force_signin_verifier.cc | 8 +- .../signin/force_signin_verifier_unittest.cc | 25 ++ .../DefaultBrowserPromoUtilsTest.java | 9 +- .../android_chrome_strings_te.xtb | 6 +- .../gaiacp/strings/gaia_resources_te.xtb | 2 +- .../resources/cart/cart-product-extraction.js | 5 - .../strings/camera_strings_pt-BR.xtb | 2 +- chromeos/strings/chromeos_strings_eu.xtb | 22 +- chromeos/strings/chromeos_strings_fa.xtb | 4 +- chromeos/strings/chromeos_strings_te.xtb | 2 +- .../translations/browser_ui_strings_pt-PT.xtb | 2 +- .../translations/browser_ui_strings_te.xtb | 2 +- .../data/log_list.json | 8 +- .../ExternalNavigationHandler.java | 368 ++++++++++++---- .../ExternalNavigationHandlerTest.java | 52 ++- .../policy/resources/policy_templates_es.xtb | 4 +- .../policy/resources/policy_templates_ru.xtb | 8 +- .../policy/resources/policy_templates_th.xtb | 2 +- components/strings/components_strings_ca.xtb | 4 +- components/strings/components_strings_es.xtb | 42 +- components/strings/components_strings_ja.xtb | 2 +- components/strings/components_strings_sv.xtb | 4 +- components/strings/components_strings_te.xtb | 12 +- components/version_info/version_info.cc | 2 +- .../android_webapps_strings_hi.xtb | 2 +- .../renderer_host/navigation_request.cc | 24 +- content/common/debug_utils.h | 7 +- content/common/user_agent.cc | 2 +- gpu/config/gpu_lists_version.h | 2 +- .../config/generated/luci/cr-buildbucket.cfg | 392 ------------------ infra/config/generated/luci/project.cfg | 6 + infra/config/lib/ci.star | 3 - infra/config/main.star | 2 +- .../resources/ios_chromium_strings_sv.xtb | 4 +- .../ios_google_chrome_strings_sv.xtb | 4 +- .../app/strings/resources/ios_strings_eu.xtb | 2 +- .../app/strings/resources/ios_strings_nl.xtb | 2 +- .../strings/resources/ios_strings_pt-PT.xtb | 4 +- .../app/strings/resources/ios_strings_te.xtb | 6 +- ios/chrome/browser/ui/reading_list/BUILD.gn | 1 + .../ui/reading_list/reading_list_egtest.mm | 7 + mojo/core/dispatcher.cc | 2 +- mojo/core/node_controller.cc | 7 + remoting/resources/remoting_strings_te.xtb | 2 +- services/network/web_transport.cc | 2 +- services/network/web_transport_unittest.cc | 4 +- testing/buildbot/chromium.chromiumos.json | 48 +-- testing/buildbot/chromium.fyi.json | 208 +++++----- testing/buildbot/variants.pyl | 32 +- .../strings/translations/blink_strings_te.xtb | 10 +- .../renderer/core/layout/layout_block.cc | 8 + .../webmediaplayer_ms_compositor.cc | 18 +- third_party/maldoca/README.chromium | 2 +- .../maldoca/src/maldoca/base/encoding_error.h | 2 +- .../media/engine/webrtc_voice_engine.cc | 9 +- .../engine/webrtc_voice_engine_unittest.cc | 13 +- tools/metrics/histograms/enums.xml | 1 + .../metadata/android/histograms.xml | 10 + .../translations/ui_chromeos_strings_bg.xtb | 2 +- .../translations/ui_chromeos_strings_eu.xtb | 2 +- ui/strings/translations/ui_strings_de.xtb | 4 +- v8/include/v8-version.h | 2 +- .../backend/ia32/code-generator-ia32.cc | 2 +- v8/src/execution/isolate-inl.h | 2 +- v8/src/heap/cppgc/marker.cc | 1 + v8/src/heap/cppgc/marking-state.h | 23 +- v8/src/ic/accessor-assembler.cc | 4 +- v8/src/ic/ic.cc | 8 +- weblayer/browser/android/javatests/BUILD.gn | 1 + .../android/javatests/skew/expectations.txt | 41 +- .../weblayer/test/ExternalNavigationTest.java | 203 +++++---- .../weblayer/test/NavigationTest.java | 9 +- .../ExternalNavigationDelegateImpl.java | 13 +- .../android/shell_apk/AndroidManifest.xml | 28 +- 108 files changed, 1135 insertions(+), 1056 deletions(-) diff --git DEPS DEPS index 1e4bce97a43d8..68cac237bd145 100644 --- DEPS +++ DEPS @@ -235,7 +235,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': 'de85930031e48845aaa3cca64ecff4155fa60b0d', + 'v8_revision': 'b5fa92428c9d4516ebdc72643ea980d8bde8f987', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. @@ -1619,7 +1619,7 @@ deps = { Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '49b15bf7791dd4f07640ca1d0500b5d2992a57c8', 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '8d8c0b440022c84386e02cc0c24c053aa7920be1', + Var('webrtc_git') + '/src.git' + '@' + 'cbad18b147e06f27082e0ff9312aeed86e6632b6', 'src/third_party/libgifcodec': Var('skia_git') + '/libgifcodec' + '@'+ Var('libgifcodec_revision'), @@ -1677,7 +1677,7 @@ deps = { Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@e6fa7edb39e5a98d56a686f4a25345a0c8d2bb4d', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@415409a0c68e42a43a027ea143af711237c0f342', 'condition': 'checkout_src_internal', }, diff --git ash/strings/ash_strings_ar.xtb ash/strings/ash_strings_ar.xtb index c5dac14afa82d..815f506d902dc 100644 --- ash/strings/ash_strings_ar.xtb +++ ash/strings/ash_strings_ar.xtb @@ -786,7 +786,7 @@ تفعيل المكبِّر لم يتم استخدام قلم الشاشة منذ أكثر من أسبوع. تم إيقاف هذه الشبكة من قِبل مشرفك. -تدوير تلقائي +التدوير التلقائي فتح الملفات تسجيل الدخول الوصول عبر مفتاح تبديل diff --git ash/strings/ash_strings_as.xtb ash/strings/ash_strings_as.xtb index 9272a93364b4d..cc626554abc8b 100644 --- ash/strings/ash_strings_as.xtb +++ ash/strings/ash_strings_as.xtb @@ -5,7 +5,7 @@ ( Hz) লৈ সলনি কৰা হৈছে। সালসলনিসমূহ ৰাখিবলৈ নিশ্চিত কৰকত ক্লিক কৰক। পূৰ্বৱৰ্তী ছেটিংসমূহ ত পুনঃস্থাপন কৰা হ’ব। ব্লুটুথ ডিভাইচ ""এ যোৰা লাগিবলৈ অনুমতি বিচাৰে। অনুগ্ৰহ কৰি সেই ডিভাইচত এই পিন ক'ডটো দিয়ক: আংশিক স্ক্ৰীনশ্বট বাছনি কৰা হ'ল -ষ্টাইলাছৰ বেটাৰি কম আছে +ষ্টাইলাছৰ বেটাৰী কম আছে জাননী পৰিচালনা কৰিবলৈ ছেটিঙলৈ যাওক মই আপোনাৰ Google Assistant, আপোনাক গোটেই দিনটো সহায় আগবঢ়াবলৈ প্ৰস্তুত! এয়া আৰম্ভ কৰিবলৈ আপুনি চেষ্টা কৰিব পৰা কিছুমান কথা। @@ -916,7 +916,7 @@ সাধ্য সুবিধাৰ ছেটিংসমূহৰ মেনু খোলক ব্লুটুথৰ ছেটিংসমূহ প্ৰতিলিপি কৰি ক্লিপব’ৰ্ডত ৰখা হ’ল -বেটাৰিৰ বাকী থকা সময় গণনা কৰি থকা হৈছে +বেটাৰীৰ বাকী থকা সময় গণনা কৰি থকা হৈছে ৰঙৰ উচ্চ প্ৰভেদ লৈ স্ক্ৰীন কাষ্ট কৰা বন্ধ কৰক অন, সকলো এপতে @@ -1030,7 +1030,7 @@ Google Assistantএ এই ভাষাটো ব্যৱহাৰ নকৰে। অক্ষম কৰা হৈছে USB-C ডিভাইচ (পিছফালৰ সোঁফালৰ প’র্ট) -বেটাৰিৰ চ্চার্জ কম আছে (%) +বেটাৰীৰ চাৰ্জ কম আছে (%) আপোনাৰ Chromebookৰ সৈতে কেৱল অনুমোদিত Thunderbolt ডিভাইচ সমিল হয় নীয়েৰবাই দৃশ্যমানতা HSPA diff --git ash/strings/ash_strings_hr.xtb ash/strings/ash_strings_hr.xtb index bcbd38d328cb8..557d581c13fab 100644 --- ash/strings/ash_strings_hr.xtb +++ ash/strings/ash_strings_hr.xtb @@ -786,7 +786,7 @@ Evo nekih stvari koje možete pokušati pokrenuti. Pokreni povećalo Pisaljka nije korištena više od tjedan dana Tu mrežu onemogućio je vaš administrator. -Automatski izmjenjuj +Autom. zakretanje Otvori datoteke Prijava Prekidač za pristup @@ -967,7 +967,7 @@ Evo nekih stvari koje možete pokušati pokrenuti. ima . Pritisnite Alt + Pretraživanje ili Shift da biste otkazali. ne podržava razlučivost . Razlučivost je promijenjena u . Kliknite Potvrdi da biste zadržali promjene. Prethodne postavke vratit će se za . -Aut. zakret. +Autom. zakret. Prikaži prozore s trenutačne radne površine, odabran je izborni gumb Uređaj možda se neće puniti dok je uključen. Već je dodijeljeno svim radnim površinama. diff --git ash/strings/ash_strings_pt-PT.xtb ash/strings/ash_strings_pt-PT.xtb index 064c5983b924c..97ebb21cc9883 100644 --- ash/strings/ash_strings_pt-PT.xtb +++ ash/strings/ash_strings_pt-PT.xtb @@ -810,7 +810,7 @@ Eis alguns exemplos do que pode experimentar para começar. A responder noutro dispositivo… EDGE ; ; prima Pesquisar e a tecla de espaço para ver o resultado na Pesquisa Google. -OK, compreendi +OK Teclado no ecrã VPN desligado A alteração da proteção do acesso aos dados para a definição dos periféricos pode otimizar o desempenho. diff --git ash/strings/ash_strings_sq.xtb ash/strings/ash_strings_sq.xtb index f365ff3730f71..409013d88bb7d 100644 --- ash/strings/ash_strings_sq.xtb +++ ash/strings/ash_strings_sq.xtb @@ -403,7 +403,7 @@ Ja disa gjëra që mund të provosh për të filluar. Sinjal mesatar Pena me bojë Kërko prapa -Aktivizo "Qendrën e telefonit" +Aktivizo Phone Hub dritare Për të parë njoftime në ekranin e kyçjes, shkyçe për të ndryshuar cilësimin Luaj muzikë diff --git ash/strings/ash_strings_sv.xtb ash/strings/ash_strings_sv.xtb index a589a03a6775f..29d0618238dae 100644 --- ash/strings/ash_strings_sv.xtb +++ ash/strings/ash_strings_sv.xtb @@ -888,7 +888,7 @@ Det här är några saker du kan testa för att komma igång. Låser upp med fingeravtryck Av Det verkar som om Bluetooth har inaktiverats på . Aktivera Bluetooth om du vill använda Phone Hub. -Ändra sekretessinställningarna +Ändra integritetsinställningarna Internetsessionen rensas när du loggar ut. Skicka e-post Tote diff --git ash/strings/ash_strings_te.xtb ash/strings/ash_strings_te.xtb index f3cf21e744014..618bdc97084cf 100644 --- ash/strings/ash_strings_te.xtb +++ ash/strings/ash_strings_te.xtb @@ -891,7 +891,7 @@ మీ లో మీ బ్లూటూత్ ఆఫ్ చేయబడి ఉన్నట్లుగా అనిపిస్తోంది. ఫోన్ హబ్‌ను ఉపయోగించడానికి దయచేసి బ్లూటూత్‌ను ఆన్ చేయండి. గోప్యతా సెట్టింగ్‌లను సర్దుబాటు చేయండి మీరు సైన్ అవుట్ చేసినప్పుడు మీ ఇంటర్నెట్ సెషన్ క్లియర్ చేయబడుతుంది. -ఇమెయిల్ పంపు +ఈమెయిల్‌ పంపు టోటి మీరు స్క్రీన్‌ని తిప్పడం కోసం కీబోర్డ్ షార్ట్‌కట్‌ని నొక్కారు. మీరు స్క్రీన్‌ని తిప్పాలనుకుంటున్నారా? ఫోన్ హబ్ diff --git base/android/java/src/org/chromium/base/PackageManagerUtils.java base/android/java/src/org/chromium/base/PackageManagerUtils.java index 0d08cc19d2801..7aa7921e6ec3f 100644 --- base/android/java/src/org/chromium/base/PackageManagerUtils.java +++ base/android/java/src/org/chromium/base/PackageManagerUtils.java @@ -18,7 +18,14 @@ import java.util.List; */ public class PackageManagerUtils { private static final String TAG = "PackageManagerUtils"; - private static final String SAMPLE_URL = "http://"; + + // This is the intent Android uses internally to detect browser apps. + // See + // https://cs.android.com/android/_/android/platform/packages/modules/Permission/+/android12-release:PermissionController/src/com/android/permissioncontroller/role/model/BrowserRoleBehavior.java;drc=86fa7d5dfa43f66b170f93ade4f59b9a770be32f;l=50 + public static final Intent BROWSER_INTENT = new Intent() + .setAction(Intent.ACTION_VIEW) + .addCategory(Intent.CATEGORY_BROWSABLE) + .setData(Uri.fromParts("http", "", null)); /** * Retrieve information about the Activity that will handle the given Intent. @@ -60,14 +67,6 @@ public class PackageManagerUtils { return Collections.emptyList(); } - /** - * @return Intent to query a list of installed web browsers. - */ - public static Intent getQueryInstalledBrowsersIntent() { - return new Intent(Intent.ACTION_VIEW, Uri.parse(SAMPLE_URL)) - .addCategory(Intent.CATEGORY_BROWSABLE); - } - /** * @return Intent to query a list of installed home launchers. */ @@ -79,7 +78,7 @@ public class PackageManagerUtils { * @return Default ResolveInfo to handle a VIEW intent for a url. */ public static ResolveInfo resolveDefaultWebBrowserActivity() { - return resolveActivity(getQueryInstalledBrowsersIntent(), 0); + return resolveActivity(BROWSER_INTENT, PackageManager.MATCH_DEFAULT_ONLY); } /** @@ -87,7 +86,13 @@ public class PackageManagerUtils { * may appear twice if it has multiple intent handlers. */ public static List queryAllWebBrowsersInfo() { - return queryIntentActivities(getQueryInstalledBrowsersIntent(), PackageManager.MATCH_ALL); + // Copying these flags from Android source for detecting the list of installed browsers. + // Apparently MATCH_ALL doesn't include MATCH_DIRECT_BOOT_*. + // See + // https://cs.android.com/android/_/android/platform/packages/modules/Permission/+/android12-release:PermissionController/src/com/android/permissioncontroller/role/model/BrowserRoleBehavior.java;drc=86fa7d5dfa43f66b170f93ade4f59b9a770be32f;l=114 + int flags = PackageManager.MATCH_ALL | PackageManager.MATCH_DIRECT_BOOT_AWARE + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.MATCH_DEFAULT_ONLY; + return queryIntentActivities(BROWSER_INTENT, flags); } /** diff --git build/util/LASTCHANGE build/util/LASTCHANGE index e0e0c70225764..e5ac205b0e6a2 100644 --- build/util/LASTCHANGE +++ build/util/LASTCHANGE @@ -1,2 +1,2 @@ -LASTCHANGE=d31a821ec901f68d0d34ccdbaea45b4c86ce543e-refs/branch-heads/4638@{#871} +LASTCHANGE=6a1600ed572fedecd573b6c2b90a22fe6392a410-refs/branch-heads/4638@{#984} LASTCHANGE_YEAR=2021 diff --git build/util/LASTCHANGE.committime build/util/LASTCHANGE.committime index 9bc7154531d92..c8ba6ff714fec 100644 --- build/util/LASTCHANGE.committime +++ build/util/LASTCHANGE.committime @@ -1 +1 @@ -1634342933 \ No newline at end of file +1635379694 \ No newline at end of file diff --git chrome/VERSION chrome/VERSION index 375aacc02d93a..6ab6fb4ca08ab 100644 --- chrome/VERSION +++ chrome/VERSION @@ -1,4 +1,4 @@ MAJOR=2021 MINOR=10 BUILD=95 -PATCH=0 +PATCH=1 diff --git chrome/android/aapt2.config chrome/android/aapt2.config index a1e0ee95d7f01..ea85a3ea1cb22 100644 --- chrome/android/aapt2.config +++ chrome/android/aapt2.config @@ -1 +1,3 @@ +drawable/ic_launcher#no_collapse +drawable/ic_launcher_round#no_collapse drawable/shortcut_incognito#no_collapse diff --git chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java index 173a1bd3dd42b..9d7bbd002ed76 100644 --- chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java +++ chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java @@ -170,7 +170,7 @@ public final class DefaultBrowserInfo { List ris = PackageManagerUtils.queryAllWebBrowsersInfo(); if (ris != null) { for (ResolveInfo ri : ris) { - String packageName = ri.activityInfo.applicationInfo.packageName; + String packageName = ri.activityInfo.packageName; if (!uniquePackages.add(packageName)) continue; if (isSystemPackage(ri)) { diff --git chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java index dad88fe8dc49f..96bbbb0226f9c 100644 --- chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java +++ chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java @@ -20,7 +20,6 @@ import androidx.annotation.VisibleForTesting; import androidx.browser.trusted.TrustedWebActivityDisplayMode.ImmersiveMode; import org.chromium.base.ContextUtils; -import org.chromium.base.IntentUtils; import org.chromium.base.PackageManagerUtils; import org.chromium.base.supplier.Supplier; import org.chromium.cc.input.BrowserControlsState; @@ -125,39 +124,25 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { // instead. boolean isExternalProtocol = !UrlUtilities.isAcceptedScheme(intent.toUri(0)); boolean hasDefaultHandler = hasDefaultHandler(intent); - try { - // For a URL chrome can handle and there is no default set, handle it ourselves. - if (!hasDefaultHandler) { - if (!TextUtils.isEmpty(mClientPackageName) - && isPackageSpecializedHandler(mClientPackageName, intent)) { - intent.setPackage(mClientPackageName); - } else if (!isExternalProtocol) { - return StartActivityIfNeededResult.HANDLED_WITHOUT_ACTIVITY_START; - } + // For a URL chrome can handle and there is no default set, handle it ourselves. + if (!hasDefaultHandler) { + if (!TextUtils.isEmpty(mClientPackageName) + && isPackageSpecializedHandler(mClientPackageName, intent)) { + // Package and Selector cannot be set at the same time. + intent.setSelector(null); + intent.setPackage(mClientPackageName); + } else if (!isExternalProtocol) { + return StartActivityIfNeededResult.HANDLED_WITHOUT_ACTIVITY_START; } + } - if (proxy) { - dispatchAuthenticatedIntent(intent); - mHasActivityStarted = true; - return StartActivityIfNeededResult.HANDLED_WITH_ACTIVITY_START; - } else { - // If android fails to find a handler, handle it ourselves. - Context context = getAvailableContext(); - if (context instanceof Activity - && ((Activity) context).startActivityIfNeeded(intent, -1)) { - mHasActivityStarted = true; - return StartActivityIfNeededResult.HANDLED_WITH_ACTIVITY_START; - } - } - return StartActivityIfNeededResult.HANDLED_WITHOUT_ACTIVITY_START; - } catch (SecurityException e) { - // https://crbug.com/808494: Handle the URL in Chrome if dispatching to another - // application fails with a SecurityException. This happens due to malformed - // manifests in another app. - return StartActivityIfNeededResult.HANDLED_WITHOUT_ACTIVITY_START; - } catch (RuntimeException e) { - IntentUtils.logTransactionTooLargeOrRethrow(e, intent); - return StartActivityIfNeededResult.HANDLED_WITHOUT_ACTIVITY_START; + if (proxy) { + dispatchAuthenticatedIntent(intent); + mHasActivityStarted = true; + return StartActivityIfNeededResult.HANDLED_WITH_ACTIVITY_START; + } else { + // Defer to ExternalNavigationHandler to call startActivityIfNeeded. + return StartActivityIfNeededResult.DID_NOT_HANDLE; } } diff --git chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java index 291f6584e3de9..5873f4bacd9e8 100644 --- chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java +++ chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java @@ -7,9 +7,15 @@ package org.chromium.chrome.browser.externalnav; import android.app.Activity; import android.app.Instrumentation; import android.app.Instrumentation.ActivityMonitor; +import android.content.ComponentName; import android.content.Context; +import android.content.ContextWrapper; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.SystemClock; import android.support.test.InstrumentationRegistry; @@ -28,8 +34,10 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.android.support.PackageManagerWrapper; import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ContextUtils; +import org.chromium.base.PackageManagerUtils; import org.chromium.base.test.util.ApplicationTestUtils; import org.chromium.base.test.util.CallbackHelper; import org.chromium.base.test.util.CommandLineFlags; @@ -46,6 +54,7 @@ import org.chromium.chrome.browser.tab.TabCreationState; import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver; import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeTabbedActivityTestRule; +import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType; import org.chromium.components.external_intents.InterceptNavigationDelegateImpl; import org.chromium.content_public.browser.LoadUrlParams; @@ -57,6 +66,8 @@ import org.chromium.net.test.EmbeddedTestServer; import org.chromium.ui.base.PageTransition; import org.chromium.url.GURL; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -105,6 +116,10 @@ public class UrlOverridingTest { BASE_PATH + "navigation_to_file_scheme_via_intent_uri.html"; private static final String SUBFRAME_REDIRECT_WITH_PLAY_FALLBACK = BASE_PATH + "subframe_navigation_with_play_fallback.html"; + private static final String REDIRECT_TO_OTHER_BROWSER = + BASE_PATH + "redirect_to_other_browser.html"; + + private static final String OTHER_BROWSER_PACKAGE = "com.other.browser"; private static class TestTabObserver extends EmptyTabObserver { private final CallbackHelper mFinishCallback; @@ -136,8 +151,51 @@ public class UrlOverridingTest { } } + private static ResolveInfo newResolveInfo(String packageName) { + ActivityInfo ai = new ActivityInfo(); + ai.packageName = packageName; + ai.name = "Name: " + packageName; + ai.applicationInfo = new ApplicationInfo(); + ResolveInfo ri = new ResolveInfo(); + ri.activityInfo = ai; + return ri; + } + + private static class TestContext extends ContextWrapper { + public TestContext(Context baseContext) { + super(baseContext); + } + + @Override + public PackageManager getPackageManager() { + return new PackageManagerWrapper(super.getPackageManager()) { + @Override + public List queryIntentActivities(Intent intent, int flags) { + if ((intent.getPackage() != null + && intent.getPackage().equals(OTHER_BROWSER_PACKAGE)) + || intent.filterEquals(PackageManagerUtils.BROWSER_INTENT)) { + return Arrays.asList(newResolveInfo(OTHER_BROWSER_PACKAGE)); + } + + return TestContext.super.getPackageManager().queryIntentActivities( + intent, flags); + } + + @Override + public ResolveInfo resolveActivity(Intent intent, int flags) { + if (intent.getPackage() != null + && intent.getPackage().equals(OTHER_BROWSER_PACKAGE)) { + return newResolveInfo(OTHER_BROWSER_PACKAGE); + } + return TestContext.super.getPackageManager().resolveActivity(intent, flags); + } + }; + } + } + private ActivityMonitor mActivityMonitor; private EmbeddedTestServer mTestServer; + private Context mContextToRestore; @Before public void setUp() throws Exception { @@ -146,12 +204,19 @@ public class UrlOverridingTest { filter.addDataScheme("market"); mActivityMonitor = InstrumentationRegistry.getInstrumentation().addMonitor( filter, new Instrumentation.ActivityResult(Activity.RESULT_OK, null), true); - mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext()); + mTestServer = mActivityTestRule.getTestServer(); } @After public void tearDown() { - mTestServer.stopAndDestroyServer(); + if (mContextToRestore != null) { + ContextUtils.initApplicationContextForTests(mContextToRestore); + } + } + + private void setUpTestContext() { + mContextToRestore = ContextUtils.getApplicationContext(); + ContextUtils.initApplicationContextForTests(new TestContext(mContextToRestore)); } private void loadUrlAndWaitForIntentUrl( @@ -371,10 +436,10 @@ public class UrlOverridingTest { String fallbackUrl = mTestServer.getURL(FALLBACK_LANDING_PATH); String originalUrl = mTestServer.getURL(NAVIGATION_WITH_FALLBACK_URL_PAGE + "?replace_text=" + Base64.encodeToString( - ApiCompatibilityUtils.getBytesUtf8("PARAM_FALLBACK_URL"), Base64.URL_SAFE) + ApiCompatibilityUtils.getBytesUtf8("PARAM_FALLBACK_URL"), Base64.URL_SAFE) + ":" + Base64.encodeToString( - ApiCompatibilityUtils.getBytesUtf8(fallbackUrl), Base64.URL_SAFE)); + ApiCompatibilityUtils.getBytesUtf8(fallbackUrl), Base64.URL_SAFE)); loadUrlAndWaitForIntentUrl(originalUrl, true, false, false, fallbackUrl, true); } @@ -393,13 +458,10 @@ public class UrlOverridingTest { byte[] base64FallbackUrl = Base64.encode(ApiCompatibilityUtils.getBytesUtf8(fallbackUrl), Base64.URL_SAFE); - String originalUrl = mTestServer.getURL( - NAVIGATION_WITH_FALLBACK_URL_PARENT_FRAME_PAGE - + "?replace_text=" - + Base64.encodeToString(paramBase64Name, Base64.URL_SAFE) + ":" + String originalUrl = mTestServer.getURL(NAVIGATION_WITH_FALLBACK_URL_PARENT_FRAME_PAGE + + "?replace_text=" + Base64.encodeToString(paramBase64Name, Base64.URL_SAFE) + ":" + Base64.encodeToString(base64ParamFallbackUrl, Base64.URL_SAFE) - + "&replace_text=" - + Base64.encodeToString(paramBase64Value, Base64.URL_SAFE) + ":" + + "&replace_text=" + Base64.encodeToString(paramBase64Value, Base64.URL_SAFE) + ":" + Base64.encodeToString(base64FallbackUrl, Base64.URL_SAFE)); // Fallback URL from a subframe will not trigger main or sub frame navigation. @@ -557,4 +619,65 @@ public class UrlOverridingTest { loadUrlAndWaitForIntentUrl( mTestServer.getURL(SUBFRAME_REDIRECT_WITH_PLAY_FALLBACK), false, false); } + + private void runRedirectToOtherBrowserTest(Instrumentation.ActivityResult chooserResult) { + Context context = ContextUtils.getApplicationContext(); + Intent intent = new Intent( + Intent.ACTION_VIEW, Uri.parse(mTestServer.getURL(REDIRECT_TO_OTHER_BROWSER))); + intent.setClassName(context, ChromeLauncherActivity.class.getName()); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + IntentFilter filter = new IntentFilter(Intent.ACTION_PICK_ACTIVITY); + Instrumentation.ActivityMonitor monitor = + InstrumentationRegistry.getInstrumentation().addMonitor( + filter, chooserResult, true); + + ChromeTabbedActivity activity = ApplicationTestUtils.waitForActivityWithClass( + ChromeTabbedActivity.class, Stage.CREATED, () -> context.startActivity(intent)); + mActivityTestRule.setActivity(activity); + + CriteriaHelper.pollUiThread(() -> { + Criteria.checkThat(monitor.getHits(), Matchers.is(1)); + }, 10000L, CriteriaHelper.DEFAULT_POLLING_INTERVAL); + InstrumentationRegistry.getInstrumentation().removeMonitor(monitor); + } + + @Test + @LargeTest + public void testRedirectToOtherBrowser_ChooseSelf() throws TimeoutException { + setUpTestContext(); + Intent result = new Intent(Intent.ACTION_CREATE_SHORTCUT); + + runRedirectToOtherBrowserTest( + new Instrumentation.ActivityResult(Activity.RESULT_OK, result)); + + // Wait for the target (data) URL to load in the tab. + CriteriaHelper.pollUiThread(() -> { + Criteria.checkThat( + mActivityTestRule.getActivity().getActivityTab().getUrl().getScheme(), + Matchers.is(UrlConstants.DATA_SCHEME)); + }); + } + + @Test + @LargeTest + public void testRedirectToOtherBrowser_ChooseOther() throws TimeoutException { + setUpTestContext(); + IntentFilter filter = new IntentFilter(Intent.ACTION_VIEW); + filter.addDataScheme(UrlConstants.DATA_SCHEME); + filter.addCategory(Intent.CATEGORY_BROWSABLE); + Instrumentation.ActivityMonitor monitor = + InstrumentationRegistry.getInstrumentation().addMonitor(filter, null, true); + + Intent result = new Intent(Intent.ACTION_VIEW); + result.setComponent(new ComponentName(OTHER_BROWSER_PACKAGE, "activity")); + + runRedirectToOtherBrowserTest( + new Instrumentation.ActivityResult(Activity.RESULT_OK, result)); + + CriteriaHelper.pollUiThread( + () -> { Criteria.checkThat(monitor.getHits(), Matchers.is(1)); }); + + InstrumentationRegistry.getInstrumentation().removeMonitor(monitor); + } } diff --git chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java index cbfccca071ecd..8164f35c4bd0d 100644 --- chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java +++ chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java @@ -149,8 +149,7 @@ public class ChromeActionModeHandlerUnitTest { } // Mock intent for querying web browsers. - packageManager.addResolveInfoForIntent( - PackageManagerUtils.getQueryInstalledBrowsersIntent(), browsersList); + packageManager.addResolveInfoForIntent(PackageManagerUtils.BROWSER_INTENT, browsersList); // Mock intent for querying home launchers. packageManager.addResolveInfoForIntent( diff --git chrome/app/resources/generated_resources_as.xtb chrome/app/resources/generated_resources_as.xtb index 017c03e402494..5f8ee69f138e1 100644 --- chrome/app/resources/generated_resources_as.xtb +++ chrome/app/resources/generated_resources_as.xtb @@ -1034,7 +1034,7 @@ জাননীসমূহ স্বয়ংক্ৰিয়ভাৱে অৱৰোধ কৰা হৈছে কাৰণ আপুনি সাধাৰণতে সেইসমূহক অনুমতি নিদিয়ে {NUM_EXTENSIONS,plural, =1{এক্সটেনশ্বনটো ইনষ্টল কৰিবলৈ ক্লিক কৰক}one{এই এক্সটেনশ্বনসমূহ ইনষ্টল কৰিবলৈ ক্লিক কৰক}other{এই এক্সটেনশ্বনসমূহ ইনষ্টল কৰিবলৈ ক্লিক কৰক}} অথবা তাতকৈ কম বর্ণ ব্যৱহাৰ কৰক -% বেটাৰি +% বেটাৰী আপোনাক ক্লিক কৰিবলৈ টিপা সুবিধাটো আৰু সমল টানি আনি এৰিবলৈ টিপা সুবিধাটো সক্ষম/অক্ষম কৰিবলৈ দিয়ে এই প্লাগইনটো লুকুৱাওক মধ্যম (আমি চুপাৰিছ কৰোঁ) @@ -4654,7 +4654,7 @@ ""এ এই ব্ৰাউজাৰটো ডিবাগ কৰা আৰম্ভ কৰিছে পিন সলনি কৰক {COUNT,plural, =0{আটাইবোৰ &ইনক’গনিট’ ৱিণ্ড’ত খোলক}=1{&ইনক’গনিট’ ৱিণ্ড’ত খোলক}one{আটাইবোৰ ({COUNT}) &ইনক’গনিট’ ৱিণ্ড’ত খোলক}other{আটাইবোৰ ({COUNT}) &ইনক’গনিট’ ৱিণ্ড’ত খোলক}} -বেটাৰি চ্চাৰ্জ হোৱাৰ শতাংশ +বেটাৰী চাৰ্জ হোৱাৰ শতাংশ অন্য &সাধাৰণ বানান পৰীক্ষক ব্যৱহাৰ কৰক পাছৱৰ্ডবোৰ পৰীক্ষা কৰক @@ -6114,7 +6114,7 @@ আপডে’ট কৰি থকা হৈছে ক'লা আপডে’টৰ বাবে পর্যাপ্ত খালী ঠাই নাই -বেটাৰিৰ চাৰ্জ +বেটাৰীৰ চাৰ্জ ছাইটসমূহে সচৰাচৰ ভিডিঅ' চাটৰ দৰে সুবিধাসমূহৰ বাবে আপোনাৰ ভিডিঅ' কেমেৰা ব্যৱহাৰ কৰে পাঠ টাইপ কৰিবলৈ Daydream কীব'ৰ্ড এপ্‌টো আপডে'ট কৰক ক্ৰম অনুসৰি সজাওক @@ -7431,7 +7431,7 @@ আপোনাৰ কম্পিউটাৰে এই মুহূৰ্তত বহুত বেছি কাম কৰি আছে৷ পিছত আকৌ চেষ্টা কৰক। '' অনুমতিটো প্ৰত্যাহাৰ কৰক নেটস্কেপৰ আন্তঃৰাষ্ট্ৰীয় ষ্টেপ আপ -বেটাৰি খৰকৈ ব্যৱহাৰ কৰক (বৰ্তমান %) +বেটাৰী খৰকৈ ব্যৱহাৰ কৰক (বৰ্তমান %) ৰ সৈতে এখন ৱিণ্ড’ শ্বেয়াৰ কৰিছে। চিহ্নৰ আকাৰ ডিবাগিঙৰ সুবিধাসমূহ এই ডিভাইচটোত সম্পূৰ্ণৰূপে সক্ষম কৰা হোৱা নাছিল। diff --git chrome/app/resources/generated_resources_ca.xtb chrome/app/resources/generated_resources_ca.xtb index fd31603428c42..d916e4646b8c3 100644 --- chrome/app/resources/generated_resources_ca.xtb +++ chrome/app/resources/generated_resources_ca.xtb @@ -1115,7 +1115,7 @@ Pots gestionar la configuració d'aquest compte instal·lant l'aplicació Family Per obtenir funcions addicionals, fes servir una base de connexió Dell que funcioni amb aquest Chromebook. Surt de la pantalla completa Ara aquesta pàgina es mostra a pantalla completa. -Copia l'enllaç que dirigeix al contingut marcat +Copia l'enllaç al contingut marcat USB-C Afegeix una Wi-Fi... La sincronització començarà quan surtis de la configuració de la sincronització @@ -2878,7 +2878,7 @@ i Ctrl+Alt+disminueix la brillantor per reduir. No incloguis l'adreça electrònica No s'ha pogut iniciar el mode de demostració Vols permetre que aquest lloc web vegi la teva clau de seguretat? -Copia l'enllaç que dirigeix al contingut marcat +Copia l'enllaç al contingut marcat Definició de Respostes ràpides Continua impedint que aquest lloc web accedeixi a la meva ubicació No ho he entès. @@ -5099,7 +5099,7 @@ Assegureu-vos que no es pugui accedir a informació sensible. Els llocs web no poden interrompre't per demanar-te permís per enviar notificacions &Obre totes les adreces d'interès Optimitza els vídeos en pantalla completa -Tipus de lletra +Fonts  fitxers Activa la xarxa mòbil Silencia les notificacions @@ -5726,7 +5726,7 @@ Assegureu-vos que no es pugui accedir a informació sensible. "" pot llegir imatges, vídeos i fitxers d'àudio de les ubicacions marcades. &Obre sempre els fitxers d'aquest tipus S'està baixant -Mida mínima de tipus de lletra +Mida mínima de la font Foto del perfil Afegeix un perfil... No inscriguis diff --git chrome/app/resources/generated_resources_de.xtb chrome/app/resources/generated_resources_de.xtb index a2ca0f84a087e..cc218b2e07875 100644 --- chrome/app/resources/generated_resources_de.xtb +++ chrome/app/resources/generated_resources_de.xtb @@ -3422,7 +3422,7 @@ Möchten Sie starten? Kein Cookie ausgewählt Energiequelle Zu kurz -Erweiterungsoptionen +Optionen Identität bestätigen Tabs von anderen Geräten Diese Einstellung wird durch eine Erweiterung erzwungen. diff --git chrome/app/resources/generated_resources_es.xtb chrome/app/resources/generated_resources_es.xtb index 1beaafb03922c..c48fac731a6fd 100644 --- chrome/app/resources/generated_resources_es.xtb +++ chrome/app/resources/generated_resources_es.xtb @@ -1812,7 +1812,7 @@ Puedes gestionar la configuración de esta cuenta instalando la aplicación Fami (Páginas de error de Chrome) Dedo 2 Envía a Google las URL de algunas de las páginas que visitas cuando tu seguridad corre peligro -Búsquedas en sitios +Búsquedas en el sitio Puedes añadir cuentas adicionales para acceder a sitios web y aplicaciones. Análisis en curso. ¿Quieres abrirlo ahora? Añadir red móvil... @@ -2140,7 +2140,7 @@ Puedes gestionar la configuración de esta cuenta instalando la aplicación Fami Selecciona el directorio raíz de las extensiones que quieras empaquetar. Para actualizar una extensión, debes seleccionar también el archivo de clave privada que se va a volver a usar. Privacy Sandbox sigue en desarrollo y está disponible en ciertas regiones. Por ahora, los sitios pueden usar Privacy Sandbox y seguir utilizando tecnologías web actuales, como las cookies de terceros. Más información Seguir silenciando el sonido -{0,plural, =1{Actualizar dispositivo dentro de 1 día}other{Actualizar dispositivo dentro de # días}} +{0,plural, =1{Actualiza el dispositivo en un plazo de 1 día}other{Actualiza el dispositivo en un plazo de # días}} : error de red Tu seguridad es importante. Dedica un momento a revisar tus extensiones ahora Permite que acceda al Asistente de Google diciendo "Hey Google" @@ -3175,7 +3175,7 @@ Puedes gestionar la configuración de esta cuenta instalando la aplicación Fami Estabilizar ubicación de clic Instalada debido a las extensiones dependientes Paisaje urbano - necesita que actualices este antes de la fecha límite. + requiere que actualices este antes de la fecha límite. Falta la clave privada de este certificado de cliente o no es válida Abrir como pestaña No se han encontrado destinos para enviar contenido. ¿Necesitas ayuda? @@ -3702,7 +3702,7 @@ Puedes gestionar la configuración de esta cuenta instalando la aplicación Fami Si quieres saber qué datos recoge Google Drive y por qué lo hace, haz clic aquí. -{0,plural, =0{Actualizar dispositivo ahora}=1{Actualizar dispositivo dentro de 1 segundo}other{Actualizar dispositivo dentro de # segundos}} +{0,plural, =0{Actualiza el dispositivo ahora}=1{Actualiza el dispositivo en un plazo de 1 segundo}other{Actualiza el dispositivo en un plazo de # segundos}} Quitar aplicaciones de Android Desinstalando ... Enviar comentarios @@ -5903,7 +5903,7 @@ Exponente público ( bits): Para inhabilitar la ubicación, desactiva el ajuste de ubicación principal en el dispositivo. También puedes desactivar el uso de sensores y redes Wi‑Fi o móviles para determinar la ubicación en los ajustes de ubicación. el tamaño de las pestañas se ajusta al ancho de la pestaña fija Gestionar dispositivos USB -{0,plural, =1{Actualizar dispositivo dentro de 1 hora}other{Actualizar dispositivo dentro de # horas}} +{0,plural, =1{Actualiza el dispositivo en un plazo de 1 hora}other{Actualiza el dispositivo en un plazo de # horas}} Navegación más rápida: por ejemplo, cargar activamente más contenido específico en función de la página actual Resaltar el cursor del ratón al moverlo Se guardará un registro de tu visita a este sitio web en tu llave de seguridad. @@ -6047,7 +6047,7 @@ Exponente público ( bits): Añadir mapeo El administrador ha bloqueado . Pide permiso al administrador para usar esta aplicación. está en pausa -{0,plural, =1{Actualizar dispositivo dentro de 1 minuto}other{Actualizar dispositivo dentro de # minutos}} +{0,plural, =1{Actualiza el dispositivo en un plazo de 1 minuto}other{Actualiza el dispositivo en un plazo de # minutos}} Portal de incógnito: Di "Hey Google" Cambiar nombre del perfil @@ -6958,7 +6958,7 @@ Pulsa un interruptor asignado para quitar la asignación. Importar marcadores Acceso directo Abrir todas () en una ventana nueva -Gestionar buscadores y búsqueda en sitios +Gestionar buscadores y búsquedas en el sitio Se ha solicitado la configuración de red de la UI. Por favor, espera... Proxy Es posible que el administrador haya eliminado o inhabilitado este usuario supervisado. Ponte en contacto con el administrador si quieres seguir iniciando sesión como este usuario. diff --git chrome/app/resources/generated_resources_fa.xtb chrome/app/resources/generated_resources_fa.xtb index 0614a251fb84d..5911da5174a39 100644 --- chrome/app/resources/generated_resources_fa.xtb +++ chrome/app/resources/generated_resources_fa.xtb @@ -6446,7 +6446,7 @@ کپی‌برداری موشواره بلوتوث مرتبط شد تغییر زبان تایپ صوتی -‏دیدن اطلاعات شبکه، مانند نشانی IP یا MAC شما +دیدن اطلاعات شبکه، مانند «نشانی واد» یا «واپایش دسترسی رسانه» شما دسترسی به عکس‌ها، موسیقی، و دیگر رسانه‌ها از رایانه شما بلوتوث در این خاموش است. گذرواژه‌تان را وارد و بلوتوث را روشن کنید. (پیش‌فرض) diff --git chrome/app/resources/generated_resources_gl.xtb chrome/app/resources/generated_resources_gl.xtb index 6730e3fa01a9d..42adf707a36a3 100644 --- chrome/app/resources/generated_resources_gl.xtb +++ chrome/app/resources/generated_resources_gl.xtb @@ -474,7 +474,7 @@ &Descartar Coloca o dedo no sensor de impresión dixital para desbloquear o dispositivo. &Restaurar grupo -Acceda a calquera por USB +Acceder a calquera por USB Menú de aplicacións Se estás utilizando un servidor proxy, comproba a configuración do teu proxy ou ponte en contacto co administrador da túa rede para comprobar que o servidor @@ -2533,7 +2533,7 @@ Se máis tarde decides que prefires que o teu fillo ou filla non utilice Voice M Iniciando Sistemas de ficheiros compartidos en rede Continuar permitindo a acceder ao teu micrófono -Le a configuración de accesibilidade +Ler a configuración de accesibilidade {NUM_FILES,plural, =1{Ten acceso permanente a un ficheiro.}other{Ten acceso permanente a # ficheiros.}} Aceleración de TrackPoint Non fiables @@ -5012,7 +5012,7 @@ Obtén máis información sobre os 1 resultado para "" Aceptar e continuar Ligazóns compatibles -Cambia a túa configuración de busca a: +Cambiar a túa configuración de busca a: {NUM_TABS,plural, =1{Grupo sen nome (1 pestana)}other{Grupo sen nome (# pestanas)}} Conéctate a Internet e téntao de novo Os sitios poden gardar e ler os datos das cookies @@ -6431,7 +6431,7 @@ Se máis tarde decides que non queres usar Voice Match, tan só tes que desactiv Rato Bluetooth sincronizado Cambiar o idioma de ditado Consultar información da rede, como o teu enderezo IP ou MAC -Accede a fotos, música e outros ficheiros multimedia desde o teu ordenador +Acceder a fotos, música e outros ficheiros multimedia desde o teu ordenador O Bluetooth está desactivado neste . Introduce o contrasinal e actívao. (predeterminado) Non permitir que os sitios descarguen varios ficheiros de forma automática diff --git chrome/app/resources/generated_resources_gu.xtb chrome/app/resources/generated_resources_gu.xtb index f8ef10573d20a..8f1cc0fbbed26 100644 --- chrome/app/resources/generated_resources_gu.xtb +++ chrome/app/resources/generated_resources_gu.xtb @@ -3537,7 +3537,7 @@ ઍપ્લિકેશનો કેવી રીતે અપલોડ કરવી તે જાણો {NUM_TABS,plural, =1{સાઇટને અનમ્યૂટ કરો}one{સાઇટને અનમ્યૂટ કરો}other{સાઇટને અનમ્યૂટ કરો}} “Ok Google” બોલીને તમારા Assistantને ઍક્સેસ કરો -સંદેશા +મેસેજ અસામાન્ય કીબોર્ડ, ગેમ કન્ટ્રોલર અને અન્ય ડિવાઇસનો ઉપયોગ કરતી સુવિધાઓ માટે સાઇટ સામાન્ય રીતે HID ડિવાઇસ સાથે કનેક્ટ કરે છે સૂચનો પ્રથમ વપરાશકર્તા diff --git chrome/app/resources/generated_resources_hr.xtb chrome/app/resources/generated_resources_hr.xtb index d83f803e46644..da7fc1a640ef3 100644 --- chrome/app/resources/generated_resources_hr.xtb +++ chrome/app/resources/generated_resources_hr.xtb @@ -7011,7 +7011,7 @@ Pritisnite dodijeljeni prekidač da biste uklonili dodjelu {COUNT,plural, =0{Nije pronađena nijedna slaba zaporka}=1{Pronađena je {COUNT} slaba zaporka}one{Pronađena je {COUNT} slaba zaporka}few{Pronađene su {COUNT} slabe zaporke}other{Pronađeno je {COUNT} slabih zaporki}} Završi proces Uvijek dopusti da web-lokacija prikazuje slike -Aut. zakret. +Autom. zakret. Pokušajte s nekim drugim sigurnosnim ključem Zadrži promjene Dodala pravila diff --git chrome/app/resources/generated_resources_pl.xtb chrome/app/resources/generated_resources_pl.xtb index c90e84c5318dd..9023168b65f29 100644 --- chrome/app/resources/generated_resources_pl.xtb +++ chrome/app/resources/generated_resources_pl.xtb @@ -7443,7 +7443,7 @@ Domena wymaga, by karta inteligentna pozostała w gnieźdz Możesz ponownie otworzyć kartę zamkniętą przez przypadek Dodaj do listy Do przeczytania Zapisz kartę -Ucieczka +Escape Skontaktuj się z administratorem sieci, by dowiedzieć się, czy zapora sieciowa nie blokuje pobrań z serwerów Google. Usuń poziom powiększenia Możesz dostosować urządzenie do swoich potrzeb. Ułatwienia dostępu możesz zawsze zmienić w Ustawieniach. diff --git chrome/app/resources/generated_resources_pt-PT.xtb chrome/app/resources/generated_resources_pt-PT.xtb index 895ce839e0d43..034fa41191891 100644 --- chrome/app/resources/generated_resources_pt-PT.xtb +++ chrome/app/resources/generated_resources_pt-PT.xtb @@ -4037,7 +4037,7 @@ Pretende pará-lo? Mostrar Enviar para a Google os URLs das páginas que visita Entrar como Convidado. -OK, compreendi +OK Idioma Mostrar substituições Esta conta é gerida por . @@ -4548,7 +4548,7 @@ Certifique-se de que não revela informações confidenciais. Está a executar o a partir da respectiva imagem de disco. Instalá-lo no computador permite executá-lo sem a imagem de disco e assegura que o mesmo é mantido atualizado. Envia automaticamente estatísticas de utilização e relatórios de falhas para a Google. Pesquise ou escreva o endereço Web -OK, compreendi +OK Palavras-passe guardadas Fechar menu de acessibilidade Falhas principais @@ -5877,7 +5877,7 @@ Certifique-se de que não revela informações confidenciais. Pretende o acesso a este site Descreva o problema antes de enviar feedback. Confirmar a palavra-passe -OK, compreendi +OK Esta ação limpa todos os dados e cookies armazenados por e respetivas apps instaladas. Para utilizar esta extensão, escreva "", prima TAB e, em seguida, introduza o seu comando ou pesquisa. Clique para sair de . diff --git chrome/app/resources/generated_resources_ru.xtb chrome/app/resources/generated_resources_ru.xtb index 5adf4c606f96a..4d7c6c36ba20c 100644 --- chrome/app/resources/generated_resources_ru.xtb +++ chrome/app/resources/generated_resources_ru.xtb @@ -2534,7 +2534,7 @@ Разрешить приложению "" доступ к этому устройству: Отключится от сети Wi-Fi Инициализация… -Общие папки сети +Общие сетевые папки Разрешить доступ к микрофону Чтение настроек специальных возможностей {NUM_FILES,plural, =1{С постоянным доступом к 1 файлу.}one{С постоянным доступом к # файлу.}few{С постоянным доступом к # файлам.}many{С постоянным доступом к # файлам.}other{С постоянным доступом к # файла.}} diff --git chrome/app/resources/generated_resources_sk.xtb chrome/app/resources/generated_resources_sk.xtb index b0881946e2efe..afa5a410747ba 100644 --- chrome/app/resources/generated_resources_sk.xtb +++ chrome/app/resources/generated_resources_sk.xtb @@ -2882,7 +2882,7 @@ stlačením klávesov Ctrl + Alt + zníženie jasu zobrazenie oddialite.Nezahŕňajte e‑mailovú adresu Nepodarilo sa spustiť režim ukážky Chcete tomuto webu povoliť zobrazenie vášho bezpečnostného kľúča? -Kopírovanie odkazu na zvýraznenie +Kopírovať odkaz na zvýraznenie Definícia v rámci rýchlych odpovedí Pokračovať v blokovaní prístupu tohto webu k polohe Je nám to ľúto, ale nebolo vám dobre rozumieť. diff --git chrome/app/resources/generated_resources_sv.xtb chrome/app/resources/generated_resources_sv.xtb index 0c34862c17861..a9e499ba7518f 100644 --- chrome/app/resources/generated_resources_sv.xtb +++ chrome/app/resources/generated_resources_sv.xtb @@ -3913,7 +3913,7 @@ och Ctrl + Alt + Minska ljusstyrka för att zooma ut. Fastställ platsen utifrån IP-adressen (standard) Fråga när en webbplats försöker få åtkomst till HID-enheter (rekommenderas) Med Googles platstjänst används källor som wifi, mobila nätverk och sensorer för att avgöra enhetens plats. -Sekretessinställningar +Integritetsinställningar SSL-servernamn för Netscape-certifikat Frigör diskutrymme, annars tas en del data bort automatiskt. Glöm mobil @@ -7599,7 +7599,7 @@ Du kan tilldela flera brytare denna åtgärd Tryck här om du vill återgå till föregående, visa historiken med snabbmenyn Namnge fönstret … Den aktuella inställningen för dataanvändning är Utan internet -I sekretessmeddelandet för G Suite for Education förklarar vi för användare av G Suite for Education och föräldrar vilken data produkten samlar in, varför den samlas in och vad som händer med den. +I integritetsmeddelandet för G Suite for Education förklarar vi för användare av G Suite for Education och föräldrar vilken data produkten samlar in, varför den samlas in och vad som händer med den. Säker DNS kanske inte alltid är tillgänglig Frigör utrymme genom att ta bort filer från lagringsutrymmet på enheten. Anslut till ett mobilnätverk diff --git chrome/app/resources/generated_resources_te.xtb chrome/app/resources/generated_resources_te.xtb index 80b023ee9fcb3..f3f7e380a36b9 100644 --- chrome/app/resources/generated_resources_te.xtb +++ chrome/app/resources/generated_resources_te.xtb @@ -539,7 +539,7 @@ ట్యాబ్‌ను చూడండి: (అతిథి) Wi-Fiని ప్రారంభించు -మీ ఇమెయిల్‌ను నమోదు చేయండి +మీ ఈమెయిల్‌ను నమోదు చేయండి భాషలు, ఇన్‌పుట్‌లు డిఫాల్ట్ తెలుపు రంగు అవతార్ బలవంతంగా మూసివేయి @@ -1005,7 +1005,7 @@ లేదంటే, ఈ ఖాతాకు చేసిన మార్పులు ఈ పరికరంలో ప్రతిబింబించడానికి ఇప్పుడు సైన్ అవుట్ చేయండి. -మీ పరికరంలో Family Link యాప్ ఇన్‌స్టాల్ చేయడం ద్వారా మీరు ఈ ఖాతా సెట్టింగ్‌లను నిర్వహించవచ్చు. మీకు ఇమెయిల్‌లో సూచనలను పంపాము. +మీ పరికరంలో Family Link యాప్ ఇన్‌స్టాల్ చేయడం ద్వారా మీరు ఈ ఖాతా సెట్టింగ్‌లను నిర్వహించవచ్చు. మీకు ఈమెయిల్‌లో సూచనలను పంపాము. అయ్యో! మిమ్మల్ని ప్రామాణీకరించడానికి ప్రయత్నిస్తున్నప్పుడు ఏదో తప్పు జరిగింది. దయచేసి మీ సైన్-ఇన్ ప్రమాణాలను ఒకటికి రెండుసార్లు తనిఖీ చేసుకుని మళ్లీ ప్రయత్నించండి. లొకేషన్ బ్లాక్ చేయబడింది యాక్టివ్ ప్రొఫైల్‌లు @@ -1164,11 +1164,11 @@ నుండి: విశ్వసనీయత సెట్టింగ్‌లు మీరు ఆ సమయం తర్వాత కూడా ఈ ను ఉపయోగించగలరు, కానీ ఆపై ఆటోమేటిక్ సాఫ్ట్‌వేర్, భద్రతాపరమైన అప్‌డేట్‌లు దీనికి అందించబడవు -ఇమెయిల్ రక్షణ +ఈమెయిల్‌ రక్షణ ప్రొఫైల్‌ను జోడిస్తోంది. దీనికి కొన్ని నిమిషాలు పట్టవచ్చు. ఎర్రర్ Chrome సింక్ నుండి డేటా -ఇమెయిల్ +ఈమెయిల్‌ కొనసాగడానికి Chromeకి అనుమతి అవసరం ముద్రణలను లిస్ట్‌ చెయ్యడంలో సమస్య ఉంది. తో మీ ముద్రణలలో కొన్ని విజయవంతంగా నమోదు చెయ్యబడకపోయి ఉండవచ్చు. పేరులో అక్షరాలు, నంబర్‌లు, ప్రత్యేక అక్షరాలను ఉపయోగించవచ్చు @@ -1628,7 +1628,7 @@ గెస్ట్ ప్రొఫైల్‌లు సపోర్ట్ చేయవు మీ తల్లి/తండ్రి నుండి అప్‌డేట్ ఫోల్డర్ క్రమబద్ధీకరించబడింది -కొనసాగించడానికి, సరే క్లిక్ చేసి, ఆపై మీ ఇమెయిల్ అడ్రస్‌ కోసం కొత్త ప్రొఫైల్‌ను రూపొందించడానికి వ్యక్తిని జోడించు క్లిక్ చేయండి. +కొనసాగించడానికి, సరే క్లిక్ చేసి, ఆపై మీ ఈమెయిల్‌ అడ్రస్‌ కోసం కొత్త ప్రొఫైల్‌ను రూపొందించడానికి వ్యక్తిని జోడించు క్లిక్ చేయండి. అన్ని కుక్కీలను బ్లాక్ చేయండి (సిఫార్సు చేయడం లేదు) Google సేవా నిబంధనలు పరికరం సర్వర్‌తో నమోదు అవుతున్నప్పుడు లోపం: . @@ -2586,7 +2586,7 @@ పాస్‌వర్డ్‌లు మరియు ఇతర సైన్-ఇన్ డేటా {NUM_FILES,plural, =0{భద్రతా తనిఖీలు పూర్తయ్యాయి. మీ డేటా అప్‌లోడ్ చేయబడుతుంది.}=1{భద్రతా తనిఖీలు పూర్తయ్యాయి. మీ ఫైల్ అప్‌లోడ్ చేయబడుతుంది.}other{భద్రతా తనిఖీలు పూర్తయ్యాయి. మీ ఫైల్స్ అప్‌లోడ్ చేయబడతాయి.}} సర్వీస్ లాగ్‌లను చూపించండి -ఇమెయిల్ అడ్రస్‌ +ఈమెయిల్‌ అడ్రస్‌ సింక్‌ మరియు వ్యక్తిగతీకరణను ఆఫ్ చేయాలా? ప్రదర్శించబడుతోంది () మీ కెమెరా పొజిషన్‌ను ట్రాక్ చేయడానికి సైట్‌లను అనుమతించకండి @@ -2891,7 +2891,7 @@ తెలియని విక్రేత అందించిన పరికరాలు Play Store అప్లికేషన్‌లు ఈ పరికరానికి యాక్సెస్‌ను కలిగి ఉన్నాయి. క్లిక్ చర్యను అమలు చేసే ముందు వేచి ఉండాల్సిన జాప్యం -ఇమెయిల్ అడ్రస్‌ని జోడించవద్దు +ఈమెయిల్‌ అడ్రస్‌ని జోడించవద్దు డెమో మోడ్‌ను ప్రారంభించలేకపోయాము మీ సెక్యూరిటీ కీని చూడటానికి ఈ సైట్‌ను అనుమతించాలా? హైలైట్ చేసిన టెక్స్ట్‌కు లింక్‌ను కాపీ చేయండి @@ -2940,7 +2940,7 @@ N/A USB4 హోమ్‌కు వెళ్లు -{COUNT,plural, =1{# కాంటాక్ట్ అందుబాటులో లేరు. వారితో సమీప షేరింగ్‌ను ఉపయోగించడానికి, వారి Google ఖాతాతో లింక్ చేసిన ఇమెయిల్ అడ్రస్‌ను మీ కాంటాక్ట్‌లకు జోడించండి.}other{# కాంటాక్ట్‌లు అందుబాటులో లేరు. వారితో సమీప షేరింగ్‌ను ఉపయోగించడానికి, వారి Google ఖాతాలతో లింక్ చేసిన ఇమెయిల్ అడ్రస్‌లను మీ కాంటాక్ట్‌లకు జోడించండి.}} +{COUNT,plural, =1{# కాంటాక్ట్ అందుబాటులో లేరు. వారితో సమీప షేరింగ్‌ను ఉపయోగించడానికి, వారి Google ఖాతాతో లింక్ చేసిన ఈమెయిల్‌ అడ్రస్‌ను మీ కాంటాక్ట్‌లకు జోడించండి.}other{# కాంటాక్ట్‌లు అందుబాటులో లేరు. వారితో సమీప షేరింగ్‌ను ఉపయోగించడానికి, వారి Google ఖాతాలతో లింక్ చేసిన ఈమెయిల్‌ అడ్రస్‌లను మీ కాంటాక్ట్‌లకు జోడించండి.}} ప్రామాణీకరణ పద్ధతి రెండు పరికరాలూ అన్‌లాక్ అయి, దగ్గరగా ఉన్నాయని, వాటిలో బ్లూటూత్ ఆన్ చేసి ఉందని నిర్ధారించుకోండి. మీరు మీ కాంటాక్ట్‌లలో లేని Chromebookతో షేర్ చేస్తుంటే, దానిలో సమీప విజిబిలిటీ ఫీచర్ ఆన్‌లో ఉందని నిర్ధారించుకోండి (స్టేటస్ ప్రాంతాన్ని తెరిచి, ఆపై సమీప విజిబిలిటీని ఆన్ చేయండి). మరింత తెలుసుకోండి చిన్న @@ -2959,7 +2959,7 @@ సేవ్ చేయబడిన వేలిముద్రలు క్లిక్ చేసినప్పుడు పాస్‌వర్డ్, మీ Google ఖాతా లో సేవ్ చేయబడుతుంది. మీరు దీన్ని గుర్తుంచుకోవాల్సిన అవసరం లేదు. -ఇమెయిల్ సైన్ చేసినవారి సర్టిఫికెట్ +ఈమెయిల్‌ సైన్ చేసినవారి సర్టిఫికెట్ ప్రమాణం ప్రొఫైల్, కు లింక్ చేయబడింది ని ప్రసారం చేయడం సాధ్యపడలేదు. @@ -3199,7 +3199,7 @@ నోటిఫికేషన్‌లను ప్రదర్శించడం ప్రింట్ చేయడం ప్రారంభమైంది సెర్చ్ చేయడానికి ఏదైనా ఇమేజ్ పైకి లాగండి -మీరు నమోదు చేసిన ఇమెయిల్, పాస్‌వర్డ్ సరిపోలలేదు +మీరు నమోదు చేసిన ఈమెయిల్‌, పాస్‌వర్డ్ సరిపోలలేదు సర్వర్‌తో కనెక్ట్ చేయడం సాధ్యపడలేదు. దయచేసి మీ నెట్‌వర్క్ కనెక్షన్‌ను చెక్ చేసి, మళ్లీ ట్రై చేయండి. మీకు ఇంకా సమస్య ఉంటే, మీ Chromebookను రీస్టార్ట్ చేయడానికి ట్రై చేయండి. ఎర్రర్ కోడ్: . డెస్క్‌టాప్‌ను ప్రసారం చేస్తున్నాము Linux ఇన్‌స్టాలర్ @@ -3802,7 +3802,7 @@ Google ఖాతాను జోడించడానికి సైన్ ఇన్ చేయండి Wi‑Fiని ఆన్ చేయండి దీన్ని మళ్లీ చూపవద్దు -ఇమెయిల్ సర్టిఫికెట్ +ఈమెయిల్‌ సర్టిఫికెట్ ఎక్స్‌టెన్షన్‌ని జోడించు కాపీని తీసివేయి వర్చువల్ మెషీన్‌లను చెక్ చేయడం విఫలమైంది @@ -4010,7 +4010,7 @@ అన్ని సైట్‌లలో ఈ పరికరంలో ఇన్‌స్టాల్ చేయి స్మార్ట్ కోట్‌లు -క్షమించండి, మీ ఇమెయిల్ లేదా పాస్‌వర్డ్ ధృవీకరించబడలేదు. దయచేసి మళ్ళీ ప్రయత్నించండి. +క్షమించండి, మీ ఈమెయిల్‌ లేదా పాస్‌వర్డ్ ధృవీకరించబడలేదు. దయచేసి మళ్ళీ ప్రయత్నించండి. వెబ్ స్టోర్‌లో తెరవండి పాస్‌వర్డ్‌ను తీసివేయి ఫుల్ స్క్రీన్ మ్యాగ్నిఫైయర్‌ను ఆన్ లేదా ఆఫ్ చేయడానికి Ctrl++M కీలను నొక్కండి. దగ్గరగా జూమ్ చేసినప్పుడు అంతటా తిరగడానికి Ctrl+Alt+బాణం కీలను నొక్కండి. @@ -4115,7 +4115,7 @@ సరఫరా చేయబడిన నమోదు మోడ్‌ను, ఆపరేటింగ్ సిస్టమ్ యొక్క ఈ వెర్షన్ మద్దతివ్వదు. మీరు తాజా వెర్షన్‌ను అమలు చేస్తున్నారని దయచేసి నిర్ధారించుకుని, మళ్లీ ప్రయత్నించండి. ఎక్స్‌టెన్ష‌న్‌‍‌ పిన్‌ను తీసివేయండి ఖాతా లేకుండా కొనసాగించు -ఈ కాంటాక్ట్‌లతో సమీప షేరింగ్‌ను ఉపయోగించడానికి, వారి Google ఖాతాతో లింక్ చేయబడిన ఇమెయిల్ అడ్రస్‌ను మీ కాంటాక్ట్‌లకు జోడించండి. +ఈ కాంటాక్ట్‌లతో సమీప షేరింగ్‌ను ఉపయోగించడానికి, వారి Google ఖాతాతో లింక్ చేయబడిన ఈమెయిల్‌ అడ్రస్‌ను మీ కాంటాక్ట్‌లకు జోడించండి. వెనుకకు వెళ్ల‌డానికి క్లిక్ చేయండి. చరిత్రను చూడటానికి నొక్కి ఉంచండి ఆటోమేటిక్ లైట్ మోడ్ ఫైల్ చాలా పెద్దదిగా ఉంది @@ -4252,7 +4252,7 @@ Play Storeను యాక్సెస్ చేయగలిగేలా ఈ యాప్‌ను అనుమతించాలి - క్లిప్‌బోర్డ్‌కు కాపీ చేసిన వచనం, చిత్రాలను సైట్ చూడాలన్నప్పుడు, అందుకు అనుమతి అడగాలి -ఇమెయిల్ గుప్తీకరణ సర్టిఫికెట్ +ఈమెయిల్‌ గుప్తీకరణ సర్టిఫికెట్ LTE మీరు ఆశిస్తున్న హోమ్ పేజీ ఇదేనా? ఈ ఎక్స్‌టెన్షన్‌ తీవ్రమైన భద్రతా భేద్యతలను కలిగి ఉంది. @@ -4285,7 +4285,7 @@ సర్టిఫికెట్ విధాన మ్యాపింగ్‌లు దీని తరువాత, అప్‌డేట్‌ల కోసం వేచి ఉండాల్సిన అవసరం లేదు ప్రస్తుత పేజీలో ఎక్స్‌టెన్ష‌న్‌ ఉండే వరకు ఈ చిహ్నం కనిపిస్తుంది. -ఇమెయిల్ అధికారి స‌ర్టిఫికేష‌న్ అధికారిక సంస్థ‌ +ఈమెయిల్‌ అధికారి స‌ర్టిఫికేష‌న్ అధికారిక సంస్థ‌ కెమెరాను తిప్పండి మళ్లీ లోడ్ చేయి ఈ సైట్‌లో, పెద్దలకు మాత్రమే తగిన కంటెంట్ ఉండవచ్చు కాబట్టి ఇది బ్లాక్ చేయబడింది @@ -4381,7 +4381,7 @@ అన్ని కుక్కీలను అనుమతించు బాహ్య ఎక్స్‌టెన్షన్‌కు chrome వెర్షన్ లేదా అంతకంటే అధిక వెర్షన్‌ను ఇన్‌స్టాల్ చేయడం అవసరం. అదనపు భద్రత కోసం, 20 గంటల తర్వాత మీ పాస్‌వర్డ్‌‌ను నమోదు చేయమని మీ Smart Lock అడుగుతుంది. -ఇమెయిల్ +ఈమెయిల్‌ ఈ పేజీని అనువదించడం సాధ్యపడలేదు Linux యాప్‌లు పనిచేసే తీరును మార్చండి. Google Play సెటప్ చేస్తోంది... @@ -4791,7 +4791,7 @@ పరికరానికి అని పేరు పెట్టండి ప్రారంభ స్క్రీన్‌కు ఈ పేజీని పిన్ చేయి... మీ ఇంటర్నెట్ కనెక్షన్ నియంత్రించబడుతోంది -ఇమెయిల్ (ఐచ్ఛికం): +ఈమెయిల్‌ (ఐచ్ఛికం): క్లిప్‌బోర్డ్‌ను చూడనీయకుండా ఈ సైట్‌ను బ్లాక్ చేయడం కొనసాగించు ఈ పరికరంతో షేర్ చేయాలా? సురక్షిత బ్రౌజింగ్‌ను ఆఫ్ చేయాలా? @@ -4866,7 +4866,7 @@ {COUNT,plural, =0{అన్నింటినీ కొత్త ట్యాబ్ గ్రూప్‌లో తెరవండి}=1{కొత్త ట్యాబ్ గ్రూప్‌లో తెరవండి}other{అన్నింటినీ ({COUNT}) కొత్త ట్యాబ్ గ్రూప్‌లో తెరవండి}} అధునాతన నెట్‌వర్క్ లక్షణాలను చూపు ప్రదర్శనను ఆఫ్ చేయండి -లింక్‌ను ఇమెయిల్ చేయి +లింక్‌ను ఈమెయిల్‌ చేయి బ్లూటూత్ పరికరాలను కనెక్ట్ చేయడానికి సైట్‌లను అనుమతించకండి పరిమాణం మార్చబడటానికి మీ కంటైనర్ సపోర్ట్ చేయదు. Linuxకు ముందుగానే కేటాయించిన స్పేస్‌ను సర్దుబాటు చేయడానికి, బ్యాకప్ చేసి, ఆపై కొత్త కంటైనర్‌లో రీస్టోర్ చేయండి. ఆటోమేటిక్‌గా సైన్ ఇన్ చేయండి @@ -5702,7 +5702,7 @@ {NUM_TABS,plural, =1{ట్యాబ్‌ను గ్రూప్‌నకు జోడించు}other{ట్యాబ్‌లను గ్రూప్‌నకు జోడించు}} ఈ విండోకు పేరు పెట్టండి ఐటెమ్ -మీ ఇమెయిల్ అడ్రస్‌ను తెలియపరచడానికి అనుమతి +మీ ఈమెయిల్‌ అడ్రస్‌ను తెలియపరచడానికి అనుమతి పాస్‌‌వర్డ్‌లు సరిపోలలేదు మీ Google ఖాతాకు సైన్ ఇన్ చేయడం కోసం Smart Lockని ఉపయోగించడానికి, సెట్టింగ్‌లు > కనెక్ట్ చేసిన పరికరాలు > మీ ఫోన్ > Smart Lockకు వెళ్లండి. అందుబాటులో కాంటాక్ట్‌లు ఏవీ లేవు @@ -5789,7 +5789,7 @@ ఛార్జ్ చేసుకునే సోర్స్ ఈ పేజీని మళ్లీ లోడ్ చేయి మీ డిఫాల్ట్ బ్రౌజర్‌గా Chrome సెట్ చేయబడింది -ఇమెయిల్ అడ్రస్‌ +ఈమెయిల్‌ అడ్రస్‌ నెట్‌వర్క్ రకం లేదు వెబ్‌సైట్‌లు భౌగోళికస్థానం, మైక్రోఫోన్, కెమెరా మొదలైనటువంటి లక్షణాలను ఉపయోగించవచ్చా లేదా అనేది పేర్కొనే సెట్టింగ్‌లను ఎడిట్ చేయండి స్క్రీన్ లాక్ మరియు సైన్ ఇన్ @@ -5800,7 +5800,7 @@ Linux పునరుద్ధరణను రద్దు చేస్తోంది యాక్టివిటీలను పొందుతోంది... ఏ ఇతర ఖాతాల కోసం మీ సెక్యూరిటీ కీలో తగినంత స్థలం లేదు. -మీరు మీ ఇమెయిల్ క్లయింట్‌లో కొత్త మెసేజ్‌ను క్రియేట్ చేయడం లేదా మీ ఆన్‌లైన్ క్యాలెండర్‌కు కొత్త ఈవెంట్‌లను జోడించడం వంటి కొన్ని రకాల లింక్‌లపై క్లిక్ చేసినప్పుడు సైట్‌లు ప్రత్యేక టాస్క్‌లను హ్యాండిల్ చేయగలవు +మీరు మీ ఈమెయిల్‌ క్లయింట్‌లో కొత్త మెసేజ్‌ను క్రియేట్ చేయడం లేదా మీ ఆన్‌లైన్ క్యాలెండర్‌కు కొత్త ఈవెంట్‌లను జోడించడం వంటి కొన్ని రకాల లింక్‌లపై క్లిక్ చేసినప్పుడు సైట్‌లు ప్రత్యేక టాస్క్‌లను హ్యాండిల్ చేయగలవు ఎనేబుల్ చేసినప్పుడు, సైట్‌లు వారి కంటెంట్, అలాగే సర్వీస్‌లను అందించడం కోసం, ఇక్కడ చూపిన గోప్యతా-సంరక్షణ పద్ధతులను ఉపయోగించవచ్చు. వీటిలో క్రాస్-సైట్ ట్రాకింగ్ ప్రత్యామ్నాయాలు కలిగి ఉంటాయి. కాలానుగుణంగా మరిన్ని ట్రయల్‌లు జోడించబడవచ్చు. బదిలీని రద్దు చేశారు కొత్త హాట్‌స్పాట్‌కి కనెక్ట్ చేయాలా? @@ -6229,7 +6229,7 @@ సైట్ బ్లూటూత్‌ను ఉపయోగించవచ్చు వర్చువల్ రియాలిటీ లేదా ఫిట్‌నెస్ ట్రాకింగ్ వంటి ఫీచర్‌ల కోసం సాధారణంగా సైట్‌లు పరికర మోషన్ సెన్సార్‌లను ఉపయోగించుకుంటాయి వెబ్ యాప్ ఫైళ్ల రకాలను తెరవాల్సినప్పుడు అనుమతి అడగాలి -కొనసాగించాలంటే, సరే క్లిక్ చేసి, ఆపై మీ ఇమెయిల్ అడ్రస్‌ కోసం కొత్త ప్రొఫైల్‌ను సృష్టించడానికి వ్యక్తిని జోడించు క్లిక్ చేయండి. +కొనసాగించాలంటే, సరే క్లిక్ చేసి, ఆపై మీ ఈమెయిల్‌ అడ్రస్‌ కోసం కొత్త ప్రొఫైల్‌ను సృష్టించడానికి వ్యక్తిని జోడించు క్లిక్ చేయండి. మీ నిర్వాహకుడు ఇన్‌స్టాల్ చేశారు క్యాప్టివ్ పోర్టల్ లాగిన్ పేజీని సందర్శించండి మీ యాప్‌లను సృష్టించి, పరీక్షించడానికి Android డీబగ్ బ్రిడ్జ్ (ADB)ను ప్రారంభించండి. ఈ చర్య వలన Google ద్వారా ధృవీకరించబడని Android యాప్‌ల ఇన్‌స్టాలేషన్ అనుమతించబడుతుందని, దీనిని నిలిపివేయడానికి ఫ్యాక్టరీ రీసెట్ చేయాల్సి ఉంటుందని గుర్తుంచుకోండి. @@ -6606,7 +6606,7 @@ PKCS #12 ఫైళ్ళు ఈ పేజీని మళ్లీ లోడ్ చేయి ఈ రకమైన ఫైల్ మీ పరికరానికి హాని కలిగించవచ్చు. ఏది ఏమైనా ను ఉంచాలని అనుకుంటున్నారా? -దయచేసి చెల్లుబాటు అయ్యే ఇమెయిల్ అడ్రస్‌ను నమోదు చేయండి +దయచేసి చెల్లుబాటు అయ్యే ఈమెయిల్‌ అడ్రస్‌ను నమోదు చేయండి నిర్దిష్ట వీడియో సైట్‌ల కోసం అందుబాటులో ఉంది USB కీబోర్డ్ కనెక్ట్ చేయబడింది గడువు ముగింపు సంవత్సరం @@ -7152,7 +7152,7 @@ లో ఎల్లప్పుడూ బహుళ ఆటోమేటిక్‌ డౌన్‌లోడ్‌లను బ్లాక్ చేయి పేజీ మూలాన్ని &వీక్షించండి బ్యాకప్ పూర్తయింది -ఇమెయిల్ వినియోగదారులను గుర్తించడానికి ఈ ప్రమాణపత్రాన్ని విశ్వసిస్తుంది +ఈమెయిల్‌ వినియోగదారులను గుర్తించడానికి ఈ ప్రమాణపత్రాన్ని విశ్వసిస్తుంది సైట్ USB పరికరాలను యాక్సెస్ చేయాలనుకున్నప్పుడు అడుగు ఇప్పుడు పూర్తి స్క్రీన్‌లో ఉంది, అది మీ మౌస్ కర్సర్‌ను నిలిపివేసింది. రంగు మోడ్ @@ -7499,7 +7499,7 @@ మీ నిర్వాహకుడు ఈ పరికరాన్ని ఉపసంహరించారు. దయచేసి ముఖ్యమైన ఫైళ్లను సేవ్ చేసి, ఆపై మళ్లీ ప్రారంభించండి. పరికరంలో ఉన్న మొత్తం డేటా తొలగించబడుతుంది. Google డిస్క్‌కు బ్యాకప్ చేయండి ఇన్‌స్టాలేషన్ పూర్తయింది -ఇమెయిల్ +ఈమెయిల్‌ స్వీయ పూరింపు సెట్టింగ్‌లను చదవడానికి మరియు మార్చడానికి అనుమతి లొకేషన్‌ను ఉపయోగించండి. మీ పరికరం లొకేషన్‌ను ఉపయోగించడానికి లొకేషన్ అనుమతిని కలిగిన యాప్‌లు, సర్వీస్‌లను అనుమతించండి. కాలానుగుణంగా లొకేషన్ డేటాను Google సేకరించవచ్చు. లొకేషన్ ఖచ్చితత్వాన్ని, లొకేషన్ ఆధారిత సర్వీస్‌లను మెరుగుపరచడానికి ఈ డేటాను అనామక మార్గంలో ఉపయోగించవచ్చు. స్పెల్ చెక్ నిఘంటువును డౌన్‌లోడ్ చేయడం సాధ్యపడలేదు @@ -7565,7 +7565,7 @@ USB మౌస్ కనెక్ట్ చేయబడింది మెరుగైన సురక్షిత బ్రౌజింగ్ ద్వారా ఈ ఎక్స్‌టెన్షన్ విశ్వసించబడదు. ఇందులో పెద్దలకు మాత్రమే తగిన కంటెంట్ ఉండవచ్చు -క్షమించండి, మీ ఇమెయిల్ లేదా పాస్‌వర్డ్ ధృవీకరించబడలేదు. మొదట నెట్‌వర్క్‌కి కనెక్ట్ చేయడానికి ప్రయత్నించండి. +క్షమించండి, మీ ఈమెయిల్‌ లేదా పాస్‌వర్డ్ ధృవీకరించబడలేదు. మొదట నెట్‌వర్క్‌కి కనెక్ట్ చేయడానికి ప్రయత్నించండి. SMB షేర్ మార్పులు వర్తించేలా చేయడం జరుగుతోంది... తక్షణ టెథెరింగ్ డిజేబుల్ చేయడం diff --git chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb index 2d72c971c1c06..15d1e469ca8eb 100644 --- chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb +++ chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pl.xtb @@ -1109,7 +1109,7 @@ wk Nie ma poprzedniej opcji Nie ma poprzedniej sekcji -Ucieczka +Escape tltip Zapomnij Aby zatrzymać odczytywanie w ChromeVox, naciśnij klawisz Ctrl. diff --git chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb index bb2cfdc581548..2b1fc8eba14ed 100644 --- chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb +++ chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb @@ -660,7 +660,7 @@ Chrome బ్రౌజర్ మెనూను తెరవడానికి, hdnggrp ChromeVox తెలుసుకునే మోడ్ ప్రధాన మెనూ -వచనం, ఇమెయిల్ నమోదును ఎడిట్ చేయండి +వచనం, ఈమెయిల్‌ నమోదును ఎడిట్ చేయండి తదుపరి చెక్‌బాక్స్ , రేడియో బటన్ ఎంపిక తీసివేయబడింది డిఫాల్ట్ చర్యను అమలు చేయండి diff --git chrome/browser/resources/new_tab_page/realbox/realbox_match.js chrome/browser/resources/new_tab_page/realbox/realbox_match.js index 0347627f0c054..56a1607fbeeb0 100644 --- chrome/browser/resources/new_tab_page/realbox/realbox_match.js +++ chrome/browser/resources/new_tab_page/realbox/realbox_match.js @@ -237,19 +237,13 @@ class RealboxMatchElement extends PolymerElement { if (!this.match) { return ''; } - const spanContents = document.createElement('span'); - spanContents.innerHTML = this.match.answer ? + + const contents = this.match.answer ? decodeString16(this.match.answer.firstLine) : decodeString16(this.match.contents); - const contents = spanContents.textContent || spanContents.innerText; - - const spanDescription = document.createElement('span'); - spanDescription.innerHTML = this.match.answer ? + const description = this.match.answer ? decodeString16(this.match.answer.secondLine) : decodeString16(this.match.description); - const description = - spanDescription.textContent || spanDescription.innerText; - return this.match.swapContentsAndDescription ? description + this.separatorText_ + contents : contents + this.separatorText_ + description; @@ -274,15 +268,20 @@ class RealboxMatchElement extends PolymerElement { return ''; } const match = this.match; - if (match.answer) { - return decodeString16(match.answer.firstLine); - } + // `match.answer.firstLine` is generated by appending an optional additional + // text from the answer's first line to `match.contents`, making the latter + // a prefix of the former. Thus `match.answer.firstLine` can be rendered + // using the markup in `match.contentsClass` which contains positions in + // `match.contents` and the markup to be applied to those positions. + // See //chrome/browser/ui/webui/realbox/realbox_handler.cc + const matchContents = + match.answer ? match.answer.firstLine : match.contents; return match.swapContentsAndDescription ? this.renderTextWithClassifications_( decodeString16(match.description), match.descriptionClass) .innerHTML : this.renderTextWithClassifications_( - decodeString16(match.contents), match.contentsClass) + decodeString16(matchContents), match.contentsClass) .innerHTML; } diff --git chrome/browser/signin/force_signin_verifier.cc chrome/browser/signin/force_signin_verifier.cc index 281cac1a88470..951efcd003c65 100644 --- chrome/browser/signin/force_signin_verifier.cc +++ chrome/browser/signin/force_signin_verifier.cc @@ -76,7 +76,7 @@ void ForceSigninVerifier::OnAccessTokenFetchComplete( backoff_request_timer_.Start( FROM_HERE, backoff_entry_.GetTimeUntilRelease(), base::BindOnce(&ForceSigninVerifier::SendRequest, - base::Unretained(this))); + weak_factory_.GetWeakPtr())); access_token_fetcher_.reset(); } return; @@ -117,7 +117,7 @@ void ForceSigninVerifier::SendRequest() { if (content::GetNetworkConnectionTracker()->GetConnectionType( &type, base::BindOnce(&ForceSigninVerifier::SendRequestIfNetworkAvailable, - base::Unretained(this)))) { + weak_factory_.GetWeakPtr()))) { SendRequestIfNetworkAvailable(type); } } @@ -131,13 +131,11 @@ void ForceSigninVerifier::SendRequestIfNetworkAvailable( signin::ScopeSet oauth2_scopes; oauth2_scopes.insert(GaiaConstants::kChromeSyncOAuth2Scope); - // It is safe to use Unretained(this) here given that the callback - // will not be invoked if this object is deleted. access_token_fetcher_ = std::make_unique( "force_signin_verifier", identity_manager_, oauth2_scopes, base::BindOnce(&ForceSigninVerifier::OnAccessTokenFetchComplete, - base::Unretained(this)), + weak_factory_.GetWeakPtr()), signin::PrimaryAccountAccessTokenFetcher::Mode::kImmediate); } diff --git chrome/browser/signin/force_signin_verifier_unittest.cc chrome/browser/signin/force_signin_verifier_unittest.cc index ccc6b8ded24d0..4a260d2a52f2b 100644 --- chrome/browser/signin/force_signin_verifier_unittest.cc +++ chrome/browser/signin/force_signin_verifier_unittest.cc @@ -386,3 +386,28 @@ TEST(ForceSigninVerifierTest, ChangeNetworkFromWIFITo4GWithFinishedRequest) { // No more request because it's verfied already. EXPECT_EQ(nullptr, verifier.access_token_fetcher()); } + +// Regression test for https://crbug.com/1259864 +TEST(ForceSigninVerifierTest, DeleteWithPendingRequestShouldNotCrash) { + base::test::TaskEnvironment scoped_task_env; + signin::IdentityTestEnvironment identity_test_env; + const AccountInfo account_info = + identity_test_env.MakePrimaryAccountAvailable( + "email@test.com", signin::ConsentLevel::kSync); + + ConfigureNetworkConnectionTracker(NetworkConnectionType::Undecided, + NetworkResponseType::Asynchronous); + + { + ForceSigninVerifierWithAccessToInternalsForTesting verifier( + identity_test_env.identity_manager()); + + // There is no network type at first. + ASSERT_EQ(nullptr, verifier.access_token_fetcher()); + + // Delete the verifier while the request is pending. + } + + // Waiting for the network type returns, this should not crash. + SpinCurrentSequenceTaskRunner(); +} diff --git chrome/browser/ui/android/default_browser_promo/java/src/org/chromium/chrome/browser/ui/default_browser_promo/DefaultBrowserPromoUtilsTest.java chrome/browser/ui/android/default_browser_promo/java/src/org/chromium/chrome/browser/ui/default_browser_promo/DefaultBrowserPromoUtilsTest.java index cfbb6b275f98e..073db5ed0fe89 100644 --- chrome/browser/ui/android/default_browser_promo/java/src/org/chromium/chrome/browser/ui/default_browser_promo/DefaultBrowserPromoUtilsTest.java +++ chrome/browser/ui/android/default_browser_promo/java/src/org/chromium/chrome/browser/ui/default_browser_promo/DefaultBrowserPromoUtilsTest.java @@ -81,14 +81,12 @@ public class DefaultBrowserPromoUtilsTest { DefaultBrowserPromoDeps deps = DefaultBrowserPromoDeps.getInstance(); infoList.add(createResolveInfo(DefaultBrowserPromoDeps.CHROME_STABLE_PACKAGE_NAME, 1)); - packageManager.addResolveInfoForIntent( - PackageManagerUtils.getQueryInstalledBrowsersIntent(), infoList); + packageManager.addResolveInfoForIntent(PackageManagerUtils.BROWSER_INTENT, infoList); Assert.assertFalse("Chrome stable should not be counted as a pre-stable channel", deps.isChromePreStableInstalled()); infoList.add(createResolveInfo("com.android.chrome.123", 1)); - packageManager.addResolveInfoForIntent( - PackageManagerUtils.getQueryInstalledBrowsersIntent(), infoList); + packageManager.addResolveInfoForIntent(PackageManagerUtils.BROWSER_INTENT, infoList); Assert.assertFalse("A random package should not be counted as a pre-stable channel", deps.isChromePreStableInstalled()); @@ -96,8 +94,7 @@ public class DefaultBrowserPromoUtilsTest { if (name.equals(DefaultBrowserPromoDeps.CHROME_STABLE_PACKAGE_NAME)) continue; List list = new ArrayList<>(infoList); list.add(createResolveInfo(name, 1)); - packageManager.addResolveInfoForIntent( - PackageManagerUtils.getQueryInstalledBrowsersIntent(), list); + packageManager.addResolveInfoForIntent(PackageManagerUtils.BROWSER_INTENT, list); Assert.assertTrue(name + " should be considered as a pre-stable channel", deps.isChromePreStableInstalled()); } diff --git chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb index cdc8a48cad699..fd3816350e764 100644 --- chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb +++ chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb @@ -749,7 +749,7 @@ అన్ని సైట్‌లను అనుమతించండి గత 7 రోజులు మీ డౌన్‌లోడ్‌లను వెతకండి -ఇమెయిల్ +ఈమెయిల్‌ లో ఈవెంట్‌ను క్రియేట్ చేయండి దగ్గరకు జూమ్ చేయడాన్ని నిరోధించడానికి ప్రయత్నించే వెబ్‌సైట్ రిక్వెస్ట్‌ను పట్టించుకోదు అప్‌డేట్‌లను Chrome చెక్ చేయలేదు @@ -1108,7 +1108,7 @@ ఖాతాను జోడించండి కథనాలు ఇక్కడ కనిపిస్తాయి, మీరు ఆఫ్‌లైన్‌లో ఉన్నప్పటికీ కూడా వీటిని చదవవచ్చు కింది చిట్కాలను ప్రయత్నించండి: మీ పరికరంలో తగినంత స్థలం ఉన్నట్లు నిర్ధారించుకోండి, మళ్లీ ఎగుమతి చేయడానికి ప్రయత్నించండి. -లో ఇమెయిల్‌ను క్రియేట్ చేయండి +లో ఈమెయిల్‌ను క్రియేట్ చేయండి ఆటో-ఫిల్ సెర్చ్‌లు, URLలు మొబైల్ డేటాను ఉపయోగిస్తుంది మీరు బుక్‌మార్క్ చేసే పేజీలు ఇక్కడ కనిపిస్తాయి @@ -1139,7 +1139,7 @@ ఫైల్స్‌ను సేవ్ చేయవలసి వచ్చినప్పుడు అనుమతి అడగాలి వీటిని ఎప్పటికీ అనువదించవద్దు మీ పరికరానికి కనెక్ట్ అవ్వడానికి కు సమీపంలోని పరికరాల అనుమతి అవసరం -ఇమెయిల్‌ను క్రియేట్ చేయండి +ఈమెయిల్‌ను క్రియేట్ చేయండి అన్నీ తొలగించు {READING_LIST_REMINDER_NOTIFICATION_SUBTITLE,plural, =1{మీకు చదవని పేజీ ఉంది}other{మీకు చదవని పేజీలు ఉన్నాయి}} చరిత్ర ఏదీ కనుగొనబడలేదు diff --git chrome/credential_provider/gaiacp/strings/gaia_resources_te.xtb chrome/credential_provider/gaiacp/strings/gaia_resources_te.xtb index 70754aa7f4535..1cc89042b6ef0 100644 --- chrome/credential_provider/gaiacp/strings/gaia_resources_te.xtb +++ chrome/credential_provider/gaiacp/strings/gaia_resources_te.xtb @@ -6,7 +6,7 @@ మీ కార్యాలయ ఖాతా పాస్‌వర్డ్‌ను మీ Windows ప్రొఫైల్‌తో సింక్ చేస్తున్నప్పుడు సమస్య ఏర్పడింది. దయచేసి మీ అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి. మీ సెషన్ గడువు ముగిసింది. మీ కార్యాలయ ఖాతాతో సైన్ ఇన్ చేయండి. మీ కార్యాలయ ఖాతాకు సైన్ ఇన్ చేయడం సాధ్యపడదు. దయచేసి మీ అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి. -ఈ ఇమెయిల్‌కు సైన్ ఇన్ చేయడానికి అనుమతి లేదు. మీరు కార్యాలయం లేదా పాఠశాలకు ఉపయోగించే ఖాతాతో మళ్లీ ట్రై చేయండి. మీరు ఇప్పటికీ సైన్ ఇన్ చేయలేకపోతే, అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి. +ఈ ఈమెయిల్‌కు సైన్ ఇన్ చేయడానికి అనుమతి లేదు. మీరు కార్యాలయం లేదా పాఠశాలకు ఉపయోగించే ఖాతాతో మళ్లీ ట్రై చేయండి. మీరు ఇప్పటికీ సైన్ ఇన్ చేయలేకపోతే, అడ్మినిస్ట్రేటర్‌ను సంప్రదించండి. ఈ పరికరంలో వ్యక్తిగత ఖాతాతో సైన్ ఇన్ చేయడానికి అనుమతి లేదు. దయచేసి కార్యాలయ ఖాతాతో లాగిన్ చేయండి. మీ ప్రస్తుత Windows పాస్‌వర్డ్‌ను ఎంటర్ చేయకుండా కొనసాగితే, ఈ పరికరంలోని డేటాను మీరు శాశ్వతంగా కోల్పోయే అవకాశం ఉంది. ఈ ఖాతాని ఉపయోగించి ఇప్పటికే ఈ కంప్యూటర్‌లో ఒక వినియోగదారు జోడించబడ్డారు. వేరే ఖాతాతో సైన్ ఇన్ చేయండి. diff --git chrome/renderer/resources/cart/cart-product-extraction.js chrome/renderer/resources/cart/cart-product-extraction.js index a7cfc2d6fc08e..a99106525cb9e 100644 --- chrome/renderer/resources/cart/cart-product-extraction.js +++ chrome/renderer/resources/cart/cart-product-extraction.js @@ -934,11 +934,6 @@ async function extractAllItems(root) { if (document.URL.includes("samsclub.com")) { items = root.querySelectorAll(".sc-cart-item-shipping"); - } else if (document.URL.includes("zazzle.com")) { - // TODO(yuezhanggg@): This is a workaround due to that zazzle.com - // has two images in cart item. Remove this when we support cart - // with multiple images for one product. - items = root.getElementsByClassName("CartItem CartLineItem"); } else if (document.URL.includes("kiehls.com") || document.URL.includes("laroche-posay.us")) { items = root.querySelectorAll(".c-product-table__row"); diff --git chromeos/components/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb chromeos/components/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb index fac4471223124..b54aea881e629 100644 --- chromeos/components/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb +++ chromeos/components/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb @@ -80,7 +80,7 @@ Parar de gravar Salvar metadados 3 por 3 -Número de ouro +Proporção áurea Câmera externa Agradecemos o feedback sobre o app Câmera. diff --git chromeos/strings/chromeos_strings_eu.xtb chromeos/strings/chromeos_strings_eu.xtb index c90b7e0a8c208..b2a43bff263df 100644 --- chromeos/strings/chromeos_strings_eu.xtb +++ chromeos/strings/chromeos_strings_eu.xtb @@ -12,9 +12,9 @@ EAP-TTLS domeinuak kudeatzen du gailua. Errore ezezaguna. -DNSaren itxarote-denbora +DNSaren latentzia Atari bat dagoela dirudi -HTTPS eskaeren itxarote-denbora +HTTPS eskaeren latentzia Ikusi Chromebook-ei buruzko aldizkari digital berria sortzaileentzat Sare-zerbitzuaren ataria dirudi Seinale ahula @@ -25,7 +25,7 @@ Egokitu eskanea daitekeen eremura Nukleo guztien multzokatze bat da hau Ping egin dakioke atebideari -HTTPS eskaeren itxarote-denbora oso luzea +HTTPS eskaeren latentzia oso luzea Hutsegitea - Iragazkiak huts egin du EAP-MD5 Eskaintzak @@ -115,7 +115,7 @@ Hutsegitea - Atea irekita dago {0,plural, =1{Editatu fitxategia}other{Editatu fitxategiak}}  GHz -DNSaren itxarote-denbora onartzen den atalasetik askoz gorago dago +DNSaren latentzia onartzen den atalasetik askoz gorago dago Abian da proba Konektatuta Ziur inprimatze-historia guztia garbitu nahi duzula? Ez dira garbituko abian dauden inprimatze-lanak. @@ -161,7 +161,7 @@ barru iraungiko da pasahitza Ez dago inprimatze-lanik abian Gutxienez 500 MB eduki behar dituzu libre memoriaren proba bat egiteko. Tokia egiteko, joan Ezarpenak > Biltegi-kudeatzailea atalera. -HTTP eskaeren itxarote-denbora +HTTP eskaeren latentzia Ikusi pantaila osoan Ikuspegi orokorra Geldituta: errore ezezaguna @@ -268,7 +268,7 @@ Sakatu mikrofonoa zerbait galdetu nahi badidazu. Erdiratu / Atariaren egoera -HTTP eskaeren itxarote-denbora luzea da +HTTP eskaeren latentzia luzea da Gehitu pertsona bat Ezezaguna Hasierako hornitzailearen kodea @@ -362,7 +362,7 @@ Sakatu mikrofonoa zerbait galdetu nahi badidazu. Sareko gailuak Fitxategi mota EAP -HTTP eskaeren itxarote-denbora oso luzea da +HTTP eskaeren latentzia oso luzea da MSCHAP {NUMBER_OF_PAGES,plural, =1{Amaitu da eskaneatzen. 1 orri eskaneatu da.}other{Amaitu da eskaneatzen. {NUMBER_OF_PAGES} orri eskaneatu dira.}} Ataria hauteman da @@ -378,7 +378,7 @@ Sakatu mikrofonoa zerbait galdetu nahi badidazu. geratzen dira Lortu informazio gehiago laguntza-zentroan Azken berrezartzearen ordua -HTTPS eskaeren itxarote-denbora luzea +HTTPS eskaeren latentzia luzea Utzi Berretsi pasahitz berria Bat ere ez @@ -424,7 +424,7 @@ Sakatu mikrofonoa zerbait galdetu nahi badidazu. IMEIa Hasierako hornitzailearen izena WEP PSK protokolo ahulak babesten du wifi-sarea -DNSaren itxarote-denbora onartzen den atalasetik apur bat gorago dago +DNSaren latentzia onartzen den atalasetik apur bat gorago dago IP helbidea Trafiko-kontagailuak Erabiltzaile-izena @@ -438,7 +438,7 @@ Sakatu mikrofonoa zerbait galdetu nahi badidazu. libra Aurrez partekatutako gakoa Hutsegitea - Ez dago tintarik -Lehenetsi gabeko sarea itxarote-denboraren atalasetik gora dago +Lehenetsi gabeko sarea latentziaren atalasetik gora dago Geldituta: atea irekita dago Eginda Berretsi aldaketa @@ -452,7 +452,7 @@ Sakatu mikrofonoa zerbait galdetu nahi badidazu. GUIDa Gainditu da proba Seinalearen indarra -Sare lehenetsia itxarote-denboraren atalasetik gora dago +Sare lehenetsia latentziaren atalasetik gora dago erabiltzailearen gailua Hutsegitea - Erretilua falta da Hutsegitea - Ez dago paperik diff --git chromeos/strings/chromeos_strings_fa.xtb chromeos/strings/chromeos_strings_fa.xtb index 58f9e5ffc1347..186c358817141 100644 --- chromeos/strings/chromeos_strings_fa.xtb +++ chromeos/strings/chromeos_strings_fa.xtb @@ -127,7 +127,7 @@ به‌طور نسبی فعال شده است انجام نشد - خطای نامشخص تقریباً دقیقه باقی مانده است -‏نشانی MAC +نشانی واد ‏Wi-Fi کنتوردار اتصال شناسایی نشد باتری پر است @@ -367,7 +367,7 @@ {NUMBER_OF_PAGES,plural, =1{اسکن کامل شد. ۱ صفحه اسکن شد}one{اسکن کامل شد. {NUMBER_OF_PAGES} صفحه اسکن شد}other{اسکن کامل شد. {NUMBER_OF_PAGES} صفحه اسکن شد}} درگاهی شناسایی شد فناوری -‏نشانی MAC +نشانی واد گواهینامه مرکز صدور گواهی سرور ‏نشانی IPv6 Android diff --git chromeos/strings/chromeos_strings_te.xtb chromeos/strings/chromeos_strings_te.xtb index 888614a61eab4..d6293f816b181 100644 --- chromeos/strings/chromeos_strings_te.xtb +++ chromeos/strings/chromeos_strings_te.xtb @@ -338,7 +338,7 @@ సేవ పేరు ఫర్మ్‌వేర్ పునర్విమర్శ కొత్త కనెక్షన్‌ను సెటప్ చేయడానికి, సెట్టింగ్‌లకు వెళ్లండి. - ఈ పరికరాన్ని మేనేజ్ చేస్తుంది, అలాగే సందర్శించిన వెబ్ పేజీలు, పాస్‌వర్డ్‌లు, ఇమెయిల్‌లతో సహా యూజర్ యాక్టివిటీకి యాక్సెస్‌ను కలిగి ఉంటుంది. + ఈ పరికరాన్ని మేనేజ్ చేస్తుంది, అలాగే సందర్శించిన వెబ్ పేజీలు, పాస్‌వర్డ్‌లు, ఈమెయిళ్లతో సహా యూజర్ యాక్టివిటీకి యాక్సెస్‌ను కలిగి ఉంటుంది. ఆపరేటర్ ఛార్జ్ అవుతోంది, పూర్తి కావడానికి సమయం పడుతుంది ఆపివేయబడింది diff --git components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb index 0b1475bbe6562..1c7573829ea2d 100644 --- components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb +++ components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb @@ -151,7 +151,7 @@ Última visita hoje Arraste a partir da parte superior e toque no botão de retrocesso para sair do ecrã inteiro. Mostrar -OK, compreendi +OK Adicionar site Guardar Permitir que os sites executem JavaScript (recomendado) diff --git components/browser_ui/strings/android/translations/browser_ui_strings_te.xtb components/browser_ui/strings/android/translations/browser_ui_strings_te.xtb index b0b686791ba0c..8813bd3a3b832 100644 --- components/browser_ui/strings/android/translations/browser_ui_strings_te.xtb +++ components/browser_ui/strings/android/translations/browser_ui_strings_te.xtb @@ -68,7 +68,7 @@ నిష్క్రమించు అన్ని కుక్కీలను బ్లాక్ చేయండి (సిఫార్సు చేయడం లేదు) కాపీ చేయబడింది -ఇమెయిల్ అడ్రస్‌లు +ఈమెయిల్‌ అడ్రస్‌లు దీనిని ఎంచుకోవడం ద్వారా కు సంబంధించిన కుక్కీలు క్లియర్ చేయబడతాయి మీరు కోసం అన్ని సైట్ అనుమతులను ఖచ్చితంగా రీసెట్ చేయాలనుకుంటున్నారా ? సైట్ diff --git components/certificate_transparency/data/log_list.json components/certificate_transparency/data/log_list.json index 34dae9f0caccb..8449b6d0fe145 100644 --- components/certificate_transparency/data/log_list.json +++ components/certificate_transparency/data/log_list.json @@ -1,6 +1,6 @@ { - "version": "3.60", - "log_list_timestamp": "2021-10-13T01:34:34Z", + "version": "4.8", + "log_list_timestamp": "2021-10-27T01:34:45Z", "operators": [ { "name": "Google", @@ -616,8 +616,8 @@ "url": "https://ct2021.trustasia.com/log2021/", "mmd": 86400, "state": { - "qualified": { - "timestamp": "2021-05-11T07:00:00Z" + "usable": { + "timestamp": "2021-10-16T01:46:32Z" } }, "temporal_interval": { diff --git components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java index f4ae1b77e7ca3..df6e4429e84c5 100644 --- components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java @@ -13,10 +13,14 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; import android.content.Intent; +import android.content.Intent.ShortcutIconResource; import android.content.IntentFilter; import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; +import android.content.res.Resources; import android.net.Uri; import android.os.StrictMode; import android.os.SystemClock; @@ -60,14 +64,17 @@ import org.chromium.content_public.common.Referrer; import org.chromium.network.mojom.ReferrerPolicy; import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.PermissionCallback; +import org.chromium.ui.base.WindowAndroid; import org.chromium.url.GURL; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Set; /** * Logic related to the URL overriding/intercepting functionality. @@ -680,8 +687,8 @@ public class ExternalNavigationHandler { // wtai://wp/mc;number // number=string(phone-number) String phoneNumber = params.getUrl().getSpec().substring(WTAI_MC_URL_PREFIX.length()); - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(WebView.SCHEME_TEL + phoneNumber)), - false, mDelegate); + startActivity( + new Intent(Intent.ACTION_VIEW, Uri.parse(WebView.SCHEME_TEL + phoneNumber)), false); if (DEBUG) Log.i(TAG, "wtai:// link handled"); RecordUserAction.record("Android.PhoneIntent"); return true; @@ -872,6 +879,74 @@ public class ExternalNavigationHandler { return OverrideUrlLoadingResult.forNoOverride(); } + /** + * Returns true if an intent is an ACTION_VIEW intent targeting browsers or browser-like apps + * (excluding the embedding app). + */ + private boolean isViewIntentToOtherBrowser(Intent targetIntent, List resolveInfos, + boolean isIntentWithSupportedProtocol, boolean hasSpecializedHandler) { + // Note that up until at least Android S, an empty action will match any intent filter + // with with an action specified. If an intent selector is specified, then don't trust the + // action on the intent. + if (!TextUtils.isEmpty(targetIntent.getAction()) + && !targetIntent.getAction().equals(Intent.ACTION_VIEW) + && targetIntent.getSelector() == null) { + return false; + } + + if (targetIntent.getPackage() != null + && targetIntent.getPackage().equals( + ContextUtils.getApplicationContext().getPackageName())) { + return false; + } + + String selfPackageName = mDelegate.getContext().getPackageName(); + boolean matchesOtherPackage = false; + for (ResolveInfo resolveInfo : resolveInfos) { + ActivityInfo info = resolveInfo.activityInfo; + if (info == null || !selfPackageName.equals(info.packageName)) { + matchesOtherPackage = true; + break; + } + } + if (!matchesOtherPackage) return false; + + // Shortcut the queryIntentActivities if the scheme is a browser-supported scheme. + if (isIntentWithSupportedProtocol && !hasSpecializedHandler) return true; + + // Fall back to querying for browser packages if the intent doesn't obviously match or not + // match a browser. This will catch custom URL schemes like googlechrome://. + Set browserPackages = getInstalledBrowserPackages(); + + if (hasSpecializedHandler) { + List specializedPackages = getSpecializedHandlers(resolveInfos); + for (String packageName : specializedPackages) { + // A non-browser package is specialized, so don't consider it to be targeting a + // browser. + if (!browserPackages.contains(packageName)) return false; + } + } + + for (ResolveInfo resolveInfo : resolveInfos) { + ActivityInfo info = resolveInfo.activityInfo; + if (info != null && browserPackages.contains(info.packageName)) { + return true; + } + } + return false; + } + + private static Set getInstalledBrowserPackages() { + List browsers = PackageManagerUtils.queryAllWebBrowsersInfo(); + + Set packageNames = new HashSet<>(); + for (ResolveInfo browser : browsers) { + if (browser.activityInfo == null) continue; + packageNames.add(browser.activityInfo.packageName); + } + return packageNames; + } + /** * Current URL has at least one specialized handler available. For navigations * within the same host, keep the navigation inside the browser unless the set of @@ -1049,7 +1124,7 @@ public class ExternalNavigationHandler { boolean closeTab = params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent(); if (shouldLaunch) { try { - startActivity(intent, proxy, mDelegate); + startActivity(intent, proxy); if (mDelegate.canCloseTabOnIncognitoIntentLaunch() && closeTab) { mDelegate.closeTab(); } @@ -1116,22 +1191,6 @@ public class ExternalNavigationHandler { return false; } - private boolean launchExternalIntent(Intent targetIntent, boolean shouldProxyForInstantApps) { - try { - if (!startActivityIfNeeded(targetIntent, shouldProxyForInstantApps)) { - if (DEBUG) Log.i(TAG, "The current Activity was the only targeted Activity."); - return false; - } - } catch (ActivityNotFoundException e) { - // The targeted app must have been uninstalled/disabled since we queried for Activities - // to handle this intent. - if (DEBUG) Log.i(TAG, "Activity not found."); - return false; - } - if (DEBUG) Log.i(TAG, "startActivityIfNeeded"); - return true; - } - // This will handle external navigations only for intent meant for Autofill Assistant. private boolean handleWithAutofillAssistant( ExternalNavigationParams params, Intent targetIntent, GURL browserFallbackUrl) { @@ -1203,7 +1262,12 @@ public class ExternalNavigationHandler { return OverrideUrlLoadingResult.forNoOverride(); } + GURL intentDataUrl = new GURL(targetIntent.getDataString()); boolean isExternalProtocol = !UrlUtilities.isAcceptedScheme(params.getUrl()); + // intent: URLs are considered an external protocol, but may still contain a Data URI that + // this app does support, and may still end up launching this app. + boolean isIntentWithSupportedProtocol = UrlUtilities.hasIntentScheme(params.getUrl()) + && UrlUtilities.isAcceptedScheme(intentDataUrl); if (isInternalPdfDownload(isExternalProtocol, params)) { return OverrideUrlLoadingResult.forNoOverride(); @@ -1291,8 +1355,8 @@ public class ExternalNavigationHandler { return fallBackToHandlingInApp(); } - // From this point on we should only have intents that this app can't handle, or intents for - // apps with specialized handlers. + // From this point on we should only have URLs from intent URIs, or URLs for + // apps with specialized handlers (including custom schemes). if (shouldStayWithinHost( params, isLink, isFormSubmit, resolvingInfos.get(), isExternalProtocol)) { @@ -1313,7 +1377,7 @@ public class ExternalNavigationHandler { assert intentResolutionMatches(debugIntent, targetIntent); if (params.isIncognito()) { - return handleIncognitoIntent(params, targetIntent, resolvingInfos.get(), + return handleIncognitoIntent(params, targetIntent, intentDataUrl, resolvingInfos.get(), browserFallbackUrl, shouldProxyForInstantApps); } @@ -1327,24 +1391,29 @@ public class ExternalNavigationHandler { } else if (launchWebApkIfSoleIntentHandler(resolvingInfos.get(), targetIntent)) { return OverrideUrlLoadingResult.forExternalIntent(); } - if (launchExternalIntent(targetIntent, shouldProxyForInstantApps)) { - return OverrideUrlLoadingResult.forExternalIntent(); + + boolean requiresIntentChooser = false; + if (isViewIntentToOtherBrowser(targetIntent, resolvingInfos.get(), + isIntentWithSupportedProtocol, hasSpecializedHandler)) { + RecordHistogram.recordBooleanHistogram("Android.Intent.WebIntentToOtherBrowser", true); + requiresIntentChooser = true; } - return OverrideUrlLoadingResult.forNoOverride(); + + return startActivityIfNeeded(targetIntent, shouldProxyForInstantApps, resolvingInfos.get(), + requiresIntentChooser, browserFallbackUrl, intentDataUrl, params.getReferrerUrl()); } private OverrideUrlLoadingResult handleIncognitoIntent(ExternalNavigationParams params, - Intent targetIntent, List resolvingInfos, GURL browserFallbackUrl, - boolean shouldProxyForInstantApps) { + Intent targetIntent, GURL intentDataUrl, List resolvingInfos, + GURL browserFallbackUrl, boolean shouldProxyForInstantApps) { boolean intentTargetedToApp = mDelegate.willAppHandleIntent(targetIntent); GURL fallbackUrl = browserFallbackUrl; // If we can handle the intent, then fall back to handling the target URL instead of // the fallbackUrl if the user decides not to leave incognito. if (resolveInfoContainsSelf(resolvingInfos)) { - GURL targetUrl = UrlUtilities.hasIntentScheme(params.getUrl()) - ? new GURL(targetIntent.getDataString()) - : params.getUrl(); + GURL targetUrl = + UrlUtilities.hasIntentScheme(params.getUrl()) ? intentDataUrl : params.getUrl(); // Make sure the browser can handle this URL, in case the Intent targeted a // non-browser component for this app. if (UrlUtilities.isAcceptedScheme(targetUrl)) fallbackUrl = targetUrl; @@ -1413,7 +1482,7 @@ public class ExternalNavigationHandler { return OverrideUrlLoadingResult.forAsyncAction( OverrideUrlLoadingAsyncActionType.UI_GATING_INTENT_LAUNCH); } else { - startActivity(intent, false, mDelegate); + startActivity(intent, false); if (DEBUG) Log.i(TAG, "Intent to Play Store."); return OverrideUrlLoadingResult.forExternalIntent(); } @@ -1483,7 +1552,7 @@ public class ExternalNavigationHandler { Intent webApkIntent = new Intent(targetIntent); webApkIntent.setPackage(packageName); try { - startActivity(webApkIntent, false, mDelegate); + startActivity(webApkIntent, false); if (DEBUG) Log.i(TAG, "Launched WebAPK"); return true; } catch (ActivityNotFoundException e) { @@ -1616,16 +1685,15 @@ public class ExternalNavigationHandler { * @param proxy Whether we need to proxy the intent through AuthenticatedProxyActivity (this is * used by Instant Apps intents). */ - public static void startActivity( - Intent intent, boolean proxy, ExternalNavigationDelegate delegate) { + private void startActivity(Intent intent, boolean proxy) { try { forcePdfViewerAsIntentHandlerIfNeeded(intent); if (proxy) { - delegate.dispatchAuthenticatedIntent(intent); + mDelegate.dispatchAuthenticatedIntent(intent); } else { // Start the activity via the current activity if possible, and otherwise as a new // task from the application context. - Context context = ContextUtils.activityFromContext(delegate.getContext()); + Context context = ContextUtils.activityFromContext(mDelegate.getContext()); if (context == null) { context = ContextUtils.getApplicationContext(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -1634,10 +1702,10 @@ public class ExternalNavigationHandler { } recordExternalNavigationDispatched(intent); } catch (RuntimeException e) { - IntentUtils.logTransactionTooLargeOrRethrow(e, intent); + Log.e(TAG, "Could not start Activity for intent " + intent.toString(), e); } - delegate.didStartActivity(intent); + mDelegate.didStartActivity(intent); } /** @@ -1646,69 +1714,191 @@ public class ExternalNavigationHandler { * @param intent The intent we want to send. * @param proxy Whether we need to proxy the intent through AuthenticatedProxyActivity (this is * used by Instant Apps intents). - * @returns whether an activity was started for the intent. + * @param resolvingInfos The resolvingInfos |intent| matches against. + * @param requiresIntentChooser Whether, for security reasons, the Intent Chooser is required to + * be shown. + * @param browserFallbackUrl The fallback URL if the user chooses not to leave this app. + * @param intentDataUrl The URL |intent| is targeting. + * @param referrerUrl The referrer for the navigation. + * @returns The OverrideUrlLoadingResult for starting (or not starting) the Activity. */ - private boolean startActivityIfNeeded(Intent intent, boolean proxy) { - @ExternalNavigationDelegate.StartActivityIfNeededResult - int delegateResult = mDelegate.maybeHandleStartActivityIfNeeded(intent, proxy); + private OverrideUrlLoadingResult startActivityIfNeeded(Intent intent, boolean proxy, + List resolvingInfos, boolean requiresIntentChooser, + GURL browserFallbackUrl, GURL intentDataUrl, GURL referrerUrl) { + // Only touches disk on Kitkat. See http://crbug.com/617725 for more context. + StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites(); + try { + boolean withoutPackage = TextUtils.isEmpty(intent.getPackage()); - switch (delegateResult) { - case ExternalNavigationDelegate.StartActivityIfNeededResult.HANDLED_WITH_ACTIVITY_START: - return true; - case ExternalNavigationDelegate.StartActivityIfNeededResult - .HANDLED_WITHOUT_ACTIVITY_START: - return false; - case ExternalNavigationDelegate.StartActivityIfNeededResult.DID_NOT_HANDLE: - return startActivityIfNeededInternal(intent, proxy); + // TODO(https://crbug.com/1251722): Rename this delegate function and require + // the delegate to defer to the code below to actually launch the Activity. + @ExternalNavigationDelegate.StartActivityIfNeededResult + int delegateResult = mDelegate.maybeHandleStartActivityIfNeeded(intent, proxy); + + if (withoutPackage + && (!TextUtils.isEmpty(intent.getPackage()) || intent.getComponent() != null)) { + // Embedder chose a package for this Intent, we no longer need to use the chooser. + requiresIntentChooser = false; + } + switch (delegateResult) { + case ExternalNavigationDelegate.StartActivityIfNeededResult + .HANDLED_WITH_ACTIVITY_START: + return OverrideUrlLoadingResult.forExternalIntent(); + case ExternalNavigationDelegate.StartActivityIfNeededResult + .HANDLED_WITHOUT_ACTIVITY_START: + return OverrideUrlLoadingResult.forNoOverride(); + case ExternalNavigationDelegate.StartActivityIfNeededResult.DID_NOT_HANDLE: + return startActivityIfNeededInternal(intent, proxy, resolvingInfos, + requiresIntentChooser, browserFallbackUrl, intentDataUrl, referrerUrl); + default: + assert false; + } + } catch (SecurityException e) { + // https://crbug.com/808494: Handle the URL internally if dispatching to another + // application fails with a SecurityException. This happens due to malformed + // manifests in another app. + } catch (ActivityNotFoundException e) { + // The targeted app must have been uninstalled/disabled since we queried for Activities + // to handle this intent. + if (DEBUG) Log.i(TAG, "Activity not found."); + } catch (AndroidRuntimeException e) { + // https://crbug.com/1226177: Most likely cause of this exception is Android failing + // to start the app that we previously detected could handle the Intent. + Log.e(TAG, "Could not start Activity for intent " + intent.toString(), e); + } catch (RuntimeException e) { + IntentUtils.logTransactionTooLargeOrRethrow(e, intent); + } finally { + StrictMode.setThreadPolicy(oldPolicy); } - - assert false; - return false; + return OverrideUrlLoadingResult.forNoOverride(); } /** * Implementation of startActivityIfNeeded() that is used when the delegate does not handle the * event. */ - private boolean startActivityIfNeededInternal(Intent intent, boolean proxy) { - boolean activityWasLaunched; - // Only touches disk on Kitkat. See http://crbug.com/617725 for more context. - StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites(); - try { - forcePdfViewerAsIntentHandlerIfNeeded(intent); - if (proxy) { - mDelegate.dispatchAuthenticatedIntent(intent); - activityWasLaunched = true; - } else { - Activity activity = ContextUtils.activityFromContext(mDelegate.getContext()); - if (activity != null) { - activityWasLaunched = activity.startActivityIfNeeded(intent, -1); - } else { - activityWasLaunched = false; - } + private OverrideUrlLoadingResult startActivityIfNeededInternal(Intent intent, boolean proxy, + List resolvingInfos, boolean requiresIntentChooser, + GURL browserFallbackUrl, GURL intentDataUrl, GURL referrerUrl) { + forcePdfViewerAsIntentHandlerIfNeeded(intent); + if (proxy) { + mDelegate.dispatchAuthenticatedIntent(intent); + recordExternalNavigationDispatched(intent); + return OverrideUrlLoadingResult.forExternalIntent(); + } else { + Activity activity = ContextUtils.activityFromContext(mDelegate.getContext()); + if (activity == null) return OverrideUrlLoadingResult.forNoOverride(); + + if (requiresIntentChooser) { + return startActivityWithChooser(intent, resolvingInfos, browserFallbackUrl, + intentDataUrl, referrerUrl, activity); } - if (activityWasLaunched) { - recordExternalNavigationDispatched(intent); - } - return activityWasLaunched; - } catch (SecurityException e) { - // https://crbug.com/808494: Handle the URL internally if dispatching to another - // application fails with a SecurityException. This happens due to malformed manifests - // in another app. - return false; - } catch (AndroidRuntimeException e) { - // https://crbug.com/1226177: Most likely cause of this exception is Android failing to - // start the app that we previously detected could handle the Intent. - Log.e(TAG, "Could not start Activity for intent " + intent.toString(), e); - return false; - } catch (RuntimeException e) { - IntentUtils.logTransactionTooLargeOrRethrow(e, intent); - return false; - } finally { - StrictMode.setThreadPolicy(oldPolicy); + return doStartActivityIfNeeded(intent, activity); } } + private OverrideUrlLoadingResult doStartActivityIfNeeded(Intent intent, Activity activity) { + if (activity.startActivityIfNeeded(intent, -1)) { + if (DEBUG) Log.i(TAG, "startActivityIfNeeded"); + mDelegate.didStartActivity(intent); + recordExternalNavigationDispatched(intent); + return OverrideUrlLoadingResult.forExternalIntent(); + } else { + if (DEBUG) Log.i(TAG, "The current Activity was the only targeted Activity."); + return OverrideUrlLoadingResult.forNoOverride(); + } + } + + @SuppressWarnings("UseCompatLoadingForDrawables") + private OverrideUrlLoadingResult startActivityWithChooser(final Intent intent, + List resolvingInfos, GURL browserFallbackUrl, GURL intentDataUrl, + GURL referrerUrl, Activity activity) { + ResolveInfo intentResolveInfo = + PackageManagerUtils.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY); + // If this is null, then the intent was only previously matching + // non-default filters, so just drop it. + if (intentResolveInfo == null) return OverrideUrlLoadingResult.forNoOverride(); + + // If the |resolvingInfos| from queryIntentActivities don't contain the result of + // resolveActivity, it means the intent is resolving to the ResolverActivity, so the user + // will already get the option to choose the target app (as there will be multiple options) + // and we don't need to do anything. Otherwise we have to make a fake option in the chooser + // dialog that loads the URL in the embedding app. + if (!resolversSubsetOf(Arrays.asList(intentResolveInfo), resolvingInfos)) { + return doStartActivityIfNeeded(intent, activity); + } + + Intent pickerIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); + pickerIntent.putExtra(Intent.EXTRA_INTENT, intent); + + // Add the fake entry for the embedding app. This behavior is not well documented but works + // consistently across Android since L (and at least up to S). + PackageManager pm = activity.getPackageManager(); + ArrayList icons = new ArrayList<>(); + ArrayList labels = new ArrayList<>(); + String packageName = activity.getPackageName(); + String label = ""; + ShortcutIconResource resource = new ShortcutIconResource(); + try { + ApplicationInfo applicationInfo = + pm.getApplicationInfo(packageName, PackageManager.GET_META_DATA); + label = (String) pm.getApplicationLabel(applicationInfo); + Resources resources = pm.getResourcesForApplication(applicationInfo); + resource.packageName = packageName; + resource.resourceName = resources.getResourceName(applicationInfo.icon); + // This will throw a Resources.NotFoundException if the package uses resource + // name collapsing/stripping. The ActivityPicker fails to handle this exception, we have + // have to check for it here to avoid crashes. + resources.getDrawable(resources.getIdentifier(resource.resourceName, null, null), null); + } catch (NameNotFoundException | Resources.NotFoundException e) { + Log.w(TAG, "No icon resource found for package: " + packageName); + // Most likely the app doesn't have an icon and is just a test + // app. Android will just use a blank icon. + resource.packageName = ""; + resource.resourceName = ""; + } + labels.add(label); + icons.add(resource); + pickerIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, labels); + pickerIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icons); + + // Call startActivityForResult on the PICK_ACTIVITY intent, which will set the component of + // the data result to the component of the chosen app. + mDelegate.getWindowAndroid().showCancelableIntent( + pickerIntent, new WindowAndroid.IntentCallback() { + @Override + public void onIntentCompleted(int resultCode, Intent data) { + // If |data| is null, the user backed out of the intent chooser. + if (data == null) return; + + // Quirk of how we use the ActivityChooser - if the embedding app is + // chosen we get an intent back with ACTION_CREATE_SHORTCUT. + if (data.getAction().equals(Intent.ACTION_CREATE_SHORTCUT)) { + // It's pretty arbitrary whether to prefer the data URL or the fallback + // URL here. We could consider preferring the fallback URL, as the URL + // was probably intending to leave Chrome, but loading the URL the site + // was trying to load in a browser seems like the better choice and + // matches what would have happened had the regular chooser dialog shown + // up and the user selected this app. + if (UrlUtilities.isAcceptedScheme(intentDataUrl)) { + clobberCurrentTab(intentDataUrl, referrerUrl); + } else if (!browserFallbackUrl.isEmpty()) { + clobberCurrentTab(browserFallbackUrl, referrerUrl); + } + return; + } + + // Set the package for the original intent to the chosen app and start + // it. Note that a selector cannot be set at the same time as a package. + intent.setSelector(null); + intent.setPackage(data.getComponent().getPackageName()); + startActivity(intent, false); + } + }, null); + return OverrideUrlLoadingResult.forAsyncAction( + OverrideUrlLoadingAsyncActionType.UI_GATING_INTENT_LAUNCH); + } + /** * Returns the number of specialized intent handlers in {@params infos}. Specialized intent * handlers are intent handlers which handle only a few URLs (e.g. google maps or youtube). @@ -1787,7 +1977,7 @@ public class ExternalNavigationHandler { } protected boolean resolveInfoContainsSelf(List resolveInfos) { - String packageName = ContextUtils.getApplicationContext().getPackageName(); + String packageName = mDelegate.getContext().getPackageName(); for (ResolveInfo resolveInfo : resolveInfos) { ActivityInfo info = resolveInfo.activityInfo; if (info != null && packageName.equals(info.packageName)) { diff --git components/external_intents/android/javatests/src/org/chromium/components/external_intents/ExternalNavigationHandlerTest.java components/external_intents/android/javatests/src/org/chromium/components/external_intents/ExternalNavigationHandlerTest.java index 5af25a65ad9df..79d741b4cce9f 100644 --- components/external_intents/android/javatests/src/org/chromium/components/external_intents/ExternalNavigationHandlerTest.java +++ components/external_intents/android/javatests/src/org/chromium/components/external_intents/ExternalNavigationHandlerTest.java @@ -89,6 +89,7 @@ public class ExternalNavigationHandlerTest { private static final boolean HANDLES_INSTANT_APP_LAUNCHING_INTERNALLY = true; private static final boolean INTENT_STARTED_TASK = true; + private static final String SELF_PACKAGE_NAME = "test.app.name"; private static final String INTENT_APP_PACKAGE_NAME = "com.imdb.mobile"; private static final String YOUTUBE_URL = "http://youtube.com/"; private static final String YOUTUBE_MOBILE_URL = "http://m.youtube.com"; @@ -123,14 +124,14 @@ public class ExternalNavigationHandlerTest { "intent:///name/nm0000158#Intent;scheme=imdb;package=com.imdb.mobile;S." + ExternalNavigationHandler.EXTRA_MARKET_REFERRER + "=" + ENCODED_MARKET_REFERRER + ";end"; - private static final String INTENT_URL_FOR_CHROME_CUSTOM_TABS = "intent://example.com#Intent;" - + "package=org.chromium.chrome;" + private static final String INTENT_URL_FOR_SELF_CUSTOM_TABS = "intent://example.com#Intent;" + + "package=" + SELF_PACKAGE_NAME + ";" + "action=android.intent.action.VIEW;" + "scheme=http;" + "S.android.support.customtabs.extra.SESSION=;" + "end;"; - private static final String INTENT_URL_FOR_CHROME = "intent://example.com#Intent;" - + "package=org.chromium.chrome;" + private static final String INTENT_URL_FOR_SELF = "intent://example.com#Intent;" + + "package=" + SELF_PACKAGE_NAME + ";" + "action=android.intent.action.VIEW;" + "scheme=http;" + "S." + ExternalNavigationHandler.EXTRA_BROWSER_FALLBACK_URL + "=" @@ -196,6 +197,7 @@ public class ExternalNavigationHandlerTest { mContext = new TestContext(InstrumentationRegistry.getTargetContext(), mDelegate); ContextUtils.initApplicationContextForTests(mContext); + mDelegate.setContext(mContext); NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess(); } @@ -761,7 +763,7 @@ public class ExternalNavigationHandlerTest { public void testCCTIntentUriDoesNotFireCCTAndLoadInChrome_InIncognito() throws Exception { mUrlHandler.mResolveInfoContainsSelf = true; mDelegate.setCanLoadUrlInTab(false); - checkUrl(INTENT_URL_FOR_CHROME_CUSTOM_TABS) + checkUrl(INTENT_URL_FOR_SELF_CUSTOM_TABS) .withIsIncognito(true) .expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE); Assert.assertNull(mDelegate.startActivityIntent); @@ -771,7 +773,7 @@ public class ExternalNavigationHandlerTest { @Test @SmallTest public void testCCTIntentUriFiresCCT_InRegular() throws Exception { - checkUrl(INTENT_URL_FOR_CHROME_CUSTOM_TABS) + checkUrl(INTENT_URL_FOR_SELF_CUSTOM_TABS) .withIsIncognito(false) .expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY); @@ -783,14 +785,14 @@ public class ExternalNavigationHandlerTest { public void testChromeIntentUriDoesNotFireAndLoadsInChrome_InIncognito() throws Exception { mUrlHandler.mResolveInfoContainsSelf = true; mDelegate.setCanLoadUrlInTab(false); - checkUrl(INTENT_URL_FOR_CHROME) + checkUrl(INTENT_URL_FOR_SELF) .withIsIncognito(true) .expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE); Assert.assertNull(mDelegate.startActivityIntent); Assert.assertEquals("http://example.com/", mUrlHandler.mNewUrlAfterClobbering); mUrlHandler.mResolveInfoContainsSelf = false; - checkUrl(INTENT_URL_FOR_CHROME) + checkUrl(INTENT_URL_FOR_SELF) .withIsIncognito(true) .expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE); Assert.assertNull(mDelegate.startActivityIntent); @@ -2276,6 +2278,23 @@ public class ExternalNavigationHandlerTest { mUrlHandler.canExternalAppHandleUrl(new GURL(indexOutOfBoundsException))); } + @Test + @SmallTest + public void testIntentToOtherBrowser() { + // This will create a non-specialized ResolveInfo for the target package. + mDelegate.setCanResolveActivityForExternalSchemes(true); + + String intent = "intent://example.com#Intent;scheme=https;package=com.other.browser;end"; + + // This is a limitation of this testing harness, which doesn't get past + // startActivityIfNeeded as that requires an Activity context. This functionality is + // tested in ExternalNavigationDelegateImplTest. + checkUrl(intent) + .withPageTransition(PageTransition.LINK) + .expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, + START_OTHER_ACTIVITY); + } + private static List makeResolveInfos(ResolveInfo... infos) { return Arrays.asList(infos); } @@ -2361,7 +2380,7 @@ public class ExternalNavigationHandlerTest { @Override protected AlertDialog showLeavingIncognitoAlert(Context context, ExternalNavigationParams params, Intent intent, GURL fallbackUrl, boolean proxy) { - if (context == null) return mAlertDialog; + if (context instanceof TestContext) return mAlertDialog; mShownIncognitoAlertDialog = super.showLeavingIncognitoAlert(context, params, intent, fallbackUrl, proxy); return mShownIncognitoAlertDialog; @@ -2447,6 +2466,11 @@ public class ExternalNavigationHandlerTest { return list; } + public ResolveInfo resolveActivity(Intent intent) { + List list = queryIntentActivities(intent); + return list.size() > 0 ? list.get(0) : null; + } + @Override public Context getContext() { return mContext; @@ -2883,6 +2907,11 @@ public class ExternalNavigationHandlerTest { public List queryIntentActivities(Intent intent, int flags) { return mDelegate.queryIntentActivities(intent); } + + @Override + public ResolveInfo resolveActivity(Intent intent, int flags) { + return mDelegate.resolveActivity(intent); + } } private static class TestContext extends ContextWrapper { @@ -2905,7 +2934,7 @@ public class ExternalNavigationHandlerTest { @Override public String getPackageName() { - return "test.app.name"; + return SELF_PACKAGE_NAME; } @Override @@ -2914,8 +2943,7 @@ public class ExternalNavigationHandlerTest { } @Override - public void startActivity(Intent intent) { - } + public void startActivity(Intent intent) {} @Override public void startActivity(Intent intent, Bundle options) { diff --git components/policy/resources/policy_templates_es.xtb components/policy/resources/policy_templates_es.xtb index 7bb10b805fcc5..45d543ffcc8b7 100644 --- components/policy/resources/policy_templates_es.xtb +++ components/policy/resources/policy_templates_es.xtb @@ -5094,7 +5094,7 @@ Estas políticas te permiten configurar el comportamiento de Permitir que los usuarios muestren contraseñas en el Gestor de contraseñas (obsoleto) +Permitir que los usuarios muestren contraseñas en el gestor de contraseñas (obsoleto) Perfil efímero Permitir todas las impresoras del archivo de configuración. Si se le asigna el valor "true" a esta política, todos los tipos de medios de almacenamiento externo (unidades flash USB, unidades de disco duro externas, tarjetas SD, otras tarjetas de memoria, otros tipos de almacenamiento óptico, etc.) dejarán de estar disponibles en el explorador de archivos. Si se le asigna el valor "false" o no se le asigna ningún valor, los usuarios podrán usar el almacenamiento externo en su dispositivo. @@ -5884,7 +5884,7 @@ Si no se le asigna ningún valor, la pantalla de privacidad se inhabilitará ini Cuando no se configura esta política, se lleva a cabo la acción predeterminada, que es la suspensión. Si la acción es la suspensión, se puede configurar por separado para bloquear o no la pantalla antes de entrar en modo de suspensión. -Permite configurar el Gestor de contraseñas. +Permite configurar el gestor de contraseñas. Si a esta política se le asigna el valor o no se le asigna ninguno, se podrá utilizar el modo sin interfaz gráfica. Si se le asigna el valor , no se podrá utilizar el modo sin interfaz gráfica. Velocidad de descarga deseada en kilobits por segundo. Configurar la lista de permitidos de mensajes nativos diff --git components/policy/resources/policy_templates_ru.xtb components/policy/resources/policy_templates_ru.xtb index 1c7bf48e6334c..983c443cf969b 100644 --- components/policy/resources/policy_templates_ru.xtb +++ components/policy/resources/policy_templates_ru.xtb @@ -978,7 +978,7 @@ Задержки и действия в случае, когда устройство находится в режиме ожидания и работает от батареи. Объект конфигурации JSON для конкретного приложения. Содержит пары "ключ – значение", например "managedConfiguration": { "key1": value1, "key2": value2 }. Ключи определены в манифесте приложения. Запретить пользователям сбор данных отслеживания производительности на уровне системы -Обязательное использование хотя бы умеренного Безопасного режима для YouTube +Включить принудительное использование Умеренного безопасного режима в YouTube Управление использованием режима консольного браузера Пользователь решает, включать ли резервное копирование и восстановление Это правило передает инструкции о том, следует ли включить инструменты, доступные в консоли управления виртуальной машиной, или отключить их. @@ -1427,7 +1427,7 @@ Никогда не использовать прокси-сервер Не показывать предупреждения о похожих URL на доменах из списка Включить большой курсор на экране входа -Определяет, можно ли использовать NTLM в качестве протокола аутентификации для подключений SMB +Определяет, можно ли использовать NTLM в качестве протокола аутентификации для подключенных ресурсов SMB Обязательные сертификаты клиента на уровне устройства Использовать прокси-сервер для сжатия данных Если правило настроено (оно работает только как рекомендация), рекомендованные региональные настройки для управляемого сеанса перемещаются в верхнюю часть списка в том порядке, в котором они указаны в правиле. В этом случае по умолчанию выбирается первый вариант. @@ -4716,7 +4716,7 @@ Определяет, какие настройки будут применяться при запуске . Они используются только на экране входа и не распространяются на сеансы пользователей. Запретить запуск на этом устройстве -Обязательное использование строгого Безопасного режима для YouTube +Включить принудительное использование Строгого безопасного режима в YouTube Microsoft Windows 7 и более поздних версиях Позволяет задать список сайтов, которым будет автоматически предоставляться доступ к USB-устройствам с последовательным интерфейсом, если у них идентификаторы поставщика и продукта совпадают с полями и . Если не заполнить поле , то определенные сайты получат разрешение на доступ к устройствам с идентификатором поставщика, указанным в поле , и любым идентификатором продукта. @@ -5749,7 +5749,7 @@ Мини-группа правила: Настройка MediaStream по умолчанию Автоматический выбор клиентских сертификатов для сайтов -Отключить обязательное использование Безопасного режима для YouTube +Отключить обязательное использование Безопасного режима в YouTube Определяет, могут ли сайты проверять наличие сохраненных способов оплаты. Если правило отключено, сайтам, использующим API PaymentRequest.canMakePayment или PaymentRequest.hasEnrolledInstrument, будет сообщаться, что доступных способов оплаты нет. diff --git components/policy/resources/policy_templates_th.xtb components/policy/resources/policy_templates_th.xtb index ef0ad0930913f..0d5f00f5b4ff2 100644 --- components/policy/resources/policy_templates_th.xtb +++ components/policy/resources/policy_templates_th.xtb @@ -3597,7 +3597,7 @@ รายงานข้อมูลแอปพลิเคชัน ระยะหน่วงเวลาการหรี่แสงหน้าจอเมื่อทำงานโดยใช้ไฟ AC อนุญาตให้ผู้ใช้เรียกใช้ Crostini ได้ -ปิดกั้นภาพบนไซต์เหล่านี้ +บล็อกรูปภาพในเว็บไซต์เหล่านี้ URL ที่ระบบไปดาวน์โหลด Ansible Playbook ได้ เปิดใช้งานการพิมพ์ ไม่อนุญาตโฆษณาในเว็บไซต์ที่มีโฆษณาที่แทรก diff --git components/strings/components_strings_ca.xtb components/strings/components_strings_ca.xtb index 5e0d0c20ebe55..70dcc46cc2695 100644 --- components/strings/components_strings_ca.xtb +++ components/strings/components_strings_ca.xtb @@ -247,7 +247,7 @@ En cas contrari, la configuració de privadesa el bloquejarà. Això permetrà q Afegeix un número de targeta vàlid Estàs consultant el codi font d'una pàgina web Aquest tipus de targeta no s'admet -tipus de lletra +fonts Amex Prova de contactar amb l'administrador del sistema. Ordinador @@ -1625,7 +1625,7 @@ En cas contrari, la configuració de privadesa el bloquejarà. Això permetrà q Enganxa igualment imatges Gestiona les contrasenyes... -Tipus de lletra +Fonts Polítiques de dispositius Gestiona les formes de pagament Comença a penjar els errors diff --git components/strings/components_strings_es.xtb components/strings/components_strings_es.xtb index b89abe5494199..128b01ffb120c 100644 --- components/strings/components_strings_es.xtb +++ components/strings/components_strings_es.xtb @@ -92,7 +92,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el , pulsa Tabulador y luego Intro para gestionar la configuración de Chrome Lista de lectura Botón Gestionar la configuración de accesibilidad: pulsa Intro para personalizar las herramientas de accesibilidad desde la configuración de Chrome OS. -Crear un nuevo sitio con Google Sites rápidamente +Crea un nuevo sitio con Google Sites rápidamente Método de recogida Apilador 1 No traducir nunca este sitio @@ -217,7 +217,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Botón de cambiar la contraseña de Google, pulsa Intro para cambiar la contraseña de tu cuenta de Google Historial Protocolo no admitido -Gestionar la configuración de Chrome +Gestiona la configuración de Chrome JIS B8 Chrome ha simplificado esta página para facilitar su lectura y ha recuperado la página original mediante una conexión segura. Recogida @@ -431,7 +431,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Nivel Una vez que confirmes esta acción, la información de la tarjeta de tu cuenta de Google se compartirá con este sitio. Busca el CVC en los datos de tu cuenta de Plex. Legal -Personalizar las herramientas de accesibilidad desde la configuración de Chrome +Personaliza las herramientas de accesibilidad desde la configuración de Chrome Empresa (con valores predeterminados) Actualiza Chrome desde la configuración Se ha revocado el certificado de servidor. @@ -443,7 +443,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Antigua Este servidor no ha podido probar que su dominio es y se podría rechazar su certificado de seguridad. Este problema puede deberse a una configuración incorrecta o a que un atacante haya interceptado la conexión. Oscuro -Cerrar todas las ventanas de incógnito del perfil de incógnito actual +Cierra todas las ventanas de incógnito del perfil de incógnito actual Gestionar cuenta de Google, pulsa Intro para gestionar la información, la privacidad y la seguridad de tu cuenta de Google Perforado cuádruple en la parte derecha Acabas de introducir tu contraseña en un sitio web engañoso. Chromium te recomienda que cambies tu contraseña ahora. @@ -451,7 +451,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Architecture-E Seleccionar método de entrega Grapar -Gestionar archivos que has descargado en Chrome +Gestiona archivos que has descargado en Chrome , pulsa Tabulador y luego Intro para gestionar Navegación segura y otras opciones en la configuración de Chrome Ejecutar Diagnósticos de red Orden de 1 a N @@ -507,7 +507,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el , pulsa Tabulador y, a continuación, Intro para borrar el historial de navegación, las cookies, la caché y más desde la configuración de Chrome Acceso al archivo denegado Enviar -Personalizar las herramientas de accesibilidad desde la configuración de Chrome OS +Personaliza las herramientas de accesibilidad desde la configuración de Chrome OS Evento {COUNT,plural, =0{Ninguna}=1{1 contraseña de }=2{2 contraseñas de }other{# contraseñas de }} Superior @@ -722,7 +722,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Los archivos que subas o adjuntes se enviarán a Google Cloud o a terceros para que se analicen. Por ejemplo, puede que se analicen para buscar datos sensibles o software malicioso. Prueba a salir de otros programas para liberar memoria. No se puede acceder a la página en este momento. -Personalizar el diseño de tu navegador con temas +Personaliza el diseño de tu navegador con temas Especificado por el sistema Permitir (predeterminado) &Rehacer edición @@ -993,7 +993,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Reiniciar tu dispositivo Cambiar contraseña Permitido -Gestionar las búsquedas en el sitio y tu buscador predeterminado +Gestiona las búsquedas en el sitio y tu buscador predeterminado {NUM_CARDS,plural, =1{Se ha guardado esta tarjeta en tu cuenta de Google}other{Se han guardado estas tarjetas en tu cuenta de Google}} Disponible para pruebas, pero no está activo Miniatura de la página @@ -1033,7 +1033,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Se esperaba un valor . Has intentado acceder a , pero el emisor ha revocado el certificado mostrado por el servidor, lo que significa que las credenciales de seguridad presentadas por el servidor no son de confianza. Es posible que hayas accedido a la página de un atacante. Teléfono -Compartir esta página compartiendo el enlace, creando un código QR, enviando contenido y más. +Comparte esta página compartiendo el enlace, creando un código QR, enviando contenido y más. Brim Subtítulos automáticos resultados de la búsqueda @@ -1175,7 +1175,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Alemán Este sitio no podrá usar la API U2F después de febrero del 2022. Si este sitio es de tu propiedad, debes cambiarlo para que use la API Web Authentication. Este método de entrega no está disponible. Selecciona otro. -Crear una nueva nota en Google Keep rápidamente +Crea una nueva nota en Google Keep rápidamente Vista simplificada Ningún nombre de usuario {COUNT,plural, =0{No hay}=1{}=2{ y }other{, }} @@ -1289,7 +1289,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el B8 12x19 "Conéctate a la red" -Ver información sobre las funciones de Chrome +Consulta información sobre las funciones de Chrome Nube C7 (sobre) Optimizar el contenido de impresión @@ -1496,7 +1496,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el No se ha podido abrir la aplicación de pago No se han especificado servidores proxy fijos ni una URL de secuencia de comandos .pac. Plegado en Z asimétrico -Gestionar tu información, privacidad y seguridad en tu cuenta de Google +Gestiona tu información, privacidad y seguridad en tu cuenta de Google resultados para "" Clásico Orden de N a 1 @@ -1730,7 +1730,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el ¿Quieres volver a cargar la aplicación? No se puede verificar la tarjeta en este momento &Rehacer acción de añadir -Crear un documento de Google rápidamente +Crea un documento de Google rápidamente La hoja de autenticación de credenciales de pago seguras está cerrada Tamaño 1 @@ -1763,7 +1763,7 @@ De lo contrario, lo impedirá tu configuración de privacidad. Permitirá que el Perceptual Usar tu llave de seguridad Distrito -Crear una nueva Presentación de Google rápidamente +Crea una nueva Presentación de Google rápidamente Dispositivos HID Se especifican tanto servidores proxy fijos como una URL de secuencia de comandos .pac. Lo siento, no puedo ayudarte. Puedes continuar por tu cuenta. @@ -1918,7 +1918,7 @@ Más información: No, gracias Adelante No se han encontrado datos. -Jugar al juego del dinosaurio de Chrome +Juega al juego del dinosaurio de Chrome Este contenido está bloqueado. Para solucionar el problema, ponte en contacto con el propietario del sitio web. Botón de crear documento, pulsa Intro para crear un nuevo Documento de Google rápidamente Acabas de escribir tu contraseña en un sitio web engañoso. Chromium te recomienda que compruebes las contraseñas que has guardado en , y otros sitios en los que uses esta contraseña. @@ -1952,7 +1952,7 @@ Más información: Botón Eliminar sugerencia, pulsa Intro para eliminar esta sugerencia Paga rápidamente en aplicaciones y sitios desde tus dispositivos utilizando las tarjetas que has guardado en Google. Cara 2 del desplazamiento de la imagen en el eje Y -Crear un nuevo evento en Google Calendar rápidamente +Crea un nuevo evento en Google Calendar rápidamente quiere usar tus cookies y datos de sitios en El certificado del servidor incluye un nombre que está fuera de su cobertura. Menos de @@ -1983,7 +1983,7 @@ Más información: Es posible que los atacantes que se encuentren en este sitio web intenten engañarte para que instales programas que empeoren tu experiencia de navegación (por ejemplo, que cambien tu página principal o muestren anuncios adicionales en los sitios a los que accedas). Buzón de correo 6 Buscar texto del portapapeles -Ver y gestionar tu historial de navegación desde la configuración de Chrome +Consulta y gestiona tu historial de navegación desde la configuración de Chrome Dirección de envío Rellena formularios de pago con tus métodos de pago guardados Tiempo de espera de reintento agotado @@ -1998,11 +1998,11 @@ Más información: Aún no se ha subido o se ha ignorado No se puede cargar este sitio web desde la caché Edita la tarjeta -Crear un nuevo Formulario de Google rápidamente +Crea un nuevo Formulario de Google rápidamente Traducir siempre las páginas en Estándar Contenido peligroso bloqueado. -Personalizar el tamaño de fuente y los tipos de letra de Chrome +Personaliza el tamaño de fuente y los tipos de letra de Chrome No administrado Dai-Pa-Kai Puede que el cortafuegos o el software antivirus hayan bloqueado la conexión. @@ -2034,7 +2034,7 @@ Más información:   ¿Quieres salir del sitio web? Mejor velocidad -Cambiar la contraseña de tu cuenta de Google +Cambia la contraseña de tu cuenta de Google Acabas de escribir tu contraseña en un sitio web engañoso. Chrome te recomienda que compruebes las contraseñas que has guardado en , y otros sitios en los que uses esta contraseña. IDs de contenido protegido Es posible que tu contraseña se haya vulnerado @@ -2097,7 +2097,7 @@ Más información: Acabas de introducir tu contraseña en un sitio web engañoso. Chromium puede ayudarte. Para cambiar tu contraseña y notificar a Google de que tu cuenta podría estar en peligro, haz clic en Proteger cuenta. Icono de la aplicación 10x13 (sobre) -Crear una nueva Hoja de cálculo de Google rápidamente +Crea una nueva Hoja de cálculo de Google rápidamente Gestionar la configuración del sitio No se pueden añadir anotaciones a los documentos girados ¿Quieres volver a cargar el sitio web? diff --git components/strings/components_strings_ja.xtb components/strings/components_strings_ja.xtb index b535765e4ff16..152e8ae9b5072 100644 --- components/strings/components_strings_ja.xtb +++ components/strings/components_strings_ja.xtb @@ -1858,7 +1858,7 @@ 現在のプラットフォームではご利用いただけません。 サーバーの証明書は、証明書の透明性ポリシーを介して公開されていません。 11x15 -外部のユーザーかどうか: +組織内のユーザーか: A4-Extra このタブを開いている間のみ許可 問題が発生しました diff --git components/strings/components_strings_sv.xtb components/strings/components_strings_sv.xtb index 3fae7529e1fdd..31613312f4acc 100644 --- components/strings/components_strings_sv.xtb +++ components/strings/components_strings_sv.xtb @@ -55,7 +55,7 @@ En sida besöks Vill du tillåta att använder cookies och webbplatsdata på ? -Annars blockeras detta av sekretessinställningarna. Om du tillåter detta kan innehållet du öppnade fungera korrekt, men det kan hända att kan registrera din aktivitet. +Annars blockeras detta av integritetsinställningarna. Om du tillåter detta kan innehållet du öppnade fungera korrekt, men det kan hända att kan registrera din aktivitet. Skriv &ut... Tre häftklamrar till höger Paus @@ -1228,7 +1228,7 @@ Annars blockeras detta av sekretessinställningarna. Om du tillåter detta kan i vill använda kameran och mikrofonen Teckensnittsstorlek Tillåt -Sekretess +Integritet Länk som du har kopierat Felaktigt lösenord Artiklar för dig diff --git components/strings/components_strings_te.xtb components/strings/components_strings_te.xtb index 94e467d76ba33..15c442eb4e9c6 100644 --- components/strings/components_strings_te.xtb +++ components/strings/components_strings_te.xtb @@ -867,7 +867,7 @@ పారిష్ పర్యవేక్షణ గుర్తించబడింది స్టాకర్ 3 -ఇమెయిల్‌ను జోడించండి +ఈమెయిల్‌ను జోడించండి మెనూ కార్డ్ గడువు సమయం ముగిసింది B5-అదనం @@ -1286,7 +1286,7 @@ SHA-1 వేలిముద్ర Google Payని ఉపయోగిస్తున్న చెల్లింపు పద్ధతులు మరియు అడ్రస్‌లు ఫోలియో-Sp -ఇమెయిల్ అవ‌స‌రం +ఈమెయిల్‌ అవ‌స‌రం బట్వాడా అడ్రస్‌ B8 12x19 @@ -1381,7 +1381,7 @@ రాఫ్ట్ అభ్యర్థించిన కథనాన్ని కనుగొనడం సాధ్యపడలేదు. మెయిల్‌బాక్స్ 7 -ఇమెయిల్‌ను జోడించండి +ఈమెయిల్‌ను జోడించండి 'సెక్యూరిటీ సెట్టింగ్‌లను మేనేజ్ చేయి' బటన్, Chrome సెట్టింగ్‌లలో మీ సురక్షిత బ్రౌజింగ్‌ను, అలాగే మరిన్నింటిని మేనేజ్ చేయడానికి 'Enter'ను నొక్కండి మీ కోసం కథనాలు ఆన్‌లైన్‌లో పబ్లిష్ చేయబడిన లిస్ట్‌లలో మీ పాస్‌వర్డ్ ఒకవేళ ఉందా అని Chrome తరచుగా చెక్ చేస్తూ ఉంటుంది. Chrome ఈ ప్రాసెస్‌ను చేస్తున్నప్పుడు, మీ పాస్‌వర్డ్‌లు, యూజర్‌నేమ్‌లు ఎన్‌క్రిప్ట్ చేయబడతాయి. కాబట్టి, Googleతో సహా ఎవరూ వాటిని తెలుసుకోలేరు. @@ -1413,7 +1413,7 @@ రెండవ షిఫ్ట్ ఆటోమేటిక్ డౌన్‌లోడ్‌లు అప్‌లోడ్ చేసిన క్రాష్ రిపోర్ట్ ID: -ఇమెయిల్ +ఈమెయిల్‌ 9x11 (ఎన్వలప్) ఈ పరికరం నిర్వాహకుడు అదనపు ఫంక్షన్‌ల కోసం ఎక్స్‌టెన్షన్‌లను ఇన్‌స్టాల్ చేశారు. మీ డేటాలో కొంత భాగానికి ఎక్స్‌టెన్షన్‌లు యాక్సెస్ కలిగి ఉంటాయి. ఈ పేజీ పని చేయడం లేదు @@ -1437,7 +1437,7 @@ {NUM_CARDS,plural, =1{ఈ కార్డ్‌కు ఒక వర్చువల్ నంబర్‌ను ఉపయోగించండి}other{ఒక కార్డ్‌ను ఎంచుకోండి}} Chrome రూపాలను మేనేజ్ చేయండి మీ కెమెరాను ఉపయోగించండి, తరలించండి -చెల్లుబాటు అయ్యే ఇమెయిల్ అడ్రస్‌ను నమోదు చేయండి +చెల్లుబాటు అయ్యే ఈమెయిల్‌ అడ్రస్‌ను నమోదు చేయండి బట్వాడా పద్ధతులు మరియు అవసరాలను చూడాలంటే, అడ్రస్‌ను ఎంచుకోండి వర్చువల్ కార్డ్ నంబర్ పూరించబడలేదా? ప్రాధాన్యత @@ -2343,7 +2343,7 @@ సూచనలు:మీకు డేటా కనెక్షన్ ఉందని నిర్ధారించుకోండిఈ వెబ్‌పేజీని తర్వాత మళ్లీ లోడ్ చేయండిమీరు నమోదు చేసిన అడ్రస్‌ తనిఖీ చేయండి కార్డ్‌ని సేవ్ చేయండి సర్వర్ ప్రమాణపత్రం గడువు ముగిసింది. -ఫోన్ నంబర్‌లు, ఇమెయిల్ అడ్రస్‌లు మరియు బట్వాడా అడ్రస్‌లు లాంటి సమాచారం ఉంటుంది +ఫోన్ నంబర్‌లు, ఈమెయిల్‌ అడ్రస్‌లు మరియు బట్వాడా అడ్రస్‌లు లాంటి సమాచారం ఉంటుంది మీరు ముద్రించే ఫైళ్ల పేర్లు Google సురక్షిత బ్రౌజింగ్ ఇటీవల లో ఫిషింగ్‌ని గుర్తించింది. ఫిషింగ్ సైట్‌లు వేరే వెబ్‌సైట్‌ల వలె ప్రవర్తించడం ద్వారా మిమ్మల్ని మాయ చేయవచ్చు. Google Payని ఉపయోగిస్తున్న చెల్లింపు పద్ధతులు మరియు అడ్రస్‌లు diff --git components/version_info/version_info.cc components/version_info/version_info.cc index 7bae5ddd7c9d6..515e9872c50d0 100644 --- components/version_info/version_info.cc +++ components/version_info/version_info.cc @@ -19,7 +19,7 @@ namespace version_info { std::string GetProductNameAndVersionForUserAgent() { /* Disguise as chromium and screw google.com services */ - return "Chrome/92.0.0.0"; + return "Chrome/95.0.4638.69"; } std::string GetProductName() { diff --git components/webapps/browser/android/translations/android_webapps_strings_hi.xtb components/webapps/browser/android/translations/android_webapps_strings_hi.xtb index ae7c966590b28..f164c3cfc89fd 100644 --- components/webapps/browser/android/translations/android_webapps_strings_hi.xtb +++ components/webapps/browser/android/translations/android_webapps_strings_hi.xtb @@ -5,5 +5,5 @@ ऐप्स इंस्टॉल करें इंस्‍टॉल करें को आपकी होम स्क्रीन में जोड़ा गया था -Google Play स्‍टोर से ऐप्लिकेशन डाउनलोड करें: +Google Play Store से ऐप्लिकेशन डाउनलोड करें: \ No newline at end of file diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc index d950678294a9a..5acbdf088e58c 100644 --- content/browser/renderer_host/navigation_request.cc +++ content/browser/renderer_host/navigation_request.cc @@ -3788,7 +3788,29 @@ void NavigationRequest::OnStartChecksComplete( // soon be restarted as a normal history navigation. return; } - CHECK(rfh_restored_from_back_forward_cache_); + if (!rfh_restored_from_back_forward_cache_ || + rfh_restored_from_back_forward_cache_ + ->is_evicted_from_back_forward_cache()) { + // We might also get here when the navigation is not marked as being + // restarted yet, but the RFH being restored is gone or is already marked + // as evicted. Do not continue the navigation, and trigger uploading of + // debug information to understand what led to this case, since it's still + // unknown. + // See https://crbug.com/1258523. + SCOPED_CRASH_KEY_BOOL("NoRestoredRFH", "rfh_exists", + !!rfh_restored_from_back_forward_cache_); + SCOPED_CRASH_KEY_BOOL("NoRestoredRFH", "is_main_frame", + frame_tree_node_->IsMainFrame()); + SCOPED_CRASH_KEY_BOOL("NoRestoredRFH", "is_ftn_nav_req", + (frame_tree_node_->navigation_request() == this)); + BackForwardCacheImpl& back_forward_cache = + frame_tree_node_->frame_tree()->controller().GetBackForwardCache(); + SCOPED_CRASH_KEY_NUMBER("NoRestoredRFH", "bfcache_entries_size", + back_forward_cache.GetEntries().size()); + CaptureTraceForNavigationDebugScenario( + DebugScenario::kDebugNoRestoredRFHOnNonRestartedNavigation); + return; + } loader_type = NavigationURLLoader::LoaderType::kNoopForBackForwardCache; cached_response_head = rfh_restored_from_back_forward_cache_->last_response_head()->Clone(); diff --git content/common/debug_utils.h content/common/debug_utils.h index 13d024284f094..1f724fd5eb968 100644 --- content/common/debug_utils.h +++ content/common/debug_utils.h @@ -55,9 +55,14 @@ enum class DebugScenario { // RenderFrameProxyHost::SetFocusedFrame(). kDebugNoRenderFrameProxyHostOnSetFocusedFrame = 9, + // The RenderFrameHost to be restored from the back/forward cache no longer + // exists for a navigation that is not marked as being restarted. + // See https://crbug.com/1258523. + kDebugNoRestoredRFHOnNonRestartedNavigation = 10, + // After making changes, you MUST update the histograms xml by running: // "python tools/metrics/histograms/update_debug_scenarios.py" - kMaxValue = kDebugNoRenderFrameProxyHostOnSetFocusedFrame, + kMaxValue = kDebugNoRestoredRFHOnNonRestartedNavigation, }; // The tracing categories enabled for debugging navigation scenarios can be diff --git content/common/user_agent.cc content/common/user_agent.cc index 388a3a5117128..d38f473f9a0e2 100644 --- content/common/user_agent.cc +++ content/common/user_agent.cc @@ -344,7 +344,7 @@ std::string BuildUserAgentFromOSAndProduct(const std::string& os_info, "%s Safari/537.36", os_info.c_str(), product.c_str()); if (strncmp(product.c_str(), "Chrome/", 7) != 0) - base::StringAppendF(&user_agent, " Chrome/95.0.4638.54"); + base::StringAppendF(&user_agent, " Chrome/95.0.4638.69"); return user_agent; } diff --git gpu/config/gpu_lists_version.h gpu/config/gpu_lists_version.h index 2d17566f53f34..aec1246042e1f 100644 --- gpu/config/gpu_lists_version.h +++ gpu/config/gpu_lists_version.h @@ -3,6 +3,6 @@ #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ #define GPU_CONFIG_GPU_LISTS_VERSION_H_ -#define GPU_LISTS_VERSION "d31a821ec901f68d0d34ccdbaea45b4c86ce543e" +#define GPU_LISTS_VERSION "6a1600ed572fedecd573b6c2b90a22fe6392a410" #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ diff --git infra/config/generated/luci/cr-buildbucket.cfg infra/config/generated/luci/cr-buildbucket.cfg index e886a04a032a6..b2e5a2a5336c5 100644 --- infra/config/generated/luci/cr-buildbucket.cfg +++ infra/config/generated/luci/cr-buildbucket.cfg @@ -73,10 +73,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -174,10 +170,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -275,10 +267,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -376,10 +364,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -477,10 +461,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -578,10 +558,6 @@ buckets { execution_timeout_secs: 14400 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -679,10 +655,6 @@ buckets { execution_timeout_secs: 25200 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_isolate" value: 50 @@ -784,10 +756,6 @@ buckets { execution_timeout_secs: 18000 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -885,10 +853,6 @@ buckets { execution_timeout_secs: 14400 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -986,10 +950,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1087,10 +1047,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1188,10 +1144,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1288,10 +1240,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1382,10 +1330,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1476,10 +1420,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1573,10 +1513,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1667,10 +1603,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1761,10 +1693,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1861,10 +1789,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -1955,10 +1879,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2049,10 +1969,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2149,10 +2065,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2243,10 +2155,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2337,10 +2245,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2438,10 +2342,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2539,10 +2439,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2639,10 +2535,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2736,10 +2628,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2836,10 +2724,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -2937,10 +2821,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3038,10 +2918,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3139,10 +3015,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3240,10 +3112,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3341,10 +3209,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3442,10 +3306,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3543,10 +3403,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3644,10 +3500,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3738,10 +3590,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3839,10 +3687,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -3940,10 +3784,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4041,10 +3881,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4142,10 +3978,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4243,10 +4075,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4337,10 +4165,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4438,10 +4262,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4535,10 +4355,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4632,10 +4448,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4726,10 +4538,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4820,10 +4628,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -4914,10 +4718,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5008,10 +4808,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5102,10 +4898,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5196,10 +4988,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5290,10 +5078,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5384,10 +5168,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5485,10 +5265,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5586,10 +5362,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5687,10 +5459,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5787,10 +5555,6 @@ buckets { execution_timeout_secs: 36000 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5887,10 +5651,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -5986,10 +5746,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6085,10 +5841,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6184,10 +5936,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6278,10 +6026,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6378,10 +6122,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6483,10 +6223,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6584,10 +6320,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6685,10 +6417,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6786,10 +6514,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6887,10 +6611,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -6988,10 +6708,6 @@ buckets { execution_timeout_secs: 14400 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7089,10 +6805,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7190,10 +6902,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7289,10 +6997,6 @@ buckets { execution_timeout_secs: 25200 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7390,10 +7094,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7491,10 +7191,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7591,10 +7287,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7691,10 +7383,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7791,10 +7479,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7891,10 +7575,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -7991,10 +7671,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8092,10 +7768,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8191,10 +7863,6 @@ buckets { execution_timeout_secs: 36000 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8292,10 +7960,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8394,10 +8058,6 @@ buckets { } build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8496,10 +8156,6 @@ buckets { } build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8598,10 +8254,6 @@ buckets { } build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8698,10 +8350,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8798,10 +8446,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8898,10 +8542,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -8998,10 +8638,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9098,10 +8734,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9197,10 +8829,6 @@ buckets { execution_timeout_secs: 36000 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9298,10 +8926,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9395,10 +9019,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9489,10 +9109,6 @@ buckets { execution_timeout_secs: 10800 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9588,10 +9204,6 @@ buckets { execution_timeout_secs: 25200 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 @@ -9687,10 +9299,6 @@ buckets { execution_timeout_secs: 25200 build_numbers: YES service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com" - experiments { - key: "chromium.chromium_tests.use_gitiles_trigger" - value: 100 - } experiments { key: "chromium.chromium_tests.use_rbe_cas" value: 50 diff --git infra/config/generated/luci/project.cfg infra/config/generated/luci/project.cfg index d0559ddb2afdd..e878eeb8c1750 100644 --- infra/config/generated/luci/project.cfg +++ infra/config/generated/luci/project.cfg @@ -6,3 +6,9 @@ name: "chromium-m95" access: "group:all" +lucicfg { + version: "1.29.1" + package_dir: "../.." + config_dir: "generated/luci" + entry_point: "main.star" +} diff --git infra/config/lib/ci.star infra/config/lib/ci.star index ea2e845644f8c..8ae546d583c41 100644 --- infra/config/lib/ci.star +++ infra/config/lib/ci.star @@ -114,9 +114,6 @@ def ci_builder( experiments = dict(experiments or {}) - # TODO(crbug.com/1249938) Promote out of experiment for all builders - experiments.setdefault("chromium.chromium_tests.use_gitiles_trigger", 100) - # TODO(crbug.com/1135718): Promote out of experiment for all builders. experiments.setdefault("chromium.chromium_tests.use_rdb_results", 100) diff --git infra/config/main.star infra/config/main.star index e60fe1389123e..f84a587ce7357 100755 --- infra/config/main.star +++ infra/config/main.star @@ -10,7 +10,7 @@ load("//lib/branches.star", "branches") load("//project.star", "settings") lucicfg.check_version( - min = "1.28.0", + min = "1.29.1", message = "Update depot_tools", ) diff --git ios/chrome/app/strings/resources/ios_chromium_strings_sv.xtb ios/chrome/app/strings/resources/ios_chromium_strings_sv.xtb index ab37c4f347748..763203e64266f 100644 --- ios/chrome/app/strings/resources/ios_chromium_strings_sv.xtb +++ ios/chrome/app/strings/resources/ios_chromium_strings_sv.xtb @@ -37,7 +37,7 @@ Chromium kunde inte kontrollera dina lösenord. Testa att kontrollera internetanslutningen. Stöds inte på Chromium Canary Chromium kan kontrollera dina lösenord när du loggar in med Google-kontot. -Chromium har inte åtkomst till dina foton eller videor. Aktivera åtkomst i iOS-inställningar > Sekretess > Foton. +Chromium har inte åtkomst till dina foton eller videor. Aktivera åtkomst i iOS-inställningar > Integritet > Foton. Bokmärken, lösenord, historik och andra inställningar finns fortfarande kvar på enheten. Om du ändrar något synkroniseras inte detta med kontot. Stöds inte på Chromium Beta När den här funktionen har aktiverats visas alternativet i Chromium att översätta sidor som är skrivna på andra språk med hjälp av Google Översätt. Läs mer @@ -84,7 +84,7 @@ Den data som markerades har tagits bort från Chromium och från synkroniserade enheter. Det kan finnas andra former av webbhistorik i Google-kontot på history.google.com, t.ex. sökningar och aktivitet på andra tjänster från Google. Använd Chromium överallt Ditt lösenord har läckt ut vid ett dataintrång. Du rekommenderas att ändra lösenordet nu. -Öppna Inställningar > Sekretess > Kamera > Chromium och aktivera kameran. +Öppna Inställningar > Integritet > Kamera > Chromium och aktivera kameran. Tips för Chromium. Vissa knappar finns nu längst ned på skärmen, till exempel bakåtknappen, framåtknappen och Sök. Använd Chromium som standardwebbläsare med skydd mot skadliga webbplatser och skydd av dina lösenord Du håller på att byta synkroniseringskonto från till . Befintlig data i Chromium hanteras av . Åtgärden raderar din data från den här enheten men den finns kvar på . diff --git ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb index 7c6a871c30cd2..b141137b06847 100644 --- ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb +++ ios/chrome/app/strings/resources/ios_google_chrome_strings_sv.xtb @@ -43,7 +43,7 @@ Google Chrome kan inte använda kameran just nu Du håller på att byta synkroniseringskonto från till . Befintlig data i Chrome hanteras av . Åtgärden raderar din data från den här enheten men den finns kvar på . Organisationen kräver att du inte loggar in i Chrome. -Google Chrome har inte åtkomst till dina foton eller videor. Aktivera åtkomst i iOS-inställningar > Sekretess > Foton. +Google Chrome har inte åtkomst till dina foton eller videor. Aktivera åtkomst i iOS-inställningar > Integritet > Foton. Hjälp till att förbättra Chrome genom att skicka användningsstatistik och felrapporter till Google. Stöds inte på Chrome Canary Vill du logga ut från Chrome? @@ -55,7 +55,7 @@ Chrome kan skydda dig från dataintrång, osäkra webbplatser med mera. Den här versionen av Chrome är inaktuell. Om det inte finns någon uppdatering i App Store kan det hända att enheten inte längre har stöd för nya versioner av Chrome. Google Chrome kan inte använda kameran eftersom den används av en annan app -Öppna Inställningar > Sekretess > Kamera > Google Chrome och aktivera kameran. +Öppna Inställningar > Integritet > Kamera > Google Chrome och aktivera kameran. Google Chrome kan inte använda kameran i delad vy Google LLC Chrome kan inte söka efter uppdateringar offline diff --git ios/chrome/app/strings/resources/ios_strings_eu.xtb ios/chrome/app/strings/resources/ios_strings_eu.xtb index 4ec26dc9c479f..43b3fd3377deb 100644 --- ios/chrome/app/strings/resources/ios_strings_eu.xtb +++ ios/chrome/app/strings/resources/ios_strings_eu.xtb @@ -445,7 +445,7 @@ Ezarpena aldatzeko, berrezarri sinkronizazioaIreki konexio gabeko bertsioa Webgune guztietako cookieak kudeatzeko, ikusi "Cookieen ezarpenak" atala. Blokeatu cookie guztiak (ez da gomendatzen) -Duela  ordu +Duela  h Sortu pasaesaldia Ezin da hasi saioa Handoff eginbidea erabiltzen baduzu, gailu honetan has zaitezke webguneak ikusten eta Mac-ean jarrai dezakezu haiek arakatzen. diff --git ios/chrome/app/strings/resources/ios_strings_nl.xtb ios/chrome/app/strings/resources/ios_strings_nl.xtb index a4ece6c402fa3..7d387e7c851e6 100644 --- ios/chrome/app/strings/resources/ios_strings_nl.xtb +++ ios/chrome/app/strings/resources/ios_strings_nl.xtb @@ -225,7 +225,7 @@ Bekijk de instructies van je zoekmachine voor het verwijderen van je zoekgeschie Discover Webservices Vandaag actief -Synchronisatie inschakelen +Synchronisatie aanzetten Safe Browsing (hiermee worden jij en je apparaat beschermd tegen gevaarlijke sites) Ontgrendelen met Toegevoegd aan 'Bookmarks' diff --git ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb index ab02bab92dba7..0716910f8b4ab 100644 --- ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb +++ ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb @@ -485,7 +485,7 @@ A Entrega também tem de estar ativada na secção Geral das Definições e os s Quando pretender, pode encontrar a sua Lista de leitura aqui A frase de acesso é necessária para iniciar a sincronização. Desativado -OK, compreendi +OK 1 item movido Concebido para o iOS Aceder ao link copiado @@ -662,7 +662,7 @@ Quando estiver na Navegação anónima, os sites não podem utilizar cookies par Ao continuar, aceita os Termos de Utilização por cento transferido Opções para o Discover -OK, compreendi +OK Só pode iniciar sessão com contas aprovadas pelo administrador. Saiba mais Opções para guardar o cartão Adicionar aos marcadores diff --git ios/chrome/app/strings/resources/ios_strings_te.xtb ios/chrome/app/strings/resources/ios_strings_te.xtb index 786fee221ed6d..2e3e688b807f2 100644 --- ios/chrome/app/strings/resources/ios_strings_te.xtb +++ ios/chrome/app/strings/resources/ios_strings_te.xtb @@ -175,7 +175,7 @@ ఇప్పుడే అజ్ఞాత శోధన భాషను ఎంచుకోండి -ఇమెయిల్ ఖాతాలు లేవు +ఈమెయిల్‌ ఖాతాలు లేవు ఆన్‌లో ఉంది Google Pay లింక్‌ను క్రియేట్ చేయడం సాధ్యపడలేదు @@ -318,7 +318,7 @@ డౌన్‌లోడ్ విఫలమైంది. సెర్చ్ మీ నిర్వాహకుడు ద్వారా నిర్వహించబడుతోంది -నికర ఎగుమతి డేటాను పంపడానికి, దయచేసి సెట్టింగ్‌ల యాప్‌లో మీ ఇమెయిల్ ఖాతాను కాన్ఫిగర్ చేయండి. +నికర ఎగుమతి డేటాను పంపడానికి, దయచేసి సెట్టింగ్‌ల యాప్‌లో మీ ఈమెయిల్‌ ఖాతాను కాన్ఫిగర్ చేయండి. సమయ పరిధి మీరు మీ బుక్‌మార్క్‌లను ఇక్కడ చూడవచ్చు ఎల్లప్పుడూ చూపు @@ -460,7 +460,7 @@ ఫైల్‌ను ఈ సమయంలో డౌన్‌‌లోడ్ చేయడం సాధ్యపడలేదు. చెల్లింపు పద్ధతిని జోడించండి మీ సంస్థ ద్వారా మేనేజ్ చేయబడుతోంది. మరింత తెలుసుకోండి -ఇమెయిల్ +ఈమెయిల్‌ www వెర్షన్ {count,plural, =1{ఇప్పుడు 1 Chrome విండో చూపబడుతుంది}other{ఇప్పుడు {count} Chrome విండోలు చూపబడుతున్నాయి}} diff --git ios/chrome/browser/ui/reading_list/BUILD.gn ios/chrome/browser/ui/reading_list/BUILD.gn index e31a1504d6ece..51264f83cc98b 100644 --- ios/chrome/browser/ui/reading_list/BUILD.gn +++ ios/chrome/browser/ui/reading_list/BUILD.gn @@ -256,6 +256,7 @@ source_set("eg2_tests") { sources = [ "reading_list_egtest.mm" ] deps = [ ":eg_test_support+eg2", + ":features", ":reading_list_constants", "//base", "//base/test:test_support", diff --git ios/chrome/browser/ui/reading_list/reading_list_egtest.mm ios/chrome/browser/ui/reading_list/reading_list_egtest.mm index bdd995c892b93..4ac5136513c17 100644 --- ios/chrome/browser/ui/reading_list/reading_list_egtest.mm +++ ios/chrome/browser/ui/reading_list/reading_list_egtest.mm @@ -20,6 +20,7 @@ #import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h" #import "ios/chrome/browser/ui/reading_list/reading_list_app_interface.h" #import "ios/chrome/browser/ui/reading_list/reading_list_constants.h" +#import "ios/chrome/browser/ui/reading_list/reading_list_features.h" #import "ios/chrome/browser/ui/table_view/table_view_constants.h" #include "ios/chrome/grit/ios_strings.h" #import "ios/chrome/test/earl_grey/chrome_actions_app_interface.h" @@ -28,6 +29,8 @@ #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/chrome/test/earl_grey/chrome_test_case.h" +#include "ios/testing/earl_grey/app_launch_configuration.h" +#import "ios/testing/earl_grey/app_launch_manager.h" #import "ios/testing/earl_grey/earl_grey_test.h" #include "ios/web/common/features.h" #import "ios/web/public/navigation/navigation_manager.h" @@ -1165,6 +1168,10 @@ void AssertIsShowingDistillablePage(bool online, const GURL& distillable_url) { // Tests the long pressing the setting switch does not trigger any context menu. - (void)testContextMenuSwitch { + AppLaunchConfiguration config = [self appConfigurationForTestCase]; + config.relaunch_policy = ForceRelaunchByCleanShutdown; + config.features_enabled.push_back(kReadingListMessages); + [[AppLaunchManager sharedManager] ensureAppLaunchedWithConfiguration:config]; AddEntriesAndOpenReadingList(); ScrollToTop(); id matcher = grey_allOf( diff --git mojo/core/dispatcher.cc mojo/core/dispatcher.cc index 6ac82443b666d..b8e64d9ddcac6 100644 --- mojo/core/dispatcher.cc +++ mojo/core/dispatcher.cc @@ -41,7 +41,7 @@ void Dispatcher::SetExtractingHandlesFromMessage(bool extracting) { // static void Dispatcher::AssertNotExtractingHandlesFromMessage() { - CHECK(!IsExtractingHandlesFromMessage().Get()); + DCHECK(!IsExtractingHandlesFromMessage().Get()); } MojoResult Dispatcher::WatchDispatcher(scoped_refptr dispatcher, diff --git mojo/core/node_controller.cc mojo/core/node_controller.cc index 9f2e79b9e04e9..21edab39368e6 100644 --- mojo/core/node_controller.cc +++ mojo/core/node_controller.cc @@ -20,6 +20,7 @@ #include "mojo/core/broker.h" #include "mojo/core/broker_host.h" #include "mojo/core/configuration.h" +#include "mojo/core/ports/name.h" #include "mojo/core/request_context.h" #include "mojo/core/user_message_impl.h" #include "mojo/public/cpp/platform/named_platform_channel.h" @@ -1127,6 +1128,12 @@ void NodeController::OnIntroduce(const ports::NodeName& from_node, const uint64_t remote_capabilities) { DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); + if (broker_name_ == ports::kInvalidNodeName || from_node != broker_name_) { + DVLOG(1) << "Ignoring introduction from non-broker process."; + DropPeer(from_node, nullptr); + return; + } + if (!channel_handle.is_valid()) { node_->LostConnectionToNode(name); diff --git remoting/resources/remoting_strings_te.xtb remoting/resources/remoting_strings_te.xtb index 298a80cb1ef34..979c70eac4b66 100644 --- remoting/resources/remoting_strings_te.xtb +++ remoting/resources/remoting_strings_te.xtb @@ -47,7 +47,7 @@ విధానాన్ని చదవడంలో హోస్ట్ విఫలమైంది. ఈ పరికరానికి మూడవ పక్షం ప్రామాణీకరణ అవసరమైనందున దీనికి ఈ క్లయింట్ మద్దతు లేదు. రిమోట్ డెస్క్‌టాప్ -ఈ సూచనలను ఇమెయిల్ ద్వారా పంపు +ఈ సూచనలను ఈమెయిల్‌ ద్వారా పంపు మార్పులు చేయాలనుకుంటోంది. ఇంటర్నెట్‌ని ఉపయోగించేటప్పుడు మీ కంప్యూటర్‌ని సురక్షితంగా యాక్సెస్ చేయండి చెల్లని హోస్ట్ యజమాని. diff --git services/network/web_transport.cc services/network/web_transport.cc index 977e39a5725a2..e910f37050677 100644 --- services/network/web_transport.cc +++ services/network/web_transport.cc @@ -27,7 +27,7 @@ net::WebTransportParameters CreateParameters( const std::vector& fingerprints) { net::WebTransportParameters params; - params.enable_quic_transport = true; + params.enable_quic_transport = false; params.enable_web_transport_http3 = true; for (const auto& fingerprint : fingerprints) { diff --git services/network/web_transport_unittest.cc services/network/web_transport_unittest.cc index 1c02da1200149..a85359bef0620 100644 --- services/network/web_transport_unittest.cc +++ services/network/web_transport_unittest.cc @@ -364,7 +364,7 @@ struct PrintStringPiece { INSTANTIATE_TEST_SUITE_P(WebTransportTests, WebTransportTest, - testing::Values("quic-transport", "https"), + testing::Values("https"), PrintStringPiece()); TEST_P(WebTransportTest, ConnectSuccessfully) { @@ -703,7 +703,7 @@ class WebTransportWithCustomCertificateTest : public WebTransportTest { INSTANTIATE_TEST_SUITE_P(WebTransportWithCustomCertificateTests, WebTransportWithCustomCertificateTest, - testing::Values("quic-transport", "https"), + testing::Values("https"), PrintStringPiece()); TEST_P(WebTransportWithCustomCertificateTest, WithValidFingerprint) { diff --git testing/buildbot/chromium.chromiumos.json testing/buildbot/chromium.chromiumos.json index 63999325ae990..91ba730e6b4ed 100644 --- testing/buildbot/chromium.chromiumos.json +++ testing/buildbot/chromium.chromiumos.json @@ -5852,21 +5852,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "dimension_sets": [ @@ -5881,21 +5881,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "dimension_sets": [ @@ -5910,21 +5910,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "dimension_sets": [ @@ -5939,21 +5939,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "dimension_sets": [ @@ -5968,21 +5968,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "dimension_sets": [ @@ -5997,21 +5997,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "dimension_sets": [ diff --git testing/buildbot/chromium.fyi.json testing/buildbot/chromium.fyi.json index 0fabf64478391..96240e5f98f20 100644 --- testing/buildbot/chromium.fyi.json +++ testing/buildbot/chromium.fyi.json @@ -83987,7 +83987,7 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "isolate_profile_data": true, @@ -83995,14 +83995,14 @@ "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -84012,7 +84012,7 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "isolate_profile_data": true, @@ -84020,14 +84020,14 @@ "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -84037,7 +84037,7 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "isolate_profile_data": true, @@ -84045,14 +84045,14 @@ "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -84062,7 +84062,7 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "isolate_profile_data": true, @@ -84070,14 +84070,14 @@ "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -84087,7 +84087,7 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "isolate_profile_data": true, @@ -84095,14 +84095,14 @@ "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -84112,7 +84112,7 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "isolate_profile_data": true, @@ -84120,14 +84120,14 @@ "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -85427,21 +85427,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "dimension_sets": [ @@ -85457,21 +85457,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "dimension_sets": [ @@ -85487,21 +85487,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "dimension_sets": [ @@ -85517,21 +85517,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "dimension_sets": [ @@ -85547,21 +85547,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "dimension_sets": [ @@ -85577,21 +85577,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "dimension_sets": [ @@ -87068,21 +87068,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "dimension_sets": [ @@ -87098,21 +87098,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "dimension_sets": [ @@ -87128,21 +87128,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "dimension_sets": [ @@ -87158,21 +87158,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "dimension_sets": [ @@ -87188,21 +87188,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "dimension_sets": [ @@ -87218,21 +87218,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "dimension_sets": [ @@ -87921,21 +87921,21 @@ "gtest_tests": [ { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v93.0.4577.107/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.104/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 93.0.4577.107", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 94.0.4606.104", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v93.0.4577.107", - "revision": "version:93.0.4577.107" + "location": "lacros_version_skew_tests_v94.0.4606.104", + "revision": "version:94.0.4606.104" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -87945,21 +87945,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -87969,21 +87969,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -87993,21 +87993,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -88017,21 +88017,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v93.0.4577.107/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.104/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 93.0.4577.107", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 94.0.4606.104", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v93.0.4577.107", - "revision": "version:93.0.4577.107" + "location": "lacros_version_skew_tests_v94.0.4606.104", + "revision": "version:94.0.4606.104" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -88041,21 +88041,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 94.0.4606.77", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4664.13", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v94.0.4606.77", - "revision": "version:94.0.4606.77" + "location": "lacros_version_skew_tests_v96.0.4664.13", + "revision": "version:96.0.4664.13" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -88065,21 +88065,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 96.0.4657.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4669.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v96.0.4657.0", - "revision": "version:96.0.4657.0" + "location": "lacros_version_skew_tests_v97.0.4669.0", + "revision": "version:97.0.4669.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -88089,21 +88089,21 @@ }, { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome", "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter" ], "merge": { "args": [], "script": "//testing/merge_scripts/standard_gtest_merge.py" }, - "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4668.0", + "name": "lacros_chrome_browsertests_run_in_series_Lacros version skew testing ash 97.0.4683.0", "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v97.0.4668.0", - "revision": "version:97.0.4668.0" + "location": "lacros_version_skew_tests_v97.0.4683.0", + "revision": "version:97.0.4683.0" } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" diff --git testing/buildbot/variants.pyl testing/buildbot/variants.pyl index 1e5931c9f7d4b..c82bc1c84605b 100644 --- testing/buildbot/variants.pyl +++ testing/buildbot/variants.pyl @@ -46,64 +46,64 @@ }, 'LACROS_VERSION_SKEW_CANARY': { 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4668.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4683.0/test_ash_chrome', '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter', ], - 'identifier': 'Lacros version skew testing ash 97.0.4668.0', + 'identifier': 'Lacros version skew testing ash 97.0.4683.0', 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v97.0.4668.0', - 'revision': 'version:97.0.4668.0', + 'location': 'lacros_version_skew_tests_v97.0.4683.0', + 'revision': 'version:97.0.4683.0', }, ], }, }, 'LACROS_VERSION_SKEW_DEV': { 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4657.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v97.0.4669.0/test_ash_chrome', '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter', ], - 'identifier': 'Lacros version skew testing ash 96.0.4657.0', + 'identifier': 'Lacros version skew testing ash 97.0.4669.0', 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v96.0.4657.0', - 'revision': 'version:96.0.4657.0', + 'location': 'lacros_version_skew_tests_v97.0.4669.0', + 'revision': 'version:97.0.4669.0', }, ], }, }, 'LACROS_VERSION_SKEW_BETA': { 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.77/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v96.0.4664.13/test_ash_chrome', '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter', ], - 'identifier': 'Lacros version skew testing ash 94.0.4606.77', + 'identifier': 'Lacros version skew testing ash 96.0.4664.13', 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v94.0.4606.77', - 'revision': 'version:94.0.4606.77', + 'location': 'lacros_version_skew_tests_v96.0.4664.13', + 'revision': 'version:96.0.4664.13', }, ], }, }, 'LACROS_VERSION_SKEW_STABLE': { 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v93.0.4577.107/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v94.0.4606.104/test_ash_chrome', '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter', ], - 'identifier': 'Lacros version skew testing ash 93.0.4577.107', + 'identifier': 'Lacros version skew testing ash 94.0.4606.104', 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v93.0.4577.107', - 'revision': 'version:93.0.4577.107', + 'location': 'lacros_version_skew_tests_v94.0.4606.104', + 'revision': 'version:94.0.4606.104', }, ], }, diff --git third_party/blink/public/strings/translations/blink_strings_te.xtb third_party/blink/public/strings/translations/blink_strings_te.xtb index 28ff48c72ab3a..4c36029e9f7a9 100644 --- third_party/blink/public/strings/translations/blink_strings_te.xtb +++ third_party/blink/public/strings/translations/blink_strings_te.xtb @@ -5,7 +5,7 @@ టోగుల్ బటన్ సెకన్లు వారం పికర్‌ను చూపుతుంది -దయచేసి ఇమెయిల్ అడ్రస్‌ను ఎంటర్ చేయండి. +దయచేసి ఈమెయిల్‌ అడ్రస్‌ను ఎంటర్ చేయండి. పాజ్ చేయి బహుమానపూర్వకం marquee @@ -27,7 +27,7 @@ ప్రస్తుత సమయం కలర్ పికర్ ఉపశీర్షికల మెనూని దాచు -దయచేసి ఖాళీ-కాని ఇమెయిల్ అడ్రస్‌ను నమోదు చేయండి. +దయచేసి ఖాళీ-కాని ఈమెయిల్‌ అడ్రస్‌ను నమోదు చేయండి. ఇతర... మొత్తం సమయం: alert_dialog @@ -75,7 +75,7 @@ మీరు కొనసాగాలనుకుంటే దయచేసి ఈ బాక్స్‌కి టిక్కు పెట్టండి. వివరాలు రేడియో సమూహం -దయచేసి కామాతో వేరు చేసిన ఇమెయిల్ అడ్రస్‌ల లిస్ట్‌ను నమోదు చేయండి. +దయచేసి కామాతో వేరు చేసిన ఈమెయిల్‌ అడ్రస్‌ల లిస్ట్‌ను నమోదు చేయండి. ఆబ్జెక్ట్ లింక్ MB @@ -265,7 +265,7 @@ నిలిపివేయి కంటెంట్‌ను విస్తరింపజేసే లేదా కుదించే త్రిభుజం రంగు స్లయిడర్ -దయచేసి ఇమెయిల్ అడ్రస్‌లో ''ని చేర్చండి. ''లో '' లేదు. +దయచేసి ఈమెయిల్‌ అడ్రస్‌లో ''ని చేర్చండి. ''లో '' లేదు. విభజన ఫైల్ ఏదీ ఎంచుకోలేదు ఎంచుకోబడలేదు @@ -314,7 +314,7 @@ టోగుల్ బటన్‌ను ఫార్మాట్ చేయండి నెల సెకన్లలో ప్రస్తుత సమయం -ఇమెయిల్ +ఈమెయిల్‌ నావిగేషన్ పత్రం చిత్రంలో చిత్రం మోడ్ నుండి నిష్క్రమింపజేస్తుంది diff --git third_party/blink/renderer/core/layout/layout_block.cc third_party/blink/renderer/core/layout/layout_block.cc index 5ae6c0b5db1ef..47af73c2c1dd5 100644 --- third_party/blink/renderer/core/layout/layout_block.cc +++ third_party/blink/renderer/core/layout/layout_block.cc @@ -41,6 +41,7 @@ #include "third_party/blink/renderer/core/frame/local_frame_view.h" #include "third_party/blink/renderer/core/frame/settings.h" #include "third_party/blink/renderer/core/html/html_marquee_element.h" +#include "third_party/blink/renderer/core/html/shadow/shadow_element_names.h" #include "third_party/blink/renderer/core/html_names.h" #include "third_party/blink/renderer/core/layout/api/line_layout_box.h" #include "third_party/blink/renderer/core/layout/api/line_layout_item.h" @@ -2038,6 +2039,13 @@ LayoutUnit LayoutBlock::InlineBlockBaseline( const LayoutBlock* LayoutBlock::EnclosingFirstLineStyleBlock() const { NOT_DESTROYED(); + auto* element = DynamicTo(GetNode()); + if (element && element->ShadowPseudoId() == + shadow_element_names::kPseudoInternalInputSuggested) { + // Disable ::first-line style for autofill previews. See + // crbug.com/1227170. + return nullptr; + } const LayoutBlock* first_line_block = this; bool has_pseudo = false; while (true) { diff --git third_party/blink/renderer/modules/mediastream/webmediaplayer_ms_compositor.cc third_party/blink/renderer/modules/mediastream/webmediaplayer_ms_compositor.cc index 8f9b05c279d61..0043019475353 100644 --- third_party/blink/renderer/modules/mediastream/webmediaplayer_ms_compositor.cc +++ third_party/blink/renderer/modules/mediastream/webmediaplayer_ms_compositor.cc @@ -85,9 +85,15 @@ scoped_refptr CopyFrame( } } else { DCHECK(frame->IsMappable()); - DCHECK(frame->format() == media::PIXEL_FORMAT_I420A || - frame->format() == media::PIXEL_FORMAT_I420 || - frame->format() == media::PIXEL_FORMAT_NV12); + if (frame->format() != media::PIXEL_FORMAT_I420A && + frame->format() != media::PIXEL_FORMAT_I420 && + frame->format() != media::PIXEL_FORMAT_NV12 && + frame->format() != media::PIXEL_FORMAT_ARGB) { + DLOG(WARNING) << frame->format() << " is not supported."; + return media::VideoFrame::CreateColorFrame( + frame->visible_rect().size(), 0u, 0x80, 0x80, frame->timestamp()); + } + const gfx::Size& coded_size = frame->coded_size(); new_frame = media::VideoFrame::CreateFrame( frame->format(), coded_size, frame->visible_rect(), @@ -107,6 +113,12 @@ scoped_refptr CopyFrame( new_frame->data(media::VideoFrame::kUVPlane), new_frame->stride(media::VideoFrame::kUVPlane), coded_size.width(), coded_size.height()); + } else if (frame->format() == media::PIXEL_FORMAT_ARGB) { + libyuv::ARGBCopy(frame->data(media::VideoFrame::kARGBPlane), + frame->stride(media::VideoFrame::kARGBPlane), + new_frame->data(media::VideoFrame::kARGBPlane), + new_frame->stride(media::VideoFrame::kARGBPlane), + coded_size.width(), coded_size.height()); } else { libyuv::I420Copy(frame->data(media::VideoFrame::kYPlane), frame->stride(media::VideoFrame::kYPlane), diff --git third_party/maldoca/README.chromium third_party/maldoca/README.chromium index 5637d542936e3..4088bfd5abe0b 100644 --- third_party/maldoca/README.chromium +++ third_party/maldoca/README.chromium @@ -2,7 +2,7 @@ Name: MalDocA source for extracting and analyzing features from Office documents Short Name: maldoca URL: https://github.com/google/maldoca.git Version: 0 -Revision: 5b86c10511d3b58dadf8b9f58676fe654d546f8f +Revision: 3d2b660fe61f97ec4bf9ae6f561b4e016b75db79 License: Apache 2.0 License File: src/LICENSE Security Critical: yes diff --git third_party/maldoca/src/maldoca/base/encoding_error.h third_party/maldoca/src/maldoca/base/encoding_error.h index 041c0a3769b8d..c67eb87a20563 100644 --- third_party/maldoca/src/maldoca/base/encoding_error.h +++ third_party/maldoca/src/maldoca/base/encoding_error.h @@ -16,7 +16,7 @@ namespace maldoca { static inline std::string& GetFailedEncoding() { - thread_local std::string failed_encoding; + static std::string failed_encoding; return failed_encoding; } diff --git third_party/webrtc/media/engine/webrtc_voice_engine.cc third_party/webrtc/media/engine/webrtc_voice_engine.cc index 75d1a5fe02f1a..f93f078d11049 100644 --- third_party/webrtc/media/engine/webrtc_voice_engine.cc +++ third_party/webrtc/media/engine/webrtc_voice_engine.cc @@ -210,11 +210,6 @@ bool IsEnabled(const webrtc::WebRtcKeyValueConfig& config, return absl::StartsWith(config.Lookup(trial), "Enabled"); } -bool IsDisabled(const webrtc::WebRtcKeyValueConfig& config, - absl::string_view trial) { - return absl::StartsWith(config.Lookup(trial), "Disabled"); -} - struct AdaptivePtimeConfig { bool enabled = false; webrtc::DataRate min_payload_bitrate = webrtc::DataRate::KilobitsPerSec(16); @@ -312,7 +307,7 @@ WebRtcVoiceEngine::WebRtcVoiceEngine( apm_(audio_processing), audio_frame_processor_(audio_frame_processor), audio_red_for_opus_enabled_( - !IsDisabled(trials, "WebRTC-Audio-Red-For-Opus")), + IsEnabled(trials, "WebRTC-Audio-Red-For-Opus")), minimized_remsampling_on_mobile_trial_enabled_( IsEnabled(trials, "WebRTC-Audio-MinimizeResamplingOnMobile")) { // This may be called from any thread, so detach thread checkers. @@ -1349,7 +1344,7 @@ WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel( audio_config_(config.audio), crypto_options_(crypto_options), audio_red_for_opus_enabled_( - !IsDisabled(call->trials(), "WebRTC-Audio-Red-For-Opus")) { + IsEnabled(call->trials(), "WebRTC-Audio-Red-For-Opus")) { network_thread_checker_.Detach(); RTC_LOG(LS_VERBOSE) << "WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel"; RTC_DCHECK(call); diff --git third_party/webrtc/media/engine/webrtc_voice_engine_unittest.cc third_party/webrtc/media/engine/webrtc_voice_engine_unittest.cc index f1c0c1eae4b14..1bad41da6579f 100644 --- third_party/webrtc/media/engine/webrtc_voice_engine_unittest.cc +++ third_party/webrtc/media/engine/webrtc_voice_engine_unittest.cc @@ -1022,8 +1022,10 @@ TEST_P(WebRtcVoiceEngineTestFake, ChangeRecvCodecPayloadType) { EXPECT_TRUE(channel_->SetRecvParameters(parameters)); } -// Test that we do allow setting Opus/Red by default. -TEST_P(WebRtcVoiceEngineTestFake, RecvRedDefault) { +// Test that we enable Opus/Red with the field trial. +TEST_P(WebRtcVoiceEngineTestFake, RecvRed) { + webrtc::test::ScopedFieldTrials override_field_trials( + "WebRTC-Audio-Red-For-Opus/Enabled/"); EXPECT_TRUE(SetupRecvStream()); cricket::AudioRecvParameters parameters; parameters.codecs.push_back(kOpusCodec); @@ -1034,11 +1036,8 @@ TEST_P(WebRtcVoiceEngineTestFake, RecvRedDefault) { {{111, {"opus", 48000, 2}}, {112, {"red", 48000, 2}}}))); } -// Test that we disable Opus/Red with the kill switch. -TEST_P(WebRtcVoiceEngineTestFake, RecvRed) { - webrtc::test::ScopedFieldTrials override_field_trials( - "WebRTC-Audio-Red-For-Opus/Disabled/"); - +// Test that we do not support Opus/Red by default. +TEST_P(WebRtcVoiceEngineTestFake, RecvRedDefault) { EXPECT_TRUE(SetupRecvStream()); cricket::AudioRecvParameters parameters; parameters.codecs.push_back(kOpusCodec); diff --git tools/metrics/histograms/enums.xml tools/metrics/histograms/enums.xml index 73d8c895a2b17..bb9ff32811419 100644 --- tools/metrics/histograms/enums.xml +++ tools/metrics/histograms/enums.xml @@ -19131,6 +19131,7 @@ Called by update_debug_scenarios.py.--> + diff --git tools/metrics/histograms/metadata/android/histograms.xml tools/metrics/histograms/metadata/android/histograms.xml index c5842491d6528..b85d96e3fb9a0 100644 --- tools/metrics/histograms/metadata/android/histograms.xml +++ tools/metrics/histograms/metadata/android/histograms.xml @@ -1553,6 +1553,16 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. + + mthiesse@chromium.org + yfriedman@chromium.org + + When a site attempts to navigate to a supported URL with an intent URL that + targets other browser-like apps. + + + tedchoc@chromium.org diff --git ui/chromeos/translations/ui_chromeos_strings_bg.xtb ui/chromeos/translations/ui_chromeos_strings_bg.xtb index 4ce0e3b3f5637..0cbf05a4f4f5b 100644 --- ui/chromeos/translations/ui_chromeos_strings_bg.xtb +++ ui/chromeos/translations/ui_chromeos_strings_bg.xtb @@ -645,7 +645,7 @@ Букви, цифри и символи с японска клавиатура Лисица Tar архив, компресиран във формат Gzip -За всички файлове, запазени в тази папка, автоматично се създават резервни копия онлайн. +За файловете в тази папка автоматично се създават резервни копия онлайн. руски Видеоклипът ще продължи да се възпроизвежда до края на света. Премахнахте от избраните. diff --git ui/chromeos/translations/ui_chromeos_strings_eu.xtb ui/chromeos/translations/ui_chromeos_strings_eu.xtb index 2d677e6887b8e..f9ff04d8ced58 100644 --- ui/chromeos/translations/ui_chromeos_strings_eu.xtb +++ ui/chromeos/translations/ui_chromeos_strings_eu.xtb @@ -562,7 +562,7 @@ Chromebit elementu Chromebox-ak -Ordenatze-aukerak +Ordenatzeko aukerak Ezin izan da eraman. Ethernet sarea QWERTY txekiarra diff --git ui/strings/translations/ui_strings_de.xtb ui/strings/translations/ui_strings_de.xtb index 3281e007425a1..4800c4e0b4397 100644 --- ui/strings/translations/ui_strings_de.xtb +++ ui/strings/translations/ui_strings_de.xtb @@ -3,7 +3,7 @@ Wird an gesendet… Benachrichtigungseinstellungen -{DAYS,plural, =1{1 Tag her}other{# Tage her}} +{DAYS,plural, =1{vor 1 Tag}other{vor # Tagen}} {SECONDS,plural, =1{vor 1 Minute}other{vor # Minuten}} {MINUTES,plural, =1{1 min}other{# min}} Entfernen @@ -235,7 +235,7 @@ {MINUTES,plural, =1{in 1 min}other{in # min}}  +  Rufnummer von -{HOURS,plural, =1{1 Stunde her}other{# Stunden her}} +{HOURS,plural, =1{vor 1 Stunde}other{vor # Stunden}} {SECONDS,plural, =1{Noch 1 s}other{Noch # s}} Diese Seite neu laden , automatische Vervollständigung diff --git v8/include/v8-version.h v8/include/v8-version.h index e58f97f9ae850..b39e2dc20821f 100644 --- v8/include/v8-version.h +++ v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 9 #define V8_MINOR_VERSION 5 #define V8_BUILD_NUMBER 172 -#define V8_PATCH_LEVEL 21 +#define V8_PATCH_LEVEL 25 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git v8/src/compiler/backend/ia32/code-generator-ia32.cc v8/src/compiler/backend/ia32/code-generator-ia32.cc index e03f934ba5327..1cd78b4359aed 100644 --- v8/src/compiler/backend/ia32/code-generator-ia32.cc +++ v8/src/compiler/backend/ia32/code-generator-ia32.cc @@ -343,8 +343,8 @@ class OutOfLineRecordWrite final : public OutOfLineCode { __ CallRecordWriteStubSaveRegisters(object_, scratch1_, remembered_set_action, save_fp_mode, StubCallMode::kCallWasmRuntimeStub); - } else { #endif // V8_ENABLE_WEBASSEMBLY + } else { __ CallRecordWriteStubSaveRegisters(object_, scratch1_, remembered_set_action, save_fp_mode); } diff --git v8/src/execution/isolate-inl.h v8/src/execution/isolate-inl.h index 63f9ea5947c90..48950b673f222 100644 --- v8/src/execution/isolate-inl.h +++ v8/src/execution/isolate-inl.h @@ -50,7 +50,7 @@ bool Isolate::has_pending_message() { } Object Isolate::pending_exception() { - DCHECK(has_pending_exception()); + CHECK(has_pending_exception()); DCHECK(!thread_local_top()->pending_exception_.IsException(this)); return thread_local_top()->pending_exception_; } diff --git v8/src/heap/cppgc/marker.cc v8/src/heap/cppgc/marker.cc index e290787a59b8b..88f2f3c6085ee 100644 --- v8/src/heap/cppgc/marker.cc +++ v8/src/heap/cppgc/marker.cc @@ -243,6 +243,7 @@ void MarkerBase::EnterAtomicPause(MarkingConfig::StackState stack_state) { } config_.stack_state = stack_state; config_.marking_type = MarkingConfig::MarkingType::kAtomic; + mutator_marking_state_.set_in_atomic_pause(); // Lock guards against changes to {Weak}CrossThreadPersistent handles, that // may conflict with marking. E.g., a WeakCrossThreadPersistent may be diff --git v8/src/heap/cppgc/marking-state.h v8/src/heap/cppgc/marking-state.h index 864c8209b7afd..5f6f0aba3720e 100644 --- v8/src/heap/cppgc/marking-state.h +++ v8/src/heap/cppgc/marking-state.h @@ -9,6 +9,7 @@ #include "include/cppgc/trace-trait.h" #include "include/cppgc/visitor.h" +#include "src/base/logging.h" #include "src/heap/cppgc/compaction-worklists.h" #include "src/heap/cppgc/globals.h" #include "src/heap/cppgc/heap-object-header.h" @@ -123,6 +124,8 @@ class MarkingStateBase { discovered_new_ephemeron_pairs_ = false; } + void set_in_atomic_pause() { in_atomic_pause_ = true; } + protected: inline void MarkAndPush(HeapObjectHeader&, TraceDescriptor); @@ -160,6 +163,7 @@ class MarkingStateBase { size_t marked_bytes_ = 0; bool in_ephemeron_processing_ = false; bool discovered_new_ephemeron_pairs_ = false; + bool in_atomic_pause_ = false; }; MarkingStateBase::MarkingStateBase(HeapBase& heap, @@ -300,12 +304,19 @@ void MarkingStateBase::ProcessEphemeron(const void* key, const void* value, // would break the main marking loop. DCHECK(!in_ephemeron_processing_); in_ephemeron_processing_ = true; - // Filter out already marked keys. The write barrier for WeakMember - // ensures that any newly set value after this point is kept alive and does - // not require the callback. - if (!HeapObjectHeader::FromObject(key) - .IsInConstruction() && - HeapObjectHeader::FromObject(key).IsMarked()) { + // Keys are considered live even in incremental/concurrent marking settings + // because the write barrier for WeakMember ensures that any newly set value + // after this point is kept alive and does not require the callback. + const bool key_in_construction = + HeapObjectHeader::FromObject(key).IsInConstruction(); + const bool key_considered_as_live = + key_in_construction + ? in_atomic_pause_ + : HeapObjectHeader::FromObject(key).IsMarked(); + DCHECK_IMPLIES( + key_in_construction && in_atomic_pause_, + HeapObjectHeader::FromObject(key).IsMarked()); + if (key_considered_as_live) { if (value_desc.base_object_payload) { MarkAndPush(value_desc.base_object_payload, value_desc); } else { diff --git v8/src/ic/accessor-assembler.cc v8/src/ic/accessor-assembler.cc index 64d64cd017c35..f27e3b7f590a7 100644 --- v8/src/ic/accessor-assembler.cc +++ v8/src/ic/accessor-assembler.cc @@ -846,8 +846,8 @@ void AccessorAssembler::HandleLoadICSmiHandlerLoadNamedCase( Comment("module export"); TNode index = DecodeWord(handler_word); - TNode module = LoadObjectField( - CAST(p->receiver()), JSModuleNamespace::kModuleOffset); + TNode module = + LoadObjectField(CAST(holder), JSModuleNamespace::kModuleOffset); TNode exports = LoadObjectField(module, Module::kExportsOffset); TNode cell = CAST(LoadFixedArrayElement(exports, index)); diff --git v8/src/ic/ic.cc v8/src/ic/ic.cc index a2b920a09d1bc..68eee92cef833 100644 --- v8/src/ic/ic.cc +++ v8/src/ic/ic.cc @@ -989,7 +989,13 @@ Handle LoadIC::ComputeHandler(LookupIterator* lookup) { // We found the accessor, so the entry must exist. DCHECK(entry.is_found()); int index = ObjectHashTable::EntryToValueIndex(entry); - return LoadHandler::LoadModuleExport(isolate(), index); + Handle smi_handler = + LoadHandler::LoadModuleExport(isolate(), index); + if (holder_is_lookup_start_object) { + return smi_handler; + } + return LoadHandler::LoadFromPrototype(isolate(), map, holder, + smi_handler); } Handle accessors = lookup->GetAccessors(); diff --git weblayer/browser/android/javatests/BUILD.gn weblayer/browser/android/javatests/BUILD.gn index 81a33e7f96a61..82f31eea8c927 100644 --- weblayer/browser/android/javatests/BUILD.gn +++ weblayer/browser/android/javatests/BUILD.gn @@ -57,6 +57,7 @@ android_library("weblayer_java_tests") { "//net/android:net_java_test_support", "//third_party/android_deps:android_support_v4_java", "//third_party/android_deps:espresso_java", + "//third_party/android_sdk:android_support_chromium_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", "//third_party/androidx:androidx_activity_activity_java", diff --git weblayer/browser/android/javatests/skew/expectations.txt weblayer/browser/android/javatests/skew/expectations.txt index ab44db6bcfba4..ff80cfa5343b8 100644 --- weblayer/browser/android/javatests/skew/expectations.txt +++ weblayer/browser/android/javatests/skew/expectations.txt @@ -5,7 +5,7 @@ # with versions less than or equal to $VERSION of the implementation. # # These lines are not comments! They define the set of known tags and other information. -# tags: [ client_lte_91 client_lte_94 ] +# tags: [ client_lte_91 client_lte_94 impl_lte_94 ] # 'all' disables the test from any skew test. # tags: [ all ] # results: [ Skip ] @@ -35,6 +35,45 @@ crbug.com/1225662 [ client_lte_94 ] org.chromium.weblayer.test.NavigationTest#te crbug.com/1238481 [ client_lte_94 ] org.chromium.weblayer.test.TabTest#testRotationDoesntChangeVisibility [ Skip ] crbug.com/1239028 [ client_lte_94 ] org.chromium.weblayer.test.MediaSessionTest#basic [ Skip ] +# Chrome changes broke some test infrastructure, so tests are only artificially +# broken - the behavior under test has not changed. +crbug.com/1249962 [ client_lte_94] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentAfterRedirectInBackgroundTabLaunchedWhenBackgroundLaunchesAllowed [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentAfterRedirectLaunched [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentInNewTabLaunchedOnLinkClick [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentInSameTabLaunchedOnLinkClick [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentNavigationParamSetOnIntentLaunchViaLinkClick [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentNavigationParamSetOnNavigationsToIntents [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentViaOnLoadLaunched [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithFallbackUrlAfterRedirectLaunched [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBackgroundTabLaunchedWhenBackgroundLaunchesAllowed [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoBlockedWhenBackgroundLaunchesAllowedAndUserForbids [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoLaunchedWhenBackgroundLaunchesAllowedAndUserConsents [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoWithEmbedderPresentingWarningDialogBlockedWhenBackgroundLaunchesAllowedAndUserForbids [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoWithEmbedderPresentingWarningDialogLaunchedWhenBackgroundLaunchesAllowedAndUserConsents [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupLaunchedWhenBackgroundLaunchesAllowed [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectLaunched [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testUserClicksLinkToPageWithExternalIntentLaunchedViaOnLoad [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testUserDecidingExternalIntentNavigationParamSetOnNavigationsToIntentsInIncognito [ Skip ] +crbug.com/1249962 [ client_lte_94 ] org.chromium.weblayer.test.NavigationTest#testIsKnownProtocol [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentAfterRedirectInBackgroundTabLaunchedWhenBackgroundLaunchesAllowed [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentAfterRedirectLaunched [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentInNewTabLaunchedOnLinkClick [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentInSameTabLaunchedOnLinkClick [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentNavigationParamSetOnIntentLaunchViaLinkClick [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentNavigationParamSetOnNavigationsToIntents [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentViaOnLoadLaunched [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithFallbackUrlAfterRedirectLaunched [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBackgroundTabLaunchedWhenBackgroundLaunchesAllowed [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoBlockedWhenBackgroundLaunchesAllowedAndUserForbids [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoLaunchedWhenBackgroundLaunchesAllowedAndUserConsents [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoWithEmbedderPresentingWarningDialogBlockedWhenBackgroundLaunchesAllowedAndUserForbids [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupInIncognitoWithEmbedderPresentingWarningDialogLaunchedWhenBackgroundLaunchesAllowedAndUserConsents [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectInBrowserStartupLaunchedWhenBackgroundLaunchesAllowed [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testExternalIntentWithNoRedirectLaunched [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testUserClicksLinkToPageWithExternalIntentLaunchedViaOnLoad [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.ExternalNavigationTest#testUserDecidingExternalIntentNavigationParamSetOnNavigationsToIntentsInIncognito [ Skip ] +crbug.com/1249962 [ impl_lte_94 ] org.chromium.weblayer.test.NavigationTest#testIsKnownProtocol [ Skip ] + # Bulk disable to get bot green. crbug.com/1191751 [ all ] org.chromium.weblayer.test.InputTypesTest* [ Skip ] crbug.com/1191751 [ all ] org.chromium.weblayer.test.TabCallbackTest#testScrollNotificationDirectionChange [ Skip ] diff --git weblayer/browser/android/javatests/src/org/chromium/weblayer/test/ExternalNavigationTest.java weblayer/browser/android/javatests/src/org/chromium/weblayer/test/ExternalNavigationTest.java index 8d9df69101797..090056817af5e 100644 --- weblayer/browser/android/javatests/src/org/chromium/weblayer/test/ExternalNavigationTest.java +++ weblayer/browser/android/javatests/src/org/chromium/weblayer/test/ExternalNavigationTest.java @@ -12,11 +12,11 @@ import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; import static androidx.test.espresso.matcher.ViewMatchers.withId; import static androidx.test.espresso.matcher.ViewMatchers.withText; -import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.support.test.InstrumentationRegistry; import androidx.annotation.NonNull; import androidx.test.filters.SmallTest; @@ -49,17 +49,6 @@ public class ExternalNavigationTest { public InstrumentationActivityTestRule mActivityTestRule = new InstrumentationActivityTestRule(); - /** - * A dummy activity that claims to handle "weblayer://weblayertest". - */ - public static class DummyActivityForSpecialScheme extends Activity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - finish(); - } - } - private static final boolean EXPECT_NAVIGATION_COMPLETION = true; private static final boolean EXPECT_NAVIGATION_FAILURE = false; private static final boolean RESULTS_IN_EXTERNAL_INTENT = true; @@ -77,20 +66,21 @@ public class ExternalNavigationTest { // The package is not specified in the intent that gets created when navigating to the special // scheme. private static final String INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_PACKAGE = null; - private static final String INTENT_TO_CHROME_DATA_CONTENT = + private static final String INTENT_TO_SELF_DATA_CONTENT = "play.google.com/store/apps/details?id=com.facebook.katana/"; - private static final String INTENT_TO_CHROME_SCHEME = "https"; - private static final String INTENT_TO_CHROME_DATA_STRING = - INTENT_TO_CHROME_SCHEME + "://" + INTENT_TO_CHROME_DATA_CONTENT; - private static final String INTENT_TO_CHROME_ACTION = "android.intent.action.VIEW"; - private static final String INTENT_TO_CHROME_PACKAGE = "com.android.chrome"; + private static final String INTENT_TO_SELF_SCHEME = "https"; + private static final String INTENT_TO_SELF_DATA_STRING = + INTENT_TO_SELF_SCHEME + "://" + INTENT_TO_SELF_DATA_CONTENT; + private static final String INTENT_TO_SELF_ACTION = "android.intent.action.VIEW"; + private static final String INTENT_TO_SELF_PACKAGE = + InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageName(); - // An intent that opens Chrome to view a specified URL. Note that the "end" is left off to allow - // appending extras when constructing URLs. - private static final String INTENT_TO_CHROME = "intent://" + INTENT_TO_CHROME_DATA_CONTENT - + "#Intent;scheme=" + INTENT_TO_CHROME_SCHEME + ";action=" + INTENT_TO_CHROME_ACTION - + ";package=" + INTENT_TO_CHROME_PACKAGE + ";"; - private static final String INTENT_TO_CHROME_URL = INTENT_TO_CHROME + "end"; + // An intent that opens the test app to view a specified URL. Note that the "end" is left off to + // allow appending extras when constructing URLs. + private static final String INTENT_TO_SELF = "intent://" + INTENT_TO_SELF_DATA_CONTENT + + "#Intent;scheme=" + INTENT_TO_SELF_SCHEME + ";action=" + INTENT_TO_SELF_ACTION + + ";package=" + INTENT_TO_SELF_PACKAGE + ";"; + private static final String INTENT_TO_SELF_URL = INTENT_TO_SELF + "end"; // An intent URL that gets rejected as malformed. private static final String MALFORMED_INTENT_URL = "intent://garbage;end"; @@ -100,33 +90,33 @@ public class ExternalNavigationTest { private static final String NON_RESOLVABLE_INTENT = "intent://dummy.com/#Intent;scheme=https;action=android.intent.action.VIEW;package=com.missing.app;"; - private static final String LINK_WITH_INTENT_TO_CHROME_IN_SAME_TAB_FILE = - "link_with_intent_to_chrome_in_same_tab.html"; - private static final String LINK_WITH_INTENT_TO_CHROME_IN_NEW_TAB_FILE = - "link_with_intent_to_chrome_in_new_tab.html"; + private static final String LINK_WITH_INTENT_TO_SELF_IN_SAME_TAB_FILE = + "link_with_intent_to_package_in_same_tab.html#" + INTENT_TO_SELF_PACKAGE; + private static final String LINK_WITH_INTENT_TO_SELF_IN_NEW_TAB_FILE = + "link_with_intent_to_package_in_new_tab.html#" + INTENT_TO_SELF_PACKAGE; private static final String PAGE_THAT_INTENTS_TO_CHROME_ON_LOAD_FILE = - "page_that_intents_to_chrome_on_load.html"; + "page_that_intents_to_package_on_load.html#" + INTENT_TO_SELF_PACKAGE; private static final String LINK_TO_PAGE_THAT_INTENTS_TO_CHROME_ON_LOAD_FILE = - "link_to_page_that_intents_to_chrome_on_load.html"; + "link_to_page_that_intents_to_package_on_load.html#" + INTENT_TO_SELF_PACKAGE; // The test server handles "echo" with a response containing "Echo" :). private final String mTestServerSiteUrl = mActivityTestRule.getTestServer().getURL("/echo"); private final String mTestServerSiteFallbackUrlExtra = "S.browser_fallback_url=" + android.net.Uri.encode(mTestServerSiteUrl) + ";"; - private final String mIntentToChromeWithFallbackUrl = - INTENT_TO_CHROME + mTestServerSiteFallbackUrlExtra + "end"; + private final String mIntentToSelfWithFallbackUrl = + INTENT_TO_SELF + mTestServerSiteFallbackUrlExtra + "end"; private final String mNonResolvableIntentWithFallbackUrl = NON_RESOLVABLE_INTENT + mTestServerSiteFallbackUrlExtra + "end"; private final String mRedirectToCustomSchemeUrlWithDefaultExternalHandler = mActivityTestRule.getTestServer().getURL( "/server-redirect?" + CUSTOM_SCHEME_URL_WITH_DEFAULT_EXTERNAL_HANDLER); - private final String mRedirectToIntentToChromeURL = - mActivityTestRule.getTestServer().getURL("/server-redirect?" + INTENT_TO_CHROME_URL); + private final String mRedirectToIntentToSelfURL = + mActivityTestRule.getTestServer().getURL("/server-redirect?" + INTENT_TO_SELF_URL); private final String mNonResolvableIntentWithFallbackUrlThatLaunchesIntent = NON_RESOLVABLE_INTENT + "S.browser_fallback_url=" - + android.net.Uri.encode(mRedirectToIntentToChromeURL) + ";end"; + + android.net.Uri.encode(mRedirectToIntentToSelfURL) + ";end"; private class IntentInterceptor implements InstrumentationActivity.IntentInterceptor { public Intent mLastIntent; @@ -276,10 +266,10 @@ public class ExternalNavigationTest { // Navigate directly to an intent in the background and verify that the intent is not // launched. - NavigationWaiter waiter = new NavigationWaiter(INTENT_TO_CHROME_URL, backgroundTab, + NavigationWaiter waiter = new NavigationWaiter(INTENT_TO_SELF_URL, backgroundTab, /*expectFailure=*/true, /*waitForPaint=*/false); TestThreadUtils.runOnUiThreadBlocking(() -> { - backgroundTab.getNavigationController().navigate(Uri.parse(INTENT_TO_CHROME_URL)); + backgroundTab.getNavigationController().navigate(Uri.parse(INTENT_TO_SELF_URL)); }); waiter.waitForNavigation(); @@ -321,7 +311,7 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); backgroundTab.getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL), navigateParamsBuilder.build()); + Uri.parse(INTENT_TO_SELF_URL), navigateParamsBuilder.build()); }); intentInterceptor.waitForIntent(); @@ -330,9 +320,9 @@ public class ExternalNavigationTest { // navigation in the background tab. Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); int numNavigationsInBackgroundTab = TestThreadUtils.runOnUiThreadBlocking( () -> { return backgroundTab.getNavigationController().getNavigationListSize(); }); @@ -357,11 +347,10 @@ public class ExternalNavigationTest { // Perform a navigation that redirects to an intent in the background and verify that the // intent is not launched. - NavigationWaiter waiter = new NavigationWaiter(INTENT_TO_CHROME_URL, backgroundTab, + NavigationWaiter waiter = new NavigationWaiter(INTENT_TO_SELF_URL, backgroundTab, /*expectFailure=*/true, /*waitForPaint=*/false); TestThreadUtils.runOnUiThreadBlocking(() -> { - backgroundTab.getNavigationController().navigate( - Uri.parse(mRedirectToIntentToChromeURL)); + backgroundTab.getNavigationController().navigate(Uri.parse(mRedirectToIntentToSelfURL)); }); waiter.waitForNavigation(); @@ -403,7 +392,7 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); backgroundTab.getNavigationController().navigate( - Uri.parse(mRedirectToIntentToChromeURL), navigateParamsBuilder.build()); + Uri.parse(mRedirectToIntentToSelfURL), navigateParamsBuilder.build()); }); intentInterceptor.waitForIntent(); @@ -412,9 +401,9 @@ public class ExternalNavigationTest { // navigation in the background tab. Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); int numNavigationsInBackgroundTab = TestThreadUtils.runOnUiThreadBlocking( () -> { return backgroundTab.getNavigationController().getNavigationListSize(); }); @@ -434,7 +423,7 @@ public class ExternalNavigationTest { NavigationCallback navigationCallback = new NavigationCallback() { @Override public void onNavigationFailed(Navigation navigation) { - if (navigation.getUri().toString().equals(INTENT_TO_CHROME_URL)) { + if (navigation.getUri().toString().equals(INTENT_TO_SELF_URL)) { onNavigationFailedCallbackHelper.notifyCalled(); } } @@ -451,7 +440,7 @@ public class ExternalNavigationTest { browser.getActiveTab().getNavigationController().registerNavigationCallback( navigationCallback); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL)); + Uri.parse(INTENT_TO_SELF_URL)); } }); @@ -508,7 +497,7 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL), navigateParamsBuilder.build()); + Uri.parse(INTENT_TO_SELF_URL), navigateParamsBuilder.build()); } }); @@ -518,9 +507,9 @@ public class ExternalNavigationTest { intentInterceptor.waitForIntent(); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); // ...the tab created for the initial navigation should be closed... onTabRemovedCallbackHelper.waitForFirst(); @@ -548,7 +537,7 @@ public class ExternalNavigationTest { NavigationCallback navigationCallback = new NavigationCallback() { @Override public void onNavigationFailed(Navigation navigation) { - if (navigation.getUri().toString().equals(INTENT_TO_CHROME_URL)) { + if (navigation.getUri().toString().equals(INTENT_TO_SELF_URL)) { onNavigationFailedCallbackHelper.notifyCalled(); } } @@ -564,7 +553,7 @@ public class ExternalNavigationTest { browser.getActiveTab().getNavigationController().registerNavigationCallback( navigationCallback); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL)); + Uri.parse(INTENT_TO_SELF_URL)); } }); @@ -626,7 +615,7 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL), navigateParamsBuilder.build()); + Uri.parse(INTENT_TO_SELF_URL), navigateParamsBuilder.build()); } }); @@ -645,9 +634,9 @@ public class ExternalNavigationTest { intentInterceptor.waitForIntent(); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); // ...the tab created for the initial navigation should be closed... onTabRemovedCallbackHelper.waitForFirst(); @@ -680,11 +669,13 @@ public class ExternalNavigationTest { @Override public void onNavigationStarted(Navigation navigation) { // There should be no additional navigations after the initial one. - Assert.assertEquals(INTENT_TO_CHROME_URL, navigation.getUri().toString()); + Assert.assertEquals(INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_DATA_STRING, + navigation.getUri().toString()); } @Override public void onNavigationFailed(Navigation navigation) { - if (navigation.getUri().toString().equals(INTENT_TO_CHROME_URL)) { + if (navigation.getUri().toString().equals( + INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_DATA_STRING)) { onNavigationToIntentFailedCallbackHelper.notifyCalled(); } } @@ -703,7 +694,8 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL), navigateParamsBuilder.build()); + Uri.parse(INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_DATA_STRING), + navigateParamsBuilder.build()); } }); @@ -775,7 +767,7 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL), navigateParamsBuilder.build()); + Uri.parse(INTENT_TO_SELF_URL), navigateParamsBuilder.build()); } }); @@ -798,9 +790,9 @@ public class ExternalNavigationTest { intentInterceptor.waitForIntent(); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); // ...the tab created for the initial navigation should be closed... onTabRemovedCallbackHelper.waitForFirst(); @@ -833,11 +825,13 @@ public class ExternalNavigationTest { @Override public void onNavigationStarted(Navigation navigation) { // There should be no additional navigations after the initial one. - Assert.assertEquals(INTENT_TO_CHROME_URL, navigation.getUri().toString()); + Assert.assertEquals(INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_DATA_STRING, + navigation.getUri().toString()); } @Override public void onNavigationFailed(Navigation navigation) { - if (navigation.getUri().toString().equals(INTENT_TO_CHROME_URL)) { + if (navigation.getUri().toString().equals( + INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_DATA_STRING)) { onNavigationToIntentFailedCallbackHelper.notifyCalled(); } } @@ -860,7 +854,8 @@ public class ExternalNavigationTest { NavigateParams.Builder navigateParamsBuilder = new NavigateParams.Builder(); navigateParamsBuilder.allowIntentLaunchesInBackground(); browser.getActiveTab().getNavigationController().navigate( - Uri.parse(INTENT_TO_CHROME_URL), navigateParamsBuilder.build()); + Uri.parse(INTENT_TO_DUMMY_ACTIVITY_FOR_SPECIAL_SCHEME_DATA_STRING), + navigateParamsBuilder.build()); } }); @@ -913,7 +908,7 @@ public class ExternalNavigationTest { Tab tab = mActivityTestRule.getActivity().getTab(); TestThreadUtils.runOnUiThreadBlocking( - () -> { tab.getNavigationController().navigate(Uri.parse(INTENT_TO_CHROME_URL)); }); + () -> { tab.getNavigationController().navigate(Uri.parse(INTENT_TO_SELF_URL)); }); intentInterceptor.waitForIntent(); @@ -921,9 +916,9 @@ public class ExternalNavigationTest { Assert.assertEquals(ABOUT_BLANK_URL, mActivityTestRule.getCurrentDisplayUrl()); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); } /** @@ -957,12 +952,12 @@ public class ExternalNavigationTest { IntentInterceptor intentInterceptor = new IntentInterceptor(); activity.setIntentInterceptor(intentInterceptor); - navigateAndCheckExternalIntentParams(INTENT_TO_CHROME_URL, EXPECT_NAVIGATION_FAILURE, + navigateAndCheckExternalIntentParams(INTENT_TO_SELF_URL, EXPECT_NAVIGATION_FAILURE, RESULTS_IN_EXTERNAL_INTENT, DOESNT_RESULT_IN_USER_DECIDING_EXTERNAL_INTENT); - navigateAndCheckExternalIntentParams(mIntentToChromeWithFallbackUrl, + navigateAndCheckExternalIntentParams(mIntentToSelfWithFallbackUrl, EXPECT_NAVIGATION_FAILURE, RESULTS_IN_EXTERNAL_INTENT, DOESNT_RESULT_IN_USER_DECIDING_EXTERNAL_INTENT); - navigateAndCheckExternalIntentParams(mRedirectToIntentToChromeURL, INTENT_TO_CHROME_URL, + navigateAndCheckExternalIntentParams(mRedirectToIntentToSelfURL, INTENT_TO_SELF_URL, EXPECT_NAVIGATION_FAILURE, RESULTS_IN_EXTERNAL_INTENT, DOESNT_RESULT_IN_USER_DECIDING_EXTERNAL_INTENT); navigateAndCheckExternalIntentParams(mRedirectToCustomSchemeUrlWithDefaultExternalHandler, @@ -994,7 +989,7 @@ public class ExternalNavigationTest { extras.putBoolean(InstrumentationActivity.EXTRA_IS_INCOGNITO, true); mActivityTestRule.launchShellWithUrl(ABOUT_BLANK_URL, extras); - navigateAndCheckExternalIntentParams(INTENT_TO_CHROME_URL, EXPECT_NAVIGATION_FAILURE, + navigateAndCheckExternalIntentParams(INTENT_TO_SELF_URL, EXPECT_NAVIGATION_FAILURE, DOESNT_RESULT_IN_EXTERNAL_INTENT, RESULTS_IN_USER_DECIDING_EXTERNAL_INTENT); } @@ -1017,7 +1012,7 @@ public class ExternalNavigationTest { NavigationCallback navigationCallback = new NavigationCallback() { @Override public void onNavigationFailed(Navigation navigation) { - Assert.assertEquals(INTENT_TO_CHROME_URL, navigation.getUri().toString()); + Assert.assertEquals(INTENT_TO_SELF_URL, navigation.getUri().toString()); Assert.assertEquals(true, navigation.wasIntentLaunched()); Assert.assertEquals(false, navigation.isUserDecidingIntentLaunch()); @@ -1030,7 +1025,7 @@ public class ExternalNavigationTest { // Navigate to a URL that has a link to an intent, click on the link, and verify via the // callback that the navigation to the intent fails with the expected state set. - String url = mActivityTestRule.getTestDataURL(LINK_WITH_INTENT_TO_CHROME_IN_SAME_TAB_FILE); + String url = mActivityTestRule.getTestDataURL(LINK_WITH_INTENT_TO_SELF_IN_SAME_TAB_FILE); mActivityTestRule.navigateAndWait(url); mActivityTestRule.executeScriptSync( "document.onclick = function() {document.getElementById('link').click()}", @@ -1059,7 +1054,7 @@ public class ExternalNavigationTest { Tab tab = mActivityTestRule.getActivity().getTab(); TestThreadUtils.runOnUiThreadBlocking(() -> { - tab.getNavigationController().navigate(Uri.parse(mRedirectToIntentToChromeURL)); + tab.getNavigationController().navigate(Uri.parse(mRedirectToIntentToSelfURL)); }); intentInterceptor.waitForIntent(); @@ -1068,9 +1063,9 @@ public class ExternalNavigationTest { Assert.assertEquals(ABOUT_BLANK_URL, mActivityTestRule.getCurrentDisplayUrl()); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); } /** @@ -1118,7 +1113,7 @@ public class ExternalNavigationTest { IntentInterceptor intentInterceptor = new IntentInterceptor(); activity.setIntentInterceptor(intentInterceptor); - String url = mActivityTestRule.getTestDataURL(LINK_WITH_INTENT_TO_CHROME_IN_SAME_TAB_FILE); + String url = mActivityTestRule.getTestDataURL(LINK_WITH_INTENT_TO_SELF_IN_SAME_TAB_FILE); mActivityTestRule.navigateAndWait(url); @@ -1134,9 +1129,9 @@ public class ExternalNavigationTest { Assert.assertEquals(url, mActivityTestRule.getCurrentDisplayUrl()); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); } /** @@ -1153,7 +1148,7 @@ public class ExternalNavigationTest { IntentInterceptor intentInterceptor = new IntentInterceptor(); activity.setIntentInterceptor(intentInterceptor); - String url = mActivityTestRule.getTestDataURL(LINK_WITH_INTENT_TO_CHROME_IN_NEW_TAB_FILE); + String url = mActivityTestRule.getTestDataURL(LINK_WITH_INTENT_TO_SELF_IN_NEW_TAB_FILE); mActivityTestRule.navigateAndWait(url); @@ -1191,9 +1186,9 @@ public class ExternalNavigationTest { intentInterceptor.waitForIntent(); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); // (3) And finally the new tab should be closed. onTabRemovedCallbackHelper.waitForFirst(); @@ -1224,7 +1219,7 @@ public class ExternalNavigationTest { activity.setIntentInterceptor(intentInterceptor); String url = mActivityTestRule.getTestServer().getURL( - "/server-redirect?" + mIntentToChromeWithFallbackUrl); + "/server-redirect?" + mIntentToSelfWithFallbackUrl); Tab tab = mActivityTestRule.getActivity().getTab(); TestThreadUtils.runOnUiThreadBlocking( @@ -1236,9 +1231,9 @@ public class ExternalNavigationTest { Assert.assertEquals(ABOUT_BLANK_URL, mActivityTestRule.getCurrentDisplayUrl()); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); } /** @@ -1324,7 +1319,7 @@ public class ExternalNavigationTest { () -> { tab.getNavigationController().navigate(Uri.parse(url)); }); NavigationWaiter waiter = new NavigationWaiter( - INTENT_TO_CHROME_URL, tab, /*expectFailure=*/true, /*waitForPaint=*/false); + INTENT_TO_SELF_URL, tab, /*expectFailure=*/true, /*waitForPaint=*/false); waiter.waitForNavigation(); Assert.assertNull(intentInterceptor.mLastIntent); @@ -1365,9 +1360,9 @@ public class ExternalNavigationTest { Assert.assertEquals(initialUrl, mActivityTestRule.getCurrentDisplayUrl()); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); } /** @@ -1416,9 +1411,9 @@ public class ExternalNavigationTest { Assert.assertEquals(url, mActivityTestRule.getCurrentDisplayUrl()); Intent intent = intentInterceptor.mLastIntent; Assert.assertNotNull(intent); - Assert.assertEquals(INTENT_TO_CHROME_PACKAGE, intent.getPackage()); - Assert.assertEquals(INTENT_TO_CHROME_ACTION, intent.getAction()); - Assert.assertEquals(INTENT_TO_CHROME_DATA_STRING, intent.getDataString()); + Assert.assertEquals(INTENT_TO_SELF_PACKAGE, intent.getPackage()); + Assert.assertEquals(INTENT_TO_SELF_ACTION, intent.getAction()); + Assert.assertEquals(INTENT_TO_SELF_DATA_STRING, intent.getDataString()); } /** @@ -1442,7 +1437,7 @@ public class ExternalNavigationTest { }); NavigationWaiter waiter = new NavigationWaiter( - INTENT_TO_CHROME_URL, tab, /*expectFailure=*/true, /*waitForPaint=*/false); + INTENT_TO_SELF_URL, tab, /*expectFailure=*/true, /*waitForPaint=*/false); waiter.waitForNavigation(); Assert.assertNull(intentInterceptor.mLastIntent); diff --git weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java index 86317ab78808d..8d01e7713daff 100644 --- weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java +++ weblayer/browser/android/javatests/src/org/chromium/weblayer/test/NavigationTest.java @@ -84,9 +84,10 @@ public class NavigationTest { // A URL with a custom scheme/host that is handled by WebLayer Shell. private static final String CUSTOM_SCHEME_URL_WITH_DEFAULT_EXTERNAL_HANDLER = "weblayer://weblayertest/intent"; - // An intent that opens Chrome to view a specified URL. - private static final String INTENT_TO_CHROME_URL = - "intent://play.google.com/store/apps/details?id=com.facebook.katana/#Intent;scheme=https;action=android.intent.action.VIEW;package=com.android.chrome;end"; + // An intent that sends an url with a custom scheme that is handled by WebLayer Shell. + private static final String INTENT_TO_CUSTOM_SCHEME_URL = + "intent://weblayertest/intent#Intent;scheme=weblayer;" + + "action=android.intent.action.VIEW;end"; // An IntentInterceptor that simply drops intents to ensure that intent launches don't interfere // with running of tests. @@ -762,7 +763,7 @@ public class NavigationTest { assertEquals(true, mCallback.onCompletedCallback.isKnownProtocol()); // Test external protocol cases. - mActivityTestRule.navigateAndWaitForFailure(activity.getTab(), INTENT_TO_CHROME_URL, + mActivityTestRule.navigateAndWaitForFailure(activity.getTab(), INTENT_TO_CUSTOM_SCHEME_URL, /*waitForPaint=*/false); assertEquals(false, mCallback.onStartedCallback.isKnownProtocol()); assertEquals(false, mCallback.onFailedCallback.isKnownProtocol()); diff --git weblayer/browser/java/org/chromium/weblayer_private/ExternalNavigationDelegateImpl.java weblayer/browser/java/org/chromium/weblayer_private/ExternalNavigationDelegateImpl.java index 6717c9d5cec70..967dab2fac59b 100644 --- weblayer/browser/java/org/chromium/weblayer_private/ExternalNavigationDelegateImpl.java +++ weblayer/browser/java/org/chromium/weblayer_private/ExternalNavigationDelegateImpl.java @@ -14,7 +14,6 @@ import androidx.annotation.Nullable; import org.chromium.base.Callback; import org.chromium.base.Function; import org.chromium.base.PackageManagerUtils; -import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.external_intents.ExternalNavigationDelegate; import org.chromium.components.external_intents.ExternalNavigationDelegate.StartActivityIfNeededResult; import org.chromium.components.external_intents.ExternalNavigationParams; @@ -78,17 +77,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat assert !proxy : "|proxy| should be true only for instant apps, which WebLayer doesn't handle"; - boolean isExternalProtocol = !UrlUtilities.isAcceptedScheme(intent.toUri(0)); - boolean hasDefaultHandler = hasDefaultHandler(intent); - - // Match CCT's custom behavior of keeping http(s) URLs with no default handler in the app. - // TODO(blundell): If/when CCT eliminates its special handling of this case, eliminate it - // from WebLayer as well. - if (!isExternalProtocol && !hasDefaultHandler) { - return StartActivityIfNeededResult.HANDLED_WITHOUT_ACTIVITY_START; - } - - // Otherwise defer to ExternalNavigationHandler's default logic. + // Defer to ExternalNavigationHandler's default logic. return StartActivityIfNeededResult.DID_NOT_HANDLE; } diff --git weblayer/shell/android/shell_apk/AndroidManifest.xml weblayer/shell/android/shell_apk/AndroidManifest.xml index 5739c36b60c11..35457b386a83d 100644 --- weblayer/shell/android/shell_apk/AndroidManifest.xml +++ weblayer/shell/android/shell_apk/AndroidManifest.xml @@ -48,14 +48,26 @@ android:theme="@android:style/Theme.Holo.Light.NoActionBar"> - - - - - - - + android:exported="true" > + + + + + + + + + + + + + + + + + + -- 2.33.1