diff --git a/BUILD.gn b/BUILD.gn index a325e9f..1c9bb95 100644 --- a/BUILD.gn +++ b/BUILD.gn
@@ -235,8 +235,6 @@ "//gpu/khronos_glcts_support:khronos_glcts_test", "//jingle:jingle_unittests", "//net:hpack_example_generator", - "//net:hpack_fuzz_mutator", - "//net:hpack_fuzz_wrapper", "//ppapi:ppapi_unittests", "//ppapi/examples/2d", "//ppapi/examples/audio", @@ -1044,7 +1042,6 @@ if (!is_win) { deps += [ "//net:dns_fuzz_stub", - "//net:hpack_fuzz_wrapper", "//skia:filter_fuzz_stub", ] }
diff --git a/DEPS b/DEPS index 63f6f49..14d02c933 100644 --- a/DEPS +++ b/DEPS
@@ -40,11 +40,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': 'e4259e2224a9bf3aa2229cc14f5e08c1cbeeb8c8', + 'skia_revision': '671e442fccaacf57b6922324e8160173a2919608', # 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': '4ed8f7edf5dc80fb6240780af0ddb2875081dc89', + 'v8_revision': 'd678037326492171f04895ffb360e16e5248182a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other. @@ -56,7 +56,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling build tools # and whatever else without interference from each other. - 'buildtools_revision': 'a114b81a60affa28b3816d01791908e8f87a260d', + 'buildtools_revision': 'b3771b1935ea74c388b6fb1750e83f5d83b39dec', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -64,7 +64,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': '9162ff85c323b05e3280b319a388934e871e4aea', + 'pdfium_revision': 'ce32acfa15071e6cd5bcce73280857014e396dd2', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling openmax_dl # and whatever else without interference from each other. @@ -72,7 +72,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling BoringSSL # and whatever else without interference from each other. - 'boringssl_revision': '0f28691d3d3d2851079feeb9e3c6baaff99ee455', + 'boringssl_revision': 'be2ee342d3781ddb954f91f8a7e660c6f59e87e5', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling google-toolbox-for-mac # and whatever else without interference from each other. @@ -96,7 +96,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. - 'catapult_revision': 'e795f2d31cee595e9496e5056283190b58b2d612', + 'catapult_revision': '0545e35027803e19c550bad013d86b2d42f02114', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libFuzzer # and whatever else without interference from each other.
diff --git a/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java b/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java index a82a4c32..5a92bd5 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java +++ b/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java
@@ -75,9 +75,8 @@ */ public static void configureChildProcessLauncher(String packageName, boolean isExternalService) { - ChildProcessCreationParams.set( - new ChildProcessCreationParams(packageName, isExternalService, - LibraryProcessType.PROCESS_WEBVIEW_CHILD)); + ChildProcessCreationParams.registerDefault(new ChildProcessCreationParams( + packageName, isExternalService, LibraryProcessType.PROCESS_WEBVIEW_CHILD)); } /**
diff --git a/android_webview/native/BUILD.gn b/android_webview/native/BUILD.gn index 4efadee5..474e675b 100644 --- a/android_webview/native/BUILD.gn +++ b/android_webview/native/BUILD.gn
@@ -9,13 +9,13 @@ source_set("native") { deps = [ ":native_jni", + "//android_webview:generate_components_strings", "//android_webview/common:version", "//base", "//base/third_party/dynamic_annotations:dynamic_annotations", "//cc:cc", "//components/autofill/content/browser:browser", "//components/spellcheck:build_features", - "//components/strings", "//components/web_contents_delegate_android:web_contents_delegate_android", "//content/public/common", "//device/battery:mojo_bindings",
diff --git a/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/ActionModeTest.java b/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/ActionModeTest.java index b9d58e1a..ffbcca9 100644 --- a/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/ActionModeTest.java +++ b/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/ActionModeTest.java
@@ -41,16 +41,17 @@ import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout; -import android.animation.ValueAnimator; import android.app.Activity; import android.app.Instrumentation; import android.content.Intent; import android.os.Build; import android.support.test.InstrumentationRegistry; +import android.support.test.espresso.Espresso; +import android.support.test.espresso.IdlingResource; +import android.support.test.espresso.IdlingResource.ResourceCallback; import android.support.test.espresso.NoMatchingViewException; import android.support.test.espresso.PerformException; import android.support.test.espresso.Root; -import android.support.test.espresso.ViewAction; import android.support.test.espresso.action.GeneralClickAction; import android.support.test.espresso.action.GeneralLocation; import android.support.test.espresso.action.Press; @@ -68,20 +69,18 @@ import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; +import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import org.chromium.base.Log; import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.webview_ui_test.R; import org.chromium.webview_ui_test.WebViewUiTestActivity; import org.chromium.webview_ui_test.test.util.UseLayout; import org.chromium.webview_ui_test.test.util.WebViewUiTestRule; -import java.lang.reflect.Method; - /** * Tests for WebView ActionMode. */ @@ -105,6 +104,8 @@ public WebViewUiTestRule mWebViewActivityRule = new WebViewUiTestRule(WebViewUiTestActivity.class); + private ActionBarIdlingResource mActionBarIdlingResource; + @Before public void setUp() { mWebViewActivityRule.launchActivity(); @@ -114,21 +115,13 @@ onWebView(withId(R.id.webview)) .withElement(findElement(Locator.TAG_NAME, "p")) .check(webMatches(getText(), containsString("Hello world"))); - disableAnimation(); + mActionBarIdlingResource = new ActionBarIdlingResource(); + Espresso.registerIdlingResources(mActionBarIdlingResource); } - /** - * Only way to disable popup animations. - */ - private void disableAnimation() { - try { - // This is a hidden method to disable animations. It is also being used by CTS tests. - Method setDurationScale = ValueAnimator.class.getMethod( - "setDurationScale", float.class); - setDurationScale.invoke(null, 0.0f); - } catch (Exception e) { - Log.e(TAG, "Couldn't disable animation", e); - } + @After + public void tearDown() { + Espresso.unregisterIdlingResources(mActionBarIdlingResource); } /** @@ -138,9 +131,9 @@ @SmallTest @UseLayout("edittext_webview") public void testCopyPaste() { - onView(withId(R.id.webview)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.webview); clickPopupAction(COPY_ACTION); - onView(withId(R.id.edittext)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.edittext); clickPopupAction(PASTE_ACTION); onView(withId(R.id.edittext)) .check(matches(withText("world"))); @@ -153,10 +146,10 @@ @SmallTest @UseLayout("edittext_webview") public void testSelectAll() { - onView(withId(R.id.webview)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.webview); clickPopupAction("Select all"); clickPopupAction(COPY_ACTION); - onView(withId(R.id.edittext)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.edittext); clickPopupAction(PASTE_ACTION); onView(withId(R.id.edittext)) .check(matches(withText("Hello world"))); @@ -173,7 +166,7 @@ intending(anyIntent()) .respondWith(new Instrumentation.ActivityResult(Activity.RESULT_OK, new Intent())); - onView(withId(R.id.webview)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.webview); clickPopupAction(SHARE_ACTION); intended(allOf(hasAction(Intent.ACTION_CHOOSER), @@ -194,7 +187,7 @@ Intents.init(); intending(anyIntent()) .respondWith(new Instrumentation.ActivityResult(Activity.RESULT_OK, new Intent())); - onView(withId(R.id.webview)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.webview); clickPopupAction(WEB_SEARCH_ACTION); intended(allOf(hasAction(Intent.ACTION_WEB_SEARCH), hasExtras(allOf(hasEntry("com.android.browser.application_id", @@ -213,7 +206,7 @@ public void testAssist() { // TODO(aluo): Get SdkSuppress to work with the test runner if (Build.VERSION.SDK_INT < 24) return; - onView(withId(R.id.webview)).perform(longClickOnLastWord()); + longClickOnLastWord(R.id.webview); clickPopupAction(ASSIST_ACTION); UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); UiObject assistUi = device.findObject(new UiSelector().packageName(QUICK_SEARCH_BOX_PKG)); @@ -230,7 +223,7 @@ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { try { // On L and lower, use the espresso DEFAULT root matcher if ActionBar is detected - onView(withClassName(endsWith("widget.ActionBarContextView"))) + onView(withClassName(endsWith("ActionBarContextView"))) .check(matches(isDisplayed())); rootMatcher = DEFAULT; } catch (NoMatchingViewException | AssertionFailedError e) { @@ -241,27 +234,30 @@ // On M and above, can use the decoreView matcher rootMatcher = withDecorView(isEnabled()); } + try { onView(anyOf(withText(name), withContentDescription(name))) .inRoot(rootMatcher) .perform(click()); - } catch (PerformException e) { + } catch (PerformException | NoMatchingViewException e) { // Take care of case when the item is in the overflow menu onView(withContentDescription(MORE_OPTIONS_ACTION)) - .inRoot(withDecorView(isEnabled())) + .inRoot(rootMatcher) .perform(click()); onData(new MenuItemMatcher(equalTo(name))).inRoot(rootMatcher).perform(click()); } } /** - * This view action clicks on center right of a view to select the last word + * Perform a view action that clicks on the last word and start the idling resource + * to wait for completion of the popup menu */ - private static final ViewAction longClickOnLastWord() { + private final void longClickOnLastWord(int viewId) { // TODO(aluo): This function is not guaranteed to click on element. Change to // implementation that gets bounding box for elements using Javascript. - return actionWithAssertions( - new GeneralClickAction(Tap.LONG, GeneralLocation.CENTER_RIGHT, Press.FINGER)); + onView(withId(viewId)).perform(actionWithAssertions( + new GeneralClickAction(Tap.LONG, GeneralLocation.CENTER_RIGHT, Press.FINGER))); + mActionBarIdlingResource.start(); } /** @@ -285,4 +281,38 @@ description.appendDescriptionOf(mTitleMatcher); } } + + private class ActionBarIdlingResource implements IdlingResource { + private boolean mActionStarting; + private ResourceCallback mResourceCallback; + + ActionBarIdlingResource() { + mActionStarting = false; + mResourceCallback = null; + } + + @Override + public String getName() { + return "ActionBarIdlingResource"; + } + + @Override + public boolean isIdleNow() { + if (!mActionStarting) return true; + if (mWebViewActivityRule.isActionBarDisplayed()) { + mActionStarting = false; + if (mResourceCallback != null) mResourceCallback.onTransitionToIdle(); + } + return !mActionStarting; + } + + @Override + public void registerIdleTransitionCallback(ResourceCallback callback) { + mResourceCallback = callback; + } + + public void start() { + mActionStarting = true; + } + } }
diff --git a/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/util/WebViewUiTestRule.java b/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/util/WebViewUiTestRule.java index d60a16bd..c3e6a72 100644 --- a/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/util/WebViewUiTestRule.java +++ b/android_webview/tools/automated_ui_tests/javatests/src/org/chromium/webview_ui_test/test/util/WebViewUiTestRule.java
@@ -4,7 +4,21 @@ package org.chromium.webview_ui_test.test.util; +import static android.support.test.espresso.matcher.RootMatchers.withDecorView; +import static android.support.test.espresso.matcher.ViewMatchers.hasDescendant; +import static android.support.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed; +import static android.support.test.espresso.matcher.ViewMatchers.withChild; +import static android.support.test.espresso.matcher.ViewMatchers.withClassName; +import static android.support.test.espresso.matcher.ViewMatchers.withText; + +import static org.hamcrest.CoreMatchers.allOf; +import static org.hamcrest.Matchers.endsWith; +import static org.hamcrest.Matchers.hasItem; + import android.content.Intent; +import android.os.Build; +import android.support.test.espresso.BaseLayerComponent; +import android.support.test.espresso.DaggerBaseLayerComponent; import android.support.test.rule.ActivityTestRule; import android.webkit.WebView; @@ -25,6 +39,7 @@ private WebViewSyncWrapper mSyncWrapper; private String mLayout; + private BaseLayerComponent mBaseLayerComponent; public WebViewUiTestRule(Class<WebViewUiTestActivity> activityClass) { super(activityClass); @@ -81,4 +96,35 @@ Assert.fail(e.getMessage()); } } + + public boolean isActionBarDisplayed() { + if (mBaseLayerComponent == null) mBaseLayerComponent = DaggerBaseLayerComponent.create(); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + // For M and above + if (hasItem(withDecorView(withChild(allOf( + withClassName(endsWith("PopupBackgroundView")), + isCompletelyDisplayed())))).matches( + mBaseLayerComponent.activeRootLister().listActiveRoots())) { + return true; + } + } else { + // For L + if (hasItem(withDecorView(hasDescendant(allOf( + withClassName(endsWith("ActionMenuItemView")), + isCompletelyDisplayed())))).matches( + mBaseLayerComponent.activeRootLister().listActiveRoots())) { + return true; + } + + // Paste option is a popup on L + if (hasItem(withDecorView(withChild(withText("Paste")))).matches( + mBaseLayerComponent.activeRootLister().listActiveRoots())) { + return true; + } + } + + + return false; + } }
diff --git a/android_webview/ui/translations/aw_strings_am.xtb b/android_webview/ui/translations/aw_strings_am.xtb index 5527ea8..5bdb55e3 100644 --- a/android_webview/ui/translations/aw_strings_am.xtb +++ b/android_webview/ui/translations/aw_strings_am.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">በ<ph name="PAGE" /> ላይ ያለው ድረ-ገፅ ለጊዜው ተበላሽቶ ሊሆን ይችላል ወይም በቋሚነት ወደ አዲስ የድር አድራሻ ተንቀሳቅሶ ሊሆን ይችላል።</translation> <translation id="6312113039770857350">ድረ-ገጽ አይገኝም</translation> <translation id="8681531050781943054">በ<ph name="PAGE" /> ላይ ያለው ድረ-ገጽ ሊጫን አልቻለም ምክንያቱም፦</translation> +<translation id="8882178685025065378">ውይ! <ph name="PAGE" />ን ለመጎብኘት ችግር የሌለው ለመሆኑ ወላጅዎን ማስፈቀድ አለብዎት።</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />አስተያየቶች፦<ph name="MARKUP_2" /> የውሂብ ግንኙነት እንዳለዎት እርግጠኛ ይሁኑ<ph name="MARKUP_3" />ይህንን ድረ-ገጽ ቆይተው ዳግም ይጫኑት<ph name="MARKUP_4" /> ያስገቡትን አድራሻ ይፈትሹ<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ar.xtb b/android_webview/ui/translations/aw_strings_ar.xtb index 1930f3e..971ab61 100644 --- a/android_webview/ui/translations/aw_strings_ar.xtb +++ b/android_webview/ui/translations/aw_strings_ar.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">قد تكون صفحة الويب على <ph name="PAGE" /> غير متاحة مؤقتًا أو تم نقلها نهائيًا إلى عنوان ويب جديد.</translation> <translation id="6312113039770857350">صفحة الويب غير متاحة</translation> <translation id="8681531050781943054">تعذر تحميل صفحة الويب على <ph name="PAGE" /> لأن:</translation> +<translation id="8882178685025065378">عفوًا، عليك أن تسأل والديك ما إذا كان مناسبًا لك زيارة <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />اقتراحات:<ph name="MARKUP_2" />التأكد من أن لديك اتصال بيانات<ph name="MARKUP_3" />إعادة تحميل صفحة الويب هذه لاحقًا<ph name="MARKUP_4" />التحقق من العنوان الذي أدخلته<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_bg.xtb b/android_webview/ui/translations/aw_strings_bg.xtb index 8ba9d45..9d42ccba 100644 --- a/android_webview/ui/translations/aw_strings_bg.xtb +++ b/android_webview/ui/translations/aw_strings_bg.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Уеб страницата на адрес <ph name="PAGE" /> може временно да не е налице или да е била преместена на нов уеб адрес.</translation> <translation id="6312113039770857350">Уеб страницата не е налице</translation> <translation id="8681531050781943054">Уеб страницата на адрес <ph name="PAGE" /> не можа да бъде заредена, защото:</translation> +<translation id="8882178685025065378">Ами сега! Трябва да попитате родителите си дали може да посетите <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Предложения:<ph name="MARKUP_2" />Уверете се, че имате връзка за данни.<ph name="MARKUP_3" />Презаредете тази уеб страница по-късно.<ph name="MARKUP_4" />Проверете въведения от вас адрес.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_bn.xtb b/android_webview/ui/translations/aw_strings_bn.xtb index 78531d5d..338f06a 100644 --- a/android_webview/ui/translations/aw_strings_bn.xtb +++ b/android_webview/ui/translations/aw_strings_bn.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> এ ওয়েবপৃষ্ঠাটি অস্থায়ীভাবে ডাউন হয়ে থাকতে পারে অথবা এটি হয়ত একটি নতুন ওয়েব ঠিকানায় স্থায়ীভাবে সরানো হয়েছে।</translation> <translation id="6312113039770857350">ওয়েবপৃষ্ঠা উপলব্ধ নয়</translation> <translation id="8681531050781943054"><ph name="PAGE" /> এ ওয়েবপৃষ্ঠাটি লোড করা যায়নি কারণ:</translation> +<translation id="8882178685025065378">ওহো! <ph name="PAGE" /> পৃষ্ঠাটি দেখা ঠিক হবে কিনা তা আপনার পিতা বা মাতাকে জিজ্ঞাসা করা প্রয়োজন৷</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />পরামর্শগুলি:<ph name="MARKUP_2" />নিশ্চিত হোন যে আপনার একটি ডেটা সংযোগ আছে<ph name="MARKUP_3" />পরবর্তীতে এই ওয়েব পৃষ্ঠাটি পুনরায় লোড করুন<ph name="MARKUP_4" />আপনার লেখা ঠিকানাটি পরীক্ষা করুন<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ca.xtb b/android_webview/ui/translations/aw_strings_ca.xtb index de25a7e..e414b39e 100644 --- a/android_webview/ui/translations/aw_strings_ca.xtb +++ b/android_webview/ui/translations/aw_strings_ca.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">És possible que la pàgina web <ph name="PAGE" /> estigui temporalment fora de servei o s'hagi mogut de manera permanent a una adreça web nova.</translation> <translation id="6312113039770857350">La pàgina web no està disponible</translation> <translation id="8681531050781943054">La pàgina web <ph name="PAGE" /> no s'ha pogut carregar pels motius següents:</translation> +<translation id="8882178685025065378">Cal que preguntis als pares si pots visitar la pàgina <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Suggeriments:<ph name="MARKUP_2" />Assegureu-vos que teniu connexió de dades<ph name="MARKUP_3" />Torneu a carregar aquesta pàgina web més tard<ph name="MARKUP_4" />Comproveu l'adreça que heu introduït<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_cs.xtb b/android_webview/ui/translations/aw_strings_cs.xtb index b2ba6ec..1d2847b 100644 --- a/android_webview/ui/translations/aw_strings_cs.xtb +++ b/android_webview/ui/translations/aw_strings_cs.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Webová stránka <ph name="PAGE" /> může být dočasně nefunkční nebo mohla být trvale přesunuta na novou webovou adresu.</translation> <translation id="6312113039770857350">Webová stránka není k dispozici</translation> <translation id="8681531050781943054">Webovou stránku <ph name="PAGE" /> nelze načíst, protože:</translation> +<translation id="8882178685025065378">Jejda! Budeš muset požádat rodiče, aby ti návštěvu stránky <ph name="PAGE" /> povolili.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Návrhy:<ph name="MARKUP_2" />Zkontrolujte, zda máte datové připojení.<ph name="MARKUP_3" />Načtěte tuto webovou stránku znovu později.<ph name="MARKUP_4" />Zkontrolujte zadanou adresu.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_da.xtb b/android_webview/ui/translations/aw_strings_da.xtb index be9a5de3..afc40e78 100644 --- a/android_webview/ui/translations/aw_strings_da.xtb +++ b/android_webview/ui/translations/aw_strings_da.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Websiden på <ph name="PAGE" /> kan være midlertidigt nede, eller også er den permanent flyttet til en ny webadresse.</translation> <translation id="6312113039770857350">Websiden er ikke tilgængelig</translation> <translation id="8681531050781943054">Websiden på <ph name="PAGE" /> kunne ikke indlæses, fordi:</translation> +<translation id="8882178685025065378">Ups! Du skal spørge en af dine forældre, om det er i orden at besøge <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Forslag:<ph name="MARKUP_2" />Kontrollér, at du har en dataforbindelse<ph name="MARKUP_3" />Genindlæs denne webside senere<ph name="MARKUP_4" />Kontrollér den indtastede adresse<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_de.xtb b/android_webview/ui/translations/aw_strings_de.xtb index 29f6acc..adf9dba9 100644 --- a/android_webview/ui/translations/aw_strings_de.xtb +++ b/android_webview/ui/translations/aw_strings_de.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Die Webseite unter <ph name="PAGE" /> ist möglicherweise vorübergehend nicht verfügbar oder ist jetzt unter einer neuen Webadresse aufrufbar.</translation> <translation id="6312113039770857350">Webseite nicht verfügbar</translation> <translation id="8681531050781943054">Die Website unter <ph name="PAGE" /> konnte nicht geladen, weil:</translation> +<translation id="8882178685025065378">Hoppla! Du musst deine Eltern fragen, ob du <ph name="PAGE" /> besuchen darfst.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Vorschläge:<ph name="MARKUP_2" />Vergewissern Sie sich, dass Sie über eine Datenverbindung verfügen.<ph name="MARKUP_3" />Laden Sie diese Webseite später neu.<ph name="MARKUP_4" />Überprüfen Sie die von Ihnen eingegebene Adresse.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_el.xtb b/android_webview/ui/translations/aw_strings_el.xtb index 416b367..f474f99 100644 --- a/android_webview/ui/translations/aw_strings_el.xtb +++ b/android_webview/ui/translations/aw_strings_el.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Η ιστοσελίδα στη διεύθυνση <ph name="PAGE" /> μπορεί να βρίσκεται προσωρινά εκτός λειτουργίας ή ίσως έχει μεταφερθεί μόνιμα σε μια νέα διεύθυνση ιστού.</translation> <translation id="6312113039770857350">Η ιστοσελίδα δεν είναι διαθέσιμη</translation> <translation id="8681531050781943054">Η φόρτωση της ιστοσελίδας στη διεύθυνση <ph name="PAGE" /> δεν ήταν δυνατή επειδή:</translation> +<translation id="8882178685025065378">Θα πρέπει να ζητήσετε την άδεια του γονέα σας για να επισκεφτείτε τη σελίδα <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Προτάσεις:<ph name="MARKUP_2" />Βεβαιωθείτε ότι έχετε μια σύνδεση δεδομένων<ph name="MARKUP_3" />Επαναλάβετε τη φόρτωση αυτής της ιστοσελίδας αργότερα<ph name="MARKUP_4" />Ελέγξτε τη διεύθυνση που έχετε εισαγάγει<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_en-GB.xtb b/android_webview/ui/translations/aw_strings_en-GB.xtb index 985092a1..04b9854 100644 --- a/android_webview/ui/translations/aw_strings_en-GB.xtb +++ b/android_webview/ui/translations/aw_strings_en-GB.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">The web page at <ph name="PAGE" /> might be temporarily down or it may have moved permanently to a new web address.</translation> <translation id="6312113039770857350">Web page not available</translation> <translation id="8681531050781943054">The web page at <ph name="PAGE" /> could not be loaded because:</translation> +<translation id="8882178685025065378">Oops! You need to ask your parent if it's OK to visit <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Suggestions:<ph name="MARKUP_2" />Make sure that you have a data connection<ph name="MARKUP_3" />Reload this web page later<ph name="MARKUP_4" />Check the address that you entered<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_es-419.xtb b/android_webview/ui/translations/aw_strings_es-419.xtb index 7283ca3..08e7d1f 100644 --- a/android_webview/ui/translations/aw_strings_es-419.xtb +++ b/android_webview/ui/translations/aw_strings_es-419.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Es posible que la página web de <ph name="PAGE" /> no funcione temporalmente o se haya trasladado permanentemente a una dirección web nueva.</translation> <translation id="6312113039770857350">Página web no disponible</translation> <translation id="8681531050781943054">La página web de <ph name="PAGE" /> no se pudo cargar porque:</translation> +<translation id="8882178685025065378">Debes preguntarles a tus padres si puedes visitar <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Sugerencias:<ph name="MARKUP_2" />Asegúrate de tener una conexión de datos.<ph name="MARKUP_3" />Vuelve a cargar esta pagina web más adelante.<ph name="MARKUP_4" />Comprueba la dirección que ingresaste.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_es.xtb b/android_webview/ui/translations/aw_strings_es.xtb index b1ab503..e84176e 100644 --- a/android_webview/ui/translations/aw_strings_es.xtb +++ b/android_webview/ui/translations/aw_strings_es.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">La página web <ph name="PAGE" /> podría estar temporalmente fuera de servicio o bien podría haberse trasladado a una dirección web nueva permanentemente.</translation> <translation id="6312113039770857350">Página web no disponible</translation> <translation id="8681531050781943054">No ha sido posible cargar la página web <ph name="PAGE" /> porque:</translation> +<translation id="8882178685025065378">¡Vaya! Pide permiso a tu padre, madre o tutor para acceder a la página <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Sugerencias:<ph name="MARKUP_2" />Comprueba que tienes una conexión de datos<ph name="MARKUP_3" />Vuelve a cargar esta página web más tarde<ph name="MARKUP_4" />Comprueba la dirección que has introducido<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_et.xtb b/android_webview/ui/translations/aw_strings_et.xtb index 4dd226a..75c81ea7 100644 --- a/android_webview/ui/translations/aw_strings_et.xtb +++ b/android_webview/ui/translations/aw_strings_et.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Veebileht <ph name="PAGE" /> võib olla ajutiselt maas või see viidi jäädavalt üle uuele veebiaadressile.</translation> <translation id="6312113039770857350">Veebileht ei ole saadaval</translation> <translation id="8681531050781943054">Veebilehte <ph name="PAGE" /> ei saanud laadida järgmisel põhjusel.</translation> +<translation id="8882178685025065378">Vabandust! Peate vanema käest küsima, kas tohite külastada lehte <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Soovitused.<ph name="MARKUP_2" />Veenduge, et andmesideühendus oleks olemas<ph name="MARKUP_3" />Laadige veebileht hiljem uuesti<ph name="MARKUP_4" />Kontrollige sisestatud aadressi<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_fa.xtb b/android_webview/ui/translations/aw_strings_fa.xtb index 164356c..39b0db6c 100644 --- a/android_webview/ui/translations/aw_strings_fa.xtb +++ b/android_webview/ui/translations/aw_strings_fa.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">شاید صفحه وب در <ph name="PAGE" /> موقتاً غیرفعال شده باشد یا شاید بهطور دائم به آدرس وب جدیدی منتقل شده باشد.</translation> <translation id="6312113039770857350">صفحه وب در دسترس نیست</translation> <translation id="8681531050781943054">صفحه وب در <ph name="PAGE" /> نمیتواند بارگیری شود، زیرا:</translation> +<translation id="8882178685025065378">وای! باید از والدینتان بپرسید که بازدید از <ph name="PAGE" /> اشکالی نداشته باشد.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />پیشنهادات:<ph name="MARKUP_2" />مطمئن شوید اتصال داده دارید<ph name="MARKUP_3" />بعداً این صفحه وب را تازهسازی کنید<ph name="MARKUP_4" />آدرسی را که وارد کردهاید، بررسی کنید<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_fi.xtb b/android_webview/ui/translations/aw_strings_fi.xtb index 68a0e74..f4fd1158 100644 --- a/android_webview/ui/translations/aw_strings_fi.xtb +++ b/android_webview/ui/translations/aw_strings_fi.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Verkkosivu <ph name="PAGE" /> saattaa olla väliaikaisesti poissa käytöstä tai se on siirretty pysyvästi uuteen osoitteeseen.</translation> <translation id="6312113039770857350">Verkkosivu ei ole saatavilla</translation> <translation id="8681531050781943054">Verkkosivun <ph name="PAGE" /> lataaminen epäonnistui:</translation> +<translation id="8882178685025065378">Hups! Sinun on kysyttävä vanhemmaltasi lupaa vierailla sivustolla <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Ehdotuksia:<ph name="MARKUP_2" />Varmista tiedonsiirtoyhteyden saatavuus.<ph name="MARKUP_3" />Lataa verkkosivu uudelleen.<ph name="MARKUP_4" />Tarkista syöttämäsi osoite.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_fil.xtb b/android_webview/ui/translations/aw_strings_fil.xtb index e5e0098..9bf7ee1 100644 --- a/android_webview/ui/translations/aw_strings_fil.xtb +++ b/android_webview/ui/translations/aw_strings_fil.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Maaaring pansamantalang hindi gumagana ang webpage sa <ph name="PAGE" />, o kaya, maaaring permanente na itong lumipat sa isang bagong address sa web.</translation> <translation id="6312113039770857350">Hindi available ang webpage</translation> <translation id="8681531050781943054">Hindi ma-load ang webpage sa <ph name="PAGE" /> dahil:</translation> +<translation id="8882178685025065378">Oops! Kailangan mong tanungin sa iyong magulang kung OK lang na bisitahin ang <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Mga suhestyon:<ph name="MARKUP_2" />Tiyaking may koneksyon ka ng data<ph name="MARKUP_3" />Muling i-load ang webpage na ito sa ibang pagkakataon<ph name="MARKUP_4" />Tingnan ang inilagay mong address<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_fr.xtb b/android_webview/ui/translations/aw_strings_fr.xtb index 05cebc7..d9f2af6 100644 --- a/android_webview/ui/translations/aw_strings_fr.xtb +++ b/android_webview/ui/translations/aw_strings_fr.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Il est possible que la page Web située à l'adresse <ph name="PAGE" /> soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une nouvelle adresse Web.</translation> <translation id="6312113039770857350">Page Web non disponible</translation> <translation id="8681531050781943054">Impossible de charger la page Web <ph name="PAGE" /> pour la raison suivante :</translation> +<translation id="8882178685025065378">Petit problème… Tu dois demander l'autorisation à tes parents pour accéder à la page <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Suggestions :<ph name="MARKUP_2" />Assurez-vous que vous disposez d'une connexion de données.<ph name="MARKUP_3" />Actualisez cette page ultérieurement.<ph name="MARKUP_4" />Vérifiez l'adresse que vous avez saisie.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_gu.xtb b/android_webview/ui/translations/aw_strings_gu.xtb index 0cfc8fa..177424b6 100644 --- a/android_webview/ui/translations/aw_strings_gu.xtb +++ b/android_webview/ui/translations/aw_strings_gu.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> પરનું વેબપૃષ્ઠ અસ્થાયી ધોરણે બંધ હોઈ શકે છે અથવા તે કાયમ માટે નવા વેબ સરનામાં પર ખસેડવામાં આવ્યું હોઈ શકે છે.</translation> <translation id="6312113039770857350">વેબપૃષ્ઠ ઉપલબ્ધ નથી</translation> <translation id="8681531050781943054"><ph name="PAGE" /> પરનું વેબપૃષ્ઠ લોડ કરી શકાયું નથી કારણ કે:</translation> +<translation id="8882178685025065378">અરેરે! <ph name="PAGE" /> ની મુલાકાત લો છો તે ઠીક છે કે કેમ તે તમારે તમારા માતાપિતાને પૂછવાની જરૂર છે.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />સૂચનો:<ph name="MARKUP_2" />ખાતરી કરો કે તમારી પાસે ડેટા કનેક્શન છે<ph name="MARKUP_3" />આ વેબપૃષ્ઠને પછીથી ફરી લોડ કરો<ph name="MARKUP_4" />તમે દાખલ કરેલ સરનામું તપાસો<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_hi.xtb b/android_webview/ui/translations/aw_strings_hi.xtb index 3cea0b3..05460282 100644 --- a/android_webview/ui/translations/aw_strings_hi.xtb +++ b/android_webview/ui/translations/aw_strings_hi.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">हो सकता है कि <ph name="PAGE" /> पर मौजूद वेबपेज अस्थायी रूप से काम नहीं कर रहा हो या उसे स्थायी रूप से किसी नए वेब पते पर ले जाया गया हो.</translation> <translation id="6312113039770857350">वेबपेज उपलब्ध नहीं है</translation> <translation id="8681531050781943054"><ph name="PAGE" /> पर वेबपेज को लोड नहीं किया जा सका क्योंकि:</translation> +<translation id="8882178685025065378">ओह! आपको अपने अभिभावक से पूछना होगा कि क्या <ph name="PAGE" /> पर जाना ठीक है.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />सुझाव:<ph name="MARKUP_2" />सुनिश्चित करें कि आपके पास डेटा कनेक्शन है<ph name="MARKUP_3" />इस वेबपेज को बाद में पुन: लोड करें<ph name="MARKUP_4" />आपके द्वारा डाले गए पते की जांच करें<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_hr.xtb b/android_webview/ui/translations/aw_strings_hr.xtb index 0eb390d3..8f9e0f9 100644 --- a/android_webview/ui/translations/aw_strings_hr.xtb +++ b/android_webview/ui/translations/aw_strings_hr.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Web-stranica na <ph name="PAGE" /> možda privremeno nije dostupna ili je trajno premještena na novu web-adresu.</translation> <translation id="6312113039770857350">Web-stranica nije dostupna</translation> <translation id="8681531050781943054">Web-stranica na <ph name="PAGE" /> ne može se učitati zbog sljedećih razloga:</translation> +<translation id="8882178685025065378">Ups! Moraš pitati roditelja smiješ li posjetiti <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Prijedlozi:<ph name="MARKUP_2" />Provjerite imate li podatkovnu vezu.<ph name="MARKUP_3" />Ponovo učitajte web-stranicu kasnije.<ph name="MARKUP_4" />Provjerite adresu koju ste unijeli.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_hu.xtb b/android_webview/ui/translations/aw_strings_hu.xtb index ab8715f..bd88f379 100644 --- a/android_webview/ui/translations/aw_strings_hu.xtb +++ b/android_webview/ui/translations/aw_strings_hu.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Előfordulhat, hogy a(z) <ph name="PAGE" /> webhelyen található oldal ideiglenesen nem érhető el, vagy véglegesen új címre költözött.</translation> <translation id="6312113039770857350">A weboldal nem érhető el</translation> <translation id="8681531050781943054">A(z) <ph name="PAGE" /> webhelyen található oldal betöltése a következő okból nem sikerült:</translation> +<translation id="8882178685025065378">Hoppá! Meg kell kérdeznie szüleit, hogy megnyithatja-e ezt az oldalt: <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Javaslatok:<ph name="MARKUP_2" />Ellenőrizze, hogy van-e adatkapcsolata<ph name="MARKUP_3" />Töltse be újra a weboldalt később<ph name="MARKUP_4" />Ellenőrizze a beírt internetcímet<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_id.xtb b/android_webview/ui/translations/aw_strings_id.xtb index 76769ed9..d6fc7a6 100644 --- a/android_webview/ui/translations/aw_strings_id.xtb +++ b/android_webview/ui/translations/aw_strings_id.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Laman web di <ph name="PAGE" /> mungkin tidak aktif untuk sementara atau dipindahkan secara permanen ke alamat web baru.</translation> <translation id="6312113039770857350">Laman web tidak tersedia</translation> <translation id="8681531050781943054">Laman web di <ph name="PAGE" /> tidak dapat dimuat karena:</translation> +<translation id="8882178685025065378">Maaf! Kamu perlu izin dari orang tua untuk membuka <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Saran:<ph name="MARKUP_2" />Pastikan Anda memiliki sambungan data<ph name="MARKUP_3" />Coba muat ulang laman web ini nanti<ph name="MARKUP_4" />Periksa alamat yang Anda masukkan<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_it.xtb b/android_webview/ui/translations/aw_strings_it.xtb index b2e5e7d..aca26be0 100644 --- a/android_webview/ui/translations/aw_strings_it.xtb +++ b/android_webview/ui/translations/aw_strings_it.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">La pagina web all'indirizzo <ph name="PAGE" /> potrebbe non essere momentaneamente disponibile o potrebbe essere stata trasferita definitivamente a un nuovo indirizzo web.</translation> <translation id="6312113039770857350">Pagina web non disponibile</translation> <translation id="8681531050781943054">Impossibile caricare la pagina web all'indirizzo <ph name="PAGE" /> perché:</translation> +<translation id="8882178685025065378">Spiacenti. Devi chiedere ai tuoi genitori l'autorizzazione a visitare la pagina <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Suggerimenti.<ph name="MARKUP_2" />Assicurati di avere una connessione dati<ph name="MARKUP_3" />Ricarica la pagina web in un secondo momento<ph name="MARKUP_4" />Controlla l'indirizzo inserito<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_iw.xtb b/android_webview/ui/translations/aw_strings_iw.xtb index 63951978..0e2cf88 100644 --- a/android_webview/ui/translations/aw_strings_iw.xtb +++ b/android_webview/ui/translations/aw_strings_iw.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">ייתכן שדף האינטרנט בכתובת <ph name="PAGE" /> אינו פעיל זמנית, או שהוא הועבר לכתובת אינטרנט קבועה אחרת.</translation> <translation id="6312113039770857350">דף האינטרנט אינו זמין</translation> <translation id="8681531050781943054">לא ניתן היה לטעון את דף האינטרנט בכתובת <ph name="PAGE" /> מהסיבות הבאות:</translation> +<translation id="8882178685025065378">אופס! ההורים שלך צריכים לאשר לך לגשת אל <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />הצעות:<ph name="MARKUP_2" />ודא שקיים חיבור נתונים<ph name="MARKUP_3" />טען מחדש את דף האינטרנט הזה מאוחר יותר<ph name="MARKUP_4" />בדוק את הכתובת שהזנת<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ja.xtb b/android_webview/ui/translations/aw_strings_ja.xtb index 10b8ca0..2c1c5f0 100644 --- a/android_webview/ui/translations/aw_strings_ja.xtb +++ b/android_webview/ui/translations/aw_strings_ja.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">ウェブページ(<ph name="PAGE" />)は一時的に利用できなくなっているか、新しいウェブアドレスに移動した可能性があります。</translation> <translation id="6312113039770857350">ウェブページへのアクセス不可</translation> <translation id="8681531050781943054">ウェブページ(<ph name="PAGE" />)は次の理由で読み込めませんでした:</translation> +<translation id="8882178685025065378"><ph name="PAGE" /> を開いてもよいか、保護者の方におたずねください。</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />アドバイス:<ph name="MARKUP_2" />データ接続があることを確認します<ph name="MARKUP_3" />このウェブページを後で再読み込みします<ph name="MARKUP_4" />入力したアドレスを確認します<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_kn.xtb b/android_webview/ui/translations/aw_strings_kn.xtb index 3716a70..a897f98 100644 --- a/android_webview/ui/translations/aw_strings_kn.xtb +++ b/android_webview/ui/translations/aw_strings_kn.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> ನಲ್ಲಿರುವ ವೆಬ್ಪುಟ ತಾತ್ಕಾಲಿಕವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿಲ್ಲ ಅಥವಾ ಅದನ್ನು ಶಾಶ್ವತವಾಗಿ ಹೊಸ ವೆಬ್ ವಿಳಾಸಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ.</translation> <translation id="6312113039770857350">ವೆಬ್ಪುಟ ಲಭ್ಯವಿಲ್ಲ</translation> <translation id="8681531050781943054"><ph name="PAGE" /> ನಲ್ಲಿ ವೆಬ್ಪುಟವನ್ನು ಈ ಕಾರಣದಿಂದ ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ:</translation> +<translation id="8882178685025065378">ಓಹ್! ನೀವು <ph name="PAGE" /> ಗೆ ಭೇಟಿ ನೀಡುವುದು ಸರಿಯೇ ಎಂದು ನಿಮ್ಮ ಪೋಷಕರನ್ನು ಕೇಳಬೇಕಾಗುತ್ತದೆ.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />ಸಲಹೆಗಳು:<ph name="MARKUP_2" />ನೀವು ಡೇಟಾ ಸಂಪರ್ಕ ಹೊಂದಿರುವಿರಾ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ<ph name="MARKUP_3" />ಈ ವೆಬ್ ಪುಟವನ್ನು ನಂತರ ಮರುಲೋಡ್ ಮಾಡಿ<ph name="MARKUP_4" />ನೀವು ನಮೂದಿಸಿದ ವಿಳಾಸವನ್ನು ಪರಿಶೀಲಿಸಿ<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ko.xtb b/android_webview/ui/translations/aw_strings_ko.xtb index 76dc6247..d0a10337 100644 --- a/android_webview/ui/translations/aw_strings_ko.xtb +++ b/android_webview/ui/translations/aw_strings_ko.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" />의 웹페이지가 일시적으로 다운되었거나 새 웹 주소로 완전히 이동했을 수 있습니다.</translation> <translation id="6312113039770857350">웹페이지를 사용할 수 없음</translation> <translation id="8681531050781943054">다음 이유로 <ph name="PAGE" />의 웹페이지를 로드할 수 없습니다.</translation> +<translation id="8882178685025065378"><ph name="PAGE" />을(를) 방문해도 괜찮은지 부모님께 확인해야 합니다.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />제안사항:<ph name="MARKUP_2" />데이터 연결 상태 확인<ph name="MARKUP_3" />나중에 페이지 새로고침<ph name="MARKUP_4" />입력한 주소 확인<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_lt.xtb b/android_webview/ui/translations/aw_strings_lt.xtb index f23d6b4..0ec21b7b 100644 --- a/android_webview/ui/translations/aw_strings_lt.xtb +++ b/android_webview/ui/translations/aw_strings_lt.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Gali būti, kad tinklalapis adresu <ph name="PAGE" /> laikinai neveikia arba yra visam laikui perkeltas nauju žiniatinklio adresu.</translation> <translation id="6312113039770857350">Tinklalapis nepasiekiamas</translation> <translation id="8681531050781943054">Tinklalapio adresu <ph name="PAGE" /> nepavyko įkelti, nes:</translation> +<translation id="8882178685025065378">Oi! Turite vieno iš tėvų paklausti, ar galite apsilankyti <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Pasiūlymai:<ph name="MARKUP_2" />įsitikinkite, kad veikia duomenų ryšys;<ph name="MARKUP_3" />vėliau iš naujo įkelkite šį tinklalapį;<ph name="MARKUP_4" />patikrinkite įvestą adresą<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_lv.xtb b/android_webview/ui/translations/aw_strings_lv.xtb index 517051b..a94c7a1 100644 --- a/android_webview/ui/translations/aw_strings_lv.xtb +++ b/android_webview/ui/translations/aw_strings_lv.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Tīmekļa lapa <ph name="PAGE" /> var būt īslaicīgi nepieejama, vai tā var būt pārvietota uz jaunu tīmekļa adresi.</translation> <translation id="6312113039770857350">Tīmekļa lapa nav pieejama</translation> <translation id="8681531050781943054">Tīmekļa lapu <ph name="PAGE" /> nevarēja ielādēt tālāk norādīto iemeslu dēļ.</translation> +<translation id="8882178685025065378">Pajautājiet vecākiem, vai drīkstat apmeklēt lapu <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Ieteikumi.<ph name="MARKUP_2" />Pārbaudiet, vai ir pieejams datu savienojums.<ph name="MARKUP_3" />Ielādējiet šo tīmekļa lapu vēlāk.<ph name="MARKUP_4" />Pārbaudiet, vai ir ievadīta pareiza adrese.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ml.xtb b/android_webview/ui/translations/aw_strings_ml.xtb index edf5f0498..f89d891 100644 --- a/android_webview/ui/translations/aw_strings_ml.xtb +++ b/android_webview/ui/translations/aw_strings_ml.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> എന്നതിലെ വെബ്പേജ് താല്ക്കാലികമായി പ്രവർത്തനരഹിതമായിരിക്കാം, അല്ലെങ്കില് അത് ശാശ്വതമായി ഒരു പുതിയ വെബ് വിലാസത്തിലേക്ക് മാറ്റിയിരിക്കാം.</translation> <translation id="6312113039770857350">വെബ്പേജ് ലഭ്യമല്ല</translation> <translation id="8681531050781943054">ഇനിപ്പറയുന്ന കാരണങ്ങളാൽ <ph name="PAGE" /> എന്നതിലെ വെബ്പേജ് ലോഡുചെയ്യാനായില്ല:</translation> +<translation id="8882178685025065378">ക്ഷമിക്കണം! <ph name="PAGE" /> സന്ദർശിക്കാൻ രക്ഷിതാവിന് സമ്മതമാണോയെന്ന് നിങ്ങൾ ചോദിക്കേണ്ടതുണ്ട്.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />നിർദ്ദേശങ്ങൾ:<ph name="MARKUP_2" />നിങ്ങൾക്കൊരു ഡാറ്റ കണക്ഷൻ ഉണ്ടെന്ന് ഉറപ്പാക്കുക<ph name="MARKUP_3" />ഈ വെബ്പേജ് പിന്നീട് വീണ്ടും ലോഡുചെയ്യുക<ph name="MARKUP_4" />നിങ്ങൾ നൽകിയ വിലാസം പരിശോധിക്കുക<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_mr.xtb b/android_webview/ui/translations/aw_strings_mr.xtb index 7d7db090..93b65f1b 100644 --- a/android_webview/ui/translations/aw_strings_mr.xtb +++ b/android_webview/ui/translations/aw_strings_mr.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> वरील वेबपृष्ठ कदाचित तात्पुरते बंद आहे किंवा ते कदाचित कायमचे नवीन वेब पत्त्यावर हलवले आहे.</translation> <translation id="6312113039770857350">वेबपृष्ठ उपलब्ध नाही</translation> <translation id="8681531050781943054"><ph name="PAGE" /> वरील वेबपृष्ठ लोड केले जाऊ शकले नाही कारण:</translation> +<translation id="8882178685025065378">अरेरे! <ph name="PAGE" /> ला भेट देणे योग्य आहे किंवा नाही ते आपल्याला आपल्या पालकांना विचारावे लागेल.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />सूचना:<ph name="MARKUP_2" />आपल्याकडे डेटा कनेक्शन असल्याचे सूनिश्चित करा<ph name="MARKUP_3" />हे वेबपृष्ठ नंतर रीलोड करा<ph name="MARKUP_4" />आपण प्रविष्ट केलेला पत्ता तपासा<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ms.xtb b/android_webview/ui/translations/aw_strings_ms.xtb index 4d71fcb7..414e9b10a 100644 --- a/android_webview/ui/translations/aw_strings_ms.xtb +++ b/android_webview/ui/translations/aw_strings_ms.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Halaman web di <ph name="PAGE" /> mungkin tergendala sebentar atau mungkin telah dipindahkan secara kekal ke alamat web baharu.</translation> <translation id="6312113039770857350">Halaman web tidak tersedia</translation> <translation id="8681531050781943054">Halaman web di <ph name="PAGE" /> tidak boleh dimuatkan kerana:</translation> +<translation id="8882178685025065378">Op! Anda perlu bertanya kepada ibu bapa sama ada anda boleh melawati <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Cadangan:<ph name="MARKUP_2" />Pastikan anda mempunyai sambungan data<ph name="MARKUP_3" />Muatkan semula halaman web ini kemudian<ph name="MARKUP_4" />Semak alamat yang anda masukkan<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_nl.xtb b/android_webview/ui/translations/aw_strings_nl.xtb index b0e7687..4e25a8c 100644 --- a/android_webview/ui/translations/aw_strings_nl.xtb +++ b/android_webview/ui/translations/aw_strings_nl.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">De webpagina op <ph name="PAGE" /> is mogelijk tijdelijk niet beschikbaar of is permanent verplaatst naar een nieuw webadres.</translation> <translation id="6312113039770857350">Webpagina niet beschikbaar</translation> <translation id="8681531050781943054">De webpagina op <ph name="PAGE" /> kan niet worden geladen vanwege het volgende:</translation> +<translation id="8882178685025065378">Je moet je volwassene vragen of je <ph name="PAGE" /> mag bezoeken.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Suggesties:<ph name="MARKUP_2" />Controleer of er een gegevensverbinding beschikbaar is<ph name="MARKUP_3" />Laad deze pagina later opnieuw<ph name="MARKUP_4" />Controleer het adres dat je hebt opgegeven<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_no.xtb b/android_webview/ui/translations/aw_strings_no.xtb index 6f8f527..9a684b0 100644 --- a/android_webview/ui/translations/aw_strings_no.xtb +++ b/android_webview/ui/translations/aw_strings_no.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Det kan hende at nettsiden på <ph name="PAGE" /> er midlertidig nede eller flyttet permanent til en ny nettadresse.</translation> <translation id="6312113039770857350">Nettsiden er ikke tilgjengelig</translation> <translation id="8681531050781943054">Nettsiden på <ph name="PAGE" /> kunne ikke lastes inn fordi</translation> +<translation id="8882178685025065378">Beklager. Du må spørre en av foreldrene dine om det er greit at du går til <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Forslag:<ph name="MARKUP_2" />Sjekk at du har datatilkobling.<ph name="MARKUP_3" />Last inn denne nettsiden på nytt senere.<ph name="MARKUP_4" />Kontrollér adressen du har skrevet inn.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_pl.xtb b/android_webview/ui/translations/aw_strings_pl.xtb index 0f3eb05..7dde100f 100644 --- a/android_webview/ui/translations/aw_strings_pl.xtb +++ b/android_webview/ui/translations/aw_strings_pl.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Strona <ph name="PAGE" /> może być chwilowo niedostępna lub została przeniesiona pod nowy adres.</translation> <translation id="6312113039770857350">Strona internetowa jest niedostępna</translation> <translation id="8681531050781943054">Nie można załadować strony <ph name="PAGE" />, ponieważ:</translation> +<translation id="8882178685025065378">Ups… Aby wejść na stronę <ph name="PAGE" />, musisz poprosić o zgodę rodzica.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Sugestie:<ph name="MARKUP_2" />Upewnij się, że działa połączenie transmisji danych.<ph name="MARKUP_3" />Załaduj tę stronę ponownie później.<ph name="MARKUP_4" />Sprawdź wpisany adres.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_pt-BR.xtb b/android_webview/ui/translations/aw_strings_pt-BR.xtb index 575f4df2..c3735d7 100644 --- a/android_webview/ui/translations/aw_strings_pt-BR.xtb +++ b/android_webview/ui/translations/aw_strings_pt-BR.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">A página da Web no endereço <ph name="PAGE" /> pode estar temporariamente inativa ou pode ter sido transferida para um novo endereço.</translation> <translation id="6312113039770857350">Página da Web não disponível</translation> <translation id="8681531050781943054">Não foi possível carregar a página da Web no endereço <ph name="PAGE" /> porque:</translation> +<translation id="8882178685025065378">Ops! É necessária a permissão do seu responsável para visitar <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Sugestões:<ph name="MARKUP_2" />certifique-se de que você tenha uma conexão de dados<ph name="MARKUP_3" />atualize esta página da Web mais tarde<ph name="MARKUP_4" />verifique o endereço que digitou<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_pt-PT.xtb b/android_webview/ui/translations/aw_strings_pt-PT.xtb index 8bbebdc..76a7a53e 100644 --- a/android_webview/ui/translations/aw_strings_pt-PT.xtb +++ b/android_webview/ui/translations/aw_strings_pt-PT.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">A página Web em <ph name="PAGE" /> pode estar temporariamente indisponível ou pode ter sido permanentemente movida para um novo endereço Web.</translation> <translation id="6312113039770857350">Página Web não disponível</translation> <translation id="8681531050781943054">Não foi possível carregar a página Web em <ph name="PAGE" /> porque:</translation> +<translation id="8882178685025065378">Ups! Tens de perguntar ao teu encarregado de educação se podes aceder a <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Sugestões:<ph name="MARKUP_2" />Assegure-se de que tem uma ligação de dados<ph name="MARKUP_3" />Recarregue esta página Web mais tarde<ph name="MARKUP_4" />Verifique o endereço que introduziu<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ro.xtb b/android_webview/ui/translations/aw_strings_ro.xtb index 3dc552dd..acdc2fd 100644 --- a/android_webview/ui/translations/aw_strings_ro.xtb +++ b/android_webview/ui/translations/aw_strings_ro.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Este posibil ca pagina web de la <ph name="PAGE" /> să fie blocată temporar sau să fi fost mutată definitiv la o nouă adresă web.</translation> <translation id="6312113039770857350">Pagina web nu este disponibilă</translation> <translation id="8681531050781943054">Pagina de la <ph name="PAGE" /> nu a putut fi încărcată, deoarece:</translation> +<translation id="8882178685025065378">Hopa! Trebuie să-ți întrebi părintele dacă poți accesa <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Sugestii:<ph name="MARKUP_2" />asigură-te că ai o conexiune de date;<ph name="MARKUP_3" />reîncarcă mai târziu această pagină web;<ph name="MARKUP_4" />verifică adresa pe care ai introdus-o.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ru.xtb b/android_webview/ui/translations/aw_strings_ru.xtb index a047ee51..c4969a8d 100644 --- a/android_webview/ui/translations/aw_strings_ru.xtb +++ b/android_webview/ui/translations/aw_strings_ru.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Возможно, веб-страница <ph name="PAGE" /> временно недоступна или находится по новому адресу.</translation> <translation id="6312113039770857350">Не удалось открыть веб-страницу</translation> <translation id="8681531050781943054">При загрузке веб-страницы <ph name="PAGE" /> произошла ошибка по следующим причинам:</translation> +<translation id="8882178685025065378">Чтобы просмотреть страницу <ph name="PAGE" />, попросите разрешение у родителя.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Что делать?<ph name="MARKUP_2" />Убедитесь, что вы подключены к Интернету.<ph name="MARKUP_3" />Через некоторое время обновите страницу.<ph name="MARKUP_4" />Проверьте, правильно ли указан веб-адрес.<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_sk.xtb b/android_webview/ui/translations/aw_strings_sk.xtb index 423b836..973d8f6 100644 --- a/android_webview/ui/translations/aw_strings_sk.xtb +++ b/android_webview/ui/translations/aw_strings_sk.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Webová stránka na adrese <ph name="PAGE" /> môže byť dočasne nefunkčná, prípadne mohla byť natrvalo presunutá na novú webovú adresu.</translation> <translation id="6312113039770857350">Webová stránka nie je k dispozícii</translation> <translation id="8681531050781943054">Webovú stránku na adrese <ph name="PAGE" /> sa nepodarilo načítať z nasledujúceho dôvodu:</translation> +<translation id="8882178685025065378">Ojoj! Musíte sa spýtať rodiča, či môžete navštíviť stránku <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Návrhy:<ph name="MARKUP_2" />Skontrolujte, či máte dátové pripojenie<ph name="MARKUP_3" />Načítajte túto webovú stránku znova neskôr<ph name="MARKUP_4" />Skontrolujte zadanú adresu<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_sl.xtb b/android_webview/ui/translations/aw_strings_sl.xtb index e8343b26..4170fbc 100644 --- a/android_webview/ui/translations/aw_strings_sl.xtb +++ b/android_webview/ui/translations/aw_strings_sl.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Spletna stran na naslovu <ph name="PAGE" /> morda začasno ni na voljo ali pa je trajno preseljena na drug spletni naslov.</translation> <translation id="6312113039770857350">Spletna stran ni na voljo</translation> <translation id="8681531050781943054">Spletne strani na naslovu <ph name="PAGE" /> ni bilo mogoče naložiti zaradi teh razlogov:</translation> +<translation id="8882178685025065378">Ojoj. Vprašati moraš starša, ali ti dovoli obiskati stran <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Predlogi:<ph name="MARKUP_2" />Poskrbite, da imate podatkovno povezavo<ph name="MARKUP_3" />Znova naložite to spletno stran pozneje<ph name="MARKUP_4" />Preverite naslov, ki ste ga vnesli<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_sr.xtb b/android_webview/ui/translations/aw_strings_sr.xtb index ba1d65e4..910448d 100644 --- a/android_webview/ui/translations/aw_strings_sr.xtb +++ b/android_webview/ui/translations/aw_strings_sr.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Веб-страница на адреси <ph name="PAGE" /> можда привремено не функционише или је трајно премештена на нову веб-адресу.</translation> <translation id="6312113039770857350">Веб-страница није доступна</translation> <translation id="8681531050781943054">Веб-страница на адреси <ph name="PAGE" /> не може да се учита из следећих разлога:</translation> +<translation id="8882178685025065378">Упс! Мораш да питаш родитеље да ли смеш да посетиш <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Предлози:<ph name="MARKUP_2" />Проверите да ли је успостављена веза за пренос података<ph name="MARKUP_3" />Поново учитајте ову веб-страницу касније<ph name="MARKUP_4" />Проверите адресу коју сте унели<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_sv.xtb b/android_webview/ui/translations/aw_strings_sv.xtb index 28ce2ed..6c858ed1 100644 --- a/android_webview/ui/translations/aw_strings_sv.xtb +++ b/android_webview/ui/translations/aw_strings_sv.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Webbsidan på <ph name="PAGE" /> kan vara nere tillfälligt eller ha flyttats permanent till en ny webbadress.</translation> <translation id="6312113039770857350">Webbsidan är inte tillgänglig</translation> <translation id="8681531050781943054">Det gick inte att läsa in webbsidan på <ph name="PAGE" />. Orsak:</translation> +<translation id="8882178685025065378">Hoppsan! Du måste be en förälder om tillstånd att besöka <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Förslag:<ph name="MARKUP_2" />Kontrollera att du använder en dataanslutning<ph name="MARKUP_3" />Läs in den här webbsidan igen senare<ph name="MARKUP_4" />Kontrollera att du har angett rätt adress<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_sw.xtb b/android_webview/ui/translations/aw_strings_sw.xtb index 7ba6245..2bcc2db 100644 --- a/android_webview/ui/translations/aw_strings_sw.xtb +++ b/android_webview/ui/translations/aw_strings_sw.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Huenda ukurasa wa wavuti ulio kwenye <ph name="PAGE" /> haupatikani kwa muda au umehamishwa kabisa hadi kwenye anwani mpya ya wavuti.</translation> <translation id="6312113039770857350">Ukurasa wa wavuti haupatikani</translation> <translation id="8681531050781943054">Ukurasa wa wavuti ulio kwenye <ph name="PAGE" /> haukuweza kupakiwa kwa sababu:</translation> +<translation id="8882178685025065378">Lo! Unahitaji kumwuliza mzazi wako ikiwa ni sawa kuutembelea <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Mapendekezo:<ph name="MARKUP_2" />Hakikisha kuwa una muunganisho wa data<ph name="MARKUP_3" />Pakia upya ukurasa huu wa wavuti baadaye<ph name="MARKUP_4" />Kagua anwani uliyoweka<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_ta.xtb b/android_webview/ui/translations/aw_strings_ta.xtb index b1bfdfe..86647db 100644 --- a/android_webview/ui/translations/aw_strings_ta.xtb +++ b/android_webview/ui/translations/aw_strings_ta.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> இல் உள்ள இணையப்பக்கம் தற்காலிகமாக இயங்கவில்லை அல்லது புதிய வலை முகவரிக்கு நிரந்தரமாக நகர்த்தப்பட்டிருக்கலாம்.</translation> <translation id="6312113039770857350">இணையப்பக்கம் கிடைக்கவில்லை</translation> <translation id="8681531050781943054"><ph name="PAGE" /> இல் உள்ள இணையப்பக்கத்தை ஏற்ற முடியவில்லை, ஏனெனில்:</translation> +<translation id="8882178685025065378">அச்சச்சோ! <ph name="PAGE" />ஐப் பார்க்க, நீங்கள் பெற்றோரிடம் அனுமதி கேட்க வேண்டும்.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />பரிந்துரைகள்:<ph name="MARKUP_2" />உங்களுடைய தரவு இணைப்பைச் சரிபார்க்கவும்<ph name="MARKUP_3" />இந்த இணையப்பக்கத்தைப் பின்னர் ஏற்றவும்<ph name="MARKUP_4" />நீங்கள் உள்ளிட்ட முகவரியைச் சரிபார்க்கவும்<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_te.xtb b/android_webview/ui/translations/aw_strings_te.xtb index 90c2ed3..cc729fd 100644 --- a/android_webview/ui/translations/aw_strings_te.xtb +++ b/android_webview/ui/translations/aw_strings_te.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" />లోని వెబ్పేజీ తాత్కాలికంగా నిలిపివేయబడి ఉండవచ్చు లేదా ఇది శాశ్వతంగా కొత్త వెబ్ చిరునామాకు తరలించబడి ఉండవచ్చు.</translation> <translation id="6312113039770857350">వెబ్పేజీ అందుబాటులో లేదు</translation> <translation id="8681531050781943054"><ph name="PAGE" />లోని వెబ్పేజీ ఈ కారణంగా లోడ్ కాలేదు:</translation> +<translation id="8882178685025065378">అయ్యో! మీరు <ph name="PAGE" />ని సందర్శించాలంటే మీ తల్లిదండ్రుల అనుమతి పొందాలి.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />సూచనలు:<ph name="MARKUP_2" />మీకు డేటా కనెక్షన్ ఉందని నిర్ధారించుకోండి<ph name="MARKUP_3" />ఈ వెబ్పేజీని తర్వాత మళ్లీ లోడ్ చేయండి<ph name="MARKUP_4" />మీరు నమోదు చేసిన చిరునామా తనిఖీ చేయండి<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_th.xtb b/android_webview/ui/translations/aw_strings_th.xtb index 6aff425d..c833c3b 100644 --- a/android_webview/ui/translations/aw_strings_th.xtb +++ b/android_webview/ui/translations/aw_strings_th.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">หน้าเว็บที่ <ph name="PAGE" /> อาจใช้งานไม่ได้ชั่วคราวหรืออาจมีการย้ายไปยังที่อยู่เว็บใหม่อย่างถาวรแล้ว</translation> <translation id="6312113039770857350">หน้าเว็บไม่พร้อมใช้งาน</translation> <translation id="8681531050781943054">ไม่สามารถโหลดหน้าเว็บที่ <ph name="PAGE" /> เนื่องจาก:</translation> +<translation id="8882178685025065378">อ๊ะ! ถามผู้ปกครองก่อนว่าไปที่ <ph name="PAGE" /> ได้ไหม</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />คำแนะนำ:<ph name="MARKUP_2" />ตรวจสอบว่าคุณมีการเชื่อมต่ออินเทอร์เน็ต<ph name="MARKUP_3" />โหลดหน้าเว็บนี้อีกครั้งในภายหลัง<ph name="MARKUP_4" />ตรวจสอบที่อยู่ที่คุณป้อน<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_tr.xtb b/android_webview/ui/translations/aw_strings_tr.xtb index f2ab10a..35f388cd 100644 --- a/android_webview/ui/translations/aw_strings_tr.xtb +++ b/android_webview/ui/translations/aw_strings_tr.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772"><ph name="PAGE" /> adresindeki web sayfası geçici olarak kullanılamıyor veya kalıcı olarak yeni bir web adresine taşınmış olabilir.</translation> <translation id="6312113039770857350">Web sayfası mevcut değil</translation> <translation id="8681531050781943054"><ph name="PAGE" /> adresindeki web sayfası şu nedenle yüklenemedi:</translation> +<translation id="8882178685025065378">Hay aksi! <ph name="PAGE" /> sayfasını ziyaret etmende bir sakınca olup olmadığını annene veya babana sorman gerekiyor.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Öneriler:<ph name="MARKUP_2" />Veri bağlantınızın olduğundan emin olun<ph name="MARKUP_3" />Bu web sayfasını daha sonra yükleyin<ph name="MARKUP_4" />Girdiğiniz adresi kontrol edin<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_uk.xtb b/android_webview/ui/translations/aw_strings_uk.xtb index 4bd296a..36ed0b7 100644 --- a/android_webview/ui/translations/aw_strings_uk.xtb +++ b/android_webview/ui/translations/aw_strings_uk.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Можливо, веб-сторінка <ph name="PAGE" /> тимчасово недоступна або її назавжди переміщено на нову веб-адресу.</translation> <translation id="6312113039770857350">Веб-сторінка недоступна</translation> <translation id="8681531050781943054">Не вдалося завантажити веб-сторінку <ph name="PAGE" />.</translation> +<translation id="8882178685025065378">Потрібно запитати когось із батьків, чи ви можете відвідувати сторінку <ph name="PAGE" />.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Пропозиції.<ph name="MARKUP_2" />Переконайтеся, що пристрій під’єднано до мобільного Інтернету.<ph name="MARKUP_3" />Оновіть цю веб-сторінку пізніше<ph name="MARKUP_4" />Перевірне адресу, яку ви ввели<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_vi.xtb b/android_webview/ui/translations/aw_strings_vi.xtb index 003a4a0..b6b16092 100644 --- a/android_webview/ui/translations/aw_strings_vi.xtb +++ b/android_webview/ui/translations/aw_strings_vi.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">Trang web tại <ph name="PAGE" /> có thể tạm thời không hoạt động hoặc có thể đã được chuyển vĩnh viễn sang địa chỉ web mới.</translation> <translation id="6312113039770857350">Trang web hiện không khả dụng</translation> <translation id="8681531050781943054">Không thể tải trang web tại <ph name="PAGE" /> do:</translation> +<translation id="8882178685025065378">Rất tiếc! Bạn cần hỏi cha mẹ xem có được phép truy cập <ph name="PAGE" /> hay không.</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />Đề xuất:<ph name="MARKUP_2" />Đảm bảo bạn có kết nối dữ liệu<ph name="MARKUP_3" />Tải lại trang web này sau<ph name="MARKUP_4" />Kiểm tra địa chỉ bạn đã nhập<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_zh-CN.xtb b/android_webview/ui/translations/aw_strings_zh-CN.xtb index 3e78f9c..efd60d11 100644 --- a/android_webview/ui/translations/aw_strings_zh-CN.xtb +++ b/android_webview/ui/translations/aw_strings_zh-CN.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">位于 <ph name="PAGE" /> 的网页可能暂时无法打开或已永久移至新网址。</translation> <translation id="6312113039770857350">网页无法打开</translation> <translation id="8681531050781943054">位于 <ph name="PAGE" /> 的网页无法加载,因为:</translation> +<translation id="8882178685025065378">抱歉!若想访问 <ph name="PAGE" />,您需要先征得家长同意。</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />建议:<ph name="MARKUP_2" />确保有数据网络连接<ph name="MARKUP_3" />稍后重新加载此网页<ph name="MARKUP_4" />检查您输入的地址是否正确<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/android_webview/ui/translations/aw_strings_zh-TW.xtb b/android_webview/ui/translations/aw_strings_zh-TW.xtb index b9e1527..7bf2915 100644 --- a/android_webview/ui/translations/aw_strings_zh-TW.xtb +++ b/android_webview/ui/translations/aw_strings_zh-TW.xtb
@@ -4,5 +4,6 @@ <translation id="6106989379647458772">位於 <ph name="PAGE" /> 的網頁可能暫時無法使用,或是已永久移至新的網址。</translation> <translation id="6312113039770857350">網頁無法使用</translation> <translation id="8681531050781943054">無法載入位於 <ph name="PAGE" /> 的網頁,原因如下:</translation> +<translation id="8882178685025065378">注意:你必須徵求家長同意,才能瀏覽 <ph name="PAGE" />。</translation> <translation id="8963213021028234748"><ph name="MARKUP_1" />建議:<ph name="MARKUP_2" />確認您的數據連線狀態正常<ph name="MARKUP_3" />稍後再重新載入這個網頁<ph name="MARKUP_4" />檢查您輸入的網址是否正確<ph name="MARKUP_5" /></translation> </translationbundle> \ No newline at end of file
diff --git a/ash/common/strings/ash_strings_am.xtb b/ash/common/strings/ash_strings_am.xtb index da4d2cc8..448830e6 100644 --- a/ash/common/strings/ash_strings_am.xtb +++ b/ash/common/strings/ash_strings_am.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">ማስጀመሪያ (መተግበሪያዎችን በማመሳሰል ላይ...)</translation> <translation id="315116470104423982">የተንቀሳቃሽ ስልክ ውሂብ</translation> <translation id="3157169093162779309">ተሽከርካሪ መቆለፊያን አንቃ</translation> -<translation id="3164154768979021380">ከተከላ ሁነታ በመውጣት ላይ</translation> <translation id="3294437725009624529">እንግዳ</translation> <translation id="3335772982573114336">አዲስ ማስታወሻ</translation> <translation id="3364721542077212959">የስቲለስ መሣሪያዎች</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">«<ph name="EXTENSION_NAME" />» ቅጥያ ወደዚህ አውታረመረብ ለማገናኘት ሊያግዝ ይችላል።</translation> <translation id="5571066253365925590">ብሉቱዝ ነቅቷል</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />፣ <ph name="DATE" /></translation> -<translation id="5759815399269068793">ከውጫዊ ማሳያ ጋር እንደተገናኘ መክደኛው ተዘግቶም ቢሆን፣ የእርስዎን <ph name="DEVICE_TYPE" /> መጠቀም ይችላሉ።</translation> <translation id="5777841717266010279">ማያ ገጽ ማጋራት ይቁም?</translation> <translation id="57838592816432529">ድምጽ ይዝጉ</translation> <translation id="5825747213122829519">የግቤት ስልትዎ ወደ <ph name="INPUT_METHOD_ID" /> ተቀይሯል። @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />ን አይደግፍም። ጥራቱ ወደ <ph name="FALLBACK_RESOLUTION" /> ተቀይሯል</translation> <translation id="7562368315689366235">ስሜት ገላጭ ሥዕል ቤተ-ሥዕል</translation> -<translation id="7573962313813535744">ትክል ሁነታ</translation> <translation id="7581273696622423628">አጠቃላይ ጥናት ላይ ይሳተፉ</translation> <translation id="7593891976182323525">Search ወይም Shift</translation> <translation id="7649070708921625228">እገዛ</translation>
diff --git a/ash/common/strings/ash_strings_ar.xtb b/ash/common/strings/ash_strings_ar.xtb index 4e7e615..5a7fd6d5 100644 --- a/ash/common/strings/ash_strings_ar.xtb +++ b/ash/common/strings/ash_strings_ar.xtb
@@ -76,7 +76,6 @@ <translation id="3147142846278915599">Launcher (مزامنة التطبيقات...)</translation> <translation id="315116470104423982">بيانات الجوال</translation> <translation id="3157169093162779309">تمكين قفل التدوير</translation> -<translation id="3164154768979021380">جارٍ الخروج من وضع الإرساء</translation> <translation id="3294437725009624529">ضيف</translation> <translation id="3335772982573114336">ملاحظة جديدة</translation> <translation id="3364721542077212959">أدوات قلم الشاشة</translation> @@ -142,7 +141,6 @@ <translation id="5548285847212963613">يمكن أن تساعد الإضافة " <ph name="EXTENSION_NAME" /> "على الاتصال بهذه الشبكة.</translation> <translation id="5571066253365925590">تم تمكين البلوتوث</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />، <ph name="DATE" /></translation> -<translation id="5759815399269068793">يمكنك الاستمرار في استخدام <ph name="DEVICE_TYPE" /> أثناء اتصاله بشاشة عرض خارجية، حتى مع غلق الغطاء.</translation> <translation id="5777841717266010279">هل ترغب في إيقاف مشاركة الشاشة؟</translation> <translation id="57838592816432529">كتم الصوت</translation> <translation id="5825747213122829519">تم تغيير أسلوب الإدخال إلى <ph name="INPUT_METHOD_ID" />. @@ -210,7 +208,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> غير متوافق مع <ph name="SPECIFIED_RESOLUTION" />. تم تغيير الدقة إلى <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">لوحة ألوان الرموز التعبيرية</translation> -<translation id="7573962313813535744">وضع الإرساء</translation> <translation id="7581273696622423628">المشاركة في استطلاع الرأي</translation> <translation id="7593891976182323525">مفتاح البحث أو Shift</translation> <translation id="7649070708921625228">مساعدة</translation>
diff --git a/ash/common/strings/ash_strings_bg.xtb b/ash/common/strings/ash_strings_bg.xtb index 58aac65..0e69fe78 100644 --- a/ash/common/strings/ash_strings_bg.xtb +++ b/ash/common/strings/ash_strings_bg.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Стартов панел (приложенията се синхронизират...)</translation> <translation id="315116470104423982">Мобилни данни</translation> <translation id="3157169093162779309">Заключване на завъртането</translation> -<translation id="3164154768979021380">Излиза се от режима с докинг станция</translation> <translation id="3294437725009624529">Гост</translation> <translation id="3335772982573114336">Нова бележка</translation> <translation id="3364721542077212959">Инструменти за писане</translation> @@ -118,7 +117,7 @@ <translation id="4430019312045809116">Звук</translation> <translation id="4448844063988177157">Търсят се Wi-Fi мрежи...</translation> <translation id="4479639480957787382">Ethernet</translation> -<translation id="4481530544597605423">Раздвоени устройства</translation> +<translation id="4481530544597605423">Несдвоени устройства</translation> <translation id="4508225577814909926"><ph name="NAME" />: Установява се връзка...</translation> <translation id="4527045527269911712">Устройството с Bluetooth „<ph name="DEVICE_NAME" />“ иска разрешение за сдвояване.</translation> <translation id="453661520163887813"><ph name="TIME" /> до пълно зареждане</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Разширението <ph name="EXTENSION_NAME" /> може да помогне за свързването с тази мрежа.</translation> <translation id="5571066253365925590">Bluetooth е активиран</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Можете да продължите да използвате своя <ph name="DEVICE_TYPE" />, докато е свързан с външен дисплей, дори ако капакът е затворен.</translation> <translation id="5777841717266010279">Да се спре ли споделянето на екрана?</translation> <translation id="57838592816432529">Заглушаване</translation> <translation id="5825747213122829519">Методът ви на въвеждане се промени на <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Shift + L</translation> <translation id="7561014039265304140">„<ph name="DISPLAY_NAME" />“ не поддържа разделителна способност от <ph name="SPECIFIED_RESOLUTION" />. Тя бе променена на <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Панел с емотикони</translation> -<translation id="7573962313813535744">Режим с докинг станция</translation> <translation id="7581273696622423628">Участие в анкетата</translation> <translation id="7593891976182323525">„търсене“ или „Shift“</translation> <translation id="7649070708921625228">Помощ</translation>
diff --git a/ash/common/strings/ash_strings_bn.xtb b/ash/common/strings/ash_strings_bn.xtb index dd2a6440..202d2418 100644 --- a/ash/common/strings/ash_strings_bn.xtb +++ b/ash/common/strings/ash_strings_bn.xtb
@@ -42,7 +42,7 @@ <translation id="2208323208084708176">একীভূত ডেস্কটপ মোড</translation> <translation id="225680501294068881">ডিভাইসগুলির জন্য স্ক্যান করা হচ্ছে...</translation> <translation id="2268130516524549846">ব্লুটুথ অক্ষমিত</translation> -<translation id="2268813581635650749">সবগুলি প্রস্থান করুন করুন</translation> +<translation id="2268813581635650749">সবগুলি প্রস্থান করুন</translation> <translation id="2303600792989757991">উইন্ডোর ওভারভিউ টগল করুন</translation> <translation id="2352467521400612932">স্টাইলাস সেটিংস</translation> <translation id="2354174487190027830"><ph name="NAME" /> সক্রিয় করা হচ্ছে</translation> @@ -77,7 +77,6 @@ <translation id="3147142846278915599">লঞ্চার (অ্যাপ সিঙ্ক করা হচ্ছে...)</translation> <translation id="315116470104423982">মোবাইল ডেটা</translation> <translation id="3157169093162779309">আবর্তন লক সক্ষম করুন</translation> -<translation id="3164154768979021380">ডক করা মোড থেকে প্রস্থান করছে</translation> <translation id="3294437725009624529">অতিথি</translation> <translation id="3335772982573114336">নতুন টীকা</translation> <translation id="3364721542077212959">লেখনী সরঞ্জামগুলি</translation> @@ -101,7 +100,7 @@ <translation id="3784455785234192852">লক করুন</translation> <translation id="3799026279081545374">আপনার কাছে একটি খারাপ চার্জার থাকতে পারে৷ যদি আপনি মার্কিন যুক্তরাষ্ট্রে বাস করেন তবে সহায়তা পেতে এবং একটি প্রতিস্থাপনের জন্য দয়া করে ৮৬৬-৬২৮-১৩৭১ এ কল করুন৷ যদি আপনি যুক্তরাজ্য বাস করেন তবে দয়া করে ০৮০০-০২৬-০৬১৩ এ কল করুন৷ যদি আপনি আয়ারল্যান্ডে বাস করেন তবে দয়া করে ১-৮০০-৮৩২-৬৬৪ এ কল করুন৷ যদি আপনি কানাডায় বাস করেন তবে দয়া করে ৮৬৬-৬২৮-১৩৭২ এ কল করুন৷ যদি আপনি অস্ট্রেলিয়ায় বাস করেন তবে দয়া করে ১-৮০০-০৬৭-৪৬০ এ কল করুন৷</translation> <translation id="3846575436967432996">কোনো নেটওয়ার্ক সংক্রান্ত তথ্য উপলব্ধ নেই</translation> -<translation id="3891340733213178823">প্রস্থান করুন করার জন্য দুবার Ctrl+Shift+Q টিপুন৷</translation> +<translation id="3891340733213178823">প্রস্থান করার জন্য দুবার Ctrl+Shift+Q টিপুন৷</translation> <translation id="3893630138897523026">ChromeVox (কথ্য প্রতিক্রিয়া)</translation> <translation id="3899995891769452915">ভয়েস ইনপুট</translation> <translation id="3901991538546252627"><ph name="NAME" />-এ সংযোগ করা হচ্ছে</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">"<ph name="EXTENSION_NAME" />" এক্সটেনশানটি এই নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে সাহায্য করতে পারে৷</translation> <translation id="5571066253365925590">ব্লুটুথ সক্ষমিত</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">আপনি আপনার <ph name="DEVICE_TYPE" /> কে একটি বহিস্থ প্রদর্শনের সাথে সংযুক্ত থাকা অবস্থায়, এমনকি ঢাকনা বন্ধ থাকলেও, সেটি ব্যবহার করতে পারবেন।</translation> <translation id="5777841717266010279">স্ক্রীন শেয়ার করা থামাবেন?</translation> <translation id="57838592816432529">নিঃশব্দ করুন</translation> <translation id="5825747213122829519">আপনার ইনপুট পদ্ধতি <ph name="INPUT_METHOD_ID" /> এ পরিবর্তিত হয়েছে৷ @@ -161,7 +159,7 @@ <translation id="6018164090099858612">মিরর মোড থেকে প্রস্থান করছে</translation> <translation id="6041154455840261787">উচ্চ কনট্রাস্ট মোড সক্ষম করা হয়েছে। এটি টগল করে বন্ধ করতে চাইলে আবার Search+Shift+H টিপু্ন।</translation> <translation id="6043212731627905357">এই মনিটরটি আপনার <ph name="DEVICE_TYPE" /> এর সাথে তাল মেলাতে পারছে না (মনিটরটি সমর্থিত নয়)।</translation> -<translation id="6043994281159824495">এখনই প্রস্থান করুন করুন</translation> +<translation id="6043994281159824495">এখনই প্রস্থান করুন</translation> <translation id="6047696787498798094">যখন আপনি অন্য ব্যবহারকারীতে পাল্টাবেন তখন স্ক্রীন শেয়ার করা বন্ধ হবে৷ আপনি কি চালিয়ে যেতে চান?</translation> <translation id="6062360702481658777">আপনি <ph name="LOGOUT_TIME_LEFT" /> এর মধ্যে স্বয়ংক্রিয়ভাবে প্রস্থান করুন হবেন৷</translation> <translation id="607652042414456612">আপনার কম্পিউটার কাছাকাছি ব্লুটুথ ডিভাইসে খুঁজে পাওয়া সম্ভব এবং ঠিকানা <ph name="ADDRESS" /> সমেত "<ph name="NAME" />" হিসাবে প্রদর্শিত হবে</translation> @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> সমর্থন করে না৷ রেজোলিউশন <ph name="FALLBACK_RESOLUTION" /> এ পরিবর্তিত হয়েছে</translation> <translation id="7562368315689366235">ইমোজি প্যালেট</translation> -<translation id="7573962313813535744">ডকযুক্ত মোড</translation> <translation id="7581273696622423628">সমীক্ষায় যোগ দিন</translation> <translation id="7593891976182323525">Search অথবা Shift</translation> <translation id="7649070708921625228">সহায়তা</translation> @@ -256,10 +253,10 @@ <translation id="9089416786594320554">ইনপুট পদ্ধতিসমূহ</translation> <translation id="9091626656156419976"><ph name="DISPLAY_NAME" /> প্রদর্শন সরানো হয়েছে</translation> <translation id="9151726767154816831">আপডেট করার জন্য আবার শুরু করুন এবং পাওয়ারওয়াশ করুন</translation> -<translation id="9194617393863864469">অন্য ব্যবহারকারীকে প্রবেশ করুন করান...</translation> +<translation id="9194617393863864469">অন্য ব্যবহারকারীকে প্রবেশ করান...</translation> <translation id="9201131092683066720">ব্যাটারি <ph name="PERCENTAGE" />% পূর্ণ৷</translation> <translation id="9210037371811586452">সমন্বিত ডেস্কটপ মোড থেকে প্রস্থান করছে</translation> -<translation id="923686485342484400">প্রস্থান করুন করার জন্য দুবার Control Shift Q টিপুন৷</translation> +<translation id="923686485342484400">প্রস্থান করার জন্য দুবার Control Shift Q টিপুন৷</translation> <translation id="939252827960237676">স্ক্রীনশট সংরক্ষণ করতে ব্যর্থ হয়েছে</translation> <translation id="945522503751344254">প্রতিক্রিয়া পাঠান</translation> </translationbundle> \ No newline at end of file
diff --git a/ash/common/strings/ash_strings_ca.xtb b/ash/common/strings/ash_strings_ca.xtb index aeca048..be8cc19e 100644 --- a/ash/common/strings/ash_strings_ca.xtb +++ b/ash/common/strings/ash_strings_ca.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (s'estan sincronitzant les aplicacions...)</translation> <translation id="315116470104423982">Dades mòbils</translation> <translation id="3157169093162779309">Activeu el bloqueig de la rotació</translation> -<translation id="3164154768979021380">S'està sortint del mode acoblat</translation> <translation id="3294437725009624529">Convidat</translation> <translation id="3335772982573114336">Nota nova</translation> <translation id="3364721542077212959">Eines del llapis òptic</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">L'extensió "<ph name="EXTENSION_NAME" />" pot ajudar a connectar-se a aquesta xarxa.</translation> <translation id="5571066253365925590">S'ha activat el Bluetooth</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Podeu continuar utilitzant el dispositiu <ph name="DEVICE_TYPE" /> mentre està connectat a una pantalla externa, fins i tot amb la tapa tancada.</translation> <translation id="5777841717266010279">Voleu deixar de compartir la pantalla?</translation> <translation id="57838592816432529">Silencia</translation> <translation id="5825747213122829519">El mètode d'entrada ha canviat a <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Maj + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> no admet <ph name="SPECIFIED_RESOLUTION" />. S'ha canviat la resolució per <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Paleta d'emoji</translation> -<translation id="7573962313813535744">Mode acoblat</translation> <translation id="7581273696622423628">Vull respondre a l'enquesta</translation> <translation id="7593891976182323525">Cerca o Maj</translation> <translation id="7649070708921625228">Ajuda</translation>
diff --git a/ash/common/strings/ash_strings_cs.xtb b/ash/common/strings/ash_strings_cs.xtb index 4654bbf..30fa76e 100644 --- a/ash/common/strings/ash_strings_cs.xtb +++ b/ash/common/strings/ash_strings_cs.xtb
@@ -75,7 +75,6 @@ <translation id="3147142846278915599">Spouštěč (synchronizace aplikací...)</translation> <translation id="315116470104423982">Mobilní datové přenosy</translation> <translation id="3157169093162779309">Zapnout zámek otáčení</translation> -<translation id="3164154768979021380">Ukončování ukotveného režimu</translation> <translation id="3294437725009624529">Host</translation> <translation id="3335772982573114336">Nová poznámka</translation> <translation id="3364721542077212959">Nástroje pro dotykové pero</translation> @@ -141,7 +140,6 @@ <translation id="5548285847212963613">S připojení k této síti může pomoci rozšíření <ph name="EXTENSION_NAME" />.</translation> <translation id="5571066253365925590">Rozhraní Bluetooth aktivováno</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Když je zařízení <ph name="DEVICE_TYPE" /> připojeno k externímu displeji, můžete ho používat i se zavřeným víkem.</translation> <translation id="5777841717266010279">Ukončit sdílení obrazovky?</translation> <translation id="57838592816432529">Ztlumit</translation> <translation id="5825747213122829519">Metoda zadávání se změnila na metodu <ph name="INPUT_METHOD_ID" />. Přepnout ji můžete stisknutím klávesové zkratky Shift + Alt.</translation> @@ -210,7 +208,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> rozlišení <ph name="SPECIFIED_RESOLUTION" /> nepodporuje. Rozlišení bylo změněno zpět na <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Paleta emodži</translation> -<translation id="7573962313813535744">Ukotvený režim</translation> <translation id="7581273696622423628">Zúčastnit se průzkumu</translation> <translation id="7593891976182323525">Vyhledávání nebo Shift</translation> <translation id="7649070708921625228">Nápověda</translation>
diff --git a/ash/common/strings/ash_strings_da.xtb b/ash/common/strings/ash_strings_da.xtb index ab576c7f..d5820d4 100644 --- a/ash/common/strings/ash_strings_da.xtb +++ b/ash/common/strings/ash_strings_da.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Starter (synkronisering af apps...)</translation> <translation id="315116470104423982">Mobildata</translation> <translation id="3157169093162779309">Aktivér låsning af rotation</translation> -<translation id="3164154768979021380">Lukker tilstanden Tilsluttet dockingstation</translation> <translation id="3294437725009624529">Gæst</translation> <translation id="3335772982573114336">Ny note</translation> <translation id="3364721542077212959">Penneværktøjer</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Udvidelsen "<ph name="EXTENSION_NAME" />" kan hjælpe med at oprette forbindelse til dette netværk.</translation> <translation id="5571066253365925590">Bluetooth er aktiveret</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" /> d. <ph name="DATE" /></translation> -<translation id="5759815399269068793">Du kan fortsætte med at bruge din <ph name="DEVICE_TYPE" />, mens den er sluttet til en ekstern skærm, selv når den er klappet sammen.</translation> <translation id="5777841717266010279">Vil du afslutte skærmdeling?</translation> <translation id="57838592816432529">Slå lyden fra</translation> <translation id="5825747213122829519">Din inputmetode er ændret til <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> understøtter ikke <ph name="SPECIFIED_RESOLUTION" />. Opløsningen blev ændret til <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emojipalet</translation> -<translation id="7573962313813535744">Tilstanden Tilsluttet dockingstation</translation> <translation id="7581273696622423628">Deltag i undersøgelsen</translation> <translation id="7593891976182323525">Søg eller Shift</translation> <translation id="7649070708921625228">Hjælp</translation>
diff --git a/ash/common/strings/ash_strings_de.xtb b/ash/common/strings/ash_strings_de.xtb index c96b1da6..0afa8b2 100644 --- a/ash/common/strings/ash_strings_de.xtb +++ b/ash/common/strings/ash_strings_de.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (Apps werden synchronisiert...)</translation> <translation id="315116470104423982">Mobilfunk</translation> <translation id="3157169093162779309">Rotationssperre aktivieren</translation> -<translation id="3164154768979021380">Docking-Modus wird beendet</translation> <translation id="3294437725009624529">Gast</translation> <translation id="3335772982573114336">Neue Notiz</translation> <translation id="3364721542077212959">Eingabestift-Tools</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Die Erweiterung "<ph name="EXTENSION_NAME" />" kann die Verbindung mit diesem Netzwerk unterstützen.</translation> <translation id="5571066253365925590">Bluetooth aktiviert</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Sie können Ihr <ph name="DEVICE_TYPE" />, wenn es mit einem externen Bildschirm verbunden ist, selbst im geschlossenen Zustand weiterverwenden.</translation> <translation id="5777841717266010279">Bildschirmfreigabe beenden?</translation> <translation id="57838592816432529">Stummschalten</translation> <translation id="5825747213122829519">Ihre Eingabemethode hat sich in <ph name="INPUT_METHOD_ID" /> geändert. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Strg + Shift + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> unterstützt <ph name="SPECIFIED_RESOLUTION" /> nicht. Die Auflösung wurde auf <ph name="FALLBACK_RESOLUTION" /> zurückgesetzt.</translation> <translation id="7562368315689366235">Emoji-Palette</translation> -<translation id="7573962313813535744">Docking-Modus</translation> <translation id="7581273696622423628">An Umfrage teilnehmen</translation> <translation id="7593891976182323525">Suchen oder Shift</translation> <translation id="7649070708921625228">Hilfe</translation>
diff --git a/ash/common/strings/ash_strings_el.xtb b/ash/common/strings/ash_strings_el.xtb index 62a8f11..6ec70a86f 100644 --- a/ash/common/strings/ash_strings_el.xtb +++ b/ash/common/strings/ash_strings_el.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Εφαρμογή εκκίνησης (συγχρονισμός εφαρμογών…)</translation> <translation id="315116470104423982">Δεδομένα κινητής τηλεφωνίας</translation> <translation id="3157169093162779309">Ενεργοποίηση κλειδώματος περιστροφής</translation> -<translation id="3164154768979021380">Έξοδος από λειτουργία σύνδεσης</translation> <translation id="3294437725009624529">Επισκέπτης</translation> <translation id="3335772982573114336">Νέα σημείωση</translation> <translation id="3364721542077212959">Εργαλεία γραφίδας</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Η επέκταση "<ph name="EXTENSION_NAME" />" μπορεί να διευκολύνει τη σύνδεση σε αυτό το δίκτυο.</translation> <translation id="5571066253365925590">Το Bluetooth έχει ενεργοποιηθεί</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Μπορείτε να συνεχίσετε να χρησιμοποιείτε τη συσκευή <ph name="DEVICE_TYPE" /> ενώ είναι συνδεδεμένη σε μια εξωτερική οθόνη, ακόμη και αν το καπάκι είναι κλειστό.</translation> <translation id="5777841717266010279">Να διακοπεί η κοινή χρήση οθόνης;</translation> <translation id="57838592816432529">Σίγαση</translation> <translation id="5825747213122829519">Η μέθοδος εισαγωγής σας έχει αλλάξει σε <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140">Το <ph name="DISPLAY_NAME" /> δεν υποστηρίζει το <ph name="SPECIFIED_RESOLUTION" />. Η ανάλυση άλλαξε σε <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Παλέτα Emoji</translation> -<translation id="7573962313813535744">Λειτουργία βάσης σύνδεσης</translation> <translation id="7581273696622423628">Συμμετοχή σε έρευνα</translation> <translation id="7593891976182323525">Search ή Shift</translation> <translation id="7649070708921625228">Βοήθεια</translation>
diff --git a/ash/common/strings/ash_strings_en-GB.xtb b/ash/common/strings/ash_strings_en-GB.xtb index 7b77ef1c..951e5a4 100644 --- a/ash/common/strings/ash_strings_en-GB.xtb +++ b/ash/common/strings/ash_strings_en-GB.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (syncing apps...)</translation> <translation id="315116470104423982">Mobile data</translation> <translation id="3157169093162779309">Enable rotation lock</translation> -<translation id="3164154768979021380">Exiting docked mode</translation> <translation id="3294437725009624529">Guest</translation> <translation id="3335772982573114336">New note</translation> <translation id="3364721542077212959">Stylus tools</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">The extension "<ph name="EXTENSION_NAME" />" can help connect to this network.</translation> <translation id="5571066253365925590">Bluetooth enabled</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">You can keep using your <ph name="DEVICE_TYPE" /> while it's connected to an external display, even with the lid closed.</translation> <translation id="5777841717266010279">Stop screen sharing?</translation> <translation id="57838592816432529">Mute</translation> <translation id="5825747213122829519">Your input method has changed to <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> doesn't support <ph name="SPECIFIED_RESOLUTION" />. The resolution was changed to <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emoji palette</translation> -<translation id="7573962313813535744">Docked mode</translation> <translation id="7581273696622423628">Take survey</translation> <translation id="7593891976182323525">Search or Shift</translation> <translation id="7649070708921625228">Help</translation>
diff --git a/ash/common/strings/ash_strings_es-419.xtb b/ash/common/strings/ash_strings_es-419.xtb index 0178b723..aa78c45 100644 --- a/ash/common/strings/ash_strings_es-419.xtb +++ b/ash/common/strings/ash_strings_es-419.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Selector (sincronizando aplicaciones…)</translation> <translation id="315116470104423982">Datos móviles</translation> <translation id="3157169093162779309">Habilitar bloqueo de rotación</translation> -<translation id="3164154768979021380">Saliendo del modo de acoplado</translation> <translation id="3294437725009624529">Invitado</translation> <translation id="3335772982573114336">Nueva nota</translation> <translation id="3364721542077212959">Herramientas de pluma stylus</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">La extensión "<ph name="EXTENSION_NAME" />" puede ayudarte a conectarte a la red.</translation> <translation id="5571066253365925590">Bluetooth activado</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Puedes seguir usando tu <ph name="DEVICE_TYPE" /> mientras el dispositivo esté conectado a una pantalla externa, aunque la tapa esté cerrada.</translation> <translation id="5777841717266010279">¿Dejar de compartir la pantalla?</translation> <translation id="57838592816432529">Silenciar</translation> <translation id="5825747213122829519">Tu método de introducción cambió a <ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl + mayúscula + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> no admite una resolución de <ph name="SPECIFIED_RESOLUTION" />. La resolución se cambió a <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Paleta de emoji</translation> -<translation id="7573962313813535744">Modo acoplado</translation> <translation id="7581273696622423628">Responder encuesta</translation> <translation id="7593891976182323525">Tecla de búsqueda o Mayús</translation> <translation id="7649070708921625228">Ayuda</translation>
diff --git a/ash/common/strings/ash_strings_es.xtb b/ash/common/strings/ash_strings_es.xtb index a6cafa5..1c773dd8 100644 --- a/ash/common/strings/ash_strings_es.xtb +++ b/ash/common/strings/ash_strings_es.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Menú de aplicaciones (sincronizando aplicaciones...)</translation> <translation id="315116470104423982">Redes móviles</translation> <translation id="3157169093162779309">Habilitar bloqueo de rotación</translation> -<translation id="3164154768979021380">Saliendo del modo de acoplamiento</translation> <translation id="3294437725009624529">Invitado</translation> <translation id="3335772982573114336">Nueva nota</translation> <translation id="3364721542077212959">Herramientas del lápiz óptico</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">La extensión "<ph name="EXTENSION_NAME" />" puede permitir conectarse a esta red.</translation> <translation id="5571066253365925590">Bluetooth habilitado</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Puedes seguir utilizando tu <ph name="DEVICE_TYPE" /> mientras está conectado a una pantalla externa aunque la tapa esté cerrada.</translation> <translation id="5777841717266010279">¿Dejar de compartir la pantalla?</translation> <translation id="57838592816432529">Silenciar</translation> <translation id="5825747213122829519">Tu método de entrada ha cambiado a <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Mayús+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> no admite una resolución de <ph name="SPECIFIED_RESOLUTION" />. Se ha cambiado la resolución a <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta de emojis</translation> -<translation id="7573962313813535744">Modo acoplado</translation> <translation id="7581273696622423628">Responder encuesta</translation> <translation id="7593891976182323525">Tecla de búsqueda o Mayús</translation> <translation id="7649070708921625228">Ayuda</translation>
diff --git a/ash/common/strings/ash_strings_et.xtb b/ash/common/strings/ash_strings_et.xtb index 7faa340..b6b9f375 100644 --- a/ash/common/strings/ash_strings_et.xtb +++ b/ash/common/strings/ash_strings_et.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Käivitusprogramm (rakenduste sünkroonimine ...)</translation> <translation id="315116470104423982">Mobiilne andmeside</translation> <translation id="3157169093162779309">Luba pööramise lukustus</translation> -<translation id="3164154768979021380">Dokitud režiimist väljumine</translation> <translation id="3294437725009624529">Külaline</translation> <translation id="3335772982573114336">Uus märge</translation> <translation id="3364721542077212959">Elektronpliiatsi tööriistad</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Laiendus „<ph name="EXTENSION_NAME" />” aitab selle võrguga ühenduse loomisel.</translation> <translation id="5571066253365925590">Bluetooth on lubatud</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Saate seadme <ph name="DEVICE_TYPE" /> kasutamist jätkata, kui see on ühendatud välise ekraaniga (isegi siis, kui kaas on suletud).</translation> <translation id="5777841717266010279">Kas peatada ekraani jagamine?</translation> <translation id="57838592816432529">Vaigista</translation> <translation id="5825747213122829519">Teie sisestusmeetod on nüüd <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Tõstuklahv + L</translation> <translation id="7561014039265304140">Üksus <ph name="DISPLAY_NAME" /> ei toeta eraldusvõimet <ph name="SPECIFIED_RESOLUTION" />. Eraldusvõime muudeti tagasi väärtusele <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emotikonide palett</translation> -<translation id="7573962313813535744">Dokkimisrežiim</translation> <translation id="7581273696622423628">Osalege küsitluses</translation> <translation id="7593891976182323525">Otsinguklahv või tõstuklahv</translation> <translation id="7649070708921625228">Abi</translation>
diff --git a/ash/common/strings/ash_strings_fa.xtb b/ash/common/strings/ash_strings_fa.xtb index 7afeac2e..6076022 100644 --- a/ash/common/strings/ash_strings_fa.xtb +++ b/ash/common/strings/ash_strings_fa.xtb
@@ -76,7 +76,6 @@ <translation id="3147142846278915599">راه انداز (همگامسازی برنامهها...)</translation> <translation id="315116470104423982">دادههای تلفن همراه</translation> <translation id="3157169093162779309">قفل چرخش فعال شود</translation> -<translation id="3164154768979021380">خروج از حالت اتصال به پایه</translation> <translation id="3294437725009624529">مهمان</translation> <translation id="3335772982573114336">یادداشت جدید</translation> <translation id="3364721542077212959">ابزارهای قلم</translation> @@ -142,7 +141,6 @@ <translation id="5548285847212963613">افزونه «<ph name="EXTENSION_NAME" />» میتواند در اتصال به این شبکه به شما کمک کند.</translation> <translation id="5571066253365925590">بلوتوث فعال شد</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />، <ph name="DATE" /></translation> -<translation id="5759815399269068793">هنگامیکه <ph name="DEVICE_TYPE" /> شما به یک نمایشگر خارجی متصل است، میتوانید به استفاده از آن ادامه دهید، حتی اگر درب آن بسته باشد.</translation> <translation id="5777841717266010279">اشتراکگذاری صفحه نمایش متوقف شود؟</translation> <translation id="57838592816432529">بیصدا کردن</translation> <translation id="5825747213122829519">روش ورودی شما به <ph name="INPUT_METHOD_ID" /> تغییر یافت. Shift + Alt را برای تعویض فشار دهید.</translation> @@ -211,7 +209,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />، <ph name="SPECIFIED_RESOLUTION" /> را پشتیبانی نمیکند. وضوح به <ph name="FALLBACK_RESOLUTION" /> تغییر کرد</translation> <translation id="7562368315689366235">پالت صورتک</translation> -<translation id="7573962313813535744">حالت اتصال به پایه</translation> <translation id="7581273696622423628">در نظرسنجی شرکت کنید</translation> <translation id="7593891976182323525">جستجو یا Shift</translation> <translation id="7649070708921625228">راهنما</translation>
diff --git a/ash/common/strings/ash_strings_fi.xtb b/ash/common/strings/ash_strings_fi.xtb index 6815013..32a9c10 100644 --- a/ash/common/strings/ash_strings_fi.xtb +++ b/ash/common/strings/ash_strings_fi.xtb
@@ -76,7 +76,6 @@ <translation id="3147142846278915599">Käynnistysohjelma (synkronoidaan sovelluksia…)</translation> <translation id="315116470104423982">Mobiilitiedonsiirto</translation> <translation id="3157169093162779309">Ota näytön kierron lukitus käyttöön</translation> -<translation id="3164154768979021380">Poistutaan telakoidusta tilasta</translation> <translation id="3294437725009624529">Vieras</translation> <translation id="3335772982573114336">Uusi muistiinpano</translation> <translation id="3364721542077212959">Näyttökynätyökalut</translation> @@ -142,7 +141,6 @@ <translation id="5548285847212963613">Laajennus <ph name="EXTENSION_NAME" /> voi auttaa muodostamaan yhteyden tähän verkkoon.</translation> <translation id="5571066253365925590">Bluetooth käytössä</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Voit jatkaa laitteen <ph name="DEVICE_TYPE" /> käyttöä, kun se on liitettynä ulkoiseen näyttöön, vaikka laitteen kansi olisi kiinni.</translation> <translation id="5777841717266010279">Lopetetaanko näytön jakaminen?</translation> <translation id="57838592816432529">Mykistä</translation> <translation id="5825747213122829519">Syöttötapa on vaihtunut. Uusi syöttötapa on <ph name="INPUT_METHOD_ID" />. @@ -210,7 +208,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ei tue resoluutiota <ph name="SPECIFIED_RESOLUTION" />. Resoluutioksi valittiin <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Emojipaletti</translation> -<translation id="7573962313813535744">Telakoitu tila</translation> <translation id="7581273696622423628">Vastaa kyselyyn</translation> <translation id="7593891976182323525">Haku tai Shift</translation> <translation id="7649070708921625228">Ohje</translation>
diff --git a/ash/common/strings/ash_strings_fil.xtb b/ash/common/strings/ash_strings_fil.xtb index b50bf4f..c6d047f 100644 --- a/ash/common/strings/ash_strings_fil.xtb +++ b/ash/common/strings/ash_strings_fil.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (nagsi-sync ng mga app...)</translation> <translation id="315116470104423982">Data sa mobile</translation> <translation id="3157169093162779309">I-enable ang lock sa pag-rotate</translation> -<translation id="3164154768979021380">Lumalabas sa docked mode</translation> <translation id="3294437725009624529">Bisita</translation> <translation id="3335772982573114336">Bagong tala</translation> <translation id="3364721542077212959">Mga stylus tool</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Maaaring makatulong na makakonekta sa network na ito ang extension na "<ph name="EXTENSION_NAME" />."</translation> <translation id="5571066253365925590">Pinapagana ang Bluetooth</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Maaari mong patuloy na gamitin ang <ph name="DEVICE_TYPE" /> habang nakakonekta ito sa isang external na display, kahit na nakasara ang lid.</translation> <translation id="5777841717266010279">Itigil ang screen sharing?</translation> <translation id="57838592816432529">I-mute</translation> <translation id="5825747213122829519">Naging <ph name="INPUT_METHOD_ID" /> ang iyong pamamaraan ng pag-input. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140">Hindi sinusuportahan ng <ph name="DISPLAY_NAME" /> ang <ph name="SPECIFIED_RESOLUTION" />. Ang resolution ay ginawang <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emoji palette</translation> -<translation id="7573962313813535744">Mode na naka-dock</translation> <translation id="7581273696622423628">Sagutan ang survey</translation> <translation id="7593891976182323525">Search or Shift</translation> <translation id="7649070708921625228">Tulong</translation>
diff --git a/ash/common/strings/ash_strings_fr.xtb b/ash/common/strings/ash_strings_fr.xtb index 59f9eab8..c0ac79f 100644 --- a/ash/common/strings/ash_strings_fr.xtb +++ b/ash/common/strings/ash_strings_fr.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Lanceur d'applications (synchronisation des applications en cours…)</translation> <translation id="315116470104423982">Données mobiles</translation> <translation id="3157169093162779309">Activer le verrouillage de la rotation</translation> -<translation id="3164154768979021380">Sortie du mode Dock…</translation> <translation id="3294437725009624529">Invité</translation> <translation id="3335772982573114336">Nouvelle note</translation> <translation id="3364721542077212959">Outils de stylet</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">L'extension "<ph name="EXTENSION_NAME" />" peut aider à se connecter à ce réseau.</translation> <translation id="5571066253365925590">Bluetooth activé</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" /> <ph name="DATE" /></translation> -<translation id="5759815399269068793">Vous pouvez continuer à utiliser votre appareil <ph name="DEVICE_TYPE" /> lorsqu'il est connecté à un écran externe, même s'il est fermé.</translation> <translation id="5777841717266010279">Arrêter le partage d'écran ?</translation> <translation id="57838592816432529">Couper le son</translation> <translation id="5825747213122829519">Votre mode de saisie a été remplacé par <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Maj+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> n'est pas compatible avec <ph name="SPECIFIED_RESOLUTION" />. La résolution a été modifiée pour utiliser <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Palette d'emoji</translation> -<translation id="7573962313813535744">Mode Dock</translation> <translation id="7581273696622423628">Participer à l'enquête</translation> <translation id="7593891976182323525">Recherche ou Maj</translation> <translation id="7649070708921625228">Aide</translation>
diff --git a/ash/common/strings/ash_strings_gu.xtb b/ash/common/strings/ash_strings_gu.xtb index 04db15c2..502d785 100644 --- a/ash/common/strings/ash_strings_gu.xtb +++ b/ash/common/strings/ash_strings_gu.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">લોન્ચર (એપ્લિકેશન્સને સમન્વયિત કરી રહ્યું છે..)</translation> <translation id="315116470104423982">મોબાઇલ ડેટા</translation> <translation id="3157169093162779309">પરિભ્રમણ લૉક સક્ષમ કરો</translation> -<translation id="3164154768979021380">ડોક કરેલ મોડથી બહાર નીકળે છે</translation> <translation id="3294437725009624529">અતિથિ</translation> <translation id="3335772982573114336">નવી નોંધ</translation> <translation id="3364721542077212959">કલમના સાધનો</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">વિસ્તાર "<ph name="EXTENSION_NAME" />" આ નેટવર્ક સાથે કનેક્ટ કરવામાં મદદ કરી શકે છે.</translation> <translation id="5571066253365925590">Bluetooth સક્ષમ છે</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">તમારું <ph name="DEVICE_TYPE" /> બાહ્ય ડિસ્પ્લે સાથે કનેક્ટ કરેલું હોય ત્યારે તમે તેનો ઉપયોગ કરવાનું ચાલુ રાખી શકો છો, લીડ બંધ હોય તો પણ.</translation> <translation id="5777841717266010279">સ્ક્રીન શેરિંગ રોકીએ?</translation> <translation id="57838592816432529">અવાજ બંધ કરો</translation> <translation id="5825747213122829519">તમારી ઇનપુટ પદ્ધતિ <ph name="INPUT_METHOD_ID" /> માં બદલાઇ ગયેલ છે. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">ctrl + shift + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> ને સમર્થન આપતું નથી. રિઝોલ્યુશન <ph name="FALLBACK_RESOLUTION" /> પર બદલાયું હતું</translation> <translation id="7562368315689366235">ઇમોજી પૅલેટ</translation> -<translation id="7573962313813535744">ડોક કરેલ મોડ</translation> <translation id="7581273696622423628">સર્વેક્ષણમાં ભાગ લો</translation> <translation id="7593891976182323525">Search અથવા Shift</translation> <translation id="7649070708921625228">સહાય</translation>
diff --git a/ash/common/strings/ash_strings_hi.xtb b/ash/common/strings/ash_strings_hi.xtb index 4dba6ef..505c8383 100644 --- a/ash/common/strings/ash_strings_hi.xtb +++ b/ash/common/strings/ash_strings_hi.xtb
@@ -48,7 +48,7 @@ <translation id="2354174487190027830"><ph name="NAME" /> सक्रिय हो रहा है</translation> <translation id="2391579633712104609">180°</translation> <translation id="2429753432712299108">ब्लूटूथ डिवाइस "<ph name="DEVICE_NAME" />" युग्मित करने की अनुमति चाहता है. स्वीकार करने से पहले, कृपया दुबारा पूछें कि यह पासकुंजी उस डिवाइस पर दिखाई जा रही है: <ph name="PASSKEY" /></translation> -<translation id="2475982808118771221">कोई त्रुटि आई</translation> +<translation id="2475982808118771221">कोई गड़बड़ी आई</translation> <translation id="2509468283778169019">CAPS LOCK चालू है</translation> <translation id="2532589005999780174">उच्च कंट्रास्ट मोड</translation> <translation id="2700058918926273959">सत्र <ph name="SESSION_TIME_REMAINING" /> में समाप्त होने वाला है. आप प्रस्थान कर जाएंगे.</translation> @@ -77,7 +77,6 @@ <translation id="3147142846278915599">लॉन्चर (ऐप्स समन्वयित किए जा रहे हैं...)</translation> <translation id="315116470104423982">मोबाइल डेटा</translation> <translation id="3157169093162779309">रोटेशन लॉक को सक्षम करें</translation> -<translation id="3164154768979021380">डॉक किया गया मोड से बाहर निकाला जा रहा है</translation> <translation id="3294437725009624529">अतिथि</translation> <translation id="3335772982573114336">नया नोट</translation> <translation id="3364721542077212959">स्टाइलस टूल</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">"<ph name="EXTENSION_NAME" />" एक्सटेंशन इस नेटवर्क से कनेक्ट करने में सहायता कर सकता है.</translation> <translation id="5571066253365925590">ब्लूटूथ सक्षम किया गया</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">आप अपने <ph name="DEVICE_TYPE" /> का उपयोग करना तब भी जारी रख सकते हैं जब यह किसी बाहरी स्क्रीन से कनेक्ट किया हुआ हो, भले ही उसका लिड बंद हो.</translation> <translation id="5777841717266010279">स्क्रीन साझाकरण बंद करें?</translation> <translation id="57838592816432529">आवाज़ बंद करें</translation> <translation id="5825747213122829519">आपकी इनपुट विधि <ph name="INPUT_METHOD_ID" /> में बदल गई है. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> का समर्थन नहीं करता. रिज़ॉल्यूशन को <ph name="FALLBACK_RESOLUTION" /> में बदल दिया गया था</translation> <translation id="7562368315689366235">इमोजी पैलेट</translation> -<translation id="7573962313813535744">डॉक मोड</translation> <translation id="7581273696622423628">सर्वेक्षण में भाग लें</translation> <translation id="7593891976182323525">Search या Shift</translation> <translation id="7649070708921625228">सहायता</translation>
diff --git a/ash/common/strings/ash_strings_hr.xtb b/ash/common/strings/ash_strings_hr.xtb index aa328ac9..1fc14bc 100644 --- a/ash/common/strings/ash_strings_hr.xtb +++ b/ash/common/strings/ash_strings_hr.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Pokretač (sinkronizacija aplikacija...)</translation> <translation id="315116470104423982">Mobilni podaci</translation> <translation id="3157169093162779309">Omogući zaključavanje rotacije</translation> -<translation id="3164154768979021380">Izlaz iz načina na priključnoj stanici</translation> <translation id="3294437725009624529">Gost</translation> <translation id="3335772982573114336">Nova bilješka</translation> <translation id="3364721542077212959">Alati pisaljke</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Proširenje "<ph name="EXTENSION_NAME" />" može pomoći pri povezivanju s tom mrežom.</translation> <translation id="5571066253365925590">Bluetooth omogućen</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Možete nastaviti upotrebljavati uređaj <ph name="DEVICE_TYPE" /> dok je povezan s vanjskim zaslonom, čak i kada je poklopac zatvoren.</translation> <translation id="5777841717266010279">Prekinuti dijeljenje zaslona?</translation> <translation id="57838592816432529">Isključi zvuk</translation> <translation id="5825747213122829519">Vaš je način unosa promijenjen u <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Shift + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ne podržava razlučivost <ph name="SPECIFIED_RESOLUTION" />. Razlučivost je promijenjena u <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta emojija</translation> -<translation id="7573962313813535744">Način rada u priključnoj stanici</translation> <translation id="7581273696622423628">Ispunite anketu</translation> <translation id="7593891976182323525">Pretraživanje ili Shift</translation> <translation id="7649070708921625228">Pomoć</translation>
diff --git a/ash/common/strings/ash_strings_hu.xtb b/ash/common/strings/ash_strings_hu.xtb index f5194ff5..4defa2c 100644 --- a/ash/common/strings/ash_strings_hu.xtb +++ b/ash/common/strings/ash_strings_hu.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Indító (alkalmazások szinkronizálása…)</translation> <translation id="315116470104423982">Mobiladatok</translation> <translation id="3157169093162779309">Az elforgatás zárolásának engedélyezése</translation> -<translation id="3164154768979021380">Kilépés a dokkolt módból</translation> <translation id="3294437725009624529">Vendég</translation> <translation id="3335772982573114336">Új jegyzet</translation> <translation id="3364721542077212959">Érintőceruza eszközök</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">A(z) „<ph name="EXTENSION_NAME" />” bővítmény segíthet a hálózathoz való csatlakozásban.</translation> <translation id="5571066253365925590">Bluetooth engedélyezve</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Továbbra is használhatja <ph name="DEVICE_TYPE" /> eszközét, amíg az csatlakoztatva van egy külső kijelzőhöz, még lecsukott állapotban is.</translation> <translation id="5777841717266010279">Leállítja a képernyőmegosztást?</translation> <translation id="57838592816432529">Némítás</translation> <translation id="5825747213122829519">A beviteli mód a következőre változott: <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140">A(z) <ph name="DISPLAY_NAME" /> nem támogatja a következő felbontást: <ph name="SPECIFIED_RESOLUTION" />. A felbontás megváltozott erre: <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Hangulatjel-paletta</translation> -<translation id="7573962313813535744">Dokkolt mód</translation> <translation id="7581273696622423628">Kérdőív kitöltése</translation> <translation id="7593891976182323525">Keresés vagy Shift</translation> <translation id="7649070708921625228">Súgó</translation>
diff --git a/ash/common/strings/ash_strings_id.xtb b/ash/common/strings/ash_strings_id.xtb index 99f2716..f4efbb9e7 100644 --- a/ash/common/strings/ash_strings_id.xtb +++ b/ash/common/strings/ash_strings_id.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Peluncur (menyinkronkan aplikasi...)</translation> <translation id="315116470104423982">Data seluler</translation> <translation id="3157169093162779309">Aktifkan penguncian rotasi</translation> -<translation id="3164154768979021380">Keluar dari mode pasang ke dok</translation> <translation id="3294437725009624529">Tamu</translation> <translation id="3335772982573114336">Catatan baru</translation> <translation id="3364721542077212959">Alat stilus</translation> @@ -118,7 +117,7 @@ <translation id="4430019312045809116">Volume</translation> <translation id="4448844063988177157">Menelusuri jaringan Wi-Fi...</translation> <translation id="4479639480957787382">Ethernet</translation> -<translation id="4481530544597605423">Perangkat dilepas sambungannya</translation> +<translation id="4481530544597605423">Perangkat tidak tersambung</translation> <translation id="4508225577814909926"><ph name="NAME" />: Menyambung...</translation> <translation id="4527045527269911712">Perangkat Bluetooth "<ph name="DEVICE_NAME" />" meminta izin untuk bersanding.</translation> <translation id="453661520163887813"><ph name="TIME" /> hingga penuh</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Ekstensi "<ph name="EXTENSION_NAME" />" dapat membantu menyambungkan ke jaringan ini.</translation> <translation id="5571066253365925590">Bluetooth diaktifkan</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Anda tetap dapat menggunakan <ph name="DEVICE_TYPE" /> saat perangkat tersambung ke tampilan eksternal, meskipun penutupnya ditutup.</translation> <translation id="5777841717266010279">Berhenti membagikan layar?</translation> <translation id="57838592816432529">Bisukan</translation> <translation id="5825747213122829519">Metode masukan Anda telah berubah menjadi <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> tidak mendukung <ph name="SPECIFIED_RESOLUTION" />. Resolusi diubah menjadi <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Palet emoji</translation> -<translation id="7573962313813535744">Mode digalangkan</translation> <translation id="7581273696622423628">Ikuti survei</translation> <translation id="7593891976182323525">Telusuri atau Shift</translation> <translation id="7649070708921625228">Bantuan</translation>
diff --git a/ash/common/strings/ash_strings_it.xtb b/ash/common/strings/ash_strings_it.xtb index 5c5daa7e..e285d420 100644 --- a/ash/common/strings/ash_strings_it.xtb +++ b/ash/common/strings/ash_strings_it.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Avvio applicazioni (sincronizzazione delle app...)</translation> <translation id="315116470104423982">Dati mobili</translation> <translation id="3157169093162779309">Attiva blocco rotazione</translation> -<translation id="3164154768979021380">Uscita dalla modalità dock</translation> <translation id="3294437725009624529">Ospite</translation> <translation id="3335772982573114336">Nuova nota</translation> <translation id="3364721542077212959">Strumenti per stilo</translation> @@ -118,7 +117,7 @@ <translation id="4430019312045809116">Volume</translation> <translation id="4448844063988177157">Ricerca di reti Wi-Fi in corso...</translation> <translation id="4479639480957787382">Ethernet</translation> -<translation id="4481530544597605423">Dispositivi non accoppiati</translation> +<translation id="4481530544597605423">Dispositivi disaccoppiati</translation> <translation id="4508225577814909926"><ph name="NAME" />: connessione...</translation> <translation id="4527045527269911712">Il dispositivo Bluetooth "<ph name="DEVICE_NAME" />" chiede l'autorizzazione per essere accoppiato.</translation> <translation id="453661520163887813"><ph name="TIME" /> alla ricarica completa</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">L'estensione "<ph name="EXTENSION_NAME" />" può essere utile per il collegamento a questa rete.</translation> <translation id="5571066253365925590">Bluetooth attivo</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Puoi continuare a utilizzare il tuo dispositivo <ph name="DEVICE_TYPE" /> mentre è connesso a un display esterno anche se il coperchio è chiuso.</translation> <translation id="5777841717266010279">Interrompere la condivisione dello schermo?</translation> <translation id="57838592816432529">Disattiva audio</translation> <translation id="5825747213122829519">Il metodo di immissione è stato cambiato in <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">CTRL+MAIUSC+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> non supporta <ph name="SPECIFIED_RESOLUTION" />. La risoluzione è stata modificata in <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Riquadro di emoji</translation> -<translation id="7573962313813535744">Modalità dock</translation> <translation id="7581273696622423628">Vai al sondaggio</translation> <translation id="7593891976182323525">Tasto per la ricerca o Maiusc</translation> <translation id="7649070708921625228">Guida</translation>
diff --git a/ash/common/strings/ash_strings_iw.xtb b/ash/common/strings/ash_strings_iw.xtb index 00744491..826d22a 100644 --- a/ash/common/strings/ash_strings_iw.xtb +++ b/ash/common/strings/ash_strings_iw.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">מפעיל היישומים (מסנכרן יישומים...)</translation> <translation id="315116470104423982">נתוני נייד</translation> <translation id="3157169093162779309">הפעל נעילת סיבוב</translation> -<translation id="3164154768979021380">יציאה ממצב עגינה</translation> <translation id="3294437725009624529">אורח</translation> <translation id="3335772982573114336">הערה חדשה</translation> <translation id="3364721542077212959">כלי סטיילוס</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">התוסף "<ph name="EXTENSION_NAME" />" יכול לעזור בהתחברות אל הרשת הזו.</translation> <translation id="5571066253365925590">Bluetooth מופעל</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">תוכל להמשיך להשתמש ב-<ph name="DEVICE_TYPE" /> כשהוא מחובר למסך חיצוני, גם כשהמכסה סגור.</translation> <translation id="5777841717266010279">להפסיק את שיתוף המסך?</translation> <translation id="57838592816432529">השתק</translation> <translation id="5825747213122829519">שיטת הקלט שלך השתנתה ל-<ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> אינו תומך ב-<ph name="SPECIFIED_RESOLUTION" />. הרזולוציה שונתה ל-<ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">לוח סמלי אמוג'י</translation> -<translation id="7573962313813535744">מצב מעוגן</translation> <translation id="7581273696622423628">השתתף בסקר</translation> <translation id="7593891976182323525">חיפוש או Shift</translation> <translation id="7649070708921625228">עזרה</translation>
diff --git a/ash/common/strings/ash_strings_ja.xtb b/ash/common/strings/ash_strings_ja.xtb index b520849..789ba9f 100644 --- a/ash/common/strings/ash_strings_ja.xtb +++ b/ash/common/strings/ash_strings_ja.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">ランチャー(アプリを同期中...)</translation> <translation id="315116470104423982">モバイル データ</translation> <translation id="3157169093162779309">回転ロックを有効にする</translation> -<translation id="3164154768979021380">ドッキング モードを終了しています</translation> <translation id="3294437725009624529">ゲスト</translation> <translation id="3335772982573114336">新しいメモ</translation> <translation id="3364721542077212959">タッチペン ツール</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">拡張機能「<ph name="EXTENSION_NAME" />」はこのネットワークへの接続をサポートします。</translation> <translation id="5571066253365925590">Bluetooth オン</translation> <translation id="5597451508971090205"><ph name="DATE" /> (<ph name="SHORT_WEEKDAY" />)</translation> -<translation id="5759815399269068793">外付けのディスプレイを接続している間は、カバーを閉じても <ph name="DEVICE_TYPE" /> を使い続けることができます。</translation> <translation id="5777841717266010279">画面の共有を解除しますか?</translation> <translation id="57838592816432529">ミュート</translation> <translation id="5825747213122829519">入力方法を <ph name="INPUT_METHOD_ID" /> に変更しました。 @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> は <ph name="SPECIFIED_RESOLUTION" /> に対応していません。解像度は <ph name="FALLBACK_RESOLUTION" /> に変更されました</translation> <translation id="7562368315689366235">絵文字パレット</translation> -<translation id="7573962313813535744">ドッキング モード</translation> <translation id="7581273696622423628">アンケートに答える</translation> <translation id="7593891976182323525">検索/Shift</translation> <translation id="7649070708921625228">ヘルプ</translation>
diff --git a/ash/common/strings/ash_strings_kn.xtb b/ash/common/strings/ash_strings_kn.xtb index 29f4262..fa653f81 100644 --- a/ash/common/strings/ash_strings_kn.xtb +++ b/ash/common/strings/ash_strings_kn.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">ಲಾಂಚರ್ (ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ...)</translation> <translation id="315116470104423982">ಮೊಬೈಲ್ ಡೇಟಾ</translation> <translation id="3157169093162779309">ತಿರುಗಿಸುವಿಕೆ ಲಾಕ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> -<translation id="3164154768979021380">ಡಾಕ್ ಮಾಡಲಾಗಿರುವ ಮೋಡ್ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ</translation> <translation id="3294437725009624529">ಅತಿಥಿ</translation> <translation id="3335772982573114336">ಹೊಸ ಟಿಪ್ಪಣಿ</translation> <translation id="3364721542077212959">ಸ್ಟೈಲಸ್ ಪರಿಕರಗಳು</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">ಈ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸಲು "<ph name="EXTENSION_NAME" />" ವಿಸ್ತರಣೆಯು ಸಹಾಯ ಮಾಡಬಹುದು.</translation> <translation id="5571066253365925590">ಬ್ಲೂಟೂತ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಬಾಹ್ಯ ಪ್ರದರ್ಶನಕ್ಕೆ ಸಂಪರ್ಕಗೊಳಿಸಿರುವಾಗ ಲಿಡ್ ತೆರೆದಿದ್ದರೂ ಸಹ ನೀವು ಅದನ್ನು ಬಳಸುವುದನ್ನು ಮುಂದುವರಿಸಬಹುದು.</translation> <translation id="5777841717266010279">ಸ್ಕ್ರೀನ್ ಹಂಚಿಕೆ ನಿಲ್ಲಿಸುವುದೇ?</translation> <translation id="57838592816432529">ಮ್ಯೂಟ್</translation> <translation id="5825747213122829519"><ph name="INPUT_METHOD_ID" /> ಗೆ ನಿಮ್ಮ ಇನ್ಪುಟ್ ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="SPECIFIED_RESOLUTION" /> ಅನ್ನು <ph name="DISPLAY_NAME" /> ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು <ph name="FALLBACK_RESOLUTION" /> ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ</translation> <translation id="7562368315689366235">ಎಮೋಜಿ ಪ್ಯಾಲೆಟ್</translation> -<translation id="7573962313813535744">ಪರಸ್ಪರ ಸಂಧಿಸುವ ಮೋಡ್</translation> <translation id="7581273696622423628">ಸಮೀಕ್ಷೆಯನ್ನು ಕೈಗೊಳ್ಳಿ</translation> <translation id="7593891976182323525">ಹುಡುಕಾಟ ಅಥವಾ Shift</translation> <translation id="7649070708921625228">ಸಹಾಯ</translation>
diff --git a/ash/common/strings/ash_strings_ko.xtb b/ash/common/strings/ash_strings_ko.xtb index cf77d86..cb11aa7 100644 --- a/ash/common/strings/ash_strings_ko.xtb +++ b/ash/common/strings/ash_strings_ko.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">런처(앱 동기화 중...)</translation> <translation id="315116470104423982">모바일 데이터</translation> <translation id="3157169093162779309">회전 잠금 사용</translation> -<translation id="3164154768979021380">고정 모드 종료 중</translation> <translation id="3294437725009624529">손님</translation> <translation id="3335772982573114336">새 메모</translation> <translation id="3364721542077212959">스타일러스 도구</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">확장 프로그램('<ph name="EXTENSION_NAME" />')을 사용하여 이 네트워크에 연결할 수 있습니다.</translation> <translation id="5571066253365925590">블루투스를 사용함</translation> <translation id="5597451508971090205"><ph name="DATE" /> <ph name="SHORT_WEEKDAY" /></translation> -<translation id="5759815399269068793">외부 디스플레이에 연결되어 있는 동안에는 덮개가 닫혀 있더라도 <ph name="DEVICE_TYPE" />을(를) 계속 사용할 수 있습니다.</translation> <translation id="5777841717266010279">화면 공유를 중단하시겠습니까?</translation> <translation id="57838592816432529">음소거</translation> <translation id="5825747213122829519">입력 방법이 <ph name="INPUT_METHOD_ID" />(으)로 변경되었습니다. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />에서 <ph name="SPECIFIED_RESOLUTION" />을(를) 지원하지 않습니다. 해상도가 <ph name="FALLBACK_RESOLUTION" />(으)로 변경되었습니다.</translation> <translation id="7562368315689366235">그림 이모티콘 팔레트</translation> -<translation id="7573962313813535744">고정 모드</translation> <translation id="7581273696622423628">설문조사 참여</translation> <translation id="7593891976182323525">검색 또는 Shift 키</translation> <translation id="7649070708921625228">도움말</translation>
diff --git a/ash/common/strings/ash_strings_lt.xtb b/ash/common/strings/ash_strings_lt.xtb index adeca7c..18eae10 100644 --- a/ash/common/strings/ash_strings_lt.xtb +++ b/ash/common/strings/ash_strings_lt.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Paleidimo priemonė (sinchronizuojamos programos...)</translation> <translation id="315116470104423982">Duomenys mobiliesiems</translation> <translation id="3157169093162779309">Įgalinti pasukimo užrakinimą</translation> -<translation id="3164154768979021380">Išjungiamas prijungimo prie doko režimas</translation> <translation id="3294437725009624529">Svečias</translation> <translation id="3335772982573114336">Naujas užrašas</translation> <translation id="3364721542077212959">Rašiklio įrankiai</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Galite prisijungti prie šio tinklo naudodami plėtinį „<ph name="EXTENSION_NAME" />“.</translation> <translation id="5571066253365925590">„Bluetooth“ įgalinta</translation> <translation id="5597451508971090205"><ph name="DATE" />, <ph name="SHORT_WEEKDAY" /></translation> -<translation id="5759815399269068793">Galite ir toliau naudoti „<ph name="DEVICE_TYPE" />“, kol jis prijungtas prie išorinio ekrano, net jei dangtelis uždarytas.</translation> <translation id="5777841717266010279">Nutraukti ekrano bendrinimą?</translation> <translation id="57838592816432529">Nutildyti</translation> <translation id="5825747213122829519">Įvesties metodas pakeistas į <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">„Ctrl“ + „Shift“ + L</translation> <translation id="7561014039265304140">„<ph name="DISPLAY_NAME" />“ nepalaiko <ph name="SPECIFIED_RESOLUTION" />. Skyra pakeista į <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Jaustukų paletė</translation> -<translation id="7573962313813535744">Doko režimas</translation> <translation id="7581273696622423628">Dalyvauti apklausoje</translation> <translation id="7593891976182323525">Paieškos arba antrojo lygio klavišas</translation> <translation id="7649070708921625228">Žinynas</translation>
diff --git a/ash/common/strings/ash_strings_lv.xtb b/ash/common/strings/ash_strings_lv.xtb index 2650dba..efdb5d2 100644 --- a/ash/common/strings/ash_strings_lv.xtb +++ b/ash/common/strings/ash_strings_lv.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Palaišanas programma (notiek lietotņu sinhronizēšana...)</translation> <translation id="315116470104423982">Mobilie dati</translation> <translation id="3157169093162779309">Iespējot rotācijas bloķēšanu</translation> -<translation id="3164154768979021380">Notiek iziešana no dokošanas režīma</translation> <translation id="3294437725009624529">Viesis</translation> <translation id="3335772982573114336">Jauna piezīme</translation> <translation id="3364721542077212959">Skārienekrāna pildspalvas rīki</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Paplašinājums “<ph name="EXTENSION_NAME" />” var palīdzēt pievienoties šim tīklam.</translation> <translation id="5571066253365925590">Bluetooth iespējots</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Varat turpināt izmantot <ph name="DEVICE_TYPE" /> ierīci, kamēr tā ir pievienota ārējam displejam, pat ja vāciņš ir aizvērts.</translation> <translation id="5777841717266010279">Vai apturēt ekrāna koplietošanu?</translation> <translation id="57838592816432529">Izslēgt skaņu</translation> <translation id="5825747213122829519">Ievades metode ir mainīta uz <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> neatbalsta šādu izšķirtspēju: <ph name="SPECIFIED_RESOLUTION" />. Izšķirtspēja tika mainīta uz <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Emocijzīmju palete</translation> -<translation id="7573962313813535744">Dokošanas režīms</translation> <translation id="7581273696622423628">Piedalīties aptaujā</translation> <translation id="7593891976182323525">Meklēt vai Shift</translation> <translation id="7649070708921625228">Palīdzība</translation>
diff --git a/ash/common/strings/ash_strings_ml.xtb b/ash/common/strings/ash_strings_ml.xtb index 8a1c10c..812ba3f 100644 --- a/ash/common/strings/ash_strings_ml.xtb +++ b/ash/common/strings/ash_strings_ml.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">ലോഞ്ചർ (അപ്ലിക്കേഷൻ സമന്വയിപ്പിക്കുന്നു...)</translation> <translation id="315116470104423982">മൊബൈല് ഡാറ്റ</translation> <translation id="3157169093162779309">റൊട്ടേഷൻ ലോക്ക് പ്രവർത്തനക്ഷമമാക്കുക</translation> -<translation id="3164154768979021380">ഡോക്കുചെയ്ത മോഡിൽ നിന്ന് പുറത്തുകടക്കുന്നു</translation> <translation id="3294437725009624529">അതിഥി</translation> <translation id="3335772982573114336">പുതിയ കുറിപ്പ്</translation> <translation id="3364721542077212959">സ്റ്റൈലസ് ടൂളുകൾ</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">ഈ നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്യാൻ "<ph name="EXTENSION_NAME" />" വിപുലീകരണത്തിന് സഹായിക്കാനാകും.</translation> <translation id="5571066253365925590">Bluetooth പ്രാപ്തമാക്കി</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793"><ph name="DEVICE_TYPE" /> ഒരു ബാഹ്യ ഡിസ്പ്ലേയിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുമ്പോൾ, ലിഡ് അടച്ചിരിക്കുമ്പോൾപ്പോലും നിങ്ങൾക്കത് ഉപയോഗിക്കാം.</translation> <translation id="5777841717266010279">സ്ക്രീൻ പങ്കിടൽ നിർത്തണോ?</translation> <translation id="57838592816432529">മ്യൂട്ടുചെയ്യുക</translation> <translation id="5825747213122829519">നിങ്ങളുടെ ഇൻപുട്ട് രീതി <ph name="INPUT_METHOD_ID" /> എന്നതിലേയ്ക്ക് മാറ്റി. സ്വിച്ചുചെയ്യുന്നതിന് Shift + Alt അമർത്തുക.</translation> @@ -211,7 +209,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> എന്നതിനെ പിന്തുണയ്ക്കുന്നില്ല. റസലൂഷൻ <ph name="FALLBACK_RESOLUTION" /> എന്നതിലേക്ക് മാറ്റി.</translation> <translation id="7562368315689366235">ഇമോജി പാലറ്റ്</translation> -<translation id="7573962313813535744">ഡോക്കുചെയ്ത മോഡ്</translation> <translation id="7581273696622423628">സർവേയിൽ പങ്കെടുക്കുക</translation> <translation id="7593891976182323525">തിരയൽ അല്ലെങ്കിൽ Shift</translation> <translation id="7649070708921625228">സഹായം</translation>
diff --git a/ash/common/strings/ash_strings_mr.xtb b/ash/common/strings/ash_strings_mr.xtb index eed7183..a30a255 100644 --- a/ash/common/strings/ash_strings_mr.xtb +++ b/ash/common/strings/ash_strings_mr.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">लाँचर (संकालन अॅप्स...)</translation> <translation id="315116470104423982">मोबाइल डेटा</translation> <translation id="3157169093162779309">फिरविणे लॉक करा सक्षम करा</translation> -<translation id="3164154768979021380">डॉक केलेल्या मोडमधून बाहेर पडत आहे</translation> <translation id="3294437725009624529">अतिथी</translation> <translation id="3335772982573114336">नवीन टीप</translation> <translation id="3364721542077212959">लेखणी साधने</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">या नेटवर्कवर कनेक्ट करण्यात "<ph name="EXTENSION_NAME" />" विस्तार मदत करू शकतो.</translation> <translation id="5571066253365925590">Bluetooth सक्षम</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">एखाद्या बाह्य प्रदर्शनाशी आपले <ph name="DEVICE_TYPE" /> कनेक्ट केलेले असताना आपण ते वापरणे सुरू ठेऊ शकता, लिड बंद केलेले असताना देखील.</translation> <translation id="5777841717266010279">स्क्रीन सामायिकरण थांबवायचे?</translation> <translation id="57838592816432529">निःशब्द करा</translation> <translation id="5825747213122829519">आपली इनपुट पद्धत <ph name="INPUT_METHOD_ID" /> मध्ये बदलली आहे. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> ला समर्थन देत नाही. रिजोल्यूशन <ph name="FALLBACK_RESOLUTION" /> मध्ये बदलले</translation> <translation id="7562368315689366235">इमोजी पॅलेट</translation> -<translation id="7573962313813535744">डॉक केलेला मोड</translation> <translation id="7581273696622423628">सर्वेक्षण घ्या</translation> <translation id="7593891976182323525">Search किंवा Shift</translation> <translation id="7649070708921625228">मदत</translation>
diff --git a/ash/common/strings/ash_strings_ms.xtb b/ash/common/strings/ash_strings_ms.xtb index bce63a5..bcc633c 100644 --- a/ash/common/strings/ash_strings_ms.xtb +++ b/ash/common/strings/ash_strings_ms.xtb
@@ -76,7 +76,6 @@ <translation id="3147142846278915599">Pelancar (menyegerakkan apl...)</translation> <translation id="315116470104423982">Data mudah alih</translation> <translation id="3157169093162779309">Dayakan kunci putaran</translation> -<translation id="3164154768979021380">Keluar daripada mod dok</translation> <translation id="3294437725009624529">Tetamu</translation> <translation id="3335772982573114336">Nota baharu</translation> <translation id="3364721542077212959">Alatan stilus</translation> @@ -142,7 +141,6 @@ <translation id="5548285847212963613">Sambungan "<ph name="EXTENSION_NAME" />" boleh membantu menyambung ke rangkaian ini.</translation> <translation id="5571066253365925590">Bluetooth didayakan</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Anda boleh terus menggunakan <ph name="DEVICE_TYPE" /> anda semasa disambungkan ke paparan luaran, walaupun dengan penutupnya ditutupkan.</translation> <translation id="5777841717266010279">Hentikan perkongsian skrin?</translation> <translation id="57838592816432529">Redam</translation> <translation id="5825747213122829519">Kaedah masukan anda telah ditukar kepada <ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> tidak menyokong <ph name="SPECIFIED_RESOLUTION" />. Resolusi telah ditukar kepada <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Palet emoji</translation> -<translation id="7573962313813535744">Mod dok</translation> <translation id="7581273696622423628">Sertai tinjauan</translation> <translation id="7593891976182323525">Search atau Shift</translation> <translation id="7649070708921625228">Bantuan</translation>
diff --git a/ash/common/strings/ash_strings_nl.xtb b/ash/common/strings/ash_strings_nl.xtb index e84872cf..22a67986 100644 --- a/ash/common/strings/ash_strings_nl.xtb +++ b/ash/common/strings/ash_strings_nl.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (apps synchroniseren...)</translation> <translation id="315116470104423982">Mobiele gegevens</translation> <translation id="3157169093162779309">Draaivergrendeling inschakelen</translation> -<translation id="3164154768979021380">Gedockte modus wordt gesloten</translation> <translation id="3294437725009624529">Gast</translation> <translation id="3335772982573114336">Nieuwe notitie</translation> <translation id="3364721542077212959">Stylustools</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Met de extensie '<ph name="EXTENSION_NAME" />' kun je verbinding maken met dit netwerk.</translation> <translation id="5571066253365925590">Bluetooth ingeschakeld</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Je kunt je <ph name="DEVICE_TYPE" /> blijven gebruiken terwijl deze is verbonden met een extern beeldscherm, ook als de klep is gesloten.</translation> <translation id="5777841717266010279">Stoppen met scherm delen?</translation> <translation id="57838592816432529">Dempen</translation> <translation id="5825747213122829519">Je invoermethode is gewijzigd in <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ondersteunt <ph name="SPECIFIED_RESOLUTION" /> niet. De resolutie is gewijzigd in <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emoji-palet</translation> -<translation id="7573962313813535744">Gedockte modus</translation> <translation id="7581273696622423628">Enquête invullen</translation> <translation id="7593891976182323525">Zoeken of Shift</translation> <translation id="7649070708921625228">Help</translation>
diff --git a/ash/common/strings/ash_strings_no.xtb b/ash/common/strings/ash_strings_no.xtb index 5f4af1da..6b34bfa 100644 --- a/ash/common/strings/ash_strings_no.xtb +++ b/ash/common/strings/ash_strings_no.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Appoversikt (synkroniserer apper ...)</translation> <translation id="315116470104423982">Mobildata</translation> <translation id="3157169093162779309">Slå på rotasjonslås</translation> -<translation id="3164154768979021380">Avslutter dokket modus</translation> <translation id="3294437725009624529">Gjest</translation> <translation id="3335772982573114336">Nytt notat</translation> <translation id="3364721542077212959">Pekepennverktøy</translation> @@ -144,7 +143,6 @@ <translation id="5548285847212963613">Utvidelsen «<ph name="EXTENSION_NAME" />» kan hjelpe deg med å koble deg til dette nettverket.</translation> <translation id="5571066253365925590">Bluetooth er aktivert</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" /> <ph name="DATE" /></translation> -<translation id="5759815399269068793">Du kan fortsette å bruke din <ph name="DEVICE_TYPE" /> mens den er koblet til en ekstern skjerm – selv når lokket er lukket.</translation> <translation id="5777841717266010279">Vil du stoppe skjermdelingen?</translation> <translation id="57838592816432529">Kutt lyden</translation> <translation id="5825747213122829519">Inndatametoden din er endret til <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> støtter ikke <ph name="SPECIFIED_RESOLUTION" />. Oppløsningen ble endret til <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emoji-palett</translation> -<translation id="7573962313813535744">Dokket modus</translation> <translation id="7581273696622423628">Besvar undersøkelsen</translation> <translation id="7593891976182323525">Søk eller Shift</translation> <translation id="7649070708921625228">Hjelp</translation>
diff --git a/ash/common/strings/ash_strings_pl.xtb b/ash/common/strings/ash_strings_pl.xtb index 061e33c..7cd5be58 100644 --- a/ash/common/strings/ash_strings_pl.xtb +++ b/ash/common/strings/ash_strings_pl.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Menu z aplikacjami (synchronizuję aplikacje...)</translation> <translation id="315116470104423982">Komórkowa transmisja danych</translation> <translation id="3157169093162779309">Włącz blokadę obracania</translation> -<translation id="3164154768979021380">Wyłączam tryb dokowania</translation> <translation id="3294437725009624529">Gość</translation> <translation id="3335772982573114336">Nowa notatka</translation> <translation id="3364721542077212959">Narzędzia rysika</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Rozszerzenie „<ph name="EXTENSION_NAME" />” może ułatwić połączenie z tą siecią.</translation> <translation id="5571066253365925590">Bluetooth włączony</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Możesz nadal korzystać z urządzenia <ph name="DEVICE_TYPE" />, gdy jest podłączone do zewnętrznego monitora, nawet przy zamkniętej pokrywie.</translation> <translation id="5777841717266010279">Zakończyć udostępnianie ekranu?</translation> <translation id="57838592816432529">Wycisz</translation> <translation id="5825747213122829519">Metoda wprowadzania została zmieniona na <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> nie obsługuje <ph name="SPECIFIED_RESOLUTION" />. Zmieniono rozdzielczość na <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta emotikonów</translation> -<translation id="7573962313813535744">Tryb dokowania</translation> <translation id="7581273696622423628">Wypełnij ankietę</translation> <translation id="7593891976182323525">Szukaj lub Shift</translation> <translation id="7649070708921625228">Pomoc</translation>
diff --git a/ash/common/strings/ash_strings_pt-BR.xtb b/ash/common/strings/ash_strings_pt-BR.xtb index 35fcebf..9b95540e 100644 --- a/ash/common/strings/ash_strings_pt-BR.xtb +++ b/ash/common/strings/ash_strings_pt-BR.xtb
@@ -76,7 +76,6 @@ <translation id="3147142846278915599">Tela de início (sincronizando aplicativos...)</translation> <translation id="315116470104423982">Dados do celular</translation> <translation id="3157169093162779309">Ativar bloqueio de rotação</translation> -<translation id="3164154768979021380">Saindo do modo ancorado</translation> <translation id="3294437725009624529">Visitante</translation> <translation id="3335772982573114336">Nova nota</translation> <translation id="3364721542077212959">Ferramentas da stylus</translation> @@ -142,7 +141,6 @@ <translation id="5548285847212963613">A extensão "<ph name="EXTENSION_NAME" />" pode ajudar na conexão com esta rede.</translation> <translation id="5571066253365925590">Bluetooth ativado</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Você pode continuar usando seu <ph name="DEVICE_TYPE" /> enquanto ele estiver conectado a uma tela externa, mesmo com a tampa fechada.</translation> <translation id="5777841717266010279">Interromper compartilhamento de tela?</translation> <translation id="57838592816432529">Desativar som</translation> <translation id="5825747213122829519">Seu método de entrada mudou para <ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> não suporta <ph name="SPECIFIED_RESOLUTION" />. A resolução foi alterada para <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta de emoticons</translation> -<translation id="7573962313813535744">Modo ancorado</translation> <translation id="7581273696622423628">Responder à pesquisa</translation> <translation id="7593891976182323525">Pesquisar ou Shift</translation> <translation id="7649070708921625228">Ajuda</translation>
diff --git a/ash/common/strings/ash_strings_pt-PT.xtb b/ash/common/strings/ash_strings_pt-PT.xtb index c3fbac12..519aa5d2 100644 --- a/ash/common/strings/ash_strings_pt-PT.xtb +++ b/ash/common/strings/ash_strings_pt-PT.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (a sincronizar aplicações...)</translation> <translation id="315116470104423982">Dados móveis</translation> <translation id="3157169093162779309">Ativar o bloqueio de rotação</translation> -<translation id="3164154768979021380">A sair do modo ancorado</translation> <translation id="3294437725009624529">Convidado</translation> <translation id="3335772982573114336">Nova nota</translation> <translation id="3364721542077212959">Ferramentas da caneta stylus</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">A extensão "<ph name="EXTENSION_NAME" />" pode ajudar a estabelecer ligação a esta rede.</translation> <translation id="5571066253365925590">Bluetooth ativado</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Pode continuar a utilizar o <ph name="DEVICE_TYPE" /> enquanto estiver ligado a um monitor externo, mesmo com a tampa fechada.</translation> <translation id="5777841717266010279">Parar a partilha do ecrã?</translation> <translation id="57838592816432529">Desativar som</translation> <translation id="5825747213122829519">O seu método de introdução foi alterado para <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> não suporta <ph name="SPECIFIED_RESOLUTION" />. A resolução foi alterada para <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta de emoji</translation> -<translation id="7573962313813535744">Modo ancorado</translation> <translation id="7581273696622423628">Participar no inquérito</translation> <translation id="7593891976182323525">Pesquisar ou Shift</translation> <translation id="7649070708921625228">Ajuda</translation>
diff --git a/ash/common/strings/ash_strings_ro.xtb b/ash/common/strings/ash_strings_ro.xtb index 8bd2db0..dbedc21f 100644 --- a/ash/common/strings/ash_strings_ro.xtb +++ b/ash/common/strings/ash_strings_ro.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Lansator (se sincronizează aplicațiile...)</translation> <translation id="315116470104423982">Date mobile</translation> <translation id="3157169093162779309">Activează blocarea rotirii</translation> -<translation id="3164154768979021380">Se iese din modul andocat</translation> <translation id="3294437725009624529">Invitat</translation> <translation id="3335772982573114336">Notă nouă</translation> <translation id="3364721542077212959">Instrumente pentru creion</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Extensia „<ph name="EXTENSION_NAME" />” te poate ajuta să te conectezi la această rețea.</translation> <translation id="5571066253365925590">Bluetooth activat</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Poți să folosești în continuare <ph name="DEVICE_TYPE" /> cât timp este conectat la un monitor extern, chiar dacă are capacul închis.</translation> <translation id="5777841717266010279">Oprești permiterea accesului la ecran?</translation> <translation id="57838592816432529">Dezactivează sunetul</translation> <translation id="5825747213122829519">Metoda de introducere s-a schimbat la <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Shift + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> nu acceptă <ph name="SPECIFIED_RESOLUTION" />. Rezoluția a fost modificată la <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paletă cu emoji</translation> -<translation id="7573962313813535744">Modul andocat</translation> <translation id="7581273696622423628">Participă la sondaj</translation> <translation id="7593891976182323525">Căutare sau Shift</translation> <translation id="7649070708921625228">Ajutor</translation>
diff --git a/ash/common/strings/ash_strings_ru.xtb b/ash/common/strings/ash_strings_ru.xtb index c7a4635..4361f97 100644 --- a/ash/common/strings/ash_strings_ru.xtb +++ b/ash/common/strings/ash_strings_ru.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Панель запуска (синхронизация приложений...)</translation> <translation id="315116470104423982">Мобильное подключение</translation> <translation id="3157169093162779309">Включить автоповорот экрана</translation> -<translation id="3164154768979021380">Выход из закрепленного режима…</translation> <translation id="3294437725009624529">Гость</translation> <translation id="3335772982573114336">Новая заметка</translation> <translation id="3364721542077212959">Инструменты стилуса</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Подключиться к этой сети можно с помощью расширения "<ph name="EXTENSION_NAME" />".</translation> <translation id="5571066253365925590">Bluetooth включен</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Вы можете использовать устройство <ph name="DEVICE_TYPE" />, подключенное к внешнему экрану, даже когда оно неактивно.</translation> <translation id="5777841717266010279">Закрыть доступ к экрану?</translation> <translation id="57838592816432529">Отключить звук</translation> <translation id="5825747213122829519">Способ ввода изменен на <ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl + Shift + L</translation> <translation id="7561014039265304140">Дисплей <ph name="DISPLAY_NAME" /> не поддерживает разрешение <ph name="SPECIFIED_RESOLUTION" />. Будет использовано разрешение <ph name="FALLBACK_RESOLUTION" />.</translation> <translation id="7562368315689366235">Меню смайликов</translation> -<translation id="7573962313813535744">Закрепленный режим</translation> <translation id="7581273696622423628">Пройти опрос</translation> <translation id="7593891976182323525">Search или Shift</translation> <translation id="7649070708921625228">Справка</translation>
diff --git a/ash/common/strings/ash_strings_sk.xtb b/ash/common/strings/ash_strings_sk.xtb index 779d659..d34b0ce3 100644 --- a/ash/common/strings/ash_strings_sk.xtb +++ b/ash/common/strings/ash_strings_sk.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Spúšťač (synchronizujú sa aplikácie...)</translation> <translation id="315116470104423982">Mobilné dátové prenosy</translation> <translation id="3157169093162779309">Zapnúť zámku otáčania</translation> -<translation id="3164154768979021380">Ukončuje sa režim v doku</translation> <translation id="3294437725009624529">Hosť</translation> <translation id="3335772982573114336">Nová poznámka</translation> <translation id="3364721542077212959">Nástroje pre dotykové pero</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Rozšírenie <ph name="EXTENSION_NAME" /> vám môže pomôcť pripojiť sa k tejto sieti.</translation> <translation id="5571066253365925590">Rozhranie Bluetooth je povolené</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Pokračujte v používaní zariadenia <ph name="DEVICE_TYPE" /> pripojeného k externej obrazovke, aj keď má zatvorený kryt.</translation> <translation id="5777841717266010279">Chcete ukončiť zdieľanie obrazovky?</translation> <translation id="57838592816432529">Vypnúť zvuk</translation> <translation id="5825747213122829519">Metóda vstupu sa zmenila na <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140">Obrazovka <ph name="DISPLAY_NAME" /> nepodporuje rozlíšenie <ph name="SPECIFIED_RESOLUTION" />. Rozlíšenie bolo zmenené na <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta emodži</translation> -<translation id="7573962313813535744">Režim v doku</translation> <translation id="7581273696622423628">Zúčastniť sa prieskumu</translation> <translation id="7593891976182323525">Hľadať alebo Shift</translation> <translation id="7649070708921625228">Pomocník</translation>
diff --git a/ash/common/strings/ash_strings_sl.xtb b/ash/common/strings/ash_strings_sl.xtb index 16a724b..86934f5f 100644 --- a/ash/common/strings/ash_strings_sl.xtb +++ b/ash/common/strings/ash_strings_sl.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Zaganjalnik (sinhronizacija aplikacij ...)</translation> <translation id="315116470104423982">Prenos podatkov v mobilnih omrežjih</translation> <translation id="3157169093162779309">Omogočanje zaklepanja sukanja</translation> -<translation id="3164154768979021380">Izhod iz načina v nosilcu</translation> <translation id="3294437725009624529">Gost</translation> <translation id="3335772982573114336">Nov zapisek</translation> <translation id="3364721542077212959">Orodja pisala</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Razširitev »<ph name="EXTENSION_NAME" />« lahko pomaga vzpostavi povezavo s tem omrežjem.</translation> <translation id="5571066253365925590">Bluetooth omogočen</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Medtem ko je naprava <ph name="DEVICE_TYPE" /> povezana z zunanjim zaslonom, jo lahko uporabljate tudi z zaprtim zaslonom.</translation> <translation id="5777841717266010279">Želite ustaviti skupno rabo zaslona?</translation> <translation id="57838592816432529">Izklopi zvok</translation> <translation id="5825747213122829519">Način vnosa se je spremenil v <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Shift + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ne podpira ločljivosti <ph name="SPECIFIED_RESOLUTION" />. Spremenjena je bila na <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Paleta znakov »emoji«</translation> -<translation id="7573962313813535744">Zasidran način</translation> <translation id="7581273696622423628">Izpolnjevanje ankete</translation> <translation id="7593891976182323525">Iskanje ali Shift</translation> <translation id="7649070708921625228">Pomoč</translation>
diff --git a/ash/common/strings/ash_strings_sr.xtb b/ash/common/strings/ash_strings_sr.xtb index 8e8ce3b..530cdd4 100644 --- a/ash/common/strings/ash_strings_sr.xtb +++ b/ash/common/strings/ash_strings_sr.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Покретач (апликације се синхронизују...)</translation> <translation id="315116470104423982">Подаци за мобилне уређаје</translation> <translation id="3157169093162779309">Омогући закључавање ротације</translation> -<translation id="3164154768979021380">Излазак из режим са базном станицом</translation> <translation id="3294437725009624529">Гост</translation> <translation id="3335772982573114336">Нова белешка</translation> <translation id="3364721542077212959">Алатке за писаљку</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Додатак „<ph name="EXTENSION_NAME" />“ може да помогне у повезивању са овом мрежом.</translation> <translation id="5571066253365925590">Bluetooth је омогућен</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" /> <ph name="DATE" /></translation> -<translation id="5759815399269068793">Можете да наставите да користите <ph name="DEVICE_TYPE" /> док је повезан са спољним екраном, чак и када је поклопац затворен.</translation> <translation id="5777841717266010279">Желите ли да прекинете дељење екрана?</translation> <translation id="57838592816432529">Искључи звук</translation> <translation id="5825747213122829519">Метод уноса је промењен у <ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> не подржава <ph name="SPECIFIED_RESOLUTION" />. Резолуција је промењена на <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Палета емоџија</translation> -<translation id="7573962313813535744">Режим са базном станицом</translation> <translation id="7581273696622423628">Прикажи анкету</translation> <translation id="7593891976182323525">Тастер за претрагу или Shift</translation> <translation id="7649070708921625228">Помоћ</translation>
diff --git a/ash/common/strings/ash_strings_sv.xtb b/ash/common/strings/ash_strings_sv.xtb index 8b3c80b..9c467af2 100644 --- a/ash/common/strings/ash_strings_sv.xtb +++ b/ash/common/strings/ash_strings_sv.xtb
@@ -76,7 +76,6 @@ <translation id="3147142846278915599">Översikt (appar synkroniseras …)</translation> <translation id="315116470104423982">Mobildata</translation> <translation id="3157169093162779309">Aktivera rotationslås</translation> -<translation id="3164154768979021380">Dockat läge avslutas</translation> <translation id="3294437725009624529">Gäst</translation> <translation id="3335772982573114336">Ny anteckning</translation> <translation id="3364721542077212959">Verktyg för e-penna</translation> @@ -142,7 +141,6 @@ <translation id="5548285847212963613">Tillägget <ph name="EXTENSION_NAME" /> kan hjälpa till med att ansluta till nätverket.</translation> <translation id="5571066253365925590">Bluetooth aktiverad</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Du kan fortsätta använda din <ph name="DEVICE_TYPE" /> så länge den är ansluten till en extern skärm, även om du stänger locket.</translation> <translation id="5777841717266010279">Vill du avbryta skärmdelningen?</translation> <translation id="57838592816432529">Stäng av ljudet</translation> <translation id="5825747213122829519">Inmatningsmetoden har ändrats till <ph name="INPUT_METHOD_ID" />. @@ -211,7 +209,6 @@ <translation id="7510334386202674593">Ctrl+Skift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> har inte stöd för <ph name="SPECIFIED_RESOLUTION" />. Upplösningen ändrades till <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Emoji-palett</translation> -<translation id="7573962313813535744">Dockat läge</translation> <translation id="7581273696622423628">Svara på enkäten</translation> <translation id="7593891976182323525">Sök eller Skift</translation> <translation id="7649070708921625228">Hjälp</translation>
diff --git a/ash/common/strings/ash_strings_sw.xtb b/ash/common/strings/ash_strings_sw.xtb index 70f3e8b2..5c08148 100644 --- a/ash/common/strings/ash_strings_sw.xtb +++ b/ash/common/strings/ash_strings_sw.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Kifungua programu (inasawazisha programu...)</translation> <translation id="315116470104423982">Data ya simu</translation> <translation id="3157169093162779309">Washa kufuli la kuzungusha</translation> -<translation id="3164154768979021380">Kinaondoka kwenye hali ya kuchajiwa</translation> <translation id="3294437725009624529">Mgeni</translation> <translation id="3335772982573114336">Kidokezo kipya</translation> <translation id="3364721542077212959">Zana za stylus</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Kiendelezi "<ph name="EXTENSION_NAME" />" kinaweza kusaidia kuunganisha kwenye mtandao huu.</translation> <translation id="5571066253365925590">Bluetooth imewezeshwa</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Unaweza kuendelea kutumia kifaa chako cha <ph name="DEVICE_TYPE" /> kikiwa kimeunganishwa kwenye onyesho la nje, hata kifuniko kikiwa kimefungwa.</translation> <translation id="5777841717266010279">Je,ungependa kuacha kushiriki skrini?</translation> <translation id="57838592816432529">Zima sauti</translation> <translation id="5825747213122829519">Mbinu ingizo yako imebadilika hadi <ph name="INPUT_METHOD_ID" />. @@ -212,7 +210,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> haitumiki kwa <ph name="SPECIFIED_RESOLUTION" />. Ubora ulibadilishwa hadi <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Safu ya emoji</translation> -<translation id="7573962313813535744">Hali ya kituo</translation> <translation id="7581273696622423628">Shiriki katika utafiti</translation> <translation id="7593891976182323525">Utafutaji au Hama</translation> <translation id="7649070708921625228">Usaidizi</translation>
diff --git a/ash/common/strings/ash_strings_ta.xtb b/ash/common/strings/ash_strings_ta.xtb index cb98647..6619ffe 100644 --- a/ash/common/strings/ash_strings_ta.xtb +++ b/ash/common/strings/ash_strings_ta.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">துவக்கி (பயன்பாடுகளை ஒத்திசைக்கிறது...)</translation> <translation id="315116470104423982">மொபைல் தரவு</translation> <translation id="3157169093162779309">சுழற்றல் பூட்டை இயக்கு</translation> -<translation id="3164154768979021380">டாக் செய்யப்பட்ட பயன்முறையிலிருந்து வெளியேறுகிறது</translation> <translation id="3294437725009624529">விருந்தினர்</translation> <translation id="3335772982573114336">புதிய குறிப்பு</translation> <translation id="3364721542077212959">ஸ்டைலஸ் கருவிகள்</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">இந்த நெட்வொர்க்குடன் இணைய, "<ph name="EXTENSION_NAME" />" நீட்டிப்பு உதவும்.</translation> <translation id="5571066253365925590">புளூடூத் இயக்கப்பட்டது</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">உங்கள் <ph name="DEVICE_TYPE" />, வெளிப்புறத் திரையுடன் இணைக்கப்பட்டிருக்கும் போது, மூடி மூடப்பட்டிருந்தாலும் சாதனத்தை நீங்கள் தொடர்ந்து பயன்படுத்தலாம்.</translation> <translation id="5777841717266010279">திரைப் பகிர்வதை நிறுத்தவா?</translation> <translation id="57838592816432529">ஒலியடக்கு</translation> <translation id="5825747213122829519">உங்கள் உள்ளீட்டு முறையானது <ph name="INPUT_METHOD_ID" /> க்கு மாற்றப்பட்டது. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="SPECIFIED_RESOLUTION" /> ஐ <ph name="DISPLAY_NAME" /> ஆதரிக்கவில்லை. <ph name="FALLBACK_RESOLUTION" /> க்குத் தெளிவு மாற்றப்பட்டது</translation> <translation id="7562368315689366235">ஈமொஜி தட்டு</translation> -<translation id="7573962313813535744">டாக் செய்யப்பட்ட பயன்முறை</translation> <translation id="7581273696622423628">கருத்துக்கணிப்பைத் தொடங்கு</translation> <translation id="7593891976182323525">Search அல்லது Shift</translation> <translation id="7649070708921625228">உதவி</translation>
diff --git a/ash/common/strings/ash_strings_te.xtb b/ash/common/strings/ash_strings_te.xtb index 2462a19..888d0a1 100644 --- a/ash/common/strings/ash_strings_te.xtb +++ b/ash/common/strings/ash_strings_te.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">లాంచర్ (అనువర్తనాలను సమకాలీకరిస్తోంది...)</translation> <translation id="315116470104423982">మొబైల్ డేటా</translation> <translation id="3157169093162779309">రొటేషన్ లాక్ను ప్రారంభించండి</translation> -<translation id="3164154768979021380">డాక్ చేయబడిన మోడ్ నుండి నిష్క్రమిస్తోంది</translation> <translation id="3294437725009624529">అతిథి</translation> <translation id="3335772982573114336">కొత్త గమనిక</translation> <translation id="3364721542077212959">స్టైలస్ సాధనాలు</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">"<ph name="EXTENSION_NAME" />" పొడిగింపు ఈ నెట్వర్క్కు కనెక్ట్ చేయడంలో సహాయపడగలదు.</translation> <translation id="5571066253365925590">Bluetooth ప్రారంభించబడింది</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">మీరు మీ <ph name="DEVICE_TYPE" />ను బాహ్య డిస్ప్లేకి కనెక్ట్ చేసినప్పుడు దాని మూత మూసివేసినప్పటికీ ఉపయోగించడం కొనసాగించవచ్చు.</translation> <translation id="5777841717266010279">స్క్రీన్ భాగస్వామ్యాన్ని ఆపివేయాలా?</translation> <translation id="57838592816432529">మ్యూట్ చేయి</translation> <translation id="5825747213122829519">మీ ఇన్పుట్ పద్ధతి <ph name="INPUT_METHOD_ID" />కు మార్చబడింది. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />కి మద్దతివ్వదు. రిజల్యూషన్ <ph name="FALLBACK_RESOLUTION" />కి మార్చబడింది</translation> <translation id="7562368315689366235">ఎమోజీ ఫలకం</translation> -<translation id="7573962313813535744">డాక్ చేయబడిన మోడ్</translation> <translation id="7581273696622423628">సర్వేలో పాల్గొనండి</translation> <translation id="7593891976182323525">Search లేదా Shift</translation> <translation id="7649070708921625228">సహాయం</translation>
diff --git a/ash/common/strings/ash_strings_th.xtb b/ash/common/strings/ash_strings_th.xtb index a2e75c94..0607d10 100644 --- a/ash/common/strings/ash_strings_th.xtb +++ b/ash/common/strings/ash_strings_th.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (กำลังซิงค์แอป...)</translation> <translation id="315116470104423982">ข้อมูลมือถือ</translation> <translation id="3157169093162779309">เปิดใช้ล็อกการหมุน</translation> -<translation id="3164154768979021380">กำลังออกจากโหมดเชื่อมต่อแท่นชาร์จ</translation> <translation id="3294437725009624529">ผู้มาเยือน</translation> <translation id="3335772982573114336">โน้ตใหม่</translation> <translation id="3364721542077212959">เครื่องมือสไตลัส</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">ส่วนขยาย "<ph name="EXTENSION_NAME" />" สามารถช่วยในการเชื่อมต่อเครือข่ายนี้</translation> <translation id="5571066253365925590">เปิดใช้งานบลูทูธแล้ว</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">คุณสามารถใช้ <ph name="DEVICE_TYPE" /> ได้ต่อไปขณะที่เครื่องเชื่อมต่อกับจอแสดงผลภายนอก แม้ว่าฝาจะปิดอยู่</translation> <translation id="5777841717266010279">ต้องการหยุดแชร์หน้าจอไหม</translation> <translation id="57838592816432529">ปิดเสียง</translation> <translation id="5825747213122829519">วิธีการป้อนข้อมูลของคุณเปลี่ยนแปลงเป็น <ph name="INPUT_METHOD_ID" /> แล้ว @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ไม่สนับสนุน <ph name="SPECIFIED_RESOLUTION" /> ความละเอียดเปลี่ยนเป็น <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">ชุดอีโมจิ</translation> -<translation id="7573962313813535744">โหมดเชื่อมต่อแท่นชาร์จ</translation> <translation id="7581273696622423628">ตอบแบบสำรวจ</translation> <translation id="7593891976182323525">ค้นหาหรือ Shift</translation> <translation id="7649070708921625228">ช่วยเหลือ</translation>
diff --git a/ash/common/strings/ash_strings_tr.xtb b/ash/common/strings/ash_strings_tr.xtb index 779bc23..457d34eb 100644 --- a/ash/common/strings/ash_strings_tr.xtb +++ b/ash/common/strings/ash_strings_tr.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Launcher (uygulamalar senkronize ediliyor...)</translation> <translation id="315116470104423982">Mobil veriler</translation> <translation id="3157169093162779309">Döndürme kilidini etkinleştir</translation> -<translation id="3164154768979021380">Yuva modundan çıkılıyor</translation> <translation id="3294437725009624529">Misafir</translation> <translation id="3335772982573114336">Yeni not</translation> <translation id="3364721542077212959">Ekran kalemi araçları</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">"<ph name="EXTENSION_NAME" />" uzantısı bu ağa bağlanmaya yardımcı olabilir.</translation> <translation id="5571066253365925590">Bluetooth etkin</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Kapağı kapalı olsa da <ph name="DEVICE_TYPE" /> cihazınızı harici bir ekrana bağlı iken kullanmaya devam edebilirsiniz.</translation> <translation id="5777841717266010279">Ekran paylaşma durdurulsun mu?</translation> <translation id="57838592816432529">Sesi kapat</translation> <translation id="5825747213122829519">Giriş yönteminiz <ph name="INPUT_METHOD_ID" /> olarak değiştirildi. @@ -214,7 +212,6 @@ <translation id="7510334386202674593">Ctrl + Üst Karakter + L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> çözünürlüğünü desteklemiyor. Çözünürlük <ph name="FALLBACK_RESOLUTION" /> olarak değiştirildi</translation> <translation id="7562368315689366235">Emoji paleti</translation> -<translation id="7573962313813535744">Yuva modu</translation> <translation id="7581273696622423628">Ankete katıl</translation> <translation id="7593891976182323525">Arama veya Üst Karakter</translation> <translation id="7649070708921625228">Yardım</translation>
diff --git a/ash/common/strings/ash_strings_uk.xtb b/ash/common/strings/ash_strings_uk.xtb index 9118214..e7d7050 100644 --- a/ash/common/strings/ash_strings_uk.xtb +++ b/ash/common/strings/ash_strings_uk.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Панель запуску (синхронізація додатків…)</translation> <translation id="315116470104423982">Мобільне передавання даних</translation> <translation id="3157169093162779309">Заблокувати обертання</translation> -<translation id="3164154768979021380">Вихід із режиму док-станції</translation> <translation id="3294437725009624529">Гість</translation> <translation id="3335772982573114336">Нова нотатка</translation> <translation id="3364721542077212959">Інструменти стилуса</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">За допомогою розширення <ph name="EXTENSION_NAME" /> можна під’єднуватися до цієї мережі.</translation> <translation id="5571066253365925590">Bluetooth увімкнено</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Ви можете користуватися пристроєм <ph name="DEVICE_TYPE" />, коли він під’єднаний до зовнішнього екрана, навіть якщо кришку закрито.</translation> <translation id="5777841717266010279">Скасувати спільний доступ до екрана?</translation> <translation id="57838592816432529">Вимкнути звук</translation> <translation id="5825747213122829519">Метод введення змінено на <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140">Екран <ph name="DISPLAY_NAME" /> не підтримує роздільну здатність <ph name="SPECIFIED_RESOLUTION" />. Роздільну здатність змінено на <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Смайли</translation> -<translation id="7573962313813535744">Режим док-станції</translation> <translation id="7581273696622423628">Відповісти на запитання</translation> <translation id="7593891976182323525">Клавіша пошуку або Shift</translation> <translation id="7649070708921625228">Довідка</translation>
diff --git a/ash/common/strings/ash_strings_vi.xtb b/ash/common/strings/ash_strings_vi.xtb index dd80955..ef2c576 100644 --- a/ash/common/strings/ash_strings_vi.xtb +++ b/ash/common/strings/ash_strings_vi.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">Trình khởi chạy (đang đồng bộ hóa ứng dụng...)</translation> <translation id="315116470104423982">Dữ liệu di động</translation> <translation id="3157169093162779309">Bật khóa xoay</translation> -<translation id="3164154768979021380">Đang thoát chế độ được gắn đế</translation> <translation id="3294437725009624529">Khách</translation> <translation id="3335772982573114336">Ghi chú mới</translation> <translation id="3364721542077212959">Công cụ bút cảm ứng</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">Tiện ích "<ph name="EXTENSION_NAME" />" có thể giúp kết nối với mạng này.</translation> <translation id="5571066253365925590">Đã bật bluetooth</translation> <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation> -<translation id="5759815399269068793">Bạn có thể tiếp tục sử dụng <ph name="DEVICE_TYPE" /> sau khi kết nối thiết bị này với màn hình bên ngoài, ngay cả khi nắp đóng.</translation> <translation id="5777841717266010279">Bạn muốn dừng chia sẻ màn hình?</translation> <translation id="57838592816432529">Tắt tiếng</translation> <translation id="5825747213122829519">Phương thức nhập của bạn đã thay đổi thành <ph name="INPUT_METHOD_ID" />. @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> không hỗ trợ <ph name="SPECIFIED_RESOLUTION" />. Độ phân giải đã được thay đổi thành <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">Bảng màu biểu tượng cảm xúc</translation> -<translation id="7573962313813535744">Chế độ được gắn đế</translation> <translation id="7581273696622423628">Thực hiện khảo sát</translation> <translation id="7593891976182323525">Search hoặc Shift</translation> <translation id="7649070708921625228">Trợ giúp</translation>
diff --git a/ash/common/strings/ash_strings_zh-CN.xtb b/ash/common/strings/ash_strings_zh-CN.xtb index 34badb9..cf997fb 100644 --- a/ash/common/strings/ash_strings_zh-CN.xtb +++ b/ash/common/strings/ash_strings_zh-CN.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">启动器(正在同步应用…)</translation> <translation id="315116470104423982">移动数据</translation> <translation id="3157169093162779309">启用旋转锁定</translation> -<translation id="3164154768979021380">正在退出停靠模式</translation> <translation id="3294437725009624529">访客</translation> <translation id="3335772982573114336">新建记事</translation> <translation id="3364721542077212959">触控笔工具</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">扩展程序“<ph name="EXTENSION_NAME" />”可帮助连接到此网络。</translation> <translation id="5571066253365925590">蓝牙已启用</translation> <translation id="5597451508971090205"><ph name="DATE" /><ph name="SHORT_WEEKDAY" /></translation> -<translation id="5759815399269068793"><ph name="DEVICE_TYPE" /> 连接到外接显示器时,即使合上盖子,也可继续使用。</translation> <translation id="5777841717266010279">要停止屏幕共享吗?</translation> <translation id="57838592816432529">静音</translation> <translation id="5825747213122829519">您的输入法已更改为“<ph name="INPUT_METHOD_ID" />”。 @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl+Shift+L</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />不支持<ph name="SPECIFIED_RESOLUTION" />。分辨率已改为<ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">表情符号面板</translation> -<translation id="7573962313813535744">停靠模式</translation> <translation id="7581273696622423628">参与调查</translation> <translation id="7593891976182323525">搜索键或 Shift</translation> <translation id="7649070708921625228">帮助</translation>
diff --git a/ash/common/strings/ash_strings_zh-TW.xtb b/ash/common/strings/ash_strings_zh-TW.xtb index da09317..f5be1f1 100644 --- a/ash/common/strings/ash_strings_zh-TW.xtb +++ b/ash/common/strings/ash_strings_zh-TW.xtb
@@ -77,7 +77,6 @@ <translation id="3147142846278915599">啟動器 (正在同步處理應用程式...)</translation> <translation id="315116470104423982">行動數據</translation> <translation id="3157169093162779309">啟用旋轉鎖定</translation> -<translation id="3164154768979021380">退出停駐模式</translation> <translation id="3294437725009624529">訪客</translation> <translation id="3335772982573114336">新增記事</translation> <translation id="3364721542077212959">觸控筆工具</translation> @@ -143,7 +142,6 @@ <translation id="5548285847212963613">「<ph name="EXTENSION_NAME" />」擴充功能可協助連線至這個網路。</translation> <translation id="5571066253365925590">藍牙已啟用</translation> <translation id="5597451508971090205"><ph name="DATE" /><ph name="SHORT_WEEKDAY" /></translation> -<translation id="5759815399269068793"><ph name="DEVICE_TYPE" /> 連接外接螢幕時仍可持續使用 (即使蓋上機蓋)。</translation> <translation id="5777841717266010279">停止共用螢幕?</translation> <translation id="57838592816432529">靜音</translation> <translation id="5825747213122829519">您的輸入法已變更為 <ph name="INPUT_METHOD_ID" />。 @@ -213,7 +211,6 @@ <translation id="7510334386202674593">Ctrl + Shift + L 鍵</translation> <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> 不支援 <ph name="SPECIFIED_RESOLUTION" />,解析度已變更為 <ph name="FALLBACK_RESOLUTION" /></translation> <translation id="7562368315689366235">表情符號面板</translation> -<translation id="7573962313813535744">停駐模式</translation> <translation id="7581273696622423628">填寫問卷</translation> <translation id="7593891976182323525">搜尋鍵或 Shift 鍵</translation> <translation id="7649070708921625228">說明</translation>
diff --git a/ash/shelf/shelf_view_unittest.cc b/ash/shelf/shelf_view_unittest.cc index 01d7681..896586f9 100644 --- a/ash/shelf/shelf_view_unittest.cc +++ b/ash/shelf/shelf_view_unittest.cc
@@ -2985,6 +2985,11 @@ // Tests ink drop state transitions for the overflow button when it is active // and the user long presses on the button to show the context menu. TEST_F(OverflowButtonActiveInkDropTest, TouchContextMenu) { + // TODO: investigate failure in mash, http://crbug.com/695751. Note, that this + // one is a bit flaky. Some times it passes with mash, other times not. + if (WmShell::Get()->IsRunningInMash()) + return; + ui::test::EventGenerator& generator = GetEventGenerator(); generator.set_current_location(GetScreenPointInsideOverflowButton()); base::ScopedMockTimeMessageLoopTaskRunner mock_task_runner;
diff --git a/base/BUILD.gn b/base/BUILD.gn index c9bb0ea..366aba9 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn
@@ -1319,19 +1319,12 @@ "allocator/partition_allocator/page_allocator.h", "allocator/partition_allocator/partition_alloc.cc", "allocator/partition_allocator/partition_alloc.h", + "allocator/partition_allocator/spin_lock.cc", + "allocator/partition_allocator/spin_lock.h", ] } } - # SpinLock uses inline assembly that doesn't work on NaCl, and for which there - # is no code for ARMv6. - if (!is_nacl && (current_cpu != "arm" || arm_version >= 7)) { - sources += [ - "synchronization/spin_lock.cc", - "synchronization/spin_lock.h", - ] - } - # Windows. if (is_win) { sources += [
diff --git a/base/allocator/partition_allocator/address_space_randomization.cc b/base/allocator/partition_allocator/address_space_randomization.cc index 1be5baf..d710e00 100644 --- a/base/allocator/partition_allocator/address_space_randomization.cc +++ b/base/allocator/partition_allocator/address_space_randomization.cc
@@ -5,7 +5,7 @@ #include "base/allocator/partition_allocator/address_space_randomization.h" #include "base/allocator/partition_allocator/page_allocator.h" -#include "base/synchronization/spin_lock.h" +#include "base/allocator/partition_allocator/spin_lock.h" #include "build/build_config.h" #if defined(OS_WIN)
diff --git a/base/allocator/partition_allocator/partition_alloc.cc b/base/allocator/partition_allocator/partition_alloc.cc index 5380cced..eb4c6390 100644 --- a/base/allocator/partition_allocator/partition_alloc.cc +++ b/base/allocator/partition_allocator/partition_alloc.cc
@@ -7,8 +7,8 @@ #include <string.h> #include "base/allocator/partition_allocator/oom.h" +#include "base/allocator/partition_allocator/spin_lock.h" #include "base/compiler_specific.h" -#include "base/synchronization/spin_lock.h" // Two partition pages are used as guard / metadata page so make sure the super // page size is bigger.
diff --git a/base/allocator/partition_allocator/partition_alloc.h b/base/allocator/partition_allocator/partition_alloc.h index 15a501ae..a3ff90e 100644 --- a/base/allocator/partition_allocator/partition_alloc.h +++ b/base/allocator/partition_allocator/partition_alloc.h
@@ -62,10 +62,10 @@ #include <limits.h> #include "base/allocator/partition_allocator/page_allocator.h" +#include "base/allocator/partition_allocator/spin_lock.h" #include "base/bits.h" #include "base/compiler_specific.h" #include "base/logging.h" -#include "base/synchronization/spin_lock.h" #include "base/sys_byteorder.h" #include "build/build_config.h"
diff --git a/base/synchronization/spin_lock.cc b/base/allocator/partition_allocator/spin_lock.cc similarity index 97% rename from base/synchronization/spin_lock.cc rename to base/allocator/partition_allocator/spin_lock.cc index 531d7985..f3958fbe 100644 --- a/base/synchronization/spin_lock.cc +++ b/base/allocator/partition_allocator/spin_lock.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/synchronization/spin_lock.h" +#include "base/allocator/partition_allocator/spin_lock.h" #if defined(OS_WIN) #include <windows.h>
diff --git a/base/synchronization/spin_lock.h b/base/allocator/partition_allocator/spin_lock.h similarity index 89% rename from base/synchronization/spin_lock.h rename to base/allocator/partition_allocator/spin_lock.h index cf44414d..300a5df 100644 --- a/base/synchronization/spin_lock.h +++ b/base/allocator/partition_allocator/spin_lock.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef BASE_SYNCHRONIZATION_SPIN_LOCK_H -#define BASE_SYNCHRONIZATION_SPIN_LOCK_H +#ifndef BASE_ALLOCATOR_PARTITION_ALLOCATOR_SPIN_LOCK_H +#define BASE_ALLOCATOR_PARTITION_ALLOCATOR_SPIN_LOCK_H #include <atomic> #include <memory> @@ -49,4 +49,4 @@ } // namespace subtle } // namespace base -#endif // BASE_SYNCHRONIZATION_SPIN_LOCK_H +#endif // BASE_ALLOCATOR_PARTITION_ALLOCATOR_SPIN_LOCK_H
diff --git a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java index b4b1c02..4a21616 100644 --- a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java +++ b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
@@ -415,13 +415,7 @@ */ public static void setStatusBarColor(Window window, int statusBarColor) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - // If both system bars are black, we can remove these from our layout, - // removing or shrinking the SurfaceFlinger overlay required for our views. - if (statusBarColor == Color.BLACK && window.getNavigationBarColor() == Color.BLACK) { - window.clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - } else { - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - } + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(statusBarColor); } }
diff --git a/base/mac/sdk_forward_declarations.h b/base/mac/sdk_forward_declarations.h index c636b34..7ea7829d 100644 --- a/base/mac/sdk_forward_declarations.h +++ b/base/mac/sdk_forward_declarations.h
@@ -142,6 +142,10 @@ @class CIQRCodeFeature; +@interface NSView (YosemiteSDK) +- (BOOL)isAccessibilitySelectorAllowed:(SEL)selector; +@end + #endif // MAC_OS_X_VERSION_10_10 // Once Chrome no longer supports OSX 10.10.2, everything within this @@ -149,11 +153,11 @@ #if !defined(MAC_OS_X_VERSION_10_10_3) || \ MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10_3 -@interface NSEvent (YosemiteSDK) +@interface NSEvent (Yosemite_3_SDK) @property(readonly) NSInteger stage; @end -@interface NSView (YosemiteSDK) +@interface NSView (Yosemite_3_SDK) - (void)setPressureConfiguration:(NSPressureConfiguration*)aConfiguration; @end
diff --git a/base/profiler/stack_sampling_profiler.cc b/base/profiler/stack_sampling_profiler.cc index f294251..fa98bed 100644 --- a/base/profiler/stack_sampling_profiler.cc +++ b/base/profiler/stack_sampling_profiler.cc
@@ -262,14 +262,6 @@ subtle::Atomic32 StackSamplingProfiler::process_milestones_ = 0; -StackSamplingProfiler::SamplingParams::SamplingParams() - : initial_delay(TimeDelta::FromMilliseconds(0)), - bursts(1), - burst_interval(TimeDelta::FromMilliseconds(10000)), - samples_per_burst(300), - sampling_interval(TimeDelta::FromMilliseconds(100)) { -} - StackSamplingProfiler::StackSamplingProfiler( PlatformThreadId thread_id, const SamplingParams& params,
diff --git a/base/profiler/stack_sampling_profiler.h b/base/profiler/stack_sampling_profiler.h index 622f6e5..b5aa0c5 100644 --- a/base/profiler/stack_sampling_profiler.h +++ b/base/profiler/stack_sampling_profiler.h
@@ -161,25 +161,22 @@ // Represents parameters that configure the sampling. struct BASE_EXPORT SamplingParams { - SamplingParams(); + // Time to delay before first samples are taken. + TimeDelta initial_delay = TimeDelta::FromMilliseconds(0); - // Time to delay before first samples are taken. Defaults to 0. - TimeDelta initial_delay; - - // Number of sampling bursts to perform. Defaults to 1. - int bursts; + // Number of sampling bursts to perform. + int bursts = 1; // Interval between sampling bursts. This is the desired duration from the - // start of one burst to the start of the next burst. Defaults to 10s. - TimeDelta burst_interval; + // start of one burst to the start of the next burst. + TimeDelta burst_interval = TimeDelta::FromSeconds(10); - // Number of samples to record per burst. Defaults to 300. - int samples_per_burst; + // Number of samples to record per burst. + int samples_per_burst = 300; // Interval between samples during a sampling burst. This is the desired - // duration from the start of one sample to the start of the next - // sample. Defaults to 100ms. - TimeDelta sampling_interval; + // duration from the start of one sample to the start of the next sample. + TimeDelta sampling_interval = TimeDelta::FromMilliseconds(100); }; // The callback type used to collect completed profiles. The passed |profiles|
diff --git a/build/config/sanitizers/sanitizers.gni b/build/config/sanitizers/sanitizers.gni index dbf90531..2a91c3d 100644 --- a/build/config/sanitizers/sanitizers.gni +++ b/build/config/sanitizers/sanitizers.gni
@@ -140,7 +140,7 @@ asan_globals = !is_mac } -if (use_afl && sanitizer_coverage_flags == "") { +if ((use_afl || use_libfuzzer) && sanitizer_coverage_flags == "") { sanitizer_coverage_flags = "trace-pc-guard" } else if (use_sanitizer_coverage && sanitizer_coverage_flags == "") { sanitizer_coverage_flags = "edge,indirect-calls,8bit-counters"
diff --git a/cc/BUILD.gn b/cc/BUILD.gn index 4ca2f28..e0d8f256 100644 --- a/cc/BUILD.gn +++ b/cc/BUILD.gn
@@ -216,6 +216,8 @@ "output/overlay_strategy_single_on_top.h", "output/overlay_strategy_underlay.cc", "output/overlay_strategy_underlay.h", + "output/overlay_strategy_underlay_cast.cc", + "output/overlay_strategy_underlay_cast.h", "output/program_binding.cc", "output/program_binding.h", "output/render_surface_filters.cc",
diff --git a/cc/output/direct_renderer.cc b/cc/output/direct_renderer.cc index d74f11dc..c059196 100644 --- a/cc/output/direct_renderer.cc +++ b/cc/output/direct_renderer.cc
@@ -308,7 +308,8 @@ resource_provider_, root_render_pass, render_pass_filters_, render_pass_background_filters_, ¤t_frame()->overlay_list, ¤t_frame()->ca_layer_overlay_list, - ¤t_frame()->root_damage_rect); + ¤t_frame()->root_damage_rect, + ¤t_frame()->root_content_bounds); // We can skip all drawing if the damage rect is now empty. bool skip_drawing_root_render_pass =
diff --git a/cc/output/direct_renderer.h b/cc/output/direct_renderer.h index c7a0b5e..623c7e7 100644 --- a/cc/output/direct_renderer.h +++ b/cc/output/direct_renderer.h
@@ -81,6 +81,7 @@ const ScopedResource* current_texture = nullptr; gfx::Rect root_damage_rect; + std::vector<gfx::Rect> root_content_bounds; gfx::Size device_viewport_size; gfx::Transform projection_matrix;
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc index 5e99266..1eac5f8 100644 --- a/cc/output/gl_renderer.cc +++ b/cc/output/gl_renderer.cc
@@ -402,6 +402,7 @@ use_blend_equation_advanced_coherent_ = context_caps.blend_equation_advanced_coherent; use_occlusion_query_ = context_caps.occlusion_query; + use_swap_with_bounds_ = context_caps.swap_buffers_with_bounds; InitializeSharedObjects(); } @@ -417,6 +418,8 @@ } bool GLRenderer::CanPartialSwap() { + if (use_swap_with_bounds_) + return false; auto* context_provider = output_surface_->context_provider(); return context_provider->ContextCapabilities().post_sub_buffer; } @@ -2591,7 +2594,9 @@ OutputSurfaceFrame output_frame; output_frame.latency_info = std::move(latency_info); output_frame.size = surface_size; - if (use_partial_swap_) { + if (use_swap_with_bounds_) { + output_frame.content_bounds = current_frame()->root_content_bounds; + } else if (use_partial_swap_) { // If supported, we can save significant bandwidth by only swapping the // damaged/scissored region (clamped to the viewport). swap_buffer_rect_.Intersect(gfx::Rect(surface_size));
diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h index 2a0ce1c..3613076 100644 --- a/cc/output/gl_renderer.h +++ b/cc/output/gl_renderer.h
@@ -337,6 +337,8 @@ bool use_sync_query_ = false; bool use_blend_equation_advanced_ = false; bool use_blend_equation_advanced_coherent_ = false; + bool use_occlusion_query_ = false; + bool use_swap_with_bounds_ = false; // Some overlays require that content is copied from a render pass into an // overlay resource. This means the GLRenderer needs its own ResourcePool. @@ -355,7 +357,6 @@ BoundGeometry bound_geometry_; ColorLUTCache color_lut_cache_; - bool use_occlusion_query_; unsigned offscreen_stencil_renderbuffer_id_ = 0; gfx::Size offscreen_stencil_renderbuffer_size_;
diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc index 477d67f2..d7bf09e3 100644 --- a/cc/output/gl_renderer_unittest.cc +++ b/cc/output/gl_renderer_unittest.cc
@@ -74,6 +74,7 @@ #define EXPECT_PROGRAM_VALID(program_binding) \ do { \ + ASSERT_TRUE(program_binding); \ EXPECT_TRUE((program_binding)->program()); \ EXPECT_TRUE((program_binding)->initialized()); \ } while (false) @@ -1052,7 +1053,7 @@ EXPECT_FALSE(renderer.use_partial_swap()); renderer.SetVisible(true); - gfx::Size viewport_size(1, 1); + gfx::Size viewport_size(100, 100); gfx::Rect grand_child_rect(25, 25); int grand_child_pass_id = 3; @@ -1231,7 +1232,7 @@ } TEST_F(GLRendererShaderTest, DrawRenderPassQuadShaderPermutations) { - gfx::Size viewport_size(1, 1); + gfx::Size viewport_size(60, 75); gfx::Rect child_rect(50, 50); int child_pass_id = 2; @@ -1443,7 +1444,7 @@ int child_pass_id = 2; RenderPass* child_pass; - gfx::Size viewport_size(1, 1); + gfx::Size viewport_size(100, 100); int root_pass_id = 1; RenderPass* root_pass; @@ -1625,10 +1626,11 @@ public: Strategy() {} ~Strategy() override {} - MOCK_METHOD3(Attempt, + MOCK_METHOD4(Attempt, bool(ResourceProvider* resource_provider, RenderPass* render_pass, - OverlayCandidateList* candidates)); + OverlayCandidateList* candidates, + std::vector<gfx::Rect>* content_bounds)); }; class Validator : public OverlayCandidateValidator { @@ -1725,7 +1727,7 @@ // added a fake strategy, so checking for Attempt calls checks if there was // any attempt to overlay, which there shouldn't be. We can't use the quad // list because the render pass is cleaned up by DrawFrame. - EXPECT_CALL(*processor->strategy_, Attempt(_, _, _)).Times(0); + EXPECT_CALL(*processor->strategy_, Attempt(_, _, _, _)).Times(0); EXPECT_CALL(*validator, AllowCALayerOverlays()).Times(0); DrawFrame(&renderer, viewport_size); Mock::VerifyAndClearExpectations(processor->strategy_); @@ -1746,7 +1748,7 @@ EXPECT_CALL(*validator, AllowCALayerOverlays()) .Times(1) .WillOnce(::testing::Return(false)); - EXPECT_CALL(*processor->strategy_, Attempt(_, _, _)).Times(1); + EXPECT_CALL(*processor->strategy_, Attempt(_, _, _, _)).Times(1); DrawFrame(&renderer, viewport_size); // If the CALayerOverlay path is taken, then the ordinary overlay path should @@ -1765,7 +1767,7 @@ EXPECT_CALL(*validator, AllowCALayerOverlays()) .Times(1) .WillOnce(::testing::Return(true)); - EXPECT_CALL(*processor->strategy_, Attempt(_, _, _)).Times(0); + EXPECT_CALL(*processor->strategy_, Attempt(_, _, _, _)).Times(0); DrawFrame(&renderer, viewport_size); }
diff --git a/cc/output/output_surface_frame.h b/cc/output/output_surface_frame.h index 331496f..3133e8e2 100644 --- a/cc/output/output_surface_frame.h +++ b/cc/output/output_surface_frame.h
@@ -27,8 +27,12 @@ OutputSurfaceFrame& operator=(OutputSurfaceFrame&& other); gfx::Size size; - // Optional rect for partial or empty swap; if not provided, use regular swap. + // Providing both |sub_buffer_rect| and |content_bounds| is not supported; + // if neither is present, regular swap is used. + // Optional rect for partial or empty swap. base::Optional<gfx::Rect> sub_buffer_rect; + // Optional content area for SwapWithBounds. Rectangles may overlap. + std::vector<gfx::Rect> content_bounds; std::vector<ui::LatencyInfo> latency_info; private:
diff --git a/cc/output/overlay_processor.cc b/cc/output/overlay_processor.cc index 8a1a9e7..47358e3 100644 --- a/cc/output/overlay_processor.cc +++ b/cc/output/overlay_processor.cc
@@ -93,7 +93,8 @@ const RenderPassFilterList& render_pass_background_filters, OverlayCandidateList* candidates, CALayerOverlayList* ca_layer_overlays, - gfx::Rect* damage_rect) { + gfx::Rect* damage_rect, + std::vector<gfx::Rect>* content_bounds) { #if defined(OS_ANDROID) // Be sure to send out notifications, regardless of whether we get to // processing for overlays or not. If we don't, then we should notify that @@ -120,7 +121,8 @@ // Only if that fails, attempt hardware overlay strategies. for (const auto& strategy : strategies_) { - if (!strategy->Attempt(resource_provider, render_pass, candidates)) + if (!strategy->Attempt(resource_provider, render_pass, candidates, + content_bounds)) continue; UpdateDamageRect(candidates, damage_rect);
diff --git a/cc/output/overlay_processor.h b/cc/output/overlay_processor.h index b8957052..99190da 100644 --- a/cc/output/overlay_processor.h +++ b/cc/output/overlay_processor.h
@@ -28,7 +28,8 @@ // |render_passes|. virtual bool Attempt(ResourceProvider* resource_provider, RenderPass* render_pass, - OverlayCandidateList* candidates) = 0; + OverlayCandidateList* candidates, + std::vector<gfx::Rect>* content_bounds) = 0; }; using StrategyList = std::vector<std::unique_ptr<Strategy>>; @@ -48,7 +49,8 @@ const RenderPassFilterList& render_pass_background_filters, OverlayCandidateList* overlay_candidates, CALayerOverlayList* ca_layer_overlays, - gfx::Rect* damage_rect); + gfx::Rect* damage_rect, + std::vector<gfx::Rect>* content_bounds); protected: StrategyList strategies_;
diff --git a/cc/output/overlay_strategy_fullscreen.cc b/cc/output/overlay_strategy_fullscreen.cc index f16857c2..681611fa 100644 --- a/cc/output/overlay_strategy_fullscreen.cc +++ b/cc/output/overlay_strategy_fullscreen.cc
@@ -21,9 +21,11 @@ OverlayStrategyFullscreen::~OverlayStrategyFullscreen() {} -bool OverlayStrategyFullscreen::Attempt(ResourceProvider* resource_provider, - RenderPass* render_pass, - OverlayCandidateList* candidate_list) { +bool OverlayStrategyFullscreen::Attempt( + ResourceProvider* resource_provider, + RenderPass* render_pass, + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) { QuadList* quad_list = &render_pass->quad_list; // First quad of quad_list is the top most quad. auto front = quad_list->begin();
diff --git a/cc/output/overlay_strategy_fullscreen.h b/cc/output/overlay_strategy_fullscreen.h index 1429985..5717330 100644 --- a/cc/output/overlay_strategy_fullscreen.h +++ b/cc/output/overlay_strategy_fullscreen.h
@@ -22,7 +22,8 @@ bool Attempt(ResourceProvider* resource_provider, RenderPass* render_pass, - OverlayCandidateList* candidate_list) override; + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) override; private: OverlayCandidateValidator* capability_checker_; // Weak.
diff --git a/cc/output/overlay_strategy_single_on_top.cc b/cc/output/overlay_strategy_single_on_top.cc index 75a31a2c..8ce4c6a3 100644 --- a/cc/output/overlay_strategy_single_on_top.cc +++ b/cc/output/overlay_strategy_single_on_top.cc
@@ -19,9 +19,11 @@ OverlayStrategySingleOnTop::~OverlayStrategySingleOnTop() {} -bool OverlayStrategySingleOnTop::Attempt(ResourceProvider* resource_provider, - RenderPass* render_pass, - OverlayCandidateList* candidate_list) { +bool OverlayStrategySingleOnTop::Attempt( + ResourceProvider* resource_provider, + RenderPass* render_pass, + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) { QuadList* quad_list = &render_pass->quad_list; for (auto it = quad_list->begin(); it != quad_list->end(); ++it) { OverlayCandidate candidate;
diff --git a/cc/output/overlay_strategy_single_on_top.h b/cc/output/overlay_strategy_single_on_top.h index c93ff95..b305b8f 100644 --- a/cc/output/overlay_strategy_single_on_top.h +++ b/cc/output/overlay_strategy_single_on_top.h
@@ -20,7 +20,8 @@ bool Attempt(ResourceProvider* resource_provider, RenderPass* render_pass, - OverlayCandidateList* candidate_list) override; + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) override; private: bool TryOverlay(QuadList* quad_list,
diff --git a/cc/output/overlay_strategy_underlay.cc b/cc/output/overlay_strategy_underlay.cc index e08c40d..5cf8c23 100644 --- a/cc/output/overlay_strategy_underlay.cc +++ b/cc/output/overlay_strategy_underlay.cc
@@ -20,7 +20,8 @@ bool OverlayStrategyUnderlay::Attempt(ResourceProvider* resource_provider, RenderPass* render_pass, - OverlayCandidateList* candidate_list) { + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) { QuadList& quad_list = render_pass->quad_list; for (auto it = quad_list.begin(); it != quad_list.end(); ++it) { OverlayCandidate candidate;
diff --git a/cc/output/overlay_strategy_underlay.h b/cc/output/overlay_strategy_underlay.h index 40cae04..c47dd58 100644 --- a/cc/output/overlay_strategy_underlay.h +++ b/cc/output/overlay_strategy_underlay.h
@@ -25,7 +25,8 @@ bool Attempt(ResourceProvider* resource_provider, RenderPass* render_pass, - OverlayCandidateList* candidate_list) override; + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) override; private: OverlayCandidateValidator* capability_checker_; // Weak.
diff --git a/cc/output/overlay_strategy_underlay_cast.cc b/cc/output/overlay_strategy_underlay_cast.cc new file mode 100644 index 0000000..70921701 --- /dev/null +++ b/cc/output/overlay_strategy_underlay_cast.cc
@@ -0,0 +1,67 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "cc/output/overlay_strategy_underlay_cast.h" + +#include "base/containers/adapters.h" +#include "cc/quads/draw_quad.h" +#include "cc/quads/solid_color_draw_quad.h" +#include "ui/gfx/geometry/rect_conversions.h" + +namespace cc { + +OverlayStrategyUnderlayCast::OverlayStrategyUnderlayCast( + OverlayCandidateValidator* capability_checker) + : OverlayStrategyUnderlay(capability_checker) {} + +OverlayStrategyUnderlayCast::~OverlayStrategyUnderlayCast() {} + +bool OverlayStrategyUnderlayCast::Attempt( + ResourceProvider* resource_provider, + RenderPass* render_pass, + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) { + const QuadList& const_quad_list = render_pass->quad_list; + bool found_underlay = false; + gfx::Rect content_rect; + for (const auto* quad : base::Reversed(const_quad_list)) { + if (OverlayCandidate::IsInvisibleQuad(quad)) + continue; + + const auto& transform = quad->shared_quad_state->quad_to_target_transform; + gfx::RectF quad_rect = gfx::RectF(quad->rect); + transform.TransformRect(&quad_rect); + + bool is_underlay = false; + if (!found_underlay) { + OverlayCandidate candidate; + is_underlay = + OverlayCandidate::FromDrawQuad(resource_provider, quad, &candidate); + found_underlay = is_underlay; + } + + if (!found_underlay && quad->material == DrawQuad::SOLID_COLOR) { + const SolidColorDrawQuad* solid = SolidColorDrawQuad::MaterialCast(quad); + if (solid->color == SK_ColorBLACK) + continue; + } + + if (is_underlay) { + content_rect.Subtract(gfx::ToEnclosedRect(quad_rect)); + } else { + content_rect.Union(gfx::ToEnclosingRect(quad_rect)); + } + } + + const bool result = OverlayStrategyUnderlay::Attempt( + resource_provider, render_pass, candidate_list, content_bounds); + DCHECK(content_bounds && content_bounds->empty()); + DCHECK(result == found_underlay); + if (found_underlay) { + content_bounds->push_back(content_rect); + } + return result; +} + +} // namespace cc
diff --git a/cc/output/overlay_strategy_underlay_cast.h b/cc/output/overlay_strategy_underlay_cast.h new file mode 100644 index 0000000..5266bb3 --- /dev/null +++ b/cc/output/overlay_strategy_underlay_cast.h
@@ -0,0 +1,33 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_CAST_H_ +#define CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_CAST_H_ + +#include "base/macros.h" +#include "cc/output/overlay_strategy_underlay.h" + +namespace cc { + +class OverlayCandidateValidator; + +// Similar to underlay strategy plus Cast-specific handling of content bounds. +class CC_EXPORT OverlayStrategyUnderlayCast : public OverlayStrategyUnderlay { + public: + explicit OverlayStrategyUnderlayCast( + OverlayCandidateValidator* capability_checker); + ~OverlayStrategyUnderlayCast() override; + + bool Attempt(ResourceProvider* resource_provider, + RenderPass* render_pass, + OverlayCandidateList* candidate_list, + std::vector<gfx::Rect>* content_bounds) override; + + private: + DISALLOW_COPY_AND_ASSIGN(OverlayStrategyUnderlayCast); +}; + +} // namespace cc + +#endif // CC_OUTPUT_OVERLAY_STRATEGY_UNDERLAY_CAST_H_
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc index a1160eb3..d4a8e17 100644 --- a/cc/output/overlay_unittest.cc +++ b/cc/output/overlay_unittest.cc
@@ -20,6 +20,7 @@ #include "cc/output/overlay_strategy_fullscreen.h" #include "cc/output/overlay_strategy_single_on_top.h" #include "cc/output/overlay_strategy_underlay.h" +#include "cc/output/overlay_strategy_underlay_cast.h" #include "cc/quads/render_pass.h" #include "cc/quads/render_pass_draw_quad.h" #include "cc/quads/solid_color_draw_quad.h" @@ -77,6 +78,8 @@ class SingleOverlayValidator : public OverlayCandidateValidator { public: + SingleOverlayValidator() : expected_rect_(kOverlayRect) {} + void GetStrategies(OverlayProcessor::StrategyList* strategies) override { strategies->push_back(base::MakeUnique<OverlayStrategySingleOnTop>(this)); strategies->push_back(base::MakeUnique<OverlayStrategyUnderlay>(this)); @@ -90,15 +93,12 @@ OverlayCandidate& candidate = surfaces->back(); EXPECT_TRUE(!candidate.use_output_surface_for_resource); - if (candidate.display_rect.width() == kOverlayBottomRightRect.width()) { - EXPECT_EQ(gfx::RectF(kOverlayBottomRightRect), candidate.display_rect); - } else { - EXPECT_NEAR(kOverlayRect.x(), candidate.display_rect.x(), 0.01f); - EXPECT_NEAR(kOverlayRect.y(), candidate.display_rect.y(), 0.01f); - EXPECT_NEAR(kOverlayRect.width(), candidate.display_rect.width(), 0.01f); - EXPECT_NEAR(kOverlayRect.height(), candidate.display_rect.height(), - 0.01f); - } + EXPECT_NEAR(expected_rect_.x(), candidate.display_rect.x(), 0.01f); + EXPECT_NEAR(expected_rect_.y(), candidate.display_rect.y(), 0.01f); + EXPECT_NEAR(expected_rect_.width(), candidate.display_rect.width(), 0.01f); + EXPECT_NEAR(expected_rect_.height(), candidate.display_rect.height(), + 0.01f); + EXPECT_FLOAT_RECT_EQ(BoundingRect(kUVTopLeft, kUVBottomRight), candidate.uv_rect); if (!candidate.clip_rect.IsEmpty()) { @@ -107,6 +107,11 @@ } candidate.overlay_handled = true; } + + void SetExpectedRect(const gfx::RectF& rect) { expected_rect_ = rect; } + + private: + gfx::RectF expected_rect_; }; class CALayerValidator : public OverlayCandidateValidator { @@ -130,6 +135,13 @@ } }; +class UnderlayCastOverlayValidator : public SingleOverlayValidator { + public: + void GetStrategies(OverlayProcessor::StrategyList* strategies) override { + strategies->push_back(base::MakeUnique<OverlayStrategyUnderlayCast>(this)); + } +}; + class DefaultOverlayProcessor : public OverlayProcessor { public: explicit DefaultOverlayProcessor(OutputSurface* surface); @@ -144,6 +156,7 @@ return strategies_.size(); } +template <typename OverlayCandidateValidatorType> class OverlayOutputSurface : public OutputSurface { public: explicit OverlayOutputSurface( @@ -171,7 +184,7 @@ } bool HasExternalStencilTest() const override { return false; } void ApplyExternalStencil() override {} - OverlayCandidateValidator* GetOverlayCandidateValidator() const override { + OverlayCandidateValidatorType* GetOverlayCandidateValidator() const override { return overlay_candidate_validator_.get(); } bool IsDisplayedAsOverlayPlane() const override { @@ -184,14 +197,14 @@ is_displayed_as_overlay_plane_ = value; } - void SetOverlayCandidateValidator(OverlayCandidateValidator* validator) { + void SetOverlayCandidateValidator(OverlayCandidateValidatorType* validator) { overlay_candidate_validator_.reset(validator); } unsigned bind_framebuffer_count() const { return bind_framebuffer_count_; } private: - std::unique_ptr<OverlayCandidateValidator> overlay_candidate_validator_; + std::unique_ptr<OverlayCandidateValidatorType> overlay_candidate_validator_; bool is_displayed_as_overlay_plane_; unsigned bind_framebuffer_count_ = 0; }; @@ -208,6 +221,20 @@ return pass; } +std::unique_ptr<RenderPass> CreateRenderPassWithTransform( + const gfx::Transform& transform) { + int render_pass_id = 1; + gfx::Rect output_rect(0, 0, 256, 256); + + std::unique_ptr<RenderPass> pass = RenderPass::Create(); + pass->SetNew(render_pass_id, output_rect, output_rect, gfx::Transform()); + + SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); + shared_state->opacity = 1.f; + shared_state->quad_to_target_transform = transform; + return pass; +} + ResourceId CreateResource(ResourceProvider* resource_provider, const gfx::Size& size, bool is_overlay_candidate) { @@ -302,6 +329,17 @@ color_quad->SetNew(shared_quad_state, rect, rect, SK_ColorBLACK, false); } +void CreateOpaqueQuadAt(ResourceProvider* resource_provider, + const SharedQuadState* shared_quad_state, + RenderPass* render_pass, + const gfx::Rect& rect, + SkColor color) { + DCHECK_EQ(255u, SkColorGetA(color)); + SolidColorDrawQuad* color_quad = + render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + color_quad->SetNew(shared_quad_state, rect, rect, color, false); +} + void CreateFullscreenOpaqueQuad(ResourceProvider* resource_provider, const SharedQuadState* shared_quad_state, RenderPass* render_pass) { @@ -341,11 +379,13 @@ template <typename OverlayCandidateValidatorType> class OverlayTest : public testing::Test { + using OutputSurfaceType = OverlayOutputSurface<OverlayCandidateValidatorType>; + protected: void SetUp() override { provider_ = TestContextProvider::Create(); provider_->BindToCurrentThread(); - output_surface_.reset(new OverlayOutputSurface(provider_)); + output_surface_ = base::MakeUnique<OutputSurfaceType>(provider_); output_surface_->BindToClient(&client_); output_surface_->SetOverlayCandidateValidator( new OverlayCandidateValidatorType); @@ -359,22 +399,24 @@ } scoped_refptr<TestContextProvider> provider_; - std::unique_ptr<OverlayOutputSurface> output_surface_; + std::unique_ptr<OutputSurfaceType> output_surface_; FakeOutputSurfaceClient client_; std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_; std::unique_ptr<ResourceProvider> resource_provider_; std::unique_ptr<OverlayProcessor> overlay_processor_; gfx::Rect damage_rect_; + std::vector<gfx::Rect> content_bounds_; }; -typedef OverlayTest<FullscreenOverlayValidator> FullscreenOverlayTest; -typedef OverlayTest<SingleOnTopOverlayValidator> SingleOverlayOnTopTest; -typedef OverlayTest<UnderlayOverlayValidator> UnderlayTest; -typedef OverlayTest<CALayerValidator> CALayerOverlayTest; +using FullscreenOverlayTest = OverlayTest<FullscreenOverlayValidator>; +using SingleOverlayOnTopTest = OverlayTest<SingleOnTopOverlayValidator>; +using UnderlayTest = OverlayTest<UnderlayOverlayValidator>; +using UnderlayCastTest = OverlayTest<UnderlayCastOverlayValidator>; +using CALayerOverlayTest = OverlayTest<CALayerValidator>; TEST(OverlayTest, NoOverlaysByDefault) { scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); - OverlayOutputSurface output_surface(provider); + OverlayOutputSurface<OverlayCandidateValidator> output_surface(provider); EXPECT_EQ(NULL, output_surface.GetOverlayCandidateValidator()); output_surface.SetOverlayCandidateValidator(new SingleOverlayValidator); @@ -384,7 +426,7 @@ TEST(OverlayTest, OverlaysProcessorHasStrategy) { scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); provider->BindToCurrentThread(); - OverlayOutputSurface output_surface(provider); + OverlayOutputSurface<OverlayCandidateValidator> output_surface(provider); FakeOutputSurfaceClient client; output_surface.BindToClient(&client); output_surface.SetOverlayCandidateValidator(new SingleOverlayValidator); @@ -417,7 +459,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); RenderPass* main_pass = pass.get(); @@ -442,7 +485,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(0U, candidate_list.size()); RenderPass* main_pass = pass.get(); @@ -468,7 +512,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(0U, candidate_list.size()); RenderPass* main_pass = pass.get(); @@ -490,7 +535,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(0U, candidate_list.size()); RenderPass* main_pass = pass.get(); @@ -519,7 +565,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); // Check that the fullscreen quad is gone. @@ -548,7 +595,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); RenderPass* main_pass = pass.get(); @@ -593,7 +641,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); DCHECK(damage_rect_.IsEmpty()); } @@ -615,7 +664,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass_list.back().get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); // There should be nothing new here. CompareRenderPassLists(pass_list, original_pass_list); @@ -643,7 +693,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass_list.back().get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); // There should be nothing new here. CompareRenderPassLists(pass_list, original_pass_list); @@ -668,7 +719,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -685,7 +737,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -702,7 +755,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -718,7 +772,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -734,7 +789,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -751,7 +807,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -768,7 +825,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -786,7 +844,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL, candidate_list.back().transform); @@ -807,7 +866,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL, candidate_list.back().transform); @@ -826,7 +886,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -844,7 +905,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(0U, candidate_list.size()); } @@ -862,7 +924,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform); } @@ -881,7 +944,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform); } @@ -900,12 +964,16 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_270, candidate_list.back().transform); } TEST_F(SingleOverlayOnTopTest, AllowNotTopIfNotOccluded) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + std::unique_ptr<RenderPass> pass = CreateRenderPass(); CreateOpaqueQuadAt(resource_provider_.get(), pass->shared_quad_state_list.back(), pass.get(), @@ -920,11 +988,15 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } TEST_F(SingleOverlayOnTopTest, AllowTransparentOnTop) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + std::unique_ptr<RenderPass> pass = CreateRenderPass(); SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState(); shared_state->opacity = 0.f; @@ -940,11 +1012,15 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } TEST_F(SingleOverlayOnTopTest, AllowTransparentColorOnTop) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + std::unique_ptr<RenderPass> pass = CreateRenderPass(); CreateSolidColorQuadAt(pass->shared_quad_state_list.back(), SK_ColorTRANSPARENT, pass.get(), @@ -958,7 +1034,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -978,7 +1055,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -996,7 +1074,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -1011,7 +1090,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(0U, candidate_list.size()); } @@ -1026,7 +1106,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -1041,7 +1122,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -1056,7 +1138,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } @@ -1071,11 +1154,15 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(1U, candidate_list.size()); } TEST_F(UnderlayTest, OverlayLayerUnderMainLayer) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + std::unique_ptr<RenderPass> pass = CreateRenderPass(); CreateFullscreenOpaqueQuad(resource_provider_.get(), pass->shared_quad_state_list.back(), pass.get()); @@ -1088,7 +1175,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(-1, candidate_list[0].plane_z_order); EXPECT_EQ(2U, pass->quad_list.size()); @@ -1110,7 +1198,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); ASSERT_EQ(1U, candidate_list.size()); EXPECT_EQ(-1, candidate_list[0].plane_z_order); // The overlay quad should have changed to a SOLID_COLOR quad. @@ -1131,7 +1220,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(kOverlayRect, damage_rect_); } @@ -1156,8 +1246,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, - &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); } // The second time the same overlay rect is scheduled it will be subtracted @@ -1170,6 +1260,9 @@ TEST_F(UnderlayTest, DamageNotSubtractedForNonIdenticalConsecutiveUnderlays) { gfx::Rect overlay_rects[] = {kOverlayBottomRightRect, kOverlayRect}; for (int i = 0; i < 2; ++i) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(overlay_rects[i])); + std::unique_ptr<RenderPass> pass = CreateRenderPass(); CreateCandidateQuadAt(resource_provider_.get(), @@ -1183,8 +1276,8 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, - &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); EXPECT_EQ(overlay_rects[i], damage_rect_); } @@ -1207,14 +1300,17 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, - &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); } EXPECT_EQ(kOverlayRect, damage_rect_); } TEST_F(UnderlayTest, DamageSubtractedWhenQuadsAboveDontOverlap) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + for (int i = 0; i < 2; ++i) { std::unique_ptr<RenderPass> pass = CreateRenderPass(); // Add a non-overlapping quad above the candidate. @@ -1232,13 +1328,184 @@ RenderPassFilterList render_pass_background_filters; overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, - render_pass_background_filters, &candidate_list, nullptr, - &damage_rect_); + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); } EXPECT_TRUE(damage_rect_.IsEmpty()); } +TEST_F(UnderlayCastTest, NoOverlayContentBounds) { + std::unique_ptr<RenderPass> pass = CreateRenderPass(); + + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayTopLeftRect); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + EXPECT_EQ(0U, content_bounds_.size()); +} + +TEST_F(UnderlayCastTest, FullScreenOverlayContentBounds) { + std::unique_ptr<RenderPass> pass = CreateRenderPass(); + CreateCandidateQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayRect); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + + EXPECT_EQ(1U, content_bounds_.size()); + EXPECT_TRUE(content_bounds_[0].IsEmpty()); +} + +TEST_F(UnderlayCastTest, BlackOutsideOverlayContentBounds) { + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + + const gfx::Rect kLeftSide(0, 0, 128, 256); + const gfx::Rect kTopRight(128, 0, 128, 128); + + std::unique_ptr<RenderPass> pass = CreateRenderPass(); + CreateCandidateQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayBottomRightRect); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), kLeftSide, + SK_ColorBLACK); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), kTopRight, + SK_ColorBLACK); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + + EXPECT_EQ(1U, content_bounds_.size()); + EXPECT_TRUE(content_bounds_[0].IsEmpty()); +} + +TEST_F(UnderlayCastTest, OverlayOccludedContentBounds) { + std::unique_ptr<RenderPass> pass = CreateRenderPass(); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayTopLeftRect); + CreateCandidateQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayRect); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + + EXPECT_EQ(1U, content_bounds_.size()); + EXPECT_EQ(kOverlayTopLeftRect, content_bounds_[0]); +} + +TEST_F(UnderlayCastTest, OverlayOccludedUnionContentBounds) { + std::unique_ptr<RenderPass> pass = CreateRenderPass(); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayTopLeftRect); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayBottomRightRect); + CreateCandidateQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + kOverlayRect); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + + EXPECT_EQ(1U, content_bounds_.size()); + EXPECT_EQ(kOverlayRect, content_bounds_[0]); +} + +TEST_F(UnderlayCastTest, RoundOverlayContentBounds) { + // Check rounding behaviour on overlay quads. Be conservative (content + // potentially visible on boundary). + const gfx::Rect overlay_rect(1, 1, 8, 8); + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(1.5f, 1.5f, 8, 8)); + + gfx::Transform transform; + transform.Translate(0.5f, 0.5f); + + std::unique_ptr<RenderPass> pass = CreateRenderPassWithTransform(transform); + CreateCandidateQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + overlay_rect); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + gfx::Rect(0, 0, 10, 10), SK_ColorWHITE); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + + EXPECT_EQ(1U, content_bounds_.size()); + EXPECT_EQ(gfx::Rect(0, 0, 11, 11), content_bounds_[0]); +} + +TEST_F(UnderlayCastTest, RoundContentBounds) { + // Check rounding behaviour on content quads (bounds should be enclosing + // rect). + gfx::Rect overlay_rect = kOverlayRect; + overlay_rect.Inset(0, 0, 1, 1); + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(0.5f, 0.5f, 255, 255)); + + gfx::Transform transform; + transform.Translate(0.5f, 0.5f); + + std::unique_ptr<RenderPass> pass = CreateRenderPassWithTransform(transform); + CreateCandidateQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + overlay_rect); + CreateOpaqueQuadAt(resource_provider_.get(), + pass->shared_quad_state_list.back(), pass.get(), + gfx::Rect(0, 0, 255, 255), SK_ColorWHITE); + + OverlayCandidateList candidate_list; + RenderPassFilterList render_pass_filters; + RenderPassFilterList render_pass_background_filters; + overlay_processor_->ProcessForOverlays( + resource_provider_.get(), pass.get(), render_pass_filters, + render_pass_background_filters, &candidate_list, nullptr, &damage_rect_, + &content_bounds_); + + EXPECT_EQ(1U, content_bounds_.size()); + EXPECT_EQ(kOverlayRect, content_bounds_[0]); +} + OverlayCandidateList BackbufferOverlayList(const RenderPass* root_render_pass) { OverlayCandidateList list; OverlayCandidate output_surface_plane; @@ -1267,7 +1534,7 @@ overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, render_pass_background_filters, &overlay_list, &ca_layer_list, - &damage_rect); + &damage_rect_, &content_bounds_); EXPECT_EQ(gfx::Rect(), damage_rect); EXPECT_EQ(0U, overlay_list.size()); EXPECT_EQ(1U, ca_layer_list.size()); @@ -1290,7 +1557,7 @@ overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, render_pass_background_filters, &overlay_list, &ca_layer_list, - &damage_rect); + &damage_rect_, &content_bounds_); EXPECT_EQ(0U, overlay_list.size()); EXPECT_EQ(1U, ca_layer_list.size()); gfx::Transform expected_transform; @@ -1316,7 +1583,7 @@ overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, render_pass_background_filters, &overlay_list, &ca_layer_list, - &damage_rect); + &damage_rect_, &content_bounds_); EXPECT_EQ(gfx::Rect(), damage_rect); EXPECT_EQ(0U, overlay_list.size()); EXPECT_EQ(1U, ca_layer_list.size()); @@ -1339,7 +1606,7 @@ overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, render_pass_background_filters, &overlay_list, &ca_layer_list, - &damage_rect); + &damage_rect_, &content_bounds_); EXPECT_EQ(gfx::Rect(), damage_rect); EXPECT_EQ(0U, overlay_list.size()); EXPECT_EQ(1U, ca_layer_list.size()); @@ -1364,7 +1631,7 @@ overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass.get(), render_pass_filters, render_pass_background_filters, &overlay_list, &ca_layer_list, - &damage_rect); + &damage_rect_, &content_bounds_); EXPECT_EQ(gfx::Rect(), damage_rect); EXPECT_EQ(0U, overlay_list.size()); EXPECT_EQ(0U, ca_layer_list.size()); @@ -1419,11 +1686,13 @@ }; class GLRendererWithOverlaysTest : public testing::Test { + using OutputSurfaceType = OverlayOutputSurface<SingleOverlayValidator>; + protected: GLRendererWithOverlaysTest() { provider_ = TestContextProvider::Create(); provider_->BindToCurrentThread(); - output_surface_.reset(new OverlayOutputSurface(provider_)); + output_surface_.reset(new OutputSurfaceType(provider_)); output_surface_->BindToClient(&output_surface_client_); resource_provider_ = FakeResourceProvider::Create(provider_.get(), nullptr); @@ -1466,7 +1735,7 @@ RendererSettings settings_; FakeOutputSurfaceClient output_surface_client_; - std::unique_ptr<OverlayOutputSurface> output_surface_; + std::unique_ptr<OutputSurfaceType> output_surface_; std::unique_ptr<ResourceProvider> resource_provider_; std::unique_ptr<OverlayInfoRendererGL> renderer_; scoped_refptr<TestContextProvider> provider_; @@ -1477,6 +1746,9 @@ bool use_validator = true; Init(use_validator); renderer_->set_expect_overlays(true); + output_surface_->GetOverlayCandidateValidator()->SetExpectedRect( + gfx::RectF(kOverlayBottomRightRect)); + gfx::Size viewport_size(16, 16); std::unique_ptr<RenderPass> pass = CreateRenderPass(); @@ -1904,7 +2176,7 @@ overlay_processor_->ProcessForOverlays( resource_provider_.get(), pass_.get(), render_pass_filters_, render_pass_background_filters_, &overlay_list_, &ca_layer_list_, - &damage_rect); + &damage_rect_, &content_bounds_); } std::unique_ptr<RenderPass> pass_; RenderPassDrawQuad* quad_;
diff --git a/cc/tiles/checker_image_tracker.cc b/cc/tiles/checker_image_tracker.cc index c081132e..c8113d4 100644 --- a/cc/tiles/checker_image_tracker.cc +++ b/cc/tiles/checker_image_tracker.cc
@@ -77,10 +77,12 @@ void CheckerImageTracker::DidFinishImageDecode( ImageId image_id, - ImageController::ImageDecodeRequestId request_id) { + ImageController::ImageDecodeRequestId request_id, + ImageController::ImageDecodeResult result) { TRACE_EVENT_ASYNC_END0("cc", "CheckerImageTracker::DeferImageDecode", image_id); + DCHECK_NE(result, ImageController::ImageDecodeResult::DECODE_NOT_REQUIRED); DCHECK_NE(pending_image_decodes_.count(image_id), 0u); pending_image_decodes_.erase(image_id);
diff --git a/cc/tiles/checker_image_tracker.h b/cc/tiles/checker_image_tracker.h index af0bc0e..b2a16ec 100644 --- a/cc/tiles/checker_image_tracker.h +++ b/cc/tiles/checker_image_tracker.h
@@ -55,7 +55,8 @@ private: void DidFinishImageDecode(ImageId image_id, - ImageController::ImageDecodeRequestId request_id); + ImageController::ImageDecodeRequestId request_id, + ImageController::ImageDecodeResult result); // Returns true if the decode for |image| will be deferred to the image decode // service and it should be be skipped during raster.
diff --git a/cc/tiles/checker_image_tracker_unittest.cc b/cc/tiles/checker_image_tracker_unittest.cc index 60a4843..a60bcf7 100644 --- a/cc/tiles/checker_image_tracker_unittest.cc +++ b/cc/tiles/checker_image_tracker_unittest.cc
@@ -48,7 +48,9 @@ // Post the callback asynchronously to match the behaviour in // ImageController. - worker_task_runner_->PostTask(FROM_HERE, base::Bind(callback, request_id)); + worker_task_runner_->PostTask( + FROM_HERE, + base::Bind(callback, request_id, ImageDecodeResult::SUCCESS)); return request_id; }
diff --git a/cc/tiles/decoded_image_tracker.cc b/cc/tiles/decoded_image_tracker.cc index cdfa39bb2..5672854c 100644 --- a/cc/tiles/decoded_image_tracker.cc +++ b/cc/tiles/decoded_image_tracker.cc
@@ -15,8 +15,9 @@ image_controller_->UnlockImageDecode(pair.first); } -void DecodedImageTracker::QueueImageDecode(sk_sp<const SkImage> image, - const base::Closure& callback) { +void DecodedImageTracker::QueueImageDecode( + sk_sp<const SkImage> image, + const base::Callback<void(bool)>& callback) { DCHECK(image_controller_); // Queue the decode in the image controller, but switch out the callback for // our own. @@ -41,10 +42,15 @@ } void DecodedImageTracker::ImageDecodeFinished( - const base::Closure& callback, - ImageController::ImageDecodeRequestId id) { - locked_images_.push_back(std::make_pair(id, kNumFramesToLock)); - callback.Run(); + const base::Callback<void(bool)>& callback, + ImageController::ImageDecodeRequestId id, + ImageController::ImageDecodeResult result) { + if (result == ImageController::ImageDecodeResult::SUCCESS) + locked_images_.push_back(std::make_pair(id, kNumFramesToLock)); + bool decode_succeeded = + result == ImageController::ImageDecodeResult::SUCCESS || + result == ImageController::ImageDecodeResult::DECODE_NOT_REQUIRED; + callback.Run(decode_succeeded); } } // namespace cc
diff --git a/cc/tiles/decoded_image_tracker.h b/cc/tiles/decoded_image_tracker.h index 2d303ee..a0016a3be 100644 --- a/cc/tiles/decoded_image_tracker.h +++ b/cc/tiles/decoded_image_tracker.h
@@ -29,8 +29,11 @@ DecodedImageTracker(); ~DecodedImageTracker(); + // Request that the given image be decoded. This issues a callback upon + // completion. The callback takes a bool indicating whether the decode was + // successful or not. void QueueImageDecode(sk_sp<const SkImage> image, - const base::Closure& callback); + const base::Callback<void(bool)>& callback); void NotifyFrameFinished(); private: @@ -41,8 +44,9 @@ image_controller_ = controller; } - void ImageDecodeFinished(const base::Closure& callback, - ImageController::ImageDecodeRequestId id); + void ImageDecodeFinished(const base::Callback<void(bool)>& callback, + ImageController::ImageDecodeRequestId id, + ImageController::ImageDecodeResult result); ImageController* image_controller_ = nullptr; std::vector<std::pair<ImageController::ImageDecodeRequestId, int>>
diff --git a/cc/tiles/decoded_image_tracker_unittest.cc b/cc/tiles/decoded_image_tracker_unittest.cc index eff5f18..54a08ba 100644 --- a/cc/tiles/decoded_image_tracker_unittest.cc +++ b/cc/tiles/decoded_image_tracker_unittest.cc
@@ -26,7 +26,7 @@ const ImageDecodedCallback& callback) override { auto id = next_id_++; locked_ids_.push_back(id); - callback.Run(id); + callback.Run(id, ImageDecodeResult::SUCCESS); return id; } @@ -56,8 +56,9 @@ TEST_F(DecodedImageTrackerTest, QueueImageLocksImages) { bool locked = false; decoded_image_tracker()->QueueImageDecode( - nullptr, base::Bind([](bool* locked) { *locked = true; }, - base::Unretained(&locked))); + nullptr, + base::Bind([](bool* locked, bool success) { *locked = true; }, + base::Unretained(&locked))); EXPECT_TRUE(locked); EXPECT_EQ(1u, image_controller()->num_locked_images()); } @@ -65,8 +66,9 @@ TEST_F(DecodedImageTrackerTest, NotifyFrameFinishedUnlocksImages) { bool locked = false; decoded_image_tracker()->QueueImageDecode( - nullptr, base::Bind([](bool* locked) { *locked = true; }, - base::Unretained(&locked))); + nullptr, + base::Bind([](bool* locked, bool success) { *locked = true; }, + base::Unretained(&locked))); EXPECT_TRUE(locked); EXPECT_EQ(1u, image_controller()->num_locked_images()); @@ -75,8 +77,9 @@ locked = false; decoded_image_tracker()->QueueImageDecode( - nullptr, base::Bind([](bool* locked) { *locked = true; }, - base::Unretained(&locked))); + nullptr, + base::Bind([](bool* locked, bool success) { *locked = true; }, + base::Unretained(&locked))); EXPECT_TRUE(locked); EXPECT_EQ(2u, image_controller()->num_locked_images());
diff --git a/cc/tiles/image_controller.cc b/cc/tiles/image_controller.cc index 6fb503aa..2fe901d 100644 --- a/cc/tiles/image_controller.cc +++ b/cc/tiles/image_controller.cc
@@ -88,7 +88,10 @@ // promise of having this image decoded. This is unfortunate, but it seems // like the least complexity to process an image decode controller becoming // nullptr. - request.callback.Run(id); + // TODO(vmpstr): We can move these back to |image_decode_queue_| instead + // and defer completion until we get a new cache and process the request + // again. crbug.com/693692. + request.callback.Run(id, ImageDecodeResult::FAILURE); if (request.need_unref) cache_->UnrefImage(request.draw_image); } @@ -112,7 +115,9 @@ request.task->DidComplete(); } // Run the callback and unref the image. - request.callback.Run(id); + // TODO(vmpstr): We can regenerate the tasks for the new cache if we get + // one. crbug.com/693692. + request.callback.Run(id, ImageDecodeResult::FAILURE); cache_->UnrefImage(request.draw_image); } image_decode_queue_.clear(); @@ -179,14 +184,18 @@ ImageDecodeRequestId id = s_next_image_decode_queue_id_++; DCHECK(image); + bool is_image_lazy = image->isLazyGenerated(); auto image_bounds = image->bounds(); DrawImage draw_image(std::move(image), image_bounds, kNone_SkFilterQuality, SkMatrix::I()); // Get the tasks for this decode. scoped_refptr<TileTask> task; - bool need_unref = - cache_->GetOutOfRasterDecodeTaskForImageAndRef(draw_image, &task); + bool need_unref = false; + if (is_image_lazy) { + need_unref = + cache_->GetOutOfRasterDecodeTaskForImageAndRef(draw_image, &task); + } // If we don't need to unref this, we don't actually have a task. DCHECK(need_unref || !task); @@ -263,6 +272,7 @@ void ImageController::ImageDecodeCompleted(ImageDecodeRequestId id) { ImageDecodedCallback callback; + ImageDecodeResult result = ImageDecodeResult::SUCCESS; { base::AutoLock hold(lock_); @@ -271,6 +281,19 @@ id = request_it->first; ImageDecodeRequest& request = request_it->second; + // First, Determine the status of the decode. This has to happen here, since + // we conditionally move from the draw image below. + // Also note that if we don't need an unref for a lazy decoded images, it + // implies that we never attempted the decode. Some of the reasons for this + // would be that the image is of an empty size, or if the image doesn't fit + // into memory. In all cases, this implies that the decode was a failure. + if (!request.draw_image.image()->isLazyGenerated()) + result = ImageDecodeResult::DECODE_NOT_REQUIRED; + else if (!request.need_unref) + result = ImageDecodeResult::FAILURE; + else + result = ImageDecodeResult::SUCCESS; + // If we need to unref this decode, then we have to put it into the locked // images vector. if (request.need_unref) @@ -281,6 +304,7 @@ request.task->OnTaskCompleted(); request.task->DidComplete(); } + // Finally, save the callback so we can run it without the lock, and erase // the request from |requests_needing_completion_|. callback = std::move(request.callback); @@ -294,7 +318,7 @@ base::Unretained(this))); // Finally run the requested callback. - callback.Run(id); + callback.Run(id, result); } ImageController::ImageDecodeRequest::ImageDecodeRequest() = default;
diff --git a/cc/tiles/image_controller.h b/cc/tiles/image_controller.h index ecfa7f2..4e8a572 100644 --- a/cc/tiles/image_controller.h +++ b/cc/tiles/image_controller.h
@@ -22,8 +22,11 @@ class CC_EXPORT ImageController { public: + enum class ImageDecodeResult { SUCCESS, DECODE_NOT_REQUIRED, FAILURE }; + using ImageDecodeRequestId = uint64_t; - using ImageDecodedCallback = base::Callback<void(ImageDecodeRequestId)>; + using ImageDecodedCallback = + base::Callback<void(ImageDecodeRequestId, ImageDecodeResult)>; explicit ImageController( base::SequencedTaskRunner* origin_task_runner, scoped_refptr<base::SequencedTaskRunner> worker_task_runner);
diff --git a/cc/tiles/image_controller_unittest.cc b/cc/tiles/image_controller_unittest.cc index cd34155..89fc160 100644 --- a/cc/tiles/image_controller_unittest.cc +++ b/cc/tiles/image_controller_unittest.cc
@@ -2,12 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "cc/tiles/image_controller.h" #include "base/bind.h" #include "base/optional.h" #include "base/run_loop.h" #include "base/test/test_simple_task_runner.h" #include "base/threading/sequenced_task_runner_handle.h" -#include "cc/tiles/image_controller.h" +#include "cc/test/skia_common.h" #include "cc/tiles/image_decode_cache.h" #include "testing/gtest/include/gtest/gtest.h" @@ -94,6 +95,13 @@ bool GetTaskForImageAndRef(const DrawImage& image, const TracingInfo& tracing_info, scoped_refptr<TileTask>* task) override { + // Return false for large images to mimic "won't fit in memory" + // behavior. + if (image.image() && + image.image()->width() * image.image()->height() >= 1000 * 1000) { + return false; + } + *task = task_to_use_; ++number_of_refs_; return true; @@ -101,9 +109,7 @@ bool GetOutOfRasterDecodeTaskForImageAndRef( const DrawImage& image, scoped_refptr<TileTask>* task) override { - *task = task_to_use_; - ++number_of_refs_; - return true; + return GetTaskForImageAndRef(image, TracingInfo(), task); } void UnrefImage(const DrawImage& image) override { @@ -132,15 +138,20 @@ public: DecodeClient() {} void Callback(const base::Closure& quit_closure, - ImageController::ImageDecodeRequestId id) { + ImageController::ImageDecodeRequestId id, + ImageController::ImageDecodeResult result) { id_ = id; + result_ = result; quit_closure.Run(); } ImageController::ImageDecodeRequestId id() { return id_; } + ImageController::ImageDecodeResult result() { return result_; } private: ImageController::ImageDecodeRequestId id_ = 0; + ImageController::ImageDecodeResult result_ = + ImageController::ImageDecodeResult::FAILURE; }; // A dummy task that does nothing. @@ -218,8 +229,7 @@ class ImageControllerTest : public testing::Test { public: ImageControllerTest() : task_runner_(base::SequencedTaskRunnerHandle::Get()) { - bitmap_.allocN32Pixels(1, 1); - image_ = SkImage::MakeFromBitmap(bitmap_); + image_ = CreateDiscardableImage(gfx::Size(1, 1)); } ~ImageControllerTest() override = default; @@ -261,7 +271,6 @@ scoped_refptr<WorkerTaskRunner> worker_task_runner_; TestableCache cache_; std::unique_ptr<ImageController> controller_; - SkBitmap bitmap_; sk_sp<const SkImage> image_; }; @@ -290,6 +299,43 @@ run_loop.QuitClosure())); RunOrTimeout(&run_loop); EXPECT_EQ(expected_id, decode_client.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client.result()); +} + +TEST_F(ImageControllerTest, QueueImageDecodeNonLazy) { + base::RunLoop run_loop; + DecodeClient decode_client; + + SkBitmap bitmap; + bitmap.allocN32Pixels(1, 1); + sk_sp<const SkImage> image = SkImage::MakeFromBitmap(bitmap); + + ImageController::ImageDecodeRequestId expected_id = + controller()->QueueImageDecode( + image, + base::Bind(&DecodeClient::Callback, base::Unretained(&decode_client), + run_loop.QuitClosure())); + RunOrTimeout(&run_loop); + EXPECT_EQ(expected_id, decode_client.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::DECODE_NOT_REQUIRED, + decode_client.result()); +} + +TEST_F(ImageControllerTest, QueueImageDecodeTooLarge) { + base::RunLoop run_loop; + DecodeClient decode_client; + + sk_sp<const SkImage> image = CreateDiscardableImage(gfx::Size(2000, 2000)); + ImageController::ImageDecodeRequestId expected_id = + controller()->QueueImageDecode( + image, + base::Bind(&DecodeClient::Callback, base::Unretained(&decode_client), + run_loop.QuitClosure())); + RunOrTimeout(&run_loop); + EXPECT_EQ(expected_id, decode_client.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::FAILURE, + decode_client.result()); } TEST_F(ImageControllerTest, QueueImageDecodeMultipleImages) { @@ -314,8 +360,14 @@ run_loop.QuitClosure())); RunOrTimeout(&run_loop); EXPECT_EQ(expected_id1, decode_client1.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client1.result()); EXPECT_EQ(expected_id2, decode_client2.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client2.result()); EXPECT_EQ(expected_id3, decode_client3.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client3.result()); } TEST_F(ImageControllerTest, QueueImageDecodeWithTask) { @@ -360,8 +412,14 @@ run_loop.QuitClosure())); RunOrTimeout(&run_loop); EXPECT_EQ(expected_id1, decode_client1.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client1.result()); EXPECT_EQ(expected_id2, decode_client2.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client2.result()); EXPECT_EQ(expected_id3, decode_client3.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client3.result()); EXPECT_TRUE(task->has_run()); EXPECT_TRUE(task->HasCompleted()); } @@ -425,6 +483,8 @@ run_loop2.QuitClosure())); RunOrTimeout(&run_loop2); EXPECT_EQ(expected_id2, decode_client2.id()); + EXPECT_EQ(ImageController::ImageDecodeResult::SUCCESS, + decode_client2.result()); } TEST_F(ImageControllerTest, QueueImageDecodeLockedImageControllerChange) {
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn index 6f50b97..e723038 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -649,6 +649,13 @@ # non-component builds, will ensure the export symbol table is correct. ":verify_chrome_framework_order", ] + + # Only official builds that include Widevine need the widevine + # signature file. + if (is_chrome_branded && enable_pepper_cdms) { + sources += [ "$root_out_dir/$chrome_framework_name.sig" ] + public_deps += [ ":sign_chrome_framework_for_widevine" ] + } } action("clean_up_old_versions") { @@ -862,12 +869,25 @@ ":widevine_cdm_library_copy", "//third_party/widevine/cdm:widevinecdmadapter", ] + + # Signatures are only generated for official chrome. + if (is_chrome_branded) { + sources += [ + "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin.sig", + "$root_out_dir/libwidevinecdm.dylib.sig", + ] + public_deps += [ ":sign_cdm_adapter_for_widevine" ] + } } copy("widevine_cdm_library_copy") { sources = [ "$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib", ] + if (is_chrome_branded) { + sources += + [ "$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib.sig" ] + } outputs = [ "$root_out_dir/{{source_file_part}}", ] @@ -887,6 +907,27 @@ "//third_party/widevine/cdm:widevine_cdm_manifest", ] } + + widevine_sign_file("sign_cdm_adapter_for_widevine") { + file = "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin" + flags = 0 + deps = [ + "//third_party/widevine/cdm:widevinecdmadapter", + ] + } + + widevine_sign_file("sign_chrome_framework_for_widevine") { + file = "$root_out_dir/$chrome_framework_name.framework/" + if (defined(chrome_framework_version)) { + file += "Versions/$chrome_framework_version/" + } + file += "$chrome_framework_name" + flags = 1 + signature_file = "$root_out_dir/$chrome_framework_name.sig" + deps = [ + ":chrome_framework", + ] + } } group("widevine_cdm_library") {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java index b773d25..d2f34b0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
@@ -66,7 +66,6 @@ import org.chromium.components.signin.AccountManagerDelegate; import org.chromium.components.signin.SystemAccountManagerDelegate; import org.chromium.content.app.ContentApplication; -import org.chromium.content.browser.ChildProcessCreationParams; import org.chromium.policy.AppRestrictionsProvider; import org.chromium.policy.CombinedPolicyProvider; @@ -92,14 +91,6 @@ } /** - * This is called during early initialization in order to set up ChildProcessLauncher - * for certain Chrome packaging configurations - */ - public ChildProcessCreationParams getChildProcessCreationParams() { - return null; - } - - /** * This is called once per ChromeApplication instance, which get created per process * (browser OR renderer). Don't stick anything in here that shouldn't be called multiple times * during Chrome's lifetime.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java index dfb335d1..e676e9cd 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -52,7 +52,6 @@ import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.util.IntentUtils; import org.chromium.chrome.browser.util.UrlUtilities; -import org.chromium.content.browser.ChildProcessCreationParams; import org.chromium.content.browser.ChildProcessLauncher; import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.common.Referrer; @@ -209,8 +208,6 @@ System.exit(-1); } final Context context = app.getApplicationContext(); - final ChromeApplication chrome = (ChromeApplication) context; - ChildProcessCreationParams.set(chrome.getChildProcessCreationParams()); new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java index 95e1553..1b843659 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
@@ -576,7 +576,7 @@ } else if (item.isIndeterminate()) { // Count up the bytes. long bytes = info.getBytesReceived(); - return DownloadUtils.getStringForBytes(context, BYTES_DOWNLOADED_STRINGS, bytes); + return DownloadUtils.getStringForDownloadedBytes(context, bytes); } else { // Count down the time. long msRemaining = info.getTimeRemainingInMillis(); @@ -612,6 +612,17 @@ /** * Format the number of bytes into KB, or MB, or GB and return the corresponding string + * resource. Uses default download-related set of strings. + * @param context Context to use. + * @param bytes Number of bytes. + * @return A formatted string to be displayed. + */ + public static String getStringForDownloadedBytes(Context context, long bytes) { + return getStringForBytes(context, BYTES_DOWNLOADED_STRINGS, bytes); + } + + /** + * Format the number of bytes into KB, or MB, or GB and return the corresponding string * resource. * @param context Context to use. * @param stringSet The string resources for displaying bytes in KB, MB and GB.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java index db02e0f..ece06d3 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
@@ -460,8 +460,7 @@ public String getDisplayFileName() { String title = mItem.getTitle(); if (TextUtils.isEmpty(title)) { - File path = new File(getFilePath()); - return path.getName(); + return getDisplayHostname(); } else { return title; } @@ -484,7 +483,7 @@ @Override public String getMimeType() { - return "text/plain"; + return "text/html"; } @Override @@ -506,7 +505,27 @@ @Override public String getStatusString() { Context context = ContextUtils.getApplicationContext(); - return context.getString(R.string.download_notification_completed); + + int state = mItem.getDownloadState(); + + if (state == org.chromium.components.offlinepages.downloads.DownloadState.COMPLETE) { + return context.getString(R.string.download_notification_completed); + } + + if (state == org.chromium.components.offlinepages.downloads.DownloadState.PENDING) { + return context.getString(R.string.download_notification_pending); + } + + if (state == org.chromium.components.offlinepages.downloads.DownloadState.PAUSED) { + return context.getString(R.string.download_notification_paused); + } + + long bytesReceived = mItem.getDownloadProgressBytes(); + if (bytesReceived == 0) { + return context.getString(R.string.download_started); + } else { + return DownloadUtils.getStringForDownloadedBytes(context, bytesReceived); + } } @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java index 396b524..d6e431d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
@@ -44,7 +44,6 @@ import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.content.app.ContentApplication; import org.chromium.content.browser.BrowserStartupController; -import org.chromium.content.browser.ChildProcessCreationParams; import org.chromium.content.browser.DeviceUtils; import org.chromium.content.browser.SpeechRecognition; import org.chromium.net.NetworkChangeNotifier; @@ -310,15 +309,6 @@ } }); - // See crbug.com/593250. This can be removed after N SDK is released, crbug.com/592722. - ChildProcessCreationParams creationParams = mApplication.getChildProcessCreationParams(); - // WebAPK uses this code path to initialize Chrome's native code, and the - // ChildProcessCreationParams has been set in {@link WebApkActivity}. We have to prevent - // resetting with a wrong parameter here. TODO(hanxi): Remove the entire if block after - // N SDK is released, since it breaks WebAPKs on N+. - if (creationParams != null && ChildProcessCreationParams.get() != null) { - ChildProcessCreationParams.set(creationParams); - } if (isAsync) { // We want to start this queue once the C++ startup tasks have run; allow the // C++ startup to run asynchonously, and set it up to start the Java queue once
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java index 25ab7ac..0eab750 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillAddress.java
@@ -55,6 +55,14 @@ /** Multiple fields are invalid or missing. */ public static final int INVALID_MULTIPLE_FIELDS = 4; + @IntDef({NORMAL_COMPLETENESS_CHECK, IGNORE_PHONE_COMPLETENESS_CHECK}) + @Retention(RetentionPolicy.SOURCE) + public @interface CompletenessCheckType {} + /** A normal completeness check. */ + public static final int NORMAL_COMPLETENESS_CHECK = 0; + /** A completeness check that ignores phone numbers. */ + public static final int IGNORE_PHONE_COMPLETENESS_CHECK = 1; + @Nullable private static Pattern sRegionCodePattern; private Context mContext; @@ -159,8 +167,8 @@ * status. */ private void checkAndUpdateAddressCompleteness() { - Pair<Integer, Integer> messageResIds = - getEditMessageAndTitleResIds(checkAddressCompletionStatus(mProfile)); + Pair<Integer, Integer> messageResIds = getEditMessageAndTitleResIds( + checkAddressCompletionStatus(mProfile, NORMAL_COMPLETENESS_CHECK)); mEditMessage = messageResIds.first.intValue() == 0 ? null @@ -222,12 +230,14 @@ * @return int The completion status. */ @CompletionStatus - public static int checkAddressCompletionStatus(AutofillProfile profile) { + public static int checkAddressCompletionStatus( + AutofillProfile profile, @CompletenessCheckType int checkType) { int invalidFieldsCount = 0; int completionStatus = COMPLETE; - if (!PhoneNumberUtils.isGlobalPhoneNumber( - PhoneNumberUtils.stripSeparators(profile.getPhoneNumber().toString()))) { + if (checkType != IGNORE_PHONE_COMPLETENESS_CHECK + && !PhoneNumberUtils.isGlobalPhoneNumber( + PhoneNumberUtils.stripSeparators(profile.getPhoneNumber().toString()))) { completionStatus = INVALID_PHONE_NUMBER; invalidFieldsCount++; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java index a23872b3..45aae10b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
@@ -55,7 +55,8 @@ ? null : pdm.getProfile(card.getBillingAddressId()); if (billingAddress != null - && AutofillAddress.checkAddressCompletionStatus(billingAddress) + && AutofillAddress.checkAddressCompletionStatus( + billingAddress, AutofillAddress.IGNORE_PHONE_COMPLETENESS_CHECK) != AutofillAddress.COMPLETE) { billingAddress = null; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java index 85da3ba7..ac73e72b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java
@@ -88,7 +88,8 @@ InstrumentDetailsCallback callback) { // The billing address should never be null for a credit card at this point. assert mBillingAddress != null; - assert AutofillAddress.checkAddressCompletionStatus(mBillingAddress) + assert AutofillAddress.checkAddressCompletionStatus( + mBillingAddress, AutofillAddress.IGNORE_PHONE_COMPLETENESS_CHECK) == AutofillAddress.COMPLETE; assert mIsComplete; assert mHasValidNumberAndName; @@ -246,7 +247,8 @@ assert card.getBillingAddressId() != null; assert card.getBillingAddressId().equals(billingAddress.getGUID()); assert card.getIssuerIconDrawableId() != 0; - assert AutofillAddress.checkAddressCompletionStatus(billingAddress) + assert AutofillAddress.checkAddressCompletionStatus( + billingAddress, AutofillAddress.IGNORE_PHONE_COMPLETENESS_CHECK) == AutofillAddress.COMPLETE; mCard = card;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java index bf65b3f3..fd38e24 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
@@ -183,7 +183,8 @@ if (TextUtils.isEmpty(profile.getStreetAddress())) continue; mProfilesForBillingAddress.add(profile); Pair<Integer, Integer> editMessageResIds = AutofillAddress.getEditMessageAndTitleResIds( - AutofillAddress.checkAddressCompletionStatus(profile)); + AutofillAddress.checkAddressCompletionStatus( + profile, AutofillAddress.IGNORE_PHONE_COMPLETENESS_CHECK)); if (editMessageResIds.first.intValue() != 0) { mIncompleteProfilesForBillingAddress.put( profile.getGUID(), editMessageResIds.first); @@ -194,10 +195,12 @@ Collections.sort(mProfilesForBillingAddress, new Comparator<AutofillProfile>() { @Override public int compare(AutofillProfile a, AutofillProfile b) { - boolean isAComplete = - AutofillAddress.checkAddressCompletionStatus(a) == AutofillAddress.COMPLETE; - boolean isBComplete = - AutofillAddress.checkAddressCompletionStatus(b) == AutofillAddress.COMPLETE; + boolean isAComplete = AutofillAddress.checkAddressCompletionStatus( + a, AutofillAddress.NORMAL_COMPLETENESS_CHECK) + == AutofillAddress.COMPLETE; + boolean isBComplete = AutofillAddress.checkAddressCompletionStatus( + b, AutofillAddress.NORMAL_COMPLETENESS_CHECK) + == AutofillAddress.COMPLETE; return ApiCompatibilityUtils.compareBoolean(isBComplete, isAComplete); } });
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java index c25dc4806..58d95b3 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
@@ -119,42 +119,51 @@ void onPaymentRequestServiceCanMakePaymentQueryResponded(); } - /** The object to keep track of cached payment query results. */ + /** The object to keep track of payment queries. */ private static class CanMakePaymentQuery { private final Set<PaymentRequestImpl> mObservers = new HashSet<>(); - private final Set<String> mMethods; - private Boolean mResponse; + private final Map<String, String> mMethods; /** * Keeps track of a payment query. * - * @param methods The payment methods that are being queried. + * @param methods The map of the payment methods that are being queried to the corresponding + * payment method data. */ - public CanMakePaymentQuery(Set<String> methods) { + public CanMakePaymentQuery(Map<String, PaymentMethodData> methods) { assert methods != null; - mMethods = methods; + mMethods = new HashMap<>(); + for (Map.Entry<String, PaymentMethodData> method : methods.entrySet()) { + mMethods.put(method.getKey(), + method.getValue() == null ? "" : method.getValue().stringifiedData); + } } /** - * Checks whether the given payment methods matches the previously queried payment methods. + * Checks whether the given payment methods and data match the previously queried payment + * methods and data. * - * @param methods The payment methods that are being queried. - * @return True if the given methods match the previously queried payment methods. + * @param methods The map of the payment methods that are being queried to the corresponding + * payment method data. + * @return True if the given methods and data match the previously queried payment methods + * and data. */ - public boolean matchesPaymentMethods(Set<String> methods) { - return mMethods.equals(methods); - } + public boolean matchesPaymentMethods(Map<String, PaymentMethodData> methods) { + if (!mMethods.keySet().equals(methods.keySet())) return false; - /** @return Whether payment can be made, or null if response is not known yet. */ - public Boolean getPreviousResponse() { - return mResponse; + for (Map.Entry<String, String> thisMethod : mMethods.entrySet()) { + PaymentMethodData otherMethod = methods.get(thisMethod.getKey()); + String otherData = otherMethod == null ? "" : otherMethod.stringifiedData; + if (!thisMethod.getValue().equals(otherData)) return false; + } + + return true; } /** @param response Whether payment can be made. */ - public void setResponse(boolean response) { - if (mResponse == null) mResponse = response; + public void notifyObserversOfResponse(boolean response) { for (PaymentRequestImpl observer : mObservers) { - observer.respondCanMakePaymentQuery(mResponse.booleanValue()); + observer.respondCanMakePaymentQuery(response); } mObservers.clear(); } @@ -1229,7 +1238,7 @@ CanMakePaymentQuery query = sCanMakePaymentQueries.get(mSchemelessOriginForPaymentApp); if (query == null) { - query = new CanMakePaymentQuery(mMethodData.keySet()); + query = new CanMakePaymentQuery(Collections.unmodifiableMap(mMethodData)); sCanMakePaymentQueries.put(mSchemelessOriginForPaymentApp, query); mHandler.postDelayed(new Runnable() { @Override @@ -1237,9 +1246,7 @@ sCanMakePaymentQueries.remove(mSchemelessOriginForPaymentApp); } }, CAN_MAKE_PAYMENT_QUERY_PERIOD_MS); - } - - if (!query.matchesPaymentMethods(mMethodData.keySet())) { + } else if (!query.matchesPaymentMethods(Collections.unmodifiableMap(mMethodData))) { mClient.onCanMakePayment(CanMakePaymentQueryResult.QUERY_QUOTA_EXCEEDED); if (sObserverForTest != null) { sObserverForTest.onPaymentRequestServiceCanMakePaymentQueryResponded(); @@ -1247,22 +1254,15 @@ return; } - if (query.getPreviousResponse() != null) { - respondCanMakePaymentQuery(query.getPreviousResponse().booleanValue()); - return; - } - query.addObserver(this); - if (isFinishedQueryingPaymentApps()) { - query.setResponse(mCanMakePayment); - mJourneyLogger.setCanMakePaymentValue(mCanMakePayment); - } + if (isFinishedQueryingPaymentApps()) query.notifyObserversOfResponse(mCanMakePayment); } private void respondCanMakePaymentQuery(boolean response) { + if (mClient == null) return; mClient.onCanMakePayment(response ? CanMakePaymentQueryResult.CAN_MAKE_PAYMENT : CanMakePaymentQueryResult.CANNOT_MAKE_PAYMENT); - mJourneyLogger.setCanMakePaymentValue(mCanMakePayment); + mJourneyLogger.setCanMakePaymentValue(response); if (sObserverForTest != null) { sObserverForTest.onPaymentRequestServiceCanMakePaymentQueryResponded(); } @@ -1376,7 +1376,7 @@ } CanMakePaymentQuery query = sCanMakePaymentQueries.get(mSchemelessOriginForPaymentApp); - if (query != null) query.setResponse(mCanMakePayment); + if (query != null) query.notifyObserversOfResponse(mCanMakePayment); // The list of payment instruments is ready to display. List<PaymentInstrument> sortedInstruments = new ArrayList<>();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestSection.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestSection.java index 7f98299..491e92e0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestSection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestSection.java
@@ -1084,6 +1084,12 @@ editorIcon.setOnClickListener(OptionSection.this); return editorIcon; } + + /** Returns the edit icon for the option row. */ + @VisibleForTesting + public View getEditIconForTest() { + return mEditIcon; + } } /** Top and bottom margins for each item. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java index a5a6521..de83e60 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
@@ -8,7 +8,6 @@ import org.chromium.base.ContextUtils; import org.chromium.base.library_loader.LibraryProcessType; -import org.chromium.chrome.browser.ChromeApplication; import org.chromium.chrome.browser.ShortcutHelper; import org.chromium.chrome.browser.externalnav.ExternalNavigationParams; import org.chromium.chrome.browser.metrics.WebApkUma; @@ -34,6 +33,9 @@ /** Indicates whether launching renderer in WebAPK process is enabled. */ private boolean mCanLaunchRendererInWebApkProcess; + private final ChildProcessCreationParams mDefaultParams = + ChildProcessCreationParams.getDefault(); + @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); @@ -185,14 +187,13 @@ */ private void initializeChildProcessCreationParams(boolean isForWebApk) { // TODO(hanxi): crbug.com/664530. WebAPKs shouldn't use a global ChildProcessCreationParams. - ChromeApplication chrome = (ChromeApplication) ContextUtils.getApplicationContext(); - ChildProcessCreationParams params = chrome.getChildProcessCreationParams(); + ChildProcessCreationParams params = mDefaultParams; if (isForWebApk) { boolean isExternalService = false; params = new ChildProcessCreationParams(getWebappInfo().webApkPackageName(), isExternalService, LibraryProcessType.PROCESS_CHILD); } - ChildProcessCreationParams.set(params); + ChildProcessCreationParams.registerDefault(params); } @Override
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb index 2224c8f..2f48912 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">ጣቢያን ቅዳ</translation> <translation id="2038563949887743358">የዴስክቶፕ ጣቢያን ጠይቅን አብራ</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> ጊባ ሌሎች መተግበሪያዎች</translation> -<translation id="2073235970478114994">ምስሎችን ጫን</translation> <translation id="2079545284768500474">ቀልብስ</translation> <translation id="2082238445998314030">ውጤት <ph name="RESULT_NUMBER" /> ከ<ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">ይህ ባህሪ ሲበራ Chrome የጎበኟቸውን ገጾች ከማውረዱ በፊት ለማመቅ የGoogle አገልጋዮችን ይጠቀማል። ግላዊ ግንኙነቶችን (ኤችቲቲፒኤስ) ወይም ማንነት የማያሳውቁ ትሮችን በመጠቀም የተደረሰባቸው ገጾች አይተቡም ወይም በGoogle አይታይም።</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb index 53ae01d..45951243 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">نسخ الموقع</translation> <translation id="2038563949887743358">تشغيل طلب موقع الويب لسطح المكتب</translation> <translation id="2045104531052923016">تطبيقات أخرى بحجم <ph name="GIGABYTES" /> غيغابايت</translation> -<translation id="2073235970478114994">تحميل الصور</translation> <translation id="2079545284768500474">تراجع</translation> <translation id="2082238445998314030">النتيجة <ph name="RESULT_NUMBER" /> من <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">عند تشغيل هذه الميزة، سيستخدم Chrome خوادم Google لضغط الصفحات التي تزورها قبل تنزيلها. ولن يتم تحسين الصفحات التي يتم الوصول إليها باستخدام الاتصالات الخاصة (HTTPS) أو من خلال علامات تبويب التصفح المتخفي أو لن يكتشفها متصفح Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb index e192ee4..897d7f1 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Копиране на сайта</translation> <translation id="2038563949887743358">Включване на функцията за заявяване на настолни сайтове</translation> <translation id="2045104531052923016">Други приложения: <ph name="GIGABYTES" /> ГБ</translation> -<translation id="2073235970478114994">Зареждане на изображенията</translation> <translation id="2079545284768500474">Отмяна</translation> <translation id="2082238445998314030">Резултат <ph name="RESULT_NUMBER" /> от <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Когато тази функция е включена, Chrome ще използва сървърите на Google, за да компресира посещаваните от вас страници преди изтеглянето им. Няма да оптимизираме, нито ще виждаме страниците, отваряни през частни връзки (HTTPS) или в раздели в режим „инкогнито“.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb index f2d69d5d..4547496 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copia el lloc</translation> <translation id="2038563949887743358">Activa Mostra com a ordinador</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB en altres aplicacions</translation> -<translation id="2073235970478114994">Carrega les imatges</translation> <translation id="2079545284768500474">Desfés</translation> <translation id="2082238445998314030">Resultat <ph name="RESULT_NUMBER" /> de <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Quan aquesta funció estigui activada, Chrome farà servir els servidors de Google per comprimir les pàgines que visiteu abans de baixar-les. Google no optimitzarà ni veurà les pàgines a les quals accediu mitjançant connexions privades (HTTPS) o pestanyes d'incògnit.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb index eddc36e..4a9b744 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopírovat web</translation> <translation id="2038563949887743358">Zapnout funkci Verze webu pro PC</translation> <translation id="2045104531052923016">Ostatní aplikace: <ph name="GIGABYTES" /> GB</translation> -<translation id="2073235970478114994">Načíst obrázky</translation> <translation id="2079545284768500474" /> <translation id="2082238445998314030">Výsledek <ph name="RESULT_NUMBER" /> z <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Je-li tato funkce zapnutá, Chrome navštívené stránky před stažením zkomprimuje pomocí serverů Google. Stránky zobrazené prostřednictvím soukromého připojení (HTTPS) nebo v anonymním režimu nebudou pro Google viditelné a nebudou optimalizovány.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb index 5f261bb..8fc9150 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopiér websitet</translation> <translation id="2038563949887743358">Slå computerversionen af websitet til</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB af andre apps</translation> -<translation id="2073235970478114994">Indlæs billeder</translation> <translation id="2079545284768500474">Fortryd</translation> <translation id="2082238445998314030">Resultat <ph name="RESULT_NUMBER" /> af <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Når denne funktion er aktiveret, anvender Chrome Googles servere til at komprimere de sider, du besøger, før de downloades. Google optimerer og ser ikke sider, der besøges via private forbindelser (HTTPS) eller inkognitofaner.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb index 380d2d2..d7bbb02 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Website kopieren</translation> <translation id="2038563949887743358">"Desktopversion anfordern" aktivieren</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB sonstiger Apps</translation> -<translation id="2073235970478114994">Bilder laden</translation> <translation id="2079545284768500474">Rückgängig machen</translation> <translation id="2082238445998314030">Ergebnis <ph name="RESULT_NUMBER" /> von <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Wenn diese Funktion aktiviert ist, nutzt Chrome Google-Server, um besuchte Seiten vor dem Download zu komprimieren. Über private Verbindungen (HTTPS) oder in Inkognito-Tabs aufgerufene Seiten werden von Google nicht optimiert oder protokolliert.</translation> @@ -521,7 +520,7 @@ <translation id="6656545060687952787">Chrome benötigt Zugriff auf den Standort, um nach Geräten suchen zu können. <ph name="BEGIN_LINK" />Berechtigungen aktualisieren<ph name="END_LINK" /></translation> <translation id="6657585470893396449">Passwort</translation> <translation id="6659594942844771486">Tab</translation> -<translation id="666268767214822976">Während der Eingabe in die Adressleiste mithilfe einer Vervollständigungsfunktion verwandte Suchanfragen und beliebte Websites einblenden</translation> +<translation id="666268767214822976">Während der Eingabe in die Adressleiste mithilfe einer Vervollständigungsfunktion ähnliche Suchanfragen und beliebte Websites einblenden</translation> <translation id="666731172850799929">In <ph name="APP_NAME" /> öffnen</translation> <translation id="666981079809192359">Chrome-Datenschutzhinweise</translation> <translation id="6698801883190606802">Synchronisierte Daten verwalten</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb index dfb8bc5..ef54165 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Αντιγραφή ιστοτόπου</translation> <translation id="2038563949887743358">Ενεργοποίηση αιτήματος ιστότοπου για υπολογιστές</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB από άλλες εφαρμογές</translation> -<translation id="2073235970478114994">Φόρτωση εικόνων</translation> <translation id="2079545284768500474">Αναίρεση</translation> <translation id="2082238445998314030">Αποτέλεσμα <ph name="RESULT_NUMBER" /> από <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Όταν είναι ενεργοποιημένη αυτή η λειτουργία, το Chrome θα χρησιμοποιεί τους διακομιστές της Google για τη συμπίεση των σελίδων που επισκέπτεστε πριν από τη λήψη τους. Οι σελίδες τις οποίες επισκεφτήκατε μέσω ασφαλών συνδέσεων (HTTPS) ή σε καρτέλες ανώνυμης περιήγησης δεν θα βελτιστοποιηθούν ή δεν θα είναι ορατές από την Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb index e39ae3aa..15fd5b09 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copy site</translation> <translation id="2038563949887743358">Turn on Request desktop site</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB other apps</translation> -<translation id="2073235970478114994">Load images</translation> <translation id="2079545284768500474">Undo</translation> <translation id="2082238445998314030">Result <ph name="RESULT_NUMBER" /> of <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">When this feature is turned on, Chrome will use Google servers to compress pages that you visit before downloading them. Pages accessed using private connections (HTTPS) or in Incognito tabs will not be optimised or seen by Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb index cab6caf..ecbf07d75 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copiar el sitio</translation> <translation id="2038563949887743358">Activar la opción para solicitar versión de escritorio</translation> <translation id="2045104531052923016">Otras apps: <ph name="GIGABYTES" /> gigabytes</translation> -<translation id="2073235970478114994">Cargar imágenes</translation> <translation id="2079545284768500474">Deshacer</translation> <translation id="2082238445998314030">Resultado <ph name="RESULT_NUMBER" /> de <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Cuando se active esta función, Chrome usará los servidores de Google para comprimir las páginas que visitas antes de descargarlas. Google no optimizará ni verá las páginas a las que accediste a través de conexiones privadas (HTTPS) o pestañas de incógnito.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb index 90fc26d..777d1d8 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copiar sitio web</translation> <translation id="2038563949887743358">Activar opción para ver como ordenador</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB de otras aplicaciones</translation> -<translation id="2073235970478114994">Cargar imágenes</translation> <translation id="2079545284768500474">Deshacer</translation> <translation id="2082238445998314030">Resultado <ph name="RESULT_NUMBER" /> de <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Si se activa esta función, Chrome utilizará los servidores de Google para comprimir las páginas que visites antes de descargarlas. Google no optimizará ni verá las páginas a las que accedas mediante conexiones privadas (HTTPS) o pestañas de incógnito.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb index 76cd038..a7e3e3c 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">کپی کردن سایت</translation> <translation id="2038563949887743358">روشن کردن درخواست سایت رایانهای</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> گیگابایت توسط سایر برنامهها</translation> -<translation id="2073235970478114994">بارگیری تصاویر</translation> <translation id="2079545284768500474">لغو</translation> <translation id="2082238445998314030"><ph name="RESULT_NUMBER" /> نتیجه از <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">وقتی این قابلیت روشن است، Chrome از سرورهای Google استفاده میکند تا صفحاتی را که بازدید میکنید قبل از بارگیری آنها فشرده کند. Google صفحههایی را که از طریق اتصالات خصوصی (HTTPS) یا برگههای حالت ناشناس به آنها میروید بهینهسازی یا مشاهده نمیکند.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb index 1622b4643..938765d3 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopioi sivusto</translation> <translation id="2038563949887743358">Ota käyttöön Käytä tietokoneversiota</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> Gt muita sovelluksia</translation> -<translation id="2073235970478114994">Lataa kuvat</translation> <translation id="2079545284768500474">Kumoa</translation> <translation id="2082238445998314030">Tulos <ph name="RESULT_NUMBER" />/<ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Kun tämä toiminto on käytössä, Chrome pakkaa lukemasi sivut Googlen palvelimilla ennen niiden lataamista. Suojattuja yhteyksiä (HTTPS) käyttäviä tai incognito-välilehdillä avattuja sivuja ei optimoida eikä Google näe niitä.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb index 20d3d7f..ea79536 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopyahin ang site</translation> <translation id="2038563949887743358">I-on ang Hilingin ang site sa desktop</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB na iba pang mga app</translation> -<translation id="2073235970478114994">I-load ang mga larawan</translation> <translation id="2079545284768500474">I-undo</translation> <translation id="2082238445998314030">Resulta <ph name="RESULT_NUMBER" /> sa <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Kapag naka-on ang feature na ito, gagamitin ng Chrome ang mga server ng Google upang i-compress ang mga page na bibisitahin mo bago i-download ang mga ito. Ang mga page na ina-access gamit ang mga pribadong koneksyon (HTTPS) o sa mga tab na Incognito ay hindi mao-optimize o makikita ng Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb index 1344a83..0addde8 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copier le site</translation> <translation id="2038563949887743358">Activer "Voir version ordinateur"</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> Go par d'autres applis</translation> -<translation id="2073235970478114994">Charger les images</translation> <translation id="2079545284768500474">Annuler</translation> <translation id="2082238445998314030">Résultat <ph name="RESULT_NUMBER" /> sur <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Lorsque cette fonctionnalité est activée, les pages consultées dans Chrome sont d'abord compressées via les serveurs Google avant d'être téléchargées. Les pages consultées via des connexions privées (HTTPS) ou en mode navigation privée ne sont pas optimisées ni détectées par Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb index 2a2915c..1006709 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">साइट की कॉपी करें</translation> <translation id="2038563949887743358">अनुरोध डेस्कटॉप साइट चालू करें</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB अन्य ऐप्लिकेशन</translation> -<translation id="2073235970478114994">चित्र लोड करें</translation> <translation id="2079545284768500474">वापस लाएं</translation> <translation id="2082238445998314030"><ph name="TOTAL_RESULTS" /> में से <ph name="RESULT_NUMBER" /> परिणाम</translation> <translation id="2095887075102408547">इस सुविधा के चालू होने पर, Chrome आपके द्वारा देखे जाने वाले पृष्ठों को डाउनलोड करने से पहले संपीड़ित करने के लिए Google सर्वर का उपयोग करेगा. निजी कनेक्शन (HTTPS) या गुप्त टैब का उपयोग करके एक्सेस किए गए पृष्ठों को Google द्वारा ऑप्टिमाइज़ या देखा नहीं जाएगा.</translation> @@ -131,7 +130,7 @@ <translation id="2369533728426058518">खुले टैब</translation> <translation id="2385560268894525395">पिछला सप्ताह</translation> <translation id="2387895666653383613">लेख स्केलिंग</translation> -<translation id="238909021488141516">सामग्री डाउनलोड करते समय कोई त्रुटि हुई.</translation> +<translation id="238909021488141516">सामग्री डाउनलोड करते समय कोई गड़बड़ी हुई.</translation> <translation id="2414886740292270097">गहरा</translation> <translation id="2433507940547922241">प्रकटन</translation> <translation id="2440823041667407902">स्थान की एक्सेस</translation> @@ -169,7 +168,7 @@ <translation id="2889768325388591707">टैब तेज़ी से बदलें</translation> <translation id="2891154217021530873">पेज को लोड करना रोकें</translation> <translation id="2900528713135656174">इवेंट बनाएं</translation> -<translation id="2902702728133930130">अनपेक्षित त्रुटि के साथ स्टार्टअप के दौरान Chrome विफल रहा.</translation> +<translation id="2902702728133930130">अनपेक्षित गड़बड़ी के साथ स्टार्टअप के दौरान Chrome विफल रहा.</translation> <translation id="2903493209154104877">पते</translation> <translation id="2913331724188855103">साइटों को कुकी डेटा सहेजने और पढ़ने दें (अनुशंसित)</translation> <translation id="2932150158123903946">Google <ph name="APP_NAME" /> मेमोरी</translation> @@ -236,7 +235,7 @@ <translation id="3656115297268584622"><ph name="BEGIN_LINK" />Android सेटिंग<ph name="END_LINK" /> में स्थान चालू करें.</translation> <translation id="3661699943263275414">तृतीय-पक्ष वेबसाइटें कुकी डेटा को सहेज सकती हैं और पढ़ सकती हैं</translation> <translation id="3662546969139119822">यहां कोई इतिहास नहीं है</translation> -<translation id="3672452749423051839">मार्गदर्शक त्रुटि सुझाव</translation> +<translation id="3672452749423051839">मार्गदर्शक गड़बड़ी सुझाव</translation> <translation id="3714981814255182093">ढूंढें बार खोलें</translation> <translation id="3716158070938632480">वेबपेज आस-पास उपलब्ध हैं</translation> <translation id="3738139272394829648">खोजने के लिए स्पर्श करें</translation> @@ -290,7 +289,7 @@ <translation id="4254813446494774748">अनुवाद की भाषा:</translation> <translation id="4256782883801055595">ओपन सोर्स लाइसेंस</translation> <translation id="4259722352634471385">मार्गदर्शक अवरोधित है: <ph name="URL" /></translation> -<translation id="4262028915562328938">समन्वयन त्रुटि हुई, विवरण प्राप्त करने के लिए टैप करें.</translation> +<translation id="4262028915562328938">समन्वयन गड़बड़ी हुई, विवरण प्राप्त करने के लिए टैप करें.</translation> <translation id="4269820728363426813">लिंक पते की प्रतिलिपि बनाएं</translation> <translation id="4271185234001491831">कभी भी <ph name="LANGUAGE" /> का अनुवाद न करें</translation> <translation id="4275663329226226506">मीडिया</translation> @@ -462,7 +461,7 @@ <translation id="6039379616847168523">सीधे अगले टैब पर जाएं</translation> <translation id="6040143037577758943">बंद करें</translation> <translation id="6042308850641462728">अधिक</translation> -<translation id="604996488070107836">किसी अज्ञात त्रुटि के कारण <ph name="FILE_NAME" /> का डाउनलोड विफल रहा.</translation> +<translation id="604996488070107836">किसी अज्ञात गड़बड़ी के कारण <ph name="FILE_NAME" /> का डाउनलोड विफल रहा.</translation> <translation id="605721222689873409">YY</translation> <translation id="6075798973483050474">मुखपृष्ठ संपादित करें</translation> <translation id="6078323886959318429">शॉर्टकट जोड़ें</translation> @@ -749,7 +748,7 @@ <translation id="9219103736887031265">चित्र</translation> <translation id="932327136139879170">मुख्यपृष्ठ</translation> <translation id="932599481871055447">डेटा बचाएं और तेज़ी से ब्राउज़ करें</translation> -<translation id="938850635132480979">त्रुटि: <ph name="ERROR_CODE" /></translation> +<translation id="938850635132480979">गड़बड़ी: <ph name="ERROR_CODE" /></translation> <translation id="945632385593298557">अपना माइक्रोफ़ोन एक्सेस करें</translation> <translation id="951339005376969845">मौजूदा डेटा हटाएं. आप <ph name="FROM_ACCOUNT" /> पर वापस जाकर उसे पुनर्प्राप्त कर सकते हैं.</translation> <translation id="95817756606698420">चीन में खोज करने के लिए Chrome, <ph name="BEGIN_BOLD" />Sogou<ph name="END_BOLD" /> का उपयोग कर सकता है. आप इसे <ph name="BEGIN_LINK" />सेटिंग<ph name="END_LINK" /> में बदल सकते हैं.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb index 04b1fef..908deac 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopiraj web-lokaciju</translation> <translation id="2038563949887743358">Uključivanje zahtjeva za prikaz klasične web-lokacije</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB ostale aplikacije</translation> -<translation id="2073235970478114994">Učitaj slike</translation> <translation id="2079545284768500474">Poništi</translation> <translation id="2082238445998314030"><ph name="RESULT_NUMBER" /> od <ph name="TOTAL_RESULTS" /> rezultata</translation> <translation id="2095887075102408547">Kada je ta značajka uključena, Chrome će upotrebljavati Googleove poslužitelje kako bi komprimirao posjećene stranice prije preuzimanja. Google neće optimizirati niti vidjeti stranice kojima se pristupa privatnim vezama (HTTPS) ili na anonimnim karticama.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb index d71f5a1..8ac66e5f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Webhely másolása</translation> <translation id="2038563949887743358">Kapcsolja be az Asztali webhely kérése funkciót</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB más alkalmazások által</translation> -<translation id="2073235970478114994">Képek betöltése</translation> <translation id="2079545284768500474">Visszavonás</translation> <translation id="2082238445998314030">Eredmény: <ph name="RESULT_NUMBER" />/<ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Amikor ezt a funkciót bekapcsolja, a Chrome a Google-szerverek segítségével tömöríti az Ön által felkeresett oldalakat, mielőtt letöltené azokat. A privát kapcsolat (HTTPS) használatával, illetve az inkognitómódban megtekintett oldalakat a Google nem látja és nem optimalizálja.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb index 1aedd922..68eebb7 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Salin situs</translation> <translation id="2038563949887743358">Aktifkan Ubah situs desktop</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB aplikasi lain</translation> -<translation id="2073235970478114994">Muat gambar</translation> <translation id="2079545284768500474">Urungkan</translation> <translation id="2082238445998314030">Hasil <ph name="RESULT_NUMBER" /> dari <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Saat fitur ini diaktifkan, Chrome akan menggunakan server Google untuk mengompresi laman yang Anda kunjungi sebelum mendownloadnya. Laman yang diakses menggunakan sambungan pribadi (HTTPS) atau tab Penyamaran tidak akan dioptimalkan maupun dilihat oleh Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb index 4a64f85..4e6ff48 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copia sito</translation> <translation id="2038563949887743358">Attiva Richiedi sito desktop</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB per altre app</translation> -<translation id="2073235970478114994">Carica immagini</translation> <translation id="2079545284768500474">Annulla</translation> <translation id="2082238445998314030">Risultato <ph name="RESULT_NUMBER" /> di <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Quando questa funzione è attiva, Chrome utilizza i server di Google per comprimere le pagine che visiti prima di scaricarle. Le pagine visitate utilizzando connessioni private (HTTPS) o in schede di navigazione in incognito non vengono ottimizzate o viste da Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb index 44201c7c..cb86db8 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">העתק אתר</translation> <translation id="2038563949887743358">הפעל את 'בקש אתר עבור מחשב שולחני'</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB ליישומים אחרים</translation> -<translation id="2073235970478114994">טען תמונות</translation> <translation id="2079545284768500474">בטל פעולה</translation> <translation id="2082238445998314030">תוצאה <ph name="RESULT_NUMBER" /> מתוך <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">כשהתכונה הזו פועלת, Chrome ישתמש בשרתי Google כדי לדחוס דפים שבהם אתה מבקר לפני הורדתם. Google לא תראה דפים שהגישה אליהם בוצעה בחיבור פרטי (HTTPS) או בכרטיסיות גלישה בסתר', וגם לא תבצע אופטימיזציה שלהם.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb index 1f0fe505..814d6c4 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">サイトをコピー</translation> <translation id="2038563949887743358">[PC 版サイトを見る] をオンにします</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB を他のアプリで使用中</translation> -<translation id="2073235970478114994">画像を読み込む</translation> <translation id="2079545284768500474">元に戻す</translation> <translation id="2082238445998314030">結果 <ph name="TOTAL_RESULTS" /> 件中 <ph name="RESULT_NUMBER" /> 件目</translation> <translation id="2095887075102408547">この機能が有効になっている場合、アクセスしたページはダウンロード前に Google サーバーで圧縮されます。プライベート接続(HTTPS)やシークレット タブでアクセスしたページには、Google による最適化や確認は行われません。</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb index c6e32681..7dd48922 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">사이트 복사</translation> <translation id="2038563949887743358">데스크톱 버전으로 보기 사용 설정</translation> <translation id="2045104531052923016">기타 앱 <ph name="GIGABYTES" />GB</translation> -<translation id="2073235970478114994">이미지 로드</translation> <translation id="2079545284768500474">실행취소</translation> <translation id="2082238445998314030">전체 결과 <ph name="TOTAL_RESULTS" />개 중 <ph name="RESULT_NUMBER" />개</translation> <translation id="2095887075102408547">이 기능을 사용 설정하면 Chrome은 Google 서버를 이용해 방문한 페이지를 압축한 후 다운로드합니다. 비공개 연결(HTTPS)이나 시크릿 탭을 통해 액세스한 페이지는 Google에서 최적화하거나 볼 수 없습니다.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb index 4099ea3..c024ad3 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopijuoti svetainę</translation> <translation id="2038563949887743358">Įjungti stalinio kompiuterio svetainės užklausą</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB užima kitos programos</translation> -<translation id="2073235970478114994">Įkelti vaizdus</translation> <translation id="2079545284768500474">Anuliuoti</translation> <translation id="2082238445998314030">Rezultatų: <ph name="RESULT_NUMBER" /> iš <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Kai ši funkcija įjungta, „Chrome“ naudoja „Google“ serverius, kad glaudintų puslapius, kuriuose lankotės, prieš juos atsisiųsdama. Puslapių, kurie buvo pasiekti naudojant privačius ryšius (HTTPS) ar inkognito skirtukų lapus, „Google“ neoptimizuos ir nematys.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb index 6d5391db..5c095d4c 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopēt vietni</translation> <translation id="2038563949887743358">Ieslēgt iestatījumu “Pieprasīt datora vietni”</translation> <translation id="2045104531052923016">Citas lietotnes: <ph name="GIGABYTES" /> GB</translation> -<translation id="2073235970478114994">Ielādēt attēlus</translation> <translation id="2079545284768500474">Atsaukt</translation> <translation id="2082238445998314030"><ph name="RESULT_NUMBER" />. rezultāts no <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Ja šī funkcija ir ieslēgta, Chrome izmanto Google serverus, lai saspiestu jūsu apmeklētās lapas pirms to lejupielādes. Ja lapu atvēršanai tiek izmantots privāts savienojums (HTTPS) vai inkognito režīms, tās netiek optimizētas un Google tās nevar skatīt.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb index feff5589..0e7886d5 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Site kopiëren</translation> <translation id="2038563949887743358">'Desktopsite aanvragen' inschakelen</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB voor andere apps</translation> -<translation id="2073235970478114994">Afbeeldingen laden</translation> <translation id="2079545284768500474">Ongedaan maken</translation> <translation id="2082238445998314030">Resultaat <ph name="RESULT_NUMBER" /> van <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Als deze functie is ingeschakeld, gebruikt Chrome Google-servers om pagina's die je bezoekt, te comprimeren voordat ze worden gedownload. Pagina's die worden geopend via privéverbindingen (HTTPS) of op incognitotabbladen, worden niet geoptimaliseerd of gezien door Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb index b0976b0..129d4ea 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopiér nettstedet</translation> <translation id="2038563949887743358">Slå på Bruk skrivebordsversjon</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB andre apper</translation> -<translation id="2073235970478114994">Last inn bilder</translation> <translation id="2079545284768500474">Angre</translation> <translation id="2082238445998314030">Resultat <ph name="RESULT_NUMBER" /> av <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Når denne funksjonen er slått på, blir sidene du besøker, komprimert på Googles tjenere før de lastes ned til Chrome. Google verken ser eller optimaliserer sider som åpnes med private tilkoblinger (HTTPS) eller i inkognitofaner.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb index 496124a3..ce5c2b8e 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopiuj witrynę</translation> <translation id="2038563949887743358">Włącz opcję „Wersja na komputer”</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB innych aplikacji</translation> -<translation id="2073235970478114994">Załaduj zdjęcia</translation> <translation id="2079545284768500474">Cofnij</translation> <translation id="2082238445998314030">Wynik <ph name="RESULT_NUMBER" /> z <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Kiedy ta funkcja jest włączona, Chrome korzysta z serwerów Google, by kompresować strony przed ich pobraniem. Google nie optymalizuje ani nie widzi stron, z którymi łączysz się przez HTTPS lub które przeglądasz na kartach incognito.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb index 1840d76..3d1e7367 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copiar site</translation> <translation id="2038563949887743358">Ativar "Ver versão para Web"</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB de outros apps</translation> -<translation id="2073235970478114994">Carregar imagens</translation> <translation id="2079545284768500474">Desfazer</translation> <translation id="2082238445998314030">Resultado <ph name="RESULT_NUMBER" /> de <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Este recurso funciona assim: usamos os servidores do Google para compactar as páginas que você visita antes de fazer o download delas. O Google então lê e otimiza esses dados. (não funciona em páginas HTTPS e nem em guias anônimas)</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb index 0c65e8a..8b385f5 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copiar site</translation> <translation id="2038563949887743358">Ativar Pedir site para computador</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB de outras aplicações</translation> -<translation id="2073235970478114994">Carregar imagens</translation> <translation id="2079545284768500474">Anular</translation> <translation id="2082238445998314030">Resultado <ph name="RESULT_NUMBER" /> de <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Quando esta funcionalidade está ativada, o Chrome utiliza os servidores da Google para comprimir as páginas visitadas antes de as transferir. As páginas acedidas através de ligações privadas (HTTPS) ou em separadores de navegação anónima não são otimizadas ou vistas pela Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb index 4e51d9e0..3863b67 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Copiază site-ul</translation> <translation id="2038563949887743358">Activează opțiunea Versiune site pentru desktop</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB pentru alte aplicații</translation> -<translation id="2073235970478114994">Încarcă imaginile</translation> <translation id="2079545284768500474">Anulează</translation> <translation id="2082238445998314030">Rezultatul <ph name="RESULT_NUMBER" /> din <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Când această funcție este activată, Chrome va folosi serverele Google pentru a comprima paginile pe care le accesezi înainte de a le descărca. Paginile accesate folosind conexiuni private (HTTPS) sau în file incognito nu vor fi optimizate sau detectate de Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb index 76c9fd9..3ce32e1 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Копировать сайт</translation> <translation id="2038563949887743358">Включить полную версию сайта</translation> <translation id="2045104531052923016">Другие приложения: <ph name="GIGABYTES" /> ГБ</translation> -<translation id="2073235970478114994">Загрузить изображения</translation> <translation id="2079545284768500474">Отмена</translation> <translation id="2082238445998314030">Результат <ph name="RESULT_NUMBER" />, всего <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Если вы включите эту функцию, серверы Google начнут сжимать данные перед показом веб-страниц в Chrome. Это не касается данных, полученных по протоколу HTTPS и в режиме инкогнито.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb index a90f380..2f95b78 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopírovať web</translation> <translation id="2038563949887743358">Zapnutie žiadosti o verziu stránok pre počítače</translation> <translation id="2045104531052923016">Ďalšie aplikácie: <ph name="GIGABYTES" /> GB</translation> -<translation id="2073235970478114994">Načítať obrázky</translation> <translation id="2079545284768500474">Späť</translation> <translation id="2082238445998314030">Výsledok <ph name="RESULT_NUMBER" /> z <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Keď je táto funkcia zapnutá, Chrome navštívené stránky pred stiahnutím komprimuje pomocou serverov Google. Stránky navštívené pomocou súkromných pripojení (HTTPS) alebo v rámci kariet inkognito nebudú optimalizované ani viditeľné pre Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb index 15cdb62..a9c0d29 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopiranje spletnega mesta</translation> <translation id="2038563949887743358">Vklop možnosti »Zahteva za namizno spletno mesto«</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB drugih aplikacij</translation> -<translation id="2073235970478114994">Naloži slike</translation> <translation id="2079545284768500474">Razveljavi</translation> <translation id="2082238445998314030"><ph name="RESULT_NUMBER" />. rezultat od <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Ko je ta funkcija vklopljena, Chrome strani, ki jih obiščete, pred prenosom stisne z uporabo Googlovih strežnikov. Strani, do katerih dostopate prek zasebnih povezav (HTTPS) ali jih odprete na zavihkih brez beleženja zgodovina, Google ne vidi in jih ne optimizira.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb index 2cde0de3..f6a575b 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Копирај сајт</translation> <translation id="2038563949887743358">Укључи захтевање верзије сајта за рачунаре</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB – друге апликације</translation> -<translation id="2073235970478114994">Учитај слике</translation> <translation id="2079545284768500474">Опозови</translation> <translation id="2082238445998314030"><ph name="RESULT_NUMBER" />. од <ph name="TOTAL_RESULTS" /> резултата</translation> <translation id="2095887075102408547">Када укључите ову функцију, Chrome користи Google сервере да би компримовао странице које посећујете пре него што их преузме. Google неће оптимизовати нити видети странице којима приступате помоћу приватних веза (HTTPS) или на картицама Без архивирања.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb index 9e8d0b2..a38f65c6 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Kopiera webbplats</translation> <translation id="2038563949887743358">Aktivera begäran av skrivbordsversion</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB används av övriga appar</translation> -<translation id="2073235970478114994">Läs in bilder</translation> <translation id="2079545284768500474">Ångra</translation> <translation id="2082238445998314030">Resultat <ph name="RESULT_NUMBER" /> av <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">När den här funktionen är aktiverad komprimerar Chrome sidor som du besöker med hjälp av Googles servrar innan de laddas ned. Sidor som öppnas via privata anslutningar (HTTPS) eller i inkognitoflikar varken optimeras eller visas av Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb index d5d8e62..ec41742 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Nakili tovuti</translation> <translation id="2038563949887743358">Washa Omba Tovuti ya Eneo-kazi</translation> <translation id="2045104531052923016">Programu nyingine za GB <ph name="GIGABYTES" /></translation> -<translation id="2073235970478114994">Pakia picha</translation> <translation id="2079545284768500474">Tendua</translation> <translation id="2082238445998314030">Tokeo <ph name="RESULT_NUMBER" /> kati ya <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Kipengele hiki kikiwashwa, Chrome itatumia seva za Google kushindilia kurasa unazotembelea kabla ya kuzipakua. Kurasa zinazofikiwa kwa kutumia miunganisho ya faragha (HTTPS) au vichupo vya Hali Fiche hazitaboreshwa wala kuonekana na Google.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb index 55012cc..2d5933f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">คัดลอกเว็บไซต์</translation> <translation id="2038563949887743358">เปิดการขอเว็บไซต์เดสก์ท็อป</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB จากแอปอื่นๆ</translation> -<translation id="2073235970478114994">โหลดรูปภาพ</translation> <translation id="2079545284768500474">เลิกทำ</translation> <translation id="2082238445998314030">ผลลัพธ์ <ph name="RESULT_NUMBER" /> จาก <ph name="TOTAL_RESULTS" /> รายการ</translation> <translation id="2095887075102408547">เมื่อเปิดคุณลักษณะนี้ Chrome จะใช้เซิร์ฟเวอร์ของ Google ในการบีบอัดหน้าเว็บที่คุณเข้าชมก่อนที่จะดาวน์โหลดหน้าเหล่านั้น Google จะมองไม่เห็นและไม่เพิ่มประสิทธิภาพหน้าที่เข้าถึงโดยใช้การเชื่อมต่อส่วนตัว (HTTPS) หรือแท็บไม่ระบุตัวตน</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb index 4aa47b6e..de16aedc 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Siteyi kopyala</translation> <translation id="2038563949887743358">Masaüstü sitesi iste işlevini etkinleştir</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> GB diğer uygulamalar</translation> -<translation id="2073235970478114994">Resimleri yükle</translation> <translation id="2079545284768500474">Geri al</translation> <translation id="2082238445998314030"><ph name="TOTAL_RESULTS" /> sonuçtan <ph name="RESULT_NUMBER" /> numaralı sonuç</translation> <translation id="2095887075102408547">Bu özellik açık olduğunda, Chrome, ziyaret ettiğiniz sayfaları indirmeden önce sıkıştırmak için Google sunucularını kullanır. Gizli bağlantılar (HTTPS) veya Gizli sekmeler kullanarak erişilen sayfalar Google tarafından optimize edilmez veya görülmez.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb index 2995888..fdf842a 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Копіювати URL-адресу сайту</translation> <translation id="2038563949887743358">Увімкнути опцію "Запитувати версію сайту для комп’ютера"</translation> <translation id="2045104531052923016"><ph name="GIGABYTES" /> Гб використовується іншими додатками</translation> -<translation id="2073235970478114994">Завантажити зображення</translation> <translation id="2079545284768500474">Відмінити</translation> <translation id="2082238445998314030">Результат <ph name="RESULT_NUMBER" /> з <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Якщо ввімкнути цю функцію, Chrome використовуватиме сервери Google, щоб стискати сторінки перед завантаженням. Однак це не стосується сторінок, відкритих під час конфіденційного з’єднання (HTTPS) або в режимі анонімного перегляду.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb index 6cf2cbc..4e9a1b1 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">Sao chép trang web</translation> <translation id="2038563949887743358">Bật Yêu cầu trang web cho máy tính</translation> <translation id="2045104531052923016">Các ứng dụng khác chiếm <ph name="GIGABYTES" /> GB</translation> -<translation id="2073235970478114994">Tải hình ảnh</translation> <translation id="2079545284768500474">Hoàn tác</translation> <translation id="2082238445998314030">Kết quả <ph name="RESULT_NUMBER" /> trong tổng số <ph name="TOTAL_RESULTS" /></translation> <translation id="2095887075102408547">Khi bạn bật tính năng này, Chrome sẽ sử dụng máy chủ Google để nén các trang mà bạn truy cập trước khi tải trang xuống. Google sẽ không tối ưu hóa hoặc thấy các trang được truy cập bằng kết nối riêng tư (HTTPS) hoặc trong tab ẩn danh.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb index 47bd6b67..9788cd8 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">复制网站</translation> <translation id="2038563949887743358">开启“请求切换到桌面版网站”</translation> <translation id="2045104531052923016">其他应用已占用的空间:<ph name="GIGABYTES" /> GB</translation> -<translation id="2073235970478114994">加载图片</translation> <translation id="2079545284768500474">撤消</translation> <translation id="2082238445998314030">第 <ph name="RESULT_NUMBER" /> 条结果,共 <ph name="TOTAL_RESULTS" /> 条</translation> <translation id="2095887075102408547">当此功能处于开启状态时,Chrome 会先使用 Google 服务器压缩您所访问的网页,然后再下载它们。Google 既不会优化也不会看到您通过私密连接 (HTTPS) 或在隐身标签页中访问的网页。</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb index 41ad46b8..243939f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -97,7 +97,6 @@ <translation id="2020525020270327736">複製網站</translation> <translation id="2038563949887743358">開啟「要求電腦版網站」</translation> <translation id="2045104531052923016">其他應用程式佔 <ph name="GIGABYTES" /> GB</translation> -<translation id="2073235970478114994">載入圖片</translation> <translation id="2079545284768500474">復原</translation> <translation id="2082238445998314030">第 <ph name="RESULT_NUMBER" /> 個結果,共 <ph name="TOTAL_RESULTS" /> 個</translation> <translation id="2095887075102408547">啟用這項功能後,Chrome 會先使用 Google 伺服器壓縮您要造訪的網頁資料,然後再下載這些網頁。使用私人連線 (HTTPS) 或無痕式分頁存取網頁時,Google 不會對這些網頁進行最佳化處理,也不會偵測到這些網頁。</translation>
diff --git a/chrome/android/java/templates/MonochromeApplication.template b/chrome/android/java/templates/MonochromeApplication.template index d721fbb..42eb806 100644 --- a/chrome/android/java/templates/MonochromeApplication.template +++ b/chrome/android/java/templates/MonochromeApplication.template
@@ -20,21 +20,15 @@ * glue layer and have monochrome specific code. */ public class {{ monochrome_application_class }} extends {{ super_class }} { - private ChildProcessCreationParams mChildProcessCreationParams; - - @Override - public ChildProcessCreationParams getChildProcessCreationParams() { - return mChildProcessCreationParams; - } - @Override public void onCreate() { super.onCreate(); LibraryLoader.setNativeLibraryPreloader(new MonochromeLibraryPreloader()); // ChildProcessCreationParams is only needed for browser process, though it is // created and set in all processes. - mChildProcessCreationParams = new ChildProcessCreationParams(getPackageName(), - true /* isExternalService */, LibraryProcessType.PROCESS_CHILD); - ChildProcessCreationParams.set(mChildProcessCreationParams); + ChildProcessCreationParams.registerDefault( + new ChildProcessCreationParams(getPackageName(), + true /* isExternalService */, + LibraryProcessType.PROCESS_CHILD)); } }
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni index 1c5516c..19f24575 100644 --- a/chrome/android/java_sources.gni +++ b/chrome/android/java_sources.gni
@@ -1384,10 +1384,11 @@ "javatests/src/org/chromium/chrome/browser/payments/CurrencyFormatterTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestAbortTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java", + "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java", + "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressWithoutPhoneTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestCanMakePaymentMetricsTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestCanMakePaymentQueryNoCardTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestCanMakePaymentQueryTest.java", - "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestCardEditorAutoAdvanceTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestCcCanMakePaymentQueryNoCardTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestCcCanMakePaymentQueryTest.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java index a4fb11c..a2a2e533 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java
@@ -44,7 +44,7 @@ public void testCanPayWithBasicCard() throws InterruptedException, ExecutionException, TimeoutException { openPageAndClickNodeAndWait("checkBasicCard", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + expectResultContains(new String[] {"true"}); clickNodeAndWait("buyBasicCard", mReadyForInput); } @@ -54,7 +54,7 @@ public void testIgnoreCardType() throws InterruptedException, ExecutionException, TimeoutException { openPageAndClickNodeAndWait("checkBasicDebit", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + expectResultContains(new String[] {"true"}); clickNodeAndWait("buyBasicDebit", mReadyForInput); } @@ -64,42 +64,37 @@ public void testCannotMakeActivePaymentWithBasicMasterCard() throws InterruptedException, ExecutionException, TimeoutException { openPageAndClickNodeAndWait("checkBasicMasterCard", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false"}); + expectResultContains(new String[] {"false"}); reTriggerUIAndWait("buyBasicMasterCard", mReadyForInput); } - /** - * To prevent fingerprinting the user, repeated queries for "basic-card" payment method return - * cached results, even if the queries were performed with different sets of "supportedNetworks" - * and "supportedTypes" every time. - */ @MediumTest @Feature({"Payments"}) - public void testReturnsCachedResultForBasiCard() throws InterruptedException, - ExecutionException, TimeoutException { + public void testSupportedNetworksMustMatchForCanMakePayment() + throws InterruptedException, ExecutionException, TimeoutException { openPageAndClickNodeAndWait("checkBasicVisa", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + expectResultContains(new String[] {"true"}); + + clickNodeAndWait("checkBasicMasterCard", mCanMakePaymentQueryResponded); + expectResultContains(new String[] {"Query quota exceeded"}); clickNodeAndWait("checkBasicVisa", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + expectResultContains(new String[] {"true"}); + } - // Cached result for "basic-card" is "true", even though the user does not have a MasterCard - // on file. - clickNodeAndWait("checkBasicMasterCard", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + @MediumTest + @Feature({"Payments"}) + public void testSupportedTypesMustMatchForCanMakePayment() + throws InterruptedException, ExecutionException, TimeoutException { + openPageAndClickNodeAndWait("checkBasicVisa", mCanMakePaymentQueryResponded); + expectResultContains(new String[] {"true"}); - // Cached result for "basic-card" is "true". clickNodeAndWait("checkBasicDebit", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + expectResultContains(new String[] {"Query quota exceeded"}); - // Checking for "visa" immediately after "basic-card" triggers throttling. - clickNodeAndWait("checkVisa", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"Query quota exceeded"}); - - // Checking for "mastercard" immediately after "basic-card" triggers throttling. - clickNodeAndWait("checkMasterCard", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"Query quota exceeded"}); + clickNodeAndWait("checkBasicVisa", mCanMakePaymentQueryResponded); + expectResultContains(new String[] {"true"}); } /** @@ -112,7 +107,7 @@ public void testPayWithBasicCard() throws InterruptedException, ExecutionException, TimeoutException { openPageAndClickNodeAndWait("checkBasicVisa", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true"}); + expectResultContains(new String[] {"true"}); reTriggerUIAndWait("buy", mReadyToPay); clickAndWait(R.id.button_primary, mReadyForUnmaskInput);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java index 0ee19c74..cd6bc101 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java
@@ -65,9 +65,8 @@ "jon.doe@gmail.com", "en-US")); // Incomplete profile (need more information). - String profile7 = helper.setProfile(new AutofillProfile("", "https://example.com", true, - "Maggie Doe", "Google", "340 Main St", "CA", "", "", "90291", "", "US", "", - "jon.doe@gmail.com", "en-US")); + String profile7 = helper.setProfile(new AutofillProfile("", "https://example.com", true, "", + "Google", "340 Main St", "CA", "", "", "90291", "", "US", "", "", "en-US")); // Profile with empty street address (should not be presented to user). String profile8 = helper.setProfile(new AutofillProfile("", "https://example.com", true, @@ -76,7 +75,7 @@ // This card has no billing address selected. helper.setCreditCard(new CreditCard("", "https://example.com", true, true, "Jane Doe", - "4242424242424242", "1111", "12", "2050", "visa", R.drawable.pr_visa, profile5, + "4242424242424242", "1111", "12", "2050", "visa", R.drawable.pr_visa, profile6, "" /* serverId */)); // Assign use stats so that incomplete profiles have the highest frecency, profile2 has the @@ -319,26 +318,24 @@ // The incomplete addresses in the dropdown contain edit required messages. assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, - 3).endsWith("Phone number required")); - assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, 4).endsWith("Recipient required")); assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, 5).endsWith("More information required")); assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, 6).endsWith("Invalid address")); - // Selects the fourth billing addresss that misses phone number brings up the address + // Selects the fourth billing addresss that misses recipient brings up the address // editor. - setSpinnerSelectionsInCardEditorAndWait(new int[] {DECEMBER, NEXT_YEAR, 3}, mReadyToEdit); - setTextInEditorAndWait(new String[] {"Lisa Doe", "Google", "340 Main St", "Los Angeles", + setSpinnerSelectionsInCardEditorAndWait(new int[] {DECEMBER, NEXT_YEAR, 4}, mReadyToEdit); + setTextInEditorAndWait(new String[] {"Lisa Doh", "Google", "340 Main St", "Los Angeles", "CA", "90291", "999-999-9999"}, mEditorTextUpdate); clickInEditorAndWait(R.id.payments_edit_done_button, mReadyToEdit); // The newly completed address must be selected and put at the top of the dropdown. assertTrue(getSpinnerSelectionTextInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX) - .equals("Lisa Doe, 340 Main St, Los Angeles, CA 90291")); + .equals("Lisa Doh, 340 Main St, Los Angeles, CA 90291")); assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, - 0).equals("Lisa Doe, 340 Main St, Los Angeles, CA 90291")); + 0).equals("Lisa Doh, 340 Main St, Los Angeles, CA 90291")); } @MediumTest @@ -356,8 +353,6 @@ // The incomplete addresses in the dropdown contain edit required messages. assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, - 3).endsWith("Phone number required")); - assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, 4).endsWith("Recipient required")); assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, 5).endsWith("More information required"));
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressWithoutPhoneTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressWithoutPhoneTest.java new file mode 100644 index 0000000..e5fa9dc --- /dev/null +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressWithoutPhoneTest.java
@@ -0,0 +1,122 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.payments; + +import android.content.DialogInterface; +import android.support.test.filters.MediumTest; + +import org.chromium.base.test.util.Feature; +import org.chromium.chrome.R; +import org.chromium.chrome.browser.autofill.AutofillTestHelper; +import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; +import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeoutException; + +/** + * A payment integration test for biling addresses without a phone. + */ +public class PaymentRequestBillingAddressWithoutPhoneTest extends PaymentRequestTestBase { + /* + * The index at which the option to add a billing address is located in the billing address + * selection dropdown. + */ + private static final int ADD_BILLING_ADDRESS = 2; + + /** The index of the billing address dropdown in the card editor. */ + private static final int BILLING_ADDRESS_DROPDOWN_INDEX = 2; + + public PaymentRequestBillingAddressWithoutPhoneTest() { + super("payment_request_free_shipping_test.html"); + } + + @Override + public void onMainActivityStarted() + throws InterruptedException, ExecutionException, TimeoutException { + AutofillTestHelper helper = new AutofillTestHelper(); + String address_without_phone = helper.setProfile(new AutofillProfile("", + "https://example.com", true, "Jon NoPhone", "Google", "340 Main St", "CA", + "Los Angeles", "", "90291", "", "US", "", "jon.doe@gmail.com", "en-US")); + helper.setCreditCard(new CreditCard("", "https://example.com", true, true, "Jon Doe", + "4111111111111111", "1111", "12", "2050", "visa", R.drawable.pr_visa, + address_without_phone, "" /* serverId */)); + String address_with_phone = helper.setProfile(new AutofillProfile("", "https://example.com", + true, "Rob Phone", "Google", "340 Main St", "CA", "Los Angeles", "", "90291", "", + "US", "310-310-6000", "jon.doe@gmail.com", "en-US")); + + // Assign use stats so that the address without a phone number has a higher frecency score. + helper.setProfileUseStatsForTesting(address_without_phone, 10, 10); + helper.setProfileUseStatsForTesting(address_with_phone, 5, 5); + } + + @MediumTest + @Feature({"Payments"}) + public void testCanPayWithBillingNoPhone() + throws InterruptedException, ExecutionException, TimeoutException { + triggerUIAndWait(mReadyToPay); + clickAndWait(R.id.button_primary, mReadyForUnmaskInput); + setTextInCardUnmaskDialogAndWait(R.id.card_unmask_input, "123", mReadyToUnmask); + clickCardUnmaskButtonAndWait(DialogInterface.BUTTON_POSITIVE, mDismissed); + expectResultContains(new String[] {"Jon NoPhone"}); + } + + @MediumTest + @Feature({"Payments"}) + public void testCanSelectBillingAddressWithoutPhone() + throws InterruptedException, ExecutionException, TimeoutException { + triggerUIAndWait(mReadyToPay); + + // Go edit the credit card. + clickInPaymentMethodAndWait(R.id.payments_section, mReadyForInput); + clickOnPaymentMethodSuggestionEditIconAndWait(0, mReadyToEdit); + + // Make sure that the currently selected address is valid and can be selected (does not + // include error messages). + assertTrue(getSpinnerSelectionTextInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX) + .equals("Jon NoPhone, 340 Main St, Los Angeles, CA 90291")); + + // Even though the current billing address is valid, the one with a phone number should be + // suggested first if the user wants to change it. + assertTrue(getSpinnerTextAtPositionInCardEditor(BILLING_ADDRESS_DROPDOWN_INDEX, + 0).equals("Rob Phone, 340 Main St, Los Angeles, CA 90291")); + } + + @MediumTest + @Feature({"Payments"}) + public void testCantSelectShippingAddressWithoutPhone() + throws InterruptedException, ExecutionException, TimeoutException { + triggerUIAndWait(mReadyToPay); + clickInShippingSummaryAndWait(R.id.payments_section, mReadyForInput); + + // The first suggestion should be the address with a phone. + assertTrue(getShippingAddressSuggestionLabel(0).contains("Rob Phone")); + assertFalse(getShippingAddressSuggestionLabel(0).endsWith("Phone number required")); + + // The address without a phone should be suggested after with a message indicating that the + // phone number is required. + assertTrue(getShippingAddressSuggestionLabel(1).contains("Jon NoPhone")); + assertTrue(getShippingAddressSuggestionLabel(1).endsWith("Phone number required")); + } + + @MediumTest + @Feature({"Payments"}) + public void testCantAddNewBillingAddressWithoutPhone() + throws InterruptedException, ExecutionException, TimeoutException { + triggerUIAndWait(mReadyToPay); + clickInPaymentMethodAndWait(R.id.payments_section, mReadyForInput); + clickInPaymentMethodAndWait(R.id.payments_add_option_button, mReadyToEdit); + + // Add a new billing address without a phone. + setSpinnerSelectionsInCardEditorAndWait( + new int[] {DECEMBER, NEXT_YEAR, ADD_BILLING_ADDRESS}, mReadyToEdit); + setTextInEditorAndWait( + new String[] {"Seb Doe", "Google", "340 Main St", "Los Angeles", "CA", "90291", ""}, + mEditorTextUpdate); + + // Trying to add the address without a phone number should fail. + clickInEditorAndWait(R.id.payments_edit_done_button, mEditorValidationError); + } +}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestPaymentAppCanMakePaymentQueryTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestPaymentAppCanMakePaymentQueryTest.java index 46e28285..fd3b2502 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestPaymentAppCanMakePaymentQueryTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestPaymentAppCanMakePaymentQueryTest.java
@@ -28,10 +28,23 @@ public void testNoBobPayInstalled() throws InterruptedException, ExecutionException, TimeoutException { openPageAndClickBuyAndWait(mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false, false"}); + expectResultContains(new String[] {"false, false"}); clickNodeAndWait("otherBuy", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false, QuotaExceededError"}); + expectResultContains(new String[] {"false, QuotaExceededError"}); + } + + @MediumTest + @Feature({"Payments"}) + public void testBobPayInstalledLater() + throws InterruptedException, ExecutionException, TimeoutException { + openPageAndClickBuyAndWait(mCanMakePaymentQueryResponded); + expectResultContains(new String[] {"false, false"}); + + installPaymentApp(HAVE_INSTRUMENTS, IMMEDIATE_RESPONSE); + + clickNodeAndWait("otherBuy", mCanMakePaymentQueryResponded); + expectResultContains(new String[] {"true, QuotaExceededError"}); } @MediumTest @@ -40,10 +53,10 @@ TimeoutException { installPaymentApp(NO_INSTRUMENTS, IMMEDIATE_RESPONSE); openPageAndClickBuyAndWait(mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false, false"}); + expectResultContains(new String[] {"false, false"}); clickNodeAndWait("otherBuy", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false, QuotaExceededError"}); + expectResultContains(new String[] {"false, QuotaExceededError"}); } @MediumTest @@ -52,10 +65,10 @@ TimeoutException { installPaymentApp(NO_INSTRUMENTS, DELAYED_RESPONSE); openPageAndClickBuyAndWait(mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false, false"}); + expectResultContains(new String[] {"false, false"}); clickNodeAndWait("otherBuy", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"false, QuotaExceededError"}); + expectResultContains(new String[] {"false, QuotaExceededError"}); } @MediumTest @@ -64,10 +77,10 @@ TimeoutException { installPaymentApp(HAVE_INSTRUMENTS, IMMEDIATE_RESPONSE); openPageAndClickBuyAndWait(mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true, true"}); + expectResultContains(new String[] {"true, true"}); clickNodeAndWait("otherBuy", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true, QuotaExceededError"}); + expectResultContains(new String[] {"true, QuotaExceededError"}); } @MediumTest @@ -76,9 +89,9 @@ TimeoutException { installPaymentApp(HAVE_INSTRUMENTS, DELAYED_RESPONSE); openPageAndClickBuyAndWait(mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true, true"}); + expectResultContains(new String[] {"true, true"}); clickNodeAndWait("otherBuy", mCanMakePaymentQueryResponded); - expectResultContains(new String[]{"true, QuotaExceededError"}); + expectResultContains(new String[] {"true, QuotaExceededError"}); } }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java index 9c3bbac..6cc0258 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
@@ -444,6 +444,28 @@ } /** + * Clicks on the edit icon corresponding to the payment method suggestion at the specified + * |suggestionIndex|. + */ + protected void clickOnPaymentMethodSuggestionEditIconAndWait( + final int suggestionIndex, CallbackHelper helper) + throws ExecutionException, TimeoutException, InterruptedException { + assert (suggestionIndex < getNumberOfPaymentInstruments()); + + int callCount = helper.getCallCount(); + ThreadUtils.runOnUiThreadBlocking(new Runnable() { + @Override + public void run() { + ((OptionSection) mUI.getPaymentMethodSectionForTest()) + .getOptionRowAtIndex(suggestionIndex) + .getEditIconForTest() + .performClick(); + } + }); + helper.waitForCallback(callCount); + } + + /** * Returns the the number of shipping address suggestions. */ protected int getNumberOfShippingAddressSuggestions() throws ExecutionException {
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp index 67547e5..d2a858a 100644 --- a/chrome/app/chromeos_strings.grdp +++ b/chrome/app/chromeos_strings.grdp
@@ -5756,24 +5756,18 @@ </message> <!-- EOL Notification Strings --> - <message name="IDS_ABOUT_PAGE_EOL_SECURITY_ONLY" desc="The message in the about page to inform the user that software updates for this device are no longer available."> + <message name="IDS_ABOUT_PAGE_EOL_EOL" desc="The message in the about page to inform the user that software updates for this device are no longer available."> Software updates for this device are no longer available. </message> - <message name="IDS_ABOUT_PAGE_EOL_EOL" desc="The message in the about page to inform the user that security updates for this device are no longer available."> - Security updates for this device are no longer available. - </message> <message name="IDS_ABOUT_PAGE_EOL_LEARN_MORE" desc="The message in the about page to provide more information of device end of life, containing the URLs."> Please consider upgrading. <ph name="BEGIN_LINK_EOL"><a target="_blank" href="$1"></ph>Learn more<ph name="END_LINK_EOL"></a></ph> </message> <message name="IDS_EOL_NOTIFICATION_TITLE" desc="Notification title shown to inform the user that this device is no longer supported."> This device is no longer supported </message> - <message name="IDS_EOL_NOTIFICATION_SECURITY_ONLY" desc="Notification shown to inform the user that this device will no longer receive software updates."> + <message name="IDS_EOL_NOTIFICATION_EOL" desc="Notification shown to inform the user that this device will no longer receive software updates."> Software updates for this device are no longer available. Please consider upgrading. </message> - <message name="IDS_EOL_NOTIFICATION_EOL" desc="Notification shown to inform the user that this device will no longer receive regular security updates."> - Security updates for this device are no longer available. Please consider upgrading. - </message> <message name="IDS_EOL_MORE_INFO_BUTTON" desc="A button label shown in the notification for eol status change to get more information."> Learn more </message>
diff --git a/chrome/app/resources/chromium_strings_am.xtb b/chrome/app/resources/chromium_strings_am.xtb index f3a780d..a5ac75a 100644 --- a/chrome/app/resources/chromium_strings_am.xtb +++ b/chrome/app/resources/chromium_strings_am.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Chromiumን የእርስዎ ነባሪ አሳሽ ያድርጉ</translation> <translation id="151962892725702025">ማመሳሰል ለጎራዎ ስለማይገኝ Chromium OS ውሂብዎን ማመሳሰል አይችልም።</translation> <translation id="1559451348202814456">Chromium ከአሁን በኋላ በMac OS X 10.6፣ 10.7 ወይም 10.8 ላይ ከእንግዲህ ስለማይደገፍ በአግባቡ ላይሰራ ይችላል።</translation> -<translation id="1644918877723739397">Chromium ይህን በእርስዎ <ph name="SAVED_PASSWORD_LINK" /> ውስጥ ያከማቸው እና በሚቀጥለው ጊዜ ሲፈልጉት ያስታውሰዋል።</translation> <translation id="1653828314016431939">እሺ - አሁን ዳግም አስጀምር</translation> <translation id="1668054258064581266">መለያዎን ከChromium ካስወገዱ በኋላ፣ ክፍት ትሮችዎ እንዲሰሩ መልሰው መጫን ሊኖርብዎ ይችላል።</translation> <translation id="1688750314291223739">ግላዊነት የተላበሰው የአሳሽ ባህሪዎችዎ ድር ላይ ለማስቀመጥና ከዚያ Chromium ካለው ማንኛውም ኮምፒውተር ለመድረስ አመሳስልን ያዋቅሩ።</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Chromium OS ዝማኔውን ለመተግበር ዳግም መጀመር አለበት።</translation> <translation id="2605472041568654097">የአሁኖቹን ቅንብሮች ሪፖርት በማድረግ Chromium የተሻለ እንዲሆን ያግዙ።</translation> <translation id="2636877269779209383">Chromium ይህን ለዚህ ጣቢያ ለማጋራት የካሜራ መዳረሻ ያስፈልገዋል።</translation> +<translation id="2647554856022461007">Chromium የአሰሳ ተሞክሮዎን ለማሻሻል የድር አገልግሎቶችን ሊጠቀም ይችላል። እነዚህን አገልግሎቶች በአማራጭነት ሊያሰናክሏቸው ይችላሉ። <ph name="BEGIN_LINK" />የበለጠ ለመረዳት<ph name="END_LINK" /></translation> <translation id="2648074677641340862">በጭነት ጊዜ የስርዓተ ክወና ስህተት ተፈጥሯል። እባክዎ Chromiumን እንደገና ያውርዱት።</translation> <translation id="2685838254101182273">Chromium ማዘመን አቁሟል፣ እና ከአሁን በኋላ ይህን የስርዓተ ክወናዎን ስሪት አይደግፍም።</translation> <translation id="2711502716910134313">የChromium ትር</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">ሰርጥ ተለውጧል። ለውጦችን ለመተግበር መሳሪያዎን ዳግም ያስጀምሩ።</translation> <translation id="5895138241574237353">እንደገና ጀምር</translation> <translation id="5906655207909574370">የተዘመነ ለመሆን ጥቂት ብቻ ቀርቷል! ዝማኔውን ለማጠናቀቅ መሣሪያዎን ዳግም ያስጀምሩት።</translation> +<translation id="5942225298871134766">Chromium ይህን ከ<ph name="SAVED_PASSWORD_LINK" /> ጋር ያከማቸው እና በሚቀጥለው ጊዜ ስፈልጉት ያስታውሰዋል።</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> ወደ Chromium ታክሏል።</translation> <translation id="59625444380784159">የእውቂያዎችዎ ዝርዝሮች በChromium ውስጥ ቅጾችን በበለጠ ፍጥነት እንዲሞሉ ያግዘዎታል።</translation> <translation id="5987687638152509985">ስምረትን ለመጀመር Chromiumን ያዘምኑ</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Chromiumን አዘምን</translation> <translation id="7066436765290594559">Chromium OS የእርስዎን ውሂብ ማመሳሰል አልቻለም። የእርስዎን የማመሳሰያ የይለፍ ሐረግ እባክዎ ያዘምኑ።</translation> <translation id="707471633328071618">Google Payments (ወደ Chromium ተቀድቷል)</translation> -<translation id="7090955637699162649">Chromium የአሰሳ ተሞክሮዎን ለማሻሻል <ph name="BEGIN_LINK" />የድር አገልግሎቶች<ph name="END_LINK" />ን ሊጠቀም ይችላል። በማንኛውም ጊዜ እነዚህን አገልግሎቶች በአማራጭነት ማሰናከል ይችላሉ።</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{ይሄ $1 ንጥል እስከመጨረሻው ከዚህ መሣሪያ ይሰርዘዋል። ውሂብዎን በኋላ ላይ ሰርስረው ለማውጣት እንደ $2 ሆነው ወደ Chromium ይግቡ።}one{ይሄ $1 ንጥሎችን እስከመጨረሻው ከዚህ መሣሪያ ይሰርዛቸዋል። ውሂብዎን በኋላ ላይ ሰርስረው ለማውጣት እንደ $2 ሆነው ወደ Chromium ይግቡ።}other{ይሄ $1 ንጥሎችን እስከመጨረሻው ከዚህ መሣሪያ ይሰርዛቸዋል። ውሂብዎን በኋላ ላይ ሰርስረው ለማውጣት እንደ $2 ሆነው ወደ Chromium ይግቡ።}}</translation> <translation id="7138853919861947730">Chromium የማሰስ ተሞክሮዎን ለማሻሻል የድር አገልግሎቶችን ሊጠቀም ይችላል።</translation> <translation id="7162152143154757523">Chromium አሳሹ ላይ የሚተይቡትን ለGoogle አገልጋዮች በመላክ ይበልጥ አዋቂ የሆነ ፊደል አራሚ ሊያቀርብልዎት ይችላል፣ ይህም Google ፍለጋ የሚጠቀመውን ተመሳሳዩ የፊደል አራሚ ቴክኖሎጂ እንዲጠቀሙ ያስችልዎታል።</translation>
diff --git a/chrome/app/resources/chromium_strings_ar.xtb b/chrome/app/resources/chromium_strings_ar.xtb index dca7cea..ff81bac2 100644 --- a/chrome/app/resources/chromium_strings_ar.xtb +++ b/chrome/app/resources/chromium_strings_ar.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">جعل Chromium المتصفح الافتراضي</translation> <translation id="151962892725702025">تعذر على نظام التشغيل Chromium مزامنة البيانات نظرًا لأن المزامنة غير متاحة في نطاقك.</translation> <translation id="1559451348202814456">ربما لن يعمل Chromium بشكل صحيح لأنه لم يعد مدعومًا على أنظمة Mac OS X 10.6 أو 10.7 أو 10.8.</translation> -<translation id="1644918877723739397">سيُخزن Chromium هذا في <ph name="SAVED_PASSWORD_LINK" /> وسيتذكره عندما تحتاج إليه في المرة القادمة.</translation> <translation id="1653828314016431939">موافق - إعادة التشغيل الآن</translation> <translation id="1668054258064581266">بعد إزالة حسابك من Chromium، قد تحتاج إلى إعادة تحميل علامات التبويب المفتوحة لتفعيلها.</translation> <translation id="1688750314291223739">يمكنك إعداد المزامنة لحفظ ميزات المتصفح المخصصة على الويب والدخول إليها من Chromium على أي كمبيوتر.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">يلزم إعادة تشغيل نظام التشغيل Chromium حتى يتم تطبيق التحديث.</translation> <translation id="2605472041568654097">ساعد في تحسين Chromium من خلال الإبلاغ عن الإعدادات الحالية.</translation> <translation id="2636877269779209383">يحتاج Chromium الوصول إلى الكاميرا لمشاركتها مع هذا الموقع.</translation> +<translation id="2647554856022461007">قد يستخدم Chromium خدمات الويب لتحسين تجربة التصفح. يمكنك تعطيل هذه الخدمات بشكل اختياري. <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation> <translation id="2648074677641340862">حدث خطأ في نظام التشغيل أثناء عملية التثبيت. الرجاء إعادة تنزيل Chromium.</translation> <translation id="2685838254101182273">توقف تحديث Chromium ولم يعد متوافقًا مع هذا الإصدار من نظام التشغيل.</translation> <translation id="2711502716910134313">علامة تبويب Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">تم تغيير القناة. يمكنك إعادة تشغيل الجهاز لتدخل التغييرات حيز التنفيذ.</translation> <translation id="5895138241574237353">إعادة التشغيل</translation> <translation id="5906655207909574370">أوشك التحديث على الانتهاء! أعِد تشغيل الجهاز لإنهاء التحديث.</translation> +<translation id="5942225298871134766">سيُخزن Chromium هذا مع <ph name="SAVED_PASSWORD_LINK" /> وسيتذكره عندما تحتاج إليه في المرة القادمة.</translation> <translation id="5942520288919337908">تمت إضافة <ph name="EXTENSION_NAME" /> إلى Chromium.</translation> <translation id="59625444380784159">يمكن أن تساعد التفاصيل الواردة من جهات اتصالك في ملء النماذج بسرعة في Chromium.</translation> <translation id="5987687638152509985">تحديث Chromium لبدء المزامنة</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">تحديث Chromium</translation> <translation id="7066436765290594559">تعذر على نظام التشغيل Chromium مزامنة البيانات. الرجاء تحديث عبارة مرور المزامنة.</translation> <translation id="707471633328071618">Google Payments (تم النسخ إلى Chromium)</translation> -<translation id="7090955637699162649">قد يستخدم Chromium <ph name="BEGIN_LINK" />خدمات الويب<ph name="END_LINK" /> لتحسين تجربة التصفح. ويمكنك تعطيل هذه الخدمات اختياريًا في أي وقت.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{سيؤدي هذا إلى حذف عنصر $1 من هذا الجهاز نهائيًا. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chromium باعتبارك ($2).}zero{سيؤدي هذا إلى حذف $1 عنصر من هذا الجهاز نهائيًا. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chromium باعتبارك ($2).}two{سيؤدي هذا إلى حذف عنصرين ($1) من هذا الجهاز نهائيًا. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chromium باعتبارك ($2).}few{سيؤدي هذا إلى حذف $1 عناصر من هذا الجهاز نهائيًا. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chromium باعتبارك ($2).}many{سيؤدي هذا إلى حذف $1 عنصرًا من هذا الجهاز نهائيًا. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chromium باعتبارك ($2).}other{سيؤدي هذا إلى حذف $1 عنصر من هذا الجهاز نهائيًا. لاسترداد بياناتك لاحقًا، سجّل الدخول إلى Chromium باعتبارك ($2).}}</translation> <translation id="7138853919861947730">قد يستخدم Chromium خدمات الويب لتحسين تجربة التصفح لديك.</translation> <translation id="7162152143154757523">يمكن أن يقدم Chromium تدقيقًا إملائيًا أكثر دقة من خلال إرسال ما تكتبه في المتصفح إلى خوادم Google، مما يتيح لك استخدام تقنية التدقيق الإملائي ذاتها المستخدمة في بحث Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb index 6c1c6f0c..bd31f23 100644 --- a/chrome/app/resources/chromium_strings_bg.xtb +++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Задаване на Chromium като браузър по подразбиране</translation> <translation id="151962892725702025">Chromium OS не можа да синхронизира данните ви, защото тази функция не е налице за домейна ви.</translation> <translation id="1559451348202814456">Chromium може да не функционира правилно, тъй като вече не се поддържа под Mac OS X 10.6, 10.7 и 10.8.</translation> -<translation id="1644918877723739397">Chromium ще съхрани това при <ph name="SAVED_PASSWORD_LINK" /> и ще си го спомни следващия път, когато ви е необходимо.</translation> <translation id="1653828314016431939">OK – Рестартиране сега</translation> <translation id="1668054258064581266">За да влезе в сила премахването на профила ви от Chromium, може да се наложи да презаредите отворените си раздели.</translation> <translation id="1688750314291223739">Настройте синхронизирането, за да запазите онлайн персонализираните функции на браузъра си и да осъществявате достъп до тях от Chromium на всеки компютър.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS трябва да се рестартира, за да приложи актуализацията.</translation> <translation id="2605472041568654097">Помогнете за подобряването на Chromium, като подадете сигнал за текущите настройки.</translation> <translation id="2636877269779209383">Chromium се нуждае от достъп до камерата, за да я сподели с този сайт.</translation> +<translation id="2647554856022461007">Chromium може да използва уеб услуги, за да подобри сърфирането ви. Ако искате, можете да ги деактивирате. <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation> <translation id="2648074677641340862">По време на инсталирането възникна грешка в операционната система. Моля, изтеглете отново Chromium.</translation> <translation id="2685838254101182273">Chromium спря да се актуализира и вече не поддържа тази версия на операционната ви система.</translation> <translation id="2711502716910134313">Раздел в Chromium</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">Каналът бе променен. Рестартирайте устройството си, за да се приложат промените.</translation> <translation id="5895138241574237353">Рестартиране</translation> <translation id="5906655207909574370">Актуализирането почти завърши! Остава само да рестартирате устройството си.</translation> +<translation id="5942225298871134766">Chromium ще съхрани това при <ph name="SAVED_PASSWORD_LINK" /> и ще си го спомни следващия път, когато ви е необходимо.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> е добавено към Chromium.</translation> <translation id="59625444380784159">Подробностите от контактите ви могат да ви помогнат да попълвате по-бързо формуляри в Chromium.</translation> <translation id="5987687638152509985">Актуализирайте Chromium, за да стартира синхронизирането</translation> @@ -185,7 +186,6 @@ <translation id="705851970750939768">Актуализиране на Chromium</translation> <translation id="7066436765290594559">Chromium OS не можа да синхронизира данните ви. Моля, актуализирайте пропуска си за синхронизиране.</translation> <translation id="707471633328071618">Google Payments (копирано в Chromium)</translation> -<translation id="7090955637699162649">Chromium може да използва <ph name="BEGIN_LINK" />уеб услуги<ph name="END_LINK" />, за да подобри сърфирането ви. В състояние сте да ги деактивирате по всяко време.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{$1 елемент ще се изтрие за постоянно от това устройство. За да извлечете данните си по-късно, влезте в Chromium като $2.}other{$1 елемента ще се изтрият за постоянно от това устройство. За да извлечете данните си по-късно, влезте в Chromium като $2.}}</translation> <translation id="7138853919861947730">Chromium може да използва уеб услуги, за да подобри сърфирането ви.</translation> <translation id="7162152143154757523">Chromium може да предоставя по-интелигентна проверка на правописа, като изпраща до сървърите ни въвежданото от вас в браузъра, позволявайки ви да използвате същата технология за проверка на правописа, както при търсенето с Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_bn.xtb b/chrome/app/resources/chromium_strings_bn.xtb index 18af083..c2686859 100644 --- a/chrome/app/resources/chromium_strings_bn.xtb +++ b/chrome/app/resources/chromium_strings_bn.xtb
@@ -8,13 +8,12 @@ <translation id="1298199220304005244">Chromium OS ব্যবহারে সাহায্য পেতে</translation> <translation id="1396446129537741364">Chromium পাসওয়ার্ডগুলি দেখানোর চেষ্টা করছে৷</translation> <translation id="1403254041219632970">Chromium এর ভবিষ্যত সংস্করণ আর ম্যাক OS X 10.6, 10.7, বা 10.8 সমর্থন করবে না।</translation> -<translation id="1414495520565016063">আপনি Chromium এ প্রবেশ করুন করেছেন!</translation> +<translation id="1414495520565016063">আপনি Chromium এ প্রবেশ করেছেন!</translation> <translation id="1444754455097148408">Chromium মুক্ত উৎসের লাইসেন্সগুলি</translation> <translation id="1480489203462860648">এটি ব্যবহার করে দেখুন, ইতিমধ্যেই এটি ইনস্টল করা হয়েছে</translation> <translation id="1502360822835740515">Chromium কে আপনার ডিফল্ট ব্রাউজার করুন</translation> <translation id="151962892725702025">আপনার ডোমেনে সিঙ্ক উপলব্ধ না থাকার কারণে Chromium OS আপনার ডেটা সিঙ্ক করতে পারেনি৷</translation> <translation id="1559451348202814456">Chromium সঠিকভাবে কাজ নাও করতে পারে কারণ এটি এখন আর ম্যাক OS X 10.6, 10.7, বা 10.8 সমর্থিত নয়।</translation> -<translation id="1644918877723739397">Chromium আপনার <ph name="SAVED_PASSWORD_LINK" /> এ এটি সংরক্ষণ করবে এবং পরবর্তী সময় যখন আপনার এটির প্রয়োজন হবে তখন এটি মনে করাবে৷</translation> <translation id="1653828314016431939">ঠিক আছে - এখন পুর্নসূচনা করুন</translation> <translation id="1668054258064581266">Chromium থেকে আপনার অ্যাকাউন্ট সরানোর পরে, কার্য়করী করতে আপনাকে খোলা ট্যাবগুলিকে পুনরায় লোড করার প্রয়োজন হতে পারে।</translation> <translation id="1688750314291223739">ওয়েবে আপনার ব্যক্তিগতকৃত ব্রাউজার বিষয় সংরক্ষণ করতে সিঙ্ক সেট করুন এবং যেকোনো কম্পিউটারে Chromium থেকে সেগুলিতে অ্যাক্সেস করুন৷</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">আপডেটটি প্রয়োগ করতে Chromium OS আবার চালু করা প্রয়োজন।</translation> <translation id="2605472041568654097">বর্তমান সেটিংসের প্রতিবেদন করে Chromium কে আরো ভালো করে তুলতে সাহায্য করুন।</translation> <translation id="2636877269779209383">এটিকে এই সাইটে শেয়ার করার জন্য Chromium এর ক্যামেরা অ্যাক্সেস করা প্রয়োজন।</translation> +<translation id="2647554856022461007">Chromium আপনার ব্রাউজিংয়ের অভিজ্ঞতাকে উন্নত করতে ওয়েব পরিষেবাগুলি ব্যবহার করতে পারে৷ আপনি আপনার ইচ্ছা অনুযায়ী এই পরিষেবাগুলিকে অক্ষম করতে পারেন৷ <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" /></translation> <translation id="2648074677641340862">ইনস্টলেশনের সময় একটি অপারেটিং সিস্টেম ত্রুটি ঘটেছে৷ দয়া করে Chromium পুনরায় ডাউনলোড করুন৷</translation> <translation id="2685838254101182273">Chromium আপডেট করা বন্ধ করেছে এবং আপনার অপারেটিং সিস্টেমের এই সংস্করণটিকে আর সমর্থন করে না৷</translation> <translation id="2711502716910134313">Chromium ট্যাব</translation> @@ -60,7 +60,7 @@ <translation id="2905536371227304018">Chromium OS এই ভাষায় প্রদর্শিত হচ্ছে।</translation> <translation id="2910007522516064972">&Chromium সম্পর্কে</translation> <translation id="3032787606318309379">Chromium-এ জুড়ছে...</translation> -<translation id="3046695367536568084">অ্যাপ্লিকেশানগুলি ব্যবহার করতে আপনাকে Chromium এ আপনার প্রবেশ করুন করতে হবে৷ এটি Chromium কে ডিভাইসগুলি জুড়ে আপনার অ্যাপ্লিকেশান, বুকমার্কগুলি, ইতিহাস, পাসওয়ার্ডগুলি এবং অন্য সেটিংসগুলিকে সিঙ্ক করতে অনুমতি দেয়৷</translation> +<translation id="3046695367536568084">অ্যাপ্লিকেশানগুলি ব্যবহার করতে আপনাকে Chromium এ প্রবেশ করতে হবে৷ এটি Chromium কে ডিভাইসগুলি জুড়ে আপনার অ্যাপ্লিকেশান, বুকমার্কগুলি, ইতিহাস, পাসওয়ার্ডগুলি এবং অন্য সেটিংসগুলিকে সিঙ্ক করতে অনুমতি দেয়৷</translation> <translation id="3068515742935458733">Google এ <ph name="UMA_LINK" /> ও ক্র্যাশ প্রতিবেদন পাঠিয়ে Chromium আরো ভালো করতে সাহায্য করুন</translation> <translation id="3103660991484857065">ইনস্টলার আর্কাইভ অসংকুচিত করতে ব্যর্থ হয়েছে৷ দয়া করে Chromium পুনরায় ডাউনলোড করুন৷</translation> <translation id="3130323860337406239">Chromium আপনার মাইক্রোফোন ব্যবহার করছে৷</translation> @@ -94,7 +94,7 @@ <translation id="4077262827416206768">দয়া করে সব Chromium উইন্ডো বন্ধ করুন এবং এই পরিবর্তন কার্যকরী করতে Chromium আবার চালু করুন৷</translation> <translation id="4207043877577553402"><ph name="BEGIN_BOLD" />সতর্কতা:<ph name="END_BOLD" /> আপনার ব্রাউজিং ইতিহাস রেকর্ডিং করা থেকে এক্সটেনশনগুলিতে বাধা দিতে পারেনা৷ ছদ্মবেশী মোডে এই এক্সটেনশনটি অক্ষম করতে, এই বিকল্পটি নির্বাচন মুক্ত করুন৷</translation> <translation id="421369550622382712">Chromium-এর জন্য খুব ভালো অ্যাপ্লিকেশান, গেম, এক্সটেনশন এবং থিমসমূহ আবিষ্কার করুন৷</translation> -<translation id="4222580632002216401">আপনি এখন Chromium এ প্রবেশ করুন করেছেন! আপনার প্রশাসক দ্বারা সিঙ্ক অক্ষম করা আছে৷</translation> +<translation id="4222580632002216401">আপনি এখন Chromium এ প্রবেশ করেছেন! আপনার প্রশাসক দ্বারা সিঙ্ক অক্ষম করা আছে৷</translation> <translation id="4224199872375172890">Chromium আপ-টু-ডেট আছে৷</translation> <translation id="4230135487732243613">এই অ্যাকাউন্টে আপনার Chromium ডেটা লিঙ্ক করবেন?</translation> <translation id="4246125976471362530">{SECONDS,plural, =1{Chromium ১ সেকেন্ডের মধ্যে পুনরায় চালু হবে।}one{Chromium # সেকেন্ডের মধ্যে পুনরায় চালু হবে।}other{Chromium # সেকেন্ডের মধ্যে পুনরায় চালু হবে।}}</translation> @@ -102,11 +102,11 @@ <translation id="4285930937574705105">অনির্দিষ্ট ত্রুটির কারণে ইনস্টলেশন ব্যর্থ৷ বর্তমানে Chromium চালু থাকলেও, দয়া করে এটি বন্ধ করুন এবং আবার চেষ্টা করুন৷</translation> <translation id="4330585738697551178">এই মডিউল Chromium-এর সঙ্গে বিরোধের জন্য জ্ঞাত হয়৷</translation> <translation id="4423735387467980091">Chromium কাস্টমাইজ ও নিয়ন্ত্রণ করুন</translation> -<translation id="4458285410772214805">দয়া করে পরিবর্তনটি সম্ভব করতে প্রস্থান করুন এবং পুনরায় প্রবেশ করুন করুন৷</translation> +<translation id="4458285410772214805">দয়া করে পরিবর্তনটি সম্ভব করতে প্রস্থান করুন এবং পুনরায় প্রবেশ করুন৷</translation> <translation id="4469812139324097969">Chromium পুরানো হয়ে গেছে কারণ কিছু সময় ধরে এটিকে পুনঃলঞ্চ করা হয়নি। একটি আপডেট উপলব্ধ রয়েছে এবং আপনি পুনঃলঞ্চ করার সাথে সাথেই এটি প্রয়োগ করা হবে।</translation> <translation id="4488554488975128561">বিপজ্জনক অ্যাপ্লিকেশান এবং সাইট সনাক্ত করতে সহায়তা দিতে স্বয়ংক্রিয়ভাবে কিছু তথ্য ও পৃষ্ঠা সামগ্রী Google এ পাঠানোর মাধ্যমে Chromium কে আরো নিরাপদ ও সহজে ব্যবহারযোগ্য করে তুলতে সাহায্য করতে পারেন।</translation> <translation id="4549794359424059447">Chromium এর ভবিষ্যত সংস্করণ আর Windows XP বা Windows Vista সমর্থন করবে না।</translation> -<translation id="4567424176335768812">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে প্রবেশ করুন করেছেন৷ এখন আপনি আপনার সমস্ত প্রবেশ করুন করা ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস অ্যাক্সেস করতে পারেন৷</translation> +<translation id="4567424176335768812">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে প্রবেশ করেছেন৷ এখন আপনি আপনার সমস্ত প্রবেশ করা ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস অ্যাক্সেস করতে পারেন৷</translation> <translation id="459535195905078186">Chromium অ্যাপ্লিকেশানগুলি</translation> <translation id="4621240073146040695">প্রায় আপ-টু-ডেট হয়েছে! আপডেট শেষ করতে Chromium আবার চালু করুন।</translation> <translation id="4677944499843243528">অন্য একটি কম্পিউটারে (<ph name="HOST_NAME" />) প্রোফাইলটি অন্য Chromium প্রক্রিয়া (<ph name="PROCESS_ID" />) দ্বারা ব্যবহৃত হচ্ছে বলে মনে হচ্ছে৷ Chromium প্রোফাইলটিকে লক করেছে যাতে এটি বিকৃত না হয়ে যায়৷ যদি আপনি নিশ্চিত হন যে আর কোনো প্রক্রিয়া এই প্রোফাইলটিকে ব্যবহার করছে না, তবে আপনি প্রোফাইলটিকে আনলক করতে পারেন এবং Chromium কে পুনরায় লঞ্চ করতে পারেন৷</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">চ্যানেল পরিবর্তিত হয়েছে৷ পরিবর্তনগুলি প্রয়োগ করার জন্য আপনার ডিভাইস আবার শুরু করুন৷</translation> <translation id="5895138241574237353">পুনর্সূচনা</translation> <translation id="5906655207909574370">প্রায় আপ-টু-ডেট হয়েছে! আপডেট শেষ করতে আপনার ডিভাইস আবার চালু করুন।</translation> +<translation id="5942225298871134766">Chromium <ph name="SAVED_PASSWORD_LINK" /> এর মাধ্যমে এটি সংরক্ষণ করবে এবং পরবর্তী বার আপনার প্রয়োজনের সময় এটি মনে রাখবে।</translation> <translation id="5942520288919337908">Chromium-এ <ph name="EXTENSION_NAME" /> জোড়া হয়েছে৷</translation> <translation id="59625444380784159">আপনার পরিচিতিগুলির বিশদ বিবরণ আপনাকে Chromium এ আরো দ্রুত ফর্মগুলি পূরণ করতে সাহায্য করতে পারে৷</translation> <translation id="5987687638152509985">সিঙ্ক শুরু করতে Chromium আপডেট করুন</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">Chromium আপডেট করুন</translation> <translation id="7066436765290594559">Chromium OS আপনার ডেটা সিঙ্ক করতে পারেনি৷ দয়া করে আপনার সিঙ্ক পাসফ্রেজ আপডেট করুন৷</translation> <translation id="707471633328071618">Google Payments (Chromium এ অনুলিপি করা হয়েছে)</translation> -<translation id="7090955637699162649">আপনার ব্রাউজিং অভিজ্ঞতা আরো উন্নত করতে Chromium <ph name="BEGIN_LINK" />ওয়েব পরিষেবাগুলি<ph name="END_LINK" /> ব্যবহার করতে পারে। আপনি যেকোনো সময় এই পরিষেবাগুলি ঐচ্ছিকভাবে অক্ষম করতে পারেন।</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{এটা স্থায়ীভাবে এই ডিভাইস থেকে $1টি আইটেম মুছে ফেলবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chromium এ $2 হিসাবে সাইন ইন করুন।}one{এটা স্থায়ীভাবে এই ডিভাইস থেকে $1টি আইটেম মুছে ফেলবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chromium এ $2 হিসাবে সাইন ইন করুন।}other{এটা স্থায়ীভাবে এই ডিভাইস থেকে $1টি আইটেম মুছে ফেলবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chromium এ $2 হিসাবে সাইন ইন করুন।}}</translation> <translation id="7138853919861947730">আপনার ব্রাউজিং অভিজ্ঞতা উন্নত করতে Chromium ওয়েব পরিষেবাগুলি ব্যবহার করতে পারে৷</translation> <translation id="7162152143154757523">Chromium আপনাকে Google অনুসন্ধানে ব্যবহৃত একই বানান-পরীক্ষণের প্রযুক্তি ব্যবহার করার অনুমতি দেয়, আপনি Google সার্ভার থেকে ব্রাউজারে টাইপ করেন তা পাঠিয়ে আরো স্মার্ট বানান-পরীক্ষণ সরবরাহ করতে পারে৷</translation> @@ -221,7 +221,7 @@ <translation id="7729447699958282447">আপনার ডোমেনে সিঙ্ক উপলব্ধ না থাকার কারণে Chromium সিঙ্ক করতে পারেনি৷</translation> <translation id="7745317241717453663">এটি এই ডিভাইস থেকে আপনার ব্রাউজিং ডেটা মুছে ফেলবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chromium এ <ph name="USER_EMAIL" /> হিসেবে সাইন ইন করুন।</translation> <translation id="7747138024166251722">ইনস্টলারটি অস্থায়ী ডাইরেক্টরি তৈরি করতে পারে নি৷ দয়া করে মুক্ত ডিস্ক স্থান এবং সফ্টওয়্যারটি ইনস্টল করার অনুমতি যাচাই করে নিন৷</translation> -<translation id="7937630085815544518">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে Chromium এ প্রবেশ করুন করেছেন৷ আবার সাইন করতে দয়া করে একই অ্যাকাউন্ট ব্যবহার করুন৷</translation> +<translation id="7937630085815544518">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে Chromium এ প্রবেশ করেছেন৷ আবার সাইন করতে দয়া করে একই অ্যাকাউন্ট ব্যবহার করুন৷</translation> <translation id="795025003224538582">পুর্নসূচনা করবেন না</translation> <translation id="7962572577636132072">Chromium স্বয়ংক্রিয়ভাবে আপডেট হয় তাই আপনি সবসময় নবীনতম সংস্করণটি পান৷</translation> <translation id="7975919845073681630">এটা Chromium এর অপ্রধান ইনস্টলেশন এবং একে আপনার ডিফল্ট ব্রাউজার করা যাবে না।</translation> @@ -251,9 +251,9 @@ <translation id="8907580949721785412">Chromium পাসওয়ার্ডগুলি দেখানোর চেষ্টা করছে। এটির অনুমতি দিতে আপনার Windows পাসওয়ার্ড টাইপ করুন।</translation> <translation id="894903460958736500">আপনার কম্পিউটারে যে সফটওয়্যারটি চলছে সেটি Chromium এর সঙ্গে সঙ্গতিপূর্ণ নয়৷</translation> <translation id="8974095189086268230">Chrome OS সম্ভবত অতিরিক্ত <ph name="BEGIN_LINK_CROS_OSS" />ওপেন সোর্স সফ্টওয়্যার<ph name="END_LINK_CROS_OSS" /> দিয়ে তৈরি৷</translation> -<translation id="8985587603644336029">আগে কোনো একজন এই কম্পিউটারে <ph name="ACCOUNT_EMAIL_LAST" /> হিসাবে Chromium এ প্রবেশ করুন করেছেন৷ যদি সেটি আপনার অ্যাকাউন্ট না হয়, তাহলে আপনার তথ্য আলাদা করে রাখতে একটি নতুন Chromium ব্যবহারকারী তৈরি করুন৷ +<translation id="8985587603644336029">আগে কোনো একজন এই কম্পিউটারে <ph name="ACCOUNT_EMAIL_LAST" /> হিসাবে Chromium এ প্রবেশ করেছেন৷ যদি সেটি আপনার অ্যাকাউন্ট না হয়, তাহলে আপনার তথ্য আলাদা করে রাখতে একটি নতুন Chromium ব্যবহারকারী তৈরি করুন৷ -যেকোনো উপায়ে প্রবেশ করুন করা হলে তা বুকমার্কগুলি, ইতিহাস, এবং অন্যান্য সেটিংসের মত Chromium তথ্যকে <ph name="ACCOUNT_EMAIL_NEW" /> এ মার্জ করবে৷</translation> +যেকোনো উপায়ে প্রবেশ করা হলে তা বুকমার্কগুলি, ইতিহাস, এবং অন্যান্য সেটিংসের মত Chromium তথ্যকে <ph name="ACCOUNT_EMAIL_NEW" /> এ মার্জ করবে৷</translation> <translation id="9013087743919948559">Chromium-এ জুড়ুন</translation> <translation id="9019929317751753759">Chromium কে আরো নিরাপদ করতে, আমরা নীচের এক্সটেনশানটি অক্ষম করেছি যা <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> এ তালিকাবদ্ধ করা হয়নি এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছিল৷</translation> <translation id="9022552996538154597">Chromium-এ প্রবেশ করুন</translation> @@ -262,7 +262,7 @@ <translation id="911206726377975832">আপনার ব্রাউজিং ডেটাও মুছে দেবেন?</translation> <translation id="918373042641772655"><ph name="USERNAME" /> সংযোগ বিচ্ছিন্ন করলে তা আপনার ইতিহাস, বুকমার্ক, সেটিংস, এবং এই ডিভাইসে সঞ্চিত অন্যান্য Chromium ডেটা মুছে দেবে। আপনার Google অ্যাকাউন্টে সঞ্চিত ডেটা সাফ করা হবে না এবং <ph name="GOOGLE_DASHBOARD_LINK" />Google ড্যাশবোর্ড <ph name="END_GOOGLE_DASHBOARD_LINK" /> এ তা পরিচালনা করা যেতে পারে।</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> -<translation id="9197815481970649201">আপনি এখন Chromium এ প্রবেশ করুন করেছেন</translation> +<translation id="9197815481970649201">আপনি এখন Chromium এ প্রবেশ করেছেন</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> এ এই ডিভাইসটি ব্যবহার করার আগে আপনাকে নিম্নলিখিত পরিষেবার শর্তাদি পড়তে হবে এবং এটিকে স্বীকার করতে হবে৷ এই শর্তাদি Chromium OS এর শর্তাদিকে প্রসারণ, সংশোধন বা সীমাবদ্ধ করে না৷</translation> <translation id="985602178874221306">Chromium রচয়িতা</translation> </translationbundle> \ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb index 2e9e277..2a654ec 100644 --- a/chrome/app/resources/chromium_strings_ca.xtb +++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Estableix Chromium com a navegador predeterminat</translation> <translation id="151962892725702025">Chromium OS no ha pogut sincronitzar les vostres dades perquè la sincronització no està disponible per al vostre domini.</translation> <translation id="1559451348202814456">Pot ser que Chromium no funcioni correctament perquè ja no és compatible amb Mac OS X 10.6, 10.7 ni 10.8.</translation> -<translation id="1644918877723739397">Chromium desarà la contrasenya a <ph name="SAVED_PASSWORD_LINK" /> i la recordarà la propera vegada que la necessiteu.</translation> <translation id="1653828314016431939">D'acord, reinicia ara</translation> <translation id="1668054258064581266">Després de suprimir el vostre compte de Chromium, pot ser que hàgiu de tornar a carregar les pestanyes obertes.</translation> <translation id="1688750314291223739">Configureu la sincronització per desar al web les funcions personalitzades del navegador i per accedir-hi des de qualsevol equip mitjançant Chromium.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Cal reiniciar Chromium OS per aplicar l'actualització.</translation> <translation id="2605472041568654097">Informa de la configuració actual per ajudar-nos a millorar Chromium.</translation> <translation id="2636877269779209383">Chromium necessita accedir a la càmera per compartir-la amb aquest lloc.</translation> +<translation id="2647554856022461007">Chromium pot utilitzar serveis web per millorar la navegació, però si vols els pots desactivar. <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation> <translation id="2648074677641340862">S'ha produït un error en el sistema operatiu durant la instal·lació. Torneu a baixar Chromium.</translation> <translation id="2685838254101182273">Chromium ha deixat d'actualitzar-se i ja no admet aquesta versió del vostre sistema operatiu.</translation> <translation id="2711502716910134313">Pestanya de Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">El canal ha canviat. Reinicieu el dispositiu perquè s'apliquin els canvis.</translation> <translation id="5895138241574237353">Reinicia</translation> <translation id="5906655207909574370">Gairebé heu acabat. Reinicieu el dispositiu per completar l'actualització.</translation> +<translation id="5942225298871134766">Chromium desarà la contrasenya amb <ph name="SAVED_PASSWORD_LINK" /> i la recordarà la propera vegada que la necessiteu.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> s'ha afegit a Chromium.</translation> <translation id="59625444380784159">Disposar de detalls dels vostres contactes us pot ajudar a emplenar formularis amb més rapidesa a Chromium.</translation> <translation id="5987687638152509985">Actualitza Chromium per iniciar la sincronització</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Actualitza Chromium</translation> <translation id="7066436765290594559">Chromium OS no ha pogut sincronitzar les vostres dades. Actualitzeu la frase de contrasenya de sincronització.</translation> <translation id="707471633328071618">Google Payments (copiada a Chromium)</translation> -<translation id="7090955637699162649">Chromium podria utilitzar <ph name="BEGIN_LINK" />serveis web<ph name="END_LINK" /> per millorar la vostra experiència de navegació. Si voleu, podeu desactivar aquests serveis en qualsevol moment.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Amb aquesta acció, se suprimirà $1 element d'aquest dispositiu de manera permanent. Per recuperar les vostres dades més endavant, inicieu la sessió a Chromium com a $2.}other{Amb aquesta acció, se suprimiran $1 elements d'aquest dispositiu de manera permanent. Per recuperar les vostres dades més endavant, inicieu la sessió a Chromium com a $2.}}</translation> <translation id="7138853919861947730">Chromium pot utilitzar serveis web per millorar l'experiència de navegació dels usuaris.</translation> <translation id="7162152143154757523">Perquè el corrector ortogràfic sigui més útil, Chromium envia als servidors de Google el text que escriviu al navegador i, així, podeu fer servir la mateixa tecnologia de correcció ortogràfica de la Cerca de Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_cs.xtb b/chrome/app/resources/chromium_strings_cs.xtb index 9ea7dd01..7dfaab2b 100644 --- a/chrome/app/resources/chromium_strings_cs.xtb +++ b/chrome/app/resources/chromium_strings_cs.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Nastavte si Chromium jako výchozí prohlížeč</translation> <translation id="151962892725702025">Chromium OS nemůže synchronizovat data, protože Synchronizace ve vaší doméně není k dispozici.</translation> <translation id="1559451348202814456">Prohlížeč Chromium nemusí fungovat správně, protože v systémech Mac OS X 10.6, 10.7 a 10.8 již není podporován.</translation> -<translation id="1644918877723739397">Prohlížeč Chromium toto heslo uloží mezi <ph name="SAVED_PASSWORD_LINK" /> a zapamatuje si jej pro příští použití.</translation> <translation id="1653828314016431939">OK – Restartovat</translation> <translation id="1668054258064581266">Odebrání účtu z aplikace Chromium se může projevit až po opětovném načtení otevřených karet.</translation> <translation id="1688750314291223739">Chcete-li uložit personalizované funkce prohlížeče na web a získat k nim přístup z prohlížeče Chromium v libovolném prohlížeči, nastavte synchronizaci.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Aktualizace se použije po restartování systému Chromium OS.</translation> <translation id="2605472041568654097">Pomozte s vylepšováním prohlížeče Chromium prostřednictvím nahlášení aktuálního nastavení.</translation> <translation id="2636877269779209383">Prohlížeč Chromium potřebuje přístup k fotoaparátu, aby jej mohl sdílet s těmito stránkami.</translation> +<translation id="2647554856022461007">Chromium vám může usnadnit prohlížení pomocí webových služeb. Tyto služby můžete případně zakázat. <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Během instalace došlo k chybě operačního systému. Stáhněte prosím Chromium znovu.</translation> <translation id="2685838254101182273">Chromium již nepodporuje verzi operačního systému, kterou používáte, a nebude možné jej aktualizovat.</translation> <translation id="2711502716910134313">Karta prohlížeče Chromium</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Verze byla změněna. Změny se projeví po restartování zařízení.</translation> <translation id="5895138241574237353">Restartovat</translation> <translation id="5906655207909574370">Aktualizace je téměř hotova! Dokončíte ji restartováním zařízení.</translation> +<translation id="5942225298871134766">Prohlížeč Chromium toto heslo uloží mezi <ph name="SAVED_PASSWORD_LINK" /> a zapamatuje si jej pro příští použití.</translation> <translation id="5942520288919337908">Do prohlížeče Chromium bylo přidáno rozšíření <ph name="EXTENSION_NAME" />.</translation> <translation id="59625444380784159">Podrobnosti vašich kontaktů vám mohou pomoci vyplňovat formuláře v prohlížeči Chromium rychleji.</translation> <translation id="5987687638152509985">Chcete-li zahájit synchronizaci, aktualizujte Chromium</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Aktualizovat Chromium</translation> <translation id="7066436765290594559">Chromium OS vaše data nemohl synchronizovat. Aktualizujte prosím heslovou frázi pro synchronizaci.</translation> <translation id="707471633328071618">Google Payments (zkopírováno do prohlížeče Chromium)</translation> -<translation id="7090955637699162649">Chromium vám může usnadnit prohlížení pomocí <ph name="BEGIN_LINK" />webových služeb<ph name="END_LINK" />. Tyto služby můžete kdykoli zakázat.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Touto akcí z tohoto zařízení trvale smažete $1 položku. Budete-li chtít své údaje později načíst, přihlaste se do prohlížeče Chromium jako $2.}few{Touto akcí z tohoto zařízení trvale smažete $1 položky. Budete-li chtít své údaje později načíst, přihlaste se do prohlížeče Chromium jako $2.}many{Touto akcí z tohoto zařízení trvale smažete $1 položky. Budete-li chtít své údaje později načíst, přihlaste se do prohlížeče Chromium jako $2.}other{Touto akcí z tohoto zařízení trvale smažete $1 položek. Budete-li chtít své údaje později načíst, přihlaste se do prohlížeče Chromium jako $2.}}</translation> <translation id="7138853919861947730">Chromium vám může usnadnit prohlížení pomocí webových služeb.</translation> <translation id="7162152143154757523">Chromium může poskytovat lepší kontrolu pravopisu tím, že text zadaný do prohlížeče odešle na servery Google. Umožňuje vám tak používat stejnou technologii kontroly pravopisu, jakou používá Vyhledávání Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_da.xtb b/chrome/app/resources/chromium_strings_da.xtb index 02250b4..55ab7c5 100644 --- a/chrome/app/resources/chromium_strings_da.xtb +++ b/chrome/app/resources/chromium_strings_da.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Gør Chromium til din standardbrowser</translation> <translation id="151962892725702025">Chromium OS kunne ikke synkronisere dine data, fordi synkronisering ikke er tilgængeligt på dit domæne.</translation> <translation id="1559451348202814456">Chromium fungerer muligvis ikke korrekt på grund af manglende understøttelse i Mac OS X 10.6, 10.7 og 10.8.</translation> -<translation id="1644918877723739397">Chromium gemmer denne i <ph name="SAVED_PASSWORD_LINK" /> og husker den, næste gang du skal bruge den.</translation> <translation id="1653828314016431939">OK, genstart nu</translation> <translation id="1668054258064581266">Når du har fjernet din konto fra Chromium, skal du muligvis genindlæse dine åbne faner, før ændringen træder i kraft.</translation> <translation id="1688750314291223739">Konfigurer Synkronisering for at gemme dine personlige browserfunktioner på nettet, og få adgang til dem fra Chromium på en computer.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS skal genstartes, før opdateringen kan anvendes.</translation> <translation id="2605472041568654097">Hjælp med at gøre Chromium bedre ved at rapportere de aktuelle indstillinger.</translation> <translation id="2636877269779209383">Chromium skal have adgang til dit kamera, før det kan deles med dette website.</translation> +<translation id="2647554856022461007">Chromium bruger muligvis webtjenester for at forbedre din browseroplevelse. Du kan vælge at deaktivere disse tjenester. <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Der opstod en fejl i operativsystemet under installationen. Download Chromium igen.</translation> <translation id="2685838254101182273">Chromium er holdt op med at opdatere og understøtter ikke længere denne version af dit operativsystem.</translation> <translation id="2711502716910134313">Fanen Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanalen er ændret. Genstart din enhed for at anvende ændringerne.</translation> <translation id="5895138241574237353">Genstart</translation> <translation id="5906655207909574370">Næsten opdateret. Genstart din enhed for at afslutte opdateringen.</translation> +<translation id="5942225298871134766">Chromium gemmer denne med <ph name="SAVED_PASSWORD_LINK" /> og husker den, næste gang du skal bruge den.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> er føjet til Chromium.</translation> <translation id="59625444380784159">Oplysninger om dine kontaktpersoner kan hjælpe dig med at udfylde formularer hurtigere i Chromium.</translation> <translation id="5987687638152509985">Opdater Chromium for at starte synkronisering</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Opdater Chromium</translation> <translation id="7066436765290594559">Chromium OS kunne ikke synkronisere dine data. Opdater din adgangssætning til synkronisering.</translation> <translation id="707471633328071618">Google Payments (kopieret til Chromium)</translation> -<translation id="7090955637699162649">Chromium kan bruge <ph name="BEGIN_LINK" />webtjenester<ph name="END_LINK" /> for at forbedre din browseroplevelse. Du kan deaktivere disse tjenester til enhver tid.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Denne handling sletter $1 element permanent fra denne enhed. Hvis du senere vil hente dine data igen, skal du logge ind i Chromium som $2.}one{Denne handling sletter $1 element permanent fra denne enhed. Hvis du senere vil hente dine data igen, skal du logge ind i Chromium som $2.}other{Denne handling sletter $1 elementer permanent fra denne enhed. Hvis du senere vil hente dine data igen, skal du logge ind i Chromium som $2.}}</translation> <translation id="7138853919861947730">Chromium kan bruge webtjenester til at forbedre din søgeoplevelse.</translation> <translation id="7162152143154757523">Chromium kan anvende smartere stavekontrol ved at sende dine indtastninger i browseren til Googles servere, så du kan bruge den samme teknologi til stavekontrol, som der anvendes i Google-søgninger.</translation>
diff --git a/chrome/app/resources/chromium_strings_de.xtb b/chrome/app/resources/chromium_strings_de.xtb index c3efebc..0470afb 100644 --- a/chrome/app/resources/chromium_strings_de.xtb +++ b/chrome/app/resources/chromium_strings_de.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromium als Standardbrowser festlegen</translation> <translation id="151962892725702025">Chromium OS konnte Ihre Daten nicht synchronisieren, da die Synchronisierung für Ihre Domain nicht verfügbar ist.</translation> <translation id="1559451348202814456">Chromium funktioniert unter Umständen nicht ordnungsgemäß, da es unter Mac OS X 10.6, 10.7 und 10.8 nicht mehr unterstützt wird.</translation> -<translation id="1644918877723739397">Chromium speichert dies in <ph name="SAVED_PASSWORD_LINK" />, damit es bei Bedarf verfügbar ist.</translation> <translation id="1653828314016431939">OK - jetzt neu starten</translation> <translation id="1668054258064581266">Nachdem Sie Ihr Konto aus Chromium entfernt haben, müssen Sie Ihre geöffneten Tabs möglicherweise neu laden, damit die Änderung wirksam wird.</translation> <translation id="1688750314291223739">Richten Sie die Synchronisierung ein, um Ihre personalisierten Browserfunktionen online zu speichern und über Chromium auf jedem Computer darauf zuzugreifen.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS muss neu gestartet werden, um das Update zu übernehmen.</translation> <translation id="2605472041568654097">Helfen Sie uns mit Ihrem Feedback zu den aktuellen Einstellungen bei der Verbesserung von Chromium.</translation> <translation id="2636877269779209383">Chromium benötigt Zugriff auf die Kamera, um ihn mit dieser Website teilen zu können.</translation> +<translation id="2647554856022461007">Chromium verwendet möglicherweise Webdienste zur Verbesserung Ihrer Nutzererfahrung beim Surfen im Internet. Sie haben die Möglichkeit, diese Dienste zu deaktivieren. <ph name="BEGIN_LINK" />Weitere Informationen<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Während der Installation ist ein Fehler im Betriebssystem aufgetreten. Bitte laden Sie Chromium erneut herunter.</translation> <translation id="2685838254101182273">Chromium wird nicht mehr aktualisiert und unterstützt Ihre Betriebssystemversion nicht länger.</translation> <translation id="2711502716910134313">Chromium-Tab</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanal wurde geändert. Starten Sie Ihr Gerät neu, um die Änderungen zu übernehmen.</translation> <translation id="5895138241574237353">Neu starten</translation> <translation id="5906655207909574370">Fast fertig! Starten Sie Ihr Gerät neu, um die Aktualisierung abzuschließen.</translation> +<translation id="5942225298871134766">Chromium speichert dies in <ph name="SAVED_PASSWORD_LINK" />, damit es bei Bedarf verfügbar ist.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> wurde zu Chromium hinzugefügt.</translation> <translation id="59625444380784159">Mithilfe von Angaben aus Ihren Kontakten können Sie Formulare in Chromium schneller ausfüllen.</translation> <translation id="5987687638152509985">Aktualisieren Sie Chromium, um die Synchronisierung zu starten</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Chromium aktualisieren</translation> <translation id="7066436765290594559">Chromium OS konnte Ihre Daten nicht synchronisieren. Bitte aktualisieren Sie Ihre Passphrase für die Synchronisierung.</translation> <translation id="707471633328071618">Google Payments (in Chromium kopiert)</translation> -<translation id="7090955637699162649">Chromium nutzt möglicherweise <ph name="BEGIN_LINK" />Webdienste<ph name="END_LINK" /> zur Verbesserung Ihrer Browsererfahrung. Sie können diese Dienste jederzeit deaktivieren.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Dadurch wird $1 Element dauerhaft von diesem Gerät gelöscht. Wenn Sie Ihre Daten später abrufen möchten, melden Sie sich als $2 in Chromium an.}other{Dadurch werden $1 Elemente dauerhaft von diesem Gerät gelöscht. Wenn Sie Ihre Daten später abrufen möchten, melden Sie sich als $2 in Chromium an.}}</translation> <translation id="7138853919861947730">Chromium kann das Browserverhalten mithilfe von Webdiensten verbessern.</translation> <translation id="7162152143154757523">Chromium bietet eine intelligentere Rechtschreibprüfung, indem der Browser das, was Sie eingeben, an die Google-Server sendet. So steht Ihnen dieselbe Technologie zur Rechtschreibprüfung zur Verfügung, die bei der Google-Suche zum Einsatz kommt.</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb index 0685056b..aa44666 100644 --- a/chrome/app/resources/chromium_strings_el.xtb +++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Ορίστε το Chromium ως προεπιλεγμένο πρόγραμμα περιήγησης</translation> <translation id="151962892725702025">Το Chromium OS δεν μπόρεσε να συγχρονίσει τα δεδομένα σας, επειδή ο συγχρονισμός δεν είναι διαθέσιμος για τον τομέα σας.</translation> <translation id="1559451348202814456">Το Chromium ενδέχεται να μην λειτουργεί σωστά, επειδή δεν υποστηρίζεται πια σε εκδόσεις Mac OS X 10.6, 10.7 και 10.8.</translation> -<translation id="1644918877723739397">Το Chromium θα αποθηκεύσει αυτές τις πληροφορίες στο <ph name="SAVED_PASSWORD_LINK" /> και θα τις απομνημονεύσει για την επόμενη φορά που θα τις χρειαστείτε.</translation> <translation id="1653828314016431939">OK - Επανεκκίνηση τώρα</translation> <translation id="1668054258064581266">Μετά την κατάργηση του λογαριασμού σας στο Chromium, ενδεχομένως να χρειαστεί να επαναφορτώσετε τις ανοικτές καρτέλες σας προκειμένου να εφαρμοστούν οι αλλαγές σας.</translation> <translation id="1688750314291223739">Ρυθμίστε τον συγχρονισμό για την αποθήκευση όλων των εξατομικευμένων λειτουργιών του προγράμματος περιήγησής σας στον ιστό και μεταβείτε σε αυτές από το Chromium μέσω οποιουδήποτε υπολογιστή.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Για να εφαρμοστεί η ενημέρωση, πρέπει να γίνει επανεκκίνηση του Chromium OS.</translation> <translation id="2605472041568654097">Συμβάλετε στη βελτίωση του Chromium, αναφέροντας τις τρέχουσες ρυθμίσεις.</translation> <translation id="2636877269779209383">Το Chromium χρειάζεται πρόσβαση στην κάμερα για να τη μοιραστεί με αυτόν τον ιστότοπο.</translation> +<translation id="2647554856022461007">Το Chromium ενδέχεται να χρησιμοποιεί υπηρεσίες ιστού για να βελτιώσει την εμπειρία περιήγησής σας. Μπορείτε, εάν θέλετε, να απενεργοποιήσετε αυτές τις υπηρεσίες. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Παρουσιάστηκε σφάλμα στο λειτουργικό σύστημα κατά την εγκατάσταση. Κατεβάστε το Chromium ξανά.</translation> <translation id="2685838254101182273">Το Chromium έχει σταματήσει να ενημερώνεται και δεν υποστηρίζει πλέον αυτήν την έκδοση του λειτουργικού σας συστήματος.</translation> <translation id="2711502716910134313">Καρτέλα Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Το κανάλι έχει αλλάξει. Επανεκκινήστε τη συσκευή σας για να εφαρμόσετε τις αλλαγές.</translation> <translation id="5895138241574237353">Επανεκκίνηση</translation> <translation id="5906655207909574370">Η ενημέρωση σχεδόν ολοκληρώθηκε! Επανεκκινήστε τη συσκευή σας για να ολοκληρωθεί η ενημέρωση.</translation> +<translation id="5942225298871134766">Το Chromium θα αποθηκεύσει αυτές τις πληροφορίες με <ph name="SAVED_PASSWORD_LINK" /> και θα τις απομνημονεύσει για την επόμενη φορά που θα τις χρειαστείτε.</translation> <translation id="5942520288919337908">Η επέκταση <ph name="EXTENSION_NAME" /> έχει προστεθεί στο Chromium.</translation> <translation id="59625444380784159">Οι λεπτομέρειες από τις επαφές σας μπορούν να σας βοηθήσουν να συμπληρώνετε πιο γρήγορα τις φόρμες στο Chromium.</translation> <translation id="5987687638152509985">Για να ξεκινήσει ο συγχρονισμός, ενημερώστε το Chromium</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Ενημέρωση Chromium</translation> <translation id="7066436765290594559">Το Chromium OS δεν μπόρεσε να συγχρονίσει τα δεδομένα σας. Ενημερώστε τη φράση πρόσβασης συγχρονισμού.</translation> <translation id="707471633328071618">Google Payments (αντιγράφηκε στο Chromium)</translation> -<translation id="7090955637699162649">Το Chromium ενδέχεται να χρησιμοποιεί <ph name="BEGIN_LINK" />υπηρεσίες ιστού<ph name="END_LINK" /> για να βελτιώσει την εμπειρία περιήγησής σας. Μπορείτε, εάν θέλετε, να απενεργοποιήσετε αυτές τις υπηρεσίες.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Με αυτή την ενέργεια θα διαγραφεί οριστικά 1$ στοιχείο από αυτή τη συσκευή. Για να ανακτήσετε τα δεδομένα σας αργότερα, συνδεθείτε στο Chromium ως $2.}other{Με αυτή την ενέργεια θα διαγραφούν οριστικά 1$ στοιχεία από αυτή τη συσκευή. Για να ανακτήσετε τα δεδομένα σας αργότερα, συνδεθείτε στο Chromium ως $2.}}</translation> <translation id="7138853919861947730">Το Chromium μπορεί να χρησιμοποιήσει υπηρεσίες ιστού για να βελτιώσει την εμπειρία περιήγησής σας.</translation> <translation id="7162152143154757523">Το Chromium μπορεί να παρέχει πιο έξυπνο ορθογραφικό έλεγχο, αποστέλλοντας ό,τι πληκτρολογείτε στο πρόγραμμα περιήγησης, στους διακομιστές της Google, επιτρέποντάς σας να χρησιμοποιείτε την ίδια τεχνολογία ορθογραφικού ελέγχου που χρησιμοποιείται από την αναζήτηση Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb index 3d6bae7c..faae9f1 100644 --- a/chrome/app/resources/chromium_strings_en-GB.xtb +++ b/chrome/app/resources/chromium_strings_en-GB.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Make Chromium your default browser</translation> <translation id="151962892725702025">Chromium OS could not sync your data because Sync is not available for your domain.</translation> <translation id="1559451348202814456">Chromium may not function correctly because it is no longer supported on Mac OS X 10.6, 10.7 or 10.8.</translation> -<translation id="1644918877723739397">Chromium will store this in your <ph name="SAVED_PASSWORD_LINK" /> and remember it the next time that you need it.</translation> <translation id="1653828314016431939">OK - Restart now</translation> <translation id="1668054258064581266">After removing your account from Chromium, you may need to reload your open tabs to take effect.</translation> <translation id="1688750314291223739">Set up Sync to save your personalised browser features to the web and access them from Chromium on any computer.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Chromium OS needs to be restarted to apply the update.</translation> <translation id="2605472041568654097">Help make Chromium better by reporting the current settings.</translation> <translation id="2636877269779209383">Chromium needs camera access to share it with this site.</translation> +<translation id="2647554856022461007">Chromium may use web services to improve your browsing experience. You may optionally disable these services. <ph name="BEGIN_LINK" />Find out more<ph name="END_LINK" /></translation> <translation id="2648074677641340862">An operating system error occurred during installation. Please download Chromium again.</translation> <translation id="2685838254101182273">Chromium has stopped updating and no longer supports this version of your operating system.</translation> <translation id="2711502716910134313">Chromium Tab</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Channel changed. Restart your device to apply changes.</translation> <translation id="5895138241574237353">Restart</translation> <translation id="5906655207909574370">Nearly up to date! Restart your device to finish updating.</translation> +<translation id="5942225298871134766">Chromium will store this with <ph name="SAVED_PASSWORD_LINK" /> and remember it the next time that you need it.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> has been added to Chromium.</translation> <translation id="59625444380784159">Details from your contacts can help you fill out forms more quickly in Chromium.</translation> <translation id="5987687638152509985">Update Chromium to start sync</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Update Chromium</translation> <translation id="7066436765290594559">Chromium OS could not sync your data. Please update your Sync passphrase.</translation> <translation id="707471633328071618">Google Payments (copied to Chromium)</translation> -<translation id="7090955637699162649">Chromium may use <ph name="BEGIN_LINK" />web services<ph name="END_LINK" /> to improve your browsing experience. You may optionally disable these services at any time.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{This will permanently delete $1 item from this device. To retrieve your data later, sign in to Chromium as $2.}other{This will permanently delete $1 items from this device. To retrieve your data later, sign in to Chromium as $2.}}</translation> <translation id="7138853919861947730">Chromium may use web services to improve your browsing experience.</translation> <translation id="7162152143154757523">Chromium can provide smarter spell-checking by sending what you type in the browser to Google servers, allowing you to use the same spell-checking technology used by Google search.</translation>
diff --git a/chrome/app/resources/chromium_strings_es-419.xtb b/chrome/app/resources/chromium_strings_es-419.xtb index 79312325..6adab19f8 100644 --- a/chrome/app/resources/chromium_strings_es-419.xtb +++ b/chrome/app/resources/chromium_strings_es-419.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Establecer Chromium como navegador predeterminado</translation> <translation id="151962892725702025">El Sistema operativo Chromium no pudo sincronizar los datos porque la sincronización no está disponible para el dominio.</translation> <translation id="1559451348202814456">Es posible que Chromium no funcione correctamente porque ya no es compatible con Mac OS X 10.6, 10.7 o 10.8.</translation> -<translation id="1644918877723739397">Chromium la almacenará en las <ph name="SAVED_PASSWORD_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="1653828314016431939">Reiniciar ahora</translation> <translation id="1668054258064581266">Luego de eliminar la cuenta de Chromium, es posible que debas volver a cargar las pestañas abiertas para que se aplique el cambio.</translation> <translation id="1688750314291223739">Configura la sincronización para guardar tus funciones personalizadas del navegador en la Web y para acceder a ellas con Chromium desde cualquier equipo.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">El Sistema operativo Chromium debe reiniciarse para que se aplique la actualización.</translation> <translation id="2605472041568654097">Informa tu configuración actual para ayudarnos a mejorar Chromium.</translation> <translation id="2636877269779209383">Chromium necesita acceso a la cámara para compartirla con el sitio.</translation> +<translation id="2647554856022461007">Es posible que Chromium use servicios web para mejorar tu experiencia de navegación (tienes la opción de inhabilitar estos servicios). <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Se produjo un error del sistema operativo durante la instalación. Descarga Chromium nuevamente.</translation> <translation id="2685838254101182273">Chromium dejó de actualizarse y ya no admite esta versión de tu sistema operativo.</translation> <translation id="2711502716910134313">Pestaña de Chromium</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">Se cambió el canal. Reinicia el dispositivo para aplicar los cambios.</translation> <translation id="5895138241574237353">Reiniciar</translation> <translation id="5906655207909574370">El dispositivo está casi actualizado. Reinícialo para completar la actualización.</translation> +<translation id="5942225298871134766">Chromium la almacenará con <ph name="SAVED_PASSWORD_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> se agregó a Chromium.</translation> <translation id="59625444380784159">Los detalles de tus contactos pueden ayudar a completar los formularios de forma más rápida en Chromium.</translation> <translation id="5987687638152509985">Actualiza Chromium para iniciar la sincronización</translation> @@ -185,7 +186,6 @@ <translation id="705851970750939768">Actualizar Chromium</translation> <translation id="7066436765290594559">El Sistema operativo Chromium no pudo sincronizar los datos. Actualiza la frase de contraseña de sincronización.</translation> <translation id="707471633328071618">Google Payments (copiada en Chromium)</translation> -<translation id="7090955637699162649">Chromium podrá usar los <ph name="BEGIN_LINK" />servicios web<ph name="END_LINK" /> para mejorar la experiencia de navegación. Podrás inhabilitar estos servicios en cualquier momento.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Esta acción borrará de forma permanente $1 elemento de este dispositivo. Si más adelante deseas recuperar tus datos, accede a Chromium como $2.}other{Esta acción borrará de forma permanente $1 elementos de este dispositivo. Si más adelante deseas recuperar tus datos, accede a Chromium como $2.}}</translation> <translation id="7138853919861947730">Chromium puede utilizar servicios web para mejorar tu experiencia de navegación.</translation> <translation id="7162152143154757523">Chromium puede proporcionar una corrección ortográfica más inteligente al enviar lo que escribes en el navegador a los servidores de Google. Esto te permite usar la misma tecnología de corrección ortográfica que usa la Búsqueda de Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb index ad8f197..a3376095 100644 --- a/chrome/app/resources/chromium_strings_es.xtb +++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Establece Chromium como navegador predeterminado</translation> <translation id="151962892725702025">Chromium OS no ha podido sincronizar los datos porque la función de sincronización no está disponible para tu dominio.</translation> <translation id="1559451348202814456">Es posible que Chromium no funcione correctamente porque ya no es compatible con Mac OS X 10.6, 10.7 o 10.8.</translation> -<translation id="1644918877723739397">Chromium almacenará esta contraseña en tus <ph name="SAVED_PASSWORD_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="1653828314016431939">Reiniciar ahora</translation> <translation id="1668054258064581266">Después de eliminar tu cuenta de Chromium, es posible que tengas que volver a cargar las pestañas abiertas para que se aplique el cambio.</translation> <translation id="1688750314291223739">Configura la sincronización para guardar las funciones personalizadas de tu navegador en la Web y acceder a ellas desde Chromium en cualquier ordenador.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Chromium OS se debe reiniciar para que se aplique la actualización.</translation> <translation id="2605472041568654097">Genera un informe de la configuración actual para ayudar a mejorar Chromium.</translation> <translation id="2636877269779209383">Chromium necesita acceder a la cámara para compartirla con este sitio web.</translation> +<translation id="2647554856022461007">Chromium puede utilizar los servicios web para mejorar la experiencia de navegación. Puedes inhabilitar estos servicios. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Se ha producido un error de sistema operativo durante el proceso de instalación. Vuelve a descargar Chromium.</translation> <translation id="2685838254101182273">Chromium ha dejado de actualizarse y ya no admite la versión de tu sistema operativo.</translation> <translation id="2711502716910134313">Pestaña de Chromium</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Se ha cambiado el canal. Reinicia el dispositivo para aplicar los cambios.</translation> <translation id="5895138241574237353">Reiniciar</translation> <translation id="5906655207909574370">El dispositivo está casi actualizado. Reinícialo para completar la actualización.</translation> +<translation id="5942225298871134766">Chromium almacenará esta contraseña en <ph name="SAVED_PASSWORD_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> se ha añadido a Chromium.</translation> <translation id="59625444380784159">Los detalles de tus contactos pueden ayudar a completar los formularios de forma más rápida en Chromium.</translation> <translation id="5987687638152509985">Actualiza Chromium para iniciar la sincronización</translation> @@ -192,7 +193,6 @@ <translation id="705851970750939768">Actualizar Chromium</translation> <translation id="7066436765290594559">Chromium OS no ha podido sincronizar tus datos. Actualiza tu frase de contraseña de sincronización.</translation> <translation id="707471633328071618">Google Payments (copiada en Chromium)</translation> -<translation id="7090955637699162649">Chromium puede utilizar <ph name="BEGIN_LINK" />servicios web<ph name="END_LINK" /> para mejorar la experiencia de navegación de los usuarios. Puedes inhabilitar estos servicios en cualquier momento.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Se eliminará permanentemente $1 elemento de este dispositivo. Para recuperar tus datos en otro momento, inicia sesión en Chromium como $2.}other{Se eliminarán permanentemente $1 elementos de este dispositivo. Para recuperar tus datos en otro momento, inicia sesión en Chromium como $2.}}</translation> <translation id="7138853919861947730">Chromium puede utilizar servicios web para mejorar la experiencia de navegación de los usuarios.</translation> <translation id="7162152143154757523">Chromium puede proporcionar un corrector ortográfico más inteligente si envías el texto que introduces en el navegador a los servidores de Google, lo que te permitirá utilizar la misma tecnología de corrección ortográfica que usa la Búsqueda de Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb index 7e6ffe46..e3735e49 100644 --- a/chrome/app/resources/chromium_strings_et.xtb +++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromiumi vaikebrauseriks määramine</translation> <translation id="151962892725702025">Chromium OS ei saanud teie andmeid sünkroonida, sest teie domeenil pole sünkroonimine saadaval.</translation> <translation id="1559451348202814456">Chromium ei pruugi õigesti töötada, kuna seda ei toetata enam operatsioonisüsteemides Mac OS X 10.6, 10.7 ega 10.8.</translation> -<translation id="1644918877723739397">Chromium salvestab selle asukohta <ph name="SAVED_PASSWORD_LINK" /> ja peab seda meeles, kui seda järgmine kord vajate.</translation> <translation id="1653828314016431939">OK – taaskäivita kohe</translation> <translation id="1668054258064581266">Pärast konto eemaldamist Chromiumist tuleb avatud vahekaardid võib-olla uuesti laadida, et need toimiksid.</translation> <translation id="1688750314291223739">Seadistage sünkroonimine, et salvestada isikupärastatud brauserifunktsioonid veebi, misjuhul pääsete igast arvutist Chromiumi kaudu nende juurde.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS tuleb värskenduse rakendamiseks taaskäivitada.</translation> <translation id="2605472041568654097">Aidake muuta Chromiumi paremaks, teavitades meid praegustest seadetest.</translation> <translation id="2636877269779209383">Chromiumil on vaja kaamerale juurdepääsu selle jagamiseks saidiga.</translation> +<translation id="2647554856022461007">Chromium võib sirvimiskogemuse parandamiseks kasutada veebiteenuseid. Võite need teenused valikuliselt keelata. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Installimisel ilmnes operatsioonisüsteemi viga. Laadige Chromium uuesti alla.</translation> <translation id="2685838254101182273">Chromiumi värskendamine peatati ja teie operatsioonisüsteemi seda versiooni ei toetata enam.</translation> <translation id="2711502716910134313">Chromiumi vaheleht</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanal on muutunud. Muudatuste rakendamiseks taaskäivitage oma seade.</translation> <translation id="5895138241574237353">Taaskäivitamine</translation> <translation id="5906655207909574370">Seade on peaaegu ajakohane. Värskenduse lõpuleviimiseks taaskäivitage seade.</translation> +<translation id="5942225298871134766">Chromium salvestab selle funktsiooniga <ph name="SAVED_PASSWORD_LINK" /> ja peab seda meeles, kui seda järgmine kord vajate.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> on Chromiumi lisatud.</translation> <translation id="59625444380784159">Kontaktide üksikasjad aitavad Chromiumis kiiremini vorme täita.</translation> <translation id="5987687638152509985">Sünkroonimise alustamiseks värskendage Chromiumi</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Värskenda Chromiumi</translation> <translation id="7066436765290594559">Chromium OS ei saanud teie andmeid sünkroonida. Värskendage oma sünkroonimisparooli.</translation> <translation id="707471633328071618">Google Payments (Chromiumi kopeeritud)</translation> -<translation id="7090955637699162649">Chromium võib kasutada <ph name="BEGIN_LINK" />veebiteenuseid<ph name="END_LINK" /> teie sirvimiskogemuse täiustamiseks. Võite need teenused soovi korral igal ajal välja lülitada.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{See kustutab sellest seadmest jäädavalt $1 üksuse. Hiljem oma andmete toomiseks logige Chromiumi sisse kasutajana $2.}other{See kustutab sellest seadmest jäädavalt $1 üksust. Hiljem oma andmete toomiseks logige Chromiumi sisse kasutajana $2.}}</translation> <translation id="7138853919861947730">Chromium võib kasutada veebiteenuseid sirvimiskogemuse täiustamiseks.</translation> <translation id="7162152143154757523">Chromium võib õigekirjakontrolli täiustada, saates brauserisse sisestatud teksti Google'i serveritesse ja võimaldades kasutada sama õigekirjakontrolli tehnoloogiat, mida kasutatakse Google'i otsingus.</translation>
diff --git a/chrome/app/resources/chromium_strings_fa.xtb b/chrome/app/resources/chromium_strings_fa.xtb index a5a2523b..f43b1bd 100644 --- a/chrome/app/resources/chromium_strings_fa.xtb +++ b/chrome/app/resources/chromium_strings_fa.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromium مرورگر پیشفرض شود</translation> <translation id="151962892725702025">سیستمعامل Chromium قادر به همگامسازی دادههای شما نبود زیرا همگامسازی برای دامنه شما قابل دسترسی نیست.</translation> <translation id="1559451348202814456">Chromium ممکن است درست کار نکند، زیرا دیگر در Mac OS X نسخه ۱۰٫۶، ۱۰٫۷ یا ۱۰٫۸ پشتیبانی نمیشود.</translation> -<translation id="1644918877723739397">Chromium این مورد را در <ph name="SAVED_PASSWORD_LINK" /> شما ذخیره میکند و دفعه بعد که به آن نیاز داشتید، آن را به خاطر دارد.</translation> <translation id="1653828314016431939">تأیید - اکنون راهاندازی شود</translation> <translation id="1668054258064581266">پس از حذف حسابتان از Chromium، ممکن است لازم باشد برای اعمال تغییرات، برگههای بازتان را تازهسازی کنید.</translation> <translation id="1688750314291223739">برای ذخیره ویژگیهای مرورگر سفارشی شده خود در وب و دسترسی به آنها از Chromium از هر رایانه دیگری، همگامسازی را راهاندازی کنید.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">برای اعمال بهروزرسانی، Chromium OS باید راهاندازی مجدد شود.</translation> <translation id="2605472041568654097">با گزارش تنظیمات فعلی، به بهتر شدن Chromium کمک کنید.</translation> <translation id="2636877269779209383">Chromium نیاز به مجوز دسترسی به دوربین دارد تا آن را با این سایت به اشتراک بگذارد.</translation> +<translation id="2647554856022461007">ممکن است Chromium برای بهبود تجربه مرور شما از سرویسهای وب استفاده کند. میتوانید بهصورت اختیاری این سرویسها را غیرفعال کنید. <ph name="BEGIN_LINK" />بیشتر بدانید<ph name="END_LINK" /></translation> <translation id="2648074677641340862">یک خطای سیستم عامل در طول نصب روی داد. لطفاً Chromium را دوباره نصب کنید.</translation> <translation id="2685838254101182273">Chromium دیگر بهروزرسانی نمیشود ودیگر از این نسخه سیستم عامل پشتیبانی نمیکند.</translation> <translation id="2711502716910134313">برگه Chromium</translation> @@ -147,6 +147,7 @@ <translation id="5877064549588274448">کانال تغییر کرد. برای اعمال تغییرات دستگاه خود را مجدداً راهاندازی کنید.</translation> <translation id="5895138241574237353">راهاندازی مجدد</translation> <translation id="5906655207909574370">تقریباً بهروز شده است! برای تمام کردن بهروزرسانی، دستگاهتان را دوباره راهاندازی کنید.</translation> +<translation id="5942225298871134766">Chromium این مورد را با <ph name="SAVED_PASSWORD_LINK" /> ذخیره میکند و دفعه بعد که به آن نیاز داشتید، آن را به خاطر دارد.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> به Chromium اضافه شده است.</translation> <translation id="59625444380784159">جزئیات مخاطبین شما میتواند به شما کمک کند فرمها را سریعتر در Chromium تکمیل کنید.</translation> <translation id="5987687638152509985">بهروزرسانی Chromium برای شروع همگامسازی</translation> @@ -188,7 +189,6 @@ <translation id="705851970750939768">بهروزرسانی Chromium</translation> <translation id="7066436765290594559">سیستمعامل Chromium قادر به همگامسازی دادههای شما نبود. لطفاً رمز عبارتی همگامسازی خود را بهروز کنید.</translation> <translation id="707471633328071618">Google Payments (در Chromium کپی شد)</translation> -<translation id="7090955637699162649">ممکن است Chromium برای بهبود تجربه مرورتان از <ph name="BEGIN_LINK" />سرویسهای وب<ph name="END_LINK" /> استفاده کند. میتوانید در هر زمانی این سرویسها را بهصورت اختیاری غیرفعال کنید.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{این کار $1 مورد را برای همیشه از این دستگاه حذف میکند. برای بازیابی دادههایتان در فرصتی دیگر، با نام $2 وارد سیستم Chromium شوید.}one{این کار $1 مورد را برای همیشه از این دستگاه حذف میکند. برای بازیابی دادههایتان در فرصتی دیگر، با نام $2 وارد سیستم Chromium شوید.}other{این کار $1 مورد را برای همیشه از این دستگاه حذف میکند. برای بازیابی دادههایتان در فرصتی دیگر، با نام $2 وارد سیستم Chromium شوید.}}</translation> <translation id="7138853919861947730">Chromium ممکن است از سرویسهای وب برای بهبود تجربه مرور استفاده کند.</translation> <translation id="7162152143154757523">Chromium میتواند با ارسال مواردی که در مرورگر تایپ میکنید به سرورهای Google، غلط گیر املایی هوشمندانهتری به شما ارائه دهد و به شما امکان دهد از همان فناوری غلط گیر املایی استفاده شده در جستجوی Google استفاده کنید.</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb index 0c0e9313..85a7c891 100644 --- a/chrome/app/resources/chromium_strings_fi.xtb +++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromiumin asettaminen oletusselaimeksi</translation> <translation id="151962892725702025">Chromium-käyttöjärjestelmä ei voi synkronoida tietoja, koska synkronointi ei ole käytettävissä verkkotunnuksessasi.</translation> <translation id="1559451348202814456">Chromium ei välttämättä toimi oikein, koska se ei enää tue Mac OS X -versioita 10.6, 10.7 tai 10.8.</translation> -<translation id="1644918877723739397">Chromium tallentaa salasanan <ph name="SAVED_PASSWORD_LINK" /> -ominaisuudella ja muistaa sen, kun tarvitset sitä seuraavan kerran.</translation> <translation id="1653828314016431939">OK - Käynnistä uudelleen nyt</translation> <translation id="1668054258064581266">Kun olet poistanut tilisi Chromiumista, sinun on ehkä avattava avoinna olleet välilehdet uudelleen, jotta muutos tulee voimaan.</translation> <translation id="1688750314291223739">Määrittämällä synkronoinnin voit tallentaa selaimesi tiedot verkkoon ja käyttää niitä minkä tahansa tietokoneen Chromiumilla.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium-käyttöjärjestelmä täytyy käynnistää uudelleen, jotta päivitys voidaan ottaa käyttöön.</translation> <translation id="2605472041568654097">Auta parantamaan Chromiumia ilmoittamalla nykyiset asetukset.</translation> <translation id="2636877269779209383">Chromium tarvitsee kameran käyttöoikeuden, jotta voi jakaa sen sivustolle.</translation> +<translation id="2647554856022461007">Chromium voi käyttää verkkopalveluita selauskokemuksesi parantamiseen. Voit halutessasi poistaa nämä palvelut käytöstä. <ph name="BEGIN_LINK" />Lisätietoja<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Asennuksessa ilmeni käyttöjärjestelmävirhe. Lataa Chromium uudelleen.</translation> <translation id="2685838254101182273">Chromium on lakannut päivittymästä, eikä se enää tue käyttöjärjestelmäsi tätä versiota.</translation> <translation id="2711502716910134313">Chromium-välilehti</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanava vaihdettiin. Ota muutokset käyttöön käynnistämällä laite uudelleen.</translation> <translation id="5895138241574237353">Käynnistä uudelleen</translation> <translation id="5906655207909574370">Melkein ajan tasalla. Viimeistele päivitys käynnistämällä laite uudelleen.</translation> +<translation id="5942225298871134766">Chromium tallentaa salasanan <ph name="SAVED_PASSWORD_LINK" /> -ominaisuudella ja muistaa sen, kun tarvitset sitä seuraavan kerran.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> on lisätty Chromiumiin.</translation> <translation id="59625444380784159">Yhteystietojesi avulla lomakkeiden täyttäminen Chromiumissa sujuu helpommin.</translation> <translation id="5987687638152509985">Aloita synkronointi päivittämällä Chromium.</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Päivitä Chromium</translation> <translation id="7066436765290594559">Chromium-käyttöjärjestelmä ei voi synkronoida tietoja. Päivitä synkronoinnin tunnuslause.</translation> <translation id="707471633328071618">Google Payments (kopioitu Chromiumiin)</translation> -<translation id="7090955637699162649">Chromium voi käyttää <ph name="BEGIN_LINK" />verkkopalveluita<ph name="END_LINK" /> selauskokemuksen parantamiseen. Voit halutessasi poistaa palvelut käytöstä.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{$1 kohde poistetaan pysyvästi tältä laitteelta. Jos haluat palauttaa tiedot myöhemmin, kirjaudu Chromiumiin käyttäjänä $2.}other{$1 kohdetta poistetaan pysyvästi tältä laitteelta. Jos haluat palauttaa tiedot myöhemmin, kirjaudu Chromiumiin käyttäjänä $2.}}</translation> <translation id="7138853919861947730">Chromium voi käyttää verkkopalveluita parantaakseen selauskokemusta.</translation> <translation id="7162152143154757523">Chromium voi tarjota älykkäämmän oikeinkirjoituksen tarkistuspalvelun lähettämällä selaimeen kirjoittamasi tekstin Googlen palvelimille. Näin voit käyttää Google-haun kanssa samaa oikeinkirjoituksen tarkistustekniikkaa.</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb index 599f0957..92cf344 100644 --- a/chrome/app/resources/chromium_strings_fil.xtb +++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Gawing default mong browser ang Chromium</translation> <translation id="151962892725702025">Hindi ma-sync ng Chromium OS ang iyong data dahil hindi available ang Pag-sync para sa iyong domain.</translation> <translation id="1559451348202814456">Maaaring hindi gumana nang maayos ang Chromium dahil hindi na ito sinusuportahan sa Mac OS X 10.6, 10.7 o 10.8.</translation> -<translation id="1644918877723739397">Iiimbak ito ng Chromium gamit ang <ph name="SAVED_PASSWORD_LINK" /> at tatandaan ito sa susunod na pagkakataong kailanganin mo ito.</translation> <translation id="1653828314016431939">OK - I-restart ngayon</translation> <translation id="1668054258064581266">Pagkatapos alisin ang iyong account sa Chromium, maaaring kailangan mong i-reload ang mga nakabukas mong tab upang magkabisa.</translation> <translation id="1688750314291223739">I-set up ang Pag-sync upang i-save ang iyong personalized na mga tampok ng browser sa web at i-access ang mga iyon mula sa Chromium sa anumang computer.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Kailangang ma-restart ang Chromium OS upang mailapat ang update.</translation> <translation id="2605472041568654097">Tumulong na mas pahusayin ang Chromium sa pamamagitan ng pag-uulat sa mga kasalukuyang setting.</translation> <translation id="2636877269779209383">Nangangailangan ang Chromium ng access sa camera upang maibahagi ito sa site na ito.</translation> +<translation id="2647554856022461007">Maaaring gumamit ang Chromium ng mga serbisyo sa web upang mapahusay ang iyong karanasan sa pag-browse. Opsyonal mong madi-disable ang mga serbisyong ito. <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /></translation> <translation id="2648074677641340862">May naganap na error sa operating system sa panahon ng pag-install. Mangyaring i-download muli ang Chromium.</translation> <translation id="2685838254101182273">Huminto na sa pag-update ang Chromium at hindi na nito sinusuportahan ang bersyong ito ng iyong operating system.</translation> <translation id="2711502716910134313">Tab ng Chromium</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Binago ang channel. I-restart ang iyong device upang ilapat ang mga pagbabago.</translation> <translation id="5895138241574237353">I-restart</translation> <translation id="5906655207909574370">Halos napapanahon na! I-restart ang iyong device upang tapusin ang pag-a-update.</translation> +<translation id="5942225298871134766">Iiimbak ito ng Chromium gamit ang <ph name="SAVED_PASSWORD_LINK" /> at tatandaan ito sa susunod na pagkakataong kailanganin mo ito.</translation> <translation id="5942520288919337908">Naidagdag na sa Chromium ang <ph name="EXTENSION_NAME" />.</translation> <translation id="59625444380784159">Ang mga detalye mula sa iyong mga contact ay maaaring makatulong sa iyong sumagot ng mga form nang mas mabilis sa Chromium.</translation> <translation id="5987687638152509985">I-update ang Chromium upang simulan ang pag-sync</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">I-update ang Chromium</translation> <translation id="7066436765290594559">Hindi ma-sync ng Chromium OS ang iyong data. Paki-update ang iyong Passphrase sa pag-sync.</translation> <translation id="707471633328071618">Google Payments (kinopya sa Chromium)</translation> -<translation id="7090955637699162649">Maaaring gumamit ang Chromium <ph name="BEGIN_LINK" />mga serbisyo sa web<ph name="END_LINK" /> upang mahusay ang iyong karanasan sa pagba-browse. Maaari mong opsyonal na i-disable ang mga serbisyong ito anumang oras.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Permanente itong magde-delete ng $1 item sa device na ito. Upang makuha ang iyong data sa ibang pagkakataon, mag-sign in sa Chromium bilang $2.}one{Permanente itong magde-delete ng $1 item sa device na ito. Upang makuha ang iyong data sa ibang pagkakataon, mag-sign in sa Chromium bilang $2.}other{Permanente itong magde-delete ng $1 na item sa device na ito. Upang makuha ang iyong data sa ibang pagkakataon, mag-sign in sa Chromium bilang $2.}}</translation> <translation id="7138853919861947730">Maaaring gumamit ang Chromium ng mga serbisyo sa web upang mapahusay ang iyong karanasan sa pagba-browse.</translation> <translation id="7162152143154757523">Maaaring magbigay ang Chromium ng mas pinahusay na pag-i-spell check sa pamamagitan ng pagpapadala sa mga server ng Google ng tina-type mo sa browser, na nagbibigay-daan sa iyo na gamitin ang parehong teknolohiya ng pag-i-spell check na ginamit ng paghahanap sa Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_fr.xtb b/chrome/app/resources/chromium_strings_fr.xtb index eb61030..e83f8ff7 100644 --- a/chrome/app/resources/chromium_strings_fr.xtb +++ b/chrome/app/resources/chromium_strings_fr.xtb
@@ -15,7 +15,6 @@ <translation id="1502360822835740515">Définir Chromium en tant que navigateur par défaut</translation> <translation id="151962892725702025">Impossible de synchroniser vos données dans Chromium OS, car la synchronisation n'est pas disponible pour votre domaine.</translation> <translation id="1559451348202814456">Chromium risque de ne pas fonctionner correctement, car la compatibilité n'est plus assurée sur les versions 10.6, 10.7 et 10.8 de Mac OS X.</translation> -<translation id="1644918877723739397">Chromium stockera ce mot de passe dans vos <ph name="SAVED_PASSWORD_LINK" /> et s'en souviendra la prochaine fois que vous en aurez besoin.</translation> <translation id="1653828314016431939">OK – Redémarrer maintenant</translation> <translation id="1668054258064581266">Une fois votre compte Chromium supprimé, vous devrez peut-être charger de nouveau les onglets ouverts pour que les modifications prennent effet.</translation> <translation id="1688750314291223739">Configurez la synchronisation pour enregistrer sur le Web les fonctionnalités personnalisées de votre navigateur et y accéder à partir de Chromium sur n'importe quel ordinateur.</translation> @@ -50,6 +49,7 @@ <translation id="2587578672395088481">Redémarrez Chromium OS pour appliquer la mise à jour.</translation> <translation id="2605472041568654097">Aidez-nous à améliorer Chromium en nous signalant vos paramètres actuels.</translation> <translation id="2636877269779209383">Chromium doit accéder à la caméra pour la partager avec ce site.</translation> +<translation id="2647554856022461007">Chromium peut utiliser des services Web pour améliorer votre confort de navigation. Vous pouvez choisir de désactiver ces services. <ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Une erreur du système d'exploitation s'est produite pendant l'installation. Veuillez télécharger Chromium à nouveau.</translation> <translation id="2685838254101182273">Chromium n'est plus mis à jour et n'est plus compatible avec la version actuelle de votre système d'exploitation.</translation> <translation id="2711502716910134313">Onglet Chromium</translation> @@ -149,6 +149,7 @@ <translation id="5877064549588274448">La version a été modifiée. Redémarrez votre appareil pour appliquer les modifications.</translation> <translation id="5895138241574237353">Redémarrer</translation> <translation id="5906655207909574370">Mise à jour presque terminée. Pour la finaliser, veuillez redémarrer votre appareil.</translation> +<translation id="5942225298871134766">Chromium stockera ce mot de passe avec <ph name="SAVED_PASSWORD_LINK" /> et s'en souviendra la prochaine fois que vous en aurez besoin.</translation> <translation id="5942520288919337908">L'extension "<ph name="EXTENSION_NAME" />" a été ajoutée à Chromium.</translation> <translation id="59625444380784159">Les coordonnées de vos contacts peuvent vous aider à remplir les formulaires plus rapidement dans Chromium.</translation> <translation id="5987687638152509985">Mettre à jour Chromium pour lancer la synchronisation</translation> @@ -190,7 +191,6 @@ <translation id="705851970750939768">Mettre à jour Chromium</translation> <translation id="7066436765290594559">Impossible de synchroniser vos données dans Chromium OS. Veuillez mettre à jour votre phrase secrète de synchronisation.</translation> <translation id="707471633328071618">Google Payments (copiée vers Chromium)</translation> -<translation id="7090955637699162649">Des <ph name="BEGIN_LINK" />services Web<ph name="END_LINK" /> sont parfois utilisés dans Chromium pour améliorer votre confort de navigation. Vous pouvoir choisir de désactiver ces services à tout moment.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Cette action aura pour effet de supprimer définitivement $1 élément de cet appareil. Pour récupérer vos données plus tard, connectez-vous à Chromium en tant que $2.}one{Cette action aura pour effet de supprimer définitivement $1 élément de cet appareil. Pour récupérer vos données plus tard, connectez-vous à Chromium en tant que $2.}other{Cette action aura pour effet de supprimer définitivement $1 éléments de cet appareil. Pour récupérer vos données plus tard, connectez-vous à Chromium en tant que $2.}}</translation> <translation id="7138853919861947730">Chromium utilise parfois des services Web pour améliorer votre confort de navigation.</translation> <translation id="7162152143154757523">Chromium peut vous proposer une correction orthographique plus intelligente en envoyant ce que vous saisissez dans le navigateur aux serveurs Google, ce qui vous permet d'utiliser la même technologie de correction orthographique que la recherche Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_gu.xtb b/chrome/app/resources/chromium_strings_gu.xtb index 98b9e5a6..2f044d71 100644 --- a/chrome/app/resources/chromium_strings_gu.xtb +++ b/chrome/app/resources/chromium_strings_gu.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Chromium ને તમારું ડિફૉલ્ટ બ્રાઉઝર બનાવો</translation> <translation id="151962892725702025">Chromium OS તમારા ડેટાને સમન્વયિત કરી શક્યું નથી કારણ કે તમારા ડોમેન માટે સમન્વયન ઉપલબ્ધ નથી.</translation> <translation id="1559451348202814456">Chromium યોગ્ય રીતે કાર્ય ન કરે તેવું બની શકે કારણકે તે હવેથી Mac OS X 10.6, 10.7 અથવા 10.8 પર સમર્થિત નથી.</translation> -<translation id="1644918877723739397">Chromium આને તમારા <ph name="SAVED_PASSWORD_LINK" /> માં સાચવશે અને આગલી વખતે તમને તેની જરૂર પડે ત્યારે યાદ રાખશે.</translation> <translation id="1653828314016431939">ઓકે - હવે પુનઃપ્રારંભ કરો </translation> <translation id="1668054258064581266">તમારા એકાઉન્ટને Chromium માંથી દૂર કર્યાં પછી, અમલમાં લાવવા માટે તમારે તમારા ટેબ્સને ફરીથી લોડ કરવાની જરૂર પડી શકે છે.</translation> <translation id="1688750314291223739">તમારી વેબ પરની વ્યક્તિગત કરેલી બ્રાઉઝર સુવિધાઓને સાચવવા અને તેમને કોઈપણ કમ્પ્યુટર પર Chromium માંથી ઍક્સેસ કરવા માટે સમન્વયન સેટ કરો.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">અપડેટ લાગુ કરવા માટે Chromium OS ને પુનઃપ્રારંભ કરવાની જરૂર છે.</translation> <translation id="2605472041568654097">વર્તમાન સેટિંગ્સની જાણ કરીને Chromium ને બહેતર બનાવવામાં સહાય કરો.</translation> <translation id="2636877269779209383">Chromium ને આ સાઇટ સાથે કૅમેરો શેર કરવા માટે તેની ઍક્સેસની જરૂર છે.</translation> +<translation id="2647554856022461007">Chromium, તમારા બ્રાઉઝિંગ અનુભવને બહેતર બનાવવા માટે વેબ સેવાઓનો ઉપયોગ કરી શકે છે. તમે વૈકલ્પિકરૂપે આ સેવાઓને અક્ષમ કરી શકો છો. <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation> <translation id="2648074677641340862">ઇન્સ્ટોલેશન દરમ્યાન ઓપરેટિંગ સિસ્ટમ ભૂલ આવી. કૃપા કરીને ફરીથી Chromium ડાઉનલોડ કરો.</translation> <translation id="2685838254101182273">Chromium એ અપડેટ કરવાનું બંધ કરી દીધું છે અને હવે તમારી ઓપરેટિંગ સિસ્ટમના આ સંસ્કરણનું સમર્થન કરતું નથી.</translation> <translation id="2711502716910134313">Chromium ટૅબ</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">ચેનલ બદલી. ફેરફારો લાગુ કરવા માટે તમારા ઉપકરણને પુનઃપ્રારંભ કરો.</translation> <translation id="5895138241574237353">પુનઃપ્રારંભ કરો</translation> <translation id="5906655207909574370">અપ ટૂ ડેટ થવામાં છે! અપડેટ કરવાનું સમાપ્ત કરવા માટે તમારા ઉપકરણને પુનઃપ્રારંભ કરો.</translation> +<translation id="5942225298871134766">Chromium આને તમારા <ph name="SAVED_PASSWORD_LINK" /> માં સાચવશે અને આગલી વખતે તમને તેની જરૂર પડે ત્યારે યાદ રાખશે.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> ને Chromium માં ઉમેરવામાં આવ્યું.</translation> <translation id="59625444380784159">તમારા સંપર્કોની વિગતો Chromium માં વધુ ઝડપથી ફોર્મ્સ ભરવામાં તમારી સહાય કરી શકે છે.</translation> <translation id="5987687638152509985">સમન્વયનને પ્રારંભ કરવા માટે Chromium ને અપડેટ કરો</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Chromium ને અપડેટ કરો</translation> <translation id="7066436765290594559">Chromium OS તમારા ડેટાને સમન્વયિત કરી શક્યું નથી. કૃપા કરીને તમારા સમન્વયન પાસફ્રેઝને અપડેટ કરો.</translation> <translation id="707471633328071618">Google Payments (Chromium પર કૉપિ કર્યું)</translation> -<translation id="7090955637699162649">Chromium તમારા બ્રાઉઝિંગ અનુભવને બહેતર બનાવવા માટે <ph name="BEGIN_LINK" />વેબ સેવાઓ<ph name="END_LINK" />નો ઉપયોગ કરી શકે છે. તમે કોઈપણ સમયે વૈકલ્પિક રૂપે આ સેવાઓને અક્ષમ કરી શકો છો.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{આ $1 આઇટમને આ ઉપકરણમાંથી સ્થાયી રૂપે કાઢી નાખશે. પછીથી તમારા ડેટાને પુનઃપ્રાપ્ત કરવા માટે, $2 તરીકે Chromium માં સાઇન ઇન કરો.}one{આ $1 આઇટમ્સને આ ઉપકરણમાંથી સ્થાયી રૂપે કાઢી નાખશે. પછીથી તમારા ડેટાને પુનઃપ્રાપ્ત કરવા માટે, $2 તરીકે Chromium માં સાઇન ઇન કરો.}other{આ $1 આઇટમ્સને આ ઉપકરણમાંથી સ્થાયી રૂપે કાઢી નાખશે. પછીથી તમારા ડેટાને પુનઃપ્રાપ્ત કરવા માટે, $2 તરીકે Chromium માં સાઇન ઇન કરો.}}</translation> <translation id="7138853919861947730">Chromium તમારા બ્રાઉઝિંગ અનુભવને સુધારવા માટે વેબ સેવાઓનો ઉપયોગ કરી શકે છે.</translation> <translation id="7162152143154757523">તમે બ્રાઉઝરમાં જે કંઈ પણ લખો છો તે Google સર્વર્સ પર મોકલીને, Google શોધ દ્વારા ઉપયોગમાં લેવાતી સમાન જોડણી-પરીક્ષક તકનીકીનો ઉપયોગ કરવાની પરવાનગી આપતું, Chromium સ્માર્ટ જોડણી-પરીક્ષક પ્રદાન કરી શકે છે.</translation>
diff --git a/chrome/app/resources/chromium_strings_hi.xtb b/chrome/app/resources/chromium_strings_hi.xtb index cb47dea4..3d05e9a4 100644 --- a/chrome/app/resources/chromium_strings_hi.xtb +++ b/chrome/app/resources/chromium_strings_hi.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">क्रोमियम को अपना डिफ़ॉल्ट ब्राउज़र बनाएं</translation> <translation id="151962892725702025">क्रोमियम OS आपका डेटा समन्वयित नहीं कर सका क्योंकि आपके डोमेन के लिए समन्वयन उपलब्ध नहीं है.</translation> <translation id="1559451348202814456">हो सकता है क्रोमियम ठीक से काम ना करे क्योंकि अब वह Mac OS X 10.6, 10.7, या 10.8 पर समर्थित नहीं है.</translation> -<translation id="1644918877723739397">क्रोमियम इसे आपके <ph name="SAVED_PASSWORD_LINK" /> में संग्रहीत कर लेगा और आपको अगली बार आवश्यकता होने पर इसे याद रखेगा.</translation> <translation id="1653828314016431939">ठीक - अब पुन: प्रारंभ करें</translation> <translation id="1668054258064581266">क्रोमियम से अपना खाता निकालने के बाद, आपको अपने खुले टैब पुन: लोड करने की आवश्यकता हो सकती है, ताकि वे प्रभावी हो सकें.</translation> <translation id="1688750314291223739">वेब पर अपनी व्यक्तिगत ब्राउज़र सुविधाओं को सहेजने के लिए समन्वयन सेट करें और किसी भी कंप्यूटर पर क्रोमियम से उन तक पहुंचें.</translation> @@ -49,7 +48,8 @@ <translation id="2587578672395088481">अपडेट को लागू करने के लिए क्रोमियम OS को फिर से चालू करने की आवश्यकता होती है.</translation> <translation id="2605472041568654097">वर्तमान सेटिंग की रिपोर्ट करके क्रोमियम को बेहतर बनाने में सहायता करें.</translation> <translation id="2636877269779209383">कैमरे को इस साइट के साथ साझा करने के लिए क्रोमियम को कैमरे के ऐक्सेस की आवश्यकता होती है.</translation> -<translation id="2648074677641340862">इंस्टॉलेशन के दौरान ऑपरेटिंग सिस्टम त्रुटि हुई. कृपया क्रोमियम पुन: डाउनलोड करें.</translation> +<translation id="2647554856022461007">आपके ब्राउज़िंग अनुभव को बेहतर बनाने के लिए क्रोमियम वेब सेवाओं का उपयोग कर सकता है. आप इन सेवाओं को वैकल्पिक रूप से अक्षम कर सकते हैं. <ph name="BEGIN_LINK" />अधिक जानें<ph name="END_LINK" /></translation> +<translation id="2648074677641340862">इंस्टॉलेशन के दौरान ऑपरेटिंग सिस्टम गड़बड़ी हुई. कृपया क्रोमियम पुन: डाउनलोड करें.</translation> <translation id="2685838254101182273">क्रोमियम ने अपडेट करना रोक दिया है और अब वह आपके ऑपरेटिंग सिस्टम के इस वर्शन का समर्थन नहीं करता.</translation> <translation id="2711502716910134313">क्रोमियम टैब</translation> <translation id="2718390899429598676">अतिरिक्त सुरक्षा के लिए, क्रोमियम आपके डेटा को एन्क्रिप्ट करेगा.</translation> @@ -73,7 +73,7 @@ <translation id="328888136576916638">Google API कुंजियां अनुपलब्ध हैं. क्रोमियम की कुछ कार्यक्षमता अक्षम कर दी जाएगी.</translation> <translation id="3296368748942286671">जब क्रोमियम बंद हो तब पृष्ठभूमि ऐप्लिकेशन चलाना जारी रखें</translation> <translation id="3312805357485578561">क्रोमियम ने असामान्य व्यवहार का पता लगाया है</translation> -<translation id="331951419404882060">प्रवेश करने संबंधी त्रुटि के कारण क्रोमियम OS आपका डेटा समन्वयित नहीं कर सका.</translation> +<translation id="331951419404882060">प्रवेश करने संबंधी गड़बड़ी के कारण क्रोमियम OS आपका डेटा समन्वयित नहीं कर सका.</translation> <translation id="3474745554856756813">ऐसा करने से इस डिवाइस से <ph name="ITEMS_COUNT" /> आइटम हट जाएंगे. बाद में अपना डेटा पाने के लिए, Chromium में <ph name="USER_EMAIL" /> के रूप में प्रवेश करें.</translation> <translation id="3509308970982693815">कृपया सभी क्रोमियम विंडो बंद करें और पुन: प्रयास करें.</translation> <translation id="352783484088404971">क्रोमियम से निकालें...</translation> @@ -148,12 +148,13 @@ <translation id="5877064549588274448">चैनल बदल दिया गया है. बदलावों का लागू करने के लिए अपने डिवाइस को फिर से प्रारंभ करें.</translation> <translation id="5895138241574237353">पुन: प्रारंभ करें</translation> <translation id="5906655207909574370">लगभग अप टू डेट हो गया है! अपडेट करना पूरा करने के लिए अपना डिवाइस पुन: प्रारंभ करें.</translation> +<translation id="5942225298871134766">क्रोमियम इसे <ph name="SAVED_PASSWORD_LINK" /> के साथ संग्रहीत कर लेगा और आपको अगली बार आवश्यकता होने पर इसे याद रखेगा.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> को क्रोमियम में जोड़ा गया.</translation> <translation id="59625444380784159">आपके संपर्कों के विवरण क्रोमियम में अधिक तेज़ी से फ़ॉर्म भरने में आपकी सहायता कर सकते हैं.</translation> <translation id="5987687638152509985">सिंक शुरू करने के लिए क्रोमियम अपडेट करें</translation> <translation id="6055895534982063517">क्रोमियम का एक नया वर्शन उपलब्ध है और यह पहले से अधिक तेज़ है.</translation> <translation id="6077017812234345835">यह इस डिवाइस से कम से कम <ph name="TOTAL_COUNT" /> आइटम स्थायी रूप से हटा देगा. बाद में अपना डेटा प्राप्त करने के लिए, क्रोमियम में $2 के रूप में प्रवेश करें.</translation> -<translation id="608189560609172163">प्रवेश करने में किसी त्रुटि के कारण क्रोमियम आपका डेटा समन्वयित नहीं कर सका.</translation> +<translation id="608189560609172163">प्रवेश करने में किसी गड़बड़ी के कारण क्रोमियम आपका डेटा समन्वयित नहीं कर सका.</translation> <translation id="6129621093834146363"><ph name="FILE_NAME" /> खतरनाक है, इसलिए क्रोमियम ने उसे अवरोधित कर दिया है.</translation> <translation id="6212496753309875659">इस कंप्यूटर में पहले से क्रोमियम का अधिक नया वर्शन है. यदि सॉफ़्टवेयर कार्य नहीं कर रहा है, तो कृपया क्रोमियम अनइंस्टॉल करें और पुन: प्रयास करें.</translation> <translation id="6248213926982192922">क्रोमियम को डिफ़ॉल्ट ब्राउज़र बनाएं</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">क्रोमियम अपडेट करें</translation> <translation id="7066436765290594559">क्रोमियम OS आपका डेटा समन्वयित नहीं कर सका. कृपया अपना समन्वयन पासफ़्रेज़ अपडेट करें.</translation> <translation id="707471633328071618">Google पेमेंट्स (क्रोमियम पर कॉपी किया गया)</translation> -<translation id="7090955637699162649">क्रोमियम आपके अनुभव को बेहतर बनाने के लिए <ph name="BEGIN_LINK" />वेब सेवाओं<ph name="END_LINK" /> का उपयोग कर सकता है. आप किसी भी समय इन सेवाओं को वैकल्पिक रूप से अक्षम कर सकते हैं.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{इससे इस डिवाइस से $1 आइटम स्थायी रूप से हट जाएगा. बाद में अपना डेटा प्राप्त करने के लिए, क्रोमियम में $2 के रूप में प्रवेश करें.}one{इससे इस डिवाइस से $1 आइटम स्थायी रूप से हट जाएंगे. बाद में अपना डेटा प्राप्त करने के लिए, क्रोमियम में $2 के रूप में प्रवेश करें.}other{इससे इस डिवाइस से $1 आइटम स्थायी रूप से हट जाएंगे. बाद में अपना डेटा प्राप्त करने के लिए, क्रोमियम में $2 के रूप में प्रवेश करें.}}</translation> <translation id="7138853919861947730">आपके ब्राउजिंग अनुभव को बेहतर बनाने के लिए क्रोमियम वेब सेवाओं का उपयोग कर सकता है.</translation> <translation id="7162152143154757523">क्रोमियम आपके द्वारा ब्राउज़र में लिखे गए लेख को Google सर्वर पर भेजकर शानदार वर्तनी-जांच प्रदान करता है, जो आपको Google खोज द्वारा उपयोग की जाने वाली वर्तनी-जांच के समान वर्तनी जांच तकनीक का उपयोग करने की अनुमति देता है.</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb index 589ad5a..85bc354 100644 --- a/chrome/app/resources/chromium_strings_hr.xtb +++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Postavljanje Chromiuma kao zadanog preglednika</translation> <translation id="151962892725702025">OS Chromium nije mogao sinkronizirati vaše podatke jer sinkronizacija nije dostupna za vašu domenu.</translation> <translation id="1559451348202814456">Chromium možda neće ispravno raditi jer više nije podržan na sustavima Mac OS X 10.6, 10.7 i 10.8.</translation> -<translation id="1644918877723739397">Chromium će spremiti tu zaporku u vaše <ph name="SAVED_PASSWORD_LINK" /> i zapamtiti je za sljedeći put.</translation> <translation id="1653828314016431939">U redu - pokreni ponovo sada</translation> <translation id="1668054258064581266">Nakon uklanjanja računa s Chromiuma možda ćete morati ponovo učitati otvorene kartice kako bi nastupile promjene.</translation> <translation id="1688750314291223739">Postavite sinkronizaciju da biste spremili svoje prilagođene značajke preglednika na web i pristupali im s preglednika Chromium na bilo kojem računalu.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Potrebno je ponovo pokrenuti Chromium OS kako bi se ažuriranje primijenilo.</translation> <translation id="2605472041568654097">Pomognite poboljšati Chromium tako što ćete prijaviti trenutačne postavke.</translation> <translation id="2636877269779209383">Chromium treba imati pristup kameri da bi je dijelio s ovom web-lokacijom.</translation> +<translation id="2647554856022461007">Chromium može upotrebljavati web-usluge za poboljšanje vašeg doživljaja pregledavanja. Ako želite, možete onemogućiti te usluge. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Došlo je do pogreške operativnog sustava tijekom instalacije. Ponovo preuzmite Chromium.</translation> <translation id="2685838254101182273">Chromium se prestao ažurirati i više ne podržava ovu verziju vašeg operativnog sustava.</translation> <translation id="2711502716910134313">Chromiumova kartica</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanal je promijenjen. Ponovo pokrenite uređaj za primjenu promjena.</translation> <translation id="5895138241574237353">Ponovno pokreni</translation> <translation id="5906655207909574370">Ažuriranje će uskoro biti gotovo. Za dovršetak ponovo pokrenite uređaj.</translation> +<translation id="5942225298871134766">Chromium će spremiti tu zaporku u vaš <ph name="SAVED_PASSWORD_LINK" /> i zapamtiti je za sljedeći put.</translation> <translation id="5942520288919337908">Proširenje <ph name="EXTENSION_NAME" /> dodano je u Chromium.</translation> <translation id="59625444380784159">Pojedinosti iz vaših kontakata mogu vam pomoći brže ispuniti obrasce na Chromiumu.</translation> <translation id="5987687638152509985">Ažurirajte Chromium da bi se pokrenula sinkronizacija</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Ažuriraj Chromium</translation> <translation id="7066436765290594559">OS Chromium nije mogao sinkronizirati vaše podatke. Ažurirajte svoju zaporku za sinkronizaciju.</translation> <translation id="707471633328071618">Google Payments (kopirano na Chromium)</translation> -<translation id="7090955637699162649">Chromium može koristiti <ph name="BEGIN_LINK" />web-usluge<ph name="END_LINK" /> za poboljšavanje vašeg doživljaja pregledavanja. Te usluge po želji možete onemogućiti.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Time će se trajno izbrisati $1 stavka s ovog uređaja. Da biste kasnije dohvatili svoje podatke, prijavite se na Chromium kao $2.}one{Time će se trajno izbrisati $1 stavka s ovog uređaja. Da biste kasnije dohvatili svoje podatke, prijavite se na Chromium kao $2.}few{Time će se trajno izbrisati $1 stavke s ovog uređaja. Da biste kasnije dohvatili svoje podatke, prijavite se na Chromium kao $2.}other{Time će se trajno izbrisati $1 stavki s ovog uređaja. Da biste kasnije dohvatili svoje podatke, prijavite se na Chromium kao $2.}}</translation> <translation id="7138853919861947730">Chromium može upotrebljavati web-usluge za poboljšanje vašeg doživljaja pregledavanja.</translation> <translation id="7162152143154757523">Chromium može pružati bolju provjeru pravopisa slanjem onoga što upišete u preglednik Googleovim poslužiteljima, što vam omogućuje upotrebu iste tehnologije provjere pravopisa koju upotrebljava Google pretraživanje.</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb index 2b3eaf8..ce49f6c 100644 --- a/chrome/app/resources/chromium_strings_hu.xtb +++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Legyen a Chromium az alapértelmezett böngészője</translation> <translation id="151962892725702025">A Chromium OS nem tudta szinkronizálni az adatait, mert a szinkronizálás nem érhető el az Ön domainjénél.</translation> <translation id="1559451348202814456">Előfordulhat, hogy a Chromium nem fog megfelelően működni, mert a továbbiakban már nem támogatja a következő rendszereket: Mac OS X 10.6, 10.7 és 10.8.</translation> -<translation id="1644918877723739397">A Chromium tárolja ezt a(z) <ph name="SAVED_PASSWORD_LINK" /> között, és emlékezni fog, amikor legközelebb szükség lesz rá.</translation> <translation id="1653828314016431939">OK -- Újraindítás most</translation> <translation id="1668054258064581266">Fiókjának eltávolítása után a Chromiumból előfordulhat, hogy újra kell töltenie a megnyitott lapokat ahhoz, hogy a változások életbe lépjenek.</translation> <translation id="1688750314291223739">A szinkronizálás beállításával személyre szabott beállításait az interneten tárolhatja, így azok elérhetők a Chromiumból bármelyik számítógépen.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">A frissítés alkalmazásához újra kell indítani a Chromium OS-t.</translation> <translation id="2605472041568654097">Segítsen a Chromium fejlesztésében a jelenlegi beállítások elküldésével.</translation> <translation id="2636877269779209383">A Chromiumnak hozzáférésre van szüksége a kamerához, hogy megoszthassa azt a webhellyel.</translation> +<translation id="2647554856022461007">Előfordulhat, hogy a Chromium internetes szolgáltatásokat használ böngészési élménye javítására. Lehetősége van az ilyen szolgáltatások letiltására. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" />.</translation> <translation id="2648074677641340862">Az operációs rendszer hibát jelzett a telepítés során. Kérjük, töltse le újra a Chromiumot.</translation> <translation id="2685838254101182273">A Chromium a továbbiakban nem frissül, és már nem támogatja az Ön operációs rendszerének ezen verzióját.</translation> <translation id="2711502716910134313">Chromium lap</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Módosult a csatorna. Indítsa újra az eszközt a módosítások alkalmazásához.</translation> <translation id="5895138241574237353">Újraindítás</translation> <translation id="5906655207909574370">Már majdnem naprakész! Indítsa újra az eszközt a frissítés befejezéséhez.</translation> +<translation id="5942225298871134766">A Chromium tárolja ezt a(z) <ph name="SAVED_PASSWORD_LINK" /> segítségével, és emlékezni fog, amikor legközelebb szükség lesz rá.</translation> <translation id="5942520288919337908">A(z) <ph name="EXTENSION_NAME" /> hozzá lett adva a Chromiumhoz.</translation> <translation id="59625444380784159">A névjegyek részletei révén gyorsabban kitöltheti az űrlapokat a Chromiumban.</translation> <translation id="5987687638152509985">Frissítse a Chromiumot a szinkronizálás megkezdéséhez</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">A Chromium frissítése</translation> <translation id="7066436765290594559">A Chromium OS nem tudta szinkronizálni az adatokat. Kérjük, frissítse a szinkronizálás jelszavát.</translation> <translation id="707471633328071618">Google Payments (a Chromiumra másolva)</translation> -<translation id="7090955637699162649">A Chromium <ph name="BEGIN_LINK" />internetes szolgáltatásokat<ph name="END_LINK" /> is használhat a böngészés javításának érdekében. Ezek a szolgáltatások bármikor letilthatók.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Ezzel véglegesen töröl $1 elemet erről az eszközről. Az adatok későbbi lekéréséhez jelentkezzen be a Chromiumba mint $2.}other{Ezzel véglegesen töröl $1 elemet erről az eszközről. Az adatok későbbi lekéréséhez jelentkezzen be a Chromiumba mint $2.}}</translation> <translation id="7138853919861947730">A Chromium internetes szolgáltatások használatával javíthatja a böngészési élményt.</translation> <translation id="7162152143154757523">A Chromium pontosabb helyesírás-ellenőrzést tud biztosítani azáltal, hogy a böngészőbe beírt szöveget elküldi a Google szervereinek, ami lehetővé teszi, hogy Ön ugyanazt a helyesírás-ellenőrző technológiát használja, amelyet a Google-keresés is.</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb index 8f58f7030..48428ea1 100644 --- a/chrome/app/resources/chromium_strings_id.xtb +++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Jadikan Chromium sebagai browser default</translation> <translation id="151962892725702025">Chromium OS tidak dapat menyinkronkan data Anda karena Sinkronisasi tidak tersedia untuk domain Anda.</translation> <translation id="1559451348202814456">Chromium mungkin tidak akan berfungsi dengan semestinya karena sudah tidak didukung di Mac OS X 10.6, 10.7, atau 10.8.</translation> -<translation id="1644918877723739397">Chromium akan menyimpan ini di <ph name="SAVED_PASSWORD_LINK" /> Anda dan mengingatnya saat Anda membutuhkannya lagi.</translation> <translation id="1653828314016431939">Oke - Mulai ulang sekarang</translation> <translation id="1668054258064581266">Setelah membuang akun dari Chromium, Anda mungkin perlu memuat ulang tab terbuka untuk mulai menerapkannya.</translation> <translation id="1688750314291223739">Siapkan Sinkronisasi untuk menyimpan fitur browser hasil personalisasi Anda ke web dan mengaksesnya dari Chromium di komputer mana saja.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS harus dimulai ulang untuk menerapkan pembaruan.</translation> <translation id="2605472041568654097">Bantu jadikan Chromium lebih baik dengan melaporkan setelan saat ini.</translation> <translation id="2636877269779209383">Chromium memerlukan akses kamera untuk membagikannya dengan situs ini.</translation> +<translation id="2647554856022461007">Chromium dapat mengunakan layanan web agar pengalaman mengakses internet lebih menyenangkan. Anda dapat memilih untuk menonaktifkan layanan ini. <ph name="BEGIN_LINK" />Pelajari lebih lanjut<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Terjadi kesalahan pada sistem operasi saat pemasangan berlangsung. Download Chromium lagi.</translation> <translation id="2685838254101182273">Chromium telah berhenti memperbarui dan tidak lagi mendukung versi sistem operasi ini.</translation> <translation id="2711502716910134313">Tab Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Saluran diubah. Mulai ulang perangkat Anda untuk menerapkan perubahan.</translation> <translation id="5895138241574237353">Mulai Ulang</translation> <translation id="5906655207909574370">Hampir selesai diperbarui! Mulai ulang perangkat untuk menyelesaikan pembaruan.</translation> +<translation id="5942225298871134766">Chromium akan menyimpan ini dengan <ph name="SAVED_PASSWORD_LINK" /> dan mengingatnya saat Anda membutuhkannya lagi.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> telah ditambahkan ke Chromium.</translation> <translation id="59625444380784159">Detail dari kontak dapat membantu Anda mengisi formulir lebih cepat di Chromium.</translation> <translation id="5987687638152509985">Perbarui Chromium untuk memulai sinkronisasi</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Perbarui Chromium</translation> <translation id="7066436765290594559">Chromium OS tidak dapat menyinkronkan data Anda. Perbarui frasa sandi Sinkronisasi Anda.</translation> <translation id="707471633328071618">Google Payments (disalin ke Chromium)</translation> -<translation id="7090955637699162649">Chromium mungkin akan menggunakan <ph name="BEGIN_LINK" />layanan web<ph name="END_LINK" /> untuk meningkatkan pengalaman penjelajahan Anda. Anda dapat menonaktifkan layanan ini kapan saja secara opsional.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Tindakan ini akan menghapus $1 item dari perangkat ini secara permanen. Untuk mengambil data Anda nanti, masuk ke Chromium sebagai $2.}other{Tindakan ini akan menghapus $1 item dari perangkat ini secara permanen. Untuk mengambil data Anda nanti, masuk ke Chromium sebagai $2.}}</translation> <translation id="7138853919861947730">Chromium dapat menggunakan layanan web untuk meningkatkan pengalaman penjelajahan Anda.</translation> <translation id="7162152143154757523">Chromium dapat memberikan pemeriksa ejaan yang lebih pintar dengan mengirimkan apa yang Anda ketik di browser ke server Google, sehingga memungkinkan Anda menggunakan teknologi pemeriksa ejaan yang sama seperti yang digunakan oleh penelusuran Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_it.xtb b/chrome/app/resources/chromium_strings_it.xtb index 7a62f12..aeabc1c 100644 --- a/chrome/app/resources/chromium_strings_it.xtb +++ b/chrome/app/resources/chromium_strings_it.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Imposta Chromium come browser predefinito</translation> <translation id="151962892725702025">Impossibile sincronizzare i dati in Chromium OS perché la sincronizzazione non è disponibile per il tuo dominio.</translation> <translation id="1559451348202814456">Chromium potrebbe non funzionare correttamente perché non è più supportato su Mac OS X 10.6, 10.7 o 10.8.</translation> -<translation id="1644918877723739397">Chromium memorizzerà questa password nelle tue <ph name="SAVED_PASSWORD_LINK" /> e la ricorderà la prossima volta che ti servirà.</translation> <translation id="1653828314016431939">OK - Riavvia ora</translation> <translation id="1668054258064581266">Dopo avere rimosso il tuo account da Chromium, potresti dover ricaricare le schede aperte perché le modifiche vengano applicate.</translation> <translation id="1688750314291223739">Configura la sincronizzazione per salvare le funzioni personalizzate del browser sul Web e accedervi da Chromium su qualsiasi computer.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Per applicare l'aggiornamento è necessario riavviare Chromium OS.</translation> <translation id="2605472041568654097">Contribuisci a migliorare Chromium indicando le impostazioni attuali.</translation> <translation id="2636877269779209383">Chromium deve avere accesso alla fotocamera per condividerla con questo sito.</translation> +<translation id="2647554856022461007">Chromium potrebbe utilizzare servizi web per migliorare la tua esperienza di navigazione. Se preferisci, puoi disattivare questi servizi. <ph name="BEGIN_LINK" />Ulteriori informazioni<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Durante l'installazione si è verificato un errore del sistema operativo. Scarica di nuovo Chromium.</translation> <translation id="2685838254101182273">Chromium non verrà più aggiornato e non supporta più questa versione del sistema operativo.</translation> <translation id="2711502716910134313">Scheda Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Canale cambiato. Riavvia il dispositivo per applicare le modifiche.</translation> <translation id="5895138241574237353">Riavvia</translation> <translation id="5906655207909574370">Aggiornamento quasi completato. Riavvia il dispositivo per terminare l'aggiornamento.</translation> +<translation id="5942225298871134766">Chromium memorizzerà questa password con <ph name="SAVED_PASSWORD_LINK" /> e la ricorderà la prossima volta che ti servirà.</translation> <translation id="5942520288919337908">L'estensione <ph name="EXTENSION_NAME" /> è stata aggiunta a Chromium.</translation> <translation id="59625444380784159">I dati dei tuoi contatti possono consentirti di compilare più rapidamente i moduli in Chromium.</translation> <translation id="5987687638152509985">Aggiorna Chromium per avviare la sincronizzazione</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Aggiorna Chromium</translation> <translation id="7066436765290594559">Impossibile sincronizzare i dati in Chromium OS. Aggiorna la passphrase di sincronizzazione.</translation> <translation id="707471633328071618">Google Payments (copiato in Chromium)</translation> -<translation id="7090955637699162649">Chromium potrebbe utilizzare <ph name="BEGIN_LINK" />servizi web<ph name="END_LINK" /> per migliorare la navigazione. Se lo desideri, puoi disattivarli in qualsiasi momento.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Verrà eliminato definitivamente $1 elemento da questo dispositivo. Per recuperare i dati in un secondo momento, accedi a Chromium come $2.}other{Verranno eliminati definitivamente $1 elementi da questo dispositivo. Per recuperare i dati in un secondo momento, accedi a Chromium come $2.}}</translation> <translation id="7138853919861947730">Chromium potrebbe utilizzare servizi web per migliorare la navigazione.</translation> <translation id="7162152143154757523">Chromium può offrire una funzione di controllo ortografico migliore inviando il testo digitato nel browser ai server di Google. Puoi, così, usufruire della stessa tecnologia di controllo ortografico utilizzata dalla Ricerca Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_iw.xtb b/chrome/app/resources/chromium_strings_iw.xtb index 452da52e..74274a5 100644 --- a/chrome/app/resources/chromium_strings_iw.xtb +++ b/chrome/app/resources/chromium_strings_iw.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">הגדר את Chromium בתור דפדפן ברירת המחדל</translation> <translation id="151962892725702025">מערכת ההפעלה של Chromium לא הצליחה לסנכרן את הנתונים שלך מפני שסנכרון אינו זמין עבור הדומיין שלך.</translation> <translation id="1559451348202814456">ייתכן ש-Chromium לא יפעל כראוי כי כבר אין בו תמיכה במערכת Mac OS X בגרסאות 10.6, 10.7 ו-10.8.</translation> -<translation id="1644918877723739397">Chromium ישמור את הסיסמה הזו ב-<ph name="SAVED_PASSWORD_LINK" /> ויזכור אותה בפעם הבאה שתזדקק לה.</translation> <translation id="1653828314016431939">אישור - הפעל מחדש כעת</translation> <translation id="1668054258064581266">לאחר הסרת החשבון שלך מ-Chromeium, ייתכן שתידרש לטעון מחדש את הכרטיסיות הפתוחות שלך כדי שההסרה תיושם בפועל.</translation> <translation id="1688750314291223739">הגדר סנכרון כדי לשמור את תכונות הדפדפן המותאמות אישית שלך באינטרנט ולגשת אליהן מ-Chromium בכל מחשב.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">כדי להחיל עדכון זה, יש להפעיל מחדש את Chromium OS.</translation> <translation id="2605472041568654097">עזור לשפר את Chromium על ידי דיווח על ההגדרות הנוכחיות.</translation> <translation id="2636877269779209383">Chromium זקוק לגישה אל המצלמה כדי לשתף אותה עם האתר הזה.</translation> +<translation id="2647554856022461007">Chromium עשוי להשתמש בשירותי אינטרנט לשיפור חוויית הגלישה. ניתן להשבית את השירותים האלה. <ph name="BEGIN_LINK" />למידע נוסף<ph name="END_LINK" /></translation> <translation id="2648074677641340862">במהלך ההתקנה ארעה שגיאה של מערכת ההפעלה. הורד שוב את Chromium.</translation> <translation id="2685838254101182273">Chromium הפסיק לעדכן את הגרסה הזו של מערכת ההפעלה שלך וכבר אינו תומך בה.</translation> <translation id="2711502716910134313">כרטיסייה של Chromium</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">הערוץ שונה. הפעל מחדש את המכשיר להחלת השינויים.</translation> <translation id="5895138241574237353">הפעל מחדש</translation> <translation id="5906655207909574370">העדכון כמעט הושלם! הפעל מחדש את המכשיר כדי לסיים את העדכון.</translation> +<translation id="5942225298871134766">Chromium ישמור את הסיסמה הזו ב-<ph name="SAVED_PASSWORD_LINK" /> ויזכור אותה בפעם הבאה שתזדקק לה.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> נוסף ל-Chromium.</translation> <translation id="59625444380784159">פרטים מאנשי הקשר שלך יכולים לעזור לך למלא טפסים במהירות רבה יותר ב-Chromium.</translation> <translation id="5987687638152509985">עדכן את Chromium כדי להתחיל את הסנכרון</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">עדכן את Chromium</translation> <translation id="7066436765290594559">מערכת ההפעלה של Chromium לא הצליחה לסנכרן את הנתונים שלך. עדכן את משפט הסיסמה לסנכרון.</translation> <translation id="707471633328071618">Google Payments (הועתק ל-Chromium)</translation> -<translation id="7090955637699162649">Chromium יכול להשתמש ב<ph name="BEGIN_LINK" />שירותי האינטרנט<ph name="END_LINK" /> לשיפור חוויית הגלישה. תוכל להשבית את השירותים האלו בכל עת.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{הפעולה תמחק לצמיתות פריט אחד מהמכשיר הזה. כדי לאחזר את הנתונים מאוחר יותר, היכנס ל-Chromium בתור $2.}two{הפעולה תמחק לצמיתות שני פריטים מהמכשיר הזה. כדי לאחזר את הנתונים מאוחר יותר, היכנס ל-Chromium בתור $2.}many{הפעולה תמחק לצמיתות $1 פריטים מהמכשיר הזה. כדי לאחזר את הנתונים מאוחר יותר, היכנס ל-Chromium בתור $2.}other{הפעולה תמחק לצמיתות $1 פריטים מהמכשיר הזה. כדי לאחזר את הנתונים מאוחר יותר, היכנס ל-Chromium בתור $2.}}</translation> <translation id="7138853919861947730">Chromium עשוי להשתמש בשירותי אינטרנט כדי לשפר את חווית הגלישה שלך.</translation> <translation id="7162152143154757523">Chromium יכול לספק בדיקת איות חכמה יותר על ידי שליחת הטקסט שאתה מקליד בדפדפן אל שרתי Google. כך אתה יכול להשתמש באותה טכנולוגיה של בדיקת איות שבה נעשה שימוש בחיפוש Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_ja.xtb b/chrome/app/resources/chromium_strings_ja.xtb index fb4ecd65..c8ed552 100644 --- a/chrome/app/resources/chromium_strings_ja.xtb +++ b/chrome/app/resources/chromium_strings_ja.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromium をデフォルトのブラウザにする</translation> <translation id="151962892725702025">お使いのドメインでは同期を利用できないため、Chromium OS はデータを同期できませんでした。</translation> <translation id="1559451348202814456">Mac OS X 10.6、10.7、10.8 はサポートされなくなったため、Chromium は正常に機能しない可能性があります。</translation> -<translation id="1644918877723739397">Chromium ではこのパスワードが <ph name="SAVED_PASSWORD_LINK" />に保存され、次回の入力時に使用されます。</translation> <translation id="1653828314016431939">OK - 今すぐ再起動</translation> <translation id="1668054258064581266">Chromium からアカウントを削除したら、場合によっては開いているタブを再読み込みして変更を反映させる必要があります。</translation> <translation id="1688750314291223739">同期を設定すると、パーソナライズされたブラウザ機能をウェブ上に保存して、どのパソコンの Chromium からでも使用できるようになります。</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">アップデートを適用するには Chromium OS を再起動する必要があります。</translation> <translation id="2605472041568654097">現在の設定を送信して Chromium の品質向上にご協力ください。</translation> <translation id="2636877269779209383">このサイトとカメラを共有するには、Chromium にカメラへのアクセスを許可する必要があります。</translation> +<translation id="2647554856022461007">Chromium は、より快適なブラウジングを提供する目的でウェブサービスを使用することがあります。これらのサービスは無効にすることもできます。<ph name="BEGIN_LINK" />詳細<ph name="END_LINK" /></translation> <translation id="2648074677641340862">インストール中にオペレーティング システム エラーが発生しました。Chromium をダウンロードし直してください。</translation> <translation id="2685838254101182273">Chromium はアップデートの提供を中止しています。お使いのバージョンのオペレーティング システムには対応していません。</translation> <translation id="2711502716910134313">Chromium タブ</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">チャンネルが変更されました。変更を適用するには、デバイスを再起動してください。</translation> <translation id="5895138241574237353">再起動</translation> <translation id="5906655207909574370">端末を再起動して更新を完了してください。</translation> +<translation id="5942225298871134766">Chromium ではこのパスワードが <ph name="SAVED_PASSWORD_LINK" /> で保存され、次回の入力時に使用されます。</translation> <translation id="5942520288919337908">「<ph name="EXTENSION_NAME" />」を Chromium に追加しました。</translation> <translation id="59625444380784159">連絡先から詳細を取得すると、Chromium でのフォームの記入が楽になります。</translation> <translation id="5987687638152509985">同期を開始するには、Chromium を更新します</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Chromium を更新</translation> <translation id="7066436765290594559">Chromium OS はデータを同期できませんでした。同期パスフレーズを更新してください。</translation> <translation id="707471633328071618">Google ペイメント(Chromium にコピー)</translation> -<translation id="7090955637699162649">Chromium では、より快適なブラウジングを提供する目的で<ph name="BEGIN_LINK" />ウェブサービス<ph name="END_LINK" />が使用されることがあります。これらのサービスはいつでも無効にできます。</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{$1 件の項目がこの端末から完全に削除されます。後でデータを取得するには、$2 として Chromium にログインしてください。}other{$1 件の項目がこの端末から完全に削除されます。後でデータを取得するには、$2 として Chromium にログインしてください。}}</translation> <translation id="7138853919861947730">Chromium は、より快適なブラウジングを提供する目的でウェブ サービスを使用することがあります。</translation> <translation id="7162152143154757523">Chromium ではブラウザに入力された内容を Google のサーバーに送信することで高度なスペルチェックを実現し、Google 検索で使用されるスペルチェック テクノロジーを活用できます。</translation>
diff --git a/chrome/app/resources/chromium_strings_kn.xtb b/chrome/app/resources/chromium_strings_kn.xtb index f004d2a..785fb12 100644 --- a/chrome/app/resources/chromium_strings_kn.xtb +++ b/chrome/app/resources/chromium_strings_kn.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromium ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಆಗಿಸಿ</translation> <translation id="151962892725702025">ನಿಮ್ಮ ಡೊಮೇನ್ನಲ್ಲಿ ಸಿಂಕ್ ಮಾಡುವ ಸೌಲಭ್ಯವಿಲ್ಲದ ಕಾರಣ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chromium OS ಗೆ ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ.</translation> <translation id="1559451348202814456">Mac OS X 10.6, 10.7 ಅಥವಾ 10.8 ನಲ್ಲಿ Chromium ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸದೇ ಇರುವುದರಿಂದ ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು.</translation> -<translation id="1644918877723739397">Chromium ಇದನ್ನು ನಿಮ್ಮ <ph name="SAVED_PASSWORD_LINK" /> ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ನಿಮಗೆ ಮುಂದಿನ ಬಾರಿ ಅದರ ಅಗತ್ಯವಿರುವಾಗ ನೆನಪಿನಲ್ಲಿರಿಸಿರಿಸುತ್ತದೆ.</translation> <translation id="1653828314016431939">ಸರಿ - ಇದೀಗ ಮರುಪ್ರಾಂಭಿಸಿ</translation> <translation id="1668054258064581266">Chromium ನಿಂದ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ತೆಗೆದುಹಾಕಿದ ನಂತರ, ಪರಿಣಾಮಕಾರಿಯಾಗಲು ನಿಮ್ಮ ತೆರೆದ ಟ್ಯಾಬ್ಗಳನ್ನು ನೀವು ಮರುಲೋಡ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ.</translation> <translation id="1688750314291223739">ವೆಬ್ಗೆ ನಿಮ್ಮ ವೈಯಕ್ತಿಕಗೊಳಿಸಿದ ಬ್ರೌಸರ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಉಳಿಸಲು ಸಿಂಕ್ ಅನ್ನು ಹೊಂದಿಸಿ ಮತ್ತು ಯಾವುದೇ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ Chromium ನಿಂದ ಅವುಗಳನ್ನು ಪ್ರವೇಶಿಸಿ.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">ಅಪ್ಡೇಟ್ ಅನ್ವಯಿಸಲು Chromium OS ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕಾಗುತ್ತದೆ.</translation> <translation id="2605472041568654097">ಪ್ರಸ್ತುತ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ವರದಿ ಮಾಡುವುದರ ಮೂಲಕ Chromium ಅನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯಮಾಡಿ.</translation> <translation id="2636877269779209383">ಈ ಸೈಟ್ನೊಂದಿಗೆ ಅದನ್ನು ಹಂಚಿಕೊಳ್ಳಲು Chromium ಗೆ ಕ್ಯಾಮರಾದ ಪ್ರವೇಶ ಅಗತ್ಯವಿದೆ.</translation> +<translation id="2647554856022461007">ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ವೆಬ್ ಸೇವೆಗಳನ್ನು Chromium ಬಳಸಬಹುದು. ನೀವು ಐಚ್ಛಿಕವಾಗಿ ಈ ಸೇವೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು. <ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" /></translation> <translation id="2648074677641340862">ಸ್ಥಾಪಿಸುತ್ತಿರುವಾಗ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ದೋಷ ಸಂಭವಿಸಿದೆ. ದಯವಿಟ್ಟು Chromium ಅನ್ನು ಪುನಃ ಡೌನ್ಲೋಡ್ ಮಾಡಿ.</translation> <translation id="2685838254101182273">Chromium ನವೀಕರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದೆ ಹಾಗೂ ನಿಮ್ಮ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನ ಈ ಆವೃತ್ತಿಯನ್ನು ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.</translation> <translation id="2711502716910134313">Chromium ಟ್ಯಾಬ್</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">ಚಾನಲ್ ಬದಲಾಗಿದೆ. ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.</translation> <translation id="5895138241574237353">ಮರುಪ್ರಾರಂಭಿಸಿ</translation> <translation id="5906655207909574370">ಬಹುಪಾಲು ನವೀಕೃತವಾಗಿದೆ! ಅಪ್ಡೇಟ್ ಮಾಡುವುದನ್ನು ಮುಗಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.</translation> +<translation id="5942225298871134766"><ph name="SAVED_PASSWORD_LINK" /> ನಲ್ಲಿ Chromium ಇದನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ನಿಮಗೆ ಮುಂದಿನ ಬಾರಿ ಅದರ ಅಗತ್ಯವಿರುವಾಗ ನೆನಪಿನಲ್ಲಿರಿಸಿಕೊಳ್ಳುತ್ತದೆ.</translation> <translation id="5942520288919337908">Chromium ಗೆ <ph name="EXTENSION_NAME" /> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.</translation> <translation id="59625444380784159">ನಿಮ್ಮ ಸಂಪರ್ಕಗಳಲ್ಲಿರುವ ವಿವರಗಳು Chromium ನಲ್ಲಿ ಹೆಚ್ಚು ತ್ವರಿತವಾಗಿ ಫಾರ್ಮ್ಗಳನ್ನು ತುಂಬಲು ನಿಮಗೆ ನೆರವಾಗಬಹುದು.</translation> <translation id="5987687638152509985">ಸಿಂಕ್ ಪ್ರಾರಂಭಿಸಲು Chromium ಅಪ್ಡೇಟ್ ಮಾಡಿ</translation> @@ -185,7 +186,6 @@ <translation id="705851970750939768">Chromium ನವೀಕರಿಸಿ</translation> <translation id="7066436765290594559">ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chromium OS ಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ನಿಮ್ಮ ಸಿಂಕ್ ಪಾಸ್ಫ್ರೇಸ್ ಅನ್ನು ನವೀಕರಿಸಿ.</translation> <translation id="707471633328071618">Google Payments (Chromium ಗೆ ನಕಲಿಸಲಾಗಿದೆ)</translation> -<translation id="7090955637699162649">ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು Chromium <ph name="BEGIN_LINK" />ವೆಬ್ ಸೇವೆಗಳನ್ನು<ph name="END_LINK" /> ಬಳಸಬಹುದು. ನೀವು ಯಾವ ಸಮಯದಲ್ಲಾದರೂ ಐಚ್ಛಿಕವಾಗಿ ಈ ಸೇವೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{ಇದು ಈ ಸಾಧನದಿಂದ ಖಾಯಂ ಆಗಿ $1 ಐಟಂ ಅನ್ನು ಅಳಿಸುತ್ತದೆ. ನಂತರ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯಲು, $2 ನಂತೆ Chromium ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.}one{ಇದು ಈ ಸಾಧನದಿಂದ ಖಾಯಂ ಆಗಿ $1 ಐಟಂಗಳನ್ನು ಅಳಿಸುತ್ತದೆ. ನಂತರ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯಲು, $2 ನಂತೆ Chromium ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.}other{ಇದು ಈ ಸಾಧನದಿಂದ ಖಾಯಂ ಆಗಿ $1 ಐಟಂಗಳನ್ನು ಅಳಿಸುತ್ತದೆ. ನಂತರ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯಲು, $2 ನಂತೆ Chromium ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.}}</translation> <translation id="7138853919861947730">ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು Chromium ವೆಬ್ ಸೇವೆಗಳನ್ನು ಬಳಸಬಹುದು.</translation> <translation id="7162152143154757523">Google ಹುಡುಕಾಟ ಬಳಸುವ ಪದ ಪರೀಕ್ಷಕ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿ ನೀಡಲು, ಬ್ರೌಸರ್ನಲ್ಲಿ ನೀವು ಟೈಪ್ ಮಾಡುವುದನ್ನು Google ಸರ್ವರ್ಗೆ ಕಳುಹಿಸುವ ಮೂಲಕ Chromium ಒಳ್ಳೆಯ ಪದ ಪರೀಕ್ಷವನ್ನು ಒದಗಿಸಬಹುದಾಗಿದೆ.</translation>
diff --git a/chrome/app/resources/chromium_strings_ko.xtb b/chrome/app/resources/chromium_strings_ko.xtb index 1b5ee322..0f5cf2d 100644 --- a/chrome/app/resources/chromium_strings_ko.xtb +++ b/chrome/app/resources/chromium_strings_ko.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Chromium을 기본 브라우저로 사용</translation> <translation id="151962892725702025">내 도메인에서 동기화를 사용할 수 없으므로 Chromium OS에서 데이터를 동기화하지 못했습니다.</translation> <translation id="1559451348202814456">더 이상 Mac OS X 10.6, 10.7, 10.8에서 Chromium을 지원하지 않으므로 Chromium이 올바르게 작동하지 않을 수 있습니다.</translation> -<translation id="1644918877723739397">Chromium은 <ph name="SAVED_PASSWORD_LINK" />에 비밀번호를 저장한 후 다음에 필요할 때 제공합니다.</translation> <translation id="1653828314016431939">확인 - 지금 다시 시작</translation> <translation id="1668054258064581266">Chromium에서 계정을 삭제한 후 열려 있는 탭을 새로고침해야 적용됩니다.</translation> <translation id="1688750314291223739">맞춤설정한 브라우저 기능을 웹에 저장하고 모든 컴퓨터의 Chromium에서 액세스할 수 있도록 동기화를 설정합니다.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">업데이트를 적용하려면 Chromium OS를 다시 시작해야 합니다.</translation> <translation id="2605472041568654097">현재 설정을 보고하여 Chromium 개선에 참여</translation> <translation id="2636877269779209383">Chromium이 이 사이트와 카메라를 공유하려면 카메라 액세스가 필요합니다.</translation> +<translation id="2647554856022461007">Chromium에서 사용자에게 더 나은 인터넷 사용 환경을 제공하기 위해 웹 서비스를 사용할 수 있습니다. 원하는 경우 서비스를 사용 중지하실 수 있습니다. <ph name="BEGIN_LINK" />자세히 알아보기<ph name="END_LINK" /></translation> <translation id="2648074677641340862">설치 중 운영체제 오류가 발생했습니다. Chromium을 다시 다운로드하세요.</translation> <translation id="2685838254101182273">Chromium에서 업데이트를 중단했으며 이 버전의 운영체제를 더 이상 지원하지 않습니다.</translation> <translation id="2711502716910134313">Chromium 탭</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">채널이 변경되었습니다. 변경사항을 적용하려면 기기를 다시 시작하세요.</translation> <translation id="5895138241574237353">다시 시작</translation> <translation id="5906655207909574370">업데이트가 거의 완료되었습니다. 업데이트를 완료하려면 기기를 다시 시작하세요.</translation> +<translation id="5942225298871134766">Chromium은 <ph name="SAVED_PASSWORD_LINK" />을(를) 사용하여 비밀번호를 저장한 후 다음에 필요할 때 제공합니다.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" />이(가) Chromium에 추가되었습니다.</translation> <translation id="59625444380784159">연락처 세부정보를 사용하면 Chromium에서 양식을 더욱 신속하게 작성할 수 있습니다.</translation> <translation id="5987687638152509985">동기화를 시작하려면 Chromium을 업데이트하세요.</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Chromium 업데이트</translation> <translation id="7066436765290594559">Chromium OS에서 데이터를 동기화하지 못했습니다. 동기화 암호를 업데이트하세요.</translation> <translation id="707471633328071618">Google Payments(Chromium에 복사됨)</translation> -<translation id="7090955637699162649">Chromium은 브라우저 사용 환경을 개선하기 위해 <ph name="BEGIN_LINK" />웹 서비스<ph name="END_LINK" />를 이용할 수 있습니다. 원하는 경우 언제든지 서비스를 사용 중지하실 수 있습니다.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{이 기기에서 $1개 항목이 완전히 삭제됩니다. 나중에 데이터를 검색하려면 $2(으)로 Chromium에 로그인하세요.}other{이 기기에서 $1개 항목이 완전히 삭제됩니다. 나중에 데이터를 검색하려면 $2(으)로 Chromium에 로그인하세요.}}</translation> <translation id="7138853919861947730">Chromium은 사용자의 탐색 환경을 개선하기 위해 웹 서비스를 사용할 수 있습니다.</translation> <translation id="7162152143154757523">Chromium에서 제공하는 더욱 지능적인 맞춤법 검사 기능은 사용자가 브라우저에 입력한 내용을 Google 서버에 보내는 방식을 사용하므로 사용자가 Google 검색에서 사용하는 것과 동일한 맞춤법 검사 기술을 사용할 수 있습니다.</translation>
diff --git a/chrome/app/resources/chromium_strings_lt.xtb b/chrome/app/resources/chromium_strings_lt.xtb index af3fbc0..603c5c14 100644 --- a/chrome/app/resources/chromium_strings_lt.xtb +++ b/chrome/app/resources/chromium_strings_lt.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Nustatymas „Chromium“ numatytąja naršykle</translation> <translation id="151962892725702025">„Chromium“ OS negali sinchronizuoti duomenų, nes jūsų domene sinchronizavimas nepasiekiamas.</translation> <translation id="1559451348202814456">„Chromium“ gali tinkamai neveikti, nes ji nebepalaikoma naudojant 10.6, 10.7 ar 10.8 versijos „Mac OS X“.</translation> -<translation id="1644918877723739397">„Chromium“ jį išsaugos naudodama <ph name="SAVED_PASSWORD_LINK" /> ir prisimins, kai jo prireiks kitą kartą.</translation> <translation id="1653828314016431939">Gerai – dabar paleisti iš naujo</translation> <translation id="1668054258064581266">Pašalinus paskyrą iš „Chromium“, galbūt reikės iš naujo įkelti skirtukus, kad pakeitimai įsigaliotų.</translation> <translation id="1688750314291223739">Nustatykite sinchronizavimą, kad žiniatinklyje išsaugotumėte suasmenintas naršyklės funkcijas ir pasiektumėte jas iš „Chromium“ bet kuriuo kompiuteriu.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Kad būtų galima pritaikyti naujinį, „Chromium“ OS reikia paleisti iš naujo.</translation> <translation id="2605472041568654097">Padėkite tobulinti „Chromium“ pateikę ataskaitą apie dabartinius nustatymus.</translation> <translation id="2636877269779209383">„Chromium“ reikia pasiekti fotoaparatą, kad galėtų bendrinti jį su šia svetaine.</translation> +<translation id="2647554856022461007">„Chromium“ gali naudoti žiniatinklio paslaugas naršymo funkcijoms pagerinti. Galite pasirinktinai išjungti šias paslaugas. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Diegiant įvyko operacinės sistemos klaida. Atsisiųskite „Chromium“ dar kartą.</translation> <translation id="2685838254101182273">„Chromium“ nebeatsinaujina ir nebepalaiko šios operacinės sistemos versijos.</translation> <translation id="2711502716910134313">„Chromium“ skirtukas</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Kanalas pakeistas. Kad pritaikytumėte pakeitimus, iš naujo paleiskite įrenginį.</translation> <translation id="5895138241574237353">Paleisti iš naujo</translation> <translation id="5906655207909574370">Beveik įdiegta naujausia versija! Paleiskite įrenginį iš naujo, kad būtų užbaigtas naujinimas.</translation> +<translation id="5942225298871134766">„Chromium“ jį išsaugos naudodama <ph name="SAVED_PASSWORD_LINK" /> ir prisimins, kai jo prireiks kitą kartą.</translation> <translation id="5942520288919337908">„<ph name="EXTENSION_NAME" />“ pridėtas prie „Chromium“.</translation> <translation id="59625444380784159">Turėdami išsamią kontaktų informaciją galite greičiau užpildyti formas „Chromium“.</translation> <translation id="5987687638152509985">Atnaujinkite „Chromium“, kad galėtumėte pradėti sinchronizuoti</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Atnaujinti „Chromium“</translation> <translation id="7066436765290594559">„Chromium“ OS negali sinchronizuoti duomenų. Atnaujinkite sinchronizavimo slaptafrazę.</translation> <translation id="707471633328071618">„Google Payments“ (nukopijuota į „Chromium“)</translation> -<translation id="7090955637699162649">„Chromium“ gali naudoti <ph name="BEGIN_LINK" />žiniatinklio paslaugas<ph name="END_LINK" />, kad būtų pagerintas naršymas. Pasirinktinai galite bet kada neleisti teikti šių paslaugų.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Atlikus šį veiksmą bus visam laikui ištrintas $1 elementas iš šio įrenginio. Jei vėliau norėsite gauti duomenis, prisijunkite prie „Chromium“ kaip $2.}one{Atlikus šį veiksmą bus visam laikui ištrintas $1 elementas iš šio įrenginio. Jei vėliau norėsite atgauti duomenis, prisijunkite prie „Chromium“ kaip $2.}few{Atlikus šį veiksmą bus visam laikui ištrinti $1 elementai iš šio įrenginio. Jei vėliau norėsite atgauti duomenis, prisijunkite prie „Chromium“ kaip $2.}many{Atlikus šį veiksmą bus visam laikui ištrinta $1 elemento iš šio įrenginio. Jei vėliau norėsite atgauti duomenis, prisijunkite prie „Chromium“ kaip $2.}other{Atlikus šį veiksmą bus visam laikui ištrinta $1 elementų iš šio įrenginio. Jei vėliau norėsite atgauti duomenis, prisijunkite prie „Chromium“ kaip $2.}}</translation> <translation id="7138853919861947730">„Chromium“ gali naudoti žiniatinklio paslaugas naršymo kokybei pagerinti.</translation> <translation id="7162152143154757523">„Chromium“ gali teikti išmanesnę rašybos tikrinimo funkciją, siųsdama tai, ką įvedate naršyklėje, „Google“ serveriams. Tai suteikia galimybę naudoti tą pačią rašybos tikrinimo technologiją, kuri naudojama „Google“ paieškoje.</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb index cf0f0ccc..db79db3e 100644 --- a/chrome/app/resources/chromium_strings_lv.xtb +++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Iestatiet Chromium par noklusējuma pārlūku</translation> <translation id="151962892725702025">Chromium OS nevarēja sinhronizēt jūsu datus, jo jūsu domēnā nav pieejama sinhronizācija.</translation> <translation id="1559451348202814456">Iespējams, Chromium nedarbosies pareizi, jo tas vairs netiek atbalstīts operētājsistēmās Mac OS X 10.6, 10.7 un 10.8.</translation> -<translation id="1644918877723739397">Chromium saglabās šo paroli jūsu sarakstā “<ph name="SAVED_PASSWORD_LINK" />” un atcerēsies to nākamajā reizē, kad jums tā būs nepieciešama.</translation> <translation id="1653828314016431939">Labi — restartēt tūlīt</translation> <translation id="1668054258064581266">Kad konts būs noņemts no Chromium, iespējams, būs atkārtoti jāielādē atvērtās cilnes, lai izmaiņas stātos spēkā.</translation> <translation id="1688750314291223739">Iestatiet sinhronizāciju, lai saglabātu savas personalizētās pārlūka funkcijas tīmeklī un piekļūtu tām no Chromium jebkurā datorā.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Lai lietotu atjauninājumu, operētājsistēma Chromium ir jārestartē.</translation> <translation id="2605472041568654097">Palīdziet uzlabot pārlūku Chromium, ziņojot par pašreizējiem iestatījumiem.</translation> <translation id="2636877269779209383">Chromium sistēmām ir nepieciešama piekļuve kamerai, lai kopīgotu to ar šo vietni.</translation> +<translation id="2647554856022461007">Chromium var izmantot tīmekļa pakalpojumus, lai uzlabotu jūsu pārlūkošanas pieredzi. Varat arī atspējot šos pakalpojumus. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation> <translation id="2648074677641340862">Instalācijas laikā radās operētājsistēmas kļūda. Lejupielādējiet Chromium vēlreiz.</translation> <translation id="2685838254101182273">Operētājsistēmas Chromium atjaunināšana ir apturēta, un vairs netiek atbalstīta šī jūsu operētājsistēmas versija.</translation> <translation id="2711502716910134313">Chromium cilne</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanāls tika mainīts. Lai lietotu izmaiņas, restartējiet ierīci.</translation> <translation id="5895138241574237353">Restartēt</translation> <translation id="5906655207909574370">Atjaunināšana ir gandrīz pabeigta. Restartējiet ierīci, lai pabeigtu atjaunināšanu.</translation> +<translation id="5942225298871134766">Chromium saglabās šo paroli, izmantojot sistēmu <ph name="SAVED_PASSWORD_LINK" />, un atcerēsies to nākamajā reizē, kad jums tā būs nepieciešama.</translation> <translation id="5942520288919337908">Paplašinājums <ph name="EXTENSION_NAME" /> ir pievienots pārlūkam Chromium.</translation> <translation id="59625444380784159">Izmantojot datus no savas kontaktinformācijas, pakalpojumā Chromium varat ērtāk aizpildīt veidlapas.</translation> <translation id="5987687638152509985">Lai sāktu sinhronizēšanu, atjauniniet Chromium.</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Atjaunināt Chromium</translation> <translation id="7066436765290594559">Chromium OS nevarēja sinhronizēt jūsu datus. Lūdzu, atjauniniet savu sinhronizācijas ieejas frāzi.</translation> <translation id="707471633328071618">Google Payments (kopēta pārlūkā Chromium)</translation> -<translation id="7090955637699162649">Lai uzlabotu jūsu pārlūkošanas pieredzi, Chromium var izmantot <ph name="BEGIN_LINK" />tīmekļa pakalpojumus<ph name="END_LINK" />. Šos pakalpojumus varat arī atspējot.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Veicot šo darbību, no šīs ierīces tiks neatgriezeniski izdzēsts $1 vienums. Lai izgūtu datus vēlāk, pierakstieties pārlūkā Chromium kā $2.}zero{Veicot šo darbību, no šīs ierīces tiks neatgriezeniski izdzēsti $1 vienumi. Lai izgūtu datus vēlāk, pierakstieties pārlūkā Chromium kā $2.}one{Veicot šo darbību, no šīs ierīces tiks neatgriezeniski izdzēsts $1 vienums. Lai izgūtu datus vēlāk, pierakstieties pārlūkā Chromium kā $2.}other{Veicot šo darbību, no šīs ierīces tiks neatgriezeniski izdzēsti $1 vienumi. Lai izgūtu datus vēlāk, pierakstieties pārlūkā Chromium kā $2.}}</translation> <translation id="7138853919861947730">Lai uzlabotu pārlūkošanu, Chromium var izmantot tīmekļa pakalpojumus.</translation> <translation id="7162152143154757523">Chromium var efektīvāk labot pareizrakstības kļūdas, nosūtot pārlūkā rakstīto uz Google serveriem un tādējādi ļaujot izmantot to pašu pareizrakstības pārbaudes tehnoloģiju, kas tiek izmantota pakalpojumā Google meklēšana.</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb index e6b8074..0ee8232 100644 --- a/chrome/app/resources/chromium_strings_ml.xtb +++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Chromium-ത്തെ നിങ്ങളുടെ ഡിഫോൾട്ട് ബ്രൗസറാക്കുക</translation> <translation id="151962892725702025">നിങ്ങളുടെ ഡൊമെയ്നിന് സമന്വയം ലഭ്യമല്ലാത്തതിനാൽ Chromium OS-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല.</translation> <translation id="1559451348202814456">Chromium ഇനി Mac OS X 10.6, 10.7, 10.8 എന്നിവയെ പിന്തുണയ്ക്കാത്തതിനാൽ ഇത് ശരിയായി പ്രവർത്തിക്കാനിടയില്ല.</translation> -<translation id="1644918877723739397">Chromium <ph name="SAVED_PASSWORD_LINK" /> എന്നതിൽ ഇത് സംഭരിച്ച് നിങ്ങൾക്ക് ആവശ്യമുള്ളപ്പോൾ അത് ഓർക്കുന്നു.</translation> <translation id="1653828314016431939">ശരി - ഇപ്പോൾ പുനഃരാരംഭിക്കുക</translation> <translation id="1668054258064581266">Chromium-ൽ നിന്ന് നിങ്ങളുടെ അക്കൗണ്ട് നീക്കംചെയ്തുകഴിഞ്ഞാൽ, അത് പ്രാബല്യത്തിൽ വരുന്നതിന് ഓപ്പൺ ടാബുകൾ വീണ്ടും ലോഡുചെയ്യേണ്ടതായി വരാം.</translation> <translation id="1688750314291223739">നിങ്ങളുടെ വ്യക്തിപരമാക്കിയ ബ്രൗസർ സവിശേഷതകൾ വെബിലേക്ക് സംരക്ഷിച്ച് അവയെ ഏത് കമ്പ്യൂട്ടറിലെയും Chromium-ത്തിൽ നിന്ന് ആക്സസ്സുചെയ്യുന്നതിന് സമന്വയം സജ്ജമാക്കുക.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">അപ്ഡേറ്റ് പ്രയോഗത്തിൽ വരുത്താൻ Chromium OS പുനഃരാരംഭിക്കേണ്ടതുണ്ട്.</translation> <translation id="2605472041568654097">നിലവിലെ ക്രമീകരണം റിപ്പോർട്ടുചെയ്യുന്നതിലൂടെ Chromium മികച്ചതാക്കാൻ സഹായിക്കുക.</translation> <translation id="2636877269779209383">Chromium-ത്തിന് ഈ സൈറ്റുമായി ക്യാമറ പങ്കിടാൻ അതിലേക്ക് ആക്സസ്സ് ആവശ്യമാണ്.</translation> +<translation id="2647554856022461007">നിങ്ങളുടെ ബ്രൗസിംഗ് അനുഭവം മെച്ചപ്പെടുത്താൻ Chromium വെബ് സേവനങ്ങൾ ഉപയോഗിക്കാനിടയുണ്ട്. വേണമെങ്കിൽ ഈ സേവനങ്ങൾ പ്രവർത്തനരഹിതമാക്കാം. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation> <translation id="2648074677641340862">ഇൻസ്റ്റാളുചെയ്യുന്നതിനിടെ ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പിശക് സംഭവിച്ചു. Chromium വീണ്ടും ഡൗൺലോഡുചെയ്യുക.</translation> <translation id="2685838254101182273">Chromium അപ്ഡേറ്റുചെയ്യുന്നത് നിർത്തിവച്ചു, ഒപ്പം നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ ഈ പതിപ്പിനെ ഇനി പിന്തുണയ്ക്കുകയുമില്ല.</translation> <translation id="2711502716910134313">Chromium ടാബ്</translation> @@ -151,6 +151,7 @@ <translation id="5877064549588274448">ചാനൽ മാറ്റി. മാറ്റങ്ങൾ ബാധകമാകാൻ നിങ്ങളുടെ ഉപകരണം പുനരാരംഭിക്കുക.</translation> <translation id="5895138241574237353">പുനരാരംഭിക്കുക</translation> <translation id="5906655207909574370">എകദേശം അപ്ടുഡേറ്റാണ്! അപ്ഡേറ്റുചെയ്യൽ പൂർത്തിയാക്കാൻ ഉപകരണം പുനഃരാരംഭിക്കുക.</translation> +<translation id="5942225298871134766">Chromium <ph name="SAVED_PASSWORD_LINK" /> എന്നതിൽ ഇത് സംഭരിക്കുകയും നിങ്ങൾക്ക് ആവശ്യമുള്ളപ്പോൾ അത് ഓർക്കുകയും ചെയ്യും.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> Chromium-ലേക്ക് ചേർത്തു.</translation> <translation id="59625444380784159">Chromium-ത്തിൽ ഫോമുകൾ വളരെ വേഗത്തിൽ പൂരിപ്പിക്കാൻ നിങ്ങളുടെ കോൺടാക്റ്റുകളിൽ നിന്നുള്ള വിശദാംശങ്ങൾക്ക് സഹായിക്കാനാകും.</translation> <translation id="5987687638152509985">സമന്വയിപ്പിക്കാൻ തുടങ്ങുന്നതിന് Chromium അപ്ഡേറ്റുചെയ്യുക</translation> @@ -192,7 +193,6 @@ <translation id="705851970750939768">Chromium അപ്ഡേറ്റുചെയ്യുക</translation> <translation id="7066436765290594559">Chromium OS-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല. നിങ്ങളുടെ സമന്വയ പാസ്ഫ്രെയ്സ് അപ്ഡേറ്റ് ചെയ്യുക.</translation> <translation id="707471633328071618">Google Payments (Chromium-ത്തിലേക്ക് പകർത്തി)</translation> -<translation id="7090955637699162649">നിങ്ങളുടെ ബ്രൗസിംഗ് അനുഭവം മെച്ചപ്പെടുത്താൻ Chromium <ph name="BEGIN_LINK" />വെബ് സേവനങ്ങൾ<ph name="END_LINK" /> ഉപയോഗിക്കാം. എപ്പോൾ വേണമെങ്കിലും ഓപ്ഷണലായി ഈ സേവനങ്ങളെ പ്രവർത്തനരഹിതമാക്കാം.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{ഇത് ഈ ഉപകരണത്തിൽ നിന്നും $1 ഇനത്തെ ശാശ്വതമായി ഇല്ലാതാക്കും. പിന്നീട് നിങ്ങളുടെ വിവരങ്ങൾ വീണ്ടെടുക്കാൻ, $2 എന്നതായി Chromium-ത്തിൽ സൈൻ ഇൻ ചെയ്യുക.}other{ഇത് ഈ ഉപകരണത്തിൽ നിന്നും $1 ഇനങ്ങളെ ശാശ്വതമായി ഇല്ലാതാക്കും. പിന്നീട് നിങ്ങളുടെ വിവരങ്ങൾ വീണ്ടെടുക്കാൻ, $2 എന്നതായി Chromium-ത്തിൽ സൈൻ ഇൻ ചെയ്യുക.}}</translation> <translation id="7138853919861947730">Chromium നിങ്ങളുടെ ബ്രൗസുചെയ്യൽ അനുഭവം മെച്ചപ്പെടുത്തുന്നതിന് വെബ് സേവനങ്ങൾ ഉപയോഗിച്ചേക്കാം.</translation> <translation id="7162152143154757523">Google തിരയൽ ഉപയോഗിക്കുന്നതിന് സമാനമായ അക്ഷരപ്പിശക് പരിശോധനാ സാങ്കേതികവിദ്യ ഉപയോഗിക്കാൻ അനുവദിക്കുന്നതിലൂടെ, ബ്രൗസറിൽ ടൈപ്പുചെയ്യുന്നതെന്തും Google സെർവറുകളിലേക്ക് അയച്ച് മികച്ച അക്ഷരപ്പിശക് പരിശോധന നൽകാൻ Chromium-ന് കഴിയുന്നു.</translation>
diff --git a/chrome/app/resources/chromium_strings_mr.xtb b/chrome/app/resources/chromium_strings_mr.xtb index cdcd3073..ce068f5 100644 --- a/chrome/app/resources/chromium_strings_mr.xtb +++ b/chrome/app/resources/chromium_strings_mr.xtb
@@ -15,7 +15,6 @@ <translation id="1502360822835740515">Chromium ला डीफॉल्ट ब्राउझर बनवा</translation> <translation id="151962892725702025">आपल्या डोमेनसाठी संकालन उपलब्ध नसल्यामुळे Chromium OS आपला डेटा संकालित करू शकले नाही.</translation> <translation id="1559451348202814456">Chromium यापुढे Mac OS X 10.6, 10.7 किंवा 10.8 वर समर्थित नसल्याने कदाचित ते योग्यरित्या कार्य करू शकत नाही.</translation> -<translation id="1644918877723739397">Chromium हे आपल्या <ph name="SAVED_PASSWORD_LINK" /> मध्ये संचयित करेल आणि पुढच्या वेळी आपल्याला याची गरज असेल तेव्हा ते लक्षात ठेवेल.</translation> <translation id="1653828314016431939">ठीक आहे - आता पुन्हा एकदा सुरु करा</translation> <translation id="1668054258064581266">Chromium वरून आपले खाते काढल्यानंतर, प्रभावी होण्यासाठी आपल्याला आपले उघडे टॅब रीलोड करण्याची आवश्यकता असू शकते.</translation> <translation id="1688750314291223739">वेबवर आपली वैयक्तीकृत केलेली ब्राउझर वैशिष्ट्ये जतन करण्यासाठी समक्रमण सेट करा आणि कोणत्याही संगणकावरील Chromium वरून त्यात प्रवेश करा.</translation> @@ -50,6 +49,7 @@ <translation id="2587578672395088481">अद्यतन लागू करण्यासाठी Chromium OS रीस्टार्ट करणे आवश्यक आहे.</translation> <translation id="2605472041568654097">वर्तमान सेटिंग्जचा अहवाल देऊन Chromium ला आणखी चांगले बनविण्यात मदत करा.</translation> <translation id="2636877269779209383">Chromium ला या साइटसह सामायिक करण्यासाठी कॅमेर्यामध्ये प्रवेश करण्याची आवश्यकता असते.</translation> +<translation id="2647554856022461007">Chromium आपला ब्राउझिंग अनुभव सुधारण्यासाठी वेब सेवा वापरू शकते. आपण या सेवा वैकल्पिकपणे अक्षम करू शकता. <ph name="BEGIN_LINK" />अधिक जाणून घ्या<ph name="END_LINK" /></translation> <translation id="2648074677641340862">स्थापनेदरम्यान ऑपरेटिंग प्रणाली त्रुटी आली. कृपया Chromium पुन्हा डाउनलोड करा.</translation> <translation id="2685838254101182273">Chromium ने अद्यतन करणे थांबविले आहे आणि हे आपल्या ऑपरेटिंग प्रणालीच्या या आवृत्तीचे यापुढे समर्थन करत नाही.</translation> <translation id="2711502716910134313">Chromium टॅब</translation> @@ -149,6 +149,7 @@ <translation id="5877064549588274448">चॅनेल बदलले. बदल लागू करण्यासाठी आपले डिव्हाइस रीस्टार्ट करा.</translation> <translation id="5895138241574237353">रीस्टार्ट करा</translation> <translation id="5906655207909574370">अद्ययावत करणे जवळजवळ पूर्ण झाले! अद्यतनित करणे समाप्त करण्यासाठी आपले डिव्हाइस रीस्टार्ट करा.</translation> +<translation id="5942225298871134766">Chromium हे <ph name="SAVED_PASSWORD_LINK" /> सह संचयित करेल आणि पुढच्या वेळी आपल्याला याची गरज असेल तेव्हा ते लक्षात ठेवेल.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> Chrome मध्ये जोडले गेले आहे.</translation> <translation id="59625444380784159">आपल्या संपर्कांकडील तपशील आपल्याला Chromium मध्ये अधिक द्रुतपणे फॉर्म भरण्यास मदत करू शकतात.</translation> <translation id="5987687638152509985">संकालित करण्यासाठी Chromium अद्यतनित करा</translation> @@ -190,7 +191,6 @@ <translation id="705851970750939768">Chromium अद्यतनित करा</translation> <translation id="7066436765290594559">Chromium OS आपला डेटा संकालित करू शकले नाही. कृपया आपला संकालन सांकेतिक वाक्यांश अद्यतनित करा.</translation> <translation id="707471633328071618">Google Payments (Chromium वर कॉपी केले)</translation> -<translation id="7090955637699162649">आपला ब्राउझिंग अनुभव सुधारित करण्यासाठी Chromium आपल्या <ph name="BEGIN_LINK" />वेब सेवा<ph name="END_LINK" /> वापरू शकते. आपण कधीही या सेवा पर्यायीपणे अक्षम करू शकता.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{हे या डिव्हाइस वरून $1 आयटम कायमचा हटवेल. आपला डेटा नंतर पुनर्प्राप्त करण्यासाठी, $2 म्हणून Chromium मध्ये साइन इन करा.}one{हे या डिव्हाइस वरून $1 आयटम कायमचा हटवेल. आपला डेटा नंतर पुनर्प्राप्त करण्यासाठी, $2 म्हणून Chromium मध्ये साइन इन करा.}other{हे या डिव्हाइस वरून $1 आयटम कायमचा हटवेल. आपला डेटा नंतर पुनर्प्राप्त करण्यासाठी, $2 म्हणून Chromium मध्ये साइन इन करा.}}</translation> <translation id="7138853919861947730">आपला ब्राउझिंग अनुभव सुधारण्यासाठी Chromium वेब सेवा वापरू शकते.</translation> <translation id="7162152143154757523">आपण ब्राउझरमध्ये जे टाइप करता ते Google सर्व्हरला पाठवून, आपल्याला Google शोध द्वारे वापरलेल्या शब्दलेखन-तंत्रज्ञानासारखेच तंत्रज्ञान वापरण्याची अनुमती देऊन Chromium चाणाक्ष शब्दलेखन-तपासणी प्रदान करु शकते.</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb index 05047636..4d9334c 100644 --- a/chrome/app/resources/chromium_strings_ms.xtb +++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Jadikan Chromium penyemak imbas lalai anda</translation> <translation id="151962892725702025">OS Chromium tidak dapat menyegerakkan data anda kerana Segerak tidak tersedia untuk domain anda.</translation> <translation id="1559451348202814456">Chromium mungkin tidak akan berfungsi dengan betul kerana tidak lagi disokong pada Mac OS X 10.6, 10.7 atau 10.8.</translation> -<translation id="1644918877723739397">Chromium akan menyimpan ini dalam <ph name="SAVED_PASSWORD_LINK" /> anda dan mengingatinya apabila anda memerlukannya nanti.</translation> <translation id="1653828314016431939">OK - Mulakan semula sekarang</translation> <translation id="1668054258064581266">Selepas mengalih keluar akaun anda daripada Chromium, anda mungkin perlu memuatkan semula tab yang dibuka untuk memberi kesan.</translation> <translation id="1688750314291223739">Sediakan Penyegerakan untuk menyimpan ciri penyemak imbas yang diperibadikan di web dan aksesnya dari Chromium pada mana-mana komputer.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS perlu dimulakan semula untuk melaksanakan kemas kini.</translation> <translation id="2605472041568654097">Bantu jadikan Chromium lebih baik dengan melaporkan tetapan semasa.</translation> <translation id="2636877269779209383">Chromium memerlukan akses kamera untuk mengongsinya dengan tapak ini.</translation> +<translation id="2647554856022461007">Chromium boleh menggunakan perkhidmatan web untuk meningkatkan pengalaman penyemakan imbas anda. Anda boleh memilih untuk melumpuhkan perkhidmatan ini. <ph name="BEGIN_LINK" />Ketahui lebih lanjut<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Ralat sistem pengendalian berlaku semasa pemasangan. Sila muat turun Chromium semula.</translation> <translation id="2685838254101182273">Chromium telah berhenti mengemas kini dan tidak lagi menyokong versi sistem pengendalian anda ini.</translation> <translation id="2711502716910134313">Tab Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Saluran berubah. Mulakan semula peranti anda untuk menggunakan perubahan.</translation> <translation id="5895138241574237353">Mulakan Semula</translation> <translation id="5906655207909574370">Hampir terkini! Mulakan semula peranti anda untuk menyelesaikan kemas kini.</translation> +<translation id="5942225298871134766">Chromium akan menyimpan ini dengan <ph name="SAVED_PASSWORD_LINK" /> dan mengingatinya apabila anda memerlukannya nanti.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> telah ditambahkan pada Chromium.</translation> <translation id="59625444380784159">Butiran daripada kenalan anda dapat membantu anda mengisi borang dengan lebih cepat di Chromium.</translation> <translation id="5987687638152509985">Kemas kini Chromium untuk memulakan penyegerakan</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Kemas kini Chromium</translation> <translation id="7066436765290594559">OS Chromium tidak dapat menyegerakkan data anda. Sila kemas kini frasa laluan Segerak anda.</translation> <translation id="707471633328071618">Google Payments (disalin ke Chromium)</translation> -<translation id="7090955637699162649">Chromium mungkin menggunakan <ph name="BEGIN_LINK" />perkhidmatan web<ph name="END_LINK" /> untuk meningkatkan pengalaman penyemakan imbas anda. Anda boleh memilih untuk melumpuhkan perkhidmatan ini pada bila-bila masa.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Tindakan ini akan memadamkan $1 item daripada peranti ini selama-lamanya. Untuk mendapatkan semula data anda kemudian, log masuk ke Chromium sebagai $2.}other{Tindakan ini akan memadamkan $1 item daripada peranti ini selama-lamanya. Untuk mendapatkan semula data anda kemudian, log masuk ke Chromium sebagai $2.}}</translation> <translation id="7138853919861947730">Chromium boleh menggunakan perkhidmatan web untuk meningkatkan pengalaman penyemakan imbas anda.</translation> <translation id="7162152143154757523">Chromium dapat menyediakan semakan ejaan yang lebih pintar dengan menghantar apa yang anda taip dalam penyemak imbas kepada pelayan Google, membolehkan anda menggunakan teknologi semakan ejaan yang sama seperti yang digunakan oleh carian Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_nl.xtb b/chrome/app/resources/chromium_strings_nl.xtb index d4ef7f2..b594d50 100644 --- a/chrome/app/resources/chromium_strings_nl.xtb +++ b/chrome/app/resources/chromium_strings_nl.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Chromium instellen als je standaardbrowser</translation> <translation id="151962892725702025">Chromium OS kan je gegevens niet synchroniseren omdat synchronisatie niet beschikbaar is voor je domein.</translation> <translation id="1559451348202814456">Chromium werkt wellicht niet naar behoren omdat dit niet langer wordt ondersteund op Mac OS X 10.6, 10.7 en 10.8.</translation> -<translation id="1644918877723739397">Chromium slaat dit op bij je <ph name="SAVED_PASSWORD_LINK" /> en onthoudt dit voor de volgende keer dat je het nodig hebt.</translation> <translation id="1653828314016431939">OK - nu opnieuw starten</translation> <translation id="1668054258064581266">Nadat je je account uit Chromium hebt verwijderd, moet je je geopende tabbladen mogelijk opnieuw laden om de wijzigingen door te voeren.</translation> <translation id="1688750314291223739">Stel synchronisatie in om je persoonlijke browserfuncties online op te slaan en toegang te hebben tot deze functies via Chromium, vanaf elke computer.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Chromium OS moet opnieuw worden gestart om de update toe te passen.</translation> <translation id="2605472041568654097">Help Chromium beter te maken door de huidige instellingen te melden.</translation> <translation id="2636877269779209383">Chromium heeft cameratoegang nodig om het item te delen met deze site.</translation> +<translation id="2647554856022461007">Chromium kan webservices gebruiken om de browsefunctionaliteit te verbeteren. Je kunt deze services eventueel uitschakelen. <ph name="BEGIN_LINK" />Meer informatie<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Er is tijdens de installatie een fout opgetreden in het besturingssysteem. Download Chromium opnieuw.</translation> <translation id="2685838254101182273">Chromium is gestopt met bijwerken en ondersteunt deze versie van je besturingssysteem niet langer.</translation> <translation id="2711502716910134313">Chromium-tabblad</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Kanaal gewijzigd. Start het apparaat opnieuw op om de wijzigingen door te voeren.</translation> <translation id="5895138241574237353">Opnieuw starten</translation> <translation id="5906655207909574370">Updaten bijna voltooid. Start je apparaat opnieuw op om de update te voltooien.</translation> +<translation id="5942225298871134766">Chromium slaat dit op met <ph name="SAVED_PASSWORD_LINK" /> en onthoudt dit voor de volgende keer dat je het nodig hebt.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> is toegevoegd aan Chromium.</translation> <translation id="59625444380784159">Gegevens van je contacten kunnen je helpen sneller formulieren in te vullen in Chromium.</translation> <translation id="5987687638152509985">Chromium updaten om de synchronisatie te starten</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Chromium updaten</translation> <translation id="7066436765290594559">Chromium OS kan je gegevens niet synchroniseren. Update je wachtwoordzin voor synchronisatie.</translation> <translation id="707471633328071618">Google Payments (gekopieerd naar Chromium)</translation> -<translation id="7090955637699162649">Chromium kan <ph name="BEGIN_LINK" />webservices<ph name="END_LINK" /> gebruiken om je internetervaring te verbeteren. Als je wilt, kun je deze services uitschakelen.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Hiermee wordt $1 item definitief van dit apparaat verwijderd. Als je je gegevens later wilt terughalen, log je in bij Chromium als $2.}other{Hiermee worden $1 items definitief van dit apparaat verwijderd. Als je je gegevens later wilt terughalen, log je in bij Chromium als $2.}}</translation> <translation id="7138853919861947730">Chromium gebruikt mogelijk webservices om je surfervaring te verbeteren.</translation> <translation id="7162152143154757523">Chromium kan een betere spellingcontrole leveren door wat je in de browser typt naar Google-servers te verzenden. Hierdoor kun je profiteren van dezelfde technologie voor spellingcontrole die ook voor Google Zoeken wordt gebruikt.</translation>
diff --git a/chrome/app/resources/chromium_strings_no.xtb b/chrome/app/resources/chromium_strings_no.xtb index f547380..7e087d9 100644 --- a/chrome/app/resources/chromium_strings_no.xtb +++ b/chrome/app/resources/chromium_strings_no.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Gjør Chromium til standard nettleser</translation> <translation id="151962892725702025">Chromium OS kunne ikke synkronisere dataene dine fordi synkronisering ikke er tilgjengelig for domenet ditt.</translation> <translation id="1559451348202814456">Chromium fungerer kanskje ikke riktig fordi den ikke lenger støttes på Mac OS X 10.6, 10.7 eller 10.8.</translation> -<translation id="1644918877723739397">Chromium lagrer dette i <ph name="SAVED_PASSWORD_LINK" /> og husker det neste gang du trenger det.</translation> <translation id="1653828314016431939">OK – start på nytt nå</translation> <translation id="1668054258064581266">Når du har fjernet kontoen din fra Chromium, kan det hende at du må laste inn de åpne fanene på nytt før endringene trer i kraft.</translation> <translation id="1688750314291223739">Konfigurer Synkronisering til å lagre de personlig tilpassede nettleserfunksjonene dine på nettet slik at du kan bruke dem fra Chromium på enhver datamaskin.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS må startes på nytt for at oppdateringen skal tas i bruk.</translation> <translation id="2605472041568654097">Bidra til å gjøre Chromium bedre ved å rapportere de gjeldende innstillingene</translation> <translation id="2636877269779209383">Chromium må ha tilgang til kameraet ditt for å kunne dele det med dette nettstedet.</translation> +<translation id="2647554856022461007">Chromium kan bruke nettjenester for å forbedre brukeropplevelsen din på nettet. Du kan slå av disse tjenestene. <ph name="BEGIN_LINK" />Finn ut mer<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Det oppsto en systemfeil under installering. Last ned Chromium på nytt.</translation> <translation id="2685838254101182273">Chromium oppdateres ikke lenger og har mistet støtten for denne versjonen av operativsystemet ditt.</translation> <translation id="2711502716910134313">Chromium-fane</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kanalen ble endret. Start enheten på nytt for å aktivere endringene.</translation> <translation id="5895138241574237353">Start på nytt</translation> <translation id="5906655207909574370">Nå er oppdateringen snart ferdig! Start enheten på nytt for å fullføre oppdateringen.</translation> +<translation id="5942225298871134766">Chromium lagrer dette med <ph name="SAVED_PASSWORD_LINK" /> og husker det neste gang du trenger det.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> har blitt lagt til i Chromium.</translation> <translation id="59625444380784159">Informasjon fra kontaktene dine kan hjelpe deg med å fylle ut skjemaer raskere i Chromium.</translation> <translation id="5987687638152509985">Oppdater Chromium for å starte synkroniseringen</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Oppdater Chromium</translation> <translation id="7066436765290594559">Chromium kunne ikke synkronisere dataene dine. Oppdater passordfrasen for synkronisering.</translation> <translation id="707471633328071618">Google Payments (kopiert til Chromium)</translation> -<translation id="7090955637699162649">Chromium kan bruke <ph name="BEGIN_LINK" />nettjenester<ph name="END_LINK" /> for å forbedre surfeopplevelsen din. Du kan når som helst velge å slå av disse tjenestene.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Dette fører til at $1 element slettes permanent fra denne enheten. For å hente dataene dine igjen senere, logg på Chromium som $2.}other{Dette fører til at $1 elementer slettes permanent fra denne enheten. For å hente dataene dine igjen senere, logg på Chromium som $2.}}</translation> <translation id="7138853919861947730">Chromium kan bruke nett-tjenester for å forbedre surfingen din.</translation> <translation id="7162152143154757523">Chromium kan levere bedre stavekontroll ved å sende det du skriver i nettleseren, til Google-tjenerne. Dette gjør at du kan bruke samme teknologi for stavekontroll som det Google Søk bruker.</translation>
diff --git a/chrome/app/resources/chromium_strings_pl.xtb b/chrome/app/resources/chromium_strings_pl.xtb index dd563f4..c037c03 100644 --- a/chrome/app/resources/chromium_strings_pl.xtb +++ b/chrome/app/resources/chromium_strings_pl.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Ustawianie Chromium jako przeglądarki domyślnej</translation> <translation id="151962892725702025">System operacyjny Chromium nie może zsynchronizować danych, ponieważ synchronizacja jest niedostępna w Twojej domenie.</translation> <translation id="1559451348202814456">Chromium może działać nieprawidłowo, bo nie jest już zgodny z Mac OS X 10.6, 10.7 ani 10.8.</translation> -<translation id="1644918877723739397">Chromium zapisze to hasło (tutaj: <ph name="SAVED_PASSWORD_LINK" />) i zapamięta je do użycia w przyszłości.</translation> <translation id="1653828314016431939">W porządku – uruchom ponownie teraz</translation> <translation id="1668054258064581266">Aby po usunięciu konta z Chromium zmiany zostały zastosowane, może być konieczne ponowne załadowanie otwartych kart.</translation> <translation id="1688750314291223739">Skonfiguruj synchronizację, by zapisać w internecie własne funkcje przeglądarki i mieć do nich dostęp w Chromium na każdym komputerze.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Zastosowanie aktualizacji wymaga ponownego uruchomienia systemu operacyjnego Chromium.</translation> <translation id="2605472041568654097">Pomóż ulepszyć Chromium, zgłaszając bieżące ustawienia.</translation> <translation id="2636877269779209383">Chromium potrzebuje dostępu do kamery, by móc ją udostępnić tej stronie.</translation> +<translation id="2647554856022461007">Aby zwiększyć wygodę przeglądania, Chromium może korzystać z usług internetowych. Możesz je opcjonalnie wyłączyć. <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Podczas instalacji wystąpił błąd systemu operacyjnego. Pobierz Chromium ponownie.</translation> <translation id="2685838254101182273">Chromium nie jest już aktualizowany ani nie obsługuje tej wersji systemu operacyjnego.</translation> <translation id="2711502716910134313">Karta Chromium</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">Kanał został zmieniony. Aby zastosować zmiany, uruchom ponownie urządzenie.</translation> <translation id="5895138241574237353">Uruchom ponownie</translation> <translation id="5906655207909574370">Już prawie gotowe. Uruchom ponownie urządzenie, by zakończyć aktualizację.</translation> +<translation id="5942225298871134766">Chromium zapisze to hasło w funkcji <ph name="SAVED_PASSWORD_LINK" /> i zapamięta je do użycia w przyszłości.</translation> <translation id="5942520288919337908">Rozszerzenie <ph name="EXTENSION_NAME" /> zostało dodane do Chromium.</translation> <translation id="59625444380784159">Informacje z Twoich kontaktów pomogą Ci szybciej wypełniać formularze w Chromium.</translation> <translation id="5987687638152509985">Zaktualizuj Chromium, by rozpocząć synchronizację</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">Zaktualizuj Chromium</translation> <translation id="7066436765290594559">System operacyjny Chromium nie może zsynchronizować danych. Zaktualizuj hasło synchronizacji.</translation> <translation id="707471633328071618">Google Payments (skopiowana do Chromium)</translation> -<translation id="7090955637699162649">Chromium może korzystać z <ph name="BEGIN_LINK" />usług sieciowych<ph name="END_LINK" />, by poprawić wygodę użytkowania. Można je wyłączyć w dowolnym momencie.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Spowoduje to trwałe usunięcie $1 elementu z tego urządzenia. Aby później odzyskać dane, zaloguj się w Chromium jako $2.}few{Spowoduje to trwałe usunięcie $1 elementów z tego urządzenia. Aby później odzyskać dane, zaloguj się w Chromium jako $2.}many{Spowoduje to trwałe usunięcie $1 elementów z tego urządzenia. Aby później odzyskać dane, zaloguj się w Chromium jako $2.}other{Spowoduje to trwałe usunięcie $1 elementu z tego urządzenia. Aby później odzyskać dane, zaloguj się w Chromium jako $2.}}</translation> <translation id="7138853919861947730">Chromium może poprawić wygodę użytkownika, korzystając z usług internetowych.</translation> <translation id="7162152143154757523">Chromium może lepiej sprawdzać pisownię, przesyłając do serwerów Google tekst, który wpisujesz w przeglądarce. Dzięki temu możesz korzystać z tej samej technologii sprawdzania pisowni co wyszukiwarka Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-BR.xtb b/chrome/app/resources/chromium_strings_pt-BR.xtb index a0e3a59f..e8e85307 100644 --- a/chrome/app/resources/chromium_strings_pt-BR.xtb +++ b/chrome/app/resources/chromium_strings_pt-BR.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Tornar o Chromium seu navegador padrão</translation> <translation id="151962892725702025">O Chromium OS não pôde sincronizar seus dados porque a sincronização não está disponível para seu domínio.</translation> <translation id="1559451348202814456">É possível que o Chromium não funcione corretamente, porque ele não é mais compatível com Mac OS X 10.6, 10.7 ou 10.8.</translation> -<translation id="1644918877723739397">O Chromium armazenará essa senha na sua <ph name="SAVED_PASSWORD_LINK" /> e lembrará dela na próxima vez que você precisar.</translation> <translation id="1653828314016431939">OK - Reinicie agora</translation> <translation id="1668054258064581266">Depois de remover sua conta do Chromium, pode ser necessário recarregar as guias abertas para que a alteração entre em vigor.</translation> <translation id="1688750314291223739">Configure a sincronização para salvar suas características de navegador personalizadas na web e acessá-las do Chromium em qualquer computador.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">É necessário reiniciar o Chromium OS para que a atualização seja aplicada.</translation> <translation id="2605472041568654097">Ajude a melhorar o Chromium informando as configurações atuais.</translation> <translation id="2636877269779209383">O Chromium precisa de acesso à câmera para compartilhá-la com este site.</translation> +<translation id="2647554856022461007">O Chromium pode usar serviços da Web para melhorar sua experiência de navegação. Se desejar, você pode desativar esses serviços. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Ocorreu um erro no sistema operacional durante a instalação. Faça o download do Chromium novamente.</translation> <translation id="2685838254101182273">O Chromium parou de ser atualizado e não oferece mais suporte para esta versão do seu sistema operacional.</translation> <translation id="2711502716910134313">Guia do Chromium</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">Canal alterado. Reinicie o dispositivo para aplicar as alterações.</translation> <translation id="5895138241574237353">Reiniciar</translation> <translation id="5906655207909574370">Atualização quase concluída. Reinicie o dispositivo para concluí-la.</translation> +<translation id="5942225298871134766">O Chromium armazenará essa senha com <ph name="SAVED_PASSWORD_LINK" /> e lembrará dela na próxima vez que você precisar.</translation> <translation id="5942520288919337908">A extensão <ph name="EXTENSION_NAME" /> foi adicionada ao Chromium.</translation> <translation id="59625444380784159">Detalhes dos seus contatos podem ajudar a preencher formulários de forma mais rápida no Chromium.</translation> <translation id="5987687638152509985">Atualize o Chromium para começar a sincronizar</translation> @@ -185,7 +186,6 @@ <translation id="705851970750939768">Atualizar o Chromium</translation> <translation id="7066436765290594559">O Chromium OS não pôde sincronizar seus dados. Atualize sua senha de sincronização.</translation> <translation id="707471633328071618">Google Payments (copiado para o Chromium)</translation> -<translation id="7090955637699162649">O Chromium pode usar <ph name="BEGIN_LINK" />serviços da Web<ph name="END_LINK" /> para melhorar a qualidade da sua navegação. Você pode desativar esses serviços a qualquer momento.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Isso excluirá permanentemente $1 item deste dispositivo. Para recuperar seus dados mais tarde, faça login no Chromium como $2.}one{Isso excluirá permanentemente $1 itens deste dispositivo. Para recuperar seus dados mais tarde, faça login no Chromium como $2.}other{Isso excluirá permanentemente $1 itens deste dispositivo. Para recuperar seus dados mais tarde, faça login no Chromium como $2.}}</translation> <translation id="7138853919861947730">O Chromium pode usar os serviços da web para melhorar sua experiência de navegação.</translation> <translation id="7162152143154757523">O Chromium pode oferecer uma verificação ortográfica mais inteligente, enviando as informações que você digita no navegador para os servidores do Google. Isso permite que você utilize a mesma tecnologia de verificação ortográfica utilizada pela Pesquisa Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-PT.xtb b/chrome/app/resources/chromium_strings_pt-PT.xtb index 848917d..e4507c0 100644 --- a/chrome/app/resources/chromium_strings_pt-PT.xtb +++ b/chrome/app/resources/chromium_strings_pt-PT.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Tornar o Chromium o navegador predefinido</translation> <translation id="151962892725702025">O SO Chromium não conseguiu sincronizar os dados porque a sincronização não está disponível para o seu domínio.</translation> <translation id="1559451348202814456">O Chromium pode não funcionar corretamente, uma vez que já não é suportado no Mac OS X 10.6, no Mac OS X 10.7 ou no Mac OS X 10.8.</translation> -<translation id="1644918877723739397">O Chromium armazena esta informação nas <ph name="SAVED_PASSWORD_LINK" /> e lembra-a da próxima vez que precisar.</translation> <translation id="1653828314016431939">OK - Reiniciar agora</translation> <translation id="1668054258064581266">Depois de remover a sua conta do Chromium, poderá ter de recarregar os separadores abertos para que as alterações tenham efeito.</translation> <translation id="1688750314291223739">Configure a Sincronização para guardar as suas funcionalidades personalizadas do navegador para a Web e aceder às mesmas a partir do Chromium em qualquer computador.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">O SO Chromium tem de ser reiniciado para aplicar a atualização.</translation> <translation id="2605472041568654097">Ajude a melhorar o Chromium ao comunicar as definições atuais.</translation> <translation id="2636877269779209383">O Chromium necessita de acesso à câmara para a partilhar com este site.</translation> +<translation id="2647554856022461007">O Chromium poderá utilizar serviços Web para melhorar a sua experiência de navegação. Poderá optar por desativar estes serviços. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Ocorreu um erro no sistema operativo durante a instalação. Transfira novamente o Chromium.</translation> <translation id="2685838254101182273">O Chromium já não se atualiza nem suporta mais esta versão do seu sistema operativo.</translation> <translation id="2711502716910134313">Separador do Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Canal alterado. Reinicie o dispositivo para aplicar as alterações.</translation> <translation id="5895138241574237353">Reiniciar</translation> <translation id="5906655207909574370">Quase atualizado! Reinicie o dispositivo para concluir a atualização.</translation> +<translation id="5942225298871134766">O Chromium armazena esta informação com o <ph name="SAVED_PASSWORD_LINK" /> e lembra-a da próxima vez que precisar.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> foi adicionada ao Chromium.</translation> <translation id="59625444380784159">Os detalhes dos seus contactos podem ajudar a preencher formulários mais rapidamente no Chromium.</translation> <translation id="5987687638152509985">Atualize o Chromium para iniciar a sincronização</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Atualizar o Chromium</translation> <translation id="7066436765290594559">O SO Chromium não conseguiu sincronizar os dados. Atualize a frase de acesso de sincronização.</translation> <translation id="707471633328071618">Google Payments (copiado para o Chromium)</translation> -<translation id="7090955637699162649">O Chromium pode utilizar <ph name="BEGIN_LINK" />serviços Web<ph name="END_LINK" /> para melhorar a sua experiência de navegação. Se pretender, pode desativar estes serviços a qualquer momento.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Esta ação elimina permanentemente $1 item deste dispositivo. Para recuperar os seus dados mais tarde, inicie sessão no Chromium como $2.}other{Esta ação elimina permanentemente $1 itens deste dispositivo. Para recuperar os seus dados mais tarde, inicie sessão no Chromium como $2.}}</translation> <translation id="7138853919861947730">O Chromium pode utilizar serviços Web para melhorar a sua experiência de navegação.</translation> <translation id="7162152143154757523">O Chromium pode disponibilizar uma verificação ortográfica mais inteligente ao enviar o que escreve no navegador para os servidores da Google, o que lhe permite utilizar a mesma tecnologia de verificação ortográfica da Pesquisa Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb index 0bc0dd0b..7d0c593 100644 --- a/chrome/app/resources/chromium_strings_ro.xtb +++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Setează Chromium ca browser prestabilit</translation> <translation id="151962892725702025">Sistemul de operare Chromium nu a putut sincroniza datele, deoarece sincronizarea nu este disponibilă pentru domeniul dvs.</translation> <translation id="1559451348202814456">Este posibil ca Chromium să nu funcționeze corespunzător, deoarece nu mai este acceptat pe Mac OS X 10.6, 10.7 sau 10.8.</translation> -<translation id="1644918877723739397">Chromium o va stoca în <ph name="SAVED_PASSWORD_LINK" /> și o va reține pentru data următoare când ai nevoie.</translation> <translation id="1653828314016431939">OK - Reporniți acum</translation> <translation id="1668054258064581266">După ce eliminați contul din Chromium, poate fi necesar să reîncărcați filele deschise pentru ca schimbarea să se aplice.</translation> <translation id="1688750314291223739">Configurați sincronizarea pentru a salva funcțiile personalizate ale browserului pe web și accesați-le din Chromium de pe orice computer.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Pentru a se aplica actualizarea, sistemul de operare Chromium trebuie să fie repornit.</translation> <translation id="2605472041568654097">Contribuie la îmbunătățirea browserului Chromium raportând setările actuale.</translation> <translation id="2636877269779209383">Chromium are nevoie de acces la camera foto pentru a-l acorda acestui site.</translation> +<translation id="2647554856022461007">Este posibil ca Chromium să folosească servicii web pentru a-ți îmbunătăți experiența de navigare. Poți să dezactivezi aceste servicii. <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation> <translation id="2648074677641340862">S-a produs o eroare de sistem de operare în timpul instalării. Descărcați din nou Chromium.</translation> <translation id="2685838254101182273">Chromium nu se mai actualizează și nu mai acceptă această versiune a sistemului dvs. de operare.</translation> <translation id="2711502716910134313">Fila Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Canalul a fost schimbat. Reporniți dispozitivul pentru a aplica modificările.</translation> <translation id="5895138241574237353">Reîncepe</translation> <translation id="5906655207909574370">Aproape actualizat! Repornește dispozitivul pentru a finaliza actualizarea.</translation> +<translation id="5942225298871134766">Chromium o va stoca folosind <ph name="SAVED_PASSWORD_LINK" /> și o va reține pentru data următoare când ai nevoie.</translation> <translation id="5942520288919337908">Extensia <ph name="EXTENSION_NAME" /> a fost adăugată la Chromium.</translation> <translation id="59625444380784159">Detaliile din agendă vă pot ajuta să completați mai rapid formularele în Chromium.</translation> <translation id="5987687638152509985">Actualizează Chromium pentru a începe sincronizarea</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Actualizează Chromium</translation> <translation id="7066436765290594559">Sistemul de operare Chromium nu a putut sincroniza datele. Actualizați parola de acces pentru sincronizare.</translation> <translation id="707471633328071618">Google Payments (copiat în Chromium)</translation> -<translation id="7090955637699162649">Chromium poate folosi <ph name="BEGIN_LINK" />servicii web<ph name="END_LINK" /> pentru a îmbunătăți experiența de navigare. Poți dezactiva aceste servicii oricând.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Astfel, va fi șters definitiv $1 element de pe acest dispozitiv. Pentru a recupera datele mai târziu, conectează-te la Chromium ca $2.}few{Astfel, vor fi șterse definitiv $1 elemente de pe acest dispozitiv. Pentru a recupera datele mai târziu, conectează-te la Chromium ca $2.}other{Astfel, vor fi șterse definitiv $1 de elemente de pe acest dispozitiv. Pentru a recupera datele mai târziu, conectează-te la Chromium ca $2.}}</translation> <translation id="7138853919861947730">Chromium poate utiliza servicii web pentru îmbunătățirea experienței de navigare.</translation> <translation id="7162152143154757523">Chromium poate oferi o verificare a ortografiei mai inteligentă prin trimiterea textului introdus în browser la serverele Google, permițându-ți să folosești aceeași tehnologie de verificare a ortografiei folosită de Căutare Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_ru.xtb b/chrome/app/resources/chromium_strings_ru.xtb index 92b3bd7..064f3bb5 100644 --- a/chrome/app/resources/chromium_strings_ru.xtb +++ b/chrome/app/resources/chromium_strings_ru.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Как сделать Chromium браузером по умолчанию</translation> <translation id="151962892725702025">Не удалось синхронизировать данные, поскольку сервис Sync недоступен в вашем домене.</translation> <translation id="1559451348202814456">В работе Chromium могут возникать сбои, так как браузер больше не поддерживает Mac OS X 10.6, 10.7 и 10.8.</translation> -<translation id="1644918877723739397">Chromium добавит его к другим сохраненным паролям (<ph name="SAVED_PASSWORD_LINK" />) и запомнит для следующих визитов.</translation> <translation id="1653828314016431939">ОК, перезапустить сейчас</translation> <translation id="1668054258064581266">После удаления вашего аккаунта из Chromium может понадобиться перезагрузить открытые вкладки, чтобы изменения вступили в силу.</translation> <translation id="1688750314291223739">Настройте синхронизацию, чтобы сохранить в облаке персонализированные функции браузера и получить к ним доступ из Chromium с любого компьютера.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Перезагрузите Chromium OS, чтобы установить обновление.</translation> <translation id="2605472041568654097">Отправьте отчет о текущих настройках Chromium и помогите усовершенствовать работу браузера.</translation> <translation id="2636877269779209383">Предоставьте браузеру Chromium доступ к камере, чтобы пользоваться ею на этом сайте.</translation> +<translation id="2647554856022461007">Для более качественной работы Chromium может использовать веб-сервисы. При необходимости отключите их. <ph name="BEGIN_LINK" />Подробнее…<ph name="END_LINK" /></translation> <translation id="2648074677641340862">В процессе установки произошла ошибка в операционной системе. Скачайте Chromium ещё раз.</translation> <translation id="2685838254101182273">Chromium больше не обновляется и не поддерживается для этой версии операционной системы.</translation> <translation id="2711502716910134313">Вкладка Chromium</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">Канал изменен. Чтобы изменения вступили в силу, перезапустите устройство.</translation> <translation id="5895138241574237353">Перезапустить</translation> <translation id="5906655207909574370">Чтобы завершить обновление, перезапустите устройство.</translation> +<translation id="5942225298871134766">Chromium добавит его к другим сохраненным паролям (<ph name="SAVED_PASSWORD_LINK" />) и запомнит для следующих визитов.</translation> <translation id="5942520288919337908">Расширение <ph name="EXTENSION_NAME" /> добавлено в Chromium.</translation> <translation id="59625444380784159">Данные из вашего списка контактов будут отображаться в подсказках, и вы сможете быстрее заполнять формы в Chromium.</translation> <translation id="5987687638152509985">Чтобы начать синхронизацию, обновите Chromium</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">Обновить Chromium</translation> <translation id="7066436765290594559">Не удалось синхронизировать данные. Обновите кодовую фразу в Sync.</translation> <translation id="707471633328071618">Google Payments (скопировано в Chromium)</translation> -<translation id="7090955637699162649">Для более качественной работы Google Chrome может использовать <ph name="BEGIN_LINK" />веб-сервисы<ph name="END_LINK" />. При необходимости вы можете отключить их.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{С устройства будет удален $1 объект. Чтобы впоследствии загрузить данные, войдите в Chromium как $2.}one{С устройства будет удален $1 объект. Чтобы впоследствии загрузить данные, войдите в Chromium как $2.}few{С устройства будет удалено $1 объекта. Чтобы впоследствии загрузить данные, войдите в Chromium как $2.}many{С устройства будет удалено $1 объектов. Чтобы впоследствии загрузить данные, войдите в Chromium как $2.}other{С устройства будет удалено $1 объекта. Чтобы впоследствии загрузить данные, войдите в Chromium как $2.}}</translation> <translation id="7138853919861947730">Chromium предоставляет новые возможности для работы в Интернете за счет использования веб-служб.</translation> <translation id="7162152143154757523">Chromium предлагает интеллектуальную технологию проверки правописания. Введенный вами текст отправляется на серверы Google, что позволяет использовать механизмы проверки Google Поиска.</translation>
diff --git a/chrome/app/resources/chromium_strings_sk.xtb b/chrome/app/resources/chromium_strings_sk.xtb index 78745b3..778cd20 100644 --- a/chrome/app/resources/chromium_strings_sk.xtb +++ b/chrome/app/resources/chromium_strings_sk.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Nastavenie prehliadača Chromium ako predvoleného prehliadača</translation> <translation id="151962892725702025">Systému OS Chromium sa nepodarilo synchronizovať vaše údaje, pretože možnosť synchronizácie nie je pre vašu doménu k dispozícii.</translation> <translation id="1559451348202814456">Chromium nemusí fungovať správne, pretože v systéme Mac OS X verzií 10.6, 10.7 a 10.8 už nie je podporovaný.</translation> -<translation id="1644918877723739397">Chromium uloží toto heslo do vašich <ph name="SAVED_PASSWORD_LINK" /> a ponúkne vám ho, keď ho budete najbližšie potrebovať.</translation> <translation id="1653828314016431939">OK — reštartovať</translation> <translation id="1668054258064581266">Po odstránení účtu z prehliadača Chromium možno budete musieť znova načítať otvorené karty, aby sa zmena uplatnila.</translation> <translation id="1688750314291223739">Ak chcete uložiť svoje prispôsobené funkcie prehliadača na webe a pristupovať k nim z prehliadača Chromium v ktoromkoľvek počítači, nastavte synchronizáciu.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Ak chcete uplatniť aktualizáciu, musíte reštartovať systém Chromium OS.</translation> <translation id="2605472041568654097">Nahláste aktuálne nastavenia a pomôžte tak zlepšiť prehliadač Chromium</translation> <translation id="2636877269779209383">Chromium musí mať najprv prístup k fotoaparátu, aby ho mohol s týmito webovými stránkami zdieľať.</translation> +<translation id="2647554856022461007">Prehliadač Chromium môže na vylepšenie prehliadania používať webové služby. Tieto služby môžete podľa potreby zakázať. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation> <translation id="2648074677641340862">V priebehu inštalácie sa vyskytla chyba operačného systému. Stiahnite prehliadač Chromium znova.</translation> <translation id="2685838254101182273">Prehliadač Chromium sa prestal aktualizovať a túto verziu vášho operačného systému už nepodporuje.</translation> <translation id="2711502716910134313">Karta Chromium</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Kanál sa zmenil. Ak chcete zmeny použiť, reštartujte zariadenie.</translation> <translation id="5895138241574237353">Reštartovať</translation> <translation id="5906655207909574370">Aktualizácia je takmer hotová! Dokončite ju reštartovaním zariadenia.</translation> +<translation id="5942225298871134766">Chromium uloží toto heslo pomocou funkcie <ph name="SAVED_PASSWORD_LINK" /> a ponúkne vám ho, keď ho budete najbližšie potrebovať.</translation> <translation id="5942520288919337908">Rozšírenie <ph name="EXTENSION_NAME" /> bolo pridané do prehliadača Chromium.</translation> <translation id="59625444380784159">Podrobnosti z vašich kontaktov vám môžu pomôcť rýchlejšie vypĺňať formuláre v prehliadači Chromium.</translation> <translation id="5987687638152509985">Ak chcete spustiť synchronizáciu, aktualizujte Chromium</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Aktualizovať Chromium</translation> <translation id="7066436765290594559">Systému OS Chromium sa nepodarilo synchronizovať vaše údaje. Aktualizujte prístupovú frázu synchronizácie.</translation> <translation id="707471633328071618">Google Payments (skopírované do prehliadača Chromium)</translation> -<translation id="7090955637699162649">Chromium môže používať <ph name="BEGIN_LINK" />webové služby<ph name="END_LINK" />, aby vám spríjemnil prehliadanie. Tieto služby môžete kedykoľvek zakázať.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Táto akcia natrvalo odstráni $1 položku z tohto zariadenia. Ak budete chcieť tieto dáta neskôr opäť načítať, prihláste sa do prehliadača Chromium ako $2.}few{Táto akcia natrvalo odstráni $1 položky z tohto zariadenia. Ak budete chcieť tieto dáta neskôr opäť načítať, prihláste sa do prehliadača Chromium ako $2.}many{Táto akcia natrvalo odstráni $1 položky z tohto zariadenia. Ak budete chcieť tieto dáta neskôr opäť načítať, prihláste sa do prehliadača Chromium ako $2.}other{Táto akcia natrvalo odstráni $1 položiek z tohto zariadenia. Ak budete chcieť tieto dáta neskôr opäť načítať, prihláste sa do prehliadača Chromium ako $2.}}</translation> <translation id="7138853919861947730">Prehliadač Chromium vám môže spríjemniť prehliadanie pomocou webových služieb.</translation> <translation id="7162152143154757523">Prehliadač Chromium vám ponúka inteligentnejšiu kontrolu pravopisu tým, že text zadaný do prehliadača odošle serverom spoločnosti Google. Umožňuje vám tak využiť rovnakú technológiu kontroly pravopisu, aká sa používa vo Vyhľadávaní Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_sl.xtb b/chrome/app/resources/chromium_strings_sl.xtb index 12f86ee..e6768dd6 100644 --- a/chrome/app/resources/chromium_strings_sl.xtb +++ b/chrome/app/resources/chromium_strings_sl.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Nastavitev Chromiuma kot privzetega brskalnika</translation> <translation id="151962892725702025">Chromium OS ni mogel sinhronizirati podatkov, ker sinhronizacija ni na voljo za vašo domeno.</translation> <translation id="1559451348202814456">Chromium morda ne bo deloval pravilno, ker ni več podprt v različicah sistema Mac OS X 10.6, 10.7 ali 10.8.</translation> -<translation id="1644918877723739397">Chromium bo shranil to tukaj: <ph name="SAVED_PASSWORD_LINK" /> in priklical, ko to naslednjič potrebujete.</translation> <translation id="1653828314016431939">V redu, znova zaženi zdaj</translation> <translation id="1668054258064581266">Ko odstranite račun iz Chromiuma, boste morali morda znova naložiti odprte zavihke, če želite uveljaviti spremembo.</translation> <translation id="1688750314291223739">Nastavite sinhronizacijo, da prilagojene funkcije brskalnika shranite v spletu in do njih v Chromiumu dostopate v katerem koli računalniku.</translation> @@ -51,6 +50,8 @@ <translation id="2587578672395088481">Če želite namestiti posodobitev, morate znova zagnati OS Chromium.</translation> <translation id="2605472041568654097">Pomagajte izboljšati Chromium s poročanjem o trenutnih nastavitvah.</translation> <translation id="2636877269779209383">Chromium potrebuje dostop do kamere, če želite, da temu spletnemu mestu omogoči dostop do nje.</translation> +<translation id="2647554856022461007">Chromium lahko za izboljšanje izkušnje pri brskanju uporabi spletne storitve. +Te storitve lahko po želji onemogočite. <ph name="BEGIN_LINK" />Več o tem<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Napaka v operacijskem sistemu med namestitvijo. Znova prenesite Chromium.</translation> <translation id="2685838254101182273">Chromium se ne posodablja več in ne podpira več te različice operacijskega sistema.</translation> <translation id="2711502716910134313">Zavihek v Chromiumu</translation> @@ -150,6 +151,7 @@ <translation id="5877064549588274448">Kanal spremenjen. Znova zaženite napravo, da uveljavite spremembe.</translation> <translation id="5895138241574237353">Znova zaženi</translation> <translation id="5906655207909574370">Samo še malo. Znova zaženite napravo, da dokončate posodobitev.</translation> +<translation id="5942225298871134766">Chromium bo shranil to s tem: <ph name="SAVED_PASSWORD_LINK" /> in priklical, ko to naslednjič potrebujete.</translation> <translation id="5942520288919337908">Razširitev <ph name="EXTENSION_NAME" /> je dodana v Chromium.</translation> <translation id="59625444380784159">S podatki iz stikov lahko hitreje izpolnjujete obrazce v Chromiumu.</translation> <translation id="5987687638152509985">Posodobite Chromium, če želite začeti sinhronizacijo</translation> @@ -191,7 +193,6 @@ <translation id="705851970750939768">Posodobi Chromium</translation> <translation id="7066436765290594559">Chromium OS ni mogel sinhronizirati podatkov. Posodobite sinhronizacijsko geslo.</translation> <translation id="707471633328071618">Google Payments (kopirano v Chromium)</translation> -<translation id="7090955637699162649">Chromium lahko za izboljšanje izkušnje brskanja uporablja <ph name="BEGIN_LINK" />spletne storitve<ph name="END_LINK" />. Te storitve lahko kadar koli onemogočite, če želite.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{S tem bo iz te naprave trajno izbrisan $1 element. Če želite pozneje prenesti podatke, se v Chromium prijavite kot $2.}one{S tem bo iz te naprave trajno izbrisan $1 element. Če želite pozneje prenesti podatke, se v Chromium prijavite kot $2.}two{S tem bosta iz te naprave trajno izbrisana $1 elementa. Če želite pozneje prenesti podatke, se v Chromium prijavite kot $2.}few{S tem bodo iz te naprave trajno izbrisani $1 elementi. Če želite pozneje prenesti podatke, se v Chromium prijavite kot $2.}other{S tem bo iz te naprave trajno izbrisanih $1 elementov. Če želite pozneje prenesti podatke, se v Chromium prijavite kot $2.}}</translation> <translation id="7138853919861947730">Chromium lahko za boljšo izkušnjo brskanja uporablja spletne storitve.</translation> <translation id="7162152143154757523">Chromium omogoča pametnejše črkovanje, tako da vaše vnose v brskalnik pošilja v Googlove strežnike in s tem omogoči, da uporabljate isto tehnologijo preverjanja črkovanja, kot jo uporablja Googlovo iskanje.</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb index a485f0a7..eccccff 100644 --- a/chrome/app/resources/chromium_strings_sr.xtb +++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Подесите Chromium за подразумевани прегледач</translation> <translation id="151962892725702025">Chromium ОС не може да синхронизује податке јер Синхронизација није доступна за домен.</translation> <translation id="1559451348202814456">Chromium можда неће исправно функционисати зато што више није подржан на систему Mac OS X 10.6, 10.7 или 10.8.</translation> -<translation id="1644918877723739397">Chromium ће сачувати ове податке у услузи <ph name="SAVED_PASSWORD_LINK" /> и сетиће их се када вам следећи пут буду потребни.</translation> <translation id="1653828314016431939">У реду – Поново покрени одмах</translation> <translation id="1668054258064581266">Када уклоните налог из Chromium-а, можда ћете морати поново да учитате отворене картице да би то ступило на снагу.</translation> <translation id="1688750314291223739">Подесите Синхронизацију како бисте сачували персонализоване функције прегледача на Веб и приступали им из Chromium-а на било ком рачунару.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Треба да рестартујете Chromium ОС да бисте применили ажурирање.</translation> <translation id="2605472041568654097">Помозите да побољшамо Chromium тако што ћете послати извештај о актуелним подешавањима.</translation> <translation id="2636877269779209383">Chromium захтева приступ камери да би је делио са овим сајтом.</translation> +<translation id="2647554856022461007">Chromium може да користи веб-услуге да би побољшао доживљај прегледања. Можете опционално да онемогућите те услуге. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Током инсталације је дошло до грешке у оперативном систему. Преузмите Chromium поново.</translation> <translation id="2685838254101182273">Chromium је престао да се ажурира и не подржава више ову верзију оперативног система.</translation> <translation id="2711502716910134313">Картица Chromium</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Канал је промењен. Покрените поново уређај да бисте применили промене.</translation> <translation id="5895138241574237353">Покрени поново</translation> <translation id="5906655207909574370">Ажурирање је скоро готово! Поново покрените уређај да бисте довршили ажурирање.</translation> +<translation id="5942225298871134766">Chromium ће сачувати ове податке у услузи <ph name="SAVED_PASSWORD_LINK" /> и сетиће их се када вам следећи пут буду потребни.</translation> <translation id="5942520288919337908">Додатак <ph name="EXTENSION_NAME" /> је додат у Chromium.</translation> <translation id="59625444380784159">Детаљи из контаката могу да вам помогну да брже попуњавате обрасце у Chromium-у.</translation> <translation id="5987687638152509985">Ажурирајте Chromium да бисте започели синхронизацију</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Ажурирај Chromium</translation> <translation id="7066436765290594559">Chromium ОС не може да синхронизује податке. Ажурирајте приступну фразу за Синхронизацију.</translation> <translation id="707471633328071618">Google Payments (копирано у Chromium)</translation> -<translation id="7090955637699162649">Chromium може да користи <ph name="BEGIN_LINK" />веб-услуге<ph name="END_LINK" /> да би побољшао искуство прегледања. Ако желите, можете да онемогућите ове услуге у било ком тренутку.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{То ће трајно избрисати $1 ставку са овог уређаја. Да бисте вратили податке касније, пријавите се у Chromium као $2.}one{То ће трајно избрисати $1 ставку са овог уређаја. Да бисте вратили податке касније, пријавите се у Chromium као $2.}few{То ће трајно избрисати $1 ставке са овог уређаја. Да бисте вратили податке касније, пријавите се у Chromium као $2.}other{То ће трајно избрисати $1 ставки са овог уређаја. Да бисте вратили податке касније, пријавите се у Chromium као $2.}}</translation> <translation id="7138853919861947730">Chromium може да користи веб услуге да би побољшао доживљај прегледања.</translation> <translation id="7162152143154757523">Chromium може да пружи паметнију проверу правописа слањем текста који уносите у прегледач на Google сервере, што вам омогућава да користите исту технологију провере правописа коју користи Google претрага.</translation>
diff --git a/chrome/app/resources/chromium_strings_sv.xtb b/chrome/app/resources/chromium_strings_sv.xtb index 3c07910..379e24a 100644 --- a/chrome/app/resources/chromium_strings_sv.xtb +++ b/chrome/app/resources/chromium_strings_sv.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Gör Chromium till din standardwebbläsare</translation> <translation id="151962892725702025">Det gick inte att synkronisera data med Chromium eftersom synkronisering inte är tillgängligt för domänen.</translation> <translation id="1559451348202814456">Chromium kanske inte fungerar ordentligt eftersom den inte längre stöds på Mac OS X 10.6, 10.7 och 10.8.</translation> -<translation id="1644918877723739397">Chromium sparar detta i <ph name="SAVED_PASSWORD_LINK" /> och kommer ihåg det nästa gång du behöver det.</translation> <translation id="1653828314016431939">OK - starta om nu</translation> <translation id="1668054258064581266">När du har tagit bort kontot från Chromium kan öppna flikar behöva läsas in på nytt för att ändringen ska träda i kraft.</translation> <translation id="1688750314291223739">Konfigurera synkronisering för att spara dina webbläsarfunktioner på webben och använda dem i Chromium på alla datorer.</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Chromium OS måste startas om för att uppdateringen ska börja gälla.</translation> <translation id="2605472041568654097">Hjälp oss att förbättra Chromium genom att rapportera dina aktuella inställningar.</translation> <translation id="2636877269779209383">Chromium behöver tillgång till kameran för att kunna dela den på den här webbplatsen.</translation> +<translation id="2647554856022461007">Chromium kan använda webbtjänster för att förbättra din upplevelse på webben. Du kan inaktivera dessa tjänster om du vill. <ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Ett operativsystemsfel inträffade under installationen. Ladda ned Chromium igen.</translation> <translation id="2685838254101182273">Chromium uppdateras inte längre och har inte längre stöd för den här versionen av ditt operativsystem.</translation> <translation id="2711502716910134313">Chromium-flik</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Kanalen har ändrats. Starta om enheten om du vill tillämpa ändringarna.</translation> <translation id="5895138241574237353">Starta om</translation> <translation id="5906655207909574370">Uppdateringen är nästan klar! Slutför den genom att starta om enheten.</translation> +<translation id="5942225298871134766">Chromium sparar detta i <ph name="SAVED_PASSWORD_LINK" /> och kommer ihåg det nästa gång du behöver det.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> har lagts till i Chromium.</translation> <translation id="59625444380784159">Du kan fylla i formulär snabbare i Chromium med hjälp av uppgifter från dina kontakter.</translation> <translation id="5987687638152509985">Du måste uppdatera Chromium innan synkroniseringen kan starta</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Uppdatera Chromium</translation> <translation id="7066436765290594559">Det gick inte att synkronisera data med Chromium. Uppdatera lösenfrasen för synkronisering.</translation> <translation id="707471633328071618">Google Payments (har kopierats till Chromium)</translation> -<translation id="7090955637699162649"><ph name="BEGIN_LINK" />Webbtjänster<ph name="END_LINK" /> kan användas i Chromium för att förbättra din upplevelse när du surfar. Om du vill kan du inaktivera sådana tjänster.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Det här innebär att minst $1 objekt raderas permanent från enheten. Logga in i Chromium som $2 om du vill kunna återställa data senare.}other{Det här innebär att minst $1 objekt raderas permanent från enheten. Logga in i Chromium som $2 om du vill kunna återställa data senare.}}</translation> <translation id="7138853919861947730">Chromium kan använda webbtjänster för att förbättra din upplevelse när du surfar.</translation> <translation id="7162152143154757523">Med Chromiums stavningskontroll skickas det du skriver i webbläsaren till Googles servrar så att du kan använda samma stavningsteknik som används i Googles webbsökning.</translation>
diff --git a/chrome/app/resources/chromium_strings_sw.xtb b/chrome/app/resources/chromium_strings_sw.xtb index 463f45d..5ec6ffc 100644 --- a/chrome/app/resources/chromium_strings_sw.xtb +++ b/chrome/app/resources/chromium_strings_sw.xtb
@@ -16,7 +16,6 @@ <translation id="1502360822835740515">Fanya Chromium iwe kivinjari chako chaguo-msingi</translation> <translation id="151962892725702025">Mfumo wa Uendeshaji wa Chromium haukuweza kusawazisha data yako kwa sababu Usawazishaji haupatikani kwa kikoa chako.</translation> <translation id="1559451348202814456">Huenda Chromium isifanye kazi vizuri kwa sababu haitumiki tena kwenye Mac OS X 10.6, 10.7, au 10.8.</translation> -<translation id="1644918877723739397">Chromium itahifadhi nenosiri hili katika <ph name="SAVED_PASSWORD_LINK" /> na kulikumbuka wakati ujao utakapolihitaji.</translation> <translation id="1653828314016431939">Sawa - Anzisha upya sasa</translation> <translation id="1668054258064581266">Baada ya kuondoa akaunti yako kwenye Chromium, huenda ukahitajika kupakia upya vichupo vyako vilivyo wazi ili kuanza kufanya kazi.</translation> <translation id="1688750314291223739">Sanidi Usawazishaji ili uhifadhi vipengele vyako vya kivinjari vilivyobinafsishwa kwenye mtandao na uvifikie kutoka Chromium katika kompyuta yoyote</translation> @@ -51,6 +50,7 @@ <translation id="2587578672395088481">Mfumo wa Uendeshaji wa Chromium unahitaji kuzimwa na kuwashwa ili kutumia sasisho.</translation> <translation id="2605472041568654097">Saidia kuboresha Chromium kwa kuripoti kuhusu mipangilio ya sasa.</translation> <translation id="2636877269779209383">Chromium inahitaji idhini ya kufikia kamera ili iishiriki na tovuti hii.</translation> +<translation id="2647554856022461007">Chromium inaweza kutumia huduma za wavuti kuboresha hali yako ya kuvinjari. Unaweza kuzima huduma hizi kwa hiari. <ph name="BEGIN_LINK" />Pata maelezo zaidi<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Hitilafu ya mfumo wa uendeshaji imetokea wakati wa usakinishaji. Tafadhali pakua Chromium tena.</translation> <translation id="2685838254101182273">Chromium imekoma kusasisha na haiwezi kutumiwa tena na toleo hili la mfumo wako wa uendeshaji.</translation> <translation id="2711502716910134313">Kichupo cha Chromium</translation> @@ -150,6 +150,7 @@ <translation id="5877064549588274448">Kituo kimebadilishwa. Zima na uwashe kifaa chako ili mabadiliko yaanze kutumika.</translation> <translation id="5895138241574237353">Zzima na uwashe</translation> <translation id="5906655207909574370">Inakaribia kukamilisha kusasishwa! Zima na uwashe kifaa chako ili ukamilishe kusasisha.</translation> +<translation id="5942225298871134766">Chromium itahifadhi nenosori hili katika <ph name="SAVED_PASSWORD_LINK" /> na kulikumbuka wakati ujao utakapolihitaji.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> imeongezwa kwenye Chromium.</translation> <translation id="59625444380784159">Maelezo kutoka kwa anwani zako yanaweza kukusaidia kujaza fomu kwa haraka zaidi katika Chromium.</translation> <translation id="5987687638152509985">Sasisha Chromium ili uanze kusawazisha</translation> @@ -191,7 +192,6 @@ <translation id="705851970750939768">Sasisha Chromium</translation> <translation id="7066436765290594559">Mfumo wa Uendeshaji wa Chromium haukuweza kusawazisha data yako. Tafadhali sasisha kauli ya siri unayotumia kusawazisha.</translation> <translation id="707471633328071618">Google Payments (imenakiliwa kwenye Chromium)</translation> -<translation id="7090955637699162649">Chromium inaweza kutumia <ph name="BEGIN_LINK" />huduma za wavuti<ph name="END_LINK" /> kuimarisha hali yako ya kuvinjari. Unaweza kuzima huduma hizi kwa hiari wakati wowote.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Hatua hii itafuta kabisa kipengee $1 kwenye kifaa hiki. Ili urejeshe data yako baadaye, ingia katika Chromium ukitumia $2.}other{Hii itafuta kabisa vipengee $1 kwenye kifaa hiki. Ili urejeshe data yako baadaye, ingia katika Chromium ukitumia $2.}}</translation> <translation id="7138853919861947730">Huenda Chromium ikatumia huduma za wavuti kuboresha utumizi wako wa kuvinjari.</translation> <translation id="7162152143154757523">Chromium inaweza kutoa ukaguzi bora wa tahajia kwa kutuma unachocharaza katika kivinjari hadi kwenye seva za Google, ikikuruhusu kutumia teknolojia hiyo hiyo ya kukagua tahajia inayotumiwa na utafutaji wa Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_ta.xtb b/chrome/app/resources/chromium_strings_ta.xtb index 681da159..d21b81a 100644 --- a/chrome/app/resources/chromium_strings_ta.xtb +++ b/chrome/app/resources/chromium_strings_ta.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromiumஐ இயல்பு உலாவியாக அமைக்கவும்</translation> <translation id="151962892725702025">உங்கள் களத்திற்கு ஒத்திசைவு கிடைக்கவில்லை என்பதால், Chromium OS ஆல் உங்கள் தரவை ஒத்திசைக்க முடியவில்லை.</translation> <translation id="1559451348202814456">Mac OS X 10.6, 10.7 அல்லது 10.8 ஆகியவற்றில் Chromium இனி ஆதரிக்கப்படாது என்பதால், அது சரியாகச் செயல்படாது.</translation> -<translation id="1644918877723739397">Chromium இதனை உங்கள் <ph name="SAVED_PASSWORD_LINK" /> இல் சேமித்து, அடுத்த முறை நீங்கள் பயன்படுத்துவதற்காக அதை நினைவில் கொள்ளும்.</translation> <translation id="1653828314016431939">சரி - இப்போது மறுதொடக்கம் செய்</translation> <translation id="1668054258064581266">Chromium இலிருந்து உங்கள் கணக்கை அகற்றிய பின்னர், செயல்படுத்த உங்கள் திறந்த தாவல்களை மீண்டும் ஏற்ற வேண்டியிருக்கலாம்.</translation> <translation id="1688750314291223739">உங்கள் தனிப்பயனாக்கப்பட்ட உலாவி அம்சங்களை வலையில் சேமிக்க, ஒத்திசைவை அமைத்து, எந்தக் கணினியில் உள்ள Chromium இலிருந்தும் அவற்றை அணுகலாம்.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">புதுப்பிப்பைப் பயன்படுத்த, Chromium OSஐ மீண்டும் தொடங்க வேண்டும்.</translation> <translation id="2605472041568654097">தற்போதைய அமைப்புகளை அனுப்புவதன் மூலம், Chromiumஐ இன்னும் சிறந்ததாக்க உதவவும்.</translation> <translation id="2636877269779209383">இந்தத் தளத்துடன் கேமரா அணுகலை Chromium பகிர்ந்து கொள்ள வேண்டும்.</translation> +<translation id="2647554856022461007">உங்கள் உலாவல் அனுபவத்தை மேம்படுத்த, Chromium ஆனது இணையச் சேவைகளைப் பயன்படுத்தலாம். நீங்கள் விரும்பினால் இந்தச் சேவைகளை முடக்கிக்கொள்ளலாம். <ph name="BEGIN_LINK" />மேலும் அறிக<ph name="END_LINK" /></translation> <translation id="2648074677641340862">நிறுவலின்போது இயக்க முறைமை பிழை ஏற்பட்டது. Chromium ஐ மீண்டும் பதிவிறக்கம் செய்க.</translation> <translation id="2685838254101182273">Chromium ஆனது புதுப்பித்தலை நிறுத்தியுள்ளது மேலும் உங்கள் இயக்க முறைமையின் இந்தப் பதிப்பை இனி ஆதரிக்காது.</translation> <translation id="2711502716910134313">Chromium தாவல்</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">சேனல் மாற்றப்பட்டது. மாற்றங்களைச் செயல்படுத்த உங்கள் சாதனத்தை மீண்டும் தொடங்கவும்.</translation> <translation id="5895138241574237353">மறுதொடக்கம்</translation> <translation id="5906655207909574370">கிட்டத்தட்ட புதுப்பிக்கப்பட்டது! புதுப்பிப்பதை முடிக்க, சாதனத்தை மறுதொடக்கம் செய்யவும்.</translation> +<translation id="5942225298871134766">Chromium இதனை <ph name="SAVED_PASSWORD_LINK" /> இல் சேமித்து, அடுத்த முறை நீங்கள் பயன்படுத்துவதற்காக அதை நினைவில் கொள்ளும்.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" />, Chrome இல் சேர்க்கப்பட்டது.</translation> <translation id="59625444380784159">உங்கள் தொடர்புகளில் உள்ள விவரங்கள், Chromium இல் மிக விரைவாகப் படிவங்களை நிரப்ப உதவும்.</translation> <translation id="5987687638152509985">ஒத்திசைவைத் தொடங்க, Chromiumஐப் புதுப்பிக்கவும்</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Chromiumஐப் புதுப்பி</translation> <translation id="7066436765290594559">Chromium OS ஆல் உங்கள் தரவை ஒத்திசைக்க முடியவில்லை. உங்கள் ஒத்திசைவு கடவுச்சொற்றொடரைப் புதுப்பிக்கவும்.</translation> <translation id="707471633328071618">Google Payments (Chromiumக்கு நகலெடுக்கப்பட்டது)</translation> -<translation id="7090955637699162649">உங்கள் உலாவல் அனுபவத்தை மேம்படுத்த <ph name="BEGIN_LINK" />வலைச் சேவைகளை<ph name="END_LINK" /> Chromium பயன்படுத்தலாம். எந்த நேரத்திலும் இந்தச் சேவைகளை நீங்கள் விருப்பத்திற்கேற்ப முடக்கலாம்.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{அகற்றினால், இந்தச் சாதனத்திலிருந்து $1 உருப்படி நிரந்தரமாக நீக்கப்படும். பின்னர் உங்கள் தரவை மீட்டெடுக்க, $2 ஆக Chromium இல் உள்நுழையவும்.}other{அகற்றினால், இந்தச் சாதனத்திலிருந்து $1 உருப்படிகள் நிரந்தரமாக நீக்கப்படும். பின்னர் உங்கள் தரவை மீட்டெடுக்க, $2 ஆக Chromium இல் உள்நுழையவும்.}}</translation> <translation id="7138853919861947730">உங்கள் உலாவல் அனுபவத்தை மேம்படுத்த Chromium, வலை சேவைகளைப் பயன்படுத்தலாம்.</translation> <translation id="7162152143154757523">நீங்கள் உலாவியில் தட்டச்சு செய்ததை Google சேவையகங்களுக்கு அனுப்புவதன் மூலம் விரைவான எழுத்துப்பிழைச் சரிப்பார்த்தலை Chromium வழங்குகிறது, Google தேடல் பயன்படுத்தும் அதே எழுத்துப்பிழைச் சரிபார்த்தல் தொழில்நுட்பத்தை நீங்கள் பயன்படுத்த அனுமதிக்கிறது.</translation>
diff --git a/chrome/app/resources/chromium_strings_te.xtb b/chrome/app/resources/chromium_strings_te.xtb index 22aff4e8..dd265817 100644 --- a/chrome/app/resources/chromium_strings_te.xtb +++ b/chrome/app/resources/chromium_strings_te.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromiumని మీ డిఫాల్ట్ బ్రౌజర్గా చేయండి</translation> <translation id="151962892725702025">మీ డొమైన్ కోసం సమకాలీకరణ అందుబాటులో లేనందున Chromium OS మీ డేటాను సమకాలీకరించలేకపోయింది.</translation> <translation id="1559451348202814456">Chromiumకి ఇప్పుడు Mac OS X 10.6, 10.7 లేదా 10.8లో మద్దతు లేనందున ఇది సరిగ్గా పని చేయకపోవచ్చు.</translation> -<translation id="1644918877723739397">Chromium దీన్ని మీ <ph name="SAVED_PASSWORD_LINK" />లో నిల్వ చేస్తుంది మరియు మీకు అవసరమయ్యే తదుపరి సారి దీన్ని గుర్తు పెట్టుకుంటుంది.</translation> <translation id="1653828314016431939">సరే - ఇప్పుడు పునః ప్రారంభించు</translation> <translation id="1668054258064581266">Chromium నుండి మీ ఖాతాను తీసివేసిన తర్వాత, ప్రభావవంతం కావడానికి మీరు మీ తెరిచిన ట్యాబ్లను మళ్లీ లోడ్ చేయాల్సి రావచ్చు.</translation> <translation id="1688750314291223739">వెబ్కు మీ వ్యక్తిగతీకరించిన బ్రౌజర్ లక్షణాలను సేవ్ చేయడానికి సమకాలీకణని సెటప్ చేయండి మరియు వాటిని ఏదైనా కంప్యూటర్లోని Chromium నుండి ప్రాప్యత చేయండి.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">నవీకరణను వర్తింపజేయడానికి Chromium OSని పునఃప్రారంభించాలి.</translation> <translation id="2605472041568654097">ప్రస్తుత సెట్టింగ్లను నివేదించడం ద్వారా Chromiumని మెరుగుపరచడంలో సహాయపడండి.</translation> <translation id="2636877269779209383">ఈ సైట్కు కెమెరా సామర్థ్యాన్ని భాగస్వామ్యం చేయడానికి Chromiumకి కెమెరా ప్రాప్యతను మంజూరు చేయడం అవసరం.</translation> +<translation id="2647554856022461007">Chromium మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి వెబ్ సేవలను ఉపయోగించవచ్చు. మీరు ఈ సేవలను ఐచ్ఛికంగా నిలిపివేయవచ్చు. <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation> <translation id="2648074677641340862">ఇన్స్టాలేషన్ సమయంలో ఆపరేటింగ్ సిస్టమ్ లోపం సంభవించింది. దయచేసి Chromiumని మళ్లీ డౌన్లోడ్ చేయండి.</translation> <translation id="2685838254101182273">Chromium నవీకరించడాన్ని ఆపివేసింది మరియు ఇక మీ ఆపరేటింగ్ సిస్టమ్ యొక్క ఈ సంస్కరణకు మద్దతివ్వదు.</translation> <translation id="2711502716910134313">Chromium ట్యాబ్</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">ఛానెల్ మార్చబడింది. మార్పులను వర్తింపజేయడానికి మీ పరికరాన్ని పునఃప్రారంభించండి.</translation> <translation id="5895138241574237353">మళ్ళీ ప్రారంభించు</translation> <translation id="5906655207909574370">దాదాపు నవీకృతంగా ఉంది! నవీకరణను పూర్తి చేయడానికి మీ పరికరాన్ని పునఃప్రారంభించండి.</translation> +<translation id="5942225298871134766">Chromium దీన్ని <ph name="SAVED_PASSWORD_LINK" />తో నిల్వ చేస్తుంది మరియు మీకు అవసరమయ్యే తదుపరి సారి దీన్ని గుర్తు పెట్టుకుంటుంది.</translation> <translation id="5942520288919337908">Chromiumకు <ph name="EXTENSION_NAME" /> జోడించబడింది.</translation> <translation id="59625444380784159">Chromiumలో ఫారమ్లను మరింత శీఘ్రంగా పూరించడానికి మీ పరిచయాల్లోని వివరాలు మీకు సహాయపడవచ్చు.</translation> <translation id="5987687638152509985">సమకాలీకరణను ప్రారంభించడానికి Chromiumని నవీకరించండి</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">Chromiumని నవీకరించు</translation> <translation id="7066436765290594559">Chromium OS మీ డేటాను సమకాలీకరించలేకపోయింది. దయచేసి మీ సమకాలీకరణ రహస్య పదబంధాన్ని నవీకరించండి.</translation> <translation id="707471633328071618">Google చెల్లింపులు (Chromiumకి కాపీ చేయబడింది)</translation> -<translation id="7090955637699162649">Chromium మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి <ph name="BEGIN_LINK" />వెబ్ సేవలు<ph name="END_LINK" /> ఉపయోగించవచ్చు. మీరు ఐచ్ఛికంగా ఎప్పుడైనా ఈ సేవలను నిలిపివేయవచ్చు.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{దీని వలన ఈ పరికరం నుండి $1 అంశం శాశ్వతంగా తొలగించబడుతుంది. మీ డేటాను తర్వాత తిరిగి పొందడానికి, Chromiumకి $2 వలె సైన్ ఇన్ చేయండి.}other{దీని వలన ఈ పరికరం నుండి $1 అంశాలు శాశ్వతంగా తొలగించబడతాయి. మీ డేటాను తర్వాత తిరిగి పొందడానికి, Chromiumకి $2 వలె సైన్ ఇన్ చేయండి.}}</translation> <translation id="7138853919861947730">Chromium మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి వెబ్ సేవలను ఉపయోగించవచ్చు.</translation> <translation id="7162152143154757523">మీరు బ్రౌజర్లో టైప్ చేసే వాటిని Google సర్వర్లకు పంపడం ద్వారా, Google శోధనలో ఉపయోగించేటటువంటి అక్షరక్రమ తనిఖీ సాంకేతికతను ఉపయోగించడానికి మిమ్మల్ని అనుమతించడం ద్వారా Chromium మరింత మెరుగైన అక్షరక్రమ తనిఖీని అందించగలదు.</translation>
diff --git a/chrome/app/resources/chromium_strings_th.xtb b/chrome/app/resources/chromium_strings_th.xtb index c3704cf..e130841 100644 --- a/chrome/app/resources/chromium_strings_th.xtb +++ b/chrome/app/resources/chromium_strings_th.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">กำหนดให้ Chromium เป็นเบราว์เซอร์เริ่มต้น</translation> <translation id="151962892725702025">Chromium OS ไม่สามารถซิงค์ข้อมูลของคุณเนื่องจากการซิงค์ไม่พร้อมให้บริการสำหรับโดเมนของคุณ</translation> <translation id="1559451348202814456">Chromium อาจทำงานไม่ถูกต้องเพราะไม่รองรับ Mac OS X 10.6, 10.7 หรือ 10.8 อีกต่อไป</translation> -<translation id="1644918877723739397">Chromium จะเก็บข้อมูลนี้ไว้ใน <ph name="SAVED_PASSWORD_LINK" /> และจดจำไว้สำหรับครั้งถัดไปที่คุณต้องการใช้</translation> <translation id="1653828314016431939">ตกลง - รีสตาร์ทเลย</translation> <translation id="1668054258064581266">เมื่อลบบัญชีของคุณออกจาก Chromium แล้ว คุณต้องโหลดแท็บที่เปิดอยู่ซ้ำเพื่อให้มีผล</translation> <translation id="1688750314291223739">ตั้งค่าการซิงค์เพื่อบันทึกคุณลักษณะเบราว์เซอร์ในแบบของคุณไปยังเว็บและเข้าถึงได้จาก Chromium บนคอมพิวเตอร์เครื่องใดก็ได้</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">ต้องรีสตาร์ท Chromium OS เพื่อให้ระบบนำเวอร์ชันอัปเดตไปใช้</translation> <translation id="2605472041568654097">ช่วยให้ Chromium ดียิ่งขึ้นด้วยการรายงานการตั้งค่าปัจจุบัน</translation> <translation id="2636877269779209383">Chromium ต้องการเข้าถึงกล้องถ่ายรูปเพื่อแชร์กับเว็บไซต์นี้</translation> +<translation id="2647554856022461007">Chromium อาจใช้บริการเว็บเพื่อปรับปรุงประสบการณ์การท่องเว็บของคุณ คุณสามารถเลือกปิดบริการเหล่านี้ได้ <ph name="BEGIN_LINK" />เรียนรู้เพิ่มเติม<ph name="END_LINK" /></translation> <translation id="2648074677641340862">เกิดข้อผิดพลาดของระบบปฏิบัติในระหว่างการติดตั้ง โปรดดาวน์โหลด Chromium อีกครั้ง</translation> <translation id="2685838254101182273">Chromium ได้หยุดการอัปเดต และไม่สนับสนุนระบบปฏิบัติการเวอร์ชันนี้อีกต่อไป</translation> <translation id="2711502716910134313">แท็บ Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">เปลี่ยนช่องแล้ว รีสตาร์ทอุปกรณ์เพื่อใช้การเปลี่ยนแปลง</translation> <translation id="5895138241574237353">ปิดแล้วเปิดอีกครั้ง</translation> <translation id="5906655207909574370">การอัปเดตใกล้จะเสร็จเรียบร้อยแล้ว รีสตาร์ทอุปกรณ์เพื่อให้การอัปเดตเสร็จสิ้น</translation> +<translation id="5942225298871134766">Chromium จะเก็บข้อมูลนี้ไว้กับ <ph name="SAVED_PASSWORD_LINK" /> และจดจำไว้สำหรับครั้งถัดไปที่คุณต้องการใช้</translation> <translation id="5942520288919337908">เพิ่ม <ph name="EXTENSION_NAME" /> ลงใน Chromium แล้ว</translation> <translation id="59625444380784159">รายละเอียดจากรายชื่อติดต่อของคุณช่วยให้คุณสามารถกรอกฟอร์มได้อย่างรวดเร็วขึ้นใน Chromium</translation> <translation id="5987687638152509985">อัปเดต Chromium เพื่อเริ่มการซิงค์</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">อัปเดต Chromium</translation> <translation id="7066436765290594559">Chromium OS ไม่สามารถซิงค์ข้อมูลของคุณ โปรดอัปเดตข้อความรหัสผ่านสำหรับการซิงค์</translation> <translation id="707471633328071618">Google Payments (คัดลอกลงใน Chromium แล้ว)</translation> -<translation id="7090955637699162649">Chromium อาจใช้<ph name="BEGIN_LINK" />บริการเว็บ<ph name="END_LINK" />เพื่อปรับปรุงประสบการณ์ท่องเว็บของคุณ คุณสามารถเลือกปิดใช้บริการดังกล่าวได้ทุกเมื่อ</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{การดำเนินการนี้จะลบ $1 รายการจากอุปกรณ์นี้อย่างถาวร หากต้องการดึงข้อมูลภายหลัง ให้ลงชื่อเข้าใช้ Chromium ในนาม $2}other{การดำเนินการนี้จะลบ $1 รายการจากอุปกรณ์นี้อย่างถาวร หากต้องการดึงข้อมูลภายหลัง ให้ลงชื่อเข้าใช้ Chromium ในนาม $2}}</translation> <translation id="7138853919861947730">Chromium อาจใช้บริการเว็บเพื่อช่วยให้คุณมีประสบการณ์การเรียกดูที่ดีขึ้น</translation> <translation id="7162152143154757523">Chromium สามารถให้บริการตรวจสอบการสะกดที่ชาญฉลาดมากขึ้นโดยการส่งสิ่งที่คุณพิมพ์ในเบราว์เซอร์ไปยังเซิร์ฟเวอร์ของ Google คุณจึงสามารถใช้เทคโนโลยีตรวจสอบการสะกดแบบเดียวกันกับที่ Google Search ใช้</translation>
diff --git a/chrome/app/resources/chromium_strings_tr.xtb b/chrome/app/resources/chromium_strings_tr.xtb index 2f5b1f0e..ded9bbe 100644 --- a/chrome/app/resources/chromium_strings_tr.xtb +++ b/chrome/app/resources/chromium_strings_tr.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Chromium'u varsayılan tarayıcı yapma</translation> <translation id="151962892725702025">Senkronizasyon alan adınızda kullanılamadığından Chromium OS, verilerinizi senkronize edemedi.</translation> <translation id="1559451348202814456">Chromium artık Mac OS X 10.6, 10.7 veya 10.8 üzerinde desteklenmediği için doğru şekilde çalışmayabilir.</translation> -<translation id="1644918877723739397">Chromium bunu <ph name="SAVED_PASSWORD_LINK" /> bölümünüze kaydeder ve tekrar ihtiyacınız olduğunda hatırlar.</translation> <translation id="1653828314016431939">Tamam - Şimdi yeniden başlat</translation> <translation id="1668054258064581266">Hesabınızı Chromium'dan kaldırdıktan sonra, bu durumun etkili olması için açık sekmelerinizi yeniden yüklemeniz gerekebilir.</translation> <translation id="1688750314291223739">Kişiselleştirilmiş tarayıcı özelliklerinizi Web'e kaydetmek ve herhangi bir bilgisayardan Chromium ile bu özelliklere erişmek için senkronizasyonu ayarlayın.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Güncellemenin uygulanması için Chromium OS yeniden başlatılmalıdır.</translation> <translation id="2605472041568654097">Mevcut ayarlarınızı bildirerek Chromium'u daha iyi hale getirmemize yardımcı olun.</translation> <translation id="2636877269779209383">Chromium'un, bu siteyle paylaşmak için kameraya erişmesi gerekiyor.</translation> +<translation id="2647554856022461007">Chromium, göz atma deneyiminizi iyileştirmek için web hizmetleri kullanabilir. İsteğe bağlı olarak bu hizmetleri devre dışı bırakabilirsiniz. <ph name="BEGIN_LINK" />Daha fazla bilgi<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Yükleme sırasında bir işletim sistemi hatası oluştu. Lütfen Chromium'u yeniden indirin.</translation> <translation id="2685838254101182273">Chromium güncellenmesi durdu ve artık işletim sisteminizin bu sürümünü desteklemiyor.</translation> <translation id="2711502716910134313">Chromium Sekmesi</translation> @@ -146,6 +146,7 @@ <translation id="5877064549588274448">Kanal değişti. Değişikliklerin uygulanması için cihazınızı yeniden başlatın.</translation> <translation id="5895138241574237353">Yeniden başlat</translation> <translation id="5906655207909574370">Az kaldı! Güncellemeyi tamamlamak için cihazınızı yeniden başlatın.</translation> +<translation id="5942225298871134766">Chromium bunu <ph name="SAVED_PASSWORD_LINK" /> bölümüne kaydeder ve tekrar ihtiyacınız olduğunda hatırlar.</translation> <translation id="5942520288919337908"><ph name="EXTENSION_NAME" /> Chromium'a eklendi.</translation> <translation id="59625444380784159">Kişilerinizde kayıtlı bilgiler, Chromium'da formları daha hızlı bir şekilde doldurmanıza yardımcı olabilir.</translation> <translation id="5987687638152509985">Senkronizasyonu başlatmak için Chromium'u güncelleyin</translation> @@ -187,7 +188,6 @@ <translation id="705851970750939768">Chromium'u güncelle</translation> <translation id="7066436765290594559">Chromium OS, verilerinizi senkronize edemedi. Lütfen Senkronizasyon parolanızı güncelleyin.</translation> <translation id="707471633328071618">Google Payments (Chromium'a kopyalandı)</translation> -<translation id="7090955637699162649">Chromium, web'de gezinme deneyiminizi geliştirmek için <ph name="BEGIN_LINK" />web hizmetlerini<ph name="END_LINK" /> kullanabilir. İstediğiniz zaman, bu hizmetleri devre dışı bırakabilirsiniz.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Bu işlem, bu cihazdan $1 öğeyi kalıcı olarak silecektir. Verilerinizi daha sonra geri almak için Chromium'da $2 olarak oturum açın.}other{Bu işlem, bu cihazdan $1 öğeyi kalıcı olarak silecektir. Verilerinizi daha sonra geri almak için Chromium'da $2 olarak oturum açın.}}</translation> <translation id="7138853919861947730">Chromium, tarama deneyiminizi iyileştirmek için Web hizmetlerinden yararlanabilir.</translation> <translation id="7162152143154757523">Chromium, tarayıcıda yazdıklarınızı Google sunucularına gönderip akıllı yazım denetimi olanağı sağlayabilir ve Google arama tarafından kullanılan yazım denetimi teknolojisini kullanmanıza olanak tanır.</translation>
diff --git a/chrome/app/resources/chromium_strings_uk.xtb b/chrome/app/resources/chromium_strings_uk.xtb index 3329cec..810ef0d 100644 --- a/chrome/app/resources/chromium_strings_uk.xtb +++ b/chrome/app/resources/chromium_strings_uk.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Як зробити Chromium веб-переглядачем за умовчанням</translation> <translation id="151962892725702025">ОС Chromium не вдалося синхронізувати ваші дані, оскільки синхронізація для вашого домену недоступна.</translation> <translation id="1559451348202814456">Chromium може працювати неналежним чином, оскільки Mac OS X версій 10.6, 10.7 і 10.8 більше не підтримується.</translation> -<translation id="1644918877723739397">Chromium додасть його в <ph name="SAVED_PASSWORD_LINK" /> і запам’ятає для наступного разу.</translation> <translation id="1653828314016431939">OK – перезапустити зараз</translation> <translation id="1668054258064581266">Якщо видалити обліковий запис із Chromium, можливо, потрібно оновити відкриті вкладки, щоб зміни почали діяти.</translation> <translation id="1688750314291223739">Налаштуйте синхронізацію, щоб зберегти свої персоналізовані функції веб-переглядача в Інтернеті й мати до них доступ із Chromium на будь-якому комп’ютері.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Щоб застосувати це оновлення, потрібно перезапустити ОС Chromium.</translation> <translation id="2605472041568654097">Допоможіть покращити Chromium, надсилаючи звіти про поточні налаштування.</translation> <translation id="2636877269779209383">Chromium потрібен доступ до камери, щоб використовувати її на цьому сайті.</translation> +<translation id="2647554856022461007">Chromium може покращувати веб-перегляд за допомогою веб-служб. Ви можете вимкнути ці служби. <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Під час встановлення сталася помилка операційної системи. Завантажте Chromium ще раз.</translation> <translation id="2685838254101182273">Оновлення Chromium припинилось. Ця версія вашої операційної системи більше не підтримується.</translation> <translation id="2711502716910134313">Вкладка Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Канал змінено. Перезапустіть пристрій, щоб застосувати зміни.</translation> <translation id="5895138241574237353">Перезапустити</translation> <translation id="5906655207909574370">Майже оновлено. Перезапустіть пристрій, щоб завершити оновлення.</translation> +<translation id="5942225298871134766">Chromium додасть його в <ph name="SAVED_PASSWORD_LINK" /> і запам’ятає для наступного разу.</translation> <translation id="5942520288919337908">Розширення <ph name="EXTENSION_NAME" /> додано в Chromium.</translation> <translation id="59625444380784159">Дані ваших контактів допоможуть швидше заповнювати форми в Chromium.</translation> <translation id="5987687638152509985">Щоб почати синхронізацію, оновіть Chromium</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Оновити Chromium</translation> <translation id="7066436765290594559">ОС Chromium не вдалося синхронізувати ваші дані. Оновіть свою парольну фразу для синхронізації.</translation> <translation id="707471633328071618">Google Payments (скопійовано в Chromium)</translation> -<translation id="7090955637699162649">Chromium може покращувати веб-перегляд за допомогою <ph name="BEGIN_LINK" />веб-служб<ph name="END_LINK" />. Ви можете будь-коли вимкнути ці служби.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{$1 елемент буде видалено з цього пристрою назавжди. Щоб відновити дані пізніше, увійдіть в обліковий запис Chromium як $2.}one{$1 елемент буде видалено з цього пристрою назавжди. Щоб відновити дані пізніше, увійдіть в обліковий запис Chromium як $2.}few{$1 елементи буде видалено з цього пристрою назавжди. Щоб відновити дані пізніше, увійдіть в обліковий запис Chromium як $2.}many{$1 елементів буде видалено з цього пристрою назавжди. Щоб відновити дані пізніше, увійдіть в обліковий запис Chromium як $2.}other{$1 елемента буде видалено з цього пристрою назавжди. Щоб відновити дані пізніше, увійдіть в обліковий запис Chromium як $2.}}</translation> <translation id="7138853919861947730">Chromium може використовувати веб-служби для покращення умов перегляду.</translation> <translation id="7162152143154757523">Chromium може точніше перевіряти правопис, надсилаючи текст, який ви вводите у веб-переглядачі, на сервери Google. Це дозволяє використовувати ту саму технологію перевірки правопису, що й у Пошуку Google.</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb index 2d364f8..f135104 100644 --- a/chrome/app/resources/chromium_strings_vi.xtb +++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">Đặt Chromium làm trình duyệt mặc định của bạn</translation> <translation id="151962892725702025">Chromium OS không thể đồng bộ hóa dữ liệu của bạn vì Đồng bộ hóa không khả dụng với miền của bạn.</translation> <translation id="1559451348202814456">Chromium có thể không hoạt động chính xác do không được hỗ trợ trên Mac OS X 10.6, 10.7 hoặc 10.8 nữa.</translation> -<translation id="1644918877723739397">Chromium sẽ lưu trữ mật khẩu này trong <ph name="SAVED_PASSWORD_LINK" /> và ghi nhớ mật khẩu này vào lần sau bạn cần đến.</translation> <translation id="1653828314016431939">OK - Khởi động lại ngay bây giờ</translation> <translation id="1668054258064581266">Sau khi xóa tài khoản khỏi Chromium, bạn có thể cần tải lại các tab đang mở của mình để tác vụ có hiệu lực.</translation> <translation id="1688750314291223739">Thiết lập đồng bộ hóa để lưu các tính năng trình duyệt được cá nhân hóa của bạn vào web và truy cập chúng từ Chromium trên bất kỳ máy tính nào.</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium OS cần được khởi động lại để áp dụng bản cập nhật.</translation> <translation id="2605472041568654097">Giúp cải thiện Chromium bằng cách báo cáo cài đặt hiện tại.</translation> <translation id="2636877269779209383">Chromium cần quyền truy cập vào máy ảnh để chia sẻ máy ảnh với trang web này.</translation> +<translation id="2647554856022461007">Chromium có thể sử dụng dịch vụ web để cải thiện trải nghiệm duyệt web của bạn. Bạn có thể tùy ý vô hiệu hóa các dịch vụ này. <ph name="BEGIN_LINK" />Tìm hiểu thêm<ph name="END_LINK" /></translation> <translation id="2648074677641340862">Đã xảy ra lỗi hệ điều hành khi cài đặt. Hãy tải xuống Chromium lại lần nữa.</translation> <translation id="2685838254101182273">Chromium đã ngừng cập nhật và không còn hỗ trợ phiên bản hệ điều hành này của bạn.</translation> <translation id="2711502716910134313">Tab Chromium</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">Kênh đã thay đổi. Hãy khởi động lại thiết bị để áp dụng thay đổi.</translation> <translation id="5895138241574237353">Khởi động lại</translation> <translation id="5906655207909574370">Gần được cập nhật! Hãy khởi động lại thiết bị của bạn để hoàn tất cập nhật.</translation> +<translation id="5942225298871134766">Chromium sẽ lưu trữ mật khẩu này với <ph name="SAVED_PASSWORD_LINK" /> và ghi nhớ mật khẩu này vào lần sau bạn cần đến.</translation> <translation id="5942520288919337908">Đã thêm <ph name="EXTENSION_NAME" /> vào Chromium.</translation> <translation id="59625444380784159">Chi tiết từ danh bạ của bạn có thể giúp bạn điền vào biểu mẫu trong Chromium nhanh hơn.</translation> <translation id="5987687638152509985">Cập nhật Chromium để bắt đầu đồng bộ hóa</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">Cập nhật Chromium</translation> <translation id="7066436765290594559">Chromium OS không thể đồng bộ hóa dữ liệu của bạn. Vui lòng cập nhật cụm mật khẩu Đồng bộ hóa của bạn.</translation> <translation id="707471633328071618">Google Payments (đã sao chép vào Chromium)</translation> -<translation id="7090955637699162649">Chromium có thể sử dụng <ph name="BEGIN_LINK" />các dịch vụ web<ph name="END_LINK" /> để cải thiện trải nghiệm duyệt web của bạn. Bạn có thể tắt các dịch vụ này bất cứ lúc nào, nếu muốn.</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{Thao tác này sẽ xóa vĩnh viễn $1 mục khỏi thiết bị này. Để truy xuất dữ liệu của bạn sau, hãy đăng nhập vào Chromium dưới dạng $2.}other{Thao tác này sẽ xóa vĩnh viễn $1 mục khỏi thiết bị này. Để truy xuất dữ liệu của bạn sau, hãy đăng nhập vào Chromium dưới dạng $2.}}</translation> <translation id="7138853919861947730">Chromium có thể sử dụng các dịch vụ web để cải thiện trải nghiệm duyệt web của bạn.</translation> <translation id="7162152143154757523">Chromium có thể cung cấp tính năng kiểm tra chính tả thông minh hơn bằng cách gửi những gì bạn nhập vào trình duyệt tới máy chủ Google, cho phép bạn sử dụng cùng một công nghệ kiểm tra chính tả mà tìm kiếm của Google sử dụng.</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-CN.xtb b/chrome/app/resources/chromium_strings_zh-CN.xtb index c1451ca..5bafbc2 100644 --- a/chrome/app/resources/chromium_strings_zh-CN.xtb +++ b/chrome/app/resources/chromium_strings_zh-CN.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">将 Chromium 设置为您的默认浏览器</translation> <translation id="151962892725702025">由于您的网域停用了同步功能,Chromium操作系统无法同步您的数据。</translation> <translation id="1559451348202814456">Chromium 可能无法正常运行,因为它不再支持 Mac OS X 10.6、10.7 或 10.8。</translation> -<translation id="1644918877723739397">Chromium 会将此密码存储在您的<ph name="SAVED_PASSWORD_LINK" />中,并会在您下次需要时自动填充此密码。</translation> <translation id="1653828314016431939">确定 - 立即重新启动</translation> <translation id="1668054258064581266">从Chromium移除您的帐号后,您可能需要重新加载已打开的标签页才能使其正常显示。</translation> <translation id="1688750314291223739">您可以设置同步以将个性化浏览器功能保存到网上,以便在任意计算机上的 Chromium 中使用这些功能。</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">需要重新启动 Chromium 操作系统以应用更新。</translation> <translation id="2605472041568654097">报告当前设置,帮助我们改进 Chromium。</translation> <translation id="2636877269779209383">Chromium 需要具有摄像头使用权限,才能批准此网站的分享请求。</translation> +<translation id="2647554856022461007">Chromium 可能会使用网络服务来改善您的浏览体验。不过,您可以选择停用这些服务。<ph name="BEGIN_LINK" />了解详情<ph name="END_LINK" /></translation> <translation id="2648074677641340862">安装过程中出现操作系统错误。请重新下载 Chromium。</translation> <translation id="2685838254101182273">Chromium 已停止更新,并且不再支持您的操作系统版本。</translation> <translation id="2711502716910134313">Chromium 标签页</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">版本已更改。请重新启动设备来应用这些变更。</translation> <translation id="5895138241574237353">重新启动</translation> <translation id="5906655207909574370">即将更新到最新版本!重新启动您的设备即可完成更新。</translation> +<translation id="5942225298871134766">Chromium 将通过<ph name="SAVED_PASSWORD_LINK" />存储此密码,并会在您下次需要时自动填充此密码。</translation> <translation id="5942520288919337908">“<ph name="EXTENSION_NAME" />”已添加到 Chromium。</translation> <translation id="59625444380784159">通讯录中的详细信息有助于您在Chromium中更快速地填写表单。</translation> <translation id="5987687638152509985">更新 Chromium 以开始同步</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">更新 Chromium</translation> <translation id="7066436765290594559">Chromium操作系统无法同步您的数据。请更新您的同步密码。</translation> <translation id="707471633328071618">Google Payments(已同步到 Chromium)</translation> -<translation id="7090955637699162649">Chromium 可能会使用<ph name="BEGIN_LINK" />网络服务<ph name="END_LINK" />来改善您的浏览体验。不过,您可以随时停用这些服务。</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{这会将 $1 项内容从这台设备上永久删除。如果日后想要检索您的数据,届时请以“$2”的身份登录 Chromium。}other{这会将 $1 项内容从这台设备上永久删除。如果日后想要检索您的数据,届时请以“$2”的身份登录 Chromium。}}</translation> <translation id="7138853919861947730">Chromium 可能会使用网络服务改善您的浏览体验。</translation> <translation id="7162152143154757523">Chromium 会将您在浏览器中输入的内容发送到 Google 服务器,并让您使用 Google 搜索所用的拼写检查技术,从而为您提供更智能的拼写检查功能。</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-TW.xtb b/chrome/app/resources/chromium_strings_zh-TW.xtb index bdb10a8..60bd10d 100644 --- a/chrome/app/resources/chromium_strings_zh-TW.xtb +++ b/chrome/app/resources/chromium_strings_zh-TW.xtb
@@ -14,7 +14,6 @@ <translation id="1502360822835740515">將 Chromium 設為預設瀏覽器</translation> <translation id="151962892725702025">您的網域無法使用「同步功能」,因此 Chromium 作業系統無法同步處理您的資料。</translation> <translation id="1559451348202814456">Chromium 已不適用於 Mac OS X 10.6、10.7 或 10.8,因此可能無法正常運作。</translation> -<translation id="1644918877723739397">Chromium 會將此密碼儲存在您的「<ph name="SAVED_PASSWORD_LINK" />」中,讓您在下次需要使用時套用。</translation> <translation id="1653828314016431939">確定 - 立即重新啟動</translation> <translation id="1668054258064581266">將您的帳戶從 Chromium 移除後,可能需要重新載入開啟的分頁,這項操作才會生效。</translation> <translation id="1688750314291223739">設定同步處理功能,即可在網路上儲存您的個人化瀏覽器功能,並且透過任何電腦從 Chromium 使用這些功能。</translation> @@ -49,6 +48,7 @@ <translation id="2587578672395088481">Chromium 作業系統必須重新啟動,才能套用更新。</translation> <translation id="2605472041568654097">只要回報目前的設定,就能助我們一臂之力,讓 Chromium 更臻完美。</translation> <translation id="2636877269779209383">Chromium 需要攝影機存取權,才能與這個網站分享。</translation> +<translation id="2647554856022461007">Chromium 可能會使用網路服務改善你的瀏覽體驗。不過,你可以選擇停用這些服務。<ph name="BEGIN_LINK" />瞭解詳情<ph name="END_LINK" /></translation> <translation id="2648074677641340862">安裝期間發生作業系統錯誤,請重新下載 Chromium。</translation> <translation id="2685838254101182273">Chromium 已停止更新,無法繼續支援這個作業系統版本。</translation> <translation id="2711502716910134313">Chromium 分頁</translation> @@ -148,6 +148,7 @@ <translation id="5877064549588274448">版本已變更。請重新啟動裝置以套用變更。</translation> <translation id="5895138241574237353">重新啟動</translation> <translation id="5906655207909574370">即將更新為最新版本!重新啟動您的裝置即可完成更新程序。</translation> +<translation id="5942225298871134766">Chromium 會使用「<ph name="SAVED_PASSWORD_LINK" />」儲存此密碼,讓您在下次需要使用時套用。</translation> <translation id="5942520288919337908">已將「<ph name="EXTENSION_NAME" />」加到 Chromium。</translation> <translation id="59625444380784159">利用您的通訊錄詳細資料,快速在 Chromium 中填寫表單。</translation> <translation id="5987687638152509985">如要開始同步處理,請更新 Chromium</translation> @@ -189,7 +190,6 @@ <translation id="705851970750939768">更新 Chromium</translation> <translation id="7066436765290594559">Chromium 作業系統無法同步處理您的資料,請更新您的同步通關密語。</translation> <translation id="707471633328071618">Google Payments (已複製到 Chromium)</translation> -<translation id="7090955637699162649">Chromium 會使用<ph name="BEGIN_LINK" />網頁服務<ph name="END_LINK" />來改善瀏覽功能,當然您也可以隨時停用這些服務。</translation> <translation id="7114836556269756734">{NUM_ITEMS,plural, =1{這會將 $1 個項目從這個裝置上永久刪除。如果日後想要擷取資料,請以「$2」的身分登入 Chromium。}other{這會將 $1 個項目從這個裝置上永久刪除。如果日後想要擷取資料,請以「$2」的身分登入 Chromium。}}</translation> <translation id="7138853919861947730">Chromium 透過網路服務改善瀏覽品質。</translation> <translation id="7162152143154757523">Chromium 可將您在瀏覽器中輸入的字詞傳送給 Google 伺服器,並透過 Google 搜尋所使用的拼字檢查技術,為您提供更精確的拼字檢查功能。</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb index c287f1f1..1d8d648 100644 --- a/chrome/app/resources/generated_resources_am.xtb +++ b/chrome/app/resources/generated_resources_am.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">በቋንቋ ፊደል መጻፍ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">ምስል አክል</translation> <translation id="1029317248976101138">ማጉሊያ</translation> -<translation id="1029595648591494741">«<ph name="EXTENSION_NAME" />»ን ይሞክሩ?</translation> <translation id="1030173864176315846">በተሳካ ሁኔታ <ph name="PAGE_NUMBER" /> ገጾችን ወደ <ph name="PRINTER_NAME" /> ታትሟል</translation> <translation id="1031362278801463162">ቅድመ-እይታን በመጫን ላይ</translation> <translation id="1031573127485938293">ጠይቅ (በመመሪያ)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">የሰርቲፊኬት መመሪያ እገዳዎች</translation> <translation id="335985608243443814">አስስ…</translation> <translation id="3360297538363969800">ማተም አልተሳካም። እባክዎ አታሚዎን ይፈትሹትና እንደገና ይሞክሩ።</translation> -<translation id="3361481787422913716">የሪፖርት ቅንብሮችን ይመልከቱ</translation> <translation id="336497260564123876">የይለፍ ቃል ተቀምጧል። የእርስዎን የይለፍ ቃሎች በሁሉም መሣሪያዎችዎ ላይ ለማግኘት ወደ Chrome በመለያ ይግቡ።</translation> <translation id="3367813778245106622">ስምረትን ለመጀመር እንደገና ይግቡ</translation> <translation id="3368922792935385530">ተያይዟል</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">ለማጣመር ይህን ኮድ በ«<ph name="DEVICE_NAME" />» ላይ ይተይቡ፦</translation> <translation id="3588662957555259973">* የGoogle መገለጫ ፎቶ</translation> <translation id="3590194807845837023">መገለጫ አስፈክትና ዳግም አስጀምር</translation> -<translation id="3590559774363307859">የይለፍ ቃል ተቀምጧል። ከማናቸውም አሳሽ ላይ እሱን እና ከሁሉም የእርስዎ <ph name="SAVED_PASSWORDS_LINK" /> ላይ ሊደርሱበት ይችላሉ።</translation> <translation id="3592260987370335752">&ተጨማሪ ይወቁ</translation> <translation id="359283478042092570">አስገባ</translation> <translation id="3593965109698325041">የሰርቲፊኬት ስም እገዳዎች</translation> @@ -2831,7 +2828,6 @@ <translation id="4764865176798926079">የዋናው ክፈፍ domContentLoaded እና ሁሉም ግብዓቶች ጭነቶች ከdomContentLoaded በፊት ተጀምረዋል (iframes ችላ ተብለዋል)።</translation> <translation id="4768332406694066911">እርስዎን የሚለዩ ከእነዚህ ድርጅቶች የመጡ የዕውቅና ማረጋገጫዎች አለዎት</translation> <translation id="4768698601728450387">ምስል ይከርክሙ</translation> -<translation id="4773696473262035477">እሱን እና ሁሉንም የእርስዎን <ph name="SAVED_PASSWORDS_LINK" /> ከማናቸውም አሳሽ ላይ ሊደርሱባቸው ይችላሉ።</translation> <translation id="4776917500594043016">የ<ph name="USER_EMAIL_ADDRESS" /> ይለፍ ቃል</translation> <translation id="4779083564647765204">ማጉሊያ</translation> <translation id="4780321648949301421">ገጽ አስቀምጥ እንደ…</translation> @@ -5389,7 +5385,6 @@ <translation id="8260864402787962391">መዳፊት</translation> <translation id="8261378640211443080">ይህ ቅጥያ በ<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ውስጥ ያልተጠቀሰ ሲሆን እርስዎ ሳያውቁት የታከለ ሊሆን ይችላል።</translation> <translation id="8261387128019234107">ለ<ph name="PROFILE_NAME" /> መለያ አክል</translation> -<translation id="8261490674758214762">እነዚህን ማድረግ ይችላሉ፦</translation> <translation id="8261506727792406068">ሰርዝ</translation> <translation id="8261580862248730866">የማይክሮፎን ለየት ያሉ</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> ፎቶዎችን ወደ <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /> በምትኬ በማስቀመጥ ላይ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb index 259bf2c0..01986de 100644 --- a/chrome/app/resources/generated_resources_ar.xtb +++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">التحويل الصوتي (فاناكام ← வணக்கம்)</translation> <translation id="1026822031284433028">تحميل صورة</translation> <translation id="1029317248976101138">تكبير/تصغير</translation> -<translation id="1029595648591494741">هل تريد تجربة "<ph name="EXTENSION_NAME" />"؟</translation> <translation id="1030173864176315846">تم بنجاح طباعة <ph name="PAGE_NUMBER" /> من الصفحات على <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">تحميل المعاينة</translation> <translation id="1031573127485938293">الطلب (وفقًا للسياسة)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">ستسري إعدادات ملفات تعريف الارتباط بعد إعادة تحميل الصفحة.</translation> <translation id="1470811252759861213">للحصول على الإضافات على جميع أجهزة الكمبيوتر، <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">تمكين إتاحة لوحة المفاتيح الظاهرية.</translation> -<translation id="1473539320840569129">يفرض عرض قائمة أدوات قلم الشاشة في الرف وقسم قلم الشاشة في الإعدادات، حتى إذا لم يكن هناك أي جهاز قلم شاشة مرفق.</translation> +<translation id="1473539320840569129">يفرض عرض قائمة أدوات قلم الشاشة في الرّف وقسم قلم الشاشة في الإعدادات، حتى إذا لم يكن هناك أي جهاز قلم شاشة مرفق.</translation> <translation id="1474079335130556426">تمكين وضع الخلفية لواجهة برمجة تطبيقات Push. يسمح هذا لـ Chrome بمتابعة التشغيل بعد إغلاق آخر نافذة، وبالإطلاق عند بدء تشغيل نظام التشغيل، إذا كانت واجهة برمجة تطبيقات Push تحتاج إليه.</translation> <translation id="1474339897586437869">لم يتم تحميل "<ph name="FILENAME" />". حيث لا توجد لديك مساحة فارغة كافية في Google Drive.</translation> <translation id="1475502736924165259">لديك شهادات في الملف لا تندرج تحت أي فئة من الفئات الأخرى</translation> @@ -633,7 +632,7 @@ <translation id="1803133642364907127">التحقق من محتوى الإضافة</translation> <translation id="1803545009660609783">إعادة التشكيل</translation> <translation id="1807938677607439181">كل الملفات</translation> -<translation id="1809734401532861917">إضافة الإشارات المرجعية، والسجل، وكلمات المرور، والإعدادات الأخرى إلى <ph name="USER_EMAIL_ADDRESS" /></translation> +<translation id="1809734401532861917">إضافة الإشارات المرجعية، والسّجل، وكلمات المرور، والإعدادات الأخرى إلى <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="1810107444790159527">مربع قائمة</translation> <translation id="1810764548349082891">لا تتوفر معاينة</translation> <translation id="1812631533912615985">إزالة تثبيت علامات التبويب</translation> @@ -650,7 +649,7 @@ <translation id="1828901632669367785">مربع حوار الطباعة باستخدام النظام…</translation> <translation id="1829192082282182671">ت&صغير</translation> <translation id="1830550083491357902">لم يتم تسجيل الدخول</translation> -<translation id="1830859579140328145">تمكين/تعطيل خيار معايرة الشاشة التي تعمل باللمس في إعدادات التصميم متعدد الأبعاد</translation> +<translation id="1830859579140328145">تمكين/تعطيل خيار معايرة الشاشة التي تعمل باللمس في إعدادات التصميم متعدّد الأبعاد</translation> <translation id="1832511806131704864">تم تحديث تغيير الهاتف</translation> <translation id="1834560242799653253">توجيه:</translation> <translation id="1835339313324024">النشر الذكي للوحة المفاتيح الظاهرية</translation> @@ -1829,7 +1828,6 @@ <translation id="3359256513598016054">القيود على سياسة الشهادة</translation> <translation id="335985608243443814">تصفَّح...</translation> <translation id="3360297538363969800">أخفقت الطباعة. يُرجى التحقق من الطابعة وإعادة المحاولة.</translation> -<translation id="3361481787422913716">عرض إعدادات التقرير</translation> <translation id="336497260564123876">تم حفظ كلمة المرور. للحصول على كلمات المرور على جميع أجهزتك، سجِّل الدخول إلى Chrome.</translation> <translation id="3367813778245106622">تسجيل الدخول مرة أخرى لبدء المزامنة</translation> <translation id="3368922792935385530">متصل</translation> @@ -2005,7 +2003,6 @@ <translation id="358796204584394954">اكتب هذه الشفرة في "<ph name="DEVICE_NAME" />" لإقرانه:</translation> <translation id="3588662957555259973">* صورة الملف الشخصي في Google</translation> <translation id="3590194807845837023">إلغاء قفل الملف الشخصي، وإعادة التشغيل من جديد</translation> -<translation id="3590559774363307859">تم حفظ كلمة المرور. يمكنك الوصول إليها وجميع <ph name="SAVED_PASSWORDS_LINK" /> من أي متصفح.</translation> <translation id="3592260987370335752">&مزيد من المعلومات</translation> <translation id="359283478042092570">الدخول</translation> <translation id="3593965109698325041">قيود اسم الشهادة</translation> @@ -2827,7 +2824,6 @@ <translation id="4764865176798926079">domContentLoaded للإطار الرئيسي وعمليات تحميل كل الموارد بدأت قبل domContentLoaded (تم تجاهل إطارات iframe).</translation> <translation id="4768332406694066911">لديك شهادات تحدد هويتك من هذه المؤسسات</translation> <translation id="4768698601728450387">اقتصاص الصورة</translation> -<translation id="4773696473262035477">يمكنك الوصول إليها وكل <ph name="SAVED_PASSWORDS_LINK" /> من أي متصفح.</translation> <translation id="4776917500594043016">كلمة مرور <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">تكبير/تصغير</translation> <translation id="4780321648949301421">حفظ صفحة باسم...</translation> @@ -3826,7 +3822,7 @@ <translation id="6112952769866305444">تعديل شخص، <ph name="PROFILE_NAME" />، <ph name="USERNAME" /></translation> <translation id="6115424132962100663">اضغط على |<ph name="SHORTCUT" />| للرجوع</translation> <translation id="6116921718742659598">تغيير إعدادات اللغة والإدخال</translation> -<translation id="6119435854984171040">تستخدم بعض خدمات المحتوى المُعرّفات الفريدة لأغراض تتعلق بالسماح بالدخول إلى المحتوى المحمي.</translation> +<translation id="6119435854984171040">تستخدم بعض خدمات المحتوى المُعرّفات الفريدة لأغراض تتعلق بالسماح بالدخول إلى المحتوى المحمّي.</translation> <translation id="6120205520491252677">جارٍ إضافة هذه الصفحة إلى شاشة البدء...</translation> <translation id="6122081475643980456">يتم التحكم في اتصال الإنترنت التابع لك</translation> <translation id="6122875415561139701">لا يُسمح بعملية الكتابة على: "<ph name="DEVICE_NAME" />".</translation> @@ -5381,7 +5377,6 @@ <translation id="8260864402787962391">الماوس</translation> <translation id="8261378640211443080">هذه الإضافة غير مدرجة في <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> وربما تمت إضافتها بدون علمك.</translation> <translation id="8261387128019234107">إضافة حساب لـ <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">يمكنها:</translation> <translation id="8261506727792406068">حذف</translation> <translation id="8261580862248730866">استثناءات ميكروفون</translation> <translation id="8261673729476082470">جارٍ نسخ <ph name="FILE_COUNT" /> من الصور احتياطيًا في <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb index 7c1c2d58..289bf4f8 100644 --- a/chrome/app/resources/generated_resources_bg.xtb +++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Транслитерация (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Зареждане на изображението</translation> <translation id="1029317248976101138">Промяна на мащаба</translation> -<translation id="1029595648591494741">Искате ли да изпробвате <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">Успешно отпечатахте <ph name="PAGE_NUMBER" /> страници на „<ph name="PRINTER_NAME" />“</translation> <translation id="1031362278801463162">Визуализацията се зарежда</translation> <translation id="1031573127485938293">Извеждане на запитване (чрез правило)</translation> @@ -1828,7 +1827,6 @@ <translation id="3359256513598016054">Ограничения на правилата за сертификата</translation> <translation id="335985608243443814">Преглед...</translation> <translation id="3360297538363969800">Отпечатването не бе успешно. Моля, проверете принтера си и опитайте отново.</translation> -<translation id="3361481787422913716">Преглед на настройките, включени в сигнала</translation> <translation id="336497260564123876">Паролата е запазена. Влезте в Chrome, за да получите паролите си на всичките си устройства.</translation> <translation id="3367813778245106622">Влезте в профила си отново, за да започне синхронизирането</translation> <translation id="3368922792935385530">Установена е връзка</translation> @@ -2004,7 +2002,6 @@ <translation id="358796204584394954">За сдвояване въведете този код на <ph name="DEVICE_NAME" />:</translation> <translation id="3588662957555259973">* Снимка на потребителския профил в Google</translation> <translation id="3590194807845837023">Отключване на потребителския профил и повторно стартиране</translation> -<translation id="3590559774363307859">Паролата бе запазена. Тя и всичките ви <ph name="SAVED_PASSWORDS_LINK" /> са достъпни от всеки браузър.</translation> <translation id="3592260987370335752">&Научете повече</translation> <translation id="359283478042092570">Влизане</translation> <translation id="3593965109698325041">Ограничения за името на сертификата</translation> @@ -2632,7 +2629,7 @@ <translation id="4479639480957787382">Ethernet</translation> <translation id="4479812471636796472">Американска (Дворак) клавиатура</translation> <translation id="4481249487722541506">Зареждане на разпакетирано разширение...</translation> -<translation id="4481530544597605423">Раздвоени устройства</translation> +<translation id="4481530544597605423">Несдвоени устройства</translation> <translation id="4487088045714738411">Белгийска клавиатура</translation> <translation id="4492190037599258964">Резултати от търсенето на „<ph name="SEARCH_STRING" />“</translation> <translation id="4495419450179050807">Да не се показва на тази страница</translation> @@ -2828,7 +2825,6 @@ <translation id="4764865176798926079">domContentLoaded за главната рамка и всички зареждания на ресурси, започнати преди domContentLoaded (вложените рамки се пренебрегват).</translation> <translation id="4768332406694066911">Имате идентифициращи ви сертификати от тези организации</translation> <translation id="4768698601728450387">Подрязване на изображението</translation> -<translation id="4773696473262035477">Тя и всичките ви <ph name="SAVED_PASSWORDS_LINK" /> са достъпни от всеки браузър.</translation> <translation id="4776917500594043016">Парола за <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Промяна на мащаба</translation> <translation id="4780321648949301421">Запазване на страницата като...</translation> @@ -5381,7 +5377,6 @@ <translation id="8260864402787962391">Мишка</translation> <translation id="8261378640211443080">Това разширение не е посочено в <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> и може да е било добавено без ваше знание.</translation> <translation id="8261387128019234107">Добавяне на профил за <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Те вече имат възможност за:</translation> <translation id="8261506727792406068">Изтриване</translation> <translation id="8261580862248730866">Изключения за микрофона</translation> <translation id="8261673729476082470">На <ph name="FILE_COUNT" /> снимки се създават резервни копия в <ph name="BEGIN_LINK" />Google Диск<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb index 85eebeab..4096bcc7 100644 --- a/chrome/app/resources/generated_resources_bn.xtb +++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">লিপ্যন্তরকরণ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">চিত্র লোড করুন</translation> <translation id="1029317248976101138">জুম</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" ব্যবহার করতে চান?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> পৃষ্ঠা সফলভাবে <ph name="PRINTER_NAME" /> এ মুদ্রিত হয়েছে</translation> <translation id="1031362278801463162">পূর্বরূপ লোড হচ্ছে</translation> <translation id="1031573127485938293">জিজ্ঞাসা করুন (নীতি দ্বারা)</translation> @@ -72,7 +71,7 @@ <translation id="1094607894174825014">এখানে একটি অবৈধ অফসেট সহ পড়া বা লেখার ক্রিয়াকলাপের অনুরোধ করা হয়েছিল:: "<ph name="DEVICE_NAME" />".</translation> <translation id="1097091804514346906">ব্রাউজিং ডেটা সাফ করার ডায়ালগে ডাটা ভলিউম কাউন্টার দেখায়।</translation> <translation id="1097507499312291972">এই ব্যক্তির পরিদর্শন করা ওয়েবসাইটগুলি নিয়ন্ত্রণ করতে এবং দেখতে <ph name="BEGIN_SIGN_IN_LINK" />প্রবেশ করুন<ph name="END_SIGN_IN_LINK" /> করুন৷</translation> -<translation id="1097658378307015415">প্রবেশ করুন করার আগে, <ph name="NETWORK_ID" /> নেটওয়ার্ক সক্রিয় করতে দয়া করে অতিথি রূপে প্রবেশ করুন</translation> +<translation id="1097658378307015415">প্রবেশ করার আগে, <ph name="NETWORK_ID" /> নেটওয়ার্ক সক্রিয় করতে দয়া করে অতিথি রূপে প্রবেশ করুন</translation> <translation id="1108600514891325577">&Stop</translation> <translation id="110918622319006905">তৃতীয় পক্ষের VPN</translation> <translation id="1110155001042129815">অপেক্ষা করুন</translation> @@ -112,7 +111,7 @@ <translation id="1155759005174418845">ক্যাটালান</translation> <translation id="1156185823432343624">ভলিউম: মৌন</translation> <translation id="1156689104822061371">কীবোর্ড লেআউট:</translation> -<translation id="1161575384898972166">ক্লায়েন্ট শংসাপত্র রপ্তানি করতে অনুগ্রহ করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন করুন৷</translation> +<translation id="1161575384898972166">ক্লায়েন্ট শংসাপত্র রপ্তানি করতে অনুগ্রহ করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন৷</translation> <translation id="1163361280229063150">{NUM_DOWNLOAD,plural, =1{বর্তমানে একটি ডাউনলোড হচ্ছে। আপনি কি ডাউনলোড বাতিল করে ছদ্মবেশি মোড থেকে বেরিয়ে যেতে চান?}one{বর্তমানে #টি ডাউনলোড হচ্ছে। আপনি কি ডাউনলোডগুলি বাতিল করে ছদ্মবেশি মোড থেকে বেরিয়ে যেতে চান?}other{বর্তমানে #টি ডাউনলোড হচ্ছে। আপনি কি ডাউনলোডগুলি বাতিল করে ছদ্মবেশি মোড থেকে বেরিয়ে যেতে চান?}}</translation> <translation id="1163931534039071049">ফ্রেম উৎস &দেখুন</translation> <translation id="1164674268730883318"><ph name="DEVICE_TYPE" /> এর জন্য Smart Lock বন্ধ করবেন?</translation> @@ -206,7 +205,7 @@ <translation id="1293509594570842875">নতুন তত্ত্বাবধানে থাকা ব্যবহারকারী তৈরি করা যায়নি৷ দয়া করে আপনার নেটওয়ার্ক সংযোগটি পরীক্ষা করে দেখুন এবং পরে আবার চেষ্টা করুন৷</translation> <translation id="1293556467332435079">ফাইলসমূহ</translation> <translation id="1294298200424241932">বিশ্বস্ত সেটিংস সম্পাদনা করুন:</translation> -<translation id="1295794900245526845">প্রবেশ করুন করতে <ph name="PASSWORD_MANAGER_BRAND" /> এ সংরক্ষণ করা আপনার অ্যাকাউন্ট বেছে নিন</translation> +<translation id="1295794900245526845">প্রবেশ করতে <ph name="PASSWORD_MANAGER_BRAND" /> এ সংরক্ষণ করা আপনার অ্যাকাউন্ট বেছে নিন</translation> <translation id="1296497012903089238">শংসাপত্রের প্রকার</translation> <translation id="1297175357211070620">গন্তব্য</translation> <translation id="1297922636971898492">এই মুহূর্তে Google ড্রাইভ উপলব্ধ নেই৷ একবার Google ড্রাইভ উপলব্ধ হলেই আপলোড করার কাজটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে৷</translation> @@ -449,7 +448,7 @@ <translation id="1559235587769913376">ইউনিকোড অক্ষর ইনপুট করুন</translation> <translation id="1561092721008294962">UI পাঠ্যের জন্য HarfBuzz</translation> <translation id="1566049601598938765">ওয়েবসাইট</translation> -<translation id="1567723158593978621">সক্ষম করা হলে, ব্রাউজারে প্রবেশ করুন করতে একটি নতুন GAIA পাসওয়ার্ড-বিভাজিত প্রবেশ করুন প্রবাহ ব্যবহার করবে।</translation> +<translation id="1567723158593978621">সক্ষম করা হলে, ব্রাউজারে প্রবেশ করতে একটি নতুন GAIA পাসওয়ার্ড-বিভাজিত প্রবেশ করুন প্রবাহ ব্যবহার করবে।</translation> <translation id="1567993339577891801">JavaScript কনসোল</translation> <translation id="1568323446248056064">প্রদর্শন ডিভাইস সেটিংস খুলুন</translation> <translation id="1568822834048182062">আপনার বুকমার্ক, ইতিহাস, পাসওয়ার্ড এবং অন্যান্য সেটিংস আপনার Google অ্যাকাউন্টে সিঙ্ক করা হবে।</translation> @@ -470,13 +469,13 @@ <translation id="1593594475886691512">ফরম্যাট করা হচ্ছে...</translation> <translation id="159359590073980872">চিত্র ক্যাশে</translation> <translation id="1594233345027811150">{NUM_DOWNLOAD,plural, =1{ডাউনলোড চলছে}one{ডাউনলোডগুলি চলছে}other{ডাউনলোডগুলি চলছে}}</translation> -<translation id="1594234040488055839">এই অ্যাকাউন্টের সাথে Google এর সাইটগুলিতে স্বয়ংক্রিয়ভাবে প্রবেশ করুন করার প্রস্তাব দেয়</translation> +<translation id="1594234040488055839">এই অ্যাকাউন্টের সাথে Google এর সাইটগুলিতে স্বয়ংক্রিয়ভাবে প্রবেশ করার প্রস্তাব দেয়</translation> <translation id="1596174774107741586">Google Payments স্যান্ডবক্স সার্ভার ব্যবহার করুন</translation> <translation id="1598233202702788831">আপনার প্রশাসক দ্বারা আপডেট অক্ষম করা হয়েছে।</translation> <translation id="1600857548979126453">পৃষ্ঠা ডিবাগার ব্যাকএন্ড অ্যাক্সেস করুন</translation> <translation id="1601560923496285236">প্রয়োগ করুন</translation> <translation id="1603914832182249871">(ছদ্মবেশী)</translation> -<translation id="1607220950420093847">আপনার অ্যাকাউন্ট মোছা বা অক্ষম করা হয়ে থাকতে পারে৷ দয়া করে প্রস্থান করুন করুন৷</translation> +<translation id="1607220950420093847">আপনার অ্যাকাউন্ট মোছা বা অক্ষম করা হয়ে থাকতে পারে৷ দয়া করে প্রস্থান করুন৷</translation> <translation id="1608626060424371292">এই ব্যবহারকারীকে সরান</translation> <translation id="1609862759711084604">পূর্ববর্তী ব্যবহারকারী</translation> <translation id="1611649489706141841">ফরওয়ার্ড</translation> @@ -648,7 +647,7 @@ <translation id="1828378091493947763">এই ডিভাইসে এই প্লাগ ইন সমর্থিত নয়</translation> <translation id="1828901632669367785">সিস্টেম কথোপকথন ব্যবহার করে প্রিন্ট করুন...</translation> <translation id="1829192082282182671">Zoom &Out</translation> -<translation id="1830550083491357902">প্রবেশ করুন করেননি</translation> +<translation id="1830550083491357902">প্রবেশ করেননি</translation> <translation id="1830859579140328145">মেটারিয়াল ডিজাইন সেটিংসে টাচস্ক্রীন ক্রমাঙ্কন বিকল্প সক্ষম/অক্ষম করুন</translation> <translation id="1832511806131704864">ফোন পরিবর্তন আপডেট হয়েছে</translation> <translation id="1834560242799653253">সজ্জা:</translation> @@ -715,7 +714,7 @@ <translation id="1926339101652878330">এই বিকল্পগুলি এন্টারপ্রাইজ নীতি দ্বারা পরিচালিত হয়৷ আরো তথ্যের জন্য দয়া করে আপনার প্রশাসকের সাথে যোগাযোগ করুন৷</translation> <translation id="1927632033341042996">আঙ্গুল <ph name="NEW_FINGER_NUMBER" /></translation> <translation id="1928202201223835302">পুরানো পিন লিখুন</translation> -<translation id="1929546189971853037">আপনার সমস্ত প্রবেশ করুন করা ডিভাইসের ব্রাউজিং ইতিহাস পড়ুন</translation> +<translation id="1929546189971853037">আপনার সমস্ত প্রবেশ করা ডিভাইসের ব্রাউজিং ইতিহাস পড়ুন</translation> <translation id="1931134289871235022">স্লোভাক</translation> <translation id="1931152874660185993">কোনো উপাদান ইনস্টল করা নেই৷</translation> <translation id="1932098463447129402">আগে কখনও নয়</translation> @@ -808,7 +807,7 @@ <translation id="2087822576218954668">প্রিন্ট করুন: <ph name="PRINT_NAME" /></translation> <translation id="2090165459409185032">আপনার অ্যাকাউন্ট তথ্য পুনরুদ্ধার করার জন্য, google.com/accounts/recovery-এ যান</translation> <translation id="2090876986345970080">সিস্টেম সুরক্ষা সেটিং</translation> -<translation id="2097372108957554726">নতুন ডিভাইস নিবন্ধিত করার জন্য আপনাকে Chrome-এ প্রবেশ করুন করতে হবে</translation> +<translation id="2097372108957554726">নতুন ডিভাইস নিবন্ধিত করার জন্য আপনাকে Chrome-এ প্রবেশ করতে হবে</translation> <translation id="2098305189700762159">খুঁজে পাওয়া যায় নি</translation> <translation id="2099172618127234427">আপনি Chrome OS ডিবাগিং বৈশিষ্ট্যগুলি সক্ষম করছেন যা sshd daemon সেট আপ করবে এবং USB ড্রাইভগুলি থেকে বুট করা সক্ষম করবে৷</translation> <translation id="2099686503067610784">সার্ভার শংসাপত্র "<ph name="CERTIFICATE_NAME" />" মুছবেন?</translation> @@ -868,7 +867,7 @@ <translation id="215753907730220065">পূর্ণ স্ক্রীণ বন্ধ করুন</translation> <translation id="2157875535253991059">পৃষ্ঠাটি এখন পূর্ণ পর্দায় রয়েছে</translation> <translation id="216169395504480358">Wi-fi জুড়ুন ...</translation> -<translation id="2163470535490402084">আপনার <ph name="DEVICE_TYPE" /> এ প্রবেশ করুন করার জন্য দয়া করে ইন্টারনেটে সংযুক্ত হোন।</translation> +<translation id="2163470535490402084">আপনার <ph name="DEVICE_TYPE" /> এ প্রবেশ করার জন্য দয়া করে ইন্টারনেটে সংযুক্ত হোন।</translation> <translation id="2164862903024139959">ভিয়েতনামি কীবোর্ড (TCVN)</translation> <translation id="2165722503303595908">মাত্রা</translation> <translation id="2166369534954157698">বিষণ্ণ ঔদাসীন্যে ঊষাবৌদি বাংলাভাষায় প্রচলিত ঈশপের নিখুঁত গল্পটির ডালপালা অর্ধেক ছড়াতেই ঋতু ভুঁইঞা আর ঐন্দ্রিলা ধড়ফড়িয়ে দারুণ হৈ-হৈ করে উঠল-- ওঃ, ব্যাস্ এবার থামো তো, বুঝেছি বড্ডো পুরানো ঢঙের কেমন এক গল্প যার নীতিবাক্য হল,“মূঢ় আড়ম্বর ও আত্মশ্লাঘার ফল জীবনে বিঘ্ন ও বৃহৎ ক্ষতি”-- তাই না, এ্যাঁ?</translation> @@ -979,7 +978,7 @@ <translation id="228587217086777169">প্ল্যাটফর্ম হার্ডওয়্যার ব্যবহার করে h264 ভিডিও স্ট্রীম এনকোডিং করার জন্য WebRTC এ সমর্থন।</translation> <translation id="2286407726708507314">WebFonts লোডিংয়ের জন্য ব্যবহারকারী-এজেন্টের হস্তক্ষেপের নতুন সংস্করণ</translation> <translation id="2286454467119466181">সহজ</translation> -<translation id="2286950485307333924">আপনি এখন Chrome এ প্রবেশ করুন করেছেন</translation> +<translation id="2286950485307333924">আপনি এখন Chrome এ প্রবেশ করেছেন</translation> <translation id="2287590536030307392">সব বেতার সংযোগ বন্ধ করুন৷</translation> <translation id="2291643155573394834">পরবর্তী ট্যাব</translation> <translation id="2292848386125228270">অনুগ্রহ করে একজন সাধারন ব্যবহারকারী হিসেবে <ph name="PRODUCT_NAME" /> আরম্ভ করুন। আপনার যদি বিকাশ করার জন্য রুট হিসাবে চালানোর প্রয়োজন হয়, তাহলে --নো-স্যান্ডবক্স ফ্ল্যাগটি আবার চালান।</translation> @@ -1174,7 +1173,7 @@ <translation id="255937426064304553">মার্কিন আন্তর্জাতিক</translation> <translation id="2560633531288539217">ভয়েস ও অডিও কার্যকলাপ পরিচালনা করুন</translation> <translation id="2562685439590298522">দস্তাবেজ</translation> -<translation id="2562743677925229011"><ph name="SHORT_PRODUCT_NAME" />-এ প্রবেশ করুন করেননি</translation> +<translation id="2562743677925229011"><ph name="SHORT_PRODUCT_NAME" />-এ প্রবেশ করেননি</translation> <translation id="2563856802393254086">অভিনন্দন! আপনার '<ph name="NAME" />' ডেটা পরিষেবা সক্রিয় করা হয়েছে এবং ব্যবহার করার জন্য প্রস্তুত৷</translation> <translation id="2565670301826831948">Touchpadএর গতি:</translation> <translation id="2566124945717127842">আপনার <ph name="IDS_SHORT_PRODUCT_NAME" /> ডিভাইস নতুনের মত আবার সেট করতে পাওয়ারওয়াশ করুন।</translation> @@ -1329,7 +1328,7 @@ <translation id="2756798847867733934">সিম কার্ড অক্ষম হয়েছে</translation> <translation id="2765217105034171413">ক্ষুদ্র</translation> <translation id="2766006623206032690">প্র&তিলেপন করুন ও যান</translation> -<translation id="276969039800130567"><ph name="USER_EMAIL_ADDRESS" /> রূপে প্রবেশ করুন হয়েছেন৷</translation> +<translation id="276969039800130567"><ph name="USER_EMAIL_ADDRESS" /> রূপে প্রবেশ করেছেন৷</translation> <translation id="2770465223704140727">তালিকা থেকে সরান</translation> <translation id="2772045112202633730">সক্ষম করা হলে, chrome://bookmarks/ URL মেটারিয়াল ডিজাইন বুকমার্ক পৃষ্ঠা লোড করে।</translation> <translation id="2772936498786524345">নিনজা</translation> @@ -1408,7 +1407,7 @@ <translation id="283278805979278081">ছবি তুলুন৷</translation> <translation id="2833791489321462313">নিদ্রাবস্থা থেকে জাগতে পাসওয়ার্ড প্রয়োজন৷</translation> <translation id="2836269494620652131">ক্র্যাশ</translation> -<translation id="2836635946302913370">আপনার প্রশাসক এই ব্যবহারকারী নাম দিয়ে প্রবেশ করুন করা অক্ষম করেছে৷</translation> +<translation id="2836635946302913370">আপনার প্রশাসক এই ব্যবহারকারী নাম দিয়ে প্রবেশ করা অক্ষম করেছে৷</translation> <translation id="283669119850230892"><ph name="NETWORK_ID" /> নেটওয়ার্কটি ব্যবহার করতে, প্রথমে নিচে ইন্টারনেট থেকে আপনার সংযোগ সম্পূর্ণ করুন৷</translation> <translation id="2838379631617906747">ইনস্টল হচ্ছে</translation> <translation id="2841837950101800123">সরবরাহকারী</translation> @@ -1697,7 +1696,7 @@ <translation id="3191308084656429858">{NUM_POPUPS,plural, =1{১টি পপ-আপ অবরুদ্ধ করা হয়েছে}one{#টি পপ-আপ অবরুদ্ধ করা হয়েছে}other{#টি পপ-আপ অবরুদ্ধ করা হয়েছে}}</translation> <translation id="3192947282887913208">অডিও ফাইলসমূহ</translation> <translation id="3193734264051635522">গতি:</translation> -<translation id="3195445837372719522">মিটিংয়ের জন্য Chromebox এটি কোন ডোমেনের তা জানতে চায়৷ এটির জন্য আপনাকে আপনার অ্যাকাউন্টে প্রবেশ করুন করতে হবে৷</translation> +<translation id="3195445837372719522">মিটিংয়ের জন্য Chromebox এটি কোন ডোমেনের তা জানতে চায়৷ এটির জন্য আপনাকে আপনার অ্যাকাউন্টে প্রবেশ করতে হবে৷</translation> <translation id="3197563288998582412">যুক্তরাজ্যের দভোরাক</translation> <translation id="3199127022143353223">সার্ভারসমূহ</translation> <translation id="3200025317479269283">মজা করুন! আমরা আপনার জন্য এখানে রয়েছি৷</translation> @@ -1827,7 +1826,6 @@ <translation id="3359256513598016054">শংসাপত্র নীতি বাধ্যবাধকতা</translation> <translation id="335985608243443814">ব্রাউজ করুন...</translation> <translation id="3360297538363969800">প্রিন্ট করা গেল না৷ দয়া করে আপনার মুদ্রকটি পরীক্ষা করে আবার চেষ্টা করুন৷</translation> -<translation id="3361481787422913716">প্রতিবেদন সেটিংস দেখুন</translation> <translation id="336497260564123876">পাসওয়ার্ড সংরক্ষিত হয়েছে। আপনার সমস্ত ডিভাইসে আপনার পাসওয়ার্ডগুলি পেতে, Chrome এ সাইন ইন করুন।</translation> <translation id="3367813778245106622">সিঙ্ক করা শুরু করতে আবার সাইন ইন করুন</translation> <translation id="3368922792935385530">সংযুক্ত</translation> @@ -1944,7 +1942,7 @@ <translation id="3511528412952710609">স্বল্পস্থায়ী</translation> <translation id="3512284449647229026">ব্রাউজার অফলাইন থাকাকালীন লোড হতে ব্যর্থ হওয়া পৃষ্ঠাগুলি শুধুমাত্র তখনই স্বয়ংক্রিয়ভাবে পুনরায় লোড হবে যখন তাদের ট্যাব দৃশ্যমান হবে।</translation> <translation id="3512410469020716447">{NUM_DOWNLOAD,plural, =1{ডাউনলোড বাতিল করুন}one{ডাউনলোডগুলি বাতিল করুন}other{ডাউনলোডগুলি বাতিল করুন}}</translation> -<translation id="3516765099410062445">আপনার প্রবেশ করুন করা ডিভাইসগুলি থেকে ইতিহাস দেখাচ্ছে৷ <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" /></translation> +<translation id="3516765099410062445">আপনার প্রবেশ করা ডিভাইসগুলি থেকে ইতিহাস দেখাচ্ছে৷ <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" /></translation> <translation id="3518086201899641494">ক্যাপটিভ পোর্টালগুলির সম্বন্ধে বিজ্ঞপ্তিগুলি</translation> <translation id="3519867315646775981">লিপ্যন্তরকরণ (shalom ← שלום)</translation> <translation id="3522708245912499433">পর্তুগিজ</translation> @@ -1994,7 +1992,7 @@ <translation id="3580755944074305009">ছোট সম্পদগুলির জন্য IPC অপ্টিমাইজেশান লোড হওয়া সক্ষম করে।</translation> <translation id="3581912141526548234">বলবত্ করে (হ্যাশ পেতে চেষ্টা করে, এবং সফল হলে তাদের বলবত্ করে)</translation> <translation id="3582742550193309836">পুনরাবৃত্তির হার:</translation> -<translation id="3582792037806681688">একটি ব্যবহারকারীর জন্য এই সেশনে একাধিক প্রবেশ করুন অননুমোদিত হয়েছে</translation> +<translation id="3582792037806681688">একটি ব্যবহারকারীর জন্য এই সেশনে একাধিক প্রবেশ অননুমোদিত হয়েছে</translation> <translation id="3583413473134066075">যাচ্ছি.. যাচ্ছি...চলে গেছে৷</translation> <translation id="3584169441612580296">আপনার কম্পিউটার থেকে ফটো, সঙ্গীত ও অন্য মিডিয়া পডুন এবং পরিবর্তন করুন</translation> <translation id="3586479556961486060">প্রদর্শনের রঙ ক্রমাঙ্কন</translation> @@ -2003,7 +2001,6 @@ <translation id="358796204584394954">যুক্ত করতে "<ph name="DEVICE_NAME" />" এ এই কোডটি লিখুন:</translation> <translation id="3588662957555259973">* Google প্রোফাইল ফটো </translation> <translation id="3590194807845837023">প্রোফাইল আনলক করুন এবং পুনরায় লঞ্চ করুন</translation> -<translation id="3590559774363307859">পাসওয়ার্ড সংরক্ষিত হয়েছে। আপনি যেকোনো ব্রাউজার থেকে এটি এবং আপনার সকল <ph name="SAVED_PASSWORDS_LINK" /> অ্যাক্সেস করতে পারেন।</translation> <translation id="3592260987370335752">এবং আরো জানুন</translation> <translation id="359283478042092570">Enter</translation> <translation id="3593965109698325041">শংসাপত্র নাম সীমাবদ্ধতাসমূহ</translation> @@ -2297,7 +2294,7 @@ <translation id="3966072572894326936">অন্য ফোল্ডার বেছে নিন...</translation> <translation id="3966388904776714213">অডিও প্লেয়ার</translation> <translation id="3967841595862839006">আপনার ভাষা ও কীবোর্ড চয়ন করুন</translation> -<translation id="3967885517199024316">আপনার সমস্ত ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং সেটিংস পেতে প্রবেশ করুন করুন৷</translation> +<translation id="3967885517199024316">আপনার সমস্ত ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং সেটিংস পেতে প্রবেশ করুন৷</translation> <translation id="3968261067169026421">নেটওয়ার্ক সেট আপ করা যায়নি</translation> <translation id="397105322502079400">গণনা করা হচ্ছে...</translation> <translation id="3972425373133383637">সমস্ত ডিভাইস জুড়ে, আপনি যা জানতে চান সেগুলিতে সংযুক্ত থাকুন৷</translation> @@ -2355,7 +2352,7 @@ <translation id="4065876735068446555">আপনি যে নেটওয়ার্কটি <ph name="NETWORK_ID" /> ব্যবহার করছেন সেটির জন্য অপনাকে এটির লগ ইন পৃষ্ঠাতে যেতে হতে পরে৷</translation> <translation id="4068506536726151626">এই পৃষ্ঠাতে নিম্নলিখিত সাইটগুলি থেকে এমন উপাদান রয়েছে যা আপনার অবস্থান নির্ধারণ করে:</translation> <translation id="4070370845051020638">ক্যান্টনীজ ইনপুট পদ্ধতি</translation> -<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: প্রবেশ করুন ত্রুটি</translation> +<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: প্রবেশ করায় ত্রুটি</translation> <translation id="4072248638558688893">তামিল কীবোর্ড (ফোনেটিক)</translation> <translation id="4074900173531346617">ইমেল স্বাক্ষরকারীর শংসাপত্র</translation> <translation id="4074945132384537841">বৈশিষ্ট্য-নীতি HTTP শিরোলেখের মাধ্যমে বৈশিষ্ট্যগুলিতে অ্যাক্সেস মঞ্জুরি ও সরানো সক্ষম করে।</translation> @@ -2756,7 +2753,7 @@ <translation id="4673442866648850031">লেখনী সরানো হলে লেখনী সরঞ্জামগুলি খুলুন</translation> <translation id="4677772697204437347">GPU মেমোরি</translation> <translation id="4681930562518940301">নতুন ট্যাবে আসল চিত্রটি খুলুন</translation> -<translation id="4682551433947286597">প্রবেশ করুন করা স্ক্রিনে ওয়ালপেপার প্রদর্শিত হবে৷</translation> +<translation id="4682551433947286597">প্রবেশ করা স্ক্রিনে ওয়ালপেপার প্রদর্শিত হবে৷</translation> <translation id="4684427112815847243">সবকিছু সমন্বয় করুন</translation> <translation id="4684748086689879921">আমদানি ছেড়ে যান</translation> <translation id="4685045708662437080">এটি Google-কে আপনার ভয়েস সনাক্ত করতে এবং স্পীচ ও অডিও সনাক্তকরণ উন্নত করতে সহায়তা করে, যাতে করে আপনাকে আরো দ্রুত এবং কম ঝামেলার সাথে ফলাফলগুলি দিতে পারে৷ <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" /></translation> @@ -2826,7 +2823,6 @@ <translation id="4764865176798926079">প্রধান ফ্রেমের domContentLoaded এবং সকল সম্পদগুলির লোড domContentLoaded এর আগে শুরু হয়েছে (আইফ্রেমগুলি উপেক্ষা করা হয়েছে)।</translation> <translation id="4768332406694066911">আপনার পরিচয় শনাক্ত করে এমন সংস্থাগুলি থেকে শংসাপত্র আপনার কাছে আছে</translation> <translation id="4768698601728450387">চিত্র কাটছাঁট করুন</translation> -<translation id="4773696473262035477">আপনি যেকোনো ব্রাউজার থেকে এটিকে এবং আপনার সমস্ত <ph name="SAVED_PASSWORDS_LINK" /> অ্যাক্সেস করতে পারেন৷</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" />-এর জন্য পাসওয়ার্ড</translation> <translation id="4779083564647765204">জুম</translation> <translation id="4780321648949301421">এইভাবে পৃষ্ঠা সংরক্ষণ করুন...</translation> @@ -2871,7 +2867,7 @@ <translation id="4829768588131278040">পিন সেট আপ করুন</translation> <translation id="4830573902900904548">আপনার <ph name="DEVICE_TYPE" /> <ph name="NETWORK_NAME" /> ব্যবহার করে ইন্টারনেটে সংযুক্ত হতে অক্ষম। দয়া করে অন্য নেটওয়ার্ক বেছে নিন। <ph name="LEARN_MORE_LINK_START" />আরো জানুন<ph name="LEARN_MORE_LINK_END" /></translation> <translation id="4834912470034578916">ওয়েব বিজ্ঞপ্তিগুলির জন্য কাস্টম লেআউট সক্ষম করুন।</translation> -<translation id="4835836146030131423">প্রবেশ করুন করার সময় ত্রুটি৷</translation> +<translation id="4835836146030131423">প্রবেশ করার সময় ত্রুটি৷</translation> <translation id="4837926214103741331">আপনার কাছে এই ডিভাইস ব্যবহারের অনুমতি নেই৷ দয়া করে সাইন-ইন করার অনুমতির জন্য ডিভাইসের মালিকের সঙ্গে যোগাযোগ করুন৷</translation> <translation id="4837952862063191349">আপনার স্থানীয় ডেটা আনলক এবং পুনরুদ্ধার করতে, অনুগ্রহ করে আপনার পুরানো <ph name="DEVICE_TYPE" /> পাসওয়ার্ড লিখুন৷</translation> <translation id="4839122884004914586">সফ্টওয়্যার উপস্থাপন তালিকা ওভাররাইড করুন</translation> @@ -3137,7 +3133,7 @@ <translation id="5184662919967270437">আপনার ডিভাইস আপডেট করা হচ্ছে</translation> <translation id="5185386675596372454">"<ph name="EXTENSION_NAME" />"-এর নতুনতম সংস্করনটি অক্ষম হয়েছে কারণ এটির আরো বেশি অনুমতির প্রয়োজন৷</translation> <translation id="5186650237607254032">আপনার ফোনের স্ক্রীন লক আপডেট করুন, যাতে করে আপনি যখন কাছাকাছি থাকবেন তখন এটি বন্ধ হয়৷ আপনি দ্রুত ফোনটি আনলক করবেন, এবং আপনার <ph name="DEVICE_TYPE" /> এ আরো ভালো Smart Lock-এর অভিজ্ঞতা উপভোগ করতে পারবেন৷</translation> -<translation id="5187295959347858724">আপনি এখন <ph name="SHORT_PRODUCT_NAME" />এ প্রবেশ করুন করেছেন৷ আপনার বুকমার্ক, ইতিহাস এবং অন্য সেটিংস আপনার Google অ্যাকাউন্টে সমন্বিত করা হচ্ছে৷</translation> +<translation id="5187295959347858724">আপনি এখন <ph name="SHORT_PRODUCT_NAME" />এ প্রবেশ করেছেন৷ আপনার বুকমার্ক, ইতিহাস এবং অন্য সেটিংস আপনার Google অ্যাকাউন্টে সমন্বিত করা হচ্ছে৷</translation> <translation id="5187729186893265531">শুধুমাত্র গুরুত্বপূর্ণ Flash সামগ্রী সনাক্ত করুন এবং চালান (প্রস্তাবিত)</translation> <translation id="5187826826541650604"><ph name="KEY_NAME" /> (<ph name="DEVICE" />)</translation> <translation id="5187902302719680252">PIN দ্রুত আনলক সক্ষম করা হলে, আপনি আপনার ডিভাইসে প্রবেশ করার পরে লক স্ক্রীনে আপনার Chromebook আনলক করতে আপনাকে একটি PIN ব্যবহার করতে মঞ্জুরি দেয়।</translation> @@ -3349,7 +3345,7 @@ <translation id="544083962418256601">শর্টকাটগুলি তৈরি করুন...</translation> <translation id="5441100684135434593">তারযুক্ত নেটওয়ার্ক</translation> <translation id="5446983216438178612">প্রতিষ্ঠানের জন্য শংসাপত্রগুলি দেখান</translation> -<translation id="5448293924669608770">ওহো, প্রবেশ করুন করার সময় কিছু সমস্যা হয়েছে</translation> +<translation id="5448293924669608770">ওহো, প্রবেশ করার সময় কিছু সমস্যা হয়েছে</translation> <translation id="5449551289610225147">অবৈধ পাসওয়ার্ড</translation> <translation id="5449588825071916739">সবকটি ট্যাব বুকমার্ক করুন...</translation> <translation id="5449716055534515760">Close Win&dow</translation> @@ -3388,7 +3384,7 @@ <translation id="5493996328530898436">নতুন অডিও রেন্ডারিং মিশ্রণ কৌশল</translation> <translation id="5494362494988149300">&সম্পন্ন হলে খুলুন</translation> <translation id="5494920125229734069">সকল নির্বাচন করুন</translation> -<translation id="5495466433285976480">আপনি যখন পরবর্তীতে পুনরারম্ভ করবেন তখন এটি সমস্ত স্থানীয় ব্যবহারকারী, ফাইল, ডেটা, এবং অন্যান্য সেটিংস সরিয়ে ফেলবে৷ সকল ব্যবহারকারীকে আবার প্রবেশ করুন করতে হবে৷</translation> +<translation id="5495466433285976480">আপনি যখন পরবর্তীতে পুনরারম্ভ করবেন তখন এটি সমস্ত স্থানীয় ব্যবহারকারী, ফাইল, ডেটা, এবং অন্যান্য সেটিংস সরিয়ে ফেলবে৷ সকল ব্যবহারকারীকে আবার প্রবেশ করতে হবে৷</translation> <translation id="5496587651328244253">সংগঠিত করুন</translation> <translation id="549673810209994709">এই পৃষ্ঠাটির অনুবাদ করা যাবে না৷</translation> <translation id="5499313591153584299">এই ফাইলটি আপনার কম্পিউটারের জন্য ক্ষতিকারক হতে পারে৷</translation> @@ -3445,7 +3441,7 @@ <translation id="5562781907504170924">এই ট্যাবটি একটি ব্লুটুথ ডিভাইসে সংযুক্ত হয়ে আছে।</translation> <translation id="5565871407246142825">ক্রেডিট কার্ডসমূহ</translation> <translation id="5567989639534621706">অ্যাপ্লিকেশন ক্যাশে</translation> -<translation id="5568069709869097550">প্রবেশ করুন করতে পারছেন না</translation> +<translation id="5568069709869097550">প্রবেশ করতে পারছেন না</translation> <translation id="5568144734023334204">Android সঞ্চয়স্থান</translation> <translation id="5569544776448152862"><ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" /> এ নথিভুক্ত করা হচ্ছে...</translation> <translation id="5575473780076478375">ছদ্মবেশী এক্সটেনশান: <ph name="EXTENSION_NAME" /></translation> @@ -3472,7 +3468,7 @@ <translation id="5605830556594064952">মার্কিন যুক্তরাষ্ট্রীয় দভোরাক</translation> <translation id="5606674617204776232"><ph name="PEPPER_PLUGIN_DOMAIN" /> এ থাকা <ph name="PEPPER_PLUGIN_NAME" /> আপনার মোবাইল ডিভাইস অ্যাক্সেস করতে চায়৷</translation> <translation id="5609231933459083978">অ্যাপ্লিকেশানটি অবৈধ বলে মনে হচ্ছে৷</translation> -<translation id="5612734644261457353">দুঃখিত, আপনার পাসওয়ার্ড এখনো পর্যন্ত যাচাই করা যায়নি৷ দ্রষ্টব্য: আপনি যদি সম্প্রতি আপনার পাসওয়ার্ড পরিবর্তন করে থাকেন, তাহলে আপনি প্রস্থান করুন করার পর আপনার নতুন পাসওয়ার্ড প্রয়োগ করা হবে, দয়া করে এখানে পুরানো পাসওয়ার্ড ব্যবহার করুন৷</translation> +<translation id="5612734644261457353">দুঃখিত, আপনার পাসওয়ার্ড এখনো পর্যন্ত যাচাই করা যায়নি৷ দ্রষ্টব্য: আপনি যদি সম্প্রতি আপনার পাসওয়ার্ড পরিবর্তন করে থাকেন, তাহলে আপনি প্রস্থান করার পর আপনার নতুন পাসওয়ার্ড প্রয়োগ করা হবে, দয়া করে এখানে পুরানো পাসওয়ার্ড ব্যবহার করুন৷</translation> <translation id="5613695965848159202">নামহীন পরিচয়:</translation> <translation id="5614190747811328134">ব্যবহারকারী বিঞ্জপ্তি</translation> <translation id="5618075537869101857">ধ্যাত, kiosk অ্যাপ্লিকেশানটিকে লঞ্চ করা যায়নি৷</translation> @@ -3704,7 +3700,7 @@ <translation id="5937843713457938680">V8 JavaScript ইঞ্জিনের জন্য সঞ্চয় মোড।</translation> <translation id="5939518447894949180">রিসেট করুন</translation> <translation id="5941153596444580863">ব্যক্তিকে যোগ করুন...</translation> -<translation id="5941343993301164315">দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন করুন৷</translation> +<translation id="5941343993301164315">দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন৷</translation> <translation id="5941711191222866238">ছোট করুন</translation> <translation id="5941907479813014493">ইনপুট পদ্ধতিগুলির মধ্যে পাল্টানোর জন্য Ctrl+Shift+Space টিপুন।</translation> <translation id="594301743853606029">এই সেটিং পরিবর্তন করা হলে শেয়ার করা সব নেটওয়ার্কগুলি প্রভাবিত হবে।</translation> @@ -4327,17 +4323,17 @@ <translation id="6801435275744557998">টাচস্ক্রীন ক্রমাঙ্কন করুন</translation> <translation id="6802031077390104172"><ph name="USAGE" /> (<ph name="OID" />)</translation> <translation id="6804671422566312077">নতুন উইন্ডোতে স&কল বুকমার্ক খুলুন</translation> -<translation id="6805647936811177813"><ph name="HOST_NAME" /> থেকে ক্লায়েন্ট শংসাপত্র আমদানি করতে দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন করুন৷</translation> +<translation id="6805647936811177813"><ph name="HOST_NAME" /> থেকে ক্লায়েন্ট শংসাপত্র আমদানি করতে দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন৷</translation> <translation id="680572642341004180"><ph name="SHORT_PRODUCT_OS_NAME" /> এ RLZ নজর রাখা সক্ষম করুন৷</translation> <translation id="6807889908376551050">সমস্ত দেখান...</translation> <translation id="6809448577646370871">Chrome অ্যাপ্লিকেশানগুলির জন্য কাস্টম উইন্ডো সাইক্লিং।</translation> -<translation id="6810613314571580006">সঞ্চিত শংসাপত্রগুলি ব্যবহার করে ওয়েবসাইটগুলিতে স্বয়ংক্রিয়ভাবে প্রবেশ করুন। যখন বৈশিষ্ট্যটি অক্ষম করা থাকে, তখন প্রতিবারই একটি ওয়েবসাইটে প্রবেশ করুন করার সময় আপনাকে নিশ্চিতকরণের জন্য বলা হবে।</translation> +<translation id="6810613314571580006">সঞ্চিত শংসাপত্রগুলি ব্যবহার করে ওয়েবসাইটগুলিতে স্বয়ংক্রিয়ভাবে প্রবেশ করুন। যখন বৈশিষ্ট্যটি অক্ষম করা থাকে, তখন প্রতিবারই একটি ওয়েবসাইটে প্রবেশ করার সময় আপনাকে নিশ্চিতকরণের জন্য বলা হবে।</translation> <translation id="6812349420832218321"><ph name="PRODUCT_NAME" />-কে রুট হিসাবে চালনা করা যাবে না৷</translation> <translation id="6812841287760418429">পরিবর্তন রাখুন</translation> <translation id="6817358880000653228">এই সাইটের সংরক্ষিত পাসওয়ার্ডগুলি:</translation> <translation id="6820687829547641339">Gzip কম্প্রেসযুক্ত টার আর্কাইভ</translation> <translation id="682123305478866682">ডেস্কটপ কাস্ট করুন</translation> -<translation id="6823506025919456619">আপনার ডিভাইসগুলি দেখতে আপনাকে Chrome-এ প্রবেশ করুন করতে হবে</translation> +<translation id="6823506025919456619">আপনার ডিভাইসগুলি দেখতে আপনাকে Chrome-এ প্রবেশ করতে হবে</translation> <translation id="6824564591481349393">&ইমেল ঠিকানা কপি করুন</translation> <translation id="6824725898506587159">ভাষাগুলি পরিচালনা করুন</translation> <translation id="6825883775269213504">রাশিয়ান</translation> @@ -4382,7 +4378,7 @@ <translation id="6870888490422746447">যে অ্যাপ্লিকেশানে শেয়ার করবেন সেটি চয়ন করুন:</translation> <translation id="6871644448911473373">OCSP প্রতিক্রিয়াকারী: <ph name="LOCATION" /> </translation> <translation id="6871906683378132336">একটি নিবন্ধ বলে মনে হচ্ছে</translation> -<translation id="6874681241562738119">প্রবেশ করুন ত্রুটি</translation> +<translation id="6874681241562738119">প্রবেশ করায় ত্রুটি</translation> <translation id="687588960939994211">এছাড়াও আপনার ইতিহাস, বুকমার্ক, সেটিংস এবং এই ডিভাইসে সঞ্চিত অন্যান্য Chrome ডেটা সাফ করবেন।</translation> <translation id="6878261347041253038">দেবনাগরী কীবোর্ড (ফোনেটিক)</translation> <translation id="6880587130513028875">এই পৃষ্ঠাতে চিত্রগুলি ব্লক করা হয়েছে৷</translation> @@ -4419,7 +4415,7 @@ <translation id="693807610556624488">"<ph name="DEVICE_NAME" />" এ লেখার ক্রিয়াকলাপ অ্যাট্রিবিউটের সর্বাধিক দৈর্ঘ্য অতিক্রম করেছে।</translation> <translation id="6939777852457331078">মার্কিন ওয়ার্কম্যান কীবোর্ড</translation> <translation id="6941427089482296743">দেখানো সবগুলি সরান</translation> -<translation id="6941937518557314510">আপনার শংসাপত্র দিয়ে <ph name="HOST_NAME" />-এ প্রমাণীকরণ করতে দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন করুন৷</translation> +<translation id="6941937518557314510">আপনার শংসাপত্র দিয়ে <ph name="HOST_NAME" />-এ প্রমাণীকরণ করতে দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন৷</translation> <translation id="6943176775188458830">মুদ্রণ বাতিল করুন</translation> <translation id="6943836128787782965">HTTP ব্যর্থ হয়েছে</translation> <translation id="6945190755118630152">UI ভাষার ডিফল্ট গতিপথ ওভাররাইড করার মাধ্যমে UI কে সুনির্দিষ্টভাবে বাঁ-থেকে-ডান (LTR) বা ডান-থেকে-বাঁ মোডে (RTL) যেতে বাধ্য করে।</translation> @@ -4533,7 +4529,7 @@ <translation id="7075513071073410194">RSA এনক্রিপশান সহ PKCS #1 MD5</translation> <translation id="7075625805486468288">HTTPS/SSL শংসাপত্র এবং সেটিংস পরিচালনা করুন</translation> <translation id="7076293881109082629">প্রবেশ করুন হচ্ছে</translation> -<translation id="7077829361966535409">সাইন-ইন পৃষ্ঠাটি বর্তমান প্রক্সি সেটিংস ব্যবহার করে লোড হতে ব্যর্থ হয়েছে৷ দয়া করে <ph name="GAIA_RELOAD_LINK_START" />আবার প্রবেশ করুন করার চেষ্টা করুন<ph name="GAIA_RELOAD_LINK_END" />, অথবা পৃথক <ph name="PROXY_SETTINGS_LINK_START" />প্রক্সি সেটিংস<ph name="PROXY_SETTINGS_LINK_END" /> ব্যবহার করুন৷</translation> +<translation id="7077829361966535409">সাইন-ইন পৃষ্ঠাটি বর্তমান প্রক্সি সেটিংস ব্যবহার করে লোড হতে ব্যর্থ হয়েছে৷ দয়া করে <ph name="GAIA_RELOAD_LINK_START" />আবার প্রবেশ করার চেষ্টা করুন<ph name="GAIA_RELOAD_LINK_END" />, অথবা পৃথক <ph name="PROXY_SETTINGS_LINK_START" />প্রক্সি সেটিংস<ph name="PROXY_SETTINGS_LINK_END" /> ব্যবহার করুন৷</translation> <translation id="7077872827894353012">প্রোটোকল নিয়ন্ত্রণকারীকে এড়ানো হয়েছে</translation> <translation id="7078120482318506217">সকল নেটওয়ার্কগুলি</translation> <translation id="708060913198414444">অ&ডিও ঠিকানা কপি করুন</translation> @@ -4636,7 +4632,7 @@ <translation id="7230787553283372882">আপনার পাঠ্যের আকার কাস্টমাইজ করুন</translation> <translation id="7238585580608191973">SHA-256 আঙুলের ছাপ</translation> <translation id="7240120331469437312">শংসাপত্র বিষয় বিকল্প নাম</translation> -<translation id="7241389281993241388">ক্লায়েন্ট শংসাপত্র আমদানি করতে দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন করুন৷</translation> +<translation id="7241389281993241388">ক্লায়েন্ট শংসাপত্র আমদানি করতে দয়া করে <ph name="TOKEN_NAME" />-এ প্রবেশ করুন৷</translation> <translation id="7243055093079293866">একটি নতুন ট্যাবে "Ok Google" বলুন এবং google.com</translation> <translation id="7243632151880336635">সাফ করে প্রস্থান করুন</translation> <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (সর্বোত্তম)</translation> @@ -4651,7 +4647,7 @@ <translation id="7256710573727326513">একটি ট্যাবে খুলুন</translation> <translation id="7257666756905341374">আপনি যে ডেটা প্রতিলিপি ও লেপন করেন তা পড়ুন</translation> <translation id="7260504762447901703">অ্যাক্সেস প্রত্যাহার করুন</translation> -<translation id="7262004276116528033">এই প্রবেশ করুন করা পরিষেবাটি <ph name="SAML_DOMAIN" /> দ্বারা হোস্ট করা হয়</translation> +<translation id="7262004276116528033">এই প্রবেশ করা পরিষেবাটি <ph name="SAML_DOMAIN" /> দ্বারা হোস্ট করা হয়</translation> <translation id="7262221505565121">আনসান্ডবক্সড প্ল্যাগ ইন অ্যাক্সেস ব্যতিক্রমসমূহ</translation> <translation id="7264275118036872269">ব্লুটুথ ডিভাইস আবিষ্কার আরম্ভ করতে ব্যর্থ৷</translation> <translation id="7264454014834869122">Chrome ওয়েব স্টোর থেকে পছন্দ করুন</translation> @@ -4689,7 +4685,7 @@ <translation id="7321545336522791733">সার্ভারে সংযোগ করা যাচ্ছে না</translation> <translation id="7325437708553334317">উচ্চ বৈপরীত্য এক্সটেনশন</translation> <translation id="7326565110843845436">টাচপ্যাড তিন-আঙুল-ক্লিক</translation> -<translation id="7327088014939803293">তত্ত্বাবধানে থাকা নতুন ব্যবহারকারী তৈরি করা যায়নি৷ দয়া করে নিশ্চিত করুন যে আপনি সঠিকভাবে প্রবেশ করুন করেছেন এবং আবার চেষ্টা করুন৷</translation> +<translation id="7327088014939803293">তত্ত্বাবধানে থাকা নতুন ব্যবহারকারী তৈরি করা যায়নি৷ দয়া করে নিশ্চিত করুন যে আপনি সঠিকভাবে প্রবেশ করেছেন এবং আবার চেষ্টা করুন৷</translation> <translation id="73289266812733869">অনির্বাচিত</translation> <translation id="7329154610228416156">এটি একটি অ-নিরাপদ URL (<ph name="BLOCKED_URL" />) ব্যবহারের জন্য কনফিগার করা থাকায় প্রবেশ করুন ব্যর্থ হয়েছে। দয়া করে আপনার প্রশাসকের সাথে যোগাযোগ করুন।</translation> <translation id="7331786426925973633">গতি, সরলতা, এবং নিরাপত্তার জন্য নির্মিত একটি ওয়েব ব্রাউজার</translation> @@ -4870,9 +4866,9 @@ <translation id="7559719679815339381">দয়া করে অপেক্ষা করুন....এখন কিয়ক্স অ্যাপ্লিকেশানের আপডেট চলছে৷ USB স্টিকটি সরাবেন না৷</translation> <translation id="7561196759112975576">সবসময়</translation> <translation id="7561276213638531222">শেয়ার করে নেওয়া নেটওয়ার্কগুলির জন্য প্রক্সীগুলির অনুমতি দিতে পরিবর্তন নিশ্চিত করুন</translation> -<translation id="7563991800558061108">এই ত্রুটি থেকে পুনরুদ্ধার করার জন্য, প্রবেশ করুন স্ক্রীনে আপনাকে আপনার Google - অ্যাকাউন্টে প্রবেশ করুন করার প্রয়োজন হবে৷ এরপরে আপনি আপনার Google - থেকে অ্যাকাউন্ট প্রস্থান করুন করতে পারেন এবং আবার একটি তত্ত্বাবধানে থাকা ব্যবহারকারী তৈরি করার চেষ্টা করুন৷</translation> +<translation id="7563991800558061108">এই ত্রুটি থেকে পুনরুদ্ধার করার জন্য, প্রবেশ স্ক্রীনে আপনাকে আপনার Google + অ্যাকাউন্টে প্রবেশ করার প্রয়োজন হবে৷ এরপরে আপনি আপনার Google + থেকে অ্যাকাউন্ট প্রস্থান করতে পারেন এবং আবার একটি তত্ত্বাবধানে থাকা ব্যবহারকারী তৈরি করার চেষ্টা করুন৷</translation> <translation id="756445078718366910">ব্রাউজার উইন্ডো খুলুন</translation> <translation id="7564847347806291057">সমাপ্তি প্রক্রিয়া</translation> <translation id="7566723889363720618">F12</translation> @@ -4919,7 +4915,7 @@ <translation id="7632948528260659758">নিম্নলিখিত kiosk অ্যাপ্লিকেশানগুলি আপডেট হতে ব্যর্থ হয়েছে:</translation> <translation id="7634566076839829401">কিছু গন্ডগোল হয়েছে৷ দয়া করে আবার চেষ্টা করুন৷</translation> <translation id="7639178625568735185">বুঝেছি!</translation> -<translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> স্বয়ংক্রিয়ভাবে আপনার সংরক্ষণ করা পাসওয়ার্ড দিয়ে উপযুক্ত সাইটগুলিতে আপনাকে প্রবেশ করুন করায়।</translation> +<translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> স্বয়ংক্রিয়ভাবে আপনার সংরক্ষণ করা পাসওয়ার্ড দিয়ে উপযুক্ত সাইটগুলিতে আপনাকে প্রবেশ করায়।</translation> <translation id="7644029910725868934">তত্ত্বাবধানে থাকা ব্যবহারকারীর জন্য পরিচালিত বুকমার্ক ফোল্ডার সক্ষম করুন।</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (মালিক)</translation> <translation id="7646821968331713409">রাস্টার থ্রেডের সংখ্যা</translation> @@ -5026,7 +5022,7 @@ <translation id="7788444488075094252">ভাষাসমূহ এবং ইনপুট</translation> <translation id="7788668840732459509">অবস্থান:</translation> <translation id="7791543448312431591">যুক্ত করুন</translation> -<translation id="7792012425874949788">প্রবেশ করুন করার সময় কিছু সমস্যা হয়েছে</translation> +<translation id="7792012425874949788">প্রবেশ করার সময় কিছু সমস্যা হয়েছে</translation> <translation id="7792189849306326819">ভাষা নির্বাচনের মেনু। বর্তমানে নির্বাচিত ভাষা হলো <ph name="LANGUAGE" />।</translation> <translation id="7792388396321542707">শেয়ার করা বন্ধ করুন</translation> <translation id="7794058097940213561">ডিভাইস বিন্যাস করুন</translation> @@ -5065,7 +5061,7 @@ <translation id="7847212883280406910"><ph name="IDS_SHORT_PRODUCT_OS_NAME" /> এ স্যুইচ করার জন্য Ctrl + Alt + S টিপুন</translation> <translation id="7849264908733290972">&চিত্র নতুন ট্যাবে খুলুন</translation> <translation id="7850851215703745691">এই ড্রাইভ ফাইলগুলি এখনো শেয়ার করা হয়নি</translation> -<translation id="7851457902707056880">শুধুমাত্র মালিক অ্যাকউন্টে প্রবেশ করুন সীমাবদ্ধ করা হয়েছে৷ দয়া করে পুনরায় বুট করে মালিক অ্যাকউন্ট দিয়ে প্রবেশ করুন করুন৷ মেশিনটি 30 সেকেন্ডের মধ্যে স্বয়ংক্রিয় ভাবে পুনরায় বুট হবে৷</translation> +<translation id="7851457902707056880">শুধুমাত্র মালিক অ্যাকউন্টে প্রবেশ সীমাবদ্ধ করা হয়েছে৷ দয়া করে পুনরায় বুট করে মালিক অ্যাকউন্ট দিয়ে প্রবেশ করুন৷ মেশিনটি 30 সেকেন্ডের মধ্যে স্বয়ংক্রিয় ভাবে পুনরায় বুট হবে৷</translation> <translation id="7851716364080026749">সর্বদা ক্যামেরা এবং মাইক্রোফোনের অ্যাক্সেস অবরুদ্ধ করুন</translation> <translation id="7853747251428735">আরো সর&ঞ্জাম</translation> <translation id="7853966320808728790">ফরাসি BÉPO</translation> @@ -5288,7 +5284,7 @@ <translation id="8142732521333266922">ঠিক আছে, সবকিছু সমন্বয় করুন</translation> <translation id="8144022414479088182">আপনি কি এই ডিভাইসটিকে একটি Chromebox মিটিং ডিভাইস হিসেবে সেট আপ করার বিষয়ে নিশ্চিত?</translation> <translation id="8145409227593688472">উবি ইনপুট পদ্ধতি</translation> -<translation id="8146177459103116374">আপনি যদি এই ডিভাইসে ইতিমধ্যেই নিবন্ধন করে থাকনে, তাহলে আপনি <ph name="LINK2_START" />একজন বিদ্যমান ব্যবহারকারী হিসাবে প্রবেশ করুন করতে পারেন<ph name="LINK2_END" />৷</translation> +<translation id="8146177459103116374">আপনি যদি এই ডিভাইসে ইতিমধ্যেই নিবন্ধন করে থাকনে, তাহলে আপনি <ph name="LINK2_START" />একজন বিদ্যমান ব্যবহারকারী হিসাবে প্রবেশ করতে পারেন<ph name="LINK2_END" />৷</translation> <translation id="8146793085009540321">প্রবেশ করুন ব্যর্থ হয়েছে। দয়া করে আপনার প্রশাসকের সাথে যোগাযোগ করুন অথবা আবার চেষ্টা করুন।</translation> <translation id="8148264977957212129">পিনইন ইনপুট পদ্ধতি</translation> <translation id="8148913456785123871">লঞ্চারে Google Now কার্ডগুলি দেখান</translation> @@ -5378,7 +5374,6 @@ <translation id="8260864402787962391">মাউস</translation> <translation id="8261378640211443080">এই এক্সটেনশানটি <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> এ তালিকাভুক্ত নেই এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছে৷</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> এর জন্য অ্যাকাউন্ট যোগ করুন</translation> -<translation id="8261490674758214762">তারা করতে পারে:</translation> <translation id="8261506727792406068">মুছুন</translation> <translation id="8261580862248730866">মাইক্রোফোন ব্যতিক্রমগুলি</translation> <translation id="8261673729476082470"><ph name="BEGIN_LINK" />Google ড্রাইভ<ph name="END_LINK" /> এ <ph name="FILE_COUNT" />টি ফটোর ব্যাকআপ নেওয়া হচ্ছে</translation> @@ -5458,7 +5453,7 @@ <translation id="8382913212082956454">&ইমেল ঠিকানা কপি করুন</translation> <translation id="8384113940676655504">Smart Lock সেটিং সক্ষম করে যা ফোনটি Chromebook টির নিকটে থাকলে সেটিকে আনলক করার জন্য Chromebook কে Bleutooth কম শক্তির মাধ্যমে ফোনগুলি আবিষ্কার করতে দেয়।</translation> <translation id="8389849690213170419">আপনার সাইন ইন করা ডিভাইসগুলি থেকে ইতিহাস দেখাচ্ছে।</translation> -<translation id="8390029840652165810">আপনার নেটওয়ার্ক সংযোগ কাজ করছে কি না নিশ্চিত করুন এবং সমস্যা থেকে গেলে, আপনার শংসাপত্র রিফ্রেশ করতে দয়া করে প্রস্থান করুন করুন ও আবার প্রবেশ করুন করুন৷</translation> +<translation id="8390029840652165810">আপনার নেটওয়ার্ক সংযোগ কাজ করছে কি না নিশ্চিত করুন এবং সমস্যা থেকে গেলে, আপনার শংসাপত্র রিফ্রেশ করতে দয়া করে প্রস্থান করুন ও আবার প্রবেশ করুন৷</translation> <translation id="8390445751804042000">কিছু নেটওয়ার্ক প্যাকেট প্রাপ্তির উপর ভিত্তি করে ডিভাইসকে জাগ্রত করতে সক্ষম করে৷</translation> <translation id="8390449457866780408">সার্ভার অনুপলব্ধ৷</translation> <translation id="839072384475670817">অ্যাপ্লিকেশন &শর্টকাট তৈরি করুন...</translation> @@ -5518,7 +5513,7 @@ <translation id="8461329675984532579">হোম পরিষেবা প্রদানকারীর নাম</translation> <translation id="84613761564611563">নেটওয়ার্ক কনফিগার UI এর অনুরোধ করা হয়েছে, দয়া করে অপেক্ষা করুন...</translation> <translation id="8461914792118322307">প্রক্সি</translation> -<translation id="8463215747450521436">এই তত্ত্বাবধানে থাকা ব্যবহারকারীটি পরিচালকের দ্বারা মুছে দেওয়া বা অক্ষম করে রাখা থাকতে পারে৷ আপনি যদি এই ব্যবহারকারী হিসেবে প্রবেশ করুন করা চালিয়ে যেতে চান তাহলে দয়া করে পরিচালকের সঙ্গে যোগাযোগ করুন৷</translation> +<translation id="8463215747450521436">এই তত্ত্বাবধানে থাকা ব্যবহারকারীটি পরিচালকের দ্বারা মুছে দেওয়া বা অক্ষম করে রাখা থাকতে পারে৷ আপনি যদি এই ব্যবহারকারী হিসেবে প্রবেশ করা চালিয়ে যেতে চান তাহলে দয়া করে পরিচালকের সঙ্গে যোগাযোগ করুন৷</translation> <translation id="8463955938112983119"><ph name="PLUGIN_NAME" /> অক্ষম করা হয়েছে।</translation> <translation id="8464132254133862871">এই ব্যবহারকারীর অ্যাকাউন্টটি পরিষেবাটির জন্য যোগ্য নয়৷</translation> <translation id="8465252176946159372">বৈধ না</translation> @@ -5719,7 +5714,7 @@ <translation id="8727142376512517020">এটিকে আবার দেখাবেন না</translation> <translation id="8730621377337864115">সম্পন্ন হয়েছে</translation> <translation id="8732030010853991079">এই আইকনের উপর ক্লিক করে এই এক্সটেনশনটি ব্যবহার করুন৷</translation> -<translation id="8732212173949624846">আপনার সমস্ত প্রবেশ করুন করা ডিভাইসে ব্রাউজিং ইতিহাস পড়ুন এবং সংশোধন করুন</translation> +<translation id="8732212173949624846">আপনার সমস্ত প্রবেশ করা ডিভাইসে ব্রাউজিং ইতিহাস পড়ুন এবং সংশোধন করুন</translation> <translation id="8734073480934656039">এই সেটিংটি সক্ষম করলে kiosk অ্যাপ্লিকেশানগুলি সিস্টেমের প্রারম্ভে লঞ্চ করতে পারবেন৷</translation> <translation id="873545264931343897"><ph name="PLUGIN_NAME" /> আপডেট হওয়া শেষ হলে, এটি সক্রিয় করতে পৃষ্ঠাটি পুনঃলোড করুন</translation> <translation id="8736288397686080465">পটভূমিতে এই সাইটটি আপডেট করা হয়েছে৷</translation> @@ -5882,7 +5877,7 @@ <translation id="8957423540740801332">ডান</translation> <translation id="8958084571232797708">একটি স্বয়ংক্রিয় কনফিগার করা URL ব্যবহার করুন</translation> <translation id="895944840846194039">JavaScript মেমোরি</translation> -<translation id="8959810181433034287">প্রবেশ করুন করতে তত্ত্বাবধান করা ব্যবহারকারীকে এই পাসওয়ার্ডটি ব্যবহার করতে হবে, তাই একটি নিরাপদ পাসওয়ার্ড নির্বাচন করুন এবং তত্ত্বাবধান করা ব্যবহারকারীকে এটি জানানোর কথা মনে রাখুন৷</translation> +<translation id="8959810181433034287">প্রবেশ করতে তত্ত্বাবধান করা ব্যবহারকারীকে এই পাসওয়ার্ডটি ব্যবহার করতে হবে, তাই একটি নিরাপদ পাসওয়ার্ড নির্বাচন করুন এবং তত্ত্বাবধান করা ব্যবহারকারীকে এটি জানানোর কথা মনে রাখুন৷</translation> <translation id="8960795431111723921">আমরা বর্তমানে এই সমস্যাটি তদন্ত করছি৷</translation> <translation id="8960999352790021682">বাংলা কীবোর্ড (ফোনেটিক)</translation> <translation id="8962083179518285172">বিবরণ লুকান</translation> @@ -5966,7 +5961,7 @@ <translation id="9070219033670098627">ব্যক্তি পরিবর্তন করুন</translation> <translation id="9070940116164932228">ব্যয়বহুল পটভূমি টাইমারের গতি নিয়ন্ত্রণ</translation> <translation id="907148966137935206">পপ-আপগুলি দেখানোর জন্য কোনও সাইটকে মঞ্জুরি দেবেন না (প্রস্তাবিত)</translation> -<translation id="9072550133391925347"><ph name="PASSWORD_MANAGER_BRAND" /> স্বয়ংক্রিয়ভাবে আপনার সংরক্ষণ করা পাসওয়ার্ড দিয়ে উপযুক্ত সাইট এবং অ্যাপ্লিকেশানগুলিতে আপনাকে প্রবেশ করুন করায়।</translation> +<translation id="9072550133391925347"><ph name="PASSWORD_MANAGER_BRAND" /> স্বয়ংক্রিয়ভাবে আপনার সংরক্ষণ করা পাসওয়ার্ড দিয়ে উপযুক্ত সাইট এবং অ্যাপ্লিকেশানগুলিতে আপনাকে প্রবেশ করায়।</translation> <translation id="9073281213608662541">PAP</translation> <translation id="9074739597929991885">ব্লুটুথ</translation> <translation id="9074836595010225693">USB মাউস সংযুক্ত হয়েছে</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb index cecdccbb..6d1b0685 100644 --- a/chrome/app/resources/generated_resources_ca.xtb +++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteració (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Carrega la imatge</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Voleu provar <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">S'han imprès <ph name="PAGE_NUMBER" /> pàgines correctament a <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">S'està carregant la previsualització</translation> <translation id="1031573127485938293">Pregunta (per política)</translation> @@ -1830,7 +1829,6 @@ <translation id="3359256513598016054">Restriccions de normes de certificats</translation> <translation id="335985608243443814">Examina...</translation> <translation id="3360297538363969800">Hi ha hagut un error en imprimir. Comproveu la impressora i torneu-ho a provar.</translation> -<translation id="3361481787422913716">Mostra la configuració de l'informe</translation> <translation id="336497260564123876">S'ha desat la contrasenya. Per disposar de les contrasenyes en tots els dispositius, inicieu la sessió a Chrome.</translation> <translation id="3367813778245106622">Torna a iniciar la sessió per començar la sincronització</translation> <translation id="3368922792935385530">Connectat</translation> @@ -2006,7 +2004,6 @@ <translation id="358796204584394954">Escriviu aquest codi a "<ph name="DEVICE_NAME" />" per emparellar-lo:</translation> <translation id="3588662957555259973">* Foto del perfil de Google</translation> <translation id="3590194807845837023">Desbloqueja el perfil i torna a iniciar</translation> -<translation id="3590559774363307859">S'ha desat la contrasenya. Hi podeu accedir, així com a totes les <ph name="SAVED_PASSWORDS_LINK" />, des de qualsevol navegador.</translation> <translation id="3592260987370335752">&Més informació</translation> <translation id="359283478042092570">Entra</translation> <translation id="3593965109698325041">Restriccions del nom de certificat</translation> @@ -2828,7 +2825,6 @@ <translation id="4764865176798926079">domContentLoaded del marc principal i totes les càrregues de recursos iniciades abans de domContentLoaded (iframes ignorats).</translation> <translation id="4768332406694066911">Tens certificats d'aquestes organitzacions que t'identifiquen</translation> <translation id="4768698601728450387">Retalla la imatge</translation> -<translation id="4773696473262035477">Podeu accedir-hi, així com a totes les vostres <ph name="SAVED_PASSWORDS_LINK" />, des de qualsevol navegador.</translation> <translation id="4776917500594043016">Contrasenya per a <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Anomena i desa la pàgina...</translation> @@ -5371,7 +5367,6 @@ <translation id="8260864402787962391">Ratolí</translation> <translation id="8261378640211443080">Aquesta extensió no apareix a <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i és possible que s'hagi afegit sense que ho sapigueu.</translation> <translation id="8261387128019234107">Afegeix un compte per a: <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Poden:</translation> <translation id="8261506727792406068">Suprimeix</translation> <translation id="8261580862248730866">Excepcions del micròfon</translation> <translation id="8261673729476082470">S'està creant una còpia de seguretat de <ph name="FILE_COUNT" /> fotos a <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb index 4ca57c2..432e6b92 100644 --- a/chrome/app/resources/generated_resources_cs.xtb +++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Přepis (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Načíst obrázek</translation> <translation id="1029317248976101138">Lupa</translation> -<translation id="1029595648591494741">Chcete vyzkoušet rozšíření <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">Na tiskárně <ph name="PRINTER_NAME" /> byl úspěšně vytisknut tento počet stránek: <ph name="PAGE_NUMBER" /></translation> <translation id="1031362278801463162">Načítání náhledu</translation> <translation id="1031573127485938293">Zeptat se (podle zásad)</translation> @@ -1830,7 +1829,6 @@ <translation id="3359256513598016054">Omezení zásad certifikátu</translation> <translation id="335985608243443814">Procházet...</translation> <translation id="3360297538363969800">Tisk se nezdařil. Zkontrolujte tiskárnu a zkuste to znovu.</translation> -<translation id="3361481787422913716">Zobrazit nastavení zprávy</translation> <translation id="336497260564123876">Heslo bylo uloženo. Chcete-li hesla synchronizovat do všech svých zařízení, přihlaste se do Chromu.</translation> <translation id="3367813778245106622">Chcete-li zahájit synchronizaci, znovu se přihlaste.</translation> <translation id="3368922792935385530">Připojeno</translation> @@ -2006,7 +2004,6 @@ <translation id="358796204584394954">V zařízení „<ph name="DEVICE_NAME" />“ zadejte tento kód:</translation> <translation id="3588662957555259973">* Profilová fotografie Google</translation> <translation id="3590194807845837023">Odemknout profil a spustit znovu</translation> -<translation id="3590559774363307859">Heslo bylo uloženo. Toto heslo i ostatní <ph name="SAVED_PASSWORDS_LINK" /> můžete zobrazit v libovolném prohlížeči.</translation> <translation id="3592260987370335752">&Další informace</translation> <translation id="359283478042092570">Vstoupit</translation> <translation id="3593965109698325041">Omezení názvu certifikátu</translation> @@ -2829,7 +2826,6 @@ <translation id="4764865176798926079">Událost domContentLoaded hlavního rámce a načítání všech zdrojů zahájeno před událostí domContentLoaded (prvky iframe jsou ignorovány).</translation> <translation id="4768332406694066911">Od následujících organizací máte certifikáty, které vás identifikují</translation> <translation id="4768698601728450387">Ořezat obrázek</translation> -<translation id="4773696473262035477">Toto heslo i ostatní <ph name="SAVED_PASSWORDS_LINK" /> můžete zobrazit v libovolném prohlížeči.</translation> <translation id="4776917500594043016">Heslo pro účet <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Lupa</translation> <translation id="4780321648949301421">Uložit stránku jako...</translation> @@ -3754,7 +3750,7 @@ <translation id="6015796118275082299">Rok</translation> <translation id="6016551720757758985">Potvrďte obnovení pomocí funkce Powerwash a návrat k předchozí verzi aplikace</translation> <translation id="6016809788585079594">Ještě jednou a naposledy řekněte „Ok Google“</translation> -<translation id="6016972670657536680">Tlačítko pro výběr jazyka a klávesnice. Aktuálně je vybrán jazyk <ph name="LANGUAGE" />.</translation> +<translation id="6016972670657536680">Tlačítko pro výběr jazyka a klávesnice. Aktuálně je vybrána <ph name="LANGUAGE" />.</translation> <translation id="6017225534417889107">Změnit...</translation> <translation id="6017981840202692187">Přidat do aplikací</translation> <translation id="6019169947004469866">Oříznout</translation> @@ -5024,7 +5020,7 @@ <translation id="7788668840732459509">Pozice:</translation> <translation id="7791543448312431591">Přidat</translation> <translation id="7792012425874949788">Při přihlašování se něco pokazilo</translation> -<translation id="7792189849306326819">Nabídka výběru jazyka. Aktuálně je vybrán jazyk <ph name="LANGUAGE" />.</translation> +<translation id="7792189849306326819">Nabídka výběru jazyka. Aktuálně je vybrána <ph name="LANGUAGE" />.</translation> <translation id="7792388396321542707">Ukončit sdílení</translation> <translation id="7794058097940213561">Formátovat zařízení</translation> <translation id="779798319486679958">Vyberte typy písem</translation> @@ -5375,7 +5371,6 @@ <translation id="8260864402787962391">Myš</translation> <translation id="8261378640211443080">Toto rozšíření není uvedeno na webu <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> a mohlo být přidáno bez vašeho vědomí.</translation> <translation id="8261387128019234107">Přidat účet pro profil <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Mohou:</translation> <translation id="8261506727792406068">Vymazat</translation> <translation id="8261580862248730866">Výjimky mikrofonu</translation> <translation id="8261673729476082470">Probíhá zálohování <ph name="FILE_COUNT" /> fotek na <ph name="BEGIN_LINK" />Disk Google<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb index 1b4ac2a..789bac2 100644 --- a/chrome/app/resources/generated_resources_da.xtb +++ b/chrome/app/resources/generated_resources_da.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Translitteration (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Indlæs billede</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Vil du prøve "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Udskrev <ph name="PAGE_NUMBER" /> sider til <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Indlæser eksempel</translation> <translation id="1031573127485938293">Spørg (i henhold til politik)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Begrænsninger for certifikatpolitik</translation> <translation id="335985608243443814">Gennemse...</translation> <translation id="3360297538363969800">Udskrivning mislykkedes. Kontrollér din printer, og prøv igen.</translation> -<translation id="3361481787422913716">Se rapportindstillinger</translation> <translation id="336497260564123876">Adgangskoden er gemt. Log ind på Chrome for at se dine adgangskoder på alle dine enheder.</translation> <translation id="3367813778245106622">Log ind igen for at starte synkroniseringen</translation> <translation id="3368922792935385530">Tilsluttet</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Indtast denne kode på enheden "<ph name="DEVICE_NAME" />" for at parre:</translation> <translation id="3588662957555259973">* Google-profilbillede</translation> <translation id="3590194807845837023">Lås profilen op, og genstart</translation> -<translation id="3590559774363307859">Adgangskoden er gemt. Du kan se den og alle dine <ph name="SAVED_PASSWORDS_LINK" /> fra en hvilken som helst browser.</translation> <translation id="3592260987370335752">&Få flere oplysninger</translation> <translation id="359283478042092570">Indtast</translation> <translation id="3593965109698325041">Begrænsninger for certifikatnavn</translation> @@ -2831,7 +2828,6 @@ <translation id="4764865176798926079">Hovedrammens domContentLoaded og alle ressourcer, der blev hentet, begyndte før domContentLoaded (iframes ignoreres).</translation> <translation id="4768332406694066911">Du har certifikater fra disse organisationer, der identificerer dig</translation> <translation id="4768698601728450387">Beskær billede</translation> -<translation id="4773696473262035477">Du kan få adgang til den og alle dine <ph name="SAVED_PASSWORDS_LINK" /> fra enhver browser.</translation> <translation id="4776917500594043016">Adgangskode for <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Gem side som...</translation> @@ -3618,7 +3614,7 @@ <translation id="5818003990515275822">Koreansk</translation> <translation id="5819442873484330149">Hangul 3-sæt (endelig)</translation> <translation id="5819484510464120153">Opret a&ppgenveje...</translation> -<translation id="5822320845790250510">Gennemtving aktivering af styluspennefunktioner</translation> +<translation id="5822320845790250510">Gennemtving aktivering af funktioner til styluspenne</translation> <translation id="5826507051599432481">Kaldenavn (CN)</translation> <translation id="5827266244928330802">Safari</translation> <translation id="5828228029189342317">Du har valgt, at visse filtyper skal åbnes automatisk efter download.</translation> @@ -5383,7 +5379,6 @@ <translation id="8260864402787962391">Mus</translation> <translation id="8261378640211443080">Denne udvidelse er ikke anført i <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> og er muligvis blevet tilføjet, uden at du vidste det.</translation> <translation id="8261387128019234107">Tilføj konto for <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">De kan:</translation> <translation id="8261506727792406068">Slet</translation> <translation id="8261580862248730866">Mikrofonundtagelser</translation> <translation id="8261673729476082470">Sikkerhedskopierer <ph name="FILE_COUNT" /> billeder til <ph name="BEGIN_LINK" />Google Drev<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb index 129e3e7..f7e6ca23 100644 --- a/chrome/app/resources/generated_resources_de.xtb +++ b/chrome/app/resources/generated_resources_de.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteration (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Bild laden</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" testen?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> Seiten wurden über <ph name="PRINTER_NAME" /> ausgedruckt</translation> <translation id="1031362278801463162">Vorschau wird geladen...</translation> <translation id="1031573127485938293">Nachfragen (gemäß Richtlinien)</translation> @@ -1827,7 +1826,6 @@ <translation id="3359256513598016054">Beschränkungen für Zertifikatrichtlinien</translation> <translation id="335985608243443814">Durchsuchen...</translation> <translation id="3360297538363969800">Fehler beim Drucken. Bitte überprüfen Sie Ihren Drucker und versuchen Sie es erneut.</translation> -<translation id="3361481787422913716">Berichteinstellungen anzeigen</translation> <translation id="336497260564123876">Passwort gespeichert. Melden Sie sich in Chrome an, um Ihr Passwort auf allen Ihren Geräten zu nutzen.</translation> <translation id="3367813778245106622">Melden Sie sich nochmals an, um die Synchronisierung zu starten</translation> <translation id="3368922792935385530">Verbunden</translation> @@ -2003,7 +2001,6 @@ <translation id="358796204584394954">Geben Sie zur Kopplung diesen Code auf "<ph name="DEVICE_NAME" />" ein:</translation> <translation id="3588662957555259973">* Google Profile-Foto</translation> <translation id="3590194807845837023">Profil entsperren und Chrome neu starten</translation> -<translation id="3590559774363307859">Das Passwort wurde gespeichert. <ph name="SAVED_PASSWORDS_LINK" /> können Sie von jedem Browser aus aufrufen.</translation> <translation id="3592260987370335752">&Weitere Informationen</translation> <translation id="359283478042092570">Anmelden</translation> <translation id="3593965109698325041">Beschränkungen für Zertifikatsnamen</translation> @@ -2825,7 +2822,6 @@ <translation id="4764865176798926079">domContentLoaded in Hauptframe und alle Ressourcen-Ladevorgänge vor domContentLoaded gestartet (iframes ignoriert).</translation> <translation id="4768332406694066911">Ihr Name ist in den Zertifikaten folgender Organisationen angegeben</translation> <translation id="4768698601728450387">Bild zuschneiden</translation> -<translation id="4773696473262035477"><ph name="SAVED_PASSWORDS_LINK" /> können Sie von jedem Browser aus aufrufen.</translation> <translation id="4776917500594043016">Passwort für <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoomen</translation> <translation id="4780321648949301421">Seite speichern unter...</translation> @@ -4869,7 +4865,7 @@ <translation id="7559719679815339381">Die Kiosk-App wird gerade aktualisiert, bitte warten. Entfernen Sie den USB-Stick nicht.</translation> <translation id="7561196759112975576">Immer</translation> <translation id="7561276213638531222">Nutzung von Proxies für freigegebene Netzwerke bestätigen</translation> -<translation id="7563991800558061108">Zur Behebung dieses Problems müssen Sie sich auf der Anmeldeseite in Ihrem +<translation id="7563991800558061108">Wenn Sie dieses Problems beheben möchten, müssen Sie sich auf der Anmeldeseite in Ihrem Google-Konto anmelden. Sie können sich dann aus Ihrem Google-Konto abmelden und erneut versuchen, einen betreuten Nutzer zu erstellen.</translation> <translation id="756445078718366910">Browserfenster öffnen</translation> @@ -5377,7 +5373,6 @@ <translation id="8260864402787962391">Maus</translation> <translation id="8261378640211443080">Diese Erweiterung ist nicht im <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> aufgeführt und wurde möglicherweise ohne Ihr Wissen hinzugefügt.</translation> <translation id="8261387128019234107">Konto für <ph name="PROFILE_NAME" /> hinzufügen</translation> -<translation id="8261490674758214762">Sie können:</translation> <translation id="8261506727792406068">Löschen</translation> <translation id="8261580862248730866">Mikrofonausnahmen</translation> <translation id="8261673729476082470">Sicherung von <ph name="FILE_COUNT" /> Fotos auf <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb index ea4af65..6d24e876 100644 --- a/chrome/app/resources/generated_resources_el.xtb +++ b/chrome/app/resources/generated_resources_el.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Μεταγραφή (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Φόρτωση εικόνας</translation> <translation id="1029317248976101138">Μεγέθυνση</translation> -<translation id="1029595648591494741">Δοκιμή της επέκτασης "<ph name="EXTENSION_NAME" />";</translation> <translation id="1030173864176315846">Εκτυπώθηκαν με επιτυχία <ph name="PAGE_NUMBER" /> σελίδες στον εκτυπωτή <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Φόρτωση προεπισκόπησης</translation> <translation id="1031573127485938293">Να γίνεται ερώτηση (από την πολιτική)</translation> @@ -1839,7 +1838,6 @@ <translation id="3359256513598016054">Περιορισμοί πολιτικής πιστοποιητικού</translation> <translation id="335985608243443814">Περιήγηση...</translation> <translation id="3360297538363969800">Η εκτύπωση απέτυχε. Ελέγξτε τον εκτυπωτή σας και δοκιμάστε ξανά.</translation> -<translation id="3361481787422913716">Προβολή ρυθμίσεων αναφοράς</translation> <translation id="336497260564123876">Ο κωδικός πρόσβασης αποθηκεύτηκε. Για να εμφανίζονται οι κωδικοί πρόσβασης σε όλες τις συσκευές σας, συνδεθείτε στο Chrome.</translation> <translation id="3367813778245106622">Συνδεθείτε ξανά για να ξεκινήσετε τον συγχρονισμό</translation> <translation id="3368922792935385530">Σε σύνδεση</translation> @@ -2016,7 +2014,6 @@ <translation id="358796204584394954">Πληκτρολογήστε αυτόν τον κωδικό στη συσκευή "<ph name="DEVICE_NAME" />" για να κάνετε σύζευξη:</translation> <translation id="3588662957555259973">* Φωτογραφία προφίλ Google</translation> <translation id="3590194807845837023">Ξεκλείδωμα προφίλ και επανεκκίνηση</translation> -<translation id="3590559774363307859">Ο κωδικός πρόσβασης αποθηκεύτηκε. Μπορείτε να αποκτήσετε πρόσβαση σε αυτόν και σε όλους τους <ph name="SAVED_PASSWORDS_LINK" /> από οποιοδήποτε πρόγραμμα περιήγησης.</translation> <translation id="3592260987370335752">&Μάθετε περισσότερα</translation> <translation id="359283478042092570">Είσοδος</translation> <translation id="3593965109698325041">Περιορισμοί ονόματος πιστοποιητικού</translation> @@ -2843,7 +2840,6 @@ <translation id="4764865176798926079">Το domContentLoaded του κύριου πλαισίου και όλες οι φορτώσεις πόρων που ξεκίνησαν πριν από το domContentLoaded (με παράβλεψη iframe).</translation> <translation id="4768332406694066911">Διαθέτετε πιστοποιητικά από αυτούς τους οργανισμούς που σας προσδιορίζουν</translation> <translation id="4768698601728450387">Περικοπή εικόνας</translation> -<translation id="4773696473262035477">Μπορείτε να δείτε αυτόν τον κωδικό πρόσβασής σας, αλλά και όλους τους υπόλοιπους <ph name="SAVED_PASSWORDS_LINK" /> από οποιοδήποτε πρόγραμμα περιήγησης.</translation> <translation id="4776917500594043016">Κωδικός πρόσβασης για <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Μεγέθυνση</translation> <translation id="4780321648949301421">Αποθήκευση σελίδας &ως...</translation> @@ -5407,7 +5403,6 @@ <translation id="8260864402787962391">Ποντίκι</translation> <translation id="8261378640211443080">Αυτή η επέκταση δεν αναφέρεται στο <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> και ενδέχεται να έχει προστεθεί εν αγνοία σας.</translation> <translation id="8261387128019234107">Προσθήκη λογαριασμού για το προφίλ <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Έχουν τις εξής δυνατότητες:</translation> <translation id="8261506727792406068">Διαγραφή</translation> <translation id="8261580862248730866">Εξαιρέσεις μικροφώνου</translation> <translation id="8261673729476082470">Δημιουργία αντιγράφων ασφαλείας για <ph name="FILE_COUNT" /> φωτογραφίες στο <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb index 83ed93a..9ab45d405 100644 --- a/chrome/app/resources/generated_resources_en-GB.xtb +++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteration (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Load Image</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Try "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Successfully printed <ph name="PAGE_NUMBER" /> pages to <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Loading preview</translation> <translation id="1031573127485938293">Ask (by policy)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Certificate Policy Constraints</translation> <translation id="335985608243443814">Browse...</translation> <translation id="3360297538363969800">Printing failed. Please check your printer and try again.</translation> -<translation id="3361481787422913716">View report settings</translation> <translation id="336497260564123876">Password saved. To get your passwords on all your devices, sign in to Chrome.</translation> <translation id="3367813778245106622">Sign in again to start sync</translation> <translation id="3368922792935385530">Connected</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Type this code on "<ph name="DEVICE_NAME" />" to pair:</translation> <translation id="3588662957555259973">* Google Profile photo</translation> <translation id="3590194807845837023">Unlock Profile and Relaunch</translation> -<translation id="3590559774363307859">Password saved. You can access it and all your <ph name="SAVED_PASSWORDS_LINK" /> from any browser.</translation> <translation id="3592260987370335752">&Learn more</translation> <translation id="359283478042092570">Enter</translation> <translation id="3593965109698325041">Certificate Name Constraints</translation> @@ -2833,7 +2830,6 @@ <translation id="4764865176798926079">Main frame's domContentLoaded and all resources loads started before domContentLoaded (iframes ignored).</translation> <translation id="4768332406694066911">You have certificates from these organisations that identify you</translation> <translation id="4768698601728450387">Crop image</translation> -<translation id="4773696473262035477">You can access it and all your <ph name="SAVED_PASSWORDS_LINK" /> from any browser.</translation> <translation id="4776917500594043016">Password for <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Save Page As...</translation> @@ -5386,7 +5382,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">This extension is not listed in the <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> and may have been added without your knowledge.</translation> <translation id="8261387128019234107">Add account for <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">They can:</translation> <translation id="8261506727792406068">Delete</translation> <translation id="8261580862248730866">Microphone exceptions</translation> <translation id="8261673729476082470">Backing up <ph name="FILE_COUNT" /> photos to <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb index 8a46ce2..ca7961f 100644 --- a/chrome/app/resources/generated_resources_es-419.xtb +++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteración (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Cargar imagen</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">¿Deseas probar "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Se imprimieron <ph name="PAGE_NUMBER" /> páginas en <ph name="PRINTER_NAME" /> de forma correcta</translation> <translation id="1031362278801463162">Cargando vista previa</translation> <translation id="1031573127485938293">Preguntar (por política)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">La nueva configuración de cookie se hará efectiva cuando vuelvas a cargar la página.</translation> <translation id="1470811252759861213">Para usar tus extensiones en todas tus computadoras, <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">Permite habilitar la compatibilidad con el teclado virtual.</translation> -<translation id="1473539320840569129">Fuerza la visualización del menú de herramientas de la pluma stylus en la biblioteca y la sección "Stylus" en la configuración, incluso si no se conectó ningún dispositivo de este tipo.</translation> +<translation id="1473539320840569129">Fuerza la visualización del menú de herramientas de la pluma stylus en la biblioteca y la sección correspondiente en la configuración, incluso si no se conectó ningún dispositivo de este tipo.</translation> <translation id="1474079335130556426">Habilita el modo en segundo plano para la API de Push. Permite que Chrome continúe ejecutándose después de que la última ventana se cierra y que arranque al iniciarse el SO, si la API de Push lo necesita.</translation> <translation id="1474339897586437869">No se cargó "<ph name="FILENAME" />". No hay suficiente espacio libre en Google Drive.</translation> <translation id="1475502736924165259">Tienes certificados archivados que no coinciden con ninguna de las demás categorías</translation> @@ -1828,7 +1827,6 @@ <translation id="3359256513598016054">Restricciones de directivas para certificados</translation> <translation id="335985608243443814">Navegar...</translation> <translation id="3360297538363969800">Se produjo un error al imprimir. Revisa la impresora y vuelve a intentarlo.</translation> -<translation id="3361481787422913716">Ver las opciones de configuración del informe</translation> <translation id="336497260564123876">Se guardó la contraseña. Para obtener tus contraseñas en todos tus dispositivos, accede a Chrome.</translation> <translation id="3367813778245106622">Volver a acceder para iniciar la sincronización</translation> <translation id="3368922792935385530">Conectado</translation> @@ -2004,7 +2002,6 @@ <translation id="358796204584394954">Escribe este código en el dispositivo "<ph name="DEVICE_NAME" />" para sincronizar:</translation> <translation id="3588662957555259973">* Foto de perfil de Google</translation> <translation id="3590194807845837023">Desbloquear perfil y volver a iniciar</translation> -<translation id="3590559774363307859">Se guardó la contraseña. Puedes acceder a ella, al igual que a todas tus <ph name="SAVED_PASSWORDS_LINK" />, desde cualquier navegador.</translation> <translation id="3592260987370335752">&Más información</translation> <translation id="359283478042092570">Ingresar</translation> <translation id="3593965109698325041">Restricciones para el nombre del certificado</translation> @@ -2829,7 +2826,6 @@ <translation id="4764865176798926079">domContentLoaded y todas las cargas de recursos que comenzaron antes de domContentLoaded (marcos incorporados ignorados)</translation> <translation id="4768332406694066911">Tienes certificados de esas organizaciones que te identifican</translation> <translation id="4768698601728450387">Recortar imagen</translation> -<translation id="4773696473262035477">Puedes acceder a la contraseña y a todas tus <ph name="SAVED_PASSWORDS_LINK" /> desde cualquier navegador.</translation> <translation id="4776917500594043016">Contraseña para <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Guardar página como...</translation> @@ -3617,7 +3613,7 @@ <translation id="5818003990515275822">Coreano</translation> <translation id="5819442873484330149">Hangul de triple alternancia (final)</translation> <translation id="5819484510464120153">Crear acce&sos directos a aplicaciones...</translation> -<translation id="5822320845790250510">Forzar la habilitación de las funciones con la pluma stylus</translation> +<translation id="5822320845790250510">Forzar la habilitación de las funciones de la pluma stylus</translation> <translation id="5826507051599432481">Nombre común (CN)</translation> <translation id="5827266244928330802">Safari</translation> <translation id="5828228029189342317">Has elegido abrir ciertos tipos de archivo automáticamente después de la descarga.</translation> @@ -5381,7 +5377,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">Esta extensión no figura en <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> y es posible que se haya agregado sin tu conocimiento.</translation> <translation id="8261387128019234107">Agregar cuenta para <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Pueden:</translation> <translation id="8261506727792406068">Eliminar</translation> <translation id="8261580862248730866">Excepciones del micrófono</translation> <translation id="8261673729476082470">Guardando copia de seguridad de <ph name="FILE_COUNT" /> fotos en <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb index 8531827..b07d67e 100644 --- a/chrome/app/resources/generated_resources_es.xtb +++ b/chrome/app/resources/generated_resources_es.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteración (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Cargar imagen</translation> <translation id="1029317248976101138">Acercar</translation> -<translation id="1029595648591494741">¿Quieres probar "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Se han impreso <ph name="PAGE_NUMBER" /> páginas en <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Cargando vista previa</translation> <translation id="1031573127485938293">Preguntar (por política)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Restricciones de políticas de certificados</translation> <translation id="335985608243443814">Examinar...</translation> <translation id="3360297538363969800">Se ha producido un error al imprimir. Comprueba la impresora y vuelve a intentarlo.</translation> -<translation id="3361481787422913716">Ver configuración del informe</translation> <translation id="336497260564123876">Se ha guardado la contraseña. Inicia sesión en Chrome para acceder a tus contraseñas desde todos tus dispositivos.</translation> <translation id="3367813778245106622">Vuelve a iniciar sesión para que comience la sincronización</translation> <translation id="3368922792935385530">Con conexión</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Escribe este código en el dispositivo <ph name="DEVICE_NAME" /> para vincularlo:</translation> <translation id="3588662957555259973">* Foto de perfil de Google</translation> <translation id="3590194807845837023">Desbloquear perfil y volver a iniciar</translation> -<translation id="3590559774363307859">Contraseña guardada. Puedes acceder a esta y a todas tus <ph name="SAVED_PASSWORDS_LINK" /> desde cualquier navegador.</translation> <translation id="3592260987370335752">&Más información</translation> <translation id="359283478042092570">Acceder</translation> <translation id="3593965109698325041">Restricciones de nombres de certificado</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">El evento domContentLoaded del marco principal y todas las cargas de recursos iniciadas antes que este evento (se ignoran los iframes).</translation> <translation id="4768332406694066911">Tienes certificados de estas organizaciones que te identifican</translation> <translation id="4768698601728450387">Recortar imagen</translation> -<translation id="4773696473262035477">Puedes acceder a esta contraseña y a todas las <ph name="SAVED_PASSWORDS_LINK" /> desde cualquier navegador.</translation> <translation id="4776917500594043016">Contraseña de <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Acercar/alejar</translation> <translation id="4780321648949301421">Guardar página como...</translation> @@ -3469,7 +3465,7 @@ <translation id="5587341999787829537">No permitas que un iframe se desplace al contexto de navegación de nivel superior a menos que tengan el mismo origen o que el iframe esté procesando un gesto del usuario.</translation> <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation> <translation id="558918721941304263">Cargando aplicaciones...</translation> -<translation id="5592595402373377407">Todavía no hay datos suficientes disponibles.</translation> +<translation id="5592595402373377407">Todavía no hay suficientes datos disponibles.</translation> <translation id="5595485650161345191">Editar dirección</translation> <translation id="5601503069213153581">PIN</translation> <translation id="5604324414379907186">Mostrar siempre la barra de marcadores</translation> @@ -5380,7 +5376,6 @@ <translation id="8260864402787962391">Ratón</translation> <translation id="8261378640211443080">Esta extensión no aparece en <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> y se podría haber añadido sin tu conocimiento.</translation> <translation id="8261387128019234107">Añadir cuenta de <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Pueden:</translation> <translation id="8261506727792406068">Eliminar</translation> <translation id="8261580862248730866">Excepciones de micrófono</translation> <translation id="8261673729476082470">Realizando copia de seguridad de <ph name="FILE_COUNT" /> fotos en <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb index 8e8dbfb3..6dc5277 100644 --- a/chrome/app/resources/generated_resources_et.xtb +++ b/chrome/app/resources/generated_resources_et.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteratsioon (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Kujutise laadimine</translation> <translation id="1029317248976101138">Suumi</translation> -<translation id="1029595648591494741">Kas proovida laiendust „<ph name="EXTENSION_NAME" />”?</translation> <translation id="1030173864176315846">Printer <ph name="PRINTER_NAME" /> printis <ph name="PAGE_NUMBER" /> lehte</translation> <translation id="1031362278801463162">Eelvaate laadimine</translation> <translation id="1031573127485938293">Küsi (reegliga)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Sertifikaadi eeskirjade piirangud</translation> <translation id="335985608243443814">Sirvi...</translation> <translation id="3360297538363969800">Printimine ebaõnnestus. Kontrollige printerit ja proovige uuesti.</translation> -<translation id="3361481787422913716">Kuva aruandeseaded</translation> <translation id="336497260564123876">Parool salvestati. Paroolide hankimiseks kõigisse oma seadmetesse logige Chrome'i sisse.</translation> <translation id="3367813778245106622">Sünkroonimise alustamiseks logige uuesti sisse</translation> <translation id="3368922792935385530">Ühendatud</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Sisestage seadmes „<ph name="DEVICE_NAME" />” sidumiseks see kood:</translation> <translation id="3588662957555259973">* Google'i profiilifoto</translation> <translation id="3590194807845837023">Ava profiil ja taaskäivita</translation> -<translation id="3590559774363307859">Parool salvestati. Saate selle ja kõik oma <ph name="SAVED_PASSWORDS_LINK" /> avada igas brauseris.</translation> <translation id="3592260987370335752">&Lisateave</translation> <translation id="359283478042092570">Sisestusklahv</translation> <translation id="3593965109698325041">Sertifikaadi nimepiirangud</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">Põhiraami domContentLoaded ja kõigi ressursside laadimine algas enne domContentLoaded (iframe'e eirati).</translation> <translation id="4768332406694066911">Teil on nende organisatsioonide sertifikaadid, mis teid tuvastavad</translation> <translation id="4768698601728450387">Kujutise kärpimine</translation> -<translation id="4773696473262035477">Saate selle ja kõik oma <ph name="SAVED_PASSWORDS_LINK" /> avada igas brauseris.</translation> <translation id="4776917500594043016">Kasutaja <ph name="USER_EMAIL_ADDRESS" /> parool</translation> <translation id="4779083564647765204">Suumi</translation> <translation id="4780321648949301421">Salvesta leht &nimega...</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">Hiir</translation> <translation id="8261378640211443080">Seda laiendust ei leidu veebipoes <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ja te ei pruugi selle lisamisest teadlik olla.</translation> <translation id="8261387128019234107">Lisa konto profiilile <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Need võivad:</translation> <translation id="8261506727792406068">Kustuta</translation> <translation id="8261580862248730866">Mikrofonierandid</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> foto varundamine teenuses <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb index 13c1cadc..33daeb7 100644 --- a/chrome/app/resources/generated_resources_fa.xtb +++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">نویسهگردانی (vanakkam ← வணக்கம்)</translation> <translation id="1026822031284433028">بارگیری تصویر</translation> <translation id="1029317248976101138">بزرگنمایی</translation> -<translation id="1029595648591494741">«<ph name="EXTENSION_NAME" />» را امتحان میکنید؟</translation> <translation id="1030173864176315846">باموفقیت <ph name="PAGE_NUMBER" /> صفحه در <ph name="PRINTER_NAME" /> چاپ شد</translation> <translation id="1031362278801463162">بارگیری پیشنمایش</translation> <translation id="1031573127485938293">درخواست (توسط خطمشی)</translation> @@ -1829,7 +1828,6 @@ <translation id="3359256513598016054">محدودیتهای سیاست گواهی</translation> <translation id="335985608243443814">مرور...</translation> <translation id="3360297538363969800">چاپ ناموفق بود. لطفاً چاپگرتان را بررسی کنید و دوباره امتحان کنید.</translation> -<translation id="3361481787422913716">مشاهده تنظیمات گزارش</translation> <translation id="336497260564123876">گذرواژه ذخیره شد. برای اینکه گذرواژههایتان را در همه دستگاههایتان دریافت کنید، در Chrome وارد سیستم شوید.</translation> <translation id="3367813778245106622">دوباره به سیستم وارد شوید یا همگامسازی را شروع کنید</translation> <translation id="3368922792935385530">متصل</translation> @@ -2005,7 +2003,6 @@ <translation id="358796204584394954">برای مرتبط کردن، این کد را در «<ph name="DEVICE_NAME" />» تایپ کنید:</translation> <translation id="3588662957555259973">* عکس نمایهٔ Google</translation> <translation id="3590194807845837023">باز کردن قفل نمایه و راهاندازی مجدد</translation> -<translation id="3590559774363307859">گذرواژه ذخیره شد. میتوانید از هر مرورگری به آن و همه <ph name="SAVED_PASSWORDS_LINK" /> خودتان دسترسی داشته باشید.</translation> <translation id="3592260987370335752">&بیشتر بیاموزید</translation> <translation id="359283478042092570">ورود</translation> <translation id="3593965109698325041">محدودیتهای نام گواهی</translation> @@ -2829,7 +2826,6 @@ <translation id="4764865176798926079">بارگیریهای همه منابع و domContentLoaded قاب اصلی قبل از domContentLoaded شروع شد (iframeها نادیده گرفته شدند).</translation> <translation id="4768332406694066911">گواهیهایی از این سازمانها دارید که هویت شما را شناسایی میکنند</translation> <translation id="4768698601728450387">برش تصویر</translation> -<translation id="4773696473262035477">میتوانید از هر مرورگری به این گذرواژه و همه <ph name="SAVED_PASSWORDS_LINK" /> خود دسترسی داشته باشید.</translation> <translation id="4776917500594043016">گذرواژه <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">بزرگنمایی</translation> <translation id="4780321648949301421">ذخیره صفحه بهعنوان...</translation> @@ -5382,7 +5378,6 @@ <translation id="8260864402787962391">ماوس</translation> <translation id="8261378640211443080">این برنامهافزودنی در <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> فهرست نشده است و ممکن است بدون اطلاع شما اضافه شده باشد.</translation> <translation id="8261387128019234107">افزودن حساب برای <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">آنها میتوانند:</translation> <translation id="8261506727792406068">حذف</translation> <translation id="8261580862248730866">استثناهای میکروفون</translation> <translation id="8261673729476082470">در حال پشتیبان گرفتن از <ph name="FILE_COUNT" /> عکس در <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb index 7997d16d..1e33369 100644 --- a/chrome/app/resources/generated_resources_fi.xtb +++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Translitterointi (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Lataa kuva</translation> <translation id="1029317248976101138">Lähennä</translation> -<translation id="1029595648591494741">Haluatko kokeilla sovellusta <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">Tulostettu <ph name="PAGE_NUMBER" /> sivua tulostimeen <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Ladataan esikatselua</translation> <translation id="1031573127485938293">Kysy (käytännön määrittämä)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Varmennekäytännön rajoitteet</translation> <translation id="335985608243443814">Selaa...</translation> <translation id="3360297538363969800">Tulostus epäonnistui. Tarkista tulostin ja yritä uudelleen.</translation> -<translation id="3361481787422913716">Näytä raporttiasetukset</translation> <translation id="336497260564123876">Salasana tallennettiin. Kirjaudu sisään Chromeen, niin voit käyttää salasanojasi kaikilla laitteillasi.</translation> <translation id="3367813778245106622">Aloita synkronointi kirjautumalla uudelleen sisään.</translation> <translation id="3368922792935385530">Yhdistetty</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Kirjoita tämä laitteessa <ph name="DEVICE_NAME" /> oleva koodi, jos haluat muodostaa laiteparin:</translation> <translation id="3588662957555259973">* Google-profiilin valokuva</translation> <translation id="3590194807845837023">Poista profiilin lukitus ja käynnistä uudelleen</translation> -<translation id="3590559774363307859">Salasana tallennettiin. Voit käyttää sitä ja muita <ph name="SAVED_PASSWORDS_LINK" /> millä tahansa selaimella.</translation> <translation id="3592260987370335752">&Lisätietoja</translation> <translation id="359283478042092570">Sisään</translation> <translation id="3593965109698325041">Varmenteen nimirajoitukset</translation> @@ -2826,7 +2823,6 @@ <translation id="4764865176798926079">Pääkehyksen domContentLoaded-tapahtuma, kaikkien resurssien lataaminen aloitettu ennen domContentLoaded-tapahtumaa (iframeja ei huomioida).</translation> <translation id="4768332406694066911">Sinulla on varmenteita seuraavilta sinut tunnistavilta organisaatioilta</translation> <translation id="4768698601728450387">Rajaa kuva</translation> -<translation id="4773696473262035477">Voit käyttää sitä ja muita <ph name="SAVED_PASSWORDS_LINK" /> millä tahansa selaimella.</translation> <translation id="4776917500594043016">Osoitteen <ph name="USER_EMAIL_ADDRESS" /> salasana</translation> <translation id="4779083564647765204">Lähennä</translation> <translation id="4780321648949301421">Tallenna sivu nimellä...</translation> @@ -5375,7 +5371,6 @@ <translation id="8260864402787962391">Hiiri</translation> <translation id="8261378640211443080">Tätä laajennusta ei löydy kohteesta <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />, ja se on voitu lisätä ilman lupaasi.</translation> <translation id="8261387128019234107">Lisää tili henkilölle <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Ne voivat:</translation> <translation id="8261506727792406068">Poista</translation> <translation id="8261580862248730866">Mikrofonin poikkeukset</translation> <translation id="8261673729476082470">Varmuuskopioidaan <ph name="FILE_COUNT" /> valokuvaa <ph name="BEGIN_LINK" />Google Driveen<ph name="END_LINK" />.</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb index ebee40e..dcfbfd2 100644 --- a/chrome/app/resources/generated_resources_fil.xtb +++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteration (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">I-load ang larawan</translation> <translation id="1029317248976101138">I-zoom</translation> -<translation id="1029595648591494741">Subukan ang "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Matagumpay na na-print ang <ph name="PAGE_NUMBER" /> (na) pahina sa <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Preview ng paglo-load</translation> <translation id="1031573127485938293">Magtanong (ayon sa patakaran)</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Mga Limitasyon sa Patakaran ng Certificate</translation> <translation id="335985608243443814">Mag-browse...</translation> <translation id="3360297538363969800">Hindi nakapag-print. Pakisuri ang iyong printer at subukang muli.</translation> -<translation id="3361481787422913716">Tingnan ang mga setting ng ulat</translation> <translation id="336497260564123876">Na-save ang password. Upang mailagay ang iyong mga password sa lahat ng iyong device, mag-sign in sa Chrome.</translation> <translation id="3367813778245106622">Mag-sign in muli upang simulan ang pag-sync</translation> <translation id="3368922792935385530">Nakakonekta</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">I-type ang code na ito sa "<ph name="DEVICE_NAME" />" upang ipares:</translation> <translation id="3588662957555259973">* Larawan sa Profile sa Google</translation> <translation id="3590194807845837023">I-unlock ang Profile at Ilunsad Muli</translation> -<translation id="3590559774363307859">Na-save ang password. Maaari mo itong i-access at ang lahat ng iyong <ph name="SAVED_PASSWORDS_LINK" /> mula sa iyong browser.</translation> <translation id="3592260987370335752">&Matuto nang higit pa</translation> <translation id="359283478042092570">Ilagay</translation> <translation id="3593965109698325041">Mga Limitasyon sa Pangalan ng Certificate</translation> @@ -2835,7 +2832,6 @@ <translation id="4764865176798926079">Nagsimula ang domContentLoaded ng pangunahing frame at ang lahat ng pinagkukunan ng mga pag-load bago ang domContentLoaded (binalewala ang iframes).</translation> <translation id="4768332406694066911">Mayroon kang mga certificate mula sa mga organisasyong ito na tutukoy sa iyo</translation> <translation id="4768698601728450387">I-crop ang larawan</translation> -<translation id="4773696473262035477">Maaari mo itong i-access at ang lahat ng iyong <ph name="SAVED_PASSWORDS_LINK" /> mula sa anumang browser.</translation> <translation id="4776917500594043016">Password para sa <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">I-save ang Page Bilang...</translation> @@ -5390,7 +5386,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">Hindi nakalista ang extension na ito sa <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> at maaaring naidagdag nang hindi mo nalalaman.</translation> <translation id="8261387128019234107">Magdagdag ng account para kay <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Ang mga ito ay maaaring:</translation> <translation id="8261506727792406068">Burahin</translation> <translation id="8261580862248730866">Mga exception ng mikropono</translation> <translation id="8261673729476082470">Nagba-back up ng <ph name="FILE_COUNT" /> (na) larawan sa <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb index 6b12d67..ce898c81 100644 --- a/chrome/app/resources/generated_resources_fr.xtb +++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Translittération (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Charger l'image</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Essayer "<ph name="EXTENSION_NAME" />" ?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> pages ont été imprimées sur <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Chargement de l'aperçu...</translation> <translation id="1031573127485938293">Demander (via des règles)</translation> @@ -234,7 +233,7 @@ <translation id="1327074568633507428">Imprimante connectée à Google Cloud Print</translation> <translation id="1327977588028644528">Passerelle</translation> <translation id="1330145147221172764">Activer le clavier à l'écran</translation> -<translation id="1331977651797684645">C'était moi</translation> +<translation id="1331977651797684645">C'était moi.</translation> <translation id="1335011841716483297">&Télécharger le lien…</translation> <translation id="1337036551624197047">Clavier tchèque</translation> <translation id="1338950911836659113">Suppression en cours...</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Contraintes des stratégies de certificat</translation> <translation id="335985608243443814">Parcourir...</translation> <translation id="3360297538363969800">Échec de l'impression. Veuillez vérifier votre imprimante, puis réessayer.</translation> -<translation id="3361481787422913716">Afficher les paramètres de signalement</translation> <translation id="336497260564123876">Mot de passe enregistré. Connectez-vous à Chrome pour synchroniser vos mots de passe sur tous vos appareils.</translation> <translation id="3367813778245106622">Connectez-vous de nouveau à votre compte pour démarrer la synchronisation.</translation> <translation id="3368922792935385530">Connecté</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Saisissez ce code sur "<ph name="DEVICE_NAME" />" pour l'associer :</translation> <translation id="3588662957555259973">* Photo du profil Google</translation> <translation id="3590194807845837023">Déverrouiller le profil et relancer</translation> -<translation id="3590559774363307859">Le mot de passe a bien été enregistré. Vous pouvez y accéder, ainsi qu'à tous vos <ph name="SAVED_PASSWORDS_LINK" />, dans n'importe quel navigateur.</translation> <translation id="3592260987370335752">&En savoir plus</translation> <translation id="359283478042092570">Se connecter</translation> <translation id="3593965109698325041">Contraintes de nom du certificat</translation> @@ -2831,7 +2828,6 @@ <translation id="4764865176798926079">domContentLoaded du frame principal et tous les chargements de ressources qui ont commencé avant domContentLoaded (iFrame ignorés).</translation> <translation id="4768332406694066911">Certains certificats provenant de ces organisations vous identifient.</translation> <translation id="4768698601728450387">Recadrer l'image</translation> -<translation id="4773696473262035477">Vous pouvez y accéder, ainsi qu'à tous vos <ph name="SAVED_PASSWORDS_LINK" />, dans n'importe quel navigateur.</translation> <translation id="4776917500594043016">Mot de passe de <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Enregistrer la page sous...</translation> @@ -5385,7 +5381,6 @@ <translation id="8260864402787962391">Souris</translation> <translation id="8261378640211443080">Cette extension n'est pas répertoriée sur le <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> et a pu être ajoutée à votre insu.</translation> <translation id="8261387128019234107">Ajouter un compte pour <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Elles peuvent :</translation> <translation id="8261506727792406068">Supprimer</translation> <translation id="8261580862248730866">Exceptions relatives au micro</translation> <translation id="8261673729476082470">Sauvegarde de <ph name="FILE_COUNT" /> photos sur <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /> en cours…</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb index 984f1eb..ee2b6839 100644 --- a/chrome/app/resources/generated_resources_gu.xtb +++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">લિવ્યંતરણ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">છબી લોડ કરો</translation> <translation id="1029317248976101138">ઝૂમ કરો</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" નો પ્રયાસ કરીએ?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> પર <ph name="PAGE_NUMBER" /> પૃષ્ઠ સફળતાપૂર્વક છાપ્યાં</translation> <translation id="1031362278801463162">પૂર્વાવલોકન લોડ કરી રહ્યું છે</translation> <translation id="1031573127485938293">પૂછો (નીતિ દ્વારા)</translation> @@ -1827,7 +1826,6 @@ <translation id="3359256513598016054">પ્રમાણપત્ર નીતિની મર્યાદાઓ</translation> <translation id="335985608243443814">બ્રાઉઝ કરો...</translation> <translation id="3360297538363969800">છાપવાનું નિષ્ફળ થયું. કૃપા કરીને તમારું પ્રિન્ટર તપાસો અને ફરી પ્રયાસ કરો.</translation> -<translation id="3361481787422913716">જાણ કરવાની સેટિંગ્સ જુઓ</translation> <translation id="336497260564123876">પાસવર્ડ સાચવ્યો. તમારા સમગ્ર ઉપકરણો પર તમારા પાસવર્ડ્સ મેળવવા માટે, Chrome માં સાઇન ઇન કરો.</translation> <translation id="3367813778245106622">સમન્વયન શરૂ કરવા માટે ફરીથી સાઇન ઇન કરો</translation> <translation id="3368922792935385530">કનેક્ટેડ</translation> @@ -2003,7 +2001,6 @@ <translation id="358796204584394954">જોડી બનાવવા માટે "<ph name="DEVICE_NAME" />" પર આ કોડ લખો:</translation> <translation id="3588662957555259973">* Google પ્રોફાઇલ ફોટો</translation> <translation id="3590194807845837023">પ્રોફાઇલ અનલૉક કરો અને ફરીથી લોંચ કરો</translation> -<translation id="3590559774363307859">પાસવર્ડ સાચવ્યો. તમે તેને અને તમારા બધા <ph name="SAVED_PASSWORDS_LINK" /> ને કોઈપણ બ્રાઉઝરથી ઍક્સેસ કરી શકો છો.</translation> <translation id="3592260987370335752">&વધુ જાણો</translation> <translation id="359283478042092570">Enter</translation> <translation id="3593965109698325041">પ્રમાણપત્રના નામની મર્યાદાઓ</translation> @@ -2828,7 +2825,6 @@ <translation id="4764865176798926079">domContentLoaded (iframes અવગણવામાં આવી) ની પહેલાં મુખ્ય ફ્રેમની domContentLoaded અને તમામ સંસાધનો લોડ થવાનો પ્રારંભ થયો.</translation> <translation id="4768332406694066911">તમારી પાસે આ સંસ્થાઓના પ્રમાણપત્ર છે કે જે તમને ઓળખે છે</translation> <translation id="4768698601728450387">છબી કાપો</translation> -<translation id="4773696473262035477">તમે તેને અને તમારા બધા <ph name="SAVED_PASSWORDS_LINK" /> ને કોઇપણ બ્રાઉઝરથી ઍક્સેસ કરી શકો છો.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> માટેનો પાસવર્ડ </translation> <translation id="4779083564647765204">ઝૂમ કરો</translation> <translation id="4780321648949301421">પૃષ્ઠ આ રીતે સાચવો...</translation> @@ -5376,7 +5372,6 @@ <translation id="8260864402787962391">માઉસ</translation> <translation id="8261378640211443080">આ એક્સટેન્શન <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> માં સૂચિબદ્ધ નથી અને તમારી જાણ વિના ઉમેરવામાં આવ્યું હોઈ શકે છે.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> માટે એકાઉન્ટ ઉમેરો</translation> -<translation id="8261490674758214762">તેઓ આ કરી શકે છે:</translation> <translation id="8261506727792406068">કાઢી નાખો</translation> <translation id="8261580862248730866">માઇક્રોફોન અપવાદો</translation> <translation id="8261673729476082470"><ph name="BEGIN_LINK" />Google ડ્રાઇવ<ph name="END_LINK" /> પર <ph name="FILE_COUNT" /> ફોટાનો બેક અપ લઈ રહ્યાં છે</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb index 281826c..3cbea91 100644 --- a/chrome/app/resources/generated_resources_hi.xtb +++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">लिप्यंतरण (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">चित्र लोड करें</translation> <translation id="1029317248976101138">ज़ूम</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" आज़माएं?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> में सफलतापूर्वक <ph name="PAGE_NUMBER" /> पृष्ठों को प्रिंट किया गया</translation> <translation id="1031362278801463162">पूर्वावलोकन लोड हो रहा है</translation> <translation id="1031573127485938293">पूछें (नीति द्वारा)</translation> @@ -85,7 +84,7 @@ <translation id="1115248033204311258">होस्ट किया गया ऐप बनाते समय Mac पर ऐप की परतें बनाएं.</translation> <translation id="1116694919640316211">इसके बारे में</translation> <translation id="1119069657431255176">Bzip2 संकुचित tar संग्रह</translation> -<translation id="1119447706177454957">आंतरिक त्रुटि</translation> +<translation id="1119447706177454957">आंतरिक गड़बड़ी</translation> <translation id="1120026268649657149">कीवर्ड खाली या अद्वितीय होना चाहिए</translation> <translation id="1120073797882051782">हंगुल रोमाजा</translation> <translation id="1122198203221319518">&टूल</translation> @@ -117,7 +116,7 @@ <translation id="1163931534039071049">फ़्रेम का स्रोत &देखें</translation> <translation id="1164674268730883318"><ph name="DEVICE_TYPE" /> के लिए Smart Lock बंद करें?</translation> <translation id="1164899421101904659">पिन अनलॉक कुंजी डालें</translation> -<translation id="1165039591588034296">त्रुटि</translation> +<translation id="1165039591588034296">गड़बड़ी</translation> <translation id="1166212789817575481">दाईं ओर के टैब बंद करें</translation> <translation id="1168020859489941584"><ph name="TIME_REMAINING" /> में खुल रहा है ...</translation> <translation id="1171000732235946541">यह इनपुट विधि आपके द्वारा लिखे जाने वाले सभी लेख को एकत्र कर सकती है, जिसमें पासवर्ड और क्रेडिट कार्ड संख्याओं जैसे व्यक्तिगत डेटा भी शामिल हैं. यह "<ph name="EXTENSION_NAME" />" एक्सटेंशन से आती है. इस इनपुट विधि का उपयोग करें?</translation> @@ -131,19 +130,19 @@ <translation id="1181037720776840403">निकालें</translation> <translation id="1183237619868651138">स्थानीय कैश में <ph name="EXTERNAL_CRX_FILE" /> इंस्टॉल नहीं कर सकते.</translation> <translation id="1184643947259522843">आपके बुकमार्क और सेटिंग तैयार हैं.</translation> -<translation id="1185924365081634987">इस नेटवर्क त्रुटि को ठीक करने के लिए आप <ph name="GUEST_SIGNIN_LINK_START" />अतिथि के रूप में ब्राउज़ करें<ph name="GUEST_SIGNIN_LINK_END" /> को भी आज़मा सकते हैं.</translation> +<translation id="1185924365081634987">इस नेटवर्क गड़बड़ी को ठीक करने के लिए आप <ph name="GUEST_SIGNIN_LINK_START" />अतिथि के रूप में ब्राउज़ करें<ph name="GUEST_SIGNIN_LINK_END" /> को भी आज़मा सकते हैं.</translation> <translation id="1187722533808055681">निष्क्रिय प्रोसेसर का सक्रियण</translation> <translation id="1188807932851744811">लॉग अपलोड नहीं किया गया.</translation> <translation id="1189418886587279221">अपने डिवाइस को उपयोग में आसान बनाने के लिए पहुंच-योग्यता सुविधाएं सक्षम करें.</translation> <translation id="1190144681599273207">इस फ़ाइल को लाने में मोबाइल डेटा का लगभग <ph name="FILE_SIZE" /> उपयोग होगा.</translation> <translation id="11901918071949011">{NUM_FILES,plural, =1{अपने कंप्यूटर पर संग्रहीत कोई फ़ाइल ऐक्सेस करें}one{अपने कंप्यूटर पर संग्रहीत # फ़ाइलें ऐक्सेस करें}other{अपने कंप्यूटर पर संग्रहीत # फ़ाइलें ऐक्सेस करें}}</translation> <translation id="1190855992966397019">AppContainer लॉकडाउन को सक्षम करें.</translation> -<translation id="1195447618553298278">अज्ञात त्रुटि.</translation> +<translation id="1195447618553298278">अज्ञात गड़बड़ी.</translation> <translation id="1196338895211115272">निजी कुंजी निर्यात करने में विफल.</translation> <translation id="1196789802623400962">वर्चुअल कीबोर्ड के लिए सेटिंग पेज में जेस्चर संपादित करने के विकल्प को सक्षम/अक्षम करें.</translation> <translation id="1197199342062592414">आइए प्रारंभ करें</translation> <translation id="119738088725604856">स्क्रीनशॉट विंडो</translation> -<translation id="1197979282329025000">प्रिंटर <ph name="PRINTER_NAME" /> की प्रिंटर क्षमताएं पुनर्प्राप्त करते समय एक त्रुटि आई. इस प्रिंटर को <ph name="CLOUD_PRINT_NAME" /> के साथ पंजीकृत नहीं किया जा सका.</translation> +<translation id="1197979282329025000">प्रिंटर <ph name="PRINTER_NAME" /> की प्रिंटर क्षमताएं पुनर्प्राप्त करते समय एक गड़बड़ी आई. इस प्रिंटर को <ph name="CLOUD_PRINT_NAME" /> के साथ पंजीकृत नहीं किया जा सका.</translation> <translation id="1198271701881992799">आइए प्रारंभ करते हैं</translation> <translation id="1199232041627643649">बाहर निकलने के लिए <ph name="KEY_EQUIVALENT" /> को दबाए रखें.</translation> <translation id="119944043368869598">सभी साफ़ करें</translation> @@ -181,7 +180,7 @@ <translation id="1242633766021457174"><ph name="THIRD_PARTY_TOOL_NAME" /> आपकी सेटिंग को रीसेट करना चाहता है.</translation> <translation id="1243314992276662751">अपलोड करें</translation> <translation id="1244147615850840081">कैरियर</translation> -<translation id="1244303850296295656">एक्सटेंशन त्रुटि</translation> +<translation id="1244303850296295656">एक्सटेंशन गड़बड़ी</translation> <translation id="1245907074925860695">उपयोगकर्ता निकालें</translation> <translation id="1248269069727746712">नेटवर्क से कनेक्ट करने के लिए, <ph name="PRODUCT_NAME" /> आपके डिवाइस की प्रॉक्सी सेटिंग का उपयोग कर रहा है.</translation> <translation id="1249250836236328755">शैली</translation> @@ -250,7 +249,7 @@ <translation id="1353966721814789986">स्टार्टअप पेज</translation> <translation id="1355408554203439639">3D सॉफ़्टवेयर रास्टराइज़र</translation> <translation id="1355466263109342573"><ph name="PLUGIN_NAME" /> अवरोधित है</translation> -<translation id="1355542767438520308">कोई त्रुटि हुई. संभवत: कुछ आइटम हटाए नहीं गए हैं.</translation> +<translation id="1355542767438520308">कोई गड़बड़ी हुई. संभवत: कुछ आइटम हटाए नहीं गए हैं.</translation> <translation id="1357589289913453911">एक्सटेंशन आईडी</translation> <translation id="1358032944105037487">जापानी कीबोर्ड</translation> <translation id="1358735829858566124">फा़इल या निर्देशिका उपयोग करने योग्य नहीं है.</translation> @@ -341,7 +340,7 @@ <translation id="146220085323579959">इंटरनेट डिस्कनेक्ट हो गया है. कृपया अपना इंटरनेट कनेक्शन जांचें और पुन: प्रयास करें.</translation> <translation id="1463985642028688653">अवरोधित करें</translation> <translation id="1464258312790801189">आपके खाते</translation> -<translation id="1464724975715666883">1 त्रुटि.</translation> +<translation id="1464724975715666883">1 गड़बड़ी.</translation> <translation id="1465176863081977902">ऑडियो के पते को कॉ&पी करें</translation> <translation id="1465827627707997754">पिज़्ज़ा का टुकड़ा</translation> <translation id="1467432559032391204">बाएं</translation> @@ -380,12 +379,12 @@ <translation id="1500297251995790841">अज्ञात डिवाइस [<ph name="VENDOR_ID" />:<ph name="PRODUCT_ID" />]</translation> <translation id="1502341367962526993">निर्धारित करता है कि रीडर मोड बटन को किन पृष्ठों पर दिखाया जाना है.</translation> <translation id="1503394326855300303">किसी एकाधिक प्रवेश सत्र में इस मालिक खाते को पहला प्रवेश खाता होना चाहिए.</translation> -<translation id="1503914375822320413">प्रतिलिपि बनाने का कार्य विफल रहा, अप्रत्याशित त्रुटि: $1</translation> +<translation id="1503914375822320413">प्रतिलिपि बनाने का कार्य विफल रहा, अप्रत्याशित गड़बड़ी: $1</translation> <translation id="1504682556807808151">क्या आप चाहते हैं कि इस साइट के लिए <ph name="PASSWORD_MANAGER_BRAND" /> आपका पासवर्ड सहेजे?</translation> <translation id="1506061864768559482">खोज इंजन</translation> <translation id="1507170440449692343">इस पेज को आपका कैमरा एक्सेस करने से अवरोधित कर दिया गया है.</translation> <translation id="1507246803636407672">&छोड़ें</translation> -<translation id="1507705801791187716">बहुत बढ़िया, कोई त्रुटि नहीं!</translation> +<translation id="1507705801791187716">बहुत बढ़िया, कोई गड़बड़ी नहीं!</translation> <translation id="1509281256533087115">USB के द्वारा किसी भी <ph name="DEVICE_NAME_AND_VENDOR" /> को ऐक्सेस करें</translation> <translation id="150962533380566081">अमान्य PUK.</translation> <translation id="1510030919967934016">इस पेज को आपकी स्थिति ट्रैक करने से अवरोधित कर दिया गया है.</translation> @@ -411,7 +410,7 @@ <translation id="1523350272063152305">मीटिंग के लिए Meetings डिवाइस सेट अप के लिए तैयार है.</translation> <translation id="1524152555482653726">मूवी</translation> <translation id="1524430321211440688">कीबोर्ड</translation> -<translation id="1525835343380843286">सर्वर संचार त्रुटि</translation> +<translation id="1525835343380843286">सर्वर संचार गड़बड़ी</translation> <translation id="1526560967942511387">शीर्षक रहित दस्तावेज़</translation> <translation id="1526925867532626635">समन्वयन सेटिंग की दुबारा पूछें</translation> <translation id="1528372117901087631">इंटरनेट कनेक्शन</translation> @@ -564,7 +563,7 @@ <translation id="1708338024780164500">(प्रयोग में नहीं)</translation> <translation id="1708713382908678956"><ph name="NAME_PH" /> (आईडी: <ph name="ID_PH" />)</translation> <translation id="1709106626015023981"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (स्थानीय)</translation> -<translation id="1711973684025117106">ज़िप करना विफल रहा, अप्रत्याशित त्रुटि: $1</translation> +<translation id="1711973684025117106">ज़िप करना विफल रहा, अप्रत्याशित गड़बड़ी: $1</translation> <translation id="1717733954209022288">Google पेमेंट्स कार्ड सहेजने का चेकबॉक्स</translation> <translation id="1719312230114180055">ध्यान दें: आपका फ़िंगरप्रिंट किसी सशक्त पासवर्ड या पिन की तुलना में कम सुरक्षित हो सकता है.</translation> <translation id="1720318856472900922">TLS WWW सर्वर प्रमाणीकरण</translation> @@ -664,7 +663,7 @@ <translation id="184633654410729720">थाई कीबोर्ड (केडमानी)</translation> <translation id="1849186935225320012">इस पेज के पास MIDI डिवाइस का पूर्ण नियंत्रण है.</translation> <translation id="1850508293116537636">&घड़ी की दिशा में घुमाएं</translation> -<translation id="1852799913675865625">फ़ाइल पढ़ने का प्रयास करते समय कोई त्रुटि आई: <ph name="ERROR_TEXT" /></translation> +<translation id="1852799913675865625">फ़ाइल पढ़ने का प्रयास करते समय कोई गड़बड़ी आई: <ph name="ERROR_TEXT" /></translation> <translation id="1856715684130786728">स्थान जोड़ें...</translation> <translation id="1858585891038687145">सॉफ़्टवेयर निर्माताओं की पहचान करने के लिए इस प्रमाणपत्र पर विश्वास करें</translation> <translation id="1859234291848436338">लिखने के निर्देश</translation> @@ -706,7 +705,7 @@ <translation id="1910572251697014317">Google ने इस फ़ोन पर एक नोटिफिकेशन भेजा है. ध्यान रखें कि ब्लूटूथ के साथ, आपका फ़ोन 100 फ़ीट से अधिक दूरी से आपके <ph name="DEVICE_TYPE" /> को अनलॉक बनाए रख सकता है. ऐसी स्थितियों में, जहां इसके कारण समस्या हो सकती है, आप <a>इस सुविधा को अस्थायी रूप से अक्षम कर सकते हैं</a>.</translation> <translation id="1910721550319506122">आपका स्वागत है!</translation> <translation id="1916502483199172559">डिफ़ॉल्ट लाल अवतार</translation> -<translation id="191688485499383649">"<ph name="DEVICE_NAME" />" से कनेक्ट करने का प्रयास करते समय एक अज्ञात त्रुटि आई.</translation> +<translation id="191688485499383649">"<ph name="DEVICE_NAME" />" से कनेक्ट करने का प्रयास करते समय एक अज्ञात गड़बड़ी आई.</translation> <translation id="1918141783557917887">&छोटा</translation> <translation id="1921584744613111023"><ph name="DPI" /> dpi</translation> <translation id="1921986354447415460">तुर्की-F कीबोर्ड</translation> @@ -789,7 +788,7 @@ <translation id="2050339315714019657">पोर्ट्रेट</translation> <translation id="2052610617971448509">आपके पास पर्याप्त सैंडबॉक्स नहीं है!</translation> <translation id="2053312383184521053">निष्क्रिय स्थिति डेटा</translation> -<translation id="2058632120927660550">कोई त्रुटि हुई. कृपया अपना प्रिंटर जांचें और पुन: प्रयास करें.</translation> +<translation id="2058632120927660550">कोई गड़बड़ी हुई. कृपया अपना प्रिंटर जांचें और पुन: प्रयास करें.</translation> <translation id="2068054174185416762">फ़्रेम दर</translation> <translation id="2070909990982335904">डॉट से प्रारंभ हो रहे नाम सिस्टम के लिए आरक्षित हैं. कृपया कोई अन्य नाम चुनें.</translation> <translation id="2071393345806050157">कोई स्थानीय लॉग फ़ाइल नहीं है.</translation> @@ -836,9 +835,9 @@ <translation id="2127372758936585790">कम-शक्ति वाला चार्जर</translation> <translation id="2128531968068887769">नेटिव क्लाइंट</translation> <translation id="212862741129535676">आवृत्ति स्थिति उपयोग प्रतिशत</translation> -<translation id="2128691215891724419">समन्वयन त्रुटि: समन्वयन पदबंध अपडेट करें...</translation> +<translation id="2128691215891724419">समन्वयन गड़बड़ी: समन्वयन पदबंध अपडेट करें...</translation> <translation id="2129825002735785149">प्लग इन अपडेट करें</translation> -<translation id="2129904043921227933">समन्वयन त्रुटि: समन्वयन पदबंध अपडेट करें...</translation> +<translation id="2129904043921227933">समन्वयन गड़बड़ी: समन्वयन पदबंध अपडेट करें...</translation> <translation id="2130053362119884302">पूर्ण स्क्रीन में टैब अलग करने दें</translation> <translation id="2131077480075264">"<ph name="APP_NAME" />" इंस्टॉल करने में असमर्थ क्योंकि "<ph name="IMPORT_NAME" />" द्वारा इसकी अनुमति नहीं है</translation> <translation id="213491463158799620">क्या आप इस पेज का अनुवाद करना चाहते हैं?</translation> @@ -882,7 +881,7 @@ <translation id="2178614541317717477">CA समझौता</translation> <translation id="218070003709087997">प्रिंट की जाने वाली कॉपी की संख्या (1 से 999) दर्शाने के लिए किसी संख्या का उपयोग करें.</translation> <translation id="2187317261103489799">पता लगाएं (डिफ़ॉल्ट)</translation> -<translation id="2187895286714876935">सर्वर प्रमाणपत्र आयात त्रुटि</translation> +<translation id="2187895286714876935">सर्वर प्रमाणपत्र आयात गड़बड़ी</translation> <translation id="2188881192257509750"><ph name="APPLICATION" /> खोलें</translation> <translation id="2190069059097339078">वाई-फ़ाई प्रमाणिकता प्राप्तकर्ता</translation> <translation id="219008588003277019">नेटिव क्लाइंट मॉड्यूल: <ph name="NEXE_NAME" /></translation> @@ -1098,7 +1097,7 @@ <translation id="2469890184320718637">लेख बिटमैप अल्फ़ा मास्क के बजाय हस्ताक्षरित दूरी फ़ील्ड से रेंडर होता है.</translation> <translation id="2470702053775288986">असमर्थित एक्सटेंशन अक्षम</translation> <translation id="2473195200299095979">इस पेज का अनुवाद करें</translation> -<translation id="2475982808118771221">कोई त्रुटि आई</translation> +<translation id="2475982808118771221">कोई गड़बड़ी आई</translation> <translation id="2476578072172137802">साइट की सेटिंग</translation> <translation id="247772113373397749">कनाडियाई बहुभाषी कीबोर्ड</translation> <translation id="2478176599153288112">"<ph name="EXTENSION" />" के लिए मीडिया-फ़ाइल अनुमतियां</translation> @@ -1258,13 +1257,13 @@ <translation id="2663302507110284145">भाषा</translation> <translation id="2665394472441560184">एक नया शब्द जोड़ें</translation> <translation id="2665717534925640469">यह पेज अब पूर्ण स्क्रीन है और आपका माउस कर्सर अक्षम कर दिया गया है.</translation> -<translation id="2665919335226618153">हे भगवान! फ़ॉर्मेटिंग के दौरान त्रुटि आई.</translation> +<translation id="2665919335226618153">हे भगवान! फ़ॉर्मेटिंग के दौरान गड़बड़ी आई.</translation> <translation id="2667463864537187133">वर्तनी जांच प्रबंधित करें</translation> <translation id="2668079306436607263">ओवरस्क्रॉल इतिहास मार्गदर्शक</translation> <translation id="2670102641511624474"><ph name="APP_NAME" />, Chrome टैब को साझा कर रहा है.</translation> <translation id="2670531586141364277">'<ph name="NAME" />' के सक्रियण के लिए नेटवर्क कनेक्शन आवश्यक है.</translation> <translation id="2672142220933875349">खराब crx फ़ाइल, अनपैक करना विफल.</translation> -<translation id="2672394958563893062">एक त्रुटि आई. शुरूआत से पुनर्प्रारंभ करने के लिए क्लिक करें.</translation> +<translation id="2672394958563893062">एक गड़बड़ी आई. शुरूआत से पुनर्प्रारंभ करने के लिए क्लिक करें.</translation> <translation id="267285457822962309">आपके डिवाइस और सहायक डिवाइस की विशिष्ट सेटिंग बदलें.</translation> <translation id="2673135533890720193">अपना ब्राउज़िंग इतिहास पढ़ें</translation> <translation id="2673589024369449924">इस उपयोगकर्ता के लिए डेस्कटॉप शार्टकट बनाएं</translation> @@ -1277,7 +1276,7 @@ <translation id="2682935131208585215">जब कोई साइट आपका भौतिक स्थान ट्रैक करे, तो पूछें (सुझाव)</translation> <translation id="2686444421126615064">खाता देखें</translation> <translation id="2686759344028411998">लोड किए गए किसी भी मॉड्यूल का पता लगाने में असमर्थ है.</translation> -<translation id="2688196195245426394">डिवाइस को सर्वर के साथ पंजीकृत करते समय त्रुटि: <ph name="CLIENT_ERROR" />.</translation> +<translation id="2688196195245426394">डिवाइस को सर्वर के साथ पंजीकृत करते समय गड़बड़ी: <ph name="CLIENT_ERROR" />.</translation> <translation id="2690024944919328218">भाषा के विकल्प दिखाएं</translation> <translation id="2691385045260836588">मॉडल</translation> <translation id="2694026874607847549">1 कुकी</translation> @@ -1352,7 +1351,7 @@ <translation id="2789486458103222910">ठीक है</translation> <translation id="2789654452280209637">स्क्रीन लॉक कॉन्फ़िगर करने के लिए अपना पासवर्ड डालें.</translation> <translation id="2790805296069989825">रूसी कीबोर्ड</translation> -<translation id="2791952154587244007">एक त्रुटि हुई. किओस्क ऐप्लिकेशन इस डिवाइस पर स्वत: लॉन्च नहीं हो सकेंगे.</translation> +<translation id="2791952154587244007">एक गड़बड़ी हुई. किओस्क ऐप्लिकेशन इस डिवाइस पर स्वत: लॉन्च नहीं हो सकेंगे.</translation> <translation id="2792290659606763004">क्या Android ऐप्लिकेशन निकालना है?</translation> <translation id="2794337001681772676">संयुक्त डेस्कटॉप मोड को सक्षम करें जो विंडो को एकाधिक स्क्रीन में प्रदर्शित होने देता है.</translation> <translation id="2796424461616874739">"<ph name="DEVICE_NAME" />" से कनेक्ट करते समय प्रमाणीकरण समयबाह्य हो गया.</translation> @@ -1441,7 +1440,7 @@ <translation id="2872353916818027657">प्राथमिक मॉनीटर को स्वैप करें</translation> <translation id="287286579981869940"><ph name="PROVIDER_NAME" /> जोड़ें...</translation> <translation id="2872961005593481000">शट डाउन करें</translation> -<translation id="2875698561019555027">(Chrome त्रुटि पृष्ठ)</translation> +<translation id="2875698561019555027">(Chrome गड़बड़ी पृष्ठ)</translation> <translation id="288024221176729610">चेक</translation> <translation id="288042212351694283">अपने यूनीवर्सल सेकंड फ़ैक्टर डिवाइस एक्सेस करें</translation> <translation id="2881966438216424900">अंतिम बार पहुंच प्राप्त करने की तिथि:</translation> @@ -1825,13 +1824,12 @@ <translation id="3353984535370177728">अपलोड करने के लिए फ़ोल्डर चुनें</translation> <translation id="3354905097571492052">चालू किए होने पर, Windows पर निर्भर होने होने के बजाय Chrome ही शीर्षक बार और कैप्शन बटन आरेखित करेगा.</translation> <translation id="335581015389089642">बोली</translation> -<translation id="3355936511340229503">कनेक्शन त्रुटि</translation> +<translation id="3355936511340229503">कनेक्शन गड़बड़ी</translation> <translation id="3356395591469757189">कीबोर्ड एक्सेसरी दृश्य के रूप में ऑटोमैटिक भरने के सुझाव</translation> <translation id="3356580349448036450">पूर्ण</translation> <translation id="3359256513598016054">प्रमाणपत्र नीति बाध्यताएं</translation> <translation id="335985608243443814">ब्राउज़ करें...</translation> <translation id="3360297538363969800">प्रिंट करना विफल रहा. कृपया अपना प्रिंटर जांचें और पुन: प्रयास करें.</translation> -<translation id="3361481787422913716">रिपोर्ट की सेटिंग देखें</translation> <translation id="336497260564123876">पासवर्ड सहेजा गया. अपने सभी डिवाइस पर अपने पासवर्ड प्राप्त करने के लिए, Chrome में प्रवेश करें.</translation> <translation id="3367813778245106622">समन्वयन शुरू करने के लिए फिर से प्रवेश करें</translation> <translation id="3368922792935385530">कनेक्टेड</translation> @@ -1843,7 +1841,7 @@ <translation id="3378630551672149129">इनपुट तत्वों के साथ सहभागिता करने के लिए प्रवेश करें, टैब कुंजी को दबाएं</translation> <translation id="337920581046691015"><ph name="PRODUCT_NAME" /> स्थापित कर दिया जाएगा.</translation> <translation id="3380173661859740348">उपयोगकर्ता भाषा प्रोफ़ाइल (ULP) की जानकारी को ध्यान में रखते हुए उन्नत अनुवाद लक्ष्य भाषा और ट्रिगरिंग तर्क.</translation> -<translation id="3380365263193509176">अज्ञात त्रुटि</translation> +<translation id="3380365263193509176">अज्ञात गड़बड़ी</translation> <translation id="3382073616108123819">ओह! सिस्टम इस डिवाइस के लिए डिवाइस पहचानकर्ताओं का निर्धारण करने में विफल रहा.</translation> <translation id="3385131213214862288">यहां निम्न आइटम साफ़ करें</translation> <translation id="338583716107319301">विभाजक</translation> @@ -1965,7 +1963,7 @@ <translation id="3535652963535405415">वेब MIDI API प्रयोगात्मक समर्थन सक्षम करें.</translation> <translation id="354060433403403521">AC एडॉप्टर</translation> <translation id="3541661933757219855">छुपाने के लिए Ctrl+Alt+/ लिखें या Escape दबाएं</translation> -<translation id="3543393733900874979">अपडेट विफल रहा (त्रुटि: <ph name="ERROR_NUMBER" />)</translation> +<translation id="3543393733900874979">अपडेट विफल रहा (गड़बड़ी: <ph name="ERROR_NUMBER" />)</translation> <translation id="3543597750097719865">SHA-512 के साथ X9.62 ECDSA हस्ताक्षर</translation> <translation id="3544347428588533940">Smart Lock लगभग तैयार है</translation> <translation id="3547495624659668105">PRL वर्शन</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">इन्हें युग्मित करने के लिए इस कोड को "<ph name="DEVICE_NAME" />" पर लिखें:</translation> <translation id="3588662957555259973">* Google प्रोफ़ाइल फ़ोटो</translation> <translation id="3590194807845837023">प्रोफ़ाइल अनलॉक करें और पुन: लॉन्च करें</translation> -<translation id="3590559774363307859">पासवर्ड सहेजा गया. आप उसे तथा अपने सभी <ph name="SAVED_PASSWORDS_LINK" /> को किसी भी ब्राउज़र से ऐक्सेस कर सकते हैं.</translation> <translation id="3592260987370335752">&अधिक जानें</translation> <translation id="359283478042092570">प्रवेश</translation> <translation id="3593965109698325041">प्रमाणपत्र नाम बाध्यताएं</translation> @@ -2071,7 +2068,7 @@ <translation id="3668823961463113931">हैंडलर</translation> <translation id="3670229581627177274">ब्लूटूथ चालू करें</translation> <translation id="3672159315667503033"><ph name="URL" /> आपके स्थानीय कंप्यूटर पर स्थायी रूप से बड़ी मात्रा में डेटा संग्रहीत करना चाहता है.</translation> -<translation id="3672681487849735243">फ़ैक्टरी त्रुटि का पता लगाया गया है</translation> +<translation id="3672681487849735243">फ़ैक्टरी गड़बड़ी का पता लगाया गया है</translation> <translation id="367645871420407123">यदि आप रूट पासवर्ड को डिफ़ॉल्ट परीक्षण चित्र मान पर सेट करना चाहते हैं तो खाली छोड़ दें</translation> <translation id="3678156199662914018">एक्सटेंशन: <ph name="EXTENSION_NAME" /></translation> <translation id="3678559383040232393">माल्टीज़ कीबोर्ड</translation> @@ -2079,7 +2076,7 @@ <translation id="3683524264665795342"><ph name="APP_NAME" /> स्क्रीन साझाकरण अनुरोध</translation> <translation id="3685122418104378273">मोबाइल डेटा का उपयोग करते समय, Google डिस्क समन्वयन डिफ़ॉल्ट रूप से अक्षम रहता है.</translation> <translation id="3687701603889589626">उन chrome:// URL पर एक्सटेंशन चलाना सक्षम करता है, जहां एक्सटेंशन स्पष्ट रूप से ऐसी अनुमति मांगते हैं.</translation> -<translation id="368789413795732264">फ़ाइल में लिखने का प्रयास करते समय कोई त्रुटि आई: <ph name="ERROR_TEXT" />.</translation> +<translation id="368789413795732264">फ़ाइल में लिखने का प्रयास करते समय कोई गड़बड़ी आई: <ph name="ERROR_TEXT" />.</translation> <translation id="3688507211863392146">आपके द्वारा ऐप्लिकेशन में खोली गईं फ़ाइलों और फ़ोल्डर में लिखें</translation> <translation id="3688526734140524629">चैनल बदलें</translation> <translation id="3688578402379768763">अद्यतित</translation> @@ -2314,7 +2311,7 @@ <translation id="3979748722126423326"><ph name="NETWORKDEVICE" /> सक्षम करें</translation> <translation id="3981760180856053153">सहेजने का अमान्य प्रकार दर्ज किया गया.</translation> <translation id="3983586614702900908">किसी अज्ञात विक्रेता के डिवाइस</translation> -<translation id="3984413272403535372">एक्सटेंशन हस्ताक्षरित करते समय त्रुटि आई.</translation> +<translation id="3984413272403535372">एक्सटेंशन हस्ताक्षरित करते समय गड़बड़ी आई.</translation> <translation id="3987970780975473420">जीता-जागता वेब सक्षम करें.</translation> <translation id="3988996860813292272">समय क्षेत्र चुनें</translation> <translation id="3989635538409502728">प्रस्थान करें</translation> @@ -2343,7 +2340,7 @@ <translation id="4037084878352560732">घोड़ा</translation> <translation id="4037463823853863991">Android के लिए पहुंच-योग्यता टैब स्विचर सक्षम करें.</translation> <translation id="4037889604535939429">व्यक्ति की जानकारी संपादित करें</translation> -<translation id="40400351611212369">नेटवर्क सक्रियण त्रुटि</translation> +<translation id="40400351611212369">नेटवर्क सक्रियण गड़बड़ी</translation> <translation id="4044612648082411741">अपना प्रमाणपत्र पासवर्ड डालें</translation> <translation id="404493185430269859">डिफ़ॉल्ट खोज इंजन</translation> <translation id="4047112090469382184">यह कैसे सुरक्षित है</translation> @@ -2359,7 +2356,7 @@ <translation id="4065876735068446555">आप जिस नेटवर्क (<ph name="NETWORK_ID" />) का उपयोग कर रहे हैं उसके लिए आपको लॉगिन पृष्ठ पर जाने की आवश्यकता हो सकती है.</translation> <translation id="4068506536726151626">इस पेज पर आपके स्थान की जानकारी रखने वाली निम्न साइटों की कुछ चीजें मौजूद हैं:</translation> <translation id="4070370845051020638">कैंटोनीज़ इनपुट पद्धति</translation> -<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: प्रवेश करने संबंधी त्रुटि</translation> +<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: प्रवेश करने संबंधी गड़बड़ी</translation> <translation id="4072248638558688893">तमिल कीबोर्ड (फ़ोनेटिक)</translation> <translation id="4074900173531346617">ईमेल हस्ताक्षरकर्ता प्रमाणपत्र</translation> <translation id="4074945132384537841">सुविधा-नीति HTTP शीर्षलेख के माध्यम से सुविधाओं का एक्सेस प्रदान करना और निकालना सक्षम करता है.</translation> @@ -2470,7 +2467,7 @@ <translation id="4235200303672858594">संपूर्ण स्क्रीन</translation> <translation id="4235813040357936597"><ph name="PROFILE_NAME" /> के लिए खाता जोड़ें</translation> <translation id="4235965441080806197">प्रवेश नहीं करें</translation> -<translation id="4237016987259239829">नेटवर्क कनेक्शन त्रुटि</translation> +<translation id="4237016987259239829">नेटवर्क कनेक्शन गड़बड़ी</translation> <translation id="4240069395079660403"><ph name="PRODUCT_NAME" /> को इस भाषा में प्रदर्शित नहीं किया जा सकता</translation> <translation id="4240511609794012987">साझा मेमोरी</translation> <translation id="4242577469625748426">डिवाइस पर नीति सेटिंग इंस्टॉल करने में विफल रहा: <ph name="VALIDATION_ERROR" />.</translation> @@ -2544,7 +2541,7 @@ <translation id="4336979451636460645">नेटवर्क लॉग के लिए, देखें: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> "<ph name="EXTENSION_NAME" />" से संचार करना चाहती है</translation> <translation id="4341977339441987045">साइट को किसी भी डेटा को सेट करने से अवरोधित करें</translation> -<translation id="4342311272543222243">ओह, TPM त्रुटि.</translation> +<translation id="4342311272543222243">ओह, TPM गड़बड़ी.</translation> <translation id="4345587454538109430">कॉन्फ़िगर करें...</translation> <translation id="4345703751611431217">सॉफ़्टवेयर असंगतता: अधिक जानें</translation> <translation id="4348766275249686434">त्रुटियां एकत्रित करें</translation> @@ -2750,7 +2747,7 @@ <translation id="4656293982926141856">यह कंप्यूटर</translation> <translation id="4657031070957997341"><ph name="HOST" /> पर प्लग इन को हमेशा अनुमति दें</translation> <translation id="466008749075469935">पृष्ठभूमि टाइमर के CPU उपयोग को 1% तक सीमित करने के लिए हस्तक्षेप सक्षम करता है.</translation> -<translation id="4664482161435122549">PKCS #12 निर्यात त्रुटि</translation> +<translation id="4664482161435122549">PKCS #12 निर्यात गड़बड़ी</translation> <translation id="4665014895760275686">निर्माता</translation> <translation id="4667176955651319626">तृतीय-पक्ष कुकी और साइट डेटा अवरुद्ध करें</translation> <translation id="4668721319092543482"><ph name="PLUGIN_NAME" /> को सक्षम करने के लिए क्लिक करें</translation> @@ -2831,7 +2828,6 @@ <translation id="4764865176798926079">मुख्य फ़्रेम का domContentLoaded और सभी संसाधन लोड, domContentLoaded से पहले प्रारंभ हुए (iframe अनदेखा किए गए).</translation> <translation id="4768332406694066911">आपके पास इन संगठनों के प्रमाणपत्र हैं जो आपकी पहचान करते हैं</translation> <translation id="4768698601728450387">चित्र की काट-छांट करें</translation> -<translation id="4773696473262035477">आप उसे तथा अपने सभी <ph name="SAVED_PASSWORDS_LINK" /> किसी भी ब्राउज़र से ऐक्सेस कर सकते हैं.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> के लिए पासवर्ड</translation> <translation id="4779083564647765204">ज़ूम</translation> <translation id="4780321648949301421">इस रूप में पेज सहेजें...</translation> @@ -2861,7 +2857,7 @@ <translation id="4812632551187706935">कनेक्शन प्रारंभ नहीं किया जा सका</translation> <translation id="4812684235631257312">होस्ट</translation> <translation id="4813345808229079766">कनेक्शन</translation> -<translation id="4813512666221746211">नेटवर्क त्रुटि</translation> +<translation id="4813512666221746211">नेटवर्क गड़बड़ी</translation> <translation id="4816492930507672669">पेज में फ़िट करें</translation> <translation id="4816617200045929931">हमें बताएं कि आपको प्रोफ़ाइल संबंधी गड़बड़ी का संदेश मिलने से पहले वास्तव में क्या हुआ था: @@ -2877,7 +2873,7 @@ <translation id="4829768588131278040">पिन सेट करें</translation> <translation id="4830573902900904548">आपका <ph name="DEVICE_TYPE" /> <ph name="NETWORK_NAME" /> का उपयोग करके इंटरनेट से कनेक्ट करने में असमर्थ है. कृपया कोई अन्य नेटवर्क चुनें. <ph name="LEARN_MORE_LINK_START" />और जानें<ph name="LEARN_MORE_LINK_END" /></translation> <translation id="4834912470034578916">वेब नोटिफिकेशन के लिए कस्टम लेआउट सक्षम करें.</translation> -<translation id="4835836146030131423">प्रवेश करने में त्रुटि.</translation> +<translation id="4835836146030131423">प्रवेश करने में गड़बड़ी.</translation> <translation id="4837926214103741331">आप इस डिवाइस का उपयोग करने के लिए अधिकृत नहीं हैं. कृपया प्रवेश अनुमति के लिए डिवाइस के मालिक से संपर्क करें.</translation> <translation id="4837952862063191349">अपने स्थानीय डेटा को अनलॉक और पुनर्स्थापित करने के लिए, कृपया अपना पुराना <ph name="DEVICE_TYPE" /> पासवर्ड डालें.</translation> <translation id="4839122884004914586">सॉफ़्टवेयर रेंडरिंग सूची ओवरराइड करें</translation> @@ -3062,7 +3058,7 @@ <translation id="5087864757604726239">वापस जाएं</translation> <translation id="508794495705880051">नया क्रेडिट कार्ड जोड़ें...</translation> <translation id="5088534251099454936">RSA सुरक्षित तरीका के साथ PKCS #1 SHA-512</translation> -<translation id="509429900233858213">कोई त्रुटि हुई.</translation> +<translation id="509429900233858213">कोई गड़बड़ी हुई.</translation> <translation id="5094721898978802975">स्थानीय ऐप्स के साथ सहयोग करते हुए संचार करें</translation> <translation id="5096691708387552456">Android svelte (512MB RAM) डिवाइस पर पृष्ठों की समवर्ती पृष्ठभूमि लोडिंग (या डाउनलोड करने) को सक्षम करता है. अन्यथा, svelte डिवाइस के निष्क्रिय होने पर पृष्ठभूमि लोड होगी.</translation> <translation id="5097002363526479830">नेटवर्क से कनेक्ट करने में विफल '<ph name="NAME" />': <ph name="DETAILS" /></translation> @@ -3155,7 +3151,7 @@ <translation id="5204967432542742771">पासवर्ड डालें</translation> <translation id="520526789363737156">इस विकल्प को सक्षम करने से वेब ऐप्लिकेशन, गेमपैड API के प्रयोगात्मक एक्सटेंशन एक्सेस कर सकेंगे.</translation> <translation id="5206215183583316675">"<ph name="CERTIFICATE_NAME" />" हटाएं?</translation> -<translation id="520621735928254154">प्रमाणपत्र आयात करने में त्रुटि</translation> +<translation id="520621735928254154">प्रमाणपत्र आयात करने में गड़बड़ी</translation> <translation id="5209320130288484488">कोई डिवाइस नहीं मिला</translation> <translation id="5209518306177824490">SHA-1 फ़िंगरप्रिंट</translation> <translation id="5210365745912300556">टैब बंद करें</translation> @@ -3170,7 +3166,7 @@ <translation id="5227536357203429560">निजी नेटवर्क जोड़ें...</translation> <translation id="5227679487546032910">डिफ़ॉल्ट नीला-हरा अवतार</translation> <translation id="5227808808023563348">पिछला टेक्स्ट ढूंढें</translation> -<translation id="5228076606934445476">इस डिवाइस में कुछ गलत है. इस त्रुटि को ठीक के लिए आपको डिवाइस को रीबूट करना होगा और फिर से प्रयास करना होगा.</translation> +<translation id="5228076606934445476">इस डिवाइस में कुछ गलत है. इस गड़बड़ी को ठीक के लिए आपको डिवाइस को रीबूट करना होगा और फिर से प्रयास करना होगा.</translation> <translation id="5229189185761556138">इनपुट विधियां प्रबंधित करें</translation> <translation id="5229622432348746578">डेस्कटॉप साझा करने के लिए ऑडियो अक्षम करें</translation> <translation id="5230516054153933099">विंडो</translation> @@ -3207,7 +3203,7 @@ <translation id="5264183975266026244">सामान्य और स्पर्श (पूर्व में "हाइब्रिड") लेआउट के बीच टॉगल करता है.</translation> <translation id="5264252276333215551">किओस्क मोड में अपने ऐप्लिकेशन लॉन्च करने के लिए कृपया इंटरनेट से कनेक्ट करें.</translation> <translation id="5265562206369321422">एक सप्ताह से अधिक समय से ऑफ़लाइन</translation> -<translation id="5266113311903163739">प्रमाणन प्राधिकरण आयात त्रुटि</translation> +<translation id="5266113311903163739">प्रमाणन प्राधिकरण आयात गड़बड़ी</translation> <translation id="5269977353971873915">प्रिंट विफल</translation> <translation id="5271549068863921519">पासवर्ड सहेजें</translation> <translation id="5273628206174272911">क्षैतिज ओवरस्क्रॉल के उत्तर में प्रयोगात्मक इतिहास मार्गदर्शक.</translation> @@ -3553,7 +3549,7 @@ <translation id="5726521882516480114">2d कैनवस रेंडरिंग निष्पादित करने के लिए सॉफ़्टवेयर रेंडरिंग का उपयोग करने के बजाय GPU का उपयोग सक्षम करती है.</translation> <translation id="5727728807527375859">एक्सटेंशन, ऐप्स , और थीम आपके कंप्यूटर को हानि पहुंचा सकते हैं. क्या आप वाकई जारी रखना चाहते हैं?</translation> <translation id="5729712731028706266">&देखें</translation> -<translation id="5729996640881880439">क्षमा करें, हम इस त्रुटि का कोड नहीं दिखा सकते.</translation> +<translation id="5729996640881880439">क्षमा करें, हम इस गड़बड़ी का कोड नहीं दिखा सकते.</translation> <translation id="5731247495086897348">चिप&काएं और जाएं</translation> <translation id="5732790216998904518">परीक्षण के उद्देश्यों से दस्तावेज़, पत्रक और स्लाइड के लिए Office संपादन.</translation> <translation id="5734362860645681824">संचार</translation> @@ -3597,7 +3593,7 @@ <translation id="5778550464785688721">MIDI डिवाइस पूर्ण नियंत्रण</translation> <translation id="5780066559993805332">(सर्वश्रेष्ठ)</translation> <translation id="5780973441651030252">प्राथमिकता संसाधित करें</translation> -<translation id="5783221160790377646">किसी त्रुटि के कारण, एक निगरानी में रखा गया उपयोगकर्ता बनाया गया. कृपया बाद में पुन: प्रयास करें.</translation> +<translation id="5783221160790377646">किसी गड़बड़ी के कारण, एक निगरानी में रखा गया उपयोगकर्ता बनाया गया. कृपया बाद में पुन: प्रयास करें.</translation> <translation id="5783602409389152506">डिवाइस स्कैन करते समय...</translation> <translation id="57838592816432529">आवाज़ बंद करें</translation> <translation id="5787146423283493983">मुख्य अनुबंध</translation> @@ -3900,7 +3896,7 @@ <translation id="6217714497624616387">स्पर्श समायोजन</translation> <translation id="6218364611373262432">प्रत्येक पुनरारंभ पर ऐप चलाने के साधन की इंस्टॉल स्थिति को रीसेट करें. यह फ़्लैग सेट होने पर, Chrome प्रत्येक बार प्रारंभ होने पर, इंस्टॉल किए गए लॉन्चर को याद नहीं रखेगा. इसका उपयोग ऐप चलाने के साधन के इंस्टॉल प्रवाह का परीक्षण करने के लिए किया जाता है.</translation> <translation id="6219616557885484178">अपने <ph name="DEVICE_TYPE" /> पर इंस्टॉल करने और उपयोग करने के लिए Google Play पर अब दस लाख से अधिक ऐप्लिकेशन और गेम में से चुनें.</translation> -<translation id="6220413761270491930">एक्सटेंशन लोड करने में त्रुटि</translation> +<translation id="6220413761270491930">एक्सटेंशन लोड करने में गड़बड़ी</translation> <translation id="6223447490656896591">कस्टम चित्र:</translation> <translation id="62243461820985415">Chrome इस वॉलपेपर को डाउनलोड नहीं कर सकता.</translation> <translation id="6224481128663248237">स्वरूपण सफलतापूर्वक समाप्त हो गया!</translation> @@ -3974,7 +3970,7 @@ <translation id="6307990684951724544">सिस्टम व्यस्त है</translation> <translation id="6308937455967653460">इस रूप में लिं&क सहेजें...</translation> <translation id="6311220991371174222">Chrome शुरू नहीं हो पा रहा है क्योंकि आपकी प्रोफ़ाइल खोलते समय कुछ गलत हो गया. Chrome को फिर से शुरू करने की कोशिश करें.</translation> -<translation id="6312403991423642364">अज्ञात नेटवर्क त्रुटि</translation> +<translation id="6312403991423642364">अज्ञात नेटवर्क गड़बड़ी</translation> <translation id="6314335155547195432">पासवर्ड जेनरेट करें</translation> <translation id="6314819609899340042">आपने इस <ph name="IDS_SHORT_PRODUCT_NAME" /> डिवाइस पर डीबग करने की सुविधाओं को सफलतापूर्वक सक्षम कर लिया है.</translation> <translation id="6315493146179903667">सभी को सामने लाएं</translation> @@ -3994,7 +3990,7 @@ <translation id="6333064448949140209">डीबग करने के लिए फ़ाइल Google को भेजी जाएगी</translation> <translation id="6333834492048057036">खोज के लिए पता बार पर फ़ोकस करें</translation> <translation id="6339034549827494595">रूसी फ़ोनेटिक (AATSEEL) कीबोर्ड</translation> -<translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> के लिए एक नया फ़ोल्डर बनाएं</translation> +<translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> के लिए एक नया प्रोफ़ाइल बनाएं</translation> <translation id="6340071272923955280">इंटरनेट प्रिंटिंग प्रोटोकॉल (IPPS)</translation> <translation id="6341850831632289108">अपने भौतिक स्थान का पता लगाएं</translation> <translation id="634208815998129842">काम का प्रबंधक</translation> @@ -4013,7 +4009,7 @@ <translation id="63566973648609420">आपके एन्क्रिप्ट किए गए डेटा को केवल वही व्यक्ति पढ़ सकता है जिसके पास आपका पासफ़्रेज़ है. Google द्वारा पासफ़्रेज़ भेजा या संग्रहीत नहीं किया जाता. यदि आप अपना पासफ़्रेज़ भूल जाते हैं या यह सेटिंग बदलना चाहते हैं, तो आपको <ph name="BEGIN_LINK" />सिंक रीसेट करना<ph name="END_LINK" /> होगा.</translation> <translation id="6356936121715252359">Adobe Flash Player मेमोरी सेटिंग...</translation> <translation id="6357619544108132570"><ph name="SHORT_PRODUCT_NAME" /> परिवार में स्वागत है. यह कोई साधारण कंप्यूटर नहीं है.</translation> -<translation id="6361850914223837199">त्रुटि विवरण:</translation> +<translation id="6361850914223837199">गड़बड़ी विवरण:</translation> <translation id="6362853299801475928">किसी समस्या की &रिपोर्ट करें...</translation> <translation id="636343209757971102">IPv6 पता:</translation> <translation id="6365411474437319296">परिवार और मित्रों को जोड़ें</translation> @@ -4349,7 +4345,7 @@ <translation id="6827236167376090743">यह वीडियो शाम होने तक चलता रहेगा.</translation> <translation id="6828153365543658583">निम्नलिखित उपयोगर्ताओं के लिए साइन-इन प्रतिबंधित करें:</translation> <translation id="6828434191343384461">चयनित डेटा Chrome और समन्वयित डिवाइस से निकाल दिया गया है. हो सकता है कि आपके Google खाते में अन्य प्रकार के ब्राउज़िंग इतिहास जैसे खोज और <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> पर अन्य Google सेवाओं की गतिविधि हो.</translation> -<translation id="6828860976882136098">सभी उपयोगकर्ताओं के लिए स्वचालित अपडेट सेट करने में विफल (प्रीफ़्लाइट निष्पादन त्रुटि: <ph name="ERROR_NUMBER" />)</translation> +<translation id="6828860976882136098">सभी उपयोगकर्ताओं के लिए स्वचालित अपडेट सेट करने में विफल (प्रीफ़्लाइट निष्पादन गड़बड़ी: <ph name="ERROR_NUMBER" />)</translation> <translation id="6829250331733125857">अपने <ph name="DEVICE_TYPE" /> के साथ सहायता प्राप्त करें.</translation> <translation id="6829270497922309893">अपने संगठन में नामांकित करें</translation> <translation id="682971198310367122">Google निजता नीति</translation> @@ -4359,7 +4355,7 @@ <translation id="6832874810062085277">पूछें</translation> <translation id="683526731807555621">नया खोज इंजन जोड़ें</translation> <translation id="6835762382653651563">अपने <ph name="DEVICE_TYPE" /> को अपडेट करने के लिए कृपया इंटरनेट से कनेक्ट करें.</translation> -<translation id="6839225236531462745">प्रमाणपत्र हटाने की त्रुटि</translation> +<translation id="6839225236531462745">प्रमाणपत्र हटाने की गड़बड़ी</translation> <translation id="6840155290835956714">भेजने से पहले पूछें</translation> <translation id="6840184929775541289">एक प्रमाणन प्राधिकरण नहीं है</translation> <translation id="6840313690797192085">$1 PB</translation> @@ -4370,7 +4366,7 @@ <translation id="6851261092040379723">प्रयोगात्मक JavaScript संकलन पाइपलाइन</translation> <translation id="6853388645642883916">अपडेटर निष्क्रिय</translation> <translation id="68541483639528434">अन्य टैब बंद करें</translation> -<translation id="6856623341093082836">अपने स्क्रीन की सटीकता सेट करें और एडजस्ट करें</translation> +<translation id="6856623341093082836">अपनी टचस्क्रीन की सटीकता सेट करें और एडजस्ट करें</translation> <translation id="6856701878604560493">ऑफ़लाइन बुकमार्क सक्षम करें</translation> <translation id="6860097299815761905">प्रॉक्सी सेटिंग...</translation> <translation id="6860427144121307915">टैब में खोलें</translation> @@ -4386,7 +4382,7 @@ <translation id="6870888490422746447">साझा करने के लिए कोई ऐप चुनें:</translation> <translation id="6871644448911473373">OCSP प्रतिसादी: <ph name="LOCATION" /></translation> <translation id="6871906683378132336">किसी लेख जैसा प्रतीत होता है</translation> -<translation id="6874681241562738119">प्रवेश करने में त्रुटि</translation> +<translation id="6874681241562738119">प्रवेश करने में गड़बड़ी</translation> <translation id="687588960939994211">साथ ही इससे आपके द्वारा इस डिवाइस पर संग्रहीत किया गया आपका इतिहास, बुकमार्क, सेटिंग, और अन्य Chrome डेटा भी साफ़ हो जाएगा.</translation> <translation id="6878261347041253038">देवनागरी कीबोर्ड (फ़ोनेटिक)</translation> <translation id="6880587130513028875">इस पेज पर चित्र अवरोधित कर दी गई थीं.</translation> @@ -4544,7 +4540,7 @@ <translation id="708060913198414444">ऑडियो के पते को कॉ&पी करें</translation> <translation id="7084192839369222683">केवल महत्वपूर्ण सामग्री चलाएं</translation> <translation id="7088418943933034707">प्रमाणपत्र प्रबंधित करें...</translation> -<translation id="7088434364990739311">अपडेट की जांच प्रारंभ करने में विफल (त्रुटि कोड <ph name="ERROR" />).</translation> +<translation id="7088434364990739311">अपडेट की जांच प्रारंभ करने में विफल (गड़बड़ी कोड <ph name="ERROR" />).</translation> <translation id="708856090370082727">OSK ओवरस्क्रॉल समर्थन सक्षम करें. इस फ़्लैग के चालू होने पर, OSK केवल विज़ुअल व्यूपोर्ट के आकार को बदलेगा.</translation> <translation id="7088674813905715446">इस डिवाइस को व्यवस्थापक द्वारा प्रावधान रद्द की गई स्थिति में रखा गया है. नामांकन के लिए इसे सक्षम करने के लिए, कृपया अपने व्यवस्थापक द्वारा डिवाइस को लंबित स्थिति में रहने दें.</translation> <translation id="708969677220991657">HTTPS पर स्थानीय होस्ट के अनुरोधों को अनुमति देता है, भले ही अमान्य प्रमाणपत्र प्रस्तुत किया गया हो.</translation> @@ -4652,7 +4648,7 @@ <translation id="7254951428499890870">क्या आप वाकई "<ph name="APP_NAME" />" को निदान मोड में लॉन्च करना चाहते हैं?</translation> <translation id="7255220508626648026">कास्ट कर रहा है: <ph name="ROUTETITLE" /></translation> <translation id="7255935316994522020">लागू करें</translation> -<translation id="7256405249507348194">अपरिचित त्रुटि: <ph name="DESC" /></translation> +<translation id="7256405249507348194">अपरिचित गड़बड़ी: <ph name="DESC" /></translation> <translation id="7256710573727326513">टैब में खोलें</translation> <translation id="7257666756905341374">प्रतिलिपि बनाया और चिपकाया जाने वाला डेटा पढ़ें</translation> <translation id="7260504762447901703">एक्सेस निरस्त करें</translation> @@ -4667,7 +4663,7 @@ <translation id="7273774418879988007">इसके कारण ऑडियो आउटपुट स्ट्रीम जांच करती है कि डिफ़ॉल्ट हार्डवेयर लेआउट के अतिरिक्त अन्य चैनल लेआउट उपलब्ध हैं या नहीं. इसे चालू करने से, यदि समर्थित हो, तो OS को स्टीरियो से सराउंड विस्तार करने की अनुमति मिलेगी. तृतीय पक्ष ड्राइवर बग दिखाई दे सकते हैं, सावधानी से उपयोग करें.</translation> <translation id="727441411541283857"><ph name="PERCENTAGE" />% - पूर्ण होने में <ph name="TIME" /> शेष</translation> <translation id="7278870042769914968">GTK+ थीम का उपयोग करें</translation> -<translation id="727952162645687754">डाउनलोड त्रुटि</translation> +<translation id="727952162645687754">डाउनलोड गड़बड़ी</translation> <translation id="7279701417129455881">कुकी अवरोधन प्रबंधित करें...</translation> <translation id="7280825545668757494">वाई-फ़ाई क्रेडेंशियल समन्वयन</translation> <translation id="7280877790564589615">अनुमति का अनुरोध किया गया</translation> @@ -4765,7 +4761,7 @@ <translation id="7410344089573941623">यदि <ph name="HOST" /> आपके कैमरे और माइक्रोफ़ोन को एक्सेस करना चाहे, तो पूछें</translation> <translation id="7412226954991670867">GPU मेमोरी</translation> <translation id="7412973134576229926">साइट की सेटिंग देखने के नए तरीके जोड़ता है.</translation> -<translation id="7416362041876611053">अज्ञात नेटवर्क त्रुटि.</translation> +<translation id="7416362041876611053">अज्ञात नेटवर्क गड़बड़ी.</translation> <translation id="7417453074306512035">इथिओपियाई कीबोर्ड</translation> <translation id="7417705661718309329">Google मानचित्र</translation> <translation id="741906494724992817">इस ऐप्स के लिए किसी विशेष अनुमति की आवश्यकता नहीं है.</translation> @@ -4801,7 +4797,7 @@ <translation id="7464490149090366184">ज़िप करना विफल रहा, मौजूद आइटम: "$1"</translation> <translation id="7465778193084373987">Netscape प्रमाणपत्र प्रतिसंहरण URL</translation> <translation id="7469894403370665791">इस नेटवर्क से अपने आप कनेक्ट करें</translation> -<translation id="747114903913869239">त्रुटि: एक्सटेंशन डिकोड करने में असमर्थ</translation> +<translation id="747114903913869239">गड़बड़ी: एक्सटेंशन डिकोड करने में असमर्थ</translation> <translation id="7473891865547856676">जी रहने दें</translation> <translation id="747459581954555080">सभी को पुनर्स्थापित करें</translation> <translation id="7474889694310679759">कनाडाई अंग्रेज़ी कीबोर्ड</translation> @@ -4854,7 +4850,7 @@ <translation id="7532099961752278950">ऐप्स के अनुसार सेट करें:</translation> <translation id="7536709149194614609">कृपया डिवाइस पुनः प्रारंभ करें और बाद में पुनः प्रयास करें.</translation> <translation id="7537601449003285327">टास्कबार में पिन करें</translation> -<translation id="7540972813190816353">अपडेट की जांच करते समय कोई त्रुटि आई: <ph name="ERROR" /></translation> +<translation id="7540972813190816353">अपडेट की जांच करते समय कोई गड़बड़ी आई: <ph name="ERROR" /></translation> <translation id="7541121857749629630">चित्र अपवाद</translation> <translation id="7543104066686362383">इस <ph name="IDS_SHORT_PRODUCT_NAME" /> डिवाइस पर डीबग करने की सुविधाएं सक्षम करें</translation> <translation id="7543908552862239417">सक्षम (अन्य ध्वनि से बाधित होने पर फ़्लैश वॉल्यूूम को कम कर देता है, प्रायोगिक)</translation> @@ -4871,12 +4867,12 @@ <translation id="7553242001898162573">अपना पासवर्ड डालें</translation> <translation id="7554791636758816595">नया टैब</translation> <translation id="7556033326131260574">स्मार्ट लॉक आपका खाता सत्यापित नहीं कर सका. प्रवेश करने के लिए अपना पासवर्ड लिखें.</translation> -<translation id="7556242789364317684">दुर्भाग्यवश, <ph name="SHORT_PRODUCT_NAME" /> आपकी सेटिंग पुनर्प्राप्त करने में अक्षम है. त्रुटि को ठीक करने के लिए, <ph name="SHORT_PRODUCT_NAME" /> को आपके डिवाइस को पावरवॉश के साथ रीसेट करना होगा.</translation> +<translation id="7556242789364317684">दुर्भाग्यवश, <ph name="SHORT_PRODUCT_NAME" /> आपकी सेटिंग पुनर्प्राप्त करने में अक्षम है. गड़बड़ी को ठीक करने के लिए, <ph name="SHORT_PRODUCT_NAME" /> को आपके डिवाइस को पावरवॉश के साथ रीसेट करना होगा.</translation> <translation id="7558050486864662801">जब किसी साइट को आपका माइक्रोफ़ोन एक्सेस करना हो, तो पूछें (सुझाये गये) </translation> <translation id="7559719679815339381">कृपया प्रतीक्षा करें....कियोस्क ऐप अपडेट होने की प्रक्रिया में है. USB स्टिक ना निकालें.</translation> <translation id="7561196759112975576">हमेशा</translation> <translation id="7561276213638531222">साझा किए गए नेटवर्क के लिए प्रॉक्सी की अनुमति देने के बदलाव की पुष्टि करें</translation> -<translation id="7563991800558061108">इस त्रुटि से बाहर आने के लिए, आपको प्रवेश स्क्रीन से अपने Google खाते में +<translation id="7563991800558061108">इस गड़बड़ी से बाहर आने के लिए, आपको प्रवेश स्क्रीन से अपने Google खाते में प्रवेश करना होगा. इसके बाद आप अपने Google खाते से प्रस्थान कर सकते हैं और फिर से एक निगरानी में रखा गया उपयोगकर्ता बनाकर देख सकते हैं.</translation> <translation id="756445078718366910">ब्राउज़र विंडो खोलें</translation> @@ -4899,7 +4895,7 @@ <translation id="7589461650300748890">अरे, सुनिए. सतर्क रहें.</translation> <translation id="7589661784326793847">बस एक सेकंड प्रतीक्षा करें</translation> <translation id="7591957897535945411">इस पेज का अनुवाद किया गया है.</translation> -<translation id="7595547011743502844"><ph name="ERROR" /> (त्रुटि कोड <ph name="ERROR_CODE" />).</translation> +<translation id="7595547011743502844"><ph name="ERROR" /> (गड़बड़ी कोड <ph name="ERROR_CODE" />).</translation> <translation id="7596831438341298034">ठीक है, आयात करें</translation> <translation id="7600965453749440009">कभी भी <ph name="LANGUAGE" /> का अनुवाद न करें</translation> <translation id="760197030861754408">कनेक्ट करने के लिए <ph name="LANDING_PAGE" /> पर जाएं.</translation> @@ -4991,7 +4987,7 @@ <translation id="7740287852186792672">खोज परिणाम</translation> <translation id="7740996059027112821">मानक</translation> <translation id="7742762435724633909">प्रदाता का नाम:</translation> -<translation id="774465434535803574">पैक एक्सटेंशन त्रुटि</translation> +<translation id="774465434535803574">पैक एक्सटेंशन गड़बड़ी</translation> <translation id="7748528009589593815">पिछला टैब</translation> <translation id="7748557970715020068">कोई भी क्रेडिट कार्ड नहीं मिला</translation> <translation id="7751260505918304024">सभी दिखाएं</translation> @@ -5087,7 +5083,7 @@ <translation id="7870790288828963061">अधिक नए वर्शन वाला कोई भी कियोस्क ऐप नहीं मिला. अपडेट करने के लिए कुछ नहीं है. कृपया USB स्टिक को निकालें.</translation> <translation id="7874357055309047713">हमेशा सभी साइटों पर चलाएं</translation> <translation id="7876243839304621966">सभी को निकालें</translation> -<translation id="7877451762676714207">अज्ञात सर्वर त्रुटि. कृपया पुन: प्रयास करें, या सर्वर व्यवस्थापक से संपर्क करें.</translation> +<translation id="7877451762676714207">अज्ञात सर्वर गड़बड़ी. कृपया पुन: प्रयास करें, या सर्वर व्यवस्थापक से संपर्क करें.</translation> <translation id="7881483672146086348">खाता देखें</translation> <translation id="7881969471599061635">उपशीर्षक अक्षम करें</translation> <translation id="7882358943899516840">प्रदाता का प्रकार</translation> @@ -5162,9 +5158,9 @@ <translation id="797610151583999923">mus, mash आदि सक्षम करें.</translation> <translation id="7977551819349545646">Chromebox अपडेट कर रहा है...</translation> <translation id="7978412674231730200">निजी कुंजी</translation> -<translation id="7979036127916589816">समन्वयन त्रुटि</translation> +<translation id="7979036127916589816">समन्वयन गड़बड़ी</translation> <translation id="7980084013673500153">एसेट आईडी: <ph name="ASSET_ID" /></translation> -<translation id="7982083145464587921">इस त्रुटि को ठीक करने के लिए कृपया अपना डिवाइस पुन: प्रारंभ करें.</translation> +<translation id="7982083145464587921">इस गड़बड़ी को ठीक करने के लिए कृपया अपना डिवाइस पुन: प्रारंभ करें.</translation> <translation id="7982283708762922719">ऊंचाई</translation> <translation id="7982789257301363584">नेटवर्क</translation> <translation id="7984180109798553540">अतिरिक्त सुरक्षा के लिए, <ph name="PRODUCT_NAME" /> आपका डेटा एन्क्रिप्ट करेगा.</translation> @@ -5309,7 +5305,7 @@ <translation id="8157939133946352716">7x5</translation> <translation id="8160015581537295331">स्पेनिश कीबोर्ड</translation> <translation id="8160034811930768364">यह फ़्लैग क्रॉस-क्षेत्र लोड मोड को नियंत्रित करता है</translation> -<translation id="816055135686411707">प्रमाणपत्र विश्वास सेट करने में त्रुटि</translation> +<translation id="816055135686411707">प्रमाणपत्र विश्वास सेट करने में गड़बड़ी</translation> <translation id="816095449251911490"><ph name="SPEED" /> - <ph name="RECEIVED_AMOUNT" />, <ph name="TIME_REMAINING" /></translation> <translation id="8165208966034452696"><ph name="PLUGIN_NAME" /></translation> <translation id="8165383685500900731">माइक्रोफ़ोन सेटिंग प्रबंधित करें...</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">माउस</translation> <translation id="8261378640211443080">यह एक्सटेंशन <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> में सूचीबद्ध नहीं है और यह आपकी जानकारी के बिना जोड़ा गया हो सकता है.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> के लिए खाता जोड़ें</translation> -<translation id="8261490674758214762">वे अब यह कर सकते हैं:</translation> <translation id="8261506727792406068">हटाएं</translation> <translation id="8261580862248730866">माइक्रोफ़ोन अपवाद</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> फ़ोटो का <ph name="BEGIN_LINK" />Google डिस्क<ph name="END_LINK" /> पर बैकअप लिया जा रहा है</translation> @@ -5719,7 +5714,7 @@ <translation id="8725066075913043281">पुन: प्रयास करें</translation> <translation id="8725178340343806893">पसंदीदा/बुकमार्क बार</translation> <translation id="872537912056138402">क्रोएशियाई</translation> -<translation id="8726206820263995930">सर्वर से नीति सेटिंग फ़ेच करते समय त्रुटि: <ph name="CLIENT_ERROR" />.</translation> +<translation id="8726206820263995930">सर्वर से नीति सेटिंग फ़ेच करते समय गड़बड़ी: <ph name="CLIENT_ERROR" />.</translation> <translation id="8726888928275282477">एक्सटेंशन विकल्पों को नए टैब में खोलने की बजाय chrome://extensions में एम्बेड किए गए तत्व के रूप में दिखाएं.</translation> <translation id="8727142376512517020">इसे दोबारा ना दिखाएं</translation> <translation id="8730621377337864115">पूर्ण</translation> @@ -5881,7 +5876,7 @@ <translation id="8946784827990177241">WebUSB समर्थन सक्षम करें.</translation> <translation id="89515141420106838">Chrome वेब स्टोर गैलरी ऐप को प्रिंटर ड्राइवर के लिए सक्षम करता है. ऐप, ऐसे एक्सटेंशन के लिए Chrome वेब स्टोर में खोज करता है जो विशिष्ट USB आईडी वाले USB प्रिंटर से प्रिंट करने का समर्थन करते हैं.</translation> <translation id="895347679606913382">प्रारंभ कर रहा है...</translation> -<translation id="8954952943849489823">ले जाना विफल रहा, अप्रत्याशित त्रुटि: $1</translation> +<translation id="8954952943849489823">ले जाना विफल रहा, अप्रत्याशित गड़बड़ी: $1</translation> <translation id="895586998699996576">$1 चित्र</translation> <translation id="8957210676456822347">कैप्टिव पोर्टल प्राधिकरण</translation> <translation id="8957423540740801332">दाईं</translation> @@ -6039,7 +6034,7 @@ <translation id="9154194610265714752">अपडेट किया गया</translation> <translation id="9154418932169119429">यह चित्र ऑफ़लाइन उपलब्ध नहीं है.</translation> <translation id="91568222606626347">शॉर्टकट बनाएं...</translation> -<translation id="9157697743260533322">सभी उपयोगकर्ताओं के लिए स्वचालित अपडेट सेट करने में विफल (प्रीफ़्लाइट लॉन्च त्रुटि: <ph name="ERROR_NUMBER" />)</translation> +<translation id="9157697743260533322">सभी उपयोगकर्ताओं के लिए स्वचालित अपडेट सेट करने में विफल (प्रीफ़्लाइट लॉन्च गड़बड़ी: <ph name="ERROR_NUMBER" />)</translation> <translation id="9158715103698450907">ओह! प्रमाणीकरण के दौरान एक नेटवर्क संचार समस्या आई. कृपया अपना नेटवर्क कनेक्शन जांचें और पुन: प्रयास करें.</translation> <translation id="9159562891634783594">प्रिंट पूर्वावलोकन से अपंजीकृत क्लाउड प्रिंटर को पंजीकृत करना सक्षम करें.</translation> <translation id="9161070040817969420">इनके लिए सबफ़्रेम: <ph name="PARENT_SITE" /></translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb index 21d17ae..d47e2af 100644 --- a/chrome/app/resources/generated_resources_hr.xtb +++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">transliteracija (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Učitaj sliku</translation> <translation id="1029317248976101138">Zumiranje</translation> -<translation id="1029595648591494741">Želite li isprobati "<ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">Uspješan ispis <ph name="PAGE_NUMBER" /> str. na pisaču <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Učitavanje pregleda</translation> <translation id="1031573127485938293">Traži (na temelju pravila)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Ograničenja pravila certifikata</translation> <translation id="335985608243443814">Pregledaj...</translation> <translation id="3360297538363969800">Ispis nije uspio. Provjerite svoj pisač i pokušajte ponovo.</translation> -<translation id="3361481787422913716">Pogledajte postavke izvješća</translation> <translation id="336497260564123876">Zaporka je spremljena. Da bi vam zaporke bile dostupne na svim uređajima, prijavite se na Chrome.</translation> <translation id="3367813778245106622">Prijavite se ponovo da biste pokrenuli sinkronizaciju</translation> <translation id="3368922792935385530">Spojeno</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Upišite ovaj kôd na uređaju <ph name="DEVICE_NAME" /> da biste ga uparili:</translation> <translation id="3588662957555259973">* Fotografija Google profila</translation> <translation id="3590194807845837023">Otključaj profil i pokreni ponovo</translation> -<translation id="3590559774363307859">Zaporka je spremljena. Toj i svim drugim zaporkama možete pristupiti tako da otvorite <ph name="SAVED_PASSWORDS_LINK" /> u bilo kojem pregledniku.</translation> <translation id="3592260987370335752">&Saznajte više</translation> <translation id="359283478042092570">Pridružite se</translation> <translation id="3593965109698325041">Ograničenja naziva certifikata</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">DOMContentLoaded i učitavanja svih resursa započela su prije događaja DOMContentLoaded (iframeovi su zanemareni).</translation> <translation id="4768332406694066911">Imate certifikate ovih organizacija koji vas identificiraju</translation> <translation id="4768698601728450387">Obreži sliku</translation> -<translation id="4773696473262035477">Toj i svim drugim zaporkama možete pristupiti tako da otvorite <ph name="SAVED_PASSWORDS_LINK" /> u bilo kojem pregledniku.</translation> <translation id="4776917500594043016">Zaporka za adresu <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zumiranje</translation> <translation id="4780321648949301421">Spremi stranicu kao...</translation> @@ -5383,7 +5379,6 @@ <translation id="8260864402787962391">Miš</translation> <translation id="8261378640211443080">To proširenje nije navedeno u trgovini <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i možda je dodano bez vašeg znanja.</translation> <translation id="8261387128019234107">Dodaj račun za profil <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Proširenja ili aplikacije mogu:</translation> <translation id="8261506727792406068">Izbriši</translation> <translation id="8261580862248730866">Iznimke za mikrofon</translation> <translation id="8261673729476082470">Izrada sigurnosnih kopija fotografija na <ph name="BEGIN_LINK" />Google disku<ph name="END_LINK" /> (ukupno <ph name="FILE_COUNT" />)</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb index 84837b0..5d2f692 100644 --- a/chrome/app/resources/generated_resources_hu.xtb +++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Átírás (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Kép betöltése</translation> <translation id="1029317248976101138">Nagyítás</translation> -<translation id="1029595648591494741">Kipróbálja a következőt: „<ph name="EXTENSION_NAME" />”?</translation> <translation id="1030173864176315846">Sikeresen nyomtatott <ph name="PAGE_NUMBER" /> oldalt a(z) <ph name="PRINTER_NAME" /> segítségével</translation> <translation id="1031362278801463162">Előnézet betöltése</translation> <translation id="1031573127485938293">Kérdezzen rá (a házirend alapján)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Tanúsítvány-irányelvi megkötések</translation> <translation id="335985608243443814">Tallózás...</translation> <translation id="3360297538363969800">A nyomtatás sikertelen. Ellenőrizze a nyomtatót, majd próbálja újra.</translation> -<translation id="3361481787422913716">Jelentésbeállítások megtekintése</translation> <translation id="336497260564123876">Jelszó mentve. Ha az összes eszközén szeretné elérni jelszavait, jelentkezzen be a Chrome-ba.</translation> <translation id="3367813778245106622">A szinkronizálás megkezdéséhez jelentkezzen be újra</translation> <translation id="3368922792935385530">Kapcsolódva</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Írja be ezt a kódot a(z) „<ph name="DEVICE_NAME" />” eszközön a párosításhoz:</translation> <translation id="3588662957555259973">* Google-profil fotó</translation> <translation id="3590194807845837023">Profil feloldása és újraindítás</translation> -<translation id="3590559774363307859">Jelszó mentve. Bármelyik böngészőből elérheti ezt és a(z) <ph name="SAVED_PASSWORDS_LINK" /> közül az összes többit.</translation> <translation id="3592260987370335752">&További információ</translation> <translation id="359283478042092570">Bejelentkezés</translation> <translation id="3593965109698325041">Tanúsítvány nevének megkötései</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">A fő keret domContentLoaded eseménye és az összes forrás betöltése elkezdődött a domContentLoaded előtt (iframe-ek figyelmen kívül hagyva).</translation> <translation id="4768332406694066911">Ezektől a szervezetektől olyan tanúsítványai vannak, amelyek azonosítják</translation> <translation id="4768698601728450387">Kép kivágása</translation> -<translation id="4773696473262035477">Bármely böngészőből elérheti ezt és a(z) <ph name="SAVED_PASSWORDS_LINK" /> közül az összes többit.</translation> <translation id="4776917500594043016">A(z) <ph name="USER_EMAIL_ADDRESS" /> fiókhoz tartozó jelszó</translation> <translation id="4779083564647765204">Nagyítás</translation> <translation id="4780321648949301421">Oldal mentése &másként...</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">Egér</translation> <translation id="8261378640211443080">A bővítmény nem a(z) <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> szolgáltatásból származik, és előfordulhat, hogy az Ön tudta nélkül lett telepítve.</translation> <translation id="8261387128019234107">Fiók hozzáadása a következőhöz: <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Megtehetik a következőket:</translation> <translation id="8261506727792406068">Törlés</translation> <translation id="8261580862248730866">Mikrofonnal kapcsolatos kivételek</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> fotó biztonsági mentésének végrehajtása folyamatban van a <ph name="BEGIN_LINK" />Google Drive-on<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb index bcaa318..a1aa402 100644 --- a/chrome/app/resources/generated_resources_id.xtb +++ b/chrome/app/resources/generated_resources_id.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliterasi (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Muat Gambar</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Coba "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Berhasil mencetak <ph name="PAGE_NUMBER" /> halaman di <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Memuat pratinjau</translation> <translation id="1031573127485938293">Tanyakan (berdasarkan kebijakan)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">Setelan cookie baru akan berlaku setelah laman dimuat ulang.</translation> <translation id="1470811252759861213">Untuk mendapatkan ekstensi di semua komputer, <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">Mengaktifkan dukungan keyboard virtual.</translation> -<translation id="1473539320840569129">Meskipun tidak ada perangkat stilus yang terpasang, menu alat stilus di rak dan bagian stilus pada setelan akan ditampilkan secara paksa.</translation> +<translation id="1473539320840569129">Meskipun tidak ada perangkat stilus yang terpasang, menu fitur stilus di rak dan bagian stilus pada setelan akan tetap ditampilkan.</translation> <translation id="1474079335130556426">Mengaktifkan mode latar belakang untuk API Push. Hal ini memungkinkan Chrome untuk terus berjalan setelah jendela terakhir ditutup dan diluncurkan saat memulai OS, jika API Push memerlukannya.</translation> <translation id="1474339897586437869">"<ph name="FILENAME" />" tidak diupload. Ruang di Google Drive Anda tidak cukup.</translation> <translation id="1475502736924165259">Anda memiliki sertifikat pada file yang tidak sesuai dengan kategori lain mana pun</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Kendala Kebijakan Sertifikat</translation> <translation id="335985608243443814">Jelajah...</translation> <translation id="3360297538363969800">Gagal mencetak. Periksa printer Anda dan coba lagi.</translation> -<translation id="3361481787422913716">Tampilkan setelan laporan</translation> <translation id="336497260564123876">Sandi disimpan. Agar sandi ada di semua perangkat, masuk ke Chrome.</translation> <translation id="3367813778245106622">Masuk lagi untuk memulai sinkronisasi</translation> <translation id="3368922792935385530">Tersambung</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Ketik kode ini di "<ph name="DEVICE_NAME" />" untuk menyandingkan:</translation> <translation id="3588662957555259973">* Foto Google profil</translation> <translation id="3590194807845837023">Buka Kunci Profil dan Luncurkan Lagi</translation> -<translation id="3590559774363307859">Sandi tersimpan. Anda dapat mengaksesnya dan semua <ph name="SAVED_PASSWORDS_LINK" /> dari browser mana pun.</translation> <translation id="3592260987370335752">&Pelajari lebih lanjut</translation> <translation id="359283478042092570">Masuk</translation> <translation id="3593965109698325041">Kendala Nama Sertifikat</translation> @@ -2636,7 +2633,7 @@ <translation id="4479639480957787382">Ethernet</translation> <translation id="4479812471636796472">Keyboard Dvorak AS</translation> <translation id="4481249487722541506">Muat ekstensi yang belum dibuka kemasannya...</translation> -<translation id="4481530544597605423">Perangkat dilepas sambungannya</translation> +<translation id="4481530544597605423">Perangkat tidak tersambung</translation> <translation id="4487088045714738411">Keyboard untuk bahasa Belgia</translation> <translation id="4492190037599258964">Telusuri hasil untuk '<ph name="SEARCH_STRING" />'</translation> <translation id="4495419450179050807">Jangan tampilkan pada laman ini</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">domContentLoaded main frame dan semua muatan sumber daya dimulai sebelum domContentLoaded (iframes diabaikan).</translation> <translation id="4768332406694066911">Anda memiliki sertifikat dari organisasi ini yang mengenali Anda</translation> <translation id="4768698601728450387">Pangkas gambar</translation> -<translation id="4773696473262035477">Anda dapat mengaksesnya dan semua <ph name="SAVED_PASSWORDS_LINK" /> Anda dari browser apa pun.</translation> <translation id="4776917500594043016">Sandi untuk <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Simpan Laman Sebagai...</translation> @@ -4371,7 +4367,7 @@ <translation id="6851261092040379723">Saluran Kompilasi JavaScript Eksperimental</translation> <translation id="6853388645642883916">Updater dalam mode tidur</translation> <translation id="68541483639528434">Tutup tab lain</translation> -<translation id="6856623341093082836">Siapkan dan sesuakan akurasi layar sentuh</translation> +<translation id="6856623341093082836">Siapkan dan sesuaikan akurasi layar sentuh</translation> <translation id="6856701878604560493">Aktifkan bookmark offline</translation> <translation id="6860097299815761905">Setelan proxy...</translation> <translation id="6860427144121307915">Buka di Tab</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">Ekstensi ini tidak tercantum dalam <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> dan mungkin telah ditambahkan tanpa sepengetahuan Anda.</translation> <translation id="8261387128019234107">Tambahkan akun untuk <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Aplikasi/ekstensi dapat:</translation> <translation id="8261506727792406068">Hapus</translation> <translation id="8261580862248730866">Pengecualian mikrofon</translation> <translation id="8261673729476082470">Mencadangkan <ph name="FILE_COUNT" /> foto ke <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb index 3de403e..6ae2dba2 100644 --- a/chrome/app/resources/generated_resources_it.xtb +++ b/chrome/app/resources/generated_resources_it.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Traslitterazione (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Carica immagine</translation> <translation id="1029317248976101138">Dimensioni dei caratteri</translation> -<translation id="1029595648591494741">Provare "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> pagine stampate con <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Caricamento anteprima in corso</translation> <translation id="1031573127485938293">Chiedi (in base alle norme)</translation> @@ -1828,7 +1827,6 @@ <translation id="3359256513598016054">Vincoli criteri certificati</translation> <translation id="335985608243443814">Sfoglia...</translation> <translation id="3360297538363969800">Errore di stampa. Controlla la stampante e riprova.</translation> -<translation id="3361481787422913716">Visualizza le impostazioni segnalate</translation> <translation id="336497260564123876">Password salvata. Accedi a Chrome per trovare le tue password su tutti i dispositivi.</translation> <translation id="3367813778245106622">Accedi nuovamente per avviare la sincronizzazione</translation> <translation id="3368922792935385530">Connessa</translation> @@ -2004,7 +2002,6 @@ <translation id="358796204584394954">Digita questo codice in "<ph name="DEVICE_NAME" />" per accoppiare:</translation> <translation id="3588662957555259973">* Foto profilo Google</translation> <translation id="3590194807845837023">Sblocca il profilo e riavvia</translation> -<translation id="3590559774363307859">Password salvata. Puoi accedere a questa password e a tutte le tue <ph name="SAVED_PASSWORDS_LINK" /> da qualsiasi browser.</translation> <translation id="3592260987370335752">&Ulteriori informazioni</translation> <translation id="359283478042092570">Entra</translation> <translation id="3593965109698325041">Vincoli nomi certificati</translation> @@ -2633,7 +2630,7 @@ <translation id="4479639480957787382">Ethernet</translation> <translation id="4479812471636796472">Tastiera Dvorak USA</translation> <translation id="4481249487722541506">Carica estensione non pacchettizzata...</translation> -<translation id="4481530544597605423">Dispositivi non accoppiati</translation> +<translation id="4481530544597605423">Dispositivi disaccoppiati</translation> <translation id="4487088045714738411">Tastiera belga</translation> <translation id="4492190037599258964">Risultati di ricerca per "<ph name="SEARCH_STRING" />"</translation> <translation id="4495419450179050807">Non visualizzare in questa pagina</translation> @@ -2826,7 +2823,6 @@ <translation id="4764865176798926079">Il caricamento di domContentLoaded e di tutte le risorse per il frame principale è iniziato prima di domContentLoaded (iframe ignorati).</translation> <translation id="4768332406694066911">Hai certificati da queste organizzazioni che ti identificano</translation> <translation id="4768698601728450387">Ritaglia immagine</translation> -<translation id="4773696473262035477">Puoi accedere a questa password e a tutte le tue <ph name="SAVED_PASSWORDS_LINK" /> da qualsiasi browser.</translation> <translation id="4776917500594043016">Password per <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Dimensioni dei caratteri</translation> <translation id="4780321648949301421">Salva pagina con nome...</translation> @@ -5369,7 +5365,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">Questa estensione non è elencata nel <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> e potrebbe essere stata aggiunta a tua insaputa.</translation> <translation id="8261387128019234107">Aggiungi account per <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Possono:</translation> <translation id="8261506727792406068">Elimina</translation> <translation id="8261580862248730866">Eccezioni microfono</translation> <translation id="8261673729476082470">Backup di <ph name="FILE_COUNT" /> foto su <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /> in corso</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb index 43bcaa6..4e90992 100644 --- a/chrome/app/resources/generated_resources_iw.xtb +++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">תעתוק (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">טען תמונה</translation> <translation id="1029317248976101138">התקרב</translation> -<translation id="1029595648591494741">רוצה לנסות את "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> עמודים הודפסו בהצלחה ב-<ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">טוען תצוגה מקדימה</translation> <translation id="1031573127485938293">שאל (לפי מדיניות)</translation> @@ -1825,7 +1824,6 @@ <translation id="3359256513598016054">מגבלות מדיניות אישורים </translation> <translation id="335985608243443814">דפדף...</translation> <translation id="3360297538363969800">ההדפסה נכשלה. בדוק את המדפסת ונסה שוב.</translation> -<translation id="3361481787422913716">הצג את הגדרות הדיווח</translation> <translation id="336497260564123876">הסיסמה נשמרה. כדי לקבל את הסיסמאות שלך בכל המכשירים, היכנס ל-Chrome.</translation> <translation id="3367813778245106622">היכנס שוב כדי להתחיל בסנכרון</translation> <translation id="3368922792935385530">מחובר</translation> @@ -2001,7 +1999,6 @@ <translation id="358796204584394954">הקלד את הקוד הזה ב-"<ph name="DEVICE_NAME" />" כדי לבצע התאמה:</translation> <translation id="3588662957555259973">* תמונת פרופיל Google</translation> <translation id="3590194807845837023">בטל נעילת פרופיל והפעל מחדש</translation> -<translation id="3590559774363307859">הסיסמה נשמרה. תוכל לגשת אליה ולכל <ph name="SAVED_PASSWORDS_LINK" /> שלך מכל דפדפן.</translation> <translation id="3592260987370335752">למידע נוסף</translation> <translation id="359283478042092570">הזן</translation> <translation id="3593965109698325041">מגבלות שם אישור </translation> @@ -2826,7 +2823,6 @@ <translation id="4764865176798926079">domContentLoaded של המסגרת הראשית וכל טעינות המשאבים שהחלו לפני domContentLoaded (מסגרות iframe לא מובאות בחשבון).</translation> <translation id="4768332406694066911">יש לך אישורים מארגונים אלה שמזהים אותך</translation> <translation id="4768698601728450387">חתוך תמונה</translation> -<translation id="4773696473262035477">תוכל לגשת אליה ולכל <ph name="SAVED_PASSWORDS_LINK" /> שלך מכל דפדפן.</translation> <translation id="4776917500594043016">סיסמה עבור <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">מרחק מתצוגה</translation> <translation id="4780321648949301421">שמור דף כ...</translation> @@ -5370,7 +5366,6 @@ <translation id="8260864402787962391">עכבר</translation> <translation id="8261378640211443080">התוסף הזה לא רשום ב<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> וייתכן שנוסף ללא ידיעתך.</translation> <translation id="8261387128019234107">הוסף חשבון עבור <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">יכולים:</translation> <translation id="8261506727792406068">מחק</translation> <translation id="8261580862248730866">חריגי מצלמה</translation> <translation id="8261673729476082470">מגבה <ph name="FILE_COUNT" /> תמונות ב-<ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb index 923fa49..ba69c1b 100644 --- a/chrome/app/resources/generated_resources_ja.xtb +++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">文字変換(vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">画像を読み込む</translation> <translation id="1029317248976101138">ズーム</translation> -<translation id="1029595648591494741">「<ph name="EXTENSION_NAME" />」を試しますか?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> で <ph name="PAGE_NUMBER" /> ページの印刷が完了しました</translation> <translation id="1031362278801463162">プレビューを読み込んでいます</translation> <translation id="1031573127485938293">確認(ポリシーで管理)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">証明書ポリシーの制約</translation> <translation id="335985608243443814">参照...</translation> <translation id="3360297538363969800">印刷できませんでした。プリンタを確認してもう一度お試しください。</translation> -<translation id="3361481787422913716">レポート設定を表示</translation> <translation id="336497260564123876">パスワードを保存しました。お使いのどの端末でも同じパスワードを使用するには、Chrome にログインします。</translation> <translation id="3367813778245106622">同期を開始するにはもう一度ログインします</translation> <translation id="3368922792935385530">接続済み</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">ペア設定するには「<ph name="DEVICE_NAME" />」で次のコードを入力してください:</translation> <translation id="3588662957555259973">* Google プロフィール写真</translation> <translation id="3590194807845837023">プロフィールのロックを解除して再起動</translation> -<translation id="3590559774363307859">パスワードを保存しました。どのブラウザからでも、このパスワードと <ph name="SAVED_PASSWORDS_LINK" />すべてにアクセスできます。</translation> <translation id="3592260987370335752">詳細(&L)</translation> <translation id="359283478042092570">ログイン</translation> <translation id="3593965109698325041">証明書名の制約</translation> @@ -2833,9 +2830,8 @@ <translation id="4764865176798926079">メインフレームの domContentLoaded と、domContentLoaded より前に開始したすべてのリソースの読み込み(iframe を無視)。</translation> <translation id="4768332406694066911">次の機関から発行された、あなたを識別する証明書があります</translation> <translation id="4768698601728450387">画像の切り取り</translation> -<translation id="4773696473262035477">どのブラウザからでも、このパスワードと <ph name="SAVED_PASSWORDS_LINK" />すべてにアクセスできます。</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> のパスワード</translation> -<translation id="4779083564647765204">拡大/縮小</translation> +<translation id="4779083564647765204">ズーム</translation> <translation id="4780321648949301421">ページを別名で保存...</translation> <translation id="4780374166989101364">試験運用版の拡張機能 API を有効にします。試験運用版の API を使用した拡張機能は、拡張機能ギャラリーにはアップロードできませんのでご注意ください。</translation> <translation id="4781787911582943401">画面を拡大</translation> @@ -5388,7 +5384,6 @@ <translation id="8260864402787962391">マウス</translation> <translation id="8261378640211443080">この拡張機能は <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />で提供されていません。知らないうちに追加された可能性があります。</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> のアカウントを追加</translation> -<translation id="8261490674758214762">次の権限にアクセス可能:</translation> <translation id="8261506727792406068">削除</translation> <translation id="8261580862248730866">マイクの例外</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> 枚の写真を <ph name="BEGIN_LINK" />Google ドライブ<ph name="END_LINK" />にバックアップ中です</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb index 16962947..ef8537f 100644 --- a/chrome/app/resources/generated_resources_kn.xtb +++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">ಲಿಪ್ಯಂತರಣ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">ಚಿತ್ರ ಲೋಡ್ ಮಾಡು</translation> <translation id="1029317248976101138">ಝೂಮ್</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" ಪ್ರಯತ್ನಿಸುವುದೇ?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> ನಲ್ಲಿ <ph name="PAGE_NUMBER" /> ಪುಟಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮುದ್ರಿಸಲಾಗಿದೆ</translation> <translation id="1031362278801463162">ಪೂರ್ವವೀಕ್ಷಣೆ ಲೋಡ್ ಆಗುತ್ತಿದೆ</translation> <translation id="1031573127485938293">ಕೇಳು (ನೀತಿಯ ಮೂಲಕ)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">ಪ್ರಮಾಣಪತ್ರ ನೀತಿ ನಿರ್ಬಂಧಗಳು</translation> <translation id="335985608243443814">ಬ್ರೌಸ್...</translation> <translation id="3360297538363969800">ಮುದ್ರಣ ವಿಫಲಗೊಂಡಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಮುದ್ರಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation> -<translation id="3361481787422913716">ವರದಿಯ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ವೀಕ್ಷಿಸಿ</translation> <translation id="336497260564123876">ಪಾಸ್ವರ್ಡ್ ಉಳಿಸಲಾಗಿದೆ. ನಿಮ್ಮ ಎಲ್ಲಾ ಸಾಧನಗಳಲ್ಲಿ ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಲು Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation> <translation id="3367813778245106622">ಸಿಂಕ್ ಪ್ರಾರಂಭಿಸಲು ಮತ್ತೊಮ್ಮೆ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation> <translation id="3368922792935385530">ಸಂಪರ್ಕಿಸಲಾಗಿದೆ</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">"<ph name="DEVICE_NAME" />" ಗೆ ಜೋಡಿ ಮಾಡಲು ಈ ಕೋಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿ:</translation> <translation id="3588662957555259973">* Google ಪ್ರೊಫೈಲ್ ಫೋಟೋ</translation> <translation id="3590194807845837023">ಪ್ರೊಫೈಲ್ ಅನ್ಲಾಕ್ ಮಾಡು ಹಾಗೂ ಮರುಪ್ರಾರಂಭಿಸು</translation> -<translation id="3590559774363307859">ಪಾಸ್ವರ್ಡ್ ಉಳಿಸಲಾಗಿದೆ. ನೀವು ಯಾವುದೇ ಬ್ರೌಸರ್ನಿಂದ ಇದನ್ನು ಮತ್ತು ನಿಮ್ಮ ಎಲ್ಲಾ <ph name="SAVED_PASSWORDS_LINK" /> ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.</translation> <translation id="3592260987370335752">&ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ</translation> <translation id="359283478042092570">Enter</translation> <translation id="3593965109698325041">ಪ್ರಮಾಣಪತ್ರ ಹೆಸರು ನಿರ್ಬಂಧಗಳು</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">ಮುಖ್ಯ ಫ್ರೇಮ್ನ domContentLoaded ಮತ್ತು ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳ ಲೋಡ್ಗಳು domContentLoaded (iframes ನಿರ್ಲಕ್ಷಿಸಲಾಗಿದೆ) ಗೂ ಮೊದಲು ಪ್ರಾರಂಭಗೊಂಡಿದೆ.</translation> <translation id="4768332406694066911">ನಿಮ್ಮನ್ನು ಗುರುತಿಸುವ ಈ ಸಂಸ್ಥೆಗಳ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ನೀವು ಹೊಂದಿರುವಿರಿ</translation> <translation id="4768698601728450387">ಚಿತ್ರವನ್ನು ಕ್ರಾಪ್ ಮಾಡು</translation> -<translation id="4773696473262035477">ನೀವು ಯಾವುದೇ ಬ್ರೌಸರ್ನಿಂದ ಅದನ್ನು ಮತ್ತು ನಿಮ್ಮ ಎಲ್ಲಾ <ph name="SAVED_PASSWORDS_LINK" /> ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> ಗಾಗಿ ಪಾಸ್ವರ್ಡ್</translation> <translation id="4779083564647765204">ಝೂಮ್</translation> <translation id="4780321648949301421">ಇದರಂತೆ ಪುಟವನ್ನು ಉಳಿಸು...</translation> @@ -5386,7 +5382,6 @@ <translation id="8260864402787962391">ಮೌಸ್</translation> <translation id="8261378640211443080">ಈ ವಿಸ್ತರಣೆಯನ್ನು <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ ಮತ್ತು ಇದು ನಿಮಗೆ ಅರಿವಿಲ್ಲದಂತೆ ಸೇರಿಸಿರಬಹುದು.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> ಗಾಗಿ ಖಾತೆಯನ್ನು ಸೇರಿಸು</translation> -<translation id="8261490674758214762">ಅವರಿಗೆ ಸಾಧ್ಯ:</translation> <translation id="8261506727792406068">ಅಳಿಸು</translation> <translation id="8261580862248730866">ಮೈಕ್ರೊಫೋನ್ ವಿನಾಯಿತಿಗಳು</translation> <translation id="8261673729476082470"><ph name="BEGIN_LINK" />Google ಡ್ರೈವ್<ph name="END_LINK" /> ಗೆ <ph name="FILE_COUNT" /> ಫೋಟೋಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb index 2fd1e03..c6a3c1c 100644 --- a/chrome/app/resources/generated_resources_ko.xtb +++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">음역(vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">이미지 로드</translation> <translation id="1029317248976101138">확대</translation> -<translation id="1029595648591494741">'<ph name="EXTENSION_NAME" />'을(를) 사용해 보시겠습니까?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" />에서 <ph name="PAGE_NUMBER" />페이지 인쇄함</translation> <translation id="1031362278801463162">미리보기 로드 중</translation> <translation id="1031573127485938293">정책에 의한 요청</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">새 쿠키 설정은 페이지를 새로고침한 다음에 적용됩니다.</translation> <translation id="1470811252759861213">모든 컴퓨터에서 확장 프로그램을 사용하려면 <ph name="SIGN_IN_LINK" />에 로그인하세요.</translation> <translation id="14720830734893704">가상 키보드 지원을 사용합니다.</translation> -<translation id="1473539320840569129">첨부된 스타일러스 기기가 없더라도 실행기 및 설정의 스타일러스 섹션에 스타일러스 도구를 강제로 표시합니다.</translation> +<translation id="1473539320840569129">스타일러스 기기가 없더라도 실행기 및 설정의 스타일러스 섹션에 스타일러스 도구를 강제로 표시합니다.</translation> <translation id="1474079335130556426">Push API에 백그라운드 모드를 사용 설정합니다. 이렇게 하면 Push API에서 Chrome이 필요할 때 마지막 창이 닫힌 후에도 Chrome이 계속 실행되고 OS 시작 시 Chrome을 실행합니다.</translation> <translation id="1474339897586437869">'<ph name="FILENAME" />'이(가) 업로드되지 않았습니다. Google 드라이브에 충분한 여유 공간이 없습니다.</translation> <translation id="1475502736924165259">모든 기타 카테고리에 맞지 않는 인증서가 등록되어 있습니다.</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">인증서 정책 제약조건</translation> <translation id="335985608243443814">찾아보기...</translation> <translation id="3360297538363969800">인쇄에 실패했습니다. 프린터를 확인한 후 다시 시도해 주세요.</translation> -<translation id="3361481787422913716">보고서 설정 보기</translation> <translation id="336497260564123876">비밀번호가 저장되었습니다. 모든 기기에서 비밀번호를 사용하려면 Chrome에 로그인하세요.</translation> <translation id="3367813778245106622">다시 로그인하여 동기화 시작</translation> <translation id="3368922792935385530">연결됨</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">'<ph name="DEVICE_NAME" />'에서 이 코드를 입력하여 다음을 페어링:</translation> <translation id="3588662957555259973">* Google 프로필 사진</translation> <translation id="3590194807845837023">프로필 잠금 해제 및 다시 시작</translation> -<translation id="3590559774363307859">비밀번호가 저장되었습니다. 어느 브라우저에서나 비밀번호와 모든 <ph name="SAVED_PASSWORDS_LINK" />에 액세스할 수 있습니다.</translation> <translation id="3592260987370335752">자세히 알아보기(&L)</translation> <translation id="359283478042092570">로그인</translation> <translation id="3593965109698325041">인증서 이름 제약조건</translation> @@ -2833,7 +2830,6 @@ <translation id="4764865176798926079">메인 프레임의 domContentLoaded 및 모든 리소스 로드가 domContentLoaded(iframe 무시됨) 전에 시작됩니다.</translation> <translation id="4768332406694066911">다음 기관에 사용자의 신원을 확인하는 인증서가 있습니다.</translation> <translation id="4768698601728450387">이미지 자르기</translation> -<translation id="4773696473262035477">어느 브라우저에서나 비밀번호와 모든 <ph name="SAVED_PASSWORDS_LINK" />에 액세스할 수 있습니다.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" />의 비밀번호</translation> <translation id="4779083564647765204">글꼴 크기</translation> <translation id="4780321648949301421">페이지를 다른 이름으로 저장...</translation> @@ -3833,7 +3829,7 @@ <translation id="6112952769866305444">사용자 수정, <ph name="PROFILE_NAME" />, <ph name="USERNAME" /></translation> <translation id="6115424132962100663">돌아가려면 |<ph name="SHORTCUT" />| 키를 누르세요.</translation> <translation id="6116921718742659598">언어 및 입력 설정 변경</translation> -<translation id="6119435854984171040">일부 콘텐츠 서비스는 보호된 콘텐츠에 대한 액세스 승인 목적으로 고유 식별자를 사용합니다.</translation> +<translation id="6119435854984171040">일부 콘텐츠 서비스는 보호된 콘텐츠에 액세스할 수 있도록 고유 식별자를 사용합니다.</translation> <translation id="6120205520491252677">이 페이지를 시작 화면에 고정...</translation> <translation id="6122081475643980456">인터넷 연결이 제어되고 있습니다.</translation> <translation id="6122875415561139701">기기(<ph name="DEVICE_NAME" />)에서 쓰기 작업이 허용되지 않습니다.</translation> @@ -5386,7 +5382,6 @@ <translation id="8260864402787962391">마우스</translation> <translation id="8261378640211443080">이 확장 프로그램은 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />에 표시되지 않으며 사용자 모르게 추가되었을 수 있습니다.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" />에 계정 추가</translation> -<translation id="8261490674758214762">가능한 대상:</translation> <translation id="8261506727792406068">삭제</translation> <translation id="8261580862248730866">마이크 예외</translation> <translation id="8261673729476082470">사진 <ph name="FILE_COUNT" />장을 <ph name="BEGIN_LINK" />Google 드라이브<ph name="END_LINK" />에 백업하는 중</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb index 14ca340..df4d4a6f 100644 --- a/chrome/app/resources/generated_resources_lt.xtb +++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteracija (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Įkelti vaizdą</translation> <translation id="1029317248976101138">Keisti mastelį</translation> -<translation id="1029595648591494741">Išbandyti „<ph name="EXTENSION_NAME" />“?</translation> <translation id="1030173864176315846">Puslapiai (<ph name="PAGE_NUMBER" />) sėkmingai išspausdinti spausdintuvu „<ph name="PRINTER_NAME" />“</translation> <translation id="1031362278801463162">Įkeliama peržiūra</translation> <translation id="1031573127485938293">Klausti (atsižvelgiant į politiką)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Sertifikato politikos apribojimai</translation> <translation id="335985608243443814">Naršyti...</translation> <translation id="3360297538363969800">Spausdinti nepavyko. Patikrinkite spausdintuvą ir bandykite dar kartą.</translation> -<translation id="3361481787422913716">Peržiūrėti ataskaitos nustatymus</translation> <translation id="336497260564123876">Slaptažodis išsaugotas. Jei norite naudoti slaptažodžius visuose savo įrenginiuose, prisijunkite prie „Chrome“.</translation> <translation id="3367813778245106622">Prisijunkite dar kartą, kad pradėtumėte sinchronizavimą</translation> <translation id="3368922792935385530">Prijungta</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Įveskite šį kodą įrenginyje „<ph name="DEVICE_NAME" />“, kad jį susietumėte:</translation> <translation id="3588662957555259973">* „Google“ profilio nuotrauka</translation> <translation id="3590194807845837023">Atrakinti profilį ir paleisti iš naujo</translation> -<translation id="3590559774363307859">Slaptažodis išsaugotas. Jį ir visus <ph name="SAVED_PASSWORDS_LINK" /> galite pasiekti naudodami bet kurią naršyklę.</translation> <translation id="3592260987370335752">&Sužinokite daugiau</translation> <translation id="359283478042092570">Įvesti</translation> <translation id="3593965109698325041">Sertifikato pavadinimo apribojimai</translation> @@ -2833,7 +2830,6 @@ <translation id="4764865176798926079">Pagrindinio rėmelio „domContentLoaded“ ir visos išteklių įkeltys pradėtos prieš „domContentLoaded“ („iframe“ nepaisomi).</translation> <translation id="4768332406694066911">Turite jus identifikuojančius sertifikatus iš šių organizacijų</translation> <translation id="4768698601728450387">Apkirpti vaizdą</translation> -<translation id="4773696473262035477">Jį ir visus <ph name="SAVED_PASSWORDS_LINK" /> galite pasiekti iš bet kurios naršyklės..</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> slaptažodis</translation> <translation id="4779083564647765204">Keisti mastelį</translation> <translation id="4780321648949301421">Išsaugoti puslapį kaip...</translation> @@ -5389,7 +5385,6 @@ <translation id="8260864402787962391">Pelė</translation> <translation id="8261378640211443080">Šio plėtinio nėra „<ph name="IDS_EXTENSION_WEB_STORE_TITLE" />“ sąraše. Jis galėjo būti pridėtas be jūsų žinios.</translation> <translation id="8261387128019234107">Pridėti profiliui „<ph name="PROFILE_NAME" />“ skirtą paskyrą</translation> -<translation id="8261490674758214762">Leidžiama:</translation> <translation id="8261506727792406068">Panaikinti</translation> <translation id="8261580862248730866">Mikrofono išimtys</translation> <translation id="8261673729476082470">Kuriamos atsarginės nuotraukų (<ph name="FILE_COUNT" />) kopijos <ph name="BEGIN_LINK" />„Google“ diske<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb index 091bf3d..083aa27e 100644 --- a/chrome/app/resources/generated_resources_lv.xtb +++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliterācija (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Ielādēt attēlu</translation> <translation id="1029317248976101138">Tālummaiņa</translation> -<translation id="1029595648591494741">Vai izmēģināsiet “<ph name="EXTENSION_NAME" />”?</translation> <translation id="1030173864176315846">Veiksmīgi izdrukātas <ph name="PAGE_NUMBER" /> lapas no <ph name="PRINTER_NAME" />.</translation> <translation id="1031362278801463162">Notiek priekšskatījuma ielāde</translation> <translation id="1031573127485938293">Vaicāt (atbilstoši politikai)</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Sertifikātu politikas ierobežojumi</translation> <translation id="335985608243443814">Pārlūkot...</translation> <translation id="3360297538363969800">Drukāšana neizdevās. Lūdzu, pārbaudiet printeri un mēģiniet vēlreiz.</translation> -<translation id="3361481787422913716">Skatīt pārskata iestatījumus</translation> <translation id="336497260564123876">Parole saglabāta. Lai paroles būtu pieejamas visās jūsu ierīcēs, pierakstieties pārlūkā Chrome.</translation> <translation id="3367813778245106622">Lai sāktu sinhronizēšanu, pierakstieties vēlreiz</translation> <translation id="3368922792935385530">pievienots</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">Lai izveidotu savienojumu pārī, ierīcē “<ph name="DEVICE_NAME" />” ievadiet šo kodu:</translation> <translation id="3588662957555259973">* Google profila fotoattēls</translation> <translation id="3590194807845837023">Atbloķēt profilu un restartēt</translation> -<translation id="3590559774363307859">Parole ir saglabāta. Šai parolei un sarakstam “<ph name="SAVED_PASSWORDS_LINK" />” varat piekļūt jebkurā pārlūkā.</translation> <translation id="3592260987370335752">&Uzziniet vairāk</translation> <translation id="359283478042092570">Ievadīt</translation> <translation id="3593965109698325041">Sertifikāta nosaukuma ierobežojumi</translation> @@ -2834,7 +2831,6 @@ <translation id="4764865176798926079">Galvenā ietvara domContentLoaded un visu resursu ielāde sākta pirms domContentLoaded (ignorēts: iframes).</translation> <translation id="4768332406694066911">Jums ir sertifikāti no šīm organizācijām, kas jūs identificē</translation> <translation id="4768698601728450387">Apgriezt attēlu</translation> -<translation id="4773696473262035477">Šai parolei, kā arī visām savām <ph name="SAVED_PASSWORDS_LINK" /> varat piekļūt no jebkura pārlūka.</translation> <translation id="4776917500594043016">Parole e-pasta adresei <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Tālummaiņa</translation> <translation id="4780321648949301421">Saglabāt lapu kā...</translation> @@ -5387,7 +5383,6 @@ <translation id="8260864402787962391">Pele</translation> <translation id="8261378640211443080">Šis paplašinājums nav norādīts vietnē <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> un, iespējams, tika pievienots, jums nezinot.</translation> <translation id="8261387128019234107">Pievienot kontu šim lietotājam: <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Var:</translation> <translation id="8261506727792406068">Dzēst</translation> <translation id="8261580862248730866">Mikrofona izņēmumi</translation> <translation id="8261673729476082470">Notiek <ph name="FILE_COUNT" /> fotoattēlu dublēšana <ph name="BEGIN_LINK" />Google diskā<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb index 6b1bd57e..e517f81e 100644 --- a/chrome/app/resources/generated_resources_ml.xtb +++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">ലിപ്യന്തരണം (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">ചിത്രം ലോഡുചെയ്യുക</translation> <translation id="1029317248976101138">സൂം ചെയ്യുക</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" പരീക്ഷിച്ചുനോക്കണോ?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> പ്രിന്ററിൽ <ph name="PAGE_NUMBER" /> പേജുകൾ അച്ചടിച്ചു</translation> <translation id="1031362278801463162">പ്രിവ്യൂ ലോഡുചെയ്യുന്നു...</translation> <translation id="1031573127485938293">ചോദിക്കുക (നയം മാനേജുചെയ്യുന്നത്)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">സര്ട്ടിഫിക്കറ്റ് നയ നിയന്ത്രണങ്ങള്</translation> <translation id="335985608243443814">ബ്രൌസ് ചെയ്യുക...</translation> <translation id="3360297538363969800">പ്രിന്റുചെയ്യൽ പരാജയപ്പെട്ടു. നിങ്ങളുടെ പ്രിന്റർ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക.</translation> -<translation id="3361481787422913716">റിപ്പോർട്ട് ക്രമീകരണം കാണുക</translation> <translation id="336497260564123876">പാസ്വേഡ് സംരക്ഷിച്ചു. നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങളിലും പാസ്വേഡുകൾ ലഭിക്കാൻ, Chrome-ൽ സൈൻ ഇൻ ചെയ്യുക.</translation> <translation id="3367813778245106622">സമന്വയിപ്പിക്കാൻ തുടങ്ങുന്നതിന്, വീണ്ടും സൈൻ ഇൻ ചെയ്യുക</translation> <translation id="3368922792935385530">ബന്ധിപ്പിച്ചു</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">ജോടിയാക്കുന്നതിന് "<ph name="DEVICE_NAME" />" എന്നതിൽ ഈ കോഡ് ടൈപ്പുചെയ്യുക:</translation> <translation id="3588662957555259973">* Google പ്രൊഫൈൽ ഫോട്ടോ</translation> <translation id="3590194807845837023">പ്രൊഫൈൽ അൺലോക്കുചെയ്ത് വീണ്ടും സമാരംഭിക്കുക</translation> -<translation id="3590559774363307859">പാസ്വേഡ് സംരക്ഷിച്ചു. ഏത് ബ്രൗസറിൽനിന്നും പാസ്വേഡും എല്ലാ <ph name="SAVED_PASSWORDS_LINK" /> എന്നതും ആക്സ്സ്സുചെയ്യാം.</translation> <translation id="3592260987370335752">&കൂടുതലറിയുക</translation> <translation id="359283478042092570">നൽകുക</translation> <translation id="3593965109698325041">സര്ട്ടിഫിക്കറ്റ് നാമ നിയന്ത്രണങ്ങള്</translation> @@ -2830,7 +2827,6 @@ <translation id="4764865176798926079">പ്രധാന ഫ്രെയിമിന്റെ domContentLoaded എന്നതും എല്ലാ ഉറവിടങ്ങളുടെ ലോഡുചെയ്യലും domContentLoaded-ന് മുമ്പ് ആരംഭിച്ചു (iframes അവഗണിച്ചു).</translation> <translation id="4768332406694066911">നിങ്ങള്ക്ക് ഈ ഓര്ഗനൈസേഷനുകളില് നിന്ന് നിങ്ങളെ തിരിച്ചറിയുന്ന സര്ട്ടിഫിക്കറ്റുകളുണ്ട്</translation> <translation id="4768698601728450387">ചിത്രം ക്രോപ് ചെയ്യുക</translation> -<translation id="4773696473262035477">ഏത് ബ്രൗസറിൽ നിന്നും ഇതും നിങ്ങളുടെ എല്ലാ <ph name="SAVED_PASSWORDS_LINK" /> എന്നിവയും ആക്സസ്സുചെയ്യാനാവും.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> എന്നതിനായുള്ള പാസ്വേഡ്</translation> <translation id="4779083564647765204">സൂം ചെയ്യുക</translation> <translation id="4780321648949301421">പേജ് ഇതുപോലെ സംരക്ഷിക്കുക...</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">മൗസ്</translation> <translation id="8261378640211443080">ഈ വിപുലീകരണം <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> എന്നതിൽ ലിസ്റ്റുചെയ്തിട്ടില്ല, ഇത് നിങ്ങളുടെ അറിവില്ലാതെ ചേർത്തിരിക്കാനിടയുണ്ട്.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> എന്നയാൾക്കായി അക്കൗണ്ട് ചേർക്കുക</translation> -<translation id="8261490674758214762">അവയ്ക്ക് ആക്സസ്സുചെയ്യാൻ കഴിയുന്നത്:</translation> <translation id="8261506727792406068">ഇല്ലാതാക്കൂ</translation> <translation id="8261580862248730866">Microphone ഒഴിവാക്കലുകൾ</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> ഫോട്ടോകൾ <ph name="BEGIN_LINK" />Google ഡ്രൈവിലേക്ക്<ph name="END_LINK" /> ബാക്കപ്പുചെയ്യുന്നു</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb index db2fcca7..f57b49e 100644 --- a/chrome/app/resources/generated_resources_mr.xtb +++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">लिप्यंतरण (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">प्रतिमा लोड करा</translation> <translation id="1029317248976101138">झूम करा</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" वापरून पहायचे?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> वर <ph name="PAGE_NUMBER" /> पृष्ठे यशस्वीरित्या मुद्रित केले</translation> <translation id="1031362278801463162">पूर्वावलोकन लोड करत आहे</translation> <translation id="1031573127485938293">विचारा (धोरणानुसार)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">नवीन कुकी सेटिंग्ज हे पृष्ठ रीलोड केल्यानंतर प्रभावी होतील.</translation> <translation id="1470811252759861213">आपल्या सर्व संगणकांवर आपले विस्तार प्राप्त करण्यासाठी, <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">व्हर्च्युअल कीबोर्ड समर्थन सक्षम करा.</translation> -<translation id="1473539320840569129">शेल्फमधील लेखणी साधने मेनू आणि सेटिंग्जमधील लेखणी विभागाच्या प्रदर्शनाची सक्ती करते, अगदी कोणतेही संलग्न केलेले लेखणी डिव्हाइस नसले तरी देखील.</translation> +<translation id="1473539320840569129">शेल्फमध्ये लेखणी साधने मेनू आणि सेटिंग्जमध्ये लेखणी विभागाच्या प्रदर्शनाची सक्ती करते, कोणतेही संलग्न केलेले लेखणी डिव्हाइस नसले तरी देखील.</translation> <translation id="1474079335130556426">Push API साठी पार्श्वभूमी मोड सक्षम करा. हे अखरेची विंडो बंद केल्यानंतर आणि OS प्रारंभ लाँच करताना Push API ला आवश्यक असल्यास, Chrome ला सुरु राहण्याची अनुमती देते.</translation> <translation id="1474339897586437869">"<ph name="FILENAME" />" अपलोड केली नाही. आपल्या Google ड्राइव्हमध्ये पर्याप्त स्थान नाही.</translation> <translation id="1475502736924165259">आपल्याकडे फाईलवर प्रमाणपत्रे आहेत जी अन्य कोणत्याही श्रेणींसाठी योग्य नाहीत</translation> @@ -648,7 +647,7 @@ <translation id="1828901632669367785">सिस्टम संवाद वापरून मुद्रित करा…</translation> <translation id="1829192082282182671">झूम &कमी करा</translation> <translation id="1830550083491357902">साइन इन केलेले नाही</translation> -<translation id="1830859579140328145">सामग्री डिझाइन सेटिंग्जमध्ये टचस्क्रीनचे मापन करण्याचा पर्याय सक्षम/अक्षम करा</translation> +<translation id="1830859579140328145">सामग्री डिझाइन सेटिंग्जमध्ये टचस्क्रीनचे कॅलिब्रेशन करण्याचा पर्याय सक्षम/अक्षम करा</translation> <translation id="1832511806131704864">फोन बदल अद्यतनित झाला</translation> <translation id="1834560242799653253">पूर्वाभिमुखता:</translation> <translation id="1835339313324024">व्हर्च्युअल कीबोर्डचे स्मार्ट उपयोजन</translation> @@ -1193,7 +1192,7 @@ <translation id="2580924999637585241">एकूण: <ph name="NUMBER_OF_SHEETS" /> <ph name="SHEETS_LABEL" /></translation> <translation id="258095186877893873">दीर्घ</translation> <translation id="2581475589551312226">Google ड्राइव्हवर Play अॅप डेटाचा स्वयंचलितपणे बॅक अप घ्या आणि तो पुनर्संचयित करा. <ph name="BEGIN_LINK1" />अधिक जाणून घ्या<ph name="END_LINK1" /></translation> -<translation id="2581601588594682520">फोल्डर पुर्ननामित करा</translation> +<translation id="2581601588594682520">फोल्डर पुर्ननामित करा</translation> <translation id="2582253231918033891"><ph name="PRODUCT_NAME" /> <ph name="PRODUCT_VERSION" /> (प्लॅटफॉर्म <ph name="PLATFORM_VERSION" />) <ph name="DEVICE_SERIAL_NUMBER" /></translation> <translation id="2585116156172706706">हा विस्तार कदाचित आपल्या माहिती शिवाय जोडला गेला आहे.</translation> <translation id="2585300050980572691">डीफॉल्ट शोध सेटिंग्ज</translation> @@ -1826,7 +1825,6 @@ <translation id="3359256513598016054">प्रमाणपत्र धोरण प्रतिबंध</translation> <translation id="335985608243443814">ब्राउझ करा...</translation> <translation id="3360297538363969800">मुद्रण अयशस्वी. कृपया आपला प्रिंटर तपासा आणि पुन्हा प्रयत्न करा.</translation> -<translation id="3361481787422913716">अहवाल सेटिंग्ज पहा</translation> <translation id="336497260564123876">संकेतशब्द जतन केला. आपल्या सर्व डिव्हाइसवर आपले संकेतशब्द मिळविण्यासाठी, Chrome मध्ये साइन इन करा.</translation> <translation id="3367813778245106622">संकालन प्रारंभ करण्यासाठी पुन्हा साइन इन करा</translation> <translation id="3368922792935385530">कनेक्ट केले</translation> @@ -2002,7 +2000,6 @@ <translation id="358796204584394954">जोडण्यासाठी "<ph name="DEVICE_NAME" />" वर हा कोड टाइप करा:</translation> <translation id="3588662957555259973">* Google प्रोफाइल फोटो</translation> <translation id="3590194807845837023">प्रोफाईल अनलॉक करा आणि रीलाँच करा</translation> -<translation id="3590559774363307859">संकेतशब्द जतन केला. आपण कोणत्याही ब्राउझरवरून त्यावर आणि आपल्या सर्व <ph name="SAVED_PASSWORDS_LINK" /> वर प्रवेश करू शकता.</translation> <translation id="3592260987370335752">&अधिक जाणून घ्या</translation> <translation id="359283478042092570">प्रविष्ट करा</translation> <translation id="3593965109698325041">प्रमाणपत्र नाव प्रतिबंध</translation> @@ -2624,7 +2621,7 @@ <translation id="4475552974751346499">डाउनलोड शोधा</translation> <translation id="4476590490540813026">व्यायामपटू</translation> <translation id="4477219268485577442">बल्गेरियन ध्वन्यात्मक</translation> -<translation id="4477812269697070260">कोणतेही जोडणी केलेले डिव्हाइस नाहीत</translation> +<translation id="4477812269697070260">कोणतेही जोडणी केलेले डिव्हाइस नाहीत.</translation> <translation id="4478664379124702289">म्हणून दु&वा जतन करा...</translation> <translation id="4479639480957787382">इथरनेट</translation> <translation id="4479812471636796472">यूएस दवोराक कीबोर्ड</translation> @@ -2824,7 +2821,6 @@ <translation id="4764865176798926079">domContentLoaded (iframes ignored) पूर्वी मुख्य फ्रेमचे domContentLoaded आणि सर्व संसाधने लोड होण्यास प्रारंभ झाला.</translation> <translation id="4768332406694066911">आपल्याकडे या संस्थांकडील प्रमाणपत्रे आहेत जी आपल्याला ओळखतात</translation> <translation id="4768698601728450387">प्रतिमा क्रॉप करा</translation> -<translation id="4773696473262035477">आपण कोणत्याही ब्राऊझर वरून यात आणि आपल्या सर्व <ph name="SAVED_PASSWORDS_LINK" /> मध्ये प्रवेश करू शकता.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> साठी संकेतशब्द</translation> <translation id="4779083564647765204">झूम</translation> <translation id="4780321648949301421">पृष्ठ या रूपात जतन करा...</translation> @@ -3392,7 +3388,7 @@ <translation id="5495466433285976480">आपल्या पुढील रीस्टार्टनंतर हे सर्व स्थानिक वापरकर्ते, फायली, डेटा आणि अन्य सेटिंग्ज काढेल. सर्व वापरकर्त्यांना पुन्हा साइन इन करण्याची आवश्यकता असेल.</translation> <translation id="5496587651328244253">संयोजित करा</translation> <translation id="549673810209994709">हे पृष्ठ भाषांतरित केले जाऊ शकले नाही.</translation> -<translation id="5499313591153584299">ही फाईल आपल्या संगणकासाठी हानीकारक ठरू शकते.</translation> +<translation id="5499313591153584299">ही फाईल आपल्या संगणकासाठी हानिकारक ठरू शकते.</translation> <translation id="5500122897333236901">आइसलँडिक</translation> <translation id="5502500733115278303">Firefox कडून आयातीत</translation> <translation id="5507756662695126555">अस्वीकार नसलेले</translation> @@ -4323,7 +4319,7 @@ <translation id="6797493596609571643">अरेरे, काहीतरी चूक झाली.</translation> <translation id="6798780071646309401">कॅप्स लॉक चालू आहे</translation> <translation id="6798954102094737107">प्लगिन: <ph name="PLUGIN_NAME" /></translation> -<translation id="6801435275744557998">टचस्क्रीनचे मापन करा</translation> +<translation id="6801435275744557998">टचस्क्रीन कॅलिब्रेट करा</translation> <translation id="6802031077390104172"><ph name="USAGE" /> (<ph name="OID" />)</translation> <translation id="6804671422566312077">सर्व बुकमार्क &नवीन विंडोमध्ये उघडा</translation> <translation id="6805647936811177813">कृपया <ph name="HOST_NAME" /> वरून क्लायंट प्रमाणपत्र आयात करण्यासाठी <ph name="TOKEN_NAME" /> वर साइन इन करा. </translation> @@ -5375,7 +5371,6 @@ <translation id="8260864402787962391">माउस</translation> <translation id="8261378640211443080"><ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> मध्ये हा विस्तार सूचीबद्ध केला नाही आणि कदाचित आपल्या माहिती शिवाय जोडला गेला आहे.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> साठी खाते जोडा</translation> -<translation id="8261490674758214762">ते करू शकतात:</translation> <translation id="8261506727792406068">हटवा</translation> <translation id="8261580862248730866">मायक्रोफोन अपवाद</translation> <translation id="8261673729476082470"><ph name="BEGIN_LINK" />Google ड्राइव्ह<ph name="END_LINK" /> वर <ph name="FILE_COUNT" /> फोटोंचा बॅकअप घेत आहे</translation> @@ -6047,7 +6042,7 @@ <translation id="9179348476548754105">संकेतशब्द व्यवस्थापक केवळ व्यवहारिक पुनर्प्रमाणिकरण पृष्ठांसाठी संकालन क्रेडेन्शियल करिता स्वयंभरण कसे हाताळतो.</translation> <translation id="9183836083779743117"><ph name="DOWNLOAD_DOMAIN" /> वरून <ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation> <translation id="9184146175870444618">फ्लिंग दरम्यान स्पर्श करून प्रारंभ करणारे आणि प्रथम स्पर्श करून हलवणारे प्रति स्क्रोल इव्हेंट ऐकणार्यांना निष्क्रिय म्हणून हाताळण्यासाठी सक्ती करते.</translation> -<translation id="9185358268467915502">सक्षम केले असल्यास, वापरकर्ता chrome://md-settings/display मध्ये प्रदर्शित होणार्या टचस्क्रीनचे मापन करू शकतो.</translation> +<translation id="9185358268467915502">सक्षम केले असल्यास, वापरकर्ता chrome://md-settings/display मध्ये प्रदर्शित होणारी टचस्क्रीन कॅलिब्रेट करू शकतो.</translation> <translation id="9186729806195986201">पूर्वी स्थापित केलेल्या <ph name="IDS_SHORT_PRODUCT_NAME" /> च्या आवृत्तीवर परत देखील या.</translation> <translation id="9187210477874601037">डोमेनशी मशीन जोडण्यात अयशस्वी झाले. हे कदाचित सर्व्हर वरील आपल्या खात्यासाठी असलेल्या अपुर्या विशेषाधिकारांमुळे असू शकते.</translation> <translation id="9187651461283037651">Chrome VR सक्षम करा.</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb index 1a85476..203b090 100644 --- a/chrome/app/resources/generated_resources_ms.xtb +++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Pengalihan huruf (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Muatkan Imej</translation> <translation id="1029317248976101138">Zum</translation> -<translation id="1029595648591494741">Cuba "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Berjaya mencetak <ph name="PAGE_NUMBER" /> halaman pada <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Memuatkan pratonton</translation> <translation id="1031573127485938293">Tanya (oleh dasar)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Kekangan Dasar Sijil</translation> <translation id="335985608243443814">Semak imbas...</translation> <translation id="3360297538363969800">Pencetakan gagal. Sila periksa pencetak anda dan cuba lagi.</translation> -<translation id="3361481787422913716">Lihat tetapan laporan</translation> <translation id="336497260564123876">Kata laluan disimpan. Log masuk ke Chrome untuk mendapatkan kata laluan pada semua peranti anda.</translation> <translation id="3367813778245106622">Log masuk semula untuk memulakan penyegerakan</translation> <translation id="3368922792935385530">Disambungkan</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Taip kod ini pada "<ph name="DEVICE_NAME" />" untuk digandingkan:</translation> <translation id="3588662957555259973">* Foto Profil Google</translation> <translation id="3590194807845837023">Buka Profil dan Lancarkan Semula</translation> -<translation id="3590559774363307859">Kata laluan disimpan. Anda boleh mengaksesnya dan semua <ph name="SAVED_PASSWORDS_LINK" /> anda daripada mana-mana penyemak imbas.</translation> <translation id="3592260987370335752">&Ketahui lebih lanjut</translation> <translation id="359283478042092570">Masuk</translation> <translation id="3593965109698325041">Kekangan Nama Sijil</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">domContentLoaded bingkai utama dan pemuatan semua sumber bermula sebelum domContentLoaded (iframe diabaikan).</translation> <translation id="4768332406694066911">Anda mempunyai sijil daripada organisasi ini yang mengenal pasti anda</translation> <translation id="4768698601728450387">Pangkas imej</translation> -<translation id="4773696473262035477">Anda boleh mengaksesnya dan semua <ph name="SAVED_PASSWORDS_LINK" /> anda dari mana-mana penyemak imbas.</translation> <translation id="4776917500594043016">Kata laluan untuk <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zum</translation> <translation id="4780321648949301421">Simpan Halaman Sebagai...</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">Tetikus</translation> <translation id="8261378640211443080">Sambungan ini tidak disenaraikan dalam <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> dan mungkin telah ditambahkan tanpa pengetahuan anda.</translation> <translation id="8261387128019234107">Tambah akaun untuk <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Item boleh:</translation> <translation id="8261506727792406068">Padam</translation> <translation id="8261580862248730866">Pengecualian mikrofon</translation> <translation id="8261673729476082470">Menyandarkan <ph name="FILE_COUNT" /> foto pada <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb index f4ab9b2..ee23274 100644 --- a/chrome/app/resources/generated_resources_nl.xtb +++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteratie (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Afbeelding laden</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741"><ph name="EXTENSION_NAME" /> proberen?</translation> <translation id="1030173864176315846">Er zijn <ph name="PAGE_NUMBER" /> pagina's afgedrukt met <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Voorbeeld wordt geladen</translation> <translation id="1031573127485938293">Vragen (via beleid)</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Beleidsbeperkingen voor certificaat</translation> <translation id="335985608243443814">Bladeren...</translation> <translation id="3360297538363969800">Afdrukken is mislukt. Controleer je printer en probeer het opnieuw.</translation> -<translation id="3361481787422913716">Rapportinstellingen bekijken</translation> <translation id="336497260564123876">Wachtwoord opgeslagen. Log in bij Chrome om je wachtwoorden op al je apparaten te gebruiken.</translation> <translation id="3367813778245106622">Log opnieuw in om de synchronisatie te starten</translation> <translation id="3368922792935385530">Verbonden</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Typ deze code op '<ph name="DEVICE_NAME" />' om te koppelen:</translation> <translation id="3588662957555259973">* Google-profielfoto</translation> <translation id="3590194807845837023">Profiel ontgrendelen en opnieuw starten</translation> -<translation id="3590559774363307859">Wachtwoord opgeslagen. Je hebt nu toegang tot dit wachtwoord en al je andere <ph name="SAVED_PASSWORDS_LINK" /> via je browser.</translation> <translation id="3592260987370335752">&Meer informatie</translation> <translation id="359283478042092570">Invoeren</translation> <translation id="3593965109698325041">Naambeperkingen voor certificaten</translation> @@ -2833,7 +2830,6 @@ <translation id="4764865176798926079">domContentLoaded van mainframe en alle geladen bronnen die zijn gestart vóór domContentLoaded (iframes genegeerd).</translation> <translation id="4768332406694066911">Je hebt certificaten van deze organisaties waarmee je wordt geïdentificeerd</translation> <translation id="4768698601728450387">Afbeelding bijsnijden</translation> -<translation id="4773696473262035477">Het wachtwoord is, net als al je <ph name="SAVED_PASSWORDS_LINK" />, toegankelijk via elke browser.</translation> <translation id="4776917500594043016">Wachtwoord voor <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Bewaar pagina als...</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">Muis</translation> <translation id="8261378640211443080">Deze extensie wordt niet vermeld in de <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> en is mogelijk zonder je medeweten toegevoegd.</translation> <translation id="8261387128019234107">Account toevoegen voor <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">De apps/extensies kunnen nu het volgende doen:</translation> <translation id="8261506727792406068">Verwijderen</translation> <translation id="8261580862248730866">Microfoonuitzonderingen</translation> <translation id="8261673729476082470">Er wordt een back-up van <ph name="FILE_COUNT" /> foto's gemaakt in <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb index 9960bd0..71fdac5 100644 --- a/chrome/app/resources/generated_resources_no.xtb +++ b/chrome/app/resources/generated_resources_no.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Translitterasjon (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Last inn bildet</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Vil du prøve <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">Skrev ut <ph name="PAGE_NUMBER" /> sider på <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Laster inn forhåndsvisning</translation> <translation id="1031573127485938293">Spør (i henhold til retningslinjer)</translation> @@ -646,7 +645,7 @@ <translation id="1828901632669367785">Skriv ut ved hjelp av systemdialog</translation> <translation id="1829192082282182671">Zoom &ut</translation> <translation id="1830550083491357902">Ikke pålogget</translation> -<translation id="1830859579140328145">Slå av/på alternativet for kalibrering av berøringsskjerm i innstillingene for Material Design</translation> +<translation id="1830859579140328145">Slå av/på alternativet for kalibrering av berøringsskjerm i innstillingene for «material design»</translation> <translation id="1832511806131704864">Telefonendring oppdatert</translation> <translation id="1834560242799653253">Retning:</translation> <translation id="1835339313324024">Smart implementering av det virtuelle tastaturet</translation> @@ -1826,7 +1825,6 @@ <translation id="3359256513598016054">Retningslinjebegrensninger for sertifikat</translation> <translation id="335985608243443814">Bla gjennom</translation> <translation id="3360297538363969800">Utskriften mislyktes. Kontrollér skriveren og prøv på nytt.</translation> -<translation id="3361481787422913716">Se rapportinnstillingene</translation> <translation id="336497260564123876">Passordet er lagret. For å få passordene dine på alle enhetene dine, logg på Chrome.</translation> <translation id="3367813778245106622">Logg på igjen for å starte synkroniseringen</translation> <translation id="3368922792935385530">Tilkoblet</translation> @@ -2002,7 +2000,6 @@ <translation id="358796204584394954">Skriv inn denne koden på «<ph name="DEVICE_NAME" />» for å koble til:</translation> <translation id="3588662957555259973">*Google-profilbilde</translation> <translation id="3590194807845837023">Lås opp profilen og start på nytt</translation> -<translation id="3590559774363307859">Passordet er lagret. Du finner det og alle dine <ph name="SAVED_PASSWORDS_LINK" /> fra en hvilken som helst nettleser.</translation> <translation id="3592260987370335752">&Les mer</translation> <translation id="359283478042092570">Angi</translation> <translation id="3593965109698325041">Begrensninger for sertifikatnavn</translation> @@ -2825,7 +2822,6 @@ <translation id="4764865176798926079">Hovedrammens domContentLoaded og alle ressursinnlastninger som startet før domContentLoaded (iframe-elementer er ignorert).</translation> <translation id="4768332406694066911">Du har sertifikater som identifiserer deg, fra disse organisasjonene</translation> <translation id="4768698601728450387">Beskjær bilde</translation> -<translation id="4773696473262035477">Du kan få tilgang til det og alle <ph name="SAVED_PASSWORDS_LINK" /> fra enhver nettleser.</translation> <translation id="4776917500594043016">Passord for <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">L&agre side som</translation> @@ -5365,7 +5361,6 @@ <translation id="8260864402787962391">Mus</translation> <translation id="8261378640211443080">Denne utvidelsen er ikke oppført i <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />, og kan ha blitt lagt uten at du har vært klar over det.</translation> <translation id="8261387128019234107">Legg til konto for <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">De får følgende tilgang:</translation> <translation id="8261506727792406068">Slett</translation> <translation id="8261580862248730866">Mikrofonunntak</translation> <translation id="8261673729476082470">Sikkerhetskopierer <ph name="FILE_COUNT" /> bilder til <ph name="BEGIN_LINK" />Google Disk<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb index 1e177426..8f98ffa 100644 --- a/chrome/app/resources/generated_resources_pl.xtb +++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteracja (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Wczytaj obraz</translation> <translation id="1029317248976101138">Powiększ</translation> -<translation id="1029595648591494741">Wypróbować „<ph name="EXTENSION_NAME" />”?</translation> <translation id="1030173864176315846">Wydrukowano <ph name="PAGE_NUMBER" /> str. na: <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Wczytuję podgląd</translation> <translation id="1031573127485938293">Pytaj (zgodnie z zasadami)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Ograniczenia zasad certyfikatu</translation> <translation id="335985608243443814">Przeglądaj...</translation> <translation id="3360297538363969800">Drukowanie nie udało się. Sprawdź swoją drukarkę i spróbuj ponownie.</translation> -<translation id="3361481787422913716">Wyświetl ustawienia raportowania</translation> <translation id="336497260564123876">Hasło zostało zapisane. Aby korzystać ze swoich haseł na wszystkich urządzeniach, zaloguj się w Chrome.</translation> <translation id="3367813778245106622">Zaloguj się ponownie, by rozpocząć synchronizację</translation> <translation id="3368922792935385530">Połączone</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Aby sparować, wpisz ten kod na urządzeniu „<ph name="DEVICE_NAME" />”:</translation> <translation id="3588662957555259973">* Zdjęcie z profilu Google</translation> <translation id="3590194807845837023">Odblokuj profil i uruchom ponownie</translation> -<translation id="3590559774363307859">Hasło zostało zapisane. To hasło oraz wszystkie Twoje <ph name="SAVED_PASSWORDS_LINK" /> będą dostępne w każdej przeglądarce.</translation> <translation id="3592260987370335752">&Więcej informacji</translation> <translation id="359283478042092570">Wpisz</translation> <translation id="3593965109698325041">Ograniczenia nazwy certyfikatu</translation> @@ -2829,7 +2826,6 @@ <translation id="4764865176798926079">Zdarzenie domContentLoaded głównej ramki i wczytanie wszystkich zasobów nastąpiło przed zdarzeniem domContentLoaded (elementy iframe zostały zignorowane).</translation> <translation id="4768332406694066911">Masz certyfikaty od tych organizacji potwierdzające Twoją tożsamość</translation> <translation id="4768698601728450387">Przytnij zdjęcie</translation> -<translation id="4773696473262035477">To hasło oraz wszystkie Twoje <ph name="SAVED_PASSWORDS_LINK" /> będą dostępne w każdej przeglądarce.</translation> <translation id="4776917500594043016">Hasło dla <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Powiększ</translation> <translation id="4780321648949301421">Zapisz stronę jako...</translation> @@ -5375,7 +5371,6 @@ <translation id="8260864402787962391">Mysz</translation> <translation id="8261378640211443080">To rozszerzenie nie jest oferowane w <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i mogło zostać dodane bez Twojej wiedzy.</translation> <translation id="8261387128019234107">Dodaj konto dla <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Mogą:</translation> <translation id="8261506727792406068">Usuń</translation> <translation id="8261580862248730866">Wyjątki dotyczące mikrofonu</translation> <translation id="8261673729476082470">Tworzenie kopii zapasowej <ph name="FILE_COUNT" /> zdjęć na <ph name="BEGIN_LINK" />Dysku Google<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb index 6d71e09..f728d9d 100644 --- a/chrome/app/resources/generated_resources_pt-BR.xtb +++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteração (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Carregar Imagem</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Testar "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Impressão de <ph name="PAGE_NUMBER" /> páginas na <ph name="PRINTER_NAME" /> concluída</translation> <translation id="1031362278801463162">Carregando visualização</translation> <translation id="1031573127485938293">Perguntar (por política)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Restrições da diretiva de certificação</translation> <translation id="335985608243443814">Navegar...</translation> <translation id="3360297538363969800">Ocorreu uma falha na impressão. Verifique sua impressora e tente novamente.</translation> -<translation id="3361481787422913716">Ver configurações de relatórios</translation> <translation id="336497260564123876">Senha salva. Para ter suas senhas em todos os seus dispositivos, faça login no Chrome.</translation> <translation id="3367813778245106622">Faça login novamente para começar a sincronizar</translation> <translation id="3368922792935385530">Conectado</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Digite este código no "<ph name="DEVICE_NAME" />" para o pareamento:</translation> <translation id="3588662957555259973">* Foto do Perfil do Google</translation> <translation id="3590194807845837023">Desbloquear perfil e reiniciar</translation> -<translation id="3590559774363307859">Senha salva. É possível acessar essa e todas as suas <ph name="SAVED_PASSWORDS_LINK" /> em qualquer navegador.</translation> <translation id="3592260987370335752">&Saiba mais</translation> <translation id="359283478042092570">Entrar</translation> <translation id="3593965109698325041">Restrições de nome do certificado</translation> @@ -2831,7 +2828,6 @@ <translation id="4764865176798926079">domContentLoaded do frame principal e todos os carregamentos de recursos iniciados antes de domContentLoaded (iframes ignorados).</translation> <translation id="4768332406694066911">Você tem certificados das seguintes empresas que identificam você</translation> <translation id="4768698601728450387">Cortar imagem</translation> -<translation id="4773696473262035477">Você pode acessar essa e todas as suas <ph name="SAVED_PASSWORDS_LINK" /> em qualquer navegador.</translation> <translation id="4776917500594043016">Senha para <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Salvar página como...</translation> @@ -5385,7 +5381,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">Esta extensão não está listada na <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> e pode ter sido adicionada sem seu conhecimento.</translation> <translation id="8261387128019234107">Adicionar conta para <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Eles podem:</translation> <translation id="8261506727792406068">Excluir</translation> <translation id="8261580862248730866">Exceções do microfone</translation> <translation id="8261673729476082470">Fazendo o backup de <ph name="FILE_COUNT" /> fotos no <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb index 5ec2d96..eaba28b1 100644 --- a/chrome/app/resources/generated_resources_pt-PT.xtb +++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliteração (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Carregar imagem</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Pretende experimentar a aplicação "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Foram imprimidas <ph name="PAGE_NUMBER" /> páginas com sucesso em <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">A carregar a pré-visualização</translation> <translation id="1031573127485938293">Pedir (pela política)</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Restrições de políticas de certificados</translation> <translation id="335985608243443814">Procurar...</translation> <translation id="3360297538363969800">Falha ao imprimir. Verifique a impressora e tente novamente.</translation> -<translation id="3361481787422913716">Ver definições do relatório</translation> <translation id="336497260564123876">Palavra-passe guardada. Para obter as suas palavras-passe em todos os dispositivos, inicie sessão no Chrome.</translation> <translation id="3367813778245106622">Iniciar sessão novamente para iniciar a sincronização</translation> <translation id="3368922792935385530">Ligado</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">Introduza este código no "<ph name="DEVICE_NAME" />" para sincronizar:</translation> <translation id="3588662957555259973">* Fotografia do Perfil do Google</translation> <translation id="3590194807845837023">Desbloquear perfil e reiniciar</translation> -<translation id="3590559774363307859">Palavra-passe guardada. Pode aceder à mesma e a todas as suas <ph name="SAVED_PASSWORDS_LINK" /> em qualquer navegador.</translation> <translation id="3592260987370335752">&Saiba mais</translation> <translation id="359283478042092570">Aceder</translation> <translation id="3593965109698325041">Restrições de nome do certificado</translation> @@ -2834,7 +2831,6 @@ <translation id="4764865176798926079">domContentLoaded do frame principal e todos os carregamentos de recursos iniciados antes de domContentLoaded (iframes ignorados).</translation> <translation id="4768332406694066911">Tem certificados destas entidades que o identificam</translation> <translation id="4768698601728450387">Recortar imagem</translation> -<translation id="4773696473262035477">Pode aceder à mesma e a todas as suas <ph name="SAVED_PASSWORDS_LINK" /> a partir de qualquer navegador.</translation> <translation id="4776917500594043016">Palavra-passe para <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Guardar página como...</translation> @@ -5387,7 +5383,6 @@ <translation id="8260864402787962391">Rato</translation> <translation id="8261378640211443080">Esta extensão não está listada no <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> e é possível que tenha sido adicionada sem o seu conhecimento.</translation> <translation id="8261387128019234107">Adicionar conta para <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Estas podem:</translation> <translation id="8261506727792406068">Eliminar</translation> <translation id="8261580862248730866">Exceções de microfone</translation> <translation id="8261673729476082470">A fazer cópia de segurança de <ph name="FILE_COUNT" /> fotografias no <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb index f087260..9c0c30e0 100644 --- a/chrome/app/resources/generated_resources_ro.xtb +++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Transliterație (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Încarcă imaginea</translation> <translation id="1029317248976101138">Zoom</translation> -<translation id="1029595648591494741">Încercați „<ph name="EXTENSION_NAME" />”?</translation> <translation id="1030173864176315846">S-au printat <ph name="PAGE_NUMBER" /> pagini folosind <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Se încarcă previzualizarea</translation> <translation id="1031573127485938293">Solicită (gestionată de politică)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Limitări ale politicii pentru certificate</translation> <translation id="335985608243443814">Răsfoiește...</translation> <translation id="3360297538363969800">Printarea a eșuat. Verificați imprimanta și încercați din nou.</translation> -<translation id="3361481787422913716">Vezi setările din raport</translation> <translation id="336497260564123876">Parola a fost salvată. Pentru a accesa parolele pe toate dispozitivele, conectează-te la Chrome.</translation> <translation id="3367813778245106622">Conectează-te din nou pentru a începe sincronizarea</translation> <translation id="3368922792935385530">Conectată</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Pentru a conecta, introduceți acest cod pe „<ph name="DEVICE_NAME" />”:</translation> <translation id="3588662957555259973">* fotografie de profil Google</translation> <translation id="3590194807845837023">Deblocați profilul și relansați Chrome</translation> -<translation id="3590559774363307859">Parola a fost salvată. O poți accesa împreună cu toate <ph name="SAVED_PASSWORDS_LINK" /> din orice browser.</translation> <translation id="3592260987370335752">&Aflați mai multe</translation> <translation id="359283478042092570">Accesați</translation> <translation id="3593965109698325041">Limitări privind numele certificatului</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">domContentLoaded din cadrul principal și toate încărcările de resurse începute înainte de domContentLoaded (cadrele iframe sunt ignorate).</translation> <translation id="4768332406694066911">Ai certificate de la aceste organizații care te identifică</translation> <translation id="4768698601728450387">Decupează imaginea</translation> -<translation id="4773696473262035477">O poți accesa și poți accesa toate <ph name="SAVED_PASSWORDS_LINK" /> din orice browser.</translation> <translation id="4776917500594043016">Parolă pentru <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zoom</translation> <translation id="4780321648949301421">Salvează pagina ca...</translation> @@ -4391,7 +4387,7 @@ <translation id="6878261347041253038">Tastatură devanagari (Fonetică)</translation> <translation id="6880587130513028875">Imaginile au fost blocate pe această pagină.</translation> <translation id="6883209331334683549">Ajutor <ph name="PRODUCT_NAME" /></translation> -<translation id="6883319974225028188">Hopa! Sistemul nu a putut salva configurarea dispozitivului.</translation> +<translation id="6883319974225028188">Hopa! Sistemul nu a putut salva configurarea dispozitivului.</translation> <translation id="6885771755599377173">Previzualizarea informațiilor de sistem</translation> <translation id="6886871292305414135">Deschide linkul într-o filă &nouă</translation> <translation id="6892667837507098565">Rasterizare la nivel de GPU</translation> @@ -5383,7 +5379,6 @@ <translation id="8260864402787962391">Mouse</translation> <translation id="8261378640211443080">Această extensie nu este inclusă în <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> și este posibil să fi fost adăugată fără știrea dvs.</translation> <translation id="8261387128019234107">Adăugați un cont pentru <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Acestea pot să:</translation> <translation id="8261506727792406068">Șterge</translation> <translation id="8261580862248730866">Excepții pentru microfon</translation> <translation id="8261673729476082470">Se face backup pentru <ph name="FILE_COUNT" /> fotografii pe <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb index 37bfc61..ddacdce8 100644 --- a/chrome/app/resources/generated_resources_ru.xtb +++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Транслитерация (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Загрузить изображение</translation> <translation id="1029317248976101138">Масштаб</translation> -<translation id="1029595648591494741">Запустить приложение "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Печать <ph name="PAGE_NUMBER" /> стр. на принтере <ph name="PRINTER_NAME" /> выполнена успешно</translation> <translation id="1031362278801463162">Загрузка данных для предварительного просмотра</translation> <translation id="1031573127485938293">Спрашивать (управляется политикой)</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Ограничения политики сертификатов</translation> <translation id="335985608243443814">Обзор...</translation> <translation id="3360297538363969800">Не удалось распечатать документ. Проверьте, всё ли в порядке с принтером, и повторите попытку.</translation> -<translation id="3361481787422913716">Просмотреть настройки отчета</translation> <translation id="336497260564123876">Пароль сохранен. Чтобы получить доступ к сохраненным паролям на другом устройстве, войдите на нем в Chrome.</translation> <translation id="3367813778245106622">Чтобы начать синхронизацию, снова войдите в аккаунт</translation> <translation id="3368922792935385530">Подключено</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">Для подключения введите следующий код на устройстве <ph name="DEVICE_NAME" />:</translation> <translation id="3588662957555259973">* Фотография профиля Google</translation> <translation id="3590194807845837023">Разблокировать профиль и перезапустить</translation> -<translation id="3590559774363307859">Пароль сохранен. Все сохраненные пароли доступны вам в любом браузере (<ph name="SAVED_PASSWORDS_LINK" />).</translation> <translation id="3592260987370335752">&Подробнее</translation> <translation id="359283478042092570">Войти</translation> <translation id="3593965109698325041">Ограничения имени сертификата</translation> @@ -2834,7 +2831,6 @@ <translation id="4764865176798926079">Состоялось событие DOMContentLoaded, а загрузка всех ресурсов началась до DOMContentLoaded (только для основного фрейма без учета окон iframe).</translation> <translation id="4768332406694066911">У вас есть идентифицирующие вас сертификаты этих организаций</translation> <translation id="4768698601728450387">Обрезать изображение</translation> -<translation id="4773696473262035477">Все <ph name="SAVED_PASSWORDS_LINK" /> доступны вам в любом браузере.</translation> <translation id="4776917500594043016">Пароль для адреса электронной почты <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Масштаб</translation> <translation id="4780321648949301421">Сохранить страницу как...</translation> @@ -5387,7 +5383,6 @@ <translation id="8260864402787962391">Мышь</translation> <translation id="8261378640211443080"><ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> не содержит сведений об этом расширении, то есть оно могло быть установлено без вашего ведома.</translation> <translation id="8261387128019234107">Добавить аккаунт в профиль <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Разрешения:</translation> <translation id="8261506727792406068">Удалить</translation> <translation id="8261580862248730866">Исключения для микрофона</translation> <translation id="8261673729476082470">Сохранение <ph name="FILE_COUNT" /> фото на <ph name="BEGIN_LINK" />Google Диске<ph name="END_LINK" />...</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb index ba1baf6..6f8669c 100644 --- a/chrome/app/resources/generated_resources_sk.xtb +++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Prepis (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Načítať obrázok</translation> <translation id="1029317248976101138">Lupa</translation> -<translation id="1029595648591494741">Chcete skúsiť rozšírenie <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">Na tlačiarni <ph name="PRINTER_NAME" /> bol úspešne vytlačený tento počet stránok: <ph name="PAGE_NUMBER" /></translation> <translation id="1031362278801463162">Načítava sa ukážka</translation> <translation id="1031573127485938293">Opýtať sa (na základe pravidla)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">Nové nastavenia súborov cookie sa použijú po obnovení stránky.</translation> <translation id="1470811252759861213">Ak chcete získať záložky na všetkých počítačoch, <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">Povolí podporu virtuálnej klávesnice.</translation> -<translation id="1473539320840569129">Vynúti zobrazenie ponuky nástrojov dotykového pera na poličky a sekcie dotykového pera v nastaveniach a to aj v prípade, ak nie je pripojené žiadne dotykové pero.</translation> +<translation id="1473539320840569129">Vynúti zobrazenie ponuky nástrojov dotykového pera na poličky a sekcie dotykového pera v nastaveniach, a to aj v prípade, ak nie je pripojené žiadne dotykové pero.</translation> <translation id="1474079335130556426">Povoľte režim na pozadí pre rozhranie Push API. Prehliadaču Chrome týmto povolíte, aby zostal spustený aj po zatvorení posledného okna a tiež aby sa aktivoval pri spustení operačného systému, ak ho rozhranie Push API potrebuje.</translation> <translation id="1474339897586437869">Súbor <ph name="FILENAME" /> nebol nahraný. Na Disku Google nemáte dostatok voľného miesta.</translation> <translation id="1475502736924165259">V súbore máte certifikáty, ktoré sa nedajú zaradiť do žiadnej z iných kategórií:</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Obmedzenia certifikačnej politiky</translation> <translation id="335985608243443814">Prehliadať...</translation> <translation id="3360297538363969800">Tlač zlyhala. Skontrolujte tlačiareň a skúste to znova.</translation> -<translation id="3361481787422913716">Zobraziť nastavenia prehľadu</translation> <translation id="336497260564123876">Heslo bolo uložené. Ak chcete mať svoje heslá na všetkých zariadeniach, prihláste sa do Chromu.</translation> <translation id="3367813778245106622">Ak chcete spustiť synchronizáciu, znova sa prihláste</translation> <translation id="3368922792935385530">Pripojené</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">Na zariadení „<ph name="DEVICE_NAME" />“ zadajte tento kód:</translation> <translation id="3588662957555259973">* Profilová fotografia Google</translation> <translation id="3590194807845837023">Odomknúť profil a spustiť znova</translation> -<translation id="3590559774363307859">Heslo bolo uložené. K tomuto heslu a všetkým ďalším <ph name="SAVED_PASSWORDS_LINK" /> môžete pristupovať z ľubovoľného prehliadača.</translation> <translation id="3592260987370335752">&Viac informácií</translation> <translation id="359283478042092570">Vstúpiť</translation> <translation id="3593965109698325041">Obmedzenia názvu certifikátu</translation> @@ -2834,7 +2831,6 @@ <translation id="4764865176798926079">Načítanie prvku domContentLoaded hlavného rámca a všetkých zdrojov sa začalo pred prvkom domContentLoaded (prvky iframe sú ignorované).</translation> <translation id="4768332406694066911">Máte certifikáty z týchto organizácií, ktoré vás identifikujú</translation> <translation id="4768698601728450387">Orezať obrázok</translation> -<translation id="4773696473262035477">K tomuto heslu a všetkým ďalším <ph name="SAVED_PASSWORDS_LINK" /> môžete pristupovať z ľubovoľného prehliadača.</translation> <translation id="4776917500594043016">Heslo pre účet <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Lupa</translation> <translation id="4780321648949301421">Uložiť stránku ako...</translation> @@ -3834,7 +3830,7 @@ <translation id="6112952769866305444">Upraviť osobu <ph name="PROFILE_NAME" />, <ph name="USERNAME" /></translation> <translation id="6115424132962100663">Ak chcete prejsť späť, stlačte |<ph name="SHORTCUT" />|</translation> <translation id="6116921718742659598">Zmeniť nastavenia jazyka a vstupu</translation> -<translation id="6119435854984171040">Niektoré obsahové služby používajú jedinečné identifikátory na autorizáciu prístupu k chránenému obsahu.</translation> +<translation id="6119435854984171040">Niektoré obsahové služby používajú jedinečné identifikátory na autorizáciu prístupu ku chránenému obsahu.</translation> <translation id="6120205520491252677">Pripnúť túto stránku na Úvodnú obrazovku...</translation> <translation id="6122081475643980456">Vaše internetové pripojenie je ovládané</translation> <translation id="6122875415561139701">Operácia zápisu je na zariadení <ph name="DEVICE_NAME" /> zakázaná.</translation> @@ -5386,7 +5382,6 @@ <translation id="8260864402787962391">Myš</translation> <translation id="8261378640211443080">Toto rozšírenie nedodáva <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> a mohlo byť pridané bez vášho vedomia.</translation> <translation id="8261387128019234107">Pridať účet k profilu <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Môžu:</translation> <translation id="8261506727792406068">Odstrániť</translation> <translation id="8261580862248730866">Výnimky pre mikrofón</translation> <translation id="8261673729476082470">Fotky (<ph name="FILE_COUNT" />) sa zálohujú na <ph name="BEGIN_LINK" />Disk Google<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb index 1f103fd..bf35854 100644 --- a/chrome/app/resources/generated_resources_sl.xtb +++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Prečrkovanje (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Naloži sliko</translation> <translation id="1029317248976101138">Povečaj</translation> -<translation id="1029595648591494741">Želite preskusiti razširitev »<ph name="EXTENSION_NAME" />«?</translation> <translation id="1030173864176315846">S tiskalnikom <ph name="PRINTER_NAME" /> je bilo uspešno natisnjenih toliko strani: <ph name="PAGE_NUMBER" /></translation> <translation id="1031362278801463162">Nalaganje predogleda</translation> <translation id="1031573127485938293">Zahteva (pravilnik)</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Omejitve pravilnika potrdila</translation> <translation id="335985608243443814">Prebrskaj ...</translation> <translation id="3360297538363969800">Tiskanje ni uspelo. Preverite tiskalnik in poskusite znova.</translation> -<translation id="3361481787422913716">Ogled nastavitev poročil</translation> <translation id="336497260564123876">Geslo je shranjeno. Če želite dostopati do gesel v vseh napravah, se prijavite v Chrome.</translation> <translation id="3367813778245106622">Prijavite se znova, če želite začeti sinhronizacijo</translation> <translation id="3368922792935385530">Povezano</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">Če želite začeti seznanjanje, v napravo »<ph name="DEVICE_NAME" />« vnesite to kodo:</translation> <translation id="3588662957555259973">* Fotografija profila Google</translation> <translation id="3590194807845837023">Odkleni profil in zaženi znova</translation> -<translation id="3590559774363307859">Geslo je shranjeno. S katerim koli brskalnikom lahko dostopate do tega gesla in teh: <ph name="SAVED_PASSWORDS_LINK" />.</translation> <translation id="3592260987370335752">Več o tem</translation> <translation id="359283478042092570">Vnesite</translation> <translation id="3593965109698325041">Omejitve imena potrdila</translation> @@ -2834,7 +2831,6 @@ <translation id="4764865176798926079">Dogodek »domContentLoaded« in vsa nalaganja sredstev so se začeli pred dogodkom »domContentLoaded« (elementi »iframe« so prezrti).</translation> <translation id="4768332406694066911">Imate potrdila teh organizacij, ki vas identificirajo</translation> <translation id="4768698601728450387">Obreži sliko</translation> -<translation id="4773696473262035477">Iz katerega koli brskalnika lahko dostopate do tega gesla in teh: <ph name="SAVED_PASSWORDS_LINK" />.</translation> <translation id="4776917500594043016">Geslo za <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Povečaj</translation> <translation id="4780321648949301421">Shrani stran &kot ...</translation> @@ -4332,7 +4328,7 @@ <translation id="6797493596609571643">Ojoj, prišlo je do napake.</translation> <translation id="6798780071646309401">zaklepanje velikih črk je vklopljeno</translation> <translation id="6798954102094737107">Vtičnik: <ph name="PLUGIN_NAME" /></translation> -<translation id="6801435275744557998">Umerjanje zaslon na dotik</translation> +<translation id="6801435275744557998">Umerjanje zaslona na dotik</translation> <translation id="6802031077390104172"><ph name="USAGE" /> (<ph name="OID" />)</translation> <translation id="6804671422566312077">Vse zaznamke odpri v &novem oknu</translation> <translation id="6805647936811177813">Prijavite se v <ph name="TOKEN_NAME" />, če želite uvoziti potrdilo odjemalca s spletnega mesta <ph name="HOST_NAME" />.</translation> @@ -5386,7 +5382,6 @@ <translation id="8260864402787962391">Miška</translation> <translation id="8261378640211443080">Ta razširitev ni navedena v storitvi <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> in je bila morda dodana brez vaše vednosti.</translation> <translation id="8261387128019234107">Dodaj račun za <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Lahko:</translation> <translation id="8261506727792406068">Izbriši</translation> <translation id="8261580862248730866">Izjeme za mikrofon</translation> <translation id="8261673729476082470">Varnostno kopiranje toliko fotografij v <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />: <ph name="FILE_COUNT" /></translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb index be374959..b55ee60 100644 --- a/chrome/app/resources/generated_resources_sr.xtb +++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Транслитерација (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Учитај слику</translation> <translation id="1029317248976101138">Зумирај</translation> -<translation id="1029595648591494741">Желите ли да испробате апликацију „<ph name="EXTENSION_NAME" />“?</translation> <translation id="1030173864176315846">Странице (<ph name="PAGE_NUMBER" />) су одштампане на штампачу <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Учитавање прегледа</translation> <translation id="1031573127485938293">Питај (контролишу смернице)</translation> @@ -1829,7 +1828,6 @@ <translation id="3359256513598016054">Ограничења смерница сертификата</translation> <translation id="335985608243443814">Прегледај...</translation> <translation id="3360297538363969800">Штампање није успело. Проверите штампач и покушајте поново.</translation> -<translation id="3361481787422913716">Прикажи подешавања извештаја</translation> <translation id="336497260564123876">Лозинка је сачувана. Да би вам лозинке биле доступне на свим уређајима, пријавите се у Chrome.</translation> <translation id="3367813778245106622">Пријавите се поново да бисте започели синхронизацију</translation> <translation id="3368922792935385530">Повезан</translation> @@ -2005,7 +2003,6 @@ <translation id="358796204584394954">Унесите овај кôд на „<ph name="DEVICE_NAME" />“ да бисте обавили упаривање:</translation> <translation id="3588662957555259973">* Слика Google профила</translation> <translation id="3590194807845837023">Откључај профил и поново покрени</translation> -<translation id="3590559774363307859">Лозинка је сачувана. За њу као и за све <ph name="SAVED_PASSWORDS_LINK" /> приступ је могућ у било ком прегледачу.</translation> <translation id="3592260987370335752">&Сазнајте више</translation> <translation id="359283478042092570">Унеси</translation> <translation id="3593965109698325041">Ограничења назива сертификата </translation> @@ -2830,7 +2827,6 @@ <translation id="4764865176798926079">domContentLoaded главног оквира и сва учитавања ресурса започета пре domContentLoaded (iframe-ови су игнорисани).</translation> <translation id="4768332406694066911">Имате сертификате следећих организација који вас идентификују</translation> <translation id="4768698601728450387">Исецање слике</translation> -<translation id="4773696473262035477">За њу и све <ph name="SAVED_PASSWORDS_LINK" /> приступ је могућ у било ком прегледачу.</translation> <translation id="4776917500594043016">Лозинка за <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Зумирање</translation> <translation id="4780321648949301421">Сачувај страницу као...</translation> @@ -5379,7 +5375,6 @@ <translation id="8260864402787962391">Миш</translation> <translation id="8261378640211443080"><ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> не наводи овај додатак и он је можда додат без вашег знања.</translation> <translation id="8261387128019234107">Додај налог за <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Могу да:</translation> <translation id="8261506727792406068">Избриши</translation> <translation id="8261580862248730866">Изузеци за микрофон</translation> <translation id="8261673729476082470">Праве се резервне копије слика (<ph name="FILE_COUNT" />) на <ph name="BEGIN_LINK" />Google диску<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb index 50d91c3..16e01958 100644 --- a/chrome/app/resources/generated_resources_sv.xtb +++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Translitterering (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Läs in bild</translation> <translation id="1029317248976101138">Zooma in</translation> -<translation id="1029595648591494741">Vill du testa <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> sidor har skrivits ut på <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Läser in förhandsgranskning</translation> <translation id="1031573127485938293">Fråga (utifrån princip)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Begränsningar för Certifikatpolicy</translation> <translation id="335985608243443814">Bläddra...</translation> <translation id="3360297538363969800">Utskriften misslyckades. Kontrollera skrivaren och försök igen.</translation> -<translation id="3361481787422913716">Visa inställningarna i rapporten</translation> <translation id="336497260564123876">Lösenordet har sparats. Logga in i Chrome om du vill spara dina lösenord på alla enheter.</translation> <translation id="3367813778245106622">Logga in igen om du vill påbörja synkroniseringen</translation> <translation id="3368922792935385530">Ansluten</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Genomför kopplingen genom att skriva den här koden på <ph name="DEVICE_NAME" />:</translation> <translation id="3588662957555259973">* Profilbild i Google Profiler</translation> <translation id="3590194807845837023">Lås upp profil och starta om</translation> -<translation id="3590559774363307859">Lösenordet har sparats. Du kommer åt den och alla <ph name="SAVED_PASSWORDS_LINK" /> från vilken webbläsare som helst.</translation> <translation id="3592260987370335752">&Läs mer</translation> <translation id="359283478042092570">Ange</translation> <translation id="3593965109698325041">Certifikatnamnsbegränsningar</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">Huvudramens DOMContentLoaded och alla inlästa resurser som startades innan domContentLoaded (iframes ignoreras).</translation> <translation id="4768332406694066911">Du har certifikat från dessa organisationer som identifierar dig</translation> <translation id="4768698601728450387">Beskär bild</translation> -<translation id="4773696473262035477">Du kan komma åt det och alla dina <ph name="SAVED_PASSWORDS_LINK" /> från valfri webbläsare.</translation> <translation id="4776917500594043016">Lösenord för <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Zooma in</translation> <translation id="4780321648949301421">Spara sida som...</translation> @@ -5383,7 +5379,6 @@ <translation id="8260864402787962391">Mus</translation> <translation id="8261378640211443080">Det här tillägget finns inte i <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> och kan ha lagts till utan att du vet om det.</translation> <translation id="8261387128019234107">Lägg till ett konto för <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">De kan:</translation> <translation id="8261506727792406068">Radera</translation> <translation id="8261580862248730866">Mikrofonundantag</translation> <translation id="8261673729476082470">Säkerhetskopierar <ph name="FILE_COUNT" /> foton till <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb index 326f6055..f8e3959 100644 --- a/chrome/app/resources/generated_resources_sw.xtb +++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Unukuzi wa mfumo wa kuandika (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Pakia Picha</translation> <translation id="1029317248976101138">Kuza</translation> -<translation id="1029595648591494741">Ungependa kujaribu "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Imechapisha kurasa <ph name="PAGE_NUMBER" /> kwenye <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Inapakia nakala ya kuchungulia</translation> <translation id="1031573127485938293">Uliza (kulingana na sera)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">Mipangilio mipya ya kidakuzi itaanza kutumika baada ya kupakia upya ukurasa.</translation> <translation id="1470811252759861213">Ili upate viendelezi vyako kwenye kompyuta zako zote, <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">Washa utumiaji wa kibodi isiyo bayana.</translation> -<translation id="1473539320840569129">Hulazimisha kuonyesha menyu ya zana za stylus katika rafu na rafu na sehemu ya stylus katika mipangilio, hata kama hakuna kifaa cha stylus kilichounganishwa.</translation> +<translation id="1473539320840569129">Hulazimisha kuonyesha menyu ya zana za stylus katika rafu na sehemu ya stylus katika mipangilio, hata kama hakuna kifaa cha stylus kilichounganishwa.</translation> <translation id="1474079335130556426">Washa kipengele cha hali ya chini chini ya API ya Push. Hii huruhusu Chrome kuendelea kutekeleza baada ya dirisha la mwisho kufungwa, na kufungua Mfumo wa Uendeshaji unapoanzishwa, ikiwa API ya Push inaihitaji.</translation> <translation id="1474339897586437869">"<ph name="FILENAME" />" haikupakiwa. Hakuna nafasi ya kutosha katika Hifadhi yako ya Google.</translation> <translation id="1475502736924165259">Una vyeti kwenye faili ambavyo havilangani na aina nyingine yoyote</translation> @@ -1193,7 +1192,7 @@ <translation id="2580924999637585241">Jumla: <ph name="NUMBER_OF_SHEETS" /> <ph name="SHEETS_LABEL" /></translation> <translation id="258095186877893873">Muda mrefu</translation> <translation id="2581475589551312226">Hifadhi nakala na urejeshe data ya programu ya Google Play kwenye Hifadhi ya Google kiotomatiki. <ph name="BEGIN_LINK1" />Pata Maelezo zaidi<ph name="END_LINK1" /></translation> -<translation id="2581601588594682520">Ipe folda jina jingine</translation> +<translation id="2581601588594682520">Ipe Folda Jina Jingine</translation> <translation id="2582253231918033891"><ph name="PRODUCT_NAME" /> <ph name="PRODUCT_VERSION" /> (Jukwaa <ph name="PLATFORM_VERSION" />) <ph name="DEVICE_SERIAL_NUMBER" /></translation> <translation id="2585116156172706706">Kiendelezi hiki huenda kiliongezwa pasipo ridhaa yako.</translation> <translation id="2585300050980572691">Mipangilio chaguo-msingi ya utafutaji</translation> @@ -1826,7 +1825,6 @@ <translation id="3359256513598016054">Vizuizi vya Sera ya Vyeti</translation> <translation id="335985608243443814">Vinjari...</translation> <translation id="3360297538363969800">Uchapishaji umeshindwa. Tafadhali angalia printa yako na ujaribu tena.</translation> -<translation id="3361481787422913716">Angalia mipangilio ya ripoti</translation> <translation id="336497260564123876">Nenosiri limehifadhiwa. Ili upate manenosiri yako kwenye vifaa vyako vyote, ingia katika Chrome.</translation> <translation id="3367813778245106622">Ingia tena katika akaunti ili uanze kusawazisha</translation> <translation id="3368922792935385530">Umeunganishwa</translation> @@ -2002,7 +2000,6 @@ <translation id="358796204584394954">Charaza msimbo huu kwenye "<ph name="DEVICE_NAME" />" ili kuoanisha:</translation> <translation id="3588662957555259973">* Picha ya Wasifu kwenye Google</translation> <translation id="3590194807845837023">Fungua Wasifu na Uzindue tena</translation> -<translation id="3590559774363307859">Nenosiri limehifadhiwa. Unaweza kulifikia na <ph name="SAVED_PASSWORDS_LINK" /> yako yote kutoka kwenye kivinjari chochote.</translation> <translation id="3592260987370335752">&Pata maelezo zaidi</translation> <translation id="359283478042092570">Ingia</translation> <translation id="3593965109698325041">Vizuizi vya Jina la Cheti</translation> @@ -2824,7 +2821,6 @@ <translation id="4764865176798926079">domContentLoaded ya fremu kuu na vipakiwa vya rasilimali zote vilianza kabla ya domContentLoaded (iframe zimepuuzwa).</translation> <translation id="4768332406694066911">Una vyeti kutoka kwenye mashirika haya vinavyokutambua</translation> <translation id="4768698601728450387">Pogoa picha</translation> -<translation id="4773696473262035477">Unaweza kulifikia na <ph name="SAVED_PASSWORDS_LINK" /> yako yote kutoka kwenye kivinjari chochote.</translation> <translation id="4776917500594043016">Nenosiri la <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Kuza</translation> <translation id="4780321648949301421">Hifadhi Ukurasa Kama...</translation> @@ -4383,7 +4379,7 @@ <translation id="6878261347041253038">Kibodi ya Kidevanagari (Fonetiki)</translation> <translation id="6880587130513028875">Picha zimezuiwa kwenye ukurasa huu.</translation> <translation id="6883209331334683549">Usaidizi wa <ph name="PRODUCT_NAME" /></translation> -<translation id="6883319974225028188">Lo! Mfumo umeshindwa kuhifadhi usanidi wa kifaa.</translation> +<translation id="6883319974225028188">Lo! Mfumo umeshindwa kuhifadhi mipangilio ya kifaa.</translation> <translation id="6885771755599377173">Onyesho la Kuchungulia la Maelezo ya Mfumo</translation> <translation id="6886871292305414135">Fungua kiungo katika &kichupo kipya</translation> <translation id="6892667837507098565">Uwekaji wa safu za picha wa GPU</translation> @@ -5379,7 +5375,6 @@ <translation id="8260864402787962391">Kipanya</translation> <translation id="8261378640211443080">Kiendelezi hiki hakijaorodheshwa katika <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> na huenda kiliongezwa pasipo ridhaa yako.</translation> <translation id="8261387128019234107">Ongeza akaunti ya <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Vinaweza:</translation> <translation id="8261506727792406068">Futa</translation> <translation id="8261580862248730866">Maikrofoni zisizofuata kanuni</translation> <translation id="8261673729476082470">Inahifadhi nakala ya picha <ph name="FILE_COUNT" /> kwenye <ph name="BEGIN_LINK" />Hifadhi ya Google<ph name="END_LINK" /></translation> @@ -5987,7 +5982,7 @@ <translation id="9100765901046053179">Mipangilio ya kina</translation> <translation id="910077499156148110">Ongeza kighairi cha tovuti</translation> <translation id="9101691533782776290">Zindua programu</translation> -<translation id="9102610709270966160">Washa Kiendelezi</translation> +<translation id="9102610709270966160">Ruhusu Kiendelezi</translation> <translation id="9103001804464916031">{NUM_DOWNLOAD,plural, =1{Kipakuliwa Kinaendelea}other{Vipakuliwa Vinaendelea}}</translation> <translation id="9105212490906037469">F2</translation> <translation id="9106577689055281370">Betri
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb index 6333dac..7cd491a 100644 --- a/chrome/app/resources/generated_resources_ta.xtb +++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">ஒலிபெயர்ப்பு (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">படத்தை ஏற்று</translation> <translation id="1029317248976101138">பெரிதாக்கு</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" ஐ முயற்சிக்கவா?</translation> <translation id="1030173864176315846"><ph name="PRINTER_NAME" /> இல் <ph name="PAGE_NUMBER" /> பக்கங்கள் அச்சிடப்பட்டன</translation> <translation id="1031362278801463162">மாதிரிக்காட்சியை ஏற்றுகிறது</translation> <translation id="1031573127485938293">கேள் (கொள்கையின்படி)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">பக்கத்தை மறுஏற்றம் செய்ததும் புதிய குக்கீ அமைப்புகள் செயல்படும்.</translation> <translation id="1470811252759861213">உங்கள் நீட்டிப்புகளை உங்கள் கணினிகள் அனைத்திலும் பெற, <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">விர்ச்சுவல் விசைப்பலகை ஆதரவை இயக்கு.</translation> -<translation id="1473539320840569129">ஸ்டைலஸ் சாதனம் எதுவும் இணைக்கப்படவில்லை என்றாலும் கூட, ஷெல்ஃப்பில் ஸ்டைலஸ் கருவிகளின் மெனுவையும், அமைப்புகளில் ஸ்டைலஸ் பிரிவையும் காட்டும்.</translation> +<translation id="1473539320840569129">ஸ்டைலஸ் சாதனம் எதுவும் இணைக்கப்படவில்லை என்றாலும் கூட, ஷெல்ஃபில் ஸ்டைலஸ் கருவிகளின் மெனுவையும், அமைப்புகளில் ஸ்டைலஸ் பிரிவையும் காட்டும்.</translation> <translation id="1474079335130556426">புஷ் APIக்கான பின்னணிப் பயன்முறையை இயக்கும். இது கடைசி சாளரம் மூடப்பட்ட பிறகும் Chromeஐத் தொடர்ந்து இயங்க அனுமதிக்கும், புஷ் APIக்கு தேவைப்பட்டால் OS தொடங்கும் போது இயங்கச் செய்யும்.</translation> <translation id="1474339897586437869">"<ph name="FILENAME" />" ஏற்றப்படவில்லை. உங்கள் Google இயக்ககத்தில் போதுமான காலியிடம் இல்லை.</translation> <translation id="1475502736924165259">பிற வகைகள் எவற்றிலும் பொருந்தாத சான்றிதழ்கள் கோப்பில் உள்ளன</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">சான்றிதழ் கொள்கைக் கட்டுப்பாடுகள்</translation> <translation id="335985608243443814">உலாவு...</translation> <translation id="3360297538363969800">அச்சிடுவதில் தோல்வி. உங்கள் பிரிண்டரைச் சரிபார்த்து மீண்டும் முயற்சிக்கவும்.</translation> -<translation id="3361481787422913716">அறிக்கையிடப்படும் அமைப்புகளைக் காட்டு</translation> <translation id="336497260564123876">கடவுச்சொல் சேமிக்கப்பட்டது. எல்லா சாதனங்களிலும் உங்கள் கடவுச்சொற்களைப் பெற, Chrome இல் உள்நுழையவும்.</translation> <translation id="3367813778245106622">ஒத்திசைப்பதைத் தொடங்க, மீண்டும் உள்நுழையவும்</translation> <translation id="3368922792935385530">இணைக்கப்பட்டது</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">"<ph name="DEVICE_NAME" />" இல் இந்தக் குறியீட்டை உள்ளிட்டு இதனுடன் இணைக்கவும்:</translation> <translation id="3588662957555259973">* Google சுயவிவரப் புகைப்படம்</translation> <translation id="3590194807845837023">சுயவிவரத்தைத் தடைநீக்கி, மீண்டும் இயக்கு</translation> -<translation id="3590559774363307859">கடவுச்சொல் சேமிக்கப்பட்டது. இந்தக் கடவுச்சொல்லையும் எல்லா <ph name="SAVED_PASSWORDS_LINK" /> ஐயும், எந்த உலாவியில் இருந்தும் அணுகலாம்.</translation> <translation id="3592260987370335752">&மேலும் அறிக</translation> <translation id="359283478042092570">உள்நுழைக</translation> <translation id="3593965109698325041">சான்றிதழ் பெயர் கட்டுப்பாடுகள்</translation> @@ -2830,7 +2827,6 @@ <translation id="4764865176798926079">domContentLoaded மற்றும் domContentLoaded தொடங்குவதற்கு முன்பு தொடங்கிய பிற வளங்களின் ஏற்றம் முடிந்த பிறகு நிறைவு செய்யவும் (ஐஃபிரேம்கள் புறக்கணிக்கப்படும்).</translation> <translation id="4768332406694066911">உங்களை அடையாளங்காணும் இந்த நிறுவனங்களின் சான்றிதழ்கள் உள்ளன</translation> <translation id="4768698601728450387">படத்தைச் செதுக்கு</translation> -<translation id="4773696473262035477">நீங்கள் அதனையும் உங்கள் <ph name="SAVED_PASSWORDS_LINK" /> அனைத்தையும் எந்த உலாவியில் இருந்தும் அணுகலாம்.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> க்கான கடவுச்சொல்</translation> <translation id="4779083564647765204">பெரிதாக்கு</translation> <translation id="4780321648949301421">பக்கத்தை இவ்வாறு சேமி...</translation> @@ -3829,7 +3825,7 @@ <translation id="6112952769866305444">பயனரைத் திருத்தவும், <ph name="PROFILE_NAME" />, <ph name="USERNAME" /></translation> <translation id="6115424132962100663">முந்தைய பக்கத்திற்குச் செல்ல, |<ph name="SHORTCUT" />| என்பதை அழுத்தவும்</translation> <translation id="6116921718742659598">மொழி மற்றும் உள்ளீட்டு அமைப்புகளை மாற்றவும்</translation> -<translation id="6119435854984171040">பாதுகாக்கப்பட்ட உள்ளடக்கத்திற்கான அங்கீகரிப்பு அணுகல் நோக்கங்களுக்கு, சில உள்ளடக்கச் சேவைகள் தனித்துவ அடையாளங்காட்டிகளைப் பயன்படுத்துகின்றன.</translation> +<translation id="6119435854984171040">பாதுகாக்கப்பட்ட உள்ளடக்கத்திற்கான அணுகலை அங்கீகரிக்கும் நோக்கங்களுக்காக, சில உள்ளடக்கச் சேவைகள் தனித்துவ அடையாளங்காட்டிகளைப் பயன்படுத்துகின்றன.</translation> <translation id="6120205520491252677">தொடக்கத் திரையில் இந்தப் பக்கத்தைப் பொருத்து...</translation> <translation id="6122081475643980456">உங்கள் இணைய இணைப்பு கட்டுப்படுத்தப்படுகிறது</translation> <translation id="6122875415561139701">எழுதுதல் செயல்பாடு இந்தச் சாதனத்தில் அனுமதிக்கப்படவில்லை: "<ph name="DEVICE_NAME" />".</translation> @@ -4368,7 +4364,7 @@ <translation id="6851261092040379723">பரிசோதனைக்குரிய JavaScript கம்பைலேஷன் பைப்லைன்</translation> <translation id="6853388645642883916">புதுப்பிப்பான் செயலில் இல்லை</translation> <translation id="68541483639528434">பிற தாவல்களை மூடுக</translation> -<translation id="6856623341093082836">அமைத்து, டச்ஸ்கிரீனின் துல்லியத்தைச் சரிசெய்க</translation> +<translation id="6856623341093082836">டச்ஸ்கிரீனை அமைத்து, அதன் துல்லியத்தைச் சரிசெய்க</translation> <translation id="6856701878604560493">ஆஃப்லைன் புத்தகக்குறிகளை இயக்கு</translation> <translation id="6860097299815761905">ப்ராக்ஸி அமைப்புகள்...</translation> <translation id="6860427144121307915">தாவலில் திற</translation> @@ -5373,7 +5369,6 @@ <translation id="8260864402787962391">சுட்டி</translation> <translation id="8261378640211443080">இந்த நீட்டிப்பு <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> இல் பட்டியலிடப்படவில்லை, மேலும் அது உங்களுக்குத் தெரியாமல் சேர்க்கப்பட்டிருக்கலாம்.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> க்கான கணக்கைச் சேர்</translation> -<translation id="8261490674758214762">இவை அணுகத்தக்கவை:</translation> <translation id="8261506727792406068">நீக்கு</translation> <translation id="8261580862248730866">மைக்ரோஃபோன் விதிவிலக்குகள்</translation> <translation id="8261673729476082470"><ph name="BEGIN_LINK" />Google இயக்ககத்தில்<ph name="END_LINK" />, <ph name="FILE_COUNT" /> படங்களைக் காப்புப் பிரதி எடுக்கிறது</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb index 274fc25..52a54d5 100644 --- a/chrome/app/resources/generated_resources_te.xtb +++ b/chrome/app/resources/generated_resources_te.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">లిప్యంతరీకరణ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">చిత్రాన్ని లోడ్ చేయండి</translation> <translation id="1029317248976101138">జూమ్ చెయ్యి:</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />"ను ప్రయత్నించాలా?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> పేజీలు <ph name="PRINTER_NAME" />కి విజయవంతంగా ముద్రించబడ్డాయి</translation> <translation id="1031362278801463162">పరిదృశ్యం లోడ్ అవుతోంది</translation> <translation id="1031573127485938293">అడగాలి (విధానం ద్వారా)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">సర్టిఫికెట్ విధాన పరిమితులు</translation> <translation id="335985608243443814">బ్రౌజ్ చెయ్యి...</translation> <translation id="3360297538363969800">ముద్రణ విఫలమైంది. దయచేసి మీ ప్రింటర్ను తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.</translation> -<translation id="3361481787422913716">నివేదిక సెట్టింగ్లను వీక్షించండి</translation> <translation id="336497260564123876">పాస్వర్డ్ సేవ్ చేయబడింది. మీ పాస్వర్డ్లను మీ అన్ని పరికరాల్లో పొందడానికి, Chromeకి సైన్ ఇన్ చేయండి.</translation> <translation id="3367813778245106622">సమకాలీకరణను ప్రారంభించడానికి మళ్లీ సైన్ ఇన్ చేయండి</translation> <translation id="3368922792935385530">కనెక్ట్ అయింది</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">జత చేయడానికి "<ph name="DEVICE_NAME" />"లో ఈ కోడ్ను టైప్ చేయండి:</translation> <translation id="3588662957555259973">* Google ప్రొఫైల్ ఫోటో</translation> <translation id="3590194807845837023">ప్రొఫైల్ని అన్లాక్ చేసి, మళ్లీ లాంచ్ చేయి</translation> -<translation id="3590559774363307859">పాస్వర్డ్ సేవ్ చేయబడింది. మీరు ఏ బ్రౌజర్ నుండైనా దీన్ని మరియు మీ అన్ని <ph name="SAVED_PASSWORDS_LINK" />ను ప్రాప్యత చేయవచ్చు.</translation> <translation id="3592260987370335752">&మరింత తెలుసుకోండి</translation> <translation id="359283478042092570">నమోదు చేయి</translation> <translation id="3593965109698325041">సర్టిఫికెట్ పేరు పరిమితులు</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">ప్రధాన ఫ్రేమ్ యొక్క domContentLoaded మరియు అన్ని వనరుల లోడ్లు domContentLoadedకి (iframes విస్మరించబడుతుంది) ముందే ప్రారంభించబడతాయి.</translation> <translation id="4768332406694066911">మిమ్మల్ని గుర్తించే ఈ సంస్థల నుండి మీకు ప్రమాణపత్రాలు ఉన్నాయి</translation> <translation id="4768698601728450387">చిత్రాన్ని కత్తిరించు</translation> -<translation id="4773696473262035477">మీరు ఏదైనా బ్రౌజర్ నుండి దీన్ని మరియు మీ అన్ని <ph name="SAVED_PASSWORDS_LINK" />ను ప్రాప్యత చేయవచ్చు.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> కోసం పాస్వర్డ్</translation> <translation id="4779083564647765204">జూమ్ చెయ్యి</translation> <translation id="4780321648949301421">ఇలా పేజీని సేవ్ చేయి...</translation> @@ -5381,7 +5377,6 @@ <translation id="8260864402787962391">మౌస్</translation> <translation id="8261378640211443080">ఈ పొడిగింపు <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />లో జాబితా చేయబడలేదు మరియు మీకు తెలియకుండానే జోడించబడి ఉండవచ్చు.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> కోసం ఖాతాను జోడించు</translation> -<translation id="8261490674758214762">ఇవి వీటిని చేయగలవు:</translation> <translation id="8261506727792406068">తొలగించు</translation> <translation id="8261580862248730866">మైక్రోఫోన్ మినహాయింపులు</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> ఫోటోలను <ph name="BEGIN_LINK" />Google డిస్క్<ph name="END_LINK" />కి బ్యాకప్ చేస్తోంది</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb index 64ed77fa..4a70668 100644 --- a/chrome/app/resources/generated_resources_th.xtb +++ b/chrome/app/resources/generated_resources_th.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">การทับศัพท์ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">โหลดภาพ</translation> <translation id="1029317248976101138">ซูม</translation> -<translation id="1029595648591494741">ลองใช้ "<ph name="EXTENSION_NAME" />" ดูไหม</translation> <translation id="1030173864176315846">พิมพ์ <ph name="PAGE_NUMBER" /> หน้าไปยัง <ph name="PRINTER_NAME" /> สำเร็จแล้ว</translation> <translation id="1031362278801463162">กำลังโหลดหน้าตัวอย่าง</translation> <translation id="1031573127485938293">ขอ (โดยนโยบาย)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">ข้อจำกัดนโยบายใบรับรอง</translation> <translation id="335985608243443814">เรียกดู...</translation> <translation id="3360297538363969800">การพิมพ์ล้มเหลว โปรดตรวจสอบเครื่องพิมพ์และลองอีกครั้ง</translation> -<translation id="3361481787422913716">ดูการตั้งค่ารายงาน</translation> <translation id="336497260564123876">บันทึกรหัสผ่านแล้ว ลงชื่อเข้าใช้ Chrome เพื่อรับรหัสผ่านในอุปกรณ์ทุกเครื่องของคุณ</translation> <translation id="3367813778245106622">ลงชื่อเข้าใช้อีกครั้งเพื่อเริ่มซิงค์</translation> <translation id="3368922792935385530">เชื่อมต่อแล้ว</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">พิมพ์รหัสนี้บน "<ph name="DEVICE_NAME" />" เพื่อจับคู่:</translation> <translation id="3588662957555259973">* รูปโปรไฟล์ Google</translation> <translation id="3590194807845837023">ปลดล็อกโปรไฟล์และเปิดใหม่</translation> -<translation id="3590559774363307859">บันทึกรหัสผ่านแล้ว คุณสามารถเข้าถึงรหัสผ่านและ <ph name="SAVED_PASSWORDS_LINK" /> ทั้งหมดได้จากเบราว์เซอร์ใดก็ได้</translation> <translation id="3592260987370335752">&เรียนรู้เพิ่มเติม</translation> <translation id="359283478042092570">ป้อน</translation> <translation id="3593965109698325041">ข้อจำกัดของชื่อใบรับรอง</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">การโหลด domContentLoaded ของเฟรมหลักและแหล่งข้อมูลทั้งหมดเริ่มขึ้นก่อน domContentLoaded (ไม่สนใจ iframe)</translation> <translation id="4768332406694066911">คุณมีใบรับรองจากองค์กรเหล่านี้ซึ่งระบุถึงตัวคุณ</translation> <translation id="4768698601728450387">ตัดภาพ</translation> -<translation id="4773696473262035477">คุณสามารถเข้าถึงรหัสผ่านและ <ph name="SAVED_PASSWORDS_LINK" /> ทั้งหมดได้จากเบราว์เซอร์ใดก็ได้</translation> <translation id="4776917500594043016">รหัสผ่านของ <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">ซูม</translation> <translation id="4780321648949301421">บันทึกหน้าเป็น...</translation> @@ -5034,7 +5030,7 @@ <translation id="7788668840732459509">ตำแหน่ง:</translation> <translation id="7791543448312431591">เพิ่ม</translation> <translation id="7792012425874949788">เกิดข้อผิดพลาดในการลงชื่อเข้าใช้</translation> -<translation id="7792189849306326819">เมนูการเลือกภาษา ภาษาที่เลือกอยู่ในขณะนี้คือ <ph name="LANGUAGE" /></translation> +<translation id="7792189849306326819">เมนูการเลือกภาษา ภาษาที่เลือกอยู่ในขณะนี้คือ<ph name="LANGUAGE" /></translation> <translation id="7792388396321542707">หยุดการแชร์</translation> <translation id="7794058097940213561">ฟอร์แมตอุปกรณ์</translation> <translation id="779798319486679958">เลือกประเภทแบบอักษร</translation> @@ -5384,7 +5380,6 @@ <translation id="8260864402787962391">เมาส์</translation> <translation id="8261378640211443080">ส่วนขยายนี้ไม่ได้ระบุไว้ใน <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> และอาจถูกเพิ่มเข้ามาโดยที่คุณไม่รู้ตัว</translation> <translation id="8261387128019234107">เพิ่มบัญชีสำหรับ <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">แอปพลิเคชันและส่วนขยายสามารถ:</translation> <translation id="8261506727792406068">ลบ</translation> <translation id="8261580862248730866">ข้อยกเว้นของไมโครโฟน</translation> <translation id="8261673729476082470">กำลังสำรองรูปภาพ <ph name="FILE_COUNT" /> รูปไปยัง <ph name="BEGIN_LINK" />Google ไดรฟ์<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb index d269e922..83ef002 100644 --- a/chrome/app/resources/generated_resources_tr.xtb +++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Harf çevirisi (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Resim Yükle</translation> <translation id="1029317248976101138">Yakınlaştır</translation> -<translation id="1029595648591494741">"<ph name="EXTENSION_NAME" />" denensin mi?</translation> <translation id="1030173864176315846"><ph name="PAGE_NUMBER" /> sayfa <ph name="PRINTER_NAME" /> adlı yazıcıda başarıyla yazdırıldı</translation> <translation id="1031362278801463162">Önizleme yükleniyor</translation> <translation id="1031573127485938293">Sor (politika tarafından)</translation> @@ -351,7 +350,7 @@ <translation id="1470719357688513792">Yeni çerez ayarları sayfa yeniden yüklendikten sonra etkinleşecek.</translation> <translation id="1470811252759861213">Uzantılarınızı tüm bilgisayarlarınızda kullanmak için <ph name="SIGN_IN_LINK" />.</translation> <translation id="14720830734893704">Sanal klavye desteğini etkinleştirin.</translation> -<translation id="1473539320840569129">Cihazda ekran kalemi olmasa bile rafta ekran kalemi araçları menüsünün ve ayarlarda ekran kalemi seçiminin görüntülenmesini sağlar.</translation> +<translation id="1473539320840569129">Cihazda ekran kalemi olmasa bile rafta ekran kalemi araçları menüsünün ve ayarlarda ekran kalemi bölümünün görüntülenmesini sağlar.</translation> <translation id="1474079335130556426">Push API'sı için arka plan modunu etkinleştirin. Bu mod, Chrome'un, son pencere kapatıldıktan sonra çalışmaya devam etmesine ve Push API'sı ihtiyaç duyarsa OS başlatılırken açılmasına olanak tanır.</translation> <translation id="1474339897586437869">"<ph name="FILENAME" />" yüklenmedi. Google Drive'ınızda yeterli boş alan yok.</translation> <translation id="1475502736924165259">Dosyanızda diğer kategorilerin hiçbirine uymayan sertifikalar var</translation> @@ -1832,7 +1831,6 @@ <translation id="3359256513598016054">Sertifika Politikası Kısıtlamaları</translation> <translation id="335985608243443814">Göz at...</translation> <translation id="3360297538363969800">Yazdırma işlemi başarısız oldu. Lütfen yazıcınızı kontrol edin ve tekrar deneyin.</translation> -<translation id="3361481787422913716">Rapor ayarlarını görüntüle</translation> <translation id="336497260564123876">Şifre kaydedildi. Şifrelerinize tüm cihazlarınızda ulaşmak için Chrome'da oturum açın.</translation> <translation id="3367813778245106622">Senkronizasyonu başlatmak için tekrar oturum açın</translation> <translation id="3368922792935385530">Bağlı</translation> @@ -2008,7 +2006,6 @@ <translation id="358796204584394954">Eşlemek için "<ph name="DEVICE_NAME" />" cihazında şu kodu yazın:</translation> <translation id="3588662957555259973">* Google Profil fotoğrafı</translation> <translation id="3590194807845837023">Profilin Kilidini Aç ve Tekrar Başlat</translation> -<translation id="3590559774363307859">Şifre kaydedildi. Bu şifreye ve tüm <ph name="SAVED_PASSWORDS_LINK" /> öğelerinize herhangi bir tarayıcıdan erişebilirsiniz.</translation> <translation id="3592260987370335752">&Daha fazla bilgi edinin</translation> <translation id="359283478042092570">Gir</translation> <translation id="3593965109698325041">Sertifika Adı Kısıtlamaları</translation> @@ -2833,7 +2830,6 @@ <translation id="4764865176798926079">Ana çerçeveye ait domContentLoaded ve domContentLoaded öncesinde başlatılan tüm kaynak yükleri (iframe'ler yoksayılır).</translation> <translation id="4768332406694066911">Sizi tanımlayan şu kuruluşlardan sertifikalarınız var</translation> <translation id="4768698601728450387">Resmi kırp</translation> -<translation id="4773696473262035477">Bu şifreye ve <ph name="SAVED_PASSWORDS_LINK" /> içinde kaydedilenlerin tümüne herhangi bir tarayıcıdan erişebilirsiniz.</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> için şifre</translation> <translation id="4779083564647765204">Yakınlaştır</translation> <translation id="4780321648949301421">Sayfayı Farklı Kaydet...</translation> @@ -5387,7 +5383,6 @@ <translation id="8260864402787962391">Fare</translation> <translation id="8261378640211443080">Bu uzantı <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> altında listelenmiyor ve bilginiz dışında eklenmiş olabilir.</translation> <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> için hesap ekle</translation> -<translation id="8261490674758214762">Şunları yapabilirler:</translation> <translation id="8261506727792406068">Sil</translation> <translation id="8261580862248730866">Mikrofon istisnaları</translation> <translation id="8261673729476082470"><ph name="FILE_COUNT" /> fotoğraf <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />'a yedekleniyor</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb index e5b899c..389fa16 100644 --- a/chrome/app/resources/generated_resources_uk.xtb +++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Транслітерація (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Завантажити зображення</translation> <translation id="1029317248976101138">Збільшити</translation> -<translation id="1029595648591494741">Спробувати <ph name="EXTENSION_NAME" />?</translation> <translation id="1030173864176315846">На принтері "<ph name="PRINTER_NAME" />" надруковано стільки сторінок: <ph name="PAGE_NUMBER" /></translation> <translation id="1031362278801463162">Завантаження попереднього перегляду</translation> <translation id="1031573127485938293">Запитувати (згідно з правилом)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">Обмеження політики сертифіката</translation> <translation id="335985608243443814">Переглянути...</translation> <translation id="3360297538363969800">Помилка друку. Перевірте принтер і повторіть спробу.</translation> -<translation id="3361481787422913716">Переглянути налаштування звіту</translation> <translation id="336497260564123876">Пароль збережено. Увійдіть в обліковий запис Chrome, щоб синхронізувати паролі на всіх пристроях.</translation> <translation id="3367813778245106622">Увійдіть знову, щоб почати синхронізацію</translation> <translation id="3368922792935385530">Підключено</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">Введіть цей код на пристрої <ph name="DEVICE_NAME" />, щоб підключити:</translation> <translation id="3588662957555259973">* Фото профілю Google</translation> <translation id="3590194807845837023">Розблокувати профіль і перезапустити</translation> -<translation id="3590559774363307859">Пароль збережено. Він і всі ваші <ph name="SAVED_PASSWORDS_LINK" /> доступні в будь-якому веб-переглядачі.</translation> <translation id="3592260987370335752">&Докладніше</translation> <translation id="359283478042092570">Увійти</translation> <translation id="3593965109698325041">Обмеження імені сертифіката</translation> @@ -2832,7 +2829,6 @@ <translation id="4764865176798926079">Правило domContentLoaded для основного фрейму та всі завантаження ресурсів, початі до domContentLoaded (компоненти iframe ігноруються).</translation> <translation id="4768332406694066911">Вас ідентифікують сертифікати від цих організацій</translation> <translation id="4768698601728450387">Обрізати зображення</translation> -<translation id="4773696473262035477">Він і всі ваші <ph name="SAVED_PASSWORDS_LINK" /> доступні в будь-якому веб-переглядачі.</translation> <translation id="4776917500594043016">Пароль користувача <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Збільшити</translation> <translation id="4780321648949301421">Зберегти сторінку як...</translation> @@ -5385,7 +5381,6 @@ <translation id="8260864402787962391">Миша</translation> <translation id="8261378640211443080">Це розширення встановлено не із сайту <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />. Можливо, його було додано без вашого відома.</translation> <translation id="8261387128019234107">Додати обліковий запис у профіль <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Можуть:</translation> <translation id="8261506727792406068">Видалити</translation> <translation id="8261580862248730866">Винятки для мікрофона</translation> <translation id="8261673729476082470">Імпортування <ph name="FILE_COUNT" /> фото на <ph name="BEGIN_LINK" />Google Диск<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb index 88a1a0e..f48fde3 100644 --- a/chrome/app/resources/generated_resources_vi.xtb +++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">Chuyển ngữ (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">Tải hình ảnh</translation> <translation id="1029317248976101138">Thu phóng</translation> -<translation id="1029595648591494741">Dùng thử "<ph name="EXTENSION_NAME" />"?</translation> <translation id="1030173864176315846">Đã in thành công <ph name="PAGE_NUMBER" /> trang tới <ph name="PRINTER_NAME" /></translation> <translation id="1031362278801463162">Đang tải chế độ xem trước</translation> <translation id="1031573127485938293">Yêu cầu (bởi chính sách)</translation> @@ -1833,7 +1832,6 @@ <translation id="3359256513598016054">Giới hạn Chính sách của Chứng chỉ</translation> <translation id="335985608243443814">Duyệt qua...</translation> <translation id="3360297538363969800">Không in được. Vui lòng kiểm tra máy in và thử lại.</translation> -<translation id="3361481787422913716">Xem cài đặt báo cáo</translation> <translation id="336497260564123876">Đã lưu mật khẩu. Để nhận mật khẩu trên mọi thiết bị của bạn, hãy đăng nhập vào Chrome.</translation> <translation id="3367813778245106622">Đăng nhập lại để bắt đầu đồng bộ hóa</translation> <translation id="3368922792935385530">Đã kết nối</translation> @@ -2009,7 +2007,6 @@ <translation id="358796204584394954">Nhập mã này vào "<ph name="DEVICE_NAME" />" để ghép nối:</translation> <translation id="3588662957555259973">* Ảnh hồ sơ trên Google</translation> <translation id="3590194807845837023">Mở khóa cấu hình và chạy lại</translation> -<translation id="3590559774363307859">Đã lưu mật khẩu. Bạn có thể truy cập mật khẩu và tất cả <ph name="SAVED_PASSWORDS_LINK" /> của mình từ bất kỳ trình duyệt nào.</translation> <translation id="3592260987370335752">&Tìm hiểu thêm</translation> <translation id="359283478042092570">Nhập</translation> <translation id="3593965109698325041">Ràng buộc Tên của Chứng chỉ</translation> @@ -2834,7 +2831,6 @@ <translation id="4764865176798926079">domContentLoaded của khung chính và tất cả các lượt tải tài nguyên đã bắt đầu trước domContentLoaded (iframe bị bỏ qua).</translation> <translation id="4768332406694066911">Bạn có các chứng chỉ từ những tổ chức nhận dạng bạn sau đây</translation> <translation id="4768698601728450387">Cắt hình ảnh</translation> -<translation id="4773696473262035477">Bạn có thể truy cập mật khẩu này và tất cả <ph name="SAVED_PASSWORDS_LINK" /> của mình từ mọi trình duyệt.</translation> <translation id="4776917500594043016">Mật khẩu cho <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="4779083564647765204">Thu phóng</translation> <translation id="4780321648949301421">Lưu trang làm...</translation> @@ -5388,7 +5384,6 @@ <translation id="8260864402787962391">Chuột</translation> <translation id="8261378640211443080">Tiện ích này không được liệt kê trong <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> và có thể đã được thêm mà bạn không biết.</translation> <translation id="8261387128019234107">Thêm tài khoản cho <ph name="PROFILE_NAME" /></translation> -<translation id="8261490674758214762">Các tiện ích/ứng dụng này có thể:</translation> <translation id="8261506727792406068">Xóa</translation> <translation id="8261580862248730866">Ngoại lệ đối với micrô</translation> <translation id="8261673729476082470">Đang sao lưu <ph name="FILE_COUNT" /> ảnh vào <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb index e615c11..f09bc38 100644 --- a/chrome/app/resources/generated_resources_zh-CN.xtb +++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">音译(vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">加载图片</translation> <translation id="1029317248976101138">缩放</translation> -<translation id="1029595648591494741">要试用“<ph name="EXTENSION_NAME" />”吗?</translation> <translation id="1030173864176315846">已通过“<ph name="PRINTER_NAME" />”成功打印了 <ph name="PAGE_NUMBER" /> 个页面</translation> <translation id="1031362278801463162">正在加载预览</translation> <translation id="1031573127485938293">询问(依照政策)</translation> @@ -1825,7 +1824,6 @@ <translation id="3359256513598016054">证书政策约束</translation> <translation id="335985608243443814">浏览...</translation> <translation id="3360297538363969800">打印失败。请检查您的打印机,然后重试。</translation> -<translation id="3361481787422913716">查看报告设置</translation> <translation id="336497260564123876">密码已保存。要将您的密码同步到您的所有设备上,请登录 Chrome。</translation> <translation id="3367813778245106622">重新登录以开始同步</translation> <translation id="3368922792935385530">已连接</translation> @@ -2001,7 +1999,6 @@ <translation id="358796204584394954">请在“<ph name="DEVICE_NAME" />”上输入以下代码进行配对:</translation> <translation id="3588662957555259973">* Google 个人资料照片</translation> <translation id="3590194807845837023">解锁个人资料并重新启动</translation> -<translation id="3590559774363307859">密码已保存。您可以通过任意浏览器获取此密码以及您所有的<ph name="SAVED_PASSWORDS_LINK" />。</translation> <translation id="3592260987370335752">了解详情(&L)</translation> <translation id="359283478042092570">输入</translation> <translation id="3593965109698325041">证书名称约束</translation> @@ -2822,7 +2819,6 @@ <translation id="4764865176798926079">主框架的 domContentLoaded 以及在 domContentLoaded 之前开始的所有资源加载操作(忽略 iframe)。</translation> <translation id="4768332406694066911">您有以下组织发给您的身份证书</translation> <translation id="4768698601728450387">裁剪图片</translation> -<translation id="4773696473262035477">您可以通过任意浏览器获取此密码以及您所有的<ph name="SAVED_PASSWORDS_LINK" />。</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> 的密码</translation> <translation id="4779083564647765204">缩放</translation> <translation id="4780321648949301421">页面存储为...</translation> @@ -5356,7 +5352,6 @@ <translation id="8260864402787962391">鼠标</translation> <translation id="8261378640211443080">该扩展程序未列在 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />中,并可能是在您不知情的情况下添加的。</translation> <translation id="8261387128019234107">为<ph name="PROFILE_NAME" />添加帐号</translation> -<translation id="8261490674758214762">这些程序可以:</translation> <translation id="8261506727792406068">删除</translation> <translation id="8261580862248730866">麦克风例外情况</translation> <translation id="8261673729476082470">正在将 <ph name="FILE_COUNT" /> 张照片备份到 <ph name="BEGIN_LINK" />Google 云端硬盘<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb index 4a2d900..6270f71 100644 --- a/chrome/app/resources/generated_resources_zh-TW.xtb +++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -15,7 +15,6 @@ <translation id="1023220960495960452">音譯 (vanakkam → வணக்கம்)</translation> <translation id="1026822031284433028">載入圖片</translation> <translation id="1029317248976101138">縮放</translation> -<translation id="1029595648591494741">您要試用「<ph name="EXTENSION_NAME" />」嗎?</translation> <translation id="1030173864176315846">已成功透過「<ph name="PRINTER_NAME" />」列印 <ph name="PAGE_NUMBER" /> 頁</translation> <translation id="1031362278801463162">正在載入預覽畫面</translation> <translation id="1031573127485938293">詢問 (依政策)</translation> @@ -1831,7 +1830,6 @@ <translation id="3359256513598016054">憑證原則限制</translation> <translation id="335985608243443814">瀏覽...</translation> <translation id="3360297538363969800">列印失敗。請檢查您的印表機,然後再試一次。</translation> -<translation id="3361481787422913716">查看報告設定</translation> <translation id="336497260564123876">已儲存密碼。如要在所有裝置上使用密碼,請登入 Chrome。</translation> <translation id="3367813778245106622">如要開始同步處理,請重新登入</translation> <translation id="3368922792935385530">已連線</translation> @@ -2007,7 +2005,6 @@ <translation id="358796204584394954">在「<ph name="DEVICE_NAME" />」上輸入此代碼即可配對:</translation> <translation id="3588662957555259973">* Google 個人資料相片</translation> <translation id="3590194807845837023">解除鎖定設定檔並重新啟動</translation> -<translation id="3590559774363307859">密碼已儲存。您可以透過任何瀏覽器存取該密碼和您的所有 <ph name="SAVED_PASSWORDS_LINK" />。</translation> <translation id="3592260987370335752">瞭解詳情(&L)</translation> <translation id="359283478042092570">輸入</translation> <translation id="3593965109698325041">憑證名稱限制</translation> @@ -2829,7 +2826,6 @@ <translation id="4764865176798926079">主頁框的 domContentLoaded 和 domContentLoaded 之前開始載入的所有資源 (略過 iframe)。</translation> <translation id="4768332406694066911">您有這些機構核發給您的憑證</translation> <translation id="4768698601728450387">裁剪圖片</translation> -<translation id="4773696473262035477">您可以透過任何瀏覽器存取該密碼和您的所有 <ph name="SAVED_PASSWORDS_LINK" />。</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> 的密碼</translation> <translation id="4779083564647765204">縮放</translation> <translation id="4780321648949301421">另存網頁...</translation> @@ -5376,7 +5372,6 @@ <translation id="8260864402787962391">滑鼠</translation> <translation id="8261378640211443080">這個擴充功能未列在 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> 中,可能在您不知情的情況下加入瀏覽器。</translation> <translation id="8261387128019234107">為 <ph name="PROFILE_NAME" /> 新增帳戶</translation> -<translation id="8261490674758214762">可用權限:</translation> <translation id="8261506727792406068">刪除</translation> <translation id="8261580862248730866">麥克風例外狀況</translation> <translation id="8261673729476082470">正在將 <ph name="FILE_COUNT" /> 張相片備份到 <ph name="BEGIN_LINK" />Google 雲端硬碟<ph name="END_LINK" /></translation>
diff --git a/chrome/app/resources/google_chrome_strings_am.xtb b/chrome/app/resources/google_chrome_strings_am.xtb index 0ca0c54..28697f226 100644 --- a/chrome/app/resources/google_chrome_strings_am.xtb +++ b/chrome/app/resources/google_chrome_strings_am.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">የChrome Canary መተግበሪያዎች</translation> <translation id="1457721931618994305">Google Chromeን በማዘመን ላይ...</translation> <translation id="1469002951682717133">Chrome የመተግበሪያ አስጀማሪ</translation> +<translation id="1475773083554142432">Chrome ይህን ከ<ph name="SAVED_PASSWORD_LINK" /> ጋር ያከማቸው እና በሚቀጥለው ጊዜ ስፈልጉት ያስታውሰዋል።</translation> <translation id="1480489203462860648">ይሞክሩት፣ አስቀድሞ ተጭኗል</translation> <translation id="1553358976309200471">Chromeን አዘምን</translation> <translation id="1587223624401073077">Google Chrome ካሜራዎን እየተጠቀመ ነው።</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">ይሄ ለውጥ እንዲተገበር እባክዎ ይውጡ እና እንደገና ይግቡ።</translation> <translation id="4458462641685292929">በGoogle Chrome ላይ ሌላ ሥርዓተ ክወና በሂደት ላይ ነው። እባክዎ በኋላ ላይ እንደገና ይሞክሩ።</translation> <translation id="4480040274068703980">Chrome OS እየተገባ ሳለ በተፈጠረ አንድ ስህተት ምክንያት ውሂብዎን ማመሳሰል አልቻለም።</translation> -<translation id="4519152997629025674">Google Chrome የአሰሳ ተሞክሮዎን ለማሻሻል <ph name="BEGIN_LINK" />የድር አገልግሎቶች<ph name="END_LINK" />ን ሊጠቀም ይችላል። በማንኛውም ጊዜ እነዚህን አገልግሎቶች በአማራጭነት ማሰናከል ይችላሉ።</translation> <translation id="4561051373932531560">Google Chrome ድር ላይ ያለ ስልክ ቁጥር ጠቅ እንዲያደርጉት እና በSkype እንዲደውሉለት ያስችልዎታል!</translation> <translation id="4567424176335768812">እንደ <ph name="USER_EMAIL_ADDRESS" /> ሆነው ገብተዋል። አሁን የእርስዎን ዕልባቶች፣ ታሪክ እና ሌሎች ቅንብሮች በመለያ በገቡ ሁሉም መሣሪያዎችዎ ላይ መድረስ ይችላሉ።</translation> <translation id="4631713731678262610">በChrome ምናሌ ውስጥ ደብቅ</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome የእርስዎን ውሂብ ማመሳሰል አልቻለም። እባክዎ የእርስዎን የማመሳሰያ የይለፍ ሐረግ ያዘምኑ።</translation> <translation id="5037239767309817516">ለውጡ እንዲተገበር እባክዎ ሁሉንም የGoogle Chrome መስኮቶችን ይዝጉና እንደገና ያስጀምሩት።</translation> <translation id="5132929315877954718">ለGoogle Chrome ምርጥ መተግበሪያዎችን፣ ጨዋታዎችን፣ ቅጥያዎችን እና ገጽታዎችን ያግኙ።</translation> -<translation id="5148419164691878332">Chrome ይህን በእርስዎ <ph name="SAVED_PASSWORDS_LINK" /> ውስጥ ያስቀምጠው እና በሚቀጥለው ጊዜ ሲፈልጉት ያስታውሰዋል።</translation> <translation id="5170938038195470297">መገለጫዎ የአዲስ Google Chrome ስሪት አካል ስለሆነ መጠቀም አይቻልም። አንዳንድ ባሕሪያት ላይገኙ ይችላሉ። እባክዎ የተለየ የመገለጫ አቃፊ ይግለጹ ወይም አዲሱን የChrome ስሪት ይጠቀሙ።</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">የChrome መተግበሪያ አስጀማሪ Canary</translation> <translation id="8556340503434111824">አዲስ የGoogle Chrome ስሪት አለ፣ እና ከመቼውም በበለጠ ፈጣን ነው።</translation> <translation id="8568392309447938879">መተግበሪያዎችን ለመጠቀም ወደ Chrome በመለያ መግባት አለብዎት። ይህ Chrome መተግበሪያዎችዎን፣ ዕልባቶችዎን፣ ታሪክዎን፣ የይለፍ ቃላትዎን እና ሌሎች ቅንብሮችዎን በተለያዩ መሣሪያዎች ላይ እንዲያመሳስል ያስችለዋል።</translation> +<translation id="8606668294522778825">Google Chrome የአሰሳ ተሞክሮዎን ለማሻሻል የድር አገልግሎቶችን ሊጠቀም ይችላል። እነዚህን አገልግሎቶች በአማራጭነት ሊያሰናክሏቸው ይችላሉ። <ph name="BEGIN_LINK" />ተጨማሪ ለመረዳት<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome መልስ አይሰጥም። አሁን ዳግም ይጀምር?</translation> <translation id="8667808506758191620">የእርስዎ <ph name="DEVICE_TYPE" /> የተዘመነ ነው።</translation> <translation id="8669527147644353129">Google Chrome አጋዥ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ar.xtb b/chrome/app/resources/google_chrome_strings_ar.xtb index 1e2fc95..99709bc 100644 --- a/chrome/app/resources/google_chrome_strings_ar.xtb +++ b/chrome/app/resources/google_chrome_strings_ar.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">تطبيقات Chrome Canary</translation> <translation id="1457721931618994305">جارٍ تحديث Google Chrome...</translation> <translation id="1469002951682717133">مشغل تطبيقات Chrome</translation> +<translation id="1475773083554142432">سيُخزن Chrome هذا مع <ph name="SAVED_PASSWORD_LINK" /> وسيتذكره عندما تحتاج إليه في المرة القادمة.</translation> <translation id="1480489203462860648">يمكنك تجريبه، إنه مثبت من قبل</translation> <translation id="1553358976309200471">تحديث Chrome</translation> <translation id="1587223624401073077">يستخدم Google Chrome الكاميرا.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">الرجاء الخروج ثم تسجيل الدخول حتى يسري هذا التغيير.</translation> <translation id="4458462641685292929">عملية أخرى على Google Chrome قيد التقدم. يُرجى المحاولة مرة أخرى لاحقًا.</translation> <translation id="4480040274068703980">تعذر على نظام التشغيل Chrome مزامنة البيانات نظرًا لوجود خطأ في تسجيل الدخول.</translation> -<translation id="4519152997629025674">يستخدم Google Chrome <ph name="BEGIN_LINK" />خدمات الويب<ph name="END_LINK" /> لتحسين تجربة التصفح. يمكنك تعطيل هذه الخدمات اختياريًا في أي وقت.</translation> <translation id="4561051373932531560">يتيح لك Google Chrome النقر على رقم هاتف على الويب والاتصال به باستخدام Skype!</translation> <translation id="4567424176335768812">لقد سجلت دخولك باعتبارك <ph name="USER_EMAIL_ADDRESS" />. ويُمكنك الآن الاستمتاع بالدخول إلى الإشارات المرجعية، والسجلّ، والإعدادات الأخرى على جميع الأجهزة التي تسجّل الدخول إليها.</translation> <translation id="4631713731678262610">الإخفاء في قائمة Chrome</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">تعذر على Google Chrome مزامنة البيانات. الرجاء تحديث عبارة مرور المزامنة.</translation> <translation id="5037239767309817516">الرجاء إغلاق جميع نوافذ Google Chrome وإعادة تشغيله حتى يسري هذا التغيير.</translation> <translation id="5132929315877954718">يمكنك اكتشاف تطبيقات، وألعاب، وإضافات، ومظاهر رائعة لمتصفح Google Chrome.</translation> -<translation id="5148419164691878332">سيُخزن Chrome هذا في <ph name="SAVED_PASSWORDS_LINK" /> وسيتذكره عندما تحتاج إليه في المرة القادمة.</translation> <translation id="5170938038195470297">لا يمكن استخدام ملفك الشخصي نظرًا لأنه من إصدار أحدث من Google Chrome. قد تكون بعض الميزات غير متاحة. الرجاء تحديد دليل ملف شخصي مختلف أو استخدام إصدار أحدث من Chrome.</translation> @@ -259,6 +258,7 @@ <translation id="8547799825197623713">مشغل تطبيقات Chrome في Canary</translation> <translation id="8556340503434111824">يتوفر إصدار جديد من Google Chrome، وهو أسرع بكثير من ذي قبل.</translation> <translation id="8568392309447938879">يلزمك تسجيل الدخول إلى Chrome لتتمكن من استخدام التطبيقات. سيتيح هذا للمتصفح Chrome مزامنة تطبيقاتك والإشارات المرجعية والسجل وكلمات المرور وغير ذلك من الإعدادات عبر الأجهزة.</translation> +<translation id="8606668294522778825">قد يستخدم Google Chrome خدمات الويب لتحسين تجربة التصفح. ويمكنك بشكل اختياري تعطيل هذه الخدمات. <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation> <translation id="8614913330719544658">لا يستجيب Google Chrome. هل تريد إعادة التشغيل الآن؟</translation> <translation id="8667808506758191620">جهاز <ph name="DEVICE_TYPE" /> مُحدّث.</translation> <translation id="8669527147644353129">مساعد Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bg.xtb b/chrome/app/resources/google_chrome_strings_bg.xtb index 1d27aa42..ca9b021b 100644 --- a/chrome/app/resources/google_chrome_strings_bg.xtb +++ b/chrome/app/resources/google_chrome_strings_bg.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Приложения в ранната версия на Chrome</translation> <translation id="1457721931618994305">Google Chrome се актуализира...</translation> <translation id="1469002951682717133">Стартов панел с приложения за Chrome</translation> +<translation id="1475773083554142432">Chrome ще съхрани това при <ph name="SAVED_PASSWORD_LINK" /> и ще си го спомни следващия път, когато ви е необходимо.</translation> <translation id="1480489203462860648">Изпробвайте браузъра – вече е инсталиран</translation> <translation id="1553358976309200471">Актуализиране на Chrome</translation> <translation id="1587223624401073077">Google Chrome използва камерата ви.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">Моля, излезте от профила си и влезте отново, за да влезе в сила тази промяна.</translation> <translation id="4458462641685292929">Извършва се друго действие, свързано с Google Chrome. Моля, опитайте отново по-късно.</translation> <translation id="4480040274068703980">Chrome OS не можа да синхронизира данните ви поради грешка при влизане в профила.</translation> -<translation id="4519152997629025674">Google Chrome може да използва <ph name="BEGIN_LINK" />уеб услуги<ph name="END_LINK" />, за да подобри сърфирането ви. В състояние сте да ги деактивирате по всяко време.</translation> <translation id="4561051373932531560">Google Chrome ви позволява да кликнете върху телефонен номер в мрежата и да се обадите до него със Skype!</translation> <translation id="4567424176335768812">Влезли сте като <ph name="USER_EMAIL_ADDRESS" />. Сега имате достъп до отметките, историята и другите си настройки на всички устройства, на които сте влезли.</translation> <translation id="4631713731678262610">Скриване в менюто на Chrome</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Google Chrome не можа да синхронизира данните ви. Моля, актуализирайте пропуска си за синхронизиране.</translation> <translation id="5037239767309817516">Моля, затворете всички прозорци на Google Chrome и го стартирайте отново, за да влезе в сила промяната.</translation> <translation id="5132929315877954718">Открийте отлични приложения, игри, разширения и теми за Google Chrome.</translation> -<translation id="5148419164691878332">Chrome ще съхрани това при <ph name="SAVED_PASSWORDS_LINK" /> и ще си го спомни следващия път, когато ви е необходимо.</translation> <translation id="5170938038195470297">Потребителският ви профил не може да се използва, защото е от по-нова версия на Google Chrome. Някои функции може да не са налице. Моля, посочете друга директория в потребителския профил или използвайте по-нова версия на Chrome.</translation> <translation id="5176234269072261959">Помогнете за подобряването на Chrome, като подадете сигнал за текущите настройки.</translation> <translation id="5193136243808726294">Google Chrome OS не може да отвори тази страница.</translation> @@ -257,6 +256,7 @@ <translation id="8547799825197623713">Стартов панел за приложения в ранната версия на Chrome</translation> <translation id="8556340503434111824">Налице е нова версия на Google Chrome, която е по-бърза от всякога.</translation> <translation id="8568392309447938879">Трябва да сте влезли в Chrome, за да използвате приложения. Това разрешава на браузъра да синхронизира на устройствата вашите приложения, отметки, история, пароли и други настройки.</translation> +<translation id="8606668294522778825">Google Chrome може да използва уеб услуги, за да подобри сърфирането ви. Ако искате, можете да ги деактивирате. <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome блокира. Да се стартира ли отново сега?</translation> <translation id="8667808506758191620">Устройството ви <ph name="DEVICE_TYPE" /> е актуално.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bn.xtb b/chrome/app/resources/google_chrome_strings_bn.xtb index 930b031..2041d93 100644 --- a/chrome/app/resources/google_chrome_strings_bn.xtb +++ b/chrome/app/resources/google_chrome_strings_bn.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary অ্যাপ্লিকেশানগুলি</translation> <translation id="1457721931618994305">Google Chrome আপডেট হচ্ছে...</translation> <translation id="1469002951682717133">Chrome অ্যাপ্লিকেশান লঞ্চার</translation> +<translation id="1475773083554142432">Chrome <ph name="SAVED_PASSWORD_LINK" /> এর মাধ্যমে এটি সংরক্ষণ করবে এবং পরবর্তী বার আপনার প্রয়োজনের সময় এটি মনে রাখবে।</translation> <translation id="1480489203462860648">এটি ব্যবহার করে দেখুন, ইতিমধ্যেই এটি ইনস্টল করা হয়েছে</translation> <translation id="1553358976309200471">Chrome আপডেট করুন</translation> <translation id="1587223624401073077">Google Chrome আপনার ক্যামেরা ব্যবহার করছে৷</translation> @@ -43,15 +44,15 @@ <translation id="2147651015520127414"><ph name="ISSUER" /> যে এই ওয়েবসাইটের শংসাপত্র প্রকাশ করেছে Chrome তা যাচাই করেছে।</translation> <translation id="2246246234298806438">বিল্ট-ইন PDF viewer অনুপস্থিত থাকার সময়ে Google Chrome মুদ্রণের পূর্বরুপ দেখাতে পারে না৷</translation> <translation id="2252923619938421629">বর্তমান সেটিংস প্রতিবেদন করে Google Chrome আরো উত্তম করে তুলতে সাহায্য করুন</translation> -<translation id="2286950485307333924">আপনি এখন Chrome এ প্রবেশ করুন করেছেন</translation> +<translation id="2286950485307333924">আপনি এখন Chrome এ প্রবেশ করেছেন</translation> <translation id="2290014774651636340">Google API কীগুলি অনুপস্থিত৷ Google Chrome এর কিছু বৈশিষ্ট্য নিষ্ক্রিয় হয়ে যাবে৷</translation> <translation id="2290095356545025170">আপনি কি Google Chrome আনইনস্টল করার ব্যাপারে নিষ্চিত ?</translation> <translation id="2309047409763057870">এটা Google Chrome এর অপ্রধান ইনস্টলেশন এবং একে আপনার ডিফল্ট ব্রাউজার করা যাবে না।</translation> <translation id="2316129865977710310">না, ধন্যবাদ</translation> <translation id="2334084861041072223">কপিরাইট <ph name="YEAR" /> Google Inc৷ সর্বস্বত্ব সংরক্ষিত৷</translation> -<translation id="2346876346033403680">আগে কোনো একজন এই কম্পিউটারে <ph name="ACCOUNT_EMAIL_LAST" /> হিসাবে Chrome এ প্রবেশ করুন করেছিল৷ যদি সেটি আপনার অ্যাকাউন্ট না হয় তাহলে, আপনার তথ্য আলাদা করে রাখতে একটি নতুন Chrome ব্যবহারকারী তৈরি করুন৷ +<translation id="2346876346033403680">আগে কোনো একজন এই কম্পিউটারে <ph name="ACCOUNT_EMAIL_LAST" /> হিসাবে Chrome এ প্রবেশ করেছিল৷ যদি সেটি আপনার অ্যাকাউন্ট না হয় তাহলে, আপনার তথ্য আলাদা করে রাখতে একটি নতুন Chrome ব্যবহারকারী তৈরি করুন৷ -যেকোনো উপায়ে প্রবেশ করুন করা হলে তা বুকমার্কগুলি, ইতিহাস, এবং অন্যান্য সেটিংসের মত Chrome তথ্যকে <ph name="ACCOUNT_EMAIL_NEW" /> এ মার্জ করবে৷</translation> +যেকোনো উপায়ে প্রবেশ করা হলে তা বুকমার্কগুলি, ইতিহাস, এবং অন্যান্য সেটিংসের মত Chrome তথ্যকে <ph name="ACCOUNT_EMAIL_NEW" /> এ মার্জ করবে৷</translation> <translation id="2397416548179033562">Chrome মেনু দেখান</translation> <translation id="2429317896000329049">আপনার ডোমেনে সিঙ্ক উপলব্ধ না থাকার কারণে Google Chrome সিঙ্ক করতে পারেনি৷</translation> <translation id="2446511512801740068">Chrome পুরানো হয়ে গেছে কারণ কিছু সময় ধরে এটিকে পুনঃলঞ্চ করা হয়নি। একটি আপডেট উপলব্ধ রয়েছে এবং আপনি পুনঃলঞ্চ করার সাথে সাথেই এটি প্রয়োগ করা হবে।</translation> @@ -67,7 +68,7 @@ <translation id="2770231113462710648">ডিফল্ট ব্রাউজার এতে পরিবর্তন করুন:</translation> <translation id="2799223571221894425">পুনঃশুরু</translation> <translation id="2847461019998147611">এই ভাষায় Google Chrome প্রদর্শন করুন</translation> -<translation id="2871893339301912279">আপনি Chrome এ প্রবেশ করুন করেছেন৷</translation> +<translation id="2871893339301912279">আপনি Chrome এ প্রবেশ করেছেন৷</translation> <translation id="2888126860611144412">Chrome সম্বন্ধে</translation> <translation id="2900322993655997287">Google Chrome ডিফল্ট ব্রাউজার নির্ধারণ বা সেট করতে পারছে না।</translation> <translation id="3037838751736561277">Google Chrome পটভূমি মোডে রয়েছে।</translation> @@ -114,12 +115,11 @@ <translation id="4331809312908958774">Chrome OS</translation> <translation id="437002079035561265">এই কম্পিউটারটি আর Google Chrome এর আপডেটগুলি গ্রহণ করবে না কারণ এই Linux সিস্টেম আর সমর্থিত নয়৷</translation> <translation id="4407807842708586359">Google Chrome OS</translation> -<translation id="4458285410772214805">দয়া করে পরিবর্তনটি সম্ভব করতে প্রস্থান করুন এবং পুনরায় প্রবেশ করুন করুন৷</translation> +<translation id="4458285410772214805">দয়া করে পরিবর্তনটি সম্ভব করতে প্রস্থান করুন এবং পুনরায় প্রবেশ করুন৷</translation> <translation id="4458462641685292929">Google Chrome এ আরেকটি ক্রিয়াকলাপ প্রক্রিয়ায় আছে। দয়া করে পরে আবার চেষ্টা করুন৷</translation> <translation id="4480040274068703980">সাইন ইনে ত্রুটির কারণে Chrome OS আপনার ডেটা সিঙ্ক করতে পারেনি৷</translation> -<translation id="4519152997629025674">আপনার ব্রাউজিং অভিজ্ঞতা আরো উন্নত করতে Google Chrome <ph name="BEGIN_LINK" />ওয়েব পরিষেবাগুলি<ph name="END_LINK" /> ব্যবহার করতে পারে। আপনি যেকোনো সময় এই পরিষেবাগুলি ঐচ্ছিকভাবে অক্ষম করতে পারেন।</translation> <translation id="4561051373932531560">Google Chrome আপনাকে ওয়েবে কোনো ফোন নম্বরে ক্লিক করতে এবং Skype-এর মাধ্যমে সেটিতে কল করতে দেয়!</translation> -<translation id="4567424176335768812">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে প্রবেশ করুন করেছেন৷ এখন আপনি আপনার সমস্ত প্রবেশ করুন করা ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস অ্যাক্সেস করতে পারেন৷</translation> +<translation id="4567424176335768812">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে প্রবেশ করেছেন৷ এখন আপনি আপনার সমস্ত প্রবেশ করা ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস অ্যাক্সেস করতে পারেন৷</translation> <translation id="4631713731678262610">Chromium মেনুর মধ্যে লুকান</translation> <translation id="4633000520311261472">Chrome কে আরো নিরাপদ করতে, আমরা কিছু এক্সটেনশান অক্ষম করেছি যা <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> এ তালিকাবদ্ধ করা হয়নি এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছে৷</translation> <translation id="4664415150087723341">Google Chrome এর জন্য একটি বিশেষ সুরক্ষা আপডেট এইমাত্র প্রয়োগ করা হয়েছে; এটা কার্যকর করার জন্য (আমরা আপনার ট্যাবগুলি পুনরুদ্ধার করব) আপনার এখনই একে পুনরায় চালু করা উচিত হবে।</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Google Chrome আপনার ডেটা সিঙ্ক করতে পারেনি৷ দয়া করে আপনার সিঙ্ক পাসফ্রেজ আপডেট করুন৷</translation> <translation id="5037239767309817516">দয়া করে সব Google Chrome উইন্ডো বন্ধ করুন এবং এই পরিবর্তনকে প্রভাবশালী করতে এটিকে পুনঃলঞ্চ করুন৷ </translation> <translation id="5132929315877954718">Google Chrome এর দুর্দান্ত অ্যাপ্লিকেশান, গেম, এক্সটেনশান এবং থিম আবিষ্কার করুন৷</translation> -<translation id="5148419164691878332">Chrome আপনার <ph name="SAVED_PASSWORDS_LINK" /> এ এটি সংরক্ষণ করবে এবং পরবর্তী সময় যখন আপনার এটির প্রয়োজন হবে তখন এটি মনে করাবে৷</translation> <translation id="5170938038195470297">আপনার প্রোফাইল ব্যবহার করা যাবে কারণ এটি Google Chrome-এর একটি নতুন সংস্করণে গঠিত৷ কিছু বৈশিষ্ট্য অনুপলব্ধ হতে পারে৷ দয়া করে একটি ভিন্ন প্রোফাইল নির্দেশিকা সুনির্দিষ্টভাবে উল্লেখ করুন অথবা Chrome এর নতুন সংস্করণ ব্যবহার করুন৷</translation> @@ -174,7 +173,7 @@ <translation id="5941830788786076944">Google Chrome-কে ডিফল্ট ব্রাউজার করুন</translation> <translation id="597770749449734237">Google Chrome ডিবাগ করার জন্য উপযোগী অতিরিক্ত কীবোর্ড শর্টকার্ট সক্ষম করে৷</translation> <translation id="6012342843556706400">এই সাইটের সাথে এটি শেয়ার করতে Chrome এর অবস্থানের অ্যাক্সেস প্রয়োজন।</translation> -<translation id="6014844626092547096">আপনি এখন Chrome এ প্রবেশ করুন করেছেন! আপনার প্রশাসক দ্বারা সিঙ্ক অক্ষম করা আছে৷</translation> +<translation id="6014844626092547096">আপনি এখন Chrome এ প্রবেশ করেছেন! আপনার প্রশাসক দ্বারা সিঙ্ক অক্ষম করা আছে৷</translation> <translation id="6113794647360055231">Chrome আরো ভাল হয়ে উঠেছে</translation> <translation id="6169866489629082767"><ph name="PAGE_TITLE" /> - Google Chrome</translation> <translation id="61852838583753520">&Chrome OS আপডেট</translation> @@ -215,12 +214,12 @@ <translation id="7242029209006116544">আপনি একটি পরিচালিত অ্যাকাউন্টের মাধ্যমে প্রবেশ করুন করছেন এবং এর প্রশাসককে আপনার Google Chrome প্রোফাইলের উপরে নিয়ন্ত্রণ দিচ্ছেন৷ আপনার Chrome ডেটা, যেমন অ্যাপ্লিকেশান, বুকমার্ক, ইতিহাস, পাসওয়ার্ড এবং অন্যান্য সেটিংস <ph name="USER_NAME" /> এতে স্থায়ীভাবে সম্পৃক্ত হবে৷ আপনি Google অ্যাকাউন্টগুলির ড্যাশবোর্ডের মাধ্যমে এই ডেটাগুলি মুছতে সক্ষম হবেন, কিন্তু অন্য অ্যাকাউন্টের সাথে এই ডেটা সংশ্লিষ্ট করতে পারবেন না৷ বিকল্প হিসাবে আপনি আপনার বিদ্যমান Chrome ডেটা আলাদা রাখার জন্য একটি নতুন প্রোফাইল তৈরি করতে পারেন৷ <ph name="LEARN_MORE" /></translation> <translation id="729375352412857283">এই কম্পিউটারটি শীঘ্রই Google Chrome আপডেট গ্রহণ করা বন্ধ করবে কারণ Windows XP ও Windows Vista আর সমর্থিত হবে না।</translation> <translation id="7339898014177206373">নতুন উইন্ডো</translation> -<translation id="7398801000654795464">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে Chrome এ প্রবেশ করুন করেছেন৷ আবার সাইন করতে দয়া করে একই অ্যাকাউন্ট ব্যবহার করুন৷</translation> +<translation id="7398801000654795464">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে Chrome এ প্রবেশ করেছেন৷ আবার সাইন করতে দয়া করে একই অ্যাকাউন্ট ব্যবহার করুন৷</translation> <translation id="7400722733683201933">Google Chrome সম্বন্ধে</translation> <translation id="7408085963519505752">Chrome OS শর্তাবলী</translation> <translation id="7419046106786626209">আপনার ডোমেনে সিঙ্ক উপলব্ধ না থাকার কারণে Chrome OS আপনার ডেটা সিঙ্ক করতে পারেনি৷</translation> <translation id="7436949144778751379">Google Chrome-এর Windows XP বা পরবর্তী প্রয়োজন৷ কিছু বৈশিষ্ট্য নাও কাজ করতে পারে৷</translation> -<translation id="7437998757836447326">Chrome থেকে প্রস্থান করুন করুন</translation> +<translation id="7437998757836447326">Chrome থেকে প্রস্থান করুন</translation> <translation id="7459554271817304652">ওয়েবে আপনার ব্যক্তিগতকৃত ব্রাউজার বিষয় সংরক্ষণ করতে এবং যেকোন কম্পিউটারে Google Chrome থেকে প্রবেশ করতে সিঙ্ক সেট আপ করুন৷ </translation> <translation id="7473136999113284234">Chrome স্বয়ংক্রিয়ভাবে আপডেট হয় তাই আপনি সবসময় নবীনতম সংস্করণটি পান।</translation> <translation id="7473891865547856676">না থাক</translation> @@ -258,7 +257,8 @@ <translation id="8540666473246803645">Google Chrome</translation> <translation id="8547799825197623713">Chrome অ্যাপ্লিকেশান লঞ্চার Canary</translation> <translation id="8556340503434111824">Google Chrome-এর একটি নতুন সংস্করণ উপলব্ধ এবং এটি আগের তুলনায় দ্রুততর৷</translation> -<translation id="8568392309447938879">অ্যাপ্লিকেশানগুলি ব্যবহার করতে আপনাকে Chrome এ প্রবেশ করুন করতে হবে৷ এটি Chrome কে আপনার অ্যাপ্লিকেশান, বুকমার্ক, ইতিহাস, পাসওয়ার্ডগুলি এবং ডিভাইস জুড়ে অন্যান্য সেটিংস সিঙ্ক করার অনুমতি দেয়৷</translation> +<translation id="8568392309447938879">অ্যাপ্লিকেশানগুলি ব্যবহার করতে আপনাকে Chrome এ প্রবেশ করতে হবে৷ এটি Chrome কে আপনার অ্যাপ্লিকেশান, বুকমার্ক, ইতিহাস, পাসওয়ার্ডগুলি এবং ডিভাইস জুড়ে অন্যান্য সেটিংস সিঙ্ক করার অনুমতি দেয়৷</translation> +<translation id="8606668294522778825">Google Chrome আপনার ব্রাউজিংয়ের অভিজ্ঞতাকে উন্নত করতে ওয়েব পরিষেবাগুলি ব্যবহার করতে পারে৷ আপনি আপনার ইচ্ছা অনুযায়ী এই পরিষেবাগুলিকে অক্ষম করতে পারেন৷ <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome প্রতিক্রিয়া করছে না৷ এখনই পুনঃলঞ্চ করবেন?</translation> <translation id="8667808506758191620">আপনার <ph name="DEVICE_TYPE" /> আপ টু ডেট রয়েছে।</translation> <translation id="8669527147644353129">Google Chrome সহায়তাকারী</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb index a133cdec..04c98f38 100644 --- a/chrome/app/resources/google_chrome_strings_ca.xtb +++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplicacions de Chrome Canary</translation> <translation id="1457721931618994305">S'està actualitzant Google Chrome...</translation> <translation id="1469002951682717133">Menú d'aplicacions de Chrome</translation> +<translation id="1475773083554142432">Chrome desarà la contrasenya amb <ph name="SAVED_PASSWORD_LINK" /> i la recordarà la propera vegada que la necessiteu.</translation> <translation id="1480489203462860648">Prova'l, ja està instal·lat</translation> <translation id="1553358976309200471">Actualitza Chrome</translation> <translation id="1587223624401073077">Google Chrome està utilitzant la càmera.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Tanqueu la sessió i torneu a iniciar-la perquè aquest canvi es faci efectiu.</translation> <translation id="4458462641685292929">Hi ha una altra operació en curs a Google Chrome. Torna-ho a provar més tard.</translation> <translation id="4480040274068703980">Chrome OS no ha pogut sincronitzar les vostres dades a causa d'un error en iniciar la sessió.</translation> -<translation id="4519152997629025674">Google Chrome podria utilitzar <ph name="BEGIN_LINK" />serveis web<ph name="END_LINK" /> per millorar la vostra experiència de navegació. Si voleu, podeu desactivar aquests serveis en qualsevol moment.</translation> <translation id="4561051373932531560">Google Chrome us permet fer clic en un número de telèfon al web i trucar-hi amb Skype!</translation> <translation id="4567424176335768812">Heu iniciat la sessió com a <ph name="USER_EMAIL_ADDRESS" />. Ja podeu accedir a les vostres adreces d'interès, al vostre historial i a altres paràmetres en tots els dispositius en què hàgiu iniciat la sessió.</translation> <translation id="4631713731678262610">Amaga al menú de Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome no ha pogut sincronitzar les dades. Actualitzeu la frase de contrasenya de sincronització.</translation> <translation id="5037239767309817516">Tanqueu totes les finestres de Google Chrome i torneu a iniciar el programa perquè aquest canvi tingui efecte.</translation> <translation id="5132929315877954718">Descobriu aplicacions, jocs, extensions i temes genials per a Google Chrome.</translation> -<translation id="5148419164691878332">Chrome desarà la contrasenya a <ph name="SAVED_PASSWORDS_LINK" /> i la recordarà la propera vegada que la necessiteu.</translation> <translation id="5170938038195470297">El vostre perfil no es pot utilitzar perquè prové d'una versió més nova de Google Chrome. Pot ser que algunes funcions no estiguin disponibles. Especifiqueu un directori de perfil diferent o utilitzeu una versió més nova de Chrome.</translation> <translation id="5176234269072261959">Informa de la configuració actual per ajudar-nos a millorar Chrome.</translation> <translation id="5193136243808726294">Google Chrome OS no pot obrir aquesta pàgina.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Menú d'aplicacions de Chrome per a Canary</translation> <translation id="8556340503434111824">Hi ha disponible una nova versió de Google Chrome, i és més ràpida que mai.</translation> <translation id="8568392309447938879">Heu de tenir la sessió iniciada a Chrome per utilitzar les aplicacions. Això permet que Chrome sincronitzi les aplicacions, les adreces d'interès, l'historial, les contrasenyes i altres configuracions a tots els dispositius.</translation> +<translation id="8606668294522778825">Google Chrome pot utilitzar serveis web per millorar la vostra experiència de navegació, però podeu desactivar-los si voleu. <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome no respon. Voleu tornar-lo a iniciar ara?</translation> <translation id="8667808506758191620">El dispositiu <ph name="DEVICE_TYPE" /> està actualitzat.</translation> <translation id="8669527147644353129">Aplicació auxiliar de Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb index 0f6765f7..f31187c 100644 --- a/chrome/app/resources/google_chrome_strings_cs.xtb +++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Aplikace Chrome Canary</translation> <translation id="1457721931618994305">Aktualizace prohlížeče Google Chrome...</translation> <translation id="1469002951682717133">Spouštěč aplikací Chrome</translation> +<translation id="1475773083554142432">Prohlížeč Chrome toto heslo uloží mezi <ph name="SAVED_PASSWORD_LINK" /> a zapamatuje si jej pro příští použití.</translation> <translation id="1480489203462860648">Vyzkoušet (již nainstalováno)</translation> <translation id="1553358976309200471">Aktualizovat Chrome</translation> <translation id="1587223624401073077">Google Chrome používá vaši kameru.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Chcete-li, aby se změny projevily, odhlaste se a znovu se přihlaste.</translation> <translation id="4458462641685292929">V prohlížeči Google Chrome právě probíhá jiná operace. Zkuste to znovu později.</translation> <translation id="4480040274068703980">Chrome OS vaše data nemohl synchronizovat z důvodu chyby při přihlášení.</translation> -<translation id="4519152997629025674">Prohlížeč Google Chrome vám může usnadnit prohlížení pomocí <ph name="BEGIN_LINK" />webových služeb<ph name="END_LINK" />. Tyto služby můžete kdykoli zakázat.</translation> <translation id="4561051373932531560">Google Chrome umožňuje kliknout na telefonní číslo na webu a volat na něj prostřednictvím aplikace Skype.</translation> <translation id="4567424176335768812">Jste přihlášeni pomocí účtu <ph name="USER_EMAIL_ADDRESS" />. Nyní můžete přistupovat ke všem svým záložkám, historii a dalším nastavením ve všech přihlášených zařízeních.</translation> <translation id="4631713731678262610">Skrýt v nabídce Chrome</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome vaše data nemohl synchronizovat. Aktualizujte prosím heslovou frázi pro synchronizaci.</translation> <translation id="5037239767309817516">Aby se změna projevila, zavřete prosím všechna okna aplikace Google Chrome a spusťte ji znovu.</translation> <translation id="5132929315877954718">Objevte skvělé aplikace, hry, rozšíření a motivy prohlížeče Google Chrome.</translation> -<translation id="5148419164691878332">Prohlížeč Chrome toto heslo uloží mezi <ph name="SAVED_PASSWORDS_LINK" /> a zapamatuje si jej pro příští použití.</translation> <translation id="5170938038195470297">Nelze použít váš profil, protože byl vytvořen v novější verzi aplikace Google Chrome. Některé funkce mohou být nedostupné. Zadejte prosím jiný adresář profilu, nebo používejte novější verzi aplikace Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Spouštěč aplikací Chrome Canary</translation> <translation id="8556340503434111824">Je k dispozici nová verze prohlížeče Google Chrome, ještě rychlejší než ty předchozí.</translation> <translation id="8568392309447938879">Chcete-li používat aplikace, musíte být do Chromu přihlášeni. To Chromu umožňuje synchronizovat vaše aplikace, záložky, historii, hesla a další nastavení mezi zařízeními.</translation> +<translation id="8606668294522778825">Prohlížeč Google Chrome vám může usnadnit prohlížení pomocí webových služeb. Tyto služby můžete případně zakázat. <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome neodpovídá. Restartovat?</translation> <translation id="8667808506758191620">Vaše zařízení <ph name="DEVICE_TYPE" /> je aktuální.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_da.xtb b/chrome/app/resources/google_chrome_strings_da.xtb index 5fcc030..ba0bcb97 100644 --- a/chrome/app/resources/google_chrome_strings_da.xtb +++ b/chrome/app/resources/google_chrome_strings_da.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary-apps</translation> <translation id="1457721931618994305">Opdaterer Google Chrome...</translation> <translation id="1469002951682717133">Chrome-applisten</translation> +<translation id="1475773083554142432">Chrome gemmer denne med <ph name="SAVED_PASSWORD_LINK" /> og husker den, næste gang du skal bruge den.</translation> <translation id="1480489203462860648">Prøv det, det er allerede installeret</translation> <translation id="1553358976309200471">Opdater Chrome</translation> <translation id="1587223624401073077">Google Chrome bruger dit kamera.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Du skal logge ud og logge ind igen, for at denne ændring kan træde i kraft.</translation> <translation id="4458462641685292929">En anden handling i Google Chrome er i gang. Prøv igen senere.</translation> <translation id="4480040274068703980">Chrome OS kunne ikke synkronisere dine data på grund af en fejl under login.</translation> -<translation id="4519152997629025674">Google Chrome kan bruge <ph name="BEGIN_LINK" />webtjenester<ph name="END_LINK" /> for at forbedre din browseroplevelse. Du kan deaktivere disse tjenester til enhver tid.</translation> <translation id="4561051373932531560">Med Google Chrome kan du klikke på et telefonnummer på nettet og ringe op til det via Skype!</translation> <translation id="4567424176335768812">Du er logget ind som <ph name="USER_EMAIL_ADDRESS" />. Nu kan du få adgang til dine bogmærker, din historik og andre indstillinger på alle de enheder, hvor du er logget ind.</translation> <translation id="4631713731678262610">Skjul i Chrome-menuen</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome kunne ikke synkronisere dine data. Opdater din adgangssætning til synkronisering.</translation> <translation id="5037239767309817516">Luk alle vinduer i Google Chrome, og genstart, så denne ændring kan træde i kraft.</translation> <translation id="5132929315877954718">Find fantastiske apps, spil, udvidelser og temaer til Google Chrome.</translation> -<translation id="5148419164691878332">Chrome gemmer denne i <ph name="SAVED_PASSWORDS_LINK" /> og husker den, næste gang du skal bruge den.</translation> <translation id="5170938038195470297">Din profil kan ikke bruges, fordi den stammer fra en nyere version af Google Chrome. Nogle funktioner er muligvis ikke tilgængelige. Angiv en anden profilmappe, eller brug en nyere version af Chrome.</translation> <translation id="5176234269072261959">Hjælp med at gøre Chrome bedre ved at rapportere de aktuelle indstillinger.</translation> <translation id="5193136243808726294">Google Chrome OS kan ikke åbne denne side.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome-applikationslisten for Canary</translation> <translation id="8556340503434111824">Der findes en ny version af Google Chrome, som er hurtigere end nogensinde før.</translation> <translation id="8568392309447938879">Du skal være logget ind på Chrome for at bruge apps. Dette gør det muligt for Chrome at synkronisere din historik, dine apps, bogmærker, adgangskoder og andre indstillinger på alle enheder.</translation> +<translation id="8606668294522778825">Google Chrome bruger muligvis webtjenester for at forbedre din browseroplevelse. Du kan vælge at deaktivere disse tjenester. <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome svarer ikke. Vil du genstarte nu?</translation> <translation id="8667808506758191620">Din <ph name="DEVICE_TYPE" /> er opdateret.</translation> <translation id="8669527147644353129">Hjælp til Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_de.xtb b/chrome/app/resources/google_chrome_strings_de.xtb index 1d1d2dd..7c507005 100644 --- a/chrome/app/resources/google_chrome_strings_de.xtb +++ b/chrome/app/resources/google_chrome_strings_de.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary-Apps</translation> <translation id="1457721931618994305">Google Chrome wird aktualisiert...</translation> <translation id="1469002951682717133">Chrome App Launcher</translation> +<translation id="1475773083554142432">Chrome speichert dies in <ph name="SAVED_PASSWORD_LINK" />, damit es bei Bedarf verfügbar ist.</translation> <translation id="1480489203462860648">Versuchen Sie es. Es ist alles bereits installiert.</translation> <translation id="1553358976309200471">Chrome aktualisieren</translation> <translation id="1587223624401073077">Google Chrome verwendet Ihre Kamera.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Melden Sie sich ab und wieder an, damit diese Änderung wirksam wird.</translation> <translation id="4458462641685292929">In Google Chrome wird eine andere Aktion durchgeführt. Bitte versuchen Sie es später noch einmal.</translation> <translation id="4480040274068703980">Chrome OS konnte Ihre Daten aufgrund eines Fehlers bei der Anmeldung nicht synchronisieren.</translation> -<translation id="4519152997629025674">Google Chrome nutzt möglicherweise <ph name="BEGIN_LINK" />Webdienste<ph name="END_LINK" /> zur Verbesserung Ihrer Browsererfahrung. Sie können diese Dienste jederzeit deaktivieren.</translation> <translation id="4561051373932531560">In Google Chrome können Sie auf eine Telefonnummer im Web klicken und diese mit Skype anrufen.</translation> <translation id="4567424176335768812">Sie sind als <ph name="USER_EMAIL_ADDRESS" /> angemeldet. Auf allen Geräten, auf denen Sie angemeldet sind, sind nun Ihre Lesezeichen, Ihr Verlauf und andere Einstellungen verfügbar.</translation> <translation id="4631713731678262610">Im Chrome-Menü ausblenden</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome konnte Ihre Daten nicht synchronisieren. Bitte aktualisieren Sie Ihre Passphrase für die Synchronisierung.</translation> <translation id="5037239767309817516">Schließen Sie alle Google Chrome-Fenster und starten Sie die App neu, damit diese Änderung wirksam wird.</translation> <translation id="5132929315877954718">Entdecken Sie tolle Apps, Spiele, Erweiterungen und Designs für Google Chrome.</translation> -<translation id="5148419164691878332">Chrome speichert dies in <ph name="SAVED_PASSWORDS_LINK" />, damit es bei Bedarf verfügbar ist.</translation> <translation id="5170938038195470297">Ihr Profil kann nicht verwendet werden, da es von einer neueren Version von Google Chrome stammt. Einige Funktionen stehen möglicherweise nicht zur Verfügung. Geben Sie bitte ein anderes Profilverzeichnis an oder verwenden Sie eine neuere Version von Google Chrome.</translation> <translation id="5176234269072261959">Helfen Sie uns mit Ihrem Feedback zu den aktuellen Einstellungen bei der Verbesserung von Chrome.</translation> <translation id="5193136243808726294">Google Chrome OS kann diese Seite nicht öffnen.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome App Launcher für Canary</translation> <translation id="8556340503434111824">Es gibt eine neue Version von Google Chrome, die schneller ist, als anderen zuvor.</translation> <translation id="8568392309447938879">Sie können Apps verwenden, wenn Sie in Chrome angemeldet sind. Chrome kann dann Ihre Apps, Lesezeichen, Passwörter, Ihren Verlauf und andere Einstellungen auf Ihren Geräten synchronisieren.</translation> +<translation id="8606668294522778825">Google Chrome verwendet möglicherweise Webdienste zur Verbesserung Ihrer Sucherfahrung. Sie haben die Möglichkeit, diese Dienste zu deaktivieren. <ph name="BEGIN_LINK" />Weitere Informationen<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome reagiert nicht. Jetzt neu starten?</translation> <translation id="8667808506758191620">Ihr <ph name="DEVICE_TYPE" /> ist auf dem neuesten Stand.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb index fa6ae4dd..356f900c 100644 --- a/chrome/app/resources/google_chrome_strings_el.xtb +++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Εφαρμογές Chrome Canary</translation> <translation id="1457721931618994305">Ενημέρωση του Google Chrome…</translation> <translation id="1469002951682717133">Λειτουργία εκκίνησης εφαρμογών Chrome</translation> +<translation id="1475773083554142432">Το Chrome θα αποθηκεύσει αυτές τις πληροφορίες με <ph name="SAVED_PASSWORD_LINK" /> και θα τις απομνημονεύσει για την επόμενη φορά που θα τις χρειαστείτε.</translation> <translation id="1480489203462860648">Δοκιμάστε το! Εγκαταστάθηκε.</translation> <translation id="1553358976309200471">Ενημερώστε το Chrome</translation> <translation id="1587223624401073077">Το Google Chrome χρησιμοποιεί την κάμερά σας.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">Για να εφαρμοστεί αυτή η αλλαγή, αποσυνδεθείτε και συνδεθείτε ξανά.</translation> <translation id="4458462641685292929">Μια άλλη λειτουργία βρίσκεται σε εξέλιξη στο Google Chrome. Δοκιμάστε ξανά αργότερα.</translation> <translation id="4480040274068703980">Το Chrome OS δεν μπόρεσε να συγχρονίσει τα δεδομένα σας λόγω σφάλματος κατά τη σύνδεση.</translation> -<translation id="4519152997629025674">Το Google Chrome ενδέχεται να χρησιμοποιεί <ph name="BEGIN_LINK" />υπηρεσίες ιστού<ph name="END_LINK" /> για να βελτιώσει την εμπειρία περιήγησής σας. Μπορείτε, εάν θέλετε, να απενεργοποιήσετε αυτές τις υπηρεσίες.</translation> <translation id="4561051373932531560">Το Google Chrome σάς επιτρέπει να κάνετε κλικ σε έναν τηλεφωνικό αριθμό στον ιστό και να τον καλέσετε με το Skype!</translation> <translation id="4567424176335768812">Έχετε συνδεθεί ως <ph name="USER_EMAIL_ADDRESS" />. Τώρα μπορείτε να αποκτήσετε πρόσβαση στους σελιδοδείκτες, το ιστορικό και σε άλλες ρυθμίσεις από όλες τις συσκευές στις οποίες έχετε συνδεθεί.</translation> <translation id="4631713731678262610">Απόκρυψη από το μενού του Chrome</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Το Google Chrome δεν κατάφερε να συγχρονίσει τα δεδομένα σας. Ενημερώστε τη φράση πρόσβασης συγχρονισμού.</translation> <translation id="5037239767309817516">Κλείστε όλα τα παράθυρα του Google Chrome και επανεκκινήστε τον για να εφαρμοστεί αυτή η αλλαγή.</translation> <translation id="5132929315877954718">Ανακαλύψτε υπέροχες εφαρμογές, παιχνίδια, επεκτάσεις και θέματα για το Google Chrome.</translation> -<translation id="5148419164691878332">Το Chrome θα αποθηκεύσει αυτές τις πληροφορίες στο <ph name="SAVED_PASSWORDS_LINK" /> και θα τις απομνημονεύσει για την επόμενη φορά που θα τις χρειαστείτε.</translation> <translation id="5170938038195470297">Το προφίλ σας δεν μπορεί να χρησιμοποιηθεί επειδή προέρχεται από μια νεότερη έκδοση του Google Chrome. Ορισμένες λειτουργίες μπορεί να μην είναι διαθέσιμες. Προσδιορίστε έναν διαφορετικό κατάλογο προφίλ ή χρησιμοποιήστε μια νεότερη έκδοση του Chrome.</translation> @@ -259,6 +258,7 @@ <translation id="8547799825197623713">Λειτουργία εκκίνησης εφαρμογών Chrome Canary</translation> <translation id="8556340503434111824">Υπάρχει μια νέα έκδοση του Google Chrome και είναι ταχύτερη από ποτέ.</translation> <translation id="8568392309447938879">Θα πρέπει να έχετε συνδεθεί στο Chrome για να χρησιμοποιείτε εφαρμογές. Αυτό δίνει τη δυνατότητα στο Chrome να συγχρονίσει τις εφαρμογές, τους σελιδοδείκτες, το ιστορικό, τους κωδικούς πρόσβασης και άλλες ρυθμίσεις στις συσκευές σας.</translation> +<translation id="8606668294522778825">Το Google Chrome ενδέχεται να χρησιμοποιεί υπηρεσίες ιστού για να βελτιώσει την εμπειρία περιήγησής σας. Μπορείτε, εάν θέλετε, να απενεργοποιήσετε αυτές τις υπηρεσίες. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Το Google Chrome δεν αποκρίνεται. Επανεκκίνηση τώρα;</translation> <translation id="8667808506758191620">Το <ph name="DEVICE_TYPE" /> είναι ενημερωμένο.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_en-GB.xtb b/chrome/app/resources/google_chrome_strings_en-GB.xtb index 21534e3d..b8c0269 100644 --- a/chrome/app/resources/google_chrome_strings_en-GB.xtb +++ b/chrome/app/resources/google_chrome_strings_en-GB.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome Canary Apps</translation> <translation id="1457721931618994305">Updating Google Chrome ...</translation> <translation id="1469002951682717133">Chrome App Launcher</translation> +<translation id="1475773083554142432">Chrome will store this with <ph name="SAVED_PASSWORD_LINK" /> and remember it the next time that you need it.</translation> <translation id="1480489203462860648">Try it out, it's already installed</translation> <translation id="1553358976309200471">Update Chrome</translation> <translation id="1587223624401073077">Google Chrome is using your camera.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Please sign out and sign in again for this change to take effect.</translation> <translation id="4458462641685292929">Another operation on Google Chrome is in progress. Please try again later.</translation> <translation id="4480040274068703980">Chrome OS could not sync your data due to an error signing in.</translation> -<translation id="4519152997629025674">Google Chrome may use <ph name="BEGIN_LINK" />web services<ph name="END_LINK" /> to improve your browsing experience. You may optionally disable these services at any time.</translation> <translation id="4561051373932531560">Google Chrome lets you click a phone number on the web and call it with Skype!</translation> <translation id="4567424176335768812">You're signed in as <ph name="USER_EMAIL_ADDRESS" />. Now you can access your bookmarks, history and other settings on all your signed in devices.</translation> <translation id="4631713731678262610">Hide in Chrome menu</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome could not sync your data. Please update your Sync passphrase.</translation> <translation id="5037239767309817516">Please close all Google Chrome windows and relaunch it for this change to take effect.</translation> <translation id="5132929315877954718">Discover great apps, games, extensions and themes for Google Chrome.</translation> -<translation id="5148419164691878332">Chrome will store this in your <ph name="SAVED_PASSWORDS_LINK" /> and remember it the next time you need it.</translation> <translation id="5170938038195470297">Your profile cannot be used because it is from a newer version of Google Chrome. Some features may be unavailable. Please specify a different profile directory or use a newer version of Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Chrome App Launcher Canary</translation> <translation id="8556340503434111824">There's a new version of Google Chrome available and it's faster than ever.</translation> <translation id="8568392309447938879">You need to be signed in to Chrome to use apps. This allows Chrome to sync your apps, bookmarks, history, passwords and other settings across devices.</translation> +<translation id="8606668294522778825">Google Chrome may use web services to improve your browsing experience. You may optionally disable these services. <ph name="BEGIN_LINK" />Learn more<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome is unresponsive. Relaunch now?</translation> <translation id="8667808506758191620">Your <ph name="DEVICE_TYPE" /> is up to date.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es-419.xtb b/chrome/app/resources/google_chrome_strings_es-419.xtb index 4dce07ae..d9ff59a 100644 --- a/chrome/app/resources/google_chrome_strings_es-419.xtb +++ b/chrome/app/resources/google_chrome_strings_es-419.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplicaciones de Chrome Canary</translation> <translation id="1457721931618994305">Actualizando Google Chrome...</translation> <translation id="1469002951682717133">Selector de aplicaciones de Google Chrome</translation> +<translation id="1475773083554142432">Chrome la almacenará con <ph name="SAVED_PASSWORD_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="1480489203462860648">Pruébalo, ya está instalado</translation> <translation id="1553358976309200471">Actualizar Chrome</translation> <translation id="1587223624401073077">Google Chrome está usando tu cámara.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Cierra la sesión y vuelve a iniciarla para que se aplique el cambio.</translation> <translation id="4458462641685292929">Hay otra operación en Google Chrome en curso. Vuelve a intentarlo más tarde.</translation> <translation id="4480040274068703980">El Sistema operativo Chrome no pudo sincronizar los datos porque se produjo un error de acceso.</translation> -<translation id="4519152997629025674">Google Chrome podrá usar los <ph name="BEGIN_LINK" />servicios web<ph name="END_LINK" /> para mejorar la experiencia de navegación. Podrás inhabilitar estos servicios en cualquier momento.</translation> <translation id="4561051373932531560">Google Chrome te permite hacer clic en un número de teléfono en la web y ¡llamarlo por Skype!</translation> <translation id="4567424176335768812">Accediste como <ph name="USER_EMAIL_ADDRESS" />. Ahora puedes ir a los favoritos, al historial y a otras opciones en todos los dispositivos en los que hayas accedido.</translation> <translation id="4631713731678262610">Ocultar en el menú de Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome no pudo sincronizar los datos. Actualiza la frase de contraseña de sincronización.</translation> <translation id="5037239767309817516">Cierra todas las ventanas de Google Chrome y reinicia el navegador para que se aplique el cambio.</translation> <translation id="5132929315877954718">Descubre aplicaciones, juegos, extensiones y temas geniales para Google Chrome.</translation> -<translation id="5148419164691878332">Chrome la almacenará en las <ph name="SAVED_PASSWORDS_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="5170938038195470297">No se puede usar tu perfil porque pertenece a una nueva versión de Google Chrome. Es posible que algunas características no estén disponibles. Especifica un directorio de perfil diferente o usa una nueva versión de Chrome.</translation> <translation id="5176234269072261959">Informa tu configuración actual para ayudarnos a mejorar Chrome.</translation> <translation id="5193136243808726294">El Sistema operativo Google Chrome no puede abrir esta página.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Selector de aplicaciones de Google Chrome Canary</translation> <translation id="8556340503434111824">Hay una nueva versión de Google Chrome disponible, y es más rápida que nunca.</translation> <translation id="8568392309447938879">Para usar las aplicaciones, tienes que acceder a Chrome. De este modo, Chrome puede sincronizar las aplicaciones, los favoritos, el historial, las contraseñas y otros parámetros de configuración en los dispositivos.</translation> +<translation id="8606668294522778825">Es posible que Google Chrome utilice servicios web para mejorar tu experiencia de navegación (tienes la opción de inhabilitar estos servicios). <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome no responde. ¿Quieres reiniciarlo ahora?</translation> <translation id="8667808506758191620">Tu <ph name="DEVICE_TYPE" /> está actualizado.</translation> <translation id="8669527147644353129">Ayuda de Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb index f6012236..5d5da21 100644 --- a/chrome/app/resources/google_chrome_strings_es.xtb +++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Aplicaciones de Chrome Canary</translation> <translation id="1457721931618994305">Actualizando Google Chrome...</translation> <translation id="1469002951682717133">Menú de aplicaciones de Chrome</translation> +<translation id="1475773083554142432">Chrome almacenará esta contraseña en <ph name="SAVED_PASSWORD_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="1480489203462860648">Probarlo (ya instalado)</translation> <translation id="1553358976309200471">Actualizar Chrome</translation> <translation id="1587223624401073077">Google Chrome está utilizando la cámara.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Cierra la sesión y vuelve a iniciarla para que se aplique el cambio.</translation> <translation id="4458462641685292929">Hay otra operación en curso en Google Chrome. Vuelve a intentarlo más tarde.</translation> <translation id="4480040274068703980">Chrome OS no ha podido sincronizar los datos debido a un error de inicio de sesión.</translation> -<translation id="4519152997629025674">Google Chrome puede utilizar <ph name="BEGIN_LINK" />servicios web<ph name="END_LINK" /> para mejorar la experiencia de navegación de los usuarios. Puedes inhabilitar estos servicios en cualquier momento.</translation> <translation id="4561051373932531560">Google Chrome te permite hacer clic en un número de teléfono en la Web y llamar mediante Skype.</translation> <translation id="4567424176335768812">Has iniciado sesión como <ph name="USER_EMAIL_ADDRESS" />. Ahora puedes acceder a tus marcadores, a tu historial y a otras opciones en todos los dispositivos en los que hayas iniciado sesión.</translation> <translation id="4631713731678262610">Ocultar en el menú de Chrome</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome no ha podido sincronizar los datos. Actualiza la frase de contraseña de sincronización.</translation> <translation id="5037239767309817516">Cierra todas las ventanas de Google Chrome y reinicia el navegador para que se aplique el cambio.</translation> <translation id="5132929315877954718">Descubre formidables aplicaciones, juegos, extensiones y temas para Google Chrome.</translation> -<translation id="5148419164691878332">Chrome almacenará esta contraseña en tus <ph name="SAVED_PASSWORDS_LINK" /> y la recordará la próxima vez que la necesites.</translation> <translation id="5170938038195470297">No se puede usar tu perfil porque se corresponde con una versión más reciente de Google Chrome. Puede que algunas funciones no estén disponibles. Especifica otro directorio de perfil o usa una versión más reciente de Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Barra de aplicaciones de Google Chrome Canary</translation> <translation id="8556340503434111824">Hay una nueva versión de Google Chrome disponible que funciona a una velocidad sin precedentes.</translation> <translation id="8568392309447938879">Para usar las aplicaciones, debes iniciar sesión en Chrome. De ese modo, Chrome podrá sincronizar tus aplicaciones, tus marcadores, tu historial, tus contraseñas y otras opciones en distintos dispositivos.</translation> +<translation id="8606668294522778825">Google Chrome puede utilizar los servicios web para mejorar tu experiencia de navegación. Puedes habilitar o inhabilitar estos servicios. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome no responde. ¿Quieres reiniciarlo ahora?</translation> <translation id="8667808506758191620">El dispositivo <ph name="DEVICE_TYPE" /> está actualizado.</translation> <translation id="8669527147644353129">Ayudante de Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb index aae04b2..785b5960 100644 --- a/chrome/app/resources/google_chrome_strings_et.xtb +++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary rakendused</translation> <translation id="1457721931618994305">Google Chrome'i värskendamine ...</translation> <translation id="1469002951682717133">Chrome'i rakenduste käiviti</translation> +<translation id="1475773083554142432">Chrome salvestab selle funktsiooniga <ph name="SAVED_PASSWORD_LINK" /> ja peab seda meeles, kui seda järgmine kord vajate.</translation> <translation id="1480489203462860648">Proovige järele, see on juba installitud</translation> <translation id="1553358976309200471">Värskenda Chrome'i</translation> <translation id="1587223624401073077">Google Chrome kasutab teie kaamerat.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">Muudatuse jõustamiseks logige välja ja uuesti sisse.</translation> <translation id="4458462641685292929">Teine toiming on Google Chrome'is pooleli. Proovige hiljem uuesti.</translation> <translation id="4480040274068703980">Chrome OS ei saanud teie andmeid sünkroonida sisselogimisvea tõttu.</translation> -<translation id="4519152997629025674">Google Chrome võib kasutada <ph name="BEGIN_LINK" />veebiteenuseid<ph name="END_LINK" /> teie sirvimiskogemuse täiustamiseks. Võite need teenused soovi korral igal ajal välja lülitada.</translation> <translation id="4561051373932531560">Google Chrome võimaldab teil veebis telefoninumbril klõpsata ja sellele Skype'i abil helistada!</translation> <translation id="4567424176335768812">Olete sisse logitud aadressiga <ph name="USER_EMAIL_ADDRESS" />. Nüüd on teil juurdepääs oma järjehoidjatele, ajaloole ja muudele seadetele kõigis seadmetes, kuhu olete sisse logitud.</translation> <translation id="4631713731678262610">Chrome'i menüüs peitmine</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Google Chrome ei saanud teie andmeid sünkroonida. Värskendage oma sünkroonimisparooli.</translation> <translation id="5037239767309817516">Muudatuse rakendamiseks sulgege kõik Google Chrome'i aknad ja taaskäivitage Chrome.</translation> <translation id="5132929315877954718">Avastage Google Chrome'i jaoks suurepäraseid rakendusi, mänge, laiendusi ja teemasid.</translation> -<translation id="5148419164691878332">Chrome salvestab selle asukohta <ph name="SAVED_PASSWORDS_LINK" /> ja peab seda meeles, kui seda järgmine kord vajate.</translation> <translation id="5170938038195470297">Teie profiili ei saa kasutada, kuna see pärineb Google Chrome'i uuemast versioonist. Mõned funktsioonid ei pruugi saadaval olla. Määrake muu profiilikataloog või kasutage Chrome'i uuemat versiooni.</translation> @@ -259,6 +258,7 @@ <translation id="8547799825197623713">Chrome'i rakenduste käiviti Canary</translation> <translation id="8556340503434111824">Saadaval on uus Google Chrome'i versioon ja see on senistest kiireim.</translation> <translation id="8568392309447938879">Rakenduste kasutamiseks peate olema Chrome'i sisse logitud. See võimaldab Chrome'il sünkroonida teie rakendusi, järjehoidjaid, ajalugu, paroole ja muid seadeid erinevates seadmetes.</translation> +<translation id="8606668294522778825">Google Chrome võib kasutada veebiteenuseid sirvimiskogemuse parandamiseks. Võite need teenused valikuliselt keelata. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome ei reageeri. Kas soovite kohe taaskäivitada?</translation> <translation id="8667808506758191620">Teie <ph name="DEVICE_TYPE" /> on ajakohane.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb index 6af9045..f8b229f 100644 --- a/chrome/app/resources/google_chrome_strings_fa.xtb +++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">برنامههای Chrome Canary</translation> <translation id="1457721931618994305">بهروزرسانی Google Chrome…</translation> <translation id="1469002951682717133">راهانداز برنامه Chrome</translation> +<translation id="1475773083554142432">Chrome این مورد را با <ph name="SAVED_PASSWORD_LINK" /> ذخیره میکند و دفعه بعد که به آن نیاز داشتید، آن را به خاطر دارد.</translation> <translation id="1480489203462860648">آن را امتحان کنید، از قبل نصب شده است</translation> <translation id="1553358976309200471">بهروزرسانی Chrome</translation> <translation id="1587223624401073077">Google Chrome درحال استفاده از دوربین شما است.</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">لطفاً از سیستم خارج شوید و دوباره وارد آن شوید تا این تغییر اعمال شود.</translation> <translation id="4458462641685292929">عملکرد دیگری در Google Chrome درحال انجام است. لطفاً بعداً دوباره امتحان کنید.</translation> <translation id="4480040274068703980">به دلیل وجود یک خطای ورود به سیستم، سیستمعامل Chrome قادر به همگامسازی دادههایتان نبود.</translation> -<translation id="4519152997629025674">ممکن است Google Chrome برای بهبود تجربه مرورتان، از <ph name="BEGIN_LINK" />سرویسهای وب<ph name="END_LINK" /> استفاده کند. میتوانید در هر زمانی این سرویسها را بهصورت اختیاری غیرفعال کنید.</translation> <translation id="4561051373932531560">Google Chrome به شما اجازه میدهد بر روی شماره تلفن روی وب کلیک کرده و از طریق Skype تماس بگیرید!</translation> <translation id="4567424176335768812">با حساب <ph name="USER_EMAIL_ADDRESS" /> وارد سیستم شدهاید. اکنون در همه دستگاههایی که با آنها به سیستم وارد شدهاید میتوانید به نشانکها، سابقه و دیگر تنظیماتتان دسترسی داشته باشید.</translation> <translation id="4631713731678262610">پنهان در منوی Chrome</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Google Chrome قادر به همگامسازی دادههای شما نبود. لطفاً رمز عبارتی همگامسازی خود را بهروز کنید.</translation> <translation id="5037239767309817516">لطفاً همه پنجرههای Google Chrome را ببندید و برای اعمال این تغییر، دوباره آن را راهاندازی کنید.</translation> <translation id="5132929315877954718">برنامههای کاربردی، بازیها، افزونهها و طرحهای زمینه فوقالعاده را برای Google Chrome کاوش کنید.</translation> -<translation id="5148419164691878332">Chrome این مورد را در <ph name="SAVED_PASSWORDS_LINK" /> شما ذخیره میکند و دفعه بعد که به آن نیاز داشتید، آن را به خاطر دارد.</translation> <translation id="5170938038195470297">نمایهٔ شما نمیتواند استفاده شود زیرا مربوط به یک نسخه جدیدتر از Google Chrome است. بعضی از ویژگیها ممکن است موجود نباشند. لطفاً یک مسیر دیگر برای نمایه تعیین کنید یا از نسخه جدیدتر Chrome استفاده کنید.</translation> <translation id="5176234269072261959">با گزارش تنظیمات فعلی، به بهتر شدن Chrome کمک کنید.</translation> <translation id="5193136243808726294">Google Chrome OS نمیتواند این صفحه را باز کند.</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Chrome App Launcher Canary</translation> <translation id="8556340503434111824">نسخه جدیدی از Google Chrome وجود دارد که سریعتر از همیشه است.</translation> <translation id="8568392309447938879">برای استفاده از برنامهها باید به سیستم Chrome وارد شوید. این کار به Chrome امکان میدهد برنامهها، نشانکها، سابقه، گذرواژهها و دیگر تنظیماتتان را در بین دستگاهها همگامسازی کند.</translation> +<translation id="8606668294522778825">ممکن است Google Chrome برای بهبود تجربه مرور شما از سرویسهای وب استفاده کند. میتوانید به صورت اختیاری این سرویسها را غیرفعال کنید. <ph name="BEGIN_LINK" />بیشتر بدانید<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome پاسخ نمیدهد. مجدداً راهاندازی شود؟</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> شما به روز است.</translation> <translation id="8669527147644353129">راهنمای Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fi.xtb b/chrome/app/resources/google_chrome_strings_fi.xtb index 0be86a4..3210a6d 100644 --- a/chrome/app/resources/google_chrome_strings_fi.xtb +++ b/chrome/app/resources/google_chrome_strings_fi.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary -sovellukset</translation> <translation id="1457721931618994305">Päivitetään Google Chromea...</translation> <translation id="1469002951682717133">Chromen sovellusten käynnistysohjelma</translation> +<translation id="1475773083554142432">Chrome tallentaa salasanan <ph name="SAVED_PASSWORD_LINK" /> -ominaisuudella ja muistaa sen, kun tarvitset sitä seuraavan kerran.</translation> <translation id="1480489203462860648">Kokeile, selain on jo asennettu</translation> <translation id="1553358976309200471">Päivitä Chrome</translation> <translation id="1587223624401073077">Google Chrome käyttää kameraasi.</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">Kirjaudu ulos ja kirjaudu uudelleen sisään, jotta muutos tulee voimaan.</translation> <translation id="4458462641685292929">Toinen Google Chrome ‑prosessi on jo käynnissä. Yritä myöhemmin uudelleen.</translation> <translation id="4480040274068703980">Chrome-käyttöjärjestelmä ei voi synkronoida tietoja kirjautumisvirheen vuoksi.</translation> -<translation id="4519152997629025674">Google Chrome voi käyttää <ph name="BEGIN_LINK" />verkkopalveluita<ph name="END_LINK" /> selauskokemuksen parantamiseen. Voit halutessasi poistaa palvelut käytöstä.</translation> <translation id="4561051373932531560">Google Chromen avulla voit klikata puhelinnumeroa verkossa ja soittaa siihen Skypellä!</translation> <translation id="4567424176335768812">Olet kirjautunut Chromeen tilillä <ph name="USER_EMAIL_ADDRESS" />. Nyt voit käyttää kirjanmerkkejäsi, historiaa ja muita asetuksia kaikilla laitteilla, joihin olet kirjautunut.</translation> <translation id="4631713731678262610">Piilota Chrome-valikossa</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Google Chrome ei voinut synkronoida tietoja. Päivitä synkronoinnin tunnuslause.</translation> <translation id="5037239767309817516">Sulje kaikki Chrome-ikkunat ja käynnistä selain uudelleen, jotta muutos tulee voimaan.</translation> <translation id="5132929315877954718">Löydät hienoja sovelluksia, pelejä ja teemoja Google Chromelle.</translation> -<translation id="5148419164691878332">Chrome tallentaa salasanan <ph name="SAVED_PASSWORDS_LINK" /> -ominaisuudella ja muistaa sen, kun tarvitset sitä seuraavan kerran.</translation> <translation id="5170938038195470297">Profiiliasi ei voi käyttää, koska se on peräisin uudemmasta Google Chromen versiosta. Kaikkia toimintoja ei välttämättä voi käyttää. Määritä toinen profiilihakemisto tai käytä uudempaa Chromen versiota.</translation> <translation id="5176234269072261959">Auta parantamaan Chromea ilmoittamalla nykyiset asetukset.</translation> <translation id="5193136243808726294">Google Chrome ‑käyttöjärjestelmä ei voi avata tätä sivua.</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Chrome Canary -sovellusten käynnistysohjelma</translation> <translation id="8556340503434111824">Chromesta on saatavissa uusi versio, joka on entistäkin nopeampi.</translation> <translation id="8568392309447938879">Sinun täytyy kirjautua Chromeen käyttääksesi sovelluksia. Kirjauduttuasi Chrome voi synkronoida sovelluksesi, kirjanmerkkisi, historiasi, salasanasi ja muut asetuksesi eri laitteille.</translation> +<translation id="8606668294522778825">Google Chrome voi käyttää verkkopalveluita selauskokemuksesi parantamiseen. Voit halutessasi poistaa nämä palvelut käytöstä. <ph name="BEGIN_LINK" />Lisätietoja<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome ei vastaa. Käynnistetäänkö uudelleen?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> on ajan tasalla.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fil.xtb b/chrome/app/resources/google_chrome_strings_fil.xtb index a46948c75..8f0db85 100644 --- a/chrome/app/resources/google_chrome_strings_fil.xtb +++ b/chrome/app/resources/google_chrome_strings_fil.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome Canary Apps</translation> <translation id="1457721931618994305">Ina-update ang Google Chrome...</translation> <translation id="1469002951682717133">App Launcher ng Chrome</translation> +<translation id="1475773083554142432">Iiimbak ito ng Chrome gamit ang <ph name="SAVED_PASSWORD_LINK" /> at tatandaan ito sa susunod na pagkakataong kailanganin mo ito.</translation> <translation id="1480489203462860648">Subukan mo ito, naka-install na ito</translation> <translation id="1553358976309200471">I-update ang Chrome</translation> <translation id="1587223624401073077">Ginagamit ng Google Chrome ang iyong camera.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Mangyaring mag-sign out at mag-sign in muli upang magkabisa ang pagbabagong ito.</translation> <translation id="4458462641685292929">May kasalukuyang isinasagawang isa pang pagpapatakbo sa Google Chrome. Pakisubukang muli sa ibang pagkakataon.</translation> <translation id="4480040274068703980">Hindi ma-sync ng Chrome OS ang iyong data dahil sa isang error sa pagsa-sign in.</translation> -<translation id="4519152997629025674">Maaaring gumamit ang Google Chrome ng <ph name="BEGIN_LINK" />mga serbisyo sa web<ph name="END_LINK" /> upang mapahusay ang iyong karanasan sa pagba-browse. Maaari mong opsyonal na i-disable ang mga serbisyong ito anumang oras.</translation> <translation id="4561051373932531560">Pinapayagan ka ng Google Chrome na mag-click sa isang numero ng telepono sa web at tawagan ito gamit ang Skype!</translation> <translation id="4567424176335768812">Naka-sign in ka bilang <ph name="USER_EMAIL_ADDRESS" />. Maaari mo na ngayong i-access ang iyong mga bookmark, kasaysayan, at iba pang setting sa lahat ng iyong device na naka-sign in.</translation> <translation id="4631713731678262610">Itago sa menu ng Chrome</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Hindi mai-sync ng Google Chrome ang iyong data. Paki-update ang iyong passphrase sa Pag-sync.</translation> <translation id="5037239767309817516">Pakisara ang lahat ng mga window ng Google Chrome at ilunsad itong muli para magkaroon ng epekto ang pagbabagong ito.</translation> <translation id="5132929315877954718">Tumuklas ng mahuhusay na app, laro, extension at tema para sa Google Chrome.</translation> -<translation id="5148419164691878332">Iiimbak ito ng Chrome gamit ang <ph name="SAVED_PASSWORDS_LINK" /> at tatandaan ito sa susunod na pagkakataong kailanganin mo ito.</translation> <translation id="5170938038195470297">Hindi magagamit ang iyong profile dahil mula ito sa isang mas bagong bersyon ng Google Chrome. Maaaring hindi available ang ilang tampok. Mangyaring tumukoy ng ibang direktoryo ng profile o gumamit ng mas bagong bersyon ng Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Canary ng App Launcher ng Chrome</translation> <translation id="8556340503434111824">May available na bagong bersyon ng Google Chrome, at mas mabilis ito kaysa sa dati.</translation> <translation id="8568392309447938879">Kailangang naka-sign in ka sa Chrome upang makagamit ng mga app. Nagbibigay-daan ito sa Chrome na i-sync ang iyong mga app, bookmark, kasaysayan, password at iba pang mga setting sa mga device.</translation> +<translation id="8606668294522778825">Maaaring gumamit ang Google Chrome ng mga serbisyo sa web upang mapabuti ang iyong karanasan sa pagba-browse. Opsyonal mong madi-disable ang mga serbisyong ito. <ph name="BEGIN_LINK" />Matuto nang higit pa<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Hindi gumagana ang Google Chrome. Ilunsad muli ngayon?</translation> <translation id="8667808506758191620">Napapanahon ang iyong <ph name="DEVICE_TYPE" />.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr.xtb b/chrome/app/resources/google_chrome_strings_fr.xtb index 9805ef6..ef26675 100644 --- a/chrome/app/resources/google_chrome_strings_fr.xtb +++ b/chrome/app/resources/google_chrome_strings_fr.xtb
@@ -18,6 +18,7 @@ <translation id="1434626383986940139">Applications Chrome Canary</translation> <translation id="1457721931618994305">Mise à jour de Google Chrome en cours…</translation> <translation id="1469002951682717133">Lanceur d'applications Google Chrome</translation> +<translation id="1475773083554142432">Chrome stockera ce mot de passe avec <ph name="SAVED_PASSWORD_LINK" /> et s'en souviendra la prochaine fois que vous en aurez besoin.</translation> <translation id="1480489203462860648">Essayez-le, il est déjà installé.</translation> <translation id="1553358976309200471">Mettre à jour Chrome</translation> <translation id="1587223624401073077">Votre webcam est en cours d'utilisation dans Google Chrome.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Pour que cette modification soit prise en compte, veuillez vous déconnecter, puis vous reconnecter.</translation> <translation id="4458462641685292929">Une autre opération est en cours dans Google Chrome. Veuillez réessayer ultérieurement.</translation> <translation id="4480040274068703980">Impossible de synchroniser vos données dans Chrome OS, car une erreur s'est produite lors de la connexion.</translation> -<translation id="4519152997629025674">Des <ph name="BEGIN_LINK" />services Web<ph name="END_LINK" /> sont parfois utilisés dans Google Chrome pour améliorer votre confort de navigation. Vous pouvoir choisir de désactiver ces services à tout moment.</translation> <translation id="4561051373932531560">Avec Google Chrome, cliquez sur un numéro de téléphone sur le Web et appelez-le dans Skype !</translation> <translation id="4567424176335768812">Vous êtes connecté avec l'adresse e-mail <ph name="USER_EMAIL_ADDRESS" />. Vous pouvez maintenant accéder à vos favoris, à l'historique et aux autres paramètres sur tous les appareils sur lesquels vous êtes connecté.</translation> <translation id="4631713731678262610">Masquer dans le menu Chrome</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Impossible de synchroniser vos données dans Google Chrome. Veuillez mettre à jour votre phrase secrète de synchronisation.</translation> <translation id="5037239767309817516">Fermez toutes les fenêtres et relancez Google Chrome afin que cette modification soit prise en compte.</translation> <translation id="5132929315877954718">Découvrez des applications, des jeux, des extensions et des thèmes exceptionnels pour Google Chrome.</translation> -<translation id="5148419164691878332">Chrome stockera ce mot de passe dans vos <ph name="SAVED_PASSWORDS_LINK" /> et s'en souviendra la prochaine fois que vous en aurez besoin.</translation> <translation id="5170938038195470297">Votre profil ne peut pas être utilisé parce qu'il vient d'une version plus récente de Google Chrome. Certaines fonctionnalités peuvent être indisponibles. Veuillez spécifier un répertoire de profil différent ou utiliser une version plus récente de Google Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Lanceur d'applications Chrome – Canary</translation> <translation id="8556340503434111824">Une nouvelle version de Google Chrome encore plus rapide est disponible.</translation> <translation id="8568392309447938879">Vous devez être connecté à Chrome pour utiliser les applications. Cela permet de synchroniser vos applications, vos favoris, votre historique, vos mots de passe et d'autres paramètres dans Chrome sur tous vos appareils.</translation> +<translation id="8606668294522778825">Google Chrome peut utiliser des services Web pour améliorer votre confort de navigation. Vous pouvez choisir de désactiver ces services. <ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome ne répond pas. Voulez-vous le relancer maintenant ?</translation> <translation id="8667808506758191620">Votre <ph name="DEVICE_TYPE" /> est à jour.</translation> <translation id="8669527147644353129">Application d'aide de Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gu.xtb b/chrome/app/resources/google_chrome_strings_gu.xtb index 1535d51d..edc6216 100644 --- a/chrome/app/resources/google_chrome_strings_gu.xtb +++ b/chrome/app/resources/google_chrome_strings_gu.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome કેનેરી ઍપ્લિકેશનો</translation> <translation id="1457721931618994305">Google Chrome અપડેટ થઈ રહ્યું છે...</translation> <translation id="1469002951682717133">Chrome ઍપ્લિકેશન લૉંચર</translation> +<translation id="1475773083554142432">Chrome આને તમારા <ph name="SAVED_PASSWORD_LINK" /> માં સાચવશે અને આગલી વખતે તમને તેની જરૂર પડે ત્યારે યાદ રાખશે.</translation> <translation id="1480489203462860648">તેને અજમાવી જુઓ, તે પહેલેથી જ ઇન્સ્ટોલ કરેલ છે</translation> <translation id="1553358976309200471">Chrome અપડેટ કરો</translation> <translation id="1587223624401073077">Google Chrome તમારા કેમેરાનો ઉપયોગ કરી રહ્યું છે.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">કૃપા કરીને આ પરિવર્તનને પ્રભાવમાં લાવવા માટે સાઇન આઉટ કરો અને ફરીથી સાઇન ઇન કરો.</translation> <translation id="4458462641685292929">Google Chrome પર બીજી ક્રિયા ચાલુ છે. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.</translation> <translation id="4480040274068703980">સાઇન ઇનમાં ભૂલ આવવાને કારણે Chrome OS તમારા ડેટાને સમન્વયિત કરી શક્યું નથી.</translation> -<translation id="4519152997629025674">Google Chrome તમારા બ્રાઉઝિંગ અનુભવને બહેતર બનાવવા માટે <ph name="BEGIN_LINK" />વેબ સેવાઓ<ph name="END_LINK" />નો ઉપયોગ કરી શકે છે. તમે કોઈપણ સમયે વૈકલ્પિક રૂપે આ સેવાઓને અક્ષમ કરી શકો છો.</translation> <translation id="4561051373932531560">Google Chrome થી તમે વેબ પર એક ફોન નંબર પર ક્લિક કરી શકો છો અને તેને Skype થી કૉલ કરી શકો છો!</translation> <translation id="4567424176335768812">તમે <ph name="USER_EMAIL_ADDRESS" /> તરીકે સાઇન ઇન છો. હવે તમે તમારા બધા સાઇન ઇન કરેલા ઉપકરણો પર તમારા બુકમાર્ક્સ, ઇતિહાસ અને અન્ય સેટિંગ્સને ઍક્સેસ કરી શકો છો.</translation> <translation id="4631713731678262610">Chrome મેનૂમાં છુપાવો</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome તમારા ડેટાને સમન્વયિત કરી શક્યું નથી. કૃપા કરીને તમારા સમન્વયન પાસફ્રેઝને અપડેટ કરો.</translation> <translation id="5037239767309817516">આ ફેરફારને પ્રભાવમાં લાવવા માટે કૃપા કરીને બધી Google Chrome વિંડોને બંધ કરો અને તેને ફરીથી લોંચ કરો.</translation> <translation id="5132929315877954718">Google Chrome માટે શ્રેષ્ઠ ઍપ્લિકેશનો, રમતો, એક્સટેન્શન્સ અને થીમ્સ શોધો</translation> -<translation id="5148419164691878332">Chrome આને તમારા <ph name="SAVED_PASSWORDS_LINK" /> માં સાચવશે અને આગલી વખતે તમને તેની જરૂર પડે ત્યારે યાદ રાખશે.</translation> <translation id="5170938038195470297">તમારી પ્રોફાઇલનો ઉપયોગ કરી શકાતો નથી કારણ કે તે Google Chrome ના નવા સંસ્કરણ તરફથી છે. કેટલીક સુવિધાઓ ઉપલબ્ધ થઈ શકે છે. કૃપા કરીને ભિન્ન પ્રોફાઇલ નિર્દેશિકાનો ઉલ્લેખ કરો અથવા Chrome નાં નવા સંસ્કરણનો ઉપયોગ કરો.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Chrome ઍપ્લિકેશન લૉંચર કેનેરી</translation> <translation id="8556340503434111824">Google Chrome નું એક નવું સંસ્કરણ ઉપલબ્ધ છે અને તે પહેલાં કરતાંએ વધુ ઝડપી છે.</translation> <translation id="8568392309447938879">તમારે ઍપ્લિકેશનોનો ઉપયોગ કરવા માટે Chrome માં સાઇન ઇન કરવાની જરૂર છે. આ Chrome ને તમારી ઍપ્લિકેશનો, બુકમાર્ક્સ, ઇતિહાસ, પાસવર્ડ્સ અને સમગ્ર ઉપકરણની અન્ય સેટિંગ્સને સમન્વયિત કરવાની મંજૂરી આપે છે.</translation> +<translation id="8606668294522778825">Google Chrome તમારા બ્રાઉઝિંગ અનુભવને બહેતર બનાવવા માટે વેબ સેવાઓનો ઉપયોગ કરી શકે છે. તમે વૈકલ્પિક રૂપે આ સેવાઓને અક્ષમ કરી શકો છો. <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome પ્રતિસાદ આપતું નથી. હવે ફરીથી લોંચ કરીએ?</translation> <translation id="8667808506758191620">તમારું <ph name="DEVICE_TYPE" /> અપ ટૂ ડેટ છે.</translation> <translation id="8669527147644353129">Google Chrome સહાયક</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hi.xtb b/chrome/app/resources/google_chrome_strings_hi.xtb index 4b00afb8..e06e7612 100644 --- a/chrome/app/resources/google_chrome_strings_hi.xtb +++ b/chrome/app/resources/google_chrome_strings_hi.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary ऐप्स </translation> <translation id="1457721931618994305">Google Chrome अपडेट हो रहा है...</translation> <translation id="1469002951682717133">Chrome में ऐप चलाने का साधन</translation> +<translation id="1475773083554142432">Chrome इसे <ph name="SAVED_PASSWORD_LINK" /> के साथ संग्रहीत कर लेगा और आपको अगली बार आवश्यकता होने पर इसे याद रखेगा.</translation> <translation id="1480489203462860648">इसे आज़माएं, यह पहले से इंस्टॉल है</translation> <translation id="1553358976309200471">Chrome अपडेट करें</translation> <translation id="1587223624401073077">Google Chrome आपके कैमरे का उपयोग कर रहा है.</translation> @@ -28,7 +29,7 @@ <translation id="1682634494516646069">Google Chrome अपनी डेटा निर्देशिका को पढ़ और उस पर लिख नहीं सकता :\n\n<ph name="USER_DATA_DIRECTORY" /></translation> <translation id="1698376642261615901">Google Chrome एक ऐसा वेब ब्राउज़र है, जो वेब पेज और ऐप्स को बिजली की गति से चलाता है. यह तेज़, स्थिर, और उपयोग में आसान है. Google Chrome में अंतर्निहित मैलवेयर और फ़िशिंग सुरक्षा के साथ अधिक सुरक्षित रूप से वेब ब्राउज़ करें.</translation> <translation id="1718131156967340976"><ph name="SMALL_PRODUCT_LOGO" /> <ph name="BEGIN_BOLD" />Google Chrome<ph name="END_BOLD" /> चुनें</translation> -<translation id="174539241580958092">प्रवेश करने में त्रुटि के कारण Google Chrome आपका डेटा समन्वयित नहीं कर सका.</translation> +<translation id="174539241580958092">प्रवेश करने में गड़बड़ी के कारण Google Chrome आपका डेटा समन्वयित नहीं कर सका.</translation> <translation id="1759301979429102118">आपके संपर्कों के विवरण Chrome में अधिक तेज़ी से फ़ॉर्म भरने में आपकी सहायता कर सकते हैं.</translation> <translation id="1759842336958782510">Chrome</translation> <translation id="1773601347087397504">Chrome OS का उपयोग करने के बारे में सहायता प्राप्त करें</translation> @@ -85,7 +86,7 @@ <translation id="3311976847535831054">यह कंप्यूटर अब 32-बिट Google Chrome अपडेट प्राप्त नहीं करेगा. कृपया 64-बिट Google Chrome में अपग्रेड करें.</translation> <translation id="3360895254066713204">Chrome सहायक</translation> <translation id="3395323229510056640">Chrome OS में सहायता प्राप्त करें</translation> -<translation id="3396977131400919238">स्थापित करने के दौरान ऑपरेटिंग सिस्टम में त्रुटि आई. कृपया Google Chrome फिर से डाउनलोड करें.</translation> +<translation id="3396977131400919238">स्थापित करने के दौरान ऑपरेटिंग सिस्टम में गड़बड़ी आई. कृपया Google Chrome फिर से डाउनलोड करें.</translation> <translation id="3398288718845740432">Chrome मेनू में छिपाएं</translation> <translation id="3451115285585441894">Chrome में जोड़ा जा रहा है...</translation> <translation id="345171907106878721">स्वयं को Chrome में जोड़ें</translation> @@ -114,8 +115,7 @@ <translation id="4407807842708586359">Google Chrome OS</translation> <translation id="4458285410772214805">इस परिवर्तन के प्रभावी होने के लिए, कृपया प्रस्थान करें और पुन: प्रवेश करें.</translation> <translation id="4458462641685292929">Google Chrome पर कोई और क्रिया चल रही है. कृपया बाद में फिर से कोशिश करें.</translation> -<translation id="4480040274068703980">प्रवेश करने संबंधी त्रुटि के कारण Chrome OS आपका डेटा सिंक नहीं कर सका.</translation> -<translation id="4519152997629025674">Google Chrome आपके अनुभव को बेहतर बनाने के लिए <ph name="BEGIN_LINK" />वेब सेवाओं<ph name="END_LINK" /> का उपयोग कर सकता है. आप किसी भी समय इन सेवाओं को वैकल्पिक रूप से अक्षम कर सकते हैं.</translation> +<translation id="4480040274068703980">प्रवेश करने संबंधी गड़बड़ी के कारण Chrome OS आपका डेटा सिंक नहीं कर सका.</translation> <translation id="4561051373932531560">Google Chrome आपको वेब पर फ़ोन नंबर क्लिक करने और उसे Skype से कॉल करने की सुविधा देता है!</translation> <translation id="4567424176335768812">आपने <ph name="USER_EMAIL_ADDRESS" /> के रूप में प्रवेश किया हुआ है. अब आप अपने सभी प्रवेश किए हुए डिवाइस पर अपने बुकमार्क, इतिहास, और अन्य सेटिंग की एक्सेस कर सकेंगे.</translation> <translation id="4631713731678262610">Chrome मेनू में छिपाएं</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome आपका डेटा समन्वयित नहीं कर सका. कृपया अपना समन्वयन पासफ़्रेज़ अपडेट करें.</translation> <translation id="5037239767309817516">यह परिवर्तन लागू करने के लिए कृपया सभी Google Chrome विंडो बंद करें और इसे पुन: लॉन्च करें.</translation> <translation id="5132929315877954718">Google Chrome के लिए बेहतरीन ऐप्स ,गेम, एक्सटेंशन और थीम खोजें.</translation> -<translation id="5148419164691878332">Chrome इसे आपके <ph name="SAVED_PASSWORDS_LINK" /> में संग्रहीत कर लेगा और आपको अगली बार आवश्यकता होने पर इसे याद रखेगा.</translation> <translation id="5170938038195470297">आपकी प्रोफ़ाइल का उपयोग नहीं किया जा सकता क्योंकि यह Google Chrome के किसी नए वर्शन से है. कुछ विशेषताएं अनुपलब्ध हो सकती हैं. कृपया कोई भिन्न प्रोफ़ाइल निर्देशिका निर्दिष्ट करें या Chrome के किसी नए वर्शन का उपयोग करें.</translation> @@ -233,7 +232,7 @@ <translation id="7787950393032327779">ऐसा लगता है कि प्रोफ़ाइल का उपयोग अन्य Google Chrome प्रोसेस (<ph name="PROCESS_ID" />) द्वारा किसी अन्य कंप्यूटर (<ph name="HOST_NAME" />) पर किया जा रहा है. Chrome ने प्रोफ़ाइल को लॉक कर दिया है ताकि वह दूषित न हो. यदि आप सुनिश्चित हैं कि अन्य प्रोसेस इस प्रोफ़ाइल का उपयोग नहीं कर रही हैं, तो आप प्रोफ़ाइल को अनलॉक कर सकते हैं और Chrome को फिर से लॉन्च कर सकते हैं.</translation> <translation id="7788788617745289808">Chrome को कैमरा ऐक्सेस की आवश्यकता है ताकि कैमरे को इस साइट के साथ साझा किया जा सके.</translation> <translation id="7808348361785373670">Chrome से निकालें...</translation> -<translation id="7825851276765848807">अनिर्दिष्ट त्रुटि के कारण डाउनलोड विफल हुआ. कृपया Google Chrome पुन: डाउनलोड करें.</translation> +<translation id="7825851276765848807">अनिर्दिष्ट गड़बड़ी के कारण डाउनलोड विफल हुआ. कृपया Google Chrome पुन: डाउनलोड करें.</translation> <translation id="7888186132678118370">Chrome को अपने टास्कबार में पिन करें</translation> <translation id="7890208801193284374">यदि आप कंप्यूटर साझा करते हैं, तो मित्र और परिवार अलग-अलग ब्राउज़ कर सकते हैं और Chrome को जैसा चाहें सेट कर सकते हैं.</translation> <translation id="7896673875602241923">इस कंप्यूटर पर पहले किसी अन्य व्यक्ति ने <ph name="ACCOUNT_EMAIL_LAST" /> के रूप में Chrome में प्रवेश किया है. अपनी जानकारी अलग रखने के लिए कृपया नया Chrome उपयोगकर्ता बनाएं.</translation> @@ -257,6 +256,7 @@ <translation id="8547799825197623713">Chrome में ऐप चलाने का साधन Canary</translation> <translation id="8556340503434111824">Google Chrome का एक नया वर्शन उपलब्ध है, और यह अब तक का सबसे तेज़ है.</translation> <translation id="8568392309447938879">ऐप्स का उपयोग करने के लिए आपको Chrome में प्रवेश किए हुए रहना होगा. इससे Chrome को सभी डिवाइस में मौजूद आपके ऐप्स, बुकमार्क, इतिहास, पासवर्ड और अन्य सेटिंग समन्वयित करने की अनुमति मिल जाती है.</translation> +<translation id="8606668294522778825">आपके ब्राउज़िंग अनुभव को बेहतर बनाने के लिए Google Chrome वेब सेवाओं का उपयोग कर सकता है. आप इन सेवाओं को वैकल्पिक रूप से अक्षम कर सकते हैं. <ph name="BEGIN_LINK" />और जानें<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome निष्क्रिय है. अभी पुन: लॉन्च करें?</translation> <translation id="8667808506758191620">आपका <ph name="DEVICE_TYPE" /> अद्यतित है.</translation> <translation id="8669527147644353129">Google Chrome सहायक</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb index 044237d..f9a16c9 100644 --- a/chrome/app/resources/google_chrome_strings_hr.xtb +++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplikacije kanala Chrome Canary</translation> <translation id="1457721931618994305">Ažuriranje preglednika Google Chrome...</translation> <translation id="1469002951682717133">Pokretač aplikacija sustava Chrome</translation> +<translation id="1475773083554142432">Chrome će spremiti tu zaporku u vaš <ph name="SAVED_PASSWORD_LINK" /> i zapamtiti je za sljedeći put.</translation> <translation id="1480489203462860648">Pokušajte, već je instaliran</translation> <translation id="1553358976309200471">Ažuriraj Chrome</translation> <translation id="1587223624401073077">Google Chrome upotrebljava vašu kameru.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Odjavite se i prijavite se ponovo da bi ta promjena postala aktivna.</translation> <translation id="4458462641685292929">U tijeku je neka druga operacija na Google Chromeu. Pokušajte ponovo kasnije.</translation> <translation id="4480040274068703980">OS Chrome nije mogao sinkronizirati vaše podatke zbog pogreške prilikom prijave.</translation> -<translation id="4519152997629025674">Google Chrome može koristiti <ph name="BEGIN_LINK" />web-usluge<ph name="END_LINK" /> za poboljšavanje vašeg doživljaja pregledavanja. Te usluge po želji možete onemogućiti.</translation> <translation id="4561051373932531560">Google Chrome omogućuje da kliknete telefonski broj na webu i nazovete ga koristeći se Skypeom!</translation> <translation id="4567424176335768812">Prijavljeni ste kao <ph name="USER_EMAIL_ADDRESS" />. Sada možete pristupiti svojim oznakama, povijesti i drugim postavkama na svim uređajima na kojima se prijavljujete.</translation> <translation id="4631713731678262610">Sakrij u izborniku Chromea</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome nije mogao sinkronizirati vaše podatke. Ažurirajte zaporku za sinkronizaciju.</translation> <translation id="5037239767309817516">Zatvorite sve prozore preglednika Google Chrome i ponovo ga pokrenite kako bi ova promjena stupila na snagu.</translation> <translation id="5132929315877954718">Otkrijte sjajne aplikacije, igre, proširenja i teme za Google Chrome.</translation> -<translation id="5148419164691878332">Chrome će spremiti tu zaporku u vaše <ph name="SAVED_PASSWORDS_LINK" /> i zapamtiti je za sljedeći put.</translation> <translation id="5170938038195470297">Vaš se profil ne može upotrijebiti jer pripada novijoj verziji proizvoda Google Chrome. Neke značajke možda nisu dostupne. Navedite drugi direktorij profila ili upotrijebite noviju verziju proizvoda Chrome.</translation> <translation id="5176234269072261959">Pomognite poboljšati Chrome tako što ćete prijaviti trenutačne postavke</translation> <translation id="5193136243808726294">OS Google Chrome ne može otvoriti ovu stranicu.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Pokretač aplikacija za Chromeov kanal Canary</translation> <translation id="8556340503434111824">Dostupna je nova verzija preglednika Google Chrome, brža no ikad.</translation> <translation id="8568392309447938879">Morate se prijaviti na Chrome da biste upotrebljavali aplikacije. To omogućuje Chromeu sinkronizaciju vaših aplikacija, oznaka, povijesti, zaporki i ostalih postavki na različitim uređajima.</translation> +<translation id="8606668294522778825">Google Chrome može upotrebljavati web-usluge za poboljšanje pregledavanja. Ako želite, možete onemogućiti te usluge. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome ne reagira. Ponovo pokrenuti sada?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> je ažuriran.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb index daee189..bfdec62 100644 --- a/chrome/app/resources/google_chrome_strings_hu.xtb +++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary-alkalmazások</translation> <translation id="1457721931618994305">A Google Chrome frissítése...</translation> <translation id="1469002951682717133">Chrome Alkalmazásindító</translation> +<translation id="1475773083554142432">A Chrome tárolja ezt a(z) <ph name="SAVED_PASSWORD_LINK" /> segítségével, és emlékezni fog, amikor legközelebb szükség lesz rá.</translation> <translation id="1480489203462860648">Próbálja ki, már telepítve van</translation> <translation id="1553358976309200471">A Chrome böngésző frissítése</translation> <translation id="1587223624401073077">A Google Chrome használja a kamerát.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Kérjük, jelentkezzen ki, majd jelentkezzen be újra a módosítás aktiválásához.</translation> <translation id="4458462641685292929">Egy másik Google Chrome-művelet is folyamatban van. Próbálkozzon újra később.</translation> <translation id="4480040274068703980">A Chrome OS egy bejelentkezési hiba miatt nem tudta szinkronizálni az adatokat.</translation> -<translation id="4519152997629025674">A Google Chrome <ph name="BEGIN_LINK" />internetes szolgáltatásokat<ph name="END_LINK" /> is használhat a böngészés javításának érdekében. Ezek a szolgáltatások bármikor letilthatók.</translation> <translation id="4561051373932531560">A Google Chrome egyetlen kattintással lehetővé teszi a weboldalakon található telefonszámok felhívását Skype-pal!</translation> <translation id="4567424176335768812">A(z) <ph name="USER_EMAIL_ADDRESS" /> címmel van bejelentkezve. Elérheti könyvjelzőit, előzményeit és más beállításait minden olyan eszközön, amelyen bejelentkezett.</translation> <translation id="4631713731678262610">Elrejtés a Chrome-menüben</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">A Google Chrome nem tudta szinkronizálni az adatokat. Kérjük, frissítse a szinkronizálás jelszavát.</translation> <translation id="5037239767309817516">Ahhoz, hogy a módosítás hatályba lépjen, zárja be az összes Google Chrome ablakot, és indítsa újra az alkalmazást.</translation> <translation id="5132929315877954718">Fedezzen fel nagyszerű alkalmazásokat, játékokat, bővítményeket és témákat a Google Chrome-hoz.</translation> -<translation id="5148419164691878332">A Chrome tárolja ezt a(z) <ph name="SAVED_PASSWORDS_LINK" /> között, és emlékezni fog, amikor legközelebb szükség lesz rá.</translation> <translation id="5170938038195470297">A profilja nem használható, mivel a Google Chrome egy újabb verziójából származik. Előfordulhat, hogy egyes funkciók nem érhetők el. Kérjük, adjon meg egy másik profilmappát, vagy használja a Google Chrome újabb verzióját.</translation> <translation id="5176234269072261959">Segítsen a Chrome fejlesztésében a jelenlegi beállítások elküldésével.</translation> <translation id="5193136243808726294">A Google Chrome OS nem tudja megnyitni ezt az oldalt.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome Alkalmazásindító Canary</translation> <translation id="8556340503434111824">Elérhető a Google Chrome új verziója, amely gyorsabb, mint ezelőtt bármikor.</translation> <translation id="8568392309447938879">Be kell jelentkeznie a Chrome-ba az alkalmazások használatához. Ez lehetővé teszi a Chrome számára, hogy szinkronizálja alkalmazásait, könyvjelzőit, előzményeit, jelszavait és egyéb beállításait a különböző eszközök között.</translation> +<translation id="8606668294522778825">Előfordulhat, hogy a Google Chrome internetes szolgáltatásokat használ böngészési élménye javítására. Lehetősége van e szolgáltatások letiltására. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" /></translation> <translation id="8614913330719544658">A Google Chrome nem válaszol. Újraindítja most?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> eszköze naprakész.</translation> <translation id="8669527147644353129">Google Chrome segéd</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb index b64eece..a01d27e 100644 --- a/chrome/app/resources/google_chrome_strings_id.xtb +++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplikasi Chrome Canary</translation> <translation id="1457721931618994305">Memperbarui Google Chrome...</translation> <translation id="1469002951682717133">Peluncur Aplikasi Chrome</translation> +<translation id="1475773083554142432">Chrome akan menyimpan ini dengan <ph name="SAVED_PASSWORD_LINK" /> dan mengingatnya saat Anda membutuhkannya lagi.</translation> <translation id="1480489203462860648">Cobalah, ini sudah dipasang</translation> <translation id="1553358976309200471">Perbarui browser Chrome</translation> <translation id="1587223624401073077">Google Chrome menggunakan kamera Anda.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Keluar dan masuk lagi agar perubahan ini diterapkan.</translation> <translation id="4458462641685292929">Operasi lain di Google Chrome sedang berlangsung. Coba lagi nanti.</translation> <translation id="4480040274068703980">Chrome OS tidak dapat menyinkronkan data Anda karena kesalahan saat masuk.</translation> -<translation id="4519152997629025674">Google Chrome mungkin akan menggunakan <ph name="BEGIN_LINK" />layanan web<ph name="END_LINK" /> untuk meningkatkan pengalaman penjelajahan. Anda dapat menonaktifkan layanan ini kapan saja secara opsional.</translation> <translation id="4561051373932531560">Google Chrome memungkinkan Anda mengeklik nomor telepon pada web dan menghubunginya melalui Skype!</translation> <translation id="4567424176335768812">Anda masuk sebagai <ph name="USER_EMAIL_ADDRESS" />. Kini Anda dapat mengakses bookmark, riwayat, dan setelan lainnya pada seluruh perangkat yang Anda masuki.</translation> <translation id="4631713731678262610">Sembunyikan di menu Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome tidak dapat menyinkronkan data Anda. Perbarui frasa sandi Sinkronisasi Anda.</translation> <translation id="5037239767309817516">Harap tutup semua jendela Google Chrome dan luncurkan kembali agar perubahan ini berlaku.</translation> <translation id="5132929315877954718">Temukan aplikasi, game, ekstensi, dan tema yang hebat untuk Google Chrome.</translation> -<translation id="5148419164691878332">Chrome akan menyimpan ini di <ph name="SAVED_PASSWORDS_LINK" /> dan mengingatnya saat Anda membutuhkannya lagi.</translation> <translation id="5170938038195470297">Profil Anda tidak dapat digunakan karena berasal dari versi terbaru Google Chrome. Beberapa fitur mungkin tidak tersedia. Tentukan direktori profil yang berbeda atau gunakan versi Chrome yang lebih anyar.</translation> <translation id="5176234269072261959">Bantu jadikan Chrome lebih baik dengan melaporkan setelan saat ini.</translation> <translation id="5193136243808726294">Google Chrome OS tidak dapat membuka laman ini.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Peluncur Aplikasi Chrome Canary</translation> <translation id="8556340503434111824">Tersedia versi Google Chrome yang baru, dan versi ini lebih cepat dari sebelumnya.</translation> <translation id="8568392309447938879">Anda perlu masuk ke Chrome untuk menggunakan aplikasi. Ini memungkinkan Chrome menyinkronkan aplikasi, bookmark, riwayat, sandi, dan setelan Anda yang lain di seluruh perangkat.</translation> +<translation id="8606668294522778825">Google Chrome dapat menggunakan layanan web untuk meningkatkan pengalaman penjelajahan Anda. Anda dapat memilih untuk menonaktifkan layanan ini. <ph name="BEGIN_LINK" />Pelajari lebih lanjut<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome tidak merespons. Luncurkan ulang sekarang?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> Anda sudah diperbarui.</translation> <translation id="8669527147644353129">Pembantu Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_it.xtb b/chrome/app/resources/google_chrome_strings_it.xtb index c6f1725..53bb9bc 100644 --- a/chrome/app/resources/google_chrome_strings_it.xtb +++ b/chrome/app/resources/google_chrome_strings_it.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Applicazioni Chrome Canary</translation> <translation id="1457721931618994305">Aggiornamento di Google Chrome in corso...</translation> <translation id="1469002951682717133">Avvio applicazioni di Chrome</translation> +<translation id="1475773083554142432">Chrome memorizzerà questa password con <ph name="SAVED_PASSWORD_LINK" /> e la ricorderà la prossima volta che ti servirà.</translation> <translation id="1480489203462860648">Provalo, è già installato</translation> <translation id="1553358976309200471">Aggiorna Chrome</translation> <translation id="1587223624401073077">Google Chrome sta utilizzando la videocamera.</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">Esci ed esegui di nuovo l'accesso per applicare la modifica.</translation> <translation id="4458462641685292929">C'è un'altra operazione in corso su Google Chrome. Riprova più tardi.</translation> <translation id="4480040274068703980">Impossibile sincronizzare i dati in Chrome OS a causa di un errore durante l'accesso.</translation> -<translation id="4519152997629025674">Google Chrome potrebbe utilizzare <ph name="BEGIN_LINK" />servizi web<ph name="END_LINK" /> per migliorare la navigazione. Se lo desideri, puoi disattivarli in qualsiasi momento.</translation> <translation id="4561051373932531560">Google Chrome ti permette di scegliere un numero di telefono sul Web e di chiamarlo con Skype.</translation> <translation id="4567424176335768812">Hai eseguito l'accesso come <ph name="USER_EMAIL_ADDRESS" />. Ora puoi accedere ai tuoi Preferiti, alla tua cronologia e ad altre impostazioni su tutti i tuoi dispositivi su cui esegui l'accesso.</translation> <translation id="4631713731678262610">Nascondi in menu Chrome</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Impossibile sincronizzare i dati in Google Chrome. Aggiorna la passphrase di sincronizzazione.</translation> <translation id="5037239767309817516">Chiudi tutte le finestre di Google Chrome e riavvialo per rendere effettiva la modifica.</translation> <translation id="5132929315877954718">Scopri applicazioni, giochi, estensioni e temi straordinari per Google Chrome.</translation> -<translation id="5148419164691878332">Chrome memorizzerà questa password nelle tue <ph name="SAVED_PASSWORDS_LINK" /> e la ricorderà la prossima volta che ti servirà.</translation> <translation id="5170938038195470297">Non è possibile utilizzare il tuo profilo perché è associato a una versione di Google Chrome più recente. Alcune funzioni potrebbero non essere disponibili. Specifica una directory del profilo diversa o utilizza una versione di Chrome più recente.</translation> <translation id="5176234269072261959">Contribuisci a migliorare Chrome indicando le impostazioni attuali.</translation> <translation id="5193136243808726294">Google Chrome OS non è in grado di aprire la pagina.</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Avvio applicazioni di Chrome Canary</translation> <translation id="8556340503434111824">È disponibile una nuova versione di Google Chrome con una velocità senza precedenti.</translation> <translation id="8568392309447938879">Per poter utilizzare le app, devi eseguire l'accesso su Chrome. Chrome potrà così sincronizzare app, Preferiti, cronologia, password e altre impostazioni tra dispositivi.</translation> +<translation id="8606668294522778825">Google Chrome potrebbe utilizzare servizi web per migliorare la tua esperienza di navigazione. Se preferisci, puoi disattivare questi servizi. <ph name="BEGIN_LINK" />Ulteriori informazioni<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome non risponde. Riavviarlo ora?</translation> <translation id="8667808506758191620">Il dispositivo <ph name="DEVICE_TYPE" /> è aggiornato.</translation> <translation id="8669527147644353129">Supporto Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_iw.xtb b/chrome/app/resources/google_chrome_strings_iw.xtb index 7fd3963..4718043 100644 --- a/chrome/app/resources/google_chrome_strings_iw.xtb +++ b/chrome/app/resources/google_chrome_strings_iw.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">יישומי Chrome - קאנארי</translation> <translation id="1457721931618994305">מעדכן את Google Chrome...</translation> <translation id="1469002951682717133">Chrome App Launcher</translation> +<translation id="1475773083554142432">Chrome ישמור את הסיסמה הזו ב-<ph name="SAVED_PASSWORD_LINK" /> ויזכור אותה בפעם הבאה שתזדקק לה.</translation> <translation id="1480489203462860648">נסה את זה, זה כבר מותקן</translation> <translation id="1553358976309200471">עדכן את Chrome</translation> <translation id="1587223624401073077">Google Chrome משתמש במצלמה שלך.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">צא מהמערכת והיכנס שוב כדי שהשינוי ייכנס לתוקף.</translation> <translation id="4458462641685292929">מתבצעת כרגע פעולה אחרת ב-Google Chrome. נסה שוב מאוחר יותר.</translation> <translation id="4480040274068703980">מערכת ההפעלה של Chrome לא הצליחה לסנכרן את הנתונים שלך עקב שגיאה בתהליך הכניסה.</translation> -<translation id="4519152997629025674">Google Chrome יכול להשתמש ב<ph name="BEGIN_LINK" />שירותי האינטרנט<ph name="END_LINK" /> לשיפור חוויית הגלישה. תוכל להשבית את השירותים האלו בכל עת.</translation> <translation id="4561051373932531560">Google Chrome מאפשר לך ללחוץ על מספר טלפון באינטרנט ולהתקשר אליו באמצעות Skype!</translation> <translation id="4567424176335768812">נכנסת למערכת בתור <ph name="USER_EMAIL_ADDRESS" />. כעת אתה יכול לגשת אל הסימניות, ההיסטוריה והגדרות אחרות שלך בכל המכשירים שבהם אתה מחובר לחשבון.</translation> <translation id="4631713731678262610">הסתר בתפריט Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome לא הצליח לסנכרן את הנתונים שלך. עדכן את משפט הסיסמה שלך עבור סנכרון.</translation> <translation id="5037239767309817516">כדי ששינוי זה ייכנס לתוקף, סגור את כל החלונות של Google Chrome והפעל אותו מחדש.</translation> <translation id="5132929315877954718">גלה יישומים, משחקים, תוספים ועיצובים מעולים עבור Google Chrome.</translation> -<translation id="5148419164691878332">Chrome ישמור את הסיסמה הזו ב-<ph name="SAVED_PASSWORDS_LINK" /> ויזכור אותה בפעם הבאה שתזדקק לה.</translation> <translation id="5170938038195470297">לא ניתן להשתמש בפרופיל שלך משום שהוא מגרסה חדשה יותר של Google Chrome. ייתכן שחלק מהתכונות לא יהיו זמינות. ציין ספריית פרופיל אחרת או השתמש בגרסה חדשה יותר של Chrome.</translation> <translation id="5176234269072261959">עזור לשפר את Chrome על ידי דיווח על ההגדרות הנוכחיות.</translation> <translation id="5193136243808726294">מערכת ההפעלה של Google Chrome אינה יכולה לפתוח את הדף הזה.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">מפעיל היישומים של Chrome - קאנארי</translation> <translation id="8556340503434111824">גרסה חדשה של Google Chrome זמינה, והיא מהירה יותר מאי פעם.</translation> <translation id="8568392309447938879">עליך להיות מחובר ל-Chrome כדי להשתמש ביישומים. כך Chrome יכול לסנכרן את היישומים, הסימניות, ההיסטוריה, הסיסמאות והגדרות נוספות בין מכשירים שונים.</translation> +<translation id="8606668294522778825">Google Chrome עשוי להשתמש בשירותי אינטרנט לשיפור חוויית הגלישה שלך. ניתן להשבית את השירותים האלה. <ph name="BEGIN_LINK" />למידע נוסף<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome אינו מגיב. להפעיל מחדש עכשיו?</translation> <translation id="8667808506758191620">ה-<ph name="DEVICE_TYPE" /> שלך מעודכן.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ja.xtb b/chrome/app/resources/google_chrome_strings_ja.xtb index 13801b6e..92a91179 100644 --- a/chrome/app/resources/google_chrome_strings_ja.xtb +++ b/chrome/app/resources/google_chrome_strings_ja.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary アプリ</translation> <translation id="1457721931618994305">Google Chrome を更新しています...</translation> <translation id="1469002951682717133">Chrome アプリ ランチャー</translation> +<translation id="1475773083554142432">Chrome ではこのパスワードが <ph name="SAVED_PASSWORD_LINK" /> で保存され、次回の入力時に使用されます。</translation> <translation id="1480489203462860648">使ってみる(既にインストール済み)</translation> <translation id="1553358976309200471">Chrome を更新</translation> <translation id="1587223624401073077">Google Chrome がカメラを使用しています。</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">変更内容を反映するには、一度ログアウトして、もう一度ログインしてください。</translation> <translation id="4458462641685292929">Google Chrome で別の処理が行われています。しばらくしてからもう一度お試しください。</translation> <translation id="4480040274068703980">ログイン時にエラーが発生したため、Chrome OS はデータを同期できませんでした。</translation> -<translation id="4519152997629025674">Google Chrome では、より快適なブラウジングを提供する目的で<ph name="BEGIN_LINK" />ウェブサービス<ph name="END_LINK" />が使用されることがあります。これらのサービスはいつでも無効にできます。</translation> <translation id="4561051373932531560">Google Chrome では、ウェブサイト上の電話番号をクリックするだけで Skype で通話を発信できます。</translation> <translation id="4567424176335768812"><ph name="USER_EMAIL_ADDRESS" /> としてログインしています。ログインしているすべてのデバイスで、ブックマーク、履歴、その他の設定にアクセスできます。</translation> <translation id="4631713731678262610">Chrome メニューで非表示</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome はデータを同期できませんでした。同期パスフレーズを更新してください。</translation> <translation id="5037239767309817516">この変更を反映するには、すべての Google Chrome ウィンドウを閉じてからもう一度起動してください。</translation> <translation id="5132929315877954718">Google Chrome のすばらしいアプリ、ゲーム、拡張機能、テーマをぜひご利用ください。</translation> -<translation id="5148419164691878332">Chrome ではこのパスワードが <ph name="SAVED_PASSWORDS_LINK" />に保存され、次回の入力時に使用されます。</translation> <translation id="5170938038195470297">バージョンが新しい Google Chrome のプロフィールは使用できません。一部の機能が利用できない可能性があります。別の場所のプロフィールを指定するか、新しいバージョンの Chrome をご使用ください。</translation> <translation id="5176234269072261959">現在の設定を送信して Chrome の品質向上にご協力ください。</translation> <translation id="5193136243808726294">Google Chrome OS ではこのページを開けません。</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome アプリ ランチャー(Canary 向け)</translation> <translation id="8556340503434111824">Google クロームブラウザがバージョンアップ!是非お試しください。</translation> <translation id="8568392309447938879">アプリを使用するには Chrome にログインする必要があります。ログインすると、Chrome ではアプリ、ブックマーク、履歴、パスワードなどの設定をデバイス間で同期できるようになります。</translation> +<translation id="8606668294522778825">Google Chromeは、より快適なブラウジングを提供する目的でウェブサービスを使用することがあります。これらのサービスは無効にすることもできます。<ph name="BEGIN_LINK" />詳細<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome が応答しません。今すぐ再起動しますか?</translation> <translation id="8667808506758191620">お使いの <ph name="DEVICE_TYPE" /> は最新です。</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kn.xtb b/chrome/app/resources/google_chrome_strings_kn.xtb index 1cdb0278..d5d5f73 100644 --- a/chrome/app/resources/google_chrome_strings_kn.xtb +++ b/chrome/app/resources/google_chrome_strings_kn.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome ಕ್ಯಾನರಿ ಅಪ್ಲಿಕೇಶನ್ಗಳು</translation> <translation id="1457721931618994305">Google Chrome ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ...</translation> <translation id="1469002951682717133">Chrome ಅಪ್ಲಿಕೇಶನ್ ಲಾಂಚರ್</translation> +<translation id="1475773083554142432">Chrome ಇದನ್ನು <ph name="SAVED_PASSWORD_LINK" /> ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ನಿಮಗೆ ಮುಂದಿನ ಬಾರಿ ಅದರ ಅಗತ್ಯವಿರುವಾಗ ನೆನಪಿನಲ್ಲಿರಿಸುತ್ತದೆ.</translation> <translation id="1480489203462860648">ಇದನ್ನೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ, ಇದನ್ನು ಈಗಾಗಲೇ ಸ್ಥಾಪಿಸಲಾಗಿದೆ</translation> <translation id="1553358976309200471">Chrome ನವೀಕರಿಸಿ</translation> <translation id="1587223624401073077">Google Chrome ನಿಮ್ಮ ಕ್ಯಾಮರಾ ಬಳಸುತ್ತಿದೆ.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">ದಯವಿಟ್ಟು ಈ ಬದಲಾವಣೆಯು ಕಾರ್ಯಗತವಾಗಲು ಸೈನ್ ಔಟ್ ಮಾಡಿ ಹಾಗೂ ಮತ್ತೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation> <translation id="4458462641685292929">Google Chrome ನಲ್ಲಿ ಮತ್ತೊಂದು ಕಾರ್ಯಾಚರಣೆಯು ಪ್ರಗತಿಯಲ್ಲಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation> <translation id="4480040274068703980">ಸೈನ್ ಇನ್ ಮಾಡುವಲ್ಲಿ ದೋಷವಿರುವ ಕಾರಣ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chrome OS ಗೆ ಸಾಧ್ಯವಿಲ್ಲ.</translation> -<translation id="4519152997629025674">ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು Google Chrome <ph name="BEGIN_LINK" />ವೆಬ್ ಸೇವೆಗಳನ್ನು<ph name="END_LINK" /> ಬಳಸಬಹುದು. ನೀವು ಐಚ್ಛಿಕವಾಗಿ ಯಾವ ಸಮಯದಲ್ಲeojt ಈ ಸೇವೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು.</translation> <translation id="4561051373932531560">Google Chrome ನೀವು ವೆಬ್ನಲ್ಲಿ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಕ್ಲಿಕ್ ಮಾಡಲು ಅವಕಾಶ ಮಾಡುತ್ತದೆ ಮತ್ತು Skype ನೊಂದಿಗೆ ಕರೆ ಮಾಡುತ್ತದೆ!</translation> <translation id="4567424176335768812"><ph name="USER_EMAIL_ADDRESS" /> ನಂತೆ ಸೈನ್ ಇನ್ ಮಾಡಿರುವಿರಿ. ನೀವು ಇದೀಗ ನಿಮ್ಮ ಎಲ್ಲಾ ಸೈನ್ ಇನ್ ಮಾಡಿರುವ ಸಾಧನಗಳಲ್ಲಿ ನಿಮ್ಮ ಬುಕ್ಮಾರ್ಕ್ಗಳು, ಇತಿಹಾಸ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.</translation> <translation id="4631713731678262610">Chrome ಮೆನುವಿನಲ್ಲಿ ಮರೆಮಾಡು</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Google Chrome ನಲ್ಲಿ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸಿಂಕ್ ಪಾಸ್ಫ್ರೇಸ್ ಅನ್ನು ನವೀಕರಿಸಿ.</translation> <translation id="5037239767309817516">ಈ ಬದಲಾವಣೆಯು ಕಾರ್ಯಗತಗೊಳ್ಳಲು ದಯವಿಟ್ಟು ಎಲ್ಲ Google Chrome ವಿಂಡೊಗಳನ್ನು ಮುಚ್ಚಿ ಹಾಗೂ ಅದನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.</translation> <translation id="5132929315877954718">Google Chrome ಸಲುವಾಗಿ ಉತ್ಕೃಷ್ಟಮಟ್ಟದ ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಆಟಗಳು, ವಿಸ್ತರಣೆಗಳು ಹಾಗೂ ಥೀಮ್ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ</translation> -<translation id="5148419164691878332">Chrome ಇದನ್ನು ನಿಮ್ಮ <ph name="SAVED_PASSWORDS_LINK" /> ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ನಿಮಗೆ ಮುಂದಿನ ಬಾರಿ ಅದರ ಅಗತ್ಯವಿರುವಾಗ ನೆನಪಿನಲ್ಲಿರಿಸುತ್ತದೆ.</translation> <translation id="5170938038195470297">ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ Google Chrome ನ ಹೊಸ ಆವೃತ್ತಿಯಿಂದ ಆಗಿರುವ ಕಾರಣ ಅದನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳು ಲಭ್ಯವಿಲ್ಲದಿರಬಹುದು. ದಯವಿಟ್ಟು ಬೇರೆಯ ಪ್ರೊಫೈಲ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ ಅಥವಾ Chrome ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿ.</translation> <translation id="5176234269072261959">ಪ್ರಸ್ತುತ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ವರದಿ ಮಾಡುವುದರ ಮೂಲಕ Chrome ಅನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯಮಾಡಿ.</translation> <translation id="5193136243808726294">Google Chrome OS ಗೆ ಈ ಪುಟ ತೆರೆಯಲಾಗುವುದಿಲ್ಲ.</translation> @@ -257,6 +256,7 @@ <translation id="8547799825197623713">Chrome ಅಪ್ಲಿಕೇಶನ್ ಲಾಂಚರ್ ಕ್ಯಾನರಿ</translation> <translation id="8556340503434111824">Google Chrome ನ ಹೊಸ ಆವೃತ್ತಿ ಲಭ್ಯವಿದೆ, ಮತ್ತು ಇದು ಎಂದಿಗಿಂತಲೂ ವೇಗವಾಗಿದೆ.</translation> <translation id="8568392309447938879">ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸಲು ನೀವು Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಸಾಧನಗಳಾದ್ಯಾಂತ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಬುಕ್ಮಾರ್ಕ್ಗಳು, ಇತಿಹಾಸ, ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಲು Chrome ಗೆ ಇದು ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ.</translation> +<translation id="8606668294522778825">Google Chrome ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಅನುಭವವನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ವೆಬ್ ಸೇವೆಗಳನ್ನು ಬಳಸಬಹುದು. ನಿಮಗೆ ಬೇಡವೆಂದಾಗ ಈ ಸೇವೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು. <ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome ಸ್ಪಂದಿಸುತ್ತಿಲ್ಲ. ಇದೀಗ ಮರುಪ್ರಾರಂಭಿಸುವುದೆ? </translation> <translation id="8667808506758191620">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ನವೀಕೃತವಾಗಿದೆ.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ko.xtb b/chrome/app/resources/google_chrome_strings_ko.xtb index 3b5a9cad..c0b7554 100644 --- a/chrome/app/resources/google_chrome_strings_ko.xtb +++ b/chrome/app/resources/google_chrome_strings_ko.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome 카나리아 앱</translation> <translation id="1457721931618994305">Chrome 업데이트 중...</translation> <translation id="1469002951682717133">Chrome 앱 실행기</translation> +<translation id="1475773083554142432">Chrome은 <ph name="SAVED_PASSWORD_LINK" />을(를) 사용하여 비밀번호를 저장한 후 다음에 필요할 때 제공합니다.</translation> <translation id="1480489203462860648">사용해 보세요. 이미 설치되었습니다.</translation> <translation id="1553358976309200471">Chrome 업데이트</translation> <translation id="1587223624401073077">Chrome에서 카메라를 사용 중입니다.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">변경사항을 적용하려면 로그아웃했다가 다시 로그인하세요.</translation> <translation id="4458462641685292929">Chrome에서 다른 작업이 진행 중입니다. 나중에 다시 시도해 주세요.</translation> <translation id="4480040274068703980">로그인 중 오류가 발생하여 Chrome OS에서 데이터를 동기화하지 못했습니다.</translation> -<translation id="4519152997629025674">Chrome은 브라우저 사용 환경을 개선하기 위해 <ph name="BEGIN_LINK" />웹 서비스<ph name="END_LINK" />를 이용할 수 있습니다. 원하는 경우 언제든지 서비스를 사용 중지하실 수 있습니다.</translation> <translation id="4561051373932531560">Chrome을 사용하면 웹에서 전화번호를 클릭하여 Skype로 통화할 수 있습니다.</translation> <translation id="4567424176335768812"><ph name="USER_EMAIL_ADDRESS" />(으)로 로그인되어 있습니다. 이제 로그인한 모든 기기에서 북마크, 방문 기록 및 기타 설정에 액세스할 수 있습니다.</translation> <translation id="4631713731678262610">Chrome 메뉴에서 숨기기</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Chrome에서 데이터를 동기화하지 못했습니다. 동기화 암호를 업데이트하시기 바랍니다.</translation> <translation id="5037239767309817516">변경사항을 적용하려면 모든 Chrome 창을 닫은 다음 다시 시작하시기 바랍니다.</translation> <translation id="5132929315877954718">Chrome에 사용할 유용한 애플리케이션, 게임, 확장 프로그램 및 테마를 찾아보세요.</translation> -<translation id="5148419164691878332">Chrome은 <ph name="SAVED_PASSWORDS_LINK" />에 비밀번호를 저장한 후 다음에 필요할 때 제공합니다.</translation> <translation id="5170938038195470297">최신 버전의 Chrome에서 가져온 사용자 프로필이기 때문에 사용할 수 없습니다. 일부 기능은 사용하지 못할 수 있습니다. 다른 프로필 디렉토리를 지정하거나 최신 버전의 Chrome을 사용하세요.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Chrome 앱 실행기 카나리아</translation> <translation id="8556340503434111824">이전보다 더 빨라진 Chrome 새 버전을 사용할 수 있습니다.</translation> <translation id="8568392309447938879">앱을 사용하려면 Chrome에 로그인해야 합니다. 로그인하면 Chrome이 기기 간에 앱, 북마크, 방문 기록, 비밀번호 및 기타 설정을 동기화할 수 있습니다.</translation> +<translation id="8606668294522778825">Chrome에서 사용자에게 더 나은 인터넷 사용 환경을 제공하기 위해 웹 서비스를 사용할 수 있습니다. 원하는 경우 서비스를 사용 중지하실 수 있습니다. <ph name="BEGIN_LINK" />자세히 알아보기<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Chrome이 응답하지 않습니다. 다시 시작하시겠습니까?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" />이(가) 최신 버전입니다.</translation> <translation id="8669527147644353129">Chrome 도우미</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lt.xtb b/chrome/app/resources/google_chrome_strings_lt.xtb index e2d93a4..8f8cbd15 100644 --- a/chrome/app/resources/google_chrome_strings_lt.xtb +++ b/chrome/app/resources/google_chrome_strings_lt.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">„Chrome“ programos („Canary“)</translation> <translation id="1457721931618994305">Atnaujinama „Google Chrome“...</translation> <translation id="1469002951682717133">„Chrome“ programų paleidimo priemonė</translation> +<translation id="1475773083554142432">„Chrome“ jį išsaugos naudodama <ph name="SAVED_PASSWORD_LINK" /> ir prisimins, kai jo prireiks kitą kartą.</translation> <translation id="1480489203462860648">Išbandykite, jau įdiegta</translation> <translation id="1553358976309200471">Atnaujinkite „Chrome“</translation> <translation id="1587223624401073077">„Google Chrome“ naudoja jūsų fotoaparatą.</translation> @@ -120,7 +121,6 @@ <translation id="4458285410772214805">Atsijunkite ir prisijunkite iš naujo, kad šis pakeitimas būtų pritaikytas.</translation> <translation id="4458462641685292929">Vykdoma kita „Google Chrome“ operacija. Vėliau bandykite dar kartą.</translation> <translation id="4480040274068703980">„Chrome“ OS negali sinchronizuoti duomenų, nes prisijungiant įvyko klaida.</translation> -<translation id="4519152997629025674">„Google Chrome“ gali naudoti <ph name="BEGIN_LINK" />žiniatinklio paslaugas<ph name="END_LINK" />, kad būtų pagerintas naršymas. Pasirinktinai galite bet kada neleisti teikti šių paslaugų.</translation> <translation id="4561051373932531560">Naudodami „Google Chrome“ galite spustelėti telefono numerį žiniatinklyje ir skambinti juo naudodami „Skype“!</translation> <translation id="4567424176335768812">Esate prisijungę kaip <ph name="USER_EMAIL_ADDRESS" />. Dabar galite pasiekti savo žymes, istoriją ir kitus nustatymus visuose įrenginiuose, kuriuose esate prisijungę.</translation> <translation id="4631713731678262610">Paslėpti „Chrome“ meniu elementą</translation> @@ -143,7 +143,6 @@ <translation id="5028489144783860647">„Google Chrome“ negali sinchronizuoti duomenų. Atnaujinkite sinchronizavimo slaptafrazę.</translation> <translation id="5037239767309817516">Uždarykite visus „Google Chrome“ langus ir paleiskite iš naujo, kad įsigaliotų šis pakeitimas.</translation> <translation id="5132929315877954718">Suraskite puikių „Google Chrome“ programų, žaidimų, plėtinių ir temų.</translation> -<translation id="5148419164691878332">„Chrome“ jį išsaugos naudodama <ph name="SAVED_PASSWORDS_LINK" /> ir prisimins, kai jo prireiks kitą kartą.</translation> <translation id="5170938038195470297">Jūsų profilio negalima naudoti, nes jis iš naujesnės „Google Chrome“ versijos. Kai kurios funkcijos gali būti nepasiekiamos. Nurodykite kitą profilio katalogą arba naudokite naujesnės versijos „Chrome“.</translation> @@ -264,6 +263,7 @@ <translation id="8547799825197623713">„Chrome“ programų paleidimo priemonė („Canary“)</translation> <translation id="8556340503434111824">Galima nauja „Google Chrome“ versija, kuri greitesnė nei bet kada.</translation> <translation id="8568392309447938879">Jei norite naudoti programas, turite būti prisijungę prie „Chrome“. Tada „Chrome“ galės sinchronizuoti jūsų programas, žymes, istoriją, slaptažodžius ir kitus nustatymus įrenginiuose.</translation> +<translation id="8606668294522778825">„Google Chrome“ gali naudoti žiniatinklio paslaugas naršymo patirčiai pagerinti. Galite pasirinktinai išjungti šias paslaugas. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation> <translation id="8614913330719544658">„Google Chrome“ neatsako. Paleisti iš naujo dabar?</translation> <translation id="8667808506758191620">Jūsų „<ph name="DEVICE_TYPE" />“ atnaujintas.</translation> <translation id="8669527147644353129">„Google Chrome“ pagalbos priemonė</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb index fa83d61..2538286 100644 --- a/chrome/app/resources/google_chrome_strings_lv.xtb +++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary lietotnes</translation> <translation id="1457721931618994305">Notiek Google Chrome atjaunināšana...</translation> <translation id="1469002951682717133">Chrome lietotņu palaišanas programma</translation> +<translation id="1475773083554142432">Chrome saglabās šo paroli, izmantojot sistēmu <ph name="SAVED_PASSWORD_LINK" />, un atcerēsies to nākamajā reizē, kad jums tā būs nepieciešama.</translation> <translation id="1480489203462860648">Izmēģināt, tas jau ir instalēts</translation> <translation id="1553358976309200471">Atjaunināt Chrome</translation> <translation id="1587223624401073077">Pārlūkā Google Chrome tiek izmantota kamera.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">Lūdzu, izrakstieties un pierakstieties vēlreiz, lai šīs izmaiņas stātos spēkā.</translation> <translation id="4458462641685292929">Tiek veikta cita darbība pārlūkā Google Chrome. Lūdzu, vēlāk mēģiniet vēlreiz.</translation> <translation id="4480040274068703980">Chrome OS nevarēja sinhronizēt jūsu datus pierakstīšanās kļūdas dēļ.</translation> -<translation id="4519152997629025674">Lai uzlabotu jūsu pārlūkošanas pieredzi, Google Chrome var izmantot <ph name="BEGIN_LINK" />tīmekļa pakalpojumus<ph name="END_LINK" />. Šos pakalpojumus varat arī atspējot.</translation> <translation id="4561051373932531560">Google Chrome ļauj jums noklikšķināt uz tālruņa numura un zvanīt ar to pakalpojumā Skype!</translation> <translation id="4567424176335768812">Jūs esat pierakstījies kā <ph name="USER_EMAIL_ADDRESS" />. Tagad varat piekļūt savām grāmatzīmēm, vēsturei un citiem iestatījumiem visās ierīcēs, kurās esat pierakstījies.</translation> <translation id="4631713731678262610">Paslēpt Chrome izvēlnē</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Google Chrome nevarēja sinhronizēt jūsu datus. Lūdzu, atjauniniet savu sinhronizācijas ieejas frāzi.</translation> <translation id="5037239767309817516">Lai izmaiņas stātos spēkā, aizveriet visus Google Chrome logus un restartējiet pārlūku.</translation> <translation id="5132929315877954718">Atklājiet lieliskas lietotnes, spēles, paplašinājumus un motīvus, ko varat izmantot pārlūkā Google Chrome.</translation> -<translation id="5148419164691878332">Chrome saglabās šo paroli jūsu sarakstā “<ph name="SAVED_PASSWORDS_LINK" />” un atcerēsies to nākamajā reizē, kad jums tā būs nepieciešama.</translation> <translation id="5170938038195470297">Jūsu profilu nevar lietot, jo tas ir veidots ar jaunāku Google Chrome versiju. Dažas funkcijas var nebūt pieejamas. Norādiet citu profila direktoriju vai lietojiet jaunāku Chrome versiju.</translation> @@ -259,6 +258,7 @@ <translation id="8547799825197623713">Chrome lietotņu palaišanas programma kanālam Canary</translation> <translation id="8556340503434111824">Ir pieejama jauna Google Chrome versija, un tā ir ātrāka nekā jebkad agrāk.</translation> <translation id="8568392309447938879">Lai izmantotu lietotnes, jums ir jāpierakstās pārlūkā Chrome. Tādējādi pārlūkā Chrome var sinhronizēt jūsu lietotnes, grāmatzīmes, vēsturi, paroles un citus iestatījumus dažādās ierīcēs.</translation> +<translation id="8606668294522778825">Google Chrome var izmantot tīmekļa pakalpojumus, lai uzlabotu jūsu pārlūkošanas pieredzi. Jūs varat arī atspējot šos pakalpojumus. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation> <translation id="8614913330719544658">Google Chrome nereaģē. Vai restartēt to tūlīt?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> ierīce ir atjaunināta.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb index 24189158..088f972 100644 --- a/chrome/app/resources/google_chrome_strings_ml.xtb +++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome കാനറി അപ്ലിക്കേഷനുകൾ</translation> <translation id="1457721931618994305">Google Chrome അപ്ഡേറ്റുചെയ്യുന്നു...</translation> <translation id="1469002951682717133">Chrome അപ്ലിക്കേഷൻ ലോഞ്ചർ</translation> +<translation id="1475773083554142432">Chrome <ph name="SAVED_PASSWORD_LINK" /> എന്നതിൽ ഇത് സംഭരിക്കുകയും നിങ്ങൾക്ക് ആവശ്യമുള്ളപ്പോൾ അത് ഓർക്കുകയും ചെയ്യും.</translation> <translation id="1480489203462860648">ഇത് പരീക്ഷിക്കുക, ഇത് ഇതിനകം ഇൻസ്റ്റാളുചെയ്തതാണ്</translation> <translation id="1553358976309200471">Chrome അപ്ഡേറ്റുചെയ്യുക</translation> <translation id="1587223624401073077">Google Chrome നിങ്ങളുടെ ക്യാമറ ഉപയോഗിക്കുന്നു.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">ഈ മാറ്റം പ്രാബല്യത്തിൽ വരുന്നതിന് സൈൻ ഔട്ട് ചെയ്ത് വീണ്ടും സൈൻ ഇൻ ചെയ്യുക.</translation> <translation id="4458462641685292929">Google Chrome-ലെ മറ്റൊരു പ്രവർത്തനം പുരോഗതിയിലാണ്. പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation> <translation id="4480040274068703980">സൈൻ ഇൻ ചെയ്യുന്നതിലെ പിശക് കാരണം Chrome OS-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല.</translation> -<translation id="4519152997629025674">നിങ്ങളുടെ ബ്രൗസിംഗ് അനുഭവം മെച്ചപ്പെടുത്താൻ Google Chrome <ph name="BEGIN_LINK" />വെബ് സേവനങ്ങൾ<ph name="END_LINK" /> ഉപയോഗിക്കാം. എപ്പോൾ വേണമെങ്കിലും ഓപ്ഷണലായി ഈ സേവനങ്ങളെ പ്രവർത്തനരഹിതമാക്കാം.</translation> <translation id="4561051373932531560">വെബ്ബിലുള്ള ഒരു ഫോണ് നമ്പരില് ക്ലിക്കുചെയ്യുവാനും Skype ഉപയോഗിച്ച് വിളിക്കുവാനും Google Chrome നിങ്ങളെ അനുവദിക്കുന്നു!</translation> <translation id="4567424176335768812">നിങ്ങൾ <ph name="USER_EMAIL_ADDRESS" /> ആയി സൈൻ ഇൻ ചെയ്തിരിക്കുന്നു. സൈൻ ഇൻ ചെയ്തിരിക്കുന്ന എല്ലാ ഉപകരണങ്ങളിലും ബുക്ക്മാർക്കുകളും ചരിത്രവും മറ്റ് ക്രമീകരണങ്ങളും ആക്സസ്സുചെയ്യാൻ ഇപ്പോൾ നിങ്ങൾക്കാകും.</translation> <translation id="4631713731678262610">Chrome മെനുവിൽ മറയ്ക്കുക</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല. നിങ്ങളുടെ സമന്വയ പാസ്ഫ്രെയ്സ് അപ്ഡേറ്റ് ചെയ്യുക.</translation> <translation id="5037239767309817516">ഈ മാറ്റങ്ങള് നടപ്പിലാകുന്നതിനായി ദയവായി എല്ലാ Google Chrome വിന്ഡോകളും അടച്ച് ഇത് വീണ്ടും സമാരംഭിക്കുക.</translation> <translation id="5132929315877954718">Google Chrome-നായി മികച്ച അപ്ലിക്കേഷനുകളും വിപുലീകരണങ്ങളും തീമുകളും കണ്ടെത്തുക.</translation> -<translation id="5148419164691878332">Chrome <ph name="SAVED_PASSWORDS_LINK" /> എന്നതിൽ ഇത് സംഭരിക്കുകയും നിങ്ങൾക്ക് ആവശ്യമുള്ളപ്പോൾ അത് ഓർക്കുകയും ചെയ്യും.</translation> <translation id="5170938038195470297">നിങ്ങളുടെ പ്രൊഫൈൽ Google Chrome-ന്റെ ഒരു പുതിയ പതിപ്പിൽ നിന്നായതിനാൽ ഉപയോഗിക്കാൻ കഴിയില്ല. ചില സവിശേഷതകൾ ലഭ്യമല്ലാതായിരിക്കാം. ദയവായി ഒരു വ്യത്യസ്തമായ പ്രൊഫൈൽ ഡയറക്ടറി വ്യക്തമാക്കുക അല്ലെങ്കിൽ Chrome-ന്റെ ഒരു പുതിയ പതിപ്പ് ഉപയോഗിക്കുക.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Chrome അപ്ലിക്കേഷൻ ലോഞ്ചർ കാനറി</translation> <translation id="8556340503434111824">Google Chrome ന്റെ ഒരു പുതിയ പതിപ്പ് ഉണ്ട്, അത് എന്നത്തേതിലും വേഗതയേറിയതാണ്.</translation> <translation id="8568392309447938879">അപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കാൻ നിങ്ങൾ Chrome-ൽ സൈൻ ഇൻ ചെയ്തിരിക്കേണ്ടതുണ്ട്. ഇത് നിങ്ങളുടെ ഉപകരണങ്ങളിലുടനീളമുള്ള അപ്ലിക്കേഷനുകൾ, ബുക്ക്മാർക്കുകൾ, ചരിത്രം, പാസ്വേഡുകൾ, മറ്റ് ക്രമീകരണങ്ങൾ എന്നിവ സമന്വയിപ്പിക്കാൻ Chrome-നെ അനുവദിക്കുന്നു.</translation> +<translation id="8606668294522778825">നിങ്ങളുടെ ബ്രൗസിംഗ് അനുഭവം മെച്ചപ്പെടുത്താൻ Google Chrome വെബ് സേവനങ്ങൾ ഉപയോഗിക്കാനിടയുണ്ട്. നിങ്ങൾക്ക് ഈ സേവനങ്ങൾ ഓപ്ഷണലായി പ്രവർത്തനരഹിതമാക്കാം. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome പ്രതികരിക്കുന്നില്ല. ഇപ്പോള് വീണ്ടും സമാരംഭിക്കണോ?</translation> <translation id="8667808506758191620">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> അപ് ടു ഡേറ്റാണ്.</translation> <translation id="8669527147644353129">Google Chrome സഹായി</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mr.xtb b/chrome/app/resources/google_chrome_strings_mr.xtb index 6ede084..e91f53e 100644 --- a/chrome/app/resources/google_chrome_strings_mr.xtb +++ b/chrome/app/resources/google_chrome_strings_mr.xtb
@@ -18,6 +18,7 @@ <translation id="1434626383986940139">Chrome Canary Apps</translation> <translation id="1457721931618994305">Google Chrome अद्यतनित करीत आहे...</translation> <translation id="1469002951682717133">Chrome App लाँचर</translation> +<translation id="1475773083554142432">Chrome हे <ph name="SAVED_PASSWORD_LINK" /> सह संचयित करेल आणि पुढच्या वेळी आपल्याला याची गरज असेल तेव्हा ते लक्षात ठेवेल.</translation> <translation id="1480489203462860648">हे वापरून पहा, हे आधीपासून स्थापित आहे</translation> <translation id="1553358976309200471">Chrome अद्यतनित करा</translation> <translation id="1587223624401073077">Google Chrome आपला कॅमेरा वापरत आहे.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">कृपया हा बदल प्रभावी होण्यासाठी साइन आउट करा आणि साइन इन करा.</translation> <translation id="4458462641685292929">Google Chrome वर दुसरे ऑपरेशन प्रगतीपथावर आहे. कृपया नंतर पुन्हा प्रयत्न करा.</translation> <translation id="4480040274068703980">साइन इन करण्यात त्रुटीमुळे Chrome OS आपला डेटा संकालित करू शकले नाही.</translation> -<translation id="4519152997629025674">आपला ब्राउझिंग अनुभव सुधारित करण्यासाठी Google Chrome आपल्या <ph name="BEGIN_LINK" />वेब सेवा<ph name="END_LINK" /> वापरू शकते. आपण कधीही या सेवा पर्यायीपणे अक्षम करू शकता.</translation> <translation id="4561051373932531560">Google Chrome आपल्याला वेबवरील फोन नंबर क्लिक करू देते आणि त्या नंबरवर Skype द्वारा कॉल करू देते!</translation> <translation id="4567424176335768812">आपण <ph name="USER_EMAIL_ADDRESS" /> म्हणून साइन इन केले आहे. आता आपण आपल्या सर्व साइन इन केलेल्या डिव्हाइसेसवरील आपल्या बुकमार्क, इतिहास आणि अन्य सेटिंग्जवर प्रवेश करू शकता.</translation> <translation id="4631713731678262610">Chrome मेनूमध्ये लपवा</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Google Chrome आपला डेटा संकालित करू शकले नाही. कृपया आपला संकालन वाक्यांश अद्यतनित करा.</translation> <translation id="5037239767309817516">कृपया सर्व Google Chrome विंडो बंद करा आणि हा बदल प्रभावी करण्यासाठी त्या पुन्हा लाँच करा.</translation> <translation id="5132929315877954718">Google Chrome साठी उत्कृष्ट अॅप, खेळ, विस्तार आणि थीम शोधा.</translation> -<translation id="5148419164691878332">Chrome हे आपल्या <ph name="SAVED_PASSWORDS_LINK" /> मध्ये संचयित करेल आणि पुढच्या वेळी आपल्याला याची गरज असेल तेव्हा ते लक्षात ठेवेल.</translation> <translation id="5170938038195470297">आपले प्रोफाइल वापरले जाणे शक्य नाही कारण ते Google Chrome च्या नवीनतम आवृत्तीमधील आहे. काही वैशिष्ट्ये अनुपलब्ध असू शकतात. कृपया एक भिन्न प्रोफाइल निर्देशिका निर्दिष्ट करा किंवा Google Chrome ची नवीनतम आवृत्ती वापरा.</translation> <translation id="5176234269072261959">वर्तमान सेटिंग्जचा अहवाल देऊन Chrome ला आणखी चांगले बनविण्यात मदत करा.</translation> @@ -260,6 +259,7 @@ <translation id="8547799825197623713">Chrome App Launcher Canary</translation> <translation id="8556340503434111824">Google Chrome ची नवीन आवृत्ती उपलब्ध आहे, आणि ही नेहमीपेक्षा द्रुत आहे. </translation> <translation id="8568392309447938879">अॅप्स वापरण्यासाठी आपण Chrome मध्ये साइन इन केलेले असणे आवश्यक आहे. हे Chrome ला डिव्हाइसेसवर आपले अॅप्स, बुकमार्क, इतिहास, संकेतशब्द आणि अन्य सेटिंग्ज संकालित करण्याची अनुमती देते.</translation> +<translation id="8606668294522778825">Google Chrome आपला ब्राउझिंग अनुभव सुधारण्यासाठी वेब सेवा वापरू शकते. आपण या सेवा वैकल्पिकपणे अक्षम करू शकता. <ph name="BEGIN_LINK" />अधिक जाणून घ्या<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome प्रतिसाद देत नाही. त्वरित पुन्हा लाँच करायचा?</translation> <translation id="8667808506758191620">आपले <ph name="DEVICE_TYPE" /> अद्ययावत आहे.</translation> <translation id="8669527147644353129">Google Chrome मदतनीस</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ms.xtb b/chrome/app/resources/google_chrome_strings_ms.xtb index 3e67260d..9be6050 100644 --- a/chrome/app/resources/google_chrome_strings_ms.xtb +++ b/chrome/app/resources/google_chrome_strings_ms.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Apl Chrome Canary</translation> <translation id="1457721931618994305">Mengemas kini Google Chrome...</translation> <translation id="1469002951682717133">Pelancar Apl Chrome</translation> +<translation id="1475773083554142432">Chrome akan menyimpan ini dengan <ph name="SAVED_PASSWORD_LINK" /> dan mengingatinya apabila anda memerlukannya nanti.</translation> <translation id="1480489203462860648">Cubalah, ia sudah dipasang</translation> <translation id="1553358976309200471">Kemas Kini Chrome</translation> <translation id="1587223624401073077">Google Chrome menggunakan kamera anda.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Sila log keluar dan log masuk semula supaya perubahan ini boleh dilaksanakan.</translation> <translation id="4458462641685292929">Terdapat operasi lain sedang dijalankan pada Google Chrome. Sila cuba sebentar lagi.</translation> <translation id="4480040274068703980">OS Chrome tidak dapat menyegerakkan data anda disebabkan oleh ralat melog masuk.</translation> -<translation id="4519152997629025674">Google Chrome mungkin menggunakan <ph name="BEGIN_LINK" />perkhidmatan web<ph name="END_LINK" />untuk meningkatkan pengalaman penyemakan imbas anda. Anda boleh memilih untuk melumpuhkan perkhidmatan ini pada bila-bila masa.</translation> <translation id="4561051373932531560">Google Chrome membolehkan anda mengklik nombor telefon pada web dan menghubunginya dengan Skype!</translation> <translation id="4567424176335768812">Anda telah log masuk sebagai <ph name="USER_EMAIL_ADDRESS" />. Sekarang anda boleh mengakses penanda halaman, sejarah dan tetapan anda yang lain pada semua peranti yang anda gunakan untuk log masuk.</translation> <translation id="4631713731678262610">Sembunyikan dalam menu Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome tidak dapat menyegerakkan data anda. Sila kemas kini frasa laluan Segerak anda.</translation> <translation id="5037239767309817516">Sila tutup semua tetingkap dan lancarkannya semula untuk perubahan ini berkesan.</translation> <translation id="5132929315877954718">Temui apl, permainan, sambungan dan tema hebat untuk Google Chrome.</translation> -<translation id="5148419164691878332">Chrome akan menyimpan ini dalam <ph name="SAVED_PASSWORDS_LINK" /> anda dan mengingatinya apabila anda memerlukannya nanti.</translation> <translation id="5170938038195470297">Profil anda tidak boleh digunakan kerana ia adalah dari versi Google Chrome yang lebih baharu. Beberapa ciri mungkin tidak tersedia. Sila tetapkan direktori profil lain atau gunakan versi Chrome yang lebih baharu.</translation> <translation id="5176234269072261959">Bantu menjadikan Chrome lebih baik dengan melaporkan tetapan semasa.</translation> <translation id="5193136243808726294">OS Google Chrome tidak boleh membuka halaman ini.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Pelancar Apl Chrome Canary</translation> <translation id="8556340503434111824">Terdapat versi baharu Google Chrome yang tersedia, dan ia lebih pantas daripada biasa.</translation> <translation id="8568392309447938879">Anda perlu melog masuk ke Chrome untuk menggunakan apl. Ini membenarkan Chrome menyegerakkan apl, penanda halaman, sejarah, kata laluan dan tetapan anda yang lain pada semua peranti.</translation> +<translation id="8606668294522778825">Google Chrome mungkin menggunakan perkhidmatan web untuk meningkatkan pengalaman semakan imbas anda. Anda boleh memilih untuk melumpuhkan perkhidmatan ini. <ph name="BEGIN_LINK" />Ketahui lebih lanjut<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome tidak responsif. Lancarkan semula sekarang?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> anda sudah dikemas kini.</translation> <translation id="8669527147644353129">Pembantu Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_nl.xtb b/chrome/app/resources/google_chrome_strings_nl.xtb index 671595a..5058f45 100644 --- a/chrome/app/resources/google_chrome_strings_nl.xtb +++ b/chrome/app/resources/google_chrome_strings_nl.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome Canary-apps</translation> <translation id="1457721931618994305">Google Chrome wordt bijgewerkt</translation> <translation id="1469002951682717133">App-opstartprogramma van Chrome</translation> +<translation id="1475773083554142432">Chrome slaat dit op met <ph name="SAVED_PASSWORD_LINK" /> en onthoudt dit voor de volgende keer dat je het nodig hebt.</translation> <translation id="1480489203462860648">Probeer het eens, het is al geïnstalleerd</translation> <translation id="1553358976309200471">Chrome updaten</translation> <translation id="1587223624401073077">Google Chrome gebruikt je camera.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Log uit en log weer in om deze wijziging door te voeren.</translation> <translation id="4458462641685292929">Er wordt een andere bewerking in Google Chrome uitgevoerd. Probeer het later opnieuw.</translation> <translation id="4480040274068703980">Chrome OS kan je gegevens niet synchroniseren door een fout tijdens het inloggen.</translation> -<translation id="4519152997629025674">Google Chrome kan <ph name="BEGIN_LINK" />webservices<ph name="END_LINK" /> gebruiken om je internetervaring te verbeteren. Als je wilt, kun je deze services uitschakelen.</translation> <translation id="4561051373932531560">Met Google Chrome kun je klikken op een telefoonnummer op internet om dit via Skype te bellen!</translation> <translation id="4567424176335768812">Je bent ingelogd als <ph name="USER_EMAIL_ADDRESS" />. Je hebt nu toegang tot je bladwijzers, geschiedenis en andere instellingen op al je apparaten waarop je bent ingelogd.</translation> <translation id="4631713731678262610">Verbergen in Chrome-menu</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome kan je gegevens niet synchroniseren. Update je synchronisatiewachtwoord.</translation> <translation id="5037239767309817516">Sluit alle Google Chrome-vensters en start Google Chrome opnieuw om deze wijziging door te voeren.</translation> <translation id="5132929315877954718">Ontdek fantastische apps, games, extensies en thema's voor Google Chrome.</translation> -<translation id="5148419164691878332">Chrome slaat dit op bij je <ph name="SAVED_PASSWORDS_LINK" /> en onthoudt dit voor de volgende keer dat je het nodig hebt.</translation> <translation id="5170938038195470297">Je profiel kan niet worden gebruikt omdat dit afkomstig is van een nieuwere versie van Google Chrome. Sommige functies zijn wellicht niet beschikbaar. Geef een andere profieldirectory op of gebruik een nieuwere versie van Chrome.</translation> @@ -261,6 +260,7 @@ <translation id="8547799825197623713">Chrome App Launcher Canary</translation> <translation id="8556340503434111824">Er is een nieuwe versie van Google Chrome en deze is sneller dan ooit.</translation> <translation id="8568392309447938879">Je moet zijn ingelogd bij Chrome om apps te gebruiken. Zo kan Chrome je apps, bladwijzers, geschiedenis, wachtwoorden en andere instellingen synchroniseren met al je apparaten.</translation> +<translation id="8606668294522778825">Google Chrome kan webservices gebruiken om je browse-ervaring te verbeteren. Je kunt deze services eventueel uitschakelen. <ph name="BEGIN_LINK" />Meer informatie<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome reageert niet meer. Nu opnieuw starten?</translation> <translation id="8667808506758191620">Je <ph name="DEVICE_TYPE" /> is up-to-date.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_no.xtb b/chrome/app/resources/google_chrome_strings_no.xtb index 57ec8de9..f0f5a0fa 100644 --- a/chrome/app/resources/google_chrome_strings_no.xtb +++ b/chrome/app/resources/google_chrome_strings_no.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary-apper</translation> <translation id="1457721931618994305">Oppdaterer Google Chrome …</translation> <translation id="1469002951682717133">Chrome Appvelger</translation> +<translation id="1475773083554142432">Chrome lagrer dette med <ph name="SAVED_PASSWORD_LINK" /> og husker det neste gang du trenger det.</translation> <translation id="1480489203462860648">Prøv det – det er allerede installert</translation> <translation id="1553358976309200471">Oppdater Chrome</translation> <translation id="1587223624401073077">Google Chrome bruker kameraet ditt.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Logg deg av og så på igjen for at denne endringen skal tre i kraft.</translation> <translation id="4458462641685292929">En annen handling er i gang på Google Chrome. Prøv på nytt senere.</translation> <translation id="4480040274068703980">Chrome OS kunne ikke synkronisere dataene dine på grunn av en feil under pålogging.</translation> -<translation id="4519152997629025674">Google Chrome kan bruke <ph name="BEGIN_LINK" />nettjenester<ph name="END_LINK" /> for å forbedre surfeopplevelsen din. Du kan når som helst velge å slå av disse tjenestene.</translation> <translation id="4561051373932531560">Med Google Chrome kan du klikke på et telefonnummer på Internett og ringe ved bruk av Skype!</translation> <translation id="4567424176335768812">Du er logget på som <ph name="USER_EMAIL_ADDRESS" />. Nå kan du bruke bokmerkene, loggen og andre innstillinger på alle enhetene du er logget på.</translation> <translation id="4631713731678262610">Skjul i Chrome-menyen</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome kunne ikke synkronisere dataene dine. Oppdater passordfrasen for synkronisering.</translation> <translation id="5037239767309817516">For at endringen skal tre i kraft, må du lukke alle vinduer og starte Google Chrome på nytt.</translation> <translation id="5132929315877954718">Oppdag flotte apper, spill, utvidelser og temaer for Google Chrome.</translation> -<translation id="5148419164691878332">Chrome lagrer dette i <ph name="SAVED_PASSWORDS_LINK" /> og husker det neste gang du trenger det.</translation> <translation id="5170938038195470297">Profilen din kan ikke brukes fordi den er fra en nyere versjon av Google Chrome. Enkelte funksjoner kan være utilgjengelige. Angi en annen profilkatalog, eller bruk en nyere versjon av Chrome.</translation> <translation id="5176234269072261959">Bidra til å gjøre Chrome bedre ved å rapportere gjeldende innstillinger</translation> <translation id="5193136243808726294">Google Chrome OS kan ikke åpne denne siden</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome-appvelger – Canary</translation> <translation id="8556340503434111824">En ny versjon av Google Chrome er tilgjengelig, og den er nå raskere en noen sinne.</translation> <translation id="8568392309447938879">Du må være logget på Chrome for å bruke apper. På denne måten kan Chrome synkronisere appene, bokmerkene og passordene samt loggen din og andre innstillinger, på alle enhetene dine.</translation> +<translation id="8606668294522778825">Google Chrome bruker nettjenester for å forbedre nettopplevelsen din. Du kan deaktivere disse tjenestene. <ph name="BEGIN_LINK" />Finn ut mer<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome svarer ikke. Vil du starte på nytt nå?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" />-enheten er oppdatert.</translation> <translation id="8669527147644353129">Google Chrome-hjelper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb index 71219907..fad92276 100644 --- a/chrome/app/resources/google_chrome_strings_pl.xtb +++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplikacje Chrome w wersji poglądowej</translation> <translation id="1457721931618994305">Aktualizowanie Google Chrome...</translation> <translation id="1469002951682717133">Program uruchamiający aplikacje Chrome</translation> +<translation id="1475773083554142432">Chrome zapisze to hasło w funkcji <ph name="SAVED_PASSWORD_LINK" /> i zapamięta je do użycia w przyszłości.</translation> <translation id="1480489203462860648">Wypróbuj go – jest już zainstalowany</translation> <translation id="1553358976309200471">Zaktualizuj Chrome</translation> <translation id="1587223624401073077">Google Chrome używa Twojej kamery.</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">Wyloguj się i zaloguj ponownie, by zmiana zaczęła obowiązywać.</translation> <translation id="4458462641685292929">Google Chrome wykonuje teraz inną operację. Spróbuj ponownie później.</translation> <translation id="4480040274068703980">System operacyjny Chrome nie może zsynchronizować danych z powodu błędu logowania.</translation> -<translation id="4519152997629025674">Google Chrome może korzystać z <ph name="BEGIN_LINK" />usług sieciowych<ph name="END_LINK" />, by poprawić wygodę użytkowania. Można je wyłączyć w dowolnym momencie.</translation> <translation id="4561051373932531560">W przeglądarce Google Chrome możesz kliknąć numer telefonu zamieszczony w sieci i zadzwonić na niego za pośrednictwem usługi Skype!</translation> <translation id="4567424176335768812">Jesteś zalogowany jako <ph name="USER_EMAIL_ADDRESS" />. Teraz możesz korzystać ze swoich zakładek, historii i innych ustawień na wszystkich zalogowanych urządzeniach.</translation> <translation id="4631713731678262610">Ukryj w menu Chrome</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Google Chrome nie może zsynchronizować danych. Zaktualizuj hasło synchronizacji.</translation> <translation id="5037239767309817516">Zamknij wszystkie okna przeglądarki Google Chrome i uruchom ją ponownie, aby zastosować zmiany.</translation> <translation id="5132929315877954718">Odkryj znakomite aplikacje, gry, rozszerzenia i motywy do przeglądarki Google Chrome.</translation> -<translation id="5148419164691878332">Chrome zapisze to hasło (tutaj: <ph name="SAVED_PASSWORDS_LINK" />) i zapamięta je do użycia w przyszłości.</translation> <translation id="5170938038195470297">Nie można użyć Twojego profilu, ponieważ został utworzony w nowszej wersji Google Chrome. Niektóre funkcje mogą być niedostępne. Podaj inny katalog z profilem lub użyj nowszej wersji Chrome.</translation> <translation id="5176234269072261959">Pomóż udoskonalić Chrome, zgłaszając bieżące ustawienia.</translation> <translation id="5193136243808726294">System operacyjny Google Chrome nie może otworzyć tej strony.</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Program uruchamiający aplikacje Chrome w wersji poglądowej</translation> <translation id="8556340503434111824">Dostępna jest nowa, szybsza niż kiedykolwiek wersja przeglądarki Google Chrome.</translation> <translation id="8568392309447938879">Jeśli chcesz korzystać z aplikacji, musisz zalogować się w Chrome, by Twoje aplikacje, zakładki, historia, hasła i inne ustawienia były synchronizowane między urządzeniami.</translation> +<translation id="8606668294522778825">Aby poprawić wygodę przeglądania, Google Chrome może korzystać z usług internetowych. Możesz je opcjonalnie wyłączyć. <ph name="BEGIN_LINK" />Dowiedz się więcej<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Przeglądarka Google Chrome nie odpowiada. Uruchomić ją teraz ponownie?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> używa aktualnej wersji oprogramowania.</translation> <translation id="8669527147644353129">Pomoc Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb index 5b4ea89..45518c2 100644 --- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb +++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplicativos Canary do Google Chrome</translation> <translation id="1457721931618994305">Atualizando o Google Chrome...</translation> <translation id="1469002951682717133">Inicializador de aplicativos do Google Chrome</translation> +<translation id="1475773083554142432">O Chrome armazenará essa senha com <ph name="SAVED_PASSWORD_LINK" /> e lembrará dela na próxima vez que você precisar.</translation> <translation id="1480489203462860648">Experimente, já está instalado</translation> <translation id="1553358976309200471">Atualizar o Google Chrome</translation> <translation id="1587223624401073077">O Google Chrome está usando sua câmera.</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">Saia e faça login novamente para que esta alteração entre em vigor.</translation> <translation id="4458462641685292929">Outra operação está em andamento no Google Chrome. Tente novamente mais tarde.</translation> <translation id="4480040274068703980">O Chrome OS não pôde sincronizar seus dados devido a um erro durante o login.</translation> -<translation id="4519152997629025674">O Google Chrome pode usar <ph name="BEGIN_LINK" />serviços da Web<ph name="END_LINK" /> para melhorar a qualidade da sua navegação. Você pode desativar esses serviços a qualquer momento.</translation> <translation id="4561051373932531560">O Google Chrome permite que você clique em um número de telefone na web e ligue para ele com o Skype!</translation> <translation id="4567424176335768812">Você está conectado como <ph name="USER_EMAIL_ADDRESS" />. Agora você pode acessar seus favoritos, histórico e outras configurações em todos os seus dispositivos conectados.</translation> <translation id="4631713731678262610">Esconder no menu do Google Chrome</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">O Google Chrome não pôde sincronizar seus dados. Atualize sua senha de sincronização.</translation> <translation id="5037239767309817516">Feche todas as janelas do Google Chrome e reinicie-o para que essa alteração entre em vigor.</translation> <translation id="5132929315877954718">Descubra ótimos aplicativos, jogos, extensões e temas para o Google Chrome.</translation> -<translation id="5148419164691878332">O Chrome armazenará essa senha na sua <ph name="SAVED_PASSWORDS_LINK" /> e lembrará dela na próxima vez que você precisar.</translation> <translation id="5170938038195470297">Seu perfil não pode ser utilizado pois foi criado em uma versão mais recente do Google Chrome. Alguns recursos podem não estar disponíveis. Especifique um diretório de perfil diferente ou utilize uma versão mais recente do Google Chrome.</translation> <translation id="5176234269072261959">Ajude a melhorar o Google Chrome informando as configurações atuais.</translation> <translation id="5193136243808726294">O Google Chrome OS não pode abrir essa página.</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Iniciador de aplicativos do Google Chrome no Canary</translation> <translation id="8556340503434111824">Há uma nova versão ainda mais rápida do Google Chrome disponível.</translation> <translation id="8568392309447938879">É necessário fazer login no Google Chrome para usar aplicativos. Isso permite que o Chrome sincronize seus aplicativos, favoritos, histórico, senhas e outras configurações entre os dispositivos.</translation> +<translation id="8606668294522778825">O Google Chrome pode usar os serviços da Web para melhorar sua experiência de navegação. Se desejar, é possível desativar esses serviços. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation> <translation id="8614913330719544658">O Google Chrome não responde. Reiniciar agora?</translation> <translation id="8667808506758191620">Seu dispositivo <ph name="DEVICE_TYPE" /> está atualizado.</translation> <translation id="8669527147644353129">Auxiliar do Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-PT.xtb b/chrome/app/resources/google_chrome_strings_pt-PT.xtb index 0f83da8..a826a05 100644 --- a/chrome/app/resources/google_chrome_strings_pt-PT.xtb +++ b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplicações do Chrome para o Canary</translation> <translation id="1457721931618994305">A atualizar o Google Chrome...</translation> <translation id="1469002951682717133">Iniciador de Aplicações do Chrome</translation> +<translation id="1475773083554142432">O Chrome armazena esta informação com o <ph name="SAVED_PASSWORD_LINK" /> e lembra-a da próxima vez que precisar.</translation> <translation id="1480489203462860648">Experimente, já está instalado</translation> <translation id="1553358976309200471">Atualizar o Chrome</translation> <translation id="1587223624401073077">O Google Chrome está a utilizar a câmara.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Termine sessão e volte a iniciar sessão para que esta alteração tenha efeito.</translation> <translation id="4458462641685292929">Está em curso outra operação no Google Chrome. Tente novamente mais tarde.</translation> <translation id="4480040274068703980">O SO Chrome não conseguiu sincronizar os dados devido a um erro no início de sessão.</translation> -<translation id="4519152997629025674">O Google Chrome pode utilizar <ph name="BEGIN_LINK" />serviços Web<ph name="END_LINK" /> para melhorar a sua experiência de navegação. Se pretender, pode desativar estes serviços a qualquer momento.</translation> <translation id="4561051373932531560">O Google Chrome permite-lhe clicar num número de telefone na Web e fazer a chamada com o Skype!</translation> <translation id="4567424176335768812">Tem sessão iniciada como <ph name="USER_EMAIL_ADDRESS" />. Agora, pode aceder aos seus marcadores, ao histórico e a outras definições em todos os dispositivos com sessão iniciada.</translation> <translation id="4631713731678262610">Ocultar no menu do Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">O Google Chrome não conseguiu sincronizar os dados. Atualize a frase de acesso da Sincronização.</translation> <translation id="5037239767309817516">Feche todas as janelas do Google Chrome e reinicie-o para que esta alteração tenha efeito.</translation> <translation id="5132929315877954718">Descubra fantásticas aplicações, jogos, extensões e temas para o Google Chrome.</translation> -<translation id="5148419164691878332">O Chrome armazena esta informação nas <ph name="SAVED_PASSWORDS_LINK" /> e lembra-a da próxima vez que precisar.</translation> <translation id="5170938038195470297">O seu perfil não pode ser utilizado pois pertence a uma versão mais recente do Google Chrome. Algumas funcionalidades poderão estar indisponíveis. Especifique um diretório de perfil diferente ou utilize uma versão mais recente do Google Chrome.</translation> <translation id="5176234269072261959">Ajude a melhorar o Google Chrome ao comunicar as definições atuais.</translation> <translation id="5193136243808726294">O Google Chrome SO não consegue abrir esta página.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Iniciador de Aplicações do Chrome para o Canary</translation> <translation id="8556340503434111824">Está disponível uma nova versão do Google Chrome, mais rápida do que nunca.</translation> <translation id="8568392309447938879">Tem de ter sessão iniciada no Chrome para utilizar aplicações. Deste modo, o Chrome pode sincronizar as aplicações, os marcadores, o histórico, as palavras-passe e outras definições entre dispositivos.</translation> +<translation id="8606668294522778825">O Google Chrome poderá utilizar serviços Web para melhorar a sua experiência de navegação. Poderá optar por desativar estes serviços. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation> <translation id="8614913330719544658">O Google Chrome não responde. Reiniciar agora?</translation> <translation id="8667808506758191620">O seu <ph name="DEVICE_TYPE" /> está atualizado.</translation> <translation id="8669527147644353129">Ajudante do Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb index 3fcee8d..aea20bb 100644 --- a/chrome/app/resources/google_chrome_strings_ro.xtb +++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Aplicații Chrome Canary</translation> <translation id="1457721931618994305">Se actualizează Google Chrome...</translation> <translation id="1469002951682717133">Lansatorul de aplicații Chrome</translation> +<translation id="1475773083554142432">Chrome o va stoca folosind <ph name="SAVED_PASSWORD_LINK" /> și o va reține pentru data următoare când ai nevoie.</translation> <translation id="1480489203462860648">Încercați-l, este deja instalat</translation> <translation id="1553358976309200471">Actualizează Chrome</translation> <translation id="1587223624401073077">Google Chrome utilizează camera foto.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Pentru ca modificarea să fie aplicată, deconectați-vă și conectați-vă din nou.</translation> <translation id="4458462641685292929">O altă operație din Google Chrome este în curs de desfășurare. Încearcă din nou mai târziu.</translation> <translation id="4480040274068703980">Sistemul de operare Chrome nu a putut sincroniza datele din cauza unei erori la conectare.</translation> -<translation id="4519152997629025674">Google Chrome poate folosi <ph name="BEGIN_LINK" />servicii web<ph name="END_LINK" /> pentru a îmbunătăți experiența de navigare. Poți dezactiva aceste servicii oricând.</translation> <translation id="4561051373932531560">Cu Google Chrome, poți să dai clic pe un număr de telefon de pe web pentru a-l apela cu Skype!</translation> <translation id="4567424176335768812">V-ați conectat ca <ph name="USER_EMAIL_ADDRESS" />. Acum vă puteți accesa marcajele, istoricul și alte setări de pe toate dispozitivele pe care v-ați conectat.</translation> <translation id="4631713731678262610">Ascunde în meniul Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome nu a putut sincroniza datele. Actualizați expresia de acces pentru sincronizare.</translation> <translation id="5037239767309817516">Pentru ca această modificare să aibă efect, închide toate ferestrele Google Chrome și repornește-l.</translation> <translation id="5132929315877954718">Descoperă aplicații, jocuri, extensii și teme extraordinare pentru Google Chrome.</translation> -<translation id="5148419164691878332">Chrome o va stoca în <ph name="SAVED_PASSWORDS_LINK" /> și o va reține pentru data următoare când ai nevoie.</translation> <translation id="5170938038195470297">Profilul dvs. nu poate fi utilizat, deoarece provine de la o versiune Google Chrome mai recentă. Este posibil ca unele funcții să nu fie disponibile. Specificați un director de profil diferit sau utilizați o versiune Chrome mai nouă.</translation> <translation id="5176234269072261959">Contribuie la îmbunătățirea browserului Chrome raportând setările actuale.</translation> <translation id="5193136243808726294">Sistemul de operare Google Chrome nu poate deschide pagina.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Lansatorul de aplicații Chrome Canary</translation> <translation id="8556340503434111824">Este disponibilă o nouă versiune de Google Chrome, iar aceasta este mai rapidă ca oricând.</translation> <translation id="8568392309447938879">Trebuie să vă conectați la Chrome pentru a folosi aplicațiile. Astfel, Chrome vă poate sincroniza aplicațiile, marcajele, istoricul, parolele și alte setări pe toate dispozitivele.</translation> +<translation id="8606668294522778825">Este posibil ca Google Chrome să folosească servicii web pentru a-ți îmbunătăți experiența de navigare. Poți să dezactivezi aceste servicii. <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome nu mai răspunde. Îl repornești acum?</translation> <translation id="8667808506758191620">Dispozitivul <ph name="DEVICE_TYPE" /> este actualizat.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ru.xtb b/chrome/app/resources/google_chrome_strings_ru.xtb index 34510627..c1d5afe 100644 --- a/chrome/app/resources/google_chrome_strings_ru.xtb +++ b/chrome/app/resources/google_chrome_strings_ru.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Приложения Chrome Canary</translation> <translation id="1457721931618994305">Выполняется обновление Google Chrome...</translation> <translation id="1469002951682717133">Панель запуска приложений Chrome</translation> +<translation id="1475773083554142432">Chrome добавит его к другим сохраненным паролям (<ph name="SAVED_PASSWORD_LINK" />) и запомнит для следующих визитов.</translation> <translation id="1480489203462860648">Запустить Chrome (уже установлен)</translation> <translation id="1553358976309200471">Обновить Chrome</translation> <translation id="1587223624401073077">Google Chrome использует камеру.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Чтобы изменения вступили в силу, выполните вход еще раз.</translation> <translation id="4458462641685292929">Google Chrome выполняет другую операцию. Повторите попытку позже.</translation> <translation id="4480040274068703980">Не удалось синхронизировать данные из-за ошибки входа в аккаунт.</translation> -<translation id="4519152997629025674">Для более качественной работы Google Chrome может использовать <ph name="BEGIN_LINK" />веб-сервисы<ph name="END_LINK" />. При необходимости вы можете отключить их.</translation> <translation id="4561051373932531560">В Google Chrome вы можете нажать на любой номер телефона и позвонить на него через Skype!</translation> <translation id="4567424176335768812">Вы вошли с помощью аккаунта <ph name="USER_EMAIL_ADDRESS" />. Ваши закладки, история и другие настройки теперь доступны на всех устройствах, где вы используете этот аккаунт.</translation> <translation id="4631713731678262610">Не показывать в меню Google Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome не удалось синхронизировать данные. Обновите кодовую фразу в Sync.</translation> <translation id="5037239767309817516">Чтобы изменения вступили в силу, закройте все окна Google Chrome и перезапустите браузер.</translation> <translation id="5132929315877954718">Широкий выбор приложений, игр, расширений и тем для Google Chrome.</translation> -<translation id="5148419164691878332">Chrome добавит его к другим сохраненным паролям Google (<ph name="SAVED_PASSWORDS_LINK" />) и запомнит для следующих визитов.</translation> <translation id="5170938038195470297">Использовать этот профиль невозможно, так как он был создан в более новой версии Google Chrome. Некоторые функции могут быть недоступны. Укажите другой каталог профиля или установите более новую версию Chrome.</translation> <translation id="5176234269072261959">Отправьте отчет о текущих настройках Google Chrome и помогите усовершенствовать работу браузера.</translation> <translation id="5193136243808726294">Chrome OS не может открыть эту страницу</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Панель запуска Chrome Canary</translation> <translation id="8556340503434111824">Доступна новая версия Google Chrome, которая стала еще быстрее.</translation> <translation id="8568392309447938879">Для работы с приложениями необходимо выполнить вход в Chrome. Это обеспечит синхронизацию приложений, закладок, истории, паролей и настроек, сохраненных на всех ваших устройствах.</translation> +<translation id="8606668294522778825">Для более качественной работы Google Chrome может использовать веб-сервисы. При необходимости вы можете отключить их. <ph name="BEGIN_LINK" />Подробнее…<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome не отвечает. Перезапустить сейчас?</translation> <translation id="8667808506758191620">На устройстве <ph name="DEVICE_TYPE" /> используется последняя версия Chromium OS.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb index 2d3f4b5..cc873a0 100644 --- a/chrome/app/resources/google_chrome_strings_sk.xtb +++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Aplikácie Chrome Canary</translation> <translation id="1457721931618994305">Prebieha aktualizácia prehliadača Google Chrome...</translation> <translation id="1469002951682717133">Spúšťač aplikácií Chrome</translation> +<translation id="1475773083554142432">Chrome uloží toto heslo pomocou funkcie <ph name="SAVED_PASSWORD_LINK" /> a ponúkne vám ho, keď ho budete najbližšie potrebovať.</translation> <translation id="1480489203462860648">Vyskúšať, prehliadač je už nainštalovaný</translation> <translation id="1553358976309200471">Aktualizovať Chrome</translation> <translation id="1587223624401073077">Google Chrome používa vašu kameru.</translation> @@ -117,7 +118,6 @@ <translation id="4458285410772214805">Ak chcete, aby sa zmeny prejavili, odhláste sa a znova sa prihláste.</translation> <translation id="4458462641685292929">V prehliadači Google Chrome práve prebieha ďalšia operácia. Skúste to znova neskôr.</translation> <translation id="4480040274068703980">Systému OS Chrome sa nepodarilo synchronizovať vaše údaje, pretože sa pri prihlasovaní vyskytla chyba.</translation> -<translation id="4519152997629025674">Google Chrome môže používať <ph name="BEGIN_LINK" />webové služby<ph name="END_LINK" />, aby vám spríjemnil prehliadanie. Tieto služby môžete kedykoľvek zakázať.</translation> <translation id="4561051373932531560">Prehliadač Google Chrome vám umožňuje vybrať telefónne číslo na webe a zavolať naň pomocou aplikácie Skype.</translation> <translation id="4567424176335768812">Ste prihlásený/-á ako <ph name="USER_EMAIL_ADDRESS" />. Teraz môžete na všetkých zariadeniach, kde ste prihlásený/-á, pristupovať k svojim záložkám, histórii a ďalším nastaveniam.</translation> <translation id="4631713731678262610">Skryť v Ponuke Chrome</translation> @@ -140,7 +140,6 @@ <translation id="5028489144783860647">Prehliadaču Google Chrome sa nepodarilo synchronizovať vaše údaje. Aktualizujte prístupovú frázu synchronizácie.</translation> <translation id="5037239767309817516">Táto zmena sa prejaví po zavretí všetkých okien prehliadača Google Chrome a jeho opätovnom spustení.</translation> <translation id="5132929315877954718">Objavte skvelé aplikácie, hry, rozšírenia a motívy pre prehliadač Google Chrome.</translation> -<translation id="5148419164691878332">Chrome uloží toto heslo do vašich <ph name="SAVED_PASSWORDS_LINK" /> a ponúkne vám ho, keď ho budete najbližšie potrebovať.</translation> <translation id="5170938038195470297">Váš profil sa nedá použiť, pretože pochádza z novšej verzie prehliadača Google Chrome. Niektoré funkcie môžu byť nedostupné. Zadajte iný adresár profilu alebo použite novšiu verziu prehliadača Chrome.</translation> @@ -261,6 +260,7 @@ <translation id="8547799825197623713">Spúšťač aplikácií Chrome Canary</translation> <translation id="8556340503434111824">K dispozícii je nová verzia prehliadača Google Chrome, ktorá je rýchlejšia ako kedykoľvek predtým.</translation> <translation id="8568392309447938879">Aplikácie môžete používať až po prihlásení do prehliadača Chrome. Prehliadaču Chrome tým umožníte synchronizovať vaše aplikácie, záložky, históriu, heslá a ďalšie nastavenia na všetkých zariadeniach.</translation> +<translation id="8606668294522778825">Prehliadač Google Chrome môže na vylepšenie prehliadania používať webové služby. Tieto služby môžete podľa potreby zakázať. <ph name="BEGIN_LINK" />Viac informácií<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome nereaguje. Chcete ho spustiť znova?</translation> <translation id="8667808506758191620">Vaše zariadenie <ph name="DEVICE_TYPE" /> je aktuálne.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sl.xtb b/chrome/app/resources/google_chrome_strings_sl.xtb index 996c28b..f99a5790 100644 --- a/chrome/app/resources/google_chrome_strings_sl.xtb +++ b/chrome/app/resources/google_chrome_strings_sl.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Delovne različice aplikacij za Chrome</translation> <translation id="1457721931618994305">Posodabljanje Google Chroma ...</translation> <translation id="1469002951682717133">Zaganjalnik aplikacij v Chromu</translation> +<translation id="1475773083554142432">Chrome bo shranil to s tem: <ph name="SAVED_PASSWORD_LINK" /> in priklical, ko to naslednjič potrebujete.</translation> <translation id="1480489203462860648">Preskusite ga, je že nameščen.</translation> <translation id="1553358976309200471">Posodobi Chrome</translation> <translation id="1587223624401073077">Google Chrome uporablja vašo kamero.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Odjavite se in znova prijavite, da bodo te spremembe začele veljati.</translation> <translation id="4458462641685292929">Poteka druga operacija v Google Chromu. Poskusite znova pozneje.</translation> <translation id="4480040274068703980">Chrome OS ni mogel sinhronizirati podatkov zaradi napake pri prijavi.</translation> -<translation id="4519152997629025674">Google Chrome lahko za izboljšanje izkušnje brskanja uporablja <ph name="BEGIN_LINK" />spletne storitve<ph name="END_LINK" />. Te storitve lahko kadar koli onemogočite, če želite.</translation> <translation id="4561051373932531560">Google Chrome vam omogoča, da na spletu kliknete telefonsko številko in jo pokličete prek Skypa.</translation> <translation id="4567424176335768812">Prijavljeni ste kot <ph name="USER_EMAIL_ADDRESS" />. Zdaj imate dostop do zaznamkov, zgodovine in drugih nastavitev v vseh napravah, v katerih ste prijavljeni.</translation> <translation id="4631713731678262610">Skrij v meniju Chroma</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome ni mogel sinhronizirati podatkov. Posodobite geslo za sinhroniziranje.</translation> <translation id="5037239767309817516">Zaprite vsa okna brskalnika Google Chrome in ga znova zaženite, da uveljavite spremembe.</translation> <translation id="5132929315877954718">Odkrijte zanimive aplikacije, igre, razširitve in teme za Google Chrome.</translation> -<translation id="5148419164691878332">Chrome bo shranil to tukaj: <ph name="SAVED_PASSWORDS_LINK" /> in priklical, ko to naslednjič potrebujete.</translation> <translation id="5170938038195470297">Vašega profila ni mogoče uporabiti, ker je iz novejše različice Google Chroma. Nekatere funkcije morda ne bodo na voljo. Navedite drug imenik profila ali uporabite novejšo različico Google Chroma.</translation> @@ -263,6 +262,8 @@ <translation id="8547799825197623713">Delovna različica Chromovega zaganjalnika aplikacij</translation> <translation id="8556340503434111824">Na voljo je nova različica Google Chroma, ki je najhitrejša doslej.</translation> <translation id="8568392309447938879">Če želite uporabljati aplikacije, morate biti prijavljeni v Chrome. Ko se prijavite, lahko Chrome vaše aplikacije, zaznamke, gesla in druge nastavitve sinhronizira z vsemi napravami.</translation> +<translation id="8606668294522778825">Google Chrome lahko za izboljšanje izkušnje pri brskanju uporabi spletne storitve. +Te storitve lahko morda onemogočite. <ph name="BEGIN_LINK" />Več o tem<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome se ne odziva. Ga želite znova zagnati?</translation> <translation id="8667808506758191620">Naprava <ph name="DEVICE_TYPE" /> je posodobljena.</translation> <translation id="8669527147644353129">Pomočnik za Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb index f27a2d06..f2d6f190 100644 --- a/chrome/app/resources/google_chrome_strings_sr.xtb +++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome Canary апликације</translation> <translation id="1457721931618994305">Ажурирање Google Chrome-а...</translation> <translation id="1469002951682717133">Покретач Chrome апликација</translation> +<translation id="1475773083554142432">Chrome ће сачувати ове податке у услузи <ph name="SAVED_PASSWORD_LINK" /> и сетиће их се када вам следећи пут буду потребни.</translation> <translation id="1480489203462860648">Испробајте га, већ је инсталиран</translation> <translation id="1553358976309200471">Ажурирај Chrome</translation> <translation id="1587223624401073077">Google Chrome користи камеру.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Одјавите се и поново се пријавите да би ова промена ступила на снагу.</translation> <translation id="4458462641685292929">Друга радња у Google Chrome-у је у току. Пробајте поново касније.</translation> <translation id="4480040274068703980">Chrome ОС не може да синхронизује податке због грешке при пријављивању.</translation> -<translation id="4519152997629025674">Google Chrome може да користи <ph name="BEGIN_LINK" />веб-услуге<ph name="END_LINK" /> да би побољшао искуство прегледања. Ако желите, можете да онемогућите ове услуге у било ком тренутку.</translation> <translation id="4561051373932531560">Google Chrome вам омогућава да кликнете на број телефона на вебу и да га позовете помоћу Skype-а!</translation> <translation id="4567424176335768812">Пријављени сте као <ph name="USER_EMAIL_ADDRESS" />. Сада можете да приступате обележивачима, историји и другим подешавањима на свим уређајима на којима сте пријављени.</translation> <translation id="4631713731678262610">Сакриј у Chrome менију</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome не може да синхронизује податке. Ажурирајте приступну фразу за Синхронизацију.</translation> <translation id="5037239767309817516">Затворите све прозоре Google Chrome прегледача и поново га покрените да би ова промена ступила на снагу.</translation> <translation id="5132929315877954718">Откријте одличне апликације, игре, додатке и теме за Google Chrome.</translation> -<translation id="5148419164691878332">Chrome ће сачувати ове податке у услузи <ph name="SAVED_PASSWORDS_LINK" /> и сетиће их се када вам следећи пут буду потребни.</translation> <translation id="5170938038195470297">Профил не може да се користи јер је из новије верзије Google Chrome-а. Неке функције су можда недоступне. Наведите други директоријум профила или користите новију верзију Chrome-а.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Покретач Chrome апликација Canary</translation> <translation id="8556340503434111824">Доступна је нова верзија Google Chrome прегледача, бржа него икад пре.</translation> <translation id="8568392309447938879">Треба да будете пријављени у Chrome да бисте користили апликације. То омогућава Chrome-у да синхронизује апликације, обележиваче, историју, лозинке и друга подешавања на више уређаја.</translation> +<translation id="8606668294522778825">Google Chrome може да користи веб-услуге да би побољшао доживљај прегледања. Можете опционално да онемогућите те услуге. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome не реагује. Желите ли да га одмах поново покренете?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> је ажуриран.</translation> <translation id="8669527147644353129">Google Chrome помоћник</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sv.xtb b/chrome/app/resources/google_chrome_strings_sv.xtb index bc3a0c5..b4b7d8f 100644 --- a/chrome/app/resources/google_chrome_strings_sv.xtb +++ b/chrome/app/resources/google_chrome_strings_sv.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Chrome Canary-appar</translation> <translation id="1457721931618994305">Uppdaterar Google Chrome ...</translation> <translation id="1469002951682717133">Startprogrammet för appar i Chrome</translation> +<translation id="1475773083554142432">Chrome sparar detta i <ph name="SAVED_PASSWORD_LINK" /> och kommer ihåg det nästa gång du behöver det.</translation> <translation id="1480489203462860648">Testa, webbläsaren är redan installerad</translation> <translation id="1553358976309200471">Uppdatera Chrome</translation> <translation id="1587223624401073077">Google Chrome använder din kamera.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Den här ändringen träder inte i kraft förrän du loggat ut och sedan loggar in igen.</translation> <translation id="4458462641685292929">En annan process i Google Chrome pågår. Försök igen senare.</translation> <translation id="4480040274068703980">Det gick inte att synkronisera data med Chrome OS på grund av ett inloggningsfel.</translation> -<translation id="4519152997629025674">Google Chrome kan använda <ph name="BEGIN_LINK" />webbtjänster<ph name="END_LINK" /> för att förbättra din upplevelse när du surfar. Om du vill kan du inaktivera sådana tjänster.</translation> <translation id="4561051373932531560">I Google Chrome kan du klicka på ett telefonnummer på nätet och ringa det med Skype!</translation> <translation id="4567424176335768812">Du är inloggad som <ph name="USER_EMAIL_ADDRESS" />. Nu kan du komma åt dina bokmärken, historik och andra inställningar på alla enheter som du är inloggad på.</translation> <translation id="4631713731678262610">Dölj i Chrome-menyn</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome kunde inte synkronisera data. Uppdatera lösenfrasen för synkroniseringen.</translation> <translation id="5037239767309817516">Stäng alla fönster i Google Chrome och starta om så att ändringen genomförs.</translation> <translation id="5132929315877954718">Upptäck fantastiska program, spel, tillägg och teman för Google Chrome.</translation> -<translation id="5148419164691878332">Chrome sparar det i <ph name="SAVED_PASSWORDS_LINK" /> och kommer ihåg det nästa gång du behöver det.</translation> <translation id="5170938038195470297">Profilen kan inte användas eftersom den tillhör en nyare version av Google Chrome. Vissa funktioner är kanske inte tillgängliga. Ange en annan profilkatalog om du vill använda en nyare version av Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Startprogrammet för appar i Chrome Canary</translation> <translation id="8556340503434111824">Det finns en ny version av Google Chrome och den är snabbare än någonsin.</translation> <translation id="8568392309447938879">Du måste logga in i Chrome om du vill använda appar. När du gör det synkroniseras appar, bokmärken, historik, lösenord och andra inställningar på de enheter där Chrome används.</translation> +<translation id="8606668294522778825">Google Chrome kan använda webbtjänster för att förbättra din upplevelse på webben. Du kan inaktivera dessa tjänster om du vill. <ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome svarar inte. Vill du starta om nu?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> är uppdaterad.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sw.xtb b/chrome/app/resources/google_chrome_strings_sw.xtb index 13b9622c..4758864 100644 --- a/chrome/app/resources/google_chrome_strings_sw.xtb +++ b/chrome/app/resources/google_chrome_strings_sw.xtb
@@ -19,6 +19,7 @@ <translation id="1434626383986940139">Programu za Chrome Canary</translation> <translation id="1457721931618994305">Inasasisha Google Chrome...</translation> <translation id="1469002951682717133">Kizinduzi cha Programu za Chrome</translation> +<translation id="1475773083554142432">Chrome itahifadhi nenosiri hili katika <ph name="SAVED_PASSWORD_LINK" /> na kulikumbuka wakati ujao utakapolihitaji.</translation> <translation id="1480489203462860648">Ijaribu, tayari imesakinishwa</translation> <translation id="1553358976309200471">Sasisha Chrome</translation> <translation id="1587223624401073077">Google Chrome inatumia kamera yako.</translation> @@ -119,7 +120,6 @@ <translation id="4458285410772214805">Tafadhali toka na uingie tena ili mabadiliko haya yafanye kazi.</translation> <translation id="4458462641685292929">Kuna shughuli nyingine zinaendelea kwenye Google Chrome. Tafadhali jaribu tena baadaye.</translation> <translation id="4480040274068703980">Mfumo wa Uendeshaji wa Chrome haukuweza kusawazisha data yako kutokana na hitilafu wakati wa kuingia katika akaunti.</translation> -<translation id="4519152997629025674">Google Chrome inaweza kutumia <ph name="BEGIN_LINK" />huduma za wavuti<ph name="END_LINK" /> kuimarisha hali yako ya kuvinjari. Unaweza kuzima huduma hizi kwa hiari wakati wowote.</translation> <translation id="4561051373932531560">Google Chrome inakuwezesha kubofya nambari ya simu kwenye wavuti na kuipigia simu kwa Skype!</translation> <translation id="4567424176335768812">Umeingia katika akaunti kama <ph name="USER_EMAIL_ADDRESS" />. Sasa unaweza kupata alamisho, historia, na mipangilio yako mingine kwenye vifaa vyako vyote vilivyoingia katika akaunti.</translation> <translation id="4631713731678262610">Ficha katika menyu ya Chrome</translation> @@ -142,7 +142,6 @@ <translation id="5028489144783860647">Google Chrome haikuweza kusawazisha data yako. Tafadhali sasisha kauli siri yako ya Usawazishaji.</translation> <translation id="5037239767309817516">Tafadhali funga madirisha yote ya Google Chrome na uianzishe upya ili mabadiliko haya yatekelezwe.</translation> <translation id="5132929315877954718">Gundua programu, michezo, viendelezi na mandhari bora ya Google Chrome.</translation> -<translation id="5148419164691878332">Chrome itahifadhi nenosiri hili katika <ph name="SAVED_PASSWORDS_LINK" /> na kulikumbuka wakati utakapolihitaji.</translation> <translation id="5170938038195470297">Wasifu wako huenda usitumike kwa sababu unatoka katika toleo jipya la Google Chrome. Huenda baadhi ya vipengele visipatikane. Tafadhali bainisha saraka tofauti ya wasifu au tumia toleo jipya la Chrome.</translation> @@ -263,6 +262,7 @@ <translation id="8547799825197623713">Canary ya Kizinduzi cha Programu ya Chrome</translation> <translation id="8556340503434111824">Kuna toleo jipya linalopatikana la Google Chrome, na ni la kasi kuliko la awali.</translation> <translation id="8568392309447938879">Unahitajika kuingia katika akaunti ya Chrome ili utumie programu hizi. Hii huruhusu Chrome kusawazisha programu zako, alamisho, historia, manenosiri na mipangilio mingine katika vifaa vyote.</translation> +<translation id="8606668294522778825">Huenda Google Chrome ikatumia huduma za wavuti kuboresha hali yako ya kuvinjari. Unaweza chagua kuzima huduma hizi. <ph name="BEGIN_LINK" />Pata maelezo zaidi<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome imelemazwa. Izindue upya sasa?</translation> <translation id="8667808506758191620">Kifaa chako cha <ph name="DEVICE_TYPE" /> kimesasishwa.</translation> <translation id="8669527147644353129">Msaidizi wa Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ta.xtb b/chrome/app/resources/google_chrome_strings_ta.xtb index 3a54e74..2e666db 100644 --- a/chrome/app/resources/google_chrome_strings_ta.xtb +++ b/chrome/app/resources/google_chrome_strings_ta.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary பயன்பாடுகள்</translation> <translation id="1457721931618994305">Google Chrome ஐப் புதுப்பிக்கிறது...</translation> <translation id="1469002951682717133">Chrome பயன்பாட்டுத் துவக்கி</translation> +<translation id="1475773083554142432">Chrome இதனை <ph name="SAVED_PASSWORD_LINK" /> இல் சேமித்து, அடுத்த முறை நீங்கள் பயன்படுத்துவதற்காக அதை நினைவில் கொள்ளும்.</translation> <translation id="1480489203462860648">முயற்சி செய்யுங்கள், இது ஏற்கனவே நிறுவப்பட்டது</translation> <translation id="1553358976309200471">Chromeஐப் புதுப்பி</translation> <translation id="1587223624401073077">Google Chrome உங்கள் கேமராவைப் பயன்படுத்துகிறது.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">இந்த மாற்றம் செயல்பாட்டிற்கு வர, வெளியேறி, மீண்டும் உள்நுழைக.</translation> <translation id="4458462641685292929">Google Chrome இல் ஏற்கனவே ஒரு நிறுவி செயல்பாட்டில் உள்ளது. பிறகு முயலவும்.</translation> <translation id="4480040274068703980">உள்நுழைவதில் ஏற்பட்ட பிழைக் காரணமாக Chrome OS ஆல் உங்கள் தரவை ஒத்திசைக்க முடியவில்லை.</translation> -<translation id="4519152997629025674">உங்கள் உலாவல் அனுபவத்தை மேம்படுத்த <ph name="BEGIN_LINK" />வலைச் சேவைகளை<ph name="END_LINK" /> Google Chrome பயன்படுத்தலாம். எந்த நேரத்திலும் இந்தச் சேவைகளை நீங்கள் விருப்பத்திற்கேற்ப முடக்கலாம்.</translation> <translation id="4561051373932531560">வலையில் ஒரு தொலைபேசி எண்ணைக் கிளிக் செய்து, அதனை Skype மூலமாக அழைப்பதற்கு உங்களை Google Chrome அனுமதிக்கிறது!</translation> <translation id="4567424176335768812">நீங்கள் <ph name="USER_EMAIL_ADDRESS" /> ஆக உள்நுழைந்துள்ளீர்கள். தற்போது உங்கள் புக்மார்க்குகள், வரலாறு மற்றும் பிற அமைப்புகளை நீங்கள் உள்நுழைந்துள்ள எல்லா சாதனங்களிலும் அணுகலாம்.</translation> <translation id="4631713731678262610">Chrome மெனுவில் மறை</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">உங்கள் தரவை Google Chrome ஆல் ஒத்திசைக்க முடியவில்லை. உங்கள் கடவுச்சொற்றொடரைப் புதுப்பிக்கவும்.</translation> <translation id="5037239767309817516">இந்த மாற்றம் செயல்பட, எல்லா Google Chrome சாளரங்களையும் மூடி, அதை மீண்டும் தொடங்குக.</translation> <translation id="5132929315877954718">Google Chrome க்கான சிறந்த பயன்பாடுகள், கேம்ஸ், நீட்டிப்புகள் மற்றும் தீம்களைக் கண்டறியவும்.</translation> -<translation id="5148419164691878332">Chrome இதனை உங்கள் <ph name="SAVED_PASSWORDS_LINK" /> இல் சேமித்து, அடுத்த முறை நீங்கள் பயன்படுத்துவதற்காக அதை நினைவில் கொள்ளும்.</translation> <translation id="5170938038195470297">Google Chrome இன் புத்தம் புதிய பதிப்பு என்பதால், உங்கள் சுயவிவரத்தைப் பயன்படுத்த முடியாது. சில அம்சங்கள் கிடைக்காமல் போகலாம். வேறு சுயவிவர கோப்பகத்தைக் குறிப்பிடுக அல்லது Chrome இன் புதிய பதிப்பைப் பயன்படுத்துக.</translation> <translation id="5176234269072261959">தற்போதைய அமைப்புகளை அனுப்புவதன் மூலம், Chromeஐ இன்னும் சிறந்ததாக்க உதவவும்.</translation> <translation id="5193136243808726294">Google Chrome OS ஆல் இந்தப் பக்கத்தைத் திறக்க முடியாது.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome பயன்பாட்டுத் துவக்கி Canary</translation> <translation id="8556340503434111824">Google Chrome இன் புதிய பதிப்பு கிடைக்கிறது, அது முன்னெப்போதையும் விட விரைவானது.</translation> <translation id="8568392309447938879">பயன்பாடுகளைப் பயன்படுத்துவதற்கு நீங்கள் Chrome இல் உள்நுழைந்திருக்க வேண்டும். இது எல்லா சாதனங்களிலும் உங்கள் பயன்பாடுகள், புத்தகக்குறிகள், வரலாறு, கடவுச்சொற்கள் மற்றும் பிற அமைப்புகள் ஆகியவற்றை ஒத்திசைக்க Chrome ஐ அனுமதிக்கிறது.</translation> +<translation id="8606668294522778825">உங்கள் உலாவல் அனுபவத்தை மேம்படுத்த இணைய சேவைகளை Google Chrome பயன்படுத்தலாம். விருப்பத்திற்கேற்ப இந்தச் சேவைகளை நீங்கள் முடக்கலாம். <ph name="BEGIN_LINK" />மேலும் அறிக<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome பதிலளிக்கவில்லை. இப்போது மீண்டும் தொடங்கவா?</translation> <translation id="8667808506758191620">உங்கள் <ph name="DEVICE_TYPE" /> புதுப்பித்த நிலையில் உள்ளது.</translation> <translation id="8669527147644353129">Google Chrome உதவி</translation>
diff --git a/chrome/app/resources/google_chrome_strings_te.xtb b/chrome/app/resources/google_chrome_strings_te.xtb index 536aba4..9721a2a 100644 --- a/chrome/app/resources/google_chrome_strings_te.xtb +++ b/chrome/app/resources/google_chrome_strings_te.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome కెనరీ అనువర్తనాలు</translation> <translation id="1457721931618994305">Google Chromeని నవీకరిస్తోంది...</translation> <translation id="1469002951682717133">Chrome అనువర్తన లాంచర్</translation> +<translation id="1475773083554142432">Chrome దీన్ని <ph name="SAVED_PASSWORD_LINK" />తో నిల్వ చేస్తుంది మరియు మీకు అవసరమయ్యే తదుపరి సారి దీన్ని గుర్తు పెట్టుకుంటుంది.</translation> <translation id="1480489203462860648">దీన్ని ప్రయత్నించండి, ఇది ఇప్పటికే ఇన్స్టాల్ చేయబడింది</translation> <translation id="1553358976309200471">Chromeని నవీకరించు</translation> <translation id="1587223624401073077">Google Chrome మీ కెమెరాను ఉపయోగిస్తోంది.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">దయచేసి ఈ మార్పు ప్రభావవంతం కావడానికి సైన్ అవుట్ చేసి, మళ్లీ సైన్ ఇన్ చేయండి.</translation> <translation id="4458462641685292929">Google Chromeలో మరొక వ్యవస్థాపన జరుగుతోంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation> <translation id="4480040274068703980">సైన్ ఇన్ చేయడంలో లోపం సంభవించినందున Chrome OS మీ డేటాను సమకాలీకరించలేకపోయింది.</translation> -<translation id="4519152997629025674">Google Chrome మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి <ph name="BEGIN_LINK" />వెబ్ సేవలు<ph name="END_LINK" /> ఉపయోగించవచ్చు. మీరు ఐచ్ఛికంగా ఎప్పుడైనా ఈ సేవలను నిలిపివేయవచ్చు.</translation> <translation id="4561051373932531560">Google Chrome వెబ్లో మిమ్మళ్ని ఫోన్ నంబర్ క్లిక్ చెయ్యనిస్తుంది మరియు Skypeతో కాల్ చేస్తుంది!</translation> <translation id="4567424176335768812">మీరు <ph name="USER_EMAIL_ADDRESS" />గా సైన్ ఇన్ చేసారు. ఇప్పుడు మీరు మీ సైన్ ఇన్ చేసిన అన్ని పరికరాల్లో మీ బుక్మార్క్లు, చరిత్ర మరియు ఇతర సెట్టింగ్లను ప్రాప్యత చేయవచ్చు.</translation> <translation id="4631713731678262610">Chrome మెనులో దాచండి</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome మీ డేటాను సమకాలీకరించలేకపోయింది. దయచేసి మీ సమకాలీకరణ రహస్య పదబంధాన్ని నవీకరించండి.</translation> <translation id="5037239767309817516">దయచేసి ఈ మార్పు అమలులోకి రావడానికి అన్ని Google Chrome విండోలను మూసివేయండి మరియు దీన్ని మళ్ళీ ప్రారంభించండి.</translation> <translation id="5132929315877954718">Google Chrome కోసం గొప్ప అనువర్తనాలు, ఆటలు, పొడిగింపులు మరియు థీమ్లను కనుగొనండి.</translation> -<translation id="5148419164691878332">Chrome దీన్ని మీ <ph name="SAVED_PASSWORDS_LINK" />లో నిల్వ చేస్తుంది మరియు మీకు అవసరమయ్యే తదుపరి సారి దీన్ని గుర్తు పెట్టుకుంటుంది.</translation> <translation id="5170938038195470297">మీ ప్రొఫైల్ ఉపయోగించబడదు ఎందుకంటే ఇది ఒక క్రొత్త Google Chrome సంస్కరణ నుండి తీసుకోబడింది. కొన్ని లక్షణాలు అందుబాటులో ఉండకపోవచ్చు. దయచేసి వేరొక ప్రొఫైల్ డైరెక్టరీని పేర్కొనండి లేదా Chrome యొక్క క్రొత్త సంస్కరణను ఉపయోగించండి.</translation> <translation id="5176234269072261959">ప్రస్తుత సెట్టింగ్లను నివేదించడం ద్వారా Chromeను మెరుగుపరచడంలో సహాయపడండి.</translation> <translation id="5193136243808726294">Google Chrome OS ఈ పేజీని తెరవలేదు.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Chrome అనువర్తన లాంచర్ కెనరీ</translation> <translation id="8556340503434111824">Google Chrome యొక్క క్రొత్త సంస్కరణ అందుబాటులో ఉంది, ఇది ఎప్పటి కంటే వేగంగా ఉంది.</translation> <translation id="8568392309447938879">మీరు అనువర్తనాలను ఉపయోగించడానికి Chromeకు సైన్ ఇన్ చేయాలి. ఇది పరికరాల్లో మీ అనువర్తనాలు, బుక్మార్క్లు, చరిత్ర, పాస్వర్డ్లు మరియు ఇతర సెట్టింగ్లను సమకాలీకరించడానికి Chromeను అనుమతిస్తుంది.</translation> +<translation id="8606668294522778825">Google Chrome మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి వెబ్ సేవలను ఉపయోగించవచ్చు. మీరు ఈ సేవలను ఐచ్ఛికంగా నిలిపివేయవచ్చు. <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome స్పందించడం లేదు. ఇప్పుడే పునఃప్రారంభించాలా?</translation> <translation id="8667808506758191620">మీ <ph name="DEVICE_TYPE" /> ఆధునికంగా ఉంది.</translation> <translation id="8669527147644353129">Google Chrome సహాయకారుడు</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb index f8ebd64..d2243a83 100644 --- a/chrome/app/resources/google_chrome_strings_th.xtb +++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">แอป Chrome Canary</translation> <translation id="1457721931618994305">กำลังอัปเดต Google Chrome...</translation> <translation id="1469002951682717133">Chrome App Launcher</translation> +<translation id="1475773083554142432">Chrome จะเก็บข้อมูลนี้ไว้กับ <ph name="SAVED_PASSWORD_LINK" /> และจดจำไว้สำหรับครั้งถัดไปที่คุณต้องการใช้</translation> <translation id="1480489203462860648">ลองใช้ ติดตั้งไว้แล้ว</translation> <translation id="1553358976309200471">อัปเดต Chrome</translation> <translation id="1587223624401073077">Google Chrome ใช้กล้องของคุณอยู่</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">โปรดออกจากระบบ และลงชื่อเข้าใช้อีกครั้งเพื่อให้การเปลี่ยนแปลงนี้มีผล</translation> <translation id="4458462641685292929">Google Chrome กำลังดำเนินการอย่างอื่นอยู่ โปรดลองอีกครั้งในภายหลัง</translation> <translation id="4480040274068703980">Chrome OS ไม่สามารถซิงค์ข้อมูลของคุณเนื่องจากเกิดข้อผิดพลาดในการลงชื่อเข้าใช้</translation> -<translation id="4519152997629025674">Google Chrome อาจใช้<ph name="BEGIN_LINK" />บริการเว็บ<ph name="END_LINK" />เพื่อปรับปรุงประสบการณ์ท่องเว็บของคุณ คุณสามารถเลือกปิดใช้บริการดังกล่าวได้ทุกเมื่อ</translation> <translation id="4561051373932531560">Google Chrome ทำให้คุณสามารถคลิกที่หมายเลขโทรศัพท์บนเว็บแล้วโทรหาด้วย Skype!</translation> <translation id="4567424176335768812">คุณกำลังลงชื่อเข้าใช้เป็น <ph name="USER_EMAIL_ADDRESS" /> ตอนนี้คุณสามารถเข้าถึงบุ๊กมาร์ก ประวัติการเข้าชม และการตั้งค่าอื่นๆ บนอุปกรณ์ทั้งหมดที่ลงชื่อเข้าใช้</translation> <translation id="4631713731678262610">ซ่อนในเมนู Chrome</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Google Chrome ไม่สามารถซิงค์ข้อมูลของคุณ โปรดอัปเดตข้อความรหัสผ่านการซิงค์</translation> <translation id="5037239767309817516">โปรดปิดหน้าต่าง Google Chrome ทั้งหมด แล้วเปิดใหม่อีกครั้งเพื่อให้การเปลี่ยนแปลงนี้มีผล</translation> <translation id="5132929315877954718">พบกับแอป เกม ส่วนขยาย และธีมเด็ดๆ สำหรับ Google Chrome</translation> -<translation id="5148419164691878332">Chrome จะเก็บข้อมูลนี้ไว้ใน <ph name="SAVED_PASSWORDS_LINK" /> และจดจำไว้สำหรับครั้งถัดไปที่คุณต้องการใช้</translation> <translation id="5170938038195470297">โปรไฟล์ของคุณไม่สามารถใช้ได้เพราะมาจากรุ่นที่ใหม่กว่าของ Google Chrome คุณลักษณะบางอย่างอาจจะไม่พร้อมใช้งาน โปรดระบุไดเรกทอรีของโปรไฟล์อื่นหรือใช้ Chrome รุ่นที่ใหม่กว่า</translation> <translation id="5176234269072261959">ช่วยให้ Chrome ดียิ่งขึ้นด้วยการรายงานการตั้งค่าปัจจุบัน</translation> <translation id="5193136243808726294">Google Chrome OS ไม่สามารถเปิดหน้านี้</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Chrome App Launcher Canary</translation> <translation id="8556340503434111824">มี Chrome รุ่นใหม่ให้ใช้งานแล้วและเร็วกว่าเดิม</translation> <translation id="8568392309447938879">คุณจะต้องลงชื่อเข้าใช้ Chrome เพื่อใช้แอป ซึ่งจะช่วยให้ Chrome สามารถซิงค์แอป บุ๊กมาร์ก ประวัติ รหัสผ่าน และการตั้งค่าอื่นๆ ระหว่างอุปกรณ์ได้</translation> +<translation id="8606668294522778825">Google Chrome อาจใช้บริการเว็บเพื่อปรับปรุงประสบการณ์การท่องเว็บของคุณ คุณสามารถเลือกปิดบริการเหล่านี้ได้ <ph name="BEGIN_LINK" />เรียนรู้เพิ่มเติม<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome ไม่ตอบสนอง เปิดใช้งานใหม่ตอนนี้หรือไม่</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> ของคุณเป็นเวอร์ชันล่าสุดแล้ว</translation> <translation id="8669527147644353129">ตัวช่วยเหลือของ Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_tr.xtb b/chrome/app/resources/google_chrome_strings_tr.xtb index 803ecf3..25b27b7 100644 --- a/chrome/app/resources/google_chrome_strings_tr.xtb +++ b/chrome/app/resources/google_chrome_strings_tr.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary Uygulamaları</translation> <translation id="1457721931618994305">Google Chrome güncelleniyor...</translation> <translation id="1469002951682717133">Chrome Uygulama Başlatıcı</translation> +<translation id="1475773083554142432">Chrome bunu <ph name="SAVED_PASSWORD_LINK" /> bölümüne kaydeder ve tekrar ihtiyacınız olduğunda hatırlar.</translation> <translation id="1480489203462860648">Deneyin, zaten yüklü!</translation> <translation id="1553358976309200471">Chrome'u güncelle</translation> <translation id="1587223624401073077">Google Chrome kameranızı kullanıyor.</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">Bu değişikliğin geçerli olabilmesi için lütfen çıkış yapıp tekrar oturum açın.</translation> <translation id="4458462641685292929">Google Chrome'da başka bir işlem devam ediyor. Lütfen daha sonra yeniden deneyin.</translation> <translation id="4480040274068703980">Oturum açmadaki bir hata nedeniyle Chrome OS, verilerinizi senkronize edemedi.</translation> -<translation id="4519152997629025674">Google Chrome, web'de gezinme deneyiminizi geliştirmek için <ph name="BEGIN_LINK" />web hizmetleri <ph name="END_LINK" /> kullanabilir. İstediğiniz zaman bu hizmetleri devre dışı bırakabilirsiniz.</translation> <translation id="4561051373932531560">Google Chrome web'de bir telefon numarasını tıklayarak Skype ile aramanıza olanak sağlar!</translation> <translation id="4567424176335768812"><ph name="USER_EMAIL_ADDRESS" /> olarak oturum açtınız. Şimdi oturum açtığınız tüm cihazlarda yer işaretlerinize, geçmişinize ve diğer ayarlarınıza erişebilirsiniz.</translation> <translation id="4631713731678262610">Chrome menüsünde gizle</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Google Chrome, verilerinizi senkronize edemedi. Lütfen Senkronizasyon parolanızı güncelleyin.</translation> <translation id="5037239767309817516">Bu değişikliğin geçerli olması için, lütfen tüm Google Chrome pencerelerini kapatın ve Google Chrome'u yeniden başlatın.</translation> <translation id="5132929315877954718">Google Chrome'a özgü harika uygulamaları, oyunları, uzantıları ve temaları keşfedin.</translation> -<translation id="5148419164691878332">Chrome bunu <ph name="SAVED_PASSWORDS_LINK" /> bölümünüze kaydeder ve tekrar ihtiyacınız olduğunda hatırlar.</translation> <translation id="5170938038195470297">Profiliniz daha yeni bir Google Chrome sürümünden geldiği için kullanılamıyor. Bazı özellikler kullanılamayabilir. Lütfen farklı bir profil dizini belirtin veya daha yeni bir Chrome sürümü kullanın.</translation> @@ -258,6 +257,7 @@ <translation id="8547799825197623713">Chrome Uygulama Başlatıcısı Canary</translation> <translation id="8556340503434111824">Kullanabileceğiniz yeni bir Google Chrome sürümü var ve bu sürüm, her zamankinden daha hızlı.</translation> <translation id="8568392309447938879">Uygulamaları kullanmak için Chrome'da oturum açmış olmanız gerekir. Oturum açmanız, Chrome'un uygulamalarınızı, yer işaretlerinizi, geçmişinizi, şifrelerinizi ve diğer ayarlarınızı tüm cihazlarınızda senkronize etmesine olanak sağlar.</translation> +<translation id="8606668294522778825">Google Chrome, göz atma deneyiminizi iyileştirmek için web hizmetleri kullanabilir. İsterseniz, bu hizmetleri devre dışı bırakabilirsiniz. <ph name="BEGIN_LINK" />Daha fazla bilgi edinin<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome yanıt vermiyor. Yeniden başlatılsın mı?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> cihazınız güncel.</translation> <translation id="8669527147644353129">Google Chrome Helper</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb index 813f717f..7c90729 100644 --- a/chrome/app/resources/google_chrome_strings_uk.xtb +++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Програми Chrome для версії Canary</translation> <translation id="1457721931618994305">Оновлення Google Chrome...</translation> <translation id="1469002951682717133">Панель запуску програм Chrome</translation> +<translation id="1475773083554142432">Chrome додасть його в <ph name="SAVED_PASSWORD_LINK" /> і запам’ятає для наступного разу.</translation> <translation id="1480489203462860648">Уже встановлено. Спробуйте</translation> <translation id="1553358976309200471">Оновити Chrome</translation> <translation id="1587223624401073077">Google Chrome використовує вашу камеру.</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">Щоб зміна почала діяти, вийдіть і ввійдіть знову.</translation> <translation id="4458462641685292929">У Google Chrome виконується інша операція. Спробуйте пізніше.</translation> <translation id="4480040274068703980">ОС Chrome не вдалося синхронізувати ваші дані через помилку входу.</translation> -<translation id="4519152997629025674">Google Chrome може покращувати веб-перегляд за допомогою <ph name="BEGIN_LINK" />веб-служб<ph name="END_LINK" />. Ви можете будь-коли вимкнути ці служби.</translation> <translation id="4561051373932531560">Google Chrome дозволяє натиснути номер телефону в Інтернеті та здійснити виклик через Skype.</translation> <translation id="4567424176335768812">Ви ввійшли як <ph name="USER_EMAIL_ADDRESS" />. Ваші закладки, історія й інші налаштування будуть доступні на всіх пристроях, на яких ви ввійдете в цей обліковий запис.</translation> <translation id="4631713731678262610">Сховати в меню Chrome</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome не вдалося синхронізувати ваші дані. Оновіть свою парольну фразу для синхронізації.</translation> <translation id="5037239767309817516">Щоб зміна почала діяти, закрийте всі вікна Google Chrome і перезапустіть веб-переглядач.</translation> <translation id="5132929315877954718">Знаходьте чудові додатки, ігри, розширення й теми для Google Chrome.</translation> -<translation id="5148419164691878332">Chrome додасть його в <ph name="SAVED_PASSWORDS_LINK" /> і запам’ятає для наступного разу.</translation> <translation id="5170938038195470297">Ваш профіль не можна використати, оскільки його створено в новішій версії Google Chrome. Деякі функції можуть бути недоступними. Укажіть інший каталог профілю чи скористайтеся новішою версією Chrome.</translation> <translation id="5176234269072261959">Допоможіть покращити Chrome, надсилаючи звіти про поточні налаштування.</translation> <translation id="5193136243808726294">Неможливо відкрити цю сторінку в ОС Google Chrome.</translation> @@ -255,6 +254,7 @@ <translation id="8547799825197623713">Панель запуску програм Chrome для версії Canary</translation> <translation id="8556340503434111824">Доступна нова версія Google Chrome – швидша, ніж будь-коли.</translation> <translation id="8568392309447938879">Щоб користуватися програмами, потрібно ввійти в Chrome. Це дозволяє веб-переглядачу Chrome синхронізувати ваші програми, закладки, історію, паролі й інші налаштування на різних пристроях.</translation> +<translation id="8606668294522778825">Google Chrome може покращувати веб-перегляд за допомогою веб-служб. Ви можете вимкнути ці служби. <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome не відповідає. Перезапустити зараз?</translation> <translation id="8667808506758191620">Ваш пристрій <ph name="DEVICE_TYPE" /> оновлено.</translation> <translation id="8669527147644353129">Помічник Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb index 16a6ace..0aff9436 100644 --- a/chrome/app/resources/google_chrome_strings_vi.xtb +++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Ứng dụng Chrome Canary</translation> <translation id="1457721931618994305">Đang cập nhật Google Chrome...</translation> <translation id="1469002951682717133">Trình chạy ứng dụng Chrome</translation> +<translation id="1475773083554142432">Chrome sẽ lưu trữ mật khẩu này với <ph name="SAVED_PASSWORD_LINK" /> và ghi nhớ mật khẩu này vào lần sau bạn cần đến.</translation> <translation id="1480489203462860648">Hãy dùng thử, ứng dụng đã được cài đặt</translation> <translation id="1553358976309200471">Cập nhật Chrome</translation> <translation id="1587223624401073077">Google Chrome đang sử dụng máy ảnh của bạn.</translation> @@ -118,7 +119,6 @@ <translation id="4458285410772214805">Vui lòng đăng xuất và đăng nhập lại để thay đổi này có hiệu lực.</translation> <translation id="4458462641685292929">Một hoạt động khác trên Google Chrome đang diễn ra. Vui lòng thử lại sau.</translation> <translation id="4480040274068703980">Chrome OS không thể đồng bộ hóa dữ liệu của bạn do lỗi khi đăng nhập.</translation> -<translation id="4519152997629025674">Google Chrome có thể sử dụng <ph name="BEGIN_LINK" />các dịch vụ web<ph name="END_LINK" /> để cải thiện trải nghiệm duyệt web của bạn. Bạn có thể tắt các dịch vụ này bất cứ lúc nào, nếu muốn.</translation> <translation id="4561051373932531560">Google Chrome cho phép bạn nhấp vào số điện thoại trên web và gọi tới số đó bằng Skype!</translation> <translation id="4567424176335768812">Bạn đã đăng nhập với tên <ph name="USER_EMAIL_ADDRESS" />. Bây giờ, bạn có thể truy cập dấu trang, lịch sử và các cài đặt khác trên tất cả những thiết bị đã đăng nhập của bạn.</translation> <translation id="4631713731678262610">Ẩn trong menu Chrome</translation> @@ -141,7 +141,6 @@ <translation id="5028489144783860647">Google Chrome không thể đồng bộ hóa dữ liệu của bạn. Vui lòng cập nhật cụm mật khẩu Đồng bộ hóa của bạn.</translation> <translation id="5037239767309817516">Hãy đóng tất cả các cửa sổ Google Chrome và chạy lại Google Chrome để thay đổi này có hiệu lực.</translation> <translation id="5132929315877954718">Khám phá các ứng dụng, trò chơi, tiện ích và chủ đề tuyệt vời cho Google Chrome.</translation> -<translation id="5148419164691878332">Chrome sẽ lưu trữ mật khẩu này trong <ph name="SAVED_PASSWORDS_LINK" /> và ghi nhớ mật khẩu này vào lần sau bạn cần đến.</translation> <translation id="5170938038195470297">Không thể sử dụng hồ sơ của bạn vì hồ sơ được tạo từ phiên bản Google Chrome mới hơn. Một số tính năng có thể không khả dụng. Vui lòng chỉ định thư mục hồ sơ khác hoặc sử dụng phiên bản Chrome mới hơn.</translation> @@ -260,6 +259,7 @@ <translation id="8547799825197623713">Canary trình chạy ứng dụng Chrome</translation> <translation id="8556340503434111824">Hiện đã có phiên bản mới của Google Chrome và phiên bản này nhanh hơn bao giờ hết.</translation> <translation id="8568392309447938879">Bạn cần đăng nhập vào Chrome để sử dụng ứng dụng. Điều này cho phép Chrome đồng bộ hóa ứng dụng, dấu trang, lịch sử, mật khẩu và cài đặt khác của bạn trên các thiết bị.</translation> +<translation id="8606668294522778825">Google Chrome có thể sử dụng dịch vụ web để cải thiện trải nghiệm duyệt web của bạn. Bạn có thể tùy ý vô hiệu hóa các dịch vụ này. <ph name="BEGIN_LINK" />Tìm hiểu thêm<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome không hồi đáp. Chạy lại ngay bây giờ?</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> của bạn đã cập nhật.</translation> <translation id="8669527147644353129">Trình trợ giúp của Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb index 1f4dd4d5..741585d 100644 --- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb +++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary 应用</translation> <translation id="1457721931618994305">正在更新 Google Chrome...</translation> <translation id="1469002951682717133">Chrome 应用启动器</translation> +<translation id="1475773083554142432">Chrome 将通过<ph name="SAVED_PASSWORD_LINK" />存储此密码,并会在您下次需要时自动填充此密码。</translation> <translation id="1480489203462860648">它已经安装完毕了,试试看吧。</translation> <translation id="1553358976309200471">更新 Chrome</translation> <translation id="1587223624401073077">Google Chrome 正在使用您的摄像头。</translation> @@ -116,7 +117,6 @@ <translation id="4458285410772214805">请先退出,然后重新登录,以便此更改生效。</translation> <translation id="4458462641685292929">Google Chrome 正在执行另一项操作,请稍后重试。</translation> <translation id="4480040274068703980">登录时出现错误,Chrome操作系统无法同步您的数据。</translation> -<translation id="4519152997629025674">Google Chrome 可能会使用<ph name="BEGIN_LINK" />网络服务<ph name="END_LINK" />来改善您的浏览体验。不过,您可以随时停用这些服务。</translation> <translation id="4561051373932531560">您可以在 Google Chrome 浏览器中点击网上的电话号码,然后通过 Skype 拨打!</translation> <translation id="4567424176335768812">您已使用 <ph name="USER_EMAIL_ADDRESS" /> 的身份登录。现在您可在已登录的所有设备上访问您的书签、历史记录和其他设置。</translation> <translation id="4631713731678262610">在 Chrome 菜单中隐藏</translation> @@ -139,7 +139,6 @@ <translation id="5028489144783860647">Google Chrome无法同步您的数据。请更新您的同步密码。</translation> <translation id="5037239767309817516">请关闭所有 Google Chrome 窗口,然后重新启动,以使此更改生效。</translation> <translation id="5132929315877954718">查找适用于Google Chrome的精彩应用、游戏、扩展程序和主题背景。</translation> -<translation id="5148419164691878332">Chromium 会将此密码存储在您的<ph name="SAVED_PASSWORDS_LINK" />中,并会在您下次需要时自动填充此密码。</translation> <translation id="5170938038195470297">您的个人资料来自新版 Google Chrome 浏览器,因此无法使用。某些功能可能无法使用。请指定其他个人资料目录,或使用新版 Chrome 浏览器。</translation> <translation id="5176234269072261959">报告当前设置,帮助我们改进 Chrome。</translation> <translation id="5193136243808726294">Google Chrome 操作系统无法打开此网页。</translation> @@ -256,6 +255,7 @@ <translation id="8547799825197623713">Chrome 应用启动器 Canary</translation> <translation id="8556340503434111824">Google Chrome 浏览器现已推出速度更快的新版本。</translation> <translation id="8568392309447938879">您需要先登录Chrome,再使用各项应用。这样,Chrome就可以在各个设备上同步您的应用、书签、历史记录、密码和其他设置。</translation> +<translation id="8606668294522778825">Google Chrome可能会使用网络服务来改善您的浏览体验。不过,您可以选择停用这些服务。<ph name="BEGIN_LINK" />了解详情<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome 未响应。是否立即重新启动?</translation> <translation id="8667808506758191620">您的 <ph name="DEVICE_TYPE" /> 是最新版本。</translation> <translation id="8669527147644353129">Google Chrome 浏览器帮助程序</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-TW.xtb b/chrome/app/resources/google_chrome_strings_zh-TW.xtb index c507ded..fd505308 100644 --- a/chrome/app/resources/google_chrome_strings_zh-TW.xtb +++ b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
@@ -17,6 +17,7 @@ <translation id="1434626383986940139">Chrome Canary 應用程式</translation> <translation id="1457721931618994305">正在更新 Google Chrome...</translation> <translation id="1469002951682717133">Chrome 應用程式啟動器</translation> +<translation id="1475773083554142432">Chrome 會使用「<ph name="SAVED_PASSWORD_LINK" />」儲存此密碼,讓您在下次需要使用時套用。</translation> <translation id="1480489203462860648">安裝完畢,馬上試試吧!</translation> <translation id="1553358976309200471">更新 Chrome</translation> <translation id="1587223624401073077">Google Chrome 正在使用您的攝影機。</translation> @@ -115,7 +116,6 @@ <translation id="4458285410772214805">請先登出,然後重新登入,這項變更才會生效。</translation> <translation id="4458462641685292929">Google Chrome 正在執行另一項作業,請稍後再試。</translation> <translation id="4480040274068703980">登入時發生錯誤,因此 Chrome 作業系統無法同步處理您的資料。</translation> -<translation id="4519152997629025674">Google Chrome 會使用<ph name="BEGIN_LINK" />網頁服務<ph name="END_LINK" />來改善瀏覽功能,當然您也可以隨時停用這些服務。</translation> <translation id="4561051373932531560">Google Chrome 可讓您按一下網頁上的電話號碼,隨即透過 Skype 撥打電話!</translation> <translation id="4567424176335768812">您已使用 <ph name="USER_EMAIL_ADDRESS" /> 的身分登入,可以在所有登入的裝置上使用您的書籤、紀錄和其他設定。</translation> <translation id="4631713731678262610">在 Chrome 選單中隱藏</translation> @@ -138,7 +138,6 @@ <translation id="5028489144783860647">Google Chrome 無法同步處理您的資料,請更新您的同步通關密語。</translation> <translation id="5037239767309817516">為了讓這項變更生效,請關閉所有 Google Chrome 視窗,並重新啟動瀏覽器。</translation> <translation id="5132929315877954718">幫您的 Google Chrome 物色各種實用有趣的應用程式、遊戲、擴充功能和主題。</translation> -<translation id="5148419164691878332">Chrome 會將此密碼儲存在您的「<ph name="SAVED_PASSWORDS_LINK" />」中,讓您在下次需要使用時套用。</translation> <translation id="5170938038195470297">由於您的設定檔是來自較新版本的 Google Chrome,所以系統無法使用該檔案。這表示您可能無法使用部分功能。請指定另一個設定檔目錄,或使用較新版本的 Google Chrome。</translation> <translation id="5176234269072261959">只要回報目前的設定,就能助我們一臂之力,讓 Chrome 更臻完美。</translation> <translation id="5193136243808726294">Google Chrome 作業系統無法開啟這個網頁。</translation> @@ -257,6 +256,7 @@ <translation id="8547799825197623713">Chrome 應用程式啟動器 Canary 頻道</translation> <translation id="8556340503434111824">Google Chrome 推出全新版本,速度更勝以往。</translation> <translation id="8568392309447938879">您必須登入 Chrome 才能使用應用程式。在登入狀態下,Chrome 可同步處理您在多個裝置上的應用程式、書籤、紀錄、密碼和其他設定。</translation> +<translation id="8606668294522778825">Google Chrome 可能會使用網路服務改善您的瀏覽體驗。不過,您可以選擇停用這些服務。<ph name="BEGIN_LINK" />瞭解詳情<ph name="END_LINK" /></translation> <translation id="8614913330719544658">Google Chrome 沒有回應,要立即重新啟動嗎?</translation> <translation id="8667808506758191620">您的 <ph name="DEVICE_TYPE" /> 已搭載最新版作業系統。</translation> <translation id="8669527147644353129">Google Chrome 小幫手</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 00e9a117..e7a9821 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -1311,6 +1311,10 @@ "translate/language_model_factory.h", "translate/translate_accept_languages_factory.cc", "translate/translate_accept_languages_factory.h", + "translate/translate_ranker_factory.cc", + "translate/translate_ranker_factory.h", + "translate/translate_ranker_metrics_provider.cc", + "translate/translate_ranker_metrics_provider.h", "translate/translate_service.cc", "translate/translate_service.h", "undo/bookmark_undo_service_factory.cc", @@ -2048,6 +2052,8 @@ "safe_browsing/threat_details_history.h", "safe_browsing/ui_manager.cc", "safe_browsing/ui_manager.h", + "safe_browsing/v4_test_utils.cc", + "safe_browsing/v4_test_utils.h", ] deps += [ "//chrome/browser/safe_browsing:chunk_proto",
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner.cc b/chrome/browser/android/offline_pages/background_loader_offliner.cc index 34459c7..468547b 100644 --- a/chrome/browser/android/offline_pages/background_loader_offliner.cc +++ b/chrome/browser/android/offline_pages/background_loader_offliner.cc
@@ -18,6 +18,10 @@ namespace offline_pages { +namespace { +long kOfflinePageDelayMs = 2000; +} // namespace + BackgroundLoaderOffliner::BackgroundLoaderOffliner( content::BrowserContext* browser_context, const OfflinerPolicy* policy, @@ -27,6 +31,7 @@ is_low_end_device_(base::SysInfo::IsLowEndDevice()), save_state_(NONE), page_load_state_(SUCCESS), + page_delay_ms_(kOfflinePageDelayMs), weak_ptr_factory_(this) { DCHECK(offline_page_model_); DCHECK(browser_context_); @@ -94,6 +99,9 @@ if (!loader_) ResetState(); + // Invalidate ptrs for all delayed/saving tasks. + weak_ptr_factory_.InvalidateWeakPtrs(); + // Track copy of pending request. pending_request_.reset(new SavePageRequest(request)); completion_callback_ = callback; @@ -135,40 +143,15 @@ return; } - SavePageRequest request(*pending_request_.get()); - // If there was an error navigating to page, return loading failed. - if (page_load_state_ != SUCCESS) { - Offliner::RequestStatus status = - (page_load_state_ == RETRIABLE) - ? Offliner::RequestStatus::LOADING_FAILED - : Offliner::RequestStatus::LOADING_FAILED_NO_RETRY; - completion_callback_.Run(request, status); - ResetState(); - return; - } + // Invalidate ptrs for any ongoing save operation. + weak_ptr_factory_.InvalidateWeakPtrs(); - save_state_ = SAVING; - content::WebContents* web_contents( - content::WebContentsObserver::web_contents()); - - std::unique_ptr<OfflinePageArchiver> archiver( - new OfflinePageMHTMLArchiver(web_contents)); - - OfflinePageModel::SavePageParams params; - params.url = web_contents->GetLastCommittedURL(); - params.client_id = request.client_id(); - params.proposed_offline_id = request.request_id(); - params.is_background = true; - - // Pass in the original URL if it's different from last committed - // when redirects occur. - if (params.url != request.url()) - params.original_url = request.url(); - - offline_page_model_->SavePage( - params, std::move(archiver), - base::Bind(&BackgroundLoaderOffliner::OnPageSaved, - weak_ptr_factory_.GetWeakPtr())); + // Post SavePage task with 2 second delay. + base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( + FROM_HERE, + base::Bind(&BackgroundLoaderOffliner::SavePage, + weak_ptr_factory_.GetWeakPtr()), + base::TimeDelta::FromMilliseconds(page_delay_ms_)); } void BackgroundLoaderOffliner::RenderProcessGone( @@ -236,6 +219,62 @@ page_load_state_ = RETRIABLE; } } + + // If the page is not the same, invalidate any pending save tasks. + // + // Downloads or 204/205 response codes do not commit (no new navigation) + // Same-Page (committed) navigations are: + // - reference fragment navigations + // - pushState/replaceState + // - same page history navigation + if (navigation_handle->HasCommitted() && !navigation_handle->IsSamePage()) + weak_ptr_factory_.InvalidateWeakPtrs(); +} + +void BackgroundLoaderOffliner::SetPageDelayForTest(long delay_ms) { + page_delay_ms_ = delay_ms; +} + +void BackgroundLoaderOffliner::SavePage() { + if (!pending_request_.get()) { + DVLOG(1) << "Pending request was cleared during delay."; + return; + } + + SavePageRequest request(*pending_request_.get()); + // If there was an error navigating to page, return loading failed. + if (page_load_state_ != SUCCESS) { + Offliner::RequestStatus status = + (page_load_state_ == RETRIABLE) + ? Offliner::RequestStatus::LOADING_FAILED + : Offliner::RequestStatus::LOADING_FAILED_NO_RETRY; + completion_callback_.Run(request, status); + ResetState(); + return; + } + + save_state_ = SAVING; + content::WebContents* web_contents( + content::WebContentsObserver::web_contents()); + + std::unique_ptr<OfflinePageArchiver> archiver( + new OfflinePageMHTMLArchiver(web_contents)); + + OfflinePageModel::SavePageParams params; + params.url = web_contents->GetLastCommittedURL(); + params.client_id = request.client_id(); + params.proposed_offline_id = request.request_id(); + params.is_background = true; + + // Pass in the original URL if it's different from last committed + // when redirects occur. + if (params.url != request.url()) + params.original_url = request.url(); + + offline_page_model_->SavePage( + params, std::move(archiver), + base::Bind(&BackgroundLoaderOffliner::OnPageSaved, + weak_ptr_factory_.GetWeakPtr())); } void BackgroundLoaderOffliner::OnPageSaved(SavePageResult save_result,
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner.h b/chrome/browser/android/offline_pages/background_loader_offliner.h index b298195..95efc424 100644 --- a/chrome/browser/android/offline_pages/background_loader_offliner.h +++ b/chrome/browser/android/offline_pages/background_loader_offliner.h
@@ -47,6 +47,8 @@ void DidFinishNavigation( content::NavigationHandle* navigation_handle) override; + void SetPageDelayForTest(long delay_ms); + protected: // Called to reset internal loader and observer state. virtual void ResetState(); @@ -57,6 +59,9 @@ enum SaveState { NONE, SAVING, DELETE_AFTER_SAVE }; enum PageLoadState { SUCCESS, RETRIABLE, NONRETRIABLE }; + // Called when the page is ready to be saved. + void SavePage(); + // Called when the page has been saved. void OnPageSaved(SavePageResult save_result, int64_t offline_id); @@ -81,6 +86,8 @@ SaveState save_state_; // Page load state. PageLoadState page_load_state_; + // Seconds to delay before taking snapshot. + long page_delay_ms_; base::WeakPtrFactory<BackgroundLoaderOffliner> weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(BackgroundLoaderOffliner);
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc index b526e21..4018ad48 100644 --- a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc +++ b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
@@ -7,6 +7,7 @@ #include "base/bind.h" #include "base/run_loop.h" #include "base/test/histogram_tester.h" +#include "base/test/scoped_mock_time_message_loop_task_runner.h" #include "base/threading/thread_task_runner_handle.h" #include "chrome/browser/android/offline_pages/offliner_helper.h" #include "chrome/browser/net/prediction_options.h" @@ -73,9 +74,6 @@ DISALLOW_COPY_AND_ASSIGN(MockOfflinePageModel); }; -void PumpLoop() { - base::RunLoop().RunUntilIdle(); -} } // namespace // A BackgroundLoader that we can run tests on. @@ -145,6 +143,8 @@ offliner()->web_contents_tester()->TestSetIsLoading(true); } + void PumpLoop() { base::RunLoop().RunUntilIdle(); } + private: void OnCompletion(const SavePageRequest& request, Offliner::RequestStatus status); @@ -169,6 +169,7 @@ void BackgroundLoaderOfflinerTest::SetUp() { model_ = new MockOfflinePageModel(); offliner_.reset(new TestBackgroundLoaderOffliner(profile(), nullptr, model_)); + offliner_->SetPageDelayForTest(0L); } void BackgroundLoaderOfflinerTest::OnCompletion( @@ -368,4 +369,23 @@ EXPECT_EQ(Offliner::RequestStatus::LOADING_FAILED_NO_RETRY, request_status()); } +TEST_F(BackgroundLoaderOfflinerTest, OnlySavesOnceOnMultipleLoads) { + base::Time creation_time = base::Time::Now(); + SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time, + kUserRequested); + EXPECT_TRUE(offliner()->LoadAndSave(request, callback())); + // First load + CompleteLoading(); + // Second load + offliner()->DidStopLoading(); + PumpLoop(); + model()->CompleteSavingAsSuccess(); + PumpLoop(); + + EXPECT_TRUE(completion_callback_called()); + EXPECT_EQ(Offliner::RequestStatus::SAVED, request_status()); + EXPECT_FALSE(offliner()->is_loading()); + EXPECT_FALSE(SaveInProgress()); +} + } // namespace offline_pages
diff --git a/chrome/browser/android/offline_pages/downloads/offline_page_download_bridge.cc b/chrome/browser/android/offline_pages/downloads/offline_page_download_bridge.cc index d7ef68d..09b3350 100644 --- a/chrome/browser/android/offline_pages/downloads/offline_page_download_bridge.cc +++ b/chrome/browser/android/offline_pages/downloads/offline_page_download_bridge.cc
@@ -42,10 +42,6 @@ using base::android::ScopedJavaGlobalRef; using base::android::ScopedJavaLocalRef; -namespace { -const char kDownloadUIAdapterKey[] = "download-ui-adapter"; -} - namespace offline_pages { namespace android { @@ -476,8 +472,8 @@ OfflinePageModelFactory::GetForBrowserContext(browser_context); DCHECK(offline_page_model); - DownloadUIAdapter* adapter = static_cast<DownloadUIAdapter*>( - offline_page_model->GetUserData(kDownloadUIAdapterKey)); + DownloadUIAdapter* adapter = + DownloadUIAdapter::FromOfflinePageModel(offline_page_model); if (!adapter) { RequestCoordinator* request_coordinator = @@ -486,7 +482,7 @@ adapter = new DownloadUIAdapter( offline_page_model, request_coordinator, base::MakeUnique<DownloadUIAdapterDelegate>(offline_page_model)); - offline_page_model->SetUserData(kDownloadUIAdapterKey, adapter); + DownloadUIAdapter::AttachToOfflinePageModel(adapter, offline_page_model); } return reinterpret_cast<jlong>(
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner.cc b/chrome/browser/android/offline_pages/prerendering_offliner.cc index e7ee1f9..5554393f 100644 --- a/chrome/browser/android/offline_pages/prerendering_offliner.cc +++ b/chrome/browser/android/offline_pages/prerendering_offliner.cc
@@ -19,9 +19,6 @@ #include "content/public/browser/web_contents.h" namespace offline_pages { -namespace { -const char kDownloadUIAdapterKey[] = "download-ui-adapter"; -} PrerenderingOffliner::PrerenderingOffliner( content::BrowserContext* browser_context, @@ -41,10 +38,8 @@ int64_t bytes) { if (!pending_request_) return; - - DownloadUIAdapter* ui_adapter = static_cast<DownloadUIAdapter*>( - offline_page_model_->GetUserData(kDownloadUIAdapterKey)); - + DownloadUIAdapter* ui_adapter = + DownloadUIAdapter::FromOfflinePageModel(offline_page_model_); if (!ui_adapter) return;
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn index 65a7512..36781537 100644 --- a/chrome/browser/chromeos/BUILD.gn +++ b/chrome/browser/chromeos/BUILD.gn
@@ -828,6 +828,8 @@ "login/screens/reset_screen.cc", "login/screens/reset_screen.h", "login/screens/reset_view.h", + "login/screens/screen_exit_code.cc", + "login/screens/screen_exit_code.h", "login/screens/screen_flow.h", "login/screens/terms_of_service_screen.cc", "login/screens/terms_of_service_screen.h", @@ -901,8 +903,6 @@ "login/ui/captive_portal_window_proxy.h", "login/ui/input_events_blocker.cc", "login/ui/input_events_blocker.h", - "login/ui/keyboard_driven_oobe_key_handler.cc", - "login/ui/keyboard_driven_oobe_key_handler.h", "login/ui/lock_window.cc", "login/ui/lock_window.h", "login/ui/login_display.cc",
diff --git a/chrome/browser/chromeos/arc/arc_session_manager.cc b/chrome/browser/chromeos/arc/arc_session_manager.cc index 64c3226..8e8edba1 100644 --- a/chrome/browser/chromeos/arc/arc_session_manager.cc +++ b/chrome/browser/chromeos/arc/arc_session_manager.cc
@@ -450,8 +450,18 @@ DCHECK(!enable_requested_); RequestEnable(); } else { - VLOG(1) << "ARC is initially disabled. Removing data."; - RemoveArcData(); + if (IsArcPlayStoreEnabledPreferenceManagedForProfile(profile_)) { + // All users that can disable ARC by themselves will have the + // |kARcDataRemoveRequested| pref set, so we don't need to eagerly remove + // the data for that case. + // For managed users, the preference can change when the Profile object is + // not alive, so we still need to check it here in case it was disabled to + // ensure that the data is deleted in case it was disabled between + // launches. + VLOG(1) << "ARC is initially disabled for managed profile. " + << "Removing data."; + RemoveArcData(); + } PrefServiceSyncableFromProfile(profile_)->AddObserver(this); OnIsSyncingChanged(); }
diff --git a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc index cfae8a4..084d9e6 100644 --- a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc +++ b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
@@ -229,7 +229,7 @@ arc_session_manager()->OnPrimaryUserProfilePrepared(profile()); - ASSERT_TRUE(WaitForDataRemoved(ArcSessionManager::State::STOPPED)); + ASSERT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state()); pref->SetBoolean(prefs::kArcEnabled, true); base::RunLoop().RunUntilIdle(); @@ -254,7 +254,7 @@ arc_session_manager()->OnPrimaryUserProfilePrepared(profile()); // By default ARC is not enabled. - ASSERT_TRUE(WaitForDataRemoved(ArcSessionManager::State::STOPPED)); + ASSERT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state()); profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); base::RunLoop().RunUntilIdle(); @@ -445,22 +445,18 @@ TEST_F(ArcSessionManagerTest, RemoveDataFolder) { profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, false); - // Starting session manager with prefs::kArcEnabled off automatically removes - // Android's data folder. + + // Starting session manager with prefs::kArcEnabled off does not automatically + // remove Android's data folder. arc_session_manager()->OnPrimaryUserProfilePrepared(profile()); - EXPECT_TRUE( + EXPECT_FALSE( profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested)); - EXPECT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR, + EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state()); // Enable ARC. Data is removed asyncronously. At this moment session manager // should be in REMOVING_DATA_DIR state. profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); - EXPECT_TRUE( - profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested)); - EXPECT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR, - arc_session_manager()->state()); - // Wait until data is removed. - base::RunLoop().RunUntilIdle(); + // Data should still not be removed. EXPECT_FALSE( profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested)); EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE, @@ -468,7 +464,7 @@ arc_session_manager()->StartArc(); EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state()); - // Now request to remove data and stop session manager. + // Request to remove data and stop session manager. arc_session_manager()->RemoveArcData(); ASSERT_TRUE( profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested)); @@ -496,6 +492,18 @@ arc_session_manager()->Shutdown(); } +TEST_F(ArcSessionManagerTest, RemoveDataFolder_Managed) { + // Set ARC to be managed and disabled. + profile()->GetTestingPrefService()->SetManagedPref(prefs::kArcEnabled, + new base::Value(false)); + + // Starting session manager with prefs::kArcEnabled off in a managed profile + // does automatically remove Android's data folder. + arc_session_manager()->OnPrimaryUserProfilePrepared(profile()); + EXPECT_TRUE( + profile()->GetPrefs()->GetBoolean(prefs::kArcDataRemoveRequested)); +} + TEST_F(ArcSessionManagerTest, IgnoreSecondErrorReporting) { profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); arc_session_manager()->OnPrimaryUserProfilePrepared(profile()); @@ -733,18 +741,6 @@ base::RunLoop().RunUntilIdle(); } - void MaybeWaitForDataRemoved() { - // In case of managed user we no need to wait data removal because - // ArcSessionManager is initialized with arc.enabled = true already and - // request to remove ARC data is not issued. - if (IsManagedUser()) - return; - - DCHECK_EQ(ArcSessionManager::State::REMOVING_DATA_DIR, - ArcSessionManager::Get()->state()); - ArcDataRemovedWaiter().Wait(); - } - chromeos::ArcTermsOfServiceScreenView* view() { return this; } private: @@ -779,7 +775,6 @@ TEST_P(ArcSessionOobeOptInNegotiatorTest, OobeTermsAccepted) { view()->Show(); - MaybeWaitForDataRemoved(); EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE, arc_session_manager()->state()); ReportResult(true); @@ -789,7 +784,6 @@ TEST_P(ArcSessionOobeOptInNegotiatorTest, OobeTermsRejected) { view()->Show(); - MaybeWaitForDataRemoved(); EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE, arc_session_manager()->state()); ReportResult(false); @@ -800,7 +794,6 @@ TEST_P(ArcSessionOobeOptInNegotiatorTest, OobeTermsViewDestroyed) { view()->Show(); - MaybeWaitForDataRemoved(); EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE, arc_session_manager()->state()); CloseLoginDisplayHost();
diff --git a/chrome/browser/chromeos/eol_notification.cc b/chrome/browser/chromeos/eol_notification.cc index f246ac4e..c9da0b4 100644 --- a/chrome/browser/chromeos/eol_notification.cc +++ b/chrome/browser/chromeos/eol_notification.cc
@@ -116,8 +116,11 @@ profile_->GetPrefs()->GetInteger(prefs::kEolStatus); profile_->GetPrefs()->SetInteger(prefs::kEolStatus, status_); - if (status_ == update_engine::EndOfLifeStatus::kSupported) + // Security only state is no longer supported. + if (status_ == update_engine::EndOfLifeStatus::kSupported || + status_ == update_engine::EndOfLifeStatus::kSecurityOnly) { return; + } if (pre_eol_status != status_) { // If Eol status has changed, we should reset @@ -130,11 +133,6 @@ if (user_dismissed_eol_notification) return; - // When device is in Security-Only state, only show notification the first - // time. - if (status_ == update_engine::EndOfLifeStatus::kSecurityOnly) - profile_->GetPrefs()->SetBoolean(prefs::kEolNotificationDismissed, true); - Update(); } @@ -154,7 +152,8 @@ Notification notification( message_center::NOTIFICATION_TYPE_SIMPLE, - l10n_util::GetStringUTF16(IDS_EOL_NOTIFICATION_TITLE), GetEolMessage(), + l10n_util::GetStringUTF16(IDS_EOL_NOTIFICATION_TITLE), + l10n_util::GetStringUTF16(IDS_EOL_NOTIFICATION_EOL), gfx::Image( CreateVectorIcon(gfx::VectorIconId::EOL, kNotificationIconColor)), message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, @@ -164,12 +163,4 @@ g_browser_process->notification_ui_manager()->Add(notification, profile_); } -base::string16 EolNotification::GetEolMessage() { - if (status_ == update_engine::EndOfLifeStatus::kSecurityOnly) { - return l10n_util::GetStringUTF16(IDS_EOL_NOTIFICATION_SECURITY_ONLY); - } else { - return l10n_util::GetStringUTF16(IDS_EOL_NOTIFICATION_EOL); - } -} - } // namespace chromeos
diff --git a/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc b/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc index 9f7e45d3..2190197 100644 --- a/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc +++ b/chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc
@@ -248,9 +248,9 @@ // their work before. base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, - base::Bind( - &AutoEnrollmentCheckScreen::Finish, weak_ptr_factory_.GetWeakPtr(), - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED)); + base::Bind(&AutoEnrollmentCheckScreen::Finish, + weak_ptr_factory_.GetWeakPtr(), + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED)); } bool AutoEnrollmentCheckScreen::IsCompleted() const {
diff --git a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc index 3c7483a0..2376f69 100644 --- a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc +++ b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc
@@ -238,16 +238,16 @@ if (elapsed_timer_) UMA_ENROLLMENT_TIME(kMetricEnrollmentTimeCancel, elapsed_timer_); - const BaseScreenDelegate::ExitCodes exit_code = - config_.is_forced() ? BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK - : BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED; + const ScreenExitCode exit_code = + config_.is_forced() ? ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK + : ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED; ClearAuth( base::Bind(&EnrollmentScreen::Finish, base::Unretained(this), exit_code)); } void EnrollmentScreen::OnConfirmationClosed() { ClearAuth(base::Bind(&EnrollmentScreen::Finish, base::Unretained(this), - BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED)); + ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED)); } void EnrollmentScreen::OnAdJoined(const std::string& realm) {
diff --git a/chrome/browser/chromeos/login/enrollment/enrollment_screen_browsertest.cc b/chrome/browser/chromeos/login/enrollment/enrollment_screen_browsertest.cc index 3e210ce..d1029f88 100644 --- a/chrome/browser/chromeos/login/enrollment/enrollment_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/enrollment/enrollment_screen_browsertest.cc
@@ -54,7 +54,7 @@ enrollment_screen); EXPECT_CALL(mock_base_screen_delegate, - OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED, _)) + OnExit(_, ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED, _)) .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); enrollment_screen->OnCancel(); content::RunThisRunLoop(&run_loop); @@ -118,7 +118,7 @@ enrollment_screen); EXPECT_CALL(mock_base_screen_delegate, - OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED, _)) + OnExit(_, ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED, _)) .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); ASSERT_FALSE(enrollment_screen->AdvanceToNextAuth()); enrollment_screen->OnCancel(); @@ -190,7 +190,7 @@ enrollment_screen); EXPECT_CALL(mock_base_screen_delegate, - OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) + OnExit(_, ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK, _)) .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); ASSERT_FALSE(enrollment_screen->AdvanceToNextAuth()); enrollment_screen->OnCancel(); @@ -237,7 +237,7 @@ enrollment_screen); EXPECT_CALL(mock_base_screen_delegate, - OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) + OnExit(_, ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK, _)) .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); ASSERT_TRUE(enrollment_screen->AdvanceToNextAuth()); enrollment_screen->OnCancel(); @@ -282,7 +282,7 @@ enrollment_screen); EXPECT_CALL(mock_base_screen_delegate, - OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) + OnExit(_, ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK, _)) .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); enrollment_screen->OnCancel(); content::RunThisRunLoop(&run_loop);
diff --git a/chrome/browser/chromeos/login/enrollment/enrollment_screen_unittest.cc b/chrome/browser/chromeos/login/enrollment/enrollment_screen_unittest.cc index dce186db..8a380cf 100644 --- a/chrome/browser/chromeos/login/enrollment/enrollment_screen_unittest.cc +++ b/chrome/browser/chromeos/login/enrollment/enrollment_screen_unittest.cc
@@ -198,7 +198,7 @@ // This is how we check that the code finishes and cleanly exits // the enterprise enrollment flow. EXPECT_CALL(*GetBaseScreenDelegate(), - OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED, _)) + OnExit(_, ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED, _)) .Times(1); // Start zero-touch enrollment.
diff --git a/chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.cc b/chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.cc index 34b0abf..0e6c56d 100644 --- a/chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.cc +++ b/chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.cc
@@ -44,11 +44,11 @@ } void ArcTermsOfServiceScreen::OnSkip() { - Finish(BaseScreenDelegate::ARC_TERMS_OF_SERVICE_FINISHED); + Finish(ScreenExitCode::ARC_TERMS_OF_SERVICE_FINISHED); } void ArcTermsOfServiceScreen::OnAccept() { - Finish(BaseScreenDelegate::ARC_TERMS_OF_SERVICE_FINISHED); + Finish(ScreenExitCode::ARC_TERMS_OF_SERVICE_FINISHED); } void ArcTermsOfServiceScreen::OnViewDestroyed(
diff --git a/chrome/browser/chromeos/login/screens/base_screen.cc b/chrome/browser/chromeos/login/screens/base_screen.cc index e90beca..b8a41ce 100644 --- a/chrome/browser/chromeos/login/screens/base_screen.cc +++ b/chrome/browser/chromeos/login/screens/base_screen.cc
@@ -96,7 +96,7 @@ channel_->CommitContextChanges(diff); } -void BaseScreen::Finish(BaseScreenDelegate::ExitCodes exit_code) { +void BaseScreen::Finish(ScreenExitCode exit_code) { base_screen_delegate_->OnExit(*this, exit_code, &context_); }
diff --git a/chrome/browser/chromeos/login/screens/base_screen.h b/chrome/browser/chromeos/login/screens/base_screen.h index dcaa6fea..8b69691 100644 --- a/chrome/browser/chromeos/login/screens/base_screen.h +++ b/chrome/browser/chromeos/login/screens/base_screen.h
@@ -102,7 +102,7 @@ // Screen can call this method to notify framework that it have finished // it's work with |outcome|. - void Finish(BaseScreenDelegate::ExitCodes exit_code); + void Finish(ScreenExitCode exit_code); // The method is called each time some key in screen context is // updated by JS side. Default implementation does nothing, so
diff --git a/chrome/browser/chromeos/login/screens/base_screen_delegate.h b/chrome/browser/chromeos/login/screens/base_screen_delegate.h index 1bc19b7..bfa667a3 100644 --- a/chrome/browser/chromeos/login/screens/base_screen_delegate.h +++ b/chrome/browser/chromeos/login/screens/base_screen_delegate.h
@@ -7,6 +7,8 @@ #include <string> +#include "chrome/browser/chromeos/login/screens/screen_exit_code.h" + namespace login { class ScreenContext; } @@ -20,47 +22,9 @@ // screens. class BaseScreenDelegate { public: - // Each login screen or a view shown within login wizard view is itself a - // state. Upon exit each view returns one of the results by calling OnExit() - // method. Depending on the result and the current view or state login wizard - // decides what is the next view to show. There must be an exit code for each - // way to exit the screen for each screen. (Numeric ids are provided to - // facilitate interpretation of log files only, they are subject to change - // without notice.) - enum ExitCodes { - // "Continue" was pressed on network screen and network is online. - NETWORK_CONNECTED = 0, - HID_DETECTION_COMPLETED = 1, - // Connection failed while trying to load a WebPageScreen. - CONNECTION_FAILED = 2, - UPDATE_INSTALLED = 3, - UPDATE_NOUPDATE = 4, - UPDATE_ERROR_CHECKING_FOR_UPDATE = 5, - UPDATE_ERROR_UPDATING = 6, - USER_IMAGE_SELECTED = 7, - EULA_ACCEPTED = 8, - EULA_BACK = 9, - ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED = 10, - ENTERPRISE_ENROLLMENT_COMPLETED = 11, - ENTERPRISE_ENROLLMENT_BACK = 12, - RESET_CANCELED = 13, - KIOSK_AUTOLAUNCH_CANCELED = 14, - KIOSK_AUTOLAUNCH_CONFIRMED = 15, - KIOSK_ENABLE_COMPLETED = 16, - TERMS_OF_SERVICE_DECLINED = 17, - TERMS_OF_SERVICE_ACCEPTED = 18, - WRONG_HWID_WARNING_SKIPPED = 19, - CONTROLLER_PAIRING_FINISHED = 20, - ENABLE_DEBUGGING_FINISHED = 21, - ENABLE_DEBUGGING_CANCELED = 22, - ARC_TERMS_OF_SERVICE_FINISHED = 23, - UPDATE_ERROR_UPDATING_CRITICAL_UPDATE = 24, - EXIT_CODES_COUNT // not a real code, must be the last - }; - // Method called by a screen when user's done with it. virtual void OnExit(BaseScreen& screen, - ExitCodes exit_code, + ScreenExitCode exit_code, const ::login::ScreenContext* context) = 0; // Forces current screen showing.
diff --git a/chrome/browser/chromeos/login/screens/controller_pairing_screen.cc b/chrome/browser/chromeos/login/screens/controller_pairing_screen.cc index 08a536c..05ed1b3 100644 --- a/chrome/browser/chromeos/login/screens/controller_pairing_screen.cc +++ b/chrome/browser/chromeos/login/screens/controller_pairing_screen.cc
@@ -116,7 +116,7 @@ } case ControllerPairingController::STAGE_WAITING_FOR_CREDENTIALS: { shark_controller_->RemoveObserver(this); - Finish(WizardController::CONTROLLER_PAIRING_FINISHED); + Finish(ScreenExitCode::CONTROLLER_PAIRING_FINISHED); desired_page = kPageEnrollmentIntroduction; break; }
diff --git a/chrome/browser/chromeos/login/screens/enable_debugging_screen.cc b/chrome/browser/chromeos/login/screens/enable_debugging_screen.cc index 0bd6517..7329f207 100644 --- a/chrome/browser/chromeos/login/screens/enable_debugging_screen.cc +++ b/chrome/browser/chromeos/login/screens/enable_debugging_screen.cc
@@ -35,8 +35,8 @@ } void EnableDebuggingScreen::OnExit(bool success) { - Finish(success ? BaseScreenDelegate::ENABLE_DEBUGGING_FINISHED : - BaseScreenDelegate::ENABLE_DEBUGGING_CANCELED); + Finish(success ? ScreenExitCode::ENABLE_DEBUGGING_FINISHED + : ScreenExitCode::ENABLE_DEBUGGING_CANCELED); } void EnableDebuggingScreen::OnViewDestroyed(EnableDebuggingScreenView* view) {
diff --git a/chrome/browser/chromeos/login/screens/eula_screen.cc b/chrome/browser/chromeos/login/screens/eula_screen.cc index e17cc1e..231dfb6e 100644 --- a/chrome/browser/chromeos/login/screens/eula_screen.cc +++ b/chrome/browser/chromeos/login/screens/eula_screen.cc
@@ -98,9 +98,9 @@ void EulaScreen::OnUserAction(const std::string& action_id) { if (action_id == kUserActionAcceptButtonClicked) - Finish(BaseScreenDelegate::EULA_ACCEPTED); + Finish(ScreenExitCode::EULA_ACCEPTED); else if (action_id == kUserActionBackButtonClicked) - Finish(BaseScreenDelegate::EULA_BACK); + Finish(ScreenExitCode::EULA_BACK); else BaseScreen::OnUserAction(action_id); }
diff --git a/chrome/browser/chromeos/login/screens/hid_detection_screen.cc b/chrome/browser/chromeos/login/screens/hid_detection_screen.cc index b22906c..3d7d6868 100644 --- a/chrome/browser/chromeos/login/screens/hid_detection_screen.cc +++ b/chrome/browser/chromeos/login/screens/hid_detection_screen.cc
@@ -116,7 +116,7 @@ weak_ptr_factory_.GetWeakPtr())); } - Finish(BaseScreenDelegate::HID_DETECTION_COMPLETED); + Finish(ScreenExitCode::HID_DETECTION_COMPLETED); } void HIDDetectionScreen::OnViewDestroyed(HIDDetectionView* view) {
diff --git a/chrome/browser/chromeos/login/screens/host_pairing_screen.cc b/chrome/browser/chromeos/login/screens/host_pairing_screen.cc index 4a14f7c..62444282 100644 --- a/chrome/browser/chromeos/login/screens/host_pairing_screen.cc +++ b/chrome/browser/chromeos/login/screens/host_pairing_screen.cc
@@ -99,7 +99,7 @@ } case HostPairingController::STAGE_ENROLLMENT_SUCCESS: { remora_controller_->RemoveObserver(this); - Finish(WizardController::ENTERPRISE_ENROLLMENT_COMPLETED); + Finish(ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED); break; } case HostPairingController::STAGE_ENROLLMENT_ERROR: {
diff --git a/chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.cc b/chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.cc index 52c1f32..56c49494 100644 --- a/chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.cc +++ b/chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.cc
@@ -32,8 +32,8 @@ } void KioskAutolaunchScreen::OnExit(bool confirmed) { - Finish(confirmed ? BaseScreenDelegate::KIOSK_AUTOLAUNCH_CONFIRMED - : BaseScreenDelegate::KIOSK_AUTOLAUNCH_CANCELED); + Finish(confirmed ? ScreenExitCode::KIOSK_AUTOLAUNCH_CONFIRMED + : ScreenExitCode::KIOSK_AUTOLAUNCH_CANCELED); } void KioskAutolaunchScreen::OnViewDestroyed(KioskAutolaunchScreenView* view) {
diff --git a/chrome/browser/chromeos/login/screens/kiosk_enable_screen.cc b/chrome/browser/chromeos/login/screens/kiosk_enable_screen.cc index f6434ab8..e9ed542 100644 --- a/chrome/browser/chromeos/login/screens/kiosk_enable_screen.cc +++ b/chrome/browser/chromeos/login/screens/kiosk_enable_screen.cc
@@ -31,7 +31,7 @@ } void KioskEnableScreen::OnExit() { - Finish(BaseScreenDelegate::KIOSK_ENABLE_COMPLETED); + Finish(ScreenExitCode::KIOSK_ENABLE_COMPLETED); } void KioskEnableScreen::OnViewDestroyed(KioskEnableScreenView* view) {
diff --git a/chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h b/chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h index 2d2c01c..9511a19 100644 --- a/chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h +++ b/chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h
@@ -21,7 +21,9 @@ virtual ~MockBaseScreenDelegate(); MOCK_METHOD3(OnExit, - void(BaseScreen&, ExitCodes, const ::login::ScreenContext*)); + void(BaseScreen&, + ScreenExitCode, + const ::login::ScreenContext*)); MOCK_METHOD0(ShowCurrentScreen, void()); MOCK_METHOD0(GetErrorScreen, ErrorScreen*()); MOCK_METHOD0(ShowErrorScreen, void());
diff --git a/chrome/browser/chromeos/login/screens/network_screen.cc b/chrome/browser/chromeos/login/screens/network_screen.cc index 90d0bd1e..fd9d69f 100644 --- a/chrome/browser/chromeos/login/screens/network_screen.cc +++ b/chrome/browser/chromeos/login/screens/network_screen.cc
@@ -315,7 +315,7 @@ // TODO(nkostylev): Check network connectivity. UnsubscribeNetworkNotification(); connection_timer_.Stop(); - Finish(BaseScreenDelegate::NETWORK_CONNECTED); + Finish(ScreenExitCode::NETWORK_CONNECTED); } void NetworkScreen::OnConnectionTimeout() {
diff --git a/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc index 3d5ea73e0..55da5eb 100644 --- a/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc
@@ -90,7 +90,8 @@ void EmulateContinueButtonExit(NetworkScreen* network_screen) { EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::NETWORK_CONNECTED, _)).Times(1); + OnExit(_, ScreenExitCode::NETWORK_CONNECTED, _)) + .Times(1); EXPECT_CALL(*mock_network_state_helper_, IsConnected()) .WillOnce(Return(true)); network_screen->OnContinueButtonPressed();
diff --git a/chrome/browser/chromeos/login/screens/reset_screen.cc b/chrome/browser/chromeos/login/screens/reset_screen.cc index 0ec4de0..0d92393 100644 --- a/chrome/browser/chromeos/login/screens/reset_screen.cc +++ b/chrome/browser/chromeos/login/screens/reset_screen.cc
@@ -144,7 +144,7 @@ if (context_.GetBoolean(kContextKeyIsRollbackAvailable) && context_.GetBoolean(kContextKeyIsRollbackChecked)) OnToggleRollback(); - Finish(BaseScreenDelegate::RESET_CANCELED); + Finish(ScreenExitCode::RESET_CANCELED); DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this); }
diff --git a/chrome/browser/chromeos/login/screens/screen_exit_code.cc b/chrome/browser/chromeos/login/screens/screen_exit_code.cc new file mode 100644 index 0000000..87820726 --- /dev/null +++ b/chrome/browser/chromeos/login/screens/screen_exit_code.cc
@@ -0,0 +1,70 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/chromeos/login/screens/screen_exit_code.h" + +#include "base/logging.h" + +namespace chromeos { + +std::string ExitCodeToString(ScreenExitCode code) { + switch (code) { + case ScreenExitCode::NETWORK_CONNECTED: + return "NETWORK_CONNECTED"; + case ScreenExitCode::HID_DETECTION_COMPLETED: + return "HID_DETECTION_COMPLETED"; + case ScreenExitCode::CONNECTION_FAILED: + return "CONNECTION_FAILED"; + case ScreenExitCode::UPDATE_INSTALLED: + return "UPDATE_INSTALLED"; + case ScreenExitCode::UPDATE_NOUPDATE: + return "UPDATE_NOUPDATE"; + case ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE: + return "UPDATE_ERROR_CHECKING_FOR_UPDATE"; + case ScreenExitCode::UPDATE_ERROR_UPDATING: + return "UPDATE_ERROR_UPDATING"; + case ScreenExitCode::USER_IMAGE_SELECTED: + return "USER_IMAGE_SELECTED"; + case ScreenExitCode::EULA_ACCEPTED: + return "EULA_ACCEPTED"; + case ScreenExitCode::EULA_BACK: + return "EULA_BACK"; + case ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: + return "ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED"; + case ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED: + return "ENTERPRISE_ENROLLMENT_COMPLETED"; + case ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK: + return "ENTERPRISE_ENROLLMENT_BACK"; + case ScreenExitCode::RESET_CANCELED: + return "RESET_CANCELED"; + case ScreenExitCode::KIOSK_AUTOLAUNCH_CANCELED: + return "KIOSK_AUTOLAUNCH_CANCELED"; + case ScreenExitCode::KIOSK_AUTOLAUNCH_CONFIRMED: + return "KIOSK_AUTOLAUNCH_CONFIRMED"; + case ScreenExitCode::KIOSK_ENABLE_COMPLETED: + return "KIOSK_ENABLE_COMPLETED"; + case ScreenExitCode::TERMS_OF_SERVICE_DECLINED: + return "TERMS_OF_SERVICE_DECLINED"; + case ScreenExitCode::TERMS_OF_SERVICE_ACCEPTED: + return "TERMS_OF_SERVICE_ACCEPTED"; + case ScreenExitCode::WRONG_HWID_WARNING_SKIPPED: + return "WRONG_HWID_WARNING_SKIPPED"; + case ScreenExitCode::CONTROLLER_PAIRING_FINISHED: + return "CONTROLLER_PAIRING_FINISHED"; + case ScreenExitCode::ENABLE_DEBUGGING_FINISHED: + return "ENABLE_DEBUGGING_FINISHED"; + case ScreenExitCode::ENABLE_DEBUGGING_CANCELED: + return "ENABLE_DEBUGGING_CANCELED"; + case ScreenExitCode::ARC_TERMS_OF_SERVICE_FINISHED: + return "ARC_TERMS_OF_SERVICE_FINISHED"; + case ScreenExitCode::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE: + return "UPDATE_ERROR_UPDATING_CRITICAL_UPDATE"; + case ScreenExitCode::EXIT_CODES_COUNT: + default: + NOTREACHED(); + return ""; + } +} + +} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/screens/screen_exit_code.h b/chrome/browser/chromeos/login/screens/screen_exit_code.h new file mode 100644 index 0000000..e81965ae --- /dev/null +++ b/chrome/browser/chromeos/login/screens/screen_exit_code.h
@@ -0,0 +1,56 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_SCREEN_EXIT_CODE_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_SCREEN_EXIT_CODE_H_ + +#include <string> + +namespace chromeos { + +// Each login screen or a view shown within login wizard view is itself a +// state. Upon exit each view returns one of the results by calling +// the BaseScreenDelegate::OnExit() method. Depending on the result and the +// current view or state the login wizard decides what is the next view to show. +// +// There must be an exit code for each way to exit the screen for each screen. +// +// Numeric ids are provided to facilitate interpretation of log files only, +// they are subject to change without notice. +enum class ScreenExitCode { + // "Continue" was pressed on network screen and network is online. + NETWORK_CONNECTED = 0, + HID_DETECTION_COMPLETED = 1, + // Connection failed while trying to load a WebPageScreen. + CONNECTION_FAILED = 2, + UPDATE_INSTALLED = 3, + UPDATE_NOUPDATE = 4, + UPDATE_ERROR_CHECKING_FOR_UPDATE = 5, + UPDATE_ERROR_UPDATING = 6, + USER_IMAGE_SELECTED = 7, + EULA_ACCEPTED = 8, + EULA_BACK = 9, + ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED = 10, + ENTERPRISE_ENROLLMENT_COMPLETED = 11, + ENTERPRISE_ENROLLMENT_BACK = 12, + RESET_CANCELED = 13, + KIOSK_AUTOLAUNCH_CANCELED = 14, + KIOSK_AUTOLAUNCH_CONFIRMED = 15, + KIOSK_ENABLE_COMPLETED = 16, + TERMS_OF_SERVICE_DECLINED = 17, + TERMS_OF_SERVICE_ACCEPTED = 18, + WRONG_HWID_WARNING_SKIPPED = 19, + CONTROLLER_PAIRING_FINISHED = 20, + ENABLE_DEBUGGING_FINISHED = 21, + ENABLE_DEBUGGING_CANCELED = 22, + ARC_TERMS_OF_SERVICE_FINISHED = 23, + UPDATE_ERROR_UPDATING_CRITICAL_UPDATE = 24, + EXIT_CODES_COUNT // not a real code, must be the last +}; + +std::string ExitCodeToString(ScreenExitCode code); + +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_SCREEN_EXIT_CODE_H_
diff --git a/chrome/browser/chromeos/login/screens/terms_of_service_screen.cc b/chrome/browser/chromeos/login/screens/terms_of_service_screen.cc index 15d3eee..c4a1f13 100644 --- a/chrome/browser/chromeos/login/screens/terms_of_service_screen.cc +++ b/chrome/browser/chromeos/login/screens/terms_of_service_screen.cc
@@ -63,11 +63,11 @@ } void TermsOfServiceScreen::OnDecline() { - Finish(BaseScreenDelegate::TERMS_OF_SERVICE_DECLINED); + Finish(ScreenExitCode::TERMS_OF_SERVICE_DECLINED); } void TermsOfServiceScreen::OnAccept() { - Finish(BaseScreenDelegate::TERMS_OF_SERVICE_ACCEPTED); + Finish(ScreenExitCode::TERMS_OF_SERVICE_ACCEPTED); } void TermsOfServiceScreen::OnViewDestroyed(TermsOfServiceScreenView* view) {
diff --git a/chrome/browser/chromeos/login/screens/update_screen.cc b/chrome/browser/chromeos/login/screens/update_screen.cc index f179953..ee108e8f9 100644 --- a/chrome/browser/chromeos/login/screens/update_screen.cc +++ b/chrome/browser/chromeos/login/screens/update_screen.cc
@@ -175,10 +175,10 @@ switch (reason) { case REASON_UPDATE_CANCELED: - Finish(BaseScreenDelegate::UPDATE_NOUPDATE); + Finish(ScreenExitCode::UPDATE_NOUPDATE); break; case REASON_UPDATE_INIT_FAILED: - Finish(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE); + Finish(ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE); break; case REASON_UPDATE_NON_CRITICAL: case REASON_UPDATE_ENDED: { @@ -196,16 +196,16 @@ // Noncritical update, just exit screen as if there is no update. // no break case UpdateEngineClient::UPDATE_STATUS_IDLE: - Finish(BaseScreenDelegate::UPDATE_NOUPDATE); + Finish(ScreenExitCode::UPDATE_NOUPDATE); break; case UpdateEngineClient::UPDATE_STATUS_ERROR: case UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT: if (is_checking_for_update_) { - Finish(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE); + Finish(ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE); } else if (HasCriticalUpdate()) { - Finish(BaseScreenDelegate::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE); + Finish(ScreenExitCode::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE); } else { - Finish(BaseScreenDelegate::UPDATE_ERROR_UPDATING); + Finish(ScreenExitCode::UPDATE_ERROR_UPDATING); } break; default:
diff --git a/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc index d44d7518..0eff6659 100644 --- a/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc +++ b/chrome/browser/chromeos/login/screens/update_screen_browsertest.cc
@@ -147,7 +147,8 @@ fake_update_engine_client_->set_default_status(status); EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _)) + .Times(1); update_screen_->UpdateStatusChanged(status); } @@ -190,14 +191,15 @@ IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorIssuingUpdateCheck) { // First, cancel the update that is already in progress. EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _)) + .Times(1); update_screen_->CancelUpdate(); fake_update_engine_client_->set_update_check_result( chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, - _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _)) + .Times(1); update_screen_->StartNetworkCheck(); } @@ -209,8 +211,8 @@ fake_update_engine_client_->set_default_status(status); EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, - _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _)) + .Times(1); update_screen_->UpdateStatusChanged(status); } @@ -230,13 +232,15 @@ fake_update_engine_client_->set_default_status(status); EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_ERROR_UPDATING, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_ERROR_UPDATING, _)) + .Times(1); update_screen_->UpdateStatusChanged(status); } IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTemproraryOfflineNetwork) { EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _)) + .Times(1); update_screen_->CancelUpdate(); // Change ethernet state to portal. @@ -279,15 +283,16 @@ chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, - _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _)) + .Times(1); NotifyPortalDetectionCompleted(); } IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTwoOfflineNetworks) { EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _)) + .Times(1); update_screen_->CancelUpdate(); // Change ethernet state to portal. @@ -339,7 +344,8 @@ // Cancels pending update request. EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _)) + .Times(1); update_screen_->CancelUpdate(); // First portal detection attempt returns NULL network and undefined @@ -363,7 +369,8 @@ IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestAPReselection) { EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _)) + .Times(1); update_screen_->CancelUpdate(); // Change ethernet state to portal. @@ -401,8 +408,8 @@ fake_update_engine_client_->set_update_check_result( chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); EXPECT_CALL(*mock_base_screen_delegate_, - OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, - _)).Times(1); + OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _)) + .Times(1); update_screen_->OnConnectRequested(); base::RunLoop().RunUntilIdle();
diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.cc b/chrome/browser/chromeos/login/screens/user_image_screen.cc index d69278d..4e4dae9 100644 --- a/chrome/browser/chromeos/login/screens/user_image_screen.cc +++ b/chrome/browser/chromeos/login/screens/user_image_screen.cc
@@ -334,7 +334,7 @@ sync_timer_.reset(); if (UserImageSyncObserver* sync_observer = GetSyncObserver()) sync_observer->RemoveObserver(this); - Finish(BaseScreenDelegate::USER_IMAGE_SELECTED); + Finish(ScreenExitCode::USER_IMAGE_SELECTED); } void UserImageScreen::ReportSyncResult(SyncResult timed_out) const {
diff --git a/chrome/browser/chromeos/login/screens/wrong_hwid_screen.cc b/chrome/browser/chromeos/login/screens/wrong_hwid_screen.cc index 8b85357b..f5f5cf12 100644 --- a/chrome/browser/chromeos/login/screens/wrong_hwid_screen.cc +++ b/chrome/browser/chromeos/login/screens/wrong_hwid_screen.cc
@@ -34,7 +34,7 @@ } void WrongHWIDScreen::OnExit() { - Finish(BaseScreenDelegate::WRONG_HWID_WARNING_SKIPPED); + Finish(ScreenExitCode::WRONG_HWID_WARNING_SKIPPED); } void WrongHWIDScreen::OnViewDestroyed(WrongHWIDScreenView* view) {
diff --git a/chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.cc b/chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.cc deleted file mode 100644 index 5fc8e83..0000000 --- a/chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.cc +++ /dev/null
@@ -1,26 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h" - -#include "ash/common/system/tray/system_tray.h" -#include "ash/shell.h" - -namespace chromeos { - -KeyboardDrivenOobeKeyHandler::KeyboardDrivenOobeKeyHandler() { - ash::Shell::GetInstance()->AddPreTargetHandler(this); -} -KeyboardDrivenOobeKeyHandler::~KeyboardDrivenOobeKeyHandler() { - ash::Shell::GetInstance()->RemovePreTargetHandler(this); -} - -void KeyboardDrivenOobeKeyHandler::OnKeyEvent(ui::KeyEvent* event) { - if (event->key_code() == ui::VKEY_F6) { - ash::Shell::GetInstance()->GetPrimarySystemTray()->CloseSystemBubble(); - event->StopPropagation(); - } -} - -} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h b/chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h deleted file mode 100644 index 54c747d..0000000 --- a/chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h +++ /dev/null
@@ -1,29 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_UI_KEYBOARD_DRIVEN_OOBE_KEY_HANDLER_H_ -#define CHROME_BROWSER_CHROMEOS_LOGIN_UI_KEYBOARD_DRIVEN_OOBE_KEY_HANDLER_H_ - -#include "base/compiler_specific.h" -#include "base/macros.h" -#include "ui/events/event_handler.h" - -namespace chromeos { - -// A class to handle special menu key for keyboard driven OOBE. -class KeyboardDrivenOobeKeyHandler : public ui::EventHandler { - public: - KeyboardDrivenOobeKeyHandler(); - ~KeyboardDrivenOobeKeyHandler() override; - - private: - // ui::EventHandler - void OnKeyEvent(ui::KeyEvent* event) override; - - DISALLOW_COPY_AND_ASSIGN(KeyboardDrivenOobeKeyHandler); -}; - -} // namespace chromeos - -#endif // CHROME_BROWSER_CHROMEOS_LOGIN_UI_KEYBOARD_DRIVEN_OOBE_KEY_HANDLER_H_
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc index f93c2245..739dd47 100644 --- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc +++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
@@ -7,6 +7,7 @@ #include <utility> #include <vector> +#include "ash/common/system/tray/system_tray.h" #include "ash/common/wallpaper/wallpaper_controller.h" #include "ash/common/wallpaper/wallpaper_delegate.h" #include "ash/common/wm_shell.h" @@ -46,7 +47,6 @@ #include "chrome/browser/chromeos/login/signin/token_handle_util.h" #include "chrome/browser/chromeos/login/startup_utils.h" #include "chrome/browser/chromeos/login/ui/input_events_blocker.h" -#include "chrome/browser/chromeos/login/ui/keyboard_driven_oobe_key_handler.h" #include "chrome/browser/chromeos/login/ui/webui_login_display.h" #include "chrome/browser/chromeos/login/ui/webui_login_view.h" #include "chrome/browser/chromeos/login/wizard_controller.h" @@ -101,6 +101,7 @@ #include "ui/compositor/scoped_layer_animation_settings.h" #include "ui/display/display.h" #include "ui/display/screen.h" +#include "ui/events/event_handler.h" #include "ui/events/event_utils.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/size.h" @@ -298,6 +299,29 @@ // static const int LoginDisplayHostImpl::kShowLoginWebUIid = 0x1111; +// A class to handle special menu key for keyboard driven OOBE. +class LoginDisplayHostImpl::KeyboardDrivenOobeKeyHandler + : public ui::EventHandler { + public: + KeyboardDrivenOobeKeyHandler() { + ash::Shell::GetInstance()->AddPreTargetHandler(this); + } + ~KeyboardDrivenOobeKeyHandler() override { + ash::Shell::GetInstance()->RemovePreTargetHandler(this); + } + + private: + // ui::EventHandler + void OnKeyEvent(ui::KeyEvent* event) override { + if (event->key_code() == ui::VKEY_F6) { + ash::Shell::GetInstance()->GetPrimarySystemTray()->CloseSystemBubble(); + event->StopPropagation(); + } + } + + DISALLOW_COPY_AND_ASSIGN(KeyboardDrivenOobeKeyHandler); +}; + // A login implementation of WidgetDelegate. class LoginDisplayHostImpl::LoginWidgetDelegate : public views::WidgetDelegate { public: @@ -539,8 +563,6 @@ finalize_animation_type_ != ANIMATION_ADD_USER) { ash::WmShell::Get()->wallpaper_controller()->MoveToUnlockedContainer(); } - if (wizard_controller_.get()) - wizard_controller_->OnSessionStart(); switch (finalize_animation_type_) { case ANIMATION_NONE:
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.h b/chrome/browser/chromeos/login/ui/login_display_host_impl.h index c18eef9..d7041af 100644 --- a/chrome/browser/chromeos/login/ui/login_display_host_impl.h +++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.h
@@ -42,7 +42,6 @@ class ArcKioskController; class DemoAppLauncher; class FocusRingController; -class KeyboardDrivenOobeKeyHandler; class WebUILoginDisplay; class WebUILoginView; @@ -106,6 +105,8 @@ static void DisableRestrictiveProxyCheckForTest(); protected: + class KeyboardDrivenOobeKeyHandler; + // content::NotificationObserver implementation: void Observe(int type, const content::NotificationSource& source,
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc index 851dbcd..630a4a5 100644 --- a/chrome/browser/chromeos/login/wizard_controller.cc +++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -642,19 +642,6 @@ return shark_connection_listener_.get(); } -void WizardController::AddObserver(Observer* observer) { - observer_list_.AddObserver(observer); -} - -void WizardController::RemoveObserver(Observer* observer) { - observer_list_.RemoveObserver(observer); -} - -void WizardController::OnSessionStart() { - for (auto& observer : observer_list_) - observer.OnSessionStart(); -} - void WizardController::SkipUpdateEnrollAfterEula() { skip_update_enroll_after_eula_ = true; } @@ -962,9 +949,6 @@ smooth_show_timer_.Stop(); - for (auto& observer : observer_list_) - observer.OnScreenChanged(current_screen_); - current_screen_->Show(); } @@ -1085,9 +1069,9 @@ /////////////////////////////////////////////////////////////////////////////// // WizardController, BaseScreenDelegate overrides: void WizardController::OnExit(BaseScreen& /* screen */, - ExitCodes exit_code, + ScreenExitCode exit_code, const ::login::ScreenContext* /* context */) { - VLOG(1) << "Wizard screen exit code: " << exit_code; + VLOG(1) << "Wizard screen exit code: " << ExitCodeToString(exit_code); const OobeScreen previous_screen = current_screen_->screen_id(); if (IsOOBEStepToTrack(previous_screen)) { RecordUMAHistogramForOOBEStepCompletionTime( @@ -1096,78 +1080,78 @@ screen_show_times_[GetOobeScreenName(previous_screen)]); } switch (exit_code) { - case HID_DETECTION_COMPLETED: + case ScreenExitCode::HID_DETECTION_COMPLETED: OnHIDDetectionCompleted(); break; - case NETWORK_CONNECTED: + case ScreenExitCode::NETWORK_CONNECTED: OnNetworkConnected(); break; - case CONNECTION_FAILED: + case ScreenExitCode::CONNECTION_FAILED: OnConnectionFailed(); break; - case UPDATE_INSTALLED: - case UPDATE_NOUPDATE: + case ScreenExitCode::UPDATE_INSTALLED: + case ScreenExitCode::UPDATE_NOUPDATE: OnUpdateCompleted(); break; - case UPDATE_ERROR_CHECKING_FOR_UPDATE: + case ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE: OnUpdateErrorCheckingForUpdate(); break; - case UPDATE_ERROR_UPDATING: + case ScreenExitCode::UPDATE_ERROR_UPDATING: OnUpdateErrorUpdating(false /* is_critical_update */); break; - case UPDATE_ERROR_UPDATING_CRITICAL_UPDATE: + case ScreenExitCode::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE: OnUpdateErrorUpdating(true /* is_critical_update */); break; - case USER_IMAGE_SELECTED: + case ScreenExitCode::USER_IMAGE_SELECTED: OnUserImageSelected(); break; - case EULA_ACCEPTED: + case ScreenExitCode::EULA_ACCEPTED: OnEulaAccepted(); break; - case EULA_BACK: + case ScreenExitCode::EULA_BACK: ShowNetworkScreen(); break; - case ENABLE_DEBUGGING_CANCELED: + case ScreenExitCode::ENABLE_DEBUGGING_CANCELED: OnDeviceModificationCanceled(); break; - case ENABLE_DEBUGGING_FINISHED: + case ScreenExitCode::ENABLE_DEBUGGING_FINISHED: OnDeviceModificationCanceled(); break; - case ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: + case ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: OnAutoEnrollmentCheckCompleted(); break; - case ENTERPRISE_ENROLLMENT_COMPLETED: + case ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED: OnEnrollmentDone(); break; - case ENTERPRISE_ENROLLMENT_BACK: + case ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK: retry_auto_enrollment_check_ = true; ShowAutoEnrollmentCheckScreen(); break; - case RESET_CANCELED: + case ScreenExitCode::RESET_CANCELED: OnDeviceModificationCanceled(); break; - case KIOSK_AUTOLAUNCH_CANCELED: + case ScreenExitCode::KIOSK_AUTOLAUNCH_CANCELED: OnKioskAutolaunchCanceled(); break; - case KIOSK_AUTOLAUNCH_CONFIRMED: + case ScreenExitCode::KIOSK_AUTOLAUNCH_CONFIRMED: OnKioskAutolaunchConfirmed(); break; - case KIOSK_ENABLE_COMPLETED: + case ScreenExitCode::KIOSK_ENABLE_COMPLETED: OnKioskEnableCompleted(); break; - case TERMS_OF_SERVICE_DECLINED: + case ScreenExitCode::TERMS_OF_SERVICE_DECLINED: OnTermsOfServiceDeclined(); break; - case TERMS_OF_SERVICE_ACCEPTED: + case ScreenExitCode::TERMS_OF_SERVICE_ACCEPTED: OnTermsOfServiceAccepted(); break; - case ARC_TERMS_OF_SERVICE_FINISHED: + case ScreenExitCode::ARC_TERMS_OF_SERVICE_FINISHED: OnArcTermsOfServiceFinished(); break; - case WRONG_HWID_WARNING_SKIPPED: + case ScreenExitCode::WRONG_HWID_WARNING_SKIPPED: OnWrongHWIDWarningSkipped(); break; - case CONTROLLER_PAIRING_FINISHED: + case ScreenExitCode::CONTROLLER_PAIRING_FINISHED: OnControllerPairingFinished(); break; default:
diff --git a/chrome/browser/chromeos/login/wizard_controller.h b/chrome/browser/chromeos/login/wizard_controller.h index 519c162..8f52e64 100644 --- a/chrome/browser/chromeos/login/wizard_controller.h +++ b/chrome/browser/chromeos/login/wizard_controller.h
@@ -58,16 +58,6 @@ public NetworkScreen::Delegate, public HIDDetectionScreen::Delegate { public: - // Observes screen changes. - class Observer { - public: - // Called before a screen change happens. - virtual void OnScreenChanged(BaseScreen* next_screen) = 0; - - // Called after the browser session has started. - virtual void OnSessionStart() = 0; - }; - WizardController(LoginDisplayHost* host, OobeUI* oobe_ui); ~WizardController() override; @@ -109,13 +99,6 @@ pairing_chromeos::SharkConnectionListener* GetSharkConnectionListenerForTesting(); - // Adds and removes an observer. - void AddObserver(Observer* observer); - void RemoveObserver(Observer* observer); - - // Called right after the browser session has started. - void OnSessionStart(); - // Skip update, go straight to enrollment after EULA is accepted. void SkipUpdateEnrollAfterEula(); @@ -211,7 +194,7 @@ // Overridden from BaseScreenDelegate: void OnExit(BaseScreen& screen, - ExitCodes exit_code, + ScreenExitCode exit_code, const ::login::ScreenContext* context) override; void ShowCurrentScreen() override; ErrorScreen* GetErrorScreen() override; @@ -374,8 +357,6 @@ // user Sign-In completed. base::Time time_oobe_started_; - base::ObserverList<Observer> observer_list_; - // Whether OOBE has yet been marked as completed. bool oobe_marked_completed_ = false;
diff --git a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc index 7e0f1b7..ca55bef 100644 --- a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc +++ b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
@@ -491,7 +491,7 @@ online_state); } - void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { + void OnExit(BaseScreen& screen, ScreenExitCode exit_code) { WizardController::default_controller()->OnExit(screen, exit_code, nullptr /* context */); } @@ -552,7 +552,7 @@ EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); @@ -564,7 +564,7 @@ EXPECT_CALL(*mock_update_screen_, Show()).Times(1); // Enable TimeZone resolve InitTimezoneResolver(); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); EXPECT_TRUE(GetGeolocationProvider()); // Let update screen smooth time process (time = 0ms). @@ -573,13 +573,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_INSTALLED); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); EXPECT_FALSE(ExistingUserController::current_controller() == NULL); EXPECT_EQ("ethernet,wifi,cellular", @@ -602,13 +602,13 @@ EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(0); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -616,13 +616,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_ERROR_UPDATING); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_ERROR_UPDATING); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); EXPECT_FALSE(ExistingUserController::current_controller() == NULL); } @@ -637,13 +637,13 @@ EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(0); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -655,7 +655,7 @@ EXPECT_CALL(*mock_network_screen_, Show()).Times(1); EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition OnExit(*mock_update_screen_, - BaseScreenDelegate::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE); + ScreenExitCode::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); } @@ -665,7 +665,7 @@ EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(0); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); @@ -678,7 +678,7 @@ EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) .Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); content::RunAllPendingInMessageLoop(); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); @@ -686,7 +686,7 @@ EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); content::RunAllPendingInMessageLoop(); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); @@ -700,13 +700,13 @@ EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_network_screen_, Show()).Times(1); EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_BACK); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_BACK); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); } @@ -727,7 +727,7 @@ OobeScreen::SCREEN_OOBE_ENROLLMENT); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); OnExit(*mock_enrollment_screen_, - BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); + ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED); EXPECT_FALSE(ExistingUserController::current_controller() == NULL); } @@ -744,8 +744,7 @@ // After warning is skipped, user returns to sign-in screen. // And this destroys WizardController. - OnExit(*mock_wrong_hwid_screen_, - BaseScreenDelegate::WRONG_HWID_WARNING_SKIPPED); + OnExit(*mock_wrong_hwid_screen_, ScreenExitCode::WRONG_HWID_WARNING_SKIPPED); EXPECT_FALSE(ExistingUserController::current_controller() == NULL); } @@ -754,7 +753,7 @@ // marked complete. class WizardControllerErrorUpdateAfterCompletedOobeTest : public WizardControllerFlowTest, - public testing::WithParamInterface<BaseScreenDelegate::ExitCodes> { + public testing::WithParamInterface<ScreenExitCode> { protected: WizardControllerErrorUpdateAfterCompletedOobeTest() = default; @@ -772,19 +771,19 @@ // user to proceed to log in. IN_PROC_BROWSER_TEST_P(WizardControllerErrorUpdateAfterCompletedOobeTest, ControlFlowErrorUpdate) { - const BaseScreenDelegate::ExitCodes update_screen_exit_code = GetParam(); + const ScreenExitCode update_screen_exit_code = GetParam(); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(0); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -798,7 +797,7 @@ EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); EXPECT_NE(nullptr, ExistingUserController::current_controller()); } @@ -806,8 +805,8 @@ INSTANTIATE_TEST_CASE_P( WizardControllerErrorUpdateAfterCompletedOobe, WizardControllerErrorUpdateAfterCompletedOobeTest, - testing::Values(BaseScreenDelegate::UPDATE_ERROR_UPDATING, - BaseScreenDelegate::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE)); + testing::Values(ScreenExitCode::UPDATE_ERROR_UPDATING, + ScreenExitCode::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE)); class WizardControllerDeviceStateTest : public WizardControllerFlowTest { protected: @@ -844,13 +843,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -858,7 +857,7 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_INSTALLED); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); @@ -883,14 +882,14 @@ policy::EnrollmentConfig::MODE_SERVER_FORCED))) .Times(1); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); ResetAutoEnrollmentCheckScreen(); // Make sure enterprise enrollment page shows up. CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); OnExit(*mock_enrollment_screen_, - BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); + ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED); EXPECT_TRUE(StartupUtils::IsOobeCompleted()); } @@ -905,13 +904,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -919,7 +918,7 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_INSTALLED); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); mock_auto_enrollment_check_screen_->RealShow(); @@ -933,13 +932,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -947,7 +946,7 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_INSTALLED); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); @@ -970,7 +969,7 @@ .Times(1); EXPECT_CALL(*device_disabled_screen_view_, Show()).Times(1); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); ResetAutoEnrollmentCheckScreen(); @@ -1120,13 +1119,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -1134,20 +1133,20 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_INSTALLED); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); EXPECT_FALSE(StartupUtils::IsOobeCompleted()); // Make sure enterprise enrollment page shows up right after update screen. CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); OnExit(*mock_enrollment_screen_, - BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); + ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED); EXPECT_TRUE(StartupUtils::IsOobeCompleted()); } @@ -1163,13 +1162,13 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); - OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); + OnExit(*mock_network_screen_, ScreenExitCode::NETWORK_CONNECTED); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); EXPECT_CALL(*mock_update_screen_, Show()).Times(1); - OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); + OnExit(*mock_eula_screen_, ScreenExitCode::EULA_ACCEPTED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -1177,22 +1176,21 @@ CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_update_screen_, BaseScreenDelegate::UPDATE_INSTALLED); + OnExit(*mock_update_screen_, ScreenExitCode::UPDATE_INSTALLED); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1); OnExit(*mock_auto_enrollment_check_screen_, - BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); + ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); EXPECT_FALSE(StartupUtils::IsOobeCompleted()); // Make sure enterprise enrollment page shows up right after update screen. CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); - OnExit(*mock_enrollment_screen_, - BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK); + OnExit(*mock_enrollment_screen_, ScreenExitCode::ENTERPRISE_ENROLLMENT_BACK); CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); EXPECT_FALSE(StartupUtils::IsOobeCompleted()); @@ -1231,7 +1229,7 @@ EXPECT_CALL(*mock_network_screen_, Show()).Times(1); OnExit(*mock_enable_debugging_screen_, - BaseScreenDelegate::ENABLE_DEBUGGING_CANCELED); + ScreenExitCode::ENABLE_DEBUGGING_CANCELED); // Let update screen smooth time process (time = 0ms). content::RunAllPendingInMessageLoop(); @@ -1259,7 +1257,7 @@ MockEnrollmentScreen, MockEnrollmentScreenView); } - void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { + void OnExit(BaseScreen& screen, ScreenExitCode exit_code) { WizardController::default_controller()->OnExit(screen, exit_code, nullptr /* context */); } @@ -1313,7 +1311,7 @@ // TODO(khmel): Add tests for ARC OptIn flow. // http://crbug.com/651144 -static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 25, +static_assert(static_cast<int>(ScreenExitCode::EXIT_CODES_COUNT) == 25, "tests for new control flow are missing"); } // namespace chromeos
diff --git a/chrome/browser/chromeos/printer_detector/printer_detector.cc b/chrome/browser/chromeos/printer_detector/printer_detector.cc index 656dc56..183035d1 100644 --- a/chrome/browser/chromeos/printer_detector/printer_detector.cc +++ b/chrome/browser/chromeos/printer_detector/printer_detector.cc
@@ -8,12 +8,14 @@ #include <memory> #include <utility> +#include <vector> #include "base/bind.h" #include "base/bind_helpers.h" #include "base/command_line.h" #include "base/macros.h" #include "base/metrics/histogram_macros.h" +#include "base/scoped_observer.h" #include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/browser_process.h" @@ -26,7 +28,7 @@ #include "chrome/common/chrome_switches.h" #include "chrome/common/extensions/api/webstore_widget_private.h" #include "chrome/common/extensions/extension_constants.h" -#include "chrome/common/url_constants.cc" +#include "chrome/common/url_constants.h" #include "chrome/grit/generated_resources.h" #include "chrome/grit/theme_resources.h" #include "components/user_manager/user.h" @@ -35,6 +37,7 @@ #include "device/usb/usb_device.h" #include "device/usb/usb_device_filter.h" #include "device/usb/usb_ids.h" +#include "device/usb/usb_service.h" #include "extensions/browser/event_router.h" #include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_system.h" @@ -51,6 +54,7 @@ namespace webstore_widget_private_api = extensions::api::webstore_widget_private; +namespace chromeos { namespace { const char kPrinterProviderFoundNotificationID[] = @@ -147,6 +151,7 @@ // Delegate for notification shown when there are no printer provider apps that // support the plugged in printer found. +// // The notification is clickable, and clicking it is supposed to launch // Chrome Web Store widget listing apps that can support the plugged in printer. // (not implemented yet). @@ -167,6 +172,7 @@ return "system.printer.no_printer_provider_found/" + GetNotificationTag(vendor_id_str_, product_id_str_); } + bool HasClickedListener() override { return true; } void Click() override { @@ -201,233 +207,263 @@ DISALLOW_COPY_AND_ASSIGN(SearchPrinterAppNotificationDelegate); }; -// Shows a notification for a plugged in printer. -// If there is a printerProvider app that handles the printer's USB (vendor_id, -// product_id) pair, the notification informs the user that the printer is ready -// to be used, otherwise it offers the user to search the Chrome Web Store for -// an app that can handle the printer. -void ShowPrinterPluggedNotification( - Profile* profile, - NotificationUIManager* notification_ui_manager, - const scoped_refptr<device::UsbDevice>& device) { - ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); - std::unique_ptr<Notification> notification; - - const std::string kVendorIdStr = base::IntToString(device->vendor_id()); - const std::string kProductIdStr = base::IntToString(device->product_id()); - - if (HasAppThatSupportsPrinter(profile, device)) { - UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", - NOTIFICATION_SHOWN_PRINTER_SUPPORTED, - PRINTER_SERVICE_EVENT_MAX); - notification.reset(new Notification( - message_center::NOTIFICATION_TYPE_SIMPLE, - GetNotificationTitle(device->vendor_id(), device->product_id()), - l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_PRINT_APP_FOUND_BODY), - bundle.GetImageNamed(IDR_PRINTER_NOTIFICATION), - message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, - kPrinterProviderFoundNotificationID), - base::string16(), GURL(kPrinterProviderFoundNotificationID), - GetNotificationTag(kVendorIdStr, kProductIdStr), - message_center::RichNotificationData(), - new PrinterProviderExistsNotificationDelegate(kVendorIdStr, - kProductIdStr))); - } else { - UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", - NOTIFICATION_SHOWN_PRINTER_NOT_SUPPORTED, - PRINTER_SERVICE_EVENT_MAX); - message_center::RichNotificationData options; - options.clickable = true; - notification.reset(new Notification( - message_center::NOTIFICATION_TYPE_SIMPLE, - GetNotificationTitle(device->vendor_id(), device->product_id()), - l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_NO_PRINT_APP_BODY), - bundle.GetImageNamed(IDR_PRINTER_NOTIFICATION), - message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, - kNoPrinterProviderNotificationID), - base::string16(), GURL(kNoPrinterProviderNotificationID), - GetNotificationTag(kVendorIdStr, kProductIdStr), options, - new SearchPrinterAppNotificationDelegate( - profile, device->vendor_id(), kVendorIdStr, device->product_id(), - kProductIdStr))); - } - - notification->SetSystemPriority(); - notification_ui_manager->Add(*notification, profile); -} +// USBPrinterSetupNotificationDelegate takes a pointer to the Impl class, so +// we have to forward declare it. +class PrinterDetectorImpl; class USBPrinterSetupNotificationDelegate : public NotificationDelegate { public: - explicit USBPrinterSetupNotificationDelegate(chromeos::PrinterDetector* item) - : item_(item) {} + explicit USBPrinterSetupNotificationDelegate( + PrinterDetectorImpl* printer_detector) + : printer_detector_(printer_detector) {} // NotificationDelegate override: std::string id() const override { return kUSBPrinterFoundNotificationID; } - void ButtonClick(int button_index) override { - item_->ClickOnNotificationButton(button_index); - } + // This is defined out of line because it needs the PrinterDetectorImpl + // full class declaration, not just the forward declaration. + void ButtonClick(int button_index) override; bool HasClickedListener() override { return true; } private: ~USBPrinterSetupNotificationDelegate() override = default; - chromeos::PrinterDetector* item_; + PrinterDetectorImpl* printer_detector_; DISALLOW_COPY_AND_ASSIGN(USBPrinterSetupNotificationDelegate); }; -} // namespace +class PrinterDetectorImpl : public PrinterDetector, + public device::UsbService::Observer { + public: + explicit PrinterDetectorImpl(Profile* profile) + : profile_(profile), + notification_ui_manager_(nullptr), + observer_(this), + weak_ptr_factory_(this) { + extensions::ExtensionSystem::Get(profile)->ready().Post( + FROM_HERE, base::Bind(&PrinterDetectorImpl::Initialize, + weak_ptr_factory_.GetWeakPtr())); + } + ~PrinterDetectorImpl() override {} -namespace chromeos { + void ClickOnNotificationButton(int button_index) { + // Remove the old notification first. + const ProfileID profile_id = NotificationUIManager::GetProfileID(profile_); + DCHECK(notification_ui_manager_); + notification_ui_manager_->CancelById(kUSBPrinterFoundNotificationID, + profile_id); -PrinterDetector::PrinterDetector(Profile* profile) - : profile_(profile), - notification_ui_manager_(nullptr), - observer_(this), - weak_ptr_factory_(this) { - extensions::ExtensionSystem::Get(profile)->ready().Post( - FROM_HERE, - base::Bind(&PrinterDetector::Initialize, weak_ptr_factory_.GetWeakPtr())); -} - -PrinterDetector::~PrinterDetector() { -} - -void PrinterDetector::Shutdown() { -} - -void PrinterDetector::Initialize() { - device::UsbService* usb_service = - device::DeviceClient::Get()->GetUsbService(); - if (!usb_service) - return; - observer_.Add(usb_service); -} - -void PrinterDetector::OnDeviceAdded(scoped_refptr<device::UsbDevice> device) { - const user_manager::User* user = - ProfileHelper::Get()->GetUserByProfile(profile_); - if (!user || !user->HasGaiaAccount() || !user_manager::UserManager::Get() || - user != user_manager::UserManager::Get()->GetActiveUser()) { - return; + if (command_ == ButtonCommand::SETUP) { + OnSetUpUSBPrinterStarted(); + // TODO(skau/xdai): call the CUPS backend to set up the USB printer and + // then call OnSetUpPrinterDone() or OnSetUpPrinterError() depending on + // the setup result. + } else if (command_ == ButtonCommand::CANCEL_SETUP) { + // TODO(skau/xdai): call the CUPS backend to cancel the printer setup. + } else if (command_ == ButtonCommand::GET_HELP) { + chrome::NavigateParams params(profile_, + GURL(chrome::kChromeUIMdCupsSettingsURL), + ui::PAGE_TRANSITION_LINK); + params.disposition = WindowOpenDisposition::NEW_FOREGROUND_TAB; + params.window_action = chrome::NavigateParams::SHOW_WINDOW; + chrome::Navigate(¶ms); + } } - device::UsbDeviceFilter printer_filter; - printer_filter.interface_class = kPrinterInterfaceClass; - if (!printer_filter.Matches(device)) - return; + private: + // Action that should be performed when a notification button is clicked. + enum class ButtonCommand { + SETUP, + CANCEL_SETUP, + CLOSE, + GET_HELP, + }; - notification_ui_manager_ = notification_ui_manager_ - ? notification_ui_manager_ + // UsbService::observer override: + void OnDeviceAdded(scoped_refptr<device::UsbDevice> device) override { + const user_manager::User* user = + ProfileHelper::Get()->GetUserByProfile(profile_); + if (!user || !user->HasGaiaAccount() || !user_manager::UserManager::Get() || + user != user_manager::UserManager::Get()->GetActiveUser()) { + return; + } + + device::UsbDeviceFilter printer_filter; + printer_filter.interface_class = kPrinterInterfaceClass; + if (!printer_filter.Matches(device)) + return; + + notification_ui_manager_ = + notification_ui_manager_ ? notification_ui_manager_ : g_browser_process->notification_ui_manager(); - if (base::CommandLine::ForCurrentProcess()->HasSwitch( - ::switches::kEnableNativeCups)) { - ShowUSBPrinterSetupNotification(device); - } else { - // TODO(xdai): Clean up the printer provider app notification related codes - // after CUPS printing support is launched. - UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", - PRINTER_ADDED, PRINTER_SERVICE_EVENT_MAX); - ShowPrinterPluggedNotification(profile_, notification_ui_manager_, device); + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + ::switches::kEnableNativeCups)) { + ShowUSBPrinterSetupNotification(device); + } else { + // TODO(xdai): Clean up the printer provider app notification related + // codes after CUPS printing support is launched. + UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", + PRINTER_ADDED, PRINTER_SERVICE_EVENT_MAX); + ShowPrinterPluggedNotification(device); + } } -} -void PrinterDetector::SetNotificationUIManagerForTesting( - NotificationUIManager* manager) { - notification_ui_manager_ = manager; -} - -void PrinterDetector::ShowUSBPrinterSetupNotification( - scoped_refptr<device::UsbDevice> device) { - base::string16 printer_name = device->manufacturer_string() + - base::UTF8ToUTF16(" ") + - device->product_string(); - ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); - message_center::RichNotificationData data; - data.buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_BUTTON))); - notification_.reset(new Notification( - message_center::NOTIFICATION_TYPE_SIMPLE, - l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_TITLE), // title - printer_name, // body - bundle.GetImageNamed(IDR_PRINTER_DETECTED_NOTIFICATION), // icon - message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, - kUSBPrinterFoundNotificationID), - base::string16(), // display_source - GURL(), kUSBPrinterFoundNotificationID, data, - new USBPrinterSetupNotificationDelegate(this))); - notification_->SetSystemPriority(); - command_ = ButtonCommand::SETUP; - - DCHECK(notification_ui_manager_); - notification_ui_manager_->Add(*notification_, profile_); -} - -void PrinterDetector::ClickOnNotificationButton(int button_index) { - // Remove the old notification first. - const ProfileID profile_id = NotificationUIManager::GetProfileID(profile_); - DCHECK(notification_ui_manager_); - notification_ui_manager_->CancelById(kUSBPrinterFoundNotificationID, - profile_id); - - if (command_ == ButtonCommand::SETUP) { - OnSetUpUSBPrinterStarted(); - // TODO(skau/xdai): call the CUPS backend to set up the USB printer and - // then call OnSetUpPrinterDone() or OnSetUpPrinterError() depending on - // the setup result. - } else if (command_ == ButtonCommand::CANCEL_SETUP) { - // TODO(skau/xdai): call the CUPS backend to cancel the printer setup. - } else if (command_ == ButtonCommand::GET_HELP) { - chrome::NavigateParams params(profile_, - GURL(chrome::kChromeUIMdCupsSettingsURL), - ui::PAGE_TRANSITION_LINK); - params.disposition = WindowOpenDisposition::NEW_FOREGROUND_TAB; - params.window_action = chrome::NavigateParams::SHOW_WINDOW; - chrome::Navigate(¶ms); + // Initializes the printer detector. + void Initialize() { + device::UsbService* usb_service = + device::DeviceClient::Get()->GetUsbService(); + if (!usb_service) + return; + observer_.Add(usb_service); } + + void SetNotificationUIManagerForTesting( + NotificationUIManager* manager) override { + notification_ui_manager_ = manager; + } + + // Shows a notification for a plugged in printer. + // If there is a printerProvider app that handles the printer's USB + // (vendor_id, product_id) pair, the notification informs the user that the + // printer is ready to be used, otherwise it offers the user to search the + // Chrome Web Store for an app that can handle the printer. + void ShowPrinterPluggedNotification( + const scoped_refptr<device::UsbDevice>& device) { + ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); + std::unique_ptr<Notification> notification; + + const std::string kVendorIdStr = base::IntToString(device->vendor_id()); + const std::string kProductIdStr = base::IntToString(device->product_id()); + + if (HasAppThatSupportsPrinter(profile_, device)) { + UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", + NOTIFICATION_SHOWN_PRINTER_SUPPORTED, + PRINTER_SERVICE_EVENT_MAX); + notification.reset(new Notification( + message_center::NOTIFICATION_TYPE_SIMPLE, + GetNotificationTitle(device->vendor_id(), device->product_id()), + l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_PRINT_APP_FOUND_BODY), + bundle.GetImageNamed(IDR_PRINTER_NOTIFICATION), + message_center::NotifierId( + message_center::NotifierId::SYSTEM_COMPONENT, + kPrinterProviderFoundNotificationID), + base::string16(), GURL(kPrinterProviderFoundNotificationID), + GetNotificationTag(kVendorIdStr, kProductIdStr), + message_center::RichNotificationData(), + new PrinterProviderExistsNotificationDelegate(kVendorIdStr, + kProductIdStr))); + } else { + UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", + NOTIFICATION_SHOWN_PRINTER_NOT_SUPPORTED, + PRINTER_SERVICE_EVENT_MAX); + message_center::RichNotificationData options; + options.clickable = true; + notification.reset(new Notification( + message_center::NOTIFICATION_TYPE_SIMPLE, + GetNotificationTitle(device->vendor_id(), device->product_id()), + l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_NO_PRINT_APP_BODY), + bundle.GetImageNamed(IDR_PRINTER_NOTIFICATION), + message_center::NotifierId( + message_center::NotifierId::SYSTEM_COMPONENT, + kNoPrinterProviderNotificationID), + base::string16(), GURL(kNoPrinterProviderNotificationID), + GetNotificationTag(kVendorIdStr, kProductIdStr), options, + new SearchPrinterAppNotificationDelegate( + profile_, device->vendor_id(), kVendorIdStr, device->product_id(), + kProductIdStr))); + } + + notification->SetSystemPriority(); + notification_ui_manager_->Add(*notification, profile_); + } + + void ShowUSBPrinterSetupNotification( + scoped_refptr<device::UsbDevice> device) { + base::string16 printer_name = device->manufacturer_string() + + base::UTF8ToUTF16(" ") + + device->product_string(); + ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); + message_center::RichNotificationData data; + data.buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_BUTTON))); + notification_.reset(new Notification( + message_center::NOTIFICATION_TYPE_SIMPLE, + l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_TITLE), // title + printer_name, // body + bundle.GetImageNamed(IDR_PRINTER_DETECTED_NOTIFICATION), // icon + message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, + kUSBPrinterFoundNotificationID), + base::string16(), // display_source + GURL(), kUSBPrinterFoundNotificationID, data, + new USBPrinterSetupNotificationDelegate(this))); + notification_->SetSystemPriority(); + command_ = ButtonCommand::SETUP; + + DCHECK(notification_ui_manager_); + notification_ui_manager_->Add(*notification_, profile_); + } + + void OnSetUpUSBPrinterStarted() { + notification_->set_title(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_IN_PROGRESS_TITLE)); + notification_->set_type(message_center::NOTIFICATION_TYPE_PROGRESS); + notification_->set_progress(-1); + std::vector<message_center::ButtonInfo> buttons; + buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_CANCEL_BUTTON))); + notification_->set_buttons(buttons); + command_ = ButtonCommand::CANCEL_SETUP; + notification_ui_manager_->Add(*notification_, profile_); + } + + void OnSetUpUSBPrinterDone() { + notification_->set_title(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_SUCCESS_TITLE)); + notification_->set_type(message_center::NOTIFICATION_TYPE_SIMPLE); + std::vector<message_center::ButtonInfo> buttons; + buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_CLOSE_BUTTON))); + notification_->set_buttons(buttons); + command_ = ButtonCommand::CLOSE; + notification_ui_manager_->Add(*notification_, profile_); + } + + void OnSetUpUSBPrinterError() { + notification_->set_title(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_FAILED_TITLE)); + notification_->set_type(message_center::NOTIFICATION_TYPE_SIMPLE); + std::vector<message_center::ButtonInfo> buttons; + buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( + IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_GET_HELP_BUTTON))); + notification_->set_buttons(buttons); + command_ = ButtonCommand::GET_HELP; + notification_ui_manager_->Add(*notification_, profile_); + } + + std::unique_ptr<Notification> notification_; + ButtonCommand command_ = ButtonCommand::SETUP; + + Profile* profile_; + NotificationUIManager* notification_ui_manager_; + ScopedObserver<device::UsbService, device::UsbService::Observer> observer_; + base::WeakPtrFactory<PrinterDetectorImpl> weak_ptr_factory_; +}; + +void USBPrinterSetupNotificationDelegate::ButtonClick(int button_index) { + printer_detector_->ClickOnNotificationButton(button_index); } -void PrinterDetector::OnSetUpUSBPrinterStarted() { - notification_->set_title(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_IN_PROGRESS_TITLE)); - notification_->set_type(message_center::NOTIFICATION_TYPE_PROGRESS); - notification_->set_progress(-1); - std::vector<message_center::ButtonInfo> buttons; - buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_CANCEL_BUTTON))); - notification_->set_buttons(buttons); - command_ = ButtonCommand::CANCEL_SETUP; - notification_ui_manager_->Add(*notification_, profile_); -} +} // namespace -void PrinterDetector::OnSetUpUSBPrinterDone() { - notification_->set_title(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_SUCCESS_TITLE)); - notification_->set_type(message_center::NOTIFICATION_TYPE_SIMPLE); - std::vector<message_center::ButtonInfo> buttons; - buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_CLOSE_BUTTON))); - notification_->set_buttons(buttons); - command_ = ButtonCommand::CLOSE; - notification_ui_manager_->Add(*notification_, profile_); -} - -void PrinterDetector::OnSetUpUSBPrinterError() { - notification_->set_title(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_FAILED_TITLE)); - notification_->set_type(message_center::NOTIFICATION_TYPE_SIMPLE); - std::vector<message_center::ButtonInfo> buttons; - buttons.push_back(message_center::ButtonInfo(l10n_util::GetStringUTF16( - IDS_PRINTER_DETECTED_NOTIFICATION_SET_UP_GET_HELP_BUTTON))); - notification_->set_buttons(buttons); - command_ = ButtonCommand::GET_HELP; - notification_ui_manager_->Add(*notification_, profile_); +// static +std::unique_ptr<PrinterDetector> PrinterDetector::Create(Profile* profile) { + return base::MakeUnique<PrinterDetectorImpl>(profile); } } // namespace chromeos
diff --git a/chrome/browser/chromeos/printer_detector/printer_detector.h b/chrome/browser/chromeos/printer_detector/printer_detector.h index cb969b63..02a169b 100644 --- a/chrome/browser/chromeos/printer_detector/printer_detector.h +++ b/chrome/browser/chromeos/printer_detector/printer_detector.h
@@ -5,22 +5,15 @@ #ifndef CHROME_BROWSER_CHROMEOS_PRINTER_DETECTOR_PRINTER_DETECTOR_H_ #define CHROME_BROWSER_CHROMEOS_PRINTER_DETECTOR_PRINTER_DETECTOR_H_ +#include <memory> #include <string> #include "base/macros.h" -#include "base/memory/weak_ptr.h" -#include "base/scoped_observer.h" #include "components/keyed_service/core/keyed_service.h" -#include "device/usb/usb_service.h" -class Notification; class NotificationUIManager; class Profile; -namespace device { -class UsbDevice; -} - namespace chromeos { // Observes device::UsbService for addition of USB printers (devices with @@ -32,47 +25,19 @@ // that support the printer. Clicking the notification launches webstore_widget // app for the printer. // The notification is shown only for active user's profile. -class PrinterDetector : public KeyedService, - public device::UsbService::Observer { +class PrinterDetector : public KeyedService { public: - enum class ButtonCommand { - SETUP, - CANCEL_SETUP, - CLOSE, - GET_HELP, - }; + static std::unique_ptr<PrinterDetector> Create(Profile* profile); + ~PrinterDetector() override {} - explicit PrinterDetector(Profile* profile); - ~PrinterDetector() override; - - void ShowUSBPrinterSetupNotification(scoped_refptr<device::UsbDevice> device); - void ClickOnNotificationButton(int button_index); + protected: + PrinterDetector() = default; private: friend class PrinterDetectorAppSearchEnabledTest; - void SetNotificationUIManagerForTesting(NotificationUIManager* manager); - - // KeyedService override: - void Shutdown() override; - - // UsbService::observer override: - void OnDeviceAdded(scoped_refptr<device::UsbDevice> device) override; - - // Initializes the printer detector. - void Initialize(); - - void OnSetUpUSBPrinterStarted(); - void OnSetUpUSBPrinterDone(); - void OnSetUpUSBPrinterError(); - - std::unique_ptr<Notification> notification_; - ButtonCommand command_ = ButtonCommand::SETUP; - - Profile* profile_; - NotificationUIManager* notification_ui_manager_; - ScopedObserver<device::UsbService, device::UsbService::Observer> observer_; - base::WeakPtrFactory<PrinterDetector> weak_ptr_factory_; + virtual void SetNotificationUIManagerForTesting( + NotificationUIManager* manager) = 0; DISALLOW_COPY_AND_ASSIGN(PrinterDetector); };
diff --git a/chrome/browser/chromeos/printer_detector/printer_detector_factory.cc b/chrome/browser/chromeos/printer_detector/printer_detector_factory.cc index 080ba16..9fbbc6b 100644 --- a/chrome/browser/chromeos/printer_detector/printer_detector_factory.cc +++ b/chrome/browser/chromeos/printer_detector/printer_detector_factory.cc
@@ -41,7 +41,8 @@ KeyedService* PrinterDetectorFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { - return new PrinterDetector(Profile::FromBrowserContext(context)); + return PrinterDetector::Create(Profile::FromBrowserContext(context)) + .release(); } bool PrinterDetectorFactory::ServiceIsCreatedWithBrowserContext() const {
diff --git a/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc b/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc index 1dd57051..e06ae9f 100644 --- a/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc +++ b/chrome/browser/chromeos/printer_detector/printer_detector_unittest.cc
@@ -52,8 +52,7 @@ std::unique_ptr<KeyedService> CreatePrinterDetector( content::BrowserContext* context) { - return std::unique_ptr<KeyedService>( - new chromeos::PrinterDetector(Profile::FromBrowserContext(context))); + return PrinterDetector::Create(Profile::FromBrowserContext(context)); } } // namespace @@ -140,6 +139,7 @@ device::MockDeviceClient device_client_; std::unique_ptr<TestingProfile> profile_; + private: DISALLOW_COPY_AND_ASSIGN(PrinterDetectorAppSearchEnabledTest); };
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc index c415de6..a42bf6c3 100644 --- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc +++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
@@ -106,8 +106,8 @@ << " adopts the content window " << content_window_ << '.'; root_window->AddChild(content_window_); } else { - LOG(DFATAL) << "Unable to find an aura root window. " - "Compositing of the content may be halted!"; + LOG(WARNING) << "Unable to find an aura root window. " + "Compositing of the content may be halted!"; } }
diff --git a/chrome/browser/install_verification/OWNERS b/chrome/browser/install_verification/OWNERS index ffe66ef..37cc908 100644 --- a/chrome/browser/install_verification/OWNERS +++ b/chrome/browser/install_verification/OWNERS
@@ -1,2 +1,4 @@ mad@chromium.org robertshield@chromium.org + +# COMPONENT: Internals>PlatformIntegration
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc index 965168fe..b648309 100644 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -43,6 +43,7 @@ #include "chrome/browser/safe_browsing/certificate_reporting_metrics_provider.h" #include "chrome/browser/sync/chrome_sync_client.h" #include "chrome/browser/sync/profile_sync_service_factory.h" +#include "chrome/browser/translate/translate_ranker_metrics_provider.h" #include "chrome/browser/ui/browser_otr_state.h" #include "chrome/common/channel_info.h" #include "chrome/common/chrome_paths.h" @@ -78,7 +79,6 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/sync/device_info/device_count_metrics_provider.h" -#include "components/translate/core/browser/translate_ranker_metrics_provider.h" #include "components/ukm/ukm_service.h" #include "components/version_info/version_info.h" #include "content/public/browser/browser_thread.h"
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_nl.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_nl.xtb index 00c1d1c..46a6a14 100644 --- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_nl.xtb +++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_nl.xtb
@@ -780,7 +780,7 @@ <translation id="8476408756881832830">Afspelen onderbreken wanneer ChromeVox spreekt</translation> <translation id="8476508772960940536">vensteroverzicht</translation> <translation id="8503360654911991865">Detailniveau van navigatie verkleinen</translation> -<translation id="8520472399088452386">Kringveld</translation> +<translation id="8520472399088452386">Draaiknop</translation> <translation id="8538744478902126321">Schat de kop van de rij van de huidige cel</translation> <translation id="8540054775867439484">Omloop naar boven</translation> <translation id="8542271685829952264">Als je alle ChromeVox-opdrachten en -sneltoetsen wilt bekijken, druk je op Zoeken + punt. Vervolgens gebruik je de pijltoetsen om door de menu's te navigeren en druk je op Enter om een opdracht te activeren. Je kunt terugkeren door op Zoeken + o en vervolgens op t te drukken.</translation>
diff --git a/chrome/browser/resources/settings/settings_page/settings_subpage_search.html b/chrome/browser/resources/settings/settings_page/settings_subpage_search.html index be683d5..2f84151 100644 --- a/chrome/browser/resources/settings/settings_page/settings_subpage_search.html +++ b/chrome/browser/resources/settings/settings_page/settings_subpage_search.html
@@ -1,6 +1,7 @@ <link rel="import" href="chrome://resources/cr_elements/cr_search_field/cr_search_field_behavior.html"> <link rel="import" href="chrome://resources/cr_elements/icons.html"> <link rel="import" href="chrome://resources/html/polymer.html"> +<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html"> <link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button.html"> <link rel="import" href="chrome://resources/polymer/v1_0/paper-input/paper-input-container.html"> @@ -33,6 +34,12 @@ width: 24px; } + #searchIcon { + height: 16px; + padding: 4px; + width: 16px; + } + paper-input-container { display: inline-block; width: 160px; /* Special width for search input. */ @@ -64,7 +71,7 @@ -webkit-margin-start: 4px; } </style> - <paper-icon-button id="searchIcon" icon="cr:search"></paper-icon-button> + <iron-icon id="searchIcon" icon="cr:search"></iron-icon> <paper-input-container no-label-float> <label id="prompt">[[label]]</label> <input id="searchInput" type="search" on-search="onSearchTermSearch"
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.css b/chrome/browser/resources/vr_shell/vr_shell_ui.css index aae8654..f07344f2 100644 --- a/chrome/browser/resources/vr_shell/vr_shell_ui.css +++ b/chrome/browser/resources/vr_shell/vr_shell_ui.css
@@ -75,7 +75,7 @@ width: 512px; } -.round-button .button { +.round-button { background-color: #eee; background-position: center; background-repeat: no-repeat; @@ -88,7 +88,7 @@ width: 96px; } -.round-button .caption { +.button-caption { color: white; font-size: 24px; max-width: 192px; @@ -99,16 +99,16 @@ white-space: nowrap; } -#back .button, -#forward .button { +#back-button, +#forward-button { background-image: url(../../../../ui/webui/resources/images/vr_back.svg); } -#reload .button { +#reload-button { background-image: url(../../../../ui/webui/resources/images/vr_reload.svg); } -#forward .button { +#forward-button { transform: scaleX(-1); }
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.html b/chrome/browser/resources/vr_shell/vr_shell_ui.html index f864039..40c6879 100644 --- a/chrome/browser/resources/vr_shell/vr_shell_ui.html +++ b/chrome/browser/resources/vr_shell/vr_shell_ui.html
@@ -59,17 +59,17 @@ <input id="omnibox-input-field" type="url"></input> </div> </div> - <div id="back" class="round-button ui-element"> - <div class="button"></div> - <div class="caption">$i18n{back}</div> + <div id="back-button" class="round-button ui-element"></div> + <div id="reload-button" class="round-button ui-element"></div> + <div id="forward-button" class="round-button ui-element"></div> + <div id="back-button-caption" class="button-caption ui-element"> + $i18n{back} </div> - <div id="reload" class="round-button ui-element"> - <div class="button"></div> - <div class="caption">$i18n{reload}</div> + <div id="reload-button-caption" class="button-caption ui-element"> + $i18n{reload} </div> - <div id="forward" class="round-button ui-element"> - <div class="button"></div> - <div class="caption">$i18n{forward}</div> + <div id="forward-button-caption" class="button-caption ui-element"> + $i18n{forward} </div> <div id="reload-ui-button" class="ui-element">Reload UI</div> <div id="tab-template" class="tab"></div>
diff --git a/chrome/browser/resources/vr_shell/vr_shell_ui.js b/chrome/browser/resources/vr_shell/vr_shell_ui.js index de42168..7117e1f 100644 --- a/chrome/browser/resources/vr_shell/vr_shell_ui.js +++ b/chrome/browser/resources/vr_shell/vr_shell_ui.js
@@ -139,7 +139,9 @@ let pixelHeight = Math.ceil(rect.bottom) - pixelY; let element = new api.UiElement(pixelX, pixelY, pixelWidth, pixelHeight); - element.setSize(pixelWidth / 1000, pixelHeight / 1000); + this.sizeX = pixelWidth / 1000; + this.sizeY = pixelHeight / 1000; + element.setSize(this.sizeX, this.sizeY); // Pull additional custom properties from CSS. let style = window.getComputedStyle(domElement); @@ -150,32 +152,62 @@ this.translationX, this.translationY, this.translationZ); this.uiElementId = ui.addElement(element); - this.uiAnimationId = -1; this.domElement = domElement; } }; - class RoundButton extends DomUiElement { - constructor(domId, callback) { - super(domId); + class Button { + constructor(domId, callback, parentId) { + let captionId = domId + '-caption'; + this.button = document.querySelector(domId); + this.caption = document.querySelector(captionId); - let button = this.domElement.querySelector('.button'); - button.addEventListener('mouseenter', this.onMouseEnter.bind(this)); - button.addEventListener('mouseleave', this.onMouseLeave.bind(this)); - button.addEventListener('click', callback); + // Create an invisible parent, from which the button will hover. + let backing = new api.UiElement(0, 0, 0, 0); + backing.setParentId(parentId); + backing.setVisible(false); + this.backingElementId = ui.addElement(backing); + + this.buttonElement = new DomUiElement(domId); + let update = new api.UiElementUpdate(); + update.setParentId(this.backingElementId); + ui.updateElement(this.buttonElement.uiElementId, update); + + this.captionElement = new DomUiElement(captionId); + update = new api.UiElementUpdate(); + update.setParentId(this.buttonElement.uiElementId); + update.setTranslation(0, -this.captionElement.sizeY / 2, 0); + update.setAnchoring(api.XAnchoring.XNONE, api.YAnchoring.YBOTTOM); + ui.updateElement(this.captionElement.uiElementId, update); + + this.button.addEventListener('mouseenter', this.onMouseEnter.bind(this)); + this.button.addEventListener('mouseleave', this.onMouseLeave.bind(this)); + this.button.addEventListener('click', callback); + } + + setTranslation(x, y, z) { + let update = new api.UiElementUpdate(); + update.setTranslation(x, y, z); + ui.updateElement(this.backingElementId, update); + } + + setVisible(visible) { + let update = new api.UiElementUpdate(); + update.setVisible(visible); + ui.updateElement(this.buttonElement.uiElementId, update); + update = new api.UiElementUpdate(); + update.setVisible(visible); + ui.updateElement(this.captionElement.uiElementId, update); } configure(buttonOpacity, captionOpacity, distanceForward) { - let button = this.domElement.querySelector('.button'); - let caption = this.domElement.querySelector('.caption'); - button.style.opacity = buttonOpacity; - caption.style.opacity = captionOpacity; - let anim = new api.Animation(this.uiElementId, ANIM_DURATION); + this.button.style.opacity = buttonOpacity; + this.caption.style.opacity = captionOpacity; + + let anim = + new api.Animation(this.buttonElement.uiElementId, ANIM_DURATION); anim.setTranslation(0, 0, distanceForward); - if (this.uiAnimationId >= 0) { - ui.removeAnimation(this.uiAnimationId); - } - this.uiAnimationId = ui.addAnimation(anim); + ui.addAnimation(anim); ui.flush(); } @@ -195,19 +227,19 @@ this.buttons = []; let descriptors = [ [ - '#back', + '#back-button', function() { api.doAction(api.Action.HISTORY_BACK, {}); } ], [ - '#reload', + '#reload-button', function() { api.doAction(api.Action.RELOAD, {}); } ], [ - '#forward', + '#forward-button', function() { api.doAction(api.Action.HISTORY_FORWARD, {}); } @@ -218,24 +250,19 @@ /** @const */ var BUTTON_Z = -1; /** @const */ var BUTTON_SPACING = 0.11; - let startPosition = -BUTTON_SPACING * (descriptors.length / 2.0 - 0.5); - for (let i = 0; i < descriptors.length; i++) { - // Use an invisible parent to simplify Z-axis movement on hover. - let position = new api.UiElement(0, 0, 0, 0); - position.setVisible(false); - position.setTranslation( - startPosition + i * BUTTON_SPACING, BUTTON_Y, BUTTON_Z); - let id = ui.addElement(position); + let controls = new api.UiElement(0, 0, 0, 0); + controls.setVisible(false); + controls.setTranslation(0, BUTTON_Y, BUTTON_Z); + this.controlsId = ui.addElement(controls); + let startPosition = -BUTTON_SPACING * (descriptors.length / 2.0 - 0.5); + + for (let i = 0; i < descriptors.length; i++) { let domId = descriptors[i][0]; let callback = descriptors[i][1]; - let element = new RoundButton(domId, callback); - this.buttons.push(element); - - let update = new api.UiElementUpdate(); - update.setParentId(id); - update.setVisible(false); - ui.updateElement(element.uiElementId, update); + let button = new Button(domId, callback, this.controlsId); + button.setTranslation(startPosition + i * BUTTON_SPACING, 0, 0); + this.buttons.push(button); } } @@ -246,9 +273,7 @@ configure() { for (let i = 0; i < this.buttons.length; i++) { - let update = new api.UiElementUpdate(); - update.setVisible(this.enabled); - ui.updateElement(this.buttons[i].uiElementId, update); + this.buttons[i].setVisible(this.enabled); } } }; @@ -270,7 +295,7 @@ let update = new api.UiElementUpdate(); update.setVisible(false); update.setSize(0.25, 0.1); - update.setTranslation(0, -1.5, -1.5); + update.setTranslation(0, -1.0, -1.0); update.setRotation(1, 0, 0, -0.8); ui.updateElement(this.uiElement.uiElementId, update); }
diff --git a/chrome/browser/safe_browsing/incident_reporting/OWNERS b/chrome/browser/safe_browsing/incident_reporting/OWNERS index ba42048d..10343aa5 100644 --- a/chrome/browser/safe_browsing/incident_reporting/OWNERS +++ b/chrome/browser/safe_browsing/incident_reporting/OWNERS
@@ -1,3 +1,5 @@ caitkp@chromium.org grt@chromium.org robertshield@chromium.org + +# COMPONENT: Services>SafeBrowsing
diff --git a/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc b/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc index 457a8fc..c877d3e 100644 --- a/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc +++ b/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc
@@ -39,6 +39,7 @@ #include "chrome/browser/safe_browsing/safe_browsing_database.h" #include "chrome/browser/safe_browsing/test_safe_browsing_service.h" #include "chrome/browser/safe_browsing/ui_manager.h" +#include "chrome/browser/safe_browsing/v4_test_utils.h" #include "chrome/browser/subresource_filter/test_ruleset_publisher.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_navigator_params.h" @@ -1779,100 +1780,6 @@ observer.Wait(); } -class TestV4Store : public V4Store { - public: - TestV4Store(const scoped_refptr<base::SequencedTaskRunner>& task_runner, - const base::FilePath& store_path) - : V4Store(task_runner, store_path, 0) {} - - bool HasValidData() const override { return true; } - - void MarkPrefixAsBad(HashPrefix prefix) { - hash_prefix_map_[prefix.size()] = prefix; - } -}; - -class TestV4StoreFactory : public V4StoreFactory { - public: - V4Store* CreateV4Store( - const scoped_refptr<base::SequencedTaskRunner>& task_runner, - const base::FilePath& store_path) override { - V4Store* new_store = new TestV4Store(task_runner, store_path); - new_store->Initialize(); - return new_store; - } -}; - -class TestV4Database : public V4Database { - public: - TestV4Database(const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, - std::unique_ptr<StoreMap> store_map) - : V4Database(db_task_runner, std::move(store_map)) {} - - void MarkPrefixAsBad(ListIdentifier list_id, HashPrefix prefix) { - V4Store* base_store = store_map_->at(list_id).get(); - TestV4Store* test_store = static_cast<TestV4Store*>(base_store); - test_store->MarkPrefixAsBad(prefix); - } -}; - -class TestV4DatabaseFactory : public V4DatabaseFactory { - public: - TestV4DatabaseFactory() : v4_db_(nullptr) {} - - std::unique_ptr<V4Database> Create( - const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, - std::unique_ptr<StoreMap> store_map) override { - v4_db_ = new TestV4Database(db_task_runner, std::move(store_map)); - return base::WrapUnique(v4_db_); - } - - void MarkPrefixAsBad(ListIdentifier list_id, HashPrefix prefix) { - v4_db_->MarkPrefixAsBad(list_id, prefix); - } - - private: - // Owned by V4LocalDatabaseManager. Each test in the V4SafeBrowsingServiceTest - // class instantiates a new SafebrowsingService instance, which instantiates a - // new V4LocalDatabaseManager, which instantiates a new V4Database using this - // method so use-after-free isn't possible. - TestV4Database* v4_db_; -}; - -class TestV4GetHashProtocolManager : public V4GetHashProtocolManager { - public: - TestV4GetHashProtocolManager( - net::URLRequestContextGetter* request_context_getter, - const StoresToCheck& stores_to_check, - const V4ProtocolConfig& config) - : V4GetHashProtocolManager(request_context_getter, - stores_to_check, - config) {} - - void AddToFullHashCache(FullHashInfo fhi) { - full_hash_cache_[fhi.full_hash].full_hash_infos.push_back(fhi); - } -}; - -class TestV4GetHashProtocolManagerFactory - : public V4GetHashProtocolManagerFactory { - public: - std::unique_ptr<V4GetHashProtocolManager> CreateProtocolManager( - net::URLRequestContextGetter* request_context_getter, - const StoresToCheck& stores_to_check, - const V4ProtocolConfig& config) override { - pm_ = new TestV4GetHashProtocolManager(request_context_getter, - stores_to_check, config); - return base::WrapUnique(pm_); - } - - void AddToFullHashCache(FullHashInfo fhi) { pm_->AddToFullHashCache(fhi); } - - private: - // Owned by the SafeBrowsingService. - TestV4GetHashProtocolManager* pm_; -}; - // Tests the safe browsing blocking page in a browser. class V4SafeBrowsingServiceTest : public SafeBrowsingServiceTest { public: @@ -1909,33 +1816,13 @@ SafeBrowsingService::RegisterFactory(nullptr); } - // Returns a FullHash for the basic host+path pattern for a given URL after - // canonicalization. - FullHash GetFullHash(const GURL& url) { - std::string host; - std::string path; - V4ProtocolManagerUtil::CanonicalizeUrl(url, &host, &path, nullptr); - - return crypto::SHA256HashString(host + path); - } - - // Returns FullHashInfo object for the basic host+path pattern for a given URL - // after canonicalization. - FullHashInfo GetFullHashInfo(const GURL& url, const ListIdentifier& list_id) { - return FullHashInfo(GetFullHash(url), list_id, - base::Time::Now() + base::TimeDelta::FromMinutes(5)); - } - - // Returns a FullHashInfo info for the basic host+path pattern for a given URL - // after canonicalization. Also adds metadata information to the FullHashInfo - // object. - FullHashInfo GetFullHashInfoWithMetadata( - const GURL& url, - const ListIdentifier& list_id, - ThreatPatternType threat_pattern_type) { - FullHashInfo fhi = GetFullHashInfo(url, list_id); - fhi.metadata.threat_pattern_type = threat_pattern_type; - return fhi; + void MarkUrlForListIdUnexpired(const GURL& bad_url, + const ListIdentifier& list_id, + ThreatPatternType threat_pattern_type) { + FullHashInfo full_hash_info = + GetFullHashInfoWithMetadata(bad_url, list_id, threat_pattern_type); + v4_db_factory_->MarkPrefixAsBad(list_id, full_hash_info.full_hash); + v4_get_hash_factory_->AddToFullHashCache(full_hash_info); } // Sets up the prefix database and the full hash cache to match one of the @@ -1943,49 +1830,34 @@ void MarkUrlForMalwareUnexpired( const GURL& bad_url, ThreatPatternType threat_pattern_type = ThreatPatternType::NONE) { - FullHashInfo full_hash_info = GetFullHashInfoWithMetadata( - bad_url, GetUrlMalwareId(), threat_pattern_type); - - v4_db_factory_->MarkPrefixAsBad(GetUrlMalwareId(), - full_hash_info.full_hash); - v4_get_hash_factory_->AddToFullHashCache(full_hash_info); + MarkUrlForListIdUnexpired(bad_url, GetUrlMalwareId(), threat_pattern_type); } // Sets up the prefix database and the full hash cache to match one of the // prefixes for the given URL in the UwS store. void MarkUrlForUwsUnexpired(const GURL& bad_url) { - FullHashInfo full_hash_info = GetFullHashInfo(bad_url, GetUrlUwsId()); - v4_db_factory_->MarkPrefixAsBad(GetUrlUwsId(), full_hash_info.full_hash); - v4_get_hash_factory_->AddToFullHashCache(full_hash_info); + MarkUrlForListIdUnexpired(bad_url, GetUrlUwsId(), ThreatPatternType::NONE); } // Sets up the prefix database and the full hash cache to match one of the // prefixes for the given URL in the phishing store. void MarkUrlForPhishingUnexpired(const GURL& bad_url, ThreatPatternType threat_pattern_type) { - FullHashInfo full_hash_info = GetFullHashInfoWithMetadata( - bad_url, GetUrlSocEngId(), threat_pattern_type); - - v4_db_factory_->MarkPrefixAsBad(GetUrlSocEngId(), full_hash_info.full_hash); - v4_get_hash_factory_->AddToFullHashCache(full_hash_info); + MarkUrlForListIdUnexpired(bad_url, GetUrlSocEngId(), threat_pattern_type); } // Sets up the prefix database and the full hash cache to match one of the // prefixes for the given URL in the malware binary store. void MarkUrlForMalwareBinaryUnexpired(const GURL& bad_url) { - FullHashInfo full_hash_info = GetFullHashInfo(bad_url, GetUrlMalBinId()); - v4_db_factory_->MarkPrefixAsBad(GetUrlMalBinId(), full_hash_info.full_hash); - v4_get_hash_factory_->AddToFullHashCache(full_hash_info); + MarkUrlForListIdUnexpired(bad_url, GetUrlMalBinId(), + ThreatPatternType::NONE); } // Sets up the prefix database and the full hash cache to match one of the // prefixes for the given URL in the client incident store. void MarkUrlForResourceUnexpired(const GURL& bad_url) { - FullHashInfo full_hash_info = - GetFullHashInfo(bad_url, GetChromeUrlClientIncidentId()); - v4_db_factory_->MarkPrefixAsBad(GetChromeUrlClientIncidentId(), - full_hash_info.full_hash); - v4_get_hash_factory_->AddToFullHashCache(full_hash_info); + MarkUrlForListIdUnexpired(bad_url, GetChromeUrlClientIncidentId(), + ThreatPatternType::NONE); } private:
diff --git a/chrome/browser/safe_browsing/settings_reset_prompt/OWNERS b/chrome/browser/safe_browsing/settings_reset_prompt/OWNERS index 93d23143..51897aa 100644 --- a/chrome/browser/safe_browsing/settings_reset_prompt/OWNERS +++ b/chrome/browser/safe_browsing/settings_reset_prompt/OWNERS
@@ -1,2 +1,4 @@ csharp@chromium.org robertshield@chromium.org + +# COMPONENT: UI>Browser>Preferences>Protector
diff --git a/chrome/browser/safe_browsing/v4_test_utils.cc b/chrome/browser/safe_browsing/v4_test_utils.cc new file mode 100644 index 0000000..5de0a3e --- /dev/null +++ b/chrome/browser/safe_browsing/v4_test_utils.cc
@@ -0,0 +1,104 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/safe_browsing/v4_test_utils.h" + +#include "base/memory/ptr_util.h" +#include "chrome/browser/safe_browsing/test_safe_browsing_service.h" +#include "crypto/sha2.h" + +namespace safe_browsing { + +TestV4Store::TestV4Store( + const scoped_refptr<base::SequencedTaskRunner>& task_runner, + const base::FilePath& store_path) + : V4Store(task_runner, store_path, 0) {} + +bool TestV4Store::HasValidData() const { + return true; +} + +void TestV4Store::MarkPrefixAsBad(HashPrefix prefix) { + hash_prefix_map_[prefix.size()] = prefix; +} + +TestV4Database::TestV4Database( + const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, + std::unique_ptr<StoreMap> store_map) + : V4Database(db_task_runner, std::move(store_map)) {} + +void TestV4Database::MarkPrefixAsBad(ListIdentifier list_id, + HashPrefix prefix) { + V4Store* base_store = store_map_->at(list_id).get(); + TestV4Store* test_store = static_cast<TestV4Store*>(base_store); + test_store->MarkPrefixAsBad(prefix); +} + +V4Store* TestV4StoreFactory::CreateV4Store( + const scoped_refptr<base::SequencedTaskRunner>& task_runner, + const base::FilePath& store_path) { + V4Store* new_store = new TestV4Store(task_runner, store_path); + new_store->Initialize(); + return new_store; +} + +TestV4DatabaseFactory::TestV4DatabaseFactory() : v4_db_(nullptr) {} + +std::unique_ptr<V4Database> TestV4DatabaseFactory::Create( + const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, + std::unique_ptr<StoreMap> store_map) { + v4_db_ = new TestV4Database(db_task_runner, std::move(store_map)); + return base::WrapUnique(v4_db_); +} + +void TestV4DatabaseFactory::MarkPrefixAsBad(ListIdentifier list_id, + HashPrefix prefix) { + v4_db_->MarkPrefixAsBad(list_id, prefix); +} + +TestV4GetHashProtocolManager::TestV4GetHashProtocolManager( + net::URLRequestContextGetter* request_context_getter, + const StoresToCheck& stores_to_check, + const V4ProtocolConfig& config) + : V4GetHashProtocolManager(request_context_getter, + stores_to_check, + config) {} + +void TestV4GetHashProtocolManager::AddToFullHashCache(FullHashInfo fhi) { + full_hash_cache_[fhi.full_hash].full_hash_infos.push_back(fhi); +} + +std::unique_ptr<V4GetHashProtocolManager> +TestV4GetHashProtocolManagerFactory::CreateProtocolManager( + net::URLRequestContextGetter* request_context_getter, + const StoresToCheck& stores_to_check, + const V4ProtocolConfig& config) { + pm_ = new TestV4GetHashProtocolManager(request_context_getter, + stores_to_check, config); + return base::WrapUnique(pm_); +} + +FullHash GetFullHash(const GURL& url) { + std::string host; + std::string path; + V4ProtocolManagerUtil::CanonicalizeUrl(url, &host, &path, nullptr); + + return crypto::SHA256HashString(host + path); +} + +FullHashInfo GetFullHashInfo(const GURL& url, const ListIdentifier& list_id) { + return FullHashInfo(GetFullHash(url), list_id, + base::Time::Now() + base::TimeDelta::FromMinutes(5)); +} + +FullHashInfo GetFullHashInfoWithMetadata( + const GURL& url, + const ListIdentifier& list_id, + ThreatPatternType threat_pattern_type) { + FullHashInfo fhi = GetFullHashInfo(url, list_id); + fhi.metadata.threat_pattern_type = threat_pattern_type; + return fhi; +} + +} // namespace safe_browsing
diff --git a/chrome/browser/safe_browsing/v4_test_utils.h b/chrome/browser/safe_browsing/v4_test_utils.h new file mode 100644 index 0000000..fed0fdf --- /dev/null +++ b/chrome/browser/safe_browsing/v4_test_utils.h
@@ -0,0 +1,98 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_SAFE_BROWSING_V4_TEST_UTILS_H_ +#define CHROME_BROWSER_SAFE_BROWSING_V4_TEST_UTILS_H_ + +#include "components/safe_browsing_db/v4_database.h" +#include "components/safe_browsing_db/v4_get_hash_protocol_manager.h" + +namespace safe_browsing { + +class TestV4Store : public V4Store { + public: + TestV4Store(const scoped_refptr<base::SequencedTaskRunner>& task_runner, + const base::FilePath& store_path); + + bool HasValidData() const override; + + void MarkPrefixAsBad(HashPrefix prefix); +}; + +class TestV4StoreFactory : public V4StoreFactory { + public: + V4Store* CreateV4Store( + const scoped_refptr<base::SequencedTaskRunner>& task_runner, + const base::FilePath& store_path) override; +}; + +class TestV4Database : public V4Database { + public: + TestV4Database(const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, + std::unique_ptr<StoreMap> store_map); + + void MarkPrefixAsBad(ListIdentifier list_id, HashPrefix prefix); +}; + +class TestV4DatabaseFactory : public V4DatabaseFactory { + public: + TestV4DatabaseFactory(); + + std::unique_ptr<V4Database> Create( + const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, + std::unique_ptr<StoreMap> store_map) override; + + void MarkPrefixAsBad(ListIdentifier list_id, HashPrefix prefix); + + private: + // Owned by V4LocalDatabaseManager. The following usage is expected: each + // test in the test fixture instantiates a new SafebrowsingService instance, + // which instantiates a new V4LocalDatabaseManager, which instantiates a new + // V4Database using this method so use-after-free isn't possible. + TestV4Database* v4_db_; +}; + +class TestV4GetHashProtocolManager : public V4GetHashProtocolManager { + public: + TestV4GetHashProtocolManager( + net::URLRequestContextGetter* request_context_getter, + const StoresToCheck& stores_to_check, + const V4ProtocolConfig& config); + + void AddToFullHashCache(FullHashInfo fhi); +}; + +class TestV4GetHashProtocolManagerFactory + : public V4GetHashProtocolManagerFactory { + public: + std::unique_ptr<V4GetHashProtocolManager> CreateProtocolManager( + net::URLRequestContextGetter* request_context_getter, + const StoresToCheck& stores_to_check, + const V4ProtocolConfig& config) override; + + void AddToFullHashCache(FullHashInfo fhi) { pm_->AddToFullHashCache(fhi); } + + private: + // Owned by the SafeBrowsingService. + TestV4GetHashProtocolManager* pm_; +}; + +// Returns a FullHash for the basic host+path pattern for a given URL after +// canonicalization. +FullHash GetFullHash(const GURL& url); + +// Returns FullHashInfo object for the basic host+path pattern for a given URL +// after canonicalization. +FullHashInfo GetFullHashInfo(const GURL& url, const ListIdentifier& list_id); + +// Returns a FullHashInfo info for the basic host+path pattern for a given URL +// after canonicalization. Also adds metadata information to the FullHashInfo +// object. +FullHashInfo GetFullHashInfoWithMetadata(const GURL& url, + const ListIdentifier& list_id, + ThreatPatternType threat_pattern_type); + +} // namespace safe_browsing + +#endif // CHROME_BROWSER_SAFE_BROWSING_V4_TEST_UTILS_H_
diff --git a/chrome/browser/translate/chrome_translate_client.cc b/chrome/browser/translate/chrome_translate_client.cc index 53110c1..1ce6b9d2 100644 --- a/chrome/browser/translate/chrome_translate_client.cc +++ b/chrome/browser/translate/chrome_translate_client.cc
@@ -16,6 +16,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/translate/language_model_factory.h" #include "chrome/browser/translate/translate_accept_languages_factory.h" +#include "chrome/browser/translate/translate_ranker_factory.h" #include "chrome/browser/translate/translate_service.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" @@ -71,11 +72,13 @@ ChromeTranslateClient::ChromeTranslateClient(content::WebContents* web_contents) : content::WebContentsObserver(web_contents), translate_driver_(&web_contents->GetController()), - translate_manager_( - new translate::TranslateManager(this, prefs::kAcceptLanguages)), - language_model_( - LanguageModelFactory::GetInstance()->GetForBrowserContext( - web_contents->GetBrowserContext())) { + translate_manager_(new translate::TranslateManager( + this, + translate::TranslateRankerFactory::GetInstance() + ->GetForBrowserContext(web_contents->GetBrowserContext()), + prefs::kAcceptLanguages)), + language_model_(LanguageModelFactory::GetInstance()->GetForBrowserContext( + web_contents->GetBrowserContext())) { translate_driver_.AddObserver(this); translate_driver_.set_translate_manager(translate_manager_.get()); }
diff --git a/chrome/browser/translate/translate_ranker_factory.cc b/chrome/browser/translate/translate_ranker_factory.cc new file mode 100644 index 0000000..b5d93b0 --- /dev/null +++ b/chrome/browser/translate/translate_ranker_factory.cc
@@ -0,0 +1,48 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/translate/translate_ranker_factory.h" + +#include "chrome/browser/profiles/incognito_helpers.h" +#include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "components/keyed_service/core/keyed_service.h" +#include "components/translate/core/browser/translate_ranker_impl.h" +#include "components/translate/core/common/translate_switches.h" +#include "components/variations/variations_associated_data.h" +#include "content/public/browser/browser_context.h" + +namespace translate { + +// static +TranslateRankerFactory* TranslateRankerFactory::GetInstance() { + return base::Singleton<TranslateRankerFactory>::get(); +} + +// static +translate::TranslateRanker* TranslateRankerFactory::GetForBrowserContext( + content::BrowserContext* browser_context) { + return static_cast<translate::TranslateRanker*>( + GetInstance()->GetServiceForBrowserContext(browser_context, true)); +} + +TranslateRankerFactory::TranslateRankerFactory() + : BrowserContextKeyedServiceFactory( + "TranslateRanker", + BrowserContextDependencyManager::GetInstance()) {} + +TranslateRankerFactory::~TranslateRankerFactory() {} + +KeyedService* TranslateRankerFactory::BuildServiceInstanceFor( + content::BrowserContext* browser_context) const { + return new TranslateRankerImpl( + TranslateRankerImpl::GetModelPath(browser_context->GetPath()), + TranslateRankerImpl::GetModelURL()); +} + +content::BrowserContext* TranslateRankerFactory::GetBrowserContextToUse( + content::BrowserContext* context) const { + return chrome::GetBrowserContextRedirectedInIncognito(context); +} + +} // namespace translate
diff --git a/chrome/browser/translate/translate_ranker_factory.h b/chrome/browser/translate/translate_ranker_factory.h new file mode 100644 index 0000000..8801f34 --- /dev/null +++ b/chrome/browser/translate/translate_ranker_factory.h
@@ -0,0 +1,38 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_FACTORY_H_ +#define CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_FACTORY_H_ + +#include "base/macros.h" +#include "base/memory/singleton.h" +#include "components/keyed_service/content/browser_context_keyed_service_factory.h" + +namespace translate { +class TranslateRanker; + +class TranslateRankerFactory : public BrowserContextKeyedServiceFactory { + public: + static TranslateRankerFactory* GetInstance(); + static translate::TranslateRanker* GetForBrowserContext( + content::BrowserContext* browser_context); + + private: + friend struct base::DefaultSingletonTraits<TranslateRankerFactory>; + + TranslateRankerFactory(); + ~TranslateRankerFactory() override; + + // BrowserContextKeyedServiceFactory: + KeyedService* BuildServiceInstanceFor( + content::BrowserContext* context) const override; + content::BrowserContext* GetBrowserContextToUse( + content::BrowserContext* context) const override; + + DISALLOW_COPY_AND_ASSIGN(TranslateRankerFactory); +}; + +} // namespace translate + +#endif // CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_FACTORY_H_
diff --git a/chrome/browser/translate/translate_ranker_metrics_provider.cc b/chrome/browser/translate/translate_ranker_metrics_provider.cc new file mode 100644 index 0000000..7790108b --- /dev/null +++ b/chrome/browser/translate/translate_ranker_metrics_provider.cc
@@ -0,0 +1,32 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/translate/translate_ranker_metrics_provider.h" + +#include "chrome/browser/profiles/profile_manager.h" +#include "chrome/browser/translate/translate_ranker_factory.h" +#include "components/metrics/proto/chrome_user_metrics_extension.pb.h" +#include "components/metrics/proto/translate_event.pb.h" +#include "components/translate/core/browser/translate_ranker.h" + +namespace translate { + +void TranslateRankerMetricsProvider::ProvideGeneralMetrics( + metrics::ChromeUserMetricsExtension* uma_proto) { + for (auto* profile : ProfileManager::GetLastOpenedProfiles()) { + TranslateRanker* ranker = + TranslateRankerFactory::GetInstance()->GetForBrowserContext(profile); + if (!ranker) + return; + + std::vector<metrics::TranslateEventProto> translate_events; + ranker->FlushTranslateEvents(&translate_events); + + for (auto& event : translate_events) { + uma_proto->add_translate_event()->Swap(&event); + } + } +} + +} // namespace translate
diff --git a/components/translate/core/browser/translate_ranker_metrics_provider.h b/chrome/browser/translate/translate_ranker_metrics_provider.h similarity index 63% rename from components/translate/core/browser/translate_ranker_metrics_provider.h rename to chrome/browser/translate/translate_ranker_metrics_provider.h index 0ff6470..d1efccd19 100644 --- a/components/translate/core/browser/translate_ranker_metrics_provider.h +++ b/chrome/browser/translate/translate_ranker_metrics_provider.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_BROWSER_TRANSLATE_RANKER_METRICS_PROVIDER_H_ -#define COMPONENTS_TRANSLATE_CORE_BROWSER_BROWSER_TRANSLATE_RANKER_METRICS_PROVIDER_H_ +#ifndef CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_METRICS_PROVIDER_H_ +#define CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_METRICS_PROVIDER_H_ #include "components/metrics/metrics_provider.h" @@ -12,8 +12,8 @@ // Provides metrics related to the translate ranker. class TranslateRankerMetricsProvider : public metrics::MetricsProvider { public: - TranslateRankerMetricsProvider(); - ~TranslateRankerMetricsProvider() override; + TranslateRankerMetricsProvider() {} + ~TranslateRankerMetricsProvider() override {} private: // From metrics::MetricsProvider... @@ -25,4 +25,4 @@ } // namespace translate -#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_BROWSER_TRANSLATE_RANKER_METRICS_PROVIDER_H_ +#endif // CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_METRICS_PROVIDER_H_
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn index b06487ea..54b5cc7 100644 --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -1465,6 +1465,8 @@ "views/chrome_constrained_window_views_client.h", "views/chrome_views_delegate.cc", "views/chrome_views_delegate.h", + "views/chrome_views_delegate_mac.cc", + "views/chrome_views_delegate_win.cc", "views/collected_cookies_views.cc", "views/collected_cookies_views.h", "views/confirm_bubble_views.cc", @@ -1948,6 +1950,14 @@ "views/tabs/window_finder_ash.cc", ] } + + if (is_win || is_desktop_linux) { + sources += [ + "views/chrome_views_delegate_linux.cc", + "views/native_widget_factory.cc", + "views/native_widget_factory.h", + ] + } } if (use_gio) { deps += [ "//build/linux/libgio" ]
diff --git a/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc b/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc index b3bb164..059d419f 100644 --- a/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc +++ b/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc
@@ -175,8 +175,7 @@ std::unique_ptr<base::Closure> callback = views::DesktopWindowTreeHostX11::GetHostForXID( host->GetAcceleratedWidget()) - ->DisableEventListening( - GDK_WINDOW_XID(gtk_widget_get_window(dialog))); + ->DisableEventListening(); // OnFilePickerDestroy() is called when |dialog| destroyed, which allows // to invoke the callback function to re-enable event handling on the // owning window.
diff --git a/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc b/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc index 9b20a7a..2167cdb38 100644 --- a/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc +++ b/chrome/browser/ui/toolbar/component_toolbar_actions_factory.cc
@@ -13,7 +13,6 @@ #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h" #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" #include "extensions/browser/extension_registry.h" -#include "extensions/common/feature_switch.h" #if defined(ENABLE_MEDIA_ROUTER) #include "chrome/browser/ui/toolbar/media_router_action.h" @@ -59,10 +58,6 @@ const std::string& action_id, Browser* browser, ToolbarActionsBar* bar) { - // This is currently behind the extension-action-redesign flag, as it is - // designed for the new toolbar. - DCHECK(extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()); - // Add component toolbar actions here. // This current design means that the ComponentToolbarActionsFactory is aware // of all actions. Since we should *not* have an excessive amount of these
diff --git a/chrome/browser/ui/toolbar/mock_component_toolbar_actions_factory.cc b/chrome/browser/ui/toolbar/mock_component_toolbar_actions_factory.cc index 68015349..86aaebb 100644 --- a/chrome/browser/ui/toolbar/mock_component_toolbar_actions_factory.cc +++ b/chrome/browser/ui/toolbar/mock_component_toolbar_actions_factory.cc
@@ -7,7 +7,6 @@ #include "base/memory/ptr_util.h" #include "chrome/browser/ui/toolbar/test_toolbar_action_view_controller.h" #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h" -#include "extensions/common/feature_switch.h" // static const char MockComponentToolbarActionsFactory::kActionIdForTesting[] = @@ -21,10 +20,7 @@ std::set<std::string> MockComponentToolbarActionsFactory::GetInitialComponentIds() { - std::set<std::string> ids; - if (extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()) - ids.insert(kActionIdForTesting); - return ids; + return {kActionIdForTesting}; } std::unique_ptr<ToolbarActionViewController>
diff --git a/chrome/browser/ui/views/chrome_views_delegate.cc b/chrome/browser/ui/views/chrome_views_delegate.cc index 3116c947..014fb4d 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.cc +++ b/chrome/browser/ui/views/chrome_views_delegate.cc
@@ -51,16 +51,10 @@ #if defined(USE_AURA) #include "chrome/browser/ui/aura/accessibility/automation_manager_aura.h" -#include "chrome/browser/ui/views/theme_profile_key.h" #include "ui/aura/window.h" #include "ui/aura/window_event_dispatcher.h" #endif -#if defined(USE_AURA) && !defined(OS_CHROMEOS) -#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" -#include "ui/views/widget/native_widget_aura.h" -#endif - #if defined(OS_LINUX) && !defined(OS_CHROMEOS) #include "ui/views/linux_ui/linux_ui.h" #endif @@ -380,104 +374,7 @@ return; } -#if defined(USE_AURA) && !defined(OS_CHROMEOS) - bool use_non_toplevel_window = - params->parent && -#if defined(OS_WIN) - // Check the force_software_compositing flag only on Windows. If this - // flag is on, it means that the widget being created wants to use the - // software compositor which requires a top level window. We cannot have - // a mixture of compositors active in one view hierarchy. - !params->force_software_compositing && -#else - params->type != views::Widget::InitParams::TYPE_MENU && -#endif - params->type != views::Widget::InitParams::TYPE_TOOLTIP; - -#if defined(OS_WIN) - // On desktop Linux Chrome must run in an environment that supports a variety - // of window managers, some of which do not play nicely with parts of our UI - // that have specific expectations about window sizing and placement. For this - // reason windows opened as top level (!params.child) are always constrained - // by the browser frame, so we can position them correctly. This has some - // negative side effects, like dialogs being clipped by the browser frame, but - // the side effects are not as bad as the poor window manager interactions. On - // Windows however these WM interactions are not an issue, so we open windows - // requested as top_level as actual top level windows on the desktop. - use_non_toplevel_window = use_non_toplevel_window && params->child; - - if (!ui::win::IsAeroGlassEnabled()) { - // If we don't have composition (either because Glass is not enabled or - // because it was disabled at the command line), anything that requires - // transparency will be broken with a toplevel window, so force the use of - // a non toplevel window. - if (params->opacity == views::Widget::InitParams::TRANSLUCENT_WINDOW && - !params->force_software_compositing) - use_non_toplevel_window = true; - } else { - // If we're on Vista+ with composition enabled, then we can use toplevel - // windows for most things (they get blended via WS_EX_COMPOSITED, which - // allows for animation effects, but also exceeding the bounds of the parent - // window). - if (params->parent && - params->type != views::Widget::InitParams::TYPE_CONTROL && - params->type != views::Widget::InitParams::TYPE_WINDOW) { - // When we set this to false, we get a DesktopNativeWidgetAura from the - // default case (not handled in this function). - use_non_toplevel_window = false; - } - } -#endif // OS_WIN - - if (!use_non_toplevel_window && !native_widget_factory().is_null()) { - params->native_widget = native_widget_factory().Run(*params, delegate); - return; - } -#endif // USE_AURA - -#if defined(OS_CHROMEOS) || defined(USE_ASH) - // When we are doing straight chromeos builds, we still need to handle the - // toplevel window case. - // There may be a few remaining widgets in Chrome OS that are not top level, - // but have neither a context nor a parent. Provide a fallback context so - // users don't crash. Developers will hit the DCHECK and should provide a - // context. - if (params->context) - params->context = params->context->GetRootWindow(); - DCHECK(params->parent || params->context || !params->child) - << "Please provide a parent or context for this widget."; - if (!params->parent && !params->context) - params->context = ash::Shell::GetPrimaryRootWindow(); -#elif defined(USE_AURA) - // While the majority of the time, context wasn't plumbed through due to the - // existence of a global WindowParentingClient, if this window is toplevel, - // it's possible that there is no contextual state that we can use. - gfx::NativeWindow parent_or_context = - params->parent ? params->parent : params->context; - Profile* profile = nullptr; - if (parent_or_context) - profile = GetThemeProfileForWindow(parent_or_context); - aura::Window* window = nullptr; - if ((!params->parent && !params->context && !params->child) || - !use_non_toplevel_window) { - views::DesktopNativeWidgetAura* native_widget = - new views::DesktopNativeWidgetAura(delegate); - params->native_widget = native_widget; - window = native_widget->GetNativeWindow(); - } else { - views::NativeWidgetAura* native_widget = - new views::NativeWidgetAura(delegate); - if (params->parent) { - Profile* parent_profile = reinterpret_cast<Profile*>( - params->parent->GetNativeWindowProperty(Profile::kProfileKey)); - native_widget->SetNativeWindowProperty(Profile::kProfileKey, - parent_profile); - } - params->native_widget = native_widget; - window = native_widget->GetNativeWindow(); - } - SetThemeProfileForWindow(window, profile); -#endif + params->native_widget = CreateNativeWidget(params, delegate); } #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
diff --git a/chrome/browser/ui/views/chrome_views_delegate.h b/chrome/browser/ui/views/chrome_views_delegate.h index c86cf03e..d704faf5 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.h +++ b/chrome/browser/ui/views/chrome_views_delegate.h
@@ -89,6 +89,10 @@ views::Widget::InitParams::WindowOpacity GetOpacityForInitParams( const views::Widget::InitParams& params); + views::NativeWidget* CreateNativeWidget( + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate); + // |ChromeViewsDelegate| exposes a |RefCounted|-like interface, but //chrome // uses |ScopedKeepAlive|s to manage lifetime. We manage an internal counter // to do that translation.
diff --git a/chrome/browser/ui/views/chrome_views_delegate_chromeos.cc b/chrome/browser/ui/views/chrome_views_delegate_chromeos.cc index c02b480..60b2019 100644 --- a/chrome/browser/ui/views/chrome_views_delegate_chromeos.cc +++ b/chrome/browser/ui/views/chrome_views_delegate_chromeos.cc
@@ -4,8 +4,31 @@ #include "chrome/browser/ui/views/chrome_views_delegate.h" +#include "ash/shell.h" + views::Widget::InitParams::WindowOpacity ChromeViewsDelegate::GetOpacityForInitParams( const views::Widget::InitParams& params) { return views::Widget::InitParams::TRANSLUCENT_WINDOW; } + +views::NativeWidget* ChromeViewsDelegate::CreateNativeWidget( + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate) { + // When we are doing straight chromeos builds, we still need to handle the + // toplevel window case. + // There may be a few remaining widgets in Chrome OS that are not top level, + // but have neither a context nor a parent. Provide a fallback context so + // users don't crash. Developers will hit the DCHECK and should provide a + // context. + if (params->context) + params->context = params->context->GetRootWindow(); + DCHECK(params->parent || params->context || !params->child) + << "Please provide a parent or context for this widget."; + if (!params->parent && !params->context) + params->context = ash::Shell::GetPrimaryRootWindow(); + + // By returning null Widget creates the default NativeWidget implementation, + // which for chromeos is NativeWidgetAura. + return nullptr; +}
diff --git a/chrome/browser/ui/views/chrome_views_delegate_linux.cc b/chrome/browser/ui/views/chrome_views_delegate_linux.cc new file mode 100644 index 0000000..fc6cfcf --- /dev/null +++ b/chrome/browser/ui/views/chrome_views_delegate_linux.cc
@@ -0,0 +1,18 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/ui/views/chrome_views_delegate.h" + +#include "chrome/browser/ui/views/native_widget_factory.h" + +views::NativeWidget* ChromeViewsDelegate::CreateNativeWidget( + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate) { + NativeWidgetType native_widget_type = + (params->parent && params->type != views::Widget::InitParams::TYPE_MENU && + params->type != views::Widget::InitParams::TYPE_MENU) + ? NativeWidgetType::NATIVE_WIDGET_AURA + : NativeWidgetType::DESKTOP_NATIVE_WIDGET_AURA; + return ::CreateNativeWidget(native_widget_type, params, delegate); +}
diff --git a/chrome/browser/ui/views/chrome_views_delegate_mac.cc b/chrome/browser/ui/views/chrome_views_delegate_mac.cc new file mode 100644 index 0000000..05ec575c --- /dev/null +++ b/chrome/browser/ui/views/chrome_views_delegate_mac.cc
@@ -0,0 +1,12 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/ui/views/chrome_views_delegate.h" + +views::NativeWidget* ChromeViewsDelegate::CreateNativeWidget( + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate) { + // By returning null Widget creates the default NativeWidget implementation. + return nullptr; +}
diff --git a/chrome/browser/ui/views/chrome_views_delegate_win.cc b/chrome/browser/ui/views/chrome_views_delegate_win.cc new file mode 100644 index 0000000..bc38052 --- /dev/null +++ b/chrome/browser/ui/views/chrome_views_delegate_win.cc
@@ -0,0 +1,43 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/ui/views/chrome_views_delegate.h" + +#include "chrome/browser/ui/views/native_widget_factory.h" +#include "ui/base/win/shell.h" + +views::NativeWidget* ChromeViewsDelegate::CreateNativeWidget( + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate) { + // Check the force_software_compositing flag only on Windows. If this flag is + // on, it means that the widget being created wants to use the software + // compositor which requires a top level window. We cannot have a mixture of + // compositors active in one view hierarchy. + NativeWidgetType native_widget_type = + (params->parent && params->child && !params->force_software_compositing && + params->type != views::Widget::InitParams::TYPE_TOOLTIP) + ? NativeWidgetType::NATIVE_WIDGET_AURA + : NativeWidgetType::DESKTOP_NATIVE_WIDGET_AURA; + + if (!ui::win::IsAeroGlassEnabled()) { + // If we don't have composition (either because Glass is not enabled or + // because it was disabled at the command line), anything that requires + // transparency will be broken with a toplevel window, so force the use of + // a non toplevel window. + if (params->opacity == views::Widget::InitParams::TRANSLUCENT_WINDOW && + !params->force_software_compositing) + native_widget_type = NativeWidgetType::NATIVE_WIDGET_AURA; + } else { + // If we're on Vista+ with composition enabled, then we can use toplevel + // windows for most things (they get blended via WS_EX_COMPOSITED, which + // allows for animation effects, but also exceeding the bounds of the parent + // window). + if (params->parent && + params->type != views::Widget::InitParams::TYPE_CONTROL && + params->type != views::Widget::InitParams::TYPE_WINDOW) { + native_widget_type = NativeWidgetType::DESKTOP_NATIVE_WIDGET_AURA; + } + } + return ::CreateNativeWidget(native_widget_type, params, delegate); +}
diff --git a/chrome/browser/ui/views/native_widget_factory.cc b/chrome/browser/ui/views/native_widget_factory.cc new file mode 100644 index 0000000..722d8de --- /dev/null +++ b/chrome/browser/ui/views/native_widget_factory.cc
@@ -0,0 +1,47 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/ui/views/native_widget_factory.h" + +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/views/theme_profile_key.h" +#include "ui/aura/window.h" +#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" +#include "ui/views/widget/native_widget_aura.h" + +views::NativeWidget* CreateNativeWidget( + NativeWidgetType type, + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate) { + // While the majority of the time, context wasn't plumbed through due to the + // existence of a global WindowParentingClient, if this window is toplevel, + // it's possible that there is no contextual state that we can use. + gfx::NativeWindow parent_or_context = + params->parent ? params->parent : params->context; + Profile* profile = nullptr; + if (parent_or_context) + profile = GetThemeProfileForWindow(parent_or_context); + views::NativeWidget* native_widget = nullptr; + aura::Window* window = nullptr; + if (type == NativeWidgetType::DESKTOP_NATIVE_WIDGET_AURA || + (!params->parent && !params->context && !params->child)) { + views::DesktopNativeWidgetAura* desktop_native_widget = + new views::DesktopNativeWidgetAura(delegate); + window = desktop_native_widget->GetNativeWindow(); + native_widget = desktop_native_widget; + } else { + views::NativeWidgetAura* native_widget_aura = + new views::NativeWidgetAura(delegate); + if (params->parent) { + Profile* parent_profile = reinterpret_cast<Profile*>( + params->parent->GetNativeWindowProperty(Profile::kProfileKey)); + native_widget_aura->SetNativeWindowProperty(Profile::kProfileKey, + parent_profile); + } + window = native_widget_aura->GetNativeWindow(); + native_widget = native_widget_aura; + } + SetThemeProfileForWindow(window, profile); + return native_widget; +}
diff --git a/chrome/browser/ui/views/native_widget_factory.h b/chrome/browser/ui/views/native_widget_factory.h new file mode 100644 index 0000000..6cdc7fcb --- /dev/null +++ b/chrome/browser/ui/views/native_widget_factory.h
@@ -0,0 +1,21 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_UI_VIEWS_NATIVE_WIDGET_FACTORY_H_ +#define CHROME_BROWSER_UI_VIEWS_NATIVE_WIDGET_FACTORY_H_ + +#include "ui/views/widget/widget.h" + +enum class NativeWidgetType { + NATIVE_WIDGET_AURA, + DESKTOP_NATIVE_WIDGET_AURA, +}; + +// Responsible for creating and configuring a NativeWidget type. +views::NativeWidget* CreateNativeWidget( + NativeWidgetType type, + views::Widget::InitParams* params, + views::internal::NativeWidgetDelegate* delegate); + +#endif // CHROME_BROWSER_UI_VIEWS_NATIVE_WIDGET_FACTORY_H_
diff --git a/chrome/browser/ui/webui/help/help_handler.cc b/chrome/browser/ui/webui/help/help_handler.cc index 0b8879c..fd47ef5 100644 --- a/chrome/browser/ui/webui/help/help_handler.cc +++ b/chrome/browser/ui/webui/help/help_handler.cc
@@ -198,17 +198,6 @@ return contents; return std::string(); } - -// Returns messages that applys to this eol status -base::string16 GetEolMessage(update_engine::EndOfLifeStatus status) { - if (status == update_engine::EndOfLifeStatus::kSecurityOnly) { - return l10n_util::GetStringUTF16(IDS_ABOUT_PAGE_EOL_SECURITY_ONLY); - - } else { - return l10n_util::GetStringUTF16(IDS_ABOUT_PAGE_EOL_EOL); - } -} - #endif // defined(OS_CHROMEOS) } // namespace @@ -754,7 +743,8 @@ } void HelpHandler::OnEolStatus(update_engine::EndOfLifeStatus status) { - if (status == update_engine::EndOfLifeStatus::kSupported || + // Security only state is no longer supported. + if (status == update_engine::EndOfLifeStatus::kSecurityOnly || IsEnterpriseManaged()) { return; } @@ -764,10 +754,9 @@ "help.HelpPage.updateEolMessage", base::StringValue("device_supported"), base::StringValue("")); } else { - base::string16 message = GetEolMessage(status); web_ui()->CallJavascriptFunctionUnsafe( "help.HelpPage.updateEolMessage", base::StringValue("device_endoflife"), - base::StringValue(message)); + base::StringValue(l10n_util::GetStringUTF16(IDS_ABOUT_PAGE_EOL_EOL))); } }
diff --git a/chrome/browser/ui/webui/profile_helper.cc b/chrome/browser/ui/webui/profile_helper.cc index d381e2e..528292e 100644 --- a/chrome/browser/ui/webui/profile_helper.cc +++ b/chrome/browser/ui/webui/profile_helper.cc
@@ -71,10 +71,13 @@ } // namespace void OpenNewWindowForProfile(Profile* profile) { - if (signin::IsForceSigninEnabled()) { - ShowUserManager(base::Bind(&ShowSigninDialog, profile->GetPath())); - } else if (profiles::IsProfileLocked(profile->GetPath())) { - ShowUserManager(base::Bind(&ShowReauthDialog, GetProfileUserName(profile))); + if (profiles::IsProfileLocked(profile->GetPath())) { + if (signin::IsForceSigninEnabled()) { + ShowUserManager(base::Bind(&ShowSigninDialog, profile->GetPath())); + } else { + ShowUserManager( + base::Bind(&ShowReauthDialog, GetProfileUserName(profile))); + } } else { profiles::FindOrCreateNewWindowForProfile( profile, chrome::startup::IS_PROCESS_STARTUP,
diff --git a/chrome/install_static/OWNERS b/chrome/install_static/OWNERS index 2a640ad..08d6ee7c 100644 --- a/chrome/install_static/OWNERS +++ b/chrome/install_static/OWNERS
@@ -3,3 +3,5 @@ robertshield@chromium.org per-file policy_path_parser.*=file://chrome/browser/policy/OWNERS + +# COMPONENT: Internals>Installer
diff --git a/chrome/installer/OWNERS b/chrome/installer/OWNERS index 7fb73525..7f0beeb 100644 --- a/chrome/installer/OWNERS +++ b/chrome/installer/OWNERS
@@ -1,3 +1,5 @@ gab@chromium.org grt@chromium.org robertshield@chromium.org + +# COMPONENT: Internals>Installer
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 906c382..3aefa8a4 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -104,18 +104,29 @@ #"//chrome/app/theme:theme_resources", "//chrome/browser:test_support", + "//chrome/child", "//chrome/common:test_support", + "//chrome/renderer", "//chrome/renderer:test_support", + "//chrome/utility", + "//components/autofill/core/browser:test_support", "//components/bookmarks/test", + "//components/captive_portal:test_support", "//components/gcm_driver:test_support", + "//components/gcm_driver/crypto:test_support", "//components/gcm_driver/instance_id:test_support", + "//components/guest_view/browser:test_support", "//components/history/core/test:test", + "//components/infobars/core", "//components/metrics:test_support", + "//components/network_time:network_time_test_support", + "//components/offline_pages/core:test_support", "//components/omnibox/browser:test_support", "//components/password_manager/core/browser:test_support", "//components/prefs:test_support", "//components/rappor:test_support", "//components/search_engines:test_support", + "//components/sessions:test_support", "//components/signin/core/browser:test_support", "//components/sync", "//components/sync:test_support_driver", @@ -123,12 +134,20 @@ "//components/sync_sessions:test_support", "//components/toolbar:test_support", "//components/update_client:test_support", + "//components/web_resource:test_support", "//components/zoom:test_support", "//content/public/app:both", + "//content/public/child", + "//content/public/common", + "//content/public/renderer", + "//content/public/utility", "//content/test:test_support", "//extensions/features", + "//google_apis:test_support", "//gpu/ipc/service", + "//ipc:test_support", "//media:media_features", + "//media:test_support", "//net", "//net:test_support", "//pdf", @@ -137,41 +156,18 @@ "//skia", "//sql", "//sql:test_support", + "//sql:test_support", "//testing/gmock", "//testing/gtest", + "//third_party/leveldatabase", "//third_party/zlib", + "//ui/base", + "//ui/events:events_base", "//ui/gfx:test_support", + "//ui/gl", "//ui/message_center:test_support", ] - if (!is_ios) { - public_deps += [ - "//chrome/child", - "//chrome/renderer", - "//chrome/utility", - "//components/autofill/core/browser:test_support", - "//components/captive_portal:test_support", - "//components/gcm_driver/crypto:test_support", - "//components/guest_view/browser:test_support", - "//components/infobars/core", - "//components/network_time:network_time_test_support", - "//components/offline_pages/core:test_support", - "//components/sessions:test_support", - "//components/web_resource:test_support", - "//content/public/child", - "//content/public/common", - "//content/public/renderer", - "//content/public/utility", - "//google_apis:test_support", - "//ipc:test_support", - "//media:test_support", - "//sql:test_support", - "//third_party/leveldatabase", - "//ui/base", - "//ui/events:events_base", - "//ui/gl", - ] - } if (enable_plugins) { public_deps += [ "//ppapi/shared_impl" ] } @@ -3477,87 +3473,74 @@ defines = [] deps = [ - # NOTE: New dependencies should generally be added in the OS!="ios" - # dependencies block below, rather than here. - # Unit tests should only depend on: - # 1) everything that the chrome binaries depend on: - "//chrome:browser_dependencies", - "//chrome:child_dependencies", - - # 2) test-specific support libraries: ":test_support", ":test_support_unit", "//base/test:test_support", + "//chrome:browser_dependencies", + "//chrome:child_dependencies", + "//chrome:resources", + "//chrome:strings", + "//chrome/browser/ntp_snippets:test_support", "//chrome/common:test_support", + "//components/autofill/content/renderer:test_support", "//components/browser_sync:test_support", + "//components/component_updater:test_support", "//components/content_settings/core/test:test_support", + "//components/content_settings/core/test:test_support", + "//components/data_reduction_proxy/core/browser:test_support", + "//components/data_use_measurement/core", + "//components/metrics/proto", + "//components/ntp_snippets:test_support", + "//components/os_crypt:test_support", "//components/resources", + "//components/safe_browsing_db", + "//components/safe_browsing_db:test_database_manager", + "//components/safe_json:test_support", + "//components/spellcheck:build_features", + "//components/strings", + "//components/subresource_filter/core/browser:test_support", "//components/sync:test_support_driver", "//components/sync:test_support_model", "//components/sync_sessions:test_support", "//components/variations:test_support", + "//components/version_info:generate_version_info", + "//components/webdata_services:test_support", + "//content/app/resources", "//content/public/app:both", "//content/test:test_support", + "//courgette:courgette_lib", "//crypto:platform", "//crypto:test_support", - "//net", - "//net:test_support", - "//testing/gmock", - "//testing/gtest", - - # 3) anything tests directly depend on - "//chrome:resources", - "//chrome:strings", - "//components/component_updater:test_support", - "//components/safe_browsing_db:test_database_manager", - "//components/spellcheck:build_features", - "//components/subresource_filter/core/browser:test_support", - "//components/version_info:generate_version_info", - "//courgette:courgette_lib", + "//device/base:mocks", + "//device/bluetooth:mocks", + "//device/usb:test_support", "//extensions/features", "//google_apis", + "//gpu:test_support", "//media:media_features", + "//media:test_support", + "//net", + "//net:test_support", "//ppapi/features", "//skia", + "//testing/gmock", + "//testing/gtest", "//third_party/cacheinvalidation", "//third_party/icu", + "//third_party/leveldatabase", + "//third_party/libaddressinput", + "//third_party/libjingle", + "//third_party/libphonenumber", "//third_party/libxml", + "//third_party/webrtc/modules/desktop_capture", "//ui/base:test_support", "//ui/display:test_support", "//ui/gfx:test_support", + "//ui/gl", "//ui/resources", + "//v8", ] - if (!is_ios) { - deps += [ - "//chrome/browser/ntp_snippets:test_support", - "//components/autofill/content/renderer:test_support", - "//components/content_settings/core/test:test_support", - "//components/data_reduction_proxy/core/browser:test_support", - "//components/data_use_measurement/core", - "//components/metrics/proto", - "//components/ntp_snippets:test_support", - "//components/os_crypt:test_support", - "//components/safe_browsing_db", - "//components/safe_json:test_support", - "//components/strings", - "//components/webdata_services:test_support", - "//content/app/resources", - "//device/base:mocks", - "//device/bluetooth:mocks", - "//device/usb:test_support", - "//gpu:test_support", - "//media:test_support", - "//third_party/leveldatabase", - "//third_party/libaddressinput", - "//third_party/libjingle", - "//third_party/libphonenumber", - "//third_party/webrtc/modules/desktop_capture", - "//ui/gl", - "//v8", - ] - } - if (is_mac) { data_deps += [ "//chrome:chrome_framework" ] data += [ "$root_out_dir/Chromium Framework.framework/" ] @@ -3782,7 +3765,7 @@ ] } - if (!is_ios && !is_android) { + if (!is_android) { sources += [ "../browser/devtools/devtools_ui_bindings_unittest.cc", "../browser/download/download_dir_policy_handler_unittest.cc", @@ -3809,7 +3792,7 @@ sources += [ "../browser/webshare/share_service_impl_unittest.cc" ] } - if (is_ios || is_chromeos) { + if (is_chromeos) { sources -= [ "../browser/signin/chrome_signin_status_metrics_provider_delegate_unittest.cc" ] } if (enable_background) { @@ -4211,7 +4194,7 @@ "../browser/ui/input_method/input_method_engine_unittest.cc", ] } - if (!is_android && !is_ios && !is_chromeos) { + if (!is_android && !is_chromeos) { sources += [ "../browser/net/disk_cache_dir_policy_handler_unittest.cc", "//chrome/browser/profiles/profile_list_desktop_unittest.cc", @@ -4713,7 +4696,7 @@ # other things like the ui and startup tests. *shrug* ldflags = [ "-Wl,-ObjC" ] } - if (!is_mac && !is_ios) { + if (!is_mac) { deps += [ "//chrome:packed_resources", "//chrome/tools/convert_dict:lib", @@ -4783,7 +4766,7 @@ sources -= [ "../browser/google/google_update_win_unittest.cc" ] } } - if (is_android || is_ios) { + if (is_android) { sources -= [ "../browser/ui/bookmarks/bookmark_ui_utils_desktop_unittest.cc", "../browser/ui/sync/sync_promo_ui_unittest.cc", @@ -4894,7 +4877,7 @@ "../browser/supervised_user/supervised_user_whitelist_service_unittest.cc", ] } - if (enable_supervised_users && !is_android && !is_ios) { + if (enable_supervised_users && !is_android) { # TODO(bauerb): This code should be removed (on desktop) once child account # support has launched (https://crbug.com/505443). sources += [ @@ -5022,7 +5005,7 @@ } } -if (!is_android && !is_ios && !is_chromecast) { +if (!is_android && !is_chromecast) { test("performance_browser_tests") { sources = [ "../app/chrome_version.rc.version",
diff --git a/chrome/test/mini_installer/OWNERS b/chrome/test/mini_installer/OWNERS index 7fb73525..7f0beeb 100644 --- a/chrome/test/mini_installer/OWNERS +++ b/chrome/test/mini_installer/OWNERS
@@ -1,3 +1,5 @@ gab@chromium.org grt@chromium.org robertshield@chromium.org + +# COMPONENT: Internals>Installer
diff --git a/chrome/tools/build/win/OWNERS b/chrome/tools/build/win/OWNERS index 82b24add..33b94ba 100644 --- a/chrome/tools/build/win/OWNERS +++ b/chrome/tools/build/win/OWNERS
@@ -6,3 +6,5 @@ # FILES.cfg OWNERS as in parent owner file. per-file FILES.cfg=kerz@chromium.org per-file FILES.cfg=mmoss@chromium.org + +# COMPONENT: Build
diff --git a/chrome_elf/OWNERS b/chrome_elf/OWNERS index b90211b..acc2539 100644 --- a/chrome_elf/OWNERS +++ b/chrome_elf/OWNERS
@@ -2,3 +2,5 @@ robertshield@chromium.org # For early browser process security and nt_registry: pennymac@chromium.org + +# COMPONENT: Internals>Core
diff --git a/chrome_elf/blacklist/OWNERS b/chrome_elf/blacklist/OWNERS index 28a6a30..23a4824 100644 --- a/chrome_elf/blacklist/OWNERS +++ b/chrome_elf/blacklist/OWNERS
@@ -1,3 +1,5 @@ caitkp@chromium.org csharp@chromium.org robertshield@chromium.org + +# COMPONENT: Internals>Core
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc index 25bd433d5..25210a4 100644 --- a/chromecast/browser/cast_browser_main_parts.cc +++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -236,7 +236,7 @@ { switches::kIgnoreGpuBlacklist, ""}, #elif defined(ARCH_CPU_ARM_FAMILY) #if !BUILDFLAG(IS_CAST_AUDIO_ONLY) - { switches::kEnableHardwareOverlays, "" }, + {switches::kEnableHardwareOverlays, "cast"}, #endif #endif #endif // defined(OS_LINUX)
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc index d8af06c..613119e 100644 --- a/chromeos/network/network_state_handler.cc +++ b/chromeos/network/network_state_handler.cc
@@ -381,7 +381,7 @@ } std::unique_ptr<NetworkState> tether_managed_state = - base::MakeUnique<NetworkState>(base::GenerateGUID()); + base::MakeUnique<NetworkState>(guid); tether_managed_state->set_name(name); tether_managed_state->set_type(kTypeTether);
diff --git a/chromeos/network/network_state_handler_unittest.cc b/chromeos/network/network_state_handler_unittest.cc index 056f58e..eddb0e9 100644 --- a/chromeos/network/network_state_handler_unittest.cc +++ b/chromeos/network/network_state_handler_unittest.cc
@@ -597,6 +597,7 @@ network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); ASSERT_TRUE(tether_network); EXPECT_EQ(kTetherName1, tether_network->name()); + EXPECT_EQ(kTetherGuid1, tether_network->path()); network_state_handler_->RemoveTetherNetworkState(kTetherGuid1);
diff --git a/components/display_compositor/compositor_overlay_candidate_validator_ozone.cc b/components/display_compositor/compositor_overlay_candidate_validator_ozone.cc index e26e237..b9f0857 100644 --- a/components/display_compositor/compositor_overlay_candidate_validator_ozone.cc +++ b/components/display_compositor/compositor_overlay_candidate_validator_ozone.cc
@@ -14,6 +14,7 @@ #include "cc/output/overlay_strategy_fullscreen.h" #include "cc/output/overlay_strategy_single_on_top.h" #include "cc/output/overlay_strategy_underlay.h" +#include "cc/output/overlay_strategy_underlay_cast.h" #include "ui/ozone/public/overlay_candidates_ozone.h" namespace display_compositor { @@ -67,6 +68,9 @@ } else if (strategy_name == "underlay") { strategies_instantiators_.push_back( base::Bind(MakeOverlayStrategy<cc::OverlayStrategyUnderlay>)); + } else if (strategy_name == "cast") { + strategies_instantiators_.push_back( + base::Bind(MakeOverlayStrategy<cc::OverlayStrategyUnderlayCast>)); } else { LOG(WARNING) << "Unrecognized overlay strategy " << strategy_name; }
diff --git a/components/offline_pages/core/downloads/download_ui_adapter.cc b/components/offline_pages/core/downloads/download_ui_adapter.cc index d73ed686a..cf92370c 100644 --- a/components/offline_pages/core/downloads/download_ui_adapter.cc +++ b/components/offline_pages/core/downloads/download_ui_adapter.cc
@@ -16,8 +16,29 @@ #include "components/offline_pages/core/downloads/download_ui_item.h" #include "components/offline_pages/core/offline_page_model.h" +namespace { +// Value of this constant doesn't matter, only its address is used. +const char kDownloadUIAdapterKey[] = ""; +} + namespace offline_pages { +// static +DownloadUIAdapter* DownloadUIAdapter::FromOfflinePageModel( + OfflinePageModel* model) { + DCHECK(model); + return static_cast<DownloadUIAdapter*>( + model->GetUserData(kDownloadUIAdapterKey)); +} + +// static +void DownloadUIAdapter::AttachToOfflinePageModel(DownloadUIAdapter* adapter, + OfflinePageModel* model) { + DCHECK(adapter); + DCHECK(model); + model->SetUserData(kDownloadUIAdapterKey, adapter); +} + DownloadUIAdapter::ItemInfo::ItemInfo(const OfflinePageItem& page) : ui_item(base::MakeUnique<DownloadUIItem>(page)), is_request(false),
diff --git a/components/offline_pages/core/downloads/download_ui_adapter.h b/components/offline_pages/core/downloads/download_ui_adapter.h index f0ecbd6a..8bfb0a3 100644 --- a/components/offline_pages/core/downloads/download_ui_adapter.h +++ b/components/offline_pages/core/downloads/download_ui_adapter.h
@@ -78,6 +78,10 @@ std::unique_ptr<Delegate> delegate); ~DownloadUIAdapter() override; + static DownloadUIAdapter* FromOfflinePageModel(OfflinePageModel* model); + static void AttachToOfflinePageModel(DownloadUIAdapter* adapter, + OfflinePageModel* model); + // This adapter is potentially shared by UI elements, each of which adds // itself as an observer. // When the last observer is removed, cached list of items is destroyed and
diff --git a/components/policy/resources/policy_templates_am.xtb b/components/policy/resources/policy_templates_am.xtb index d3745b6..e4e5950 100644 --- a/components/policy/resources/policy_templates_am.xtb +++ b/components/policy/resources/policy_templates_am.xtb
@@ -26,7 +26,7 @@ ወደ እውነት ከተዋቀረ ወይም እንዳልተዋቀረ ከተተወ ስታትስቲክሱ ሪፓርት ይደረጋል።</translation> <translation id="1046484220783400299">የተቋረጡ የድር መሣሪያ ስርዓት ባህሪያት ለተወሰነ ጊዜ ያንቁ</translation> <translation id="1047128214168693844">ማንኛውም ጣቢያ የተጠቃሚዎች አካላዊ አካባቢ እንዲከታተል አይፍቀዱ</translation> -<translation id="1049138910114524876">በ<ph name="PRODUCT_OS_NAME" /> መግቢያ ገጽ ላይ ተፈጻሚ የሚሆነውን አከባቢያዊ ቋንቋን ያዋቅራል። +<translation id="1049138910114524876">በ<ph name="PRODUCT_OS_NAME" /> መግቢያ ገጽ ላይ ተፈጻሚ የሚሆነውን አካባቢያዊ ቋንቋን ያዋቅራል። ይህ መመሪያ ከተዋቀረ የመግቢያ ገጹ ሁልጊዜ በዚህ መመሪያ (መመሪያው እንደ ወደፊት ማስተላለፍ ተኳሃኝ ሆኖ የተገለጸ ነው) ላይ በተጠቀሰው የመጀመሪያው እሴት በሚሰጠው ቋንቋ ነው የሚታየው። ይህ መመሪያ ካልተዋቀረ ወይም ወደ ባዶ ዝርዝር ከተዋቀረ የመግቢያ ገጹ በመጨረሻው የተጠቃሚ ክፍለ-ጊዜ ላይ በነበረው ቋንቋ ነው የሚታየው። ይህ እሴት የሚሠራ ወዳልሆነ ቋንቋ ከሆነ የተዋቀረው የመግቢያ ገጹ በነባሪ ቋንቋ (አሁን en-US ነው) ነው የሚታየው።</translation> <translation id="1062011392452772310">ለመሣሪያው በርቀት ማስረገጥን ያንቁ</translation> @@ -1300,6 +1300,10 @@ የምሳሌ ስርዓተ ጥለቶችን ለማግኘት https://www.chromium.org/developers/how-tos/chrome-frame-getting-started ይመልከቱ።</translation> <translation id="467449052039111439">የዩ አር ኤልዎች ዝርዝር ይክፈቱ</translation> <translation id="4680961954980851756">ራስ-ሙላን ያንቁ</translation> +<translation id="4722399051042571387">ሐሰት ከሆነ ተጠቃሚዎች ደካማ እና ለመገመት ቀላል የሆኑ ፒኖችን ማቀናበር አይችሉም። + + አንድ የደካማ ፒን ምሳሌ፦ አንድ አኃዝ ብቻ ያላቸው (1111) ፒኖች፣ አኃዞቻቸው በ1 እየጨመሩ የሚሄዱ ፒኖች (1234)፣ አኃዞቻቸው በ1 እየቀነሱ የሚሄዱ ፒኖች (4321)፣ እና በተለምዶ ስራ ላይ የሚውሉ ፒኖች። + ፒኑ ደካማ እንደሆነ ከተወሰደ በነባሪነት ተጠቃሚዎች ስህተት ሳይሆን ማስጠንቀቂያ ያገኛሉ።</translation> <translation id="4723829699367336876">በኬላ ውስጥ ማለፍን ከሩቅ መዳረሻ ደንበኛ አንቃ</translation> <translation id="4725528134735324213">የAndroid ምትኬ አገልግሎትን አንቃ</translation> <translation id="4733471537137819387">ከተዋሃዱ የኤች ቲ ቲ ፒ ማረጋገጫ ጋር የሚገናኙ መምሪያዎች።</translation> @@ -1518,12 +1522,6 @@ የዚህ መመሪያ ዋጋ ሲዋቀርና 0 ካልሆነ አሁን የገባው የማሳያ ተጠቃሚ የተገለጸው የእንቅስቃሴ-አልባነት ጊዜ ካለፈ በኋላ በራስ-ሰር ዘግቶ ይወጣል። የመመሪያ እሴቱ በሚሊሰከንዶች ነው መገለጽ ያለበት።</translation> -<translation id="5506213378070007377">ስለAndroid ሁኔታ መረጃ ወደ አገልጋዩ ተመልሶ ይላካል። - - መመሪያው ወደ ሐሰት ከተዋቀረ ምንም የሁኔታ መረጃው ሪፖርት አይደረግም። ወደ - እውነት ከተዋቀረ ወይም እንዳልተዋቀረ ከተተወ የሁኔታ መረጃው ሪፖርት ይደረጋል። - - ይህ መመሪያ ተፈጻሚ የሚሆነው የAndroid መተግበሪያዎች ከነቁ ብቻ ነው።</translation> <translation id="5511702823008968136">የዕልባት አሞሌን አንቃ</translation> <translation id="5512418063782665071">የመነሻ ገጽ ዩአርኤል</translation> <translation id="5523812257194833591">ከአንድ መዘግየት በኋላ በራስ-የሚገባበት ይፋዊ ክፍለ-ጊዜ። @@ -1854,6 +1852,13 @@ እርስዎ የተኪ አገልጋዩን በራስ-ሰር ፈልጎ ማግኘትን ከመረጡ የስክሪፕት ዩአርኤል «http://wpad/wpad.dat» ለAndroid መተግበሪያዎች ይሰጣል። ምንም ዓይነት ሌላ የተኪ ራስ-ሰር ፈልጎ ማግኛ ፕሮቶኮል ጥቅም ላይ አይውልም። እርስዎ የ .pac ተኪ ስክሪፕትን ለመጠቀም ከመረጡ የስክሪፕቱ ዩአርኤል ለAndroid መተግበሪያዎች ይሰጣል።</translation> +<translation id="6435127182262044446">ይህ ቅንብር ከፍተኛውን የፒን ርዝመት ይቆጣጠራል። + + ይህ ቅንብር 0 ወይም ከዚያ ያነሰ ከሆነ ምንም ከፍተኛ ገደብ የለም፤ ተጠቃሚው ፒኑን በፈለገው ያህል ርዝመት ማቀናበር ይችላል። + + ይህ ቅንብር ከPinUnlockMinimumLength ያነሰ ግን ከ0 የበለጠ ከሆነ ከፍተኛው ርዝመት ከዝቅተኛው ርዝመት ጋር ተመሳሳይ ነው። + + የዚህ ቅንብር ነባሪ ምንም ከፍተኛ ርዝመት የሌለው ነው።</translation> <translation id="6467433935902485842">ተሰኪዎችን እንዲያሄዱ ያልተፈቀደላቸው ጣቢያዎችን የሚገልጹ የዩ አር ኤል ቅጦችን እንዲያዋቅሩ ያስችልዎታል። ይህ መመሪያ እንዳልተዋቀረ ከተተወ ለሁሉም ጣቢያዎች ተዋቅሮ ከሆነ ከ«DefaultPluginsSetting» መመሪያ፣ አለበለዚያ ደግሞ የተጠቃሚው የግል ውቅር የመጣ ሁለንተናዊው የነባሪ እሴት ስራ ላይ ይውላል።</translation> @@ -2792,6 +2797,13 @@ በመመሪያው የተመዘገቡ የፕሮቶኮል አስከዋኞች በተጠቃሚው ከተመዘገቡት ጋር የተዋሃዱ ናቸው፣ እና ሁለቱም ለመጠቀም ይገኛሉ። ተጠቃሚው አዲስ ነባሪ አስከዋኝ በመጫን በመመሪያው የተጫኑት የፕሮቶኮል አስከዋኞችን መሻር ይችላል፣ ነገር ግን በመመሪያ የተመዘገበ የፕሮቶኮል አስከዋኝ ማስወገድ አይችልም።</translation> <translation id="913195841488580904">አንድ የዩ አር ኤልዎች ዝርዝር መዳረሻን ያግዱ</translation> <translation id="9135033364005346124">የ<ph name="CLOUD_PRINT_NAME" /> ተኪን ያንቁ</translation> +<translation id="9136253551939494882">ተጠቃሚው የትኛውን የፈጣን መክፈት ሁነታዎችን ማዋቀር እና የማያ ገጽ ቁልፉን ለመክፈት መጠቀም እንደሚችል የሚቆጣጠር የተፈቀደላቸው ዝርዝር። + + ይህ እሴት የሕብረቁምፊዎች እሴት ነው፤ የሚሰሩ የዝርዝር ግቤቶች እነዚህ ናቸው፦ "all"፣ "PIN"። በዝርዝሩ ላይ «ሁሉም» ማከል ማለት ለወደፊቱ የሚተገበሩትንም ጨምሮ እያንዳንዱ የፈጣን መክፈት ሁነታ ለተጠቃሚው የሚገኝ ነው ማለት ነው። አለበለዚያ በዝርዝሩ ውስጥ ያሉት የፈጣን መክፈት ሁነታዎች ብቻ ናቸው የሚገኙት። + + ለምሳሌ፣ እያንዳንዱ የፈጣን መክፈት ሁነታን ለመፍቀድ ["all"]ን ይጠቀሙ። በፒን መክፈት ብቻ ለመፍቀድ ["PIN"]ን ይጠቀሙ። ሁሉንም የፈጣን መክፈት ሁነታዎችን ለማሰናከል []ን ይጠቀሙ። + + በነባሪነት ምንም የፈጣን መክፈት ሁነታዎች ለሚተዳደሩ መሣሪያዎች የሚገኙ አይደሉም።</translation> <translation id="9147029539363974059">አስተዳዳሪዎች የስርዓት ምዝግብ ማስታወሻዎችን እንዲከታተሉ የስርዓት ምዝግብ ማስታወሻዎችን ለአስተዳደር አገልጋይ ይላኩ። @@ -2807,6 +2819,11 @@ ይህ መመሪያ እንዳልተዋቀረ ከተተወ ይሄ ይነቃል እና ተጠቃሚው ስውር ሁነታን ሊጠቀም ይችላል።</translation> <translation id="915194831143859291">ይህ መመሪያ ወደ ሐሰት ከተዋቀረ ወይም እንዳልተዋቀረ ከተተወ <ph name="PRODUCT_OS_NAME" /> ተጠቃሚው መሣሪያውን እንዲዘጋ ያስችለዋል። ይህ መመሪያ ወደ እውነት ከተዋቀረ ተጠቃሚ መሣሪያውን ሲያጠፋው <ph name="PRODUCT_OS_NAME" /> ዳግም ማስነሳት ይቀሰቅሳል። <ph name="PRODUCT_OS_NAME" /> ሁሉንም በበይነገጹ ውስጥ ያሉ የመዝጊያ አዝራሮች ክስተቶችን በዳግም ማስነሻ አዝራሮች ይተካቸዋል። ተጠቃሚው የኃይል አዝራሩን በመጠቀም መሣሪያውን ካጠፋው በራስ-ሰር ዳግም አይነሳም፣ መመሪያው ቢነቃም እንኳ።</translation> +<translation id="917887642534332939">ይህ ቅንብር ዝቅተኛውን የፒን ርዝመት ይቆጣጠራል። + + ፍጹማዊ ዝቅተኛውን የፒን ርዝመት 1 ነው፤ ከ1 ያነሱ እሴቶች እንደ 1 ነው የሚቆጠሩት። + + ነባሪው እና የሚመከረው የፒን ርዝመት 6 አኃዞች ነው።</translation> <translation id="9187743794267626640">የውጫዊ ማከማቻ ማፈናጠጥን ያሰናክላል</translation> <translation id="9197740283131855199">ከመደብዘዝ በኋላ ተጠቃሚው ንቁ ቢሆን የማያ ገጹ መደብዘዝ መዘግየት የሚመጠንበት መቶኛ</translation> <translation id="9200828125069750521">POSTን ለሚጠቀም የምስል ዩአርኤል ግቤቶች</translation>
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb index 286a2f3..a0dff00 100644 --- a/components/policy/resources/policy_templates_ar.xtb +++ b/components/policy/resources/policy_templates_ar.xtb
@@ -1210,6 +1210,11 @@ <translation id="4674167212832291997">تخصيص قائمة أنماط عناوين URL التي يجب عرضها دائمًا بواسطة <ph name="PRODUCT_FRAME_NAME" />. إذا لم يتم تعيين هذه السياسة، فسيتم استخدام العارض الافتراضي لجميع المواقع كما هو محدد بواسطة السياسة 'ChromeFrameRendererSettings'. للحصول على نماذج للأنماط، راجع https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">فتح قائمة عناوين URL</translation> <translation id="4680961954980851756">تمكين الملء التلقائي</translation> +<translation id="4722399051042571387">إذا تم التعيين إلى "false"، فلن يتمكن المستخدمون من تعيين أرقام التعريف الشخصية الضعيفة والتي يمكن تخمينها بسهولة. + + بعض الأمثلة على أرقام التعريف الشخصية الضعيفة: أرقام التعريف الشخصية التي تحتوي على رقم واحد فقط، مثل (1111)، وأرقام التعريف الشخصية التي تتزايد أرقامها بمعدل 1، مثل (1234)، وأرقام تعريف الشخصية التي تتناقص أرقامها بمعدل 1، مثل (4321)، وأرقام التعريف الشخصية شائعة الاستخدام. + + وبشكل افتراضي، سيتلقّى المستخدمون رسالة تحذير، وليس رسالة خطأ، إذا تم اعتبار أرقام التعريف الشخصية ضعيفةً.</translation> <translation id="4723829699367336876">تمكين اجتياز الجدار الناري من عميل يتمتع بإمكانية الوصول عن بعد</translation> <translation id="4725528134735324213">تمكين Android Backup Service</translation> <translation id="4733471537137819387">النُهج ذات الصلة بمصادقة HTTP المتكاملة.</translation> @@ -1389,13 +1394,6 @@ عندما يتم تعيين قيمة هذه السياسة ولا تكون "0"، فإن المستخدم التجريبي المسجل الدخول حاليًا سيتم تسجيل خروجه تلقائيًا بعد مدة عدم النشاط بعد انقضاء المدة المحددة. يجب تحديد قيمة السياسة بالمللي ثانية.</translation> -<translation id="5506213378070007377">يتم إرسال معلومات حول حالة جهاز Android إلى - الخادم مرة أخرى. - - إذا تم تعيين السياسة على "false"، فلن يتم الإبلاغ عن معلومات الحالة. - إذا تم تعيين السياسة على "true" أو تم تركها بدون تعيين، فسيتم الإبلاغ عن معلومات الحالة. - - لا تنطبق هذه السياسة إلا في حالة تمكين تطبيقات Android.</translation> <translation id="5511702823008968136">تمكين شريط الإشارات</translation> <translation id="5512418063782665071">عنوان URL للصفحة الرئيسية</translation> <translation id="5523812257194833591">جلسة عامة يتم تسجيل الدخول إليها تلقائيًا بعد مهلة. @@ -1721,6 +1719,13 @@ إذا اخترت الكشف التلقائي عن الخادم الوكيل، فسيتم تقديم عنوان URL للنص البرمجي "http://wpad/wpad.dat" لتطبيقات Android. ولن يتم استخدام أي جزء آخر من بروتوكول الكشف التلقائي للخادم الوكيل. إذا اخترت استخدام النص البرمجي للخادم الوكيل .pac، فسيتم تقديم عنوان URL للنص البرمجي لتطبيقات Android.</translation> +<translation id="6435127182262044446">يتحكم هذا الإعداد في الحد الأقصى لطول رقم التعريف الشخصي. + + إذا تم تعيين الإعداد إلى "0" أو أقل، فلن يكون هناك حد أقصى للطول، ويمكن للمستخدم تعيين رقم تعريف شخصي بالطول الذي يريده. + + إذا كان هذا الإعداد أقل من "PinUnlockMinimumLength" ولكن أكبر من "0"، فسيكون الحد الأقصى للطول مثل حده الأدنى. + + يتم تعيين هذا الإعداد افتراضيًا بدون تحديد حد أقصى للطول.</translation> <translation id="6467433935902485842">للسماح لك بتعيين قائمة أنماط عناوين URL التي تحدد المواقع التي لا يُسمح لها بتشغيل المكونات الإضافية. إذا تم ترك هذه السياسة بدون تعيين، فسيتم استخدام القيمة الافتراضية العامة لجميع المواقع إما من السياسة 'DefaultPluginsSetting' إذا تم تعيينها أو من التهيئة الشخصية للمستخدم.</translation> <translation id="6473334971332473690">تسمح باستخدام ميزة Smart Lock على أجهزة <ph name="PRODUCT_OS_NAME" />. @@ -2621,6 +2626,13 @@ يتم دمج معالجات البروتوكولات المسجلة من قبل السياسة مع المعالجات المسجلة من قبل المستخدم، وكلاهما متاح للاستخدام. يمكن للمستخدم استبعاد معالجات البروتوكولات المثبتة من قبل السياسة عن طريق تثبيت معالج افتراضي جديد، ولكن لا يمكنه إزالة معالج بروتوكول مسجل من قبل السياسة.</translation> <translation id="913195841488580904">حظر الدخول إلى قائمة عناوين URL</translation> <translation id="9135033364005346124">تمكين الخادم الوكيل لـ <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">قائمة بيضاء تتحكم في أوضاع إلغاء القفل السريع التي يمكن للمستخدم تهيئتها واستخدامها لإلغاء قفل شاشة التأمين. + + وتكون القيمة عبارة عن قائمة من السلاسل، والمدخلات الصالحة في القائمة هي: "all" و"PIN". تعني إضافة "all" إلى القائمة أن جميع أوضاع إلغاء القفل السريع ستكون متاحة للمستخدم، بما في ذلك الأوضاع التي سيتم تنفيذها في المستقبل. وبخلاف ذلك، لن تتوفر سوى أوضاع إلغاء القفل السريع المعروضة في القائمة. + + على سبيل المثال، للسماح بجميع أوضاع إلغاء القفل السريع، استخدم ["all"]. للسماح بإلغاء قفل رقم التعريف الشخصي فقط، استخدم ["PIN"]. ولتعطيل جميع أوضاع إلغاء القفل السريع، استخدم []. + + افتراضيًا، لا تُتاح أوضاع إلغاء القفل السريع للأجهزة المُدارة.</translation> <translation id="9147029539363974059">إرسال سجلات النظام إلى خادم الإدارة للسماح للمشرفين بمراقبة سجلات النظام. @@ -2629,6 +2641,11 @@ <translation id="9150416707757015439">تم تجاهل هذه السياسة. الرجاء استخدام IncognitoModeAvailability بدلاً من ذلك. لتمكين وضع التصفح المتخفي في <ph name="PRODUCT_NAME" />. إذا تم تمكين هذا الإعداد أو لم تتم تهيئته، يمكن للمستخدمين فتح صفحات الويب في وضع التصفح المتخفي. إذا تم تعطيل هذا الإعداد، فلا يمكن للمستخدمين فتح صفحات الويب في وضع التصفح المتخفي. إذا تم ترك هذه السياسة بدون تعيين، فسيتم تمكينها وسيتمكن المستخدمون من استخدام وضع التصفح المتخفي.</translation> <translation id="915194831143859291">في حالة تعيين هذه السياسة إلى false أو عدم تهيئتها، سيسمح <ph name="PRODUCT_OS_NAME" /> للمستخدم بإيقاف تشغيل الجهاز. وفي حالة تعيينها إلى true، سيبدأ <ph name="PRODUCT_OS_NAME" /> إعادة التشغيل عندما يعمل المستخدم على إيقاف تشغيل الجهاز. يستبدل <ph name="PRODUCT_OS_NAME" /> كل مواضع ورود أزرار إيقاف التشغيل في واجهة المستخدم بأزرار إعادة التشغيل. وإذا أوقف المستخدم تشغيل الجهاز باستخدام زر التشغيل، فلن تتم إعادة تشغيله تلقائيًا، حتى إذا تم تمكين السياسة.</translation> +<translation id="917887642534332939">يتحكم هذا الإعداد في الحد الأدنى لطول رقم التعريف الشخصي. + + الحد الأدنى المطلق لطول رقم التعريف الشخصي هو 1، ويتم التعامل مع القيم الأقل من 1 على أنها 1. + + الحد الأدنى الافتراضي والموصى به لطول رقم التعريف الشخصي هو 6 أرقام.</translation> <translation id="9187743794267626640">تعطيل تركيب وحدة تخزين خارجية</translation> <translation id="9197740283131855199">النسبة المئوية التي يتمّ من خلالها تحديد مهلة إعتام الشاشة، عند نشاط المستخدم بعد إعتام الشاشة</translation> <translation id="9200828125069750521">معلمات عنوان URL للصورة الذي يستخدم المشاركة</translation>
diff --git a/components/policy/resources/policy_templates_bg.xtb b/components/policy/resources/policy_templates_bg.xtb index 8e7ea5a..3eb00125 100644 --- a/components/policy/resources/policy_templates_bg.xtb +++ b/components/policy/resources/policy_templates_bg.xtb
@@ -1234,6 +1234,11 @@ За примерни образци вижте https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Отваряне на списък с URL адреси</translation> <translation id="4680961954980851756">Активиране на автоматичното попълване</translation> +<translation id="4722399051042571387">При false потребителите няма да могат да задават ПИН кодове, които са ненадеждни и лесни за отгатване. + +Ненадеждни например са ПИН кодовете, съставени от една повтаряща се цифра (1111), тези, в които числата се увеличават с 1 (1234) или намаляват с 1 (4321), както и често използваните. + +По подразбиране потребителите ще виждат предупреждение, а не съобщение за грешка, ако ПИН кодът е считан за ненадежден.</translation> <translation id="4723829699367336876">Активиране на преминаването през защитни стени от клиентската програма за отдалечен достъп</translation> <translation id="4725528134735324213">Активиране на Android Backup Service</translation> <translation id="4733471537137819387">Правила, свързани с интегрираното HTTP удостоверяване.</translation> @@ -1421,13 +1426,6 @@ Когато стойността на правилото е зададена и не е 0, влезлият понастоящем демонстрационен потребител ще излезе автоматично, след като изтече посоченият период от време на неактивност. Стойността на правилото трябва да се посочи в милисекунди.</translation> -<translation id="5506213378070007377">Информацията за състоянието на приложенията за Android се изпраща обратно до -сървъра. - -Данните няма да се изпращат, ако за правилото е зададено false, -и ще се изпращат, в случай че то е true или не е конфигурирано. - -Това правило е в сила само ако има активирани приложения за Android.</translation> <translation id="5511702823008968136">Активиране на лентата на отметките</translation> <translation id="5512418063782665071">URL адрес на началната страница</translation> <translation id="5523812257194833591">Обществена сесия, в която да се влезе автоматично след забавяне. @@ -1763,6 +1761,13 @@ При задаване на опцията за автоматично откриване на настройките за прокси сървър URL адресът „http://wpad/wpad.dat“ на скрипта се предоставя на приложенията за Android. Не се използват други части от протокола за автоматично откриване на прокси сървъра. Ако изберете да се използва .pac скрипт за прокси сървър, URL адресът на скрипта се предоставя на приложенията за Android.</translation> +<translation id="6435127182262044446">Тази настройка контролира максималната дължина на ПИН кодовете. + +Ако зададете 0 или по-ниска стойност, потребителите ще могат да създават ПИН кодове без ограничение за максималната дължина. + +В случай че зададената стойност е по-малка от тази за PinUnlockMinimumLength, но по-голяма от 0, максималната дължина ще е същата като минималната. + +По подразбиране няма ограничение за максималната дължина.</translation> <translation id="6467433935902485842">Позволява да зададете списък с образци за URL адреси, посочващи сайтове, на които не е разрешено да изпълняват приставки. Ако това правило е оставено незададено, за всички сайтове ще се използва глобалната стандартна стойност от правилото „DefaultPluginsSetting“, ако е зададено, или в противен случай – личната конфигурация на потребителя.</translation> <translation id="6473334971332473690">Разрешава използването на Smart Lock на устройства с <ph name="PRODUCT_OS_NAME" />. @@ -2675,6 +2680,13 @@ Регистрираните чрез правилото манипулатори на протоколи се обединяват с регистрираните от потребителя, като и едните, и другите са налице за използване. Потребителят може да заменя инсталираните чрез правилото манипулатори, като добави нов манипулатор по подразбиране, но не и да ги премахва.</translation> <translation id="913195841488580904">Блокиране на достъпа до списък с URL адреси</translation> <translation id="9135033364005346124">Активиране на прокси сървър за <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Бял списък, контролиращ кои режими за бързо отключване на заключения екран може да конфигурира и използва потребителят. + +Тази стойност представлява списък с низове, който може да съдържа следните записи: ''all'', ''PIN". Добавянето на "all" към списъка означава, че потребителят може да използва всички режими за бързо отключване, включително тези, които ще бъдат внедрени в бъдеще. В противен случай ще са налице само посочените режими. + +Например, за да разрешите всички режими за бързо отключване, използвайте ["all"]. За да дадете възможност за отключване само с ПИН код, въведете ["PIN"]. За да деактивирате всички режими, използвайте []. + +По подразбиране режимите за бързо отключване не са налице за управлявани устройства.</translation> <translation id="9147029539363974059">Изпращане на системните регистрационни файлове до сървъра за управление, за да могат да ги преглеждат администраторите. @@ -2690,6 +2702,11 @@ Ако правилото е оставено незададено, настройката ще бъде активирана и потребителят ще може да използва режим „инкогнито“.</translation> <translation id="915194831143859291">Ако за това правило е зададено false или то не е конфигурирано, потребителите ще могат да изключват устройството с <ph name="PRODUCT_OS_NAME" />. При true <ph name="PRODUCT_OS_NAME" /> ще се рестартира, когато потребител изключи устройството. Всички бутони за изключване в потребителския интерфейс на <ph name="PRODUCT_OS_NAME" /> ще бъдат заменени с такива за рестартиране. Ако устройството бъде изключено чрез бутона за захранване, то няма да се рестартира автоматично дори правилото да е активирано.</translation> +<translation id="917887642534332939">Тази настройка контролира минималната дължина на ПИН кодовете. + +Най-малката допустима дължина е 1. Стойностите, по-ниски от нея, се третират като 1. + +Стандартната и препоръчителна минимална дължина на ПИН кодовете е 6 цифри.</translation> <translation id="9187743794267626640">Деактивиране на свързването на външно хранилище</translation> <translation id="9197740283131855199">Процент на промяна на забавянето на затъмняването на екрана, ако потребителят стане активен след затъмняване</translation> <translation id="9200828125069750521">Параметри за URL адрес за изображения, за който се използва POST</translation>
diff --git a/components/policy/resources/policy_templates_bn.xtb b/components/policy/resources/policy_templates_bn.xtb index 6bcb7bb..db2f91e8 100644 --- a/components/policy/resources/policy_templates_bn.xtb +++ b/components/policy/resources/policy_templates_bn.xtb
@@ -526,7 +526,7 @@ যদি এই সেটিংটি অক্ষম করা হয়, ব্যবহারকারীরা <ph name="PRODUCT_NAME" /> থেকে প্রিন্ট করতে পারে না৷ রেঞ্চ মেনু, এক্সটেনশনগুলি, JavaScript অ্যাপ্লিকেশনগুলি, ইত্যাদিতে প্রিন্ট অক্ষমিত৷ তা সত্ত্বেও প্লাগইন থেকে প্রিন্ট করা সম্ভব যা প্রিন্টের সময় <ph name="PRODUCT_NAME" /> তে বাইপাস করে৷ উদাহরণস্বরূপ, বিশেষ Flash অ্যাপ্লিকেশনগুলির কনটেক্সট মেনুতে প্রিন্ট বিকল্প থাকে, যা এই নীতির মধ্যে পরে না৷</translation> <translation id="2518231489509538392">অডিও প্লে করা মঞ্জুর করুন</translation> <translation id="2521581787935130926">বুকমার্ক দণ্ডে অ্যাপ্লিকেশান শর্টকাট প্রদর্শন করুন</translation> -<translation id="2529700525201305165"><ph name="PRODUCT_NAME" /> এ প্রবেশ করুন করার জন্য যেসব ব্যবহারকারীরা মঞ্জুরিপ্রাপ্ত তাদের সীমাবদ্ধ করুন৷</translation> +<translation id="2529700525201305165"><ph name="PRODUCT_NAME" /> এ প্রবেশ করার জন্য যেসব ব্যবহারকারীরা মঞ্জুরিপ্রাপ্ত তাদের সীমাবদ্ধ করুন৷</translation> <translation id="2529880111512635313">বলপূর্বক ইনস্টল করা অ্যাপ্লিকেশান ও এক্সটেনশানগুলির তালিকাটি কনফিগার করুন</translation> <translation id="253135976343875019">AC পাওয়ার চলাকালীন নিষ্ক্রিয়তা সতর্কতাতে বিলম্ব</translation> <translation id="2552966063069741410">সময় অঞ্চল</translation> @@ -1269,6 +1269,11 @@ প্যাটার্নের উদাহরণের জন্য http://www.chromium.org/developers/how-tos/chrome-frame-getting-started দেখুন৷</translation> <translation id="467449052039111439">URL-এর একটি তালিকা খুলুন</translation> <translation id="4680961954980851756">স্বতঃপূরণ সক্ষম করুন</translation> +<translation id="4722399051042571387">এটি মিথ্যায় সেট করা থাকলে, দুর্বল ও সহজে অনুমান করা যায় এমন পিন সেট করা যাবে না। + + দুর্বল পিনের কিছু উদাহরণ হলো: কেবলমাত্র একটি সংখ্যা দিয়ে গঠিত পিন (১১১১), যেসব পিনের সংখ্যা ১ করে বৃদ্ধি পায় (১২৩৪), যেসব পিনের সংখ্যা ১ করে কমে যায় (৪৩২১), এবং সচরাচর ব্যবহৃত পিনগুলি। + + পিনটি দুর্বল হিসাবে বিবেচিত হলে, ডিফল্ট ব্যবস্থা হিসাবে ব্যবহারকারীরা একটি সতর্কতা পাবে, যা ত্রুটি হবে না।</translation> <translation id="4723829699367336876">দূরবর্তী অ্যাক্সেস ক্লায়েন্ট থেকে ফায়ারওয়াল ট্র্যাভেরসাল সক্ষম করুন</translation> <translation id="4725528134735324213">Android ব্যাকআপ পরিষেবা সক্ষম করুন</translation> <translation id="4733471537137819387">একীকৃত HTTP প্রমাণীকরণের সাথে সম্পর্কিত নীতিসমূহ৷</translation> @@ -1307,11 +1312,11 @@ <translation id="4816674326202173458">এন্টারপ্রাইজ ব্যবহারকারীকে প্রাথমিক ও অপ্রধান হতে মঞ্জুর করে (অ-পরিচালিত ব্যবহারকারীদের ডিফল্ট আচরণ)</translation> <translation id="4826326557828204741">ব্যাটারি শক্তি ব্যবহার করে চালনা করার সময় নিষ্ক্রিয়তা বিলম্বের সময়সীমা পেরিয়ে গেলে যে পদক্ষেপ নেওয়া হবে</translation> <translation id="4834526953114077364">যতক্ষণ পর্যন্ত পর্যাপ্ত খলি সঞ্চয়স্থান থাকে না ততক্ষণ শেষ ৩ মাস লগ ইন করেনি এমন সম্প্রতি খুব কম ব্যবহৃত ব্যবহারকারীদের সরানো হয়</translation> -<translation id="4838572175671839397">নিয়মিত অভিব্যক্তি আছে যা কোন ব্যবহারকারী <ph name="PRODUCT_NAME" /> এ প্রবেশ করুন করতে পারে তা নির্ধারণ করে৷ +<translation id="4838572175671839397">নিয়মিত অভিব্যক্তি আছে যা কোন ব্যবহারকারী <ph name="PRODUCT_NAME" /> এ প্রবেশ করতে পারে তা নির্ধারণ করে৷ যদি কোনো ব্যবহারকারী কোনো এমন ব্যবহারাকারী নাম ব্যবহার করে লগ ইন করার চেষ্টা করে যা এই শরণের সাথে মেলে না তাহলে, একটি অযথাযথ ত্রুটি প্রদর্শিত হয়৷ - এই নীতি সেট না করা বা খালি ছাড়া হলে, যেকোনো ব্যবহারকারী <ph name="PRODUCT_NAME" /> এ প্রবেশ করুন করতে পারে৷</translation> + এই নীতি সেট না করা বা খালি ছাড়া হলে, যেকোনো ব্যবহারকারী <ph name="PRODUCT_NAME" /> এ প্রবেশ করতে পারে৷</translation> <translation id="4858735034935305895">পূর্ণস্ক্রীন মোড এর অনুমতি দিন</translation> <translation id="4869787217450099946">স্ক্রীনের উজ্জ্বলতার লকগুলি মঞ্জুরিপ্রাপ্ত কিনা তা নির্ধারণ করে৷ শক্তি ব্যবস্থাপনা এক্সটেনশান API মারফত এক্সটেনশানগুলির দ্বারা স্ক্রীনের উজ্জ্বলতার লকগুলির জন্য অনুরোধ করা যেতে পারে৷ @@ -1416,9 +1421,9 @@ <translation id="5290940294294002042">ব্যবহারকারী সক্ষম বা অক্ষম করতে পারে এমন প্লাগইনগুলির একটি তালিকা নির্দিষ্ট করে</translation> <translation id="5302612588919538756">এই নীতিটি থামিয়ে দেওয়া হয়েছে, এর পরিবর্তে ‘সিঙ্ক অক্ষম হয়েছে’ ব্যবহারের কথা ভাবুন। - ব্যবহারকারীকে <ph name="PRODUCT_NAME" /> এ প্রবেশ করুন করতে দেয়। + ব্যবহারকারীকে <ph name="PRODUCT_NAME" /> এ প্রবেশ করতে দেয়। - আপনি যদি এই নীতি সেট করেন, তাহলে ব্যবহারকারীকে <ph name="PRODUCT_NAME" /> এ প্রবেশ করুন করতে অনুমতি দেওয়া হবে কিনা আপনি তা কনফিগার করতে পারবেন। নীতিটি ‘মিথ্যায়’ সেট করা হলে chrome.identity API ব্যবহার করে এমন অ্যাপ্লিকেশান ও এক্সটেনশানকে কাজ করতে বাধা দিবে। তাই আপনি এর পরিবর্তে ‘সিঙ্ক অক্ষম হয়েছে’ ব্যবহার করতে পারেন।</translation> + আপনি যদি এই নীতি সেট করেন, তাহলে ব্যবহারকারীকে <ph name="PRODUCT_NAME" /> এ প্রবেশ করতে অনুমতি দেওয়া হবে কিনা আপনি তা কনফিগার করতে পারবেন। নীতিটি ‘মিথ্যায়’ সেট করা হলে chrome.identity API ব্যবহার করে এমন অ্যাপ্লিকেশান ও এক্সটেনশানকে কাজ করতে বাধা দিবে। তাই আপনি এর পরিবর্তে ‘সিঙ্ক অক্ষম হয়েছে’ ব্যবহার করতে পারেন।</translation> <translation id="5304269353650269372">ব্যবহারকারীর ইনপুট ছাড়াই সেই সময়ের পরিমান নির্দিষ্ট করে যার পরে ব্যাটারির শক্তি ফুরিয়ে যাওয়ার সময় হলে একটি সতর্কতা ডায়ালগ দেখানো হয়৷ এই নীতিটি সেট করা থাকলে, এটি সেই পরিমান সময়কে নির্দিষ্ট করে যতক্ষণ না <ph name="PRODUCT_OS_NAME" /> ব্যবহারকারীকে নিষ্ক্রিয় থাকার পরিপ্রেক্ষিতে ব্যবস্থা নেওয়া হতে চলেছে বলে এমন একটি সতর্কতা ডায়ালগ প্রদর্শন করা হচ্ছে ততক্ষণ ব্যবহারকারীকে অবশ্যই নিষ্ক্রিয় থাকতে হবে৷ @@ -1483,13 +1488,6 @@ যখন এই নীতির মান সেট থাকে ও ০ হয় না তখন নির্দিষ্ট করা স্থিতিকালের নিষ্ক্রিয়তা সময় অতিবাহিত হত্তয়ার পরে বর্তমানে লগ ইন করা ডেমো ব্যবহারকারী স্বয়ংক্রিয়ভাবে লগ আউট হবে৷ নীতি মান মিলিসেকেন্ডে নির্দিষ্ট করা উচিত৷</translation> -<translation id="5506213378070007377">Android এর স্থিতি সম্পর্কে তথ্যের প্রতিবেদন সার্ভারে - ফেরত পাঠানো হয়। - - নীতিটি মিথ্যা হিসেবে সেট করা থাকলে, স্থিতির কোনো তথ্য প্রতিবেদন করা হয় না। - সত্য হিসেবে সেট করা থাকলে বা সেট না করা থাকলে, স্থিতির তথ্য প্রতিবেদন করা হয়। - - Android অ্যাপ্লিকেশানগুলি সক্ষমিত থাকলেই কেবল নীতিটি প্রযোজ্য হয়।</translation> <translation id="5511702823008968136">বুকমার্ক দণ্ড সক্ষম করুন</translation> <translation id="5512418063782665071">হোম পেজের URL</translation> <translation id="5523812257194833591">একটি বিলম্বের পর স্বয়ংক্রিয়ভাবে লগইন করার জন্য একটি সর্বজনীন সেশন৷ @@ -1812,6 +1810,13 @@ আপনি যদি প্রক্সী সার্ভারকে স্বয়ং সনাক্ত করা চয়ন করেন, তাহলে Android অ্যাপগুলিকে URL "http://wpad/wpad.dat" সরবরাহ করা হয়। প্রক্সী স্বয়ং সনাক্তকরণ প্রোটোকলের অন্য কোনো অংশ ব্যবহার করা হয় না। আপনি যদি কোনো .pac প্রক্সী স্ক্রিপ্ট ব্যবহার করা চয়ন করেন, তাহলে Android অ্যাপগুলিকে স্ক্রিপ্ট URL সরবরাহ করা হয়।</translation> +<translation id="6435127182262044446">এই সেটিংটি সর্বোচ্চ পিন দৈর্ঘ্য নিয়ন্ত্রণ করে। + + এই সেটিংটি ০ বা এর চেয়ে কম হিসাবে থাকলে, কোনো সর্বোচ্চ দৈর্ঘ্য থাকে না এবং ব্যবহারকারী যত বড় ইচ্ছা পিন সেট করতে পারেন। + + এই সেটিং যদি PinUnlockMinimumLength এর চেয়ে কম কিন্তু ০ এর চেয়ে বড় হয়, তাহলে ন্যুনতম দৈর্ঘ্য ও সর্বোচ্চ দৈর্ঘ্য একই হয়। + + এই সেটিং ডিফল্ট হিসোবে কোনো সর্বোচ্চ দৈর্ঘ্যে সেট হয় না।</translation> <translation id="6467433935902485842">আপনাকে url প্যাটার্নের একটি তালিকা সেট করার অনুমতি দেওয়া হয়েছে যা সেই সাইটগুলিকে সুনির্দিষ্টভাবে উল্লেখ করে যেগুলিকে প্লাগ ইন চালনা করতে অনুমতি দেওয়া হয়নি৷ এই নীতিটি সেট না করা ছেড়ে যাওয়া হয় সেক্ষেত্রে 'ডিফল্ট প্ল্যাগইন সেটিং' নীতি থেকে যদি এটি সেট করা হয়, অথবা অন্যথায় ব্যবহারকারীদের ব্যক্তিগত কনফিগারেশন থেকে সেক্ষেত্রে সব সাইটের জন্য গ্লোবাল ডিফল্ট মান সব সাইটের জন্য ব্যবহার করা হবে৷</translation> @@ -2103,7 +2108,7 @@ <translation id="7216442368414164495">ব্যবহারকারীদের নিরাপদ ব্রাউজিং এর বর্ধিত প্রতিবেদনের নির্বাচন করা অনুমোদন করে</translation> <translation id="7227967227357489766">যেসব ব্যবহারকারীরা ডিভাইসে লগইন করার মঞ্জুরিপ্রাপ্ত তাদের তালিকা নির্ধারণ করে৷ প্রবেশকার্যগুলি <ph name="USER_WHITELIST_ENTRY_FORMAT" /> ফর্মের, যেমন <ph name="USER_WHITELIST_ENTRY_EXAMPLE" />৷ কোনো ডোমেনে অবাধ ব্যবহারকারীদের মঞ্জুরি করতে <ph name="USER_WHITELIST_ENTRY_WILDCARD" /> ফর্মের প্রবেশকার্যগুলি ব্যবহার করুন৷ - যদি এই নীতিটি কনফিগার করা না থাকলে, কোন ব্যবহারকারীদের প্রবেশ করুন করার মঞ্জুরি দেওয়া হবে সে ব্যাপারে কোনো বিধিনিষেধ থাকে না৷ উল্লেখ্য যে, নতুন ব্যবহারকারী তৈরি করার জন্য <ph name="DEVICEALLOWNEWUSERS_POLICY_NAME" /> নীতিটি এখনও উপযুক্তভাবে কনফিগার করা আবশ্যক৷</translation> + যদি এই নীতিটি কনফিগার করা না থাকলে, কোন ব্যবহারকারীদের প্রবেশ করার মঞ্জুরি দেওয়া হবে সে ব্যাপারে কোনো বিধিনিষেধ থাকে না৷ উল্লেখ্য যে, নতুন ব্যবহারকারী তৈরি করার জন্য <ph name="DEVICEALLOWNEWUSERS_POLICY_NAME" /> নীতিটি এখনও উপযুক্তভাবে কনফিগার করা আবশ্যক৷</translation> <translation id="7234280155140786597">নিষিদ্ধ নেটিভ বার্তাপ্রেরণ হোস্টগুলির নাম (বা সবগুলির জন্য *)</translation> <translation id="7236775576470542603">লগইন স্ক্রীনে সক্ষমিত রয়েছে এমন স্ক্রীন ম্যাগনিফায়ারের ডিফল্ট প্রকার সেট করে৷ @@ -2723,6 +2728,13 @@ নীতি দ্বারা নিবন্ধিত প্রোটোকল হ্যান্ডেলারগুলি ব্যবহারকারী দ্বারা নিবন্ধিত হ্যান্ডেলারগুলির সঙ্গে একত্রিত হয়ে যায় এবং ব্যবহারের জন্য উপলব্ধ হয়ে যায়। নতুন ডিফল্ট হ্যান্ডেলার ইনস্টল করার মাধ্যমে ব্যবহারকারী নীতি দ্বারা নিবন্ধিত প্রোটোকল হ্যান্ডেলারগুলিকে ওভাররাইড করতে পারেন, কিন্তু নীতি দ্বারা নিবন্ধিত প্রোটোকল হ্যান্ডেলারগুলিকে সরাতে পারবেন না।</translation> <translation id="913195841488580904">URLগুলির একটি তালিকায় অ্যাক্সেস অবরোধ করুন</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" />প্রক্সি সক্ষম করুন</translation> +<translation id="9136253551939494882">ব্যবহারকারী কোন আনলক মোড কনফিগার করতে পারবে এবং লকস্ক্রীন আনলক করতে তা ব্যবহার করতে পারবে সেটি একটি পরিচ্ছন তালিকার নিয়ন্ত্রণে থাকে। + + এই মানটি কিছু স্ট্রিংয়ের একটি তালিকা; বৈধ তালিকার এন্ট্রি হল: "সমস্ত", "পিন"। তালিকায় "সমস্ত" যোগ করা হলে বোঝানো হয় যে, ব্যবহারকারীর জন্য প্রতিটি আনলক মোড উপলব্ধ হবে, ভবিষ্যতে বলবৎ করা হবে এমনগুলিও এতে অন্তর্ভুক্ত। অন্যথায়, কেবলমাত্র তালিকায় থাকা দ্রুত আনলক মোডগুলি উপলব্ধ হবে। + + উদাহরণস্বরূপ, প্রতিটি দ্রুত আনলক মোডকে অনুমতি দিতে ["সমস্ত"] ব্যবহার করুন। শুধুমাত্র পিন আনলক মঞ্জুর করতে ["পিন"] ব্যবহার করুন। সব দ্রুত আনলক মোড অক্ষম করতে [] ব্যবহার করুন। + + ডিফল্ট ব্যবস্থা হিসাবে, পরিচালিত ডিভাইসের জন্য কোনো দ্রুত আনলক মোড উপলব্ধ নেই।</translation> <translation id="9147029539363974059">পরিচালনা সার্ভারে সিস্টেম লগ পাঠায়, যাতে করে পরিচালকেরা সিস্টেম লগগুলি পর্যবেক্ষণ করতে পারে। @@ -2731,6 +2743,11 @@ <translation id="9150416707757015439">এই নীতিটি অননুমোদিত৷ দয়া করে পরিবর্তে <ph name="PRODUCT_NAME" />-এ IncognitoModeAvailability ব্যবহার করুন৷ যদি এই সেটিংটি সক্ষম বা কনফিগার না করা থেকে থাকে তবে ব্যবহারকারীরা ছদ্মবেশী উইন্ডোতে ওয়েব পৃষ্ঠাগুলি খুলতে পারে৷ যদি এই সেটিংটি অক্ষম থেকে থাকে তবে ব্যবহারকারীরা ছদ্মবেশী মোডে ওয়েব পৃষ্ঠাগুলি খুলতে পারবে না৷</translation> <translation id="915194831143859291">এই নীতিটি মিথ্যাতে সেট করা হলে বা কনফিগার করা না থাকলে, <ph name="PRODUCT_OS_NAME" /> ব্যবহারকারীকে ডিভাইস শাট ডাউন করার অনুমতি দেবে। এই নীতিটি যদি সত্যতে সেট করা থাকে, তাহলে ব্যবহারকারী ডিভাইস শাট ডাউন করলে <ph name="PRODUCT_OS_NAME" /> রিবুট করার প্রক্রিয়া শুরু করবে। <ph name="PRODUCT_OS_NAME" /> পুনরায় বুট করার বোতাম দ্বারা UI এ শাটডাউন বোতামগুলির সব ঘটনাকে প্রতিস্থাপন করবে। ব্যবহারকারী পাওয়ার বোতাম ব্যবহার করে ডিভাইসটি শাট ডাউন করলে, এটি স্বয়ংক্রিয়ভাবে পুনরায় বুট করা হবে না, এমনকি নীতিটি সক্ষম করা থাকলেও।</translation> +<translation id="917887642534332939">এই সেটিংটি ন্যুনতম পিন দৈর্ঘ্য নিয়ন্ত্রণ করে। + + ন্যুনতম পিন দৈর্ঘ্যের মান হল ১; কোনো মান ১ এর চেয়ে কম হলে সেটিকে ১ হিসাবে বিবেচনা করা হয়। + + ডিফল্ট ও প্রস্তাবিত ন্যুনমত পিন দৈর্ঘ্য ৬ সংখ্যার।</translation> <translation id="9187743794267626640">বাহ্যিক সঞ্চয়স্থানের মাউন্টিং অক্ষম করুন</translation> <translation id="9197740283131855199">যদি অনুজ্জ্বলতার পর ব্যবহারকারী সক্রিয় হয় তাহলে স্ক্রীনের অনুজ্জ্বলতা বিলম্ব যে শতাংশের দ্বারা স্কেল করা হয়</translation> <translation id="9200828125069750521">POST ব্যবহার করে এমন চিত্র URL এর প্যারামিটারগুলি</translation>
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb index 27cfd917..7d9f987c 100644 --- a/components/policy/resources/policy_templates_ca.xtb +++ b/components/policy/resources/policy_templates_ca.xtb
@@ -988,7 +988,7 @@ <translation id="3915395663995367577">URL d'un fitxer .pac d'un servidor intermediari</translation> <translation id="3926940573869375969">Configura els dissenys de teclat que s'admeten a la pantalla d'inici de sessió de <ph name="PRODUCT_OS_NAME" />. - Si aquesta política es defineix en una llista d'identificadors de mètodes d'introducció, els mètodes d'introducció indicats estaran disponibles a la pantalla d'inici de sessió. Es preseleccionarà el primer mètode d'introducció de la llista. L'agrupació d’un usuari es mostrarà al centre de la pantalla d'inici de sessió, però també es mostrarà el mètode d'introducció que l'usuari ha fet servir fa més temps, a més dels mètodes d'introducció indicats per aquesta política. Si aquesta política no es defineix, els mètodes d'introducció de la pantalla d'inici de sessió es derivaran de la configuració regional en què es mostri la pantalla d'inici de sessió. S'ignoraran els valors que no siguin identificadors vàlids del mètode d'introducció.</translation> + Si aquesta política es defineix en una llista d'identificadors de mètodes d'introducció, els mètodes d'introducció indicats estaran disponibles a la pantalla d'inici de sessió. Es preseleccionarà el primer mètode d'introducció de la llista. La selecció d'usuaris es mostrarà al centre de la pantalla d'inici de sessió, però també es mostrarà el mètode d'introducció que l'usuari ha fet servir més recentment, a més dels mètodes d'introducció indicats per aquesta política. Si aquesta política no es defineix, els mètodes d'introducció de la pantalla d'inici de sessió es derivaran de la configuració regional en què es mostri la pantalla d'inici de sessió. S'ignoraran els valors que no siguin identificadors vàlids del mètode d'introducció.</translation> <translation id="3939893074578116847">Envia paquets de xarxa al servidor de gestió per supervisar l'estat en línia, de manera que el servidor pugui detectar si el dispositiu no té connexió. Si aquesta política s'estableix en "true", s'envien paquets de xarxa de supervisió (anomenats <ph name="HEARTBEATS_TERM" />). @@ -1211,6 +1211,11 @@ Per veure patrons d'exemple, consulteu l'enllaç https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Obre una llista d'URL</translation> <translation id="4680961954980851756">Activa l'emplenament automàtic</translation> +<translation id="4722399051042571387">Si s'estableix com a "false", els usuaris no podran definir codis PIN poc segurs i fàcils d'esbrinar. + + Exemples de codis PIN poc segurs: codis PIN que només continguin un sol dígit repetit diverses vegades (1111), codis PIN consecutius que augmentin d'un en un (1234) o que disminueixin d'un en un (4321) i codis PIN que s'utilitzin de manera habitual. + + De manera predeterminada, els usuaris rebran un advertiment, no un error, si es considera que el PIN és poc segur.</translation> <translation id="4723829699367336876">Activa que es pugui travessar el tallafoc des d'un client d'accés remot</translation> <translation id="4725528134735324213">Activa Android Backup Service</translation> <translation id="4733471537137819387">Les polítiques relacionades amb l'autenticació HTTP integrada.</translation> @@ -1397,12 +1402,6 @@ Si s'estableix el valor d'aquesta política en un valor diferent a 0, la sessió de l'usuari de la demostració que tingui iniciada la sessió actualment es tancarà automàticament després d'un període d'inactivitat d'una durada determinada. El valor de la política s'ha d'especificar en mil·lisegons.</translation> -<translation id="5506213378070007377">Envia al servidor informació sobre l'estat d'Android. - - Si la política s'estableix en "false", no s'envia informació d'estat. - Si s'estableix en "true" o es deixa sense establir, s'envia informació d'estat. - - Aquesta política només s'aplica si les aplicacions per a Android estan activades.</translation> <translation id="5511702823008968136">Activa la barra d'adreces d'interès</translation> <translation id="5512418063782665071">URL de la pàgina d'inici</translation> <translation id="5523812257194833591">Sessió pública per iniciar la sessió automàticament després d'un retard. @@ -1736,6 +1735,13 @@ Si decideixes detectar automàticament el servidor intermediari, es proporcionarà l'URL de script "http://wpad/wpad.dat" a les aplicacions per a Android. No s'utilitzarà cap altra part del protocol de detecció automàtica del servidor intermediari. Si decideixes fer servir un script de servidor intermediari .pac, es proporcionarà l'URL de script a les aplicacions per a Android.</translation> +<translation id="6435127182262044446">Aquesta opció de configuració controla la longitud màxima que pot tenir un PIN. + + Si es configura en 0 o una xifra inferior, no hi ha cap longitud màxima i l'usuari pot definir un PIN tan llarg com vulgui. + + Si es configura en un valor inferior a PinUnlockMinimumLength però superior a 0, la longitud màxima és igual que la mínima. + + El valor predeterminat d'aquesta opció de configuració és sense longitud màxima.</translation> <translation id="6467433935902485842">Us permet definir una llista de patrons d'URL que especifiquen els llocs en què no està permès executar els connectors. Si no es defineix aquesta política, s'utilitzarà el valor global predeterminat per a tots els llocs tant de la política "DefaultPluginsSetting", si es defineix, com d'un altre tipus de configuració personal de l'usuari.</translation> <translation id="6473334971332473690">Permet que s'utilitzi Smart Lock en dispositius <ph name="PRODUCT_OS_NAME" />. @@ -2610,6 +2616,13 @@ Els gestors de protocol registrats amb la política es combinen amb els que ha registrat l'usuari i tots dos es poden fer servir. L'usuari pot substituir els gestors de protocol que s'han instal·lat amb la política si instal·la un nou gestor de protocol predeterminat, però no pot suprimir un gestor de protocol que s'hagi registrat amb la política.</translation> <translation id="913195841488580904">Bloqueja l'accés a una llista d'URL</translation> <translation id="9135033364005346124">Activa el servidor intermediari <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Una llista blanca en què es controlen quins modes de desbloqueig ràpid pot configurar l'usuari per desbloquejar la pantalla de bloqueig. + + Aquest valor està format per una llista de cadenes; les entrades vàlides de la llista són: "all", "PIN". En afegir "all" a la llista, significa que l'usuari pot utilitzar tots els modes de desbloqueig ràpid, inclosos els que s'implementin en el futur. En cas contrari, només podrà utilitzar els modes de desbloqueig ràpid que apareguin a la llista. + + Per exemple, per permetre tots els modes de desbloqueig ràpid, feu servir ["all"]. Per permetre només el desbloqueig amb PIN, utilitzeu ["PIN"]. Per desactivar tots els modes de desbloqueig ràpid, feu servir []. + + De manera predeterminada, no es pot utilitzar cap mode de desbloqueig ràpid en els dispositius gestionats.</translation> <translation id="9147029539363974059">Envia registres del sistema al servidor de gestió, perquè els administradors puguin supervisar-los. @@ -2618,6 +2631,11 @@ <translation id="9150416707757015439">Aquesta política està obsoleta. En lloc seu, utilitzeu IncognitoModeAvailability. Activa el mode d'incògnit a <ph name="PRODUCT_NAME" />. Si aquest paràmetre està activat o no està configurat, els usuaris podran obrir pàgines web en mode d'incògnit. Si està desactivat, els usuaris no podran obrir pàgines web en mode d'incògnit. Si no es defineix aquesta política, aquest paràmetre s'activarà i l'usuari podrà utilitzar el mode d'incògnit.</translation> <translation id="915194831143859291">Si aquesta política s'estableix en false o no es configura, <ph name="PRODUCT_OS_NAME" /> permetrà que l'usuari apagui el dispositiu. Si aquesta política s'estableix en true, <ph name="PRODUCT_OS_NAME" /> reiniciarà el dispositiu quan l'usuari l'apagui. És a dir, <ph name="PRODUCT_OS_NAME" /> substitueix tots els botons d'apagat de la interfície d'usuari per botons de reinici. Per tant, si l'usuari apaga el dispositiu amb el botó d'engegada, es reiniciarà de manera automàtica, encara que la política estigui activada.</translation> +<translation id="917887642534332939">Aquesta opció de configuració controla la longitud mínima que pot tenir un PIN. + + La longitud mínima absoluta del PIN és d'1 dígit; els valors inferiors a 1 es tracten com a 1. + + La longitud mínima recomanada i predeterminada del PIN és de 6 dígits.</translation> <translation id="9187743794267626640">Desactivació del muntatge d'emmagatzematge extern</translation> <translation id="9197740283131855199">Percentatge que permet ajustar el temps d'espera d'inactivitat de la pantalla si l'usuari passa a estar actiu després de la inactivitat.</translation> <translation id="9200828125069750521">Paràmetres de l'URL de la imatge que utilitza POST</translation>
diff --git a/components/policy/resources/policy_templates_cs.xtb b/components/policy/resources/policy_templates_cs.xtb index 67b4682..55eb36b 100644 --- a/components/policy/resources/policy_templates_cs.xtb +++ b/components/policy/resources/policy_templates_cs.xtb
@@ -1004,7 +1004,7 @@ <translation id="3915395663995367577">Adresa URL souboru PAC proxy serveru</translation> <translation id="3926940573869375969">Konfiguruje, která rozložení klávesnic jsou povolena na přihlašovací obrazovce systému <ph name="PRODUCT_OS_NAME" />. - Je-li tato zásada nastavena na seznam metod zadávání, budou na přihlašovací obrazovce k dispozici příslušné metody zadávání. První metoda zadávání bude předvybrána. Když je na přihlašovací obrazovce zaměřena sekce konkrétního uživatele, bude kromě metod zadávání definovaných touto zásadou k dispozici také metoda zadávání, kterou uživatel naposledy použil. Pokud tato zásada není nastavena, metody zadávání na přihlašovací obrazovce budou vycházet z jazyka, ve kterém se zobrazuje přihlašovací obrazovka. Hodnoty, které nejsou platnými identifikátory metod zadávání budou ignorovány.</translation> + Je-li tato zásada nastavena na seznam metod zadávání, budou na přihlašovací obrazovce k dispozici příslušné metody zadávání. První metoda zadávání bude předvybrána. Když je na přihlašovací obrazovce zakliknut profil konkrétního uživatele, bude kromě metod zadávání definovaných touto zásadou k dispozici také metoda zadávání, kterou uživatel naposledy použil. Pokud tato zásada není nastavena, metody zadávání na přihlašovací obrazovce budou vycházet z jazyka, ve kterém se zobrazuje přihlašovací obrazovka. Hodnoty, které nejsou platnými identifikátory metod zadávání budou ignorovány.</translation> <translation id="3939893074578116847">Odesílá na server správy síťové pakety ke sledování stavu online, což serveru umožňuje zjistit, zda zařízení není offline. Je-li tato zásada nastavena na hodnotu True, budou se odesílat sledovací síťové pakety (tzv. <ph name="HEARTBEATS_TERM" />). @@ -1238,6 +1238,11 @@ Ukázkové vzory naleznete na stránce https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Otevřít seznam adres URL</translation> <translation id="4680961954980851756">Aktivovat Automatické vyplňování</translation> +<translation id="4722399051042571387">Pokud je tato zásada nastavena na hodnotu false, uživatelé nebudou moci nastavit PIN, který je slabý a lze jej snadno uhodnout. + + Příklady slabých kódů PIN: PIN tvořený pouze jednou opakující se číslicí (1111), PIN se vzestupnou nebo sestupnou řadou číslic (1234 nebo 4321), často používané kódy PIN. + + Pokud uživatelé zadají slabý kód PIN, ve výchozím nastavení se jim zobrazí upozornění (nikoli chyba).</translation> <translation id="4723829699367336876">Povolení přechodu přes bránu firewall z klienta vzdáleného připojení</translation> <translation id="4725528134735324213">Povolit službu Android Backup Service</translation> <translation id="4733471537137819387">Zásady související s integrovaným ověřením pomocí protokolu HTTP</translation> @@ -1449,12 +1454,6 @@ Je-li hodnota zásady nastavena a nerovná se 0, aktuálně přihlášený uživatel ukázky bude automaticky odhlášen po uplynutí zadané délky nečinnosti. Hodnota zásady musí být zadána v milisekundách.</translation> -<translation id="5506213378070007377">Informace o stavu systému Android se odesílají zpět na server. - - Je-li tato zásada nastavena na hodnotu False, informace o stavu se neodesílají. - Pokud je nastavena na hodnotu True nebo je ponechána nenastavená, informace o stavu se odesílají. - - Tato zásada se používá pouze v případě, že jsou povoleny aplikace Android.</translation> <translation id="5511702823008968136">Aktivovat panel záložek</translation> <translation id="5512418063782665071">Adresa URL domovské stránky</translation> <translation id="5523812257194833591">Veřejná relace, do které se zařízení po prodlevě automaticky přihlásí. @@ -1778,6 +1777,13 @@ Pokud zvolíte, že se má proxy server zjistit automaticky, obdrží aplikace Android adresu URL skriptu http://wpad/wpad.dat. Žádná jiná část protokolu automatické detekce serveru proxy se nepoužije. Pokud zvolíte, že chcete používat skript .pac proxy serveru, obdrží aplikace Android adresu URL skriptu.</translation> +<translation id="6435127182262044446">Toto nastavení udává maximální délku kódu PIN. + + Pokud je toto nastavení nakonfigurováno na hodnotu 0 nebo menší, maximální délka není stanovena a uživatel může nastavit libovolně dlouhý PIN. + + Pokud je toto nastavení menší než PinUnlockMinimumLength, ale větší než 0, maximální délka je stejná jako minimální délka. + + Výchozí hodnota tohoto nastavení maximální délku kódu PIN nijak neomezuje.</translation> <translation id="6467433935902485842">Umožňuje nastavit seznam vzorů adres URL stránek, které nemají povoleno spouštět pluginy. Pokud zásadu nenastavíte, použije se pro všechny webové stránky globální výchozí hodnota buď ze zásady DefaultPluginsSetting (pokud je nastavena), nebo z osobního nastavení uživatele.</translation> @@ -2671,6 +2677,13 @@ Obslužné nástroje protokolů zaregistrované pomocí této zásady budou sloučeny s obslužnými nástroji zaregistrovanými uživatelem a k dispozici budou všechny. Obslužné nástroje protokolů nainstalované zásadou může uživatel přepsat tím, že nainstaluje nový výchozí obslužný nástroj, avšak nemůže je odstranit.</translation> <translation id="913195841488580904">Blokování přístupu k seznamu adres URL</translation> <translation id="9135033364005346124">Aktivovat proxy server služby <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Seznam, který určuje, jaké metody rychlého odemknutí obrazovky uzamčení může uživatel nakonfigurovat a používat. + + Hodnotou je seznam řetězců. Platné jsou tyto hodnoty: „all“ a „PIN“. Když na seznam přidáte hodnotu „all“, uživatel bude moci použít všechny metody rychlého odemknutí, včetně těch, které budou implementovány v budoucnu. V opačném případě budou k dispozici pouze metody uvedené na seznamu. + + Příklad: Chcete-li povolit všechny metody rychlého odemknutí, použijte hodnotu [„all“]. Chcete-li povolit pouze odemknutí pomocí kódu PIN, použijte hodnotu [„PIN“]. Chcete-li všechny metody rychlého odemknutí zakázat, použijte hodnotu []. + + Ve výchozím nastavení nejsou pro spravovaná zařízení k dispozici žádné metody rychlého odemknutí.</translation> <translation id="9147029539363974059">Odesílá systémové protokoly na server správy, což umožňuje jejich kontrolu ze strany administrátorů. Pokud je zásada nastavena na hodnotu true, systémové protokoly budou odesílány. Pokud tuto zásadu nenakonfigurujete nebo ji nastavíte na hodnotu false, systémové protokoly odesílány nebudou.</translation> @@ -2684,6 +2697,11 @@ Pokud zásadu nenastavíte, toto nastavení se aktivuje a uživatelé budou moci používat anonymní režim.</translation> <translation id="915194831143859291">Pokud je tato zásada nastavena na hodnotu false nebo není nastavena, systém <ph name="PRODUCT_OS_NAME" /> umožní uživateli vypnout zařízení. Pokud je tato zásada nastavena na hodnotu true a uživatel vypne zařízení, spustí systém <ph name="PRODUCT_OS_NAME" /> restart. Systém <ph name="PRODUCT_OS_NAME" /> nahradí všechna tlačítka pro vypnutí v uživatelském rozhraní tlačítky pro restart. Pokud uživatel zařízení vypne pomocí vypínače, zařízení se automaticky restartovat nebude, a to ani v případě, že je tato zásada aktivována.</translation> +<translation id="917887642534332939">Toto nastavení udává minimální délku kódu PIN. + + Nejnižší možná délka kódu PIN je 1. Nižší hodnoty budou považovány za hodnotu 1. + + Výchozí a doporučená minimální délka kódu PIN je 6 číslic.</translation> <translation id="9187743794267626640">Zakázat připojení externího úložiště</translation> <translation id="9197740283131855199">Procento, o které bude prodloužena prodleva ztmavení obrazovky, pokud uživatel po ztmavení provedete nějakou činnost</translation> <translation id="9200828125069750521">Parametry pro adresu URL obrázku používající metodu POST</translation>
diff --git a/components/policy/resources/policy_templates_da.xtb b/components/policy/resources/policy_templates_da.xtb index 77308b9af..e2154d6 100644 --- a/components/policy/resources/policy_templates_da.xtb +++ b/components/policy/resources/policy_templates_da.xtb
@@ -1241,6 +1241,11 @@ Du kan se eksempler på mønstre på https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Åbn en liste over webadresser</translation> <translation id="4680961954980851756">Aktiver AutoFyld</translation> +<translation id="4722399051042571387">Hvis den er angivet til falsk, kan brugerne ikke angive pinkoder, der er svage og nemme at gætte. + + Eksempler på svage pinkoder: Pinkoder, der kun indeholder ét tal (1111), pinkoder, der stiger med ét tal ad gangen (1234), pinkoder, der falder med ét tal ad gangen (4321), og pinkoder, der er meget almindelige. + + Som standard får brugerne en advarsel, ikke en fejl, hvis pinkoden anses for at være svag.</translation> <translation id="4723829699367336876">Aktiver gennemgang af firewall fra fjernklient</translation> <translation id="4725528134735324213">Aktivér Android-tjenesten til sikkerhedskopiering</translation> <translation id="4733471537137819387">Politikker i forbindelse med integreret HTTP-godkendelse.</translation> @@ -1431,13 +1436,6 @@ Når værdien af denne politik er indstillet og ikke er 0, logges den demobruger, der i øjeblikket er logget på, automatisk ud, når vedkommende har været inaktiv i en angivet tidsperiode. Politikkens værdi bør angives i millisekunder.</translation> -<translation id="5506213378070007377">Oplysninger om status for Android sendes tilbage til - serveren. - - Hvis politikken er indstillet til falsk, rapporteres der ikke nogen statusoplysninger. - Hvis den er indstillet til sand eller ikke er indstillet, rapporteres der statusoplysninger. - - Denne politik gælder kun, hvis Android-apps er aktiverede.</translation> <translation id="5511702823008968136">Aktiver bogmærkelinje</translation> <translation id="5512418063782665071">Startsidens webadresse</translation> <translation id="5523812257194833591">Automatisk login på en offentlig session efter en forsinkelse. @@ -1768,6 +1766,13 @@ Hvis du vælger at registrere proxyserveren automatisk, oplyses scriptwebadressen "http://wpad/wpad.dat" til Android-apps. Ingen andre dele af protokollen for automatisk registrering af proxy anvendes. Hvis du vælger at bruge et .pac-proxyscript, oplyses scriptwebadressen til Android-apps.</translation> +<translation id="6435127182262044446">Denne indstilling styrer, hvor lang en pinkode kan være. + + Hvis indstillingen er 0 eller derunder, er der ingen maksimal længde, og brugeren kan indstille en pinkode, der er så lang som ønsket. + + Hvis indstillingen er mindre end værdien af PinUnlockMinimumLength, men større end 0, er den maksimale længde den samme som minimumslængden. + + Denne indstilling er som standard angivet til ingen maksimal længde.</translation> <translation id="6467433935902485842">Giver dig mulighed for at oprette en liste over webstedsmønstre, der angiver websites, som ikke har tilladelse til at køre plugins. Hvis denne politik ikke angives, anvendes den globale standardværdi for alle websites, enten fra politikken "DefaultPluginsSetting", hvis den er angivet, eller fra brugerens personlige konfiguration.</translation> <translation id="6473334971332473690">Tillader, at Smart Lock kan bruges på <ph name="PRODUCT_OS_NAME" />-enheder. @@ -2662,6 +2667,13 @@ De protokolhandlere, der er registreret via politikker, flettes med dem, der er registreret af brugeren, og begge er tilgængelige og kan anvendes. Brugeren kan tilsidesætte protokolhandlere, der er installeret via en politik, ved at installere en ny standardhandler, men kan ikke fjerne en protokolhandler, der er registreret via en politik.</translation> <translation id="913195841488580904">Bloker adgang til en liste over webadresser</translation> <translation id="9135033364005346124">Aktiver <ph name="CLOUD_PRINT_NAME" />-proxyen</translation> +<translation id="9136253551939494882">En hvidliste, der styrer, hvilke tilstande for hurtig oplåsning brugeren kan konfigurere og bruge til at låse låseskærmen op. + + Denne værdi er en liste med strenge. Gyldige poster på listen er: "all", "PIN". Hvis du føjer "all" til listen, betyder det, at alle tilstande for hurtig oplåsning er tilgængelige for brugeren, også dem, der eventuelt implementeres i fremtiden. Ellers er det kun de tilstande for hurtig oplåsning, der er på listen, som er tilgængelige. + + Brug f.eks. ["all"] for at tillade alle tilstande for hurtig oplåsning. Brug ["PIN"] for kun at tillade oplåsning med pinkode. Brug [] for at deaktivere alle tilstande for hurtig oplåsning. + + Som standard er ingen tilstande for hurtig oplåsning tilgængelige på administrerede enheder.</translation> <translation id="9147029539363974059">Send systemlogfiler til administrationsserveren for at tillade, at administratorer overvåger systemlogfilerne. @@ -2670,6 +2682,11 @@ <translation id="9150416707757015439">Denne politik er udfaset. Brug i stedet IncognitoModeAvailability. Aktiverer inkognitotilstand i <ph name="PRODUCT_NAME" />. Hvis denne indstilling er aktiveret eller ikke er konfigureret, kan brugerne åbne websider i inkognitotilstand. Hvis denne indstilling er deaktiveret, kan brugerne ikke åbne websider i inkognitotilstand. Hvis denne politik ikke er angivet, vil dette blive aktiveret, så brugeren kan bruge inkognitotilstand.</translation> <translation id="915194831143859291">Hvis denne politik er angivet til Falsk eller ikke er konfigureret, tillader <ph name="PRODUCT_OS_NAME" />, at brugeren lukker enheden ned. Hvis denne politik er angivet til Sand, udløser <ph name="PRODUCT_OS_NAME" /> en genstart, når brugeren lukker enheden ned. <ph name="PRODUCT_OS_NAME" /> erstatter alle forekomster af Luk-knapper i grænsefladen med genstartsknapper. Hvis brugeren lukker enheden ved hjælp af afbryderknappen, genstartes den ikke automatisk, selvom politikken er aktiveret.</translation> +<translation id="917887642534332939">Denne indstilling styrer minimumlængden på pinkoder. + + Den absolutte minimumlængde på pinkoder er 1. Værdier under 1 behandles som 1. + + Standardlængden, som også er den anbefalede minimumlængde på pinkoder, er seks cifre.</translation> <translation id="9187743794267626640">Deaktiver isætning af eksternt lager</translation> <translation id="9197740283131855199">Den procentdel, som nedtoningsforsinkelsen på skærmen skaleres, hvis brugeren bliver aktiv efter nedtoningen</translation> <translation id="9200828125069750521">Parametre for billedets webadresse, som anvender POST</translation>
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb index 92ae4568..c7ecc83 100644 --- a/components/policy/resources/policy_templates_de.xtb +++ b/components/policy/resources/policy_templates_de.xtb
@@ -979,7 +979,7 @@ <translation id="3915395663995367577">URL einer PAC-Proxy-Datei</translation> <translation id="3926940573869375969">Konfiguriert, welche Tastaturlayouts auf der <ph name="PRODUCT_OS_NAME" />-Anmeldeseite erlaubt sind. - Ist für diese Richtlinie eine Liste mit Eingabemethoden-IDs festgelegt, werden die entsprechenden Eingabemethoden auf der Anmeldeseite bereitgestellt. Das oberste Listenelement ist vorab ausgewählt. Wenn ein Nutzer-Pod auf die Anmeldeseite fokussiert ist, wird zusätzlich zu den von dieser Richtlinie bereitgestellten Eingabemethoden auch die vom Nutzer am längsten nicht verwendete angeboten. Ist diese Richtlinie nicht festgelegt, werden die Eingabemethoden auf der Anmeldeseite von der Sprache der Anmeldeseite abgeleitet. Werte, die keine gültigen Eingabemethoden-IDs sind, werden ignoriert.</translation> + Ist für diese Richtlinie eine Liste mit Eingabemethoden-IDs festgelegt, werden die entsprechenden Eingabemethoden auf der Anmeldeseite bereitgestellt. Das oberste Listenelement ist vorab ausgewählt. Wenn eine Nutzer-Schaltfläche auf der Anmeldeseite aktiviert ist, wird zusätzlich zu den von dieser Richtlinie bereitgestellten Eingabemethoden auch die vom Nutzer am längsten nicht verwendete angeboten. Ist diese Richtlinie nicht festgelegt, werden die Eingabemethoden auf der Anmeldeseite von der Sprache der Anmeldeseite abgeleitet. Werte, die keine gültigen Eingabemethoden-IDs sind, werden ignoriert.</translation> <translation id="3939893074578116847">Es werden Netzwerkpakete zur Überwachung des Onlinestatus an den Verwaltungsserver gesendet, damit er erkennt, wenn das Gerät offline ist. @@ -1205,6 +1205,11 @@ Beispielmuster finden Sie unter https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">URL-Liste öffnen</translation> <translation id="4680961954980851756">AutoFill aktivieren</translation> +<translation id="4722399051042571387">Wenn "false" eingestellt ist, können Nutzer keine schwache PIN festlegen, die leicht zu erraten ist. + + Beispiele für schwache PINs: PINs, die nur aus einer Ziffer bestehen (1111), PINs, die eine Zahlenfolge enthalten, bei der die Zahlen stets um 1 erhöht werden (1234), PINs, die eine Zahlenfolge enthalten, bei der die Zahlen stets um 1 verringert werden (4321) und PINs, die häufig genutzt werden. + + Standardmäßig erhalten Nutzer nur eine Warnmeldung – d. h. keine Fehlermeldung – wenn die PIN als schwach eingestuft wird.</translation> <translation id="4723829699367336876">Firewallausnahme über Client für Remote-Zugriff aktivieren</translation> <translation id="4725528134735324213">Android Backup Service aktivieren</translation> <translation id="4733471537137819387">Strategien im Hinblick auf die integrierte HTTP-Authentifizierung</translation> @@ -1395,13 +1400,6 @@ Wenn für diese Richtlinie ein Wert festgelegt wurde und dieser Wert nicht "0" ist, wird der aktuell angemeldete Demo-Nutzer nach der angegebenen Inaktivitätsdauer automatisch abgemeldet. Der Wert sollte in Millisekunden angegeben werden.</translation> -<translation id="5506213378070007377">Informationen zum Status von Android werden an die - Server gesendet. - - Wenn die Richtlinie auf "false" gesetzt wird, werden keine Statusinformationen gemeldet. - Wenn sie auf "true" gesetzt oder gar nicht festgelegt wird, werden die Statusinformationen gesendet. - - Diese Richtlinie wird nur angewendet, wenn Android-Apps aktiviert sind.</translation> <translation id="5511702823008968136">Lesezeichenleiste aktivieren</translation> <translation id="5512418063782665071">Startseiten-URL</translation> <translation id="5523812257194833591">Hiermit geben Sie die öffentliche Sitzung an, in der ein Nutzer nach einer bestimmten Zeitspanne automatisch angemeldet wird. @@ -1722,6 +1720,13 @@ Wenn Sie "Proxyserver automatisch erkennen" wählen, erhalten Android-Apps die Skript-URL "http://wpad/wpad.dat". Kein anderer Teil des Protokolls zur automatischen Proxyerkennung wird verwendet. Wenn Sie ein PAC-Proxyskript wählen, erhalten Android-Apps die Skript-URL.</translation> +<translation id="6435127182262044446">Mit dieser Einstellung wird die maximale Länge einer PIN festgelegt. + + Wenn diese Einstellung "0" oder weniger ist, gibt es keine maximale Länge und Nutzer können die Länge der PIN beliebig wählen. + + Wenn für diese Einstellung ein Wert weniger als "PinUnlockMinimumLength", jedoch größer als "0" festgelegt ist, stimmt die maximale Länge mit der minimalen Länge überein. + + Bei der Standardeinstellung gibt es keine maximale Länge.</translation> <translation id="6467433935902485842">Ermöglicht Ihnen die Zusammenstellung einer Liste mit URL-Mustern, die Websites angeben, denen das Ausführen von Plug-ins nicht gestattet ist. Wenn diese Richtlinie nicht konfiguriert ist, kommt für alle Websites entweder der globale Standardwert der Richtlinie "DefaultPluginsSetting", sofern konfiguriert, oder der persönlichen Konfiguration des Nutzers zu Einsatz.</translation> <translation id="6473334971332473690">Mithilfe dieser Richtlinie wird die Nutzung von Smart Lock auf Geräten mit <ph name="PRODUCT_OS_NAME" /> ermöglicht. @@ -2606,6 +2611,13 @@ Die von der Richtlinie registrierten Protokoll-Handler werden mit den Protokoll-Handlern zusammengeführt, die vom Nutzer registriert wurden, und können gemeinsam verwendet werden. Der Nutzer kann die durch die Richtlinie installierten Protokoll-Handler durch Installieren eines neuen standardmäßigen Handlers überschreiben. Ein von der Richtlinie registrierter Protokoll-Handler kann jedoch nicht entfernt werden.</translation> <translation id="913195841488580904">Zugriff auf aufgelistete URLs blockieren</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" />-Proxy aktivieren</translation> +<translation id="9136253551939494882">Eine weiße Liste, in der festgelegt wird, welche Modi für das schnelle Entsperren der Nutzer zum Entsperren des Bildschirms konfigurieren und verwenden kann. + + Dieser Wert besteht aus einer Liste von Zeichenfolgen; gültige Listeneinträge sind: "alle", "PIN". Durch das Hinzufügen von "alle" zur Liste stehen dem Nutzer alle Modi für das schnelle Entsperren zur Verfügung. Dazu gehören auch die in Zukunft implementierten Modi. Wird "alle" nicht ausgewählt, stehen nur die in der Liste enthaltenen Modi für das schnelle Entsperren zur Verfügung. + + Beispiel: Verwenden Sie ["alle"], um alle Modi für das schnelle Entsperren zu erlauben. Oder verwenden Sie ["PIN"], um nur das Entsperren mit der PIN zu erlauben. Wenn Sie alle Modi zum schnellen Entsperren deaktivieren möchten, verwenden Sie []. + + Bei verwalteten Geräten sind standardmäßig keine Modi für das schnelle Entsperren verfügbar.</translation> <translation id="9147029539363974059">Systemprotokolle an den Verwaltungsserver senden, um Administratoren die Überwachung von Systemprotokollen zu ermöglichen. @@ -2615,6 +2627,11 @@ <translation id="9150416707757015439">Diese Richtlinie ist veraltet. Bitte verwenden Sie stattdessen "IncognitoModeAvailability". Aktiviert den Inkognitomodus in <ph name="PRODUCT_NAME" />. Wenn diese Einstellung aktiviert oder nicht konfiguriert ist, können Nutzer Webseiten im Inkognitomodus öffnen. Sollte die Einstellung deaktiviert sein, können Nutzer Webseiten nicht im Inkognitomodus öffnen. Ist die Richtlinie nicht konfiguriert, so ist die Funktion aktiviert, sodass Nutzer den Inkognitomodus verwenden können.</translation> <translation id="915194831143859291">Wenn diese Richtlinie auf "false" gesetzt oder nicht konfiguriert ist, erlaubt <ph name="PRODUCT_OS_NAME" /> dem Nutzer, das Gerät herunterzufahren. Ist diese Richtlinie auf "true" gesetzt, löst <ph name="PRODUCT_OS_NAME" /> einen Neustart aus, wenn der Nutzer das Gerät herunterfährt. <ph name="PRODUCT_OS_NAME" /> ersetzt alle Schaltflächen zum Herunterfahren auf der Benutzeroberfläche durch Schaltflächen zum Neustarten. Wenn der Nutzer das Gerät über die Ein-/Aus-Taste herunterfährt, wird es nicht automatisch neu gestartet, auch wenn die Richtlinie aktiviert ist.</translation> +<translation id="917887642534332939">Mit dieser Einstellung wird die Mindestlänge einer PIN festgelegt. + + Die absolute Mindestlänge einer PIN liegt bei "1". Alle Werte unter "1" werden wie "1" behandelt. + + Die empfohlene Standardlänge beträgt mindestens 6 Zeichen.</translation> <translation id="9187743794267626640">Bereitstellen von externem Speicher deaktivieren</translation> <translation id="9197740283131855199">Prozentsatz für die Skalierung der Spanne für die Bildschirmabdunkelung, wenn der Nutzer nach der Abdunkelung aktiv wird</translation> <translation id="9200828125069750521">Parameter für URL der Bildsuche, die POST verwendet</translation>
diff --git a/components/policy/resources/policy_templates_el.xtb b/components/policy/resources/policy_templates_el.xtb index c328527..6f833df 100644 --- a/components/policy/resources/policy_templates_el.xtb +++ b/components/policy/resources/policy_templates_el.xtb
@@ -1279,6 +1279,11 @@ Για παραδείγματα μοτίβων, ανατρέξτε στη διεύθυνση https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Άνοιγμα μιας λίστας διευθύνσεων URL</translation> <translation id="4680961954980851756">Ενεργοποίηση Αυτόματης Συμπλήρωσης</translation> +<translation id="4722399051042571387">Αν έχει την τιμή "false", οι χρήστες δεν θα έχουν τη δυνατότητα να ρυθμίσουν αριθμούς PIN που δεν είναι ισχυροί και μπορεί εύκολα να μαντέψει κάποιος. + + Ορισμένα παραδείγματα μη ισχυρών αριθμών PIN: αριθμοί PIN που περιέχουν μόνο ένα ψηφίο (1111), αριθμοί PIN των οποίων τα ψηφία αποτελούν αύξουσα σειρά διαδοχικών αριθμών ξεκινώντας από το 1 (1234), αριθμοί PIN των οποίων τα ψηφία αποτελούν φθίνουσα σειρά διαδοχικών αριθμών ξεκινώντας από το 1 (4321) και αριθμοί PIN που είναι πολύ κοινοί. + + Από προεπιλογή, θα εμφανίζεται στους χρήστες μια προειδοποίηση, όχι σφάλμα, εάν ο αριθμός PIN δεν θεωρείται ισχυρός.</translation> <translation id="4723829699367336876">Ενεργοποίηση διέλευσης μέσω τείχους προστασίας από υπολογιστή-πελάτη απομακρυσμένης πρόσβασης</translation> <translation id="4725528134735324213">Ενεργοποίηση Android Backup Service</translation> <translation id="4733471537137819387">Πολιτικές που σχετίζονται με τον ενσωματωμένο έλεγχο ταυτότητας HTTP.</translation> @@ -1492,12 +1497,6 @@ Όταν οριστεί η τιμή αυτής της πολιτικής και δεν είναι 0 ο χρήστης που έχει συνδεθεί αυτή τη στιγμή σε δοκιμαστική έκδοση θα αποσυνδεθεί αυτομάτως αφού περάσει ο χρόνος αδράνειας με τη διάρκεια που έχει προσδιοριστεί. Η τιμή της πολιτικής θα πρέπει να οριστεί σε χιλιοστά του δευτερολέπτου.</translation> -<translation id="5506213378070007377">Οι πληροφορίες σχετικά με την κατάσταση του Android επιστρέφουν στον διακομιστή. - - Εάν η πολιτική οριστεί ως ψευδής, δεν αναφέρονται πληροφορίες κατάστασης. - Εάν οριστεί ως αληθής ή δεν οριστεί, οι πληροφορίες κατάστασης αναφέρονται. - - Αυτή η πολιτική ισχύει μόνο εάν οι εφαρμογές Android είναι ενεργοποιημένες.</translation> <translation id="5511702823008968136">Ενεργοποίηση γραμμής σελιδοδεικτών</translation> <translation id="5512418063782665071">URL αρχικής σελίδας</translation> <translation id="5523812257194833591">Δημόσια περίοδος σύνδεσης για αυτόματη σύνδεση μετά από μια καθυστέρηση. @@ -1824,6 +1823,13 @@ Εάν επιλέξετε αυτόματο εντοπισμό διακομιστή μεσολάβησης, το URL σεναρίου "http://wpad/wpad.dat" παρέχεται στις εφαρμογές Android. Δεν χρησιμοποιείται άλλο μέρος του πρωτοκόλλου αυτόματου εντοπισμού διακομιστή μεσολάβησης. Εάν επιλέξετε να χρησιμοποιήσετε σενάριο διακομιστή μεσολάβησης .pac το URL του σεναρίου παρέχεται σε εφαρμογές Android.</translation> +<translation id="6435127182262044446">Αυτή η ρύθμιση ελέγχει τη μέγιστη έκταση ενός αριθμού PIN. + + Εάν οριστεί αυτή η ρύθμιση σε 0 ή λιγότερο, δεν ισχύει μέγιστη έκταση και ο χρήστης μπορεί να ρυθμίσει την έκταση του αριθμού PIN όπως επιθυμεί. + + Εάν οριστεί αυτή η ρύθμιση σε λιγότερο από PinUnlockMinimumLength αλλά περισσότερο από 0, η μέγιστη έκταση είναι η ίδια με την ελάχιστη έκταση. + + Η προεπιλογή αυτής της ρύθμισης είναι να μην ισχύει μέγιστη έκταση.</translation> <translation id="6467433935902485842">Σας επιτρέπει να ορίσετε μια λίστα με τα μοτίβα διευθύνσεων URL που προσδιορίζουν τους ιστότοπους στους οποίους δεν επιτρέπεται να εκτελούνται προσθήκες. Αν αυτή η πολιτική δεν καθοριστεί, θα χρησιμοποιηθεί η καθολική προεπιλεγμένη τιμή για όλους τους ιστότοπους είτε από την πολιτική ''DefaultPluginsSetting'' εφόσον έχει οριστεί, είτε από την προσωπική διαμόρφωση του χρήστη.</translation> @@ -2772,6 +2778,13 @@ Οι δείκτες χειρισμού πρωτοκόλλου που έχουν εγγραφεί βάσει πολιτικής συγχωνεύονται με εκείνους που έχουν εγγραφεί από τον χρήστη και είναι και οι δύο διαθέσιμοι για χρήση. Ο χρήστης μπορεί να παρακάμψει τους δείκτες χειρισμού πρωτοκόλλου που έχουν εγκατασταθεί βάσει πολιτικής εγκαθιστώντας έναν νέο προεπιλεγμένο δείκτη χειρισμού, αλλά δεν μπορούν να καταργήσουν έναν δείκτη χειρισμού πρωτοκόλλου που έχει εγγραφεί από κάποια πολιτική.</translation> <translation id="913195841488580904">Αποκλεισμός πρόσβασης σε μια λίστα διευθύνσεων URL</translation> <translation id="9135033364005346124">Ενεργοποίηση διακομιστή μεσολάβησης <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Μια λίστα επιτρεπόμενων που ελέγχει ποιες λειτουργίες γρήγορου ξεκλειδώματος μπορεί να ρυθμίσει ο χρήστης και να χρησιμοποιήσει για το ξεκλείδωμα της οθόνης κλειδώματος. + + Αυτή η τιμή αποτελεί μια λίστα συμβολοσειρών. Οι έγκυρες καταχωρίσεις της λίστας είναι οι παράμετροι: "all", "PIN". Η προσθήκη της παραμέτρου "all" στη λίστα σημαίνει ότι κάθε λειτουργία γρήγορου ξεκλειδώματος είναι διαθέσιμη στον χρήστη, συμπεριλαμβανομένων αυτών που θα εφαρμοστούν στο μέλλον. Διαφορετικά, θα είναι διαθέσιμες μόνο οι λειτουργίες γρήγορου ξεκλειδώματος που περιλαμβάνονται στη λίστα. + + Για παράδειγμα, για να επιτρέψετε κάθε λειτουργία γρήγορου ξεκλειδώματος, χρησιμοποιήστε την παράμετρο ["all"]. Για να επιτρέψετε μόνο το ξεκλείδωμα με PIN, χρησιμοποιήστε την παράμετρο ["PIN"]. Για να απενεργοποιήσετε όλες τις λειτουργίες γρήγορου ξεκλειδώματος χρησιμοποιήστε την παράμετρο []. + + Από προεπιλογή, δεν διατίθενται λειτουργίες γρήγορου ξεκλειδώματος για τις διαχειριζόμενες συσκευές.</translation> <translation id="9147029539363974059">Αποστολή αρχείων καταγραφής συστήματος στο διακομιστή διαχείρισης, ώστε να μπορούν οι διαχειριστές να παρακολουθούν τα αρχεία καταγραφής συστήματος. @@ -2787,6 +2800,11 @@ Αν αυτή η πολιτική δεν έχει καθοριστεί, αυτή θα ενεργοποιηθεί και ο χρήστης θα μπορεί να χρησιμοποιεί την κατάσταση ανώνυμης περιήγησης.</translation> <translation id="915194831143859291">Αν αυτή η πολιτική οριστεί σε "False" ή αν δεν οριστεί, το <ph name="PRODUCT_OS_NAME" /> θα επιτρέπει στο χρήστη να κλείνει τη συσκευή. Αν αυτή η πολιτική οριστεί σε "True", το <ph name="PRODUCT_OS_NAME" /> θα εκτελεί επανεκκίνηση, όταν ο χρήστης κλείνει τη συσκευή. Το <ph name="PRODUCT_OS_NAME" /> αντικαθιστά όλες τις εμφανίσεις των κουμπιών τερματισμού λειτουργίας στη διεπαφή χρήστη με κουμπιά επανεκκίνησης. Αν ο χρήστης κλείσει τη συσκευή χρησιμοποιώντας το κουμπί λειτουργίας, δεν θα γίνει αυτόματη επανεκκίνηση, ακόμη και αν η πολιτική είναι ενεργοποιημένη.</translation> +<translation id="917887642534332939">Αυτή η ρύθμιση ελέγχει την ελάχιστη έκταση του αριθμού PIN. + + Η απόλυτη ελάχιστη έκταση του αριθμού PIN είναι 1, ενώ οι τιμές που είναι μικρότερες του 1 αντιμετωπίζονται ως 1. + + Η προεπιλεγμένη και η συνιστώμενη ελάχιστη έκταση αριθμού PIN είναι 6 ψηφία.</translation> <translation id="9187743794267626640">Απενεργοποίηση σύνδεσης εξωτερικής συσκευής αποθήκευσης</translation> <translation id="9197740283131855199">Ποσοστό προσαρμογής της καθυστέρησης μείωσης της φωτεινότητας της οθόνης, αν ο χρήστης γίνει ενεργός μετά τη μείωση φωτεινότητας</translation> <translation id="9200828125069750521">Παράμετροι για τη διεύθυνση URL εικόνας που χρησιμοποιεί POST</translation>
diff --git a/components/policy/resources/policy_templates_en-GB.xtb b/components/policy/resources/policy_templates_en-GB.xtb index 593b495..d33df72 100644 --- a/components/policy/resources/policy_templates_en-GB.xtb +++ b/components/policy/resources/policy_templates_en-GB.xtb
@@ -1301,6 +1301,11 @@ For example patterns see https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Open a list of URLs</translation> <translation id="4680961954980851756">Enable AutoFill</translation> +<translation id="4722399051042571387">If false, users will be unable to set PINs which are weak and easy to guess. + + Some example weak PINs: PINs containing only one digit (1111), PINs whose digits are increasing by 1 (1234), PINs whose digits are decreasing by 1 (4321) and PINs which are commonly used. + + By default, users will get a warning, not error, if the PIN is considered weak.</translation> <translation id="4723829699367336876">Enable firewall traversal from remote access client</translation> <translation id="4725528134735324213">Enable Android Backup Service</translation> <translation id="4733471537137819387">Policies related to integrated HTTP authentication.</translation> @@ -1518,13 +1523,6 @@ When the value of this policy is set and is not 0 then the currently logged in demo user will be logged out automatically after an inactivity time of the specified duration has elapsed. The policy value should be specified in milliseconds.</translation> -<translation id="5506213378070007377">Information about the status of Android is sent back to the - server. - - If the policy is set to false, no status information is reported. - If set to true or left unset, status information is reported. - - This policy only applies if Android apps are enabled.</translation> <translation id="5511702823008968136">Enable Bookmark Bar</translation> <translation id="5512418063782665071">Home page URL</translation> <translation id="5523812257194833591">A public session to auto-login after a delay. @@ -1878,6 +1876,13 @@ If you choose to auto detect the proxy server, the script URL "http://wpad/wpad.dat" is provided to Android apps. No other part of the proxy auto-detection protocol is used. If you choose to use a .pac proxy script, the script URL is provided to Android apps.</translation> +<translation id="6435127182262044446">This setting controls the maximum PIN length. + + If this setting is 0 or less, there is no maximum length; the user can set a PIN as long as they want. + + If this setting is less than PinUnlockMinimumLength but greater than 0, the maximum length is the same as the minimum length. + + This setting defaults to no maximum length.</translation> <translation id="6467433935902485842">Allows you to set a list of url patterns that specify sites which are not allowed to run plug-ins. If this policy is left unset the global default value will be used for all sites either from the 'DefaultPlug-insSetting' policy, if it is set, or the user's personal configuration otherwise.</translation> @@ -2819,6 +2824,13 @@ The protocol handlers registered by policy are merged with the ones registered by the user and both are available for use. The user can override the protocol handlers installed by policy by installing a new default handler, but cannot remove a protocol handler registered by policy.</translation> <translation id="913195841488580904">Block access to a list of URLs</translation> <translation id="9135033364005346124">Enable <ph name="CLOUD_PRINT_NAME" /> proxy</translation> +<translation id="9136253551939494882">A whitelist controlling which quick unlock modes the user can configure and use to unlock the lock screen. + + This value is a list of strings; valid list entries are: 'all', 'PIN'. Adding 'all' to the list means that every quick unlock mode is available to the user, including ones implemented in the future. Otherwise, only the quick unlock modes present in the list will be available. + + For example, to allow every quick unlock mode, use ['all']. To allow only PIN unlock, use ['PIN']. To disable all quick unlock modes, use []. + + By default, no quick unlock modes are available for managed devices.</translation> <translation id="9147029539363974059">Send system logs to the management server, to allow admins to monitor system logs. @@ -2834,6 +2846,11 @@ If this policy is left unset, this will be enabled and the user will be able to use incognito mode.</translation> <translation id="915194831143859291">If this policy is set to false or not configured, <ph name="PRODUCT_OS_NAME" /> will allow the user to shut down the device. If this policy is set to true, <ph name="PRODUCT_OS_NAME" /> will trigger a reboot when the user shuts down the device. <ph name="PRODUCT_OS_NAME" /> replaces all occurrences of shutdown buttons in the UI by reboot buttons. If the user shuts down the device using the power button, it will not automatically reboot, even if the policy is enabled.</translation> +<translation id="917887642534332939">This setting controls the minimum PIN length. + + The absolute minimum PIN length is 1; values less than 1 are treated as 1. + + The default and recommended minimum PIN length is 6 digits.</translation> <translation id="9187743794267626640">Disable mounting of external storage</translation> <translation id="9197740283131855199">Percentage by which to scale the screen dim delay if the user becomes active after dimming</translation> <translation id="9200828125069750521">Parameters for image URL which uses POST</translation>
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb index 75e6bc7..2f70a5b 100644 --- a/components/policy/resources/policy_templates_es-419.xtb +++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">No permitir que ningún sitio rastree la ubicación física de los usuarios.</translation> <translation id="1049138910114524876">Establece la configuración regional que se aplica en la pantalla de acceso de <ph name="PRODUCT_OS_NAME" />. - Si se establece esta política, la pantalla de acceso mostrará siempre la configuración regional que indica el primer valor de esta política (la política se define como una lista para garantizar la compatibilidad). Si esta política no se establece o se establece una lista vacía, la pantalla de acceso mostrará la configuración regional de la última sesión de usuario. Si esta política se establece con un valor que no corresponde a una configuración regional válida, la pantalla de acceso mostrará una configuración regional de resguardo (la actual es en-US).</translation> + Si se establece esta política, la pantalla de acceso mostrará siempre la configuración regional que indica su primer valor (la política se define como una lista para otras futuras configuraciones). Si no se establece esta política o se establece una lista vacía, la pantalla de acceso mostrará la configuración regional de la última sesión de usuario. Si el valor de esta política no corresponde a una configuración regional válida, la pantalla de acceso mostrará una configuración de resguardo (la actual es en-US).</translation> <translation id="1062011392452772310">Habilita la atestación remota para el dispositivo.</translation> <translation id="1090892140761957285">URL para la validación del token de autenticación del cliente de acceso remoto @@ -993,7 +993,7 @@ <translation id="3915395663995367577">URL a un archivo proxy .pac</translation> <translation id="3926940573869375969">Establece los diseños de teclado compatibles con la pantalla de acceso de <ph name="PRODUCT_OS_NAME" />. - Si esta política se establece como una lista de identificadores de método de entrada, estos métodos de entrada estarán disponibles en la pantalla de acceso. El primero de ellos será el preseleccionado. Cuando el foco está puesto en el grupo del usuario en la pantalla de acceso, el método de entrada que el usuario utilizó de forma menos reciente estará disponible junto a los métodos de entrada especificados por esta política. Si esta política no se establece, los métodos de entrada de la pantalla de acceso se obtendrán a partir de la configuración regional que se muestra en la pantalla de acceso. Los valores que no sean identificadores válidos de métodos de entrada se ignorarán.</translation> + Si esta política se establece como una lista de identificadores de método de entrada, estos métodos estarán disponibles en la pantalla de acceso y se preseleccionará el primero de ellos. Cuando se activa un módulo de sesión de usuario en la pantalla de acceso, el último método de entrada que este utilizó estará disponible junto con aquellos que especifica esta política. Si no se establece esta política, los métodos de entrada de la pantalla de acceso se obtendrán a partir de la configuración regional que se muestra en la pantalla de acceso. Se ignorarán los valores que no sean identificadores válidos de métodos de entrada.</translation> <translation id="3939893074578116847">Envía paquetes de red al servidor de administración para controlar el estado en línea, lo que permite que el servidor detecte si el dispositivo está sin conexión. @@ -1217,6 +1217,11 @@ Para ver ejemplos de patrones, visita https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Abrir una lista de direcciones URL</translation> <translation id="4680961954980851756">Habilitar Autocompletar</translation> +<translation id="4722399051042571387">Si esta política es falsa, los usuarios no podrán establecer PIN poco seguros y fáciles de adivinar. + + Algunos ejemplos de PIN poco seguros: PIN que contienen un solo dígito (1111), PIN cuyos dígitos aumentan de a 1 (1234), PIN cuyos dígitos decrecen de a 1 (4321) y PIN de uso común. + + De manera predeterminada, si el PIN se considera poco seguro, los usuarios recibirán una advertencia, no un mensaje de error.</translation> <translation id="4723829699367336876">Habilitar el cruce seguro de firewall desde clientes de acceso remoto</translation> <translation id="4725528134735324213">Habilitar Android Backup Service</translation> <translation id="4733471537137819387">Políticas relacionadas con la autenticación de HTTP integrada</translation> @@ -1405,13 +1410,6 @@ Cuando se establece el valor de esta política y este no es 0, la sesión del usuario que haya accedido en ese momento en el modo de demostración se cerrará automáticamente una vez transcurrido el período de inactividad especificado. El valor de la política se debe especificar en milisegundos.</translation> -<translation id="5506213378070007377">La información sobre el estado de Android se envía nuevamente al - servidor. - - Si la política se establece como falsa, el estado no se informa. - Si se establece como verdadera o no se establece, el estado se informa. - - Esta política solo se aplica si están habilitadas las apps de Android.</translation> <translation id="5511702823008968136">Habilitar barra de favoritos</translation> <translation id="5512418063782665071">URL de la página principal</translation> <translation id="5523812257194833591">Una sesión pública para acceso automático después de una demora @@ -1748,6 +1746,13 @@ Si eliges detectar el servidor proxy de forma automática, las apps de Android reciben la URL "http://wpad/wpad.dat" de la secuencia de comandos. No se usa ninguna otra parte del protocolo de autodetección del proxy. Si eliges una secuencia de comandos .pac de proxy, las apps de Android reciben la URL de la secuencia de comandos.</translation> +<translation id="6435127182262044446">Esta configuración determina la longitud máxima del PIN. + + Si esta configuración se establece en 0 o menos, no habrá longitud máxima, por lo que el usuario podrá configurar un PIN con la longitud que desee. + + Si esta configuración es menor que PinUnlockMinimumLength, pero mayor que 0, la longitud máxima será la misma que la longitud mínima. + + La configuración predeterminada no establece una longitud máxima.</translation> <translation id="6467433935902485842">Te permite configurar una lista de patrones de URL que especifican los sitios que no están autorizados a ejecutar complementos. Si esta política no se configura, se usará el valor global predeterminado para todos los sitios, ya sea de la política "DefaultPluginsSetting", si está configurada, o de otro tipo de configuración personal del usuario.</translation> <translation id="6473334971332473690">Permite el uso de Smart Lock en dispositivos <ph name="PRODUCT_OS_NAME" />. @@ -2140,7 +2145,7 @@ Si una extensión no está en la lista o no se establece la lista, las llamadas a la API fallarán y se mostrará un código de error.</translation> <translation id="7625444193696794922">Especifica el canal de publicaciones al que debe conectarse este dispositivo.</translation> <translation id="7632724434767231364">Nombre de la biblioteca GSSAPI</translation> -<translation id="7635471475589566552">Al establecer la configuración regional de la aplicación en <ph name="PRODUCT_NAME" />, los usuarios no pueden cambiar la configuración regional. Si se habilita esta configuración, <ph name="PRODUCT_NAME" /> usará la configuración regional especificada. Si la configuración regional no se admite, se usará "en-US" en su lugar. Si esta opción se inhabilita o no se configura, <ph name="PRODUCT_NAME" /> usará la configuración regional preferida que haya especificado el usuario (si está configurada), la configuración regional del sistema o la configuración regional alternativa "en-US".</translation> +<translation id="7635471475589566552">Si se establece la configuración regional de la aplicación en <ph name="PRODUCT_NAME" />, los usuarios no podrán cambiarla. Si se habilita esta configuración, <ph name="PRODUCT_NAME" /> usará aquella que se especificó. Si la configuración regional no es compatible, se usará "en-US" en su lugar. Si esta opción se inhabilita o no se configura, <ph name="PRODUCT_NAME" /> usará la configuración regional preferida que haya especificado el usuario (si está configurada), la configuración regional del sistema o la configuración regional alternativa "en-US".</translation> <translation id="7638300388094655454">Google Cast</translation> <translation id="7651739109954974365">Determina si la itinerancia de datos debe activarse en el dispositivo. Si el valor se establece en "true", se permite la itinerancia de datos. Si no se configura o si se establece en "false", la itinerancia de datos no estará disponible.</translation> <translation id="76810863974142048">URL donde los clientes de acceso remoto deben obtener el token de autenticación. @@ -2640,6 +2645,13 @@ Los controladores de protocolo registrados por la política se fusionan con los registrados por el usuario, y todos están disponibles para utilizarse. El usuario puede anular los controladores de protocolos instalados por la política si instala un nuevo controlador predeterminado, pero no puede eliminar un controlador de protocolo registrado por la política.</translation> <translation id="913195841488580904">Bloquear el acceso a una lista de las URL</translation> <translation id="9135033364005346124">Habilitar el proxy de <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Una lista blanca que controla los métodos de desbloqueo rápido que el usuario puede configurar y usar para desbloquear la pantalla bloqueada. + + Este valor es una lista de strings; las entradas válidas para la lista son las siguientes: "todos" y "PIN". Si se agrega "todos" a la lista, el usuario podrá usar todos los métodos de desbloqueo rápido, entre los que se incluyen aquellos que se implementen en el futuro. De lo contrario, solo estarán disponibles los métodos de desbloqueo rápido que se enumeran en la lista. + + Por ejemplo, para permitir todos los métodos de desbloqueo rápido, se debe usar ["todos"]. Para permitir solo el desbloqueo con PIN, se debe usar ["PIN"]. Para inhabilitar todos los métodos de desbloqueo rápido, se debe usar []. + + De manera predeterminada, no está disponible ningún método de desbloqueo rápido para los dispositivos administrados.</translation> <translation id="9147029539363974059">Enviar registros del sistema al servidor de administración para permitir que los administradores supervisen los registros del sistema @@ -2648,6 +2660,11 @@ <translation id="9150416707757015439">Esta política no está aprobada. Usa IncognitoModeAvailability en su lugar. Esto habilita el modo incógnito en <ph name="PRODUCT_NAME" />. Si se habilita esta opción o si no se configura, los usuarios podrán abrir páginas web en modo incógnito. Si se inhabilita esta configuración, los usuarios no podrán abrir páginas web en modo incógnito. Si esta política no se configura, se habilitará esta opción y el usuario podrá usar el modo incógnito.</translation> <translation id="915194831143859291">Si esta política se establece en false o no se configura, <ph name="PRODUCT_OS_NAME" /> permitirá que el usuario apague el dispositivo. Si esta política se establece en true, <ph name="PRODUCT_OS_NAME" /> desencadenará un reinicio cuando el usuario apague el dispositivo. <ph name="PRODUCT_OS_NAME" /> reemplaza todos los botones de apagado de la UI por botones de reinicio. Si el usuario apaga el dispositivo con el botón de encendido, no se reiniciará automáticamente aunque la política esté habilitada.</translation> +<translation id="917887642534332939">Esta configuración determina la longitud mínima del PIN. + + El valor absoluto de la longitud mínima del PIN es 1; los valores menores que 1 se considerarán como 1. + + La longitud mínima del PIN predeterminada y recomendada es de 6 dígitos.</translation> <translation id="9187743794267626640">Inhabilitar la activación del almacenamiento externo</translation> <translation id="9197740283131855199">Indica el porcentaje en el que debe ajustarse el tiempo de espera de inactividad de la pantalla si el usuario vuelve a estar activo después de la inactividad.</translation> <translation id="9200828125069750521">Parámetros para URL de imagen que utiliza POST</translation>
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb index 1b848bb..b37b6b0 100644 --- a/components/policy/resources/policy_templates_es.xtb +++ b/components/policy/resources/policy_templates_es.xtb
@@ -26,9 +26,9 @@ Si se asigna el valor true o si la política no se configura, se informará sobre ellas.</translation> <translation id="1046484220783400299">Habilita funciones obsoletas de la plataforma web durante un período de tiempo limitado</translation> <translation id="1047128214168693844">No permitir que ningún sitio haga un seguimiento de la ubicación física de los usuarios</translation> -<translation id="1049138910114524876">Establece la configuración regional que se ha aplicado en la pantalla de inicio de sesión de <ph name="PRODUCT_OS_NAME" />. +<translation id="1049138910114524876">Establece la configuración regional que se fuerza a aplicar en la pantalla de inicio de sesión de <ph name="PRODUCT_OS_NAME" />. - Si se asigna un valor a esta política, la pantalla de inicio de sesión se mostrará siempre en la configuración regional proporcionada por el primer valor de esta política (esta se define como una lista de compatibilidad con versiones posteriores). Si no se le asigna ningún valor o se le asigna una lista vacía, la pantalla de inicio de sesión se mostrará en la configuración regional de la sesión del último usuario. Si el valor que se le asigna no es una configuración regional válida, la pantalla de inicio de sesión se mostrará en una configuración regional establecida antes (actualmente: en-US).</translation> + Si se asigna un valor a esta política, la pantalla de inicio de sesión se mostrará siempre en la configuración regional proporcionada por el primer valor de esta política (esta se define como lista para que sea compatible con versiones posteriores). Si no se le asigna ningún valor o se le asigna una lista vacía, la pantalla de inicio de sesión se mostrará en la configuración regional de la sesión del último usuario. Si el valor que se le asigna no es una configuración regional válida, la pantalla de inicio de sesión se mostrará en una configuración regional establecida antes (actualmente: en-US).</translation> <translation id="1062011392452772310">Habilitar confirmación remota para el dispositivo</translation> <translation id="1090892140761957285">URL para validar el token de autenticación del cliente de acceso remoto. @@ -1299,6 +1299,11 @@ Puedes consultar ejemplos de patrones en la página https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Abrir una lista de URLs</translation> <translation id="4680961954980851756">Habilitar Autocompletar</translation> +<translation id="4722399051042571387">Si se le asigna el valor false, los usuarios no podrán definir ningún PIN que no se considere seguro y que sea fácil de adivinar. + + Algunos ejemplos de PIN no seguros son: los que estén compuestos por un solo número (1111), aquellos que sigan una secuencia numérica ascendente (1234), los que sigan una secuencia numérica descendente (4321) y los que sean muy habituales. + + De forma predeterminada, si el PIN no se considera seguro, los usuarios recibirán una advertencia en lugar de un mensaje de error.</translation> <translation id="4723829699367336876">Habilita que se pueda pasar a través de un cortafuegos desde un host de acceso remoto.</translation> <translation id="4725528134735324213">Habilitar Android Backup Service</translation> <translation id="4733471537137819387">Políticas relacionadas con la autenticación HTTP integrada</translation> @@ -1513,13 +1518,6 @@ Cuando el valor de esta política se establece en un número distinto de 0, la sesión del usuario que haya iniciado sesión en ese momento en modo de demostración se cerrará automáticamente una vez que haya transcurrido el período de inactividad especificado. El valor de la política se debe especificar en milisegundos.</translation> -<translation id="5506213378070007377">La información sobre el estado de Android se envía al - servidor. - - Si se asigna el valor false a la política, no se proporcionará información sobre el estado. - Si se asigna el valor true o si la política no se configura, se proporcionará información sobre el estado. - - Esta política solo se aplica si las aplicaciones para Android están habilitadas.</translation> <translation id="5511702823008968136">Habilitar barra de marcadores</translation> <translation id="5512418063782665071">URL de la página de inicio</translation> <translation id="5523812257194833591">Permite indicar una sesión pública para el inicio de sesión automático después de una espera. @@ -1869,6 +1867,13 @@ Si quieres que se detecte automáticamente el servidor proxy, se proporcionará la URL del script "http://wpad/wpad.dat" a las aplicaciones de Android. No se utilizará ninguna otra parte del protocolo de detección automática del proxy. Si decides usar un script del proxy .pac, se proporcionará la URL del script a las aplicaciones de Android.</translation> +<translation id="6435127182262044446">Esta opción controla la longitud máxima que puede tener el PIN. + + Si se asigna a esta opción el valor 0 o uno inferior, el usuario puede crear un PIN con el número de dígitos que desee. + + Si se le asigna un valor inferior al de PinUnlockMinimumLenght pero superior a 0, la longitud máxima es la misma que la mínima. + + La configuración predeterminada no establece una longitud máxima.</translation> <translation id="6467433935902485842">Permite establecer una lista de patrones de URL para especificar sitios que no pueden ejecutar complementos. Si no se establece esta política, se usará para todos los sitios el valor general predeterminado que se indique en la política DefaultPluginsSetting (si se ha establecido) o el valor personalizado que haya definido el usuario (en caso contrario).</translation> @@ -2817,6 +2822,13 @@ Los controladores de protocolos registrados por la política se combinan con los registrados por el usuario, y ambos pueden utilizarse. El usuario puede anular los controladores de protocolos instalados por la política. Para ello, debe instalar un nuevo controlador predeterminado, pero no puede eliminar un controlador de protocolo registrado por la política.</translation> <translation id="913195841488580904">Bloquear el acceso a una lista de URL</translation> <translation id="9135033364005346124">Habilitar el proxy de <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Una lista blanca que controla los modos de desbloqueo rápido que el usuario puede configurar para desbloquear la pantalla de bloqueo. + + Este valor es una lista de cadenas cuyas entradas válidas son "all" y "PIN". Si se añade "all" a la lista, el usuario puede utilizar todos los modos de desbloqueo rápido, incluidos aquellos que añada en el futuro. En caso contrario, solo podrá usar los que se indiquen en la lista. + + Por ejemplo, selecciona ["all"] para permitir todos los modos de desbloqueo rápido y ["PIN"] para habilitar solo el desbloqueo mediante PIN. Si quieres inhabilitar todos los modos de desbloqueo rápido de la lista, utiliza []. + + De forma predeterminada, no se pueden utilizar modos de desbloqueo rápido en los dispositivos administrados.</translation> <translation id="9147029539363974059">Envía registros del sistema al servidor de administración para permitir que los administradores los supervisen. @@ -2831,6 +2843,11 @@ Si no se establece esta política, la opción estará habilitada y los usuarios podrán usar el modo de incógnito.</translation> <translation id="915194831143859291">Si se asigna el valor false a esta política o si esta no se configura, <ph name="PRODUCT_OS_NAME" /> permitirá al usuario apagar el dispositivo. Si se asigna el valor true, <ph name="PRODUCT_OS_NAME" /> reiniciará el dispositivo cuando el usuario lo apague. Cada vez que aparece un botón de apagado en la interfaz de usuario, <ph name="PRODUCT_OS_NAME" /> lo sustituye por un botón de reinicio. Sin embargo, si el usuario apaga el dispositivo con el botón de encendido, este no se reiniciará automáticamente, incluso si se ha habilitado la política.</translation> +<translation id="917887642534332939">Esta opción controla la longitud mínima que puede tener el PIN. + + La longitud mínima del PIN es de 1 dígito, por lo que todos los valores inferiores a 1 se considerarán como 1. + + La longitud mínima predeterminada y recomendada del PIN es de 6 dígitos.</translation> <translation id="9187743794267626640">Inhabilitar la activación del almacenamiento externo</translation> <translation id="9197740283131855199">Porcentaje que permite ajustar el tiempo de espera de inactividad de la pantalla si el usuario vuelve a ser activo después de la inactividad</translation> <translation id="9200828125069750521">Parámetros para URL de imagen que utiliza POST</translation>
diff --git a/components/policy/resources/policy_templates_et.xtb b/components/policy/resources/policy_templates_et.xtb index de3e957..8b9d5ece 100644 --- a/components/policy/resources/policy_templates_et.xtb +++ b/components/policy/resources/policy_templates_et.xtb
@@ -1287,6 +1287,11 @@ Vaadake näidismustreid aadressilt http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Ava URL-ide loend</translation> <translation id="4680961954980851756">Luba automaatne täitmine</translation> +<translation id="4722399051042571387">Kui see on vale, ei saa kasutajad määrata PIN-koode, mis on nõrgad ja hõlpsalt äraarvatavad. + + Mõned nõrga PIN-koodi näited: PIN-koodid, mis sisaldavad ainult ühte numbrit (1111); PIN-koodid, milles olevad numbrid suurenevad ühe võrra (1234); PIN-koodid, milles olevad numbrid vähenevad ühe võrra (4321); sageli kasutatavad PIN-koodid. + + Vaikimisi kuvatakse kasutajatele nõrga PIN-koodi korral hoiatus, mitte veateade.</translation> <translation id="4723829699367336876">Luba tulemüüri läbimine kaugjuurdepääsu kliendist</translation> <translation id="4725528134735324213">Androidi varundusteenuse lubamine</translation> <translation id="4733471537137819387">Integreeritud HTTP autentimisega seotud reeglid</translation> @@ -1499,13 +1504,6 @@ Kui reegli väärtus on määratud ja see ei ole 0, siis logitakse parasjagu sisselogitud demoversiooni kasutaja automaatselt välja pärast seda, kui määratud pikkusega mitteaktiivsuse perioodi lõpeb. Reegli väärtus peab olema määratud millisekundites.</translation> -<translation id="5506213378070007377">Androidi olekuteave saadetakse tagasi - serverisse. - - Kui reegel on määratud väärtusele Väär, ei edastata olekuteavet. - Kui reegel on määratud väärtusele Tõene, edastatakse olekuteavet. - - Reegel kehtib vaid juhul, kui Androidi rakendused on lubatud.</translation> <translation id="5511702823008968136">Luba järjehoidjariba</translation> <translation id="5512418063782665071">Avalehe URL</translation> <translation id="5523812257194833591">Avalik seanss automaatseks sisselogimiseks pärast viivitust. @@ -1862,6 +1860,13 @@ Kui otsustate puhverserveri automaatselt tuvastada, esitatakse Androidi rakendustele URL „http://wpad/wpad.dat”. Ühtegi teist puhverserveri automaatse tuvastamise protokolli osa ei kasutata. Kui otsustate kasutada puhverserveri skripti .pac, esitatakse Androidi rakendustele skripti URL.</translation> +<translation id="6435127182262044446">See seade juhib PIN-koodi maksimumpikkust. + + Kui seade väärtuseks on määratud 0 või väiksem väärtus, siis ei ole maksimumpikkust määratud; kasutaja saab määrata soovitud pikkusega PIN-koodi. + + Kui seade väärtus on väiksem kui PinUnlockMinimumLength, kuid suurem kui 0, siis on maksimum- ja miinimumpikkused võrdsed. + + Selle seade vaikeväärtuse puhul maksimumpikkust ei ole.</translation> <translation id="6467433935902485842">Võimaldab teil määrata URL-i mustrite loendi, mis määravad saidid, millel ei ole lubatud pistikprogramme käitada. Kui jätate selle reegli määramata, siis kasutatakse kõikide saitide puhul globaalset vaikeväärtust reeglist „DefaultPluginsSetting”, kui see on määratud, või kasutaja isiklikku konfigureerimist.</translation> @@ -2813,6 +2818,13 @@ Reegliga registreeritud protokollitöötlejad liidetakse kasutaja registreeritud töötlejatega ja mõlemad on kasutamiseks saadaval. Kasutajad saavad alistada reegliga installitud protokollitöötlejad, kui installivad uue vaiketöötleja, kuid nad ei saa eemaldada reegliga registreeritud protokollitöötlejat.</translation> <translation id="913195841488580904">URL-ide loendile juurdepääsu blokeerimine</translation> <translation id="9135033364005346124">Teenuse <ph name="CLOUD_PRINT_NAME" /> puhverserveri lubamine</translation> +<translation id="9136253551939494882">Lubatute loend, mis juhib seda, milliseid kiiravamisrežiime kasutaja saab lukustuskuva avamiseks seadistada ja kasutada. + + See väärtus on stringide loend; kehtivad loendikanded on „all”, „PIN”. Lisades loendile stringi „all", tähendab see, et kasutajale on saadaval kõik kiiravamisrežiimid (sh need, mis rakendatakse tulevikus). Muul juhul on saadaval ainult loendis olevad kiiravamisrežiimid. + + Kui soovite lubada näiteks kõik kiiravamisrežiimid, kasutage stringi ["all"]. Kui soovite lubada ainult PIN-koodiga avamise, kasutage stringi ["PIN"]. Kõikide kiiravamisrežiimide keelamiseks kasutage stringi []. + + Vaikimisi pole hallatud seadmetes saadaval ühtegi kiiravamisrežiimi.</translation> <translation id="9147029539363974059">Saadab süsteemilogid haldusserverisse, et administraatorid saaksid süsteemilogisid jälgida. @@ -2828,6 +2840,11 @@ Kui reeglit ei määrata, siis need lubatakse ja inkognito režiimi on võimalik kasutada.</translation> <translation id="915194831143859291">Kui reegel on määramata või seatud väärtusele Väär, lubab <ph name="PRODUCT_OS_NAME" /> kasutajal seadme välja lülitada. Kui reegel on seatud väärtusele Tõene ja kasutaja lülitab seadme välja, taaskäivitab <ph name="PRODUCT_OS_NAME" /> seadme. <ph name="PRODUCT_OS_NAME" /> asendab kasutajaliidese kõik väljalülitamisnupud taaskäivitusnuppudega. Kui kasutaja lülitab seadme toitenupuga välja, ei taaskäivitata seda automaatselt, isegi kui reegel on lubatud.</translation> +<translation id="917887642534332939">See seade juhib PIN-koodi miinimumpikkust. + + PIN-koodi absoluutne miinimumpikkus on 1; väärtusi, mis on ühest väiksemad, käsitletakse ühena. + + PIN-koodi vaike- ja soovitatav miinimumpikkus on kuus numbrit.</translation> <translation id="9187743794267626640">Keela välismäluseadmete ühendamine</translation> <translation id="9197740283131855199">Ekraani tumenduse viivituse skaleerimise määr protsentides, kui kasutaja muutub pärast tumendamist aktiivseks.</translation> <translation id="9200828125069750521">Parameetrid POST-meetodit kasutava kujutise URL-i jaoks</translation>
diff --git a/components/policy/resources/policy_templates_fa.xtb b/components/policy/resources/policy_templates_fa.xtb index 03ca378..b2a045e 100644 --- a/components/policy/resources/policy_templates_fa.xtb +++ b/components/policy/resources/policy_templates_fa.xtb
@@ -1208,6 +1208,11 @@ برای دیدن الگوهای نمونه به https://www.chromium.org/developers/how-tos/chrome-frame-getting-started بروید.</translation> <translation id="467449052039111439">باز کردن فهرستی از نشانیهای وب</translation> <translation id="4680961954980851756">فعال کردن قابلیت تکمیل خودکار</translation> +<translation id="4722399051042571387">اگر نادرست باشد، کاربر نمیتواند پینهای ضعیف که بهسادگی حدس زده میشوند، تنظیم کند. + + چند مثال از پینهای ضعیف: پینهایی که فقط از یک عدد تشکیل شدهاند (۱۱۱۱)، پینهای عددی افزایشی پشتسرهم (۱۲۳۴)، پینهای عددی کاهشی پشتسرهم (۴۳۲۱)، و پینهایی که معمولاً استفاده میشوند. + + بهطور پیشفرض، اگر پین ضعیف باشد، کاربر هشدار دریافت میکند، نه خطا.</translation> <translation id="4723829699367336876">فعال کردن پیمایش فایروال از سرویس گیرنده راه دور</translation> <translation id="4725528134735324213">فعال کردن Android Backup Service</translation> <translation id="4733471537137819387">خط مشیهای مربوط به راستیآزمایی یکپارچه HTTP.</translation> @@ -1395,12 +1400,6 @@ وقتی مقدار این خطمشی تنظیم شود و۰ نیست پس کاربری که الان وارد سیستم شده پس از سپری شدن مدت زمان مشخص شده برای عدم فعالیت بهطور خودکار از سیستم خارج میشود. مقدار خطمشی باید برحسب میلی ثانیه تنظیم شود.</translation> -<translation id="5506213378070007377">اطلاعات درباره وضعیت Android به سرور برگردانده میشود. - - اگر این خطمشی روی نادرست تنظیم شود، هیچی اطلاعاتی گزارش نمیشود. - اگر تنظیم نشده رها شود، اطلاعات وضعیت گزارش میشوند. - - تنها درصورتی که برنامههای Android فعال باشند، این خطمشی اعمال میشود.</translation> <translation id="5511702823008968136">فعال کردن نوار نشانک</translation> <translation id="5512418063782665071">نشانی وب صفحهاصلی</translation> <translation id="5523812257194833591">اجازه به یک جلسه عمومی برای ورود خودکار به سیستم پس از یک تأخیر. @@ -1733,6 +1732,13 @@ اگر شناسایی خودکار سرور پروکسی را انتخاب کنید، نشانی وب اسکریپت «http://wpad/wpad.dat» در اختیار برنامههای Android قرار داده میشود. هیچ بخش دیگری از پروتکل شناسایی خودکار پروکسی استفاده نمیشود. اگر استفاده از اسکریپت .pac را انتخاب کنید، نشانی وب اسکریپت در اختیار برنامههای Android قرار داده میشود.</translation> +<translation id="6435127182262044446">این تنظیم حداکثر طول پین را کنترل میکند. + + اگر این تنظیم روی ۰ یا کمتر باشد، طول حداکثری وجود نخواهد داشت و کاربر میتواند پینی با هر طولی که میخواهد تنظیم کند. + + اگر این تنظیم کمتر از PinUnlockMinimumLength اما بزرگتر از ۰ باشد، حداکثر طول با حداقل طول برابر میشود. + + این تنظیم پیشفرضی برای حداکثر طول ندارد.</translation> <translation id="6467433935902485842">به شما امکان میدهد فهرست الگوهای نشانی وب را برای سایتهایی که اجازه ندارند افزایهها را اجرا کنند تعیین کنید. اگر این قانون تنظیم نشده بماند، از مقدار پیشفرض عمومی برای تمام سایتها، خواه برگرفته از قانون "DefaultPluginsSetting" در صورت تنظیم بودن، خواه پیکربندی شخصی کاربر استفاده میشود.</translation> <translation id="6473334971332473690">استفاده از Smart Lock را در دستگاههای <ph name="PRODUCT_OS_NAME" /> مجاز میکند. @@ -2623,6 +2629,13 @@ کنترلکنندگان پروتکل ثبت شده توسط خطمشی با پروتکلهایی که توسط کاربر ثبت شدهاند، ادغام میشوند و هر دو برای استفاده در دسترس میباشند. کاربر میتواند کنترلکنندگان پروتکل نصب شده توسط خطمشی را از طریق نصب یک کنترلکننده پیشفرض جدید لغو کند اما نمیتواند کنترلکننده پروتکل ثبت شده توسط خطمشی را حذف نماید.</translation> <translation id="913195841488580904">مسدود کردن دسترسی به لیستی از URLها</translation> <translation id="9135033364005346124">فعال کردن پروکسی <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">فهرست مجازی برای کنترل حالتهای باز کردن سریع قفل که کاربر میتواند پیکربندی کند و برای قفل کردن و باز کردن قفل صفحه استفاده کند. + + این مقدار فهرستی از رشتهها است. فهرست ورودیهای معتبر عبارتند از: «all» («همه») و «PIN» («پین»). با افزودن «all» («همه») به فهرست، همه حالتهای سریع باز کردن قفل در دسترس کاربر خواهد بود، ازجمله حالتهایی که در آینده ایجاد شوند. درغیراینصورت، فقط حالتهای باز کردن سریع قفل موجود در فهرست دردسترس هستند. + + مثلاً، برای اجازه دادن به همه حالتهای باز کردن سریع قفل، از ["all"] استفاده کنید. برای اجازه دادن به باز کردن قفل فقط با پین، از ["PIN"] استفاده کنید. برای غیرفعال کردن همه حالتهای باز کردن سریع قفل، از [] استفاده کنید. + + بهطور پیشفرض، برای مدیریت دستگاه، هیچیک از حالتهای باز کردن سریع قفل در دسترس نیستند.</translation> <translation id="9147029539363974059">ارسال گزارشهای سیستم به سرور مدیریت، برای مجاز کردن سرپرستها جهت نظارت بر گزارشهای سیستمی. @@ -2631,6 +2644,11 @@ <translation id="9150416707757015439">این قانون قدیمی شده است. لطفاً به جای آن از IncognitoModeAvailability استفاده کنید. این قانون حالت ناشناس را در <ph name="PRODUCT_NAME" /> فعال میکند. اگر این گزینه فعال باشد یا تنظیم نشده باشد، کاربران میتوانند صفحات وب را در حالت ناشناس باز کنند. اگر این گزینه غیرفعال باشد، کاربران نمیتوانند صفحات وب را در حالت ناشناس باز کنند. اگر این گزینه بدون تنظیم باقی بماند، فعال میشود و کاربر میتواند از حالت ناشناس استفاده کند.</translation> <translation id="915194831143859291">اگر این خطمشی روی نادرست تنظیم شود یا پیکربندی نشود، <ph name="PRODUCT_OS_NAME" /> به کاربر اجازه میدهد دستگاه را خاموش کند. اگر این خطمشی روی درست تنظیم شود، <ph name="PRODUCT_OS_NAME" /> هنگامی که کاربر دستگاه را خاموش میکند، دوباره راهاندازی را آغاز میکند. <ph name="PRODUCT_OS_NAME" /> همه رخدادهای دکمه خاموش را در واسط کاربر با دکمه راهاندازی مجدد جایگزین میکند. اگر کاربر با استفاده از دکمه روشن/خاموش دستگاه را خاموش کند، دستگاه بهصورت خودکار راهاندازی مجدد نمیشود، حتی اگر خطمشی فعال باشد.</translation> +<translation id="917887642534332939">این تنظیم حداقل طول پین را کنترل میکند. + + کمترین طول برای پین ۱ است. مقادیر کمتر از ۱ معادل ۱ درنظر گرفته میشوند. + + حداقل طول پیشفرض و پیشنهادی پین ۶ است.</translation> <translation id="9187743794267626640">غیر فعال کردن نصب ذخیره سازی خارجی</translation> <translation id="9197740283131855199">درصدی که با آن تأخیر عدم فعالیت صفحه نمایش هنگامی که کاربر بعد از کم نور شدن صفحه فعال میشود، اندازهگیری میشود</translation> <translation id="9200828125069750521">پارامترهای نشانی وب تصویر که از POST استفاده میکند</translation>
diff --git a/components/policy/resources/policy_templates_fi.xtb b/components/policy/resources/policy_templates_fi.xtb index e1592a99..a3d2eac 100644 --- a/components/policy/resources/policy_templates_fi.xtb +++ b/components/policy/resources/policy_templates_fi.xtb
@@ -1224,6 +1224,11 @@ Esimerkkimalleja on osoitteessa http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Avaa seuraavat sivut:</translation> <translation id="4680961954980851756">Ota automaattinen täyttö käyttöön</translation> +<translation id="4722399051042571387">Jos asetuksen arvo on epätosi, käyttäjät eivät voi asettaa heikkoja tai helposti arvattavia PIN-koodeja. + + Heikkoja ovat esimerkiksi PIN-koodit, joissa käytetään vain yhtä numeroa (1111), joissa numerot ovat peräkkäisiä (1234 tai 4321) tai jotka ovat liian yleisiä. + + Oletuksena käyttäjät saavat varoituksen, eivät virheilmoitusta, jos PIN-koodia pidetään heikkona.</translation> <translation id="4723829699367336876">Ota käyttöön palomuurin siirto etäasiakkaasta</translation> <translation id="4725528134735324213">Ota käyttöön Android Backup Service</translation> <translation id="4733471537137819387">Integroituun HTTP-todennukseen liittyvät käytännöt.</translation> @@ -1413,13 +1418,6 @@ Jos käytännön arvoksi on asetettu muu arvo kuin 0, sillä hetkellä sisäänkirjautunut esittelykäyttäjä kirjataan ulos automaattisesti määritetyn käyttämättömyysajan kuluttua. Käytännön arvo tulee antaa millisekunteina.</translation> -<translation id="5506213378070007377">Androidin tilatiedot lähetetään takaisin - palvelimelle. - - Jos käytännön arvoksi on määritetty epätosi, tilatietoja ei lähetetä. - Jos käytännön arvoksi on määritetty tosi tai sitä ei ole määritetty, tilatiedot lähetetään. - - Tätä käytäntöä sovelletaan vain, jos Android-sovellukset on otettu käyttöön.</translation> <translation id="5511702823008968136">Ota kirjanmerkkipalkki käyttöön</translation> <translation id="5512418063782665071">Etusivun URL-osoite</translation> <translation id="5523812257194833591">Automaattinen kirjautuminen julkiseen istuntoon viiveen jälkeen. @@ -1757,6 +1755,13 @@ Jos välityspalvelin tunnistetaan automaattisesti, Android-sovelluksille toimitetaan http://wpad/wpad.dat-skriptin URL-osoite. Muita välityspalvelimien automaattisen tunnistusprotokollan osia ei käytetä. Jos otat käyttöön .pac-välityspalvelinskriptin, sen URL-osoite toimitetaan Android-sovelluksille.</translation> +<translation id="6435127182262044446">Tämä asetus määrittää PIN-koodin enimmäispituuden. + + Jos tämän asetuksen arvo on 0 tai sitä pienempi, PIN-koodilla ei ole enimmäispituutta ja käyttäjä voi asettaa haluamansa pituisen PIN-koodin. + + Jos asetuksen arvo on pienempi kuin PinUnlockMinimumLength-arvo mutta suurempi kuin 0, enimmäis- ja vähimmäispituudet ovat yhtä suuret. + + Asetuksen oletusarvo on, että enimmäispituutta ei rajoiteta.</translation> <translation id="6467433935902485842">Voit määrittää luettelon URL-malleja, joissa määritetään sivustot, jotka eivät saa suorittaa laajennuksia. Jos tätä käytäntöä ei ole määritetty, kaikille sivustoille käytetään joko DefaultPluginsSetting-käytännön yleistä oletusarvoa, jos se on asetettu, tai käyttäjän henkilökohtaisia määrityksiä.</translation> <translation id="6473334971332473690">Sallii Smart Lockin käytön laitteilla, joissa on <ph name="PRODUCT_OS_NAME" />. @@ -2652,6 +2657,13 @@ Käytännön avulla rekisteröidyt protokollan käsittelijät yhdistetään käyttäjän rekisteröimien käsittelijöiden kanssa, ja molemmat ovat käytettävissä. Käyttäjä voi ohittaa käytännön määrittämät protokollan käsittelijät asentamalla uuden oletuskäsittelijän. Käyttäjä ei kuitenkaan voi poistaa käytännön avulla rekisteröityjä protokollan käsittelijöitä.</translation> <translation id="913195841488580904">Estää URL-osoiteluettelon käytön</translation> <translation id="9135033364005346124">Ota välityspalvelin <ph name="CLOUD_PRINT_NAME" /> käyttöön</translation> +<translation id="9136253551939494882">Luettelo sallituista lukituksen pika-avaamisen tiloista, joita käyttäjä voi määrittää ja käyttää lukitusnäytön avaamiseen. + + Tämä arvo on merkkijonoluettelo; mahdollisia luettelokohtia ovat esimerkiksi "all" ja "PIN". Jos lisäät luetteloon "all", se tarkoittaa, että kaikki lukituksen pika-avaamisen tilat ovat käyttäjän käytettävissä, mukaan lukien tulevaisuudessa käyttöön otettavat. Muuten vain luettelossa mainitut lukituksen pika-avaamisen tilat ovat käytettävissä. + + Jos esimerkiksi haluat sallia kaikki lukituksen pika-avaamisen tilat, valitse ["all"]. Jos haluat sallia vain PIN-koodin avaamisen, valitse ["PIN"]. Jos haluat poistaa käytöstä kaikki lukituksen pika-avaamisen tilat, valitse []. + + Oletuksena mitkään lukituksen pika-avaamisen tilat eivät ole käytettävissä hallinnoiduilla laitteilla.</translation> <translation id="9147029539363974059">Lähettää hallintapalvelimelle järjestelmän lokitietoja ja sallii järjestelmänvalvojien seurata järjestelmälokeja. @@ -2660,6 +2672,11 @@ <translation id="9150416707757015439">Tämä käytäntö on vanhentunut. Käytä sen sijaan IncognitoModeAvailability-käytäntöä. Ottaa käyttöön incognito-tilan tuotteessa <ph name="PRODUCT_NAME" />. Jos tämä asetus on käytössä tai sitä ei ole määritetty, käyttäjät voivat avata verkkosivuja incognito-tilassa. Jos tämä asetus ei ole käytössä, käyttäjät eivät voi avata verkkosivuja incognito-tilassa. Jos käytäntöä ei ole asetettu, se otetaan käyttöön ja käyttäjät voivat käyttää incognito-tilaa.</translation> <translation id="915194831143859291">Jos tämän käytännön arvo on Epätosi tai jos sitä ei määritetä, <ph name="PRODUCT_OS_NAME" /> sallii käyttäjän sammuttaa laitteen. Jos tämän käytännön arvo on Tosi, <ph name="PRODUCT_OS_NAME" /> käynnistää laitteen uudelleen, jos käyttäjä sammuttaa sen. <ph name="PRODUCT_OS_NAME" /> korvaa käyttöliittymän kaikki sammutuspainikkeet uudelleenkäynnistyspainikkeilla. Jos käyttäjä käyttää sammuttamiseen laitteen virtapainiketta, laite ei käynnisty automaattisesti uudelleen, vaikka tämä käytäntö olisikin käytössä.</translation> +<translation id="917887642534332939">Tämä asetus määrittää PIN-koodin vähimmäispituuden. + + PIN-koodin ehdoton vähimmäispituus on 1; jos arvoksi määritetään alle 1, sitä käsitellään kuin se olisi 1. + + PIN-koodin suositeltu ja oletettu vähimmäispituus on 6 numeroa.</translation> <translation id="9187743794267626640">Estä ulkoisen tallennustilan käyttöönotto</translation> <translation id="9197740283131855199">Prosenttimäärä, jonka mukaan näytön himmennys skaalataan, jos käyttäjä on aktiivinen himmennyksen jälkeen</translation> <translation id="9200828125069750521">POST-metodia käyttävän kuvahaun URL-osoitteen parametrit</translation>
diff --git a/components/policy/resources/policy_templates_fil.xtb b/components/policy/resources/policy_templates_fil.xtb index 8f8648e3..a479c24a 100644 --- a/components/policy/resources/policy_templates_fil.xtb +++ b/components/policy/resources/policy_templates_fil.xtb
@@ -1289,6 +1289,11 @@ Para sa mga halimbawang pattern, tingnan ang https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Magbukas ng listahan ng mga URL</translation> <translation id="4680961954980851756">Paganahin ang AutoFill</translation> +<translation id="4722399051042571387">Kung false, hindi makakapagtakda ang mga user ng mga madaling mahulaan na PIN. + + Ilang halimbawa ng mga madaling mahulaan na PIN: Mga PIN na naglalaman lang ng magkakaparehong digit (1111), mga PIN na sunud-sunod ang bilang pataas (1234), mga PIN na sunud-sunod ang bilang pababa (4321), at mga PIN na karaniwang ginagamit. + + Bilang default, makakatanggap ng babala ang mga user, hindi ng error, kung itinuturing na madaling mahulaan ang PIN.</translation> <translation id="4723829699367336876">Paganahin ang firewall traversal mula sa client ng malayuang pag-access</translation> <translation id="4725528134735324213">I-enable ang Android Backup Service</translation> <translation id="4733471537137819387">Mga patakarang kaugnay ng pinagsamang pagpapatotoo ng HTTP.</translation> @@ -1502,13 +1507,6 @@ lumagpas na sa partikular na haba ng panahon ang oras na hindi ito nagamit. Dapat tukuyin sa milliseconds ang halaga ng patakaran.</translation> -<translation id="5506213378070007377">Ibinabalik ang impormasyon tungkol sa status ng Android sa - server. - - Kung nakatakda sa false ang patakaran, walang iuulat na impormasyon ng status. - Kung nakatakda sa true o hindi naitakda, iuulat ang impormasyon ng status. - - Naaangkop lang ang patakarang ito kung naka-enable ang mga Android app.</translation> <translation id="5511702823008968136">Paganahin ang Bookmark Bar</translation> <translation id="5512418063782665071">URL ng home page</translation> <translation id="5523812257194833591">Awtomatikong mala-log in ang isang pampublikong session pagkatapos ng delay. @@ -1866,6 +1864,13 @@ Kung pipiliin mong awtomatikong i-detect ang proxy server, ibibigay sa mga Android app ang script URL na "http://wpad/wpad.dat." Walang gagamiting ibang bahagi ng protocol ng awtomatikong pag-detect ng proxy. Kung pipiliin mong gumamit ng isang .pac proxy script, ibibigay sa mga Android app ang script URL.</translation> +<translation id="6435127182262044446">Kinokontrol ng setting na ito ang maximum na haba ng PIN. + + Kung ang setting na ito ay 0 o mas mababa, ibig sabihin ay walang maximum na haba; maaaring magtakda ang user ng kahit gaano kahabang PIN. + + Kung mas mababa sa PinUnlockMinimumLength ngunit mas mataas sa 0, magkapareho ang maximum at minimum na haba. + + Ang default sa setting na ito ay walang maximum na haba.</translation> <translation id="6467433935902485842">Binibigyang-daan kang magtakda ng isang listahan ng mga pattern ng url na hindi pinapayagang magpatakbo ng mga plugin. Kung hinayaang hindi nakatakda ang patakarang ito gagamitin ang global na default na halaga para sa lahat ng site mula sa patakarang 'DefaultPluginsSetting' kung nakatakda ito, o kung hindi man ay sa personal na configuration ng user.</translation> @@ -2818,6 +2823,13 @@ Ang mga tagapangasiwa ng protocol na irerehistro ng patakaran ay isasama sa mga inirehistro ng user, at available gamitin ang dalawang ito. Maaaring i-override ng user ang mga tagapangasiwa ng protocol na na-install ng patakaran sa pamamagitan ng pag-i-install ng bagong default na tagapangasiwa, ngunit hindi nila maaalis ang isang tagapangasiwa ng protocol na inirehistro ng patakaran.</translation> <translation id="913195841488580904">I-block ang access sa isang listahan ng mga URL</translation> <translation id="9135033364005346124">Paganahin ang <ph name="CLOUD_PRINT_NAME" /> proxy</translation> +<translation id="9136253551939494882">Isang whitelist na kumokontrol kung aling mga mode ng mabilisang pag-unlock ang maaaring i-configure at gamitin ng user upang i-unlock ang lock screen. + + Ang value na ito ay isang listahan ng mga string; ang mga wastong entry sa listahan ay: "lahat", "PIN." Kung idaragdag ang "lahat" sa listahan, magiging available sa user ang bawat mode ng mabilisang pag-unlock, kabilang ang mga ipapatupad sa hinaharap. Kung hindi naman, ang mga mode ng mabilisang pag-unlock lang na nasa listahan ang magiging available. + + Halimbawa, upang payagan ang bawat mode ng mabilisang pag-unlock, gamitin ang ["lahat"]. Upang payagan lang ang pag-unlock ng PIN, gamitin ang ["PIN"]. Upang i-disable ang lahat ng mode ng mabilisang pag-unlock, gamitin ang []. + + Bilang default, walang available na mode ng mabilisang pag-unlock para sa mga pinamamahalaang device.</translation> <translation id="9147029539363974059">Magpadala ng mga log ng system sa server sa pamamahala, upang payagan ang mga admin na subaybayan ang mga log ng system. @@ -2833,6 +2845,11 @@ Kung hinayaang hindi nakatakda ang patakarang ito, papaganahin ito at magagamit ng user ang mode na incognito.</translation> <translation id="915194831143859291">Kung nakatakda sa false o hindi naka-configure ang patakarang ito, papayagan ng <ph name="PRODUCT_OS_NAME" /> ang user na i-shut down ang device. Kung nakatakda sa true ang patakarang ito, magti-trigger ang <ph name="PRODUCT_OS_NAME" /> ng reboot kapag i-shut down ng user ang device. Papalitan ng <ph name="PRODUCT_OS_NAME" /> ang lahat ng button ng pag-shutdown sa UI ng mga button sa pag-reboot. Kung i-shut down ng user ang device gamit ang button ng power, hindi ito awtomatikong magre-reboot, kahit na naka-enable ang patakaran.</translation> +<translation id="917887642534332939">Kinokontrol ng setting na ito ang minimum na haba ng PIN. + + Ang ganap na minimum na haba ng PIN ay 1; ang mga value na mas mababa sa 1 ay itinuturing na 1. + + Ang default at inirerekomendang minimum na haba ng PIN ay 6 na digit.</translation> <translation id="9187743794267626640">Huwag paganahin ang pag-mount ng panlabas na storage</translation> <translation id="9197740283131855199">Porsyento na nase-scale ang pagkaantala ng pagdilim ng screen kapag naging aktibo ang user pagkatapos ng pagdilim</translation> <translation id="9200828125069750521">Mga parameter para sa URL ng larawan na gumagamit ng POST</translation>
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb index 45dfed7..f4e973a 100644 --- a/components/policy/resources/policy_templates_fr.xtb +++ b/components/policy/resources/policy_templates_fr.xtb
@@ -1065,7 +1065,7 @@ <translation id="3915395663995367577">URL d'un fichier .pac de proxy</translation> <translation id="3926940573869375969">Détermine les dispositions de clavier autorisées sur l'écran de connexion <ph name="PRODUCT_OS_NAME" />. - Si cette règle est définie sur une liste d'identifiants de modes de saisie, les modes de saisie indiqués sont disponibles sur l'écran de connexion. Le premier mode de saisie proposé est présélectionné. Lorsqu'un élément utilisateur est sélectionné sur l'écran de connexion, le mode de saisie utilisé le moins récemment par l'utilisateur est disponible en plus des modes de saisie fournis par cette règle. Si cette règle n'est pas définie, les modes de saisie sur l'écran de connexion sont dérivés des paramètres régionaux dans lesquels cet écran est affiché. Les valeurs qui ne constituent pas des identifiants de modes de saisie valides sont ignorées.</translation> + Si cette règle est définie sur une liste d'identifiants de modes de saisie, les modes de saisie indiqués sont disponibles sur l'écran de connexion. Le premier mode de saisie proposé est présélectionné. Lorsqu'un profil utilisateur est actif sur l'écran de connexion, le dernier mode de saisie utilisé par l'utilisateur est disponible en plus des modes de saisie fournis par cette règle. Si cette règle n'est pas définie, les modes de saisie sur l'écran de connexion sont dérivés des paramètres régionaux dans lesquels cet écran est affiché. Les valeurs qui ne constituent pas des identifiants de modes de saisie valides sont ignorées.</translation> <translation id="3939893074578116847">Envoyer des paquets réseau au serveur de gestion pour contrôler l'état en ligne, afin de lui permettre de détecter si l'appareil est hors connexion @@ -1313,6 +1313,11 @@ Pour voir des exemples de formats, accédez à l'adresse https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Ouvrir une liste d'URL</translation> <translation id="4680961954980851756">Activer la saisie automatique</translation> +<translation id="4722399051042571387">Si la règle est configurée sur "false", les utilisateurs ne pourront pas définir un code faible et facile à deviner. + + Quelques exemples de codes faibles : ceux qui ne contiennent qu'un chiffre (1111), les suites de chiffres croissantes (1234) et décroissantes (4321), et les codes trop communs. + + Par défaut, les utilisateurs recevront un avertissement, et non un message d'erreur, si le code saisi est considéré comme étant trop faible.</translation> <translation id="4723829699367336876">Activer la traversée de pare-feu depuis le client d'accès à distance</translation> <translation id="4725528134735324213">Activer Android Backup Service</translation> <translation id="4733471537137819387">Stratégies liées à l'authentification HTTP intégrée</translation> @@ -1532,15 +1537,6 @@ Lorsque sa valeur est configurée, et si elle ne correspond pas à 0, l'utilisateur connecté en mode démonstration est déconnecté automatiquement après la durée d'inactivité définie. Notez que la valeur de cette règle se mesure en millisecondes.</translation> -<translation id="5506213378070007377">Cette règle renvoie au serveur des informations sur l'état d'Android. - - - Si cette règle est définie sur "False", les informations ne sont pas - transmises. - Si cette règle est définie sur "True" ou si elle n'est pas configurée, - les informations sont transmises. - - Cette règle ne s'applique que si les applications Android sont activées.</translation> <translation id="5511702823008968136">Activer le barre de favoris</translation> <translation id="5512418063782665071">URL de la page d'accueil</translation> <translation id="5523812257194833591">Session publique à laquelle le système se connecte automatiquement après l'expiration du délai d'inactivité de l'utilisateur. @@ -1897,6 +1893,13 @@ Si vous choisissez de détecter automatiquement le serveur proxy, l'URL de script "http://wpad/wpad.dat" est transmise aux applications Android. Aucune autre partie du protocole d'auto-détection du proxy n'est utilisée. Si vous sélectionnez le script de proxy .pac, l'URL de script est fournie aux applications Android.</translation> +<translation id="6435127182262044446">Ce paramètre permet de contrôler le nombre maximal de caractères que peut contenir un code. + + Si ce paramètre est défini sur 0 ou une valeur inférieure, aucune limite maximale de caractères n'est appliquée. Les utilisateurs peuvent donc créer un code contenant le nombre de caractères qu'ils souhaitent. + + Si le nombre indiqué pour ce paramètre est inférieur à la valeur "PinUnlockMinimumLength", mais supérieur à 0, la limite maximale est identique à la limite minimale. + + Si ce paramètre n'est pas configuré, aucune limite maximale n'est appliquée par défaut.</translation> <translation id="6467433935902485842">Permet de définir une liste de formats d'URL spécifiant les sites qui ne sont pas autorisés à exécuter des plug-ins. Si cette règle n'est pas configurée, la valeur par défaut globale est utilisée pour tous les sites à partir de la règle "DefaultPluginsSetting", si elle est définie, ou à défaut, à partir de la configuration personnelle de l'utilisateur.</translation> @@ -2854,6 +2857,13 @@ Les gestionnaires de protocoles inscrits via la règle sont fusionnés avec ceux inscrits par l'utilisateur, et tous sont disponibles. L'utilisateur peut remplacer les gestionnaires de protocoles installés via la règle en installant un nouveau gestionnaire par défaut, mais il ne peut pas supprimer un gestionnaire de protocoles inscrit via la règle.</translation> <translation id="913195841488580904">Bloquer l'accès à une liste d'URL</translation> <translation id="9135033364005346124">Activer le proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Une liste blanche permet de contrôler les modes de déverrouillage rapide qui peuvent être configurés et utilisés par l'utilisateur pour déverrouiller l'écran de verrouillage. + + Il s'agit d'une liste de chaînes qui peuvent prendre les valeurs suivantes : "all", "PIN". Si "all" est sélectionné, tous les modes de déverrouillage rapide sont disponibles pour les utilisateurs, y compris ceux qui seront définis par la suite. Autrement, seuls les modes figurant dans la liste sont disponibles. + + Par exemple, pour autoriser tous les modes de déverrouillage rapide, utilisez ["all"]. Pour autoriser seulement le déverrouillage par code, utilisez ["PIN"]. Pour désactiver tous les modes de déverrouillage rapides, utilisez []. + + Par défaut, aucun mode de déverrouillage rapide n'est disponible pour les services gérés.</translation> <translation id="9147029539363974059">Envoyer des journaux système vers le serveur de gestion pour permettre aux administrateurs de les contrôler. @@ -2869,6 +2879,11 @@ Si cette règle n'est pas configurée, ce paramètre est activé et l'utilisateur est en mesure d'utiliser le mode navigation privée.</translation> <translation id="915194831143859291">Si la règle est définie sur "False" ou n'est pas configurée, <ph name="PRODUCT_OS_NAME" /> permet à l'utilisateur d'arrêter l'appareil. Si cette règle est définie sur "True", <ph name="PRODUCT_OS_NAME" /> déclenche un redémarrage lorsque l'utilisateur arrête l'appareil. <ph name="PRODUCT_OS_NAME" /> remplace toutes les occurrences des boutons d'arrêt de l'interface utilisateur par des boutons de redémarrage. Si l'utilisateur arrête l'appareil au moyen du bouton Marche/Arrêt, celui-ci ne redémarre pas automatiquement, même si la règle est activée.</translation> +<translation id="917887642534332939">Ce paramètre permet de contrôler le nombre minimal de caractères que peut contenir un code. + + Un code doit contenir au minimum 1 caractère ; les valeurs inférieures à 1 sont traitées comme égales à 1. + + Le nombre de caractères minimal recommandé par défaut est de 6.</translation> <translation id="9187743794267626640">Désactiver le montage de périphériques de stockage externe</translation> <translation id="9197740283131855199">Pourcentage d'adaptation du délai d'assombrissement de l'écran si l'utilisateur devient actif après la réduction de la luminosité</translation> <translation id="9200828125069750521">Paramètres pour l'URL d'image utilisant POST</translation>
diff --git a/components/policy/resources/policy_templates_gu.xtb b/components/policy/resources/policy_templates_gu.xtb index fa4e222..182dd161 100644 --- a/components/policy/resources/policy_templates_gu.xtb +++ b/components/policy/resources/policy_templates_gu.xtb
@@ -1288,6 +1288,11 @@ ઉદાહરણના પેટર્ન્સ માટે http://www.chromium.org/developers/how-tos/chrome-frame-getting-started જુઓ.</translation> <translation id="467449052039111439">URL ની સૂચિ ખોલો</translation> <translation id="4680961954980851756">સ્વતઃભરણ સક્ષમ કરો </translation> +<translation id="4722399051042571387">જો false હોય, તો વપરાશકર્તાઓ તેવા પિન સેટ કરવામાં અસમર્થ હશે કે જે નબળા અને અનુમાન કરવામાં સરળ હોય. + + નબળા પિન ના કેટલાક ઉદાહરણ: ફક્ત એક અંક (1111) ધરાવતાં પિન, પિન કે જેના અંક 1 થી વધે છે (1234), પિન કે જેના અંક 1 થી ઘટે છે (4321) અને પિન કે જે સામાન્ય રીતે ઉપયોગમાં લેવાય છે. + + ડિફૉલ્ટ તરીકે, જો પિન નબળો માનવામાં આવે, તો વપરાશકર્તાઓને એક ચેતવણી મળશે, ભૂલ નહીં.</translation> <translation id="4723829699367336876">રીમોટ ઍક્સેસ ક્લાયન્ટથી ફાયરવૉલ ટ્રાવર્સલને સક્ષમ કરો</translation> <translation id="4725528134735324213">Android બેકઅપ સેવા સક્ષમ કરો</translation> <translation id="4733471537137819387">એકીકૃત HTTP પ્રમાણીકરણથી સંબંધિત નીતિઓ.</translation> @@ -1504,13 +1509,6 @@ જ્યારે આ નીતિનું મૂલ્ય સેટ કરેલું હોય અને તે 0 નથી, ત્યારે હાલમાં લૉગ ઇન થયેલા ડેમો વપરાશકર્તા ઉલ્લેખિત અવધિનો નિષ્ક્રિયતા સમય પસાર થયા પછી આપમેળે લૉગઆઉટ થશે. નીતિ મૂલ્ય મીલિસેકન્ડ્સમાં ઉલ્લેખિત હોવું જોઈએ.</translation> -<translation id="5506213378070007377">Android ની સ્થિતિ વિશેની માહિતીને સર્વર પર પાછી મોકલવામાં આવે છે. - - જો નીતિ false પર સેટ કરેલ હોય, તો કોઈ સ્થિતિ માહિતીની જાણ કરવામાં નહીં આવે. - જો true પર સેટ કરેલ હોય અથવા તો સેટ કર્યા વિના છોડી દેવામાં આવી હોય, - તો સ્થિતિ માહિતીની જાણ કરવામાં આવે છે. - - જો Android ઍપ્લિકેશનો સક્ષમ કરેલ હોય તો જ આ નીતિ લાગુ થાય છે.</translation> <translation id="5511702823008968136">બુકમાર્ક બાર સક્ષમ કરો </translation> <translation id="5512418063782665071">હોમ પેજ URL</translation> <translation id="5523812257194833591">વિલંબ પછી સ્વતઃલોગિન કરવા માટે એક સાર્વજનિક સત્ર. @@ -1837,6 +1835,13 @@ જો તમે પ્રોક્સી સર્વર સ્વતઃ શોધો પસંદ કરો છો, તો Android ઍપ્લિકેશનોને સ્ક્રિપ્ટ URL "http://wpad/wpad.dat" પ્રદાન કરવામાં આવે છે. પ્રોક્સી સ્વતઃ-શોધ પ્રોટોકોલના કોઈ અન્ય ભાગનો ઉપયોગ કરવામાં આવતો નથી. જો તમે .pac પ્રોક્સી સ્ક્રિપ્ટ પસંદ કરો છો, તો Android ઍપ્લિકેશનોને સ્ક્રિપ્ટ URL પ્રદાન કરવામાં આવે છે.</translation> +<translation id="6435127182262044446">આ સેટિંગ પિન ની મહત્તમ લંબાઈને નિયંત્રિત કરે છે. + + જો આ સેટિંગ 0 અથવા તેનાથી ઓછી સંખ્યા પર હોય, તો કોઈ મહત્તમ લંબાઈ હોતી નથી; વપરાશકર્તા ઇચ્છે તેટલો લાંબો પિન સેટ કરી શકે છે. + + જો આ સેટિંગ પિનUnlockMinimumLength કરતાં ઓછી પરંતુ 0 કરતાં મોટી સંખ્યા હોય, તો મહત્તમ લંબાઈ, ન્યૂનત્તમ લંબાઈ જેટલી જ હોય છે. + + આ સેટિંગ ડિફૉલ્ટ તરીકે 'કોઈ મહત્તમ લંબાઈ નહીં' પર સેટ હોય છે.</translation> <translation id="6467433935902485842">પ્લગિન્સ ચલાવવાની મંજૂરી ન હોય તેવી સાઇટ્સનો ઉલ્લેખ કરતા url દાખલાની એક સૂચિ સેટ કરવાની મંજૂરી આપે છે. જો આ નીતિ સેટ કર્યા વિના છોડેલી છે, તો વૈશ્વિક ડિફૉલ્ટ મૂલ્ય બધી સાઇટ્સ માટે ઉપયોગમાં લેવાશે 'DefaultPluginsSetting' નીતિમાંથી જો તે સેટ કરેલી હોય તો અથવા તો વપરાશકર્તાની વ્યક્તિગત ગોઠવણીમાંથી.</translation> @@ -2790,6 +2795,13 @@ નીતિ દ્વારા નોંધણી કરેલા પ્રોટોકૉલ હેન્ડલર્સ, વપરાશકર્તાઓ દ્વારા નોંધણી કરેલ સાથે મર્જ થાય છે અને બન્ને ઉપયોગ માટે ઉપલબ્ધ રહે છે. વપરાશકર્તા એક નવા ડિફોલ્ટ હેન્ડલરને ઇન્સ્ટોલ કરીને નીતિ દ્વારા ઇન્સ્ટોલ કરેલા પ્રોટોકૉલ હેન્ડલર્સને ઓવરરાઇડ કરી શકે છે, પરંતુ નીતિ દ્વારા નોંધણી કરેલા પ્રોટોકૉલ હેન્ડલરને દૂર કરી શકતાં નથી.</translation> <translation id="913195841488580904">URLs ની સૂચિની ઍક્સેસને અવરોધિત કરો</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> પ્રોક્સી સક્ષમ કરો </translation> +<translation id="9136253551939494882">વ્હાઇટલિસ્ટ નિયંત્રણ જે તે મોડને ઝડપથી અનલૉક કરે છે કે જેને વપરાશકર્તા ગોઠવી શકે છે અને લૉક સ્ક્રીનને અનલૉક કરવા માટે ઉપયોગમાં લઈ શકે છે. + + આ મૂલ્ય, સ્ટ્રિંગની એક સૂચિ છે; માન્ય સૂચિ એન્ટ્રીઓ છે: "all", "પિન". "all" ને સૂચિમાં ઉમેરવાનો અર્થ છે ભવિષ્યમાં લાગુ કરેલ સહિત દરેક ઝડપી અનલૉક મોડ વપરાશકર્તાને ઉપલબ્ધ રહે છે. અન્યથા, સૂચિમાં હાજર ઝડપી અનલૉક મોડ જ ઉપલબ્ધ રહેશે. + + ઉદાહરણ તરીકે, દરેક ઝડપી અનલૉક મોડને મંજૂરી આપવા માટે, ["all"] નો ઉપયોગ કરો. ફક્ત પિન અનલૉકને મંજૂરી આપવા માટે, ["પિન"] નો ઉપયોગ કરો. તમામ ઝડપી અનલૉક મોડને અક્ષમ કરવા માટે, [] નો ઉપયોગ કરો. + + ડિફૉલ્ટ તરીકે, સંચાલિત ઉપકરણો માટે કોઈ ઝડપી અનલૉક મોડ ઉપલબ્ધ નથી.</translation> <translation id="9147029539363974059">વ્યવસ્થાપકોને સિસ્ટમ લોગ્સનું નિરીક્ષણ કરવાની મંજૂરી આપવા માટે સિસ્ટમ લોગ્સને સંચાલન સર્વર પર મોકલો. @@ -2806,6 +2818,11 @@ જો આ નીતિને સેટ કરવાની બાકી રહે છે, તો તેને સક્ષમ કરવામાં આવશે અને વપરાશકર્તાઓ છુપા મોડનો ઉપયોગ કરી શકશે.</translation> <translation id="915194831143859291">જો આ નીતિ false પર સેટ કરવામાં આવી હોય અથવા ગોઠવવામાં ન આવી હોય, તો <ph name="PRODUCT_OS_NAME" /> વપરાશકર્તાને ઉપકરણને શટ ડાઉન કરવાની મંજૂરી આપે છે. જો આ નીતિ true પર સેટ કરવામાં આવી હોય, તો જ્યારે વપરાશકર્તા ઉપકરણને શટ ડાઉન કરશે ત્યારે <ph name="PRODUCT_OS_NAME" /> એક રીબૂટ ટ્રિગર કરશે. <ph name="PRODUCT_OS_NAME" />, શટડાઉન બટનોની તમામ ઘટનાઓને UI માં રીબૂટ બટનો દ્વારા બદલે છે. જો વપરાશકર્તા પાવર બટનનો ઉપયોગ કરીને ઉપકરણને શટ ડાઉન કરે છે, તો નીતિ સક્ષમ હોય તો પણ તે આપમેળે રીબૂટ થશે નહીં.</translation> +<translation id="917887642534332939">આ સેટિંગ પિન ની ન્યૂનત્તમ લંબાઈને નિયંત્રિત કરે છે. + + પિન ની ચોક્કસ ન્યૂનત્તમ લંબાઈ 1 છે; સંખ્યા 1 કરતાં ઓછા મૂલ્યોને 1 તરીકે ગણવામાં આવે છે. + + ડિફૉલ્ટ અને ભલામણ કરેલ પિન ની ન્યૂનત્તમ લંબાઈ, 6 અંક છે.</translation> <translation id="9187743794267626640">બાહ્ય સ્ટોરેજનું માઉન્ટિંગ અક્ષમ કરો</translation> <translation id="9197740283131855199">જો વપરાશકર્તા મંદતા પછી સક્રિય થાય છે, તો જેના દ્વારા સ્કીન મંદતા વિલંબ માપવામાં આવે છે તે ટકાવારી</translation> <translation id="9200828125069750521">છબી URL માટેના પેરામીટર્સ જે POST નો ઉપયોગ કરે છે</translation>
diff --git a/components/policy/resources/policy_templates_hi.xtb b/components/policy/resources/policy_templates_hi.xtb index c163bc6..f086ffc 100644 --- a/components/policy/resources/policy_templates_hi.xtb +++ b/components/policy/resources/policy_templates_hi.xtb
@@ -504,7 +504,7 @@ यदि यह नीति सेट नहीं है या सही पर सेट की गई है और शून्य-विलंब स्वत: प्रवेश के लिए डिवाइस-स्थानीय खाता कॉन्फ़िगर किया गया है तथा डिवाइस में इंटरनेट की एक्सेस नहीं है, तो <ph name="PRODUCT_OS_NAME" /> नेटवर्क कॉन्फ़िगरेशन संकेत दिखाएगा. - यदि यह नीति गलत पर सेट है, तो नेटवर्क कॉन्फ़िगरेश संकेत के बजाय एक त्रुटि संदेश दिखाई देगा.</translation> + यदि यह नीति गलत पर सेट है, तो नेटवर्क कॉन्फ़िगरेश संकेत के बजाय एक गड़बड़ी संदेश दिखाई देगा.</translation> <translation id="2498238926436517902">अलमारी को हमेशा स्वत:-छिपाएं</translation> <translation id="2503514368596117142">Google Cast के लिए नीतियां कॉन्फ़िगर करें. यह एक ऐसी सुविधा है जिसकी मदद से उपयोगकर्ता ब्राउज़र से टैब, साइटों या डेस्कटॉप की सामग्रियों को दूरस्थ प्रदर्शन और ध्वनि सिस्टम पर भेज सकते हैं.</translation> <translation id="2514328368635166290">डिफ़ॉल्ट खोज प्रदाता का पसंदीदा आइकन URL निर्दिष्ट करता है. @@ -875,7 +875,7 @@ यदि आप यह नीति सेट करते हैं, तो उपयोगकर्ता इसे बदल या ओवरराइड नहीं कर सकते. नीति का मान मिलीसेकंड में निर्दिष्ट किया जाना चाहिए. मानों को 30 सेकंड से 24 घंटे की सीमा में क्लैम्प किया जाता है.</translation> -<translation id="3528000905991875314">वैकल्पिक त्रुटि पृष्ठों को सक्षम करें</translation> +<translation id="3528000905991875314">वैकल्पिक गड़बड़ी पृष्ठों को सक्षम करें</translation> <translation id="3538538104630456270">पासवर्ड देखने के लिए पुनः प्रमाणीकरण के शुरू होने से पहले संबद्ध सेटिंग का उपयोग किया था. तब से, उस सेटिंग का और इस पॉलिसी का Chrome के व्यवहार पर कोई प्रभाव नहीं पड़ता था. यदि पॉलिसी को पासवर्ड प्रबंधक सेटिंग पेज में स्पष्ट रूप से लेख में पासवर्ड दिखाना अक्षम करने पर सेट किया गया था, तो Chrome का वर्तमान व्यवहार अभी वही है. इसका अर्थ यह है कि सेटिंग पेज में बस प्लेसहोल्डर है और उपयोगकर्ता द्वारा केवल “दिखाएं” (और यदि लागू हो, तो पुनः प्रमाणीकरण) क्लिक करने पर Chrome पासवर्ड दिखा देता है. पॉलिसी का मूलभूत वर्णन निम्न का पालन करता है. यह नियंत्रित करती है कि क्या उपयोगकर्ता पासवर्ड प्रबंधक में पासवर्ड को स्पष्ट रूप से लेख में दिखा सकता है. @@ -1034,9 +1034,9 @@ यदि सेट नहीं की जाती या गलत पर सेट की जाती है, तो उपयोगकर्ता फ़ाइलों को Google डिस्क पर स्थानान्तरित कर सकेंगे.</translation> <translation id="3915395663995367577">proxy .pac फ़ाइल से URL</translation> -<translation id="3926940573869375969">ऐसे कीबोर्ड लेआउट कॉन्फ़िगर करती है जिनकी <ph name="PRODUCT_OS_NAME" /> प्रवेश स्क्रीन पर अनुमति है. +<translation id="3926940573869375969">यह कॉन्फ़िगर करती है कि <ph name="PRODUCT_OS_NAME" /> की प्रवेश स्क्रीन पर किन कीबोर्ड लेआउट की अनुमति है. - अगर यह नीति इनपुट विधि पहचानकर्ताओं की किसी सूची पर सेट है, तो दी गई इनपुट विधियां प्रवेश स्क्रीन पर उपलब्ध होंगी. पहली इनपुट विधि पहले से चुनी हुई होगी. हालांकि उपयोगकर्ता पॉड प्रवेश स्क्रीन पर फ़ोकस रहता है, फिर भी इस नीति की दी हुई इनपुट विधियों के अलावा उपयोगकर्ता की हाल ही में सबसे कम उपयोग की गई इनपुट विधि भी उपलब्ध होगी. अगर यह नीति सेट नहीं की गई है, तो प्रवेश स्क्रीन पर मौजूद इनपुट विधियों को उस भाषा से लिया जाएगा जिसमें प्रवेश स्क्रीन प्रदर्शित की गई है. जो मान, मान्य इनपुट विधि पहचानकर्ता नहीं हैं उन पर ध्यान नहीं दिया जाएगा.</translation> + अगर यह नीति इनपुट विधि पहचानकर्ताओं की किसी सूची पर सेट है, तो दी गई इनपुट विधियां प्रवेश स्क्रीन पर उपलब्ध होंगी. दी हुई पहली इनपुट विधि पहले से चुनी हुई होगी. हालांकि उपयोगकर्ता पॉड प्रवेश स्क्रीन पर फ़ोकस रहता है, फिर भी इस नीति की दी हुई इनपुट विधियों के अलावा उपयोगकर्ता की हाल ही में सबसे कम उपयोग की गई इनपुट विधि भी उपलब्ध होगी. अगर यह नीति सेट नहीं की गई है, तो प्रवेश स्क्रीन पर मौजूद इनपुट विधियों को उस भाषा से लिया जाएगा जिसमें प्रवेश स्क्रीन प्रदर्शित की गई है. जो मान, मान्य इनपुट विधि पहचानकर्ता नहीं हैं उन पर ध्यान नहीं दिया जाएगा.</translation> <translation id="3939893074578116847">ऑनलाइन स्थिति को मॉनीटर करने के लिए प्रबंधन सर्वर को नेटवर्क पैकेट भेजें, ताकि सर्वर यह पता लगा सके कि डिवाइस ऑफ़लाइन है या नहीं. @@ -1061,7 +1061,7 @@ यह सेटिंग उपयोगकर्ता को किसी ऐसे प्रबंधित डिवाइस में प्रवेश करने से नहीं रोकेगी जिसे Google प्रमाणीकरण की आवश्यकता होती है. उपयोगकर्ता अभी भी अन्य डोमेन के खातों में प्रवेश कर सकेगा, लेकिन उन खातों से Google Apps एक्सेस करने का - प्रयास करते समय उसे एक त्रुटि प्राप्त होगी. + प्रयास करते समय उसे एक गड़बड़ी प्राप्त होगी. यदि आप यह सेटिंग खाली/बिना कॉन्फ़िगर किए छोड़ देते हैं, तो उपयोगकर्ता किसी भी खाते से Google Apps एक्सेस कर सकेगा. @@ -1275,6 +1275,11 @@ उदाहरण पैटर्न के लिए https://www.chromium.org/developers/how-tos/chrome-frame-getting-started देखें.</translation> <translation id="467449052039111439">URL की कोई सूची खोलें</translation> <translation id="4680961954980851756">ऑटोमैटिक भरना सक्षम करें</translation> +<translation id="4722399051042571387">अगर यह गलत होता है, तो उपयोगकर्ता ऐसे पिन सेट नहीं कर पाएंगे, जो कमज़ोर होते हैं और जिनका आसानी से अनुमान लगाया जा सकता है. + + कमज़ोर पिन के कुछ उदाहरण: ऐसे पिन जिनमें केवल एक अंक होता है (1111), ऐसे पिन जो 1 से बढ़ते क्रम में होते हैं (1234), ऐसे पिन जो 1 तक घटते क्रम में होते हैं (4321) और ऐसे पिन जिनका सामान्य रूप से उपयोग किया जाता है. + + अगर पिन कमज़ोर माना जाता है, तो डिफ़ॉल्ट रूप से उपयोगकर्ताओं को चेतावनी दिखाई देगी, न कि गड़बड़ी.</translation> <translation id="4723829699367336876">रिमोट पहुंच क्लाइंट से फ़ायरवॉल ट्रेवर्सल सक्षम करें</translation> <translation id="4725528134735324213">Android Backup Service सक्षम करें</translation> <translation id="4733471537137819387">एकीकृत HTTP प्रमाणीकरण से संबंधित नीतियां.</translation> @@ -1316,7 +1321,7 @@ <translation id="4834526953114077364">पर्याप्त खाली स्थान नहीं होने तक, हाल ही में सबसे कम उपयोग करने वाले उन उपयोगकर्ताओं को निकाल दिया जाता है, जिन्होंने पिछले 3 माह में प्रवेश नहीं किया है</translation> <translation id="4838572175671839397">एक रेगुलर एक्सप्रेशन शामिल होता है, जिसका उपयोग यह निर्धारित करने में किया जाता है, कि कौन से उपयोगकर्ता <ph name="PRODUCT_NAME" /> में साइन कर सकते हैं. - यदि कोई उपयोगकर्ता ऐसे उपयोगकर्ता नाम से प्रवेश करने का प्रयास करता है, जिसका इस आकार से मिलान नहीं खाता है, तो एक उपयुक्त त्रुटि प्रदर्शित की जाती है. + यदि कोई उपयोगकर्ता ऐसे उपयोगकर्ता नाम से प्रवेश करने का प्रयास करता है, जिसका इस आकार से मिलान नहीं खाता है, तो एक उपयुक्त गड़बड़ी प्रदर्शित की जाती है. यदि इस नीति को सेट नहीं या खाली पर छोड़ दिया जाता है, तो कोई भी उपयोगकर्ता <ph name="PRODUCT_NAME" /> में प्रवेश कर सकता है.</translation> <translation id="4858735034935305895">पूर्ण स्क्रीन मोड की अनुमति दें</translation> @@ -1389,18 +1394,18 @@ * के प्रतिबंधित मान का अर्थ यह है कि सभी विस्तार प्रतिबंधित हैं और उपयोगकर्ता केवल श्वेतसूची में सूचीबद्ध विस्तार ही इंस्टॉल कर सकते हैं. सामान्य रूप से, सभी विस्तार श्वेतसूची में होते हैं, लेकिन यदि नीति के तहत सभी विस्तारों को प्रतिबंधित किया जाता है, तो नीति को ओवरराइड करने के लिए श्वेतसूची सूची का उपयोग किया जा सकता है.</translation> -<translation id="5192837635164433517">ऐसे वैकल्पिक त्रुटि पेजों का उपयोग सक्षम करती है जो <ph name="PRODUCT_NAME" /> में निर्मित होते हैं (जैसे 'पेज नहीं मिला') और उपयोगकर्ता को इस सेटिंग को बदलने से रोकती है. +<translation id="5192837635164433517">ऐसे वैकल्पिक गड़बड़ी पेजों का उपयोग सक्षम करती है जो <ph name="PRODUCT_NAME" /> में निर्मित होते हैं (जैसे 'पेज नहीं मिला') और उपयोगकर्ता को इस सेटिंग को बदलने से रोकती है. - यदि आप इस सेटिंग को सक्षम करते हैं, तो वैकल्पिक त्रुटि पेजों का उपयोग किया जाता है. + यदि आप इस सेटिंग को सक्षम करते हैं, तो वैकल्पिक गड़बड़ी पेजों का उपयोग किया जाता है. - यदि आप इस सेटिंग को अक्षम करते हैं, तो वैकल्पिक त्रुटि पेजों का उपयोग कभी भी नहीं किया जाता. + यदि आप इस सेटिंग को अक्षम करते हैं, तो वैकल्पिक गड़बड़ी पेजों का उपयोग कभी भी नहीं किया जाता. यदि आप इस सेटिंग को सक्षम या अक्षम करते हैं, तो उपयोगकर्ता <ph name="PRODUCT_NAME" /> में इस सेटिंग को बदल या इसे ओवरराइड नहीं कर सकते. यदि यह नीति सेट किए बिना छोड़ दी जाती है, तो यह सक्षम हो जाएगी लेकिन उपयोगकर्ता इसे बदल सकेगा.</translation> <translation id="5196805177499964601">डेवलपर मोड अवरुद्ध करें. - यदि यह नीति सही पर सेट की जाती है, तो <ph name="PRODUCT_OS_NAME" /> डिवाइस को डेवलपर मोड में बूट होने से रोकेगा. डेवलपर स्विच चालू होने पर सिस्टम बूट होने से मना कर देगा और एक त्रुटि स्क्रीन दिखाएगा. + यदि यह नीति सही पर सेट की जाती है, तो <ph name="PRODUCT_OS_NAME" /> डिवाइस को डेवलपर मोड में बूट होने से रोकेगा. डेवलपर स्विच चालू होने पर सिस्टम बूट होने से मना कर देगा और एक गड़बड़ी स्क्रीन दिखाएगा. यदि यह नीति सेट नहीं की जाती या गलत पर सेट की जाती है, तो डेवलपर मोड डिवाइस के लिए उपलब्ध रहेगा.</translation> <translation id="5208240613060747912">आपको उन url प्रतिमानों की सूची सेट करने देती है जो ऐसी साइटों को निर्दिष्ट करते हैं जिनमें प्रदर्शन नोटिफिकेशन की अनुमति है. @@ -1483,13 +1488,6 @@ जब इस नीति का मान सेट हो और वह 0 न हो, तो फिर वर्तमान में प्रवेश किया हुआ डेमो उपयोगकर्ता, निर्दिष्ट की गई निष्क्रियता अवधि निकल जाने के बाद स्वचालित रूप से लॉग आउट हो जाएगा. नीति का मान मिलिसेकंड में निर्दिष्ट किया जाना चाहिए.</translation> -<translation id="5506213378070007377">Android की स्थिति के बारे में जानकारी को सर्वर पर वापस भेजा - जाता है. - - यदि नीति गलत पर सेट है, तो किसी स्थिति जानकारी की रिपोर्ट नहीं की जाती है. - यदि सही पर सेट है या सेट किए बिना छोड़ा गया है, तो स्थिति जानकारी की रिपोर्ट की जाती है. - - यह नीति तभी लागू होती है यदि Android ऐप्लिकेशन सक्षम हों.</translation> <translation id="5511702823008968136">बुकमार्क बार सक्षम करें</translation> <translation id="5512418063782665071">मुखपृष्ठ URL</translation> <translation id="5523812257194833591">विलंब के बाद स्वत:-प्रवेश करने के लिए एक सार्वजनिक सत्र. @@ -1840,6 +1838,13 @@ यदि आप प्रॉक्सी सर्वर का अपने आप पता लगाना चुनते हैं, तो Android ऐप्लिकेशन को स्क्रिप्ट URL "http://wpad/wpad.dat" उपलब्ध कराया जाता है. प्रॉक्सी को अपने आप पहचानने वाले प्रोटोकॉल के अन्य किसी भी भाग का उपयोग नहीं किया जाता है. यदि आप .pac प्रॉक्सी स्क्रिप्ट का उपयोग करना चुनते हैं, तो Android ऐप्लिकेशन को स्क्रिप्ट URL उपलब्ध कराया जाता है.</translation> +<translation id="6435127182262044446">यह सेटिंग, पिन की अधिकतम लंबाई नियंत्रित करती है. + + अगर यह सेटिंग 0 या उससे कम होती है, तो कोई अधिकमत लंबाई नहीं है; उपयोगकर्ता जितना चाहें, उतना लंबा पिन सेट कर सकते हैं. + + अगर यह सेटिंग PinUnlockMinimumLength से कम लेकिन 0 से ज़्यादा होती है, तो अधिकतम लंबाई और न्यूनतम लंबाई समान होती हैं. + + इस सेटिंग में डिफ़ॉल्ट रूप से कोई अधिकतम लंबाई सेट नहीं होती है.</translation> <translation id="6467433935902485842">आपको उन url प्रतिमानों की सूची सेट करने देती है, जो प्लग इन चलाने के लिए अस्वीकृत साइटों को निर्दिष्ट करती है. यदि यह नीति सेट किए बिना छोड़ दी गई हो तो सभी साइटों के लिए वैश्विक डिफ़ॉल्ट मान का उपयोग या तो 'DefaultPluginsSetting' नीति के सेट होने पर उससे, या अन्यथा उपयोगकर्ता के व्यक्तिगत कॉन्फ़िगरेशन से किया जाएगा.</translation> <translation id="6473334971332473690"><ph name="PRODUCT_OS_NAME" /> डिवाइसों पर Smart Lock के उपयोग की अनुमति देती है. @@ -2762,6 +2767,13 @@ नीति द्वारा पंजीकृत प्रोटोकॉल प्रबंधकों को उपयोगकर्ता द्वारा पंजीकृत कराए गए प्रबंधकों के साथ मर्ज किया जाता है और दोनों ही उपयोग के लिए उपलब्ध रहते हैं. उपयोगकर्ता, नए डिफ़ॉल्ट प्रबंधक को इंस्टॉल करके नीति द्वारा इंस्टॉल किए गए प्रोटोकॉल प्रबंधकों को ओवरराइड कर सकता है, लेकिन नीति द्वारा पंजीकृत कराए गए प्रोटोकॉल प्रबंधक को निकाल नहीं सकता.</translation> <translation id="913195841488580904">URL की सूची पर पहुंच अवरूद्ध करें</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> प्रॉक्सी सक्षम करें</translation> +<translation id="9136253551939494882">लॉक स्क्रीन को अनलॉक करने के लिए उपयोगकर्ता किन झटपट अनलॉक करने के मोड को कॉन्फ़िगर कर सकता है और किन मोड का उपयोग कर सकता है, इसे एक श्वेतसूची नियंत्रित करती है. + + यह मान, स्ट्रिंग की एक सूची होता है; मान्य सूची प्रविष्टियां इस प्रकार हैं: "सभी", "पिन". सूची में "सभी" जोड़ने का मतलब यह होता है कि झटपट अनलॉक करने का हर एक मोड उपयोगकर्ता के लिए उपलब्ध है, जिसमें भविष्य में लागू होने वाले मोड शामिल हैं. अन्यथा, केवल सूची में मौजूद झटपट अनलॉक करने के मोड ही उपलब्ध होंगे. + + उदाहरण के लिए, हर एक झटपट अनलॉक करने के मोड को अनुमति देने के लिए, ["सभी"] का उपयोग करें. केवल पिन अनलॉक की अनुमति देने के लिए, ["पिन"] का उपयोग करें. झटपट अनलॉक करने के सभी मोड अक्षम करने के लिए , [] का उपयोग करें. + + डिफ़ॉल्ट रूप से, प्रबंधित डिवाइस के लिए झटपट अनलॉक करने का कोई मोड उपलब्ध नहीं होता है.</translation> <translation id="9147029539363974059">व्यवस्थापकों को सिस्टम लॉग की निगरानी करने देने के लिए, प्रबंधन सर्वर को सिस्टम लॉग भेजें. @@ -2770,6 +2782,11 @@ <translation id="9150416707757015439">यह नीति अनुचित है. कृपया, इसके बजाय IncognitoModeAvailability का उपयोग करें. <ph name="PRODUCT_NAME" /> में गुप्त मोड सक्षम करता है. यदि यह सेटिंग सक्षम की जाती है या कॉन्फ़िगर नहीं की जाती है, तो उपयोगकर्ता गुप्त मोड में वेब पेज खोल सकते हैं. यदि यह सेटिंग अक्षम होती है, तो उपयोगकर्ता गुप्त मोड में वेब पेज नहीं खोल सकते. यदि इस नीति को बिना सेट किए छोड़ दिया जाता है, तो यह सक्षम हो जाएगी और उपयोगकर्ता गुप्त मोड का उपयोग कर सकेंगे.</translation> <translation id="915194831143859291">यदि यह पॉलिसी असत्य पर सेट होती है या कॉन्फ़िगर नहीं की जाती है, तो <ph name="PRODUCT_OS_NAME" /> उपयोगकर्ता को डिवाइस को बंद करने देगा. यदि यह पॉलिसी सत्य पर सेट होती है, तो <ph name="PRODUCT_OS_NAME" /> उपयोगकर्ता द्वारा डिवाइस को बंद करने पर एक रीबूट ट्रिगर करेगा. <ph name="PRODUCT_OS_NAME" /> UI में शटडाउन बटर की सभी आवृत्तियों को रीबूट बटनों से प्रतिस्थापित कर देता है. यदि उपयोगकर्ता पावर बटन का उपयोग करके डिवाइस को बंद कर देता है, तो वह अपने आप बूट नहीं होगा, भले ही पॉलिसी को सक्षम हो.</translation> +<translation id="917887642534332939">यह सेटिंग पिन की न्यूनतम लंबाई नियंत्रित करती है. + + पिन की निरपेक्ष न्यूनतम लंबाई 1 है; 1 से कम मानों को 1 माना जाता है. + + पिन की डिफ़ॉल्ट और अनुशंसित न्यूनतम लंबाई 6 अंक है.</translation> <translation id="9187743794267626640">बाहरी मेमोरी का माउंटिंग अक्षम करें</translation> <translation id="9197740283131855199">मंद होने के बाद उपयोगकर्ता के सक्रिय होने पर, मंद स्क्रीन विलंब को मापने वाला प्रतिशत</translation> <translation id="9200828125069750521">POST उपयोग करने वाले चित्र URL के लिए पैरामीटर</translation>
diff --git a/components/policy/resources/policy_templates_hr.xtb b/components/policy/resources/policy_templates_hr.xtb index 8d3c8fa..da2df9df 100644 --- a/components/policy/resources/policy_templates_hr.xtb +++ b/components/policy/resources/policy_templates_hr.xtb
@@ -1001,7 +1001,7 @@ <translation id="3915395663995367577">URL prema proxy .pac datoteci</translation> <translation id="3926940573869375969">Konfigurira koji su rasporedi tipkovnice dopušteni na zaslonu za prijavu za <ph name="PRODUCT_OS_NAME" />. - Ako se to pravilo postavi na popis identifikatora načina unosa, pruženi načini unosa bit će dostupni na zaslonu za prijavu. Prvi pruženi način unosa bit će odabran unaprijed. Iako je korisnički modul usmjeren na zaslon za prijavu, način unosa koji je korisnik upotrebljavao najdalje u prošlosti bit će dostupan uz načine unosa pružene ovim pravilom. Ako se to pravilo ne postavi, načini unosa na zaslonu za prijavu izvest će se iz jezika na kojem se prikazuje zaslon za prijavu. Zanemarit će se vrijednosti koje nisu važeći identifikatori načina unosa.</translation> + Ako se to pravilo postavi na popis identifikatora načina unosa, zadani načini unosa bit će dostupni na zaslonu za prijavu. Prvi zadani način unosa bit će odabran unaprijed. Kad je korisnički modul aktiviran na zaslonu za prijavu, uz načine unosa zadane ovim pravilom bit će dostupan i način unosa koji je korisnik zadnji upotrebljavao. Ako se to pravilo ne postavi, načini unosa na zaslonu za prijavu izvest će se iz jezika na kojem se prikazuje zaslon za prijavu. Zanemarit će se vrijednosti koje nisu važeći identifikatori načina unosa.</translation> <translation id="3939893074578116847">Slanje mrežnih paketa poslužitelju za upravljanje radi praćenja online statusa kako bi poslužitelj mogao otkriti je li uređaj offline. @@ -1224,6 +1224,11 @@ Primjere uzoraka pogledajte na https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Otvori popis URL-ova</translation> <translation id="4680961954980851756">Omogući Automatsko popunjavanje</translation> +<translation id="4722399051042571387">Ako se postavi na False, korisnici neće moći postavljati PIN-ove koji su slabi ili ih je lako odgonetnuti. + + Primjeri slabih PIN-ova uključuju: PIN-ove koji se sastoje od jedne te iste znamenke (1111), PIN-ove u kojima se znamenke povećavaju za 1 (1234), PIN-ove u kojima se znamenke smanjuju za 1 (4321) i PIN-ove koji su previše česti. + + Prema zadanim postavkama korisnicima će se prikazivati upozorenje, a ne pogreška, ako se PIN smatra slabim.</translation> <translation id="4723829699367336876">Omogući prijelaz vatrozida iz klijenta za daljinski pristup</translation> <translation id="4725528134735324213">Omogući Androidovu uslugu sigurnosnog kopiranja</translation> <translation id="4733471537137819387">Pravila koja se odnose na integriranu HTTP autentifikaciju.</translation> @@ -1418,13 +1423,6 @@ Kada je vrijednost tog pravila postavljena i nije 0, trenutačno prijavljeni korisnik demo verzije automatski će biti odjavljen nakon isteka razdoblja neaktivnosti određenog trajanja. Vrijednost pravila treba odrediti u milisekundama.</translation> -<translation id="5506213378070007377">Informacije o statusu Androida šalju se - poslužitelju. - - Ako se to pravilo postavi na False, informacije se neće prijavljivati. - Ako se postavi na True ili se ne postavi, informacije će se prijavljivati. - - To se pravilo primjenjuje samo ako su omogućene Androidove aplikacije.</translation> <translation id="5511702823008968136">Omogući traku Knjižne oznake</translation> <translation id="5512418063782665071">URL početne stranice</translation> <translation id="5523812257194833591">Automatska prijava u javnu sesiju nakon odgode. @@ -1761,6 +1759,13 @@ Ako odaberete automatsko otkrivanje proxy poslužitelja, URL skripte "http://wpad/wpad.dat" pruža se Android aplikacijama. Ne upotrebljava se nijedan drugi dio protokola za automatsko otkrivanje proxyja. Ako odaberete .pac skriptu proxyja, URL skripte pruža se Android aplikacijama.</translation> +<translation id="6435127182262044446">Ta postavka kontrolira maksimalnu duljinu PIN-a. + + Ako je ta postavka 0 ili manje, nema maksimalne duljine i korisnik može odabrati PIN bilo koje duljine. + + Ako je ta postavka manja od PinUnlockMinimumLength, ali veća od 0, maksimalna duljina jednaka je minimalnoj. + + Za tu postavku ne postoji maksimalna zadana duljina.</translation> <translation id="6467433935902485842">Omogućuje postavljanje popisa uzoraka URL-ova koji određuju stranice koje ne smiju pokretati dodatke. Ako ovo pravilo nije postavljeno, upotrebljavat će se globalna zadana vrijednost za sve web-lokacije iz pravila "DefaultPluginsSetting" ako je ono postavljeno, odnosno iz osobne konfiguracije korisnika ako nije.</translation> <translation id="6473334971332473690">Omogućuje upotrebu Smart Locka na <ph name="PRODUCT_OS_NAME" /> uređajima. @@ -2645,6 +2650,13 @@ Rukovatelji protokola koji su registrirani pravilom spojeni su s onima koje je registrirao korisnik i za upotrebu su dostupne obje vrste rukovatelja. Korisnik može nadjačati rukovatelje protokola instalirane pravilom tako što će instalirati novog zadanog rukovatelja, ali ne može ukloniti onoga koji je pravilom registriran.</translation> <translation id="913195841488580904">Blokiranje pristupa popisu URL-ova</translation> <translation id="9135033364005346124">Omogući <ph name="CLOUD_PRINT_NAME" /> proxy</translation> +<translation id="9136253551939494882">Popis dopuštenih načina otključavanja koji kontrolira koje brze načine otključavanja korisnik može konfigurirati i upotrebljavati za otključavanje zaključanog zaslona. + + Ta je vrijednost popis nizova. Važeći su unosi na popisu: "all" i "PIN". Ako se na popis doda "all", to znači da su korisniku dostupni svi brzi načini otključavanja, uključujući one koji će se tek implementirati. U suprotnom će biti dostupni samo brzi načini otključavanja navedeni na popisu. + + Na primjer, da biste dopustili sve brze načine otključavanja, upotrijebite ["all"]. Da biste dopustili samo otključavanje PIN-om, upotrijebite ["PIN"]. Da biste onemogućili sve brze načine otključavanja, upotrijebite []. + + Prema zadanim postavkama za upravljane uređaje nije dostupan nijedan brzi način otključavanja.</translation> <translation id="9147029539363974059">Šalje zapisnike sustava poslužitelju za upravljanje da bi se administratorima omogućilo praćenje zapisnika sustava. @@ -2653,6 +2665,11 @@ <translation id="9150416707757015439">Ovo je pravilo zastarjelo. Umjesto njega upotrijebite "IncognitoModeAvailability". Omogućuje anonimni način u proizvodu <ph name="PRODUCT_NAME" />. Ako je ova postavka omogućena ili nije konfigurirana, korisnici mogu otvarati web-stranice u anonimnom načinu. Ako je postavka onemogućena, korisnici ne mogu otvarati stranice u anonimnom načinu. Ako ovo pravilo nije postavljeno, to će biti omogućeno i korisnik će moći upotrebljavati anonimni način.</translation> <translation id="915194831143859291">Ako se to pravilo postavi na "netočno" ili se ne konfigurira, <ph name="PRODUCT_OS_NAME" /> dopustit će korisniku isključivanje uređaja. Ako se pravilo postavi na "točno", <ph name="PRODUCT_OS_NAME" /> ponovo će pokrenuti uređaj kada ga korisnik isključi. <ph name="PRODUCT_OS_NAME" /> zamjenjuje sve gumbe za isključivanje na korisničkom sučelju gumbima za ponovno pokretanje. Ako korisnik isključi uređaj tipkom za uključivanje/isključivanje, uređaj se neće automatski ponovo pokrenuti, čak ni ako je to pravilo omogućeno.</translation> +<translation id="917887642534332939">Ta postavka kontrolira minimalnu duljinu PIN-a. + + Apsolutna je minimalna duljina PIN-a 1. Vrijednosti manje od 1 tretiraju se kao 1. + + Zadana i preporučena minimalna duljina PIN-a iznosi 6 znamenki.</translation> <translation id="9187743794267626640">Onemogući priključivanje vanjske pohrane</translation> <translation id="9197740283131855199">Postotak skaliranja odgode zatamnjivanja zaslona ako korisnik postane aktivan nakon zatamnjivanja</translation> <translation id="9200828125069750521">Parametri za URL slike koji upotrebljava POST</translation>
diff --git a/components/policy/resources/policy_templates_hu.xtb b/components/policy/resources/policy_templates_hu.xtb index cd06e2ea..b4008b2 100644 --- a/components/policy/resources/policy_templates_hu.xtb +++ b/components/policy/resources/policy_templates_hu.xtb
@@ -1222,6 +1222,11 @@ Példamintákért lásd a következő címet: https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Nyisson meg egy URL-listát</translation> <translation id="4680961954980851756">Automatikus kitöltés engedélyezése</translation> +<translation id="4722399051042571387">Ha hamisra van állítva, a felhasználók nem tudnak majd gyenge vagy könnyen kitalálható jelszót beállítani. + + Néhány példa a gyenge PIN-kódra: egy számjegyet ismétlő PIN-kódok (1111), egyesével növekvő számsorból álló PIN-kódok (1234), egyesével csökkenő számsorból álló PIN-kódok (4321) és a gyakran használt PIN-kódok. + + Alapértelmezés szerint gyengének minősülő PIN-kódok esetén csak figyelmeztetjük a felhasználókat, és nem kapnak hibaüzenetet.</translation> <translation id="4723829699367336876">Engedélyezze a tűzfalon való átjárást a távoli ügyfelek felől</translation> <translation id="4725528134735324213">Az Android Backup Service engedélyezése</translation> <translation id="4733471537137819387">Az integrált HTTP-hitelesítéssel kapcsolatos szabályok.</translation> @@ -1411,13 +1416,6 @@ Amikor a házirend be van állítva, és az értéke nem 0, akkor az aktuális bejelentkezett bemutatófelhasználót a rendszer meghatározott idő elteltével automatikusan kijelentkezteti. A házirend értékét ezredmásodpercben kell megadni.</translation> -<translation id="5506213378070007377">Információk küldése az Android állapotáról a - szervernek. - - Ha a házirend értéke hamis, akkor nem készül jelentés az állapotadatokról. - Ha a beállítás igaz vagy nincs megadva, az állapotadatokról jelentés készül. - - A házirend csak akkor van érvényben, ha engedélyezve vannak az Android-alkalmazások.</translation> <translation id="5511702823008968136">Könyvjelzősáv engedélyezése</translation> <translation id="5512418063782665071">Kezdőoldal URL-je</translation> <translation id="5523812257194833591">Nyilvános munkamenet, amely bizonyos késleltetés után automatikusan bejelentkezik. @@ -1758,6 +1756,13 @@ Ha a proxyszerver automatikus észlelését választja, az Android-alkalmazások a „http://wpad/wpad.dat” szkript-URL-t kapják. A proxy automatikus észlelésével kapcsolatos protokoll más része nem kerül felhasználásra. Ha a .pac proxyszkriptet választja, az Android-alkalmazások a szkript-URL-t kapják meg.</translation> +<translation id="6435127182262044446">Ez a beállítás szabályozza a PIN-kód maximális hosszát. + + Ha a beállítás nulla vagy kevesebb, akkor nincs maximális hossz. A felhasználó olyan hosszú PIN-kódot állíthat be, amilyet szeretne. + + Ha a beállítás kisebb, mint a PinUnlockMinimumLength (PIN-kóddal való feloldás minimális hossza), de nagyobb, mint nulla, akkor a maximális hossz megegyezik a minimális hosszal. + + A beállítás alapértelmezés szerint nem határoz meg maximális hosszúságot.</translation> <translation id="6467433935902485842">Lehetővé teszi, hogy megadja az URL-minták egy olyan listáját, amely meghatározza, mely webhelyek nem futtathatnak bővítményeket. Ha a házirend konfigurálatlanul marad, akkor a rendszer a "DefaultPluginsSetting" házirend globális alapértelmezett értékét használja (ha az be van állítva), vagy pedig a felhasználó saját személyes beállítását.</translation> <translation id="6473334971332473690">Lehetővé teszi a Smart Lock használatát a <ph name="PRODUCT_OS_NAME" /> rendszert futtató eszközökön. @@ -2657,6 +2662,13 @@ A rendszer egyesíti a házirend által regisztrált protokollkezelőket a felhasználó által regisztráltakkal, és mindkétféle protokollkezelő használatra készen rendelkezésre áll. A felhasználó új alapértelmezett kezelő telepítésével felülírhatja a házirend által telepített protokollkezelőket, a házirend által regisztrált protokollkezelőt azonban nem tudja eltávolítani.</translation> <translation id="913195841488580904">Letiltja a hozzáférést az URL-ek egy listájához</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> proxy engedélyezése</translation> +<translation id="9136253551939494882">Ez az engedélyezőlista szabályozza, hogy milyen feloldási módokat állíthat be a felhasználó a lezárási képernyő feloldására. + + Ez az érték egy karakterláncokból álló lista. A következő listaelemeket választhatja: „összes” vagy „PIN”. Ha hozzáadja az „összes” elemet a listához, akkor a felhasználó hozzáfér majd az összes gyorsfeloldási módhoz – azokhoz is, melyeket a jövőben fognak megvalósítani. Ha nem adja hozzá, akkor csak a listában jelenleg is szereplő gyorsfeloldási módokhoz fér hozzá a felhasználó. + + Például: Az összes gyorsfeloldási mód engedélyezéséhez használja az [„összes”] elemet. Ha csak a PIN-kóddal való feloldást szeretné engedélyezni, hanszálja a [„PIN”] elemet. Ha az összes gyorsfeloldási módot le szeretné tiltani, ne válasszon ki semmit: []. + + Alapértelmezés szerint a felügyelt eszközökön nem állnak rendelkezésre gyorsfeloldási módok.</translation> <translation id="9147029539363974059">Rendszernaplókat küld a felügyeleti szervernek, hogy a rendszergazdák ellenőrizni tudják a rendszernaplókat. @@ -2665,6 +2677,11 @@ <translation id="9150416707757015439">Ez a házirend elavult. Kérjük, használja helyette az IncognitoModeAvailability házirendet. Engedélyezi az inkognitómódot a következőben: <ph name="PRODUCT_NAME" />. Ha ez a beállítás engedélyezve van, illetve nincs konfigurálva, akkor a felhasználók inkognitómódban is megnyithatják a weboldalakat. Ha a beállítás nincs engedélyezve, a felhasználók nem nyithatják meg inkognitómódban a weboldalakat. Ha a házirend beállítatlanul marad, akkor megtörténik az engedélyezése, a felhasználók pedig használni tudják az inkognitómódot.</translation> <translation id="915194831143859291">Ha a házirend értéke false (hamis), vagy ha nincs beállítva, a <ph name="PRODUCT_OS_NAME" /> engedélyezi a felhasználó számára az eszköz leállítását. Ha a házirend értéke true (igaz), a <ph name="PRODUCT_OS_NAME" /> újraindítást kezdeményez, amikor a felhasználó leállítja az eszközt. A <ph name="PRODUCT_OS_NAME" /> a felhasználói felület összes leállítógombját újraindítást kezdeményező gombokra cseréli ki. Ha a felhasználó a bekapcsológombbal állítja le az eszközt, az nem indul automatikusan újra automatikusan akkor sem, ha a házirend engedélyezve van.</translation> +<translation id="917887642534332939">Ez a beállítás szabályozza a PIN-kód minimális hosszát. + + A PIN-kód hosszának abszolút minimuma 1. Az ennél kisebb értékek is 1-nek számítanak. + + A PIN-kód alapértelmezés szerinti és ajánlott minimális hossza 6 karakter.</translation> <translation id="9187743794267626640">Külső tárhely csatlakoztatásának letiltása</translation> <translation id="9197740283131855199">Az a százalék, amelynek alapján a képernyő-elsötétítési késleltetés skálázódik, ha az elsötétedés után a felhasználó aktív lesz</translation> <translation id="9200828125069750521">Paraméterek POST metódust használó kép-URL-hez</translation>
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb index f9f2c67..65e6f8e 100644 --- a/components/policy/resources/policy_templates_id.xtb +++ b/components/policy/resources/policy_templates_id.xtb
@@ -1006,7 +1006,7 @@ <translation id="3915395663995367577">URL untuk proxy file .pac</translation> <translation id="3926940573869375969">Mengonfigurasi tata letak keyboard yang diizinkan di layar login <ph name="PRODUCT_OS_NAME" />. - Jika kebijakan ini disetel ke daftar pengenal metode masukan, metode masukan yang diberikan akan tersedia di layar login. Metode masukan pertama yang diberikan telah dipilih sebelumnya. Sementara pod pengguna difokuskan pada layar login, metode masukan yang terakhir kali digunakan oleh pengguna akan tersedia, selain dari metode masukan yang diberikan oleh kebijakan ini. Jika kebijakan ini tidak disetel, metode masukan pada layar login akan diambil dari lokal yang menampilkan layar login. Pengenal metode masukan akan mengabaikan nilai yang tidak valid.</translation> + Jika kebijakan ini disetel ke daftar pengenal metode masukan, metode masukan yang diberikan akan tersedia di layar login. Metode masukan pertama yang diberikan telah dipilih sebelumnya. Walaupun pod pengguna difokuskan pada layar login, metode masukan yang terakhir kali digunakan oleh pengguna akan tersedia, selain dari metode masukan yang diberikan oleh kebijakan ini. Jika kebijakan ini tidak disetel, metode masukan pada layar login akan diambil dari lokal yang menampilkan layar login. Pengenal metode masukan akan mengabaikan nilai yang tidak valid.</translation> <translation id="3939893074578116847">Kirimkan paket jaringan ke server pengelolaan untuk memantau status online, untuk memungkinkan server mendeteksi jika perangkat sedang offline. @@ -1229,6 +1229,11 @@ Untuk melihat contoh pola, buka https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Buka daftar URL</translation> <translation id="4680961954980851756">Aktifkan IsiOtomatis</translation> +<translation id="4722399051042571387">Jika "false", pengguna tidak dapat menyetel PIN yang lemah dan mudah ditebak. + + Beberapa contoh PIN yang lemah: PIN yang hanya berisi satu digit (1111), berurutan (1234), berurutan terbalik (4321), dan yang umum digunakan. + + Secara default, pengguna akan mendapatkan peringatan, tetapi bukan pesan error, jika PIN dianggap lemah.</translation> <translation id="4723829699367336876">Mengaktifkan firewall traversal dari klien akses jarak jauh</translation> <translation id="4725528134735324213">Aktifkan Android Backup Service</translation> <translation id="4733471537137819387">Kebijakan yang terkait dengan autentikasi HTTP terintegrasi.</translation> @@ -1418,13 +1423,6 @@ Saat nilai kebijakan ini disetel dan tidak 0, maka pengguna demo yang saat ini telah masuk akan dikeluarkan secara otomatis setelah waktu tidak aktif selama durasi yang ditentukan telah habis. Nilai kebijakan sebaiknya ditentukan dalam milidetik.</translation> -<translation id="5506213378070007377">Informasi tentang status Android dikirim kembali ke - server. - - Jika kebijakan ini disetel ke false, tidak ada informasi status yang dilaporkan. - Jika disetel ke true atau tidak disetel, informasi status akan dilaporkan. - - Kebijakan ini hanya berlaku jika aplikasi Android diaktifkan.</translation> <translation id="5511702823008968136">Aktifkan Bilah Bookmark</translation> <translation id="5512418063782665071">URL beranda</translation> <translation id="5523812257194833591">Sesi publik untuk masuk secara otomatis setelah penundaan. @@ -1762,6 +1760,13 @@ Jika Anda memilih untuk mendeteksi server proxy secara otomatis, URL skrip "http://wpad/wpad.dat" akan diberikan pada aplikasi Android. Tidak ada bagian lain dari protokol deteksi proxy otomatis yang digunakan. Jika Anda memilih untuk menggunakan skrip proxy .pac, URL skrip akan diberikan pada aplikasi Android.</translation> +<translation id="6435127182262044446">Setelan ini mengontrol panjang PIN maksimum. + + Jika konfigurasi setelan ini adalah 0 atau lebih kecil, panjang maksimumnya tidak ditetapkan dan pengguna dapat menyetel panjang PIN sesuai keinginan. + + Jika setelan ini lebih kecil dari PinUnlockMinimumLength namun lebih besar dari 0, panjang maksimumnya sama dengan panjang minimum. + + Setelan ini secara default tidak menetapkan panjang maksimum.</translation> <translation id="6467433935902485842">Memungkinkan Anda menyetel daftar pola url yang menentukan situs yang tidak diizinkan untuk menjalankan plugin. Jika kebijakan ini dibiarkan tidak disetel, nilai default global akan digunakan untuk semua situs baik dari kebijakan 'DefaultPluginsSetting' jika disetel, atau konfigurasi pribadi pengguna.</translation> <translation id="6473334971332473690">Memungkinkan Smart Lock digunakan di perangkat <ph name="PRODUCT_OS_NAME" />. @@ -2659,6 +2664,13 @@ Penangan protokol yang didaftarkan oleh kebijakan digabung dengan penangan protokol yang didaftarkan oleh pengguna dan keduanya tersedia untuk digunakan. Pengguna dapat mengganti penangan protokol yang dipasang oleh kebijakan dengan memasang penangan default baru, namun pengguna tidak dapat membuang penangan protokol yang didaftarkan oleh kebijakan.</translation> <translation id="913195841488580904">Cekal akses ke daftar URL</translation> <translation id="9135033364005346124">Mengaktifkan proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Daftar yang diizinkan mengontrol mode buka kunci cepat mana yang dapat dikonfigurasi dan digunakan oleh pengguna untuk membuka layar kunci. + + Nilai ini adalah daftar string; daftar entri validnya adalah: "semua", "PIN". menambahkan "semua" ke daftar menandakan bahwa setiap mode buka kunci cepat tersedia bagi pengguna, termasuk yang diterapkan di masa mendatang. Jika tidak, hanya mode buka kunci cepat dalam daftar yang akan tersedia. + + Misalnya, untuk mengizinkan setiap mode buka kunci, gunakan ["semua"]. Untuk hanya mengizinkan buka kunci dengan PIN, gunakan ["PIN"]. Untuk menonaktifkan semua mode buka kunci cepat, gunakan []. + + Secara default, tidak ada mode buka kunci cepat untuk perangkat yang dikelola.</translation> <translation id="9147029539363974059">Mengirim log sistem ke server pengelolaan, untuk memungkinkan admin memantau log sistem. @@ -2667,6 +2679,11 @@ <translation id="9150416707757015439">Kebijakan ini sudah tidak digunakan lagi. Gunakan IncognitoModeAvailability sebagai gantinya. Aktifkan mode Penyamaran di <ph name="PRODUCT_NAME" />. Jika setelan ini diaktifkan atau tidak dikonfigurasi, pengguna dapat membuka laman web dalam mode penyamaran. Jika setelan ini dinonaktifkan, pengguna tidak dapat membuka laman web dalam mode penyamaran. Jika kebijakan ini dibiarkan tanpa disetel, kebijakan ini akan diaktifkan dan pengguna akan dapat menggunakan mode penyamaran.</translation> <translation id="915194831143859291">Jika kebijakan ini disetel ke False atau tidak dikonfigurasi, <ph name="PRODUCT_OS_NAME" /> akan memungkinkan pengguna menonaktifkan perangkat. Jika kebijakan ini disetel ke True, <ph name="PRODUCT_OS_NAME" /> akan memicu boot ulang ketika pengguna mematikan perangkat. <ph name="PRODUCT_OS_NAME" /> menggantikan semua kemunculan tombol matikan di antarmuka pengguna dengan tombol boot ulang. Jika pengguna mematikan perangkat menggunakan tombol daya, perangkat tidak otomatis melakukan boot ulang, meskipun kebijakan ini diaktifkan.</translation> +<translation id="917887642534332939">Setelan ini mengontrol panjang PIN minimum. + + Panjang PIN minimum aslinya adalah 1; nilai yang kurang dari 1 tetap dianggap sebagai 1. + + Panjang PIN minimum default dan yang direkomendasikan adalah 6 digit.</translation> <translation id="9187743794267626640">Menonaktifkan pemasangan penyimpanan eksternal</translation> <translation id="9197740283131855199">Persentase yang digunakan untuk menskalakan penundaan layar redup jika pengguna aktif setelah peredupan</translation> <translation id="9200828125069750521">Parameter untuk URL gambar yang menggunakan POST</translation>
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb index 60199487..b34dada 100644 --- a/components/policy/resources/policy_templates_it.xtb +++ b/components/policy/resources/policy_templates_it.xtb
@@ -1177,6 +1177,11 @@ Per avere pattern di esempio, visita il sito https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Apri un elenco di URL</translation> <translation id="4680961954980851756">Abilita Compilazione automatica</translation> +<translation id="4722399051042571387">Se questa norma viene impostata su false, gli utenti non potranno impostare PIN non sicuri e facili da intuire. + + Ecco alcuni esempi di PIN non sicuri: PIN formati da una sola cifra ripetuta (1111), PIN composti da cifre con incrementi di 1 (1234) o decrementi di 1 (4321) e PIN troppo comuni. + + Per impostazione predefinita, gli utenti riceveranno un avviso, e non un errore, se il PIN è considerato non sicuro.</translation> <translation id="4723829699367336876">Abilita attraversamento firewall da client di accesso remoto</translation> <translation id="4725528134735324213">Attiva Android Backup Service</translation> <translation id="4733471537137819387">Norme relative all'autenticazione HTTP integrata.</translation> @@ -1363,12 +1368,6 @@ Quando il valore di questa norma è impostato e non è 0, l'utente Demo correntemente connesso verrà disconnesso automaticamente dopo che sarà trascorso il tempo di inattività della durata specificata. Il valore della norma deve essere specificato in millisecondi.</translation> -<translation id="5506213378070007377">Le informazioni sullo stato di Android vengono rimandate al server. - - Se la norma viene impostata su false, le informazioni sullo stato non vengono segnalate. - Se viene impostata su true o non viene impostata, le informazioni sullo stato vengono segnalate. - - Questa norma viene applicata soltanto se le app Android sono attive.</translation> <translation id="5511702823008968136">Attiva barra dei Preferiti</translation> <translation id="5512418063782665071">URL pagina iniziale</translation> <translation id="5523812257194833591">Una sessione pubblica a cui accedere automaticamente dopo un ritardo. @@ -1693,6 +1692,13 @@ Se si decide di rilevare automaticamente il server proxy, alle app Android viene fornito l'URL script "http://wpad/wpad.dat". Non viene utilizzata nessun'altra parte del protocollo di rilevamento automatico del server proxy. Se si decide di utilizzare uno script proxy .pac, alle app Android viene fornito l'URL script.</translation> +<translation id="6435127182262044446">Questa impostazione consente di stabilire la lunghezza massima dei codici PIN. + + Se questa impostazione viene configurata su 0 o su un valore inferiore, l'utente può impostare un PIN della lunghezza desiderata. + + Se il valore di questa impostazione è minore di quello dell'opzione PinUnlockMinimumLength, ma maggiore di 0, la lunghezza massima corrisponde a quella minima. + + Per impostazione predefinita, questa norma non prevede una lunghezza massima.</translation> <translation id="6467433935902485842">Consente di impostare un elenco di pattern URL che specificano i siti in cui non è consentita l'esecuzione dei plug-in. Se questa norma non viene impostata, per tutti i siti verrà utilizzato il valore predefinito globale della norma "DefaultPluginsSetting", se è impostata, oppure verrà utilizzata la configurazione personale dell'utente.</translation> <translation id="6473334971332473690">Consente l'utilizzo della funzione Smart Lock sui dispositivi <ph name="PRODUCT_OS_NAME" />. @@ -2540,6 +2546,13 @@ I gestori di protocolli registrati tramite la norma vengono uniti a quelli registrati dall'utente e possono essere utilizzati entrambi i tipi. L'utente può sostituire i gestori di protocolli installati tramite la norma installando un nuovo gestore predefinito, ma non può rimuovere un gestore di protocollo registrato tramite la norma.</translation> <translation id="913195841488580904">Blocca l'accesso a un elenco di URL</translation> <translation id="9135033364005346124">Attiva proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Una whitelist che consente di stabilire quali modalità di sblocco rapido possono essere configurate e usate dagli utenti per sbloccare la schermata di blocco. + + Il valore è un elenco di stringhe; le voci valide sono "tutte" o "PIN". Se viene aggiunto il valore "tutte" all'elenco, sono disponibili tutte le modalità di sblocco rapido, incluse quelle implementate in futuro. In caso contrario, saranno disponibili solo le modalità indicate nell'elenco. + + Ad esempio, per consentire ogni modalità di sblocco rapido, usa ["tutte"]. Per consentire solo lo sblocco tramite PIN, usa ["PIN"]. Per disattivare tutte le modalità di sblocco rapido, usa []. + + Per impostazione predefinita, non ci sono modalità di sblocco rapido disponibili per i dispositivi gestiti.</translation> <translation id="9147029539363974059">Consente di inviare log di sistema al server di gestione per consentire agli amministratori di monitorare i log di sistema. @@ -2548,6 +2561,11 @@ <translation id="9150416707757015439">Questa norma è obsoleta. Utilizza IncognitoModeAvailability. Consente di attivare la modalità di navigazione in incognito in <ph name="PRODUCT_NAME" />. Se questa impostazione viene attivata o non viene configurata, gli utenti potranno aprire le pagine web in modalità di navigazione in incognito. Se l'impostazione viene disattivata, gli utenti non potranno aprire le pagine web in modalità di navigazione in incognito. Se questa norma non viene impostata, l'impostazione verrà attivata e gli utenti potranno utilizzare la modalità di navigazione in incognito.</translation> <translation id="915194831143859291">Se questa norma viene impostata su false o non viene configurata, <ph name="PRODUCT_OS_NAME" /> consente all'utente di spegnere il dispositivo. Se questa norma viene impostata su true, <ph name="PRODUCT_OS_NAME" /> attiva il riavvio quando l'utente spegne il dispositivo. <ph name="PRODUCT_OS_NAME" /> sostituisce tutte le occorrenze dei pulsanti di spegnimento nell'interfaccia utente con pulsanti di riavvio. Se l'utente spegne il dispositivo utilizzando il tasto di accensione, il dispositivo non viene riavviato, anche se la norma è attivata.</translation> +<translation id="917887642534332939">Questa impostazione consente di stabilire la lunghezza minima dei codici PIN. + + La lunghezza minima assoluta dei codici PIN è 1; i valori inferiori a 1 vengono considerati pari a 1. + + La lunghezza minima predefinita e consigliata per i codici PIN è di sei cifre.</translation> <translation id="9187743794267626640">Disabilita il montaggio di una memoria esterna</translation> <translation id="9197740283131855199">Percentuale di regolazione del ritardo di oscuramento dello schermo se l'utente diventa attivo dopo l'oscuramento</translation> <translation id="9200828125069750521">Parametri per l'URL dell'immagine che utilizza POST</translation>
diff --git a/components/policy/resources/policy_templates_iw.xtb b/components/policy/resources/policy_templates_iw.xtb index bcd02f5..dd756c8 100644 --- a/components/policy/resources/policy_templates_iw.xtb +++ b/components/policy/resources/policy_templates_iw.xtb
@@ -991,9 +991,9 @@ אם לא מוגדר, או אם מוגדר כ-false, משתמשים יוכלו להעביר קבצים ל-Google Drive.</translation> <translation id="3915395663995367577">כתובת אתר לקובץ .pac של שרת Proxy</translation> -<translation id="3926940573869375969">מגדירה באילו פריסות מקלדות מותר להשתמש במסך הכניסה אל <ph name="PRODUCT_OS_NAME" />. +<translation id="3926940573869375969">מגדירה באילו פריסות מקלדות מותר להשתמש במסך הכניסה אל <ph name="PRODUCT_OS_NAME" />. - אם המדיניות הזו מוגדרת כרשימה של מזהי שיטות קלט, שיטות הקלט הנתונות יהיו זמינות במסך הכניסה. שיטת הקלט הראשונה תיבחר מראש. בעוד ש-user pod מתמקד במסך הכניסה, שיטת הקלט הראשונה של המשתמש תהיה זמינה בנוסף לשיטות הקלט שצוינו במדיניות הזו. אם המדיניות הזו לא מוגדרת, שיטות הקלט במסך הכניסה ייקבעו לפי המקום שבו מוצג מסך הכניסה. המערכת תתעלם מערכים שאינם מזהים חוקיים של שיטת קלט.</translation> + אם המדיניות הזו מוגדרת כרשימה של מזהי שיטות קלט, שיטות הקלט הנתונות יהיו זמינות במסך הכניסה. שיטת הקלט הראשונה תיבחר מראש. כשמפעילים סמל של משתמש מסוים במסך הכניסה, שיטת הקלט הראשונה של המשתמש תהיה זמינה בנוסף לשיטות הקלט שצוינו במדיניות הזו. אם המדיניות הזו לא מוגדרת, שיטות הקלט במסך הכניסה ייקבעו לפי המקום שבו מוצג מסך הכניסה. המערכת תתעלם מערכים שאינם מזהים חוקיים של שיטת קלט.</translation> <translation id="3939893074578116847">שלח מנות רשת לשרת הניהול כדי לנטר את הסטטוס המקוון וכדי שהשרת יוכל לזהות אם המכשיר נמצא במצב לא מקוון. @@ -1216,6 +1216,11 @@ כדי לראות דפוסים לדוגמה, עבור לכתובת https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">פתח רשימה של כתובות אתר</translation> <translation id="4680961954980851756">הפעל מילוי אוטומטי</translation> +<translation id="4722399051042571387">אם המדיניות מוגדרת כ-false, המשתמשים לא יוכלו להגדיר קודי PIN חלשים וקלים לניחוש. + + דוגמאות לקודי PIN חלשים: קודים שמכילים רק ספרה אחת (1111), קודים שהספרות בהם גדלות ב-1 (1234), קודים שהספרות בהם קטנות ב-1 (4321) וקודים נפוצים מדי. + + כאשר המערכת קובעת שקוד PIN הוא חלש, כברירת מחדל למשתמשים תוצג אזהרה ולא שגיאה.</translation> <translation id="4723829699367336876">אפשר חציית חומת אש מלקוח הגישה מרחוק</translation> <translation id="4725528134735324213">הפעל את Android Backup Service</translation> <translation id="4733471537137819387">כללי מדיניות הקשורים לאימות HTTP משולב.</translation> @@ -1400,12 +1405,6 @@ כאשר הערך של המדיניות מוגדר ואינו 0, משתמש ההדגמה המחובר כעת ינותק באופן אוטומטי לאחר שעבר זמן חוסר הפעילות שנקבע. את ערך המדיניות יש לקבוע באלפיות השנייה.</translation> -<translation id="5506213378070007377">מידע על הסטטוס של Android נשלח אל השרת. - - אם המדיניות מוגדרת כ-false, לא מדווחים פרטי סטטוס. - אם היא מוגדרת כ-true או אינה מוגדרת, פרטי הסטטוס מדווחים. - - מדיניות זה חלה רק אם אפליקציות Android הופעלו.</translation> <translation id="5511702823008968136">הפוך סרגל סימניות לפעיל</translation> <translation id="5512418063782665071">כתובת אתר של דף הבית</translation> <translation id="5523812257194833591">פעילות ציבורית באתר לביצוע התחברות אוטומטית לאחר השהיה. @@ -1727,6 +1726,13 @@ אם אתה בוחר לזהות את שרת ה-proxy באופן אוטומטי, כתובת האתר "http://wpad/wpad.dat" של הסקריפט תימסר לאפליקציות Android. לא ייעשה שימוש באף חלק אחר מפרוטוקול הזיהוי האוטומטי של שרת ה-proxy. אם אתה בוחר להשתמש בסקריפט .pac של שרת proxy, כתובת האתר של הסקריפט תימסר לאפליקציות Android.</translation> +<translation id="6435127182262044446">הגדרה זו קובעת את האורך המקסימלי של קוד PIN. + + אם ההגדרה נקבעה כ-0 או שלא הוגדרה כלל, אין דרישה לאורך מקסימלי והמשתמש יכול להגדיר PIN באורך שיבחר. + + אם ההגדרה נקבעה לערך נמוך מ-PinUnlockMinimumLength אבל גבוה מ-0, האורך המקסימלי יהיה זהה לאורך המינימלי. + + לא נקבעת להגדרה הזו ברירת מחדל לאורך מקסימלי.</translation> <translation id="6467433935902485842">מאפשר לך להגדיר רשימה של דפוסי כתובת אתר שמציינים אילו אתרים אינם יכולים להריץ יישומי פלאגין. אם מדיניות זו אינה מוגדרת, המערכת תשתמש בערך ברירת המחדל הכללי עבור כל האתרים, בין אם הם שייכים למדיניות 'DefaultPluginsSetting', כאשר היא מוגדרת, או בין אם הם שייכים לתצורה האישית של המשתמש.</translation> <translation id="6473334971332473690">מדיניות זו מאפשרת שימוש ב-Smart Lock במכשירי <ph name="PRODUCT_OS_NAME" />. @@ -2601,6 +2607,13 @@ המטפלים של הפרוטוקול הרשומים על ידי המדיניות מתמזגים עם המטפלים הרשומים על ידי המשתמש ושניהם זמינים לשימוש. המשתמש יכול לעקוף את המטפלים של הפרוטוקול שהותקנו על ידי מדיניות על ידי התקנת מטפל חדש המשמש כברירת מחדל, אך אינו יכול להסיר מטפל של פרוטוקול הרשום על ידי מדיניות.</translation> <translation id="913195841488580904">חסום את הגישה לרשימה של כתובות האתר</translation> <translation id="9135033364005346124">הפוך שרת Proxy של <ph name="CLOUD_PRINT_NAME" /> לפעיל</translation> +<translation id="9136253551939494882">רשימת היתרים שקובעת אילו מצבים של ביטול נעילה מהיר המשתמש יכול להגדיר כדי לבטל את נעילת המסך. + + הערך מופיע כרשימה של מחרוזות; הערכים החוקיים ברשימה הם: "all" (הכל), "PIN". הוספה של הערך "all" לרשימה פירושה שהמצב של ביטול נעילה מהיר זמין למשתמש, כולל במקרים עתידיים. אחרת, רק המצבים של ביטול נעילה מהיר שמופיעים ברשימה יהיו זמינים למשתמש. + + לדוגמה, כדי לאפשר מצב של ביטול נעילה מהיר, יש להשתמש בערך ["all"]. כדי לאפשר ביטול נעילה באמצעות PIN בלבד, יש להשתמש בערך["PIN"]. כדי להשבית את כל המצבים של ביטול נעילה מהיר, יש להזין []. + + כברירת מחדל, מצבים של ביטול נעילה מהיר לא זמינים במכשירים מנוהלים.</translation> <translation id="9147029539363974059">שליחה של יומני מערכת לשרת הניהול כדי לאפשר למנהלי מערכת לעקוב אחר יומני המערכת. @@ -2609,6 +2622,11 @@ <translation id="9150416707757015439">מדיניות זו כבר אינה בתוקף. במקום זאת, השתמש ב-IncognitoModeAvailability. מדיניות זו מפעילה את מצב 'גלישה בסתר' ב-<ph name="PRODUCT_NAME" />. אם הגדרה זו מופעלת או שלא הוגדרה, משתמשים יכולים לפתוח דפי אינטרנט במצב 'גלישה בסתר'. אם הגדרה זו מושבתת, משתמשים לא יכולים לפתוח דפי אינטרנט במצב 'גלישה בסתר'. אם מדיניות זו לא הוגדרה, האפשרות תופעל והמשתמש יוכל להשתמש במצב 'גלישה בסתר'.</translation> <translation id="915194831143859291">אם מדיניות זו מוגדרת לערך False או לא מוגדרת כלל, מערכת <ph name="PRODUCT_OS_NAME" /> תאפשר למשתמש לכבות את המכשיר. אם המדיניות מוגדרת לערך True, מערכת <ph name="PRODUCT_OS_NAME" /> תבצע הפעלה מחדש כאשר המשתמש יכבה את המכשיר. מערכת <ph name="PRODUCT_OS_NAME" /> מחליפה את כל המופעים של לחצני הכיבוי בממשק המשתמש בלחצני הפעלה מחדש. אם המשתמש מכבה את המכשיר באמצעות לחצן ההפעלה, המכשיר לא יופעל מחדש באופן אוטומטי, גם אם מדיניות זו מופעלת.</translation> +<translation id="917887642534332939">הגדרה זו קובעת את האורך המינימלי של קוד PIN. + + האורך המינימלי המוחלט של PIN הוא 1; לגבי ערכים הנמוכים מ-1, המערכת מתייחסת אליהם כ-1. + + אורך ה-PIN המינימלי המומלצת, שגם מוגדר כברירת מחדל, הוא 6 ספרות.</translation> <translation id="9187743794267626640">השבת הרכבה של אחסון חיצוני</translation> <translation id="9197740283131855199">האחוז שלפיו תדורג השהיית עמעום המסך אם המשתמש נעשה פעיל לאחר העמעום</translation> <translation id="9200828125069750521">פרמטרים עבור כתובת אתר של תמונה שמשתמשת ב-POST</translation>
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb index 45cb23911..000374e 100644 --- a/components/policy/resources/policy_templates_ja.xtb +++ b/components/policy/resources/policy_templates_ja.xtb
@@ -1221,6 +1221,11 @@ パターンの例については、https://www.chromium.org/developers/how-tos/chrome-frame-getting-started をご覧ください。</translation> <translation id="467449052039111439">URL のリストを開く</translation> <translation id="4680961954980851756">自動入力を有効にする</translation> +<translation id="4722399051042571387">false の場合、ユーザーは強度が低く推測されやすい PIN を設定できません。 + + 強度が低い PIN の例としては、数字がすべて同じ PIN(1111 など)、連続した数字の PIN(1234、4321 など)、一般によく使われる並びの PIN が挙げられます。 + + PIN の強度が低いと見なされた場合、デフォルトでは、エラーではなく警告がユーザーに表示されます。</translation> <translation id="4723829699367336876">リモート アクセス クライアントからのファイアウォール トラバーサルを有効にする</translation> <translation id="4725528134735324213">Android バックアップ サービスを有効にする</translation> <translation id="4733471537137819387">統合された HTTP 認証に関連するポリシーです。</translation> @@ -1410,12 +1415,6 @@ このポリシーの値を 0 以外に設定した場合、現在デモ モードでログインしているユーザーが操作しないまま、ここに指定した時間が経過すると、ユーザーは自動的にログアウトされます。 ポリシーの値は、ミリ秒単位で指定する必要があります。</translation> -<translation id="5506213378070007377">Android のステータスに関する情報をサーバーに返します。 - - このポリシーを false に設定した場合、ステータス情報は報告されません。 - true に設定するか未設定のままにした場合は、ステータス情報が報告されます。 - - このポリシーは、Android アプリが有効になっている場合にのみ適用されます。</translation> <translation id="5511702823008968136">ブックマーク バーを有効にする</translation> <translation id="5512418063782665071">ホームページの URL</translation> <translation id="5523812257194833591">一定時間経過後に自動ログインする公開セッションです。 @@ -1751,6 +1750,13 @@ [プロキシ サーバーを自動検出する] を選択した場合は、スクリプト URL 「http://wpad/wpad.dat」が Android アプリに通知されます。プロキシ自動検出プロトコルの他の部分は使用されません。 [.pac プロキシ スクリプトを使用する] を選択した場合は、スクリプト URL が Android アプリに通知されます。</translation> +<translation id="6435127182262044446">この設定では PIN の最大桁数を管理します。 + + この設定を 0 以下の値にした場合、最大桁数の制限は課されず、ユーザーはどれだけ長い桁数の PIN でも設定できます。 + + この設定を 0 より大きく PinUnlockMinimumLength より小さい値にした場合、最大桁数は最小桁数と同じになります。 + + デフォルトでは、最大桁数の制限は課されません。</translation> <translation id="6467433935902485842">プラグインの実行を許可しないサイトを指定する URL パターンのリストを設定できます。このポリシーが未設定の場合、グローバルのデフォルト値がすべてのサイトで使用されます。グローバルのデフォルト値は「DefaultPluginsSetting」ポリシーの値か、この値が未設定の場合はユーザーの個人設定の値です。</translation> <translation id="6473334971332473690"><ph name="PRODUCT_OS_NAME" /> 搭載デバイスで Smart Lock を使用するかどうかを制御します。 @@ -2645,6 +2651,13 @@ ポリシーで登録されたプロトコル ハンドラは、ユーザーが登録したプロトコル ハンドラと統合され、両方とも使用可能になります。ユーザーは、新しいデフォルトのハンドラをインストールすることにより、ポリシーでインストールされたプロトコル ハンドラをオーバーライドできます。ただし、ポリシーで登録されたプロトコル ハンドラを削除することはできません。</translation> <translation id="913195841488580904">URL のリストへのアクセスをブロックする</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> プロキシを有効にする</translation> +<translation id="9136253551939494882">ロックのクイック解除モードを管理するホワイトリストです。ユーザーは、このリストにあるモードをロック画面のロック解除用に設定して使用できます。 + + この値は文字列のリストで、有効な項目は「all」、「PIN」です。このリストに「all(すべて)」を追加すると、ユーザーはロックのクイック解除モードとして、将来実装されるモードも含めあらゆるモードを使用できます。それ以外の場合は、リストに含まれるロックのクイック解除モードのみを使用できます。 + + たとえば、あらゆるロックのクイック解除モードを許可する場合は、["all"] を使用します。PIN によるロック解除のみを許可する場合は、["PIN"] を使用します。すべてのロックのクイック解除モードを無効にする場合は、[] を使用します。 + + デフォルトで、管理対象デバイスではロックのクイック解除モードは一切使用できません。</translation> <translation id="9147029539363974059">管理者がシステムログを監視できるように、 システムログを管理サーバーに送信します。 @@ -2653,6 +2666,11 @@ <translation id="9150416707757015439">このポリシーは今後使用できなくなりますので、IncognitoModeAvailability をご使用ください。<ph name="PRODUCT_NAME" /> でシークレット モードを有効にします。この設定が有効または設定されていない場合、ユーザーはシークレット モードでウェブページを開くことができます。この設定を無効にすると、ユーザーはシークレット モードでウェブページを開くことができません。このポリシーが未設定の場合は有効になり、ユーザーはシークレット モードを使用できます。</translation> <translation id="915194831143859291">このポリシーを false に設定した場合、または未設定の場合、<ph name="PRODUCT_OS_NAME" /> はユーザーによるデバイスの終了を許可します。 このポリシーを true に設定すると、ユーザーがデバイスを終了したときに <ph name="PRODUCT_OS_NAME" /> は再起動を実行します。<ph name="PRODUCT_OS_NAME" /> は、UI 内でクリックされる終了ボタンをすべて再起動ボタンに置き換えます。ユーザーが電源ボタンを使ってデバイスを終了した場合は、このポリシーが有効なときでも自動的に再起動されることはありません。</translation> +<translation id="917887642534332939">この設定では PIN の最小桁数を管理します。 + + PIN の最小桁数として 1 より小さい値は指定できません。1 より小さい値は 1 として扱われます。 + + デフォルトかつ推奨される PIN の最小桁数は 6 桁です。</translation> <translation id="9187743794267626640">外部ストレージのマウントを無効にする</translation> <translation id="9197740283131855199">画面が暗くなった後でユーザーが操作を行ったときに画面を暗くするまでの時間に掛ける倍率</translation> <translation id="9200828125069750521">POST を使用する画像 URL のパラメータ</translation>
diff --git a/components/policy/resources/policy_templates_kn.xtb b/components/policy/resources/policy_templates_kn.xtb index 7af5668..23bd968 100644 --- a/components/policy/resources/policy_templates_kn.xtb +++ b/components/policy/resources/policy_templates_kn.xtb
@@ -1217,6 +1217,11 @@ ಉದಾಹರಣೆಯ ಪ್ಯಾಟರ್ನ್ಗಳಿಗಾಗಿ https://www.chromium.org/developers/how-tos/chrome-frame-getting-started ಅನ್ನು ವೀಕ್ಷಿಸಿ.</translation> <translation id="467449052039111439">URLಗಳ ಪಟ್ಟಿಯನ್ನು ತೆರೆಯಿರಿ</translation> <translation id="4680961954980851756">AutoFill ಸಕ್ರಿಯಗೊಳಿಸು</translation> +<translation id="4722399051042571387">ತಪ್ಪಾಗಿದ್ದರೆ, ದುರ್ಬಲವಾದ ಮತ್ತು ಊಹಿಸಲು ಸುಲಭವಾದ ಪಿನ್ಗಳನ್ನು ಬಳಕೆದಾರರು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. + + ಕೆಲವು ದುರ್ಬಲವಾದ ಪಿನ್ಗಳಿಗೆ ಉದಾಹರಣೆ: ಕೇವಲ ಒಂದು ಅಂಕೆ ಹೊಂದಿರುವ ಪಿನ್ಗಳು (1111), 1 ರಿಂದ ಏರಿಕೆ ಕ್ರಮದಲ್ಲಿರುವ ಪಿನ್ಗಳು (1234), 1 ರವರೆಗೆ ಇಳಿಕೆ ಕ್ರಮದಲ್ಲಿರುವ ಪಿನ್ಗಳು (4321) ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಪಿನ್ಗಳು. + + ಡಿಫಾಲ್ಟ್ ಆಗಿ, ಪಿನ್ ದುರ್ಬಲವಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಿದಲ್ಲಿ, ಬಳಕೆದಾರರು ದೋಷದ ಬದಲಾಗಿ ಎಚ್ಚರಿಕೆಯನ್ನು ಪಡೆಯುತ್ತಾರೆ.</translation> <translation id="4723829699367336876">ರಿಮೋಟ್ ಪ್ರವೇಶ ಕ್ಲೈಂಟ್ ನಿಂದ ಫೈರ್ವಾಲ್ ಅಡ್ಡಹಾಯುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="4725528134735324213">Android ಬ್ಯಾಕಪ್ ಸೇವೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="4733471537137819387">ಸಂಯೋಜಿತ HTTP ಪ್ರಮಾಣೀಕರಣಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ನೀತಿಗಳು.</translation> @@ -1408,12 +1413,6 @@ ಈ ನೀತಿಯ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಿದಾಗ ಮತ್ತು 0 ಆಗಿರದಿದ್ದರೆ ನಂತರ ಡೆಮೊ ಬಳಕೆದಾರರಲ್ಲಿ ಪ್ರಸ್ತುತ ಲಾಗ್ ಮಾಡಿದವರು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅವಧಿ ಮುಗಿದ ಮೇಲೆ ನಿಷ್ಕ್ರಿಯ ಸಮಯದ ನಂತರ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಗ್ ಔಟ್ ಮಾಡಲಾಗುತ್ತದೆ. ನೀತಿಯ ಮೌಲ್ಯವನ್ನು ಮಿಲಿಸೆಕೆಂಡ್ಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು.</translation> -<translation id="5506213378070007377">Android ಸ್ಥಿತಿಯ ಕುರಿತಾದ ಮಾಹಿತಿಯನ್ನು ಸರ್ವರ್ಗೆ ಮರಳಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. - - ನೀತಿಯನ್ನು ತಪ್ಪು ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, ಯಾವುದೇ ಸ್ಥಿತಿ ಮಾಹಿತಿಯನ್ನು ವರದಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ. - ನಿಜ ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ ಅಥವಾ ಹೊಂದಿಸದೇ ಇದ್ದರೆ, ಸ್ಥಿತಿ ಮಾಹಿತಿಯನ್ನು ವರದಿ ಮಾಡಲಾಗುತ್ತದೆ. - - Android ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದ್ದರೆ ಮಾತ್ರ ಈ ನೀತಿಯು ಅನ್ವಯಿಸುತ್ತದೆ.</translation> <translation id="5511702823008968136">ಬುಕ್ಮಾರ್ಕ್ ಪಟ್ಟಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸು</translation> <translation id="5512418063782665071">ಮುಖ ಪುಟ URL</translation> <translation id="5523812257194833591">ವಿಳಂಬದ ನಂತರ ಸ್ವಯಂ ಲಾಗಿನ್ಗೆ ಸಾರ್ವಜನಿಕ ಸೆಷನ್. @@ -1726,6 +1725,13 @@ ನೀವು ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್ ಸ್ವಯಂ ಪತ್ತೆಹಚ್ಚುವಿಕೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ URL "http://wpad/wpad.dat" ಅನ್ನು Android ಅಪ್ಲಿಕೇಶನ್ಗೆ ಒದಗಿಸಲಾಗುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಸ್ವಯಂ-ಪತ್ತೆಹಚ್ಚುವಿಕೆ ಪ್ರೊಟೊಕಾಲ್ನ ಯಾವುದೇ ಭಾಗವನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ನೀವು .pac proxy ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಲು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ URL ಅನ್ನು Android ಅಪ್ಲಿಕೇಶನ್ಗೆ ಒದಗಿಸಲಾಗುತ್ತದೆ.</translation> +<translation id="6435127182262044446">ಈ ಸೆಟ್ಟಿಂಗ್ ಗರಿಷ್ಠ ಪಿನ್ ಉದ್ದವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. + + ಈ ಸೆಟ್ಟಿಂಗ್ 0 ಅಥವಾ ಅದಕ್ಕಿಂತ ಕಡಿಮೆ ಇದ್ದರೆ, ಯಾವುದೇ ಗರಿಷ್ಠ ಉದ್ದವಿರುವುದಿಲ್ಲ; ಬಳಕೆದಾರರು ತಮಗೆ ಬೇಕಾದಷ್ಟು ಪಿನ್ ಉದ್ದವನ್ನು ಹೊಂದಿಸಬಹುದು. + + ಈ ಸೆಟ್ಟಿಂಗ್ PinUnlockMaximumLength ಗಿಂತಲೂ ಕಡಿಮೆಯಾಗಿದ್ದು ಆದರೆ 0 ಗಿಂತ ಹೆಚ್ಚಿದ್ದಲ್ಲಿ, ಗರಿಷ್ಠ ಉದ್ದವು ಕನಿಷ್ಠ ಉದ್ದದಷ್ಟೇ ಇರುತ್ತದೆ. + + ಈ ಸೆಟ್ಟಿಂಗ್ ಯಾವುದೇ ಗರಿಷ್ಠ ಅಳತೆಗೆ ಡಿಫಾಲ್ಟ್ ಆಗಿರುವುದಿಲ್ಲ.</translation> <translation id="6467433935902485842">ಪ್ಲಗಿನ್ಗಳನ್ನು ಚಾಲನೆ ಮಾಡಲು ಅನುಮತಿಸದೆ ಇರುವಂತಹ ಸೈಟ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವಂತಹ url ನಮೂನೆಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದೆ ಬಿಟ್ಟಲ್ಲಿ 'DefaultPluginsSetting' ನೀತಿಯಿಂದ ಅಥವಾ ಬಳಕೆದಾರರ ವೈಯಕ್ತಿಕ ಕಾನ್ಫಿಗರೇಶನ್ನಿಂದ ಎಲ್ಲ ಸೈಟ್ಗಳಿಗೆ ಜಾಗತಿಕ ಡಿಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.</translation> <translation id="6473334971332473690"><ph name="PRODUCT_OS_NAME" /> ಸಾಧನಗಳಲ್ಲಿ Smart Lock ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ. @@ -2591,12 +2597,24 @@ ನೀತಿಯ ಮೂಲಕ ನೋಂದಾಯಿಸಿರುವ ಪ್ರೋಟೋಕಾಲ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಬಳಕೆದಾರರು ನೋಂದಾಯಿಸಿರುವ ಹ್ಯಾಂಡ್ಲರ್ ಜೊತೆಗೆ ವಿಲೀನಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಎರಡೂ ಬಳಕೆಗೆ ಲಭ್ಯವಿರುತ್ತವೆ. ಬಳಕೆದಾರರು ಹೊಸ ಡಿಫಾಲ್ಟ್ ಹ್ಯಾಂಡ್ಲರ್ ಸ್ಛಾಪಿಸುವುದರ ಮೂಲಕ ನೀತಿಯ ಮುಖೇನ ಸ್ಥಾಪಿಸಲಾಗಿರುವ ಪ್ರೋಟೋಕಾಲ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಅತಿಕ್ರಮಿಸಬಹುದು, ಆದರೆ ನೀತಿಯ ಮುಖೇನ ನೋಂದಾಯಿಸಿರುವ ಪ್ರೋಟೋಕಾಲ್ ಹ್ಯಾಂಡ್ಲರ್ ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> <translation id="913195841488580904">URL ಗಳ ಪಟ್ಟಿಗೆ ಪ್ರವೇಶಿವನ್ನು ನಿರ್ಬಂಧಿಸಿ</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> ಪ್ರಾಕ್ಸಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸು</translation> +<translation id="9136253551939494882">ತ್ವರಿತ ಅನ್ಲಾಕ್ ಮೋಡ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸುವ ಅನುಮತಿ ಪಟ್ಟಿಯನ್ನು ಬಳಕೆದಾರರು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು ಮತ್ತು ಲಾಕ್ ಪರದೆಯನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ಬಳಸಬಹುದು. + + ಈ ಮೌಲ್ಯವು ವಾಕ್ಯಗಳ ಪಟ್ಟಿಯಾಗಿದೆ; ಮಾನ್ಯವಾದ ಪಟ್ಟಿ ನಮೂದುಗಳು: "ಎಲ್ಲ", "ಪಿನ್". ಪಟ್ಟಿಗೆ "ಎಲ್ಲ" ಸೇರಿಸುವಿಕೆಯ ಅರ್ಥ ಭವಿಷ್ಯದಲ್ಲಿ ಅಳವಡಿಸಲಾಗುವದನ್ನು ಸೇರಿದಂತೆ, ಪ್ರತಿ ತ್ವರಿತ ಅನ್ಲಾಕ್ ಮೋಡ್ ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿರುತ್ತವೆ. ಇಲ್ಲವೇ, ಪಟ್ಟಿಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ತ್ವರಿತ ಅನ್ಲಾಕ್ ಮೋಡ್ಗಳು ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತವೆ. + + ಉದಾಹರಣೆಗೆ, ಪ್ರತಿ ತ್ವರಿತ ಅನ್ಲಾಕ್ ಮೋಡ್ ಅನುಮತಿಸಲು, ["ಎಲ್ಲ"] ಬಳಸಿ. ಕೇವಲ ಪಿನ್ ಅನ್ಲಾಕ್ ಅನುಮತಿಸಲು, ["ಎಲ್ಲ"] ಬಳಸಿ. ಎಲ್ಲ ತ್ವರಿತ ಅನ್ಲಾಕ್ ಮೋಡ್ಗಳನ್ನು ನಿಷ್ಕರಿಯಗೊಳಿಸಲು, [] ಬಳಸಿ. + + ಡಿಫಾಲ್ಟ್ ಆಗಿ, ನಿರ್ವಹಿಸಲಾದ ಸಾಧನಗಳಿಗೆ ಯಾವುದೇ ತ್ವರಿತ ಅನ್ಲಾಕ್ ಮೋಡ್ಗಳು ಲಭ್ಯವಿಲ್ಲ.</translation> <translation id="9147029539363974059">ಸಿಸ್ಟಂ ಲಾಗ್ಗಳನ್ನು ವೀಕ್ಷಿಸಲು ನಿರ್ವಾಹಕರಿಗೆ ಅನುಮತಿಸಲು ನಿರ್ವಹಣೆ ಸರ್ವರ್ಗೆ ಸಿಸ್ಟಂ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸಿ. ಈ ನೀತಿಯನ್ನು ಸರಿ ಎಂದು ಹೊಂದಿಸಿದಲ್ಲಿ, ಸಿಸ್ಟಂ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗುವುದು, ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿದಲ್ಲಿ ಅಥವಾ ಹೊಂದಿಸದೆ ಇದ್ದಲ್ಲಿ, ಯಾವುದೇ ಸಿಸ್ಟಂ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ.</translation> <translation id="9150416707757015439">ಈ ನೀತಿಗೆ ಅಸಮ್ಮತಿ ಸೂಚಿಸಲಾಗಿದೆ. ದಯವಿಟ್ಟು, ಅದರ ಬದಲಿಗೆ IncognitoModeAvailability ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿ. <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಅದೃಶ್ಯ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಲ್ಲಿ ಅಥವಾ ಕಾನ್ಫಿಗರ್ ಮಾಡಿಲ್ಲದಿದ್ದಲ್ಲಿ, ಬಳಕೆದಾರರು ವೆಬ್ ಪುಟಗಳನ್ನು ಅದೃಶ್ಯ ಮೋಡ್ನಲ್ಲಿ ತೆರೆಯಬಹುದು. ಈ ಸೆಟ್ಟಿಂಗ್ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದ್ದಲ್ಲಿ, ಬಳಕೆದಾರರು ವೆಬ್ ಪುಟಗಳನ್ನು ಅದೃಶ್ಯ ಮೋಡ್ನಲ್ಲಿ ತೆರೆಯಲಾಗುವುದಿಲ್ಲ. ಈ ನೀತಿಯು ಹೊಂದಿಸಿರದಿದ್ದರೆ, ಇದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದು ಮತ್ತು ಬಳಕೆದಾರರು ಅದೃಶ್ಯ ಮೋಡ್ ಅನ್ನು ಬಳಸಲು ಸಮರ್ಥರಾಗಿರುತ್ತಾರೆ.</translation> <translation id="915194831143859291">ಈ ನೀತಿಯನ್ನು ತಪ್ಪು ಅಥವಾ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿಲ್ಲ ಎಂದು ಹೊಂದಿಸಿದಲ್ಲಿ, ಸಾಧನವನ್ನು ಶಟ್ಡೌನ್ ಮಾಡಲು <ph name="PRODUCT_OS_NAME" /> ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಈ ನೀತಿಯನ್ನು ಸರಿ ಎಂದು ಹೊಂದಿಸಿದಲ್ಲಿ, ಬಳಕೆದಾರರು ಸಾಧನವನ್ನು ಶಟ್ಡೌನ್ ಮಾಡಿದಾಗ <ph name="PRODUCT_OS_NAME" /> ರೀಬೂಟ್ ಅನ್ನು ಟ್ರಿಗ್ಗರ್ ಮಾಡುತ್ತದೆ. ರೀಬೂಟ್ ಬಟನ್ಗಳ ಮೂಲಕ UI ನಲ್ಲಿ <ph name="PRODUCT_OS_NAME" /> ಶಟ್ಡೌನ್ ಬಟನ್ಗಳ ಎಲ್ಲಾ ಸಂದರ್ಭಗಳನ್ನು ಸ್ಥಾನಾಂತರಿಸುತ್ತದೆ. ಬಳಕೆದಾರರು ಪವರ್ ಬಟನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸಾಧನವನ್ನು ಶಟ್ಡೌನ್ ಮಾಡಿದಲ್ಲಿ, ನೀತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೂ ಸಹ ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರೀಬೂಟ್ ಆಗುವುದಿಲ್ಲ.</translation> +<translation id="917887642534332939">ಈ ಸೆಟ್ಟಿಂಗ್ ಕನಿಷ್ಠ ಪಿನ್ ಉದ್ದವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. + + ಪರಿಪೂರ್ಣವಾದ ಕನಿಷ್ಠ ಪಿನ್ನ ಉದ್ದ 1; 1 ಕ್ಕಿಂತ ಕಡಿಮೆ ಇರುವ ಮೌಲ್ಯಗಳನ್ನು 1 ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. + + ಡಿಫಾಲ್ಟ್ ಮತ್ತು ಶಿಫಾರಸು ಮಾಡಿದ ಕನಿಷ್ಠ ಪಿನ್ ಉದ್ದ 6 ಅಂಕಿಗಳು.</translation> <translation id="9187743794267626640">ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆಯನ್ನು ಇರಿಸುವುದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="9197740283131855199">ಮಸುಕಾದ ನಂತರ ಬಳಕೆದಾರರು ಸಕ್ರಿಯರಾಗಿದ್ದರೆ ಪರದೆ ಮಸುಕು ವಿಳಂಬ ಅಳತೆಯನ್ನು ಅವಲಂಬಿಸಿ ಶೇಕಡಾವಾರು</translation> <translation id="9200828125069750521">POST ಬಳಸಿಕೊಳ್ಳುವ ಚಿತ್ರದ URL ಗಾಗಿ ಮಾನದಂಡಗಳು</translation>
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb index 5314e4c3..0362be7 100644 --- a/components/policy/resources/policy_templates_ko.xtb +++ b/components/policy/resources/policy_templates_ko.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">모든 사이트에서 사용자 실제 위치를 추적하도록 허용 안함</translation> <translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> 로그인 화면에서 사용되는 언어를 구성합니다. - 이 정책이 설정되면 로그인 화면이 항상 이 정책의 첫 번째 값에 의해 주어지는 언어로 표시됩니다(이 정책은 전달 호환성 목록으로 정의됨). 이 정책이 설정되지 않거나 빈 목록으로 설정되는 경우 로그인 화면이 최종 사용자 세션의 언어로 표시됩니다. 이 정책이 유효한 언어가 아닌 값으로 설정되는 경우 로그인 화면이 대체 언어(현재 ko-KR)로 표시됩니다.</translation> + 이 정책이 설정되면 로그인 화면이 항상 이 정책의 첫 번째 값에 의해 주어지는 언어로 표시됩니다(이 정책은 향후 호환성을 위해 목록으로 정의됨). 이 정책이 설정되지 않거나 빈 목록으로 설정되는 경우 로그인 화면이 최종 사용자 세션의 언어로 표시됩니다. 이 정책이 유효한 언어가 아닌 값으로 설정되는 경우 로그인 화면이 대체 언어(현재 en-US)로 표시됩니다.</translation> <translation id="1062011392452772310">기기에 대한 원격 인증을 사용합니다.</translation> <translation id="1090892140761957285">원격 액세스 클라이언트 인증 토큰의 인증과 관련된 URL입니다. @@ -1048,7 +1048,7 @@ <translation id="3915395663995367577">proxy .pac 파일에 대한 URL</translation> <translation id="3926940573869375969"><ph name="PRODUCT_OS_NAME" /> 로그인 화면에서 허용되는 키보드 레이아웃을 구성합니다. - 이 정책이 입력 방법 식별자 목록으로 설정되는 경우 주어진 입력 방법을 로그인 화면에서 사용할 수 있습니다. 첫 번째로 주어진 입력 수단이 사전 선택됩니다. 로그인 화면에서는 사용자 포드에 초점이 맞춰지지만 이 정책에서 주어진 입력 수단과 더불어 사용자가 가장 오랜 기간 동안 사용하지 않은 입력 수단을 사용할 수 있습니다. 이 정책이 설정되지 않은 경우 로그인 화면의 입력 수단은 로그인 화면이 표시되는 언어에서 가져옵니다. 유효한 입력 수단 식별자가 아닌 값은 무시됩니다.</translation> + 이 정책이 입력 방법 식별자 목록으로 설정되는 경우 주어진 입력 방법을 로그인 화면에서 사용할 수 있습니다. 첫 번째로 주어진 입력 수단이 사전 선택됩니다. 로그인 화면에서는 사용자 포드가 활성화되는데 이때 이 정책에서 주어진 입력 수단과 더불어 사용자가 가장 최근에 사용한 입력 수단을 사용할 수 있습니다. 이 정책이 설정되지 않은 경우 로그인 화면의 입력 수단은 로그인 화면이 표시되는 언어에서 가져옵니다. 유효한 입력 수단 식별자가 아닌 값은 무시됩니다.</translation> <translation id="3939893074578116847">온라인 상태를 모니터링하기 위해 관리 서버에 네트워크 패킷을 전송하여 기기가 오프라인일 때 서버에서 감지할 수 있도록 합니다. @@ -1295,6 +1295,11 @@ 예제 패턴은 https://www.chromium.org/developers/how-tos/chrome-frame-getting-started 페이지를 참조하세요.</translation> <translation id="467449052039111439">URL 목록 열기</translation> <translation id="4680961954980851756">자동완성 사용</translation> +<translation id="4722399051042571387">false인 경우 사용자는 보안 강도가 약하고 추측하기 쉬운 PIN을 설정할 수 없습니다. + + 보안 강도가 약한 PIN의 예: 한 가지 숫자만 포함(1111), 숫자가 1씩 증가(1234), 숫자가 1씩 감소(4321), 흔히 사용되는 PIN. + + PIN의 보안 강도가 약하다고 간주되는 경우 기본적으로 사용자에게 오류가 아닌 경고가 표시됩니다.</translation> <translation id="4723829699367336876">원격 액세스 클라이언트의 방화벽 통과 허용</translation> <translation id="4725528134735324213">Android Backup Service 사용</translation> <translation id="4733471537137819387">통합 HTTP 인증과 관련된 정책입니다.</translation> @@ -1507,13 +1512,6 @@ 이 정책 값이 설정되고 값이 0이 아니면 현재 로그인한 데모 사용자가 지정된 비활성화 시간 뒤에 자동으로 로그아웃됩니다. 이 정책 값은 밀리초 단위로 지정되어야 합니다.</translation> -<translation id="5506213378070007377">Android 상태 관련 정보가 서버로 다시 - 전송됩니다. - - 정책이 false로 설정되면 상태 정보가 보고되지 않습니다. - 정책을 true로 설정하거나 설정하지 않고 남겨두면 상태 정보가 보고됩니다. - - 이 정책은 Android 앱이 사용 설정된 경우에만 적용됩니다.</translation> <translation id="5511702823008968136">북마크바 사용</translation> <translation id="5512418063782665071">홈페이지 URL</translation> <translation id="5523812257194833591">지연된 후 자동 로그인에 대한 공개 세션입니다. @@ -1871,6 +1869,13 @@ 프록시 서버를 자동 감지하도록 선택한 경우 Android 앱에 스크립트 URL 'http://wpad/wpad.dat'가 제공됩니다. 프록시 자동 감지 프로토콜의 다른 부분은 사용되지 않습니다. .pac 프록시 스크립트를 사용하도록 선택한 경우 Android 앱에 스크립트 URL이 제공됩니다.</translation> +<translation id="6435127182262044446">이 설정은 PIN의 최대 길이를 제어합니다. + + 이 설정이 0 이하인 경우 최대 길이는 존재하지 않게 되며 사용자는 자신이 원하는 길이의 PIN을 설정할 수 있습니다. + + 이 설정이 PinUnlockMinimumLength보다는 작지만 0보다 큰 경우 최대 길이는 최소 길이와 동일합니다. + + 이 설정은 기본적으로 최대 길이가 없는 것으로 설정됩니다.</translation> <translation id="6467433935902485842">플러그인 실행이 허용되지 않는 사이트를 지정하는 URL 패턴 목록을 설정할 수 있습니다. 이 정책을 설정하지 않은 경우 'DefaultPluginsSetting' 정책이 설정되면 해당 정책의, 그렇지 않으면 사용자 개인 설정의 전체 기본값이 모든 사이트에서 사용됩니다.</translation> @@ -2817,6 +2822,13 @@ 정책에 의해 등록된 프로토콜 핸들러는 사용자가 등록한 핸들러와 통합되며 두 가지 모두 사용 가능합니다. 사용자는 새로운 기본 핸들러를 설치함으로써 정책에 의해 설치된 프로토콜 핸들러를 덮어쓸 수 있지만 정책에 의해 등록된 프로토콜 핸들러를 삭제할 수는 없습니다.</translation> <translation id="913195841488580904">URL 목록에 대한 액세스 차단</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> 프록시 사용</translation> +<translation id="9136253551939494882">사용자가 잠금 화면을 해제하는 데 구성 및 사용할 수 있는 빠른 잠금 해제 모드를 제어하는 허용 목록입니다. + + 이 값은 문자열의 목록이며 유효한 목록 항목은 'all' 및 'PIN'입니다. 목록에 'all'을 추가하면 앞으로 구현될 빠른 잠금 해제 모드를 포함한 모든 빠른 잠금 해제 모드를 사용자가 이용할 수 있습니다. 그렇지 않으면 목록에 표시된 빠른 잠금 해제 모드만 이용할 수 있습니다. + + 예를 들어 모든 빠른 잠금 해제 모드를 허용하려면 ['all']을 사용합니다. PIN 잠금 해제만 허용하려면 ['PIN']을 사용합니다. 모든 빠른 잠금 해제 모드를 사용 중지하려면 []를 사용합니다. + + 기본적으로 관리 기기는 빠른 잠금 해제 모드를 사용할 수 없습니다.</translation> <translation id="9147029539363974059">관리자가 시스템 로그를 모니터링할 수 있도록 시스템 로그를 관리 서버로 전송합니다. @@ -2832,6 +2844,11 @@ 이 정책을 설정하지 않은 경우 시크릿 모드를 사용할 수 있도록 자동 설정되어 사용자는 시크릿 모드를 사용할 수 있습니다.</translation> <translation id="915194831143859291">이 정책을 false로 설정하거나 설정하지 않으면 <ph name="PRODUCT_OS_NAME" />에서 사용자가 기기를 종료할 수 있도록 허용합니다. 이 정책을 true로 설정하면 사용자가 기기를 종료할 때 <ph name="PRODUCT_OS_NAME" />에서 재부팅을 시작하며 <ph name="PRODUCT_OS_NAME" />에서 UI의 종료 버튼을 모두 재부팅 버튼으로 바꿉니다. 정책을 사용하도록 설정해도 사용자가 전원 버튼을 사용하여 기기를 종료하면 자동으로 재부팅하지 않습니다.</translation> +<translation id="917887642534332939">이 설정은 PIN의 최소 길이를 제어합니다. + + PIN의 절대 최소 길이는 1이며 1보다 작은 값은 1로 취급됩니다. + + PIN의 기본 및 권장 최소 길이는 6입니다.</translation> <translation id="9187743794267626640">외부 저장소 마운트 사용 중지</translation> <translation id="9197740283131855199">화면이 어두워진 후 사용자의 활동이 감지될 때 화면 어둡게 하기 지연 시간이 조정되는 비율</translation> <translation id="9200828125069750521">POST를 사용하는 이미지 URL용 매개변수</translation>
diff --git a/components/policy/resources/policy_templates_lt.xtb b/components/policy/resources/policy_templates_lt.xtb index efae03d..125828e0 100644 --- a/components/policy/resources/policy_templates_lt.xtb +++ b/components/policy/resources/policy_templates_lt.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">Neleisti jokioje svetainėje stebėti naudotojo buvimo vietos</translation> <translation id="1049138910114524876">Konfigūruojama „<ph name="PRODUCT_OS_NAME" />“ prisijungimo ekrane priverstinai vykdoma lokalė. - Jei ši politika nustatyta, prisijungimo ekranas visada bus pateikiamas lokale, kurią pateikta pirma šios politikos vertė (politika apibrėžta kaip sąrašas, kad būtų suderinama ir ateityje). Jei ši politika nenustatyta arba nustatytas tuščias sąrašas, prisijungimo ekranas bus pateikiamas paskutinės naudotojo sesijos lokale. Jei ši politika nustatyta į netinkamą lokalės vertę, prisijungimo ekranas bus pateikiamas atsargine lokale (šiuo metu tai en-US).</translation> + Jei ši politika nustatyta, prisijungimo ekranas visada bus pateikiamas lokale, kuria pateikta pirma šios politikos vertė (politika apibrėžta kaip sąrašas, kad būtų suderinama ir ateityje). Jei ši politika nenustatyta arba nustatytas tuščias sąrašas, prisijungimo ekranas bus pateikiamas paskutinės naudotojo sesijos lokale. Jei ši politika nustatyta į netinkamą lokalės vertę, prisijungimo ekranas bus pateikiamas atsargine lokale (šiuo metu tai en-US).</translation> <translation id="1062011392452772310">Įgalinti nuotolinį įrenginio patvirtinimą</translation> <translation id="1090892140761957285">URL, skirtas nuotolinio prisijungimo kliento autentifikavimo prieigos raktui patvirtinti. @@ -1056,7 +1056,7 @@ <translation id="3915395663995367577">URL, siejantis su tarpinio serverio .pac failu</translation> <translation id="3926940573869375969">Konfigūruojama, kokie klaviatūros išdėstymai leidžiami „<ph name="PRODUCT_OS_NAME" />“ prisijungimo ekrane. - Jei ši politika nustatyta į įvesties metodo identifikatorių sąrašą, pateikti įvesties metodai bus pasiekiami prisijungimo ekrane. Pirmas pateiktas įvesties metodas bus pasirinktas iš anksto. Kai naudotojas yra prisijungimo ekrane, be pagal šią politiką pasiekiamų metodų bus pasiekiamas ir seniausiai naudotas įvesties metodas. Jei ši politika nenustatyta, įvesties metodai prisijungimo ekrane bus gauti iš lokalės, kuria pateikiamas prisijungimo ekranas. Bus nepaisoma verčių, kurios nėra galiojantys įvesties metodo identifikatoriai.</translation> + Jei ši politika nustatyta į įvesties metodo identifikatorių sąrašą, pateikti įvesties metodai bus pasiekiami prisijungimo ekrane. Pirmas pateiktas įvesties metodas bus pasirinktas iš anksto. Kai naudotojas yra prisijungimo ekrane, be pagal šią politiką pasiekiamų metodų bus pasiekiamas ir seniausiai naudotas įvesties metodas. Jei ši politika nenustatyta, įvesties metodai prisijungimo ekrane bus gauti iš lokalės, kuria pateikiamas prisijungimo ekranas. Bus nepaisoma verčių, kurios nėra galiojantys įvesties metodo identifikatoriai.</translation> <translation id="3939893074578116847">Siunčiami tinklo paketai į valdymo serverį, siekiant stebėti prisijungimo būseną, kad serveryje būtų aptikta, ar įrenginys prijungtas prie interneto. @@ -1301,6 +1301,11 @@ Šablonų pavyzdžių pateikiama apsilankius adresu https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Atidaryti URL sąrašą</translation> <translation id="4680961954980851756">Įgalinti automatinį pildymą</translation> +<translation id="4722399051042571387">Jei ši politika nustatyta į „false“, naudotojai negalės nustatyti PIN kodų, kurie yra nesaugūs ir lengvai atspėjami. + + Nesaugių PIN kodų pavyzdžiai: tik iš vieno skaitmens sudaryti PIN kodai (1111), PIN kodai, kurių skaitmenys didėja 1 (1234), PIN kodai, kurių skaitmenys mažėja 1 (4321), ir dažnai naudojami PIN kodai. + + Pagal numatytuosius nustatymus naudotojai matys įspėjimą, o ne klaidą, jei PIN kodas bus laikomas nesaugiu.</translation> <translation id="4723829699367336876">Įgalinti užkardos apėjimą iš nuotolinės prieigos kliento programos</translation> <translation id="4725528134735324213">„Android“ atsarginio kopijavimo paslaugos įgalinimas</translation> <translation id="4733471537137819387">Politika, susijusi su integruotuoju HTTP tapatumo nustatymu.</translation> @@ -1516,13 +1521,6 @@ Kai šios politikos vertė nustatyta ir nėra 0, dabartinis prisijungęs demonstracinės versijos naudotojas (-a) automatiškai atjungiamas (-a) pasibaigus nurodytos trukmės neveiklos laikotarpiui. Politikos vertę reikia nurodyti milisekundėmis.</translation> -<translation id="5506213378070007377">Informacija apie „Android“ būseną siunčiama atgal į - serverį. - - Nustačius politiką į „False“, būsenos informacija nepranešama. - Nustačius į „True“ arba nenustačius, būsenos informacija pranešama. - - Ši politika taikoma tik įgalinus „Android“ programas.</translation> <translation id="5511702823008968136">Įgalinti žymių juostą</translation> <translation id="5512418063782665071">Pagrindinio puslapio URL</translation> <translation id="5523812257194833591">Vieša sesija, skirta automatiškai prijungti po delsos. @@ -1879,6 +1877,13 @@ Jei pasirinksite automatiškai aptikti tarpinį serverį, „Android“ programoms pateikiamas scenarijaus URL „http://wpad/wpad.dat“. Nenaudojama jokia kita tarpinio serverio automatinio aptikimo protokolo dalis. Jei pasirinksite naudoti .pac tarpinio serverio scenarijų, „Android“ programoms pateikiamas scenarijaus URL.</translation> +<translation id="6435127182262044446">Šiuo nustatymu valdomas maksimalus PIN kodo ilgis. + + Jei šis nustatymas nustatytas į 0 ar mažesnį skaičių, netaikomas joks maksimalaus ilgio apribojimas ir naudotojas gali nustatyti bet kokio ilgio PIN kodą. + + Jei šis nustatymas yra mažesnis nei „PinUnlockMinimumLength“, bet didesnis nei 0, maksimalus ilgis yra toks pat kaip minimalus ilgis. + + Pagal numatytuosius nustatymus nenustatytas joks maksimalus ilgis.</translation> <translation id="6467433935902485842">Leidžiama nustatyti URL šablonų, nurodančių svetaines, kuriose neleidžiama paleisti papildinių, sąrašą. Nenustačius šios politikos, visose svetainėse bus naudojama visuotinė numatytoji vertė iš politikos „Numatytasis papildinių nustatymas“ (jei nustatyta) ar naudotojo asmeninės konfigūracijos.</translation> @@ -2835,6 +2840,13 @@ Pagal politiką užregistruotos protokolo doroklės sujungiamos su naudotojo užregistruotomis doroklėmis ir jas abi galima naudoti. Naudotojas gali nepaisyti pagal politiką įdiegtų protokolo doroklių įdiegdamas naują numatytąją doroklę, bet jis negali pašalinti pagal politiką užregistruotos protokolo doroklės.</translation> <translation id="913195841488580904">Blokuoti prieigą prie URL sąrašo</translation> <translation id="9135033364005346124">Įgalinti <ph name="CLOUD_PRINT_NAME" /> tarpinį serverį</translation> +<translation id="9136253551939494882">Baltasis sąrašas, kuriuo valdoma, kuriuos sparčiojo atrakinimo režimus naudotojas gali konfigūruoti ir naudoti norėdamas atrakinti užrakinimo ekraną. + + Ši vertė yra eilučių sąrašas. Galiojantys sąrašo įrašai yra "all" ir "PIN". Prie sąrašo pridėjus „all“ naudotojui bus pasiekiami visi sparčiojo atrakinimo režimai, įskaitant tuos, kurie bus įdiegti ateityje. Priešingu atveju bus pasiekiami tik sąraše pateikiami sparčiojo atrakinimo režimai. + + Pavyzdžiui, jei norite leisti naudoti visus sparčiojo atrakinimo režimus, naudokite ["all"]. Jei norite leisti atrakinti tik naudojant PIN kodą, naudokite ["PIN"]. Jei norite išjungti visus sparčiojo atrakinimo režimus, naudokite []. + + Pagal numatytuosius nustatymus tvarkomuose įrenginiuose nepasiekiami jokie sparčiojo atrakinimo režimai.</translation> <translation id="9147029539363974059">Siunčiami sistemos žurnalai valdymo serveriui, kad būtų leidžiama administratoriams stebėti sistemos žurnalus. @@ -2850,6 +2862,11 @@ Nenustačius šios politikos, tai bus įgalinta ir naudotojas (-a) galės naudoti inkognito režimą.</translation> <translation id="915194831143859291">Jei ši politika nustatyta į „false“ arba nesukonfigūruota, „<ph name="PRODUCT_OS_NAME" />“ leidžia naudotojui išjungti įrenginį. Jei ši politika nustatyta į „true“, „<ph name="PRODUCT_OS_NAME" />“ suaktyvina paleidimą iš naujo, kai naudotojas išjungia įrenginį. Visus išjungimo mygtukų atvejus NS „<ph name="PRODUCT_OS_NAME" />“ pakeičia paleidimo iš naujo mygtukais. Jei naudotojas išjungia įrenginį naudodamas maitinimo mygtuką, įrenginys nėra automatiškai paleidžiamas iš naujo, net jei politika įgalinta.</translation> +<translation id="917887642534332939">Šiuo nustatymu valdomas minimalus PIN kodo ilgis. + + Pats mažiausias PIN kodo ilgis yra 1; mažesnės už 1 vertės laikomos 1. + + Numatytasis ir rekomenduojamas minimalaus PIN kodo ilgis yra 6 skaitmenys.</translation> <translation id="9187743794267626640">Neleisti montuoti išorinės atminties</translation> <translation id="9197740283131855199">Ekrano užtemdymo delsos mastelio keitimo procentas, naudojamas, jei naudotojas atlieka veiksmų po užtemdymo</translation> <translation id="9200828125069750521">Vaizdo URL parametrai, kuriuose naudojama POST</translation>
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb index c918878..b2ca752 100644 --- a/components/policy/resources/policy_templates_lv.xtb +++ b/components/policy/resources/policy_templates_lv.xtb
@@ -1286,6 +1286,11 @@ Šablonu piemērus skatiet šeit: https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Atvērt vietrāžu URL sarakstu</translation> <translation id="4680961954980851756">Iespējo automātisko aizpildi</translation> +<translation id="4722399051042571387">Ja ir konfigurēta vērtība “false”, tiek novērsta nedrošu un viegli uzminamu PIN iestatīšana. + + Piemēram, nedroši ir tādi PIN, kuros ir vienādi cipari (1111), četri cipari pēc kārtas augošā secībā (1234), četri cipari pēc kārtas dilstošā secībā (4321) vai izplatīta ciparu kombinācija. + + Pēc noklusējuma, ievadot nedrošu PIN, lietotājiem tiek parādīts tikai brīdinājums, nevis kļūdas ziņojums.</translation> <translation id="4723829699367336876">Ugunsmūra apvada iespējošana no attālās piekļuves klienta</translation> <translation id="4725528134735324213">Iespējot pakalpojumu Android Backup Service</translation> <translation id="4733471537137819387">Ar integrēto HTTP autentifikāciju saistītās politikas</translation> @@ -1502,13 +1507,6 @@ Ja ir iestatīta šīs politikas vērtība un tā nav 0, lietotājam, kas pašlaik ir pieteicies demonstrācijā, automātiski tiks veikta atteikšanās, tiklīdz būs pagājis noteiktais neaktivitātes laiks. Politikas vērtība ir jānorāda milisekundēs.</translation> -<translation id="5506213378070007377">Informācija par Android statusu tiek nosūtīta atpakaļ uz - serveri. - - Ja politikai ir iestatīta vērtība “Nepatiesa”, netiek ziņota statusa informācija. - Ja ir iestatīta vērtība “Patiesa” vai politika nav iestatīta, tiek ziņota statusa informācija. - - Šī politika ir spēkā tikai tad, ja ir iespējotas Android lietotnes.</translation> <translation id="5511702823008968136">Iespējo grāmatzīmju joslu</translation> <translation id="5512418063782665071">Sākumlapas URL</translation> <translation id="5523812257194833591">Publiska sesija, kurā pēc aizkaves veikt automātisku pieteikšanos. @@ -1836,6 +1834,13 @@ Ja izvēlēsieties automātiski noteikt starpniekserveri, Android lietotnēm tiks nodrošināts skripta URL http://wpad/wpad.dat. Netiks izmantota neviena cita daļa no automātiskās noteikšanas protokola. Ja izvēlēsieties izmantot .pac starpniekservera skriptu, Android lietotnēm tiks nodrošināts skripta URL.</translation> +<translation id="6435127182262044446">Ar šo iestatījumu tiek kontrolēts PIN maksimālais garums. + + Ja iestatījuma vērtība ir 0 vai mazāka vērtība, nav noteikts maksimālais garums un lietotājs var iestatīt jebkāda garuma PIN. + + Ja šī iestatījuma vērtība ir mazāka nekā vērtība PinUnlockMinimumLength, taču lielāka nekā 0, maksimālais garums ir tāds pats kā minimālais garums. + + Pēc noklusējuma maksimālais garums nav noteikts.</translation> <translation id="6467433935902485842">Ļauj iestatīt URL rakstu sarakstu, kurā ir norādītas vietnes, kurām nav atļauts izpildīt spraudņus. Ja šī politika nav iestatīta, visām vietnēm tiks izmantota globālā noklusējuma vērtība no politikas DefaultPluginsSetting (ja tā ir iestatīta) vai pretējā gadījumā no lietotāja personīgās konfigurācijas.</translation> @@ -2795,6 +2800,13 @@ Politikas reģistrētie protokolu apdarinātāji tiek apvienoti ar lietotāja reģistrētajiem, un tie visi ir pieejami lietošanai. Lietotājs var ignorēt politikas instalētos protokolu apdarinātājus, instalējot jaunu noklusējuma apdarinātāju, bet nevar noņemt politikas reģistrētu protokola apdarinātāju.</translation> <translation id="913195841488580904">Bloķēt piekļuvi vietrāžu URL sarakstam</translation> <translation id="9135033364005346124">Iespējo <ph name="CLOUD_PRINT_NAME" /> starpniekserveri</translation> +<translation id="9136253551939494882">Baltais saraksts, ar kuru tiek kontrolēts, kurus ātrās atbloķēšanas režīmus lietotājs var konfigurēt un lietot, lai atbloķētu bloķēšanas ekrānu. + + Vērtība ir virkņu saraksts. Derīgi saraksta ierakstu piemēri: "all" (visi) un "PIN". Pievienojot sarakstam vērtību "all", lietotājam ir pieejami visi ātrās atbloķēšanas režīmi un būs pieejami arī tādi režīmi, kas tiks ieviesti vēlāk. Pretējā gadījumā ir pieejami tikai sarakstā norādītie ātrās atbloķēšanas režīmi. + + Piemēram, lai atļautu visus ātrās atbloķēšanas režīmus, norādiet vērtību ["all"]. Lai atļautu tikai PIN atbloķēšanu, norādiet vērtību ["PIN"]. Lai atspējotu visus ātrās atbloķēšanas režīmus, norādiet vērtību []. + + Pēc noklusējuma pārvaldītās ierīcēs nav pieejami ātrās atbloķēšanas režīmi.</translation> <translation id="9147029539363974059">Sūta sistēmas žurnālus uz pārvaldības serveri, lai ļautu administratoriem uzraudzīt sistēmas žurnālus. @@ -2810,6 +2822,11 @@ Ja šī politika nav iestatīta, tā tiks iespējota un lietotājs varēs lietot inkognito režīmu.</translation> <translation id="915194831143859291">Ja šai politikai ir iestatīta vērtība Nepatiesa vai ja politika nav konfigurēta, lietotājs var izslēgt <ph name="PRODUCT_OS_NAME" /> ierīci. Ja šai politikai ir iestatīta vērtība Patiesa, lietotājam izslēdzot ierīci, operētājsistēmā <ph name="PRODUCT_OS_NAME" /> tiek aktivizēta atkārtotā palaišana. <ph name="PRODUCT_OS_NAME" /> aizstāj visas lietotāja saskarnē esošās izslēgšanas pogas ar atkārtotas palaišanas pogām. Ja lietotājs izslēdz ierīci, izmantojot barošanas pogu, ierīce tiek automātiski atkārtoti palaista, pat ja ir iespējota politika.</translation> +<translation id="917887642534332939">Ar šo iestatījumu tiek kontrolēts PIN minimālais garums. + + Absolūtais PIN minimālais garums ir 1. Mazākas vērtības tiek apstrādātas kā vērtība 1. + + Noklusējuma PIN minimālais garums, ko ieteicams izmantot, ir 6 cipari.</translation> <translation id="9187743794267626640">Ārējas krātuves uzstādīšanas atspējošana</translation> <translation id="9197740283131855199">Aizkaves līdz ekrāna aptumšošanai norādīšana procentos, ja lietotājs ir aktīvs pēc aptumšošanas</translation> <translation id="9200828125069750521">Tā attēla URL parametri, kurā tiek izmantota metode POST</translation>
diff --git a/components/policy/resources/policy_templates_ml.xtb b/components/policy/resources/policy_templates_ml.xtb index bb7cdac..e310fbc 100644 --- a/components/policy/resources/policy_templates_ml.xtb +++ b/components/policy/resources/policy_templates_ml.xtb
@@ -1309,6 +1309,11 @@ ഉദാഹരണ പാറ്റേണുകൾക്കായി, https://www.chromium.org/developers/how-tos/chrome-frame-getting-started കാണുക.</translation> <translation id="467449052039111439">URL-കളുടെ ഒരു ലിസ്റ്റ് തുറക്കുക</translation> <translation id="4680961954980851756">ഓട്ടോഫില് പ്രാപ്തമാക്കുക</translation> +<translation id="4722399051042571387">തെറ്റ് എന്നാണെങ്കിൽ, ഉപയോക്താക്കൾക്ക് ദുർബലമായതും എളുപ്പത്തിൽ ഊഹിക്കാവുന്നതുമായ പിൻ നമ്പറുകൾ സജ്ജമാക്കാനാവില്ല. + + ദുർബലമായ ചില പിൻ നമ്പറുകളുടെ ഉദാഹരണങ്ങൾ: ഒരു അക്കം മാത്രം അടങ്ങിയ പിൻ നമ്പറുകൾ (1111), ഓരോ അക്കങ്ങളായി വർദ്ധിക്കുന്ന പിൻ നമ്പറുകൾ (1234), ഓരോ അക്കങ്ങളായി കുറഞ്ഞ് വരുന്ന പിൻ നമ്പറുകൾ (4321), പൊതുവായി ഉപയോഗിക്കുന്ന പിൻ നമ്പറുകൾ. + + പിൻ നമ്പറിനെ ദുർബലമായി കണക്കാക്കുകയാണെങ്കിൽ ഉപയോക്താക്കൾക്ക് ഡിഫോൾട്ടായി ഒരു മുന്നറിയിപ്പ് ലഭിക്കും, എന്നാൽ അതൊരു പിശകല്ല.</translation> <translation id="4723829699367336876">വിദൂര ആക്സസ് ക്ലയന്റിൽ നിന്നും ഫയർവാൾ സഞ്ചാരം സാധ്യമാക്കുക</translation> <translation id="4725528134735324213">Android ബാക്കപ്പ് സേവനം പ്രവർത്തനക്ഷമമാക്കുക</translation> <translation id="4733471537137819387">സംയോജിപ്പിക്കപ്പെട്ട HTTP പ്രാമാണീകരണവുമായി ബന്ധപ്പെട്ട നയങ്ങള്.</translation> @@ -1525,13 +1530,6 @@ ഈ നയത്തിന്റെ മൂല്യം സജ്ജമാക്കുകയും അത് 0 അല്ലാതിരിക്കുകയും ചെയ്യുകയാണെങ്കിൽ വ്യക്തമാക്കിയ കാലാവധിയുടെ നിഷ്ക്രിയ സമയം കഴിയുമ്പോൾ, നിലവിൽ ലോഗിൻ ചെയ്തിരിക്കുന്ന ഡെമോ ഉപയോക്താവ് സ്വയമേവ ലോഗ് ഔട്ടാകും. നയത്തിന്റെ മൂല്യം മില്ലിസെക്കന്റിൽ വ്യക്തമാക്കേണ്ടതാണ്.</translation> -<translation id="5506213378070007377">Android-ന്റെ സ്റ്റാറ്റസിനെ കുറിച്ചുള്ള വിവരങ്ങൾ സെർവറിലേക്ക് തിരികെ - അയയ്ക്കും. - - നയം 'തെറ്റ്' എന്ന് സജ്ജമാക്കുകയാണെങ്കിൽ, സ്റ്റാറ്റസ് വിവരങ്ങളൊന്നും റിപ്പോർട്ടുചെയ്യില്ല. - നയം 'ശരി' എന്ന് സജ്ജമാക്കുകയോ സജ്ജമാക്കാതെ വിടുകയോ ആണെങ്കിൽ, സ്റ്റാറ്റസ് വിവരങ്ങൾ റിപ്പോർട്ടുചെയ്യും. - - Android ആപ്സുകൾ പ്രവർത്തനക്ഷമമാണെങ്കിൽ മാത്രമേ ഈ നയം ബാധകമാകൂ.</translation> <translation id="5511702823008968136">ബുക്ക്മാര്ക്ക് ബാര് പ്രാപ്തമാക്കുക</translation> <translation id="5512418063782665071">ഹോം പേജ് URL</translation> <translation id="5523812257194833591">ഒരു കാലതാമസത്തിന് ശേഷം യാന്ത്രിക-ലോഗിൻ ചെയ്യുന്നതിനുള്ള എല്ലാവർക്കുമുള്ള സെഷൻ. @@ -1888,6 +1886,13 @@ നിങ്ങൾ "പ്രോക്സി സെർവർ സ്വയമേവ കണ്ടെത്തുക," തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, Android ആപ്സുകൾക്ക് "http://wpad/wpad.dat" സ്ക്രിപ്റ്റ് URL ലഭ്യമാക്കും. പ്രോക്സി സ്വയമേവ കണ്ടെത്തൽ പ്രോട്ടോക്കോളിന്റെ മറ്റ് ഭാഗങ്ങളൊന്നും ഉപയോഗിക്കില്ല. നിങ്ങൾ ".pac പ്രോക്സി സ്ക്രിപ്റ്റ്," തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ Android ആപ്സുകൾക്ക് സ്ക്രിപ്റ്റ് URL നൽകുന്നതാണ്.</translation> +<translation id="6435127182262044446">ഈ ക്രമീകരണം പിൻ നമ്പറിന്റെ പരമാവധി ദൈർഘ്യത്തെ നിയന്ത്രിക്കുന്നു. + + ഈ ക്രമീകരണം 0 അല്ലെങ്കിൽ അതിൽ താഴെയാണെങ്കിൽ പരമാവധി ദൈർഘ്യം ഉണ്ടായിരിക്കില്ല, അതിനാൽ ഉപയോക്താവിന് അവർക്ക് ഇഷ്ടമുള്ള ദൈർഘ്യത്തിൽ പിൻ നമ്പർ സജ്ജമാക്കാം. + + ഈ ക്രമീകരണം PinUnlockMinimumLength എന്നതിനേക്കാൾ കുറവും 0 എന്നതിനേക്കാൾ കൂടുതലും ആണെങ്കിൽ, പരമാവധി ദൈർഘ്യം ഏറ്റവും കുറഞ്ഞ ദൈർഘ്യത്തിന് സമാനമായിരിക്കും. + + ഈ ക്രമീകരണം 'പരമാവധി ദൈർഘ്യമില്ല' എന്നതിലേക്ക് ഡിഫോൾട്ടായി സജ്ജമാക്കും.</translation> <translation id="6467433935902485842">പ്ലഗിനുകൾ പ്രവർത്തിപ്പിക്കാൻ അനുവാദമില്ലാത്ത സൈറ്റുകൾ വ്യക്തമാക്കുന്ന url പാറ്റേണുകളുടെ ഒരു ലിസ്റ്റ് സജ്ജമാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഈ നയം സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിൽ ആഗോള സ്ഥിരസ്ഥിതി മൂല്യം, അത് സജ്ജമാക്കിയ 'DefaultPluginsSetting' നയത്തിൽ നിന്നോ അതല്ലെങ്കിൽ ഉപയോക്താവിന്റെ സ്വകാര്യ കോൺഫിഗറേഷനിൽ നിന്നോ ഉള്ള എല്ലാ സൈറ്റുകൾക്കായും ഉപയോഗിക്കപ്പെടുന്നതാണ്.</translation> @@ -2847,6 +2852,13 @@ നയം രജിസ്റ്റര് ചെയ്ത പ്രോട്ടോക്കോൾ ഹാന്ഡ്ലറുകൾ ഉപയോക്താവ് രജിസ്റ്റർ ചെയ്തവയോട് ലയിക്കുന്നു ഒപ്പം രണ്ടും ഉപയോഗിക്കാനായി ലഭ്യമാകുകയും ചെയ്യുന്നു. നയം ഇൻസ്റ്റാൾ ചെയ്ത പ്രോട്ടോക്കോൾ ഹാന്ഡ്ലറുകളെ ഉപയോക്താവിന് പുതിയ ഒരു സ്ഥിര ഹാൻഡ്ലർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിലൂടെ അസാധുവാക്കാനാകും, എന്നാൽ നയം രജിസ്റ്റർ ചെയ്ത ഒരു പ്രോട്ടോക്കോൾ ഹാന്ഡ്ലർ നീക്കം ചെയ്യാനാകില്ല.</translation> <translation id="913195841488580904">URLകളുടെ ഒരു ലിസ്റ്റിലേക്ക് ആക്സസ് ചെയ്യുന്നത് തടയുക</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> പ്രോക്സി പ്രാപ്തമാക്കുക</translation> +<translation id="9136253551939494882">ലോക്ക് സ്ക്രീൻ അൺലോക്കുചെയ്യാൻ ഉപയോക്താവിന് ഏതൊക്കെ അതിവേഗ അൺലോക്ക് മോഡുകളാണ് കോൺഫിഗർ ചെയ്ത് ഉപയോഗിക്കാനാവുന്നത് എന്നീ കാര്യങ്ങളൊക്കെ ഒരു വൈറ്റ്ലിസ്റ്റാണ് നിയന്ത്രിക്കുന്നത്. + + ഈ മൂല്യം, സ്ട്രിംഗുകളുടെ ഒരു ലിസ്റ്റാണ്; ശരിയായ ലിസ്റ്റ് എൻട്രികൾ ഇവയാണ്: "എല്ലാം", "പിൻ നമ്പർ". ലിസ്റ്റിൽ "എല്ലാം" എന്ന് ചേർക്കുന്നത്, ഭാവിയിൽ നടപ്പിലാക്കാനിരിക്കുന്നവ ഉൾപ്പെടെയുള്ള എല്ലാ അതിവേഗ അൺലോക്ക് മോഡും ഉപയോക്താവിന് ലഭ്യമാണ് എന്നാണ് അർത്ഥമാക്കുന്നത്. അല്ലെങ്കിൽ, ലിസ്റ്റിൽ നിലവിലുള്ള അതിവേഗ അൺലോക്ക് മോഡുകൾ മാത്രമേ ലഭ്യമാകൂ. + + ഉദാഹരണത്തിന്, എല്ലാ അതിവേഗ അൺലോക്ക് മോഡും അനുവദിക്കുന്നതിന്, ["എല്ലാം"] ഉപയോഗിക്കുക. പിൻ നമ്പർ ഉപയോഗിച്ചുള്ള അൺലോക്ക് മാത്രം അനുവദിക്കുന്നതിന്, ["പിൻ നമ്പർ"] ഉപയോഗിക്കുക. എല്ലാ അതിവേഗ അൺലോക്ക് മോഡുകളും പ്രവർത്തനരഹിതമാക്കാൻ, [] ഉപയോഗിക്കുക. + + മാനേജുചെയ്ത ഉപകരണങ്ങൾക്ക് ഡിഫോൾട്ടായി അതിവേഗ അൺലോക്ക് മോഡുകളൊന്നും ലഭ്യമല്ല.</translation> <translation id="9147029539363974059">അഡ്മിനുകൾക്ക് സിസ്റ്റം ലോഗുകൾ നിരീക്ഷിക്കാൻ അനുവദിക്കുന്നതിന് മാനേജ്മെന്റ് സെർവറിലേക്ക് സിസ്റ്റം ലോഗുകൾ അയയ്ക്കുക. @@ -2862,6 +2874,11 @@ ഈ നയം സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിൽ, ഇത് പ്രാപ്തമാകുകയും ഉപയോക്താക്കൾക്ക് ആൾമാറാട്ട മോഡ് ഉപയോഗിക്കാൻ കഴിയുകയും ചെയ്യും.</translation> <translation id="915194831143859291">ഈ നയം 'false' ആയി സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിലോ കോൺഫിഗർ ചെയ്തിട്ടില്ലെങ്കിലോ, ഉപകരണം ഷട്ട് ഡൗൺ ചെയ്യാൻ <ph name="PRODUCT_OS_NAME" /> ഉപയോക്താവിനെ അനുവദിക്കും. ഈ നയം 'true' ആയി സജ്ജമാക്കുകയാണെങ്കിൽ, ഉപയോക്താവ് ഉപകരണം ഷട്ട് ഡൗൺ ചെയ്യുമ്പോൾ <ph name="PRODUCT_OS_NAME" /> റീബൂട്ട് ട്രിഗർ ചെയ്യും. റീബൂട്ട് ബട്ടണുകൾ കൊണ്ട് UI-യിലെ ഷട്ട് ഡൗൺ ബട്ടണുകളുടെ എല്ലാ ആവർത്തനങ്ങളും <ph name="PRODUCT_OS_NAME" /> മാറ്റി പകരംവയ്ക്കും. നയം പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിലും, ഉപയോക്താവ് പവർ ബട്ടൺ ഉപയോഗിച്ച് ഉപകരണം ഷട്ട് ഡൗൺ ചെയ്യുകയാണെങ്കിൽ, ഇത് സ്വയമേവ റീബൂട്ട് ചെയ്യില്ല.</translation> +<translation id="917887642534332939">ഈ ക്രമീകരണം ഏറ്റവും കുറഞ്ഞ പിൻ നമ്പർ ദൈർഘ്യത്തെ നിയന്ത്രിക്കുന്നു. + + ഏറ്റവും കുറഞ്ഞ കൃത്യമായ പിൻ നമ്പർ ദൈർഘ്യം 1 ആണ്; 1-നേക്കാൾ കുറഞ്ഞ മൂല്യങ്ങളെ 1 ആയി കണക്കാക്കും. + + ഡിഫോൾട്ടായതും ശുപാർശ ചെയ്യുന്നതുമായ ഏറ്റവും കുറഞ്ഞ പിൻ നമ്പർ ദൈർഘ്യം 6 അക്കങ്ങളാണ്.</translation> <translation id="9187743794267626640">ബാഹ്യ സംഭരണം മൗണ്ടുചെയ്യുന്നത് അപ്രാപ്തമാക്കുക</translation> <translation id="9197740283131855199">മങ്ങിയശേഷം ഉപയോക്താവ് സജീവമാണെങ്കിൽ സ്ക്രീൻ മങ്ങുന്നതിന്റെ കാലതാമസം സ്കെയിൽ ചെയ്യുന്നതനുസരിച്ചുള്ള ശതമാനം</translation> <translation id="9200828125069750521">POST ഉപയോഗിക്കുന്ന ഇമേജ് URL-നായുള്ള പാരാമീറ്ററുകൾ</translation>
diff --git a/components/policy/resources/policy_templates_mr.xtb b/components/policy/resources/policy_templates_mr.xtb index 6b287e78..b9680c7 100644 --- a/components/policy/resources/policy_templates_mr.xtb +++ b/components/policy/resources/policy_templates_mr.xtb
@@ -1027,7 +1027,7 @@ सेट केलेले नसल्यास किंवा असत्य वर सेट केले असल्यास, वापरकर्ते Google ड्राइव्ह वर फायली स्थानांतरित करण्यासाठी सक्षम होतील.</translation> <translation id="3915395663995367577">प्रॉक्सी .pac फायलीची URL</translation> -<translation id="3926940573869375969"><ph name="PRODUCT_OS_NAME" /> साइन-इन स्क्रीनवर अनुमती असलेले कीबोर्ड लेआउट कॉन्फिगर करते. +<translation id="3926940573869375969"><ph name="PRODUCT_OS_NAME" /> साइन-इन स्क्रीनवर कोणत्या कीबोर्ड लेआउटना अनुमती आहे ते कॉन्फिगर करते. हे धोरण इनपुट पद्धत अभिज्ञापकांच्या सूचीवर सेट असल्यास, दिलेल्या इनपुट पद्धती साइन-इन स्क्रीवर उपलब्ध असतील. प्रथम दिलेली इनपुट पद्धत आधी निवडलेली असेल. वापरकर्ता पॉड साइन-इन स्क्रीनवर लक्षित असताना, या धोरणाद्वारे दिलेल्या पद्धतीच्या व्यतिरिक्त वापरकर्त्याची सर्वात अलीकडील इनपुट पद्धत उपलब्ध असेल. हे धोरण सेट नसल्यास, साइन इन स्क्रीनवरील इनपुट पद्धती साइन-इन स्क्रीन प्रदर्शित केलेल्या लोकॅलवरून मिळविली जाईल. वैध इनपुट पद्धती अभिज्ञापक नसलेल्या मूल्यांकडे दुर्लक्ष केले जाईल.</translation> <translation id="3939893074578116847">डिव्हाइस ऑफलाइन आहे किंवा नाही ते शोधण्याची सर्व्हरला अनुमती देण्यासाठी ऑनलाइन स्थितीचे परीक्षण @@ -1271,6 +1271,11 @@ उदाहरणादाखल नमुन्यांसाठी http://www.chromium.org/developers/how-tos/chrome-frame-getting-started पहा.</translation> <translation id="467449052039111439">URL ची सूची उघडा</translation> <translation id="4680961954980851756">AutoFill सक्षम करा </translation> +<translation id="4722399051042571387">असत्य असल्यास, कमकुवत आणि सहजपणे अंदाज घेता येणारे पिन सेट करण्यात वापरकर्ते अक्षम असतील. + + कमकुवत पिनची काही उदाहरणे: केवळ एक अंक असलेले पिन (1111), असे पिन ज्यामधील अंकांमध्ये 1 ने वाढ होत जाते (1234), असे पिन ज्यामधील अंक 1 ने कमी होत जातात (4321) आणि सामान्यपणे वापरले जाणारे पिन. + + डीफॉल्टनुसार, पिन कमकुवत असल्याचे वाटल्यास वापरकर्त्यांना त्रुटी ऐवजी, एक चेतावणी मिळेल.</translation> <translation id="4723829699367336876">दूरस्थ प्रवेश क्लायंटमधून फायरवॉल ट्रॅव्हर्सल सक्षम करा</translation> <translation id="4725528134735324213">Android बॅकअप सेवा सक्षम करा</translation> <translation id="4733471537137819387">समाकलित HTTP प्रमाणीकरणाशी संबंधित धोरणे.</translation> @@ -1486,12 +1491,6 @@ जेव्हा या धोरणाचे मूल्य सेट केलेले असते आणि सध्या लॉग इन केलेल्यापेक्षा 0 नसते तेव्हा निर्दिष्ट कालावधी संपल्याच्या निष्क्रिय वेळेनंतर डेमो वापरकर्ता स्वयंचलितपणे लॉग आउट केला जाईल. धोरणाचे मूल्य मिलिसेकंदांमध्ये निर्दिष्ट केले जावे.</translation> -<translation id="5506213378070007377">Android च्या स्थितीविषयीची माहिती सर्व्हरवर परत पाठवली जाईल. - - धोरण असत्यवर सेट केलेले असल्यास, कोणत्याही स्थिती माहितीचा अहवाल दिलेला नाही. - सत्यवर सेट केलेले असल्यास किंवा सेट न केलेले ठेवल्यास, स्थिती माहितीचा अहवाल दिला आहे. - - केवळ Android अॅप्स सक्षम केलेले असताना हे धोरण लागू केले जाते.</translation> <translation id="5511702823008968136">बुकमार्क बार सक्षम करा</translation> <translation id="5512418063782665071">मुख्यपृष्ठ URL</translation> <translation id="5523812257194833591">विलंबानंतर स्वयं-लॉग इनसाठी सार्वजनिक सत्र. @@ -1830,6 +1829,13 @@ आपण प्रॉक्सी सर्व्हर स्वयं शोधा निवडल्यास, स्क्रिप्ट URL "http://wpad/wpad.dat" Android अॅप्सना प्रदान केली जाते. प्रॉक्सी स्वयं शोध प्रोटोकॉलचा अन्य कोणताही भाग वापरला जात नाही. आपण .pac प्रॉक्सी स्क्रिप्ट वापरा निवडल्यास, स्क्रिप्ट URL Android अॅप्सना प्रदान केली जाते.</translation> +<translation id="6435127182262044446">हे सेटिंग पिनची कमाल लांबी नियंत्रित करते. + + हे सेटिंग 0 किंवा त्यापेक्षा कमी असल्यास, कमाल लांबी नसते; वापरकर्ते पाहिजे तितक्या लांबीचा पिन सेट करू शकतात. + + हे सेटिंग PinUnlockMinimumLength पेक्षा कमी परंतु 0 पेक्षा मोठे असल्यास, कमाल लांबी ही किमान लांबीच्या समान असते. + + हे सेटिंग कमाल लांबी नाही वर डीफॉल्ट असते.</translation> <translation id="6467433935902485842">प्लगिन चालवण्याची अनुमती नसलेल्या साइट निर्दिष्ट करणार्या url नमुन्यांची सूची सेट करण्याची आपल्याला अनुमती देते. हे धोरण सेट न करता सोडल्यास सर्व साइटसाठी सर्वंकष डीफॉल्ट मूल्य हे सेट केले असल्यास 'डीफॉल्ट प्लगइन सेटिंग' धोरण, किंवा अन्यथा वापरकर्त्याचे वैयक्तिक कॉन्फिगरेशन वापरले जाईल.</translation> <translation id="6473334971332473690"><ph name="PRODUCT_OS_NAME" /> डिव्हाइसेसवर Smart Lock वापरण्याची अनुमती देते. @@ -2746,6 +2752,14 @@ धोरणाद्वारे नोंदणीकृत प्रोटोकॉल हँडलर वापरकर्त्याद्वारे नोंदणी केलेल्या एकासह विलीन केले जातात आणि वापरण्यासाठी दोन्ही उपलब्ध असतात. वापरकर्ता एक नवीन डीफॉल्ट हँडलर स्थापित करून धोरणाद्वारे प्रोटोकॉल हँडलर अधिशून्य करू शकतो, परंतु धोरणाद्वारे नोंदणीकृत प्रोटोकॉल हँडलर काढू शकत नाही.</translation> <translation id="913195841488580904">URL च्या सूचीत प्रवेश अवरोधित करा</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> प्रॉक्सी सक्षम करा</translation> +<translation id="9136253551939494882">लॉक स्क्रीन अनलॉक करण्याकरिता वापरकर्ता कोणते द्रुत अनलॉक मोड कॉन्फिगर करू शकतो आणि वापरू शकतो ते नियंत्रित करणारी श्वेतसूची. + + हे मूल्य स्ट्रिंगची एक सूची असते; वैध सूची प्रविष्टी या आहेत: "सर्व", "पिन". सूचीमध्ये "सर्व" जोडण्याचा अर्थ भविष्यात लागू केल्या जाणार्या मोडसह प्रत्येक द्रुत अनलॉक मोड वापरकर्त्यासाठी उपलब्ध आहे हा होय. अन्यथा, केवळ सूचीमध्ये उपस्थित असलेले द्रुत अनलॉक मोड उपलब्ध असतील. + + उदाहरणार्थ, प्रत्येक द्रुत अनलॉक मोडला अनुमती देण्यासाठी, ["सर्व"] वापरा. केवळ पिन अनलॉकला अनुमती देण्यासाठी, ["पिन"] वापरा. सर्व द्रुत अनलॉक मोड अक्षम करण्यासाठी, [] वापरा. + + + डीफॉल्टनुसार, व्यवस्थापित डिव्हाइससाठी कोणतेही द्रुत अनलॉक मोड उपलब्ध असणार नाहीत.</translation> <translation id="9147029539363974059">सिस्टीम लॉगचे परीक्षण करण्यासाठी प्रशासकांना अनुमती देण्याकरिता व्यवस्थापन सर्व्हरकडे सिस्टीम लॉग पाठविते. @@ -2757,6 +2771,12 @@ हे धोरण सेट न करता सोडून दिल्यास, हे सक्षम करण्यात येईल आणि वापरकर्ता गुप्त मोड वापरण्यासाठी सक्षम असेल.</translation> <translation id="915194831143859291">हे धोरण असत्य वर सेट केल्यास किंवा कॉन्फिगर केलेले नसल्यास, <ph name="PRODUCT_OS_NAME" /> वापरकर्त्यास डिव्हाइस बंद करण्याची अनुमती देईल. हे धोरण सत्य वर सेट केल्यास, वापरकर्ता डिव्हाइस बंद करतो तेव्हा <ph name="PRODUCT_OS_NAME" /> रीबूट ट्रिगर करेल. <ph name="PRODUCT_OS_NAME" /> UI मधील बंद करण्याचे सर्व बटण रीबूट बटणांशी बदलून टाकेल. उर्जा बटण वापरून वापरकर्ता डिव्हाइस बंद करतो तेव्हा, धोरण सक्षम केले असले तरीही ते स्वयंचलितपणे रीबूट होणार नाही.</translation> +<translation id="917887642534332939">हे सेटिंग किमान पिन लांबी नियंत्रित करते. + + निरपेक्ष किमान पिन लांबी 1 आहे; 1 पेक्षा कमी मूल्ये 1 म्हणून हाताळली जातात. + + + डीफॉल्ट आणि शिफारस केलेली किमान पिन लांबी 6 अंकी असते.</translation> <translation id="9187743794267626640">बाह्य संचयन एकत्रित करणे अक्षम करा</translation> <translation id="9197740283131855199">मंद केल्यानंतर वापरकर्ता सक्रिय होत असल्यास स्क्रीन मंद होण्याचा विलंब मोजण्यासाठी टक्केवारी</translation> <translation id="9200828125069750521">POST वापरणार्या प्रतिमा URL साठी प्राचल</translation>
diff --git a/components/policy/resources/policy_templates_ms.xtb b/components/policy/resources/policy_templates_ms.xtb index ec12d1b..90ab279 100644 --- a/components/policy/resources/policy_templates_ms.xtb +++ b/components/policy/resources/policy_templates_ms.xtb
@@ -1301,6 +1301,11 @@ Untuk melihat contoh pola, lawati http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Buka senarai URL</translation> <translation id="4680961954980851756">Dayakan Auto Isi</translation> +<translation id="4722399051042571387">Jika palsu, pengguna tidak akan dapat menetapkan PIN yang lemah dan mudah diteka. + + Beberapa contoh PIN yang lemah: PIN yang mengandungi hanya satu angka (1111), PIN dengan nombor yang ditokok 1 (1234), PIN dengan nombor yang ditolak 1 (4321) dan PIN yang biasa digunakan. + + Secara lalai, jika PIN dianggap lemah, pengguna akan mendapat amaran dan bukannya ralat.</translation> <translation id="4723829699367336876">Dayakan penyusuran tembok api daripada klien akses jauh</translation> <translation id="4725528134735324213">Dayakan Perkhidmatan Sandaran Android</translation> <translation id="4733471537137819387">Dasar berkaitan pengesahan HTTP bersepadu.</translation> @@ -1514,13 +1519,6 @@ Apabila nilai dasar ini ditetapkan dan bukan 0, maka pengguna tunjuk cara yang log masuk pada masa ini akan dilog keluar secara automatik selepas berlalunya tempoh tidak aktif yang ditentukan. Nilai dasar ini harus ditetapkan dalam milisaat.</translation> -<translation id="5506213378070007377">Maklumat tentang status Android dihantar kembali ke - pelayan. - - Jika dasar ini ditetapkan kepada palsu, maklumat status tidak akan dilaporkan. - Jika ditetapkan kepada benar atau dibiarkan tanpa ditetapkan, maklumat status akan dilaporkan. - - Dasar ini hanya dipakai jika apl Android didayakan.</translation> <translation id="5511702823008968136">Dayakan Bar Penanda Halaman</translation> <translation id="5512418063782665071">URL halaman utama</translation> <translation id="5523812257194833591">Sesi terbuka untuk log masuk automatik selepas kelewatan. @@ -1880,6 +1878,13 @@ Jika anda memilih untuk mengesan pelayan proksi secara automatik, URL skrip "http://wpad/wpad.dat" akan diberikan kepada apl Android. Tiada bahagian protokol autokesan proksi yang lain akan digunakan. Jika anda memilih untuk menggunakan skrip proksi .pac, URL skrip akan diberikan kepada apl Android.</translation> +<translation id="6435127182262044446">Tetapan ini mengawal panjang maksimum PIN. + + Jika nilai tetapan ini 0 ke bawah, maka tiada panjang maksimum ditetapkan dan pengguna boleh menetapkan panjang PIN pilihan mereka. + + Jika tetapan ini kurang daripada PinUnlockMinimumLength tetapi lebih besar daripada 0, panjang maksimum adalah sama dengan panjang minimum. + + Secara lalai, tetapan ini ditetapkan kepada tiada panjang maksimum.</translation> <translation id="6467433935902485842">Membolehkan anda menetapkan senarai pola url yang menentukan tapak yang tidak dibenarkan untuk menjalankan pemalam. Jika dasar ini dibiarkan tanpa ditetapkan, nilai lalai global akan digunakan untuk semua tapak sama ada dari dasar 'DefaultPluginsSetting' jika ia ditetapkan atau konfigurasi peribadi pengguna tersebut jika sebaliknya.</translation> @@ -2838,6 +2843,13 @@ Pengendali protokol yang didaftarkan oleh dasar digabungkan dengan protokol yang didaftarkan oleh pengguna dan kedua-duanya tersedia untuk digunakan. Pengguna boleh mengatasi pengendali protokol yang dipasang oleh dasar dengan memasang pengendali lalai baharu tetapi tidak boleh mengalih keluar pengendali protokol yang didaftarkan oleh dasar.</translation> <translation id="913195841488580904">Sekat akses kepada senarai URL</translation> <translation id="9135033364005346124">Dayakan proksi <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Senarai putih yang mengawal mod buka kunci pantas yang boleh dikonfigurasi dan digunakan oleh pengguna untuk membuka kunci skrin kunci. + + Nilai ini merupakan satu senarai rentetan; entri senarai yang sah ialah: "semua", "PIN". Penambahan "semua" pada senarai bermakna setiap mod buka kunci pantas tersedia kepada pengguna, termasuk mod yang dilaksanakan pada masa depan. Jika tidak, hanya mod buka kunci pantas yang ada dalam senarai akan tersedia. + + Sebagai contoh, untuk membenarkan setiap mod buka kunci pantas, gunakan ["semua"]. Untuk membenarkan buka kunci dengan PIN sahaja, gunakan ["PIN"]. Untuk melumpuhkan semua mod buka kunci pantas, gunakan []. + + Secara lalai, tiada mod buka kunci pantas tersedia untuk peranti yang diurus.</translation> <translation id="9147029539363974059">Hantar log sistem ke pelayan pengurusan, untuk membolehkan pentadbir memantau log sistem. @@ -2853,6 +2865,11 @@ Jika dasar ini dibiarkan tanpa ditetapkan, tetapan ini akan didayakan dan pengguna akan dapat menggunakan mod inkognito.</translation> <translation id="915194831143859291">Jika dasar ini ditetapkan kepada palsu atau tidak dikonfigurasikan, <ph name="PRODUCT_OS_NAME" /> akan membenarkan pengguna mematikan peranti. Jika dasar ini ditetapkan kepada benar, <ph name="PRODUCT_OS_NAME" /> akan mencetus but semula apabila pengguna mematikan peranti. <ph name="PRODUCT_OS_NAME" /> menggantikan semua kejadian bagi butang matikan dalam UI oleh butang but semula. Jika pengguna mematikan peranti menggunakan butang kuasa, peranti tidak akan but semula secara automatik, walaupun dasar didayakan.</translation> +<translation id="917887642534332939">Tetapan ini mengawal panjang minimum PIN. + + Panjang minimum mutlak PIN ialah 1; nilai yang kurang daripada 1 akan dikendalikan sebagai 1. + + Panjang minimum PIN lalai dan disyorkan ialah 6 digit.</translation> <translation id="9187743794267626640">Lumpuhkan pelekapan storan luaran</translation> <translation id="9197740283131855199">Peratusan yang digunakan untuk menskala kelewatan pemalapan skrin jika pengguna menjadi aktif selepas pemalapan</translation> <translation id="9200828125069750521">Parameter untuk URL imej yang menggunakan POST</translation>
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb index 77d2b71..59b59de 100644 --- a/components/policy/resources/policy_templates_nl.xtb +++ b/components/policy/resources/policy_templates_nl.xtb
@@ -1290,6 +1290,11 @@ Ga voor voorbeeldpatronen naar https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Een lijst met URL's openen</translation> <translation id="4680961954980851756">Automatisch aanvullen inschakelen</translation> +<translation id="4722399051042571387">Als dit is ingesteld op 'false' (onwaar), kunnen gebruikers geen pincodes instellen die als zwak worden beschouwd en gemakkelijk kunnen worden geraden. + + Enkele voorbeelden van zwakke pincodes: pincodes die slechts één cijfer bevatten (1111), pincodes met een oplopende cijferreeks (1234), pincodes met een aflopende cijferreeks (4321) en pincodes die te algemeen zijn. + + Standaard krijgen gebruikers een waarschuwing en geen foutmelding te zien als de pincode als zwak wordt beschouwd.</translation> <translation id="4723829699367336876">Firewallpassage vanaf client voor externe toegang inschakelen</translation> <translation id="4725528134735324213">Android Backup Service inschakelen</translation> <translation id="4733471537137819387">Beleid met betrekking tot geïntegreerde HTTP-authenticatie.</translation> @@ -1502,13 +1507,6 @@ Wanneer de waarde van dit beleid is ingesteld en niet 0 is, wordt de momenteel ingelogde demogebruiker automatisch uitgelogd nadat een inactiviteitsperiode met de opgegeven duur is verstreken. De beleidswaarde moet worden opgegeven in milliseconden.</translation> -<translation id="5506213378070007377">Informatie over de status van Android wordt teruggestuurd naar de - server. - - Als het beleid is ingesteld op false (onwaar), wordt er geen statusinformatie gerapporteerd. - Als het beleid is ingesteld op true (waar) of niet is ingesteld, wordt de statusinformatie gerapporteerd. - - Dit beleid is alleen van toepassing als Android-apps zijn ingeschakeld.</translation> <translation id="5511702823008968136">Bladwijzerbalk inschakelen</translation> <translation id="5512418063782665071">URL van homepage</translation> <translation id="5523812257194833591">Een openbare sessie om automatisch in te loggen na een vertraging. @@ -1835,6 +1833,13 @@ Als je ervoor kiest de proxyserver automatisch te detecteren, ontvangen de Android-apps de script-URL http://wpad/wpad.dat. Er wordt geen enkel ander onderdeel van het protocol voor de automatische detectie van de proxy gebruikt. Als je het PAC-script voor de proxy kiest, ontvangen de Android-apps de script-URL.</translation> +<translation id="6435127182262044446">Met deze instelling wordt de maximumlengte van pincodes bepaald. + + Als deze instelling is ingesteld op 0 of lager, is er geen maximumlengte. De gebruiker kan een pincode met elke gewenste lengte instellen. + + Als deze instelling lager is dan PinUnlockMinimumLength maar hoger dan 0, is de maximumlengte gelijk aan de minimumlengte. + + Deze instelling wordt standaard ingesteld op geen maximumlengte.</translation> <translation id="6467433935902485842">Hiermee kun je een lijst met URL-patronen instellen waarmee sites worden gespecificeerd waarop plug-ins niet mogen worden uitgevoerd. Als dit beleid niet wordt ingesteld, wordt de algemene standaardwaarde gebruikt voor alle sites, op basis van het beleid 'DefaultPluginsSetting' (als dit is ingesteld) of anders op basis van de configuratie van de gebruiker.</translation> @@ -2764,6 +2769,13 @@ De protocolhandlers die door het beleid zijn geregistreerd, worden samengevoegd met de handlers die door de gebruiker zijn geregistreerd en kunnen beide worden gebruikt. De gebruiker kan de protocolhandlers die door het beleid zijn geïnstalleerd, overschrijven door een nieuwe standaardhandler te installeren. Een protocolhandler die door het beleid is geregistreerd, kan echter niet worden verwijderd.</translation> <translation id="913195841488580904">Toegang blokkeren voor een lijst met URL's</translation> <translation id="9135033364005346124">Proxy voor <ph name="CLOUD_PRINT_NAME" /> inschakelen</translation> +<translation id="9136253551939494882">Een witte lijst die beheert welke modi voor snel ontgrendelen de gebruiker kan configureren en gebruiken om het vergrendelingsscherm te ontgrendelen. + + Deze waarde bestaat uit een lijst met tekenreeksen. Geldige lijstvermeldingen zijn "all", "PIN". Als je "all" toevoegt aan de lijst, betekent dit dat elke modus voor snel ontgrendelen beschikbaar is voor de gebruiker, waaronder modi die in de toekomst worden geïmplementeerd. Anders zijn alleen de modi voor snel ontgrendelen in de lijst beschikbaar. + + Als je bijvoorbeeld elke modus voor snel ontgrendelen wilt toestaan, gebruik je ['all"]. Als je alleen ontgrendelen via pincode wilt toestaan, gebruik je ["PIN"]. Als je alle modi voor snel ontgrendelen wilt uitschakelen, gebruik je []. + + Standaard zijn er geen modi voor snel ontgrendelen beschikbaar voor beheerde apparaten.</translation> <translation id="9147029539363974059">Systeemlogboeken naar de beheerserver verzenden om beheerders in staat te stellen systeemlogboeken te controleren. @@ -2779,6 +2791,11 @@ Als dit beleid niet is ingesteld, wordt dit ingeschakeld en kan de gebruiker de incognitomodus gebruiken.</translation> <translation id="915194831143859291">Als dit beleid wordt ingesteld op 'onwaar' of niet wordt geconfigureerd, staat <ph name="PRODUCT_OS_NAME" /> de gebruiker toe het apparaat af te sluiten. Als dit beleid wordt ingesteld op 'waar', activeert <ph name="PRODUCT_OS_NAME" /> een herstart wanneer de gebruiker het apparaat afsluit. <ph name="PRODUCT_OS_NAME" /> vervangt alle instanties van afsluitknoppen in de gebruikersinterface door herstartknoppen. Als de gebruiker het apparaat afsluit met de aan/uit-knop, wordt het apparaat niet automatisch opnieuw opgestart, ook niet wanneer het beleid is ingeschakeld.</translation> +<translation id="917887642534332939">Met deze instelling wordt de minimumlengte voor pincodes bepaald. + + De absolute minimumlengte voor pincodes is 1. Waarden lager dan 1 worden behandeld als 1. + + De standaard en aanbevolen minimumlengte voor pincodes is 6 cijfers.</translation> <translation id="9187743794267626640">Koppelen van externe opslag uitschakelen</translation> <translation id="9197740283131855199">Percentage waarmee de dimvertraging van het scherm wordt geschaald als de gebruiker actief wordt na het dimmen</translation> <translation id="9200828125069750521">Parameters voor afbeeldings-URL die POST gebruikt</translation>
diff --git a/components/policy/resources/policy_templates_no.xtb b/components/policy/resources/policy_templates_no.xtb index 49b4e8b..0a7639c 100644 --- a/components/policy/resources/policy_templates_no.xtb +++ b/components/policy/resources/policy_templates_no.xtb
@@ -1029,7 +1029,7 @@ <translation id="3915395663995367577">Nettadresse til en .pac-fil for proxy-tjener</translation> <translation id="3926940573869375969">Konfigurerer hvilke tastaturoppsett som tillates på påloggingsskjermen for <ph name="PRODUCT_OS_NAME" />. - Hvis denne regelen er angitt som en liste over identifikatorer for inndatametoder, er de angitte inndatametodene tilgjengelige på påloggingsskjermen. Den første angitte inndatametoden blir forhåndsvalgt. Når brukerkapselen er fokusert på påloggingsskjermen, blir den inndatametoden det er lengst siden brukeren brukte, tilgjengelig – i tillegg til inndatametodene som spesifiseres av denne regelen. Hvis denne regelen ikke er spesifisert, blir inndatametodene på påloggingsskjermen avledet fra lokaliteten påloggingsskjermen vises med. Verdier som ikke er gyldige identifikatorer for inndatametoder, blir ignorert.</translation> + Hvis denne regelen er angitt til en liste med identifikatorer for inndatametoder, er de angitte inndatametodene tilgjengelige på påloggingsskjermen. Den første angitte inndatametoden blir forhåndsvalgt. Når brukerkapselen er fokusert på påloggingsskjermen, blir den inndatametoden det er lengst siden brukeren brukte, tilgjengelig – i tillegg til inndatametodene som spesifiseres av denne regelen. Hvis denne regelen ikke er spesifisert, blir inndatametodene på påloggingsskjermen avledet fra lokaliteten påloggingsskjermen vises med. Verdier som ikke er gyldige identifikatorer for inndatametoder, blir ignorert.</translation> <translation id="3939893074578116847">Send nettverkspakker til administreringstjeneren for å overvåke nettstatusen, slik at tjeneren kan oppdage om enheten er uten nett. @@ -1267,6 +1267,11 @@ Du finner eksempelmønstre på https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Åpne en liste over nettadresser</translation> <translation id="4680961954980851756">Aktiver Autofyll</translation> +<translation id="4722399051042571387">Hvis denne regelen er angitt som «false» (usann), kan ikke brukerne angi PIN-koder som er svake og enkle å gjette. + + Her er noen eksempler på svake PIN-koder: PIN-koder som bare består av det samme tallet (1111), PIN-koder som består av tall i stigende eller synkende rekkefølge (1234 eller 4321) og vanlig brukte PIN-koder. + + Som standard ser brukerne en advarsel – ikke en feilmelding – hvis PIN-koden anses som svak.</translation> <translation id="4723829699367336876">Aktiver kryssing av brannmur fra ekstern tilgangsklient</translation> <translation id="4725528134735324213">Slå på Android Backup Service</translation> <translation id="4733471537137819387">Retningslinjer knyttet til integrert HTTP-autentisering.</translation> @@ -1473,13 +1478,6 @@ Når verdien for denne retningslinjen er angitt og ikke er 0, blir demo-brukeren som for tiden er pålogget, automatisk logget av etter at angitt periode for inaktivitet er passert. Retningslinjeverdien må spesifiseres i millisekunder.</translation> -<translation id="5506213378070007377">Informasjon om Android-statusen sendes tilbake til - tjeneren. - - Hvis regelen er angitt som «false» (usann), blir ingen statusinformasjon rapportert. - Hvis angitt som «true» (sann), eller hvis ikke noe angis, blir statusinformasjon sendt. - - Denne regelen gjelder bare hvis Android-apper er slått på.</translation> <translation id="5511702823008968136">Aktiver bokmerkerad</translation> <translation id="5512418063782665071">Nettadresse for startside</translation> <translation id="5523812257194833591">Automatisk pålogging til offentlig økt etter en gitt tid. @@ -1837,6 +1835,13 @@ Hvis du velger å finne proxy-tjeneren automatisk, får Android-apper skriptnettadressen «http://wpad/wpad.dat». Ingen annen del av protokollen for automatisk gjenkjennelse brukes. Hvis du velger PAC-skript for proxy-tjenere, får Android-apper skriptnettadressen.</translation> +<translation id="6435127182262044446">Denne innstillingen kontrollerer maksimumslengden for PIN-koder. + + Hvis instillingen er konfigurert til 0 eller mindre, finnes det ingen maksimumslengde. Da kan brukerne angi så lange PIN-koder de vil. + + Hvis innstillingen er konfigurert til mindre enn «PinUnlockMinimumLength» (minimumlengde for PIN-koder for opplåsing), men mer enn 0, er maksimumslengden den samme som minimumslengden. + + Som standard er det ikke valgt noen maksimumslengde i denne innstillingen.</translation> <translation id="6467433935902485842">Gjør at du kan angi en liste over nettadressemønstre som spesifiserer hvilke nettsteder som ikke får kjøre programtillegg. Hvis denne retningslinjen ikke angis, brukes den globale standardverdien for alle nettsteder, enten fra retningslinjen DefaultPluginsSetting hvis den er angitt, eller fra brukerens egen konfigurasjon hvis nevnte retningslinje ikke brukes.</translation> <translation id="6473334971332473690">Tillater bruk av Smart Lock på <ph name="PRODUCT_OS_NAME" />-enheter. @@ -2775,6 +2780,13 @@ Protokollbehandlere som registreres via denne innstillingen, slås sammen med de som er registrert av brukeren, og begge er tilgjengelige for bruk. Brukeren kan overstyre protokollbehandlerne som innstillingen har installert, ved å installere en ny standardbehandler, men kan ikke fjerne en protokollbehandler som er registrert via en innstilling.</translation> <translation id="913195841488580904">Blokker tilgang til en liste over nettadresser</translation> <translation id="9135033364005346124">Aktiver mellomtjener for <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Denne godkjenningslisten kontrollerer hvilke moduser for hurtigopplåsing brukerne kan konfigurere og bruke til å låse opp låseskjermen. + + Denne verdien er en liste med strenger. De gyldige listeoppføringene er «all» (alle) og «PIN». Hvis du legger til «all» i listen, blir alle modusene for hurtigopplåsing tilgjengelige for brukerne – inkludert moduser som implementeres i fremtiden. Hvis du ikke gjør det, er bare de modusene for hurtigopplåsing som finnes i listen, tilgjengelige. + + Hvis du for eksempel vil tillate alle modusene for hurtigopplåsing, bruker du [«all»]. Hvis du bare vil tillate PIN-opplåsing, bruker du [«PIN»]. Hvis du vil slå av alle modusene for hurtigopplåsing, bruker du []. + + Som standard er ingen moduser for hurtigopplåsing tilgjengelige for administrerte enheter.</translation> <translation id="9147029539363974059">Sender systemlogger til administrasjonstjeneren for å la administratorer overvåke systemloggene. @@ -2790,6 +2802,11 @@ Hvis denne retningslinjen ikke angis, vil dette aktiveres, og brukeren vil kunne bruke inkognitomodus.</translation> <translation id="915194831143859291">Hvis denne regelen settes til usann eller ikke konfigureres, kan brukerne slå av enhetene sine i <ph name="PRODUCT_OS_NAME" />. Hvis denne regelen settes til sann, gjør <ph name="PRODUCT_OS_NAME" /> at enhetene starter på nytt når brukerne slår dem av. Alle «slå av»-knappene i <ph name="PRODUCT_OS_NAME" />-brukergrensesnittet blir byttet ut med «start på nytt»-knapper. Hvis brukerne slår av enhetene med den fysiske av/på-knappen, starter de ikke på nytt – selv om regelen er slått på.</translation> +<translation id="917887642534332939">Denne innstillingen kontrollerer minimumslengden for PIN-koder. + + Den minste mulige lengden for PIN-koder er 1. Verdier som er mindre enn 1, behandles som 1. + + Standard og anbefalt lengde for PIN-koder er 6 sifre.</translation> <translation id="9187743794267626640">Deaktiver bruk av ekstern lagring</translation> <translation id="9197740283131855199">Prosentandelen det skaleres etter for å justere forsinkelse i skjermdemping, hvis brukeren har blitt aktiv igjen etter demping</translation> <translation id="9200828125069750521">Parametere for bildenettadresser som bruker POST</translation>
diff --git a/components/policy/resources/policy_templates_pl.xtb b/components/policy/resources/policy_templates_pl.xtb index f15479a..11374f8c 100644 --- a/components/policy/resources/policy_templates_pl.xtb +++ b/components/policy/resources/policy_templates_pl.xtb
@@ -26,9 +26,7 @@ Jeśli jest włączona lub nieustawiona, statystyki będą raportowane.</translation> <translation id="1046484220783400299">Włącz wycofane funkcje platform internetowych na określony czas</translation> <translation id="1047128214168693844">Nie zezwalaj żadnej witrynie na śledzenie fizycznej lokalizacji użytkownika</translation> -<translation id="1049138910114524876">Umożliwia skonfigurowanie ustawień regionalnych wymuszanych na ekranie logowania systemu <ph name="PRODUCT_OS_NAME" />. - - Jeśli ta zasada jest skonfigurowana, ekran logowania będzie zawsze wyświetlany z zastosowaniem ustawień regionalnych podanych jako pierwsza wartość tej zasady (aby zapewnić zgodność w przyszłości, zasada jest zdefiniowana jako lista). Jeśli zasada jest nieskonfigurowana lub jej wartością jest pusta lista, ekran logowania będzie wyświetlany z zastosowaniem ustawień regionalnych ostatniej sesji użytkownika. Jeśli zasada będzie mieć wartość, która nie określa prawidłowych ustawień regionalnych, ekran logowania będzie wyświetlany z zastosowaniem zastępczych ustawień regionalnych (obecnie en-US).</translation> +<translation id="1049138910114524876">Umożliwia skonfigurowanie ustawień regionalnych wymuszanych na ekranie logowania systemu <ph name="PRODUCT_OS_NAME" />. Jeśli ta zasada jest skonfigurowana, ekran logowania będzie zawsze wyświetlany z zastosowaniem ustawień regionalnych podanych jako pierwsza wartość tej zasady (aby zapewnić zgodność w przyszłości, zasada jest zdefiniowana jako lista). Jeśli zasada jest nieskonfigurowana lub jej wartością jest pusta lista, ekran logowania będzie wyświetlany z zastosowaniem ustawień regionalnych ostatniej sesji użytkownika. Jeśli zasada będzie mieć wartość, która nie określa prawidłowych ustawień regionalnych, ekran logowania będzie wyświetlany z zastosowaniem zastępczych ustawień regionalnych (obecnie en-US).</translation> <translation id="1062011392452772310">Włącz zaświadczanie zdalne dla urządzenia</translation> <translation id="1090892140761957285">URL do weryfikowania tokena uwierzytelniania klienta dostępu zdalnego. @@ -1001,9 +999,7 @@ Jeśli nie ustawisz tej zasady lub wybierzesz wartość fałsz, użytkownicy mogą przesyłać pliki na Dysk Google.</translation> <translation id="3915395663995367577">Adres URL pliku PAC serwera proxy</translation> -<translation id="3926940573869375969">Umożliwia wybranie układów klawiatury dozwolonych na ekranie logowania systemu <ph name="PRODUCT_OS_NAME" />. - - Jeśli ta zasada ma ustawioną jako wartość listę identyfikatorów metod wprowadzania, te metody wprowadzania będą dostępne na ekranie logowania. Wstępnie wybrana będzie pierwsza z nich. Gdy na ekranie logowania wybrany będzie blok danego użytkownika, oprócz metod wprowadzania ustawionych w tej zasadzie dostępna będzie metoda ostatnio używana przez tego użytkownika. Gdy zasada nie będzie skonfigurowana, metody wprowadzania na ekranie logowania będą odpowiadać ustawieniom regionalnym stosowanym do wyświetlania tego ekranu. Wartości, które nie są prawidłowymi identyfikatorami metod wprowadzania, zostaną zignorowane.</translation> +<translation id="3926940573869375969">Umożliwia wybranie układów klawiatury dozwolonych na ekranie logowania systemu <ph name="PRODUCT_OS_NAME" />. Jeśli ta zasada ma ustawioną jako wartość listę identyfikatorów metod wprowadzania, te metody wprowadzania będą dostępne na ekranie logowania. Wstępnie wybrana będzie pierwsza z nich. Gdy na ekranie logowania wybrany będzie profil danego użytkownika, oprócz metod wprowadzania ustawionych w tej zasadzie dostępna będzie metoda ostatnio używana przez tego użytkownika. Gdy zasada nie będzie skonfigurowana, metody wprowadzania na ekranie logowania będą odpowiadać ustawieniom regionalnym stosowanym do wyświetlania tego ekranu. Wartości, które nie są prawidłowymi identyfikatorami metod wprowadzania, zostaną zignorowane.</translation> <translation id="3939893074578116847">Wysyłaj pakiety sieciowe do serwera zarządzania w celu monitorowania stanu online, by serwer mógł sprawdzić, czy urządzenie jest offline. @@ -1128,7 +1124,7 @@ Jeśli ta zasada nie zostanie skonfigurowana, dla wszystkich witryn będzie używana globalna wartość domyślna pochodząca z zasady „DefaultKeygenSetting” (jeśli została skonfigurowana) lub z osobistej konfiguracji użytkownika.</translation> <translation id="4239720644496144453">Pamięć podręczna nie jest używana dla aplikacji na Androida. Gdy wielu użytkowników instaluje tę samą aplikację na Androida, jest ona pobierana oddzielnie dla każdego z nich.</translation> <translation id="4250680216510889253">Nie</translation> -<translation id="4261820385751181068">Ustawienia regionalne na ekranie logowania urządzenia</translation> +<translation id="4261820385751181068">Ustawienia regionalne na ekranie logowania na urządzeniu</translation> <translation id="4272136423200695428">Włączanie wymuszonego logowania w <ph name="PRODUCT_NAME" />.</translation> <translation id="427632463972968153">Określa parametry używane przy wyszukiwaniu obrazem przy użyciu POST. Składa się z rozdzielonych przecinkami par nazwy i wartości. Jeśli wartość jest parametrem szablonu, tak jak w przykładzie powyżej {imageThumbnail}, zostanie ona zastąpiona rzeczywistymi danymi miniatury obrazu. @@ -1228,6 +1224,7 @@ Przykładowe wzorce znajdziesz na https://www.chromium.org/developers/how-tos/chrome-frame-getting-started</translation> <translation id="467449052039111439">Otwórz adresy URL z listy</translation> <translation id="4680961954980851756">Włącz autouzupełnianie</translation> +<translation id="4722399051042571387">Jeśli to ustawienie jest wyłączone, użytkownicy nie mogą ustawiać kodów PIN, które są słabe i łatwe do odgadnięcia. Słabe kody PIN to na przykład ciągi takich samych cyfr (1111), kolejnych cyfr w porządku rosnącym (1234) lub malejącym (4321) i ciągi często używane. Domyślnie po wpisaniu słabego kodu PIN nie pojawia się komunikat o błędzie, a tylko ostrzeżenie.</translation> <translation id="4723829699367336876">Włącz omijanie zapory sieciowej przez klienta dostępu zdalnego</translation> <translation id="4725528134735324213">Włącz Android Backup Service</translation> <translation id="4733471537137819387">Zasady dotyczące zintegrowanego uwierzytelniania HTTP.</translation> @@ -1417,12 +1414,6 @@ Gdy ta zasada zostanie ustawiona na wartość różną od 0, aktualnie zalogowany użytkownik demonstracyjny zostanie automatycznie wylogowany po upływie podanego okresu bezczynności. Wartość zasady należy określić w milisekundach.</translation> -<translation id="5506213378070007377">Informacje o stanie Androida są wysyłane z powrotem na serwer. - - Jeśli zasada jest wyłączona, nie są wysyłane żadne informacje o stanie. - Jeśli jest włączona lub nieskonfigurowana, informacje o stanie są wysyłane. - - Ta zasada ma zastosowanie tylko wtedy, gdy są włączone aplikacje na Androida.</translation> <translation id="5511702823008968136">Włącz pasek zakładek</translation> <translation id="5512418063782665071">Adres URL strony startowej</translation> <translation id="5523812257194833591">Sesja publiczna, do której następuje automatyczne zalogowanie po opóźnieniu. @@ -1611,7 +1602,7 @@ Jeśli ta zasada jest włączona lub nieustawiona, akceleracja sprzętowa działa, o ile dana funkcja GPU nie znajduje się na czarnej liście. Jeśli zasada jest wyłączona, akceleracja sprzętowa nie działa.</translation> -<translation id="6070667616071269965">Układy klawiatury na ekranie logowania urządzenia</translation> +<translation id="6070667616071269965">Układy klawiatury na ekranie logowania na urządzeniu</translation> <translation id="6074963268421707432">Nie zezwalaj żadnej witrynie na pokazywanie powiadomień na pulpicie</translation> <translation id="6076099373507468537">Definiuje listę urządzeń USB, które można odłączać od sterownika jądra i stosować za pomocą interfejsu chrome.usb API bezpośrednio w aplikacji internetowej. W celu wskazania konkretnego urządzenia lista obejmuje pary identyfikatora dostawcy urządzenia USB i identyfikatora produktu. @@ -1763,6 +1754,7 @@ Jeśli wybierzesz automatyczne wykrywanie serwera proxy, aplikacje na Androida otrzymają URL skryptu „http://wpad/wpad.dat”. Nie jest używana żadna inna część protokołu automatycznego wykrywania serwera proxy. Jeśli wybierzesz używanie skryptu .pac serwera proxy, aplikacje na Androida otrzymają URL skryptu.</translation> +<translation id="6435127182262044446">To ustawienie określa maksymalną długość kodu PIN. Jeśli to ustawienie ma wartość 0 lub mniejszą, nie ma limitu i użytkownik może ustawić kod PIN dowolnej długości. Jeśli to ustawienie ma wartość mniejszą niż wartość parametru PinUnlockMinimumLength, ale większą niż 0, maksymalna długość jest równa długości minimalnej. Domyślnie to ustawienie nie ogranicza długości kodu.</translation> <translation id="6467433935902485842">Umożliwia skonfigurowanie listy wzorcowych URL-i określających witryny, w których nie mogą być uruchamiane wtyczki. Jeśli ta zasada nie zostanie skonfigurowana, dla wszystkich witryn będzie używana globalna wartość domyślna pochodząca z zasady „DefaultPluginsSetting” (jeśli została skonfigurowana) lub z osobistej konfiguracji użytkownika.</translation> <translation id="6473334971332473690">Pozwala korzystać z funkcji Smart Lock na urządzeniach z <ph name="PRODUCT_OS_NAME" />. @@ -1936,9 +1928,9 @@ <translation id="7027785306666625591">Konfiguruje zarządzanie energią w <ph name="PRODUCT_OS_NAME" />. Te zasady umożliwiają określenie, jak <ph name="PRODUCT_OS_NAME" /> ma się zachować, gdy użytkownik przez pewien czas nie wykona żadnej czynności.</translation> -<translation id="703078280527762319">Ostrzeżenie: zasada najwyższej wersji TLS zostanie w całości usunięta z usługi <ph name="PRODUCT_NAME" /> prawdopodobnie w wersji 66 (mniej więcej w lutym 2018 r.). +<translation id="703078280527762319">Ostrzeżenie: zasada najwyższej wersji TLS zostanie w całości usunięta z <ph name="PRODUCT_NAME" /> prawdopodobnie w wersji 66 (mniej więcej w lutym 2018 r.). - Jeśli nie skonfigurujesz tej zasady, <ph name="PRODUCT_NAME" /> korzysta z domyślnej najwyższej wersji TLS, czyli 1.3. + Jeśli nie skonfigurujesz tej zasady, <ph name="PRODUCT_NAME" /> będzie korzystać z domyślnej najwyższej wersji TLS, czyli 1.3. W przeciwnym razie zasada może mieć jedną z tych wartości: „tls1.2” lub „tls1.3”. Po jej ustawieniu <ph name="PRODUCT_NAME" /> nie używa wersji SSL/TLS wyższych niż określona. Nierozpoznana wartość jest ignorowana.</translation> <translation id="7040229947030068419">Przykładowa wartość:</translation> @@ -2651,12 +2643,14 @@ Moduły obsługi protokołów zarejestrowane przez zasadę są łączone z modułami zarejestrowanymi przez użytkownika i oba te typy są dostępne do użycia. Użytkownik może zastąpić moduły obsługi protokołów zainstalowane przez zasadę, instalując nowy moduł domyślny, ale nie może usunąć modułów zarejestrowanych przez zasadę.</translation> <translation id="913195841488580904">Blokuj dostęp do listy adresów URL</translation> <translation id="9135033364005346124">Włącz serwer proxy usługi <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Biała lista trybów szybkiego odblokowania, które użytkownik może skonfigurować i których może używać do odblokowywania ekranu blokady. Ta wartość to lista ciągów znaków. Poprawne opcje to: "all" (wszystkie) i "PIN" (kod PIN). Opcja "all" oznacza, że użytkownik może korzystać ze wszystkich trybów odblokowania ekranu, także tych, które zostaną wdrożone w przyszłości. W przeciwnym razie dostępne są tylko tryby szybkiego odblokowania znajdujące się na liście. Na przykład aby zezwolić na wszystkie tryby szybkiego odblokowania, użyj ciągu ["all"]. Aby zezwolić tylko na odblokowywanie przy użyciu kodu PIN, użyj ciągu ["PIN"]. Aby wyłączyć wszystkie tryby szybkiego odblokowania, użyj ciągu []. Domyślnie tryby szybkiego odblokowania nie są dostępne na urządzeniach zarządzanych.</translation> <translation id="9147029539363974059">Wysyła dzienniki systemowe na serwer zarządzania, by umożliwić monitorowanie ich przez administratorów. Jeśli włączysz tę zasadę, dzienniki systemowe będą wysyłane, a jeśli ją wyłączysz lub jej nie ustawisz, nie będą.</translation> <translation id="9150416707757015439">Ta zasada została wycofana z użycia. Zamiast niej użyj IncognitoModeAvailability. Włącza ona tryb incognito w <ph name="PRODUCT_NAME" />. Jeśli ustawienie jest włączone lub nieskonfigurowane, użytkownicy mogą otwierać strony internetowe w trybie incognito. Wyłączenie ustawienia uniemożliwia użytkownikom otwieranie stron internetowych w tym trybie. W przypadku nieskonfigurowania tej zasady ustawienie zostanie włączone, a użytkownicy będą mogli używać trybu incognito.</translation> <translation id="915194831143859291">Jeśli wyłączysz tę zasadę lub jej nie skonfigurujesz, <ph name="PRODUCT_OS_NAME" /> pozwoli użytkownikowi wyłączyć urządzenie. Jeśli zasada będzie włączona, <ph name="PRODUCT_OS_NAME" /> wymusi ponowne uruchomienie urządzenia, gdy użytkownik spróbuje je wyłączyć. <ph name="PRODUCT_OS_NAME" /> zastąpi wszystkie wystąpienia przycisku wyłączania w interfejsie użytkownika przyciskami ponownego uruchomienia. Urządzenie nie uruchomi się ponownie niezależnie od ustawienia tej zasady, jeśli użytkownik wyłączy je za pomocą przycisku zasilania.</translation> +<translation id="917887642534332939">To ustawienie określa minimalną długość kodu PIN. Bezwzględne minimum długości kodu PIN to 1. Wartości mniejsze niż 1 są uznawane za 1. Domyślną i zalecaną długością kodu PIN jest 6 cyfr.</translation> <translation id="9187743794267626640">Wyłącz podłączanie pamięci zewnętrznych</translation> <translation id="9197740283131855199">Wartość procentowa skalowania opóźnienia przyciemnienia ekranu, jeśli użytkownik stanie się aktywny po przyciemnieniu</translation> <translation id="9200828125069750521">Parametry dla adresów URL obrazów używających POST</translation>
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb index a833581f..6c6a9d7d 100644 --- a/components/policy/resources/policy_templates_pt-BR.xtb +++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -1216,6 +1216,11 @@ Para ver exemplos de padrões, consulte http://www.chromium.org/developers/how-tos/chrome-frame-getting-started (link em inglês).</translation> <translation id="467449052039111439">Abrir uma lista de URLs</translation> <translation id="4680961954980851756">Ativar Preenchimento automático</translation> +<translation id="4722399051042571387">Se definida como false, os usuários não conseguirão configurar PINs que sejam fracos e fáceis de adivinhar. + + Alguns exemplos de PINs fracos são: PINs que contenham apenas um dígito repetido (1111), PINs alterados em um dígito em ordem crescente (1234) ou decrescente (4321) e PINs muito comuns. + + Por padrão, os usuários receberão um aviso, não um erro, se o PIN for considerado fraco.</translation> <translation id="4723829699367336876">Habilitar passagem de firewall a partir do cliente de acesso remoto</translation> <translation id="4725528134735324213">Ativar o Android Backup Service</translation> <translation id="4733471537137819387">Políticas relacionadas à autenticação integrada de HTTP.</translation> @@ -1396,13 +1401,6 @@ Quando o valor desta política está definido e não é 0, o usuário conectado no momento é desconectado automaticamente após um tempo de inatividade de duração especificada. O valor da política deve ser especificado em milissegundos.</translation> -<translation id="5506213378070007377">As informações sobre o status do Android são enviadas de volta para o - servidor. - - Se a política for definida como false, nenhuma informação de status será enviada. - Se definida como true ou deixada sem definição, as informações de status serão enviadas. - - Esta política só se aplica se os apps Android estão ativados.</translation> <translation id="5511702823008968136">Ativar a barra de favoritos</translation> <translation id="5512418063782665071">URL da página inicial</translation> <translation id="5523812257194833591">Uma sessão pública para o login automático após um intervalo. @@ -1740,6 +1738,13 @@ Se você optar pela detecção automática do servidor proxy, o URL do script "http://wpad/wpad.dat" será fornecido aos apps Android. Nenhuma outra parte do protocolo de detecção automática de proxy será usada. Se você optar por usar um script de proxy .pac, o URL do script será fornecido aos apps Android.</translation> +<translation id="6435127182262044446">Esta configuração controla o comprimento máximo de um PIN. + + Se esta configuração for definida como 0 ou menos, não haverá comprimento máximo, e o usuário poderá definir um PIN do comprimento que desejar. + + Se esta configuração for menor que PinUnlockMinimumLength e maior que 0, o comprimento máximo e mínimo serão iguais. + + Esta configuração define o padrão para não haver comprimento máximo.</translation> <translation id="6467433935902485842">Permite que você defina uma lista de padrões de URL que especifica sites sem permissão para executar plug-ins. Se esta política for deixada sem definição, o valor padrão global será utilizado para todos os sites a partir da política "DefaultPluginsSetting", caso esta tenha sido definida, ou a partir das configurações pessoais do usuário, caso não tenha sido definida.</translation> <translation id="6473334971332473690">Permite que o Smart Lock seja usado em dispositivos <ph name="PRODUCT_OS_NAME" />. @@ -2630,6 +2635,13 @@ Os gerenciadores de protocolos registrados pela política são misturados com os registrados pelo usuário, e ambos estão disponíveis para uso. O usuário pode substituir os gerenciadores de protocolos instalados por política, instalando um novo administrador padrão. Entretanto, o usuário não pode remover um gerenciador de protocolos registrado pela política.</translation> <translation id="913195841488580904">Bloquear acesso a uma lista de URLs</translation> <translation id="9135033364005346124">Ativar proxy do <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Uma lista de permissões que controla quais modos de desbloqueio rápido o usuário pode configurar e usar para desbloquear a tela do dispositivo. + + Esse valor é uma lista de strings, e as entradas válidas da lista precisam ser de um dos seguintes tipos: "all" ou "PIN". Se a opção "all" for adicionada à lista, todos os modos de desbloqueio rápidos estarão disponíveis, incluindo os implementados no futuro. Caso contrário, somente os modos presentes na lista serão disponibilizados. + + Por exemplo, para permitir todos os modos de desbloqueio rápido, use ["all"]. Para permitir apenas o desbloqueio com PIN, use ["all"]. Para desativar todos os modos de desbloqueio rápido, use []. + + Por padrão, nenhum modo de desbloqueio rápido é disponibilizado para dispositivos gerenciados.</translation> <translation id="9147029539363974059">Enviar registros de sistema para o servidor de gerenciamento, a fim de permitir que administradores monitorem os registros de sistema. @@ -2638,6 +2650,11 @@ <translation id="9150416707757015439">Esta política é obsoleta. Utilize IncognitoModeAvailability em seu lugar. Ativa o Modo de navegação anônima em <ph name="PRODUCT_NAME" />. Caso esta configuração seja ativada ou não configurada, os usuários podem abrir páginas da web no Modo de navegação anônima. Se essa configuração for desativada, os usuários não podem abrir páginas da web em Modo de navegação anônima. Se esta política for deixada sem definição, esta opção será ativada e o usuário será capaz de usar o Modo de navegação anônima.</translation> <translation id="915194831143859291">Se esta política é definida como "false" ou se não é configurada, o <ph name="PRODUCT_OS_NAME" /> permite que o usuário desligue o dispositivo. Se esta política é definida como "true", o <ph name="PRODUCT_OS_NAME" /> aciona uma reinicialização quando o usuário desliga o dispositivo. O <ph name="PRODUCT_OS_NAME" /> substitui todas as ocorrências de botões de desligamento da interface de usuário por botões de reinicialização. Se o usuário desliga o dispositivo no botão liga/desliga, ele não é reinicializado automaticamente, mesmo que a política esteja ativa.</translation> +<translation id="917887642534332939">Esta configuração controla o comprimento mínimo do PIN. + + O tamanho mínimo absoluto do PIN é 1. Valores menores que esse serão tratados como 1. + + O comprimento padrão do PIN e o mínimo recomendado é 6 dígitos.</translation> <translation id="9187743794267626640">Desativa a montagem de armazenamento externo</translation> <translation id="9197740283131855199">Percentual pelo qual calcular o intervalo de escurecimento da tela se o usuário ficar ativo após o escurecimento</translation> <translation id="9200828125069750521">Parâmetros para URL de imagens que usa POST</translation>
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb index 6e72c89..688e7d6 100644 --- a/components/policy/resources/policy_templates_pt-PT.xtb +++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -500,7 +500,7 @@ Se esta política estiver definida como Falso, será apresentada uma mensagem de erro em vez de um pedido de configuração da rede.</translation> <translation id="2498238926436517902">Ocultar automaticamente a prateleira sempre</translation> -<translation id="2503514368596117142">Configure políticas para o Google Cast, uma funcionalidade que permite aos utilizadores enviar o conteúdo de separadores, de sites ou do ambiente de trabalho a partir do navegador para sistemas de som e ecrãs remotos.</translation> +<translation id="2503514368596117142">Configura políticas para o Google Cast, uma funcionalidade que permite aos utilizadores enviar o conteúdo de separadores, de sites ou do ambiente de trabalho a partir do navegador para sistemas de som e ecrãs remotos.</translation> <translation id="2514328368635166290">Especifica o URL do ícone favorito do fornecedor de pesquisas predefinido. Esta política é opcional. Se não for definida, não será apresentado qualquer ícone para o fornecedor de pesquisas. Esta política aplica-se apenas se a política "DefaultSearchProviderEnabled" estiver ativada.</translation> <translation id="2516525961735516234">Especifica se a atividade do vídeo afeta a gestão da energia. @@ -1226,6 +1226,11 @@ Para obter exemplos de padrões, consulte https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Abrir uma lista de URLs</translation> <translation id="4680961954980851756">Ativar Preenchimento Automático</translation> +<translation id="4722399051042571387">Se esta definição estiver configurada como falsa, os utilizadores não podem definir PINs fracos e fáceis de adivinhar. + + Alguns exemplo de PINs fracos: PINs apenas com um dígito (1111), PINs cujos dígitos aumentam 1 valor (1234), PINs cujos dígitos diminuem 1 valor (4321) e PINs muito comuns. + + Por predefinição, os utilizadores recebem um aviso, e não um erro, se o PIN for considerado fraco.</translation> <translation id="4723829699367336876">Ativar firewall transversal do cliente de acesso remoto</translation> <translation id="4725528134735324213">Ativar o Android Backup Service</translation> <translation id="4733471537137819387">Políticas relacionadas com a autenticação HTTP integrada</translation> @@ -1415,15 +1420,6 @@ Quando o valor desta política estiver definido e não for 0, o utilizador de demonstração com sessão iniciada atualmente verá a sua sessão terminada uma vez decorrido o tempo de inatividade especificado. O valor da política deverá ser especificado em milissegundos.</translation> -<translation id="5506213378070007377">As informações sobre o estado do Android são enviadas novamente para o - servidor. - - Se a política estiver definida como falsa, não são comunicadas quaisquer - informações de estado. - Se definida como verdadeira ou não for definida, são comunicadas informações - do estado. - - Esta política aplica-se apenas se as aplicações Android estiverem ativadas.</translation> <translation id="5511702823008968136">Ativar Barra de Marcadores</translation> <translation id="5512418063782665071">URL da página inicial</translation> <translation id="5523812257194833591">O início automático de uma sessão pública após um atraso. @@ -1765,6 +1761,13 @@ Se escolher detetar automaticamente o servidor proxy, é fornecido o URL "http://wpad/wpad.dat" do script às aplicações Android. Não é utilizada mais nenhuma parte do protocolo de deteção automática do proxy. Se escolher utilizar um script de proxy .pac, o URL do script é fornecido às aplicações Android.</translation> +<translation id="6435127182262044446">Esta definição controla o comprimento máximo de um PIN. + + Se esta definição for 0 ou inferior, não existe um comprimento máximo e o utilizador pode definir um PIN com o tamanho que pretender. + + Se esta definição for inferior à política PinUnlockMinimumLength, mas superior a 0, o comprimento máximo é igual ao comprimento mínimo. + + A predefinição é a não existência de um comprimento máximo.</translation> <translation id="6467433935902485842">Permite definir uma lista de padrões de URL que especificam os Web sites não autorizados a executar plug-ins. Se esta política não for definida, será utilizado o valor global predefinido para todos os Web sites, seja a partir da política "DefaultPluginsSetting", caso esteja definida, ou a partir da configuração pessoal do utilizador.</translation> <translation id="6473334971332473690">Permite que o Smart Lock seja utilizado em dispositivos do <ph name="PRODUCT_OS_NAME" />. @@ -2408,7 +2411,7 @@ O objetivo é remover esta substituição no futuro.</translation> <translation id="8285435910062771358">Lupa em ecrã inteiro ativada</translation> -<translation id="8288199156259560552">Ativar o Serviço de localização da Google do Android</translation> +<translation id="8288199156259560552">Ativar os serviços de localização da Google para aplicações Android</translation> <translation id="8294750666104911727">Normalmente, as páginas com X-UA-Compatible definido como chrome=1 serão processadas em <ph name="PRODUCT_FRAME_NAME" />, independentemente da política "ChromeFrameRendererSettings". Se ativar esta definição, não serão procuradas metatags nas páginas. @@ -2663,6 +2666,13 @@ Os controladores de protocolos registados pela política são unidos com os que são registados pelo utilizador e ambos estão disponíveis para utilização. O utilizador pode substituir os controladores de protocolos instalados pela política ao instalar um novo controlador predefinido, mas não pode remover um controlador de protocolos registado pela política.</translation> <translation id="913195841488580904">Bloquear o acesso a uma lista de URLs</translation> <translation id="9135033364005346124">Ativar proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Uma lista de autorizações que controla os modos de desbloqueio rápido que o utilizador pode configurar e utilizar para desbloquear o ecrã de bloqueio. + + Este valor é uma lista de strings. As entradas de lista válidas são: "all" e "PIN". A adição de "all" à lista significa que todos os modos de desbloqueio rápido estão disponíveis para o utilizador, incluindo os implementados futuramente. Caso contrário, apenas estão disponíveis os modos de desbloqueio rápido existentes na lista. + + Por exemplo, para permitir todos os modos de desbloqueio rápido, utilize ["all"]. Para permitir apenas o desbloqueio por PIN, utilize ["PIN"]. Para desativar todos os modos de desbloqueio rápido, utilize []. + + Por predefinição, não estão disponíveis modos de desbloqueio rápido para dispositivos geridos.</translation> <translation id="9147029539363974059">Enviar registos do sistema para o servidor de gestão para permitir aos administradores monitorizar esses registos. @@ -2671,6 +2681,11 @@ <translation id="9150416707757015439">Esta política está obsoleta. Em alternativa, utilize IncognitoModeAvailability. Ativa o modo de navegação anónima no <ph name="PRODUCT_NAME" />. Se esta definição estiver ativada ou não estiver configurada, os utilizadores podem abrir páginas Web no modo de navegação anónima. Se esta definição estiver desativada, os utilizadores não podem abrir páginas Web no modo de navegação anónima. Se deixar esta política por definir, a definição estará ativada e o utilizador poderá utilizar o modo de navegação anónima.</translation> <translation id="915194831143859291">Se esta política estiver definida como falsa ou não estiver configurada, o <ph name="PRODUCT_OS_NAME" /> permite ao utilizador encerrar o dispositivo. Se esta política estiver definida como verdadeira, o <ph name="PRODUCT_OS_NAME" /> aciona um reinício quando o utilizador encerrar o dispositivo. O <ph name="PRODUCT_OS_NAME" /> substitui todas as ocorrências de botões de encerramento na IU por botões de reinício. Se o utilizador encerrar o dispositivo através do botão ligar/desligar, este não reinicia automaticamente, mesmo que a política esteja ativada.</translation> +<translation id="917887642534332939">Esta definição controla o comprimento mínimo de um PIN. + + O comprimento mínimo absoluto de um PIN é 1. Os valores inferiores a 1 são tratados como 1. + + A predefinição e o comprimento mínimo recomendado de um PIN são 6 dígitos.</translation> <translation id="9187743794267626640">Desativar a montagem do armazenamento externo</translation> <translation id="9197740283131855199">Percentagem que determina a escala do atraso do esbatimento do ecrã se o utilizador se tornar ativo depois do esbatimento</translation> <translation id="9200828125069750521">Parâmetros do URL de imagem que utilize POST</translation>
diff --git a/components/policy/resources/policy_templates_ro.xtb b/components/policy/resources/policy_templates_ro.xtb index 16c6880..41cc15df 100644 --- a/components/policy/resources/policy_templates_ro.xtb +++ b/components/policy/resources/policy_templates_ro.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">Nu permite niciunui site să urmărească locația fizică a utilizatorilor</translation> <translation id="1049138910114524876">Configurează limba care se aplică în ecranul de conectare din <ph name="PRODUCT_OS_NAME" />. - Dacă această politică este configurată, ecranul de conectare va fi afișat întotdeauna în limba specificată de prima valoare a politicii (politica este definită ca o listă pentru compatibilitate cu versiuni succesive). Dacă această politică nu este configurată sau este configurată la o listă necompletată, ecranul de conectare va fi afișat în limba ultimei sesiuni a utilizatorului. Dacă politica este configurată la o valoare care nu este o limbă validă, ecranul de conectare va fi afișat într-o limbă de rezervă (în prezent, en-US).</translation> + Dacă această politică este configurată, ecranul de conectare va fi afișat întotdeauna în limba specificată de prima valoare a politicii (politica este definită ca o listă pentru postcompatibilitate). Dacă această politică nu este configurată sau este configurată la o listă necompletată, ecranul de conectare va fi afișat în limba ultimei sesiuni a utilizatorului. Dacă politica este configurată la o valoare care nu este o limbă validă, ecranul de conectare va fi afișat într-o limbă de rezervă (în prezent, en-US).</translation> <translation id="1062011392452772310">Activați atestarea la distanță pentru dispozitiv</translation> <translation id="1090892140761957285">Adresă URL pentru validarea indicativului de autentificare a clientului cu acces la distanță. @@ -1016,7 +1016,7 @@ <translation id="3915395663995367577">Adresa URL a unui fișier .pac pentru proxy</translation> <translation id="3926940573869375969">Configurează care aspecte ale tastaturii sunt permise pe ecranul de conectare din <ph name="PRODUCT_OS_NAME" />. - Dacă această politică este configurată la o listă de identificatori ai metodei de introducere a textului, metodele specificate vor fi disponibile pe ecranul de conectare. Prima metodă de introducere a textului specificată va fi preselectată. Deși tastatura utilizatorului este focalizată pe ecranul de conectare, cea mai puțin folosită recent metodă de introducere a textului va fi disponibilă, pe lângă metodele de introducere a textului specificate de această politică. Dacă această politică nu este configurată, metodele de introducere a textului de pe ecranul de conectare se vor baza pe limba în care este afișat ecranul de conectare. Valorile care nu sunt identificatori valizi ai metodei de introducere a textului vor fi ignorate.</translation> + Dacă această politică este configurată la o listă de identificatori ai metodei de introducere a textului, metodele specificate vor fi disponibile pe ecranul de conectare. Prima metodă de introducere a textului specificată va fi preselectată. Deși tastatura utilizatorului este focalizată pe ecranul de conectare, cea mai puțin folosită recent metodă de introducere a textului va fi disponibilă, pe lângă metodele de introducere a textului specificate de această politică. Dacă această politică nu este configurată, metodele de introducere a textului de pe ecranul de conectare se vor baza pe limba în care este afișat ecranul de conectare. Valorile care nu sunt identificatori valizi ai metodei de introducere a textului vor fi ignorate.</translation> <translation id="3939893074578116847">Trimite pachete din rețea serverului de gestionare, pentru a monitoriza starea online, permițând astfel serverului să detecteze dacă dispozitivul este offline. @@ -1239,6 +1239,11 @@ Pentru exemple de șabloane, accesează https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Deschide o listă de adrese URL</translation> <translation id="4680961954980851756">Activează completarea automată</translation> +<translation id="4722399051042571387">Dacă este dezactivată, utilizatorii nu vor putea configura coduri PIN slabe sau ușor de ghicit. + + Exemple de coduri PIN slabe: coduri PIN formate din aceeași cifră (1111), ale căror cifre sunt în ordine crescătoare (1234)/descrescătoare (4321) sau care sunt folosite frecvent. + + În mod prestabilit, utilizatorii vor primi un avertisment, nu o eroare, dacă codul PIN este considerat slab.</translation> <translation id="4723829699367336876">Activează trecerea prin firewall de la clientul cu acces la distanță</translation> <translation id="4725528134735324213">Activează Android Backup Service</translation> <translation id="4733471537137819387">Politici referitoare la autentificarea integrată HTTP.</translation> @@ -1432,13 +1437,6 @@ Dacă valoarea acestei politici este configurată și diferă de 0, atunci utilizatorul demonstrativ conectat în prezent va fi deconectat automat după o perioadă de inactivitate specificată. Valoarea pentru politică trebuie specificată în milisecunde.</translation> -<translation id="5506213378070007377">Informațiile despre starea Android sunt trimise la - server. - - Dacă politica este dezactivată, informațiile despre stare nu vor fi raportate. - Dacă politica este activată sau nu este configurată, informațiile despre stare vor fi raportate. - - Politica se aplică numai dacă sunt activate aplicațiile Android.</translation> <translation id="5511702823008968136">Activează bara de marcaje</translation> <translation id="5512418063782665071">Adresa URL a paginii de pornire</translation> <translation id="5523812257194833591">O sesiune publică pentru conectare automată după un interval de inactivitate. @@ -1776,6 +1774,13 @@ Dacă alegi opțiunea „detectează automat serverul proxy”, adresa URL pentru scripturi „http://wpad/wpad.dat” este oferită aplicațiilor Android. Nu este folosită nicio altă parte a protocolului pentru detectarea automată a proxy-ului. Dacă alegi opțiunea „script .pac pentru proxy”, adresa URL pentru scripturi este oferită aplicațiilor Android.</translation> +<translation id="6435127182262044446">Această setare stabilește lungimea maximă a codului PIN. + + Dacă setarea este configurată să aibă valoarea 0 sau mai puțin, nu există o lungime maximă, iar utilizatorul poate seta un cod PIN oricât de lung. + + Dacă setarea este configurată la o valoare mai mică decât PinUnlockMinimumLength, dar mai mare decât 0, lungimea maximă este aceeași cu cea minimă. + + Valoarea prestabilită a acestei setări este „fără lungime maximă”.</translation> <translation id="6467433935902485842">Vă permite să setați o listă cu modele pentru adresele URL ce specifică site-urile care nu au permisiunea de a rula pluginuri. Dacă această politică este lăsată nesetată, valoarea prestabilită la nivel global va fi folosită pentru toate site-urile, fie din politica „DefaultPluginsSetting”, în cazul în care aceasta este setată, fie din configurația personală a utilizatorului, în caz contrar.</translation> <translation id="6473334971332473690">Permite ca funcția Smart Lock să fie folosită pe dispozitivele <ph name="PRODUCT_OS_NAME" />. @@ -2680,6 +2685,13 @@ Handlerele de protocol înregistrate de politică sunt combinate cu cele înregistrate de utilizator și ambele sunt disponibile pentru a fi utilizate. Utilizatorul poate înlocui handlerele de protocol instalate de politică instalând un nou handler prestabilit, dar nu poate elimina un handler de protocol înregistrat de politică.</translation> <translation id="913195841488580904">Blocați accesul la o listă de adrese URL</translation> <translation id="9135033364005346124">Activează proxy-ul <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">O listă albă care stabilește ce moduri de deblocare rapidă pot să configureze și să folosească utilizatorii pentru a debloca ecranul de blocare. + + Această valoare este o listă de șiruri. Intrările valide din listă sunt: „toate”, „PIN”. Dacă adaugi „toate” în listă, toate modurile de deblocare rapidă sunt disponibile utilizatorului, inclusiv cele implementate pe viitor. În caz contrar, vor fi disponibile numai modurile de deblocare rapidă prezente în listă. + + De exemplu, pentru a permite toate modurile de deblocare rapidă, folosește [„toate”]. Pentru a permite numai deblocarea prin codul PIN, folosește [„PIN”]. Pentru a dezactiva toate modurile de deblocare rapidă, folosește []. + + În mod prestabilit, nu sunt disponibile moduri de deblocare rapidă pentru dispozitivele gestionate.</translation> <translation id="9147029539363974059">Trimite jurnalele de sistem pe serverul de gestionare, pentru ca administratorii să poată gestiona jurnalele de sistem. @@ -2688,6 +2700,11 @@ <translation id="9150416707757015439">Această politică este învechită. Puteți să utilizați IncognitoModeAvailability. Activați modul incognito în <ph name="PRODUCT_NAME" />. Dacă această setare este activată sau nu este configurată, utilizatorii pot deschide pagini web în modul incognito. Dacă această setare este dezactivată, utilizatorii nu pot deschide pagini web în modul incognito. Dacă această politică rămâne nesetată, setarea va fi activată, dar utilizatorul va putea folosi modul incognito.</translation> <translation id="915194831143859291">Dacă această politică este dezactivată sau nu este configurată, <ph name="PRODUCT_OS_NAME" /> îi va permite utilizatorului să oprească dispozitivul. Dacă această politică este activată, <ph name="PRODUCT_OS_NAME" /> va declanșa o repornire când utilizatorul închide dispozitivul. <ph name="PRODUCT_OS_NAME" /> înlocuiește toate aparițiile butoanelor de închidere din interfața de utilizare cu butoane de repornire. Dacă utilizatorul închide dispozitivul folosind butonul de pornire, acesta nu va reporni automat, chiar dacă politica este activată.</translation> +<translation id="917887642534332939">Setarea stabilește lungimea minimă a codului PIN. + + Lungimea minimă absolută a codului PIN este 1. Valorile mai mici de 1 sunt tratate ca fiind 1. + + Lungimea minimă a codului PIN prestabilită și recomandată este de 6 cifre.</translation> <translation id="9187743794267626640">Dezactivați conectarea dispozitivelor de stocare externe</translation> <translation id="9197740283131855199">Procentul cu care se va ajusta intervalul de reducere a luminozității ecranului dacă utilizatorul devine activ după reducerea luminozității</translation> <translation id="9200828125069750521">Parametrii pentru adresa URL a imaginii care utilizează POST</translation>
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb index e3058565..79ec61f 100644 --- a/components/policy/resources/policy_templates_ru.xtb +++ b/components/policy/resources/policy_templates_ru.xtb
@@ -1215,6 +1215,11 @@ Примеры шаблонов приведены здесь: http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Открыть одну или несколько страниц</translation> <translation id="4680961954980851756">Включить автозаполнение</translation> +<translation id="4722399051042571387">Если указать значение False, пользователи не смогут устанавливать ненадежные PIN-коды. + + К таким PIN-кодам относятся, например, ряды из одной повторяющейся цифры (1111) или такие последовательности, как 1234 и 4321, а также некоторые распространенные комбинации. + + Если система посчитает PIN-код ненадежным, на экране по умолчанию появится предупреждение, а не сообщение об ошибке.</translation> <translation id="4723829699367336876">Включить обход брандмауэра для клиента удаленного доступа</translation> <translation id="4725528134735324213">Включить сервис Android Backup</translation> <translation id="4733471537137819387">Правила в отношении интегрированной HTTP-аутентификации.</translation> @@ -1404,14 +1409,6 @@ Если его значение не равно 0, пользователь, вошедший в демо-режиме, автоматически выйдет из системы после заданного периода бездействия. Значение устанавливается в миллисекундах.</translation> -<translation id="5506213378070007377">Отправляет информацию о состоянии Android на сервер. - - Если вы укажете значение False, сведения передаваться - не будут. - Если вы укажете значение True или оставите поле пустым, сведения - будут передаваться. - - Это правило применяется только если включены приложения Android.</translation> <translation id="5511702823008968136">Включить панель закладок</translation> <translation id="5512418063782665071">URL главной страницы</translation> <translation id="5523812257194833591">Сеанс общего доступа, в который будет автоматически выполнен вход по прошествии времени задержки. @@ -1749,6 +1746,13 @@ Если прокси-сервер будет определяться автоматически, приложения Android получат URL скрипта http://wpad/wpad.dat. Другие части протокола для автоопределения прокси-сервера использоваться не будут. Если будет использоваться скрипт PAC для прокси-сервера, приложения Android получат URL скрипта.</translation> +<translation id="6435127182262044446">Эта настройка определяет максимально допустимую длину PIN-кода. + + Если указанное значение меньше или равно 0, пользователи смогут устанавливать PIN-коды любой длины. + + Если указанное значение меньше, чем PinUnlockMinimumLength, но больше 0, максимальная длина PIN-кода будет равна минимальной. + + По умолчанию пользователи смогут устанавливать PIN-коды любой длины.</translation> <translation id="6467433935902485842">Задает список шаблонов URL для сайтов, которым запрещено запускать плагины. Если это правило не настроено, для всех сайтов используется глобальное значение по умолчанию на основе правила DefaultPluginsSetting (если оно настроено, в противном случае – на основе пользовательской конфигурации).</translation> <translation id="6473334971332473690">Разрешает использовать функцию Smart Lock на устройствах <ph name="PRODUCT_OS_NAME" />. @@ -2640,6 +2644,13 @@ Обработчики протокола, зарегистрированные правилом, объединяются с теми, которые были зарегистрированы пользователями. И те, и другие будут доступны для использования. Пользователь может не применять обработчики протокола, установленные правилом, добавив по умолчанию свой собственный, но не может удалить их.</translation> <translation id="913195841488580904">Блокировка доступа к списку URL.</translation> <translation id="9135033364005346124">Включить прокси-сервер <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Эта настройка определяет, какие способы быстрой разблокировки экрана можно использовать на устройстве. + + Значение представляет собой список, в котором каждая строка содержит запись all или PIN. Если выбран вариант all, пользователю будут доступны все поддерживаемые способы быстрой разблокировки, в том числе и те, которые появятся в будущем. Иначе можно будет использовать только способы из списка. + + Чтобы использовать все способы быстрой разблокировки, выберите вариант [all]. Чтобы разрешить разблокировку только с помощью PIN-кода, выберите вариант [PIN]. Чтобы отключить все способы быстрой разблокировки, используйте вариант []. + + По умолчанию все способы быстрой разблокировки недоступны для управляемых устройств.</translation> <translation id="9147029539363974059">Позволяет отправлять системные журналы на сервер для проверки администраторами. Если вы установите значение True, системные данные будут отправляться. @@ -2647,6 +2658,11 @@ <translation id="9150416707757015439">Это правило устарело, используйте вместо него правило IncognitoModeAvailability, активирующее режим инкогнито в <ph name="PRODUCT_NAME" />. Если оно включено или не настроено, просмотр веб-страниц в режиме инкогнито возможен, а если это правило отключено, режим инкогнито недоступен.</translation> <translation id="915194831143859291">Если вы выберете значение False или не станете настраивать правило, <ph name="PRODUCT_OS_NAME" /> позволит пользователю выключать устройство. Если вы выберете значение True, <ph name="PRODUCT_OS_NAME" /> будет перезагружать устройство вместо выключения. В интерфейсе <ph name="PRODUCT_OS_NAME" /> все кнопки выключения будут заменены кнопками перезагрузки. Однако если пользователь нажмет кнопку питания, устройство не перезагрузится автоматически, даже если правило настроено.</translation> +<translation id="917887642534332939">Эта настройка определяет минимально допустимую длину PIN-кода. + + PIN-код должен содержать как минимум 1 символ; значения меньше 1 приравниваются к 1. + + По умолчанию установлена рекомендуемая длина PIN-кода – 6 символов.</translation> <translation id="9187743794267626640">Запрет подключения внешнего хранилища</translation> <translation id="9197740283131855199">Коэффициент увеличения задержки затемнения экрана, если после затемнения пользователь выполняет действия на устройстве</translation> <translation id="9200828125069750521">Параметры для запросов POST к URL-адресу поиска изображений</translation>
diff --git a/components/policy/resources/policy_templates_sk.xtb b/components/policy/resources/policy_templates_sk.xtb index 1a6bd1c..39e66d7 100644 --- a/components/policy/resources/policy_templates_sk.xtb +++ b/components/policy/resources/policy_templates_sk.xtb
@@ -25,7 +25,7 @@ Ak je nastavené na možnosť True alebo nie je nastavené, štatistiky budú hlásené.</translation> <translation id="1046484220783400299">Povoliť zastarané funkcie webovej platformy na obmedzený čas</translation> <translation id="1047128214168693844">Nepovoliť žiadnym stránkam sledovať fyzickú polohu používateľov</translation> -<translation id="1049138910114524876">Konfigurue jazyk, ktorý je vynútene nastavený na prihlasovacej obrazovke systému <ph name="PRODUCT_OS_NAME" />. +<translation id="1049138910114524876">Konfiguruje jazyk, ktorý je vynútene nastavený na prihlasovacej obrazovke systému <ph name="PRODUCT_OS_NAME" />. Ak je toto pravidlo nastavené, prihlasovacia obrazovka sa vždy zobrazí v jazyku, ktorý je určený prvou hodnotou tohto pravidla (z dôvodu kompatibility s nasledujúcimi verziami je pravidlo definované ako zoznam). Ak toto pravidlo nie je nastavené alebo je nastavené na prázdny zoznam, prihlasovacia obrazovka sa zobrazí v jazyku poslednej relácie používateľa. Ak je pravidlo nastavené na hodnotu, ktorá nie je platným jazykom, prihlasovacia obrazovka sa zobrazí v záložnom jazyku (aktuálne americká angličtina).</translation> <translation id="1062011392452772310">Povoliť pre zariadenie vzdialené overenie</translation> @@ -1276,6 +1276,11 @@ Príklady vzorov nájdete na adrese http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Otvoriť zoznam webových adries</translation> <translation id="4680961954980851756">Povoliť automatické dopĺňanie</translation> +<translation id="4722399051042571387">Ak je toto nastavenie nakonfigurované na možnosť False, používatelia nebudú môcť nastaviť slabé ani ľahko uhádnuteľné kódy PIN. + + Niekoľko príkladov slabých kódov PIN: kódy PIN obsahujúce iba jedno číslo (1111), kódy PIN so vzostupným radom po sebe nasledujúcich čísel (1234), kódy PIN so zostupnými radom po sebe nasledujúcich čísel (4321) a také, ktoré sa bežne používajú. + + Ak bude kód PIN považovaný za slabý, používatelia predvolene dostanú upozornenie, nie chybové hlásenie.</translation> <translation id="4723829699367336876">Povoliť prechod cez bránu firewall v smere od klienta vzdialeného prístupu</translation> <translation id="4725528134735324213">Povolenie služby Android Backup Service</translation> <translation id="4733471537137819387">Pravidlá týkajúce sa integrovaného overenia pomocou protokolu HTTP</translation> @@ -1494,12 +1499,6 @@ Keď je hodnota pravidla nastavená a nerovná sa 0, aktuálne prihlásený používateľ ukážky bude automaticky odhlásený po uplynutí zadanej dĺžky nečinnosti. Hodnota pravidla musí byť zadaná v milisekundách.</translation> -<translation id="5506213378070007377">Informácie o stave systému Android sa odosielajú späť na server. - - Ak toto pravidlo nastavíte na hodnotu False, informácie sa nebudú nahlasovať. - Ak ho nastavíte na hodnotu True alebo ho ponecháte nenastavené, informácie sa budú nahlasovať. - - Toto pravidlo sa používa iba vtedy, keď sú povolené aplikácie pre Android.</translation> <translation id="5511702823008968136">Povoliť panel so záložkami</translation> <translation id="5512418063782665071">Webová adresa domovskej stránky</translation> <translation id="5523812257194833591">Verejná relácia, do ktorej sa zariadenie po oneskorení automaticky prihlási. @@ -1854,6 +1853,13 @@ Ak zvolíte možnosť „Automaticky zisťovať proxy server“, aplikácie pre Android budú mať k dispozícii webovú adresu skriptu http://wpad/wpad.dat. Nepoužije sa žiadna iná časť protokolu automatického zisťovania proxy servera. Ak zvolíte, že chcete používať skript .pac proxy servera, budú mať aplikácie pre Android k dispozícii webovú adresu skriptu.</translation> +<translation id="6435127182262044446">Toto nastavenie ovláda maximálnu dĺžku kódu PIN. + + Ak je toto nastavenie 0 alebo menej, maximálna dĺžka sa nepoužíva. Používateľ teda môže nastaviť ľubovoľne dlhý kód PIN. + + Ak je toto nastavenie menšie ako hodnota uvedená v parametri PinUnlockMinimumLength, ale väčšie ako 0, maximálna dĺžka je rovnaká ako minimálna dĺžka. + + Toto nastavenie predvolene nepoužíva maximálnu dĺžku.</translation> <translation id="6467433935902485842">Umožňuje nastaviť zoznam vzorov webových adries určujúcich webové stránky, ktoré nemôžu spúšťať doplnky. Ak toto pravidlo ponecháte nenastavené, použije sa v prípade všetkých webových stránok globálna predvolená hodnota buď z pravidla „DefaultPluginsSetting“ (ak je nastavené), alebo z osobnej konfigurácie používateľa.</translation> @@ -2777,6 +2783,13 @@ Obslužné nástroje protokolu, ktoré sú registrované týmto pravidlom, budú zlúčené s nástrojmi registrovanými používateľom a budú všetky k dispozícii na použitie. Používateľ môže prepísať obslužné nástroje protokolu nainštalované pravidlom inštaláciou nového predvoleného obslužného nástroja. Obslužný protokol registrovaný pravidlom však nie je možné odstrániť.</translation> <translation id="913195841488580904">Blokovať prístup k zoznamu webových adries</translation> <translation id="9135033364005346124">Povoliť server proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Biela listina ovládajúca, ktoré režimy rýchleho odomknutia môže používateľ nakonfigurovať a použiť na odomknutie uzamknutej obrazovky. + + Táto hodnota je zoznam reťazcov. Platné vstupy v zozname sú: all (Všetko) a PIN. Ak pridáte do zoznamu možnosť all (Všetko), znamená to, že používateľ bude mať k dispozícii všetky režimy rýchleho odomknutia vrátane tých, ktoré budú implementované v budúcnosti. Inak bude mať k dispozícii iba tie režimy rýchleho odomknutia, ktoré sú uvedené v zozname. + + Ak chcete napríklad povoliť všetky režimy rýchleho odomknutia, použitie možnosť ["all"]. Ak chcete povoliť iba odomykanie pomocou kódu PIN, použitie možnosť ["PIN"]. Ak chcete zakázať všetky režimy rýchleho odomknutia, použite []. + + Predvolene nemajú spravované zariadenia k dispozícii žiadne režimy rýchleho odomknutia.</translation> <translation id="9147029539363974059">Odosielajte denníky systému na správcovský server, čím umožníte správcom monitorovať tieto denníky. @@ -2792,6 +2805,11 @@ Ak toto pravidlo ponecháte nenastavené, povolí sa a používateľ bude môcť režim Inkognito použiť.</translation> <translation id="915194831143859291">Ak toto pravidlo nastavíte na možnosť False alebo ho nenakonfigurujete, systém <ph name="PRODUCT_OS_NAME" /> umožní používateľovi vypnúť zariadenie. Ak toto pravidlo nastavíte na možnosť True, systém <ph name="PRODUCT_OS_NAME" /> spustí reštart, keď používateľ vypne zariadenie. <ph name="PRODUCT_OS_NAME" /> nahradí v používateľskom rozhraní všetky výskyty tlačidiel na vypnutie tlačidlami na reštartovanie. Ak teda používateľ vypne zariadenie pomocou vypínača, automaticky sa nereštartuje, a to ani vtedy, keď je toto pravidlo povolené.</translation> +<translation id="917887642534332939">Toto nastavenie ovláda minimálnu dĺžku kódu PIN. + + Absolútna minimálna dĺžka kódu PIN je 1; hodnoty nižšie ako 1 sú spracované ako 1. + + Predvolená a odporúčaná minimálna dĺžka kódu PIN je 6 čísiel.</translation> <translation id="9187743794267626640">Zákaz pripojenia externého ukladacieho priestoru</translation> <translation id="9197740283131855199">Percentuálna hodnota, o ktorú sa predĺži oneskorenie stmavenia obrazovky, keď sa zaznamená aktivita používateľa po stmavení obrazovky</translation> <translation id="9200828125069750521">Parametre pre webovú adresu obrázkov, ktorá používa metódu POST</translation>
diff --git a/components/policy/resources/policy_templates_sl.xtb b/components/policy/resources/policy_templates_sl.xtb index 77f1390..02f9e02a 100644 --- a/components/policy/resources/policy_templates_sl.xtb +++ b/components/policy/resources/policy_templates_sl.xtb
@@ -1302,6 +1302,11 @@ Primere vzorcev si lahko ogledate na https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Odpri seznam URL-jev</translation> <translation id="4680961954980851756">Omogoči samodejno izpolnjevanje</translation> +<translation id="4722399051042571387">Če je nastavitev onemogočena, uporabniki ne bodo mogli nastaviti kod PIN, ki so šibke in jih je mogoče preprosto uganiti. + + Nekaj primerov šibkih kod PIN: kode, ki vsebujejo samo eno števko (1111), kode, pri katerih se števke povečujejo za številko 1 (1234), kode, pri katerih se števke zmanjšujejo za številko 1 (4321), in kode, ki so preveč pogoste. + + Če se koda PIN smatra za šibko, uporabniki privzeto prejmejo opozorilo, ne pa napake.</translation> <translation id="4723829699367336876">Omogoči prehod skozi požarni zid iz odjemalca za oddaljeni dostop</translation> <translation id="4725528134735324213">Omogočanje storitve Android Backup Service</translation> <translation id="4733471537137819387">Pravilniki, povezani z integriranim preverjanjem pristnosti HTTP.</translation> @@ -1516,13 +1521,6 @@ Ko je vrednost tega pravilnika nastavljena in ni 0, bo trenutno prijavljen uporabnik predstavitvenega načina samodejno odjavljen po določenem času nedejavnosti. Vrednost pravilnika mora biti v milisekundah.</translation> -<translation id="5506213378070007377">Podatki o stanju Androida se pošljejo nazaj v - strežnik. - - Če je pravilnik onemogočen, se podatki o stanju ne poročajo. - Če je onemogočen ali ni nastavljen, se podatki o stanju poročajo. - - Ta pravilnik se uporabi samo, če so aplikacije za Android omogočene.</translation> <translation id="5511702823008968136">Omogoči vrstico z zaznamki</translation> <translation id="5512418063782665071">URL domače strani</translation> <translation id="5523812257194833591">Samodejna prijava javne seje po časovnem zamiku. @@ -1883,6 +1881,13 @@ Če izberete, da se samodejno zazna strežnik proxy, se aplikacijam za Android posreduje URL skripta »http://wpad/wpad.dat«. Ne uporabi se noben drug del protokola za samodejno zaznavanje strežnika proxy. Če izberete, da se uporablja skript .pac za strežnik proxy, se aplikacijam za Android posreduje URL skripta.</translation> +<translation id="6435127182262044446">Ta nastavitev nadzira največjo dovoljeno dolžino kode PIN. + + Če je ta nastavitev konfigurirana, da je 0 ali manj, ni največje dovoljene dolžine in uporabnik lahko nastavi kodo PIN poljubne dolžine. + + Če je ta nastavitev manj kot PinUnlockMinimumLength, vendar je večja od 0, je največja dovoljena dolžina ista kot najmanjša dovoljena dolžina. + + Privzeta nastavitev je, da ni največje dovoljene dolžine.</translation> <translation id="6467433935902485842">Omogoča nastavitev seznama vzorcev URL-jev, s katerim se določijo spletna mesta , ki jim ni dovoljeno izvajanje vtičnikov. Če ta pravilnik ni nastavljen, bo za vsa spletna mesta uporabljena splošna privzeta vrednost iz pravilnika »DefaultPluginsSetting«, kadar je ta nastavljen, ali iz uporabnikove osebne konfiguracije, kadar pravilnik »DefaultImagesSetting« ni nastavljen.</translation> @@ -2838,6 +2843,13 @@ Rutine za obravnavo protokola, registrirane s pravilnikom, so združene z rutinami, ki jih registrira uporabnik, oboje pa je na voljo za uporabo. Uporabnik lahko preglasi rutine za obravnavo protokola, nameščene s pravilnikom, tako da namesti novo privzeto rutino za obravnavo protokola, vendar ne more odstraniti rutine za obravnavo protokola, registrirane s pravilnikom.</translation> <translation id="913195841488580904">Blokiranje dostopa do seznama spletnih naslovov</translation> <translation id="9135033364005346124">Omogoči proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Seznam dovoljenih, ki upravlja, katere hitre načine odklepanja lahko uporabnik nastavi in uporablja za odklepanje zaklenjenega zaslona. + + Ta vrednost je seznam nizov; veljavni vnosi na seznamu so: »all« (vsi), »PIN« (koda PIN). Če na seznam dodate vnos »all« (vsi), so uporabniku na voljo vsi hitri načini odklepanja, vključno s tistimi, ki bodo uvedeni v prihodnosti. V nasprotnem primeru bodo na voljo samo hitri načini odklepanja s seznama. + + Če želite na primer dovoliti vse hitre načine odklepanja, uporabite [»all«] (vsi). Če želite dovoliti samo odklepanje s kodo PIN, uporabite [»PIN«] (koda PIN). Če želite onemogočiti vse hitre načine odklepanja, uporabite []. + + Za upravljane naprave privzeto ni na voljo noben hiter način odklepanja.</translation> <translation id="9147029539363974059">Pošiljanje sistemskih dnevnikov v strežnik za upravljanje, kar skrbnikom omogoča nadziranje sistemskih dnevnikov. @@ -2853,6 +2865,11 @@ Če ta pravilnik ni nastavljen, bo to omogočeno in uporabnik bi lahko uporabljal način brez beleženja zgodovine.</translation> <translation id="915194831143859291">Če je ta pravilnik onemogočen ali ni nastavljen, bo <ph name="PRODUCT_OS_NAME" /> uporabniku dovolil zaustaviti napravo. Če je ta pravilnik omogočen, bo <ph name="PRODUCT_OS_NAME" /> sprožil vnovični zagon, ko uporabnik zaustavi napravo. <ph name="PRODUCT_OS_NAME" /> nadomesti vse gumbe za zaustavitev v uporabniškem vmesniku z gumbi za vnovični zagon. Če uporabnik zaustavi napravo z gumbom za vklop, se naprava ne bo samodejno zagnala znova, tudi če je pravilnik omogočen.</translation> +<translation id="917887642534332939">Ta nastavitev nadzira najmanjšo dovoljeno dolžino kode PIN. + + Absolutna najmanjša dovoljena dolžina kode PIN je 1; manjše vrednosti kot 1 se obravnavajo kot 1. + + Privzeta in priporočena najmanjša dovoljena dolžina kode PIN je 6 števk.</translation> <translation id="9187743794267626640">Onemogoči vpenjanje zunanjega pomnilnika</translation> <translation id="9197740283131855199">Odstotek prilagoditve zakasnitve zatemnitve zaslona, če je uporabnik dejaven po zatemnitvi</translation> <translation id="9200828125069750521">Parametri za slikovni URL, ki uporablja POST</translation>
diff --git a/components/policy/resources/policy_templates_sr.xtb b/components/policy/resources/policy_templates_sr.xtb index 8971f4f..7b32ebd 100644 --- a/components/policy/resources/policy_templates_sr.xtb +++ b/components/policy/resources/policy_templates_sr.xtb
@@ -1286,6 +1286,11 @@ Примере образаца потражите на https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Отвори листу URL адреса</translation> <translation id="4680961954980851756">Омогући аутоматско попуњавање</translation> +<translation id="4722399051042571387">Ако је подешено на Нетачно, корисници неће моћи да подесе PIN-ове који су слаби и лако се погађају. + + Неки примери слабих PIN-ова: PIN-ови који садрже само једну цифру (1111), PIN-ови чије се цифре повећавају за 1 (1234), PIN-ови чије се цифре смањују за 1 (4321) и PIN-ови који су исувише уобичајени. + + Корисницима ће се подразумевано приказати упозорење, а не грешка, ако се PIN сматра слабим.</translation> <translation id="4723829699367336876">Омогући прелазак заштитног зида са клијента са даљинским приступом</translation> <translation id="4725528134735324213">Омогући Android Backup Service</translation> <translation id="4733471537137819387">Смернице у вези са интегрисаном HTTP потврдом аутентичности.</translation> @@ -1498,13 +1503,6 @@ Када је вредност ових смерница подешена и не износи 0, корисник демонстрације који је тренутно пријављен биће аутоматски одјављен по истеку наведеног периода неактивности. Вредност смернице треба да се наведе у милисекундама.</translation> -<translation id="5506213378070007377">Информације о статусу Android-а се шаљу назад - серверу. - - Ако се смернице подесе на „нетачно“, не пријављују се информације о статусу. - Ако се подесе на „тачно“ или се оставе неподешене, информације о статусу се пријављују. - - Ове смернице се примењују само ако су Android апликације омогућене.</translation> <translation id="5511702823008968136">Омогући Траку са обележивачима</translation> <translation id="5512418063782665071">URL адреса почетне странице</translation> <translation id="5523812257194833591">Јавна сесија коју треба аутоматски пријавити после одређеног периода. @@ -1858,6 +1856,13 @@ Ако изаберете опцију „аутоматски откриј прокси сервер“, URL скрипте „http://wpad/wpad.dat“ се даје Android апликацијама. Не користи се ниједан други део протокола проксија за аутоматско откривање. Ако изаберете опцију „.прокси скрипта .pac“, URL скрипте се даје Android апликацијама.</translation> +<translation id="6435127182262044446">Ово подешавање контролише колика је максимална дужина PIN-а. + + Ако је ово подешавање 0 или мање, ограничење за максималну дужину не постоји, па корисник може да подеси PIN који је дугачак онолико колико он жели. + + Ако је ово подешавање мање од подешавања PinUnlockMinimumLength, али је веће од 0, максимална дужина ће бити иста као минимална дужина. + + Не постоји подразумевана максимална дужина.</translation> <translation id="6467433935902485842">Омогућава вам да подесите листу образаца URL адреса који наводе сајтове којима није дозвољено да покрећу додатне компоненте. Ако ове смернице нису подешене, глобална подразумевана вредност биће коришћена за све сајтове из смерница „DefaultPluginsSetting“, уколико су оне подешене, а ако нису, из личне конфигурације корисника.</translation> @@ -2804,6 +2809,13 @@ Обрађивачи протокола које су регистровале смернице се спајају са онима које је регистровао корисник и можете да користите и једне и друге. Корисник може да замени обрађиваче протокола које су смернице инсталирале ако инсталира нови подразумевани обрађивач, али не може да уклони обрађивач протокола који су смернице регистровале.</translation> <translation id="913195841488580904">Блокирај приступ листи URL адреса</translation> <translation id="9135033364005346124">Омогући <ph name="CLOUD_PRINT_NAME" /> прокси</translation> +<translation id="9136253551939494882">Бела листа која контролише које режиме за брзо откључавање корисник може да конфигурише и користи за откључавање закључаног екрана. + + Вредност представља листу низова, а важећи уноси на листи су: „all“ (сви), „PIN“. Ако сте на листу додали „all“, кориснику ће бити доступни сви подржани режими брзог откључавања, укљућујући оне који се додају у будућности. У супротном ће бити доступни само режими за брзо откључавање који се налазе на листи. + + На пример, да бисте омогућили све режиме за брзо откључавање, користите [„all“]. Да бисте дозволили само откључавање помоћу PIN-а, користите [„PIN“]. Да бисте онемогућили све режиме за брзо откључавање, користите []. + + Према подразумеваном подешавању ниједан режим за брзо откључавање није доступан на уређајима којима се управља.</translation> <translation id="9147029539363974059">Шаљу системске евиденције на сервер за управљање да би омогућиле администраторима да прате системске евиденције. @@ -2819,6 +2831,11 @@ Ако ове смернице нису подешене, ово ће бити омогућено и корисник ће моћи да користи режим без архивирања.</translation> <translation id="915194831143859291">Ако подесите ове смернице на Нетачно или их не конфигуришете, <ph name="PRODUCT_OS_NAME" /> ће омогућити кориснику да искључи уређај. Ако подесите ове смернице на Тачно, <ph name="PRODUCT_OS_NAME" /> ће покретати рестартовање када корисник искључује уређај. <ph name="PRODUCT_OS_NAME" /> замењује сву дугмад за искључивање у корисничком интерфејсу дугмадима за рестартовање. Ако корисник искључује уређај помоћу дугмета за напајање, уређај се неће аутоматски рестартовати чак и ако су смернице омогућене.</translation> +<translation id="917887642534332939">Ово подешавање контролише колика је минимална дужина PIN-а. + + Апсолутна минимална дужина PIN-а је 1, а вредности мање од 1 третирају се као 1. + + Подразумевана и препоручена минимална дужина PIN-а је 6 цифара.</translation> <translation id="9187743794267626640">Онемогућавање прикључивања спољне меморије</translation> <translation id="9197740283131855199">Проценат до кога треба мењати време до замрачивања екрана када корисник постане активан након замрачивања</translation> <translation id="9200828125069750521">Параметри за URL слике који користи POST</translation>
diff --git a/components/policy/resources/policy_templates_sv.xtb b/components/policy/resources/policy_templates_sv.xtb index 46092ea..a2883ab 100644 --- a/components/policy/resources/policy_templates_sv.xtb +++ b/components/policy/resources/policy_templates_sv.xtb
@@ -1306,6 +1306,11 @@ Exempel på mönster finns på https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Öppna följande sidor</translation> <translation id="4680961954980851756">Aktivera Autofyll</translation> +<translation id="4722399051042571387">Om inställningen har konfigurerats som falsk kan inte användare ange pinkoder som är osäkra och lätta att gissa. + + Exempel på osäkra pinkoder är pinkoder som genomgående innehåller samma siffra (1111), pinkoder med sifferföljder i stigande (1234) eller fallande (4321) ordning och pinkoder som är vanliga. + + Som standard får användare ett varningsmeddelande i stället för ett felmeddelande om pinkoden anses vara osäker.</translation> <translation id="4723829699367336876">Aktivera brandväggspassage från fjärråtkomstklient</translation> <translation id="4725528134735324213">Aktivera säkerhetskopieringstjänsten för Android</translation> <translation id="4733471537137819387">Policyer som gäller integrerad HTTP-autentisering</translation> @@ -1522,12 +1527,6 @@ När värdet för den här policyn är angiven och inte är 0 kommer den nuvarande inloggade demoanvändaren att loggas ut automatiskt när en viss tid av inaktivitet har gått. Policyvärdet ska anges i millisekunder.</translation> -<translation id="5506213378070007377">Android-statusrapporter skickas till servern. - - Om principen har ställts in på falskt skickas ingen statusinformation. - Om principen har ställts in på sant eller lämnats utan värde skickas statusinformation. - - Principen gäller bara om Android-appar har aktiverats.</translation> <translation id="5511702823008968136">Aktivera bokmärkesfältet</translation> <translation id="5512418063782665071">Webbadress för startsida</translation> <translation id="5523812257194833591">En offentlig session för att logga in automatiskt efter en fördröjning. @@ -1886,6 +1885,13 @@ Med alternativet Identifiera proxyserver automatiskt får Android-apparna tillgång till skriptadressen http://wpad/wpad.dat. Ingen annan del av protokollet för automatisk proxyidentifiering används. Med alternativet PAC-proxyskript får Android-apparna tillgång till skriptadressen.</translation> +<translation id="6435127182262044446">Med den här inställningen styr du hur lång en pinkod får vara. + + Om noll eller lägre konfigureras för den här inställningen finns det ingen maxlängd och användare kan ange hur långa pinkoder som helst. + + Om lägre än PinUnlockMinimumLength men högre än noll anges för inställningen är maxlängden samma som minimilängden. + + Den här inställningen har som standard ingen maxlängd.</translation> <translation id="6467433935902485842">Policyn gör att du kan ange en lista med webbadressmönster som definierar webbplatser som inte får köra plugin-program. Om den här policyn inte anges används det globala standardvärdet för alla webbplatser från policyn DefaultPluginsSetting om den har ställts in, eller användarens personliga konfiguration om den inte har det.</translation> @@ -2844,6 +2850,13 @@ Protokollhanterare som registreras av policyn slås ihop med de som registreras av användaren och båda går att använda. Användare kan åsidosätta protokollhanterarna som har installerats av policyn genom att installera en ny standardhanterare, men användare kan inte ta bort en protokollhanterare som har registrerats av policyn.</translation> <translation id="913195841488580904">Blockera åtkomst till en lista med webbadresser</translation> <translation id="9135033364005346124">Aktivera <ph name="CLOUD_PRINT_NAME" />-proxy</translation> +<translation id="9136253551939494882">En vitlista över vilka snabbupplåsningslägen användaren kan konfigurera och använda för att låsa upp låsskärmen. + + Värdet är en lista över strängar som ska vara antingen Alla eller Pinkod. Genom att lägga till Alla i listan blir alla snabbupplåsningslägen tillgängliga för användaren, även de som läggs till i framtiden. I annat fall blir endast snabbupplåsningslägena i listan tillgängliga. + + Om du vill tillåta alla snabbupplåsningslägen använder du [alla]. I de fall du vill tillåta endast upplåsning med pinkod använder du [pinkod]. Med [] inaktiverar du alla snabbupplåsningslägen. + + Som standard är inga snabbupplåsningslägen tillgängliga för hanterade enheter.</translation> <translation id="9147029539363974059">Skickar systemloggar till hanteringsservern så att administratörer kan övervaka systemloggarna. @@ -2859,6 +2872,11 @@ Om policyn inte ställs in aktiveras inställningen och användaren kan använda inkognitoläge.</translation> <translation id="915194831143859291">Om policyn är inställd på falskt eller inte har konfigurerats tillåter <ph name="PRODUCT_OS_NAME" /> att användaren stänger av enheten. Om policyn är inställd på sant utlöser <ph name="PRODUCT_OS_NAME" /> en omstart när användaren stänger av enheten. <ph name="PRODUCT_OS_NAME" /> ersätter alla förekomster av avstängningsknappar i gränssnittet med omstartsknappar. Om användaren stänger av enheten med strömbrytaren startas den inte om automatiskt även om policyn är aktiverad.</translation> +<translation id="917887642534332939">Med den här inställningen styr du hur kort en pinkod får vara. + + Det lägsta antalet siffror en pinkod får bestå av är en siffra. Alla värden lägre än detta behandlas som en siffra. + + Som standard är sex siffror minimilängden för pinkoder. Det är även den rekommenderade minimilängden.</translation> <translation id="9187743794267626640">Inaktivera montering av extern lagring</translation> <translation id="9197740283131855199">Procentsats med vilken fördröjningen av dämpningen av skärmen ska skalanpassas om användaren gör något efter dämpningen</translation> <translation id="9200828125069750521">Parametrar för bildwebbadresser som använder POST</translation>
diff --git a/components/policy/resources/policy_templates_sw.xtb b/components/policy/resources/policy_templates_sw.xtb index 1e70cf8..7e1c6d4 100644 --- a/components/policy/resources/policy_templates_sw.xtb +++ b/components/policy/resources/policy_templates_sw.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">Hairuhusu tovuti yoyote kufuatilia eneo halisi la mtumiaji</translation> <translation id="1049138910114524876">Huweka mipangilio ya lugha ambayo inatekelezwa kwenye skrini ya kuingia katika kifaa ya <ph name="PRODUCT_OS_NAME" />. - Sera hii ikiwekwa, skrini ya kuingia katika kifaa itaonyeshwa kila mara kwa lugha iliyowekwa katika thamani ya kwanza (sera imebainishwa kuwa orodha ya uoanifu wa kusambaza). Sera hii isipowekwa au ikiwekwa kwenye orodha tupu, skrini ya kuingia katika kifaa itaonyeshwa kwa lugha ya kipindi cha mtumiaji wa mwisho. Sura hii ikiwekwa kuwa thamani ambayo si lugha sahihi, skrini ya kuingia katika kifaa itaonyeshwa kwa lugha chaguo-msingi (ambayo kwa sasa ni en-US).</translation> + Sera hii ikiwekwa, skrini ya kuingia katika kifaa itaonyeshwa kila mara kwa lugha iliyowekwa katika thamani ya kwanza (sera imebainishwa kuwa orodha ya uoanifu wa kusambaza). Sera hii isipowekwa au ikiwekwa kwenye orodha tupu, skrini ya kuingia katika kifaa itaonyeshwa kwa lugha ya kipindi cha mtumiaji wa mwisho. Sura hii ikiwekwa kuwa thamani ambayo si lugha sahihi, skrini ya kuingia katika kifaa itaonyeshwa kwa lugha chaguo-msingi (ambayo kwa sasa ni Kiingereza cha Marekani).</translation> <translation id="1062011392452772310">Washa usahihishaji wa mbali wa kifaa</translation> <translation id="1090892140761957285">URL ya kuidhinisha tokeni ya uthibitishaji wa seva teja ya uwezo wa kufikia kwa mbali. @@ -1042,7 +1042,7 @@ Isipowekwa au ikiwekwa kuwa Sivyo, basi watumiaji wataweza kuhamisha faili kwenye Hifadhi ya Google.</translation> <translation id="3915395663995367577">URL hadi proksi ya faili ya .pac</translation> -<translation id="3926940573869375969">Huweka mipangilio miundo ya kibodi inayoruhusiwa kwenye skrini ya kuingia katika kifaa ya <ph name="PRODUCT_OS_NAME" />. +<translation id="3926940573869375969">Huweka mipangilio ya miundo ya kibodi inayoruhusiwa kwenye skrini ya kuingia katika kifaa cha <ph name="PRODUCT_OS_NAME" />. Sera hii ikiweka kuwa orodha ya vitambulishi vya mbinu ya kuingiza data, mbinu husika za kuingiza data zitapatikana kwenye skrini ya kuingia katika kifaa. Mbinu ya kwanza ya kuingiza data itachaguliwa. Wakati podi ya mtumiaji inapolenga skrini ya kuingia katika kifaa, mbinu ya kuingiza data ya mtumiaji iliyotumiwa mara chache zaidi hivi majuzi itapatikana kando na mbinu za kuingiza data zilizotolewa na sera hiii. Sera hii isipowekwa, mbinu za kuingiza data zilizo kwenye skrini ya kuingia katika kifaa zitatolewa kwenye lugha ambayo imetumiwa kuonyesha skrini ya kuingia katika kifaa. Thamani ambazo si vitambulisho sahihi vya mbinu za kuingiza data zitapuuzwa.</translation> <translation id="3939893074578116847">Tuma vifurushi vya mtandao kwenye seva ya udhibiti ili kufuatilia hali ya mtandaoni, ili kuruhusu @@ -1285,6 +1285,11 @@ Kwa mifano ya ruwaza angalia https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Fungua orodha ya URL</translation> <translation id="4680961954980851756">Washa uwezo wa Kujaza kitomatiki</translation> +<translation id="4722399051042571387">Ikiwa sivyo, watumiaji hawataweza kuweka PIN ambazo ni dhaifu na rahisi kuzitambua. + + Mifano ya PIN dhaifu: PIN zilizo na tarakimu moja tu (1111), PIN ambazo tarakimu zake zinaongezeka kwa 1 (1234), PIN ambazo tarakimu zake zinapungua kwa 1 (4321), na PIN zinazotumika kwa kawaida. + + Kwa chaguo-msingi, watumiaji watapokea onyo, si arifa ya hitilafu, ikiwa PIN itatambulika kuwa dhaifu.</translation> <translation id="4723829699367336876">Wezesha kutamba kwa ngome kutoka kwa mteja wa mbali kufikiwa</translation> <translation id="4725528134735324213">Washa kipengele cha Android Backup Service</translation> <translation id="4733471537137819387">Sera zinazohusiana na uthibitishaji wa HTTP jumuishi.</translation> @@ -1493,13 +1498,6 @@ Wakati thamani ya sera hii inawekwa na siyo 0 hivyo basi mtumiaji wa kuonyesha aliyeingia ataondoka kiotomatiki baada ya muda usio wa shughuli wa kipindi kilichobainishwa umekwishwa. Thamani ya sera inafaa kubainishwa katika milisekunde.</translation> -<translation id="5506213378070007377">Maelezo kuhusu hali ya Android hutumwa kwenye - seva. - - Sera hii ikiwekwa kuwa sivyo, maelezo ya hali hayataripotiwa. - Ikiwekwa kuwa ndivyo au iachwe bila kuwekwa, maelezo ya hali yataripotiwa. - - Sera hii inatumika tu iwapo progamu za Android zimewashwa.</translation> <translation id="5511702823008968136">Wezesha Upau wa Alamisho</translation> <translation id="5512418063782665071">URL ya ukurasa wa kwanza</translation> <translation id="5523812257194833591">Kipindi cha uma cha kuingia otomatiki baada ya kuchelewa. @@ -1848,6 +1846,12 @@ Ukichagua kugundua seva mbadala kiotomatiki, URL ya hati "http://wpad/wpad.dat" hutolewa kwa programu za Android. Hakuna sehemu nyingine ya itifaki ya kugundua kiotomatiki inayotumiwa. Ukichagua kutumia hati ya seva mbadala ya a .pac, URL ya hati inatolewa kwa programu za Android.</translation> +<translation id="6435127182262044446">Mipangilio hii inadhibiti urefu wa juu zaidi wa PIN. + + Ikiwa mipangilio hii ni 0 au chini, hakutakuwa na urefu wa juu zaidi; mtumiaji anaweza kuweka PIN ndefu anavyotaka. + + Ikiwa mipangilio hii ni chini ya PinUnlockMinimumLength lakini kubwa kuliko 0, urefu wa juu zaidi ni sawa na urefu wa chini zaidi. + Mipangilio hii hurudi katika urefu usio wa juu zaidi.</translation> <translation id="6467433935902485842">Inakuruhusu kuweka orodha ya ruwaza za url ambazo zinaruhusiwa kuendesha programu jalizi. Ikiwa sera hii itasalia kama haijawekwa thamani yote chaguo-msingi itatumiwa kwa tovuti zote kutoka kwenye sera ya 'DefaultPluginsSetting' ikiwa imewekwa, au vinginevyo usanidi binafsi wa mtumiaji.</translation> @@ -2774,6 +2778,13 @@ Vishikilizi vya itifaki vilivyosajiliwa na sera vinaunganishwa na vilivyosajiliwa na mtumiaji na vyote viwili vinapatikana kwa matumizi. Mtumiaji anaweza kubatilisha vishikilizi vya itifaki vilivyosakinishwa na sera kwa kusakinisha kishikilizi kipya cha chaguo-msingi, lakini hawezi kuondoa kishikilizi cha itifaki kilichosajiliwa na sera.</translation> <translation id="913195841488580904">Zuia ufikivu kwenye orodha za URL</translation> <translation id="9135033364005346124">Wezesha proksi ya <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Orodha iliyoidhinishwa ambayo inadhibiti aina za ufunguaji wa haraka ambazo mtumiaji anaweza kuweka na kuitumia kufungua skrini iliyofungwa. + + Thamani hii ni orodha ya mifuatano; maingizo ya orodha sahihi ni: "all", "PIN". Kuongeza "all" katika orodha humaanisha kila aina inayofungua haraka hupatikana kwa mtumiaji, ikijumuisha zitakazotekelezwa siku zijazo. Ikiwa sivyo, aina zinazofungua haraka zilizo katika orodha ndizo zitapatikana pekee. + + Kwa mfano, ili kuruhusu kila aina inayofungua haraka, tumia ["all"]. Ili kuruhusu kufungua kwa kutumia PIN pekee, tumia, ["PIN"]. Ili kuzima aina zote za kufungua haraka, tumia []. + + Kwa chaguo-msingi, hakuna aina za kufungua haraka zinazopatikana kwenye vifaa vinavyosimamiwa.</translation> <translation id="9147029539363974059">Tuma kumbukumbu za mfumo kwenye seva ya udhibiti, ili uruhusu wasimamizi kufuatilia kumbukumbu za mfumo. @@ -2790,6 +2801,11 @@ Ikiwa sera hii itawachwa ikiwa haijawekwa, hii itawashwa na mtumiaji ataweza kutumia hali fiche.</translation> <translation id="915194831143859291">Sera hii ikiwekwa kuwa sivyo au isisanidiwe, <ph name="PRODUCT_OS_NAME" /> itamruhusu mtumiaji kuzima kifaa. Sera hii ikiwekwa kuwa ndivyo, <ph name="PRODUCT_OS_NAME" /> itaanzisha kuwasha tena mtumiaji anapozima kifaa. <ph name="PRODUCT_OS_NAME" /> huchukua nafasi ya matukio yote ya vitufe vya kuzima katika kiolesura kwa kutumia vitufe vya kuzima. Mtumiaji akizima kifaa akitumia kitufe cha kuwasha/kuzima, hakitawasha tena kiotomatiki, hata kama sera imewashwa.</translation> +<translation id="917887642534332939">Mipangilio hii inadhibiti urefu wa juu zaidi wa PIN. + + Urefu kamili wa chini zaidi wa PIN ni 1; thamani zilizo chini ya 1 huchukuliwa kuwa 1. + + Urefu wa chini zaidi chaguo-msingi na unaopendekezwa wa PIN ni tarakimu 6.</translation> <translation id="9187743794267626640">Lemaza uangikaji wa hifadhi ya nje</translation> <translation id="9197740283131855199">Asilimia ambayo mwangaza wa skrini utaongezwa uchelewaji iwapo mtumiaji anaanza kutumia baada ya kupunguza mwangaza</translation> <translation id="9200828125069750521">Vigezo vya URL ya picha inayotumia POST</translation>
diff --git a/components/policy/resources/policy_templates_ta.xtb b/components/policy/resources/policy_templates_ta.xtb index 2d8efe7..76b19c5b 100644 --- a/components/policy/resources/policy_templates_ta.xtb +++ b/components/policy/resources/policy_templates_ta.xtb
@@ -994,7 +994,7 @@ <translation id="3915395663995367577">ப்ராக்ஸி .pac கோப்பிற்கான URL</translation> <translation id="3926940573869375969"><ph name="PRODUCT_OS_NAME" /> உள்நுழைவுத் திரையில் அனுமதிக்கப்படும் விசைப்பலகைத் தளவமைப்புகளை உள்ளமைக்கும். - இந்தக் கொள்கை, உள்ளீட்டு முறை அடையாளங்காட்டிகளின் பட்டியல் என்பதற்கு அமைக்கப்பட்டால், வழங்கிய உள்ளீட்டுப் பயன்முறைகள் உள்நுழைவுத் திரையில் கிடைக்கும். முதலில் வழங்கிய உள்ளீட்டு முறையானது முன்கூட்டியே தேர்ந்தெடுக்கப்பட்டிருக்கும். உள்நுழைவுத் திரையில் பயனர் பாட் ஃபோகஸ் செய்துக் கொண்டிருக்கும் போது, இந்தக் கொள்கை வழங்கும் உள்ளீட்டு முறைகளுடன் சேர்த்து பயனர் மிகச் சமீபத்தில் பயன்படுத்திய உள்ளீட்டு முறையும் கிடைக்கும். இந்தக் கொள்கை அமைக்கப்படவில்லை எனில், உள்நுழைவுத் திரை காட்டப்படும் மொழியிலிருந்து உள்நுழைவுத் திரையில் உள்ளீட்டு முறைகள் பெறப்படும். தவறான உள்ளீட்டு முறை அடையாளங்காட்டிகள் உள்ள மதிப்புகள் புறக்கணிக்கப்படும்.</translation> + இந்தக் கொள்கை, உள்ளீட்டு முறை அடையாளங்காட்டிகளின் பட்டியலாக அமைக்கப்பட்டால், வழங்கிய உள்ளீட்டுப் பயன்முறைகள் உள்நுழைவுத் திரையில் கிடைக்கும். முதலில் வழங்கிய உள்ளீட்டு முறையானது முன்கூட்டியே தேர்ந்தெடுக்கப்பட்டிருக்கும். உள்நுழைவுத் திரையில் பயனர் பாட் ஃபோகஸ் செய்துக் கொண்டிருக்கும் போது, இந்தக் கொள்கை வழங்கும் உள்ளீட்டு முறைகளுடன் சேர்த்து பயனர் மிகச் சமீபத்தில் பயன்படுத்திய உள்ளீட்டு முறையும் கிடைக்கும். இந்தக் கொள்கை அமைக்கப்படவில்லை எனில், உள்நுழைவுத் திரை காட்டப்படும் மொழியிலிருந்து உள்நுழைவுத் திரையில் உள்ளீட்டு முறைகள் பெறப்படும். தவறான உள்ளீட்டு முறை அடையாளங்காட்டிகள் உள்ள மதிப்புகள் புறக்கணிக்கப்படும்.</translation> <translation id="3939893074578116847">ஆன்லைன் நிலையைக் கண்காணிக்கவும், சாதனம் ஆஃப்லைனில் உள்ளதா எனக் கண்டறிய சேவையகத்தை அனுமதிக்கவும், நெட்வொர்க் பாக்கெட்டுகளை மேலாண்மை சேவையகத்திற்கு அனுப்பும். @@ -1217,6 +1217,11 @@ வடிவங்களின் எடுத்துக்காட்டுகளுக்கு https://www.chromium.org/developers/how-tos/chrome-frame-getting-started என்கிற முகவரிக்குச் செல்லவும்.</translation> <translation id="467449052039111439">URL களின் பட்டியலைத் திற</translation> <translation id="4680961954980851756">தானியங்குநிரப்புதலை இயக்கு</translation> +<translation id="4722399051042571387">தவறு என அமைத்தால், எளிதில் யூகிக்கக்கூடிய வலிமையற்ற பின்களைப் பயனர்களால் அமைக்க முடியாது. + + வலிமையற்ற பின்களுக்கான சில எடுத்துக்காட்டுகள்: ஒரே இலக்கத்தைக் கொண்டுள்ள பின்கள் (1111), ஒவ்வொன்றாக அதிகரிக்கும் இலக்கங்களைக் கொண்ட பின்கள் (1234), ஒவ்வொன்றாகக் குறையும் இலக்கங்களைக் கொண்ட பின்கள் (4321) மற்றும் பொதுவாகப் பயன்படுத்தப்படும் பின்கள். + + இயல்பாகவே, பின்னை வலிமையற்றதாகக் கருதினால், பயனர்களுக்கு எச்சரிக்கைச் செய்தி மட்டுமே காட்டப்படும், பிழைச் செய்தி காட்டப்படாது.</translation> <translation id="4723829699367336876">தொலைநிலை அணுகல் கிளையண்டில் இருந்து கடந்துவர, ஃபயர்வாலைச் செயல்படுத்து</translation> <translation id="4725528134735324213">Android Backup Serviceஐ இயக்கு</translation> <translation id="4733471537137819387">ஒருங்கிணைக்கப்பட்ட HTTP அங்கீகரிப்புடன் தொடர்புடைய கொள்கைகள்.</translation> @@ -1404,13 +1409,6 @@ இந்தக் கொள்கையின் மதிப்பு அமைக்கப்பட்டு, அது 0 ஆக இருந்தால், குறிப்பிட்ட காலஅளவின் செயலற்ற நேரம் கழிந்தப் பிறகு உள்நுழைந்த டெமோ பயனர் தானாக வெளியேற்றப்படுவார். கொள்கை மதிப்பை மில்லிவினாடிகளில் குறிப்பிட வேண்டும்.</translation> -<translation id="5506213378070007377">Android இன் நிலை பற்றிய தகவல், சேவையகத்திற்கு - அனுப்பப்படும். - - கொள்கை 'தவறு' என அமைக்கப்பட்டால், நிலைத் தகவல் எதுவும் அறிக்கையிடப்படாது. - அது 'சரி' என அமைக்கப்பட்டாலோ அல்லது வெறுமையாக விடப்பட்டாலோ, நிலைத் தகவல் அறிக்கையிடப்படும். - - Android பயன்பாடுகள் இயக்கப்பட்டிருந்தால் மட்டுமே, இந்தக் கொள்கை பயன்படுத்தப்படும்.</translation> <translation id="5511702823008968136">புக்மார்க் பட்டியை இயக்கு</translation> <translation id="5512418063782665071">முகப்புப் பக்க URL</translation> <translation id="5523812257194833591">தாமதத்திற்குப் பிறகு தானாக உள்நுழைவதற்கான பொது அமர்வு. @@ -1731,6 +1729,13 @@ ப்ராக்ஸி சர்வரைத் தானாகக் கண்டறியத் தேர்வுசெய்தால், Android பயன்பாடுகளுக்கு "http://wpad/wpad.dat" எனும் ஸ்கிரிப்ட் வழங்கப்படும். ப்ராக்ஸி தானாகக் கண்டறிதல் நெறிமுறையின் எந்தப் பிற பகுதியும் பயன்படுத்தப்படாது. .pac ப்ராக்ஸி ஸ்கிரிப்டைப் பயன்படுத்தத் தேர்வுசெய்தால், Android பயன்பாடுகளுக்கு ஸ்கிரிப்ட் URL வழங்கப்படும்.</translation> +<translation id="6435127182262044446">இந்த அமைப்பு, பின்னின் அதிகபட்ச நீளத்தைக் கட்டுப்படுத்தும். + + இந்த அமைப்பைப் பூஜ்ஜியம் அல்லது அதற்கும் குறைவாக அமைத்தால், அதிகபட்ச நீளம் என்று எதுவும் இருக்காது. பயனர் விரும்பும் நீளத்திற்குப் பின்னை அமைத்துக்கொள்ளலாம். + + இந்த அமைப்பை PinUnlockMinimumLengthஐ விடக் குறைவாகவும் பூஜ்ஜியத்தை விட அதிகமாகவும் அமைத்தால், அதிகபட்ச நீளமும் குறைந்தபட்ச நீளமும் சமமாகும். + + இதன் இயல்பான அமைப்பில், அதிகபட்ச நீளம் என்ற கட்டுப்பாடு இருக்காது.</translation> <translation id="6467433935902485842">செருகுநிரல்களை இயக்க அனுமதிக்காத தளங்களைக் குறிப்பிடுகின்ற url முறைகளின் பட்டியலை அமைக்க, உங்களை அனுமதிக்கிறது. ஒட்டுமொத்த தன்னியல்பு பெறுமதிக்கு அமைக்காமல் விடப்பட்ட இந்தக் கொள்கையானது, 'DefaultPluginsSetting' கொள்கை அமைக்கப்பட்டிருந்தால் அதிலிருந்து அல்லது பயனரின் தனிப்பட்ட உள்ளமைவில் இருந்து எல்லாத் தளங்களுக்கும் பயன்படுத்தப்படும்.</translation> <translation id="6473334971332473690"><ph name="PRODUCT_OS_NAME" /> சாதனங்களில் Smart Lock பயன்பாட்டை அனுமதிக்கும். @@ -2605,12 +2610,25 @@ கொள்கை மூலம் பதிவுசெய்யப்பட்ட நெறிமுறை ஹேண்ட்லர்கள் பயனர் மூலம் பதிவுசெய்யப்பட்ட ஒன்றுடன் இணைக்கப்படும், மேலும் அவை இரண்டும் பயன்படுத்துவதற்குக் கிடைக்கும். புதிய இயல்புநிலை ஹேண்ட்லரை நிறுவுவதன் மூலம், பயனர் கொள்கையினால் நிறுவப்பட்ட நெறிமுறை ஹேண்ட்லர்களில் மேலெழுதலாம், ஆனால் கொள்கை மூலம் பதிவுசெய்யப்பட்ட நெறிமுறை ஹேண்ட்லரை அகற்ற முடியாது.</translation> <translation id="913195841488580904">URLகளின் பட்டியலுக்கான அணுகலைத் தடு</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> ப்ராக்ஸியை இயக்கு</translation> +<translation id="9136253551939494882">இந்த ஏற்புப்பட்டியல், விரைந்து திறக்கும் பயன்முறைகளில் எந்தப் பயன்முறையைப் பயனர் உள்ளமைத்து, பூட்டுத் திரையைத் திறக்க பயன்படுத்தலாம் என்பதைக் கட்டுப்படுத்தும். + + இந்த மதிப்பானது எழுத்துச்சரங்களின் பட்டியலாகும். சரியான பட்டியல் உள்ளீடுகள்: "all", "PIN". பட்டியலில் "all" என்பதைச் சேர்த்தால், எதிர்காலத்தில் பயன்பாட்டிற்கு வருபவை உட்பட, விரைந்து திறக்கும் எல்லாப் பயன்முறைகளும் பயனருக்குக் கிடைக்கும். இல்லையெனில், பட்டியலில் உள்ள விரைந்து திறக்கும் பயன்முறைகள் மட்டுமே கிடைக்கும். + + + எடுத்துக்காட்டாக, விரைந்து திறக்கும் எல்லாப் பயன்முறைகளையும் அனுமதிக்க, ["all"] என்பதைப் பயன்படுத்தவும். பின் மூலம் திறப்பதை மட்டும் அனுமதிக்க, ["PIN"] என்பதைப் பயன்படுத்தவும். விரைந்து திறக்கும் எல்லாப் பயன்முறைகளையும் முடக்க, [] என்பதைப் பயன்படுத்தவும். + + இயல்பாகவே, நிர்வகிக்கப்படும் சாதனங்களுக்கு விரைந்து திறக்கும் பயன்முறைகள் எதுவுமில்லை.</translation> <translation id="9147029539363974059">முறைமைப் பதிவுகளை நிர்வாகிகள் கண்காணிக்க அனுமதிக்க, நிர்வகிப்புச் சேவையகத்திற்கு முறைமைப் பதிவுகளை அனுப்பும். இந்தக் கொள்கை true என அமைக்கப்பட்டால், முறைமைப் பதிவுகள் அனுப்பப்படும். false என அமைக்கப்பட்டாலோ அல்லது அமைக்கப்படாமல் இருந்தாலோ, முறைமைப் பதிவுகள் எதுவும் அனுப்பப்படாது.</translation> <translation id="9150416707757015439">இந்தக் கொள்கை நிராகரிக்கப்பட்டது. மாற்றாக IncognitoModeAvailability ஐப் பயன்படுத்துக. <ph name="PRODUCT_NAME" /> இல் மறைநிலைப் பயன்முறையை செயல்படுத்துகிறது. இந்த அமைப்பு செயலாக்கப்பட்டாலோ அல்லது உள்ளமைக்கமைக்கப்படவில்லை என்றாலோ, மறைநிலை பயன்முறையில் வலைப் பக்கங்களைப் பயனர்கள் திறக்கலாம். இந்த அமைப்பு முடக்கப்பட்டால், மறைநிலைப் பயன்முறையில் வலைப் பக்கங்களைப் பயனர்கள் திறக்க முடியாது. இந்த கொள்கை அமைக்கப்படாமல் இருந்தால், இது செயலாக்கப்படும் மேலும் மறைநிலைப் பயன்முறையில் பயனரால் பயன்படுத்தவும் முடியும்.</translation> <translation id="915194831143859291">இந்தக் கொள்கை false என அமைக்கப்பட்டிருந்தாலோ அல்லது உள்ளமைக்கப்படாமல் இருந்தாலோ, சாதனத்தை இயக்க நிறுத்தம் செய்ய, பயனரை <ph name="PRODUCT_OS_NAME" /> அனுமதிக்கும். இந்தக் கொள்கை true என அமைக்கப்பட்டால், சாதனத்தைப் பயனர் இயக்க நிறுத்தம் செய்யும்போது, மறுதொடக்கத்தை <ph name="PRODUCT_OS_NAME" /> செயல்படுத்தும். UI இல் உள்ள எல்லா இயக்க நிறுத்தப் பொத்தான்களையும், மறுதொடக்கப் பொத்தான்களாக <ph name="PRODUCT_OS_NAME" /> மாற்றியமைக்கும். பவர் பொத்தானைப் பயன்படுத்திச் சாதனத்தைப் பயனர் இயக்க நிறுத்தம் செய்யும் போது, கொள்கை இயக்கப்பட்டிருந்தாலும் சாதனம் தானாக மறுதொடக்கமாகாது.</translation> +<translation id="917887642534332939">இந்த அமைப்பு, பின்னின் குறைந்தபட்ச நீளத்தைக் கட்டுப்படுத்தும். + + பின்னின் முழுமையான குறைந்தபட்ச நீளம் ஒன்று ஆகும். ஒன்றை விடக் குறைவான மதிப்புகளும் ஒன்று என்றே கருதப்படும். + + பின்னின் இயல்பான, பரிந்துரைக்கப்படும் குறைந்தபட்ச நீளம் ஆறு இலக்கங்களாகும்.</translation> <translation id="9187743794267626640">வெளிப்புற சேமிப்பிடம் அமைப்பதை முடக்கு</translation> <translation id="9197740283131855199">மங்கலான பிறகு பயனர் செயலில் இருந்தால் திரையின் மங்கல் தாமதத்தை அளவிடுவதற்கான சதவீதம்</translation> <translation id="9200828125069750521">POST ஐப் பயன்படுத்தும் பட URL க்கான அளவுருக்கள்</translation>
diff --git a/components/policy/resources/policy_templates_te.xtb b/components/policy/resources/policy_templates_te.xtb index e4b07c81..dd3e09c 100644 --- a/components/policy/resources/policy_templates_te.xtb +++ b/components/policy/resources/policy_templates_te.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">వినియోగదారుల యొక్క నిజ స్థానాన్ని ట్రాక్ చెయ్యడానికి ఏ సైట్ను అనుమతించవద్దు</translation> <translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> సైన్-ఇన్ స్క్రీన్లో అమలు చేయబడిన లొకేల్ను కాన్ఫిగర్ చేస్తుంది. - ఈ విధానాన్ని సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ ఎల్లప్పుడూ ఈ విధానం (విధానం ఫార్వార్డ్ అనుకూలత కోసం జాబితా వలె నిర్వచించబడుతుంది) యొక్క మొదటి విలువ ద్వారా అందించబడే లొకేల్లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని సెట్ చేయకుంటే లేదా ఖాళీ జాబితాకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ చివరి వినియోగదారు సెషన్ యొక్క లొకేల్లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని చెల్లని లొకేల్ విలువకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ ఫాల్బ్యాక్ లొకేల్లో (ప్రస్తుతం, en-US) ప్రదర్శించబడుతుంది.</translation> + ఈ విధానాన్ని సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ ఎల్లప్పుడూ ఈ విధానం (విధానం ఫార్వార్డ్ అనుకూలత కోసం జాబితా వలె నిర్వచించబడుతుంది) యొక్క మొదటి విలువ ద్వారా అందించబడే లొకేల్లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని సెట్ చేయకుంటే లేదా ఖాళీ జాబితాకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ చివరి వినియోగదారు సెషన్ యొక్క లొకేల్లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని చెల్లని లొకేల్ విలువకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ డిఫాల్ట్ లొకేల్లో (ప్రస్తుతం, en-US) ప్రదర్శించబడుతుంది.</translation> <translation id="1062011392452772310">పరికరం కోసం రిమోట్ ధృవీకరణను ప్రారంభించండి</translation> <translation id="1090892140761957285">రిమోట్ ప్రాప్యత క్లయింట్ ప్రామాణీకరణ టోకెన్ను ధృవీకరించడానికి URL. @@ -1022,7 +1022,7 @@ <translation id="3915395663995367577">ప్రాక్సీ .pac ఫైల్కి URL</translation> <translation id="3926940573869375969"><ph name="PRODUCT_OS_NAME" /> సైన్-ఇన్ స్క్రీన్లో అనుమతించబడే కీబోర్డ్ లేఅవుట్లను కాన్ఫిగర్ చేస్తుంది. - ఈ విధానాన్ని ఇన్పుట్ పద్ధతి ఐడెంటిఫైయర్ల జాబితాకు సెట్ చేస్తే, అందించిన ఇన్పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్లో అందుబాటులో ఉంటాయి. మొదట అందించిన ఇన్పుట్ పద్ధతి ముందుగానే ఎంచుకోబడుతుంది. సైన్-ఇన్ స్క్రీన్లో వినియోగదారు పాడ్ను కేంద్రీకరించినప్పుడు, ఈ విధానం ద్వారా అందించబడిన ఇన్పుట్ పద్ధతులకు అదనంగా వినియోగదారు అత్యంత ఇటీవల ఉపయోగించిన ఇన్పుట్ పద్ధతి అందుబాటులో ఉంటుంది. ఈ విధానాన్ని సెట్ చేయకుంటే, సైన్-ఇన్ స్క్రీన్లోని ఇన్పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్ ప్రదర్శించబడే లొకేల్ నుండి గ్రహించబడతాయి. చెల్లుబాటు కాని ఇన్పుట్ పద్ధతి ఐడెంటిఫైయర్ల విలువలు విస్మరించబడతాయి.</translation> + ఈ విధానాన్ని ఇన్పుట్ పద్ధతి ఐడెంటిఫైయర్ల జాబితాకు సెట్ చేస్తే, అందించిన ఇన్పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్లో అందుబాటులో ఉంటాయి. మొదట అందించిన ఇన్పుట్ పద్ధతి ముందుగానే ఎంచుకోబడుతుంది. సైన్-ఇన్ స్క్రీన్లో వినియోగదారు ప్రదర్శన చిత్రం కర్సర్ ఉంచినప్పుడు, ఈ విధానం ద్వారా అందించబడిన ఇన్పుట్ పద్ధతులకు అదనంగా వినియోగదారు అత్యంత ఇటీవల ఉపయోగించిన ఇన్పుట్ పద్ధతి అందుబాటులో ఉంటుంది. ఈ విధానాన్ని సెట్ చేయకుంటే, సైన్-ఇన్ స్క్రీన్లోని ఇన్పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్ ప్రదర్శించబడే లొకేల్ నుండి గ్రహించబడతాయి. చెల్లుబాటు కాని ఇన్పుట్ పద్ధతి ఐడెంటిఫైయర్ల విలువలు విస్మరించబడతాయి.</translation> <translation id="3939893074578116847">పరికరం ఆఫ్లైన్లో ఉంటే గుర్తించేందుకు సర్వర్ను అనుమతించడానికి, ఆన్లైన్ స్థితిని పర్యవేక్షించడం కోసం నెట్వర్క్ ప్యాకెట్లను నిర్వహణ సర్వర్కు పంపుతుంది. @@ -1245,6 +1245,11 @@ నమూనా ఉదాహరణల కోసం https://www.chromium.org/developers/how-tos/chrome-frame-getting-started చూడండి.</translation> <translation id="467449052039111439">URLల యొక్క జాబితాని తెరువు</translation> <translation id="4680961954980851756">స్వీయపూర్తిని ప్రారంభించు</translation> +<translation id="4722399051042571387">తప్పుకి సెట్ చేస్తే, వినియోగదారులు బలహీనమైన మరియు సులభంగా ఊహించగల PINలను సెట్ చేయలేరు. + + బలహీనమైన PINలకు ఇవి కొన్ని ఉదాహరణలు: మొత్తంగా ఒకే అంకెను కలిగిన PINలు (1111), 1తో పెరిగే క్రమంలో అంకెలు గల PINలు (1234), 1తో తగ్గే క్రమంలో అంకెలు గల PINలు (4321) మరియు చాలా సాధారణంగా ఉపయోగించే PINలు. + + డిఫాల్ట్గా, PIN బలహీనంగా ఉన్నట్లు పరిగణించిన పక్షంలో వినియోగదారులు లోపాన్ని కాకుండా హెచ్చరికను పొందుతారు.</translation> <translation id="4723829699367336876">రిమోట్ ప్రాప్యత క్లయింట్ నుండి ఫైర్వాల్ ట్రావెర్సల్ను ప్రారంభించండి</translation> <translation id="4725528134735324213">Android బ్యాకప్ సేవను ప్రారంభించండి</translation> <translation id="4733471537137819387">ఏకీకరణ HTTP అధికార సంబంధించిన విధానాలు.</translation> @@ -1438,13 +1443,6 @@ ఈ విధానం విలువను సెట్ చేసినప్పుడు మరియు ఇది 0 కానప్పుడు నిర్దిష్ట వ్యవధి యొక్క నిష్క్రియాత్మకత సమయం గతించిన తర్వాత ప్రస్తుతం లాగిన్ అయి ఉన్న డెమో వినియోగదారు స్వయంచాలకంగా లాగ్అవుట్ అవుతారు. విధానం విలువ మిల్లీసెకన్లలో పేర్కొనాలి.</translation> -<translation id="5506213378070007377">Android యొక్క స్థితి గురించి సమాచారం తిరిగి సర్వర్కి - పంపబడింది. - - విధానాన్ని తప్పుకి సెట్ చేస్తే, స్థితి సమాచారం ఏదీ నివేదించబడదు. - విధానాన్ని ఒప్పుకి సెట్ చేసినా లేదా సెట్ చేయకపోయినా, స్థితి సమాచారం నివేదించబడదు. - - ఈ విధానం Android అనువర్తనాలను ప్రారంభించినప్పుడు మాత్రమే వర్తిస్తుంది.</translation> <translation id="5511702823008968136">బుక్మార్క్ బార్ని ప్రారంభించు</translation> <translation id="5512418063782665071">హోమ్ పేజీ URL</translation> <translation id="5523812257194833591">ఆలస్యం తర్వాత స్వీయ లాగిన్కు పబ్లిక్ సెషన్. @@ -1783,6 +1781,13 @@ మీరు ప్రాక్సీ సర్వర్ స్వయంచాలకంగా గుర్తించేలా ఎంచుకుంటే, స్క్రిప్ట్ URL "http://wpad/wpad.dat" Android అనువర్తనాలకు అందించబడుతుంది. ప్రాక్సీ స్వీయ-గుర్తింపు ప్రోటోకాల్లో ఇతర భాగం ఏదీ ఉపయోగించబడదు. మీరు .pac ప్రాక్సీ స్క్రిప్ట్ను ఉపయోగించేలా ఎంచుకుంటే, Android అనువర్తనాలకు స్క్రిప్ట్ URL అందించబడుతుంది.</translation> +<translation id="6435127182262044446">ఈ సెట్టింగ్ PIN యొక్క గరిష్ట అంకెల పరిమితిని నియంత్రిస్తుంది. + + ఈ సెట్టింగ్ను 0కు లేదా అంతకంటే తక్కువకు సెట్ చేస్తే, గరిష్ట అంకెల పరిమితి ఏదీ ఉండదు; వినియోగదారు వారికి కావలసినంత అంకెల పరిమితిలో PINను సెట్ చేసుకోగలరు. + + ఈ సెట్టింగ్ PinUnlockMinimumLength కంటే తక్కువగా ఉండి, 0 కంటే పెద్దది అయితే, గరిష్ట అంకెల పరిమితి కనిష్ట అంకెల పరిమితికి సమానంగా ఉంటుంది. + + ఈ సెట్టింగ్కు డిఫాల్ట్గా గరిష్ట అంకెల పరిమితి ఉండదు.</translation> <translation id="6467433935902485842">ప్లగిన్లను అమలు చేయడానికి అనుమతించని సైట్లను పేర్కొనే url నమూనాల జాబితాను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ విధానం సెట్ చేయకుండా వదిలేస్తే, సెట్ చేయబడితే 'DefaultPluginsSetting' నుండి సార్వత్రిక డిఫాల్ట్ విలువ లేదా వినియోగదారు యొక్క వ్యక్తిగత కాన్ఫిగరేషన్ను ఉపయోగిస్తుంది.</translation> <translation id="6473334971332473690"><ph name="PRODUCT_OS_NAME" /> పరికరాల్లో Smart Lock ఉపయోగించడానికి అనుమతిస్తుంది. @@ -2685,6 +2690,13 @@ విధానం ద్వారా నమోదు అయిన ప్రోటోకాల్ హ్యాండ్లర్లు వినియోగదారు నమోదు చేసిన హ్యాండ్లర్లతో విలీనమవుతాయి మరియు రెండూ వినియోగించడానికి అందుబాటులో ఉంటాయి. వినియోగదారు కొత్త డిఫాల్ట్ హ్యాండ్లర్ను ఇన్స్టాల్ చేసి విధానం ద్వారా ఇన్స్టాల్ చేయబడిన ప్రోటోకాల్ హ్యాండ్లర్లను భర్తీ చేయవచ్చు, కానీ విధానం నమోదు చేసిన ప్రోటోకాల్ హ్యాండ్లర్ను తీసివేయలేరు.</translation> <translation id="913195841488580904">URL ల జాబితాకు ప్రాప్తిని నిరోధించండి.</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> ప్రాక్సీ ప్రారంభించు</translation> +<translation id="9136253551939494882">ఆమోదిత జాబితా వినియోగదారు లాక్ స్క్రీన్ని అన్లాక్ చేసేందుకు కాన్ఫిగర్ చేయగల మరియు ఉపయోగించగల శీఘ్ర అన్లాక్ మోడ్లను నియంత్రిస్తుంది. + + ఈ విలువ అనేది వాక్యాల జాబితా; చెల్లుబాటు అయ్యే జాబితా నమోదులు ఇక్కడ అందించబడ్డాయి: "అన్నీ" మరియు "PIN". జాబితాకు "అన్నీ" ఎంపికను జోడించడం వలన భవిష్యత్తులో అమలు చేయబడే వాటితో సహా ప్రతి శీఘ్ర అన్లాక్ మోడ్ వినియోగదారుకి అందుబాటులో ఉంటుంది. లేదంటే, జాబితాలో ఉన్న శీఘ్ర అన్లాక్ మోడ్లు మాత్రమే అందుబాటులో ఉంటాయి. + + ఉదాహరణకు, ప్రతి శీఘ్ర అన్లాక్ మోడ్ని అనుమతించడానికి ["అన్నీ"] ఉపయోగించండి. PIN అన్లాక్ను మాత్రమే అనుమతించడానికి, ["PIN"] ఉపయోగించండి. అన్ని శీఘ్ర అన్లాక్ మోడ్లను నిలిపివేయడానికి, [] ఉపయోగించండి. + + డిఫాల్ట్గా, నిర్వహించబడే పరికరాలకు శీఘ్ర అన్లాక్ మోడ్లు ఏవీ అందుబాటులో ఉండవు.</translation> <translation id="9147029539363974059">సిస్టమ్ లాగ్లను పర్యవేక్షించేందుకు నిర్వాహకులను అనుమతించడానికి సిస్టమ్ లాగ్లను నిర్వహణ సర్వర్కు పంపుతుంది. @@ -2693,6 +2705,11 @@ <translation id="9150416707757015439">ఈ విధానం విలువ తగ్గింది. దయచేసి, దీనికి బదులుగా IncognitoModeAvailabilityను ఉపయోగించండి. <ph name="PRODUCT_NAME" />లో అజ్ఞాత మోడ్ను ప్రారంభిస్తుంది. ఈ సెట్టింగ్ ప్రారంభించబడినా లేదా కాన్ఫిగర్ చేయబడకపోయినా, వినియోగదారులు వెబ్ పేజీలను అజ్ఞాత మోడ్లో తెరవగలరు. ఈ సెట్టింగ్ ఆపివేయబడితే, వినియోగదారులు వెబ్ పేజీలను అజ్ఞాత మోడ్లో తెరువలేరు. ఈ విధానాన్ని సెట్ చేయకుండా వదిలిపెడితే, ఇది ప్రారంభించబడుతుంది మరియు వినియోగదారు అజ్ఞాత మోడ్ను ఉపయోగించగలుగుతారు.</translation> <translation id="915194831143859291">ఈ విధానాన్ని తప్పుకు సెట్ చేస్తే లేదా కాన్ఫిగర్ చేయకుంటే, పరికరాన్ని షట్ డౌన్ చేయడానికి <ph name="PRODUCT_OS_NAME" /> వినియోగదారును అనుమతిస్తుంది. ఈ విధానాన్ని ఒప్పుకు సెట్ చేస్తే, వినియోగదారు పరికరాన్ని షట్ డౌన్ చేసినప్పుడు <ph name="PRODUCT_OS_NAME" /> రీబూట్ను ట్రిగ్గర్ చేస్తుంది. <ph name="PRODUCT_OS_NAME" /> UIలో అన్ని సందర్భాల్లో కనిపించే షట్డౌన్ బటన్లను రీబూట్ బటన్లతో భర్తీ చేస్తుంది. వినియోగదారు పవర్ బటన్ను ఉపయోగించి పరికరాన్ని షట్ డౌన్ చేస్తే, విధానం ప్రారంభించబడి ఉన్నప్పటికీ స్వయంచాలకంగా రీబూట్ కాదు.</translation> +<translation id="917887642534332939">ఈ సెట్టింగ్ PIN యొక్క కనిష్ట అంకెల పరిమితిని నియంత్రిస్తుంది. + + PIN యొక్క ఖచ్చితమైన కనిష్ట అంకెల పరిమితి 1; 1 కంటే తక్కువ విలువలు 1గా పరిగణించబడతాయి. + + డిఫాల్ట్ మరియు సిఫార్సు చేయబడిన PIN అంకెల పరిమితి 6 అంకెలు.</translation> <translation id="9187743794267626640">బాహ్య నిల్వను మౌంట్ చేయడాన్ని నిలిపివేస్తుంది</translation> <translation id="9197740283131855199">కాంతివిహీనత తర్వాత వినియోగదారు సక్రియంగా మారితే స్క్రీన్ కాంతివిహీనత ఆలస్యాన్ని లెక్కించే శాతం</translation> <translation id="9200828125069750521">POSTని ఉపయోగించే చిత్రం URL కోసం పరామితులు</translation>
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb index 09a7d3a..7b36f2d 100644 --- a/components/policy/resources/policy_templates_th.xtb +++ b/components/policy/resources/policy_templates_th.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">ไม่อนุญาตให้ไซต์ใดๆ ติดตามตำแหน่งทางกายภาพของผู้ใช้</translation> <translation id="1049138910114524876">กำหนดค่าภาษาที่จะบังคับใช้ในหน้าจอการลงชื่อเข้าใช้ของ <ph name="PRODUCT_OS_NAME" /> - หากมีการตั้งค่านโยบายนี้ หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ได้มาจากค่าแรกของนโยบายนี้ทุกครั้ง (นโยบายจะกำหนดเป็นรายการความเข้ากันได้ในอนาคต) หากไม่ได้ตั้งค่านโยบายนี้หรือตั้งค่าเป็นรายการที่ว่างเปล่า หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ผู้ใช้ใช้ในเซสชันล่าสุด หากตั้งค่านโยบายนี้เป็นค่าที่ไม่ใช่ภาษาที่ถูกต้อง หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาสำรอง (ปัจจุบันคือ en-US)</translation> + หากมีการตั้งค่านโยบายนี้ หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ได้มาจากค่าแรกของนโยบายนี้ทุกครั้ง (นโยบายได้รับการกำหนดค่าเป็นรายการเพื่อความเข้ากันได้ในอนาคต) หากไม่ได้ตั้งค่านโยบายนี้หรือตั้งค่าเป็นรายการที่ว่างเปล่า หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาที่ผู้ใช้ใช้ในเซสชันล่าสุด หากนโยบายนี้มีการตั้งค่าภาษาไม่ถูกต้อง หน้าจอการลงชื่อเข้าใช้จะแสดงเป็นภาษาสำรอง (ปัจจุบันคือ en-US)</translation> <translation id="1062011392452772310">เปิดใช้งานการยืนยันระยะไกลสำหรับอุปกรณ์</translation> <translation id="1090892140761957285">URL สำหรับตรวจสอบความถูกต้องของโทเค็นการตรวจสอบสิทธิ์ไคลเอ็นต์การเข้าถึงระยะไกล @@ -980,7 +980,7 @@ <translation id="3915395663995367577">URL ไปยังไฟล์ .pac ของพร็อกซี</translation> <translation id="3926940573869375969">กำหนดค่ารูปแบบแป้นพิมพ์ที่อนุญาตให้ใช้ในหน้าจอการลงชื่อเข้าใช้ของ <ph name="PRODUCT_OS_NAME" /> - หากตั้งค่านโยบายนี้เป็นรายการตัวระบุวิธีการป้อนข้อมูล วิธีการป้อนข้อมูลที่ระบุจะพร้อมใช้งานในหน้าจอการลงชื่อเข้าใช้ ระบบจะเลือกวิธีการป้อนข้อมูลแรกที่ระบุไว้ล่วงหน้า ขณะที่พ็อดผู้ใช้มุ่งเน้นที่หน้าจอการลงชื่อเข้าใช้ วิธีการป้อนข้อมูลที่ผู้ใช้ใช้ล่าสุดจะพร้อมใช้งานนอกเหนือจากวิธีการป้อนข้อมูลที่ได้จากนโยบายนี้ หากไม่ได้ตั้งค่านโยบายนี้ วิธีการป้อนข้อมูลในหน้าจอการลงชื่อเข้าใช้จะได้รับมาจากภาษาที่หน้าจอการลงชื่อเข้าใช้แสดง ระบบจะไม่สนใจค่าที่ไม่ใช่ตัวระบุวิธีการป้อนข้อมูลที่ถูกต้อง</translation> + หากตั้งค่านโยบายนี้เป็นรายการตัวระบุวิธีการป้อนข้อมูล วิธีการป้อนข้อมูลที่ระบุจะพร้อมใช้งานในหน้าจอการลงชื่อเข้าใช้ ระบบจะเลือกวิธีการป้อนข้อมูลแรกที่ระบุไว้ล่วงหน้า เมื่อมีการทำงานบนพ็อดผู้ใช้ในหน้าจอการลงชื่อเข้าใช้ วิธีการป้อนข้อมูลที่ผู้ใช้ใช้ล่าสุดจะพร้อมใช้งานนอกเหนือจากวิธีการป้อนข้อมูลที่ได้จากนโยบายนี้ หากไม่ได้ตั้งค่านโยบายนี้ วิธีการป้อนข้อมูลในหน้าจอการลงชื่อเข้าใช้จะได้รับมาจากภาษาที่หน้าจอการลงชื่อเข้าใช้แสดง ระบบจะไม่สนใจค่าที่ไม่ใช่ตัวระบุวิธีการป้อนข้อมูลที่ถูกต้อง</translation> <translation id="3939893074578116847">ส่งแพ็กเก็ตเครือข่ายไปยังเซิร์ฟเวอร์การจัดการเพื่อติดตามดูสถานะการออนไลน์ เพื่อให้เซิร์ฟเวอร์ตรวจสอบว่าอุปกรณ์กำลังออฟไลน์หรือไม่ หากตั้งค่านโยบายนี้ไว้ที่จริง ระบบจะส่งการติดตามดูแพ็กเก็ตเครือข่าย (ที่เรียกว่า <ph name="HEARTBEATS_TERM" /> ) หากตั้งค่าไว้ที่เท็จหรือไม่มีการตั้งค่า ระบบจะไม่มีส่งแพ็กเก็ต</translation> <translation id="3963602271515417124">หากค่าเป็น True ระบบจะอนุญาตการรับรองจากระยะไกลให้กับอุปกรณ์ และจะสร้างใบรับรองแล้วอัปโหลดไปยังเซิร์ฟเวอร์การจัดการอุปกรณ์โดยอัตโนมัติ @@ -1198,6 +1198,11 @@ สำหรับรูปแบบตัวอย่าง โปรดดูที่ https://www.chromium.org/developers/how-tos/chrome-frame-getting-started</translation> <translation id="467449052039111439">เปิดรายการ URL</translation> <translation id="4680961954980851756">เปิดใช้งานการป้อนอัตโนมัติ</translation> +<translation id="4722399051042571387">หากเป็น False ผู้ใช้จะไม่สามารถตั้งค่า PIN ที่หละหลวมและเดาได้ง่าย + + ตัวอย่าง PIN ที่หละหลวมได้แก่ PIN ที่มีตัวเลขเดียวกันทั้งหมด (1111), PIN ที่ตัวเลขเพิ่มขึ้นทีละ 1 (1234), PIN ที่ตัวเลขลดลงทีละ 1 (4321) และ PIN ที่ใช้กันทั่วไป + + โดยค่าเริ่มต้น ผู้ใช้จะได้รับคำเตือน ซึ่งไม่ใช่ข้อผิดพลาด ถ้าระบบมองว่า PIN นั้นหละหลวม</translation> <translation id="4723829699367336876">เปิดใช้งานไฟร์วอลล์ Traversal จากไคลเอ็นต์ที่เข้าถึงจากระยะไกล</translation> <translation id="4725528134735324213">เปิดใช้ Android Backup Service</translation> <translation id="4733471537137819387">นโยบายที่เกี่ยวข้องกับการตรวจสอบสิทธิ์ HTTP ในตัว</translation> @@ -1387,12 +1392,6 @@ เมื่อค่าในนโยบายนี้มีการตั้งค่าและไม่เท่ากับ 0 ผู้ใช้การสาธิตที่เข้าสู่ระบบอยู่ในปัจจุบันจะออกจากระบบโดยอัตโนมัติหลังจากระยะเวลาที่ไม่ได้ทำกิจกรรมเลยช่วงเวลาที่ได้ระบุไว้ ค่าในนโยบายควรระบุด้วยหน่วยมิลลิวินาที</translation> -<translation id="5506213378070007377">ส่งข้อมูลเกี่ยวกับสถานะของ Android กลับไปยังเซิร์ฟเวอร์ - - หากตั้งค่านโยบายเป็น False ระบบจะไม่รายงานข้อมูลสถานะ - หากตั้งค่าเป็น True หรือไม่ได้ตั้งค่า ระบบจะรายงานข้อมูลสถานะ - - นโยบายนี้มีผลเมื่อเปิดใช้แอป Android ไว้เท่านั้น</translation> <translation id="5511702823008968136">เปิดใช้งานแถบบุ๊กมาร์ก</translation> <translation id="5512418063782665071">URL ของหน้าแรก</translation> <translation id="5523812257194833591">เซสชันสาธารณะเพื่อการเข้าสู่ระบบอัตโนมัติหลังจากความล่าช้า @@ -1729,6 +1728,13 @@ หากคุณเลือกตรวจหาพร็อกซีเซิร์ฟเวอร์อัตโนมัติ แอป Android จะได้รับ URL สคริปต์ "http://wpad/wpad.dat" โดยจะไม่มีการใช้โปรโตคอลการตรวจหาพร็อกซีโดยอัตโนมัติอื่นๆ หากคุณเลือกที่จะใช้สคริปต์พร็อกซี .pac แอป Android จะได้รับ URL สคริปต์ดังกล่าว</translation> +<translation id="6435127182262044446">การตั้งค่านี้ควบคุมความยาวสูงสุดของ PIN + + หากค่านี้เป็น 0 หรือน้อยกว่า แสดงว่าไม่มีการกำหนดความยาวสูงสุดและผู้ใช้สามารถตั้งค่า PIN ได้ยาวเท่าที่ต้องการ + + หากค่านี้น้อยกว่า PinUnlockMinimumLength แต่มากกว่า 0 ความยาวสูงสุดจะเท่ากับความยาวขั้นต่ำ + + การตั้งค่านี้มีค่าเริ่มต้นเป็น "ไม่มีความยาวสูงสุด"</translation> <translation id="6467433935902485842">ช่วยให้คุณกำหนดรายการของรูปแบบ URL ที่ระบุไซต์ที่ไม่ได้รับอนุญาตให้เรียกใช้ปลั๊กอิน หากนโยบายนี้ไม่มีการตั้งค่าไว้ จะใช้ค่าเริ่มต้นทั่วไปสำหรับไซต์ทั้งหมด ทั้งจากนโยบาย "DefaultPluginsSetting" หากมีการตั้งค่าไว้ หรือจากการกำหนดค่าส่วนบุคคลของผู้ใช้</translation> <translation id="6473334971332473690">อนุญาตให้ใช้ Smart Lock บนอุปกรณ์ <ph name="PRODUCT_OS_NAME" /> @@ -2629,6 +2635,13 @@ เครื่องจัดการโปรโตคอลที่นโยบายลงทะเบียนจะรวมเข้ากับเครื่องจัดการที่ผู้ใช้ลงทะเบียน และจะพร้อมใช้งานทั้งสองแบบ ผู้ใช้สามารถแทนที่เครื่องจัดการโปรโตคอลที่นโยบายติดตั้ง โดยการติดตั้งเครื่องจัดการเริ่มต้นใหม่ แต่จะไม่สามารถนำเครื่องจัดการโปรโตคอลที่นโยบายลงทะเบียนออกได้</translation> <translation id="913195841488580904">บล็อกการเข้าถึงรายการ URL</translation> <translation id="9135033364005346124">เปิดใช้งานพร็อกซี <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">รายการที่อนุญาตพิเศษที่ควบคุมว่าผู้ใช้สามารถกำหนดค่าและใช้โหมดปลดล็อกด่วนโหมดใดได้บ้างเพื่อปลดล็อกหน้าจอล็อก + + ค่านี้เป็นรายการสตริง ซึ่งสตริงที่ใช้ได้ได้แก่ "all" และ "PIN" การเพิ่ม "all" ลงในรายการหมายถึง โหมดปลดล็อกด่วนทุกโหมดจะใช้งานได้สำหรับผู้ใช้คนนั้นๆ ซึ่งรวมถึงโหมดที่จะสร้างขึ้นในอนาคต มิเช่นนั้น จะสามารถใช้ได้เฉพาะโหมดปลดล็อกด่วนที่แสดงในรายการ + + เช่น หากต้องการอนุญาตให้ใช้โหมดปลดล็อกด่วนทุกโหมด ให้ใช้ ["all"] หากต้องการอนุญาตเฉพาะการปลดล็อกด้วย PIN เท่านั้น ให้ใช้ ["PIN"] หากต้องการปิดใช้โหมดปลดล็อกด่วนทุกโหมด ให้ใช้ [] + + โดยค่าเริ่มต้น โหมดปลดล็อกด่วนใช้ไม่ได้กับอุปกรณ์ที่มีการจัดการ</translation> <translation id="9147029539363974059">ส่งบันทึกของระบบไปยังเซิร์ฟเวอร์การจัดการเพื่ออนุญาต ให้ผู้ดูแลระบบตรวจสอบบันทึกของระบบ @@ -2638,6 +2651,11 @@ <translation id="915194831143859291">หากนโยบายตั้งค่าเป็น False หรือไม่ได้กำหนดค่า <ph name="PRODUCT_OS_NAME" /> จะอนุญาตให้ผู้ใช้ปิดอุปกรณ์ หากนโยบายตั้งค่าเป็น True <ph name="PRODUCT_OS_NAME" /> จะทริกเกอร์การเริ่มอุปกรณ์ใหม่เมื่อผู้ใช้ปิดอุปกรณ์ <ph name="PRODUCT_OS_NAME" /> จะแทนรายการปุ่มปิดทั้งหมดใน UI ด้วยปุ่มเริ่มต้นใหม่ หากผู้ใช้ปิดอุปกรณ์ด้วยปุ่มเปิดปิด เครื่องจะไม่เริ่มต้นใหม่โดยอัตโนมัติ แม้ว่าจะเปิดใช้นโยบายก็ตาม</translation> +<translation id="917887642534332939">การตั้งค่านี้ควบคุมความยาวขั้นต่ำของ PIN + + ความยาวขั้นต่ำที่เป็นค่าสัมบูรณ์ของ PIN คือ 1 โดยค่าที่น้อยกว่า 1 จะถือว่าเป็น 1 + + ความยาวขั้นต่ำของ PIN ที่แนะนำและเป็นค่าเริ่มต้นคือเลข 6 หลัก</translation> <translation id="9187743794267626640">ปิดใช้งานการต่อเชื่อมที่จัดเก็บข้อมูลภายนอก</translation> <translation id="9197740283131855199">เปอร์เซ็นต์ของระดับการปรับการหน่วงเวลาการสลัวหน้าจอ หากผู้ใช้มีการใช้งานหลังจากการสลัวหน้าจอ</translation> <translation id="9200828125069750521">พารามิเตอร์สำหรับ URL รูปภาพที่ใช้ POST</translation>
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb index 8a9433c9..37386ec8 100644 --- a/components/policy/resources/policy_templates_tr.xtb +++ b/components/policy/resources/policy_templates_tr.xtb
@@ -29,7 +29,7 @@ <translation id="1047128214168693844">Hiçbir sitenin, kullanıcının fiziksel konumunu izlemesine izin verme</translation> <translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> oturum açma ekranında uygulanan yerel ayarı yapılandırır. - Bu politika ayarlanırsa, oturum açma ekranı her zaman bu politikanın ilk değerinde belirtilen yerel ayarda görüntülenir (politika, ileriye dönük uyumluluk için bir liste olarak tanımlanmaktadır). Bu politika ayarlanmazsa veya boş bir liste sağlanırsa oturum açma ekranı, kullanıcının son oturumundaki yerel ayarda görüntülenir. Bu politika için belirtilen yere ayar geçerli değilse oturum açma ekranı yedek yerel ayarda (şu anda en-US) görüntülenir.</translation> + Bu politika ayarlanırsa, oturum açma ekranı her zaman bu politikanın ilk değerinde belirtilen yerel ayarda görüntülenir (politika, ileriye dönük uyumluluk için bir liste olarak tanımlanmaktadır). Bu politika ayarlanmazsa veya boş bir liste sağlanırsa oturum açma ekranı, kullanıcının son oturumundaki yerel ayarda görüntülenir. Bu politika için belirtilen yerel ayar geçerli değilse oturum açma ekranı yedek yerel ayarda (şu anda en-US) görüntülenir.</translation> <translation id="1062011392452772310">Cihaz için uzaktan doğrulamayı etkinleştir</translation> <translation id="1090892140761957285">Uzaktan erişim istemcisi kimlik doğrulama jetonunu doğrulama URL'si. @@ -1044,7 +1044,7 @@ <translation id="3915395663995367577">Proxy .pac dosyası için URL</translation> <translation id="3926940573869375969"><ph name="PRODUCT_OS_NAME" /> oturum açma ekranında hangi klavye düzenlerine izin verileceğini yapılandırır. - Bu politika bir giriş yöntemi tanımlayıcıları listesine ayarlanırsa belirtilen giriş yöntemleri oturum açma ekranında kullanılabilir. Belirtilen ilk giriş yöntemi önceden seçilir. Oturum açma ekranında bir kullanıcı bölmesine odaklanılmışken, kullanıcının kullandığı en eski yöntem de bu politikada belirtilen giriş yöntemlerine ek olarak gösterilir. Bu politika ayarlanmazsa oturum açma ekranındaki giriş yöntemleri, oturum açma ekranının görüntülendiği yerel ayardan türetilir. Geçerli giriş yöntemi tanımlayıcıları olmayan değerler yok sayılır.</translation> + Bu politika bir giriş yöntemi tanımlayıcıları listesine ayarlanırsa belirtilen giriş yöntemleri oturum açma ekranında kullanılabilir. Belirtilen ilk giriş yöntemi önceden seçilir. Oturum açma ekranında bir kullanıcı simgesine odaklanılmışken, kullanıcının kullandığı en eski yöntem de bu politikada belirtilen giriş yöntemlerine ek olarak gösterilir. Bu politika ayarlanmazsa oturum açma ekranındaki giriş yöntemleri, oturum açma ekranının görüntülendiği yerel ayardan türetilir. Geçerli giriş yöntemi tanımlayıcıları olmayan değerler yok sayılır.</translation> <translation id="3939893074578116847">Çevrimiçi durumu izlemek, yönetim sunucusunun cihazın çevrimdışı olup olmadığını belirlemesini sağlamak için ağ paketlerini yönetim sunucusuna gönderin. @@ -1290,6 +1290,11 @@ Örnek kalıplar için https://www.chromium.org/developers/how-tos/chrome-frame-getting-started adresine bakın.</translation> <translation id="467449052039111439">URL listesi aç</translation> <translation id="4680961954980851756">Otomatik Doldurmayı etkinleştir</translation> +<translation id="4722399051042571387">False (yanlış) değerinde, kullanıcılar zayıf ve kolayca tahmin edilebilecek PIN'ler ayarlayamaz. + + Zayıf PIN'lere ilişkin bazı örnekler: Yalnızca bir rakam içeren PIN'ler (1111), değerleri 1 artan rakamlardan oluşan PIN'ler (1234), değerleri 1 azalan rakamlardan oluşan PIN'ler (4321) ve yaygın şekilde kullanılan PIN'ler. + + Varsayılan olarak, PIN'in zayıf olduğu düşünülürse kullanıcılar hata değil, bir uyarı alırlar.</translation> <translation id="4723829699367336876">Uzaktan erişim istemcisinden güvenlik duvarı geçişini etkinleştir</translation> <translation id="4725528134735324213">Android Backup Service'ı etkinleştir</translation> <translation id="4733471537137819387">Entegre HTTP kimlik doğrulaması ile ilgili politikalar.</translation> @@ -1503,12 +1508,6 @@ Bu politika için 0 dışında bir değer ayarlandığında, belirtilen sürede herhangi bir etkinlik gerçekleştirilmezse giriş yapmış olan tanıtım kullanıcısının oturumu otomatik olarak kapanır. Politika değeri milisaniye cinsinden belirtilmelidir.</translation> -<translation id="5506213378070007377">Android'in durumuyla ilgili bilgiler sunucuya geri gönderilir. - - Politika yanlış (false) değerine ayarlanırsa durum bilgisi bildirilmez. - Doğru (true) değerine ayarlanır veya ayarlamadan bırakılırsa durum bilgisi bildirilir. - - Bu politika, yalnızca Android uygulamalarının etkin olması durumunda geçerlidir.</translation> <translation id="5511702823008968136">Yer İşareti Çubuğunu etkinleştir</translation> <translation id="5512418063782665071">Ana sayfa URL'si</translation> <translation id="5523812257194833591">Gecikme sonrasında otomatik olarak giriş yapılacak herkese açık oturum. @@ -1868,6 +1867,13 @@ Proxy sunucuyu otomatik olarak algılamayı seçerseniz Android uygulamaları, komut dosyası URL'si "http://wpad/wpad.dat" bilgisini alır. Otomatik proxy algılama protokolünün başka hiçbir bölümü kullanılmaz. Bir .pac proxy komut dosyası kullanmayı seçerseniz Android uygulamalarına komut dosyası URL'si iletilir.</translation> +<translation id="6435127182262044446">Bu ayar maksimum PIN uzunluğunu kontrol eder. + + Bu ayar 0 veya daha küçükse maksimum uzunluk olmaz; kullanıcı istediği uzunlukta bir PIN ayarlayabilir. + + Bu ayar PinUnlockMinimumLength değerinden daha küçük ancak 0'dan büyükse maksimum uzunluk minimum uzunlukla aynı olur. + + Bu ayarın varsayılan değeri maksimum uzunluk olmamasıdır.</translation> <translation id="6467433935902485842">Eklentileri çalıştırmalarına izin verilmeyen sitelerin belirtildiği bir URL kalıpları listesi ayarlamanıza olanak tanır. Bu politika ayarlanmadan bırakılırsa, 'DefaultPluginsSetting' politikası ayarlandıysa buradaki değer, aksi takdirde kullanıcının kişisel yapılandırması genel varsayılan değer olarak kullanılır.</translation> @@ -2812,6 +2818,13 @@ Politika tarafından kaydedilen protokol işleyicileri, kullanıcı tarafından kaydedilenlerle birleştirilir ve her ikisi de kullanılabilir. Kullanıcı, yeni bir varsayılan işleyici yükleyerek politika tarafından yüklenen politika işleyicilerini geçersiz kılabilir, ancak politika tarafından kaydedilen bir protokol işleyicisini kaldıramaz.</translation> <translation id="913195841488580904">URL listesine erişimi engelle</translation> <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> proxy'sini etkinleştir</translation> +<translation id="9136253551939494882">Kullanıcının yapılandırabileceği ve kilit ekranının kilidini açmak için kullanabileceği hızlı kilit açma modlarını kontrol eden beyaz liste. + + Bu değer, bir dize listesidir; geçerli liste girişleri şöyledir: "all", "PIN". Listeye "all" (tümü) girişinin eklenmesi, kullanıcının ileride uygulanacak olanlar da dahil olmak üzere her hızlı kilit açma modunu kullanabileceği anlamına gelir. Aksi takdirde, yalnızca listedeki mevcut hızlı kilit açma modları kullanılabilir. + + Örneğin, hızlı kilit açma modlarının hepsine izin vermek için ["all"] (tümü) girişini kullanın. Yalnızca PIN kilit açma yöntemine izin vermek için ["PIN"] girişini kullanın. Tüm hızlı kilit açma modlarını devre dışı bırakmak için [] girişini kullanın. + + Varsayılan olarak, yönetilen cihazlarda hiçbir hızlı kilit açma moduna izin verilmez.</translation> <translation id="9147029539363974059">Yöneticilerin sistem günlüklerini izlemesine olanak vermek için sistem günlüklerini yönetim sunucusuna gönderin. @@ -2828,6 +2841,11 @@ Bu politika ayarlanmadan bırakılırsa, bu özellik etkinleştirilir ve kullanıcı gizli modu kullanabilir.</translation> <translation id="915194831143859291">Bu politika yanlış seçeneğine ayarlanırsa veya hiç yapılandırılmazsa <ph name="PRODUCT_OS_NAME" />, kullanıcının cihazı kapatmasına izin verir. Bu politika doğru seçeneğine ayarlanırsa, kullanıcı cihazı kapattığında <ph name="PRODUCT_OS_NAME" />, yeniden başlatma işlemi tetikler. <ph name="PRODUCT_OS_NAME" />, kullanıcı arayüzündeki tüm kapatma düğmelerini yeniden başlatma düğmeleriyle değiştirir. Kullanıcı güç düğmesini kullanarak cihazı kapatırsa, politika etkinleştirilmiş olsa dahi cihaz otomatik olarak yeniden başlatılmaz.</translation> +<translation id="917887642534332939">Bu ayar, minimum PIN uzunluğunu kontrol eder. + + Mutlak minimum PIN uzunluğu 1'dir; 1'den küçük değerler 1 olarak işlenir. + + Varsayılan ve önerilen minimum PIN uzunluğu 6 basamaklıdır.</translation> <translation id="9187743794267626640">Harici depolama birimi eklemeyi devre dışı bırak</translation> <translation id="9197740283131855199">Kullanıcı, ekran kararmasından sonra etkin duruma gelirse ekranın kararma gecikmesinin ölçekleneceği yüzde</translation> <translation id="9200828125069750521">POST kullanan resim URL'si için parametreler</translation>
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb index 97a7886..f3ac8e3 100644 --- a/components/policy/resources/policy_templates_uk.xtb +++ b/components/policy/resources/policy_templates_uk.xtb
@@ -1230,6 +1230,11 @@ Приклади шаблонів можна переглянути на сторінці https://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Відкривати список URL-адрес</translation> <translation id="4680961954980851756">Увімкнути автозаповнення</translation> +<translation id="4722399051042571387">Якщо для цього параметра вибрано значення false, користувачі не зможуть створювати ненадійні PIN-коди, які легко вгадати. + + До ненадійних належать PIN-коди, у яких повторюється та сама цифра (1111), цифри послідовно збільшуються чи зменшуються на 1 (1234 або 4321) і поширені PIN-коди. + + Якщо PIN-код вважається ненадійним, за умовчанням користувач побачить застереження (не помилку).</translation> <translation id="4723829699367336876">Увімкнення обходу брандмауера з клієнта віддаленого доступу</translation> <translation id="4725528134735324213">Увімкнути Android Backup Service</translation> <translation id="4733471537137819387">Правила, пов’язані з вбудованою автентифікацією HTTP.</translation> @@ -1419,13 +1424,6 @@ Якщо для цього правила встановлено значення, яке не дорівнює 0, користувач, який увійшов у демонстраційній версії, автоматично вийде після закінчення вказаного періоду бездіяльності. Значення правила вказується в мілісекундах.</translation> -<translation id="5506213378070007377">Інформація про статус пристрою Android надсилається на - сервер. - - Якщо для правила встановлено значення "false", інформація не надсилатиметься. - Якщо правило не налаштовано або має значення "true", інформація надсилатиметься. - - Правило застосовується, лише якщо ввімкнено додатки Android.</translation> <translation id="5511702823008968136">Увімкнути панель закладок</translation> <translation id="5512418063782665071">URL-адреса домашньої сторінки</translation> <translation id="5523812257194833591">Автоматичний вхід у загальнодоступний сеанс після затримки. @@ -1767,6 +1765,13 @@ Якщо проксі-сервер визначатиметься автоматично, додатки Android матимуть доступ до URL-адреси сценарію "http://wpad/wpad.dat". Інші частини протоколу для автоматичного визначення проксі-сервера не використовуватимуться. Якщо використовувати сценарій проксі-сервера .pac, додатки Android матимуть доступ до URL-адреси сценарію.</translation> +<translation id="6435127182262044446">Цей параметр керує максимальною довжиною PIN-коду. + + Якщо для цього параметра вибрано значення "0" або менше, довжина не обмежується. Можна створити PIN-код будь-якої довжини. + + Якщо для цього параметра вибрано значення менше ніж PinUnlockMinimumLength, але більше ніж "0", максимальна довжина буде такою самою, як мінімальна. + + За умовчанням цей параметр не обмежує довжину.</translation> <translation id="6467433935902485842">Дозволяє налаштовувати список шаблонів URL-адрес, що визначають сайти, яким заборонено запускати плагіни. Якщо це правило не встановлено, для всіх сайтів використовується загальне значення за умовчанням – з правила "DefaultPluginsSetting" (якщо його встановлено) або з особистих налаштувань користувача.</translation> <translation id="6473334971332473690">Дає змогу використовувати Smart Lock на пристроях <ph name="PRODUCT_OS_NAME" />. @@ -2667,6 +2672,13 @@ Обробники протоколів, зареєстровані правилом, об’єднуються з обробниками протоколів, які зареєстрував користувач. Можна використовувати обидва. Користувач може замінити обробники протоколів, установлені правилом, установивши новий обробник за умовчанням, але не може видалити обробник протоколів, зареєстрований правилом.</translation> <translation id="913195841488580904">Блокування доступу до списку URL-адрес</translation> <translation id="9135033364005346124">Увімкнути проксі-сервер <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Білий список, що визначає, які режими швидкого розблокування екрана може налаштувати користувач. + + Це значення – список. Дійсними пунктами списку є all і PIN. Якщо додати в список значення all, будуть доступні всі режими швидкого розблокування, зокрема додані в майбутньому. В іншому випадку будуть доступні лише режими швидкого розблокування зі списку. + + Наприклад, щоб дозволити всі режими швидкого розблокування, додайте значення [all]. Щоб дозволити лише розблокування за допомогою PIN-коду, додайте значення [PIN]. Щоб вимкнути всі режими швидкого розблокування, не додавайте нічого []. + + На керованих пристроях режими швидкого розблокування недоступні за умовчанням.</translation> <translation id="9147029539363974059">Надсилати системні журнали на сервер керування, щоб дозволяти адміністраторам переглядати їх. @@ -2675,6 +2687,11 @@ <translation id="9150416707757015439">Це правило більше не використовується. Натомість використовуйте правило IncognitoModeAvailability. Вмикає режим анонімного перегляду в <ph name="PRODUCT_NAME" />. Якщо це налаштування ввімкнено чи не встановлено, користувачі можуть відкривати веб-сторінки в режимі анонімного перегляду. Якщо це налаштування вимкнено, користувачі не можуть відкривати веб-сторінки в режимі анонімного перегляду. Якщо це правило не встановлено, налаштування вмикається, і користувач може використовувати режим анонімного перегляду.</translation> <translation id="915194831143859291">Якщо це правило не налаштовано або має значення "false", <ph name="PRODUCT_OS_NAME" /> дозволятиме користувачу вимикати пристрій. Якщо вибрано значення "true", <ph name="PRODUCT_OS_NAME" /> перезапускатиме пристрій, коли користувач намагатиметься його вимкнути. <ph name="PRODUCT_OS_NAME" /> замінює всі кнопки вимкнення в інтерфейсі на кнопки перезавантаження. Якщо користувач вимкне пристрій за допомогою кнопки живлення, пристрій не перезавантажиться, навіть якщо правило ввімкнено.</translation> +<translation id="917887642534332939">Цей параметр керує мінімальною довжиною PIN-коду. + + Абсолютна мінімальна довжина PIN-коду – 1 цифра. Значення, менші ніж "1", сприймаються як "1". + + Стандартна та рекомендована мінімальна довжина PIN-коду – 6 цифр.</translation> <translation id="9187743794267626640">Вимикати підключення зовнішньої пам’яті</translation> <translation id="9197740283131855199">Відсоток, за яким масштабують затримку затемнення екрана, якщо користувач стає активним після затемнення</translation> <translation id="9200828125069750521">Параметри URL-адреси зображення, яка використовує метод POST</translation>
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb index 885e4545..0987fe6 100644 --- a/components/policy/resources/policy_templates_vi.xtb +++ b/components/policy/resources/policy_templates_vi.xtb
@@ -1289,6 +1289,11 @@ Để biết các mẫu ví dụ, hãy xem http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.</translation> <translation id="467449052039111439">Mở một danh sách URL</translation> <translation id="4680961954980851756">Bật Tự động điền</translation> +<translation id="4722399051042571387">Nếu đặt thành false, người dùng sẽ không thể đặt các mã PIN yếu và dễ đoán. + + Một số ví dụ về mã PIN yếu: mã PIN chỉ gồm những chữ số giống nhau (1111), mã PIN có các chữ số tăng 1 đơn vị (1234), mã PIN có các chữ số giảm 1 đơn vị (4321) và các mã PIN phổ dụng. + + Theo mặc định, người dùng sẽ nhận được cảnh báo chứ không phải lỗi, nếu mã PIN được coi là yếu.</translation> <translation id="4723829699367336876">Bật tính năng chặn tường lửa từ máy khách truy cập từ xa</translation> <translation id="4725528134735324213">Bật Android Backup Service</translation> <translation id="4733471537137819387">Các chính sách liên quan đến xác thực HTTP tích hợp.</translation> @@ -1503,13 +1508,6 @@ Khi giá trị của chính sách này được đặt và giá trị đó khác 0, người dùng hiện được đăng nhập vào bản trình diễn sẽ tự động bị đăng xuất sau khi thời gian không hoạt động của khoảng thời gian đã chỉ định trôi qua. Giá trị của chính sách này sẽ được chỉ định theo mili giây.</translation> -<translation id="5506213378070007377">Thông tin về trạng thái của Android được gửi lại cho - máy chủ. - - Nếu chính sách này được đặt thành false thì không có thông tin trạng thái nào được báo cáo. - Nếu được đặt thành true hoặc không được đặt, thông tin trạng thái sẽ được báo cáo. - - Chính sách này chỉ áp dụng nếu các ứng dụng Android được bật.</translation> <translation id="5511702823008968136">Bật Thanh dấu trang</translation> <translation id="5512418063782665071">URL trang chủ</translation> <translation id="5523812257194833591">Tự động đăng nhập vào phiên công khai sau thời gian chờ. @@ -1863,6 +1861,13 @@ Nếu bạn chọn tự động phát hiện máy chủ proxy, URL tập lệnh "http://wpad/wpad.dat" được cung cấp cho ứng dụng Android. Không sử dụng phần khác của giao thức tự động phát hiện proxy. Nếu bạn chọn sử dụng tập lệnh proxy .pac, URL tập lệnh được cung cấp cho ứng dụng Android.</translation> +<translation id="6435127182262044446">Cài đặt này kiểm soát độ dài tối đa của mã PIN. + + Nếu cài đặt này là 0 trở xuống thì không có độ dài tối đa; người dùng có thể đặt mã PIN với độ dài tùy ý. + + Nếu cài đặt này nhỏ hơn PinUnlockMinimumLength nhưng lớn hơn 0 thì độ dài tối đa bằng độ dài tối thiểu. + + Cài đặt này có giá trị mặc định là không có độ dài tối đa.</translation> <translation id="6467433935902485842">Cho phép bạn thiết lập danh sách các mẫu url chỉ định những trang web được phép chạy plugin. Nếu không thiết lập chính sách này, giá trị mặc định chung từ chính sách 'DefaultPluginsSetting' nếu chính sách này được thiết lập hoặc từ cấu hình cá nhân của người dùng sẽ được sử dụng cho tất cả các trang web.</translation> <translation id="6473334971332473690">Cho phép sử dụng Smart Lock trên các thiết bị <ph name="PRODUCT_OS_NAME" />. @@ -2797,6 +2802,13 @@ Trình xử lý giao thức do chính sách đăng ký được hợp nhất với trình xử lý do người dùng đăng ký và cả hai đều khả dụng. Người dùng có thể ghi đè trình xử lý giao thức do chính sách cài đặt bằng cách cài đặt trình xử lý mặc định mới nhưng không thể xóa trình xử lý giao thức do chính sách đăng ký.</translation> <translation id="913195841488580904">Chặn truy cập vào danh sách các URL</translation> <translation id="9135033364005346124">Bật proxy <ph name="CLOUD_PRINT_NAME" /></translation> +<translation id="9136253551939494882">Một danh sách cho phép kiểm soát việc người dùng có thể định cấu hình và sử dụng chế độ mở khóa nhanh nào để mở khóa màn hình khóa. + + Giá trị này là một danh sách các chuỗi; các mục nhập hợp lệ của danh sách là: "all", "PIN". Thêm "all" vào danh sách có nghĩa là mọi chế độ mở khóa nhanh đều khả dụng với người dùng, bao gồm cả những chế độ được triển khai trong tương lai. Nếu không thì chỉ những chế độ mở khóa nhanh xuất hiện trong danh sách mới khả dụng. + + Ví dụ: để cho phép mọi chế độ mở khóa nhanh, hãy sử dụng ["all"]. Để chỉ cho phép mở khóa bằng mã PIN, hãy sử dụng ["PIN"]. Để tắt tất cả chế độ mở khóa nhanh, hãy sử dụng []. + + Theo mặc định, không có chế độ mở khóa nhanh nào khả dụng cho thiết bị được quản lý.</translation> <translation id="9147029539363974059">Gửi nhật ký hệ thống đến máy chủ quản lý để cho phép quản trị viên theo dõi nhật ký hệ thống. @@ -2812,6 +2824,11 @@ Nếu không thiết lập chính sách này, chế độ này sẽ được bật và người dùng sẽ có thể sử dụng chế độ ẩn danh.</translation> <translation id="915194831143859291">Nếu chính sách này được đặt thành false hoặc không được định cấu hình, <ph name="PRODUCT_OS_NAME" /> sẽ cho phép người dùng tắt thiết bị. Nếu chính sách này được đặt thành true, <ph name="PRODUCT_OS_NAME" /> sẽ kích hoạt khởi động lại khi người dùng tắt thiết bị. <ph name="PRODUCT_OS_NAME" /> sẽ thay thế tất cả số lần xuất hiện nút tắt trong Giao diện người dùng bằng nút khởi động lại. Nếu người dùng tắt thiết bị bằng nút nguồn thì thiết bị đó sẽ không tự động khởi động lại ngay cả khi đã bật chính sách.</translation> +<translation id="917887642534332939">Cài đặt này kiểm soát độ dài tối thiểu của mã PIN. + + Độ dài tối thiểu tuyệt đối của mã PIN là 1; các giá trị thấp hơn 1 được coi là 1. + + Độ dài mã PIN tối thiểu mặc định và được đề xuất là 6 chữ số.</translation> <translation id="9187743794267626640">Vô hiệu hóa việc lắp bộ nhớ ngoài</translation> <translation id="9197740283131855199">Tỷ lệ phần trăm xác định độ trễ mờ màn hình nếu người dùng hoạt động sau khi màn hình bị làm mờ</translation> <translation id="9200828125069750521">Tham số cho URL hình ảnh sử dụng POST</translation>
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb index 428825e..837901e 100644 --- a/components/policy/resources/policy_templates_zh-CN.xtb +++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -28,7 +28,7 @@ <translation id="1047128214168693844">不允许任何网站跟踪用户的地理位置</translation> <translation id="1049138910114524876">配置强制在 <ph name="PRODUCT_OS_NAME" />登录屏幕上使用的语言区域。 - 如果此政策已设置,登录屏幕将会始终以此政策的第一个值指定的语言区域显示(为便于向前兼容,此政策会以列表的形式进行指定)。如果此政策未设置或被设为空列表,登录屏幕则会以最后一次用户会话所采用的语言区域显示。如果此政策被设为无效的语言区域值,登录屏幕便会以相应的后备语言区域显示(当前的后备语言区域是“en-US”)。</translation> + 如果此政策已设置,登录屏幕将会始终以此政策的第一个值指定的语言区域显示(为便于向前兼容,此政策会以列表的形式进行指定)。如果此政策未设置或设为空列表,登录屏幕则会以最后一次用户会话所采用的语言区域显示。如果此政策设为无效的语言区域值,登录屏幕便会以相应的后备语言区域显示(当前的后备语言区域是“en-US”)。</translation> <translation id="1062011392452772310">为设备启用远程认证</translation> <translation id="1090892140761957285">验证远程访问客户端身份验证令牌时使用的网址。 @@ -957,7 +957,7 @@ <translation id="3915395663995367577">代理 .pac 文件的网址</translation> <translation id="3926940573869375969">配置允许在 <ph name="PRODUCT_OS_NAME" />登录屏幕上使用哪些键盘布局。 - 如果此政策被设为一个输入法标识符列表,登录屏幕上将会提供所有已指定的输入法以供选用。系统将会预先选择所指定的第一种输入法。当某位用户的视窗处于登录屏幕上时,屏幕上除了会提供通过此政策指定的各种输入法外,还会提供该用户最近一次用过的输入法。如果此政策未设置,系统则会根据显示登录屏幕时使用的语言区域提供登录屏幕上的输入法。系统将会忽略无效的输入法标识符。</translation> + 如果此政策设为一个输入法标识符列表,登录屏幕上将会提供所有已指定的输入法以供选用。系统将会预先选择所指定的第一种输入法。当登录屏幕上显示已激活的用户操作大图标时,屏幕上除了会提供通过此政策指定的各种输入法外,还会提供该用户最近一次用过的输入法。如果此政策未设置,系统则会根据显示登录屏幕时使用的语言区域提供登录屏幕上的输入法。系统将会忽略无效的输入法标识符。</translation> <translation id="3939893074578116847">将网络数据包发送到管理服务器以监控联网状态,从而使得服务器能够判断设备有没有联网。 如果此政策设为 true,系统将发送监控网络数据包(所谓的“<ph name="HEARTBEATS_TERM" />”)。 @@ -1170,6 +1170,11 @@ 要查看示例格式,请访问 https://www.chromium.org/developers/how-tos/chrome-frame-getting-started。</translation> <translation id="467449052039111439">打开网址列表</translation> <translation id="4680961954980851756">启用自动填充</translation> +<translation id="4722399051042571387">如果设为 false,用户将无法设置安全系数低且易于猜中的 PIN 码。 + + 一些安全系数低的 PIN 码示例:仅由同一个数字构成的 PIN 码 (1111)、所含数字以 1 为单位递增的 PIN 码 (1234)、所含数字以 1 为单位递减的 PIN 码 (4321),以及常用的 PIN 码。 + + 默认情况下,如果系统认为 PIN 码的安全系数偏低,就会向用户显示警告(而不是错误消息)。</translation> <translation id="4723829699367336876">支持通过远程访问客户端穿越防火墙</translation> <translation id="4725528134735324213">启用 Android Backup Service</translation> <translation id="4733471537137819387">与集成 HTTP 身份验证相关的政策。</translation> @@ -1355,12 +1360,6 @@ 当该策略值已设置,且不为零,那么当不活动期达到指定的时间期间后,当前登录的演示用户就会自动退出。 该策略值应该以毫秒为单位。</translation> -<translation id="5506213378070007377">将有关 Android 状态的信息发送回服务器。 - - 如果此政策设为 false,则系统不会报告状态信息。 - 如果此政策设为 true 或未设置,则系统会报告状态信息。 - - 此政策仅在 Android 应用处于已启用状态时适用。</translation> <translation id="5511702823008968136">启用书签栏</translation> <translation id="5512418063782665071">主页网址</translation> <translation id="5523812257194833591">延迟后的自动登录公用自助终端。 @@ -1664,6 +1663,13 @@ 如果您选择自动检测代理服务器,则系统会向 Android 应用提供脚本网址“http://wpad/wpad.dat”,但不会使用代理自动检测协议的任何其他部分。 如果您选择使用 .pac 代理脚本,则系统会向 Android 应用提供相应的脚本网址。</translation> +<translation id="6435127182262044446">此项设置用于控制 PIN 码的长度上限。 + + 如果此项设置不大于 0,即表示没有长度上限,因此用户可以随意设置任何长度的 PIN 码。 + + 如果此项设置小于 PinUnlockMinimumLength 但大于 0,则表示长度上限与下限相同。 + + 此项设置默认没有长度上限。</translation> <translation id="6467433935902485842">可让您设置网址格式的列表,这些网址格式用于指定不允许运行插件的网站。在未设置此政策的情况下,如果设置了“DefaultPluginsSetting”政策,那么将对该政策中的所有网站使用全局默认值,否则将对用户个人配置中的所有网站使用全局默认值。</translation> <translation id="6473334971332473690">允许在 <ph name="PRODUCT_OS_NAME" />设备上使用 Smart Lock。 @@ -2505,12 +2511,24 @@ 通过政策注册的协议处理程序会与用户注册的协议处理程序合并到一起,两种处理程序都可使用。用户可以通过安装新的默认处理程序来覆盖通过政策安装的协议处理程序,但无法卸载通过政策注册的协议处理程序。</translation> <translation id="913195841488580904">阻止访问网址列表</translation> <translation id="9135033364005346124">启用“<ph name="CLOUD_PRINT_NAME" />”代理</translation> +<translation id="9136253551939494882">一种白名单,用于控制用户可以配置和使用哪些快速解锁模式来解锁屏幕。 + + 该值是一个字符串列表;有效的列表项包括:“all”、“PIN”。如果向此列表中添加了“all”,即意味着用户可以使用所有快速解锁模式(包括日后会实施的快速解锁模式)。如果未向此列表中添加“all”,则仅能使用此列表中指定的快速解锁模式。 + + 例如,要想允许每一个快速解锁模式,请使用 ["all"]。要想仅允许 PIN 码解锁模式,请使用 ["PIN"]。要想停用所有快速解锁模式,请使用 []。 + + 默认情况下,用户无法在托管设备上使用任何快速解锁模式。</translation> <translation id="9147029539363974059">将系统日志发送到管理服务器,以便管理员监测系统日志。 如果此政策设为 true,将发送系统日志。如果此政策设为 false 或未设置,将不发送任何系统日志。</translation> <translation id="9150416707757015439">此政策已弃用,请改用 IncognitoModeAvailability。在 <ph name="PRODUCT_NAME" />中启用隐身模式。如果已启用或未配置此设置,用户就可以在隐身模式下打开网页。如果停用此设置,用户就无法在隐身模式下打开网页。如果未设置此政策,将会启用此设置,用户便能使用隐身模式。</translation> <translation id="915194831143859291">如果此政策设为 false 或未配置,<ph name="PRODUCT_OS_NAME" />将允许用户关闭设备。 如果此政策设为 true,<ph name="PRODUCT_OS_NAME" />会在用户关闭设备时触发重新启动操作。<ph name="PRODUCT_OS_NAME" />会将界面中的所有关机按钮替换为重新启动按钮。如果用户通过电源按钮关闭设备,设备将不会自动重新启动,即使启用了此政策也是如此。</translation> +<translation id="917887642534332939">此项设置用于控制 PIN 码的长度下限。 + + PIN 码的绝对长度下限是 1;所有小于 1 的值均会被视作 1。 + + 默认和建议的 PIN 码长度下限都是 6 位数。</translation> <translation id="9187743794267626640">禁止装载外部存储设备</translation> <translation id="9197740283131855199">系统在屏幕变暗后察觉到用户活动时,屏幕变暗延迟时间的调整幅度(百分比)</translation> <translation id="9200828125069750521">在使用 POST 的图片网址中所需的参数</translation>
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb index 2053be3..b098c14 100644 --- a/components/policy/resources/policy_templates_zh-TW.xtb +++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -1223,6 +1223,11 @@ 如需模式範例,請參閱 https://www.chromium.org/developers/how-tos/chrome-frame-getting-started。</translation> <translation id="467449052039111439">開啟網址清單</translation> <translation id="4680961954980851756">啟用自動填入</translation> +<translation id="4722399051042571387">如果設為 False,使用者將無法設定系統判定強度不足而容易被破解的 PIN。 + + 以下列舉強度不足的 PIN:完全由相同數字組成的 PIN (例如 1111),由公差為正負 1 的等差數列組成的 PIN (例如 1234 和 4321),以及屬於常見字元組合的 PIN。 + + 在預設情況下,當使用者輸入的 PIN 強度不足時,系統會顯示警告訊息 (而非錯誤訊息)。</translation> <translation id="4723829699367336876">允許遠端存取用戶端穿越防火牆</translation> <translation id="4725528134735324213">啟用 Android 備份服務</translation> <translation id="4733471537137819387">與整合 HTTP 驗證相關的政策。</translation> @@ -1412,13 +1417,6 @@ 如果這項政策設為 0 以外的值,則系統會在指定的閒置時間過後,自動登出目前登入示範模式的使用者。 該政策的指定值單位為毫秒。</translation> -<translation id="5506213378070007377">將 Android 狀態的相關資訊傳回 - 伺服器。 - - 如果將這項政策設為 false,系統將不會回報狀態資訊。 - 如果設為 true 或不予設定,則會回報狀態資訊。 - - 必須啟用 Android 應用程式才適用這項政策。</translation> <translation id="5511702823008968136">啟用書籤列</translation> <translation id="5512418063782665071">首頁網址</translation> <translation id="5523812257194833591">要在延遲時間過後自動登入的公開工作階段。 @@ -1755,6 +1753,13 @@ 如果選擇自動偵測 Proxy 伺服器,系統會提供指令碼網址「http://wpad/wpad.dat」給 Android 應用程式 (不會使用 Proxy 自動偵測通訊協定的其他部分)。 如果選擇 .pac Proxy 指令碼,系統會提供該指令碼網址給 Android 應用程式。</translation> +<translation id="6435127182262044446">這項設定可控制 PIN 的長度上限。 + + 如果將這項設定設為 0 以下的數字,表示沒有長度上限;使用者可以任意設定 PIN (不限長度)。 + + 如果將這項設定設為介於 0 和 PinUnlockMinimumLength 之間的數字,表示長度上下限相同。 + + 這項設定預設沒有長度上限。</translation> <translation id="6467433935902485842">允許您設定網址模式清單,指定不可以執行外掛程式的網站。如未設定這項政策,系統會從「DefaultPluginsSetting」政策 (如果有設定的話) 或使用者的個人設定,將通用預設值套用至所有網站。</translation> <translation id="6473334971332473690">允許在 <ph name="PRODUCT_OS_NAME" /> 裝置上使用 Smart Lock。 @@ -2613,6 +2618,13 @@ 由政策註冊的通訊協定處理常式會與由使用者註冊的通訊協定處理常式合併,兩者皆可供使用。使用者可以安裝新的預設處理常式來覆寫由政策安裝的通訊協定處理常式,但無法移除由政策註冊的通訊協定處理常式。</translation> <translation id="913195841488580904">禁止存取清單中的網址</translation> <translation id="9135033364005346124">啟用 <ph name="CLOUD_PRINT_NAME" /> Proxy</translation> +<translation id="9136253551939494882">控制使用者可以設定及使用哪些快速解鎖模式來解除螢幕鎖定的許可清單。 + + 值為字串清單;有效的清單項目包括「all」和「PIN」。如果在清單中新增「all」,使用者就能使用所有快速解鎖模式 (包括日後實作的模式);反之,使用者將只能使用清單中列出的快速解鎖模式。 + + 也就是說,如要允許所有快速解鎖模式,請使用 [all];如果只想允許 PIN 解鎖,請使用 [PIN];如要停用所有快速解鎖模式,請將清單保留空白。 + + 在預設情況下,使用者無法在受管理的裝置上使用任何快速解鎖模式。</translation> <translation id="9147029539363974059">將系統紀錄傳送到管理伺服器, 讓管理員監控系統紀錄。 @@ -2621,6 +2633,11 @@ <translation id="9150416707757015439">這項政策已被取代,請改用 IncognitoModeAvailability。在「<ph name="PRODUCT_NAME" />」中啟用無痕模式。如果這項設定已啟用或尚未設定,使用者皆可在無痕模式中開啟網頁。如果這項設定已停用,使用者就無法在無痕模式中開啟網頁。如果未設定這項政策,系統會啟用這項設定,且使用者可以使用無痕模式。</translation> <translation id="915194831143859291">如果將這項政策設為 False 或不予設定,<ph name="PRODUCT_OS_NAME" /> 會允許使用者關閉裝置。 如果將這項政策設為 True,<ph name="PRODUCT_OS_NAME" /> 會在使用者關閉裝置時觸發重新啟動程序。此外,<ph name="PRODUCT_OS_NAME" /> 會將使用者介面中的所有關機按鈕改成重新啟動按鈕。如果使用者使用電源按鈕關閉裝置,即使您已啟用這項政策,裝置仍然不會自動重新啟動。</translation> +<translation id="917887642534332939">這項設定可控制 PIN 的長度下限。 + + PIN 長度的絕對下限是 1;低於 1 的值會被視為 1 來處理。 + + 預設和建議使用的 PIN 長度下限都是 6 碼。</translation> <translation id="9187743794267626640">停用外部儲存裝置掛載功能</translation> <translation id="9197740283131855199">使用者在螢幕調暗後繼續使用裝置時的螢幕調暗時間延長百分比</translation> <translation id="9200828125069750521">使用 POST 的圖片網址參數</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb index c48217d..fb2b4a98 100644 --- a/components/strings/components_strings_am.xtb +++ b/components/strings/components_strings_am.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">ክፍል</translation> <translation id="2113977810652731515">ካርታ</translation> <translation id="2114841414352855701">በ<ph name="POLICY_NAME" /> ስለተሻረ ችላ ተብሏል።</translation> +<translation id="2138201775715568214">በአቅራቢያ ያሉ አካላዊ ድረ-ገጾችን በመፈለግ ላይ</translation> <translation id="213826338245044447">የተንቀሳቃሽ ስልክ ዕልባቶች</translation> <translation id="2148716181193084225">ዛሬ</translation> <translation id="2154054054215849342">ስምረት ለእርስዎ ጎራ አይገኝም</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">ጥያቄ ተሳክቷል</translation> <translation id="2728127805433021124">የአገልጋዩ እውቅና ማረጋገጫ የተፈረመው በደካማ የፊርማ ስልተቀመር ነው።</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />የግንኙነት መመርመሪያን በማሄድ ላይ<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">እሺ</translation> <translation id="2742870351467570537">የተመረጡትን ንጥሎች አስወግድ</translation> <translation id="277499241957683684">የሚጎድል የመሣሪያ መዝገብ</translation> <translation id="2784949926578158345">ግንኙነቱ ዳግም እንዲጀምር ተደርጓል።</translation> @@ -469,6 +471,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> ላይ የተካተተ ገጽ እንዲህ ይላል፦</translation> <translation id="5556459405103347317">ዳግም ጫን</translation> <translation id="5565735124758917034">ገባሪ</translation> +<translation id="5572851009514199876">Chrome እርስዎ ይህን ጣቢያ እንዲደርሱ የተፈቀደልዎ መሆኑን ወይም አለመሆኑን እንዲያረጋግጥ እባክዎ ይጀምሩና ወደ Chrome ይግቡ።</translation> <translation id="5575380383496039204">የማይደገፍ የመላኪያ አድራሻ። የተለየ አድራሻ ይምረጡ።</translation> <translation id="5580958916614886209">የእርስዎን የአገልግሎት ማብቂያ ወር ይመልከቱ እና እንደገና ይሞክሩ</translation> <translation id="560412284261940334">አስተዳደር አይደገፍም</translation> @@ -594,7 +597,6 @@ <translation id="6895330447102777224">የእርስዎ ካርድ ተረጋግጧል</translation> <translation id="6897140037006041989">የተጠቀሚ ተወካይ</translation> <translation id="6915804003454593391">ተጠቃሚ፦</translation> -<translation id="6937422995269576720">የካርድ ቁጥሩ ልክ ያልሆነ ነው</translation> <translation id="6957887021205513506">የአገልጋዩ እውቅና ማረጋገጫ የተጭበረበረ ይመስላል።</translation> <translation id="6965382102122355670">እሺ</translation> <translation id="6965978654500191972">መሣሪያ</translation> @@ -622,6 +624,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> የደህንነት መስፈርቶችን አያከብርም።</translation> <translation id="721197778055552897">ስለዚህ ችግር <ph name="BEGIN_LINK" />ተጨማሪ ለመረዳት<ph name="END_LINK" /> ።</translation> <translation id="7219179957768738017">ግንኙነቱ <ph name="SSL_VERSION" />ን ይጠቀማል።</translation> +<translation id="7220786058474068424">በማስሄድ ላይ</translation> <translation id="724691107663265825">ፊት ያለው ጣቢያ ተንኮል-አዘል ዌር አለው</translation> <translation id="724975217298816891">የካርድ ዝርዝሮችዎን ለማዘመን የ<ph name="CREDIT_CARD" /> ጊዜ ማለፊያ ቀን እና ሲቪሲ ያስገቡ። አንዴ ካረጋገጡ በኋላ የካርድ ዝርዝሮችዎ ለዚህ ጣቢያ ይጋራሉ።</translation> <translation id="725866823122871198">የእርስዎ የኮምፒዩተር ቀን እና ሰዓት (<ph name="DATE_AND_TIME" />) ልክ ስላልሆኑ የግል ግንኙነት ወደ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ሊመሰረት አይችልም።</translation> @@ -697,7 +700,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">የአስተያየት ጥቆማ ከChrome ይወገድ?</translation> <translation id="7815407501681723534">ለ«<ph name="SEARCH_STRING" />» <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> ተገኝተዋል።</translation> -<translation id="7837582000577464779">ትዕዛዝዎን መስራት ላይ አንድ ስህተት ነበር። እባክዎ መለያዎን ይፈትሹትና እንደገና ይሞክሩ።</translation> <translation id="785549533363645510">ሆኖም ግን የማይታዩ አይደሉም። ማንነት የማያሳውቅ ሁነታ መጠቀም የእርስዎን አሰሳ፣ የበይነመረብ አገልግሎት አቅራቢ ወይም የሚጎበኟቸው ድር ጣቢያዎች ከአሰሪዎ አይደብቃቸውም።</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">የእርስዎን CVC ይፈትሹ እና እንደገና ይሞክሩ</translation> @@ -811,6 +813,7 @@ <translation id="9094175695478007090">የክፍያ መተግበሪያውን ማስጀመር አልተቻለም።</translation> <translation id="9103872766612412690"><ph name="SITE" /> የእርስዎን መረጃ ለመጠበቅ በመደበኝነት ምስጠራን ይጠቀማል። Chromium አሁን ከ<ph name="SITE" /> ጋር ለመገናኘት ሲሞክር ድር ጣቢያው ያልተለመዱ እና ትክክል ያልሆኑ ምስክርነቶችን መልሷል። ይህ አንድ አጥቂ <ph name="SITE" />ን አስመስሎ ለመቅረብ ሲሞክር ነው ወይም አንድ የWi-Fi መግቢያ ገጽ ግንኙነቱን ሲቋረጥ ሊከሰት ይችላል። Chromium ማንኛውም የውሂብ ልውውጥ ከመካሄዱ በፊት ግንኙነቱን ስላቋረጠው አሁንም የእርስዎ መረጃ ደህንነት የተጠበቀ ነው።</translation> <translation id="9137013805542155359">የመጀመሪያውን አሳይ</translation> +<translation id="9137248913990643158">ይህን መተግበሪያ ከመጠቀምዎ በፊት እባክዎ ይጀምሩና ወደ Chrome ይግቡ።</translation> <translation id="9148507642005240123">&አርትዕን ቀልብስ</translation> <translation id="9154194610265714752">የተዘመነ</translation> <translation id="9157595877708044936">በማዋቀር ላይ…</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb index dc27be51..9fdfbc5 100644 --- a/components/strings/components_strings_ar.xtb +++ b/components/strings/components_strings_ar.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">الإدارة</translation> <translation id="2113977810652731515">البطاقة</translation> <translation id="2114841414352855701">تم تجاهلها نظرًا لتجاوزها بواسطة <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">جارٍ البحث عن صفحات الشبكة المادية المجاورة</translation> <translation id="213826338245044447">الإشارات المرجعية على الجوال</translation> <translation id="2148716181193084225">اليوم</translation> <translation id="2154054054215849342">المزامنة غير متاحة لنطاقك</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">تم إرسال الطلب بنجاح</translation> <translation id="2728127805433021124">شهادة الخادم موقّعة باستخدام خوارزمية توقيع ضعيفة.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />تشغيل بيانات تشخيص الاتصال<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">موافق</translation> <translation id="2742870351467570537">إزالة العناصر المحددة</translation> <translation id="277499241957683684">سجِلّ الجهاز مفقود</translation> <translation id="2784949926578158345">تمت إعادة تعيين الاتصال.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">صفحة مُضمنة في <ph name="SITE" /> تعرض:</translation> <translation id="5556459405103347317">إعادة تحميل</translation> <translation id="5565735124758917034">نشط</translation> +<translation id="5572851009514199876">يُرجى البدء وتسجيل الدخول إلى Chrome لكي يتأكد Chrome مما إذا كان مسموحًا لك الوصول إلى موقع الويب هذا أم لا.</translation> <translation id="5575380383496039204">عنوان التسليم غير مدعوم. حدّد عنوانًا آخر.</translation> <translation id="5580958916614886209">تحقق من شهر انتهاء الصلاحية وأعِد المحاولة مرة أخرى</translation> <translation id="560412284261940334">الإدارة غير متوفرة</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">تم التأكد من بطاقتك</translation> <translation id="6897140037006041989">وكيل المستخدم</translation> <translation id="6915804003454593391">المستخدم:</translation> -<translation id="6937422995269576720">رقم البطاقة غير صالح</translation> <translation id="6957887021205513506">يبدو أن شهادة الخادم مزيفة.</translation> <translation id="6965382102122355670">موافق</translation> <translation id="6965978654500191972">جهاز</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">لا يلتزم <ph name="HOST_NAME" /> بمعايير الأمان.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /> حول هذه المشكلة.</translation> <translation id="7219179957768738017">الاتصال يستخدم <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">جارٍ المعالجة</translation> <translation id="724691107663265825">يحتوي موقع الويب المقصود على برامج ضارة</translation> <translation id="724975217298816891">أدخل تاريخ انتهاء الصلاحية ورمز التحقق من البطاقة (CVC) لـ <ph name="CREDIT_CARD" /> لتحديث تفاصيل بطاقتك. بعد تأكيدك، ستتم مشاركة تفاصيل بطاقتك مع هذا الموقع.</translation> <translation id="725866823122871198">تعذر إنشاء اتصال خاص بـ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> نظرًا لأن التاريخ والوقت لجهاز الكمبيوتر (<ph name="DATE_AND_TIME" />) غير صحيحين.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">هل تريد إزالة اقتراح النموذج من Chrome؟</translation> <translation id="7815407501681723534">تم العثور على <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> لـ "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">حدث خطأ أثناء معالجة طلبك. الرجاء التحقق من حسابك والمحاولة مرة أخرى.</translation> <translation id="785549533363645510">ومع ذلك، أنت غير مرئي. لا يخفي الانتقال إلى وضع التخفي التصفح من صاحب العمل أو مزود خدمة الإنترنت أو المواقع التي تزورها.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">تحقق من رمز التحقق من البطاقة (CVC) ثم أعد المحاولة.</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">يتعذَّر إطلاق تطبيق الدفع.</translation> <translation id="9103872766612412690">يستخدم <ph name="SITE" /> التشفير عادة لحماية معلوماتك. عندما حاول Chromium الاتصال بموقع <ph name="SITE" /> هذه المرة، أرجَع موقع الويب بيانات اعتماد غير عادية وغير صحيحة. وقد يحدث هذا عندما يحاول أحد المهاجمين التظاهر بأنه موقع <ph name="SITE" />، أو إذا قاطعت شاشة تسجيل دخول Wi-Fi الاتصال. ولكن لا تزال معلوماتك آمنة نظرًا لأن Chromium أوقَفَ الاتصال قبل تبادل أي بيانات.</translation> <translation id="9137013805542155359">إظهار الصفحة الأصلية</translation> +<translation id="9137248913990643158">يُرجى البدء وتسجيل الدخول إلى Chrome قبل استخدام هذا التطبيق.</translation> <translation id="9148507642005240123">تراجع عن ا&لتحرير</translation> <translation id="9154194610265714752">تم التحديث</translation> <translation id="9157595877708044936">جارٍ الإعداد...</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb index 690c895d..599e23a 100644 --- a/components/strings/components_strings_bg.xtb +++ b/components/strings/components_strings_bg.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Департамент</translation> <translation id="2113977810652731515">Карта</translation> <translation id="2114841414352855701">Бе пренебрегнато, защото бе отменено от <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Търсят се намиращи се в близост страници във Физическата мрежа</translation> <translation id="213826338245044447">Мобилни отметки</translation> <translation id="2148716181193084225">Днес</translation> <translation id="2154054054215849342">Синхронизирането не е налице за въведения от вас домейн</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Заявката е успешна</translation> <translation id="2728127805433021124">Сертификатът на сървъра е подписан със слаб алгоритъм.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Стартирайте диагностика на свързаността<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Премахване на избраните елементи</translation> <translation id="277499241957683684">Липсващ запис за устройството</translation> <translation id="2784949926578158345">Връзката бе възстановена.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Вградена страница на адрес <ph name="SITE" /> изпраща подкана:</translation> <translation id="5556459405103347317">Повторно зареждане</translation> <translation id="5565735124758917034">Активно</translation> +<translation id="5572851009514199876">Моля, стартирайте браузъра Chrome и влезте в него, за да се провери дали имате достъп до този сайт.</translation> <translation id="5575380383496039204">Адресът за бърза доставка не се поддържа. Изберете друг.</translation> <translation id="5580958916614886209">Проверете месеца на валидност и опитайте отново</translation> <translation id="560412284261940334">Управлението не се поддържа</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Картата ви е потвърдена</translation> <translation id="6897140037006041989">Потребителски агент</translation> <translation id="6915804003454593391">Потребител:</translation> -<translation id="6937422995269576720">Номерът на картата е невалиден</translation> <translation id="6957887021205513506">Изглежда, че сертификатът на сървъра е подправен.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Устройство</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> не се придържа към стандартите за сигурност.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /> за този проблем.</translation> <translation id="7219179957768738017">Връзката използва <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Обработва се</translation> <translation id="724691107663265825">На хоризонта се задава сайт със злонамерен софтуер</translation> <translation id="724975217298816891">Въведете датата на валидност и кода за проверка за <ph name="CREDIT_CARD" />, за да актуализирате данните за картата си. След като я потвърдите, те ще бъдат споделени с този сайт.</translation> <translation id="725866823122871198">Не може да се установи частна връзка с/ъс <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, тъй като датата и часът на компютъра ви (<ph name="DATE_AND_TIME" />) са неправилни.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Предложението за формуляри да се премахне ли от Chrome?</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> за „<ph name="SEARCH_STRING" />“</translation> -<translation id="7837582000577464779">При обработването на поръчката ви възникна грешка. Моля, проверете профила си и опитайте отново.</translation> <translation id="785549533363645510">Сърфирането ви обаче не е невидимо. При преминаване в режим „инкогнито“ то не се скрива от работодателя ви и от доставчика ви на интернет услуги, нито от уебсайтовете, които посещавате.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Прегледайте кода за проверка и опитайте отново</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Приложението за плащане не може да се стартира.</translation> <translation id="9103872766612412690">Обикновено <ph name="SITE" /> използва шифроване за защита на информацията ви. Когато Chromium опита да установи връзка с/ъс <ph name="SITE" /> този път, уебсайтът върна необичайни и неправилни идентификационни данни. Това може да се случи, когато извършител на атака пробва да се представи за <ph name="SITE" /> или връзката е прекъсната от екран за вход в Wi-Fi. Информацията ви продължава да е защитена, тъй като Chromium спря връзката, преди да бъдат обменени данни.</translation> <translation id="9137013805542155359">Показване на оригинала</translation> +<translation id="9137248913990643158">Моля, стартирайте браузъра Chrome и влезте в него, преди да използвате това приложение.</translation> <translation id="9148507642005240123">&Отмяна на редактирането</translation> <translation id="9154194610265714752">Актуализирано</translation> <translation id="9157595877708044936">Настройва се...</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb index a29452e..3150cab 100644 --- a/components/strings/components_strings_bn.xtb +++ b/components/strings/components_strings_bn.xtb
@@ -120,6 +120,7 @@ <translation id="2096368010154057602">বিভাগ</translation> <translation id="2113977810652731515">কার্ড</translation> <translation id="2114841414352855701">এড়িয়ে যাওয়া হয়েছে কারণ এটি <ph name="POLICY_NAME" />-দ্বারা ওভাররাইড করা হয়েছিল৷</translation> +<translation id="2138201775715568214">আশেপাশের বাস্তবিক ওয়েব পৃষ্ঠাগুলি খুঁজছে</translation> <translation id="213826338245044447">মোবাইল বুকমার্ক</translation> <translation id="2148716181193084225">আজ</translation> <translation id="2154054054215849342">আপনার ডোমেনের জন্য সিঙ্ক উপলব্ধ নেই</translation> @@ -190,6 +191,7 @@ <translation id="2721148159707890343">অনুরোধ সফল হয়েছে</translation> <translation id="2728127805433021124">একটি দুর্বল স্বাক্ষর অ্যালগোরিদম ব্যবহার করে সার্ভারের শংসাপত্রে সাইন করা হয়েছে৷</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />সংযোগের ডায়গনিস্টিক্স চালান<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ঠিক আছে</translation> <translation id="2742870351467570537">নির্বাচিত আইটেমগুলি সরান</translation> <translation id="277499241957683684">ডিভাইস রেকর্ড অনুপস্থিত</translation> <translation id="2784949926578158345">সংযোগ পুনঃসেট করা হয়েছে৷</translation> @@ -311,7 +313,7 @@ <translation id="3759461132968374835">আপনার কাছে সাম্প্রতিক প্রতিবেদন করা কোনও ক্র্যাশ নেই৷ ক্র্যাশ প্রতিবেদন অক্ষম থাকাকালীন ঘটা ক্র্যাশ এখানে উপস্থিত হবে না৷</translation> <translation id="382518646247711829">যদি আপনি একটি প্রক্সি সার্ভার ব্যবহার করেন...</translation> <translation id="3828924085048779000">ফাঁকা পাসফ্রেজের অনুমতি নেই৷</translation> -<translation id="3845539888601087042">আপনার প্রবেশ করুন করা ডিভাইসগুলি থেকে ইতিহাস দেখাচ্ছে। <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" />।</translation> +<translation id="3845539888601087042">আপনার প্রবেশ করা ডিভাইসগুলি থেকে ইতিহাস দেখাচ্ছে। <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" />।</translation> <translation id="385051799172605136">ফিরুন</translation> <translation id="3858027520442213535">তারিখ এবং সময় আপডেট করুন</translation> <translation id="3884278016824448484">পরস্পর বিরোধী ডিভাইস সনাক্তকারী</translation> @@ -469,6 +471,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> এ একটি এম্বেডেড পৃষ্ঠা বলছে:</translation> <translation id="5556459405103347317">আবার লোড করুন</translation> <translation id="5565735124758917034">সক্রিয়</translation> +<translation id="5572851009514199876">আপনার এই সাইটে অ্যাক্সেস করার অনুমতি আছে কিনা তা Chrome পরীক্ষা করার জন্য অনুগ্রহ করে শুরু করুন এবং Chrome এ প্রবেশ করুন।</translation> <translation id="5575380383496039204">পৌঁছে দেওয়ার ঠিকানাটি অসমর্থিত। আলাদা কোনো ঠিকানা নির্বাচন করুন।</translation> <translation id="5580958916614886209">আপনার মেয়াদ শেষের মাস পরীক্ষা করে আবার চেষ্টা করুন</translation> <translation id="560412284261940334">পরিচালনা সমর্থিত নয়</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">আপনার কার্ডটি নিশ্চিত করা হয়েছে</translation> <translation id="6897140037006041989">ব্যবহারকারী এজেন্ট</translation> <translation id="6915804003454593391">ব্যবহারকারী:</translation> -<translation id="6937422995269576720">কার্ড নম্বর অবৈধ</translation> <translation id="6957887021205513506">সার্ভারটির শংসাপত্রটি একটি জাল হিসাবে উপস্থিত হয়েছে৷</translation> <translation id="6965382102122355670">ঠিক আছে</translation> <translation id="6965978654500191972">ডিভাইস</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> নিরাপত্তা মান মেনে চলে না।</translation> <translation id="721197778055552897">এই সমস্যাটি সম্পর্কে <ph name="BEGIN_LINK" />আরো জানুন<ph name="END_LINK" />৷</translation> <translation id="7219179957768738017">এই সংযোগটি <ph name="SSL_VERSION" />টি ব্যবহার করে</translation> +<translation id="7220786058474068424">প্রক্রিয়ায় রয়েছে</translation> <translation id="724691107663265825">এই সাইটটিতে ম্যালওয়্যার আছে</translation> <translation id="724975217298816891">আপনার কার্ডের বিবরণ আপডেট করার জন্য মেয়াদ শেষের তারিখ এবং <ph name="CREDIT_CARD" /> এর CVC লিখুন। আপনি নিশ্চিত করলে, আপনার কার্ডের বিবরণ এই সাইটের সাথে শেয়ার করা হবে।</translation> <translation id="725866823122871198"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> এ একটি ব্যক্তিগত সংযোগ স্থাপন করা যায়নি কারণ আপনার কম্পিউটারের তারিখ এবং সময় (<ph name="DATE_AND_TIME" />) সঠিক নয়৷</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome থেকে ফর্ম প্রস্তাবনা সরাবেন?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' এর জন্য <ph name="NUMBER_OF_RESULTS" />টি <ph name="SEARCH_RESULTS" /> খুঁজে পাওয়া গেছে</translation> -<translation id="7837582000577464779">আপনার অর্ডার প্রক্রিয়ার সময় একটি ত্রুটি হয়েছে। দয়া করে আপনার অ্যাকাউন্ট পরীক্ষা করে আবার চেষ্টা করুন।</translation> <translation id="785549533363645510">আপনি অবশ্য অদৃশ্য থাকবেন না। ছদ্মবেশী মোডে গেলেও তা আপনার নিয়োগকর্তা, আপনার ইন্টারনেট পরিষেবা প্রদানকারী অথবা আপনার পরিদর্শন করা ওয়েবসাইট থেকে আপনার ব্রাউজিংকে আড়াল করবে না।</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">আপনার CVC পরীক্ষা করুন এবং আবার চেষ্টা করুন</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">পেমেন্ট অ্যাপ লঞ্চ করা যায়নি।</translation> <translation id="9103872766612412690"><ph name="SITE" /> সাধারণত আপনার তথ্য সুরক্ষিত রাখতে এনক্রিপশান ব্যবহার করে। এইবার যখন Chromium <ph name="SITE" /> এর সাথে সংযোগ স্থাপন করার চেষ্টা করেছে, তখন ওয়েবসাইটটি অস্বাভাবিক এবং ভুল শংসাপত্র পাঠিয়েছে। হয় একজন আক্রমণকারী <ph name="SITE" /> হওয়ার ভান করছে, অথবা একটি ওয়াই-ফাই প্রবেশ করুন স্ক্রীণ সংযোগকে বাধাপ্রদান করেছে। আপনার তথ্য এখনো নিরাপদ আছে কারণ কোনো ডেটা আদানপ্রদানের আগেই Chromium সংযোগটিকে বন্ধ করে দিয়েছে।</translation> <translation id="9137013805542155359">প্রকৃত রূপ দেখান</translation> +<translation id="9137248913990643158">এই অ্যাপ্লিকেশানটি ব্যবহার করার আগে অনুগ্রহ করে শুরু করুন এবং Chrome এ প্রবেশ করুন।</translation> <translation id="9148507642005240123">&সম্পাদনাকে পূর্বাবস্থায় ফেরান</translation> <translation id="9154194610265714752">আপডেট রয়েছে</translation> <translation id="9157595877708044936">সেট আপ হচ্ছে...</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb index ff7dda48..664d028 100644 --- a/components/strings/components_strings_ca.xtb +++ b/components/strings/components_strings_ca.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departament</translation> <translation id="2113977810652731515">Targeta</translation> <translation id="2114841414352855701">S'ha ignorat perquè <ph name="POLICY_NAME" /> l'ha substituït.</translation> +<translation id="2138201775715568214">S'estan cercant pàgines del Web físic a prop</translation> <translation id="213826338245044447">Adreces d'interès per a mòbils</translation> <translation id="2148716181193084225">Avui</translation> <translation id="2154054054215849342">La sincronització no està disponible per al teu domini</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Sol·licitud realitzada correctament</translation> <translation id="2728127805433021124">El certificat del servidor està signat mitjançant un algoritme de signatura dèbil.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Executar el Diagnòstic de connectivitat<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">D'acord</translation> <translation id="2742870351467570537">Suprimeix els elements seleccionats</translation> <translation id="277499241957683684">Falta el registre del dispositiu</translation> <translation id="2784949926578158345">S'ha restablert la connexió.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Una pàgina inserida a <ph name="SITE" /> diu:</translation> <translation id="5556459405103347317">Torna a carregar</translation> <translation id="5565735124758917034">Actiu</translation> +<translation id="5572851009514199876">Obre Chrome i inicia-hi la sessió perquè Chrome pugui comprovar si tens permís per accedir a aquest lloc.</translation> <translation id="5575380383496039204">L'adreça d'entrega no s'admet. Selecciona'n una altra.</translation> <translation id="5580958916614886209">Comprova el mes de caducitat i torna-ho a provar</translation> <translation id="560412284261940334">Gestió no compatible</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">La teva targeta s'ha confirmat</translation> <translation id="6897140037006041989">Agent d'usuari</translation> <translation id="6915804003454593391">Usuari:</translation> -<translation id="6937422995269576720">Número de targeta no vàlid</translation> <translation id="6957887021205513506">Sembla que el certificat del servidor és una falsificació.</translation> <translation id="6965382102122355670">D'acord</translation> <translation id="6965978654500191972">Dispositiu</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> no compleix la normativa de seguretat.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /> sobre aquest problema.</translation> <translation id="7219179957768738017">La connexió utilitza <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">S'està processant</translation> <translation id="724691107663265825">Aquest lloc conté programari maliciós</translation> <translation id="724975217298816891">Introdueix la data de caducitat i el CVC de la targeta <ph name="CREDIT_CARD" /> per actualitzar-ne els detalls. Un cop confirmada, els detalls de la targeta es compartiran amb aquest lloc.</translation> <translation id="725866823122871198">No s'ha pogut establir una connexió privada amb <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> perquè la data i l'hora (<ph name="DATE_AND_TIME" />) de l'ordinador no són correctes.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Voleu suprimir el suggeriment de formulari de Chrome?</translation> <translation id="7815407501681723534">S'han trobat <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> per a "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">S'ha produït un error en processar la comanda. Comproveu el compte i torneu-ho a provar.</translation> <translation id="785549533363645510">Tanmateix, no sou invisible. La vostra empresa, el vostre proveïdor de serveis d'Internet i els llocs web que visiteu poden veure la vostra navegació d'incògnit.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Comproveu el CVC i torneu-ho a provar</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">No es pot executar l'aplicació de pagament.</translation> <translation id="9103872766612412690"><ph name="SITE" /> utilitza normalment l'encriptació per protegir la vostra informació. En aquesta ocasió, quan Chromium ha provat de connectar-se a <ph name="SITE" />, el lloc web ha enviat credencials poc comunes i incorrectes. Pot ser que un atacant estigui provant de fer-se passar per <ph name="SITE" /> o que una pantalla d'inici de sessió a la xarxa Wi-Fi hagi interromput la connexió. En qualsevol cas, la vostra informació continua estant segura, perquè Chromium ha aturat la connexió abans no s'intercanviés cap dada.</translation> <translation id="9137013805542155359">Mostra l'original</translation> +<translation id="9137248913990643158">Obre Chrome i inicia-hi la sessió abans d'utilitzar aquesta aplicació.</translation> <translation id="9148507642005240123">&Desfés la modificació</translation> <translation id="9154194610265714752">S'ha actualitzat.</translation> <translation id="9157595877708044936">S'està configurant...</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb index 051f536..ef2b441 100644 --- a/components/strings/components_strings_cs.xtb +++ b/components/strings/components_strings_cs.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Oddělení</translation> <translation id="2113977810652731515">Karta</translation> <translation id="2114841414352855701">Zásada ignorována, protože bylo přepsána zásadou <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Vyhledávání stránek fyzického webu v okolí</translation> <translation id="213826338245044447">Mobilní záložky</translation> <translation id="2148716181193084225">Dnes</translation> <translation id="2154054054215849342">Synchronizace není pro vaši doménu k dispozici</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Požadavek byl úspěšný</translation> <translation id="2728127805433021124">Certifikát serveru je podepsán slabým algoritmem.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Spustit Diagnostiku připojení<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Odstranit vybrané položky</translation> <translation id="277499241957683684">Chybějící záznam zařízení</translation> <translation id="2784949926578158345">Připojení bylo resetováno.</translation> @@ -464,6 +466,7 @@ <translation id="5544037170328430102">Vložená stránka na webu <ph name="SITE" /> říká:</translation> <translation id="5556459405103347317">Načíst znovu</translation> <translation id="5565735124758917034">Aktivní</translation> +<translation id="5572851009514199876">Přihlaste se do Chromu, aby bylo možné ověřit, zda máte povolení tento web navštívit.</translation> <translation id="5575380383496039204">Nepodporovaná adresa doručení. Vyberte jinou adresu.</translation> <translation id="5580958916614886209">Zkontrolujte měsíc vypršení platnosti a zkuste to znovu.</translation> <translation id="560412284261940334">Správa není podporována</translation> @@ -588,7 +591,6 @@ <translation id="6895330447102777224">Vaše karta je ověřena</translation> <translation id="6897140037006041989">User agent</translation> <translation id="6915804003454593391">Uživatel:</translation> -<translation id="6937422995269576720">Číslo karty je neplatné</translation> <translation id="6957887021205513506">Zdá se, že certifikát serveru je podvrh.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Zařízení</translation> @@ -616,6 +618,7 @@ <translation id="7210863904660874423">Web <ph name="HOST_NAME" /> nevyhovuje bezpečnostním standardům.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /> o tomto problému.</translation> <translation id="7219179957768738017">Připojení používá protokol <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Zpracovávání</translation> <translation id="724691107663265825">Webové stránky, které chcete otevřít, obsahují malware</translation> <translation id="724975217298816891">Chcete-li aktualizovat údaje o kartě, zadejte datum vypršení platnosti a kód CVC karty <ph name="CREDIT_CARD" />. Po ověření budou údaje o kartě sdíleny s tímto webem.</translation> <translation id="725866823122871198">Soukromé připojení k doméně <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> nelze navázat, protože máte v počítači nastaveno chybné datum a čas (<ph name="DATE_AND_TIME" />).</translation> @@ -691,7 +694,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Odstranit návrh položky formuláře z Chromu?</translation> <translation id="7815407501681723534">Nalezené <ph name="SEARCH_RESULTS" /> pro dotaz „<ph name="SEARCH_STRING" />“: <ph name="NUMBER_OF_RESULTS" /></translation> -<translation id="7837582000577464779">Při zpracování objednávky došlo k chybě. Zkontrolujte účet a zkuste to znovu.</translation> <translation id="785549533363645510">To neznamená, že jste neviditelní. Anonymní režim neskryje vaši aktivitu před vaším zaměstnavatelem, poskytovatelem internetových služeb ani webovými stránkami, které navštívíte.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Zkontrolujte kód CVC a zkuste to znovu</translation> @@ -805,6 +807,7 @@ <translation id="9094175695478007090">Platební aplikaci nelze spustit.</translation> <translation id="9103872766612412690">Web <ph name="SITE" /> vaše informace běžně chrání šifrováním. Když se prohlížeč Chromium k webu <ph name="SITE" /> pokusil připojit tentokrát, web vrátil neobvyklé a nesprávné identifikační údaje. K tomuto problému může dojít, pokud se za web <ph name="SITE" /> pokouší vydávat nějaký útočník nebo pokud bylo připojení přerušeno přihlašovací obrazovkou sítě Wi-Fi. Vaše informace jsou i nadále v bezpečí, protože prohlížeč Chromium připojení přerušil dříve, než došlo k odeslání jakýchkoliv dat.</translation> <translation id="9137013805542155359">Zobrazit originál</translation> +<translation id="9137248913990643158">Chcete-li tuto aplikaci použít, přihlaste se do Chromu.</translation> <translation id="9148507642005240123">&Vrátit úpravy zpět</translation> <translation id="9154194610265714752">Aktualizováno</translation> <translation id="9157595877708044936">Nastavování...</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb index 4eab69f..c67b3b78 100644 --- a/components/strings/components_strings_da.xtb +++ b/components/strings/components_strings_da.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departement</translation> <translation id="2113977810652731515">Kort</translation> <translation id="2114841414352855701">Ignoreret, da den blev tilsidesat af <ph name="POLICY_NAME" /> .</translation> +<translation id="2138201775715568214">Leder efter Fysisk web-sider i nærheden</translation> <translation id="213826338245044447">Bogmærker på mobil</translation> <translation id="2148716181193084225">I dag</translation> <translation id="2154054054215849342">Synkronisering er ikke tilgængelig for dit domæne</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Anmodning lykkedes</translation> <translation id="2728127805433021124">Serverens certifikat er signeret ved hjælp af en svag signaturalgoritme.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Køre Diagnosticering af forbindelse<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Fjern valgte elementer</translation> <translation id="277499241957683684">Manglende enhedsregistrering</translation> <translation id="2784949926578158345">Forbindelsen blev nulstillet.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">En integreret side på <ph name="SITE" /> siger:</translation> <translation id="5556459405103347317">Genindlæs</translation> <translation id="5565735124758917034">Aktiv</translation> +<translation id="5572851009514199876">Start og log ind på Chrome, så Chrome kan kontrollere, om du har adgang til dette website.</translation> <translation id="5575380383496039204">Leveringsadressen understøttes ikke. Vælg en anden adresse.</translation> <translation id="5580958916614886209">Kontrollér, om udløbsmåneden er korrekt, og prøv igen.</translation> <translation id="560412284261940334">Administration er ikke understøttet</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Dit kort er bekræftet</translation> <translation id="6897140037006041989">Brugeragent</translation> <translation id="6915804003454593391">Bruger:</translation> -<translation id="6937422995269576720">Kortnummer er ugyldigt</translation> <translation id="6957887021205513506">Serverens certifikat ser ud til at være en forfalskning.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Enhed</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> overholder ikke sikkerhedsstandarderne.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /> om dette problem.</translation> <translation id="7219179957768738017">Forbindelsen bruger <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Behandler</translation> <translation id="724691107663265825">Det site, du er på vej til, indeholder malware</translation> <translation id="724975217298816891">Opdater dine kortoplysninger ved at indtaste udløbsdatoen og kontrolkoden for <ph name="CREDIT_CARD" />. Når du bekræfter, deles dine kortoplysninger med dette website.</translation> <translation id="725866823122871198">Der kunne ikke oprettes en privat forbindelse til <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, da dato og tid (<ph name="DATE_AND_TIME" />) på din enhed er forkerte.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Vil du fjerne formularforslaget fra Chrome?</translation> <translation id="7815407501681723534">Der blev fundet <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> for "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Der opstod en fejl under behandlingen af din ordre. Kontrollér din konto, og prøv igen.</translation> <translation id="785549533363645510">Du er dog ikke usynlig. Inkognitotilstand skjuler ikke din browserhistorik over for din arbejdsgiver, din internetudbyder eller de websites, du besøger.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Kontrollér, om din kontrolkode er korrekt, og prøv igen.</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Betalingsappen kunne ikke åbnes.</translation> <translation id="9103872766612412690"><ph name="SITE" /> bruger normalt kryptering til at beskytte dine oplysninger. Da Chromium forsøgte at oprette forbindelse til <ph name="SITE" /> denne gang, returnerede websitet usædvanlige og forkerte loginoplysninger. Dette kan skyldes, at en hacker forsøger at udgive sig for at være <ph name="SITE" />, eller at en Wi-Fi-loginskærm har forstyrret forbindelsen. Dine oplysninger er stadig sikre, idet Chromium afbrød forbindelsen, inden der blev udvekslet data.</translation> <translation id="9137013805542155359">Vis oprindelig</translation> +<translation id="9137248913990643158">Start og log ind på Chrome, inden du bruger denne app.</translation> <translation id="9148507642005240123">&Fortryd redigering</translation> <translation id="9154194610265714752">Opdateret</translation> <translation id="9157595877708044936">Konfigurerer...</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb index ce31132..cec2e215 100644 --- a/components/strings/components_strings_de.xtb +++ b/components/strings/components_strings_de.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Verwaltungsbezirk</translation> <translation id="2113977810652731515">Karte</translation> <translation id="2114841414352855701">Wird ignoriert, da sie von <ph name="POLICY_NAME" /> außer Kraft gesetzt wurde.</translation> +<translation id="2138201775715568214">Nach Physical Web-Seiten zu Objekten in der Nähe wird gesucht.</translation> <translation id="213826338245044447">Mobile Lesezeichen</translation> <translation id="2148716181193084225">Heute</translation> <translation id="2154054054215849342">Die Synchronisierung ist für Ihre Domain nicht verfügbar</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Anfrage erfolgreich</translation> <translation id="2728127805433021124">Das Serverzertifikat ist mit einem schwachen Signaturalgorithmus signiert.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Verbindungsdiagnose ausführen<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Ausgewählte Einträge entfernen</translation> <translation id="277499241957683684">Fehlender Gerätedatensatz</translation> <translation id="2784949926578158345">Verbindung wurde zurückgesetzt.</translation> @@ -467,6 +469,7 @@ <translation id="5544037170328430102">Auf einer in <ph name="SITE" /> eingebetteten Seite wird Folgendes angezeigt:</translation> <translation id="5556459405103347317">Neu laden</translation> <translation id="5565735124758917034">Aktiv</translation> +<translation id="5572851009514199876">Melden Sie sich zuerst in Chrome an, damit überprüft werden kann, ob Sie auf diese Website zugreifen dürfen.</translation> <translation id="5575380383496039204">Nicht unterstützte Lieferadresse. Wählen Sie eine andere Adresse aus.</translation> <translation id="5580958916614886209">Prüfen Sie Ihren Ablaufmonat und versuchen Sie es dann erneut</translation> <translation id="560412284261940334">Verwaltung wird nicht unterstützt.</translation> @@ -592,7 +595,6 @@ <translation id="6895330447102777224">Ihre Karte wurde bestätigt</translation> <translation id="6897140037006041989">User-Agent</translation> <translation id="6915804003454593391">Nutzer:</translation> -<translation id="6937422995269576720">Kartennummer ist ungültig</translation> <translation id="6957887021205513506">Das Zertifikat des Servers ist möglicherweise eine Fälschung.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Gerät</translation> @@ -620,6 +622,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> erfüllt die Sicherheitsstandards nicht.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Weitere Informationen<ph name="END_LINK" /> zu diesem Problem.</translation> <translation id="7219179957768738017">Die Verbindung verwendet <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Verarbeitung läuft</translation> <translation id="724691107663265825">Malware auf nachfolgender Website</translation> <translation id="724975217298816891">Geben Sie das Gültigkeitsdatum und den CVC für <ph name="CREDIT_CARD" /> ein, um Ihre Kartendetails zu aktualisieren. Nach erfolgter Bestätigung werden die Kartendetails an diese Website weitergegeben.</translation> <translation id="725866823122871198">Es kann keine private Verbindung zu <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> hergestellt werden, weil Datum und Uhrzeit Ihres Computers falsch sind (<ph name="DATE_AND_TIME" />).</translation> @@ -695,7 +698,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Vorschlag für das Formular aus Chrome entfernen?</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> für "<ph name="SEARCH_STRING" />" gefunden</translation> -<translation id="7837582000577464779">Bei der Verarbeitung Ihrer Bestellung ist ein Fehler aufgetreten. Bitte überprüfen Sie Ihr Konto und versuchen Sie es erneut.</translation> <translation id="785549533363645510">Sie sind jedoch nicht unsichtbar. Der Inkognitomodus verhindert nicht, dass Informationen zu Ihren Webaktivitäten von Ihrem Arbeitgeber, Ihrem Internetanbieter oder den von Ihnen besuchten Websites erfasst werden.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Prüfen Sie Ihren CVC und versuchen Sie es dann erneut.</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Zahlungs-App kann nicht gestartet werden.</translation> <translation id="9103872766612412690"><ph name="SITE" /> schützt Ihre Daten in der Regel durch Verschlüsselung. Als Chromium dieses Mal versuchte, eine Verbindung zu <ph name="SITE" /> herzustellen, gab die Website ungewöhnliche und falsche Anmeldedaten zurück. Entweder versucht ein Angreifer, sich als <ph name="SITE" /> auszugeben, oder die Verbindung wurde durch eine WLAN-Anmeldeseite unterbrochen. Da Chromium die Verbindung vor dem Austausch von Daten unterbrochen hat, sind Ihre Informationen weiterhin sicher.</translation> <translation id="9137013805542155359">Original anzeigen</translation> +<translation id="9137248913990643158">Melden Sie sich in Chrome an, bevor Sie diese App nutzen.</translation> <translation id="9148507642005240123">&Bearbeiten rückgängig machen</translation> <translation id="9154194610265714752">Aktualisiert</translation> <translation id="9157595877708044936">Einrichtung läuft...</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb index 069e5f6..a3724f0 100644 --- a/components/strings/components_strings_el.xtb +++ b/components/strings/components_strings_el.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Νομός</translation> <translation id="2113977810652731515">Παιχνίδια με κάρτες</translation> <translation id="2114841414352855701">Αγνοήθηκε επειδή αντικαταστάθηκε από την πολιτική <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Αναζήτηση κοντινών σελίδων Φυσικού δικτύου</translation> <translation id="213826338245044447">Σελιδοδείκτες κινητής συσκευής</translation> <translation id="2148716181193084225">Σήμερα</translation> <translation id="2154054054215849342">Ο συγχρονισμός δεν είναι διαθέσιμος για τον τομέα σας</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Το αίτημα ήταν επιτυχές</translation> <translation id="2728127805433021124">Το πιστοποιητικό του διακομιστή είναι υπογεγραμμένο με έναν αδύναμο αλγόριθμο υπογραφής.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Να εκτελέσετε τα Διαγνωστικά στοιχεία συνδεσιμότητας<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ΟK</translation> <translation id="2742870351467570537">Κατάργηση επιλεγμένων στοιχείων</translation> <translation id="277499241957683684">Λείπει κάποιο αρχείο συσκευής</translation> <translation id="2784949926578158345">Έγινε επαναφορά της σύνδεσης.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Μια ενσωματωμένη σελίδα στον ιστότοπο <ph name="SITE" /> λέει:</translation> <translation id="5556459405103347317">Επαναφόρτωση</translation> <translation id="5565735124758917034">Ενεργό</translation> +<translation id="5572851009514199876">Εκκινήστε και συνδεθείτε στο Chrome, έτσι ώστε το Chrome να μπορεί να ελέγξει εάν έχετε δικαίωμα πρόσβασης σε αυτόν τον ιστότοπο.</translation> <translation id="5575380383496039204">Μη υποστηριζόμενη διεύθυνση παράδοσης. Επιλέξτε διαφορετική διεύθυνση.</translation> <translation id="5580958916614886209">Ελέγξτε τον μήνα λήξης σας και δοκιμάστε ξανά</translation> <translation id="560412284261940334">Η διαχείριση δεν υποστηρίζεται</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Η κάρτα σας επιβεβαιώθηκε</translation> <translation id="6897140037006041989">Παράγοντας χρήστη</translation> <translation id="6915804003454593391">Χρήστης</translation> -<translation id="6937422995269576720">Μη έγκυρος αριθμός κάρτας</translation> <translation id="6957887021205513506">Το πιστοποιητικό του διακομιστή φαίνεται να είναι πλαστό.</translation> <translation id="6965382102122355670">ΕΝΤΑΞΕΙ</translation> <translation id="6965978654500191972">Συσκευή</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">Ο κεντρικός υπολογιστής <ph name="HOST_NAME" /> δεν συμμορφώνεται με τα πρότυπα ασφάλειας.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /> σχετικά με αυτό το πρόβλημα.</translation> <translation id="7219179957768738017">Στη σύνδεση χρησιμοποιείται <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Επεξεργασία</translation> <translation id="724691107663265825">Ο ιστότοπος μετάβασης περιέχει κακόβουλο λογισμικό</translation> <translation id="724975217298816891">Εισαγάγετε την ημερομηνία λήξης και τον κωδικό CVC για την πιστωτική κάρτα <ph name="CREDIT_CARD" />, προκειμένου να ενημερώσετε τα στοιχεία της κάρτας σας. Μετά την επιβεβαίωση, θα γίνει κοινή χρήση των στοιχείων της κάρτας σας με αυτόν τον ιστότοπο.</translation> <translation id="725866823122871198">Δεν είναι δυνατή η επίτευξη ιδιωτικής σύνδεσης με τον τομέα <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> επειδή η ημερομηνία και η ώρα (<ph name="DATE_AND_TIME" />) του υπολογιστή σας είναι λανθασμένες.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Κατάργηση πρότασης φόρμας από το Chrome;</translation> <translation id="7815407501681723534">Βρέθηκαν <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> για τον όρο αναζήτησης "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Παρουσιάστηκε κάποιο πρόβλημα κατά την επεξεργασία της παραγγελίας σας. Ελέγξτε τον λογαριασμό σας και δοκιμάστε ξανά.</translation> <translation id="785549533363645510">Ωστόσο, δεν είστε αόρατος/η. Με την κατάσταση ανώνυμης περιήγησης δεν μπορείτε να αποκρύψετε τα στοιχεία της περιήγησής σας από τους εργοδότες σας, τον πάροχο υπηρεσιών διαδικτύου που χρησιμοποιείτε ή τους ιστότοπους που επισκέπτεστε.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Ελέγξτε τον κωδικό σας CVC και δοκιμάστε ξανά</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Δεν είναι δυνατή η εκκίνηση της εφαρμογής πληρωμών.</translation> <translation id="9103872766612412690">Κανονικά, ο ιστότοπος <ph name="SITE" /> χρησιμοποιεί κρυπτογράφηση για να προστατεύει τα στοιχεία σας. Όταν το Chromium επιχείρησε πρόσφατα να συνδεθεί στο <ph name="SITE" />, ο ιστότοπος ανταποκρίθηκε δημιουργώντας ασυνήθιστα και εσφαλμένα διαπιστευτήρια. Αυτό μπορεί να συμβεί όταν κάποιος εισβολέας προσπαθεί να υποκριθεί ότι είναι ο ιστότοπος <ph name="SITE" /> ή όταν κάποια οθόνη σύνδεσης Wi-Fi έχει διακόψει τη σύνδεσή σας. Τα στοιχεία σας εξακολουθούν να είναι ασφαλή επειδή το Chromium διέκοψε τη σύνδεση πριν από την ανταλλαγή δεδομένων.</translation> <translation id="9137013805542155359">Εμφάνιση πρωτοτύπου</translation> +<translation id="9137248913990643158">Εκκινήστε και συνδεθείτε στο Chrome πριν χρησιμοποιήσετε αυτήν την εφαρμογή.</translation> <translation id="9148507642005240123">&Αναίρεση επεξεργασίας</translation> <translation id="9154194610265714752">Ενημερώθηκε</translation> <translation id="9157595877708044936">Ρύθμιση...</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb index 8c33d45..6dfad9e 100644 --- a/components/strings/components_strings_en-GB.xtb +++ b/components/strings/components_strings_en-GB.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Department</translation> <translation id="2113977810652731515">Card</translation> <translation id="2114841414352855701">Ignored because it was overridden by <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Looking for nearby Physical Web pages</translation> <translation id="213826338245044447">Mobile Bookmarks</translation> <translation id="2148716181193084225">Today</translation> <translation id="2154054054215849342">Sync is not available for your domain</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Request succeeded</translation> <translation id="2728127805433021124">Server's certificate is signed using a weak signature algorithm.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Running Connectivity Diagnostics<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Remove selected items</translation> <translation id="277499241957683684">Missing device record</translation> <translation id="2784949926578158345">The connection was reset.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">An embedded page at <ph name="SITE" /> says:</translation> <translation id="5556459405103347317">Reload</translation> <translation id="5565735124758917034">Active</translation> +<translation id="5572851009514199876">Please start and sign in to Chrome so that Chrome can check whether you are allowed to access this site.</translation> <translation id="5575380383496039204">Unsupported delivery address. Select a different address.</translation> <translation id="5580958916614886209">Check your expiry month and try again</translation> <translation id="560412284261940334">Management not supported</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Your card is confirmed</translation> <translation id="6897140037006041989">User Agent</translation> <translation id="6915804003454593391">User:</translation> -<translation id="6937422995269576720">Card number invalid</translation> <translation id="6957887021205513506">The server's certificate appears to be a forgery.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Device</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> doesn't adhere to security standards.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Learn more<ph name="END_LINK" /> about this problem.</translation> <translation id="7219179957768738017">The connection uses <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Processing</translation> <translation id="724691107663265825">The site ahead contains malware</translation> <translation id="724975217298816891">Enter the expiry date and CVC for <ph name="CREDIT_CARD" /> to update your card details. Once you've confirmed, your card details will be shared with this site.</translation> <translation id="725866823122871198">A private connection to <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> can't be established because your computer's date and time (<ph name="DATE_AND_TIME" />) are incorrect.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Remove form suggestion from Chrome?</translation> <translation id="7815407501681723534">Found <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> for '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">There was an error processing your order. Please check your account and try again.</translation> <translation id="785549533363645510">However, you aren’t invisible. Going incognito doesn’t hide your browsing from your employer, your Internet service provider or the websites that you visit.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Check your CVC and try again</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Unable to launch payment app.</translation> <translation id="9103872766612412690"><ph name="SITE" /> normally uses encryption to protect your information. When Chromium tried to connect to <ph name="SITE" /> this time, the website sent back unusual and incorrect credentials. This may happen when an attacker is trying to pretend to be <ph name="SITE" />, or a Wi-Fi sign-in screen has interrupted the connection. Your information is still secure because Chromium stopped the connection before any data was exchanged.</translation> <translation id="9137013805542155359">Show original</translation> +<translation id="9137248913990643158">Please start and sign in to Chrome before using this app.</translation> <translation id="9148507642005240123">&Undo edit</translation> <translation id="9154194610265714752">Updated</translation> <translation id="9157595877708044936">Setting up...</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb index 24832a3d..2ad1bf4 100644 --- a/components/strings/components_strings_es-419.xtb +++ b/components/strings/components_strings_es-419.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departamento</translation> <translation id="2113977810652731515">Tarjeta</translation> <translation id="2114841414352855701">Se ignoró porque fue anulada por <ph name="POLICY_NAME" /> .</translation> +<translation id="2138201775715568214">Buscando páginas web físicas cercanas</translation> <translation id="213826338245044447">Favoritos del celular</translation> <translation id="2148716181193084225">Hoy</translation> <translation id="2154054054215849342">El servicio de sincronización no está disponible para tu dominio</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Solicitud correcta</translation> <translation id="2728127805433021124">El certificado del servidor está firmado con un algoritmo de firma no seguro.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Ejecución del Diagnóstico de conectividad<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Aceptar</translation> <translation id="2742870351467570537">Eliminar elementos seleccionados</translation> <translation id="277499241957683684">Falta un registro de dispositivo.</translation> <translation id="2784949926578158345">Se ha restablecido la conexión.</translation> @@ -469,6 +471,7 @@ <translation id="5544037170328430102">Una página incrustada en <ph name="SITE" /> dice:</translation> <translation id="5556459405103347317">Cargar de nuevo</translation> <translation id="5565735124758917034">Activo</translation> +<translation id="5572851009514199876">Abre Chrome y accede a tu cuenta para que el programa pueda comprobar si puedes acceder a este sitio.</translation> <translation id="5575380383496039204">La dirección de entrega no es compatible. Selecciona otra dirección.</translation> <translation id="5580958916614886209">Comprueba el mes de vencimiento y vuelve a intentarlo</translation> <translation id="560412284261940334">No se admite la administración.</translation> @@ -594,7 +597,6 @@ <translation id="6895330447102777224">Tu tarjeta se confirmó</translation> <translation id="6897140037006041989">User agent</translation> <translation id="6915804003454593391">Usuario:</translation> -<translation id="6937422995269576720">Número de tarjeta no válido</translation> <translation id="6957887021205513506">El certificado del servidor parece falso.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Dispositivo</translation> @@ -622,6 +624,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> no cumple con los estándares de seguridad.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /> acerca de este problema.</translation> <translation id="7219179957768738017">La conexión usa <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Procesando</translation> <translation id="724691107663265825">Este sitio web contiene software malicioso</translation> <translation id="724975217298816891">Ingresa la fecha de vencimiento y el CVC de la tarjeta <ph name="CREDIT_CARD" /> para actualizar sus datos. Después de confirmarla, los datos de tu tarjeta se compartirán con este sitio.</translation> <translation id="725866823122871198">No se puede establecer una conexión privada a <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> porque la fecha y la hora del equipo (<ph name="DATE_AND_TIME" />) son incorrectas.</translation> @@ -697,7 +700,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">¿Confirmas que quieres quitar la sugerencia de formulario de Chrome?</translation> <translation id="7815407501681723534">Se encontraron <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> para "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Se produjo un error al procesar tu pedido. Comprueba tu cuenta e inténtalo de nuevo.</translation> <translation id="785549533363645510">Sin embargo, no eres invisible. El modo de navegación de incógnito no oculta tu navegación de tu empleador, de tu proveedor de servicios de Internet, ni de los sitios web que visitas.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Verifica tu CVC y vuelve a intentarlo.</translation> @@ -811,6 +813,7 @@ <translation id="9094175695478007090">No se puede lanzar la app de pago.</translation> <translation id="9103872766612412690"><ph name="SITE" /> suele utilizar la encriptación para proteger la información. Cuando Chromium intentó conectarse a <ph name="SITE" />, el sitio web devolvió credenciales incorrectas y poco comunes. Es posible que un atacante quiera suplantar a <ph name="SITE" /> o que una pantalla de acceso Wi-Fi haya interrumpido la conexión. Tu información permanece segura porque Chromium detuvo la conexión para evitar el intercambio de datos.</translation> <translation id="9137013805542155359">Mostrar original</translation> +<translation id="9137248913990643158">Abre Chrome y accede a tu cuenta antes de usar esta app.</translation> <translation id="9148507642005240123">&Deshacer Editar</translation> <translation id="9154194610265714752">Actualizado</translation> <translation id="9157595877708044936">Configurando...</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb index 28d0c004..22cc0b2 100644 --- a/components/strings/components_strings_es.xtb +++ b/components/strings/components_strings_es.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departamento</translation> <translation id="2113977810652731515">Tarjeta</translation> <translation id="2114841414352855701">Se ha ignorado la política porque la anula <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Buscando páginas de la Web física cercanas</translation> <translation id="213826338245044447">Marcadores del móvil</translation> <translation id="2148716181193084225">Hoy</translation> <translation id="2154054054215849342">La sincronización no está disponible para tu dominio</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Solicitud correcta</translation> <translation id="2728127805433021124">El certificado del servidor está firmado con un algoritmo de firma no seguro.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Ejecutar Diagnóstico de conectividad<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Aceptar</translation> <translation id="2742870351467570537">Eliminar elementos seleccionados</translation> <translation id="277499241957683684">Falta un registro de dispositivo.</translation> <translation id="2784949926578158345">Se ha restablecido la conexión.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Una página insertada en <ph name="SITE" /> dice:</translation> <translation id="5556459405103347317">Cargar de nuevo</translation> <translation id="5565735124758917034">Activo</translation> +<translation id="5572851009514199876">Abre Chrome e inicia sesión en el navegador para que compruebe si tienes permiso para acceder a este sitio web.</translation> <translation id="5575380383496039204">Dirección de entrega no admitida. Selecciona otra dirección.</translation> <translation id="5580958916614886209">Consulta el mes de vencimiento y vuelve a intentarlo</translation> <translation id="560412284261940334">Administración no admitida</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Tu tarjeta se ha confirmado</translation> <translation id="6897140037006041989">Agente de usuario</translation> <translation id="6915804003454593391">Usuario:</translation> -<translation id="6937422995269576720">El número de tarjeta no es válido</translation> <translation id="6957887021205513506">El certificado del servidor parece ser falso.</translation> <translation id="6965382102122355670">Aceptar</translation> <translation id="6965978654500191972">Dispositivo</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">La página <ph name="HOST_NAME" /> no cumple los estándares de seguridad.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /> sobre este problema.</translation> <translation id="7219179957768738017">La conexión utiliza <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Procesando pago</translation> <translation id="724691107663265825">El sitio al que vas a acceder contiene software malicioso</translation> <translation id="724975217298816891">Introduce la fecha de caducidad y el código CVC de la tarjeta <ph name="CREDIT_CARD" /> para actualizar sus detalles. Cuando la confirmes, su información se compartirá con este sitio web.</translation> <translation id="725866823122871198">No se puede establecer una conexión privada con <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> porque la fecha y la hora de tu ordenador (<ph name="DATE_AND_TIME" />) no son correctas.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">¿Eliminar sugerencia de formulario de Chrome?</translation> <translation id="7815407501681723534">Se han encontrado <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> de <ph name="SEARCH_STRING" /></translation> -<translation id="7837582000577464779">Se ha producido un error al procesar tu pedido. Comprueba tu cuenta y vuelve a intentarlo.</translation> <translation id="785549533363645510">Ten en cuenta que tus acciones no serán totalmente invisibles. El uso del modo incógnito no te permite ocultar tu actividad de navegación a tu empresa, a tu proveedor de servicios de Internet o a los sitios web que visites.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Comprueba el código CVC y vuelve a intentarlo</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">No se ha podido iniciar la aplicación de pago.</translation> <translation id="9103872766612412690"><ph name="SITE" /> utiliza normalmente el cifrado para proteger tu información. Cuando Chromium intentó establecer conexión con <ph name="SITE" />, el sitio web devolvió unas credenciales inusuales e incorrectas. Esto puede ocurrir si un atacante intenta suplantar la identidad de <ph name="SITE" /> o si una pantalla de inicio de sesión Wi-Fi interrumpe la conexión. Tu información sigue estando protegida, ya que Chromium detuvo la conexión antes de que se intercambiaran datos.</translation> <translation id="9137013805542155359">Mostrar original</translation> +<translation id="9137248913990643158">Abre Chrome e inicia sesión en el navegador para usar esta aplicación.</translation> <translation id="9148507642005240123">&Deshacer edición</translation> <translation id="9154194610265714752">Actualizado</translation> <translation id="9157595877708044936">Configurando...</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb index 9704c04..b75f22f 100644 --- a/components/strings/components_strings_et.xtb +++ b/components/strings/components_strings_et.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Osakond</translation> <translation id="2113977810652731515">Kaart</translation> <translation id="2114841414352855701">Seda ignoreeritakse, kuna reegel <ph name="POLICY_NAME" /> alistab selle.</translation> +<translation id="2138201775715568214">Lähedalasuvate füüsilise veebi lehtede otsimine</translation> <translation id="213826338245044447">Mobiili järjehoidjad</translation> <translation id="2148716181193084225">Täna</translation> <translation id="2154054054215849342">Sünkroonimisteenus pole domeeni jaoks saadaval</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Taotlus õnnestus</translation> <translation id="2728127805433021124">Serveri sertifikaat on allkirjastatud nõrga allkirjaalgoritmiga.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Ühenduvusdiagnostika käitamine<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Eemalda valitud üksused</translation> <translation id="277499241957683684">Seadme kirje puudub</translation> <translation id="2784949926578158345">Ühendus lähtestati.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Manustatud leht saidil <ph name="SITE" /> ütleb:</translation> <translation id="5556459405103347317">Laadi uuesti</translation> <translation id="5565735124758917034">Aktiivne</translation> +<translation id="5572851009514199876">Alustage ja logige Chrome'i sisse, et Chrome saaks kontrollida, kas teil on luba sellele saidile juurdepääsemiseks.</translation> <translation id="5575380383496039204">Toetamata kohaletoimetamise aadress. Valige muu aadress.</translation> <translation id="5580958916614886209">Kontrollige aegumiskuud ja proovige uuesti</translation> <translation id="560412284261940334">Haldust ei toetata</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Teie kaart on kinnitatud</translation> <translation id="6897140037006041989">Kasutajaagent</translation> <translation id="6915804003454593391">Kasutaja:</translation> -<translation id="6937422995269576720">Sobimatu kaardinumber</translation> <translation id="6957887021205513506">Serveri sertifikaat näib olevat võltsing.</translation> <translation id="6965382102122355670">Ok</translation> <translation id="6965978654500191972">Seade</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">Host <ph name="HOST_NAME" /> ei pea turvastandarditest kinni.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /> selle probleemi kohta.</translation> <translation id="7219179957768738017">Ühendus kasutab protokolli <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Töötlemine</translation> <translation id="724691107663265825">Avatav veebisait sisaldab pahavara</translation> <translation id="724975217298816891">Kaardi üksikasjade värskendamiseks sisestage krediitkaardi <ph name="CREDIT_CARD" /> aegumiskuupäev ja CVC. Kui selle kinnitate, jagatakse teie kaardi üksikasju selle saidiga.</translation> <translation id="725866823122871198">Privaatset ühendust ei saa domeeniga <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> luua, kuna arvuti kuupäev ja kellaaeg (<ph name="DATE_AND_TIME" />) on valed.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Kas eemaldada Chrome'ist vormi soovitus?</translation> <translation id="7815407501681723534">Otsingule „<ph name="SEARCH_STRING" />” leiti <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" />.</translation> -<translation id="7837582000577464779">Tellimuse töötlemisel ilmnes viga. Kontrollige oma kontot ja proovige uuesti.</translation> <translation id="785549533363645510">Te pole siiski nähtamatu. Inkognito režiimi kasutamine ei varja teie sirvimist tööandja, Interneti-teenuse pakkuja ega külastatavate veebisaitide eest.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Kontrollige CVC-d ja proovige uuesti</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Makserakendust ei õnnestu käivitada.</translation> <translation id="9103872766612412690">Sait <ph name="SITE" /> kasutab teie teabe kaitsmiseks tavaliselt krüpteerimist. Kui Chromium püüdis seekord saidiga <ph name="SITE" /> ühendust luua, tagastas veebisait ebatavalised ja valed mandaadid. See võib juhtuda siis, kui ründaja proovib teeselda, et on sait <ph name="SITE" />, või WiFi sisselogimisekraan on ühenduse katkestanud. Teie teave on endiselt kaitstud, sest Chromium peatas ühenduse enne andmevahetust.</translation> <translation id="9137013805542155359">Kuva originaal</translation> +<translation id="9137248913990643158">Enne selle rakenduse kasutamist alustage ja logige Chrome'i sisse.</translation> <translation id="9148507642005240123">&Võta muudatus tagasi</translation> <translation id="9154194610265714752">Värskendatud</translation> <translation id="9157595877708044936">Seadistamine...</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb index b9db069..64da72a6 100644 --- a/components/strings/components_strings_fa.xtb +++ b/components/strings/components_strings_fa.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">حوزه</translation> <translation id="2113977810652731515">کارت</translation> <translation id="2114841414352855701">نادیده گرفته شد زیرا <ph name="POLICY_NAME" /> آن را لغو میکند.</translation> +<translation id="2138201775715568214">در حال جستجوی صفحات وب فیزیکی اطراف</translation> <translation id="213826338245044447">نشانکهای تلفن همراه</translation> <translation id="2148716181193084225">امروز</translation> <translation id="2154054054215849342">همگامسازی برای دامنه شما در دسترس نیست</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">درخواست با موفقیت انجام شد</translation> <translation id="2728127805433021124">گواهی سرور با استفاده از یک الگوریتم امضای ضعیف امضا شده است.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />در حال اجرای عیبیابی اتصال<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">تأیید</translation> <translation id="2742870351467570537">حذف آیتم های انتخاب شده</translation> <translation id="277499241957683684">ثبت دستگاه موجود نیست</translation> <translation id="2784949926578158345">اتصال مجدداً برقرار شد.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">صفحه جاسازیشدهای در <ph name="SITE" /> میگوید:</translation> <translation id="5556459405103347317">تازهسازی</translation> <translation id="5565735124758917034">فعال</translation> +<translation id="5572851009514199876">لطفاً Chrome را باز کنید و به سیستم آن وارد شوید تا Chrome بتواند بررسی کند آیا مجاز به دسترسی به این سایت هستید یا خیر.</translation> <translation id="5575380383496039204">آدرس ارسال کالا پشتیبانی نمیشود. نشانی دیگری انتخاب کنید.</translation> <translation id="5580958916614886209">ماه انقضا را بررسی و دوباره امتحان کنید</translation> <translation id="560412284261940334">مدیریت پشتیبانی نمیشود</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">کارتتان تأیید شد</translation> <translation id="6897140037006041989">نماینده کاربر</translation> <translation id="6915804003454593391">کاربر:</translation> -<translation id="6937422995269576720">شماره کارت معتبر نیست</translation> <translation id="6957887021205513506">به نظر میرسد که گواهی سرور جعلی باشد.</translation> <translation id="6965382102122355670">قبول</translation> <translation id="6965978654500191972">دستگاه</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> از استانداردهای امنیتی پیروی نمیکند.</translation> <translation id="721197778055552897">دربارهٔ این مشکل <ph name="BEGIN_LINK" />بیشتر بیاموزید<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">اتصال از <ph name="SSL_VERSION" /> استفاده میکند.</translation> +<translation id="7220786058474068424">درحال پردازش</translation> <translation id="724691107663265825">این وبسایت بدافزار دارد</translation> <translation id="724975217298816891">برای بهروزرسانی جزئیات کارتتان، تاریخ انقضا و CVC کارت <ph name="CREDIT_CARD" /> را وارد کنید. بعد از تأیید شدن، جزئیات کارتتان با این سایت به اشتراک گذاشته میشود.</translation> <translation id="725866823122871198">اتصال خصوصی به <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> برقرار نمیشود زیرا تاریخ و زمان رایانه شما (<ph name="DATE_AND_TIME" />) نادرست است.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">پیشنهاد فرم از Chrome پاک شود؟</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /><ph name="SEARCH_RESULTS" /> برای «<ph name="SEARCH_STRING" />» پیدا شد</translation> -<translation id="7837582000577464779">هنگام پردازش سفارش شما خطایی رخ داد. لطفاً حسابتان را بررسی کرده و دوباره امتحان کنید.</translation> <translation id="785549533363645510">اما، شما نامرئی نیستید. با استفاده از حالت ناشناس، مرورتان از چشمان کارفرمای شما، ارائهدهنده خدمات اینترنت یا وبسایتهایی که بازدید میکنید پنهان نمیماند.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">CVC را بررسی کرده و دوباره امتحان کنید</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">برنامه پرداخت راهاندازی نشد.</translation> <translation id="9103872766612412690"><ph name="SITE" /> معمولاً برای محافظت از اطلاعات شما از رمزگذاری استفاده میکند. اما این بار که Chromium تلاش کرد به <ph name="SITE" /> متصل شود، وبسایت اعتبارنامهای نامعمول و نادرست را برگرداند. ممکن است مهاجمی در تلاش باشد خود را بهجای <ph name="SITE" /> معرفی کند یا یک صفحه ورود به سیستم Wi-Fi در ارتباط اختلال ایجاد کرده باشد. اطلاعات شما همچنان ایمن است، زیرا Chromium قبل از هرگونه تبادل داده، اتصال را متوقف کرد.</translation> <translation id="9137013805542155359">نمایش مورد اصلی</translation> +<translation id="9137248913990643158">لطفاً پیش از استفاده از این برنامه، Chrome را باز کنید و به سیستم آن وارد شوید.</translation> <translation id="9148507642005240123">&واگرد ویرایش</translation> <translation id="9154194610265714752">بهروزرسانی شد</translation> <translation id="9157595877708044936">در حال راهاندازی...</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb index dfd2cb01..07f3dc7 100644 --- a/components/strings/components_strings_fi.xtb +++ b/components/strings/components_strings_fi.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Osasto</translation> <translation id="2113977810652731515">Kortti</translation> <translation id="2114841414352855701">Ei käytetä – käytännön <ph name="POLICY_NAME" /> ohittama.</translation> +<translation id="2138201775715568214">Etsitään lähistöllä olevia Fyysisen webin sivuja</translation> <translation id="213826338245044447">Mobiilikirjanmerkit</translation> <translation id="2148716181193084225">Tänään</translation> <translation id="2154054054215849342">Synkronointi ei ole käytettävissä verkkotunnuksessasi.</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Pyyntö onnistui</translation> <translation id="2728127805433021124">Palvelimen varmenne on allekirjoitettu heikolla allekirjoitusalgoritmilla.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />yhteysdiagnostiikkaa<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Poista valitut kohteet</translation> <translation id="277499241957683684">Laitetallenne puuttuu</translation> <translation id="2784949926578158345">Yhteys katkaistiin.</translation> @@ -469,6 +471,7 @@ <translation id="5544037170328430102">Viesti upotetulta sivulta osoitteessa <ph name="SITE" />:</translation> <translation id="5556459405103347317">Lataa uudelleen</translation> <translation id="5565735124758917034">Aktiivinen</translation> +<translation id="5572851009514199876">Aloita ja kirjaudu sisään, jotta Chrome voi tarkistaa, onko sinulla oikeus käyttää tätä sivustoa.</translation> <translation id="5575380383496039204">Toimitusosoite ei kelpaa. Valitse toinen osoite.</translation> <translation id="5580958916614886209">Tarkista vanhentumiskuukausi ja yritä uudelleen.</translation> <translation id="560412284261940334">Hallintaa ei tueta</translation> @@ -594,7 +597,6 @@ <translation id="6895330447102777224">Korttisi vahvistettiin.</translation> <translation id="6897140037006041989">User agent</translation> <translation id="6915804003454593391">Käyttäjä:</translation> -<translation id="6937422995269576720">Kortin numero ei kelpaa</translation> <translation id="6957887021205513506">Palvelimen varmenne näyttää olevan väärennös.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Laite</translation> @@ -622,6 +624,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> ei noudata tietoturvastandardeja.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Lisätietoja<ph name="END_LINK" /> ongelmasta.</translation> <translation id="7219179957768738017">Yhteys käyttää protokollaa <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Käsitellään.</translation> <translation id="724691107663265825">Seuraava verkkosivusto sisältää haittaohjelmia</translation> <translation id="724975217298816891">Päivitä kortin <ph name="CREDIT_CARD" /> tiedot antamalla sen CVC ja vanhenemispäivämäärä. Vahvistamisen jälkeen korttisi tiedot jaetaan sivuston kanssa.</translation> <translation id="725866823122871198">Verkkotunnukseen <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ei voi muodostaa salattua yhteyttä, koska tietokoneesi aika ja päivämäärä (<ph name="DATE_AND_TIME" />) ovat virheelliset.</translation> @@ -697,7 +700,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Poistetaanko lomake-ehdotus Chromen tiedoista?</translation> <translation id="7815407501681723534">Haku <ph name="SEARCH_STRING" /> tuotti <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" />.</translation> -<translation id="7837582000577464779">Tilauksen käsittelyssä tapahtui virhe. Tarkista tilisi ja yritä uudelleen.</translation> <translation id="785549533363645510">Et ole kuitenkaan näkymätön. Incognito-tilan käyttäminen ei kätke selaamistasi työnantajaltasi, internetpalveluntarjoajaltasi tai käyttämiltäsi sivustoilta.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Tarkista CVC ja yritä uudelleen.</translation> @@ -811,6 +813,7 @@ <translation id="9094175695478007090">Maksusovelluksen käynnistys epäonnistui.</translation> <translation id="9103872766612412690"><ph name="SITE" /> suojaa tietosi normaalisti salauksen avulla. Kun Chromium yritti tällä kertaa yhdistää sivustoon <ph name="SITE" />, sivusto palautti epätavalliset ja virheelliset kirjautumistiedot. Hyökkääjä saattaa yrittää esiintyä sivustona <ph name="SITE" />, tai Wi-Fi-kirjautumisruutu on keskeyttänyt yhteyden. Tietosi ovat edelleen turvassa, sillä Chromium katkaisi yhteyden, ennen kuin mitään tietoja vaihdettiin.</translation> <translation id="9137013805542155359">Näytä alkuperäinen</translation> +<translation id="9137248913990643158">Aloita ja kirjaudu sisään Chromeen ennen tämän sovelluksen käyttämistä.</translation> <translation id="9148507642005240123">K&umoa muokkaus</translation> <translation id="9154194610265714752">Päivitetty</translation> <translation id="9157595877708044936">Valmistellaan...</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb index 4a0f4ece..ad1ad2f 100644 --- a/components/strings/components_strings_fil.xtb +++ b/components/strings/components_strings_fil.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departamento</translation> <translation id="2113977810652731515">Card</translation> <translation id="2114841414352855701">Binalewala dahil na-override ito ng <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Naghahanap ng mga kalapit na page sa Pisikal na Web</translation> <translation id="213826338245044447">Mga Bookmark sa Mobile</translation> <translation id="2148716181193084225">Ngayon</translation> <translation id="2154054054215849342">Hindi available ang pag-sync para sa iyong domain</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Matagumpay ang kahilingan</translation> <translation id="2728127805433021124">Nilagdaan ang certificate ng server gamit ang mahinang algorithm ng lagda.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Magpatakbo ng Connectivity Diagnostics<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Alisin ang mga napiling item</translation> <translation id="277499241957683684">Nawawalang tala ng device</translation> <translation id="2784949926578158345">Na-reset ang koneksyon.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Isinasaad ng isang naka-embed na page sa <ph name="SITE" /> na:</translation> <translation id="5556459405103347317">I-reload</translation> <translation id="5565735124758917034">Aktibo</translation> +<translation id="5572851009514199876">Magsimula at mag-sign in sa Chrome upang masuri ng Chrome kung pinapayagan kang i-access ang site na ito.</translation> <translation id="5575380383496039204">Hindi sinusuportahang address kung saan maghahatid. Pumili ng ibang address.</translation> <translation id="5580958916614886209">Tingnan ang iyong buwan ng pag-expire at subukang muli</translation> <translation id="560412284261940334">Hindi sinusuportahan ang pamamahala</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Nakumpirma na ang iyong card</translation> <translation id="6897140037006041989">User Agent</translation> <translation id="6915804003454593391">User:</translation> -<translation id="6937422995269576720">Di-wasto ang card number</translation> <translation id="6957887021205513506">Lumilitaw na isang pamamalsipika ang certificate ng server.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Device</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">Hindi sumusunod ang <ph name="HOST_NAME" /> sa mga pamantayan sa seguridad.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Dagdagan ang nalalaman<ph name="END_LINK" /> tungkol sa problemang ito.</translation> <translation id="7219179957768738017">Gumagamit ng <ph name="SSL_VERSION" /> ang koneksyon.</translation> +<translation id="7220786058474068424">Pinoproseso</translation> <translation id="724691107663265825">Naglalaman ng malware ang site</translation> <translation id="724975217298816891">Ilagay ang petsa ng expiration at CVC para sa <ph name="CREDIT_CARD" /> upang i-update ang mga detalye ng iyong card. Kapag nagkumpirma ka na, ibabahagi ang mga detalye ng iyong card sa site na ito.</translation> <translation id="725866823122871198">Hindi makapagtatag ng pribadong koneksyon sa <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> dahil mali ang petsa at oras ng iyong computer (<ph name="DATE_AND_TIME" />).</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Alisin ang suhestyon sa Chrome?</translation> <translation id="7815407501681723534">Nakakita ng <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> para sa '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">Nagkaroon ng error sa pagpoproseso ng iyong order. Pakitingnan ang iyong account at subukang muli.</translation> <translation id="785549533363645510">Gayunpaman, hindi ka invisible. Kahit mag-incognito ka, hindi matatago ang iyong pagba-browse mula sa iyong employer, sa iyong internet service provider o sa mga website na binibisita mo.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Tingnan ang iyong CVC at subukang muli</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Hindi mailunsad ang app sa pagbabayad.</translation> <translation id="9103872766612412690">Karaniwang gumagamit ang <ph name="SITE" /> ng pag-encrypt upang protektahan ang iyong impormasyon. Noong sinubukang kumonekta ng Chromium sa <ph name="SITE" /> sa pagkakataong ito, nagbalik ang website ng mga hindi pangkaraniwan at maling kredensyal. Maaari itong mangyari kapag sinusubukan ng isang attacker na magpanggap bilang <ph name="SITE" />, o naputol ang koneksyon dahil sa isang screen ng pag-sign in sa Wi-Fi. Secure pa rin ang iyong impormasyon dahil inihinto ng Chromium ang koneksyon bago magkaroon ng palitan ng anumang data.</translation> <translation id="9137013805542155359">Ipakita ang orihinal</translation> +<translation id="9137248913990643158">Magsimula at mag-sign in sa Chrome bago gamitin ang app na ito.</translation> <translation id="9148507642005240123">&I-undo ang pag-e-edit</translation> <translation id="9154194610265714752">Na-update</translation> <translation id="9157595877708044936">Nagse-set up...</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb index f44da386..8012c06 100644 --- a/components/strings/components_strings_fr.xtb +++ b/components/strings/components_strings_fr.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Département</translation> <translation id="2113977810652731515">Carte</translation> <translation id="2114841414352855701">Ignorée parce que remplacée par <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Recherche de pages Web physique à proximité</translation> <translation id="213826338245044447">Favoris sur mobile</translation> <translation id="2148716181193084225">Aujourd'hui</translation> <translation id="2154054054215849342">La synchronisation n'est pas disponible pour votre domaine</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Demande réussie.</translation> <translation id="2728127805433021124">Le certificat du serveur a été signé avec un algorithme de signature faible.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Exécuter les diagnostics de connectivité<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Supprimer les éléments sélectionnés</translation> <translation id="277499241957683684">Enregistrement de l'appareil manquant.</translation> <translation id="2784949926578158345">La connexion a été réinitialisée.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Une page intégrée à l'adresse <ph name="SITE" /> indique :</translation> <translation id="5556459405103347317">Actualiser</translation> <translation id="5565735124758917034">Actif</translation> +<translation id="5572851009514199876">Veuillez démarrer Chrome et vous connecter à votre compte pour que le navigateur puisse vérifier que vous êtes autorisé à accéder à ce site.</translation> <translation id="5575380383496039204">Adresse de livraison non acceptée. Sélectionnez une autre adresse.</translation> <translation id="5580958916614886209">Veuillez vérifier le mois d'expiration, puis réessayer</translation> <translation id="560412284261940334">Gestion non acceptée.</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Carte validée</translation> <translation id="6897140037006041989">Agent utilisateur</translation> <translation id="6915804003454593391">Utilisateur :</translation> -<translation id="6937422995269576720">Numéro de carte non valide</translation> <translation id="6957887021205513506">Le certificat du serveur semble être contrefait.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Périphérique</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> ne respecte pas les normes de sécurité.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /> sur ce problème.</translation> <translation id="7219179957768738017">La connexion utilise <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Traitement en cours</translation> <translation id="724691107663265825">Le site que vous allez ouvrir contient des logiciels malveillants</translation> <translation id="724975217298816891">Saisissez la date d'expiration et le code CVC de la carte <ph name="CREDIT_CARD" /> pour mettre à jour les informations relatives à celle-ci. Une fois la validation effectuée, les informations seront partagées avec ce site.</translation> <translation id="725866823122871198">Impossible d'établir une connexion privée à <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> : la date et l'heure de votre ordinateur (<ph name="DATE_AND_TIME" />) sont incorrectes.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Supprimer la suggestion de saisie de formulaire de Chrome ?</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> trouvé(s) pour "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Une erreur s'est produite lors du traitement de votre commande. Veuillez vérifier votre compte, puis réessayer.</translation> <translation id="785549533363645510">Cependant, cela ne vous rend pas invisible. Si vous passez en mode navigation privée, votre employeur, votre fournisseur d'accès à Internet ou les sites Web que vous consultez pourront toujours avoir accès à votre historique de navigation.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> : <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Veuillez vérifier votre code CVC et réessayer.</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Impossible de lancer l'application de paiement.</translation> <translation id="9103872766612412690">Un chiffrement est normalement utilisé sur le site <ph name="SITE" /> pour protéger vos informations. Lors de la dernière tentative de connexion de Chromium au site <ph name="SITE" />, des identifiants inhabituels et incorrects ont été retournés. Il est possible qu'un individu malveillant tente de se faire passer pour <ph name="SITE" /> ou qu'un écran de connexion Wi-Fi ait interrompu la connexion. Vos informations restent sécurisées, car nous avons arrêté la connexion avant l'échange des données.</translation> <translation id="9137013805542155359">Afficher l'original</translation> +<translation id="9137248913990643158">Veuillez démarrer Chrome et vous connecter à votre compte avant d'utiliser cette application</translation> <translation id="9148507642005240123">&Annuler la modification</translation> <translation id="9154194610265714752">Mis à jour</translation> <translation id="9157595877708044936">Configuration en cours...</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb index 4a239a6..bf6886b 100644 --- a/components/strings/components_strings_gu.xtb +++ b/components/strings/components_strings_gu.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">વિભાગ</translation> <translation id="2113977810652731515">કાર્ડ</translation> <translation id="2114841414352855701">અવગણ્યું કારણ કે તે <ph name="POLICY_NAME" /> દ્વારા ઓવરરાઇડ થયું હતું.</translation> +<translation id="2138201775715568214">નજીકના વાસ્તવિક વેબ પૃષ્ઠોને શોધી રહ્યાં છો</translation> <translation id="213826338245044447">મોબાઇલ બુકમાર્ક્સ</translation> <translation id="2148716181193084225">આજે</translation> <translation id="2154054054215849342">સમન્વયન તમારા ડોમેન માટે ઉપલબ્ધ નથી.</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">વિનંતી સફળ થઇ</translation> <translation id="2728127805433021124">સર્વરનું પ્રમાણપત્ર એક નબળા હસ્તાક્ષર અલ્ગોરિધમનો ઉપયોગ કરીને હસ્તાક્ષરિત કરેલું છે.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />કનેક્ટિવિટી ડાયગ્નોસ્ટિક્સ ચલાવી રહ્યાં છે<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ઓકે</translation> <translation id="2742870351467570537">પસંદ કરેલી આઇટમ્સને દૂર કરો</translation> <translation id="277499241957683684">ઉપકરણ રેકોર્ડ ખૂટે છે</translation> <translation id="2784949926578158345">કનેક્શન ફરીથી સેટ થયું.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> પરનું એમ્બેડ કરેલ પૃષ્ઠ આ કહે છે:</translation> <translation id="5556459405103347317">ફરિથી લોડ કરો</translation> <translation id="5565735124758917034">સક્રિય</translation> +<translation id="5572851009514199876">કૃપા કરીને Chrome ને પ્રારંભ કરો અને સાઇન ઇન કરો જેથી કરીને Chrome તપાસી શકે કે તમને આ સાઇટની ઍક્સેસની મંજૂરી છે કે કેમ.</translation> <translation id="5575380383496039204">વિતરણ માટેનું સરનામું અસમર્થિત. એક અલગ સરનામું પસંદ કરો.</translation> <translation id="5580958916614886209">તમારો સમાપ્તિ મહિનો તપાસો અને ફરી પ્રયાસ કરો</translation> <translation id="560412284261940334">સંચાલન સમર્થિત નથી</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">તમારા કાર્ડની પુષ્ટિ કરવામાં આવી છે</translation> <translation id="6897140037006041989">વપરાશકર્તા એજન્ટ</translation> <translation id="6915804003454593391">વપરાશકર્તા: </translation> -<translation id="6937422995269576720">કાર્ડ નંબર અમાન્ય</translation> <translation id="6957887021205513506">સર્વરનું પ્રમાણપત્ર બનાવટી હોય એવું લાગે છે.</translation> <translation id="6965382102122355670">ઓકે</translation> <translation id="6965978654500191972">ઉપકરણ</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" />, સુરક્ષા માનકોનું પાલન કરતું નથી.</translation> <translation id="721197778055552897">આ સમસ્યા વિશે <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">કનેક્શન <ph name="SSL_VERSION" /> નો ઉપયોગ કરે છે.</translation> +<translation id="7220786058474068424">પ્રક્રિયા કરી રહ્યું છે</translation> <translation id="724691107663265825">સાઇટ આગળ મૉલવેર ધરાવે છે</translation> <translation id="724975217298816891">તમારા કાર્ડની વિગતોને અપડેટ કરવા <ph name="CREDIT_CARD" /> માટે સમાપ્તિ તારીખ અને CVC દાખલ કરો. એકવાર તમે પુષ્ટિ કરી લો, તે પછી આ સાઇટ સાથે તમારા કાર્ડની વિગતો શેર કરવામાં આવશે.</translation> <translation id="725866823122871198"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> પર ખાનગી કનેક્શન સ્થાપિત કરી શકાતું નથી કારણ કે તમારા ઉપકરણની તારીખ અને સમય (<ph name="DATE_AND_TIME" />) અયોગ્ય છે.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome માંથી ફોર્મ સૂચનો દૂર કરીએ?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' માટે <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> મળ્યાં</translation> -<translation id="7837582000577464779">તમારા ઑર્ડર પર પ્રક્રિયા કરવામાં ભૂલ આવી હતી. કૃપા કરીને તમારા એકાઉન્ટને તપાસો અને ફરી પ્રયાસ કરો.</translation> <translation id="785549533363645510">જો કે, તમે અદૃશ્ય નથી. છુપામાં જવું તમારા નિયોક્તા, તમારા ઇન્ટરનેટ સેવા પ્રદાતા અથવા તમે મુલાકાત લો છો તે વેબસાઇટ્સથી તમારા બ્રાઉઝિંગને છુપાવતું નથી.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">તમારું CVC તપાસો અને ફરીથી પ્રયાસ કરો</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">ચુકવણી ઍપ્લિકેશન લોંચ કરવામાં અસમર્થ.</translation> <translation id="9103872766612412690"><ph name="SITE" /> સામાન્ય રીતે તમારી માહિતીને સુરક્ષિત રાખવા માટે એન્ક્રિપ્શનનો ઉપયોગ કરે છે. જ્યારે આ સમયે Chromium દ્વારા <ph name="SITE" /> થી કનેક્ટ કરવાનો પ્રયાસ થયો, ત્યારે વેબસાઇટે અસામાન્ય અને ખોટા ઓળખાણપત્રોને પાછા મોકલ્યાં. આવું ત્યારે થઇ શકે જ્યારે કોઈ હુમલાખોર <ph name="SITE" /> હોવાનો ડોળ કરવાનો પ્રયાસ કરી રહ્યો હોય અથવા કોઈ Wi-Fi સાઇન-ઇન સ્ક્રીને કનેક્શનમાં વિક્ષેપ પાડ્યો હોય. તમારી માહિતી હજી પણ સુરક્ષિત છે કારણ કે Chromium એ કોઈપણ ડેટા વિનિમય થાય તે પહેલાં જ કનેક્શન રોકી દીધું.</translation> <translation id="9137013805542155359">મૂળ બતાવો</translation> +<translation id="9137248913990643158">આ ઍપ્લિકેશનનો ઉપયોગ કરતાં પહેલાં કૃપા કરીને Chrome ને પ્રારંભ કરો અને સાઇન ઇન કરો.</translation> <translation id="9148507642005240123">&સંપાદિત કરવું પૂર્વવત્ કરો</translation> <translation id="9154194610265714752">અપડેટેડ</translation> <translation id="9157595877708044936">સેટિંગ અપ...</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb index 3912ad5..e8b84e98 100644 --- a/components/strings/components_strings_hi.xtb +++ b/components/strings/components_strings_hi.xtb
@@ -46,7 +46,7 @@ <translation id="1375198122581997741">वर्शन के बारे में</translation> <translation id="139305205187523129"><ph name="HOST_NAME" /> ने कोई डेटा नहीं भेजा.</translation> <translation id="1407135791313364759">सभी खोलें</translation> -<translation id="1413809658975081374">निजता त्रुटि</translation> +<translation id="1413809658975081374">निजता गड़बड़ी</translation> <translation id="1426410128494586442">हां</translation> <translation id="1430915738399379752">प्रिंट करें</translation> <translation id="1442912890475371290"><ph name="BEGIN_LINK" /><ph name="DOMAIN" /> के किसी पेज पर जाने का <ph name="END_LINK" /> प्रयास अवरोधित किया गया.</translation> @@ -102,7 +102,7 @@ <translation id="194030505837763158"><ph name="LINK" /> पर जाएं</translation> <translation id="1946821392246652573">स्वीकृत कार्ड</translation> <translation id="1962204205936693436"><ph name="DOMAIN" /> बुकमार्क</translation> -<translation id="1973335181906896915">क्रमबद्ध करने में त्रुटि</translation> +<translation id="1973335181906896915">क्रमबद्ध करने में गड़बड़ी</translation> <translation id="1974060860693918893">उन्नत</translation> <translation id="2001146170449793414">{COUNT,plural, =1{और 1 अधिक}one{और # अधिक}other{और # अधिक}}</translation> <translation id="2020194265157481222">कार्ड पर नाम आवश्यक है</translation> @@ -119,6 +119,7 @@ <translation id="2096368010154057602">विभाग</translation> <translation id="2113977810652731515">कार्ड</translation> <translation id="2114841414352855701">ध्यान नहीं दिया गया क्योंकि यह <ph name="POLICY_NAME" /> द्वारा ओवरराइड की गई थी.</translation> +<translation id="2138201775715568214">आस-पास के जीते-जागते वेब पृष्ठ खोजे जा रहे हैं</translation> <translation id="213826338245044447">मोबाइल बुकमार्क</translation> <translation id="2148716181193084225">आज</translation> <translation id="2154054054215849342">आपके डोमेन के लिए सिंक करने की सुविधा उपलब्ध नहीं है</translation> @@ -133,7 +134,7 @@ <translation id="2230458221926704099"><ph name="BEGIN_LINK" />निदान ऐप्लिकेशन<ph name="END_LINK" /> का उपयोग करके अपने कनेक्शन को ठीक करें</translation> <translation id="2239100178324503013">अभी भेजें</translation> <translation id="225207911366869382">यह मान इस नीति के लिए हटा दिया गया है.</translation> -<translation id="2262243747453050782">HTTP त्रुटि</translation> +<translation id="2262243747453050782">HTTP गड़बड़ी</translation> <translation id="2282872951544483773">अनुपलब्ध प्रयोग</translation> <translation id="2292556288342944218">आपका इंटरनेट कनेक्शन अवरुद्ध है</translation> <translation id="230155334948463882">नया कार्ड?</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">अनुरोध सफल रहा</translation> <translation id="2728127805433021124">सर्वर का प्रमाणपत्र एक कमज़ोर हस्ताक्षर एल्गोरिदम का उपयोग करके हस्ताक्षरित किया गया है.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />नेटवर्क कनेक्टिविटी चलाकर देखें<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ठीक</translation> <translation id="2742870351467570537">चयनित आइटम निकालें</translation> <translation id="277499241957683684">डिवाइस का रिकॉर्ड लापता है</translation> <translation id="2784949926578158345">कनेक्शन रीसेट किया गया था.</translation> @@ -223,7 +225,7 @@ <translation id="31207688938192855"><ph name="BEGIN_LINK" />कनेक्टिविटी निदान चलाकर देखें<ph name="END_LINK" />.</translation> <translation id="3145945101586104090">उत्तर डीकोड करने में विफल</translation> <translation id="3149891296864842641">शिपिंग विकल्प</translation> -<translation id="3150653042067488994">अस्थायी सर्वर त्रुटि</translation> +<translation id="3150653042067488994">अस्थायी सर्वर गड़बड़ी</translation> <translation id="3157931365184549694">पुनर्स्थापित करें</translation> <translation id="3167968892399408617">आपके द्वारा गुप्त टैब में देखे जाने वाले पेज, आपके द्वारा अपने सभी गुप्त टैब बंद कर देने के बाद आपके ब्राउज़र के इतिहास, कुकी संग्रह, या खोज इतिहास में नहीं रहेंगे. आपके द्वारा डाउनलोड की गईं सभी फ़ाइलें या बनाए गए बुकमार्क रख लिए जाएंगे.</translation> <translation id="3169472444629675720">तलाश करें</translation> @@ -250,10 +252,10 @@ <translation id="3340978935015468852">सेटिंग</translation> <translation id="3345135638360864351">इस साइट को ऐक्सेस करने का आपका अनुरोध <ph name="NAME" /> को नहीं भेजा जा सका. कृपया पुन: प्रयास करें.</translation> <translation id="3355823806454867987">प्रॉक्सी सेटिंग बदलें...</translation> -<translation id="3369192424181595722">घड़ी त्रुटि</translation> +<translation id="3369192424181595722">घड़ी गड़बड़ी</translation> <translation id="337363190475750230">प्रावधान रद्द</translation> -<translation id="3377188786107721145">नीति पार्स त्रुटि</translation> -<translation id="3380365263193509176">अज्ञात त्रुटि</translation> +<translation id="3377188786107721145">नीति पार्स गड़बड़ी</translation> +<translation id="3380365263193509176">अज्ञात गड़बड़ी</translation> <translation id="3380864720620200369">क्लाइंट आईडी:</translation> <translation id="3391030046425686457">वितरण पता</translation> <translation id="340013220407300675">हो सकता है हमलावर <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> से आपकी जानकारी चुराने का प्रयास कर रहे हों (उदाहरण के लिए पासवर्ड, संदेश या क्रेडिट कार्ड).</translation> @@ -306,7 +308,7 @@ <translation id="3717027428350673159"><ph name="BEGIN_LINK" />प्रॉक्सी, फायरवॉल और DNS कॉन्फ़िगरेशन की जांच करें<ph name="END_LINK" /></translation> <translation id="3736520371357197498">यदि आप अपनी सुरक्षा में होने वाले जोखिमों को समझते हैं, तो आप खतरनाक प्रोग्राम निकाले जाने से पहले <ph name="BEGIN_LINK" />इस असुरक्षित साइट पर विज़िट<ph name="END_LINK" /> कर सकते हैं.</translation> <translation id="3739623965217189342">काॅपी किया गया लिंक</translation> -<translation id="375403751935624634">सर्वर त्रुटि के कारण अनुवाद विफल.</translation> +<translation id="375403751935624634">सर्वर गड़बड़ी के कारण अनुवाद विफल.</translation> <translation id="3759461132968374835">आपके पास हाल ही में रिपोर्ट किए गए क्रैश नहीं हैं. क्रैश रिपोर्टिंग अक्षम होने के दौरान होने वाले क्रैश यहां दिखाई नहीं देंगे.</translation> <translation id="382518646247711829">यदि आप प्रॉक्सी सर्वर का उपयोग करते हैं...</translation> <translation id="3828924085048779000">खाली पासफ़्रेज़ की अनुमति नहीं है.</translation> @@ -369,7 +371,7 @@ <translation id="4432688616882109544"><ph name="HOST_NAME" /> ने आपका लॉगिन प्रमाणपत्र स्वीकार नहीं किया है या हो सकता है कि प्रमाणपत्र उपलब्ध नहीं कराया गया हो.</translation> <translation id="443673843213245140">प्रॉक्सी का उपयोग अक्षम है लेकिन कोई स्पष्ट प्रॉक्सी कॉन्फ़िगरेशन निर्दिष्ट किया गया है.</translation> <translation id="4492190037599258964">'<ph name="SEARCH_STRING" />' के खोज परिणाम</translation> -<translation id="4506176782989081258">सत्यापन त्रुटि: <ph name="VALIDATION_ERROR" /></translation> +<translation id="4506176782989081258">सत्यापन गड़बड़ी: <ph name="VALIDATION_ERROR" /></translation> <translation id="4506599922270137252">सिस्टम व्यवस्थापक से संपर्क करें</translation> <translation id="450710068430902550">व्यवस्थापक के साथ साझा करना</translation> <translation id="4522570452068850558">विवरण</translation> @@ -392,10 +394,10 @@ <translation id="4758311279753947758">संपर्क जानकारी जोड़ें</translation> <translation id="4759118997339041434">भुगतान का ऑटोमैटिक भरना अक्षम</translation> <translation id="4764776831041365478"><ph name="URL" /> पर मौजूद वेबपेज संभवतः अस्थायी रूप से बंद है या उसे स्थायी रूप से किसी नए वेब पते पर ले जाया गया है.</translation> -<translation id="4771973620359291008">अज्ञात त्रुटि आई.</translation> +<translation id="4771973620359291008">अज्ञात गड़बड़ी आई.</translation> <translation id="4800132727771399293">अपना अवधि समाप्ति दिनांक और CVC जांचें और पुन: प्रयास करें</translation> <translation id="4803924862070940586"><ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> -<translation id="4813512666221746211">नेटवर्क त्रुटि</translation> +<translation id="4813512666221746211">नेटवर्क गड़बड़ी</translation> <translation id="4816492930507672669">पेज में फ़िट करें</translation> <translation id="4850886885716139402">देखें</translation> <translation id="4858792381671956233">आपने अपने अभिभावकों से पूछा था कि इस साइट पर जाना ठीक है या नहीं</translation> @@ -425,10 +427,10 @@ <translation id="5095208057601539847">प्रांत</translation> <translation id="5115563688576182185">(64-बिट)</translation> <translation id="5141240743006678641">समन्वयित पासवर्ड अपने Google प्रमाणिकता के साथ एन्क्रिप्ट करें</translation> -<translation id="5145883236150621069">नीति प्रतिसाद में त्रुटि कोड मौजूद है</translation> +<translation id="5145883236150621069">नीति प्रतिसाद में गड़बड़ी कोड मौजूद है</translation> <translation id="5171045022955879922">URL खोजें या लिखें</translation> <translation id="5172758083709347301">मशीन</translation> -<translation id="5179510805599951267"><ph name="ORIGINAL_LANGUAGE" /> में नहीं है? इस त्रुटि की रिपोर्ट करें</translation> +<translation id="5179510805599951267"><ph name="ORIGINAL_LANGUAGE" /> में नहीं है? इस गड़बड़ी की रिपोर्ट करें</translation> <translation id="5181140330217080051">डाउनलोड हो रहा है</translation> <translation id="5190835502935405962">बुकमार्क बार</translation> <translation id="5199729219167945352">प्रयोग</translation> @@ -436,7 +438,7 @@ <translation id="5222812217790122047">ईमेल आवश्यक है</translation> <translation id="5251803541071282808">क्लाउड</translation> <translation id="5277279256032773186">कार्यस्थल पर Chrome का उपयोग कर रहे हैं? कंपनियां अपने कर्मचारियों के लिए Chrome सेटिंग प्रबंधित कर सकती हैं. और जानें</translation> -<translation id="5299298092464848405">नीति पार्स करने में त्रुटि</translation> +<translation id="5299298092464848405">नीति पार्स करने में गड़बड़ी</translation> <translation id="5300589172476337783">दिखाएं</translation> <translation id="5308689395849655368">क्रैश की रिपोर्ट करना अक्षम कर दिया गया है.</translation> <translation id="5317780077021120954">सहेजें</translation> @@ -451,7 +453,7 @@ <translation id="5430298929874300616">बुकमार्क निकालें</translation> <translation id="5431657950005405462">आपकी फ़ाइल नहीं मिली</translation> <translation id="5435775191620395718">इस डिवाइस का इतिहास दिखाया जा रहा है. <ph name="BEGIN_LINK" />अधिक जानें<ph name="END_LINK" />.</translation> -<translation id="5439770059721715174">"<ph name="ERROR_PATH" />" पर स्कीमा सत्यापन त्रुटि: <ph name="ERROR" /></translation> +<translation id="5439770059721715174">"<ph name="ERROR_PATH" />" पर स्कीमा सत्यापन गड़बड़ी: <ph name="ERROR" /></translation> <translation id="5452270690849572955">यह <ph name="HOST_NAME" /> पेज प्राप्त नहीं किया जा सकता</translation> <translation id="5455374756549232013">खराब नीति टाइमस्टैम्प</translation> <translation id="5455790498993699893"><ph name="TOTAL_MATCHCOUNT" /> में से <ph name="ACTIVE_MATCH" /></translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> पर एम्बेड किए गए पृष्ठ का कहना है:</translation> <translation id="5556459405103347317">पुन: लोड करें</translation> <translation id="5565735124758917034">सक्रिय</translation> +<translation id="5572851009514199876">कृपया Chrome शुरू करके उसमें प्रवेश करें ताकि Chrome देख सके कि क्या आपके पास यह साइट एक्सेस करने की अनुमति है.</translation> <translation id="5575380383496039204">असमर्थित वितरण पता. कोई दूसरा पता चुनें.</translation> <translation id="5580958916614886209">अपना समाप्ति माह जांचें और फिर से कोशिश करें</translation> <translation id="560412284261940334">प्रबंधन समर्थित नहीं</translation> @@ -580,7 +583,7 @@ <translation id="6727102863431372879">सेट करें</translation> <translation id="6731320287533051140">{COUNT,plural, =0{कोई नहीं}=1{1 आइटम}one{# आइटम}other{# आइटम}}</translation> <translation id="6743044928064272573">पिकअप विकल्प</translation> -<translation id="674375294223700098">अज्ञात सर्वर प्रमाणपत्र त्रुटि.</translation> +<translation id="674375294223700098">अज्ञात सर्वर प्रमाणपत्र गड़बड़ी.</translation> <translation id="6753269504797312559">नीति मान</translation> <translation id="6757797048963528358">आपका डिवाइस निष्क्रिय हो गया है.</translation> <translation id="6778737459546443941">आपके अभिभावक ने अभी तक इसकी स्वीकृति नहीं दी है</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">आपके कार्ड की पुष्टि हो गई है</translation> <translation id="6897140037006041989">उपयोगकर्ता एजेंट</translation> <translation id="6915804003454593391">उपयोगकर्ता:</translation> -<translation id="6937422995269576720">कार्ड संख्या अमान्य है</translation> <translation id="6957887021205513506">सर्वर का प्रमाणपत्र फर्जी दिखाई देता है.</translation> <translation id="6965382102122355670">ठीक</translation> <translation id="6965978654500191972">डिवाइस</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> सुरक्षा मानकों का पालन नहीं करता.</translation> <translation id="721197778055552897">इस समस्या के बारे में <ph name="BEGIN_LINK" />अधिक जानें<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">कनेक्शन <ph name="SSL_VERSION" /> का उपयोग करता है.</translation> +<translation id="7220786058474068424">संसाधित हो रहा है</translation> <translation id="724691107663265825">साइट में आगे मैलवेयर हैं</translation> <translation id="724975217298816891">अपने कार्ड विवरण अपडेट करने के लिए <ph name="CREDIT_CARD" /> का समय समाप्ति दिनांक और CVC डालें. आपकी तरफ से पुष्टि हो जाने पर, आपके कार्ड के विवरण इस साइट के साथ साझा किए जाएंगे.</translation> <translation id="725866823122871198"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> से एक निजी कनेक्शन स्थापित नहीं किया जा सकता क्योंकि आपके कंप्यूटर का दिनांक और समय (<ph name="DATE_AND_TIME" />) गलत है.</translation> @@ -694,7 +697,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome से फ़ॉर्म सुझाव को निकालें?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' के लिए <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> मिले</translation> -<translation id="7837582000577464779">आपका आदेश संसाधित करने में कोई त्रुटि हुई. कृपया अपना खाता जांचें और पुनः प्रयास करें.</translation> <translation id="785549533363645510">हालांकि, आप अदृश्य नहीं हैं. गुप्त मोड में रहने से आपकी ब्राउज़िंग आपके नियोक्ता, आपके इंटरनेट सेवा प्रदाता या आपके द्वारा देखी जाने वाली वेबसाइट से छिपती नहीं है.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">अपना CVC जांचें और पुन: प्रयास करें</translation> @@ -777,7 +779,7 @@ <translation id="884264119367021077">शिपिंग पता</translation> <translation id="884923133447025588">कोई निरस्तीकरण प्रक्रिया प्राप्त नहीं हुई.</translation> <translation id="885730110891505394">Google के साथ साझा करना</translation> -<translation id="8866481888320382733">नीति सेटिंग पार्स करने में त्रुटि</translation> +<translation id="8866481888320382733">नीति सेटिंग पार्स करने में गड़बड़ी</translation> <translation id="8866959479196209191">इस पृष्ठ का कहना है:</translation> <translation id="8870413625673593573">हाल ही में बंद किए गए</translation> <translation id="8876793034577346603">नेटवर्क कॉन्फ़िगरेशन पार्स होने में विफल रहा.</translation> @@ -808,6 +810,7 @@ <translation id="9094175695478007090">भुगतान ऐप्लिकेशन लॉन्च नहीं हो पा रहा है.</translation> <translation id="9103872766612412690"><ph name="SITE" /> आपकी जानकारी की सुरक्षा करने के लिए आमतौर पर एन्क्रिप्शन का उपयोग करती है. जब क्रोमियम ने इस बार <ph name="SITE" /> से कनेक्ट करने का प्रयास किया, तो वेबसाइट ने असामान्य और गलत क्रेडेंशियल वापस भेजे. ऐसा तब हो सकता है जब कोई हमलावर <ph name="SITE" /> होने का दावा करने का प्रयास कर रहा हो या किसी वाई-फ़ाई प्रवेश स्क्रीन ने कनेक्शन को बाधित कर दिया हो. आपकी जानकारी अभी भी सुरक्षित है क्योंकि किसी भी डेटा के आदान-प्रदान से पहले ही क्रोमियम ने कनेक्शन को रोक दिया था.</translation> <translation id="9137013805542155359">मूल दिखाएं</translation> +<translation id="9137248913990643158">इस ऐप्लिकेशन का उपयोग करने से पहले कृपया Chrome शुरू करके उसमें प्रवेश करें.</translation> <translation id="9148507642005240123">&संपादन वापस लाएं</translation> <translation id="9154194610265714752">अपडेट किया गया</translation> <translation id="9157595877708044936">सेट अप कर रहा है...</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb index 8336f247..fdb0e1d0 100644 --- a/components/strings/components_strings_hr.xtb +++ b/components/strings/components_strings_hr.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departman</translation> <translation id="2113977810652731515">Kartica</translation> <translation id="2114841414352855701">Zanemareno jer je nadjačano pravilom <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Traženje stranica Fizičkog weba u blizini</translation> <translation id="213826338245044447">Mobilne oznake</translation> <translation id="2148716181193084225">Danas</translation> <translation id="2154054054215849342">Sinkronizacija nije dostupna za vašu domenu</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Zahtjev je uspio</translation> <translation id="2728127805433021124">Certifikat poslužitelja potpisan je slabim algoritmom potpisa.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />pokrenuti Dijagnostiku povezivosti<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">U redu</translation> <translation id="2742870351467570537">Ukloni odabrane stavke</translation> <translation id="277499241957683684">Zapis uređaja nije prisutan</translation> <translation id="2784949926578158345">Veza je ponovo uspostavljena.</translation> @@ -467,6 +469,7 @@ <translation id="5544037170328430102">Ugrađena stranica na web-lokaciji <ph name="SITE" /> navodi sljedeće:</translation> <translation id="5556459405103347317">Ponovno učitaj</translation> <translation id="5565735124758917034">Aktivno</translation> +<translation id="5572851009514199876">Pokrenite Chrome i prijavite se na njega kako bi mogao provjeriti imate li dopuštenje za pristup toj web-lokaciji.</translation> <translation id="5575380383496039204">Adresa za dostavu nije podržana. Odaberite drugu adresu.</translation> <translation id="5580958916614886209">Provjerite mjesec isteka, pa pokušajte ponovo</translation> <translation id="560412284261940334">Upravljanje nije podržano</translation> @@ -592,7 +595,6 @@ <translation id="6895330447102777224">Kartica je potvrđena</translation> <translation id="6897140037006041989">Korisnički agent</translation> <translation id="6915804003454593391">Korisnik:</translation> -<translation id="6937422995269576720">Broj kartice nije važeći</translation> <translation id="6957887021205513506">Certifikat poslužitelja izgleda kao falsifikat.</translation> <translation id="6965382102122355670">U redu</translation> <translation id="6965978654500191972">Uređaj</translation> @@ -620,6 +622,7 @@ <translation id="7210863904660874423">Host <ph name="HOST_NAME" /> ne pridržava se sigurnosnih standarda.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /> o ovom problemu.</translation> <translation id="7219179957768738017">Veza upotrebljava <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Obrada</translation> <translation id="724691107663265825">Web-lokacija pred vama sadrži zlonamjerni softver</translation> <translation id="724975217298816891">Unesite datum isteka i CVC za karticu <ph name="CREDIT_CARD" /> da biste ažurirali podatke o kartici. Nakon što ih potvrdite, podaci o kartici dijelit će se s ovom web-lokacijom.</translation> <translation id="725866823122871198">Sigurnu vezu s domenom <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> nije moguće uspostaviti jer datum i vrijeme na računalu (<ph name="DATE_AND_TIME" />) nisu točni.</translation> @@ -695,7 +698,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Želite li s Chromea ukloniti prijedlog za obrasce?</translation> <translation id="7815407501681723534">Pronađeno <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> za "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Prilikom obrade narudžbe dogodila se pogreška. Provjerite račun i pokušajte ponovo.</translation> <translation id="785549533363645510">Niste nevidljivi. Anonimni način ne sakriva vaše pregledavanje od poslodavca, davatelja internetskih usluga ili posjećenih web-lokacija.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Provjerite CVC i pokušajte ponovo</translation> @@ -810,6 +812,7 @@ <translation id="9103872766612412690"><ph name="SITE" /> obično upotrebljava enkripciju radi zaštite vaših podataka. Prilikom ovog pokušaja povezivanja Chromiuma s web-lokacijom <ph name="SITE" /> ta je web-lokacija vratila neuobičajene i netočne vjerodajnice. To može značiti da se neki napadač pokušava predstaviti kao <ph name="SITE" /> ili je zaslon za prijavu na Wi-Fi prekinuo vezu. Vaši su podaci još uvijek sigurni jer je Chromium zaustavio povezivanje prije razmjene podataka.</translation> <translation id="9137013805542155359">Prikaži original</translation> +<translation id="9137248913990643158">Pokrenite Chrome i prijavite se na njega da biste mogli upotrebljavati tu aplikaciju.</translation> <translation id="9148507642005240123">&Poništi uređivanje</translation> <translation id="9154194610265714752">Ažurirano</translation> <translation id="9157595877708044936">Postavljanje...</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb index 32153431..c16bf00 100644 --- a/components/strings/components_strings_hu.xtb +++ b/components/strings/components_strings_hu.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Megye</translation> <translation id="2113977810652731515">Kártya</translation> <translation id="2114841414352855701">A rendszer figyelmen kívül hagyja, mivel a(z) <ph name="POLICY_NAME" /> felülírta.</translation> +<translation id="2138201775715568214">A Fizikai web közeli oldalainak keresése</translation> <translation id="213826338245044447">Mobil könyvjelzők</translation> <translation id="2148716181193084225">Ma</translation> <translation id="2154054054215849342">A szinkronizálás az Ön domainjén nem áll rendelkezésre</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Sikeres kérés</translation> <translation id="2728127805433021124">A szerver tanúsítványa gyenge aláírási algoritmussal van aláírva.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Kapcsolódási diagnosztika futtatása<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">A kijelölt elemek eltávolítása</translation> <translation id="277499241957683684">Hiányzó eszközrekord</translation> <translation id="2784949926578158345">A kapcsolat alaphelyzetbe állt.</translation> @@ -466,6 +468,7 @@ <translation id="5544037170328430102">A(z) <ph name="SITE" /> egy beágyazott oldalának közlendője:</translation> <translation id="5556459405103347317">Újratöltés</translation> <translation id="5565735124758917034">Aktív</translation> +<translation id="5572851009514199876">Indítsa el a Chrome böngészőt és jelentkezzen be, hogy a Chrome ellenőrizni tudja, engedélyezték-e a hozzáférést ehhez a webhelyhez.</translation> <translation id="5575380383496039204">Nem támogatott szállítási cím. Válasszon másik címet.</translation> <translation id="5580958916614886209">Ellenőrizze a lejárati hónapot, majd próbálja újra</translation> <translation id="560412284261940334">A kezelés nem támogatott</translation> @@ -591,7 +594,6 @@ <translation id="6895330447102777224">Kártyáját ellenőriztük</translation> <translation id="6897140037006041989">User agent</translation> <translation id="6915804003454593391">Felhasználó:</translation> -<translation id="6937422995269576720">Érvénytelen kártyaszám</translation> <translation id="6957887021205513506">A szerver tanúsítványa hamisítványnak tűnik.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Készülék</translation> @@ -619,6 +621,7 @@ <translation id="7210863904660874423">A(z) <ph name="HOST_NAME" /> nem felel meg a biztonsági szabványoknak.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />További információ<ph name="END_LINK" /> erről a hibáról.</translation> <translation id="7219179957768738017">A kapcsolat a következőt használja: <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Feldolgozás alatt</translation> <translation id="724691107663265825">A megnyíló oldal rosszindulatú programot tartalmaz</translation> <translation id="724975217298816891">Adja meg a(z) <ph name="CREDIT_CARD" /> kártya lejárati dátumát és CVC-kódját. Az ellenőrzést követően a böngésző megosztja kártyaadatait ezzel a webhellyel.</translation> <translation id="725866823122871198">Nem hozható létre privát kapcsolat a következővel: <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, mert a számítógép dátum- és időbeállítása helytelen (<ph name="DATE_AND_TIME" />).</translation> @@ -694,7 +697,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Eltávolítja a javaslatot a Chrome-ból?</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> található a(z) „<ph name="SEARCH_STRING" />” kifejezésre</translation> -<translation id="7837582000577464779">Hiba történt a megrendelés feldolgozása közben. Ellenőrizze fiókját, majd próbálkozzon újra.</translation> <translation id="785549533363645510">Azonban Ön nem teljesen láthatatlan. Az inkognitómód használata nem rejti el böngészési műveleteit munkáltatója, az internetszolgáltatója és a felkeresett webhelyek elől.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Ellenőrizze a CVC-t, majd próbálja újra</translation> @@ -808,6 +810,7 @@ <translation id="9094175695478007090">Nem sikerült elindítani a fizetési alkalmazást.</translation> <translation id="9103872766612412690">A(z) <ph name="SITE" /> webhely rendes esetben titkosítást alkalmaz az Ön adatainak védelme érdekében. Amikor a Chromium most csatlakozni próbált, a(z) <ph name="SITE" /> webhely szokatlan és helytelen hitelesítési adatokat küldött vissza.Ez olyankor fordulhat elő, amikor egy támadó megpróbálja magát kiadni a(z) <ph name="SITE" /> webhelynek, vagy valamilyen Wi-Fi-bejelentkezési képernyő megszakította a kapcsolatot. Adatai továbbra is biztonságban vannak, mivel a Chromium még azt megelőzően megszakította a kapcsolatot, hogy bármiféle adatcserére sor kerülhetett volna.</translation> <translation id="9137013805542155359">Eredeti megjelenítése</translation> +<translation id="9137248913990643158">Indítsa el a Chrome böngészőt és jelentkezzen be az alkalmazás használata előtt.</translation> <translation id="9148507642005240123">&Szerkesztés visszavonása</translation> <translation id="9154194610265714752">Frissítve</translation> <translation id="9157595877708044936">Előkészítés...</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb index 5dae53c0..4308d5b4 100644 --- a/components/strings/components_strings_id.xtb +++ b/components/strings/components_strings_id.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departemen</translation> <translation id="2113977810652731515">Kartu</translation> <translation id="2114841414352855701">Diabaikan karena diganti dengan <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Mencari laman Web Fisik di sekitar</translation> <translation id="213826338245044447">Bookmark Seluler</translation> <translation id="2148716181193084225">Hari ini</translation> <translation id="2154054054215849342">Sinkronisasi tidak tersedia untuk domain Anda</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Permintaan berhasil</translation> <translation id="2728127805433021124">Sertifikat server ditandai menggunakan algoritme yang lemah.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Jalankan Diagnostik Konektivitas<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Oke</translation> <translation id="2742870351467570537">Hapus item yang dipilih</translation> <translation id="277499241957683684">Catatan perangkat hilang</translation> <translation id="2784949926578158345">Sambungan disetel ulang.</translation> @@ -270,7 +272,7 @@ <translation id="348000606199325318">ID Kerusakan <ph name="CRASH_LOCAL_ID" /> (ID Server: <ph name="CRASH_ID" />)</translation> <translation id="3498215018399854026">Orang tua Anda saat ini tidak dapat dihubungi. Coba lagi.</translation> <translation id="3528171143076753409">Sertifikat server tidak dipercaya.</translation> -<translation id="3538531656504267329">Tahun kedaluwarsa tidak valid</translation> +<translation id="3538531656504267329">Tahun habis masa berlaku tidak valid</translation> <translation id="3539171420378717834">Menyimpan salinan kartu ini di perangkat ini</translation> <translation id="3542684924769048008">Gunakan sandi untuk:</translation> <translation id="3549644494707163724">Enkripsikan data yang disinkronkan dengan frasa sandi sinkronisasi Anda</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Laman tersemat di <ph name="SITE" /> menyatakan:</translation> <translation id="5556459405103347317">Muat ulang</translation> <translation id="5565735124758917034">Aktif</translation> +<translation id="5572851009514199876">Mulai dan login ke Chrome agar Chrome dapat memeriksa apakah Anda diizinkan untuk mengakses situs ini atau tidak.</translation> <translation id="5575380383496039204">Alamat pengiriman tidak didukung. Pilih alamat lain.</translation> <translation id="5580958916614886209">Periksa bulan kedaluwarsa dan coba lagi</translation> <translation id="560412284261940334">Pengelolaan tidak didukung</translation> @@ -558,7 +561,7 @@ <translation id="6477321094435799029">Chrome mendeteksi kode yang tidak biasa pada halaman ini dan memblokirnya untuk melindungi informasi pribadi Anda (misalnya, sandi, nomor telepon, dan kartu kredit).</translation> <translation id="6477460825583319731">Alamat email tidak valid</translation> <translation id="6489534406876378309">Mulai mengupload kerusakan</translation> -<translation id="6525462735697194615">Bulan kadaluwarsa tidak valid</translation> +<translation id="6525462735697194615">Bulan habis masa berlaku tidak valid</translation> <translation id="6529602333819889595">&Ulangi Penghapusan</translation> <translation id="6534179046333460208">Saran Web Fisik</translation> <translation id="6550675742724504774">Opsi</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Kartu telah dikonfirmasi</translation> <translation id="6897140037006041989">Agen Pengguna</translation> <translation id="6915804003454593391">Pengguna:</translation> -<translation id="6937422995269576720">Nomor kartu tidak valid</translation> <translation id="6957887021205513506">Sertifikat server tampaknya palsu.</translation> <translation id="6965382102122355670">Oke</translation> <translation id="6965978654500191972">Perangkat</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> tidak mematuhi standar keamanan.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Selengkapnya<ph name="END_LINK" /> tentang masalah ini.</translation> <translation id="7219179957768738017">Koneksi menggunakan <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Dalam proses</translation> <translation id="724691107663265825">Situs yang akan dibuka berisi perangkat lunak perusak</translation> <translation id="724975217298816891">Masukkan tanggal habis masa berlaku dan CVC untuk <ph name="CREDIT_CARD" /> guna memperbarui detail kartu. Setelah mengonfirmasi, detail kartu Anda akan dibagikan dengan situs ini.</translation> <translation id="725866823122871198">Sambungan pribadi ke <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> tidak dapat dibuat karena tanggal dan waktu (<ph name="DATE_AND_TIME" />) komputer Anda tidak benar.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Hapus sebagai saran dari Chrome?</translation> <translation id="7815407501681723534">Ditemukan <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> hasil untuk '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">Terjadi kesalahan saat memproses pesanan. Periksa akun Anda dan coba lagi.</translation> <translation id="785549533363645510">Namun, Anda masih dapat terlihat. Masuk ke mode penyamaran tidak menyembunyikan penjelajahan Anda dari atasan, penyedia layanan internet, atau situs web yang Anda kunjungi.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Periksa CVC dan coba lagi</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Tidak dapat meluncurkan aplikasi pembayaran.</translation> <translation id="9103872766612412690"><ph name="SITE" /> biasanya menggunakan enkripsi untuk melindungi informasi Anda. Saat Chromium mencoba menyambung ke <ph name="SITE" /> kali ini, situs web mengembalikan kredensial yang salah dan tidak biasa. Hal ini dapat terjadi jika ada penyerang yang berpura-pura menjadi <ph name="SITE" />, atau layar masuk Wi-Fi mengganggu sambungan. Informasi Anda masih aman karena Chromium menghentikan sambungan sebelum terjadi pertukaran data apa pun.</translation> <translation id="9137013805542155359">Perlihatkan laman asli</translation> +<translation id="9137248913990643158">Mulai dan login ke Chrome sebelum menggunakan aplikasi ini.</translation> <translation id="9148507642005240123">&Urungkan pengeditan</translation> <translation id="9154194610265714752">Diperbarui</translation> <translation id="9157595877708044936">Menyiapkan...</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb index dc2ba37..21659e4 100644 --- a/components/strings/components_strings_it.xtb +++ b/components/strings/components_strings_it.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Dipartimento</translation> <translation id="2113977810652731515">Carta</translation> <translation id="2114841414352855701">Ignorata perché è stata sostituita da <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Ricerca di pagine Physical Web nelle vicinanze in corso</translation> <translation id="213826338245044447">Preferiti su disp. mobili</translation> <translation id="2148716181193084225">Oggi</translation> <translation id="2154054054215849342">Il servizio di sincronizzazione non è disponibile per il tuo dominio</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Richiesta riuscita</translation> <translation id="2728127805433021124">Il certificato del server è stato firmato utilizzando un algoritmo di firma debole.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Eseguire lo strumento Diagnostica della connettività<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Rimuovi gli elementi selezionati</translation> <translation id="277499241957683684">Record del dispositivo mancante</translation> <translation id="2784949926578158345">La connessione è stata reimpostata.</translation> @@ -465,6 +467,7 @@ <translation id="5544037170328430102">Una pagina incorporata in <ph name="SITE" /> dice:</translation> <translation id="5556459405103347317">Ricarica</translation> <translation id="5565735124758917034">Attivo</translation> +<translation id="5572851009514199876">Accedi a Chrome per consentire al browser di verificare che tu sia autorizzato ad accedere a questo sito.</translation> <translation id="5575380383496039204">Indirizzo di consegna non supportato. Seleziona un indirizzo diverso.</translation> <translation id="5580958916614886209">Controlla il mese di scadenza e riprova</translation> <translation id="560412284261940334">Gestione non supportata</translation> @@ -589,7 +592,6 @@ <translation id="6895330447102777224">La carta è stata confermata</translation> <translation id="6897140037006041989">User-agent</translation> <translation id="6915804003454593391">Utente:</translation> -<translation id="6937422995269576720">Numero di carta non valido</translation> <translation id="6957887021205513506">Il certificato del server risulta essere un falso.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Dispositivo</translation> @@ -617,6 +619,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> non è conforme agli standard di sicurezza.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Ulteriori informazioni<ph name="END_LINK" /> su questo problema.</translation> <translation id="7219179957768738017">La connessione utilizza <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Elaborazione in corso</translation> <translation id="724691107663265825">Il sito che stai per visitare contiene malware</translation> <translation id="724975217298816891">Inserisci la data di scadenza e il codice CVC della carta <ph name="CREDIT_CARD" /> per aggiornare i relativi dettagli. Dopo essere stati confermati, i dettagli della carta saranno condivisi con questo sito.</translation> <translation id="725866823122871198">Impossibile stabilire una connessione privata con il sito <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> perché data e ora del computer (<ph name="DATE_AND_TIME" />) sono sbagliate.</translation> @@ -692,7 +695,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Rimuovere il suggerimento per i moduli da Chrome?</translation> <translation id="7815407501681723534"><ph name="SEARCH_RESULTS" /> per "<ph name="SEARCH_STRING" />": <ph name="NUMBER_OF_RESULTS" /></translation> -<translation id="7837582000577464779">Si è verificato un errore durante l'elaborazione dell'ordine. Controlla il tuo conto e riprova.</translation> <translation id="785549533363645510">Non sei completamente invisibile: se navighi in incognito, la tua navigazione non viene nascosta al tuo datore di lavoro, al provider di servizi Internet o ai siti web che visiti.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Controlla il tuo codice CVC e riprova</translation> @@ -805,6 +807,7 @@ <translation id="9094175695478007090">Impossibile avviare l'app di pagamento.</translation> <translation id="9103872766612412690"><ph name="SITE" /> in genere utilizza la crittografia per proteggere le tue informazioni. Questa volta, quando Chromium ha provato a connettersi a <ph name="SITE" />, il sito web ha restituito credenziali insolite e sbagliate. È possibile che un malintenzionato stia cercando di spacciarsi per il sito <ph name="SITE" /> oppure che una schermata di accesso alla rete Wi-Fi abbia interrotto la connessione. Le tue informazioni sono ancora al sicuro perché Chromium ha interrotto la connessione prima che avvenissero scambi di dati.</translation> <translation id="9137013805542155359">Mostra originale</translation> +<translation id="9137248913990643158">Accedi a Chrome prima di usare questa app.</translation> <translation id="9148507642005240123">&Annulla modifica</translation> <translation id="9154194610265714752">Aggiornato</translation> <translation id="9157595877708044936">Configurazione in corso...</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb index b28abf7..6bd196a 100644 --- a/components/strings/components_strings_iw.xtb +++ b/components/strings/components_strings_iw.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">מחלקה</translation> <translation id="2113977810652731515">כרטיס</translation> <translation id="2114841414352855701">המערכת התעלמה משום שהמדיניות בוטלה על ידי <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">מחפש דפים של האינטרנט הווירטופיזי בקרבת מקום</translation> <translation id="213826338245044447">סימניות לנייד</translation> <translation id="2148716181193084225">היום</translation> <translation id="2154054054215849342">סנכרון אינו זמין בדומיין שלך</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">הבקשה בוצעה בהצלחה</translation> <translation id="2728127805433021124">האישור של השרת נחתם באמצעות אלגוריתם של חתימה חלשה.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />מפעיל את אבחון הקישוריות<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">אישור</translation> <translation id="2742870351467570537">הסר פריטים שנבחרו</translation> <translation id="277499241957683684">חסרה רשומת מכשיר</translation> <translation id="2784949926578158345">החיבור עבר איפוס.</translation> @@ -473,6 +475,7 @@ <translation id="5544037170328430102">דף המוטמע ב-<ph name="SITE" /> אומר:</translation> <translation id="5556459405103347317">טען שוב</translation> <translation id="5565735124758917034">פעיל</translation> +<translation id="5572851009514199876">תחילה היכנס לחשבונך ב-Chrome כדי לאפשר ל-Chrome לבדוק אם יש לך הרשאה לגשת לאתר הזה.</translation> <translation id="5575380383496039204">כתובת משלוח לא נתמכת. בחר כתובת אחרת.</translation> <translation id="5580958916614886209">בדוק את חודש התפוגה ונסה שוב</translation> <translation id="560412284261940334">ניהול אינו נתמך</translation> @@ -598,7 +601,6 @@ <translation id="6895330447102777224">הכרטיס שלך מאושר</translation> <translation id="6897140037006041989">User agent</translation> <translation id="6915804003454593391">משתמש:</translation> -<translation id="6937422995269576720">מספר הכרטיס לא חוקי</translation> <translation id="6957887021205513506">נראה שהאישור של השרת מזויף.</translation> <translation id="6965382102122355670">אישור</translation> <translation id="6965978654500191972">התקן</translation> @@ -626,6 +628,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> לא פועל בהתאם לתקני האבטחה.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />מידע נוסף<ph name="END_LINK" /> בנושא זה.</translation> <translation id="7219179957768738017">החיבור משתמש ב-<ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">מעבד</translation> <translation id="724691107663265825">האתר שלפניך מכיל תוכנה זדונית</translation> <translation id="724975217298816891">הזן את תאריך התפוגה ואת קוד האימות של <ph name="CREDIT_CARD" /> כדי לעדכן את פרטי הכרטיס. ברגע שתאשר, פרטי הכרטיס שלך ישותפו עם האתר הזה.</translation> <translation id="725866823122871198">לא ניתן ליצור חיבור פרטי אל <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> מפני שהתאריך והשעה (<ph name="DATE_AND_TIME" />) במחשב שלך שגויים.</translation> @@ -701,7 +704,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">האם להסיר מ-Chrome הצעות בשביל טפסים?</translation> <translation id="7815407501681723534">נמצאו <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> בנושא '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">אירעה שגיאה במהלך עיבוד ההזמנה. בדוק את החשבון שלך ונסה שוב.</translation> <translation id="785549533363645510">עם זאת, אינך בלתי נראה. המעבר למצב גלישה בסתר לא מסתיר את הגלישה שלך מהמעסיק, מספק האינטרנט או מהאתרים שאליהם אתה נכנס.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">בדוק את ה-CVC ונסה שוב</translation> @@ -815,6 +817,7 @@ <translation id="9094175695478007090">לא ניתן להפעיל את אפליקציית התשלום.</translation> <translation id="9103872766612412690">האתר <ph name="SITE" /> משתמש בדרך כלל בהצפנה כדי להגן על המידע שלך. כאשר Chromium ניסה הפעם להתחבר ל-<ph name="SITE" />, האתר שלח חזרה אישורים חריגים ושגויים. ייתכן שתוקף מנסה להתחזות לאתר <ph name="SITE" />, או שמסך כניסה ל-Wi-Fi הפריע לחיבור. המידע שלך עדיין מאובטח מכיוון ש-Chromium הפסיק את החיבור לפני חילופי הנתונים.</translation> <translation id="9137013805542155359">הצג מקור</translation> +<translation id="9137248913990643158">היכנס לחשבונך ב-Chrome לפני שתשתמש באפליקציה הזו.</translation> <translation id="9148507642005240123">&ביטול עריכה</translation> <translation id="9154194610265714752">עודכן</translation> <translation id="9157595877708044936">מגדיר...</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb index d282c47..e51ff25 100644 --- a/components/strings/components_strings_ja.xtb +++ b/components/strings/components_strings_ja.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">県</translation> <translation id="2113977810652731515">カード</translation> <translation id="2114841414352855701"><ph name="POLICY_NAME" /> によって上書きされるため無視されます。</translation> +<translation id="2138201775715568214">近くのフィジカル ウェブページを探しています</translation> <translation id="213826338245044447">モバイルのブックマーク</translation> <translation id="2148716181193084225">今日</translation> <translation id="2154054054215849342">お使いのドメインでは同期機能をご利用いただけません</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">リクエストを正常に送信しました</translation> <translation id="2728127805433021124">サーバーの証明書は脆弱な署名アルゴリズムを使用して署名されています。</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />接続診断ツールを実行する<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">選択したアイテムを削除</translation> <translation id="277499241957683684">デバイス レコードがありません</translation> <translation id="2784949926578158345">接続がリセットされました。</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> に埋め込まれているページの内容:</translation> <translation id="5556459405103347317">再読み込み</translation> <translation id="5565735124758917034">有効</translation> +<translation id="5572851009514199876">このサイトへのアクセス権があるかどうかを Chrome で確認できるように、Chrome を起動してログインしてください。</translation> <translation id="5575380383496039204">サポートされていない配送先住所です。別の住所を選択してください。</translation> <translation id="5580958916614886209">有効期限の「月」を確認してもう一度お試しください</translation> <translation id="560412284261940334">管理はサポートされていません</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">カードを確認しました</translation> <translation id="6897140037006041989">ユーザー エージェント</translation> <translation id="6915804003454593391">ユーザー:</translation> -<translation id="6937422995269576720">カード番号が無効です</translation> <translation id="6957887021205513506">サーバーの証明書が偽造されたもののようです。</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">デバイス</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> ではセキュリティ規格が遵守されていません。</translation> <translation id="721197778055552897">この問題の詳細については、<ph name="BEGIN_LINK" />こちら<ph name="END_LINK" />をご覧ください。</translation> <translation id="7219179957768738017">この接続には <ph name="SSL_VERSION" /> を使用しています。</translation> +<translation id="7220786058474068424">処理しています</translation> <translation id="724691107663265825">アクセス先のサイトで不正なソフトウェアを検出しました</translation> <translation id="724975217298816891">カードの詳細を更新するには <ph name="CREDIT_CARD" /> の有効期限と CVC を入力します。確認を行うと、カードの詳細がこのサイトと共有されます。</translation> <translation id="725866823122871198">パソコンの日時(<ph name="DATE_AND_TIME" />)が正しくないため、<ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> へのプライベート接続を確立できません。</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome から候補を削除してもよろしいですか?</translation> <translation id="7815407501681723534">「<ph name="SEARCH_STRING" />」に対し <ph name="NUMBER_OF_RESULTS" /> 件の <ph name="SEARCH_RESULTS" />が見つかりました</translation> -<translation id="7837582000577464779">注文の処理中にエラーが発生しました。アカウントを確認してから、もう一度お試しください。</translation> <translation id="785549533363645510">あらゆる場所に記録が一切残らないわけではありません。シークレット モードを使っても、雇用主、インターネット サービス プロバイダ、訪問先のウェブサイトに閲覧内容が知られる可能性はあります。</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">CVC を確認してからもう一度お試しください</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">お支払いアプリを起動できません。</translation> <translation id="9103872766612412690"><ph name="SITE" /> では通常、暗号化して情報を保護しています。今回、Chromium から <ph name="SITE" /> への接続試行時に、このウェブサイトからいつもとは異なる誤った認証情報が返されました。悪意のあるユーザーが <ph name="SITE" /> になりすまそうとしているか、Wi-Fi ログイン画面で接続が中断された可能性があります。データのやり取りが行われる前に Chromium によって接続が停止されたため、情報は引き続き保護されています。</translation> <translation id="9137013805542155359">原文のページを表示</translation> +<translation id="9137248913990643158">このアプリを使用するには、Chrome を起動してログインしてください。</translation> <translation id="9148507642005240123">編集の取り消し(&U)</translation> <translation id="9154194610265714752">更新完了</translation> <translation id="9157595877708044936">セットアップ中...</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb index e0c81ec..f72a9c57 100644 --- a/components/strings/components_strings_kn.xtb +++ b/components/strings/components_strings_kn.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">ವಿಭಾಗ</translation> <translation id="2113977810652731515">ಕಾರ್ಡ್</translation> <translation id="2114841414352855701"><ph name="POLICY_NAME" /> ರಿಂದ ಅತಿಕ್ರಮಿಸಲಾಗಿರುವ ಕಾರಣ ಇದನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗಿದೆ.</translation> +<translation id="2138201775715568214">ಹತ್ತಿರದ ಪ್ರತ್ಯಕ್ಷ ವೆಬ್ ಪುಟಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತಿದೆ</translation> <translation id="213826338245044447">ಮೊಬೈಲ್ ಬುಕ್ಮಾರ್ಕ್ಗಳು</translation> <translation id="2148716181193084225">ಇಂದು</translation> <translation id="2154054054215849342">ಸಿಂಕ್ ಸೇವೆಯು ನಿಮ್ಮ ಡೊಮೇನ್ಗೆ ಲಭ್ಯವಿಲ್ಲ</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">ವಿನಂತಿಯನ್ನು ಯಶಸ್ವಿಗೊಳಿಸಲಾಗಿದೆ</translation> <translation id="2728127805433021124">ಕ್ಷೀಣವಾದ ಸಹಿ ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿಕೊಂಡು ಸರ್ವರ್ನ ಪ್ರಮಾಣಪತ್ರಕ್ಕೆ ಸಹಿ ಮಾಡಲಾಗಿದೆ.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />ಸಂಪರ್ಕ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್ ರನ್ ಆಗುತ್ತಿದೆ<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ಸರಿ</translation> <translation id="2742870351467570537">ಆಯ್ಕೆಮಾಡಿದ ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕಿ</translation> <translation id="277499241957683684">ಸಾಧನದ ರೆಕಾರ್ಡ್ ಕಾಣೆಯಾಗಿದೆ</translation> <translation id="2784949926578158345">ಸಂಪರ್ಕವನ್ನು ರೀಸೆಟ್ ಮಾಡಲಾಗಿದೆ.</translation> @@ -465,6 +467,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> ನಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡಲಾದ ಪುಟವು ಹೀಗೆ ಹೇಳುತ್ತದೆ:</translation> <translation id="5556459405103347317">ಮರುಲೋಡ್</translation> <translation id="5565735124758917034">ಸಕ್ರಿಯ</translation> +<translation id="5572851009514199876">ದಯವಿಟ್ಟು Chrome ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಸೈನ್ ಇನ್ ಮಾಡಿ ಈ ಮೂಲಕ ಈ ಸೈಟ್ಗೆ ಪ್ರವೇಶಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸಲಾಗಿದೆಯೇ ಎಂಬುದನ್ನು Chrome ಪರಿಶೀಲಿಸಬಹುದು.</translation> <translation id="5575380383496039204">ಬೆಂಬಲಿತವಲ್ಲದ ವಿತರಣೆ ವಿಳಾಸ. ವಿಭಿನ್ನ ವಿಳಾಸವನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation> <translation id="5580958916614886209">ನಿಮ್ಮ ಮುಕ್ತಾಯ ತಿಂಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</translation> <translation id="560412284261940334">ನಿರ್ವಾಹಕ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ</translation> @@ -589,7 +592,6 @@ <translation id="6895330447102777224">ನಿಮ್ಮ ಕಾರ್ಡ್ ಅನ್ನು ದೃಢೀಕರಿಸಲಾಗಿದೆ</translation> <translation id="6897140037006041989">ಬಳಕೆದಾರ ಏಜೆಂಟ್</translation> <translation id="6915804003454593391">ಬಳಕೆದಾರ:</translation> -<translation id="6937422995269576720">ಕಾರ್ಡ್ ಸಂಖ್ಯೆಯು ಅಮಾನ್ಯವಾಗಿದೆ</translation> <translation id="6957887021205513506">ಸರ್ವರ್ಗಳ ಪ್ರಮಾಣಪತ್ರವು ನಕಲಿಯಾಗಿ ಗೋಚರಿಸುತ್ತದೆ.</translation> <translation id="6965382102122355670">ಸರಿ</translation> <translation id="6965978654500191972">ಸಾಧನ</translation> @@ -617,6 +619,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> ಭದ್ರತೆ ಮಾನದಂಡಗಳನ್ನು ಅನುಸರಿಸುತ್ತಿಲ್ಲ.</translation> <translation id="721197778055552897">ಈ ತೊಂದರೆಯ ಬಗ್ಗೆ <ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">ಸಂಪರ್ಕವು <ph name="SSL_VERSION" /> ಅನ್ನು ಬಳಸುತ್ತದೆ.</translation> +<translation id="7220786058474068424">ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ</translation> <translation id="724691107663265825">ಮುಂದಿರುವ ಸೈಟ್ನಲ್ಲಿ ಮಾಲ್ವೇರ್ ಇದೆ</translation> <translation id="724975217298816891">ನಿಮ್ಮ ಕಾರ್ಡ್ ವಿವರಗಳನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಲು <ph name="CREDIT_CARD" /> ಗೆ ಮುಕ್ತಾಯ ದಿನಾಂಕ ಮತ್ತು CVC ಅನ್ನು ನಮೂದಿಸಿ. ನೀವು ಒಮ್ಮೆ ಖಚಿತಪಡಿಸಿದರೆ, ನಿಮ್ಮ ಕಾರ್ಡ್ ವಿವರಗಳನ್ನು ಈ ಸೈಟ್ ಜೊತೆಗೆ ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತದೆ.</translation> <translation id="725866823122871198">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನ ದಿನಾಂಕ ಮತ್ತು ಸಮಯ (<ph name="DATE_AND_TIME" />) ತಪ್ಪಾಗಿರುವುದರಿಂದ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ಗೆ ಖಾಸಗಿ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> @@ -692,7 +695,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome ನಿಂದ ಫಾರ್ಮ್ ಸಲಹೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> ಗೆ '<ph name="SEARCH_STRING" />' ಕಂಡುಬಂದಿದೆ</translation> -<translation id="7837582000577464779">ನಿಮ್ಮ ಕೋರಿಕೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಲ್ಲಿ ದೋಷ ಕಂಡುಬಂದಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ.</translation> <translation id="785549533363645510">ಆದರೆ, ನೀವು ಅದೃಶ್ಯರಾಗಿರುವುದಿಲ್ಲ. ಅಜ್ಞಾತವಾಗಿ ಹೋಗುವುದರಿಂದ ನಿಮ್ಮ ಉದ್ಯೋಗದಾತರು, ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸೇವಾ ಪೂರೈಕೆದಾರರು ಇಲ್ಲವೇ ನೀವು ಭೇಟಿ ನೀಡುವ ವೆಬ್ಸೈಟ್ಗಳಿಂದ ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಮರೆ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">ನಿಮ್ಮ CVC ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</translation> @@ -806,6 +808,7 @@ <translation id="9094175695478007090">ಪಾವತಿ ಅಪ್ಲಿಕೇಶನ್ ಆರಂಭಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> <translation id="9103872766612412690"><ph name="SITE" /> ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಸಂರಕ್ಷಿಸಲು ಎನ್ಕ್ರಿಪ್ಶನ್ ಪ್ರಯೋಜನವನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ Chromium <ph name="SITE" /> ವೆಬ್ಸೈಟ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ಆ ವೆಬ್ಸೈಟ್ ಅಸಹಜ ಮತ್ತು ತಪ್ಪು ರುಜುವಾತುಗಳನ್ನು ಹಿಂತಿರುಗಿಸಿದೆ. ದಾಳಿಕೋರರು <ph name="SITE" /> ರೂಪದಲ್ಲಿ ಸೋಗು ಹಾಕಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವಾಗ ಅಥವಾ ವೈ-ಫೈ ಸೈನ್-ಇನ್ ಪರದೆಯು ಸಂಪರ್ಕಕ್ಕೆ ಅಡ್ಡಿಯುಂಟು ಮಾಡಿದಾಗ ಇದು ಕಂಡುಬರಬಹುದು. ಯಾವುದೇ ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವ ಮೊದಲೇ Chromium ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿರುವ ಕಾರಣ, ನಿಮ್ಮ ಮಾಹಿತಿ ಈಗಲೂ ಸುರಕ್ಷಿತವಾಗಿದೆ.</translation> <translation id="9137013805542155359">ಮೂಲವನ್ನು ತೋರಿಸಿ</translation> +<translation id="9137248913990643158">ಈ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸುವ ಮೊದಲು Chrome ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation> <translation id="9148507642005240123">&ಸಂಪಾದಿಸುವುದನ್ನು ರದ್ದುಗೊಳಿಸಿ</translation> <translation id="9154194610265714752">ನವೀಕರಿಸಲಾಗಿದೆ</translation> <translation id="9157595877708044936">ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ...</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb index 41ae2358..d81b6b6d 100644 --- a/components/strings/components_strings_ko.xtb +++ b/components/strings/components_strings_ko.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">자치구</translation> <translation id="2113977810652731515">카드</translation> <translation id="2114841414352855701"><ph name="POLICY_NAME" />이(가) 우선 적용되었기 때문에 무시됩니다.</translation> +<translation id="2138201775715568214">주변 피지컬 웹페이지 검색 중</translation> <translation id="213826338245044447">모바일 북마크</translation> <translation id="2148716181193084225">오늘</translation> <translation id="2154054054215849342">도메인에 대해 동기화를 사용할 수 없습니다.</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">요청 성공</translation> <translation id="2728127805433021124">서버의 인증서가 안전성이 낮은 서명 알고리즘을 사용하여 서명되어 있습니다.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />연결 진단 프로그램 실행<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">확인</translation> <translation id="2742870351467570537">선택한 항목 삭제</translation> <translation id="277499241957683684">기기 기록 없음</translation> <translation id="2784949926578158345">연결이 재설정되었습니다.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" />에 삽입된 페이지 내용:</translation> <translation id="5556459405103347317">새로고침</translation> <translation id="5565735124758917034">활성</translation> +<translation id="5572851009514199876">이 사이트에 액세스할 수 있는지 확인할 수 있도록 Chrome을 시작하고 로그인하세요.</translation> <translation id="5575380383496039204">지원되지 않는 배송지 주소입니다. 다른 주소를 선택하세요.</translation> <translation id="5580958916614886209">유효기간 월을 확인한 후 다시 시도해 주세요.</translation> <translation id="560412284261940334">관리가 지원되지 않음</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">카드가 확인되었습니다.</translation> <translation id="6897140037006041989">사용자 에이전트</translation> <translation id="6915804003454593391">사용자:</translation> -<translation id="6937422995269576720">카드 번호가 잘못됨</translation> <translation id="6957887021205513506">서버의 인증서가 위조된 것 같습니다.</translation> <translation id="6965382102122355670">확인</translation> <translation id="6965978654500191972">기기</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" />에서 보안 기준을 준수하지 않습니다.</translation> <translation id="721197778055552897">이 문제에 대해 <ph name="BEGIN_LINK" />자세히 알아보기<ph name="END_LINK" /></translation> <translation id="7219179957768738017"><ph name="SSL_VERSION" /> 연결입니다.</translation> +<translation id="7220786058474068424">처리 중</translation> <translation id="724691107663265825">다음 사이트에 멀웨어가 있습니다.</translation> <translation id="724975217298816891">카드 세부정보를 업데이트하려면 <ph name="CREDIT_CARD" /> 카드의 만료일과 CVC를 입력하세요. 카드를 확인하면 카드 세부정보가 이 사이트와 공유됩니다.</translation> <translation id="725866823122871198">컴퓨터의 날짜와 시간(<ph name="DATE_AND_TIME" />)이 잘못되어 <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />에 대한 비공개 연결을 설정할 수 없습니다.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome에서 추천검색어를 삭제하시겠습니까?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />'에 대해 <ph name="SEARCH_RESULTS" /> <ph name="NUMBER_OF_RESULTS" />개의 검색 결과를 찾았습니다.</translation> -<translation id="7837582000577464779">주문을 처리하는 중에 오류가 발생했습니다. 계정을 확인한 후 다시 시도해 주세요.</translation> <translation id="785549533363645510">하지만 흔적이 아예 남지 않는 것은 아닙니다. 시크릿 모드로 탐색해도 회사, 인터넷 서비스 제공업체 또는 방문한 웹사이트에 저장된 흔적까지 없앨 수는 없습니다.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">CVC를 확인한 후 다시 시도하세요.</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">결제 앱을 실행할 수 없습니다.</translation> <translation id="9103872766612412690"><ph name="SITE" />에서는 사용자 정보를 보호하기 위해 일반적으로 암호화를 사용합니다. 이번에 Chromium에서 <ph name="SITE" />에 연결을 시도했을 때 웹사이트에서 비정상적이고 잘못된 사용자 인증 정보를 반환했습니다. 이는 공격자가 <ph name="SITE" />인 것처럼 가장하려고 하거나 Wi-Fi 로그인 화면이 연결을 방해했기 때문일 수 있습니다. 데이터 교환이 발생하기 전에 Chromium에서 연결을 중단했으므로 사용자 정보는 안전합니다.</translation> <translation id="9137013805542155359">원본 보기</translation> +<translation id="9137248913990643158">이 앱을 사용하기 전에 Chrome을 시작하고 로그인하세요.</translation> <translation id="9148507642005240123">수정 실행 취소(&U)</translation> <translation id="9154194610265714752">업데이트됨</translation> <translation id="9157595877708044936">설정 중...</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb index 498937bb..b1d33dd 100644 --- a/components/strings/components_strings_lt.xtb +++ b/components/strings/components_strings_lt.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departamentas</translation> <translation id="2113977810652731515">Kortelė</translation> <translation id="2114841414352855701">Nepaisoma, nes buvo pakeista taikant „<ph name="POLICY_NAME" />“.</translation> +<translation id="2138201775715568214">Ieškoma fizinių tinklalapių netoliese</translation> <translation id="213826338245044447">Žymės mobiliesiems</translation> <translation id="2148716181193084225">Šiandien</translation> <translation id="2154054054215849342">Sinchronizavimo paslauga nepasiekiama jūsų domenui</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Užklausa sėkminga</translation> <translation id="2728127805433021124">Serverio sertifikatas pasirašytas naudojant nepatikimą parašo algoritmą.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Paleistas ryšio diagnostikos įrankis<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Gerai</translation> <translation id="2742870351467570537">Pašalinti pasirinktus elementus</translation> <translation id="277499241957683684">Trūksta įrenginio įrašo</translation> <translation id="2784949926578158345">Ryšys atkurtas.</translation> @@ -469,6 +471,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> įterptame puslapyje sakoma:</translation> <translation id="5556459405103347317">Įkelti iš naujo</translation> <translation id="5565735124758917034">Aktyvus</translation> +<translation id="5572851009514199876">Pirmiausia prisijunkite prie „Chrome“, kad „Chrome“ galėtų patikrinti, ar jums leidžiama pasiekti šią svetainę.</translation> <translation id="5575380383496039204">Nepalaikomas pristatymo adresas. Pasirinkite kitą adresą.</translation> <translation id="5580958916614886209">Patikrinkite galiojimo pabaigos mėnesį ir bandykite dar kartą</translation> <translation id="560412284261940334">Tvarkymas nepalaikomas</translation> @@ -594,7 +597,6 @@ <translation id="6895330447102777224">Kortelė patvirtinta</translation> <translation id="6897140037006041989">Naudotojo atstovas</translation> <translation id="6915804003454593391">Naudotojas:</translation> -<translation id="6937422995269576720">Kortelės numeris negalioja</translation> <translation id="6957887021205513506">Panašu, kad serverio sertifikatas yra suklastotas.</translation> <translation id="6965382102122355670">Gerai</translation> <translation id="6965978654500191972">Įrenginys</translation> @@ -622,6 +624,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> nesilaikoma saugos standartų.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /> apie šią problemą.</translation> <translation id="7219179957768738017">Ryšiui naudojama <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Apdorojama</translation> <translation id="724691107663265825">Svetainėje, kurioje ketinate apsilankyti, yra kenkėjiškų programų</translation> <translation id="724975217298816891">Jei norite atnaujinti išsamią kortelės informaciją, įveskite „<ph name="CREDIT_CARD" />“ galiojimo pabaigos datą ir kortelės saugos kodą (CVC). Kai patvirtinsite, išsami kortelės informacija bus bendrinama su šia svetaine.</translation> <translation id="725866823122871198">Nepavyksta užmegzti privataus ryšio su <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, nes kompiuterio data ir laikas (<ph name="DATE_AND_TIME" />) yra netinkami.</translation> @@ -697,7 +700,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Pašalinti formos pasiūlymą iš „Chrome“?</translation> <translation id="7815407501681723534">Pagal terminą „<ph name="SEARCH_STRING" />“ surasta tiek <ph name="SEARCH_RESULTS" />: <ph name="NUMBER_OF_RESULTS" /></translation> -<translation id="7837582000577464779">Apdorojant jūsų užsakymą įvyko klaida. Patikrinkite paskyrą ir bandykite dar kartą.</translation> <translation id="785549533363645510">Tačiau nesate nematomi. Įjungus inkognito režimą, naršymo veiksmai vis tiek matomi darbdaviui, interneto paslaugų teikėjui ar svetainėms, kuriose lankotės.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Patikrinkite kortelės saugos kodą (CVC) ir bandykite dar kartą</translation> @@ -811,6 +813,7 @@ <translation id="9094175695478007090">Nepavyksta paleisti mokėjimų programos.</translation> <translation id="9103872766612412690">Svetainėje <ph name="SITE" /> įprastai naudojama šifruotė informacijai apsaugoti. Šį kartą „Chromium“ bandant prisijungti prie <ph name="SITE" />, ji pateikė neįprastus ir netinkamus prisijungimo duomenis. Gali būti, kad užpuolėjas bando apsimesti svetaine <ph name="SITE" /> arba „Wi-Fi“ prisijungimo ekrane nutrūko ryšys. Jūsų informacija vis tiek liko apsaugota, nes „Chromium“ sustabdė prisijungimą prieš apsikeitimą bet kokiais duomenimis.</translation> <translation id="9137013805542155359">Rodyti originalą</translation> +<translation id="9137248913990643158">Prieš naudodami šią programą prisijunkite prie „Chrome“.</translation> <translation id="9148507642005240123">&Anuliuoti redagavimą</translation> <translation id="9154194610265714752">Atnaujinta</translation> <translation id="9157595877708044936">Nustatoma...</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb index 4924cb9..2b4daa9 100644 --- a/components/strings/components_strings_lv.xtb +++ b/components/strings/components_strings_lv.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departaments</translation> <translation id="2113977810652731515">Karte</translation> <translation id="2114841414352855701">Ignorēta, jo to atcēla politika <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Notiek tuvumā esošu fiziskā tīmekļa lapu meklēšana</translation> <translation id="213826338245044447">Mobilās grāmatzīmes</translation> <translation id="2148716181193084225">Šodien</translation> <translation id="2154054054215849342">Sinhronizācija jūsu domēnam nav pieejama.</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Pieprasījums bija veiksmīgs.</translation> <translation id="2728127805433021124">Servera sertifikāts ir parakstīts, izmantojot vāju paraksta algoritmu.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Palaist savienojamības diagnostiku<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Labi</translation> <translation id="2742870351467570537">Noņemt atlasītos vienumus</translation> <translation id="277499241957683684">Trūkst ierīces ieraksta.</translation> <translation id="2784949926578158345">Savienojums tika atiestatīts.</translation> @@ -467,6 +469,7 @@ <translation id="5544037170328430102">Vietnē <ph name="SITE" /> iegultā lapā ir rakstīts:</translation> <translation id="5556459405103347317">Pārlādēt</translation> <translation id="5565735124758917034">Aktīvs</translation> +<translation id="5572851009514199876">Lūdzu, palaidiet pārlūku Chrome un pierakstieties tajā, lai pārlūkā Chrome varētu pārbaudīt, vai jums ir atļauja piekļūt šai vietnei.</translation> <translation id="5575380383496039204">Neatbalstīta piegādes adrese. Atlasiet citu adresi.</translation> <translation id="5580958916614886209">Pārbaudiet derīguma termiņa mēnesi un mēģiniet vēlreiz.</translation> <translation id="560412284261940334">Pārvaldīšana netiek atbalstīta.</translation> @@ -592,7 +595,6 @@ <translation id="6895330447102777224">Karte ir apstiprināta</translation> <translation id="6897140037006041989">Lietotāja aģents</translation> <translation id="6915804003454593391">Lietotājs:</translation> -<translation id="6937422995269576720">Kartes numurs nav derīgs.</translation> <translation id="6957887021205513506">Šķiet, ka servera sertifikāts ir viltojums.</translation> <translation id="6965382102122355670">Labi</translation> <translation id="6965978654500191972">Ierīce</translation> @@ -620,6 +622,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> neatbilst drošības standartiem.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" /> par šo problēmu.</translation> <translation id="7219179957768738017">Savienojums izmanto <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Notiek apstrāde</translation> <translation id="724691107663265825">Vietnē ir ļaunprātīga programmatūra</translation> <translation id="724975217298816891">Lai atjauninātu kartes informāciju, ievadiet kredītkartes <ph name="CREDIT_CARD" /> derīguma termiņu un CVC. Pēc apstiprināšanas kartes informācija tiks kopīgota ar šo vietni.</translation> <translation id="725866823122871198">Nevar izveidot privātu savienojumu ar <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, jo jūsu datora datums un laiks (<ph name="DATE_AND_TIME" />) nav pareizs.</translation> @@ -695,7 +698,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Vai noņemt veidlapas ieteikumu no pārlūka Chrome?</translation> <translation id="7815407501681723534">Meklējot pēc virknes “<ph name="SEARCH_STRING" />”, tika atrasti <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /></translation> -<translation id="7837582000577464779">Apstrādājot jūsu pasūtījumu, radās kļūda. Lūdzu, pārbaudiet savu kontu un mēģiniet vēlreiz.</translation> <translation id="785549533363645510">Tomēr jūs neesat neredzams. Pārlūkojot inkognito režīmā, jūsu pārlūkošanas darbības netiek slēptas no jūsu darba devēja, interneta pakalpojumu sniedzēja vai apmeklētajām vietnēm.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Pārbaudiet CVC kodu un mēģiniet vēlreiz.</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Nevar palaist maksājumu lietotni.</translation> <translation id="9103872766612412690">Vietnē <ph name="SITE" /> informācijas aizsargāšanai parasti tiek izmantota šifrēšana. Kad pārlūkā Chromium tika mēģināts izveidot savienojumu ar vietni <ph name="SITE" />, šoreiz tā nosūtīja neparastus un nepareizus akreditācijas datus. Iespējams, tas notika, jo uzbrucējs mēģināja uzdoties par vietni <ph name="SITE" />, vai arī Wi-Fi pierakstīšanās ekrāns pārtrauca savienojumu. Jūsu informācija joprojām ir drošībā, jo pārlūks Chromium pārtrauca savienojumu, pirms tika veikta jebkādu datu apmaiņa.</translation> <translation id="9137013805542155359">Rādīt oriģinālo</translation> +<translation id="9137248913990643158">Pirms šīs lietotnes izmantošanas, lūdzu, palaidiet pārlūku Chrome un pierakstieties tajā.</translation> <translation id="9148507642005240123">&Atsaukt labojumu</translation> <translation id="9154194610265714752">Atjaunināts</translation> <translation id="9157595877708044936">Notiek uzstādīšana...</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb index 4423fe3..b0a2774 100644 --- a/components/strings/components_strings_ml.xtb +++ b/components/strings/components_strings_ml.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">വകുപ്പ്</translation> <translation id="2113977810652731515">കാർഡ്</translation> <translation id="2114841414352855701"> <ph name="POLICY_NAME" /> എന്നതിനാൽ മറികടന്നതിനാൽ ഇത് അവഗണിച്ചു.</translation> +<translation id="2138201775715568214">വിളിപ്പാടരികെയുള്ള ഫിസിക്കൽ വെബ് പേജുകൾ തിരയുന്നു</translation> <translation id="213826338245044447">മൊബൈൽ ബുക്ക്മാർക്കുകൾ</translation> <translation id="2148716181193084225">ഇന്ന്</translation> <translation id="2154054054215849342">നിങ്ങളുടെ ഡൊമെയ്നിന് വേണ്ടി സമന്വയം ലഭ്യമല്ല</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">അഭ്യർത്ഥന വിജയിച്ചു</translation> <translation id="2728127805433021124">ഒരു ദുര്ബ്ബല സിഗ്നേച്ചര് അല്ഗോരിതം ഉപയോഗിച്ചുകൊണ്ട് സെര്വറിന്റെ സര്ട്ടിഫിക്കറ്റ് ഒപ്പുവച്ചു.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />കണക്റ്റിവിറ്റി ഡയഗണോസ്റ്റിക്സ് റൺ ചെയ്യുന്നു<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ശരി</translation> <translation id="2742870351467570537">തിരഞ്ഞെടുത്ത ഇനങ്ങള് നീക്കംചെയ്യുക </translation> <translation id="277499241957683684">ഉപകരണ റെക്കോർഡ് കാണുന്നില്ല</translation> <translation id="2784949926578158345">കണക്ഷന് പുനഃസജ്ജമാക്കിയതാണ്.</translation> @@ -467,6 +469,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> സൈറ്റിലെ ഒരു എംബഡ് ചെയ്ത പേജ് പറയുന്നത്:</translation> <translation id="5556459405103347317">വീണ്ടും ലോഡുചെയ്യുക</translation> <translation id="5565735124758917034">സജീവമാണ്</translation> +<translation id="5572851009514199876">ആരംഭിച്ച് Chrome-ൽ സൈൻ ഇൻ ചെയ്യുന്നതിലൂടെ, നിങ്ങൾക്ക് ഈ സൈറ്റ് ആക്സസ് ചെയ്യാൻ അനുവാദമുണ്ടോയെന്ന് Chrome-ന് പരിശോധിക്കാനാവും.</translation> <translation id="5575380383496039204">ഈ ഡെലിവറി വിലാസത്തിൽ അയയ്ക്കാനാവില്ല. മറ്റൊരു വിലാസം തിരഞ്ഞെടുക്കുക.</translation> <translation id="5580958916614886209">കാലാവധി തീരുന്ന മാസം പരിശോധിച്ച് വീണ്ടും ശ്രമിച്ചുനോക്കൂ</translation> <translation id="560412284261940334">മാനേജുമെന്റ് പിന്തുണയ്ക്കുന്നില്ല</translation> @@ -592,7 +595,6 @@ <translation id="6895330447102777224">നിങ്ങളുടെ കാർഡ് സ്ഥിരീകരിച്ചു</translation> <translation id="6897140037006041989">ഉപയോക്തൃ ഏജന്റ്</translation> <translation id="6915804003454593391">ഉപയോക്താവ്:</translation> -<translation id="6937422995269576720">കാർഡ് നമ്പർ തെറ്റാണ്</translation> <translation id="6957887021205513506">സെർവറിന്റെ സർട്ടിഫിക്കറ്റ് വിശ്വസിക്കാൻ കൊള്ളാത്ത ഒന്നായി തോന്നുന്നു.</translation> <translation id="6965382102122355670">ശരി</translation> <translation id="6965978654500191972">ഉപാധി</translation> @@ -620,6 +622,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" />, സുരക്ഷാ മാനദണ്ഡങ്ങൾ പാലിക്കുന്നില്ല.</translation> <translation id="721197778055552897">ഈ പ്രശ്നത്തെക്കുറിച്ച് <ph name="BEGIN_LINK" />കൂടുതൽ മനസിലാക്കുക<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">കണക്ഷന് <ph name="SSL_VERSION" /> ഉപയോഗിക്കുന്നു.</translation> +<translation id="7220786058474068424">പ്രോസസ്സുചെയ്യുന്നു</translation> <translation id="724691107663265825">സൈറ്റിൽ മാൽവെയർ അടങ്ങിയിരിക്കുന്നു</translation> <translation id="724975217298816891">നിങ്ങളുടെ കാർഡ് വിശദാംശങ്ങൾ അപ്ഡേറ്റുചെയ്യാൻ <ph name="CREDIT_CARD" />-ന്റെ കാലാവധി തീരുന്ന തീയതിയും CVC-യും നൽകുക. സ്ഥിരീകരിച്ച് കഴിഞ്ഞാൽ, ഈ സൈറ്റുമായി കാർഡ് വിശദാംശങ്ങൾ പങ്കിടും.</translation> <translation id="725866823122871198">നിങ്ങളുടെ കമ്പ്യൂട്ടറിന്റെ തീയതിയും സമയവും (<ph name="DATE_AND_TIME" />) തെറ്റായതിനാൽ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> എന്നതിലേക്കുള്ള സ്വകാര്യ കണക്ഷൻ സ്ഥാപിക്കാനാവില്ല.</translation> @@ -695,7 +698,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome-ൽ നിന്നുള്ള നിർദ്ദേശം നീക്കംചെയ്യണോ?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' എന്നതിന്റെ <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> കണ്ടു</translation> -<translation id="7837582000577464779">നിങ്ങളുടെ ഓർഡർ പ്രോസസ്സുചെയ്യുന്നതിൽ പിശകുണ്ടായി. അക്കൗണ്ട് പരിശോധിച്ച്, വീണ്ടും ശ്രമിക്കുക.</translation> <translation id="785549533363645510">എന്നിരുന്നാലും നിങ്ങൾ അദൃശ്യനല്ല. ആൾമാറാട്ടത്തിലേയ്ക്ക് പോകുന്നത്, നിങ്ങളുടെ തൊഴിൽ ദാതാവിൽ നിന്നോ ഇന്റർനെറ്റ് സേവന ദാതാവിൽ നിന്നോ നിങ്ങൾ സന്ദർശിക്കുന്ന വെബ്സൈറ്റുകളിൽ നിന്നോ ഉള്ള ബ്രൗസിംഗിനെ മറയ്ക്കില്ല.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">നിങ്ങളുടെ CVC പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">പേയ്മെന്റ് ആപ്പ് ആരംഭിക്കാനായില്ല.</translation> <translation id="9103872766612412690">നിങ്ങളുടെ വിവരങ്ങൾ പരിരക്ഷിക്കാൻ സാധാരണയായി <ph name="SITE" />, എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്നു. ഇപ്പോൾ <ph name="SITE" /> സൈറ്റിലേക്ക് കണക്റ്റുചെയ്യാൻ Chromium ശ്രമിച്ചപ്പോൾ, അസാധാരണമായതും തെറ്റായതുമായ ക്രെഡൻഷ്യലുകൾ വെബ്സൈറ്റ് തിരികെ അയച്ചു. ഒരു ആക്രമണകാരി <ph name="SITE" /> എന്നതായി ഭാവിക്കാൻ ശ്രമിക്കുമ്പോഴോ Wi-Fi സൈൻ ഇൻ സ്ക്രീൻ, കണക്ഷനെ തടസ്സപ്പെടുത്തുമ്പോഴോ ആണ് ഇങ്ങനെ സംഭവിക്കാനിടയുള്ളത്. ഏതെങ്കിലും ഡാറ്റ കൈമാറുന്നതിനുമുമ്പ് Chromium കണക്ഷൻ അവസാനിപ്പിച്ചതിനാൽ, നിങ്ങളുടെ വിവരങ്ങൾ തുടർന്നും സുരക്ഷിതമായിരിക്കും.</translation> <translation id="9137013805542155359">യഥാര്ത്ഥമായത് കാണിക്കുക</translation> +<translation id="9137248913990643158">ഈ ആപ്പ് ഉപയോഗിക്കുന്നതിന് മുമ്പ് ആരംഭിച്ച് Chrome-ൽ സൈൻ ഇൻ ചെയ്യുക.</translation> <translation id="9148507642005240123">&എഡിറ്റുചെയ്യുന്നത് പഴയപടിയാക്കുക</translation> <translation id="9154194610265714752">അപ്ഡേറ്റുചെയ്തു</translation> <translation id="9157595877708044936">സജ്ജീകരിക്കുന്നു...</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb index 99795df0..175c54fe 100644 --- a/components/strings/components_strings_mr.xtb +++ b/components/strings/components_strings_mr.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">विभाग</translation> <translation id="2113977810652731515">कार्ड</translation> <translation id="2114841414352855701">दुर्लक्ष केले कारण ते <ph name="POLICY_NAME" /> कडून अधिलिखित झाले होते.</translation> +<translation id="2138201775715568214">जवळपासची वास्तविक वेब पृष्ठे शोधत आहात</translation> <translation id="213826338245044447">Mobile बुकमार्क</translation> <translation id="2148716181193084225">आज</translation> <translation id="2154054054215849342">आपल्या डोमेनसाठी संकालन उपलब्ध नाही</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">विनंती यशस्वी</translation> <translation id="2728127805433021124">सर्व्हरचे प्रमाणपत्र कमकुवत स्वाक्षरी अल्गोरिदम वापरून स्वाक्षरित केले आहे.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />कनेक्टिव्हिटी निदान चालविणे<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ओके</translation> <translation id="2742870351467570537">निवडलेले आयटम काढा</translation> <translation id="277499241957683684">डिव्हाइस रेकॉर्ड गहाळ</translation> <translation id="2784949926578158345">कनेक्शन रीसेट केले.</translation> @@ -354,7 +356,7 @@ <translation id="4258748452823770588">खराब स्वाक्षरी</translation> <translation id="4269787794583293679">(वापरकर्तानाव नाही)</translation> <translation id="4280429058323657511">, कालबाह्यता <ph name="EXPIRATION_DATE_ABBR" /></translation> -<translation id="4295944351946828969">Google सुरक्षित ब्राउझिंगला <ph name="SITE" /> वर <ph name="BEGIN_LINK" />हानीकारक प्रोग्राम आढळले<ph name="END_LINK" /> <ph name="BEGIN_LEARN_MORE_LINK" />अधिक जाणून घ्या<ph name="END_LEARN_MORE_LINK" />.</translation> +<translation id="4295944351946828969">Google सुरक्षित ब्राउझिंगला <ph name="SITE" /> वर <ph name="BEGIN_LINK" />हानिकारक प्रोग्राम आढळले<ph name="END_LINK" /> <ph name="BEGIN_LEARN_MORE_LINK" />अधिक जाणून घ्या<ph name="END_LEARN_MORE_LINK" />.</translation> <translation id="4300246636397505754">पालक सूचना</translation> <translation id="4304224509867189079">लॉग इन</translation> <translation id="432290197980158659">सर्व्हरने प्रमाणपत्र सादर केले जे अंगभूत अपेक्षांशी जुळत नाही. या अपेक्षा आपल्याला संरक्षित करण्यासाठी विशिष्ट, उच्च-सुरक्षिततेच्या वेबसाइटसाठी समाविष्ट केल्या आहेत. <ph name="BEGIN_LEARN_MORE_LINK" />अधिक जाणून घ्या<ph name="END_LEARN_MORE_LINK" />.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> वरील एम्बेड केलेले पृष्ठ म्हणते:</translation> <translation id="5556459405103347317">रीलोड करा</translation> <translation id="5565735124758917034">सक्रिय</translation> +<translation id="5572851009514199876">कृपया प्रारंभ करा आणि Chrome मध्ये साइन इन करा जेणेकरून आपल्याला या साइटमध्ये प्रवेश करण्याची अनुमती आहे किंवा नाही ते Chrome तपासू शकेल.</translation> <translation id="5575380383496039204">असमर्थित वितरण पत्ता. भिन्न पत्ता निवडा.</translation> <translation id="5580958916614886209">आपला कालबाह्यता महिना तपासा आणि पुन्हा प्रयत्न करा</translation> <translation id="560412284261940334">व्यवस्थापन समर्थित नाही</translation> @@ -594,7 +597,6 @@ <translation id="6895330447102777224">आपल्या कार्डची पुष्टी केली</translation> <translation id="6897140037006041989">वापरकर्ता एजंट</translation> <translation id="6915804003454593391">वापरकर्ता:</translation> -<translation id="6937422995269576720">कार्ड नंबर अवैध</translation> <translation id="6957887021205513506">सर्व्हरचे प्रमाणपत्र खोटे असल्याचे दिसून येते.</translation> <translation id="6965382102122355670">ठीक आहे</translation> <translation id="6965978654500191972">डिव्हाइस</translation> @@ -622,6 +624,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> नी सुरक्षितता मानकांचे पालन केले नाही.</translation> <translation id="721197778055552897">या समस्येबद्दल <ph name="BEGIN_LINK" />अधिक जाणून घ्या<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">कनेक्शन <ph name="SSL_VERSION" /> वापरते.</translation> +<translation id="7220786058474068424">प्रक्रिया करत आहे</translation> <translation id="724691107663265825">साइटमध्ये पुढे मालवेअर आहे</translation> <translation id="724975217298816891">आपले कार्ड तपशील अद्यतनित करण्यासाठी <ph name="CREDIT_CARD" /> करिता कालबाह्यता तारीख आणि CVC प्रविष्ट करा. आपण पुष्टी केल्यावर, आपले कार्ड तपशील या साइटसह सामायिक केले जातील.</translation> <translation id="725866823122871198">आपल्या संगणकाची तारीख आणि वेळ (<ph name="DATE_AND_TIME" />) चुकीची असल्यामुळे <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> सह खाजगी कनेक्शन स्थापित केले जाऊ शकत नाही.</translation> @@ -697,7 +700,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome मधून सूचना फॉर्म काढायचा?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' साठी <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> सापडले</translation> -<translation id="7837582000577464779">आपल्या विनंतीवर प्रक्रिया करताना त्रुटी आली. कृपया आपले खाते तपासा आणि पुन्हा प्रयत्न करा.</translation> <translation id="785549533363645510">तथापि, आपण अदृश्य नाही. गुप्त झाल्याने आपले ब्राउझिंग आपला नियोक्ता, आपला इंटरनेट सेवा प्रदाता, किंवा आपण भेट देता त्या वेबसाइटपासून लपत नाही.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">आपले CVC तपासा आणि पुन्हा प्रयत्न करा</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">पेमेंट अॅप लाँच करण्यात अक्षम.</translation> <translation id="9103872766612412690"><ph name="SITE" /> आपली माहिती संरक्षित करण्यासाठी सामान्यतः कूटबद्धीकरण वापरते. Chromium ने यावेळी <ph name="SITE" /> शी कनेक्ट करण्याचा प्रयत्न केला तेव्हा, वेबसाइटने असामान्य आणि अयोग्य क्रेडेन्शियल परत पाठविले. एकतर आक्रमणकर्ता <ph name="SITE" /> असल्याची बतावणी करण्याचा प्रयत्न करतो तेव्हा किंवा Wi-Fi साइन इन स्क्रीनने कनेक्शनमध्ये व्यत्यय आणले तेव्हा हे घडू शकते. कोणत्याही डेटाची अदलाबदल करण्यापूर्वी Chromium ने कनेक्शन थांबविल्यामुळे आपली माहिती अद्याप सुरक्षित आहे.</translation> <translation id="9137013805542155359">मूळ दर्शवा</translation> +<translation id="9137248913990643158">कृपया हा अॅप वापरण्यापूर्वी प्रारंभ करा आणि Chrome मध्ये साइन इन करा.</translation> <translation id="9148507642005240123">&संपादित करा पूर्ववत करा</translation> <translation id="9154194610265714752">अद्यतनित केलेले</translation> <translation id="9157595877708044936">सेट अप करीत आहे...</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb index 99dfeba0..a84a94e 100644 --- a/components/strings/components_strings_ms.xtb +++ b/components/strings/components_strings_ms.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Jabatan</translation> <translation id="2113977810652731515">Kad</translation> <translation id="2114841414352855701">Diabaikan kerana ia telah diatasi oleh <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Mencari halaman Web Fizikal yang berdekatan</translation> <translation id="213826338245044447">Penanda Halaman Mudah Alih</translation> <translation id="2148716181193084225">Hari ini</translation> <translation id="2154054054215849342">Penyegerakan tidak tersedia untuk domain anda</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Permintaan berjaya</translation> <translation id="2728127805433021124">Sijil pelayan ditandatangani menggunakan algoritma tandatangan yang lemah.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Jalankan Diagnostik Sambungan<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Buang item yang dipilih</translation> <translation id="277499241957683684">Tiada rekod peranti</translation> <translation id="2784949926578158345">Sambungan ditetapkan semula.</translation> @@ -469,6 +471,7 @@ <translation id="5544037170328430102">Halaman terbenam di <ph name="SITE" /> menyatakan:</translation> <translation id="5556459405103347317">Muat Semula</translation> <translation id="5565735124758917034">Aktif</translation> +<translation id="5572851009514199876">Sila mulakan dan log masuk ke Chrome supaya Chrome boleh menyemak sama ada anda dibenarkan mengakses tapak ini.</translation> <translation id="5575380383496039204">Alamat penghantaran tidak disokong. Pilih alamat lain.</translation> <translation id="5580958916614886209">Semak bulan tamat tempoh anda dan cuba lagi</translation> <translation id="560412284261940334">Pengurusan tidak disokong</translation> @@ -594,7 +597,6 @@ <translation id="6895330447102777224">Kad anda telah disahkan</translation> <translation id="6897140037006041989">Ejen Pengguna</translation> <translation id="6915804003454593391">Pengguna:</translation> -<translation id="6937422995269576720">Nombor kad tidak sah</translation> <translation id="6957887021205513506">Sijil pelayan rupanya adalah pemalsuan.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Peranti</translation> @@ -622,6 +624,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> tidak mematuhi piawaian keselamatan.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Ketahui lebih lanjut<ph name="END_LINK" /> mengenai masalah ini.</translation> <translation id="7219179957768738017">Sambungan menggunakan <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Memproses</translation> <translation id="724691107663265825">Tapak di hadapan mengandungi perisian hasad</translation> <translation id="724975217298816891">Masukkan tarikh tamat tempoh dan CVC untuk <ph name="CREDIT_CARD" /> bagi mengemas kini butiran kad anda. Setelah anda mengesahkan, butiran kad anda akan dikongsi dengan tapak ini.</translation> <translation id="725866823122871198">Sambungan peribadi ke <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> tidak boleh diwujudkan kerana tarikh dan masa komputer anda (<ph name="DATE_AND_TIME" />) tidak betul.</translation> @@ -697,7 +700,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Alih keluar cadangan borang daripada Chrome?</translation> <translation id="7815407501681723534">Menemui <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> untuk '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">Berlaku ralat semasa memproses pesanan anda. Sila semak akaun anda dan cuba lagi.</translation> <translation id="785549533363645510">Walau bagaimanapun, anda tidak halimunan. Apabila anda menggunakan mod inkognito, penyemakan imbas anda tidak akan disembunyikan daripada majikan anda, penyedia perkhidmatan Internet anda atau tapak web yang anda lawati.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Semak CVC anda dan cuba lagi</translation> @@ -811,6 +813,7 @@ <translation id="9094175695478007090">Tidak dapat melancarkan apl pembayaran.</translation> <translation id="9103872766612412690"><ph name="SITE" /> biasanya menggunakan penyulitan untuk melindungi maklumat anda. Apabila Chromium cuba menyambung ke <ph name="SITE" /> pada kali ini, tapak web tersebut mengembalikan bukti kelayakan yang luar biasa dan salah. Hal ini boleh berlaku apabila penyerang sedang cuba menyamar sebagai <ph name="SITE" /> atau skrin log masuk Wi-Fi telah memutuskan sambungan. Maklumat anda masih selamat kerana Chromium menghentikan sambungan sebelum sebarang pertukaran data berlaku.</translation> <translation id="9137013805542155359">Paparkan asal</translation> +<translation id="9137248913990643158">Sila mulakan dan log masuk ke Chrome sebelum menggunakan apl ini.</translation> <translation id="9148507642005240123">&Buat asal edit</translation> <translation id="9154194610265714752">Dikemas kini</translation> <translation id="9157595877708044936">Menyediakan...</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb index 253f2cd..9d6e6603 100644 --- a/components/strings/components_strings_nl.xtb +++ b/components/strings/components_strings_nl.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departement</translation> <translation id="2113977810652731515">Kaart</translation> <translation id="2114841414352855701">Genegeerd omdat het werd overschreven door <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Bezig met zoeken naar Fysieke webpagina's in de buurt</translation> <translation id="213826338245044447">Mobiele bladwijzers</translation> <translation id="2148716181193084225">Vandaag</translation> <translation id="2154054054215849342">De synchronisatieservice is niet beschikbaar voor je domein</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Verzoek geslaagd</translation> <translation id="2728127805433021124">Het certificaat van de server is ondertekend met een zwak ondertekeningsalgoritme.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Verbindingsdiagnose uitvoeren<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Geselecteerde items verwijderen</translation> <translation id="277499241957683684">Apparaatrecord ontbreekt</translation> <translation id="2784949926578158345">De verbinding is opnieuw ingesteld.</translation> @@ -464,6 +466,7 @@ <translation id="5544037170328430102">Een ingesloten pagina op <ph name="SITE" /> meldt het volgende:</translation> <translation id="5556459405103347317">Opnieuw laden</translation> <translation id="5565735124758917034">Actief</translation> +<translation id="5572851009514199876">Start Chrome en log in zodat Chrome kan controleren of je deze site mag openen.</translation> <translation id="5575380383496039204">Niet-ondersteund afleveradres. Selecteer een ander adres.</translation> <translation id="5580958916614886209">Controleer de vervalmaand en probeer het opnieuw</translation> <translation id="560412284261940334">Beheer wordt niet ondersteund</translation> @@ -588,7 +591,6 @@ <translation id="6895330447102777224">Je creditcard is bevestigd</translation> <translation id="6897140037006041989">User-agent</translation> <translation id="6915804003454593391">Gebruiker:</translation> -<translation id="6937422995269576720">Kaartnummer ongeldig</translation> <translation id="6957887021205513506">Het certificaat van de server lijkt vals te zijn.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Apparaat</translation> @@ -616,6 +618,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> voldoet niet aan de beveiligingsnormen.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Meer informatie<ph name="END_LINK" /> over dit probleem.</translation> <translation id="7219179957768738017">De verbinding maakt gebruik van <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Verwerken</translation> <translation id="724691107663265825">De volgende website bevat malware</translation> <translation id="724975217298816891">Geef de vervaldatum en CVC-code voor <ph name="CREDIT_CARD" /> op om je creditcardgegevens te updaten. Zodra je bevestigt, worden je creditcardgegevens gedeeld met deze site.</translation> <translation id="725866823122871198">Er kan geen privéverbinding met <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> tot stand worden gebracht, omdat de datum en tijd van de computer (<ph name="DATE_AND_TIME" />) onjuist zijn.</translation> @@ -691,7 +694,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Formuliersuggestie verwijderen uit Chrome?</translation> <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> gevonden voor '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">Er is een fout opgetreden bij het verwerken van je bestelling. Controleer je account en probeer het opnieuw.</translation> <translation id="785549533363645510">Je bent echter niet onzichtbaar. Als je incognito bent, wordt je browsegeschiedenis niet verborgen voor je werkgever, je internetprovider of de websites die je bezoekt.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Controleer je CVC-code en probeer het opnieuw</translation> @@ -804,6 +806,7 @@ <translation id="9094175695478007090">Kan betalings-app niet starten.</translation> <translation id="9103872766612412690"><ph name="SITE" /> gebruikt gewoonlijk versleuteling om je gegevens te beschermen. Toen Chromium deze keer probeerde verbinding te maken met <ph name="SITE" />, retourneerde de website ongewone en onjuiste inloggegevens. Dit gebeurt wanneer een aanvaller probeert zich als <ph name="SITE" /> voor te doen of wanneer een wifi-inlogscherm de verbinding heeft verbroken. Je gegevens zijn nog steeds veilig omdat Chromium de verbinding heeft beëindigd voordat er gegevens konden worden uitgewisseld.</translation> <translation id="9137013805542155359">Origineel weergeven</translation> +<translation id="9137248913990643158">Start Chrome en log in voordat je deze app gebruikt.</translation> <translation id="9148507642005240123">&Bewerken ongedaan maken</translation> <translation id="9154194610265714752">Bijgewerkt</translation> <translation id="9157595877708044936">Bezig met instellen...</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb index 7cec698..a1c903e 100644 --- a/components/strings/components_strings_no.xtb +++ b/components/strings/components_strings_no.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Avdeling</translation> <translation id="2113977810652731515">Kort</translation> <translation id="2114841414352855701">Ignorert fordi det ble overstyrt av <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Leter etter Fysisk nett-sider i nærheten</translation> <translation id="213826338245044447">Bokmerker for mobil</translation> <translation id="2148716181193084225">I dag</translation> <translation id="2154054054215849342">Synkronisering er ikke tilgjengelig for domenet ditt</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Forespørselen var vellykket</translation> <translation id="2728127805433021124">Tjenerens sertifikat er signert med en usikker signaturalgoritme.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Kjør Tilkoblingsdiagnostikk<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Fjern valgte elementer</translation> <translation id="277499241957683684">Manglende enhetsoppføring</translation> <translation id="2784949926578158345">Tilkoblingen ble tilbakestilt.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">En innebygd side på <ph name="SITE" /> sier:</translation> <translation id="5556459405103347317">Last inn på nytt</translation> <translation id="5565735124758917034">Aktiv</translation> +<translation id="5572851009514199876">Start og logg på Chrome, så Chrome kan sjekke om du har tillatelse til å gå til dette nettstedet.</translation> <translation id="5575380383496039204">Leveringsadressen støttes ikke. Velg en annen adresse.</translation> <translation id="5580958916614886209">Kontrollér utløpsmåneden, og prøv igjen</translation> <translation id="560412284261940334">Administrering støttes ikke</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Kortet ditt er bekreftet</translation> <translation id="6897140037006041989">Brukeragent</translation> <translation id="6915804003454593391">Bruker:</translation> -<translation id="6937422995269576720">Kortnummeret er ugyldig</translation> <translation id="6957887021205513506">Tjenersertifikatet ser ut til å være forfalsket.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Enhet</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> retter seg ikke etter sikkerhetsstandardene.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Mer informasjon<ph name="END_LINK" /> om dette problemet.</translation> <translation id="7219179957768738017">Tilkoblingen bruker <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Behandler</translation> <translation id="724691107663265825">Nettstedet du er på vei til, inneholder skadelig programvare</translation> <translation id="724975217298816891">Skriv inn utløpsdatoen og verifiseringskoden for <ph name="CREDIT_CARD" /> for å oppdatere kortinformasjonen din. Når du bekrefter, deles denne informasjonen med dette nettstedet.</translation> <translation id="725866823122871198">En privat forbindelse til <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> kan ikke opprettes fordi datoen og klokkeslettet (<ph name="DATE_AND_TIME" />) på datamaskinen er feil.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Vil du fjerne skjemaforslaget fra Chrome?</translation> <translation id="7815407501681723534">Fant <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> for «<ph name="SEARCH_STRING" />»</translation> -<translation id="7837582000577464779">Det oppsto en feil ved behandling av bestillingen din. Sjekk kontoen din og prøv igjen.</translation> <translation id="785549533363645510">Du er imidlertid ikke usynlig. Inkognitomodus skjuler ikke surfingen din for arbeidsgiveren din, Internett-leverandøren eller nettstedene du besøker.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Kontrollér CVC-koden din, og prøv igjen.</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Kan ikke starte betalingsappen.</translation> <translation id="9103872766612412690"><ph name="SITE" /> bruker vanligvis kryptering for å beskytte informasjonen din. Da Chromium prøvde å koble til <ph name="SITE" /> denne gangen, sendte nettstedet tilbake uvanlig og feil legitimasjon. Dette kan skje hvis en angriper prøver å utgi seg for å være <ph name="SITE" />, eller hvis en Wi-Fi-påloggingsskjerm har avbrutt tilkoblingen. Informasjonen din er likevel sikker fordi Chromium stoppet tilkoblingen før det ble utvekslet noen data.</translation> <translation id="9137013805542155359">Vis original</translation> +<translation id="9137248913990643158">Du må starte og logge på Chrome før du bruker denne appen.</translation> <translation id="9148507642005240123">&Angre endringen</translation> <translation id="9154194610265714752">Oppdatert</translation> <translation id="9157595877708044936">Konfigurerer ...</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb index 0b39da3..44b68ce 100644 --- a/components/strings/components_strings_pl.xtb +++ b/components/strings/components_strings_pl.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departament</translation> <translation id="2113977810652731515">Karta</translation> <translation id="2114841414352855701">Ignorowana, ponieważ jest zastąpiona przez <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Szukam stron internetu rzeczy w pobliżu</translation> <translation id="213826338245044447">Zakładki na komórce</translation> <translation id="2148716181193084225">Dzisiaj</translation> <translation id="2154054054215849342">Synchronizacja nie jest dostępna w Twojej domenie.</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Żądanie wykonane pomyślnie</translation> <translation id="2728127805433021124">Certyfikat serwera został podpisany przy użyciu słabego algorytmu podpisu.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Uruchomienie diagnostyki połączeń<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Usuń wybrane elementy</translation> <translation id="277499241957683684">Brak rekordu urządzenia</translation> <translation id="2784949926578158345">Połączenie zostało zresetowane.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Komunikat z elementu umieszczonego na stronie <ph name="SITE" />:</translation> <translation id="5556459405103347317">Odśwież</translation> <translation id="5565735124758917034">Aktywny</translation> +<translation id="5572851009514199876">Uruchom Chrome i zaloguj się w nim, by mógł sprawdzić, czy masz uprawnienia dostępu do tej strony.</translation> <translation id="5575380383496039204">Nieobsługiwany adres dostawy. Wybierz inny.</translation> <translation id="5580958916614886209">Sprawdź miesiąc ważności i spróbuj ponownie</translation> <translation id="560412284261940334">Zarządzanie jest nieobsługiwane</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Karta została potwierdzona</translation> <translation id="6897140037006041989">Klient</translation> <translation id="6915804003454593391">Użytkownik:</translation> -<translation id="6937422995269576720">Nieprawidłowy numer karty</translation> <translation id="6957887021205513506">Certyfikat serwera wydaje się sfałszowany.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Urządzenie</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">Serwer <ph name="HOST_NAME" /> nie spełnia norm bezpieczeństwa.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /> na temat tego problemu.</translation> <translation id="7219179957768738017">Połączenie z szyfrowaniem <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Przetwarzanie</translation> <translation id="724691107663265825">Strona, którą chcesz otworzyć, zawiera złośliwe oprogramowanie</translation> <translation id="724975217298816891">Wpisz datę ważności i kod CVC karty <ph name="CREDIT_CARD" />, by zaktualizować jej szczegółowe dane. Po potwierdzeniu zostaną one udostępnione tej stronie.</translation> <translation id="725866823122871198">Nie można nawiązać prywatnego połączenia z <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, ponieważ data i godzina (<ph name="DATE_AND_TIME" />) ustawione na komputerze są nieprawidłowe.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Usunąć tę podpowiedź do formularza z Chrome?</translation> <translation id="7815407501681723534">Znalezione <ph name="SEARCH_RESULTS" /> dla zapytania „<ph name="SEARCH_STRING" />”: <ph name="NUMBER_OF_RESULTS" /></translation> -<translation id="7837582000577464779">Podczas przetwarzania zamówienia wystąpił błąd. Sprawdź swoje konto i spróbuj ponownie.</translation> <translation id="785549533363645510">To jednak nie znaczy, że Cię nie widać. Nawet gdy przejdziesz w tryb incognito, Twój pracodawca, dostawca usług internetowych czy webmasterzy stron, na które wchodzisz, mogą dowiedzieć się, co przeglądasz.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Sprawdź kod CVC i spróbuj ponownie</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Nie można uruchomić aplikacji do płatności.</translation> <translation id="9103872766612412690"><ph name="SITE" /> zazwyczaj używa szyfrowania do ochrony Twoich informacji. Gdy tym razem przeglądarka Chromium próbowała połączyć się ze stroną <ph name="SITE" />, odesłała ona nietypowe i nieprawidłowe dane logowania. Może się tak zdarzyć, gdy pod stronę <ph name="SITE" /> podszywa się osoba atakująca albo gdy ekran logowania do sieci Wi-Fi przerwie połączenie. Twoje informacje są nadal bezpieczne, bo połączenie w Chromium zakończyło się przed wymianą jakichkolwiek danych.</translation> <translation id="9137013805542155359">Pokaż tekst oryginalny</translation> +<translation id="9137248913990643158">Aby użyć tej aplikacji, najpierw uruchom Chrome i zaloguj się w nim.</translation> <translation id="9148507642005240123">&Cofnij edycję</translation> <translation id="9154194610265714752">Zaktualizowano</translation> <translation id="9157595877708044936">Konfigurowanie...</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb index 2a2412d3..2adc6ce 100644 --- a/components/strings/components_strings_pt-BR.xtb +++ b/components/strings/components_strings_pt-BR.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departamento</translation> <translation id="2113977810652731515">Cartão</translation> <translation id="2114841414352855701">Ignorado porque foi substituído por <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Procurando páginas da Web física nas proximidades</translation> <translation id="213826338245044447">Favoritos de dispositivos móveis</translation> <translation id="2148716181193084225">Hoje</translation> <translation id="2154054054215849342">O serviço de sincronização não está disponível para seu domínio</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Solicitação bem-sucedida</translation> <translation id="2728127805433021124">O certificado do servidor é assinado com um algoritmo de assinatura fraco.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Executar o Diagnóstico de Conectividade<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Remover itens selecionados</translation> <translation id="277499241957683684">Registro de dispositivo não encontrado</translation> <translation id="2784949926578158345">A conexão foi redefinida.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Uma página incorporada em <ph name="SITE" /> diz:</translation> <translation id="5556459405103347317">Recarregar</translation> <translation id="5565735124758917034">Ativo</translation> +<translation id="5572851009514199876">Inicie e faça login no Chrome para que ele possa verificar se você tem permissão para acessar este site.</translation> <translation id="5575380383496039204">Endereço de entrega não aceito. Selecione um endereço diferente.</translation> <translation id="5580958916614886209">Verifique o mês de validade e tente novamente</translation> <translation id="560412284261940334">Gerenciamento não suportado</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Seu cartão foi confirmado</translation> <translation id="6897140037006041989">Agente do usuário</translation> <translation id="6915804003454593391">Usuário:</translation> -<translation id="6937422995269576720">Número de cartão inválido</translation> <translation id="6957887021205513506">O certificado do servidor parece ser falsificado.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Dispositivo</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> não adere aos padrões de segurança.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /> sobre este problema.</translation> <translation id="7219179957768738017">A conexão usa a <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Processando</translation> <translation id="724691107663265825">O site a seguir contém malware</translation> <translation id="724975217298816891">Digite a data de validade e o CVC do <ph name="CREDIT_CARD" /> para atualizar os detalhes do cartão. Depois da confirmação, os detalhes do cartão serão compartilhados com esse site.</translation> <translation id="725866823122871198">Não é possível estabelecer uma conexão privada com <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, porque a data e a hora do seu computador (<ph name="DATE_AND_TIME" />) estão incorretas.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Remover sugestão de formulário do Chrome?</translation> <translation id="7815407501681723534">Localizados <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> para "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Ocorreu um erro ao processar seu pedido. Verifique sua conta e tente novamente.</translation> <translation id="785549533363645510">O modo invisível NÃO oculta seus dados de navegação. Seu empregador, seu provedor de Internet e os websites visitados continuam tendo acesso a essas informações.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Verifique seu CVC e tente novamente</translation> @@ -811,6 +813,7 @@ <translation id="9103872766612412690">O site <ph name="SITE" /> geralmente usa criptografia para proteger suas informações. Quando o Chromium tentou se conectar a <ph name="SITE" /> dessa vez, o website retornou credenciais incomuns e incorretas. Isso pode acontecer quando um invasor está fingindo ser <ph name="SITE" /> ou quando uma tela de login por Wi-Fi interrompeu a conexão. Suas informações ainda estão protegidas, porque o Chromium interrompeu a conexão antes que os dados fossem trocados.</translation> <translation id="9137013805542155359">Mostrar original</translation> +<translation id="9137248913990643158">Inicie e faça login no Chrome antes de usar este app.</translation> <translation id="9148507642005240123">&Desfazer editar</translation> <translation id="9154194610265714752">Atualizado</translation> <translation id="9157595877708044936">Configurando...</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb index e5cca48d..866c685 100644 --- a/components/strings/components_strings_pt-PT.xtb +++ b/components/strings/components_strings_pt-PT.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departamento</translation> <translation id="2113977810652731515">Cartão</translation> <translation id="2114841414352855701">Ignorada porque foi substituída por <ph name="POLICY_NAME" /> .</translation> +<translation id="2138201775715568214">A procurar páginas da Web física próximas</translation> <translation id="213826338245044447">Marcadores de Telemóvel</translation> <translation id="2148716181193084225">Hoje</translation> <translation id="2154054054215849342">A sincronização não está disponível para o domínio</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Pedido com êxito</translation> <translation id="2728127805433021124">O certificado do servidor foi assinado utilizando um algoritmo de assinatura fraco.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Executar o Diagnóstico de conetividade<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Remover itens seleccionados</translation> <translation id="277499241957683684">Registo do dispositivo em falta</translation> <translation id="2784949926578158345">A ligação foi reposta.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Uma página incorporada em <ph name="SITE" /> diz:</translation> <translation id="5556459405103347317">Recarregar</translation> <translation id="5565735124758917034">Ativo</translation> +<translation id="5572851009514199876">Comece e inicie sessão no Chrome para que este possa verificar se tem autorização para aceder a este site.</translation> <translation id="5575380383496039204">Endereço de entrega não suportado. Selecione um endereço diferente.</translation> <translation id="5580958916614886209">Verifique o mês de validade e tente novamente</translation> <translation id="560412284261940334">Gestão não suportada</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">O seu cartão foi confirmado</translation> <translation id="6897140037006041989">Agente do utilizador</translation> <translation id="6915804003454593391">Utilizador:</translation> -<translation id="6937422995269576720">Número de cartão inválido</translation> <translation id="6957887021205513506">O certificado do servidor parece ser uma falsificação.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Dispositivo</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> não respeita os padrões de segurança.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /> sobre este problema.</translation> <translation id="7219179957768738017">A ligação utiliza <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">A processar</translation> <translation id="724691107663265825">O site que pretende visitar contém software malicioso</translation> <translation id="724975217298816891">Introduza a data de validade e o Código de Segurança/CVC de <ph name="CREDIT_CARD" /> para atualizar os detalhes do cartão. Ao confirmar, os detalhes do cartão são partilhados com este site.</translation> <translation id="725866823122871198">Não é possível estabelecer uma ligação privada a <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, porque a data e a hora do computador (<ph name="DATE_AND_TIME" />) estão incorretas.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Pretende remover a sugestão do formulário do Chrome?</translation> <translation id="7815407501681723534">Encontrados <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> para "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">Ocorreu um erro ao processar a encomenda. Verifique a sua conta e tente novamente.</translation> <translation id="785549533363645510">No entanto, a navegação não é invisível. Passar para o modo de navegação anónima não oculta a navegação do empregador ou do fornecedor de serviços de Internet, nem dos Websites que visitar.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Verifique o Código de Segurança/CVC e tente novamente</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Não é possível iniciar a aplicação de pagamento.</translation> <translation id="9103872766612412690">Normalmente, o site <ph name="SITE" /> utiliza a encriptação para proteger as suas informações. Quando o Chromium tentou estabelecer ligação a <ph name="SITE" /> desta vez, o Website devolveu credenciais invulgares e incorretas. Isto pode acontecer quando um utilizador mal intencionado tenta simular ser <ph name="SITE" /> ou quando um ecrã de início de sessão Wi-Fi interrompe a ligação. As suas informações continuam seguras porque o Chromium interrompeu a ligação antes de qualquer troca de dados.</translation> <translation id="9137013805542155359">Mostrar original</translation> +<translation id="9137248913990643158">Comece e inicie sessão no Chrome antes de utilizar esta aplicação.</translation> <translation id="9148507642005240123">&Anular edição</translation> <translation id="9154194610265714752">Atualizado</translation> <translation id="9157595877708044936">A configurar...</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb index a643b35f..cc6274c5 100644 --- a/components/strings/components_strings_ro.xtb +++ b/components/strings/components_strings_ro.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departament</translation> <translation id="2113977810652731515">Card</translation> <translation id="2114841414352855701">Politica este ignorată, deoarece a fost înlocuită de <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Se caută pagini din Webul material din apropiere</translation> <translation id="213826338245044447">Marcaje mobile</translation> <translation id="2148716181193084225">Astăzi</translation> <translation id="2154054054215849342">Sincronizarea nu este disponibilă pentru domeniul tău</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Solicitarea a reușit</translation> <translation id="2728127805433021124">Certificatul serverului este semnat utilizând un algoritm de semnătură slab.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />să rulezi Diagnostice conectivitate<ph name="END_LINK" />;</translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Elimină elementele selectate</translation> <translation id="277499241957683684">Lipsește o înregistrare pentru gadget</translation> <translation id="2784949926578158345">Conexiunea a fost resetată.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">O pagină încorporată de pe <ph name="SITE" /> afișează mesajul:</translation> <translation id="5556459405103347317">Reîncarcă</translation> <translation id="5565735124758917034">Activ</translation> +<translation id="5572851009514199876">Pornește și conectează-te la Chrome, ca acesta să verifice dacă ai permisiunea să accesezi site-ul.</translation> <translation id="5575380383496039204">Adresa de livrare nu este acceptată. Selectează o altă adresă.</translation> <translation id="5580958916614886209">Verifică luna în care expiră și încearcă din nou</translation> <translation id="560412284261940334">Gestionarea nu este acceptată</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Cardul tău este confirmat</translation> <translation id="6897140037006041989">User Agent</translation> <translation id="6915804003454593391">Utilizator:</translation> -<translation id="6937422995269576720">Numărul cardului nu este valid</translation> <translation id="6957887021205513506">Certificatul serverului pare a fi un fals.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Dispozitiv</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> nu respectă standardele de securitate.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /> despre această problemă.</translation> <translation id="7219179957768738017">Conexiunea utilizează <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Se procesează</translation> <translation id="724691107663265825">Site-ul pe care urmează să îl accesezi conține programe malware</translation> <translation id="724975217298816891">Introdu data de expirare și codul CVC pentru <ph name="CREDIT_CARD" />, pentru a actualiza detaliile cardului. După ce confirmi, acest site va avea acces la detaliile cardului tău.</translation> <translation id="725866823122871198">O conexiune privată la <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> nu poate fi stabilită, deoarece data și ora computerului (<ph name="DATE_AND_TIME" />) sunt incorecte.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Elimini sugestia pentru formular din Chrome?</translation> <translation id="7815407501681723534">S-au găsit <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> pentru „<ph name="SEARCH_STRING" />”</translation> -<translation id="7837582000577464779">A apărut o eroare la procesarea comenzii. Verifică-ți contul și încearcă din nou.</translation> <translation id="785549533363645510">Cu toate acestea, nu ești invizibil(ă). Trecerea în modul incognito nu ascunde activitatea de navigare față de angajator, față de furnizorul de servicii de internet sau față de site-urile pe care le accesezi.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Verifică codul CVC și încearcă din nou</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Nu se poate lansa aplicația de plată.</translation> <translation id="9103872766612412690">Site-ul <ph name="SITE" /> folosește în mod obișnuit criptarea pentru a-ți proteja informațiile. Când Chromium a încercat să se conecteze la <ph name="SITE" /> de această dată, site-ul a returnat date de conectare neobișnuite și incorecte. Acest lucru s-a întâmplat fie pentru că un atacator încearcă să falsifice site-ul <ph name="SITE" />, fie pentru că un ecran de conectare Wi-Fi a întrerupt conexiunea. Securitatea informațiilor tale nu a fost afectată, deoarece Chromium a oprit conexiunea înainte ca datele să fie transferate.</translation> <translation id="9137013805542155359">Afișează originalul</translation> +<translation id="9137248913990643158">Pornește și conectează-te la Chrome înainte de a folosi această aplicație.</translation> <translation id="9148507642005240123">&Anulați editarea</translation> <translation id="9154194610265714752">Actualizat</translation> <translation id="9157595877708044936">Se configurează...</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb index d9888e9a..99541d41 100644 --- a/components/strings/components_strings_ru.xtb +++ b/components/strings/components_strings_ru.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Округ</translation> <translation id="2113977810652731515">Карта</translation> <translation id="2114841414352855701">Игнорируется, так как правило <ph name="POLICY_NAME" /> имеет приоритет.</translation> +<translation id="2138201775715568214">Поиск веб-страниц…</translation> <translation id="213826338245044447">Закладки на мобильном</translation> <translation id="2148716181193084225">Сегодня</translation> <translation id="2154054054215849342">В вашем домене синхронизация недоступна</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Запрос выполнен успешно</translation> <translation id="2728127805433021124">Сертификат сервера подписан с использованием ненадежного алгоритма.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Выполните диагностику подключения<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ОК</translation> <translation id="2742870351467570537">Удалить выбранные элементы</translation> <translation id="277499241957683684">Устройство не зарегистрировано</translation> <translation id="2784949926578158345">Соединение сброшено.</translation> @@ -467,6 +469,7 @@ <translation id="5544037170328430102">Подтвердите действие на <ph name="SITE" />:</translation> <translation id="5556459405103347317">Перезагрузить</translation> <translation id="5565735124758917034">Активен</translation> +<translation id="5572851009514199876">Выполните вход, чтобы Chrome определил, разрешен ли вам доступ к этому сайту.</translation> <translation id="5575380383496039204">Адрес доставки не поддерживается. Выберите другой вариант.</translation> <translation id="5580958916614886209">Проверьте месяц в сроке действия карты и повторите попытку</translation> <translation id="560412284261940334">Управление устройствами не поддерживается</translation> @@ -592,7 +595,6 @@ <translation id="6895330447102777224">Ваша карта подтверждена</translation> <translation id="6897140037006041989">User Agent</translation> <translation id="6915804003454593391">Пользователь:</translation> -<translation id="6937422995269576720">Недействительный номер карты</translation> <translation id="6957887021205513506">Возможно, сертификат сервера фальсифицирован.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Устройство</translation> @@ -620,6 +622,7 @@ <translation id="7210863904660874423">Сайт <ph name="HOST_NAME" /> не соответствует стандартам безопасности.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Подробнее <ph name="END_LINK" /> об этой неполадке.</translation> <translation id="7219179957768738017">В этом подключении используется протокол <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Подождите…</translation> <translation id="724691107663265825">Осторожно, вредоносное ПО!</translation> <translation id="724975217298816891">Введите срок действия и CVC-код карты <ph name="CREDIT_CARD" />. После этого ее данные будут переданы сайту.</translation> <translation id="725866823122871198">Не удалось установить защищенное соединение с доменом <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> из-за неверных настроек системных часов и календаря (<ph name="DATE_AND_TIME" />).</translation> @@ -695,7 +698,6 @@ <translation id="7812922009395017822">Мир</translation> <translation id="7813600968533626083">Удалить подсказку из Chrome?</translation> <translation id="7815407501681723534"><ph name="SEARCH_RESULTS" /> по запросу "<ph name="SEARCH_STRING" />" (<ph name="NUMBER_OF_RESULTS" />)</translation> -<translation id="7837582000577464779">Не удалось обработать заказ. Проверьте аккаунт и повторите попытку.</translation> <translation id="785549533363645510">Тем не менее ваши действия будут видны системному администратору и интернет-провайдеру, а также доступны веб-сайтам, которые вы посещаете.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Проверьте CVC-код и повторите попытку</translation> @@ -808,6 +810,7 @@ <translation id="9094175695478007090">Не удалось запустить платежное приложение.</translation> <translation id="9103872766612412690">На сайте <ph name="SITE" /> для защиты ваших данных обычно используется шифрование. Однако учетные данные, которые мы получили от сайта <ph name="SITE" /> сейчас, отличаются от тех, которые он отправляет обычно. Вероятно, вредоносный сайт пытается выдать себя за <ph name="SITE" />, либо страница подключения к сети Wi-Fi прервала соединение. Ваша информация по-прежнему в безопасности, так как браузер Chromium разорвал соединение до того, как произошел обмен данными.</translation> <translation id="9137013805542155359">Показать оригинал</translation> +<translation id="9137248913990643158">Войдите в Chrome, прежде чем использовать это приложение.</translation> <translation id="9148507642005240123">&Отменить изменения</translation> <translation id="9154194610265714752">Обновлено</translation> <translation id="9157595877708044936">Настройка...</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb index 6d36d5bc..d715244 100644 --- a/components/strings/components_strings_sk.xtb +++ b/components/strings/components_strings_sk.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Správna oblasť</translation> <translation id="2113977810652731515">Karta</translation> <translation id="2114841414352855701">Ignorované, pretože bolo prepísané pravidlom <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Vyhľadávajú sa stránky Fyzického webu v okolí</translation> <translation id="213826338245044447">Záložky v mobile</translation> <translation id="2148716181193084225">Dnes</translation> <translation id="2154054054215849342">Synchronizácia nie je pre vašu doménu k dispozícii</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Žiadosť bola úspešná</translation> <translation id="2728127805433021124">Certifikát servera je podpísaný pomocou slabého podpisového algoritmu.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Spustiť nástroj Diagnostika konektivity<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Odstrániť vybraté položky</translation> <translation id="277499241957683684">Chýbajúci záznam zariadenia</translation> <translation id="2784949926578158345">Spojenie bolo obnovené.</translation> @@ -464,6 +466,7 @@ <translation id="5544037170328430102">Vložená stránka na webe <ph name="SITE" /> hovorí:</translation> <translation id="5556459405103347317">Obnoviť</translation> <translation id="5565735124758917034">Aktívne</translation> +<translation id="5572851009514199876">Začnite a prihláste sa do Chromu, aby skontroloval, či môžete navštíviť tento web.</translation> <translation id="5575380383496039204">Nepodporovaná doručovacia adresa. Vyberte inú adresu.</translation> <translation id="5580958916614886209">Skontrolujte mesiac vypršania platnosti a skúste to znova</translation> <translation id="560412284261940334">Správa nie je podporovaná</translation> @@ -588,7 +591,6 @@ <translation id="6895330447102777224">Vaša karta je overená</translation> <translation id="6897140037006041989">Používateľský agent</translation> <translation id="6915804003454593391">Používateľ:</translation> -<translation id="6937422995269576720">Neplatné číslo karty</translation> <translation id="6957887021205513506">Zdá sa, že certifikát servera je falošný.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Zariadenie</translation> @@ -616,6 +618,7 @@ <translation id="7210863904660874423">Web <ph name="HOST_NAME" /> nespĺňa bezpečnostné štandardy.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Viac informácií<ph name="END_LINK" /> o tomto probléme.</translation> <translation id="7219179957768738017">Spojenie používa protokol <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Spracováva sa</translation> <translation id="724691107663265825">Webové stránky, ktoré chcete otvoriť, obsahujú malvér</translation> <translation id="724975217298816891">Ak chcete aktualizovať podrobnosti o karte <ph name="CREDIT_CARD" />, zadajte dátum vypršania platnosti a kód CVC. Po potvrdení budú podrobnosti o karte zdieľané s týmto webom.</translation> <translation id="725866823122871198">Súkromné pripojenie k doméne <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> sa nedá nadviazať, pretože dátum a čas (<ph name="DATE_AND_TIME" />) vášho počítača sú nesprávne.</translation> @@ -691,7 +694,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chcete návrh odstrániť z prehliadača Chrome?</translation> <translation id="7815407501681723534">Nájdené výsledky (počet: <ph name="NUMBER_OF_RESULTS" />) pre dopyt „<ph name="SEARCH_STRING" />“: <ph name="SEARCH_RESULTS" /></translation> -<translation id="7837582000577464779">Pri spracovaní vašej objednávky sa vyskytla chyba. Skontrolujte svoj účet a skúste to znova.</translation> <translation id="785549533363645510">Nie ste však neviditeľný/-á. Prejdením do režimu inkognito neskryjete svoje prehliadanie pred zamestnávateľom, poskytovateľom internetových služieb ani pred navštívenými webmi.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Skontrolujte svoj kód CVC a skúste to znova</translation> @@ -805,6 +807,7 @@ <translation id="9094175695478007090">Platobnú aplikáciu sa nepodarilo spustiť.</translation> <translation id="9103872766612412690">Web <ph name="SITE" /> zvyčajne chráni vaše informácie pomocou šifrovania. Keď sa prehliadač Chromium tentokrát pokúsil pripojiť k webu <ph name="SITE" />, odoslal späť nezvyčajné a nesprávne poverenia. Môže sa to stať vtedy, keď sa za web <ph name="SITE" /> snaží vydávať útočník alebo keď pripojenie preruší prihlasovacia obrazovka siete Wi-Fi. Vaše informácie sú stále zabezpečené, pretože prehliadač Chromium zastavil pripojenie ešte pred výmenou dát.</translation> <translation id="9137013805542155359">Zobraziť originál</translation> +<translation id="9137248913990643158">Začnite a prihláste sa do Chromu ešte predtým, ako použijete túto aplikáciu.</translation> <translation id="9148507642005240123">&Vrátiť späť úpravu</translation> <translation id="9154194610265714752">Aktualizované</translation> <translation id="9157595877708044936">Prebieha nastavenie...</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb index 58555ac..f2b9b5b 100644 --- a/components/strings/components_strings_sl.xtb +++ b/components/strings/components_strings_sl.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departma</translation> <translation id="2113977810652731515">Kartica</translation> <translation id="2114841414352855701">Prezrto, ker je to preglasil pravilnik <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Iskanje strani za Fizični splet v bližini</translation> <translation id="213826338245044447">Zaznamki mobilne naprave</translation> <translation id="2148716181193084225">Danes</translation> <translation id="2154054054215849342">Sinhronizacija ni na voljo za vašo domeno</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Zahteva je uspela</translation> <translation id="2728127805433021124">Strežnikovo potrdilo je podpisano s šibkim podpisnim algoritmom.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Izvajanje orodja Diagnostika povezljivosti<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">V redu</translation> <translation id="2742870351467570537">Odstrani izbrane elemente</translation> <translation id="277499241957683684">Manjka zapis o napravi</translation> <translation id="2784949926578158345">Povezava je bila obnovljena.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Vdelana stran na spletnem mestu <ph name="SITE" /> sporoča:</translation> <translation id="5556459405103347317">Ponovno naloži</translation> <translation id="5565735124758917034">Aktivno</translation> +<translation id="5572851009514199876">Začnite s prijavo v Chrome, da lahko Chrome preveri, ali vam je dovoljeno dostopati do tega spletnega mesta.</translation> <translation id="5575380383496039204">Nepodprt naslov za dostavo. Izberite drug naslov.</translation> <translation id="5580958916614886209">Preverite mesec poteka veljavnosti in poskusite znova</translation> <translation id="560412284261940334">Upravljanje ni podprto</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Kartica je potrjena.</translation> <translation id="6897140037006041989">Uporabnikov posrednik</translation> <translation id="6915804003454593391">Uporabnik:</translation> -<translation id="6937422995269576720">Številka kartice je neveljavna</translation> <translation id="6957887021205513506">Potrdilo strežnika je očitno ponaredek.</translation> <translation id="6965382102122355670">V redu</translation> <translation id="6965978654500191972">Naprava</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">Spletno mesto <ph name="HOST_NAME" /> ne upošteva varnostnih standardov.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Več o<ph name="END_LINK" /> tej težavi.</translation> <translation id="7219179957768738017">Povezava uporablja <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Obdelovanje</translation> <translation id="724691107663265825">Spletno mesto z zlonamerno programsko opremo</translation> <translation id="724975217298816891">Vnesite datum poteka in CVC za <ph name="CREDIT_CARD" />, da posodobite podatke o kartici. Ko potrdite, bodo temu spletnemu mestu razkriti podatki o kartici.</translation> <translation id="725866823122871198">Zasebne povezave z domeno <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ni mogoče vzpostaviti, ker sta datum in ura (<ph name="DATE_AND_TIME" />) v računalniku nepravilna.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Želite odstraniti predlog obrazca iz Chroma?</translation> <translation id="7815407501681723534">Za »<ph name="SEARCH_STRING" />« je bilo najdenih toliko <ph name="SEARCH_RESULTS" />: <ph name="NUMBER_OF_RESULTS" />.</translation> -<translation id="7837582000577464779">Pri obdelavi naročila je prišlo do napake. Preverite račun in poskusite znova.</translation> <translation id="785549533363645510">Kljub temu pa niste nevidni. Z uporabo načina brez beleženja zgodovine brskanja ne skrijete pred delodajalcem, ponudnikom internetnih storitev ali spletnimi mesti, ki jih obiščete.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Preverite CVC in poskusite znova</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Aplikacije za plačevanje ni mogoče zagnati.</translation> <translation id="9103872766612412690">Spletno mesto <ph name="SITE" /> za zaščito vaših podatkov običajno uporablja šifriranje. Ko se je Chromium tokrat poskusil povezati s spletnim mestom <ph name="SITE" />, je to vrnilo nenavadne in nepravilne poverilnice. Do tega lahko pride, če se napadalec lažno predstavlja za spletno mesto <ph name="SITE" /> ali če je povezavo prekinil zaslon za prijavo v omrežje Wi-Fi. Vaši podatki so še vedno varni, saj je Chromium pred izmenjavo podatkov prekinil povezavo.</translation> <translation id="9137013805542155359">Pokaži izvirno besedilo</translation> +<translation id="9137248913990643158">Začnite s prijavo v Chrome, preden začnete uporabljati to aplikacijo.</translation> <translation id="9148507642005240123">&Razveljavi urejanje</translation> <translation id="9154194610265714752">Posodobljeno</translation> <translation id="9157595877708044936">Nastavljanje ...</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb index cfd1752..3a33a12b 100644 --- a/components/strings/components_strings_sr.xtb +++ b/components/strings/components_strings_sr.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Департман</translation> <translation id="2113977810652731515">Картица</translation> <translation id="2114841414352855701">Занемарују се јер су замењене смерницама <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Тражимо странице Интернета око нас у околини</translation> <translation id="213826338245044447">Обележивачи на мобилном уређају</translation> <translation id="2148716181193084225">Данас</translation> <translation id="2154054054215849342">Синхронизација није доступна за домен</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Захтев је успео</translation> <translation id="2728127805433021124">Сертификат сервера је потписан слабим алгоритмом.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />да покренете дијагностику везе<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Потврди</translation> <translation id="2742870351467570537">Уклони изабране ставке</translation> <translation id="277499241957683684">Недостаје евиденција уређаја</translation> <translation id="2784949926578158345">Веза је враћена на почетне вредности.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Уграђена страница на <ph name="SITE" /> каже:</translation> <translation id="5556459405103347317">Учитај поново</translation> <translation id="5565735124758917034">Активно</translation> +<translation id="5572851009514199876">Отворите и пријавите се у Chrome да би Chrome могао да провери да ли имате дозволу за приступ овом сајту.</translation> <translation id="5575380383496039204">Адреса за испоруку није подржана. Изаберите другу адресу.</translation> <translation id="5580958916614886209">Проверите месец истека и пробајте поново</translation> <translation id="560412284261940334">Управљање није подржано</translation> @@ -592,7 +595,6 @@ <translation id="6895330447102777224">Картица је потврђена</translation> <translation id="6897140037006041989">Кориснички агент</translation> <translation id="6915804003454593391">Корисник:</translation> -<translation id="6937422995269576720">Број картице је неважећи</translation> <translation id="6957887021205513506">Изгледа да је сертификат сервера фалсификован.</translation> <translation id="6965382102122355670">Потврди</translation> <translation id="6965978654500191972">Уређај</translation> @@ -620,6 +622,7 @@ <translation id="7210863904660874423">Хост <ph name="HOST_NAME" /> не поштује безбедносне стандарде.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /> о овом проблему.</translation> <translation id="7219179957768738017">Веза користи <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Обрада</translation> <translation id="724691107663265825">Сајт који ћете посетити садржи малвер</translation> <translation id="724975217298816891">Унесите рок трајања и CVC за картицу <ph name="CREDIT_CARD" /> да бисте ажурирали податке о картици. Када будете потврдили, подаци о картици ће бити послати овом сајту.</translation> <translation id="725866823122871198">Није могуће успоставити приватну везу са доменом <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> јер време и датум на рачунару (<ph name="DATE_AND_TIME" />) нису тачни.</translation> @@ -695,7 +698,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Желите ли да уклоните предлог из Chrome-а?</translation> <translation id="7815407501681723534">Пронашли смо <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> за „<ph name="SEARCH_STRING" />“</translation> -<translation id="7837582000577464779">Дошло је до грешке при обради захтева. Проверите податке и покушајте поново.</translation> <translation id="785549533363645510">Али, нисте невидљиви. Преласком у режим без архивирања нећете сакрити прегледање од послодавца, интернет провајдера или веб-сајтова које посећујете.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Проверите CVC и покушајте поново</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">Покретање апликације за плаћање није успело.</translation> <translation id="9103872766612412690"><ph name="SITE" /> обично користи шифровање да би заштитио информације. Када је Chromium овог пута покушао да се повеже са <ph name="SITE" />, веб-сајт је вратио необичне и нетачне акредитиве. Или нападач покушава да се представи као <ph name="SITE" /> или је екран за Wi-Fi пријављивање прекинуо везу. Информације су и даље безбедне зато што је Chromium прекинуо везу пре него што су размењени било какви подаци.</translation> <translation id="9137013805542155359">Прикажи оригинал</translation> +<translation id="9137248913990643158">Пријавите се у Chrome пре коришћења ове апликације.</translation> <translation id="9148507642005240123">&Опозови измену</translation> <translation id="9154194610265714752">Ажурирано</translation> <translation id="9157595877708044936">Подешавање...</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb index 152fc056..1b2df8af 100644 --- a/components/strings/components_strings_sv.xtb +++ b/components/strings/components_strings_sv.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Departement</translation> <translation id="2113977810652731515">Kort</translation> <translation id="2114841414352855701">Ignoreras eftersom den åsidosätts av <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Söker efter Physical Web-sidor i närheten</translation> <translation id="213826338245044447">Bokmärken i mobilen</translation> <translation id="2148716181193084225">Idag</translation> <translation id="2154054054215849342">Synkronisering är inte tillgänglig för din domän</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Begäran genomfördes</translation> <translation id="2728127805433021124">Serverns certifikat är signerat med en svag signaturalgoritm.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />att köra anslutningsdiagnostik<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">OK</translation> <translation id="2742870351467570537">Ta bort valda objekt</translation> <translation id="277499241957683684">Enhetsregister saknas</translation> <translation id="2784949926578158345">Anslutningen återställdes.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">På en inbäddad sida på <ph name="SITE" /> står det:</translation> <translation id="5556459405103347317">Hämta igen</translation> <translation id="5565735124758917034">Aktiv</translation> +<translation id="5572851009514199876">Logga in på Chrome så att Chrome kan kontrollera om du har tillgång till den här webbplatsen.</translation> <translation id="5575380383496039204">Leveransadressen stöds inte. Välj en annan adress.</translation> <translation id="5580958916614886209">Kontrollera utgångsmånad och försök igen</translation> <translation id="560412284261940334">Hantering stöds inte</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Kortet har bekräftats</translation> <translation id="6897140037006041989">Användaragent</translation> <translation id="6915804003454593391">Användare:</translation> -<translation id="6937422995269576720">Ogiltigt kortnummer</translation> <translation id="6957887021205513506">Serverns certifikat verkar vara falskt.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Enhet</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> följer inte säkerhetsstandarderna.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /> om problemet.</translation> <translation id="7219179957768738017">För anslutningen används <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Bearbetning pågår</translation> <translation id="724691107663265825">Det förekommer skadlig programvara på följande sida</translation> <translation id="724975217298816891">Ange utgångsdatum och CVC-kod för <ph name="CREDIT_CARD" /> om du vill uppdatera kortinformationen. När du bekräftar delas kortinformationen med den här webbplatsen.</translation> <translation id="725866823122871198">Det gick inte att upprätta en privat anslutning till <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> eftersom datorns datum och tid (<ph name="DATE_AND_TIME" />) inte stämmer.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Vill du ta bort formulärförslaget från Chrome?</translation> <translation id="7815407501681723534">Hittade <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> för <ph name="SEARCH_STRING" /></translation> -<translation id="7837582000577464779">Det uppstod ett problem när din beställning behandlades. Kontrollera kontot och försök igen.</translation> <translation id="785549533363645510">Men du är inte osynlig. Inkognitoläget döljer inte webbhistoriken för din arbetsgivare, internetleverantören eller webbplatserna du besöker.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Kontrollera CVC-koden och försök igen</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Det gick inte att starta betalningsappen.</translation> <translation id="9103872766612412690">På <ph name="SITE" /> används normalt kryptering (SSL) för att skydda din information. När Chromium försökte ansluta till <ph name="SITE" /> den här gången skickade webbplatsen tillbaka ovanliga och felaktiga uppgifter. Sådant kan hända när en angripare utger sig för att vara <ph name="SITE" /> eller när anslutningen har avbrutits av en Wi-Fi-inloggningsskärm. Din information är fortfarande säker eftersom Chromium avbröt anslutningen innan någon data utbyttes.</translation> <translation id="9137013805542155359">Visa original</translation> +<translation id="9137248913990643158">Logga in på Chrome innan du använder den här appen.</translation> <translation id="9148507642005240123">&Ångra Redigera</translation> <translation id="9154194610265714752">Uppdaterat</translation> <translation id="9157595877708044936">Konfigurerar...</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb index 00d1e83..424d63d 100644 --- a/components/strings/components_strings_sw.xtb +++ b/components/strings/components_strings_sw.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Idara</translation> <translation id="2113977810652731515">Kadi</translation> <translation id="2114841414352855701">Imepuuzwa kwa sababu ilifutwa na <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Inatafuta kurasa za Wavuti Kila Mahali zilizo karibu</translation> <translation id="213826338245044447">Alamisho kwenye Simu</translation> <translation id="2148716181193084225">Leo</translation> <translation id="2154054054215849342">Huduma ya usawazishaji haipatikani kwa ajili ya kikoa chako</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Ombi limefanikiwa</translation> <translation id="2728127805433021124">Cheti cha seva kimetiwa sahihi kwa kutumia algoriti dhaifu ya sahihi.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Inaendesha Zana ya Kuchunguza Muunganisho<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Sawa</translation> <translation id="2742870351467570537">Ondoa vipengee vilivyochaguliwa</translation> <translation id="277499241957683684">Rekodi ya kifaa inayokosekana</translation> <translation id="2784949926578158345">Muunganisho uliwekwa upya.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Ukurasa uliopachikwa kwenye <ph name="SITE" /> unasema:</translation> <translation id="5556459405103347317">Pakia upya</translation> <translation id="5565735124758917034">Inatumika</translation> +<translation id="5572851009514199876">Tafadhali anza na uingie katika Chrome ili Chrome iangalie ikiwa unaruhusiwa kufikia tovuti hii.</translation> <translation id="5575380383496039204">Anwani ya uwasilishaji haitumiki. Chagua anwani tofauti.</translation> <translation id="5580958916614886209">Angalia mwezi kuisha kwa muda wa matumizi halafu ujajibu tena</translation> <translation id="560412284261940334">Usimamizi hautumiki</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Kadi yako imethibitishwa</translation> <translation id="6897140037006041989">Programu ya Mtumiaji</translation> <translation id="6915804003454593391">Mtumiaji:</translation> -<translation id="6937422995269576720">Nambari ya kadi si sahihi</translation> <translation id="6957887021205513506">Cheti cha seva kinaonekana kuwa ghushi.</translation> <translation id="6965382102122355670">Sawa</translation> <translation id="6965978654500191972">Kifaa</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> haizingatii viwango vya usalama.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Pata maelezo zaidi<ph name="END_LINK" /> kuhusu tatizo hili.</translation> <translation id="7219179957768738017">Muunganisho unatumia <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Malipo yanashughulikiwa</translation> <translation id="724691107663265825">Tovuti unayoelekea kufungua ina programu hasidi</translation> <translation id="724975217298816891">Weka tarehe ya kuisha kwa muda wa matumizi na CVC ya <ph name="CREDIT_CARD" /> ili usasishe maelezo ya kadi yako. Baada ya kuthibitisha, maelezo ya kadi yako yatashirikiwa na tovuti hii.</translation> <translation id="725866823122871198">Muunganisho wa faragha kwenye <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> hauwezi kutambuliwa kwa sababu tarehe na wakati wa kompyuta yako (<ph name="DATE_AND_TIME" />) si sahihi.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Ungependa kuondoa pendekezo la fomu kutoka kwenye Chrome?</translation> <translation id="7815407501681723534">Imepata matokeo <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> ya '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">Hitilafu ilitokea wakati wa kushughulikia agizo lako. Tafadhali angalia akaunti yako na ujaribu tena.</translation> <translation id="785549533363645510">Hata hivyo, huonekani. Kuvinjari katika hali fiche hakufichi kuvinjari kwako kusionekane na mwajiri, mtoaji huduma wako wa intaneti, au tovuti unazotembelea.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Angalia CVC yako na ujaribu tena</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Imeshindwa kuanzisha programu ya malipo.</translation> <translation id="9103872766612412690">Kwa kawaida <ph name="SITE" /> hutumia usimbaji fiche ili kulinda maelezo yako. Chromium ilipojaribu kuunganisha kwenye <ph name="SITE" /> wakati huu, tovuti ilituma kitambulisho kisicho cha kawaida na kisicho sahihi. Hili linaweza kutokea mvamizi anapojaribu kujifanya kuwa <ph name="SITE" />, au uchanganuzi wa kuingia katika Wi-Fi umeingilia muunganisho. Maelezo yako yangali salama kwa sababu Chromium ilisimamisha muunganisho kabla data yoyote itumwe.</translation> <translation id="9137013805542155359">Onyesha asili</translation> +<translation id="9137248913990643158">Tafadhali anza na uingie katika Chrome kabla ya kutumia programu hii.</translation> <translation id="9148507642005240123">Tendua kuhariri</translation> <translation id="9154194610265714752">Imesasishwa</translation> <translation id="9157595877708044936">Inasanidi...</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb index 7c853dfb..9a9c16d 100644 --- a/components/strings/components_strings_ta.xtb +++ b/components/strings/components_strings_ta.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">துறை</translation> <translation id="2113977810652731515">கார்டு</translation> <translation id="2114841414352855701"><ph name="POLICY_NAME" /> ஆல் கொள்கை மேலெழுதப்பட்டுள்ளதால் புறக்கணிக்கப்பட்டது.</translation> +<translation id="2138201775715568214">அருகிலுள்ள இயல்நிலை இணையப் பக்கங்களைத் தேடுகிறது</translation> <translation id="213826338245044447">மொபைல் புக்மார்க்குகள்</translation> <translation id="2148716181193084225">இன்று</translation> <translation id="2154054054215849342">உங்கள் டொமைனுக்கு ஒத்திசைத்தல் சேவை முடக்கப்பட்டுள்ளது</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">கோரிக்கை வெற்றி</translation> <translation id="2728127805433021124">சேவையகச் சான்றிதழ் ஒரு வலுவற்ற கையொப்ப அல்காரிதமைப் பயன்படுத்தி கையொப்பமிடப்பட்டுள்ளது.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />கனெக்டிவிட்டி டயக்னஸ்டிக்ஸ் கருவியை இயக்கவும்<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">சரி</translation> <translation id="2742870351467570537">தேர்ந்தெடுத்த உருப்படிகளை அகற்றுக</translation> <translation id="277499241957683684">சாதனப் பதிவு இல்லை</translation> <translation id="2784949926578158345">இணைப்பு மீட்டமைக்கப்பட்டது.</translation> @@ -465,6 +467,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> இல் உள்ள உட்பொதிக்கப்பட்ட பக்கம் தெரிவிப்பது:</translation> <translation id="5556459405103347317">மீண்டும் ஏற்று</translation> <translation id="5565735124758917034">செயலில் உள்ளது</translation> +<translation id="5572851009514199876">Chromeஐத் தொடங்கி உள்நுழையவும். அப்போதுதான் இந்தத் தளத்தை அணுகுவதற்கு உங்களுக்கு அனுமதி உள்ளதா என்பதை Chrome ஆல் சரிபார்க்க முடியும்.</translation> <translation id="5575380383496039204">ஆதரிக்கப்படாத டெலிவரி முகவரி. வேறு முகவரியைத் தேர்ந்தெடுக்கவும்.</translation> <translation id="5580958916614886209">காலாவதி மாதத்தைச் சரிபார்த்து, மீண்டும் முயலவும்</translation> <translation id="560412284261940334">நிர்வாகம் ஆதரிக்கவில்லை</translation> @@ -589,7 +592,6 @@ <translation id="6895330447102777224">கார்டு உறுதிசெய்யப்பட்டது</translation> <translation id="6897140037006041989">பயனர் முகவர்</translation> <translation id="6915804003454593391">பயனர்:</translation> -<translation id="6937422995269576720">கார்டு எண் தவறானது</translation> <translation id="6957887021205513506">சேவையகத்தின் சான்றிதழ் போலியானது போல் தெரிகிறது.</translation> <translation id="6965382102122355670">சரி</translation> <translation id="6965978654500191972">சாதனம்</translation> @@ -617,6 +619,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> பாதுகாப்புத் தரநிலைகளுக்கு உட்படவில்லை.</translation> <translation id="721197778055552897">இந்த சிக்கல் குறித்து <ph name="BEGIN_LINK" />மேலும் அறிக<ph name="END_LINK" />.</translation> <translation id="7219179957768738017">இணைப்பு <ph name="SSL_VERSION" /> ஐப் பயன்படுத்துகிறது.</translation> +<translation id="7220786058474068424">செயல்படுத்துகிறது</translation> <translation id="724691107663265825">தளத்தில் தீப்பொருள் உள்ளது</translation> <translation id="724975217298816891">கார்டு விவரங்களைப் புதுப்பிக்க, <ph name="CREDIT_CARD" /> இன் காலாவதி தேதியையும் CVC எண்ணையும் உள்ளிடவும். உறுதிசெய்த பின்னர், உங்கள் கார்டு விவரங்கள் இந்தத் தளத்திற்குப் பகிரப்படும்.</translation> <translation id="725866823122871198">உங்கள் கணினியின் தேதி மற்றும் நேரம் (<ph name="DATE_AND_TIME" />) தவறாக இருப்பதால் <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> க்கான தனிப்பட்ட இணைப்பை ஏற்படுத்த முடியவில்லை.</translation> @@ -692,7 +695,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome இலிருந்து படிவப் பரிந்துரையை அகற்றவா?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />'க்கு <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> உள்ளன</translation> -<translation id="7837582000577464779">ஆர்டரைச் செயல்படுத்தும் போது பிழை ஏற்பட்டது. கணக்கைச் சரிபார்த்து, மீண்டும் முயலவும்.</translation> <translation id="785549533363645510">இருப்பினும், நீங்கள் மறைந்திருக்கமாட்டீர்கள். மறைநிலைக்குச் செல்வது பணிக்கமர்த்தும் நிறுவனம், இணையச் சேவை வழங்குநர் அல்லது நீங்கள் செல்லும் இணையதளங்களிடம் உங்கள் உலாவலை மறைக்காது.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">CVCஐச் சோதித்து, மீண்டும் முயற்சிக்கவும்</translation> @@ -806,6 +808,7 @@ <translation id="9103872766612412690">வழக்கமாக, <ph name="SITE" /> உங்கள் தகவலைப் பாதுகாப்பதற்காக முறைமையாக்கத்தைப் பயன்படுத்துகிறது. இந்த முறை <ph name="SITE" /> உடன் இணைவதற்கு Chromium முயற்சித்தபோது வழக்கத்திற்கு மாறான, தவறான நற்சான்றிதழ்களை இணையதளம் வழங்கியது. தாக்குபவர் தன்னை <ph name="SITE" /> ஆகக் காட்ட முயற்சிக்கும் போது அல்லது இணைப்பை வைஃபை உள்நுழைவுத் திரை குறுக்கிடும் போது இது ஏற்படலாம். இருப்பினும், தரவு எதுவும் பரிமாற்றப்படுவதற்கு முன் Chromium இணைப்பை நிறுத்தியதால் உங்கள் தகவல் பாதுகாப்பாகவே இருக்கிறது.</translation> <translation id="9137013805542155359">அசலைக் காண்பி</translation> +<translation id="9137248913990643158">இந்தப் பயன்பாட்டைப் பயன்படுத்தும் முன், Chromeஐத் தொடங்கி உள்நுழையவும்.</translation> <translation id="9148507642005240123">&திருத்தலைச் செயல்தவிர்</translation> <translation id="9154194610265714752">புதுப்பிக்கப்பட்டது</translation> <translation id="9157595877708044936">அமைக்கிறது...</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb index b2bce72..13cfb097 100644 --- a/components/strings/components_strings_te.xtb +++ b/components/strings/components_strings_te.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">శాఖ</translation> <translation id="2113977810652731515">కార్డ్</translation> <translation id="2114841414352855701">ఇది <ph name="POLICY_NAME" /> ద్వారా భర్తీ చేయబడినందున విస్మరించబడింది.</translation> +<translation id="2138201775715568214">సమీప భౌతిక వెబ్ పేజీల కోసం శోధిస్తోంది</translation> <translation id="213826338245044447">మొబైల్ బుక్మార్క్లు</translation> <translation id="2148716181193084225">ఈ రోజు</translation> <translation id="2154054054215849342">సమకాలీకరణ మీ డొమైన్కు అందుబాటులో లేదు</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">అభ్యర్థన విజయవంతం అయింది</translation> <translation id="2728127805433021124">సర్వర్ యొక్క ప్రమాణపత్రం ఒక బలహీనమైన సంతకం అల్గారిథమ్ ఉపయోగించి సంతకం చేయబడింది.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />కనెక్టివిటీ సమస్య విశ్లేషణలను అమలు చేయడం<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">సరే</translation> <translation id="2742870351467570537">ఎంచుకున్న అంశాలను తీసివేయండి</translation> <translation id="277499241957683684">పరికరం రికార్డ్ లేదు</translation> <translation id="2784949926578158345">కనెక్షన్ మళ్ళీ సెట్ చెయ్యబడింది.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" />లో పొందుపరిచిన పేజీ ఇలా చెబుతోంది:</translation> <translation id="5556459405103347317">రీలోడ్</translation> <translation id="5565735124758917034">సక్రియం</translation> +<translation id="5572851009514199876">దయచేసి Chromeని ప్రారంభించి, దానికి సైన్ ఇన్ చేయండి, అప్పుడు మీకు ఈ సైట్ను ప్రాప్యత చేయడానికి అనుమతి ఉందో లేదో Chrome తనిఖీ చేయగలదు.</translation> <translation id="5575380383496039204">బట్వాడా చిరునామాకు మద్దతు లేదు. మరొక చిరునామాను ఎంచుకోండి.</translation> <translation id="5580958916614886209">మీ గడువు ముగింపు నెలను తనిఖీ చేసి, ఆపై మళ్లీ ప్రయత్నించండి</translation> <translation id="560412284261940334">నిర్వహణకు మద్దతు లేదు</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">మీ కార్డ్ నిర్ధారించబడింది</translation> <translation id="6897140037006041989">వినియోగదారు ప్రతినిధి</translation> <translation id="6915804003454593391">వినియోగదారు:</translation> -<translation id="6937422995269576720">కార్డ్ నంబర్ చెల్లదు</translation> <translation id="6957887021205513506">సర్వర్ ధృవీకరణ పత్రం చెల్లదు.</translation> <translation id="6965382102122355670">సరే</translation> <translation id="6965978654500191972">పరికరం</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> భద్రతా ప్రమాణాలకు కట్టుబడి లేదు.</translation> <translation id="721197778055552897">ఈ సమస్య గురించి <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి <ph name="END_LINK" />.</translation> <translation id="7219179957768738017">కనెక్షన్ <ph name="SSL_VERSION" />ని ఉపయోగిస్తుంది.</translation> +<translation id="7220786058474068424">ప్రాసెస్ చేస్తోంది</translation> <translation id="724691107663265825">సైట్ మున్ముందు మాల్వేర్ కలిగి ఉంది</translation> <translation id="724975217298816891">మీ కార్డ్ వివరాలను నవీకరించడానికి <ph name="CREDIT_CARD" /> కార్డ్ గడువు ముగింపు తేదీ మరియు CVCని నమోదు చేయండి. మీరు నిర్ధారించిన తర్వాత, మీ కార్డ్ వివరాలు ఈ సైట్తో భాగస్వామ్యం చేయబడతాయి.</translation> <translation id="725866823122871198">మీ కంప్యూటర్ తేదీ మరియు సమయం (<ph name="DATE_AND_TIME" />) తప్పుగా ఉన్నందున <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />కి ప్రైవేట్ కనెక్షన్ ఏర్పాటు చేయబడదు.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Chrome నుండి ఫారమ్ సూచనను తీసివేయాలా?</translation> <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' కోసం <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> కనుగొనబడ్డాయి</translation> -<translation id="7837582000577464779">మీ ఆర్డర్ను ప్రాసెస్ చేయడంలో లోపం ఏర్పడింది. దయచేసి మీ ఖాతాను తనిఖీ చేసి, ఆపై మళ్లీ ప్రయత్నించండి.</translation> <translation id="785549533363645510">అయితే, మీరు అదృశ్యంగా ఉండరు. అజ్ఞాతంలోకి వెళ్లడం వలన మీ బ్రౌజింగ్ మీ యజమానికి, మీ ఇంటర్నెట్ సేవా ప్రదాతకు లేదా మీరు సందర్శించే వెబ్సైట్లకు కనిపించకుండా దాచబడదు.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">మీ CVCని తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">చెల్లింపు అనువర్తనాన్ని ప్రారంభించలేకపోయింది.</translation> <translation id="9103872766612412690"><ph name="SITE" /> సాధారణంగా మీ సమాచారాన్ని రక్షించడానికి గుప్తీకరణను ఉపయోగిస్తుంది. Chromium ఈసారి <ph name="SITE" />కి కనెక్ట్ చేయడానికి ప్రయత్నించినప్పుడు, వెబ్సైట్ అసాధారణ మరియు తప్పు ఆధారాలు అని ప్రతిస్పందించింది. దాడి చేసే వ్యక్తి <ph name="SITE" />గా వ్యవహరించి మోసగించడానికి ప్రయత్నిస్తున్నప్పుడు లేదా Wi-Fi సైన్-ఇన్ స్క్రీన్ కనెక్షన్కు అంతరాయం కలిగించినప్పుడు ఇలా జరగవచ్చు. Chromium ఎలాంటి డేటా వినిమయం సంభవించక ముందే కనెక్షన్ను ఆపివేసినందున మీ సమాచారం ఇప్పటికీ సురక్షితంగానే ఉంది.</translation> <translation id="9137013805542155359">అసలును చూపించు</translation> +<translation id="9137248913990643158">దయచేసి ఈ అనువర్తనాన్ని ఉపయోగించే ముందు Chromeని ప్రారంభించి, దానికి సైన్ ఇన్ చేయండి.</translation> <translation id="9148507642005240123">&సవరించడాన్ని రద్దు చేయి</translation> <translation id="9154194610265714752">నవీకరించబడింది</translation> <translation id="9157595877708044936">అమర్చుతోంది...</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb index e91629b..4dbef76 100644 --- a/components/strings/components_strings_th.xtb +++ b/components/strings/components_strings_th.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">จังหวัด</translation> <translation id="2113977810652731515">บัตร</translation> <translation id="2114841414352855701">ไม่สนใจเพราะถูกแทนที่โดย <ph name="POLICY_NAME" /></translation> +<translation id="2138201775715568214">กำลังมองหาหน้า Physical Web ที่อยู่ใกล้เคียง</translation> <translation id="213826338245044447">บุ๊กมาร์กบนมือถือ</translation> <translation id="2148716181193084225">วันนี้</translation> <translation id="2154054054215849342">ไม่มีการซิงค์สำหรับโดเมนของคุณ</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">คำขอสำเร็จ</translation> <translation id="2728127805433021124">ใบรับรองของเซิร์ฟเวอร์ถูกเซ็นชื่อด้วยอัลกอริทึมลายเซ็นที่ไม่รัดกุม</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />เรียกใช้การวินิจฉัยการเชื่อมต่อ<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">ตกลง</translation> <translation id="2742870351467570537">นำรายการที่เลือกออก </translation> <translation id="277499241957683684">ไม่มีอุปกรณ์บันทึก</translation> <translation id="2784949926578158345">การเชื่อมต่อได้รับการรีเซ็ตแล้ว</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">หน้าที่ฝังไว้ใน <ph name="SITE" /> บอกว่า:</translation> <translation id="5556459405103347317">โหลดใหม่</translation> <translation id="5565735124758917034">ใช้งานอยู่</translation> +<translation id="5572851009514199876">โปรดเปิดและลงชื่อเข้าใช้ Chrome เพื่อให้ Chrome ตรวจสอบได้ว่าคุณได้รับอนุญาตให้เข้าถึงไซต์นี้หรือไม่</translation> <translation id="5575380383496039204">ที่อยู่สำหรับจัดส่งใช้ไม่ได้ โปรดเลือกที่อยู่อื่น</translation> <translation id="5580958916614886209">ตรวจสอบเดือนหมดอายุแล้วลองอีกครั้ง</translation> <translation id="560412284261940334">ไม่สนับสนุนการจัดการ</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">บัตรของคุณได้รับการยืนยันแล้ว</translation> <translation id="6897140037006041989">User agent</translation> <translation id="6915804003454593391">ผู้ใช้:</translation> -<translation id="6937422995269576720">หมายเลขบัตรไม่ถูกต้อง</translation> <translation id="6957887021205513506">ใบรับรองของเซิร์ฟเวอร์น่าจะเป็นของปลอม</translation> <translation id="6965382102122355670">ตกลง</translation> <translation id="6965978654500191972">อุปกรณ์</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> ไม่เป็นไปตามมาตรฐานความปลอดภัย</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />เรียนรู้เพิ่มเติม<ph name="END_LINK" /> เกี่ยวกับปัญหานี้</translation> <translation id="7219179957768738017">การเชื่อมต่อใช้ <ph name="SSL_VERSION" /></translation> +<translation id="7220786058474068424">กำลังดำเนินการ</translation> <translation id="724691107663265825">ไซต์ที่จะเปิดมีมัลแวร์</translation> <translation id="724975217298816891">ป้อนวันหมดอายุและ CVC สำหรับ <ph name="CREDIT_CARD" /> เพื่ออัปเดตรายละเอียดของบัตร เมื่อคุณยืนยันแล้ว รายละเอียดบัตรของคุณจะแชร์กับเว็บไซต์นี้</translation> <translation id="725866823122871198">ไม่สามารถเริ่มการเชื่อมต่อส่วนตัวกับ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ได้เนื่องจากวันที่และเวลาของคอมพิวเตอร์ (<ph name="DATE_AND_TIME" />) ไม่ถูกต้อง</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">นำคำแนะนำสำหรับแบบฟอร์มออกจาก Chrome ไหม</translation> <translation id="7815407501681723534">พบ<ph name="SEARCH_RESULTS" /> <ph name="NUMBER_OF_RESULTS" /> รายการสำหรับ "<ph name="SEARCH_STRING" />"</translation> -<translation id="7837582000577464779">เกิดข้อผิดพลาดในการดำเนินการกับคำสั่งซื้อของคุณ โปรดตรวจสอบบัญชี แล้วลองอีกครั้ง</translation> <translation id="785549533363645510">อย่างไรก็ตาม ระบบยังมองเห็นคุณ การเข้าสู่โหมดไม่ระบุตัวตนไม่ได้เป็นการซ่อนการท่องเว็บจากนายจ้างของคุณ ผู้ให้บริการอินเทอร์เน็ต หรือเว็บไซต์ที่คุณเข้าชม</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">ตรวจสอบ CVC และลองอีกครั้ง</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">ไม่สามารถเปิดแอปการชำระเงิน</translation> <translation id="9103872766612412690">โดยทั่วไป <ph name="SITE" /> จะใช้การเข้ารหัสเพื่อปกป้องข้อมูลของคุณ เมื่อ Chromium พยายามเชื่อมต่อกับ <ph name="SITE" /> ในครั้งนี้ เว็บไซต์ดังกล่าวส่งข้อมูลรับรองที่ผิดปกติและไม่ถูกต้องกลับมา เหตุการณ์นี้อาจเกิดขึ้นเมื่อผู้บุกรุกพยายามปลอมเป็น <ph name="SITE" /> หรือหน้าจอการลงชื่อเข้าใช้ Wi-Fi รบกวนการเชื่อมต่อ ข้อมูลของคุณยังปลอดภัยอยู่เนื่องจาก Chromium หยุดการเชื่อมต่อก่อนมีการแลกเปลี่ยนข้อมูล</translation> <translation id="9137013805542155359">แสดงหน้าเว็บเดิม</translation> +<translation id="9137248913990643158">โปรดเปิดและลงชื่อเข้าใช้ Chrome ก่อนใช้แอปนี้</translation> <translation id="9148507642005240123">&เลิกทำการแก้ไข</translation> <translation id="9154194610265714752">อัปเดตแล้ว</translation> <translation id="9157595877708044936">กำลังตั้งค่า...</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb index 20a597e..6100e287 100644 --- a/components/strings/components_strings_tr.xtb +++ b/components/strings/components_strings_tr.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Bölüm</translation> <translation id="2113977810652731515">Kart</translation> <translation id="2114841414352855701"><ph name="POLICY_NAME" /> tarafından geçersiz kılındığı için yoksayıldı.</translation> +<translation id="2138201775715568214">Yakınlardaki Fiziksel Web sayfaları aranıyor</translation> <translation id="213826338245044447">Mobil Yer İşaretleri</translation> <translation id="2148716181193084225">Bugün</translation> <translation id="2154054054215849342">Senkronizasyon alan adınızda kullanılamıyor</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">İstek başarılı oldu</translation> <translation id="2728127805433021124">Sunucunun sertifikası, zayıf bir imza algoritması kullanılarak imzalanmış.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Bağlantı Teşhislerini Çalıştırma<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Tamam</translation> <translation id="2742870351467570537">Seçilen öğeleri kaldır</translation> <translation id="277499241957683684">Eksik cihaz kaydı</translation> <translation id="2784949926578158345">Bağlantı sıfırlandı.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> web sitesindeki yerleşik bir sayfanın mesajı:</translation> <translation id="5556459405103347317">Yeniden Yükle</translation> <translation id="5565735124758917034">Etkin</translation> +<translation id="5572851009514199876">Chrome'un bu siteye erişmenize izin verilip verilmediğini kontrol edebilmesi için lütfen Chrome'u başlatıp oturum açın.</translation> <translation id="5575380383496039204">Teslimat adresi desteklenmiyor. Farklı bir adres seçin.</translation> <translation id="5580958916614886209">Son kullanma tarihinin ayını kontrol edip tekrar deneyin</translation> <translation id="560412284261940334">Yönetim desteklenmiyor</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Kartınız onaylandı</translation> <translation id="6897140037006041989">Kullanıcı Aracısı</translation> <translation id="6915804003454593391">Kullanıcı:</translation> -<translation id="6937422995269576720">Geçersiz kart numarası</translation> <translation id="6957887021205513506">Sunucunun sertifikası sahte görünüyor.</translation> <translation id="6965382102122355670">Tamam</translation> <translation id="6965978654500191972">Cihaz</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> güvenlik standartlarına uymuyor.</translation> <translation id="721197778055552897">Bu sorun hakkında <ph name="BEGIN_LINK" />daha fazla<ph name="END_LINK" /> bilgi edinin.</translation> <translation id="7219179957768738017">Bağlantı <ph name="SSL_VERSION" /> kullanıyor.</translation> +<translation id="7220786058474068424">İşleme koyuluyor</translation> <translation id="724691107663265825">Gideceğiniz site kötü amaçlı yazılım içeriyor</translation> <translation id="724975217298816891">Kart ayrıntılarınızı güncellemek için <ph name="CREDIT_CARD" /> numaralı karta ilişkin son kullanma tarihini ve CVC kodunu girin. Onayladığınızda kart ayrıntılarınız bu siteyle paylaşılacaktır.</translation> <translation id="725866823122871198">Bilgisayarınızın tarih ve saati (<ph name="DATE_AND_TIME" />) yanlış olduğundan <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> alan adına gizli bir bağlantı kurulamıyor.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Form önerisi Chrome'dan kaldırılsın mı?</translation> <translation id="7815407501681723534">"<ph name="SEARCH_STRING" />" için <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> bulundu.</translation> -<translation id="7837582000577464779">Siparişiniz işlenirken bir hata oldu. Lütfen hesabınızı kontrol edin ve tekrar deneyin.</translation> <translation id="785549533363645510">Ancak görünmez olmazsınız. Gizli moda geçmek göz atma etkinliğinizi işvereninizden, İnternet servis sağlayıcınızdan veya ziyaret ettiğiniz web sitelerinden gizlemez.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">CVC'nizi kontrol edin ve tekrar deneyin</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Ödeme uygulaması başlatılamıyor.</translation> <translation id="9103872766612412690"><ph name="SITE" /> normalde bilgilerinizi korumak için şifreleme kullanmaktadır. Chromium bu sefer <ph name="SITE" /> sitesine bağlanmayı denediğinde, web sitesi sıra dışı ve yanlış kimlik bilgileri döndürdü. Bir saldırgan <ph name="SITE" /> gibi davranmaya çalışıyor olabilir ya da bir Kablosuz oturum açma ekranı bağlantıyı kesmiştir. Chromium herhangi bir veri alışverişinden önce bağlantıyı durdurduğu için bilgileriniz hâlâ güvendedir.</translation> <translation id="9137013805542155359">Orijinali göster</translation> +<translation id="9137248913990643158">Lütfen bu uygulamayı kullanmadan önce Chrome'u başlatıp oturum açın.</translation> <translation id="9148507642005240123">Düzenlemeyi &geri al</translation> <translation id="9154194610265714752">Güncellendi</translation> <translation id="9157595877708044936">Ayarlanıyor...</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb index b03cdd0..50afdb6 100644 --- a/components/strings/components_strings_uk.xtb +++ b/components/strings/components_strings_uk.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Департамент</translation> <translation id="2113977810652731515">Картка</translation> <translation id="2114841414352855701">Правило ігнорується, оскільки його замінено правилом <ph name="POLICY_NAME" />.</translation> +<translation id="2138201775715568214">Пошук веб-сторінок у сервісі "Інтернет навколо нас"</translation> <translation id="213826338245044447">Закладки для мобільних пристроїв</translation> <translation id="2148716181193084225">Сьогодні</translation> <translation id="2154054054215849342">Синхронізація недоступна для вашого домену</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Запит надіслано</translation> <translation id="2728127805433021124">Сертифікат сервера підписано з використанням слабкого алгоритму підпису.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />провести діагностику з’єднання<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Видалити вибрані елементи</translation> <translation id="277499241957683684">Відсутній запис пристрою</translation> <translation id="2784949926578158345">З’єднання було скинуто.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Повідомлення з вбудованої сторінки сайту <ph name="SITE" />:</translation> <translation id="5556459405103347317">Перезавантажити</translation> <translation id="5565735124758917034">Активний клієнт</translation> +<translation id="5572851009514199876">Увійдіть в обліковий запис Chrome, щоб веб-переглядач міг перевірити, чи ви маєте дозвіл відвідувати цей сайт.</translation> <translation id="5575380383496039204">Адреса доставки не підтримується. Укажіть іншу адресу.</translation> <translation id="5580958916614886209">Перевірте місяць закінчення терміну дії та повторіть спробу</translation> <translation id="560412284261940334">Керування не підтримується</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Дані картки підтверджено</translation> <translation id="6897140037006041989">Агент користувача</translation> <translation id="6915804003454593391">Користувач:</translation> -<translation id="6937422995269576720">Номер картки недійсний</translation> <translation id="6957887021205513506">Схоже, що сертифікат сервера підроблено.</translation> <translation id="6965382102122355670">ТАК</translation> <translation id="6965978654500191972">Пристрій</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423">Хост <ph name="HOST_NAME" /> не відповідає стандартам безпеки.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /> про цю проблему.</translation> <translation id="7219179957768738017">З'єднання використовує версію <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Обробка</translation> <translation id="724691107663265825">Сайт містить зловмисне програмне забезпечення</translation> <translation id="724975217298816891">Введіть термін дії та код CVC картки <ph name="CREDIT_CARD" />, щоб оновити її дані. Щойно ви підтвердите дані картки, цей сайт отримає доступ до них.</translation> <translation id="725866823122871198">Не вдається встановити конфіденційне з’єднання з <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />, оскільки на комп’ютері встановлено неправильні дату й час (<ph name="DATE_AND_TIME" />).</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Видалити дані для автозаповнення форм із Chrome?</translation> <translation id="7815407501681723534">Знайдено результатів за запитом "<ph name="SEARCH_STRING" />": <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /></translation> -<translation id="7837582000577464779">Під час обробки вашого замовлення сталася помилка. Перевірте свій рахунок і спробуйте ще раз.</translation> <translation id="785549533363645510">Навіть у режимі анонімного перегляду ваш роботодавець, постачальник послуг Інтернету чи веб-сайти, які ви відвідуєте, можуть бачити, що ви переглядаєте.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7887683347370398519">Перевірте код CVC й повторіть спробу</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Не вдалося запустити додаток для платежів.</translation> <translation id="9103872766612412690">Веб-сайт <ph name="SITE" /> зазвичай використовує шифрування для захисту вашої інформації. Під час цієї спроби Chromium під’єднатися до сторінки <ph name="SITE" /> з неї отримано незвичні й неправильні облікові дані. Це може статися, коли зловмисник намагається видавати себе за веб-сайт <ph name="SITE" /> або з’єднання перервано екраном входу Wi-Fi. Ваша інформація залишається захищеною, оскільки Chromium припинив з’єднання до того, як почався обмін будь-якими даними.</translation> <translation id="9137013805542155359">Показати оригінал</translation> +<translation id="9137248913990643158">Перш ніж користуватися додатком, увійдіть в обліковий запис Chrome.</translation> <translation id="9148507642005240123">&Відмінити редагування</translation> <translation id="9154194610265714752">Оновлено</translation> <translation id="9157595877708044936">Налаштування...</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb index 22a29e038..a6be138 100644 --- a/components/strings/components_strings_vi.xtb +++ b/components/strings/components_strings_vi.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">Khu hành chính</translation> <translation id="2113977810652731515">Thẻ</translation> <translation id="2114841414352855701">Bỏ qua vì đã bị <ph name="POLICY_NAME" /> ghi đè.</translation> +<translation id="2138201775715568214">Đang tìm kiếm các trang Web trong cuộc sống lân cận</translation> <translation id="213826338245044447">Dấu trang di động</translation> <translation id="2148716181193084225">Hôm nay</translation> <translation id="2154054054215849342">Tính năng đồng bộ hóa không khả dụng cho miền của bạn</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">Yêu cầu đã thành công</translation> <translation id="2728127805433021124">Chứng chỉ của máy chủ đã được ký bằng thuật toán chữ ký yếu.</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />Chạy Chẩn đoán kết nối<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">Ok</translation> <translation id="2742870351467570537">Xóa các mục đã chọn</translation> <translation id="277499241957683684">Thiếu hồ sơ thiết bị</translation> <translation id="2784949926578158345">Kết nối đã được đặt lại.</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102">Trang được nhúng tại <ph name="SITE" /> cho biết:</translation> <translation id="5556459405103347317">Tải lại</translation> <translation id="5565735124758917034">Đang hoạt động</translation> +<translation id="5572851009514199876">Vui lòng khởi động và đăng nhập vào Chrome để Chrome có thể kiểm tra xem bạn có được phép truy cập trang web này không.</translation> <translation id="5575380383496039204">Địa chỉ giao hàng không được hỗ trợ. Hãy chọn một địa chỉ khác.</translation> <translation id="5580958916614886209">Kiểm tra tháng hết hạn của bạn và thử lại</translation> <translation id="560412284261940334">Không hỗ trợ quản lý</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">Thẻ của bạn đã được xác nhận</translation> <translation id="6897140037006041989">Tác nhân Người dùng</translation> <translation id="6915804003454593391">Người dùng:</translation> -<translation id="6937422995269576720">Số thẻ không hợp lệ</translation> <translation id="6957887021205513506">Chứng chỉ của máy chủ dường như giả mạo.</translation> <translation id="6965382102122355670">OK</translation> <translation id="6965978654500191972">Thiết bị</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> không tuân thủ các tiêu chuẩn bảo mật.</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />Tìm hiểu thêm<ph name="END_LINK" /> về sự cố này.</translation> <translation id="7219179957768738017">Kết nối sử dụng <ph name="SSL_VERSION" />.</translation> +<translation id="7220786058474068424">Đang xử lý</translation> <translation id="724691107663265825">Trang web bạn sắp truy cập chứa phần mềm độc hại</translation> <translation id="724975217298816891">Nhập ngày hết hạn và CVC cho <ph name="CREDIT_CARD" /> để cập nhật chi tiết thẻ của bạn. Sau khi bạn xác nhận, chi tiết thẻ của bạn sẽ được chia sẻ với trang web này.</translation> <translation id="725866823122871198">Không thể thiết lập kết nối riêng tư với <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> vì ngày và giờ (<ph name="DATE_AND_TIME" />) trên máy tính của bạn không đúng.</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">Xóa đề xuất biểu mẫu khỏi Chrome?</translation> <translation id="7815407501681723534">Đã tìm thấy <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> cho '<ph name="SEARCH_STRING" />'</translation> -<translation id="7837582000577464779">Đã xảy ra lỗi trong khi xử lý đơn đặt hàng của bạn. Vui lòng kiểm tra tài khoản của bạn và thử lại.</translation> <translation id="785549533363645510">Tuy nhiên, bạn không ẩn. Việc chuyển sang chế độ ẩn danh sẽ không ẩn thao tác duyệt của bạn với chủ lao động, nhà cung cấp dịch vụ internet hoặc các trang web bạn truy cập.</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">Kiểm tra CVC của bạn và thử lại</translation> @@ -810,6 +812,7 @@ <translation id="9094175695478007090">Không thể khởi chạy ứng dụng thanh toán.</translation> <translation id="9103872766612412690"><ph name="SITE" /> thường sử dụng mã hóa để bảo vệ thông tin của bạn. Khi Chromium cố gắng kết nối với <ph name="SITE" /> tại thời điểm này, trang web đã gửi lại thông tin đăng nhập không chính xác và bất thường. Điều này có thể xảy ra khi kẻ tấn công đang cố gắng giả mạo là <ph name="SITE" /> hoặc màn hình đăng nhập Wi-Fi đã làm gián đoạn kết nối. Thông tin của bạn vẫn an toàn do Chromium đã ngừng kết nối trước khi bất kỳ dữ liệu nào được trao đổi.</translation> <translation id="9137013805542155359">Hiển thị văn bản gốc</translation> +<translation id="9137248913990643158">Vui lòng khởi động và đăng nhập vào Chrome trước khi sử dụng ứng dụng này.</translation> <translation id="9148507642005240123">&Hoàn tác chỉnh sửa</translation> <translation id="9154194610265714752">Đã cập nhật</translation> <translation id="9157595877708044936">Đang thiết lập...</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb index cd88824..c4c77e9a 100644 --- a/components/strings/components_strings_zh-CN.xtb +++ b/components/strings/components_strings_zh-CN.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">省</translation> <translation id="2113977810652731515">信用卡</translation> <translation id="2114841414352855701">由于已被 <ph name="POLICY_NAME" /> 替换,该政策已忽略。</translation> +<translation id="2138201775715568214">正在查找附近的“实物网”网页</translation> <translation id="213826338245044447">移动设备书签</translation> <translation id="2148716181193084225">今天</translation> <translation id="2154054054215849342">您的网域不支持同步</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">请求成功</translation> <translation id="2728127805433021124">服务器的证书是使用弱签名算法进行签名的。</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />运行网络连接诊断<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">确定</translation> <translation id="2742870351467570537">移除所选项</translation> <translation id="277499241957683684">缺少设备记录</translation> <translation id="2784949926578158345">连接已重置。</translation> @@ -465,6 +467,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> 上的嵌入式页面显示:</translation> <translation id="5556459405103347317">重新加载</translation> <translation id="5565735124758917034">主动</translation> +<translation id="5572851009514199876">请启动并登录 Chrome,以便 Chrome 能够检查您是否可以访问此网站。</translation> <translation id="5575380383496039204">不支持此递送地址。请选择一个不同的地址。</translation> <translation id="5580958916614886209">请检查您的信用卡到期月份,然后重试</translation> <translation id="560412284261940334">不支持管理</translation> @@ -589,7 +592,6 @@ <translation id="6895330447102777224">已确认您的信用卡</translation> <translation id="6897140037006041989">用户代理</translation> <translation id="6915804003454593391">用户:</translation> -<translation id="6937422995269576720">卡号无效</translation> <translation id="6957887021205513506">该服务器的证书似乎是伪造的。</translation> <translation id="6965382102122355670">确定</translation> <translation id="6965978654500191972">设备</translation> @@ -617,6 +619,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> 不符合相关安全标准。</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />详细了解<ph name="END_LINK" />此问题。</translation> <translation id="7219179957768738017">该连接使用 <ph name="SSL_VERSION" />。</translation> +<translation id="7220786058474068424">正在处理</translation> <translation id="724691107663265825">您要访问的网站包含恶意软件</translation> <translation id="724975217298816891">输入“<ph name="CREDIT_CARD" />”的过期日期和银行卡验证码 (CVC) 以更新您的信用卡详情。在您确认后,您的信用卡详情将与此网站共享。</translation> <translation id="725866823122871198">您计算机的日期和时间(<ph name="DATE_AND_TIME" />)不正确,因此无法与 <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> 建立私密连接。</translation> @@ -692,7 +695,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">从 Chrome 中移除表单建议?</translation> <translation id="7815407501681723534">找到了 <ph name="NUMBER_OF_RESULTS" /> 个与“<ph name="SEARCH_STRING" />”相符的<ph name="SEARCH_RESULTS" /></translation> -<translation id="7837582000577464779">处理您的订单时出错。请检查您的帐号,然后重试。</translation> <translation id="785549533363645510">但是,这并不意味着您能完全隐身。即使您进入隐身模式,您的雇主、互联网服务提供商和您访问的网站仍然能看到您的浏览活动。</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">请检查您的银行卡验证码 (CVC),然后重试</translation> @@ -806,6 +808,7 @@ <translation id="9094175695478007090">无法启动付款应用。</translation> <translation id="9103872766612412690"><ph name="SITE" /> 通常会使用加密技术来保护您的信息。Chromium 此次尝试连接到 <ph name="SITE" /> 时,此网站发回了异常的错误凭据。这可能是因为有攻击者在试图冒充 <ph name="SITE" />,或 Wi-Fi 登录屏幕中断了此次连接。请放心,您的信息仍然是安全的,因为 Chromium 尚未进行任何数据交换便停止了连接。</translation> <translation id="9137013805542155359">显示原始网页</translation> +<translation id="9137248913990643158">在使用此应用前,请先启动并登录 Chrome。</translation> <translation id="9148507642005240123">撤消修改(&U)</translation> <translation id="9154194610265714752">已更新</translation> <translation id="9157595877708044936">正在设置...</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb index b48a841f..e0687245 100644 --- a/components/strings/components_strings_zh-TW.xtb +++ b/components/strings/components_strings_zh-TW.xtb
@@ -119,6 +119,7 @@ <translation id="2096368010154057602">省</translation> <translation id="2113977810652731515">信用卡</translation> <translation id="2114841414352855701">由於政策被「<ph name="POLICY_NAME" />」覆寫了,因此遭到略過。</translation> +<translation id="2138201775715568214">正在尋找附近的實體化網路網頁</translation> <translation id="213826338245044447">行動版書籤</translation> <translation id="2148716181193084225">今天</translation> <translation id="2154054054215849342">你的網域無法使用同步功能</translation> @@ -189,6 +190,7 @@ <translation id="2721148159707890343">要求成功</translation> <translation id="2728127805433021124">伺服器憑證是以防護力較弱的簽章演算法進行簽署。</translation> <translation id="2730326759066348565"><ph name="BEGIN_LINK" />執行連線診斷<ph name="END_LINK" /></translation> +<translation id="2740531572673183784">確定</translation> <translation id="2742870351467570537">移除選取的項目</translation> <translation id="277499241957683684">沒有裝置紀錄</translation> <translation id="2784949926578158345">連線已重設。</translation> @@ -468,6 +470,7 @@ <translation id="5544037170328430102"><ph name="SITE" /> 的嵌入式網頁顯示:</translation> <translation id="5556459405103347317">重新載入</translation> <translation id="5565735124758917034">管理中</translation> +<translation id="5572851009514199876">請啟動 Chrome 並登入帳戶,Chrome 將確認你是否可存取這個網站。</translation> <translation id="5575380383496039204">目前選取的是不支援的快遞地址,請改用其他地址。</translation> <translation id="5580958916614886209">請檢查信用卡到期月份,然後再試一次</translation> <translation id="560412284261940334">系統不支援管理</translation> @@ -593,7 +596,6 @@ <translation id="6895330447102777224">您的信用卡已通過驗證</translation> <translation id="6897140037006041989">使用者代理程式</translation> <translation id="6915804003454593391">使用者:</translation> -<translation id="6937422995269576720">信用卡號碼無效</translation> <translation id="6957887021205513506">伺服器憑證疑似偽造。</translation> <translation id="6965382102122355670">確定</translation> <translation id="6965978654500191972">裝置</translation> @@ -621,6 +623,7 @@ <translation id="7210863904660874423"><ph name="HOST_NAME" /> 不符合安全性標準。</translation> <translation id="721197778055552897"><ph name="BEGIN_LINK" />進一步瞭解<ph name="END_LINK" />這個問題。</translation> <translation id="7219179957768738017">這個連線使用 <ph name="SSL_VERSION" />。</translation> +<translation id="7220786058474068424">處理中</translation> <translation id="724691107663265825">您要造訪的網站含有惡意軟體</translation> <translation id="724975217298816891">請輸入 <ph name="CREDIT_CARD" /> 的有效日期和信用卡安全碼,更新您的信用卡詳細資訊。完成驗證後,這個網站就會取得您的信用卡詳細資訊。</translation> <translation id="725866823122871198">您電腦的日期和時間 (<ph name="DATE_AND_TIME" />) 不正確,因此無法與 <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> 建立私人連線。</translation> @@ -696,7 +699,6 @@ <translation id="7812922009395017822">Mir</translation> <translation id="7813600968533626083">要從 Chrome 中移除建議嗎?</translation> <translation id="7815407501681723534">找到 <ph name="NUMBER_OF_RESULTS" /> 個與「<ph name="SEARCH_STRING" />」相符的<ph name="SEARCH_RESULTS" /></translation> -<translation id="7837582000577464779">處理您的訂單時發生錯誤。請檢查您的帳戶,然後再試一次。</translation> <translation id="785549533363645510">不過,這並不意味著您可以完全隱形。使用無痕模式時,您的雇主和網際網路服務供應商仍然可以追蹤您的瀏覽紀錄,您所造訪的網站也可能會記錄您的瀏覽行為。</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7887683347370398519">請檢查您的 CVC,然後再試一次</translation> @@ -809,6 +811,7 @@ <translation id="9094175695478007090">無法啟動付款應用程式。</translation> <translation id="9103872766612412690"><ph name="SITE" /> 通常使用加密方式保護您的資訊。但 Chromium 這次嘗試連線到 <ph name="SITE" /> 時,該網站傳回了異常且錯誤的憑證。這可能是因為有攻擊者企圖偽裝成 <ph name="SITE" />,或是受到 Wi-Fi 登入畫面影響而造成連線中斷。不過請放心,Chromium 已及時停止連線,並未傳輸任何資料,因此您的資訊仍然安全無虞。</translation> <translation id="9137013805542155359">顯示原文</translation> +<translation id="9137248913990643158">使用這個應用程式前,請先啟動 Chrome 並登入帳戶。</translation> <translation id="9148507642005240123">復原編輯(&U)</translation> <translation id="9154194610265714752">已更新</translation> <translation id="9157595877708044936">設定中...</translation>
diff --git a/components/subresource_filter/content/browser/BUILD.gn b/components/subresource_filter/content/browser/BUILD.gn index 24a4c3c..44eeb1db 100644 --- a/components/subresource_filter/content/browser/BUILD.gn +++ b/components/subresource_filter/content/browser/BUILD.gn
@@ -4,12 +4,16 @@ static_library("browser") { sources = [ + "activation_state_computing_navigation_throttle.cc", + "activation_state_computing_navigation_throttle.h", "async_document_subresource_filter.cc", "async_document_subresource_filter.h", "content_ruleset_service_delegate.cc", "content_ruleset_service_delegate.h", "content_subresource_filter_driver_factory.cc", "content_subresource_filter_driver_factory.h", + "subframe_navigation_filtering_throttle.cc", + "subframe_navigation_filtering_throttle.h", "verified_ruleset_dealer.cc", "verified_ruleset_dealer.h", ]
diff --git a/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.cc b/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.cc new file mode 100644 index 0000000..5b1204fb --- /dev/null +++ b/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.cc
@@ -0,0 +1,123 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h" + +#include <utility> + +#include "base/bind.h" +#include "base/callback.h" +#include "base/memory/ptr_util.h" +#include "components/subresource_filter/content/browser/async_document_subresource_filter.h" +#include "content/public/browser/navigation_handle.h" +#include "content/public/browser/render_frame_host.h" +#include "content/public/browser/web_contents.h" + +namespace subresource_filter { + +// static +std::unique_ptr<ActivationStateComputingNavigationThrottle> +ActivationStateComputingNavigationThrottle::CreateForMainFrame( + content::NavigationHandle* navigation_handle) { + DCHECK(navigation_handle->IsInMainFrame()); + return base::WrapUnique(new ActivationStateComputingNavigationThrottle( + navigation_handle, base::Optional<ActivationState>(), nullptr)); +} + +// static +std::unique_ptr<ActivationStateComputingNavigationThrottle> +ActivationStateComputingNavigationThrottle::CreateForSubframe( + content::NavigationHandle* navigation_handle, + VerifiedRuleset::Handle* ruleset_handle, + const ActivationState& parent_activation_state) { + DCHECK(!navigation_handle->IsInMainFrame()); + DCHECK_NE(ActivationLevel::DISABLED, + parent_activation_state.activation_level); + DCHECK(ruleset_handle); + return base::WrapUnique(new ActivationStateComputingNavigationThrottle( + navigation_handle, parent_activation_state, ruleset_handle)); +} + +ActivationStateComputingNavigationThrottle:: + ActivationStateComputingNavigationThrottle( + content::NavigationHandle* navigation_handle, + const base::Optional<ActivationState> parent_activation_state, + VerifiedRuleset::Handle* ruleset_handle) + : content::NavigationThrottle(navigation_handle), + parent_activation_state_(parent_activation_state), + ruleset_handle_(ruleset_handle), + weak_ptr_factory_(this) {} + +ActivationStateComputingNavigationThrottle:: + ~ActivationStateComputingNavigationThrottle() {} + +void ActivationStateComputingNavigationThrottle:: + NotifyPageActivationWithRuleset( + VerifiedRuleset::Handle* ruleset_handle, + const ActivationState& page_activation_state) { + DCHECK(navigation_handle()->IsInMainFrame()); + DCHECK(!parent_activation_state_); + DCHECK(!activation_state_); + DCHECK(!ruleset_handle_); + // DISABLED implies null ruleset. + DCHECK(page_activation_state.activation_level != ActivationLevel::DISABLED || + !ruleset_handle); + parent_activation_state_.emplace(page_activation_state); + ruleset_handle_ = ruleset_handle; +} + +content::NavigationThrottle::ThrottleCheckResult +ActivationStateComputingNavigationThrottle::WillProcessResponse() { + // Main frame navigations with disabled page-level activation become + // pass-through throttles. + if (!parent_activation_state_ || + parent_activation_state_->activation_level == ActivationLevel::DISABLED) { + DCHECK(navigation_handle()->IsInMainFrame()); + DCHECK(!ruleset_handle_); + activation_state_.emplace(ActivationLevel::DISABLED); + return content::NavigationThrottle::ThrottleCheckResult::PROCEED; + } + + DCHECK(ruleset_handle_); + AsyncDocumentSubresourceFilter::InitializationParams params; + params.document_url = navigation_handle()->GetURL(); + params.parent_activation_state = parent_activation_state_.value(); + if (!navigation_handle()->IsInMainFrame()) { + content::RenderFrameHost* parent = + navigation_handle()->GetWebContents()->FindFrameByFrameTreeNodeId( + navigation_handle()->GetParentFrameTreeNodeId()); + DCHECK(parent); + params.parent_document_origin = parent->GetLastCommittedOrigin(); + } + // TODO(csharrison): Replace the empty OnceClosure with a UI-triggering + // callback. + async_filter_ = base::MakeUnique<AsyncDocumentSubresourceFilter>( + ruleset_handle_, std::move(params), + base::Bind(&ActivationStateComputingNavigationThrottle:: + SetActivationStateAndResume, + weak_ptr_factory_.GetWeakPtr()), + base::OnceClosure()); + return content::NavigationThrottle::ThrottleCheckResult::DEFER; +} + +void ActivationStateComputingNavigationThrottle::SetActivationStateAndResume( + ActivationState state) { + // Cannot send activation level to the renderer until ReadyToCommitNavigation, + // the driver will pull the state out of |this| when that callback occurs. + DCHECK(!activation_state_); + activation_state_.emplace(state); + navigation_handle()->Resume(); +} + +std::unique_ptr<AsyncDocumentSubresourceFilter> +ActivationStateComputingNavigationThrottle::ReleaseFilter() { + return std::move(async_filter_); +} + +const ActivationState& +ActivationStateComputingNavigationThrottle::GetActivationState() const { + return activation_state_.value(); +} + +} // namespace subresource_filter
diff --git a/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h b/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h new file mode 100644 index 0000000..2fc7917 --- /dev/null +++ b/components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h
@@ -0,0 +1,98 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_FRAME_ACTIVATION_NAVIGATION_THROTTLE_H_ +#define COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_FRAME_ACTIVATION_NAVIGATION_THROTTLE_H_ + +#include <memory> + +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "base/optional.h" +#include "components/subresource_filter/content/browser/verified_ruleset_dealer.h" +#include "components/subresource_filter/core/common/activation_state.h" +#include "content/public/browser/navigation_throttle.h" + +namespace subresource_filter { + +class AsyncDocumentSubresourceFilter; + +// NavigationThrottle responsible for determining the activation state of +// subresource filtering for a given navigation (either in the main frame or in +// a subframe); and for deferring that navigation at WillProcessResponse until +// the activation state computation on the blocking pool thread is complete. +// Interested parties can retrieve the activation state after this point (most +// likely in ReadyToCommitNavigation). +class ActivationStateComputingNavigationThrottle + : public content::NavigationThrottle { + public: + // For main frames, a verified ruleset handle is not readily available at + // construction time. Since it is expensive to "warm up" the ruleset, the + // ruleset handle will be injected in NotifyPageActivationWithRuleset once it + // has been established that activation computation is needed. + static std::unique_ptr<ActivationStateComputingNavigationThrottle> + CreateForMainFrame(content::NavigationHandle* navigation_handle); + + // It is illegal to create an activation computing throttle for subframes + // whose parents are not activated. Similarly, |ruleset_handle| should be + // non-null. + static std::unique_ptr<ActivationStateComputingNavigationThrottle> + CreateForSubframe(content::NavigationHandle* navigation_handle, + VerifiedRuleset::Handle* ruleset_handle, + const ActivationState& parent_activation_state); + + ~ActivationStateComputingNavigationThrottle() override; + + // Notification for main frames when the page level activation is computed. + // Must be called at most once before WillProcessResponse is called on this + // throttle. If it is never called, or it is called with a DISABLED state, + // this object will never delay the navigation. + void NotifyPageActivationWithRuleset( + VerifiedRuleset::Handle* ruleset_handle, + const ActivationState& page_activation_state); + + // content::NavigationThrottle: + content::NavigationThrottle::ThrottleCheckResult WillProcessResponse() + override; + + // After the navigation is finished, the client may optionally choose to + // continue using the DocumentSubresourceFilter that was used to compute the + // activation state for this frame. The transfered filter can be cached and + // used to calculate load policy for subframe navigations occuring in this + // frame. + std::unique_ptr<AsyncDocumentSubresourceFilter> ReleaseFilter(); + + // Gets the activation state calculated for this navigation. Must be called + // after the navigation is resumed from getting paused in WillProcessResponse, + // which, for example, will have happened at ReadyToCommitNavigation. + const ActivationState& GetActivationState() const; + + private: + void SetActivationStateAndResume(ActivationState state); + + ActivationStateComputingNavigationThrottle( + content::NavigationHandle* navigation_handle, + const base::Optional<ActivationState> parent_activation_state, + VerifiedRuleset::Handle* ruleset_handle); + + // These members are optional to allow DCHECKing their existence at certain + // points in the navigation flow. + base::Optional<ActivationState> activation_state_; + base::Optional<ActivationState> parent_activation_state_; + + std::unique_ptr<AsyncDocumentSubresourceFilter> async_filter_; + + // Must outlive this class. For main frame navigations, this member will be + // nullptr until NotifyPageActivationWithRuleset is called. + VerifiedRuleset::Handle* ruleset_handle_; + + base::WeakPtrFactory<ActivationStateComputingNavigationThrottle> + weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(ActivationStateComputingNavigationThrottle); +}; + +} // namespace subresource_filter + +#endif // COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_FRAME_ACTIVATION_NAVIGATION_THROTTLE_H_
diff --git a/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.cc b/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.cc new file mode 100644 index 0000000..4fa61169 --- /dev/null +++ b/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.cc
@@ -0,0 +1,57 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.h" + +#include "base/bind.h" +#include "base/logging.h" +#include "content/public/browser/navigation_handle.h" + +namespace subresource_filter { + +SubframeNavigationFilteringThrottle::SubframeNavigationFilteringThrottle( + content::NavigationHandle* handle, + AsyncDocumentSubresourceFilter* parent_frame_filter) + : content::NavigationThrottle(handle), + parent_frame_filter_(parent_frame_filter), + weak_ptr_factory_(this) { + DCHECK(!handle->IsInMainFrame()); + DCHECK(parent_frame_filter_); +} + +SubframeNavigationFilteringThrottle::~SubframeNavigationFilteringThrottle() {} + +content::NavigationThrottle::ThrottleCheckResult +SubframeNavigationFilteringThrottle::WillStartRequest() { + return DeferToCalculateLoadPolicy(); +} + +content::NavigationThrottle::ThrottleCheckResult +SubframeNavigationFilteringThrottle::WillRedirectRequest() { + return DeferToCalculateLoadPolicy(); +} + +content::NavigationThrottle::ThrottleCheckResult +SubframeNavigationFilteringThrottle::DeferToCalculateLoadPolicy() { + parent_frame_filter_->GetLoadPolicyForSubdocument( + navigation_handle()->GetURL(), + base::Bind(&SubframeNavigationFilteringThrottle::OnCalculatedLoadPolicy, + weak_ptr_factory_.GetWeakPtr())); + return content::NavigationThrottle::ThrottleCheckResult::DEFER; +} + +void SubframeNavigationFilteringThrottle::OnCalculatedLoadPolicy( + LoadPolicy policy) { + // TODO(csharrison): Support WouldDisallow pattern and expose the policy for + // metrics. Also, cancel with BLOCK_AND_COLLAPSE when it is implemented. + if (policy == LoadPolicy::DISALLOW) { + parent_frame_filter_->ReportDisallowedLoad(); + navigation_handle()->CancelDeferredNavigation( + content::NavigationThrottle::CANCEL); + } else { + navigation_handle()->Resume(); + } +} + +} // namespace subresource_filter
diff --git a/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.h b/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.h new file mode 100644 index 0000000..c9ba823 --- /dev/null +++ b/components/subresource_filter/content/browser/subframe_navigation_filtering_throttle.h
@@ -0,0 +1,55 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_SUBFRAME_NAVIGATION_FILTERING_THROTTLE_H_ +#define COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_SUBFRAME_NAVIGATION_FILTERING_THROTTLE_H_ + +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "components/subresource_filter/content/browser/async_document_subresource_filter.h" +#include "content/public/browser/navigation_throttle.h" + +namespace content { +class NavigationHandle; +} // namespace content + +namespace subresource_filter { + +class AsyncDocumentSubresourceFilter; + +// NavigationThrottle responsible for filtering subframe document loads, which +// are considered subresource loads of their parent frame, hence are subject to +// subresource filtering using the parent frame's +// AsyncDocumentSubresourceFilter. +// +// The throttle should only be instantiated for navigations occuring in +// subframes owned by documents which already have filtering activated, and +// therefore an associated (Async)DocumentSubresourceFilter. +class SubframeNavigationFilteringThrottle : public content::NavigationThrottle { + public: + SubframeNavigationFilteringThrottle( + content::NavigationHandle* handle, + AsyncDocumentSubresourceFilter* parent_frame_filter); + ~SubframeNavigationFilteringThrottle() override; + + // content::NavigationThrottle: + content::NavigationThrottle::ThrottleCheckResult WillStartRequest() override; + content::NavigationThrottle::ThrottleCheckResult WillRedirectRequest() + override; + + private: + content::NavigationThrottle::ThrottleCheckResult DeferToCalculateLoadPolicy(); + void OnCalculatedLoadPolicy(LoadPolicy policy); + + // Must outlive this class. + AsyncDocumentSubresourceFilter* parent_frame_filter_; + + base::WeakPtrFactory<SubframeNavigationFilteringThrottle> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(SubframeNavigationFilteringThrottle); +}; + +} // namespace subresource_filter + +#endif // COMPONENTS_SUBRESOURCE_FILTER_CONTENT_BROWSER_SUBFRAME_NAVIGATION_FILTERING_THROTTLE_H_
diff --git a/components/translate/core/browser/BUILD.gn b/components/translate/core/browser/BUILD.gn index fc31a04..8b359e1f 100644 --- a/components/translate/core/browser/BUILD.gn +++ b/components/translate/core/browser/BUILD.gn
@@ -11,6 +11,10 @@ "language_state.cc", "language_state.h", "page_translated_details.h", + "ranker_model.cc", + "ranker_model.h", + "ranker_model_loader.cc", + "ranker_model_loader.h", "translate_accept_languages.cc", "translate_accept_languages.h", "translate_browser_metrics.cc", @@ -30,10 +34,9 @@ "translate_manager.h", "translate_prefs.cc", "translate_prefs.h", - "translate_ranker.cc", "translate_ranker.h", - "translate_ranker_metrics_provider.cc", - "translate_ranker_metrics_provider.h", + "translate_ranker_impl.cc", + "translate_ranker_impl.h", "translate_script.cc", "translate_script.h", "translate_step.h", @@ -90,11 +93,14 @@ "language_state_unittest.cc", "mock_translate_driver.cc", "mock_translate_driver.h", + "mock_translate_ranker.cc", + "mock_translate_ranker.h", + "ranker_model_loader_unittest.cc", "translate_browser_metrics_unittest.cc", "translate_language_list_unittest.cc", "translate_manager_unittest.cc", "translate_prefs_unittest.cc", - "translate_ranker_unittest.cc", + "translate_ranker_impl_unittest.cc", "translate_script_unittest.cc", "translate_ui_delegate_unittest.cc", ]
diff --git a/components/translate/core/browser/mock_translate_ranker.cc b/components/translate/core/browser/mock_translate_ranker.cc new file mode 100644 index 0000000..9027ef73 --- /dev/null +++ b/components/translate/core/browser/mock_translate_ranker.cc
@@ -0,0 +1,51 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/translate/core/browser/mock_translate_ranker.h" + +#include "components/metrics/proto/translate_event.pb.h" + +namespace translate { +namespace testing { + +MockTranslateRanker::MockTranslateRanker() {} + +MockTranslateRanker::~MockTranslateRanker() {} + +bool MockTranslateRanker::IsLoggingEnabled() { + return is_logging_enabled_; +} + +bool MockTranslateRanker::IsQueryEnabled() { + return is_query_enabled_; +} + +bool MockTranslateRanker::IsEnforcementEnabled() { + return is_enforcement_enabled_; +} + +int MockTranslateRanker::GetModelVersion() const { + return model_version_; +} + +bool MockTranslateRanker::ShouldOfferTranslation( + const TranslatePrefs& /* translate_prefs */, + const std::string& /* src_lang */, + const std::string& /* dst_lang */) { + return should_offer_translation_; +} + +void MockTranslateRanker::AddTranslateEvent( + const metrics::TranslateEventProto& translate_event) { + event_cache_.push_back(translate_event); +} + +void MockTranslateRanker::FlushTranslateEvents( + std::vector<metrics::TranslateEventProto>* events) { + events->swap(event_cache_); + event_cache_.clear(); +} + +} // namespace testing +} // namespace translate
diff --git a/components/translate/core/browser/mock_translate_ranker.h b/components/translate/core/browser/mock_translate_ranker.h new file mode 100644 index 0000000..7e971c8 --- /dev/null +++ b/components/translate/core/browser/mock_translate_ranker.h
@@ -0,0 +1,65 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_MOCK_TRANSLATE_RANKER_H_ +#define COMPONENTS_TRANSLATE_CORE_BROWSER_MOCK_TRANSLATE_RANKER_H_ + +#include <memory> +#include <string> +#include <vector> + +#include "components/translate/core/browser/translate_ranker.h" + +namespace metrics { +class TranslateEventProto; +} + +namespace translate { + +class TranslatePrefs; + +namespace testing { + +class MockTranslateRanker : public TranslateRanker { + public: + MockTranslateRanker(); + ~MockTranslateRanker() override; + + void set_is_logging_enabled(bool val) { is_logging_enabled_ = val; } + void set_is_query_enabled(bool val) { is_query_enabled_ = val; } + void set_is_enforcement_enabled(bool val) { is_enforcement_enabled_ = val; } + void set_model_version(int val) { model_version_ = val; } + void set_should_offer_translation(bool val) { + should_offer_translation_ = val; + } + + // TranslateRanker... + bool IsLoggingEnabled() override; + bool IsQueryEnabled() override; + bool IsEnforcementEnabled() override; + int GetModelVersion() const override; + bool ShouldOfferTranslation(const TranslatePrefs& translate_prefs, + const std::string& src_lang, + const std::string& dst_lang) override; + void AddTranslateEvent( + const metrics::TranslateEventProto& translate_event) override; + void FlushTranslateEvents( + std::vector<metrics::TranslateEventProto>* events) override; + + private: + std::vector<metrics::TranslateEventProto> event_cache_; + + bool is_logging_enabled_ = false; + bool is_query_enabled_ = false; + bool is_enforcement_enabled_ = false; + bool model_version_ = 0; + bool should_offer_translation_ = true; + + DISALLOW_COPY_AND_ASSIGN(MockTranslateRanker); +}; + +} // namespace testing +} // namespace translate + +#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_MOCK_TRANSLATE_RANKER_H_
diff --git a/components/translate/core/browser/proto/BUILD.gn b/components/translate/core/browser/proto/BUILD.gn index c064a49..e7424bd 100644 --- a/components/translate/core/browser/proto/BUILD.gn +++ b/components/translate/core/browser/proto/BUILD.gn
@@ -6,6 +6,7 @@ proto_library("proto") { sources = [ + "ranker_model.proto", "translate_ranker_model.proto", ] }
diff --git a/components/translate/core/browser/proto/ranker_model.proto b/components/translate/core/browser/proto/ranker_model.proto new file mode 100644 index 0000000..cde35b701 --- /dev/null +++ b/components/translate/core/browser/proto/ranker_model.proto
@@ -0,0 +1,49 @@ +// Copyright (c) 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// Experimental Translation Assist Model to allow/suppress translation prompts. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; + +import "translate_ranker_model.proto"; + +package chrome_intelligence; + +// Metadata for a ranker model instance. This data describes how the ranker +// model should be interpreted/used. +message RankerModelMetadata { + // An identifier denoting the type or purpose of this model. + optional string name = 1; + + // An identifier denoting the specific instance of this model. For example: + // "Experiment B" + optional string label = 2; + + // An identifier, typically a URL, denoting the source from which this model + // was obtained. The model referenced with a given source is presumed to be + // immutable; this can be used as a cache control mechanism. If the currently + // configured model source matches the source of a cached model, and the + // cached model has not expired then there is no need to refresh the model. + optional string source = 3; + + // The timestamp at which this model was downloaded. This will be set by the + // model loader before it caches the model to disk. + optional int64 last_modified_sec = 4; + + // The (optional) number of seconds after which this model should be + // considered expired. If the value is zero or not set, then the cached + // instance of the model never expires. A new download can be triggered by + // changing the configured source URL for the model loader. + optional int64 cache_duration_sec = 5; +} + +// Defines an envelope/wrapper for general models. +message RankerModelProto { + // Metadata. + optional RankerModelMetadata metadata = 1; + + oneof model { TranslateRankerModel translate = 2; } +}
diff --git a/components/translate/core/browser/proto/translate_ranker_model.proto b/components/translate/core/browser/proto/translate_ranker_model.proto index 567470b..efe59cd 100644 --- a/components/translate/core/browser/proto/translate_ranker_model.proto +++ b/components/translate/core/browser/proto/translate_ranker_model.proto
@@ -10,7 +10,7 @@ package chrome_intelligence; -// Defines a Chrome Ranker Translate model. +// Defines a Chrome Ranker Translate Model. // Next tag: 12 message TranslateRankerModel { // A number that identifies the version of this model. @@ -36,5 +36,8 @@ map<string, float> country_weight = 7; map<string, float> locale_weight = 8; } - optional LogisticRegressionModel logistic_regression_model = 2; + + oneof model_revision { + LogisticRegressionModel logistic_regression_model = 2; + } }
diff --git a/components/translate/core/browser/ranker_model.cc b/components/translate/core/browser/ranker_model.cc new file mode 100644 index 0000000..de907f0a --- /dev/null +++ b/components/translate/core/browser/ranker_model.cc
@@ -0,0 +1,54 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/translate/core/browser/ranker_model.h" + +#include "base/memory/ptr_util.h" +#include "base/time/time.h" +#include "components/translate/core/browser/proto/ranker_model.pb.h" + +namespace chrome_intelligence { + +RankerModel::RankerModel() : proto_(base::MakeUnique<RankerModelProto>()) {} + +RankerModel::~RankerModel() {} + +// static +std::unique_ptr<RankerModel> RankerModel::FromString(const std::string& data) { + auto model = base::MakeUnique<RankerModel>(); + if (!model->mutable_proto()->ParseFromString(data)) + return nullptr; + return model; +} + +bool RankerModel::IsExpired() const { + if (!proto().has_metadata()) + return true; + + const auto& metadata = proto().metadata(); + + // If the age of the model cannot be determined, presume it to be expired. + if (!metadata.has_last_modified_sec()) + return true; + + // If the model has no set cache duration, then it never expires. + if (!metadata.has_cache_duration_sec() || metadata.cache_duration_sec() == 0) + return false; + + // Otherwise, a model is expired if its age exceeds the cache duration. + base::Time last_modified = + base::Time() + base::TimeDelta::FromSeconds(metadata.last_modified_sec()); + base::TimeDelta age = base::Time::Now() - last_modified; + return age > base::TimeDelta::FromSeconds(metadata.cache_duration_sec()); +} + +const std::string& RankerModel::GetSourceURL() const { + return proto_->metadata().source(); +} + +std::string RankerModel::SerializeAsString() const { + return proto_->SerializeAsString(); +} + +} // namespace chrome_intelligence
diff --git a/components/translate/core/browser/ranker_model.h b/components/translate/core/browser/ranker_model.h new file mode 100644 index 0000000..d7041de7 --- /dev/null +++ b/components/translate/core/browser/ranker_model.h
@@ -0,0 +1,46 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_RANKER_MODEL_H_ +#define COMPONENTS_TRANSLATE_CORE_BROWSER_RANKER_MODEL_H_ + +#include <memory> +#include <string> + +#include "base/macros.h" + +namespace chrome_intelligence { + +class RankerModelProto; + +// Wrapper class for chrome_intelligence::TranslateRankerProto. +class RankerModel { + public: + RankerModel(); + ~RankerModel(); + + // Returns a new ranker model constructed from |data|. + static std::unique_ptr<RankerModel> FromString(const std::string& data); + + const RankerModelProto& proto() const { return *proto_; } + RankerModelProto* mutable_proto() const { return proto_.get(); } + + // Returns true if this ranker model has expired. + bool IsExpired() const; + + const std::string& GetSourceURL() const; + + // Returns a serialization of this ranker model. + std::string SerializeAsString() const; + + private: + // The underlying ranker model proto. + std::unique_ptr<RankerModelProto> proto_; + + DISALLOW_COPY_AND_ASSIGN(RankerModel); +}; + +} // namesapce chrome_intelligence + +#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_RANKER_MODEL_H_
diff --git a/components/translate/core/browser/ranker_model_loader.cc b/components/translate/core/browser/ranker_model_loader.cc new file mode 100644 index 0000000..900815b --- /dev/null +++ b/components/translate/core/browser/ranker_model_loader.cc
@@ -0,0 +1,420 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/translate/core/browser/ranker_model_loader.h" + +#include "base/bind.h" +#include "base/bind_helpers.h" +#include "base/command_line.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/files/important_file_writer.h" +#include "base/macros.h" +#include "base/memory/ptr_util.h" +#include "base/metrics/histogram_macros.h" +#include "base/profiler/scoped_tracker.h" +#include "base/sequenced_task_runner.h" +#include "base/strings/string_util.h" +#include "base/task_scheduler/post_task.h" +#include "base/threading/sequenced_task_runner_handle.h" +#include "components/translate/core/browser/proto/ranker_model.pb.h" +#include "components/translate/core/browser/ranker_model.h" +#include "components/translate/core/browser/translate_url_fetcher.h" +#include "url/gurl.h" + +namespace translate { +namespace { + +using chrome_intelligence::RankerModel; +using chrome_intelligence::RankerModelProto; + +constexpr int kUrlFetcherId = 2; + +// The maximum number of model download attempts to make. Download may fail +// due to server error or network availability issues. +constexpr int kMaxRetryOn5xx = 8; + +// The minimum duration, in minutes, between download attempts. +constexpr int kMinRetryDelayMins = 3; + +// Suffixes for the various histograms produced by the backend. +const char kWriteTimerHistogram[] = ".Timer.WriteModel"; +const char kReadTimerHistogram[] = ".Timer.ReadModel"; +const char kDownloadTimerHistogram[] = ".Timer.DownloadModel"; +const char kParsetimerHistogram[] = ".Timer.ParseModel"; +const char kModelStatusHistogram[] = ".Model.Status"; + +// A helper class to produce a scoped timer histogram that supports using a +// non-static-const name. +class MyScopedHistogramTimer { + public: + MyScopedHistogramTimer(const base::StringPiece& name) + : name_(name.begin(), name.end()), start_(base::TimeTicks::Now()) {} + + ~MyScopedHistogramTimer() { + base::TimeDelta duration = base::TimeTicks::Now() - start_; + base::HistogramBase* counter = base::Histogram::FactoryTimeGet( + name_, base::TimeDelta::FromMilliseconds(10), + base::TimeDelta::FromMilliseconds(200000), 100, + base::HistogramBase::kUmaTargetedHistogramFlag); + if (counter) + counter->AddTime(duration); + } + + private: + const std::string name_; + const base::TimeTicks start_; + + DISALLOW_COPY_AND_ASSIGN(MyScopedHistogramTimer); +}; + +} // namespace + +// ============================================================================= +// RankerModelLoader::Backend + +class RankerModelLoader::Backend { + public: + // An internal version of RankerModelLoader::OnModelAvailableCallback that + // bundles calling the real callback with a notification of whether or not + // tha backend is finished. + using InternalOnModelAvailableCallback = + base::Callback<void(std::unique_ptr<RankerModel>, bool)>; + + Backend(const ValidateModelCallback& validate_model_cb, + const InternalOnModelAvailableCallback& on_model_available_cb, + const base::FilePath& model_path, + const GURL& model_url, + const std::string& uma_prefix); + ~Backend(); + + // Reads the model from |model_path_|. + void LoadFromFile(); + + // Reads the model from |model_url_|. + void AsyncLoadFromURL(); + + private: + // Log and return the result of loading a model to UMA. + RankerModelStatus ReportModelStatus(RankerModelStatus model_status); + + // Constructs a model from the given |data|. + std::unique_ptr<chrome_intelligence::RankerModel> CreateModel( + const std::string& data); + + // Accepts downloaded model data. This signature is mandated by the callback + // defined by TransalteURLFetcher. + // + // id - the id given to the TranslateURLFetcher on creation + // success - true of the download was successful + // data - the body of the downloads response + void OnDownloadComplete(int id, bool success, const std::string& data); + + // Transfers ownership of |model| to the client using the + // |internal_on_model_available_cb_|. |is_finished| denotes whether the + // backend is finished (or has given up on) loading the model. + void TransferModelToClient( + std::unique_ptr<chrome_intelligence::RankerModel> model, + bool is_finished); + + // Validates that ranker model loader backend tasks are all performed on the + // same sequence. + base::SequenceChecker sequence_checker_; + + // The TaskRunner on which |this| was constructed. + const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_; + + // Validates a ranker model on behalf of the model loader client. This may + // be called on any sequence and must, therefore, be thread-safe. + const ValidateModelCallback validate_model_cb_; + + // Transfers ownership of a loaded model back to the model loader client. + // This will be called on the sequence on which the model loader was + // constructed. + const InternalOnModelAvailableCallback internal_on_model_available_cb_; + + // The path at which the model is (or should be) cached. + const base::FilePath model_path_; + + // The URL from which to download the model if the model is not in the cache + // or the cached model is invalid/expired. + const GURL model_url_; + + // This will prefix all UMA metrics generated by the model loader. + const std::string uma_prefix_; + + // Used to download model data from |model_url_|. + // TODO(rogerm): Use net::URLFetcher directly? + std::unique_ptr<TranslateURLFetcher> url_fetcher_; + + // The next time before which no new attempts to download the model should be + // attempted. + base::TimeTicks next_earliest_download_time_; + + // Tracks the last time of the last attempt to download a model. Used for UMA + // reporting of download duration. + base::TimeTicks download_start_time_; + + DISALLOW_COPY_AND_ASSIGN(Backend); +}; + +RankerModelLoader::Backend::Backend( + const ValidateModelCallback& validate_model_cb, + const InternalOnModelAvailableCallback& internal_on_model_available_cb, + const base::FilePath& model_path, + const GURL& model_url, + const std::string& uma_prefix) + : origin_task_runner_(base::SequencedTaskRunnerHandle::Get()), + validate_model_cb_(validate_model_cb), + internal_on_model_available_cb_(internal_on_model_available_cb), + model_path_(model_path), + model_url_(model_url), + uma_prefix_(uma_prefix) { + sequence_checker_.DetachFromSequence(); +} + +RankerModelLoader::Backend::~Backend() {} + +RankerModelStatus RankerModelLoader::Backend::ReportModelStatus( + RankerModelStatus model_status) { + base::HistogramBase* histogram = base::LinearHistogram::FactoryGet( + uma_prefix_ + kModelStatusHistogram, 1, + static_cast<int>(RankerModelStatus::MAX), + static_cast<int>(RankerModelStatus::MAX) + 1, + base::HistogramBase::kUmaTargetedHistogramFlag); + if (histogram) + histogram->Add(static_cast<int>(model_status)); + return model_status; +} + +std::unique_ptr<chrome_intelligence::RankerModel> +RankerModelLoader::Backend::CreateModel(const std::string& data) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + MyScopedHistogramTimer timer(uma_prefix_ + kParsetimerHistogram); + auto model = RankerModel::FromString(data); + if (ReportModelStatus(model ? validate_model_cb_.Run(*model) + : RankerModelStatus::PARSE_FAILED) != + RankerModelStatus::OK) { + return nullptr; + } + return model; +} + +void RankerModelLoader::Backend::LoadFromFile() { + DCHECK(sequence_checker_.CalledOnValidSequence()); + + // If there is not cache path set, move on to loading the model by URL. + if (model_path_.empty()) { + AsyncLoadFromURL(); + return; + } + + DVLOG(2) << "Attempting to load model from: " << model_path_.value(); + + std::string data; + + { + MyScopedHistogramTimer timer(uma_prefix_ + kReadTimerHistogram); + if (!base::ReadFileToString(model_path_, &data) || data.empty()) { + DVLOG(2) << "Failed to read model from: " << model_path_.value(); + data.clear(); + } + } + + // If model data was loaded, check if it can be parsed to a valid model. + if (!data.empty()) { + auto model = CreateModel(data); + if (model) { + // The model is valid. The client is willing/able to use it. Keep track + // of where it originated and whether or not is has expired. + std::string url_spec = model->GetSourceURL(); + bool is_expired = model->IsExpired(); + bool is_finished = url_spec == model_url_.spec() && !is_expired; + + DVLOG(2) << (is_expired ? "Expired m" : "M") << "odel in '" + << model_path_.value() << "' was originally downloaded from '" + << url_spec << "'."; + + // Transfer the model to the client. Beyond this line, |model| is invalid. + TransferModelToClient(std::move(model), is_finished); + + // If the cached model came from currently configured |model_url_| and has + // not expired, there is no need schedule a model download. + if (is_finished) + return; + + // Otherwise, fall out of this block to schedule a download. The client + // can continue to use the valid but expired model until the download + // completes. + } + } + + // Reaching this point means that a model download is required. If there is + // no download URL configured, then there is nothing further to do. + AsyncLoadFromURL(); +} + +void RankerModelLoader::Backend::AsyncLoadFromURL() { + DCHECK(sequence_checker_.CalledOnValidSequence()); + + if (!model_url_.is_valid()) + return; + + // Do nothing if the download attempts should be throttled. + if (base::TimeTicks::Now() < next_earliest_download_time_) { + DVLOG(2) << "Last download attempt was too recent."; + return; + } + + // Otherwise, initialize the model fetcher to be non-null and trigger an + // initial download attempt. + if (!url_fetcher_) { + url_fetcher_ = base::MakeUnique<TranslateURLFetcher>(kUrlFetcherId); + url_fetcher_->set_max_retry_on_5xx(kMaxRetryOn5xx); + } + + // If a request is already in flight, do not issue a new one. + if (url_fetcher_->state() == TranslateURLFetcher::REQUESTING) { + DVLOG(2) << "Download is in progress."; + return; + } + + DVLOG(2) << "Downloading model from: " << model_url_; + + // Reset the time of the next earliest allowable download attempt. + next_earliest_download_time_ = + base::TimeTicks::Now() + base::TimeDelta::FromMinutes(kMinRetryDelayMins); + + // Kick off the next download attempt. + download_start_time_ = base::TimeTicks::Now(); + bool result = url_fetcher_->Request( + model_url_, base::Bind(&RankerModelLoader::Backend::OnDownloadComplete, + base::Unretained(this))); + + // The maximum number of download attempts has been surpassed. Don't make + // any further attempts. + if (!result) { + DVLOG(2) << "Model download abandoned."; + ReportModelStatus(RankerModelStatus::DOWNLOAD_FAILED); + url_fetcher_.reset(); + + // Notify the loader that model loading has been abandoned. + TransferModelToClient(nullptr, true); + } +} + +void RankerModelLoader::Backend::OnDownloadComplete(int /* id */, + bool success, + const std::string& data) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + + // Record the duration of the download. + base::TimeDelta duration = base::TimeTicks::Now() - download_start_time_; + base::HistogramBase* counter = base::Histogram::FactoryTimeGet( + uma_prefix_ + kDownloadTimerHistogram, + base::TimeDelta::FromMilliseconds(10), + base::TimeDelta::FromMilliseconds(200000), 100, + base::HistogramBase::kUmaTargetedHistogramFlag); + if (counter) + counter->AddTime(duration); + + // On failure, we just abort. The TranslateRanker will retry on a subsequent + // translation opportunity. The TranslateURLFetcher enforces a limit for + // retried requests. + if (!success || data.empty()) { + DVLOG(2) << "Download from '" << model_url_ << "'' failed."; + return; + } + + auto model = CreateModel(data); + if (!model) { + DVLOG(2) << "Model from '" << model_url_ << "'' not valid."; + return; + } + + url_fetcher_.reset(); + + auto* metadata = model->mutable_proto()->mutable_metadata(); + metadata->set_source(model_url_.spec()); + metadata->set_last_modified_sec( + (base::Time::Now() - base::Time()).InSeconds()); + + if (!model_path_.empty()) { + DVLOG(2) << "Saving model from '" << model_url_ << "'' to '" + << model_path_.value() << "'."; + MyScopedHistogramTimer timer(uma_prefix_ + kWriteTimerHistogram); + base::ImportantFileWriter::WriteFileAtomically(model_path_, + model->SerializeAsString()); + } + + // Notify the owner that a compatible model is available. + TransferModelToClient(std::move(model), true); +} + +void RankerModelLoader::Backend::TransferModelToClient( + std::unique_ptr<chrome_intelligence::RankerModel> model, + bool is_finished) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + origin_task_runner_->PostTask( + FROM_HERE, base::Bind(internal_on_model_available_cb_, + base::Passed(std::move(model)), is_finished)); +} + +// ============================================================================= +// RankerModelLoader + +RankerModelLoader::RankerModelLoader( + const ValidateModelCallback& validate_model_cb, + const OnModelAvailableCallback& on_model_available_cb, + const base::FilePath& model_path, + const GURL& model_url, + const std::string& uma_prefix) + : backend_task_runner_(base::CreateSequencedTaskRunnerWithTraits( + base::TaskTraits().MayBlock().WithShutdownBehavior( + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN))), + weak_ptr_factory_(this) { + auto internal_on_model_available_cb = + base::Bind(&RankerModelLoader::InternalOnModelAvailable, + weak_ptr_factory_.GetWeakPtr(), on_model_available_cb); + backend_ = base::MakeUnique<Backend>(validate_model_cb, + internal_on_model_available_cb, + model_path, model_url, uma_prefix); +} + +RankerModelLoader::~RankerModelLoader() { + DCHECK(sequence_checker_.CalledOnValidSequence()); + // This is guaranteed to be sequenced after any pending backend operation. + backend_task_runner_->DeleteSoon(FROM_HERE, backend_.release()); +} + +void RankerModelLoader::Start() { + DCHECK(sequence_checker_.CalledOnValidSequence()); + DCHECK_EQ(state_, LoaderState::NOT_STARTED); + state_ = LoaderState::RUNNING; + backend_task_runner_->PostTask( + FROM_HERE, base::Bind(&RankerModelLoader::Backend::LoadFromFile, + base::Unretained(backend_.get()))); +} + +void RankerModelLoader::NotifyOfRankerActivity() { + DCHECK(sequence_checker_.CalledOnValidSequence()); + if (state_ == LoaderState::RUNNING) { + backend_task_runner_->PostTask( + FROM_HERE, base::Bind(&RankerModelLoader::Backend::AsyncLoadFromURL, + base::Unretained(backend_.get()))); + } +} + +void RankerModelLoader::InternalOnModelAvailable( + const OnModelAvailableCallback& callback, + std::unique_ptr<RankerModel> model, + bool finished) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + if (finished) + state_ = LoaderState::FINISHED; + if (model) + callback.Run(std::move(model)); +} + +} // namespace translate
diff --git a/components/translate/core/browser/ranker_model_loader.h b/components/translate/core/browser/ranker_model_loader.h new file mode 100644 index 0000000..df43d34 --- /dev/null +++ b/components/translate/core/browser/ranker_model_loader.h
@@ -0,0 +1,139 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_RANKER_MODEL_LOADER_H_ +#define COMPONENTS_TRANSLATE_CORE_BROWSER_RANKER_MODEL_LOADER_H_ + +#include <memory> +#include <string> + +#include "base/callback.h" +#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" +#include "base/sequence_checker.h" + +class GURL; + +namespace base { +class FilePath; +class SequencedTaskRunner; +} // namespace base + +namespace chrome_intelligence { +class RankerModel; +} // namespace chrome_intelligence + +namespace translate { + +// Enumeration denoting the outcome of an attempt to download the model. This +// must be kept in sync with the RankerModelStatus enum in histograms.xml +enum class RankerModelStatus { + OK = 0, + DOWNLOAD_THROTTLED = 1, + DOWNLOAD_FAILED = 2, + PARSE_FAILED = 3, + VALIDATION_FAILED = 4, + INCOMPATIBLE = 5, + + // Insert new values above this line. + MAX +}; + +// If enabled, downloads a translate ranker model and uses it to determine +// whether the user should be given a translation prompt or not. +class RankerModelLoader { + public: + // Callback to validate a ranker model on behalf of the model loader client. + // For example, the callback might validate that the model is compatible with + // the features generated when ranking translation offerings. This callback + // may be called on any sequence and must, therefore, be thread-safe. This + // callback may be invoked after the RankerModelLoader has been destroyed + // and must, therefore, only access memory that it can guarantee to be + // valid. + using ValidateModelCallback = base::Callback<RankerModelStatus( + const chrome_intelligence::RankerModel& model)>; + + // Called to transfer ownership of a loaded model back to the model loader + // client. This will be called on the sequence on which the model loader was + // constructed. This callback may be invoked after the RankerModelLoader has + // been destroyed and must, therefore, only access memory that it can + // guarantee to be valid. + using OnModelAvailableCallback = base::Callback<void( + std::unique_ptr<chrome_intelligence::RankerModel> model)>; + + // |validate_model_callback| may be called on any sequence; it must be thread + // safe. + // + // |on_model_available_callback| will be called on the sequence on which the + // ranker model loader is constructed. + // + // |model_path| denotes the file path at which the model is cached. The loader + // will attempt to load the model from this path first, falling back to the + // |model_url| if the model cannot be loaded or has expired. Upon downloading + // a fresh model from |model_url| the model will be persisted to |model_path| + // for subsequent caching. + // + // |model_url| denotes the URL from which the model should be loaded, if it + // has not already been cached at |model_path|. + // + // |uma_prefix| will be used as a prefix for the names of all UMA metrics + // generated by this loader. + RankerModelLoader(const ValidateModelCallback& validate_model_callback, + const OnModelAvailableCallback& on_model_available_callback, + const base::FilePath& model_path, + const GURL& model_url, + const std::string& uma_prefix); + + ~RankerModelLoader(); + + // Asynchronously initiates loading the model from the cache file path and URL + // previously configured. + void Start(); + + // Call this method periodically to notify the model loader the ranker is + // actively in use. The user's engagement with the feature is used as a proxy + // for network activity. If a model download is pending, this will trigger + // (subject to retry and frequency limits) a model download attempt. + void NotifyOfRankerActivity(); + + private: + // The model loader backend to which the actual loading functionality is + // delegated. + class Backend; + friend class Backend; + + // A enum to track the current loader state. + enum class LoaderState { NOT_STARTED, RUNNING, FINISHED }; + + // Helper method to forward OnModelAvailable callbacks while noting whether + // or not the loader has finished its work. + void InternalOnModelAvailable( + const OnModelAvailableCallback& callback, + std::unique_ptr<chrome_intelligence::RankerModel> model, + bool finished); + + // Validates that ranker model loader tasks are all performed on the same + // sequence. + base::SequenceChecker sequence_checker_; + + // The task runner on which backend tasks are performed. + const scoped_refptr<base::SequencedTaskRunner> backend_task_runner_; + + // The model loader backend to which the actual loading functionality is + // delegated. |backend_| may outlive its RankerModelLoader. When the + // RankerModelLoader is destroyed, ownership of |backend_| is transferred + // to a delete task posted |backend_task_runner_|. + std::unique_ptr<Backend> backend_; + + // The current state of the loader. + LoaderState state_ = LoaderState::NOT_STARTED; + + base::WeakPtrFactory<RankerModelLoader> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(RankerModelLoader); +}; + +} // namespace translate + +#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_RANKER_MODEL_LOADER_H_
diff --git a/components/translate/core/browser/ranker_model_loader_unittest.cc b/components/translate/core/browser/ranker_model_loader_unittest.cc new file mode 100644 index 0000000..2433ef1 --- /dev/null +++ b/components/translate/core/browser/ranker_model_loader_unittest.cc
@@ -0,0 +1,374 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/translate/core/browser/ranker_model_loader.h" + +#include <deque> +#include <initializer_list> +#include <memory> +#include <vector> + +#include "base/files/file_util.h" +#include "base/files/scoped_temp_dir.h" +#include "base/memory/ptr_util.h" +#include "base/message_loop/message_loop.h" +#include "base/run_loop.h" +#include "base/strings/stringprintf.h" +#include "base/task_scheduler/post_task.h" +#include "base/task_scheduler/task_scheduler.h" +#include "base/test/scoped_feature_list.h" +#include "base/test/scoped_task_scheduler.h" +#include "base/test/test_simple_task_runner.h" +#include "base/threading/thread_task_runner_handle.h" +#include "components/metrics/proto/translate_event.pb.h" +#include "components/prefs/scoped_user_pref_update.h" +#include "components/sync_preferences/testing_pref_service_syncable.h" +#include "components/translate/core/browser/proto/ranker_model.pb.h" +#include "components/translate/core/browser/proto/translate_ranker_model.pb.h" +#include "components/translate/core/browser/ranker_model.h" +#include "components/translate/core/browser/translate_download_manager.h" +#include "components/translate/core/browser/translate_prefs.h" +#include "net/url_request/test_url_fetcher_factory.h" +#include "net/url_request/url_request_test_util.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +using base::TaskScheduler; +using chrome_intelligence::RankerModel; +using translate::RankerModelLoader; +using translate::RankerModelStatus; +using translate::TranslateDownloadManager; + +const char kInvalidModelData[] = "not a valid model"; +const int kInvalidModelSize = sizeof(kInvalidModelData) - 1; + +class RankerModelLoaderTest : public ::testing::Test { + protected: + RankerModelLoaderTest(); + + void SetUp() override; + + void TearDown() override; + + // Returns a copy of |model|. + static std::unique_ptr<RankerModel> Clone(const RankerModel& model); + + // Returns true if |m1| and |m2| are identical. + static bool IsEqual(const RankerModel& m1, const RankerModel& m2); + + // Returns true if |m1| and |m2| are identical modulo metadata. + static bool IsEquivalent(const RankerModel& m1, const RankerModel& m2); + + // Helper method to drive the loader for |model_path| and |model_url|. + bool DoLoaderTest(const base::FilePath& model_path, const GURL& model_url); + + // Initialize the "remote" model data used for testing. + void InitRemoteModels(); + + // Initialize the "local" model data used for testing. + void InitLocalModels(); + + // Helper method used by InitRemoteModels() and InitLocalModels(). + void InitModel(const GURL& model_url, + const base::Time& last_modified, + const base::TimeDelta& cache_duration, + RankerModel* model); + + // Save |model| to |model_path|. Used by InitRemoteModels() and + // InitLocalModels() + void SaveModel(const RankerModel& model, const base::FilePath& model_path); + + // Implements RankerModelLoader's ValidateModelCallback interface. + RankerModelStatus ValidateModel(const RankerModel& model); + + // Implements RankerModelLoader's OnModelAvailableCallback interface. + void OnModelAvailable(std::unique_ptr<RankerModel> model); + + // Sets up the task scheduling/task-runner environment for each test. + base::test::ScopedTaskScheduler scoped_task_scheduler_; + + // Override the default URL fetcher to return custom responses for tests. + net::FakeURLFetcherFactory url_fetcher_factory_; + + // Temporary directory for model files. + base::ScopedTempDir scoped_temp_dir_; + + // Cache and reset the application locale for each test. + std::string locale_; + + // Used to initialize the translate download manager. + scoped_refptr<net::TestURLRequestContextGetter> request_context_; + + // A queue of responses to return from Validate(). If empty, validate will + // return 'OK'. + std::deque<RankerModelStatus> validate_model_response_; + + // A cached to remember the model validation calls. + std::vector<std::unique_ptr<RankerModel>> validated_models_; + + // A cache to remember the OnModelAvailable calls. + std::vector<std::unique_ptr<RankerModel>> available_models_; + + // Cached model file paths. + base::FilePath local_model_path_; + base::FilePath expired_model_path_; + base::FilePath invalid_model_path_; + + // Model URLS. + GURL remote_model_url_; + GURL invalid_model_url_; + GURL failed_model_url_; + + // Model Data. + RankerModel remote_model_; + RankerModel local_model_; + RankerModel expired_model_; + + private: + DISALLOW_COPY_AND_ASSIGN(RankerModelLoaderTest); +}; + +RankerModelLoaderTest::RankerModelLoaderTest() + : url_fetcher_factory_(nullptr) {} + +void RankerModelLoaderTest::SetUp() { + // Setup the translate download manager. + locale_ = TranslateDownloadManager::GetInstance()->application_locale(); + request_context_ = + new net::TestURLRequestContextGetter(base::ThreadTaskRunnerHandle::Get()); + TranslateDownloadManager::GetInstance()->set_application_locale("fr-CA"); + TranslateDownloadManager::GetInstance()->set_request_context( + request_context_.get()); + + ASSERT_TRUE(scoped_temp_dir_.CreateUniqueTempDir()); + const auto& temp_dir_path = scoped_temp_dir_.GetPath(); + + // Setup the model file paths. + local_model_path_ = temp_dir_path.AppendASCII("local_model.bin"); + expired_model_path_ = temp_dir_path.AppendASCII("expired_model.bin"); + invalid_model_path_ = temp_dir_path.AppendASCII("invalid_model.bin"); + + // Setup the model URLs. + remote_model_url_ = GURL("https://some.url.net/good.model.bin"); + invalid_model_url_ = GURL("https://some.url.net/bad.model.bin"); + failed_model_url_ = GURL("https://some.url.net/fail"); + + // Initialize the model data. + ASSERT_NO_FATAL_FAILURE(InitRemoteModels()); + ASSERT_NO_FATAL_FAILURE(InitLocalModels()); +} + +void RankerModelLoaderTest::TearDown() { + base::RunLoop().RunUntilIdle(); + TranslateDownloadManager::GetInstance()->set_application_locale(locale_); + TranslateDownloadManager::GetInstance()->set_request_context(nullptr); +} + +// static +std::unique_ptr<RankerModel> RankerModelLoaderTest::Clone( + const RankerModel& model) { + auto copy = base::MakeUnique<RankerModel>(); + *copy->mutable_proto() = model.proto(); + return copy; +} + +// static +bool RankerModelLoaderTest::IsEqual(const RankerModel& m1, + const RankerModel& m2) { + return m1.SerializeAsString() == m2.SerializeAsString(); +} + +// static +bool RankerModelLoaderTest::IsEquivalent(const RankerModel& m1, + const RankerModel& m2) { + auto copy_m1 = Clone(m1); + copy_m1->mutable_proto()->mutable_metadata()->Clear(); + + auto copy_m2 = Clone(m2); + copy_m2->mutable_proto()->mutable_metadata()->Clear(); + + return IsEqual(*copy_m1, *copy_m2); +} + +bool RankerModelLoaderTest::DoLoaderTest(const base::FilePath& model_path, + const GURL& model_url) { + auto loader = base::MakeUnique<RankerModelLoader>( + base::Bind(&RankerModelLoaderTest::ValidateModel, base::Unretained(this)), + base::Bind(&RankerModelLoaderTest::OnModelAvailable, + base::Unretained(this)), + model_path, model_url, "RankerModelLoaderTest"); + + loader->Start(); + base::RunLoop().RunUntilIdle(); + + return true; +} + +void RankerModelLoaderTest::InitRemoteModels() { + InitModel(remote_model_url_, base::Time(), base::TimeDelta(), &remote_model_); + url_fetcher_factory_.SetFakeResponse( + remote_model_url_, remote_model_.SerializeAsString(), net::HTTP_OK, + net::URLRequestStatus::SUCCESS); + url_fetcher_factory_.SetFakeResponse(invalid_model_url_, kInvalidModelData, + net::HTTP_OK, + net::URLRequestStatus::SUCCESS); + url_fetcher_factory_.SetFakeResponse(failed_model_url_, "", + net::HTTP_INTERNAL_SERVER_ERROR, + net::URLRequestStatus::FAILED); +} + +void RankerModelLoaderTest::InitLocalModels() { + InitModel(remote_model_url_, base::Time::Now(), base::TimeDelta::FromDays(30), + &local_model_); + InitModel(remote_model_url_, + base::Time::Now() - base::TimeDelta::FromDays(60), + base::TimeDelta::FromDays(30), &expired_model_); + SaveModel(local_model_, local_model_path_); + SaveModel(expired_model_, expired_model_path_); + ASSERT_EQ(base::WriteFile(invalid_model_path_, kInvalidModelData, + kInvalidModelSize), + kInvalidModelSize); +} + +void RankerModelLoaderTest::InitModel(const GURL& model_url, + const base::Time& last_modified, + const base::TimeDelta& cache_duration, + RankerModel* model) { + ASSERT_TRUE(model != nullptr); + model->mutable_proto()->Clear(); + + auto* metadata = model->mutable_proto()->mutable_metadata(); + if (!model_url.is_empty()) + metadata->set_source(model_url.spec()); + if (!last_modified.is_null()) { + auto last_modified_sec = (last_modified - base::Time()).InSeconds(); + metadata->set_last_modified_sec(last_modified_sec); + } + if (!cache_duration.is_zero()) + metadata->set_cache_duration_sec(cache_duration.InSeconds()); + + auto* translate = model->mutable_proto()->mutable_translate(); + translate->set_version(1); + + auto* logit = translate->mutable_logistic_regression_model(); + logit->set_bias(0.1f); + logit->set_accept_ratio_weight(0.2f); + logit->set_decline_ratio_weight(0.3f); + logit->set_ignore_ratio_weight(0.4f); +} + +void RankerModelLoaderTest::SaveModel(const RankerModel& model, + const base::FilePath& model_path) { + std::string model_str = model.SerializeAsString(); + ASSERT_EQ(base::WriteFile(model_path, model_str.data(), model_str.size()), + static_cast<int>(model_str.size())); +} + +RankerModelStatus RankerModelLoaderTest::ValidateModel( + const RankerModel& model) { + validated_models_.push_back(Clone(model)); + RankerModelStatus response = RankerModelStatus::OK; + if (!validate_model_response_.empty()) { + response = validate_model_response_.front(); + validate_model_response_.pop_front(); + } + return response; +} + +void RankerModelLoaderTest::OnModelAvailable( + std::unique_ptr<RankerModel> model) { + available_models_.push_back(std::move(model)); +} + +} // namespace + +TEST_F(RankerModelLoaderTest, NoLocalOrRemoteModel) { + ASSERT_TRUE(DoLoaderTest(base::FilePath(), GURL())); + + EXPECT_EQ(0U, validated_models_.size()); + EXPECT_EQ(0U, available_models_.size()); +} + +TEST_F(RankerModelLoaderTest, BadLocalAndRemoteModel) { + ASSERT_TRUE(DoLoaderTest(invalid_model_path_, invalid_model_url_)); + + EXPECT_EQ(0U, validated_models_.size()); + EXPECT_EQ(0U, available_models_.size()); +} + +TEST_F(RankerModelLoaderTest, LoadFromFileOnly) { + EXPECT_TRUE(DoLoaderTest(local_model_path_, GURL())); + + ASSERT_EQ(1U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEqual(*validated_models_[0], local_model_)); + EXPECT_TRUE(IsEqual(*available_models_[0], local_model_)); +} + +TEST_F(RankerModelLoaderTest, LoadFromFileSkipsDownload) { + ASSERT_TRUE(DoLoaderTest(local_model_path_, remote_model_url_)); + + ASSERT_EQ(1U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEqual(*validated_models_[0], local_model_)); + EXPECT_TRUE(IsEqual(*available_models_[0], local_model_)); +} + +TEST_F(RankerModelLoaderTest, LoadFromFileAndBadUrl) { + ASSERT_TRUE(DoLoaderTest(local_model_path_, invalid_model_url_)); + ASSERT_EQ(1U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEqual(*validated_models_[0], local_model_)); + EXPECT_TRUE(IsEqual(*available_models_[0], local_model_)); +} + +TEST_F(RankerModelLoaderTest, LoadFromURLOnly) { + ASSERT_TRUE(DoLoaderTest(base::FilePath(), remote_model_url_)); + ASSERT_EQ(1U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEquivalent(*validated_models_[0], remote_model_)); + EXPECT_TRUE(IsEquivalent(*available_models_[0], remote_model_)); +} + +TEST_F(RankerModelLoaderTest, LoadFromExpiredFileTriggersDownload) { + ASSERT_TRUE(DoLoaderTest(expired_model_path_, remote_model_url_)); + ASSERT_EQ(2U, validated_models_.size()); + ASSERT_EQ(2U, available_models_.size()); + EXPECT_TRUE(IsEquivalent(*validated_models_[0], local_model_)); + EXPECT_TRUE(IsEquivalent(*available_models_[0], local_model_)); + EXPECT_TRUE(IsEquivalent(*validated_models_[1], remote_model_)); + EXPECT_TRUE(IsEquivalent(*available_models_[1], remote_model_)); +} + +TEST_F(RankerModelLoaderTest, LoadFromBadFileTriggersDownload) { + ASSERT_TRUE(DoLoaderTest(invalid_model_path_, remote_model_url_)); + ASSERT_EQ(1U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEquivalent(*validated_models_[0], remote_model_)); + EXPECT_TRUE(IsEquivalent(*available_models_[0], remote_model_)); +} + +TEST_F(RankerModelLoaderTest, IncompatibleCachedFileTriggersDownload) { + validate_model_response_.push_back(RankerModelStatus::INCOMPATIBLE); + + ASSERT_TRUE(DoLoaderTest(local_model_path_, remote_model_url_)); + ASSERT_EQ(2U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEquivalent(*validated_models_[0], local_model_)); + EXPECT_TRUE(IsEquivalent(*validated_models_[1], remote_model_)); + EXPECT_TRUE(IsEquivalent(*available_models_[0], remote_model_)); +} + +TEST_F(RankerModelLoaderTest, IncompatibleDownloadedFileKeepsExpired) { + validate_model_response_.push_back(RankerModelStatus::OK); + validate_model_response_.push_back(RankerModelStatus::INCOMPATIBLE); + + ASSERT_TRUE(DoLoaderTest(expired_model_path_, remote_model_url_)); + ASSERT_EQ(2U, validated_models_.size()); + ASSERT_EQ(1U, available_models_.size()); + EXPECT_TRUE(IsEquivalent(*validated_models_[0], local_model_)); + EXPECT_TRUE(IsEquivalent(*validated_models_[1], remote_model_)); + EXPECT_TRUE(IsEquivalent(*available_models_[0], local_model_)); +}
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc index cd10a75..2466bd5 100644 --- a/components/translate/core/browser/translate_manager.cc +++ b/components/translate/core/browser/translate_manager.cc
@@ -131,17 +131,16 @@ TranslateManager::TranslateManager( TranslateClient* translate_client, + TranslateRanker* translate_ranker, const std::string& accept_languages_pref_name) : page_seq_no_(0), accept_languages_pref_name_(accept_languages_pref_name), translate_client_(translate_client), translate_driver_(translate_client_->GetTranslateDriver()), + translate_ranker_(translate_ranker), language_state_(translate_driver_), translate_event_(base::MakeUnique<metrics::TranslateEventProto>()), - weak_method_factory_(this) { - if (TranslateRanker::IsEnabled()) - TranslateRanker::GetInstance()->FetchModelData(); // Asynchronous. -} + weak_method_factory_(this) {} base::WeakPtr<TranslateManager> TranslateManager::GetWeakPtr() { return weak_method_factory_.GetWeakPtr(); @@ -232,6 +231,22 @@ TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); return; } + + bool ranker_should_offer_translation = true; + if (translate_ranker_->IsQueryEnabled() || + translate_ranker_->IsLoggingEnabled() || + translate_ranker_->IsEnforcementEnabled()) { + ranker_should_offer_translation = translate_ranker_->ShouldOfferTranslation( + *translate_prefs, language_code, target_lang); + translate_event_->set_ranker_request_timestamp_sec( + (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); + translate_event_->set_ranker_version(translate_ranker_->GetModelVersion()); + translate_event_->set_ranker_response( + ranker_should_offer_translation + ? metrics::TranslateEventProto::SHOW + : metrics::TranslateEventProto::DONT_SHOW); + } + // Nothing to do if either the language Chrome is in or the language of the // page is not supported by the translation server. if (target_lang.empty() || @@ -302,22 +317,12 @@ return; } - if (TranslateRanker::IsEnabled()) { - TranslateRanker* translate_ranker = TranslateRanker::GetInstance(); - bool should_offer_translation = translate_ranker->ShouldOfferTranslation( - *translate_prefs, language_code, target_lang); - translate_event_->set_ranker_request_timestamp_sec( - (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); - translate_event_->set_ranker_version(translate_ranker->GetModelVersion()); - translate_event_->set_ranker_response( - should_offer_translation ? metrics::TranslateEventProto::SHOW - : metrics::TranslateEventProto::DONT_SHOW); - if (!should_offer_translation && TranslateRanker::IsEnforcementEnabled()) { - TranslateBrowserMetrics::ReportInitiationStatus( - TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER); - RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER); - return; - } + if (!ranker_should_offer_translation && + translate_ranker_->IsEnforcementEnabled()) { + TranslateBrowserMetrics::ReportInitiationStatus( + TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER); + RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER); + return; } TranslateBrowserMetrics::ReportInitiationStatus( @@ -604,7 +609,7 @@ static_cast<metrics::TranslateEventProto::EventType>(event_type)); translate_event_->set_event_timestamp_sec( (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); - TranslateRanker::GetInstance()->RecordTranslateEvent(*translate_event_); + translate_ranker_->AddTranslateEvent(*translate_event_); } } // namespace translate
diff --git a/components/translate/core/browser/translate_manager.h b/components/translate/core/browser/translate_manager.h index a6b19e3..b164051 100644 --- a/components/translate/core/browser/translate_manager.h +++ b/components/translate/core/browser/translate_manager.h
@@ -29,6 +29,7 @@ class TranslateClient; class TranslateDriver; class TranslatePrefs; +class TranslateRanker; namespace testing { class TranslateManagerTest; @@ -46,6 +47,7 @@ // |accept_language_pref_name| is the path for the preference for the // accept-languages. TranslateManager(TranslateClient* translate_client, + TranslateRanker* translate_ranker, const std::string& accept_language_pref_name); virtual ~TranslateManager(); @@ -161,6 +163,7 @@ TranslateClient* translate_client_; // Weak. TranslateDriver* translate_driver_; // Weak. + TranslateRanker* translate_ranker_; // Weak. LanguageState language_state_;
diff --git a/components/translate/core/browser/translate_manager_unittest.cc b/components/translate/core/browser/translate_manager_unittest.cc index dfe0696..7c4af1c 100644 --- a/components/translate/core/browser/translate_manager_unittest.cc +++ b/components/translate/core/browser/translate_manager_unittest.cc
@@ -14,6 +14,7 @@ #include "components/pref_registry/pref_registry_syncable.h" #include "components/sync_preferences/testing_pref_service_syncable.h" #include "components/translate/core/browser/mock_translate_driver.h" +#include "components/translate/core/browser/mock_translate_ranker.h" #include "components/translate/core/browser/translate_browser_metrics.h" #include "components/translate/core/browser/translate_client.h" #include "components/translate/core/browser/translate_download_manager.h" @@ -164,7 +165,7 @@ void PrepareTranslateManager() { TranslateManager::SetIgnoreMissingKeyForTesting(true); translate_manager_.reset(new translate::TranslateManager( - &mock_translate_client_, kAcceptLanguages)); + &mock_translate_client_, &mock_translate_ranker_, kAcceptLanguages)); } // Prepare the test for ULP related tests. @@ -230,6 +231,7 @@ TestNetworkChangeNotifier network_notifier_; translate::testing::MockTranslateDriver driver_; + translate::testing::MockTranslateRanker mock_translate_ranker_; ::testing::NiceMock<MockTranslateClient> mock_translate_client_; std::unique_ptr<TranslateManager> translate_manager_; std::unique_ptr<base::FieldTrialList> field_trial_list_; @@ -281,7 +283,7 @@ TEST_F(TranslateManagerTest, DontTranslateOffline) { TranslateManager::SetIgnoreMissingKeyForTesting(true); translate_manager_.reset(new translate::TranslateManager( - &mock_translate_client_, kAcceptLanguages)); + &mock_translate_client_, &mock_translate_ranker_, kAcceptLanguages)); // The test measures that the "Translate was disabled" exit can only be // reached after the early-out tests including IsOffline() passed. @@ -313,7 +315,7 @@ DontTranslateZhTraditionalPageForZhSimplifiedLocale) { TranslateManager::SetIgnoreMissingKeyForTesting(true); translate_manager_.reset(new translate::TranslateManager( - &mock_translate_client_, kAcceptLanguages)); + &mock_translate_client_, &mock_translate_ranker_, kAcceptLanguages)); const char kMetricName[] = "Translate.InitiationStatus.v2"; base::HistogramTester histogram_tester; @@ -342,7 +344,7 @@ DontTranslateZhSimplifiedPageForZhTraditionalLocale) { TranslateManager::SetIgnoreMissingKeyForTesting(true); translate_manager_.reset(new translate::TranslateManager( - &mock_translate_client_, kAcceptLanguages)); + &mock_translate_client_, &mock_translate_ranker_, kAcceptLanguages)); const char kMetricName[] = "Translate.InitiationStatus.v2"; base::HistogramTester histogram_tester;
diff --git a/components/translate/core/browser/translate_ranker.cc b/components/translate/core/browser/translate_ranker.cc deleted file mode 100644 index 1341652..0000000 --- a/components/translate/core/browser/translate_ranker.cc +++ /dev/null
@@ -1,311 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/translate/core/browser/translate_ranker.h" - -#include <cmath> - -#include "base/bind.h" -#include "base/bind_helpers.h" -#include "base/command_line.h" -#include "base/metrics/histogram_macros.h" -#include "base/profiler/scoped_tracker.h" -#include "base/strings/string_util.h" -#include "components/metrics/proto/translate_event.pb.h" -#include "components/translate/core/browser/proto/translate_ranker_model.pb.h" -#include "components/translate/core/browser/translate_download_manager.h" -#include "components/translate/core/browser/translate_prefs.h" -#include "components/translate/core/browser/translate_url_fetcher.h" -#include "components/translate/core/common/translate_switches.h" - -namespace translate { - -namespace { - -typedef google::protobuf::Map<std::string, float> WeightMap; - -const double kTranslationOfferThreshold = 0.5; - -// Parameters for model fetching. -const char kTranslateRankerModelURL[] = - "https://chromium-i18n.appspot.com/ssl-translate-ranker-model"; -const int kMaxRetryOn5xx = 3; -const int kDownloadRefractoryPeriodMin = 15; -const char kUnknown[] = "UNKNOWN"; - -// Enumeration denoting the outcome of an attempt to download the translate -// ranker model. This must be kept in sync with the TranslateRankerModelStatus -// enum in histograms.xml -enum ModelStatus { - MODEL_STATUS_OK = 0, - MODEL_STATUS_DOWNLOAD_THROTTLED = 1, - MODEL_STATUS_DOWNLOAD_FAILED = 2, - MODEL_STATUS_PARSE_FAILED = 3, - MODEL_STATUS_VALIDATION_FAILED = 4, - // Insert new values above this line. - MODEL_STATUS_MAX -}; - -double Sigmoid(double x) { - return 1.0 / (1.0 + exp(-x)); -} - -double ScoreComponent(const WeightMap& weights, const std::string& key) { - WeightMap::const_iterator i = weights.find(base::ToLowerASCII(key)); - if (i == weights.end()) - i = weights.find(kUnknown); - return i == weights.end() ? 0.0 : i->second; -} - -GURL GetTranslateRankerURL() { - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - return GURL(command_line->HasSwitch(switches::kTranslateRankerModelURL) - ? command_line->GetSwitchValueASCII( - switches::kTranslateRankerModelURL) - : kTranslateRankerModelURL); -} - -void ReportModelStatus(ModelStatus model_status) { - UMA_HISTOGRAM_ENUMERATION("Translate.Ranker.Model.Status", model_status, - MODEL_STATUS_MAX); -} - -} // namespace - -const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", - base::FEATURE_DISABLED_BY_DEFAULT}; - -const base::Feature kTranslateRankerEnforcement{ - "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; - -const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", - base::FEATURE_DISABLED_BY_DEFAULT}; - -TranslateRanker::~TranslateRanker() {} - -// static -bool TranslateRanker::IsEnabled() { - return IsQueryEnabled() || IsEnforcementEnabled(); -} - -// static -bool TranslateRanker::IsLoggingEnabled() { - return base::FeatureList::IsEnabled(kTranslateRankerLogging); -} - -// static -bool TranslateRanker::IsQueryEnabled() { - return base::FeatureList::IsEnabled(kTranslateRankerQuery); -} - -// static -bool TranslateRanker::IsEnforcementEnabled() { - return base::FeatureList::IsEnabled(kTranslateRankerEnforcement); -} - -// static -TranslateRanker* TranslateRanker::GetInstance() { - return base::Singleton<TranslateRanker>::get(); -} - -std::unique_ptr<TranslateRanker> TranslateRanker::CreateForTesting( - const std::string& model_data) { - std::unique_ptr<TranslateRanker> ranker(new TranslateRanker()); - CHECK(ranker != nullptr); - ranker->ParseModel(0, true, model_data); - CHECK(ranker->model_ != nullptr); - return ranker; -} - -bool TranslateRanker::ShouldOfferTranslation( - const TranslatePrefs& translate_prefs, - const std::string& src_lang, - const std::string& dst_lang) { - // The ranker is a gate in the "show a translation prompt" flow. To retain - // the pre-existing functionality, it defaults to returning true in the - // absence of a model or if enforcement is disabled. As this is ranker is - // subsumed into a more general assist ranker, this default will go away - // (or become False). - const bool kDefaultResponse = true; - - // If we don't have a model, request one and return the default. - if (model_ == nullptr) { - FetchModelData(); - return kDefaultResponse; - } - - DCHECK(model_->has_logistic_regression_model()); - SCOPED_UMA_HISTOGRAM_TIMER("Translate.Ranker.Timer.ShouldOfferTranslation"); - - // TODO(rogerm): Remove ScopedTracker below once crbug.com/646711 is closed. - tracked_objects::ScopedTracker tracking_profile( - FROM_HERE_WITH_EXPLICIT_FUNCTION( - "646711 translate::TranslateRanker::ShouldOfferTranslation")); - - const std::string& app_locale = - TranslateDownloadManager::GetInstance()->application_locale(); - const std::string& country = translate_prefs.GetCountry(); - int accept_count = translate_prefs.GetTranslationAcceptedCount(src_lang); - int decline_count = translate_prefs.GetTranslationDeniedCount(src_lang); - int ignore_count = translate_prefs.GetTranslationIgnoredCount(src_lang); - DVLOG(3) << "TranslateRanker: features=[" - << "src_lang='" << src_lang << "', dst_lang='" << dst_lang - << "', country='" << country << "', locale='" << app_locale - << ", accept_count=" << accept_count - << ", decline_count=" << decline_count - << ", ignore_count=" << ignore_count << "]"; - - double score = CalculateScore(accept_count, decline_count, ignore_count, - src_lang, dst_lang, app_locale, country); - - DVLOG(2) << "TranslateRanker Score: " << score; - - bool result = (score >= kTranslationOfferThreshold); - - UMA_HISTOGRAM_BOOLEAN("Translate.Ranker.QueryResult", result); - - return result; -} - -TranslateRanker::TranslateRanker() {} - -double TranslateRanker::CalculateScore(int accept_count, - int decline_count, - int ignore_count, - const std::string& src_lang, - const std::string& dst_lang, - const std::string& locale, - const std::string& country) { - SCOPED_UMA_HISTOGRAM_TIMER("Translate.Ranker.Timer.CalculateScore"); - DCHECK(model_ != nullptr); - DCHECK(model_->has_logistic_regression_model()); - - int total_count = accept_count + decline_count + ignore_count; - double accept_ratio = - (total_count == 0) ? 0.0 : (double(accept_count) / total_count); - double decline_ratio = - (total_count == 0) ? 0.0 : (double(decline_count) / total_count); - double ignore_ratio = - (total_count == 0) ? 0.0 : (double(ignore_count) / total_count); - DVLOG(3) << "TranslateRanker: ratios=[" - << ", accept_ratio=" << accept_ratio - << ", decline_ratio=" << decline_ratio - << ", ignore_ratio=" << ignore_ratio << "]"; - - const chrome_intelligence::TranslateRankerModel::LogisticRegressionModel& - logit = model_->logistic_regression_model(); - double dot_product = - (accept_ratio * logit.accept_ratio_weight()) + - (decline_ratio * logit.decline_ratio_weight()) + - (ignore_ratio * logit.ignore_ratio_weight()) + - (accept_count * logit.accept_count_weight()) + - (decline_count * logit.decline_count_weight()) + - (ignore_count * logit.ignore_count_weight()) + - ScoreComponent(logit.source_language_weight(), src_lang) + - ScoreComponent(logit.dest_language_weight(), dst_lang) + - ScoreComponent(logit.country_weight(), country) + - ScoreComponent(logit.locale_weight(), locale); - return Sigmoid(dot_product + logit.bias()); -} - -int TranslateRanker::GetModelVersion() const { - return (model_ == nullptr) ? 0 : model_->version(); -} - -void TranslateRanker::FetchModelData() { - // Exit if the model has already been successfully loaded. - if (model_ != nullptr) { - return; - } - - // Exit if the download has been throttled. - if (base::Time::NowFromSystemTime() < next_earliest_download_time_) { - return; - } - - // Create the model fetcher if it does not exist. - if (model_fetcher_ == nullptr) { - model_fetcher_.reset(new TranslateURLFetcher(kFetcherId)); - model_fetcher_->set_max_retry_on_5xx(kMaxRetryOn5xx); - } - - // If a request is already in flight, do not issue a new one. - if (model_fetcher_->state() == TranslateURLFetcher::REQUESTING) { - DVLOG(2) << "TranslateRanker: Download complete or in progress."; - return; - } - - DVLOG(2) << "TranslateRanker: Downloading model..."; - - download_start_time_ = base::Time::Now(); - bool result = model_fetcher_->Request( - GetTranslateRankerURL(), - base::Bind(&TranslateRanker::ParseModel, base::Unretained(this))); - - if (!result) { - ReportModelStatus(MODEL_STATUS_DOWNLOAD_THROTTLED); - next_earliest_download_time_ = - base::Time::NowFromSystemTime() + - base::TimeDelta::FromMinutes(kDownloadRefractoryPeriodMin); - } -} - -void TranslateRanker::ParseModel(int /* id */, - bool success, - const std::string& data) { - UMA_HISTOGRAM_MEDIUM_TIMES("Translate.Ranker.Timer.DownloadModel", - base::Time::Now() - download_start_time_); - - SCOPED_UMA_HISTOGRAM_TIMER("Translate.Ranker.Timer.ParseModel"); - - // We should not be here if the model has already been downloaded and parsed. - DCHECK(model_ == nullptr); - - // On failure, we just abort. The TranslateRanker will retry on a subsequent - // translation opportunity. The TranslateURLFetcher enforces a limit for - // retried requests. - if (!success) { - ReportModelStatus(MODEL_STATUS_DOWNLOAD_FAILED); - return; - } - - // Create a new model instance, parse and validate the data, and move it over - // to be used by the ranker. - std::unique_ptr<chrome_intelligence::TranslateRankerModel> new_model( - new chrome_intelligence::TranslateRankerModel()); - - bool is_parseable = new_model->ParseFromString(data); - if (!is_parseable) { - ReportModelStatus(MODEL_STATUS_PARSE_FAILED); - return; - } - - bool is_valid = new_model->has_logistic_regression_model(); - if (!is_valid) { - ReportModelStatus(MODEL_STATUS_VALIDATION_FAILED); - return; - } - - ReportModelStatus(MODEL_STATUS_OK); - model_ = std::move(new_model); - model_fetcher_.reset(); - - DVLOG(3) << "Successfully loaded model version " << GetModelVersion() << "."; -} - -void TranslateRanker::FlushTranslateEvents( - std::vector<metrics::TranslateEventProto>* translate_events) { - if (IsLoggingEnabled()) { - translate_events->swap(translate_events_cache_); - translate_events_cache_.clear(); - } -} - -void TranslateRanker::RecordTranslateEvent( - const metrics::TranslateEventProto& translate_event) { - if (IsLoggingEnabled()) - translate_events_cache_.push_back(translate_event); -} - -} // namespace translate
diff --git a/components/translate/core/browser/translate_ranker.h b/components/translate/core/browser/translate_ranker.h index bb2da8b..781677a1 100644 --- a/components/translate/core/browser/translate_ranker.h +++ b/components/translate/core/browser/translate_ranker.h
@@ -7,119 +7,55 @@ #include <memory> #include <string> +#include <vector> -#include "base/feature_list.h" -#include "base/gtest_prod_util.h" -#include "base/memory/singleton.h" - -namespace chrome_intelligence { -class TranslateRankerModel; -} +#include "base/macros.h" +#include "components/keyed_service/core/keyed_service.h" namespace metrics { class TranslateEventProto; -} +} // namespace metrics namespace translate { class TranslatePrefs; -class TranslateURLFetcher; - -// Features used to enable ranker query, enforcement and logging. Note that -// enabling enforcement implies (forces) enabling queries. -extern const base::Feature kTranslateRankerQuery; -extern const base::Feature kTranslateRankerEnforcement; -extern const base::Feature kTranslateRankerLogging; // If enabled, downloads a translate ranker model and uses it to determine // whether the user should be given a translation prompt or not. -class TranslateRanker { +class TranslateRanker : public KeyedService { public: - ~TranslateRanker(); - - // Returns true if query or enforcement is enabled. - static bool IsEnabled(); + TranslateRanker() = default; // Returns true if translate events logging is enabled. - static bool IsLoggingEnabled(); - - // Returns true if querying is enabled. - static bool IsQueryEnabled(); + virtual bool IsLoggingEnabled() = 0; // Returns true if enforcement is enabled. - static bool IsEnforcementEnabled(); + virtual bool IsEnforcementEnabled() = 0; - // Returns the singleton TranslateRanker instance. - static TranslateRanker* GetInstance(); + // Returns true if querying is enabled. + virtual bool IsQueryEnabled() = 0; - // For testing only. Returns a TranslateRanker instance preloaded with a - // TranslateRankerModel as defined by |model_data|. - static std::unique_ptr<TranslateRanker> CreateForTesting( - const std::string& model_data); - - // Initiates downloading of the assist model data. This is a NOP if the model - // data has already been downloaded. - void FetchModelData(); + // Returns the version id for the ranker model. + virtual int GetModelVersion() const = 0; // Returns true if executing the ranker model in the translation prompt // context described by |translate_prefs|, |src_lang|, |dst_lang| and possibly // other global browser context attributes suggests that the user should be // prompted as to whether translation should be performed. - bool ShouldOfferTranslation(const TranslatePrefs& translate_prefs, - const std::string& src_lang, - const std::string& dst_lang); - - // Returns the model version (a date stamp) or 0 if there is no valid model. - int GetModelVersion() const; + virtual bool ShouldOfferTranslation(const TranslatePrefs& translate_prefs, + const std::string& src_lang, + const std::string& dst_lang) = 0; // Caches the translate event. - void RecordTranslateEvent( - const metrics::TranslateEventProto& translate_event); + virtual void AddTranslateEvent( + const metrics::TranslateEventProto& translate_event) = 0; // Transfers cached translate events to the given vector pointer and clears // the cache. - void FlushTranslateEvents( - std::vector<metrics::TranslateEventProto>* translate_events); + virtual void FlushTranslateEvents( + std::vector<metrics::TranslateEventProto>* events) = 0; private: - // The ID which is assigned to the underlying URLFetcher. - static constexpr int kFetcherId = 2; - - TranslateRanker(); - - // Exposed for testing via FRIEND_TEST. - double CalculateScore(int accept_count, - int decline_count, - int ignore_count, - const std::string& src_lang, - const std::string& dst_lang, - const std::string& app_locale, - const std::string& country); - - // Called when the model download has completed. - void ParseModel(int id, bool success, const std::string& model_data); - - // The translation ranker model. - std::unique_ptr<chrome_intelligence::TranslateRankerModel> model_; - - // A URL fetcher to download translation ranker model data. - std::unique_ptr<TranslateURLFetcher> model_fetcher_; - - // The next time before which no new attempts to download the model should be - // attempted. - base::Time next_earliest_download_time_; - - // Tracks the last time the translate ranker attempted to download its model. - // Used for UMA reporting of timing. - base::Time download_start_time_; - - // Saved cache of translate event protos. - std::vector<metrics::TranslateEventProto> translate_events_cache_; - - FRIEND_TEST_ALL_PREFIXES(TranslateRankerTest, CalculateScore); - - friend struct base::DefaultSingletonTraits<TranslateRanker>; - DISALLOW_COPY_AND_ASSIGN(TranslateRanker); };
diff --git a/components/translate/core/browser/translate_ranker_impl.cc b/components/translate/core/browser/translate_ranker_impl.cc new file mode 100644 index 0000000..ed4a9b1 --- /dev/null +++ b/components/translate/core/browser/translate_ranker_impl.cc
@@ -0,0 +1,282 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/translate/core/browser/translate_ranker_impl.h" + +#include <cmath> + +#include "base/bind.h" +#include "base/bind_helpers.h" +#include "base/command_line.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/memory/ptr_util.h" +#include "base/metrics/histogram_macros.h" +#include "base/profiler/scoped_tracker.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/string_util.h" +#include "base/task_runner.h" +#include "base/threading/thread_task_runner_handle.h" +#include "components/metrics/proto/translate_event.pb.h" +#include "components/translate/core/browser/proto/ranker_model.pb.h" +#include "components/translate/core/browser/proto/translate_ranker_model.pb.h" +#include "components/translate/core/browser/ranker_model.h" +#include "components/translate/core/browser/translate_download_manager.h" +#include "components/translate/core/browser/translate_prefs.h" +#include "components/translate/core/browser/translate_url_fetcher.h" +#include "components/translate/core/common/translate_switches.h" +#include "components/variations/variations_associated_data.h" +#include "url/gurl.h" + +namespace translate { + +namespace { + +using chrome_intelligence::RankerModel; +using chrome_intelligence::RankerModelProto; +using chrome_intelligence::TranslateRankerModel; + +const double kTranslationOfferThreshold = 0.5; + +const char kTranslateRankerModelFileName[] = "Translate Ranker Model"; +const char kUmaPrefix[] = "Translate.Ranker"; +const char kUnknown[] = "UNKNOWN"; + +double Sigmoid(double x) { + return 1.0 / (1.0 + exp(-x)); +} + +double SafeRatio(int numerator, int denominator) { + return denominator ? (numerator / static_cast<double>(denominator)) : 0.0; +} + +double ScoreComponent(const google::protobuf::Map<std::string, float>& weights, + const std::string& key) { + auto i = weights.find(base::ToLowerASCII(key)); + if (i == weights.end()) + i = weights.find(kUnknown); + return i == weights.end() ? 0.0 : i->second; +} + +RankerModelStatus ValidateModel(const RankerModel& model) { + if (model.proto().model_case() != RankerModelProto::kTranslate) + return RankerModelStatus::VALIDATION_FAILED; + + if (model.proto().translate().model_revision_case() != + TranslateRankerModel::kLogisticRegressionModel) { + return RankerModelStatus::INCOMPATIBLE; + } + + return RankerModelStatus::OK; +} + +} // namespace + +const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", + base::FEATURE_DISABLED_BY_DEFAULT}; + +const base::Feature kTranslateRankerEnforcement{ + "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; + +const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", + base::FEATURE_DISABLED_BY_DEFAULT}; + +TranslateRankerFeatures::TranslateRankerFeatures() {} + +TranslateRankerFeatures::TranslateRankerFeatures(int accepted, + int denied, + int ignored, + const std::string& src, + const std::string& dst, + const std::string& cntry, + const std::string& locale) + : accepted_count(accepted), + denied_count(denied), + ignored_count(ignored), + total_count(accepted_count + denied_count + ignored_count), + src_lang(src), + dst_lang(dst), + country(cntry), + app_locale(locale), + accepted_ratio(SafeRatio(accepted_count, total_count)), + denied_ratio(SafeRatio(denied_count, total_count)), + ignored_ratio(SafeRatio(ignored_count, total_count)) {} + +TranslateRankerFeatures::TranslateRankerFeatures(const TranslatePrefs& prefs, + const std::string& src, + const std::string& dst, + const std::string& locale) + : TranslateRankerFeatures(prefs.GetTranslationAcceptedCount(src), + prefs.GetTranslationDeniedCount(src), + prefs.GetTranslationIgnoredCount(src), + src, + dst, + prefs.GetCountry(), + locale) {} + +TranslateRankerFeatures::~TranslateRankerFeatures() {} + +void TranslateRankerFeatures::WriteTo(std::ostream& stream) const { + stream << "src_lang='" << src_lang << "', " + << "dst_lang='" << dst_lang << "', " + << "country='" << country << "', " + << "app_locale='" << app_locale << "', " + << "accept_count=" << accepted_count << ", " + << "denied_count=" << denied_count << ", " + << "ignored_count=" << ignored_count << ", " + << "total_count=" << total_count << ", " + << "accept_ratio=" << accepted_ratio << ", " + << "decline_ratio=" << denied_ratio << ", " + << "ignore_ratio=" << ignored_ratio; +} + +TranslateRankerImpl::TranslateRankerImpl(const base::FilePath& model_path, + const GURL& model_url) + : weak_ptr_factory_(this) { + model_loader_ = base::MakeUnique<RankerModelLoader>( + base::Bind(&ValidateModel), + base::Bind(&TranslateRankerImpl::OnModelAvailable, + weak_ptr_factory_.GetWeakPtr()), + model_path, model_url, kUmaPrefix); + model_loader_->Start(); +} + +TranslateRankerImpl::~TranslateRankerImpl() {} + +// static +base::FilePath TranslateRankerImpl::GetModelPath( + const base::FilePath& data_dir) { + if (data_dir.empty()) + return base::FilePath(); + + // Otherwise, look for the file in data dir. + return data_dir.AppendASCII(kTranslateRankerModelFileName); +} + +// static +GURL TranslateRankerImpl::GetModelURL() { + // Allow override of the ranker model URL from the command line. + std::string raw_url; + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(switches::kTranslateRankerModelURL)) { + raw_url = + command_line->GetSwitchValueASCII(switches::kTranslateRankerModelURL); + } else { + // Otherwise take the ranker model URL from the ranker query variation. + raw_url = variations::GetVariationParamValueByFeature( + kTranslateRankerQuery, switches::kTranslateRankerModelURL); + } + + DVLOG(3) << switches::kTranslateRankerModelURL << " = " << raw_url; + + return GURL(raw_url); +} + +bool TranslateRankerImpl::IsLoggingEnabled() { + return base::FeatureList::IsEnabled(kTranslateRankerLogging); +} + +bool TranslateRankerImpl::IsQueryEnabled() { + return base::FeatureList::IsEnabled(kTranslateRankerQuery); +} + +bool TranslateRankerImpl::IsEnforcementEnabled() { + return base::FeatureList::IsEnabled(kTranslateRankerEnforcement); +} + +int TranslateRankerImpl::GetModelVersion() const { + return model_ ? model_->proto().translate().version() : 0; +} + +bool TranslateRankerImpl::ShouldOfferTranslation( + const TranslatePrefs& translate_prefs, + const std::string& src_lang, + const std::string& dst_lang) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + // The ranker is a gate in the "show a translation prompt" flow. To retain + // the pre-existing functionality, it defaults to returning true in the + // absence of a model or if enforcement is disabled. As this is ranker is + // subsumed into a more general assist ranker, this default will go away + // (or become False). + const bool kDefaultResponse = true; + + // If we don't have a model, request one and return the default. + if (model_ == nullptr) { + return kDefaultResponse; + } + + SCOPED_UMA_HISTOGRAM_TIMER("Translate.Ranker.Timer.ShouldOfferTranslation"); + + // TODO(rogerm): Remove ScopedTracker below once crbug.com/646711 is closed. + tracked_objects::ScopedTracker tracking_profile( + FROM_HERE_WITH_EXPLICIT_FUNCTION( + "646711 translate::TranslateRankerImpl::ShouldOfferTranslation")); + + TranslateRankerFeatures features( + translate_prefs, src_lang, dst_lang, + TranslateDownloadManager::GetInstance()->application_locale()); + + double score = CalculateScore(features); + + DVLOG(2) << "TranslateRankerImpl::ShouldOfferTranslation: " + << "Score = " << score << ", Features=[" << features << "]"; + + bool result = (score >= kTranslationOfferThreshold); + + UMA_HISTOGRAM_BOOLEAN("Translate.Ranker.QueryResult", result); + + return result; +} + +double TranslateRankerImpl::CalculateScore( + const TranslateRankerFeatures& features) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + SCOPED_UMA_HISTOGRAM_TIMER("Translate.Ranker.Timer.CalculateScore"); + DCHECK(model_ != nullptr); + const TranslateRankerModel::LogisticRegressionModel& logit = + model_->proto().translate().logistic_regression_model(); + + double dot_product = + (features.accepted_count * logit.accept_count_weight()) + + (features.denied_count * logit.decline_count_weight()) + + (features.ignored_count * logit.ignore_count_weight()) + + (features.accepted_ratio * logit.accept_ratio_weight()) + + (features.denied_ratio * logit.decline_ratio_weight()) + + (features.ignored_ratio * logit.ignore_ratio_weight()) + + ScoreComponent(logit.source_language_weight(), features.src_lang) + + ScoreComponent(logit.dest_language_weight(), features.dst_lang) + + ScoreComponent(logit.country_weight(), features.country) + + ScoreComponent(logit.locale_weight(), features.app_locale); + + return Sigmoid(dot_product + logit.bias()); +} + +void TranslateRankerImpl::FlushTranslateEvents( + std::vector<metrics::TranslateEventProto>* events) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + DVLOG(3) << "Flushing translate ranker events."; + events->swap(event_cache_); + event_cache_.clear(); +} + +void TranslateRankerImpl::AddTranslateEvent( + const metrics::TranslateEventProto& event) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + DVLOG(3) << "Adding translate ranker event."; + if (IsLoggingEnabled()) + event_cache_.push_back(event); +} + +void TranslateRankerImpl::OnModelAvailable(std::unique_ptr<RankerModel> model) { + DCHECK(sequence_checker_.CalledOnValidSequence()); + model_ = std::move(model); +} + +} // namespace translate + +std::ostream& operator<<(std::ostream& stream, + const translate::TranslateRankerFeatures& features) { + features.WriteTo(stream); + return stream; +}
diff --git a/components/translate/core/browser/translate_ranker_impl.h b/components/translate/core/browser/translate_ranker_impl.h new file mode 100644 index 0000000..20bf4d47 --- /dev/null +++ b/components/translate/core/browser/translate_ranker_impl.h
@@ -0,0 +1,132 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_RANKER_IMPL_H_ +#define COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_RANKER_IMPL_H_ + +#include <memory> +#include <string> + +#include "base/feature_list.h" +#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" +#include "base/sequence_checker.h" +#include "base/sequenced_task_runner.h" +#include "components/keyed_service/core/keyed_service.h" +#include "components/translate/core/browser/ranker_model_loader.h" +#include "components/translate/core/browser/translate_ranker.h" +#include "url/gurl.h" + +namespace chrome_intelligence { +class RankerModel; +} // namespace chrome_intelligence + +namespace metrics { +class TranslateEventProto; +} // namespace metrics + +namespace translate { + +class TranslatePrefs; + +// Features used to enable ranker query, enforcement and logging. Note that +// enabling enforcement implies (forces) enabling queries. +extern const base::Feature kTranslateRankerQuery; +extern const base::Feature kTranslateRankerEnforcement; +extern const base::Feature kTranslateRankerLogging; + +struct TranslateRankerFeatures { + TranslateRankerFeatures(); + + TranslateRankerFeatures(int accepted, + int denied, + int ignored, + const std::string& src, + const std::string& dst, + const std::string& cntry, + const std::string& locale); + + TranslateRankerFeatures(const TranslatePrefs& prefs, + const std::string& src, + const std::string& dst, + const std::string& locale); + + ~TranslateRankerFeatures(); + + void WriteTo(std::ostream& stream) const; + + // Input value used to generate the features. + int accepted_count; + int denied_count; + int ignored_count; + int total_count; + + // Used for inference. + std::string src_lang; + std::string dst_lang; + std::string country; + std::string app_locale; + double accepted_ratio; + double denied_ratio; + double ignored_ratio; +}; + +// If enabled, downloads a translate ranker model and uses it to determine +// whether the user should be given a translation prompt or not. +class TranslateRankerImpl : public TranslateRanker { + public: + TranslateRankerImpl(const base::FilePath& model_path, const GURL& model_url); + ~TranslateRankerImpl() override; + + // Get the file path of the translate ranker model, by default with a fixed + // name within |data_dir|. + static base::FilePath GetModelPath(const base::FilePath& data_dir); + + // Get the URL from which the download the translate ranker model, by default + // from Finch. + static GURL GetModelURL(); + + // TranslateRanker... + bool IsLoggingEnabled() override; + bool IsQueryEnabled() override; + bool IsEnforcementEnabled() override; + int GetModelVersion() const override; + bool ShouldOfferTranslation(const TranslatePrefs& translate_prefs, + const std::string& src_lang, + const std::string& dst_lang) override; + void AddTranslateEvent( + const metrics::TranslateEventProto& translate_event) override; + void FlushTranslateEvents( + std::vector<metrics::TranslateEventProto>* events) override; + + void OnModelAvailable( + std::unique_ptr<chrome_intelligence::RankerModel> model); + + // Calculate the score given to |features| by the |model|. + double CalculateScore(const TranslateRankerFeatures& features); + + private: + // Used to sanity check the threading of this ranker. + base::SequenceChecker sequence_checker_; + + // A helper to load the translate ranker model from disk cache or a URL. + std::unique_ptr<RankerModelLoader> model_loader_; + + // The translation ranker model. + std::unique_ptr<chrome_intelligence::RankerModel> model_; + + // Saved cache of translate event protos. + std::vector<metrics::TranslateEventProto> event_cache_; + + base::WeakPtrFactory<TranslateRankerImpl> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(TranslateRankerImpl); +}; + +} // namespace translate + +std::ostream& operator<<(std::ostream& stream, + const translate::TranslateRankerFeatures& features); + +#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_RANKER_IMPL_H_
diff --git a/components/translate/core/browser/translate_ranker_impl_unittest.cc b/components/translate/core/browser/translate_ranker_impl_unittest.cc new file mode 100644 index 0000000..41b70304 --- /dev/null +++ b/components/translate/core/browser/translate_ranker_impl_unittest.cc
@@ -0,0 +1,324 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/translate/core/browser/translate_ranker_impl.h" + +#include <initializer_list> +#include <memory> + +#include "base/feature_list.h" +#include "base/memory/ptr_util.h" +#include "base/message_loop/message_loop.h" +#include "base/run_loop.h" +#include "base/strings/stringprintf.h" +#include "base/task_scheduler/post_task.h" +#include "base/test/scoped_feature_list.h" +#include "base/test/scoped_task_scheduler.h" +#include "components/metrics/proto/translate_event.pb.h" +#include "components/prefs/scoped_user_pref_update.h" +#include "components/sync_preferences/testing_pref_service_syncable.h" +#include "components/translate/core/browser/proto/ranker_model.pb.h" +#include "components/translate/core/browser/proto/translate_ranker_model.pb.h" +#include "components/translate/core/browser/ranker_model.h" +#include "components/translate/core/browser/translate_download_manager.h" +#include "components/translate/core/browser/translate_prefs.h" +#include "net/url_request/test_url_fetcher_factory.h" +#include "net/url_request/url_request_test_util.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +using translate::kTranslateRankerEnforcement; +using translate::kTranslateRankerLogging; +using translate::kTranslateRankerQuery; +using translate::TranslateDownloadManager; +using translate::TranslateRankerFeatures; +using translate::TranslatePrefs; +using translate::TranslateRankerImpl; + +class TranslateRankerImplTest : public ::testing::Test { + protected: + TranslateRankerImplTest(); + + void SetUp() override; + + void TearDown() override; + + // Initializes the explicitly |enabled| and |disabled| features for this test. + void InitFeatures(const std::initializer_list<base::Feature>& enabled, + const std::initializer_list<base::Feature>& disabled); + + // Returns a TranslateRankerImpl object with |bias| for testing. + std::unique_ptr<TranslateRankerImpl> GetRankerForTest(float bias); + + // Implements the same sigmoid function used by TranslateRankerImpl. + static double Sigmoid(double x); + + // Returns a translate event initialized with the given parameters. + static metrics::TranslateEventProto CreateTranslateEvent( + const std::string& src_lang, + const std::string& dst_lang, + int accept_count, + int decline_count, + int ignore_count); + + // The platform-specific name of the preferred language pref. + static const char* const kPreferredLanguagePref; + + // Prefs. + std::unique_ptr<sync_preferences::TestingPrefServiceSyncable> prefs_; + std::unique_ptr<translate::TranslatePrefs> translate_prefs_; + + private: + // Override the default URL fetcher to return custom responses for tests. + net::TestURLFetcherFactory url_fetcher_factory_; + + // Used to initialize the translate download manager. + scoped_refptr<net::TestURLRequestContextGetter> request_context_; + + // Sets up the task scheduling/task-runner environment for each test. + base::test::ScopedTaskScheduler scoped_task_scheduler_; + + // Manages the enabling/disabling of features within the scope of a test. + base::test::ScopedFeatureList scoped_feature_list_; + + // Cache and reset the application locale for each test. + std::string locale_; + + DISALLOW_COPY_AND_ASSIGN(TranslateRankerImplTest); +}; + +const char* const TranslateRankerImplTest::kPreferredLanguagePref = +#if defined(OS_CHROMEOS) + "settings.language.preferred_languages"; +#else + nullptr; +#endif + +TranslateRankerImplTest::TranslateRankerImplTest() {} + +void TranslateRankerImplTest::SetUp() { + // Setup the translate download manager. + locale_ = TranslateDownloadManager::GetInstance()->application_locale(); + request_context_ = + new net::TestURLRequestContextGetter(base::ThreadTaskRunnerHandle::Get()); + TranslateDownloadManager::GetInstance()->set_application_locale("zh-CN"); + TranslateDownloadManager::GetInstance()->set_request_context( + request_context_.get()); + + // Setup a 50/50 accepted/denied count for "english" when initialize the + // prefs and translate prefs. + base::DictionaryValue lang_count; + lang_count.SetInteger("en", 50); + prefs_.reset(new sync_preferences::TestingPrefServiceSyncable()); + TranslatePrefs::RegisterProfilePrefs(prefs_->registry()); + prefs_->Set(TranslatePrefs::kPrefTranslateAcceptedCount, lang_count); + prefs_->Set(TranslatePrefs::kPrefTranslateDeniedCount, lang_count); + translate_prefs_.reset(new TranslatePrefs( + prefs_.get(), "intl.accept_languages", kPreferredLanguagePref)); + translate_prefs_->SetCountry("de"); +} + +void TranslateRankerImplTest::TearDown() { + base::RunLoop().RunUntilIdle(); + TranslateDownloadManager::GetInstance()->set_application_locale(locale_); + TranslateDownloadManager::GetInstance()->set_request_context(nullptr); +} + +void TranslateRankerImplTest::InitFeatures( + const std::initializer_list<base::Feature>& enabled, + const std::initializer_list<base::Feature>& disabled) { + scoped_feature_list_.InitWithFeatures(enabled, disabled); +} + +std::unique_ptr<TranslateRankerImpl> TranslateRankerImplTest::GetRankerForTest( + float bias) { + auto model = base::MakeUnique<chrome_intelligence::RankerModel>(); + auto* details = model->mutable_proto() + ->mutable_translate() + ->mutable_logistic_regression_model(); + details->set_bias(bias); + details->set_accept_ratio_weight(0.02f); + details->set_decline_ratio_weight(0.03f); + details->set_accept_count_weight(0.13f); + details->set_decline_count_weight(-0.14f); + + auto& src_language_weight = *details->mutable_source_language_weight(); + src_language_weight["en"] = 0.04f; + src_language_weight["fr"] = 0.05f; + src_language_weight["zh"] = 0.06f; + + auto& dest_language_weight = *details->mutable_dest_language_weight(); + dest_language_weight["UNKNOWN"] = 0.00f; + + auto& country_weight = *details->mutable_country_weight(); + country_weight["de"] = 0.07f; + country_weight["ca"] = 0.08f; + country_weight["cn"] = 0.09f; + + auto& locale_weight = *details->mutable_locale_weight(); + locale_weight["en-us"] = 0.10f; + locale_weight["en-ca"] = 0.11f; + locale_weight["zh-cn"] = 0.12f; // Normalized to lowercase. + + auto impl = base::MakeUnique<TranslateRankerImpl>(base::FilePath(), GURL()); + impl->OnModelAvailable(std::move(model)); + base::RunLoop().RunUntilIdle(); + return impl; +} + +// static +double TranslateRankerImplTest::Sigmoid(double x) { + return 1.0 / (1.0 + exp(-x)); +} + +// static +metrics::TranslateEventProto TranslateRankerImplTest::CreateTranslateEvent( + const std::string& src_lang, + const std::string& dst_lang, + int accept_count, + int decline_count, + int ignore_count) { + metrics::TranslateEventProto translate_event; + translate_event.set_source_language(src_lang); + translate_event.set_target_language(dst_lang); + translate_event.set_accept_count(accept_count); + translate_event.set_decline_count(decline_count); + translate_event.set_ignore_count(ignore_count); + return translate_event; +} + +} // namespace + +TEST_F(TranslateRankerImplTest, DisabledByDefault) { + InitFeatures({}, {}); + auto ranker = GetRankerForTest(0.5); + EXPECT_FALSE(ranker->IsQueryEnabled()); + EXPECT_FALSE(ranker->IsEnforcementEnabled()); + EXPECT_FALSE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, ExplicitlyDisabled) { + InitFeatures({}, {kTranslateRankerQuery, kTranslateRankerEnforcement, + kTranslateRankerLogging}); + auto ranker = GetRankerForTest(0.5); + EXPECT_FALSE(ranker->IsQueryEnabled()); + EXPECT_FALSE(ranker->IsEnforcementEnabled()); + EXPECT_FALSE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, EnableQuery) { + InitFeatures({kTranslateRankerQuery}, {kTranslateRankerEnforcement}); + auto ranker = GetRankerForTest(0.5); + EXPECT_TRUE(ranker->IsQueryEnabled()); + EXPECT_FALSE(ranker->IsEnforcementEnabled()); + EXPECT_FALSE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, EnableEnforcement) { + InitFeatures({kTranslateRankerEnforcement}, {kTranslateRankerQuery}); + auto ranker = GetRankerForTest(0.5); + EXPECT_FALSE(ranker->IsQueryEnabled()); + EXPECT_TRUE(ranker->IsEnforcementEnabled()); + EXPECT_FALSE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, EnableQueryAndEnforcement) { + InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); + auto ranker = GetRankerForTest(0.5); + EXPECT_TRUE(ranker->IsQueryEnabled()); + EXPECT_TRUE(ranker->IsEnforcementEnabled()); + EXPECT_FALSE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, EnableLogging) { + InitFeatures({kTranslateRankerLogging}, {}); + auto ranker = GetRankerForTest(0.5); + EXPECT_FALSE(ranker->IsQueryEnabled()); + EXPECT_FALSE(ranker->IsEnforcementEnabled()); + EXPECT_TRUE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, EnableAll) { + InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement, + kTranslateRankerLogging}, + {}); + auto ranker = GetRankerForTest(0.5); + EXPECT_TRUE(ranker->IsQueryEnabled()); + EXPECT_TRUE(ranker->IsEnforcementEnabled()); + EXPECT_TRUE(ranker->IsLoggingEnabled()); +} + +TEST_F(TranslateRankerImplTest, CalculateScore) { + InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); + auto ranker = GetRankerForTest(0.01f); + // Calculate the score using: a 50:50 accept/decline ratio; the one-hot + // values for the src lang, dest lang, locale and counry; and, the bias. + double expected = Sigmoid(50.0 * 0.13f + // accept count * weight + 50.0 * -0.14f + // decline count * weight + 0.0 * 0.00f + // ignore count * (default) weight + 0.5 * 0.02f + // accept ratio * weight + 0.5 * 0.03f + // decline ratio * weight + 0.0 * 0.00f + // ignore ratio * (default) weight + 1.0 * 0.04f + // one-hot src-language "en" * weight + 1.0 * 0.00f + // one-hot dst-language "fr" * weight + 1.0 * 0.07f + // one-hot country "de" * weight + 1.0 * 0.12f + // one-hot locale "zh-CN" * weight + 0.01f); // bias + TranslateRankerFeatures features(50, 50, 0, "en", "fr", "de", "zh-CN"); + + EXPECT_NEAR(expected, ranker->CalculateScore(features), 0.000001); +} + +TEST_F(TranslateRankerImplTest, ShouldOfferTranslation) { + InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); + // With a bias of -0.5 en->fr is not over the threshold. + EXPECT_FALSE(GetRankerForTest(-0.5f)->ShouldOfferTranslation( + *translate_prefs_, "en", "fr")); + // With a bias of 0.25 en-fr is over the threshold. + EXPECT_TRUE(GetRankerForTest(0.25f)->ShouldOfferTranslation(*translate_prefs_, + "en", "fr")); +} + +TEST_F(TranslateRankerImplTest, RecordAndFlushEvents) { + InitFeatures({kTranslateRankerLogging}, {}); + std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f); + std::vector<metrics::TranslateEventProto> flushed_events; + + // Check that flushing an empty cache will return an empty vector. + ranker->FlushTranslateEvents(&flushed_events); + EXPECT_EQ(0U, flushed_events.size()); + + ranker->AddTranslateEvent(CreateTranslateEvent("fr", "en", 1, 0, 3)); + ranker->AddTranslateEvent(CreateTranslateEvent("jp", "en", 2, 0, 3)); + ranker->AddTranslateEvent(CreateTranslateEvent("es", "de", 4, 5, 6)); + + // Capture the data and verify that it is as expected. + ranker->FlushTranslateEvents(&flushed_events); + EXPECT_EQ(3U, flushed_events.size()); + ASSERT_EQ("fr", flushed_events[0].source_language()); + ASSERT_EQ("jp", flushed_events[1].source_language()); + ASSERT_EQ("es", flushed_events[2].source_language()); + + // Check that the cache has been cleared. + ranker->FlushTranslateEvents(&flushed_events); + EXPECT_EQ(0U, flushed_events.size()); +} + +TEST_F(TranslateRankerImplTest, LoggingDisabled) { + InitFeatures({}, {kTranslateRankerLogging}); + std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f); + std::vector<metrics::TranslateEventProto> flushed_events; + + ranker->FlushTranslateEvents(&flushed_events); + EXPECT_EQ(0U, flushed_events.size()); + + ranker->AddTranslateEvent(CreateTranslateEvent("fr", "en", 1, 0, 3)); + ranker->AddTranslateEvent(CreateTranslateEvent("jp", "en", 2, 0, 3)); + ranker->AddTranslateEvent(CreateTranslateEvent("es", "de", 4, 5, 6)); + + // Logging is disabled, so no events should be cached. + ranker->FlushTranslateEvents(&flushed_events); + EXPECT_EQ(0U, flushed_events.size()); +}
diff --git a/components/translate/core/browser/translate_ranker_metrics_provider.cc b/components/translate/core/browser/translate_ranker_metrics_provider.cc deleted file mode 100644 index 066b5cc..0000000 --- a/components/translate/core/browser/translate_ranker_metrics_provider.cc +++ /dev/null
@@ -1,37 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/translate/core/browser/translate_ranker_metrics_provider.h" - -#include "base/metrics/histogram_macros.h" -#include "components/metrics/proto/chrome_user_metrics_extension.pb.h" -#include "components/metrics/proto/translate_event.pb.h" -#include "components/translate/core/browser/proto/translate_ranker_model.pb.h" -#include "components/translate/core/browser/translate_ranker.h" - -namespace translate { - -TranslateRankerMetricsProvider::TranslateRankerMetricsProvider() {} -TranslateRankerMetricsProvider::~TranslateRankerMetricsProvider() {} - -void TranslateRankerMetricsProvider::ProvideGeneralMetrics( - metrics::ChromeUserMetricsExtension* uma_proto) { - TranslateRanker* translate_ranker = TranslateRanker::GetInstance(); - if (translate_ranker != nullptr) { - std::vector<metrics::TranslateEventProto> translate_events; - translate_ranker->FlushTranslateEvents(&translate_events); - for (metrics::TranslateEventProto& event : translate_events) { - uma_proto->add_translate_event()->Swap(&event); - } - - if (TranslateRanker::IsEnabled()) { - // TODO(hamelphi): Remove this logging once we start using - // TranslateEventProtos. - UMA_HISTOGRAM_SPARSE_SLOWLY("Translate.Ranker.Model.Version", - translate_ranker->GetModelVersion()); - } - } -} - -} // namespace translate
diff --git a/components/translate/core/browser/translate_ranker_unittest.cc b/components/translate/core/browser/translate_ranker_unittest.cc deleted file mode 100644 index 495a1b861..0000000 --- a/components/translate/core/browser/translate_ranker_unittest.cc +++ /dev/null
@@ -1,236 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/translate/core/browser/translate_ranker.h" - -#include <initializer_list> -#include <memory> - -#include "base/feature_list.h" -#include "base/strings/stringprintf.h" -#include "base/test/scoped_feature_list.h" -#include "components/metrics/proto/translate_event.pb.h" -#include "components/prefs/scoped_user_pref_update.h" -#include "components/sync_preferences/testing_pref_service_syncable.h" -#include "components/translate/core/browser/proto/translate_ranker_model.pb.h" -#include "components/translate/core/browser/translate_download_manager.h" -#include "components/translate/core/browser/translate_prefs.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace translate { - -class TranslateRankerTest : public ::testing::Test { - protected: - TranslateRankerTest() {} - - void SetUp() override { - locale_ = TranslateDownloadManager::GetInstance()->application_locale(); - TranslateDownloadManager::GetInstance()->set_application_locale("zh-CN"); - - // Setup a 50/50 accepted/denied count for "english" when initialize the - // prefs and translate prefs. - base::DictionaryValue lang_count; - lang_count.SetInteger("en", 50); - prefs_.reset(new sync_preferences::TestingPrefServiceSyncable()); - TranslatePrefs::RegisterProfilePrefs(prefs_->registry()); - prefs_->Set(TranslatePrefs::kPrefTranslateAcceptedCount, lang_count); - prefs_->Set(TranslatePrefs::kPrefTranslateDeniedCount, lang_count); - translate_prefs_.reset(new TranslatePrefs( - prefs_.get(), "intl.accept_languages", kPreferredLanguagePrefs)); - translate_prefs_->SetCountry("us"); - } - - void TearDown() override { - TranslateDownloadManager::GetInstance()->set_application_locale(locale_); - } - - void InitFeatures(const std::initializer_list<base::Feature>& enabled, - const std::initializer_list<base::Feature>& disabled) { - scoped_feature_list_.InitWithFeatures(enabled, disabled); - } - - static std::unique_ptr<TranslateRanker> GetRankerForTest(float bias) { - chrome_intelligence::TranslateRankerModel model; - chrome_intelligence::TranslateRankerModel::LogisticRegressionModel* - details = model.mutable_logistic_regression_model(); - details->set_bias(bias); - details->set_accept_ratio_weight(0.02f); - details->set_decline_ratio_weight(0.03f); - details->set_accept_count_weight(0.13f); - details->set_decline_count_weight(-0.14f); - - auto& src_language_weight = *details->mutable_source_language_weight(); - src_language_weight["en"] = 0.04f; - src_language_weight["fr"] = 0.05f; - src_language_weight["zh"] = 0.06f; - - auto& dest_language_weight = *details->mutable_dest_language_weight(); - dest_language_weight["UNKNOWN"] = 0.00f; - - auto& country_weight = *details->mutable_country_weight(); - country_weight["us"] = 0.07f; - country_weight["ca"] = 0.08f; - country_weight["cn"] = 0.09f; - - auto& locale_weight = *details->mutable_locale_weight(); - locale_weight["en-us"] = 0.10f; - locale_weight["en-ca"] = 0.11f; - locale_weight["zh-cn"] = 0.12f; // Normalized to lowercase. - - return TranslateRanker::CreateForTesting(model.SerializeAsString()); - } - - static double Sigmoid(double x) { return 1.0 / (1.0 + exp(-x)); } - - static metrics::TranslateEventProto CreateTranslateEvent( - const std::string& src_lang, - const std::string& dst_lang, - int accept_count, - int decline_count, - int ignore_count) { - metrics::TranslateEventProto translate_event; - translate_event.set_source_language(src_lang); - translate_event.set_target_language(dst_lang); - translate_event.set_accept_count(accept_count); - translate_event.set_decline_count(decline_count); - translate_event.set_ignore_count(ignore_count); - return translate_event; - } - - static const char* const kPreferredLanguagePrefs; - - std::unique_ptr<sync_preferences::TestingPrefServiceSyncable> prefs_; - std::unique_ptr<translate::TranslatePrefs> translate_prefs_; - - private: - // Manages the enabling/disabling of features within the scope of a test. - base::test::ScopedFeatureList scoped_feature_list_; - - // Cache and reset the application locale for each test. - std::string locale_; - - DISALLOW_COPY_AND_ASSIGN(TranslateRankerTest); -}; - -const char* const TranslateRankerTest::kPreferredLanguagePrefs = -#if defined(OS_CHROMEOS) - "settings.language.preferred_languages"; -#else - nullptr; -#endif - -TEST_F(TranslateRankerTest, DisabledByDefault) { - InitFeatures({}, {}); - EXPECT_FALSE(TranslateRanker::IsEnabled()); -} - -TEST_F(TranslateRankerTest, Disabled) { - InitFeatures({}, {kTranslateRankerQuery, kTranslateRankerEnforcement}); - EXPECT_FALSE(TranslateRanker::IsEnabled()); -} - -TEST_F(TranslateRankerTest, EnableQuery) { - InitFeatures({kTranslateRankerQuery}, {kTranslateRankerEnforcement}); - EXPECT_TRUE(TranslateRanker::IsEnabled()); -} - -TEST_F(TranslateRankerTest, EnableEnforcement) { - InitFeatures({kTranslateRankerEnforcement}, {kTranslateRankerQuery}); - EXPECT_TRUE(TranslateRanker::IsEnabled()); -} - -TEST_F(TranslateRankerTest, EnableQueryAndEnforcement) { - InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); - EXPECT_TRUE(TranslateRanker::IsEnabled()); - EXPECT_FALSE(TranslateRanker::IsLoggingEnabled()); -} - -TEST_F(TranslateRankerTest, EnableLogging) { - InitFeatures({kTranslateRankerLogging}, {}); - EXPECT_FALSE(TranslateRanker::IsEnabled()); - EXPECT_TRUE(TranslateRanker::IsLoggingEnabled()); -} - - -TEST_F(TranslateRankerTest, CalculateScore) { - InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); - std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.01f); - // Calculate the score using: a 50:50 accept/decline ratio; the one-hot - // values for the src lang, dest lang, locale and counry; and, the bias. - double expected = Sigmoid(0.5 * 0.02f + // accept ratio * weight - 0.5 * 0.03f + // decline ratio * weight - 0.0 * 0.00f + // ignore ratio * (default) weight - 50.0 * 0.13f + // accept count * weight - 50.0 * -0.14f + // decline count * weight - 0.0 * 0.00f + // ignore count * (default) weight - 1.0 * 0.04f + // one-hot src-language "en" * weight - 1.0 * 0.00f + // one-hot dst-language "fr" * weight - 1.0 * 0.07f + // one-hot country * weight - 1.0 * 0.12f + // one-hot locale * weight - 0.01f); // bias - - EXPECT_NEAR(expected, - ranker->CalculateScore(50, 50, 0, "en", "fr", "zh-CN", "us"), - 0.000001); -} - -TEST_F(TranslateRankerTest, ShouldOfferTranslation) { - InitFeatures({kTranslateRankerQuery, kTranslateRankerEnforcement}, {}); - // With a bias of -0.5 en->fr is not over the threshold. - EXPECT_FALSE(GetRankerForTest(-0.5f)->ShouldOfferTranslation( - *translate_prefs_, "en", "fr")); - // With a bias of 0.25 en-fr is over the threshold. - EXPECT_TRUE(GetRankerForTest(0.25f)->ShouldOfferTranslation(*translate_prefs_, - "en", "fr")); -} - -TEST_F(TranslateRankerTest, RecordAndFlushEvents) { - InitFeatures({kTranslateRankerLogging}, {}); - std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f); - std::vector<metrics::TranslateEventProto> flushed_events; - - // Check that flushing an empty cache will return an empty vector. - ranker->FlushTranslateEvents(&flushed_events); - EXPECT_EQ(0U, flushed_events.size()); - - auto event_1 = CreateTranslateEvent("fr", "en", 1, 0, 3); - auto event_2 = CreateTranslateEvent("jp", "en", 2, 0, 3); - auto event_3 = CreateTranslateEvent("es", "de", 4, 5, 6); - ranker->RecordTranslateEvent(event_1); - ranker->RecordTranslateEvent(event_2); - ranker->RecordTranslateEvent(event_3); - - // Capture the data and verify that it is as expected. - ranker->FlushTranslateEvents(&flushed_events); - EXPECT_EQ(3U, flushed_events.size()); - ASSERT_EQ("fr", flushed_events[0].source_language()); - ASSERT_EQ("jp", flushed_events[1].source_language()); - ASSERT_EQ("es", flushed_events[2].source_language()); - - // Check that the cache has been cleared. - ranker->FlushTranslateEvents(&flushed_events); - EXPECT_EQ(0U, flushed_events.size()); -} - -TEST_F(TranslateRankerTest, LoggingDisabled) { - InitFeatures({}, {kTranslateRankerLogging}); - std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f); - std::vector<metrics::TranslateEventProto> flushed_events; - - ranker->FlushTranslateEvents(&flushed_events); - EXPECT_EQ(0U, flushed_events.size()); - - auto event_1 = CreateTranslateEvent("fr", "en", 1, 0, 3); - auto event_2 = CreateTranslateEvent("jp", "en", 2, 0, 3); - auto event_3 = CreateTranslateEvent("es", "de", 4, 5, 6); - ranker->RecordTranslateEvent(event_1); - ranker->RecordTranslateEvent(event_2); - ranker->RecordTranslateEvent(event_3); - - // Logging is disabled, so no events should be cached. - ranker->FlushTranslateEvents(&flushed_events); - EXPECT_EQ(0U, flushed_events.size()); -} - -} // namespace translate
diff --git a/components/translate/core/browser/translate_ui_delegate_unittest.cc b/components/translate/core/browser/translate_ui_delegate_unittest.cc index b63cbd6..eb15170 100644 --- a/components/translate/core/browser/translate_ui_delegate_unittest.cc +++ b/components/translate/core/browser/translate_ui_delegate_unittest.cc
@@ -14,6 +14,7 @@ #include "components/pref_registry/pref_registry_syncable.h" #include "components/sync_preferences/testing_pref_service_syncable.h" #include "components/translate/core/browser/mock_translate_driver.h" +#include "components/translate/core/browser/mock_translate_ranker.h" #include "components/translate/core/browser/translate_client.h" #include "components/translate/core/browser/translate_infobar_delegate.h" #include "components/translate/core/browser/translate_manager.h" @@ -26,6 +27,7 @@ using testing::Return; using testing::Test; using translate::testing::MockTranslateDriver; +using translate::testing::MockTranslateRanker; namespace translate { @@ -85,8 +87,8 @@ TranslatePrefs::RegisterProfilePrefs(pref_service_->registry()); client_.reset(new MockTranslateClient(&driver_, pref_service_.get())); - - manager_.reset(new TranslateManager(client_.get(), "hi")); + ranker_.reset(new MockTranslateRanker()); + manager_.reset(new TranslateManager(client_.get(), ranker_.get(), "hi")); manager_->GetLanguageState().set_translation_declined(false); delegate_.reset( @@ -95,9 +97,11 @@ ASSERT_FALSE(client_->GetTranslatePrefs()->IsTooOftenDenied("ar")); } + // Do not reorder. These are ordered for dependency on creation/destruction. MockTranslateDriver driver_; - std::unique_ptr<MockTranslateClient> client_; std::unique_ptr<sync_preferences::TestingPrefServiceSyncable> pref_service_; + std::unique_ptr<MockTranslateClient> client_; + std::unique_ptr<MockTranslateRanker> ranker_; std::unique_ptr<TranslateManager> manager_; std::unique_ptr<TranslateUIDelegate> delegate_;
diff --git a/components/translate/core/browser/translate_url_fetcher.cc b/components/translate/core/browser/translate_url_fetcher.cc index 45615e3..dbbff31 100644 --- a/components/translate/core/browser/translate_url_fetcher.cc +++ b/components/translate/core/browser/translate_url_fetcher.cc
@@ -31,7 +31,7 @@ bool TranslateURLFetcher::Request( const GURL& url, const TranslateURLFetcher::Callback& callback) { - // This function is not supposed to be called before previous operaion is not + // This function is not supposed to be called if the previous operation is not // finished. if (state_ == REQUESTING) { NOTREACHED();
diff --git a/content/app/strings/translations/content_strings_fi.xtb b/content/app/strings/translations/content_strings_fi.xtb index fde8f1b7..6a4ba2d 100644 --- a/content/app/strings/translations/content_strings_fi.xtb +++ b/content/app/strings/translations/content_strings_fi.xtb
@@ -91,7 +91,7 @@ <translation id="4812940957355064477">Anna numero.</translation> <translation id="4975562563186953947"><ph name="SELECTED_COUNT" /> valittu</translation> <translation id="4992066212339426712">Poista mykistys</translation> -<translation id="49969490063480558">Lisää <ph name="ATSIGN" />-osaa seuraava osa. <ph name="INVALIDADDRESS" /> on puutteellinen.</translation> +<translation id="49969490063480558">Kirjoita loppuun asti osoite, joka alkaa <ph name="ATSIGN" />. <ph name="INVALIDADDRESS" /> on vielä kesken.</translation> <translation id="5034860022980953847">etenemisen osoitin</translation> <translation id="5048533449481078685">luettelon merkitsijä</translation> <translation id="5117590920725113268">Näytä seuraava kuukausi</translation>
diff --git a/content/app/strings/translations/content_strings_ja.xtb b/content/app/strings/translations/content_strings_ja.xtb index 3be3a85..e00c882 100644 --- a/content/app/strings/translations/content_strings_ja.xtb +++ b/content/app/strings/translations/content_strings_ja.xtb
@@ -91,7 +91,7 @@ <translation id="4812940957355064477">数字を入力してください。</translation> <translation id="4975562563186953947"><ph name="SELECTED_COUNT" /> 件選択</translation> <translation id="4992066212339426712">ミュートを解除</translation> -<translation id="49969490063480558">「<ph name="ATSIGN" />」に続く文字列を入力してください。「<ph name="INVALIDADDRESS" />」は完全なメール アドレスではありません。</translation> +<translation id="49969490063480558">「<ph name="INVALIDADDRESS" />」は完全なメールアドレスではありません。「<ph name="ATSIGN" />」に続く文字列を入力してください。</translation> <translation id="5034860022980953847">プログレスバー</translation> <translation id="5048533449481078685">リスト マーカー</translation> <translation id="5117590920725113268">次の月を表示</translation>
diff --git a/content/app/strings/translations/content_strings_nl.xtb b/content/app/strings/translations/content_strings_nl.xtb index 36a4b36..744cde4e 100644 --- a/content/app/strings/translations/content_strings_nl.xtb +++ b/content/app/strings/translations/content_strings_nl.xtb
@@ -116,7 +116,7 @@ <translation id="588258955323874662">Volledig scherm</translation> <translation id="5939518447894949180">Resetten</translation> <translation id="5966707198760109579">Week</translation> -<translation id="5987525920412732405">kringveld</translation> +<translation id="5987525920412732405">draaiknop</translation> <translation id="6015796118275082299">Jaar</translation> <translation id="6023896073578205740">keuzelijst</translation> <translation id="6101327004457443354">dempen van audiotrack opheffen</translation>
diff --git a/content/browser/android/child_process_launcher_android.cc b/content/browser/android/child_process_launcher_android.cc index bd16a7c..43b1396 100644 --- a/content/browser/android/child_process_launcher_android.cc +++ b/content/browser/android/child_process_launcher_android.cc
@@ -92,9 +92,10 @@ } } + constexpr int param_key = 0; // TODO(boliu): Use this. Java_ChildProcessLauncher_start( - env, base::android::GetApplicationContext(), j_argv, child_process_id, - j_file_infos, + env, base::android::GetApplicationContext(), param_key, j_argv, + child_process_id, j_file_infos, reinterpret_cast<intptr_t>(new StartChildProcessCallback(callback))); }
diff --git a/content/browser/compositor/gpu_browser_compositor_output_surface.cc b/content/browser/compositor/gpu_browser_compositor_output_surface.cc index d663726..ffe7868ee 100644 --- a/content/browser/compositor/gpu_browser_compositor_output_surface.cc +++ b/content/browser/compositor/gpu_browser_compositor_output_surface.cc
@@ -116,8 +116,11 @@ } if (frame.sub_buffer_rect) { + DCHECK(frame.content_bounds.empty()); context_provider_->ContextSupport()->PartialSwapBuffers( *frame.sub_buffer_rect); + } else if (!frame.content_bounds.empty()) { + context_provider_->ContextSupport()->SwapWithBounds(frame.content_bounds); } else { context_provider_->ContextSupport()->Swap(); }
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc index 0136097..4e3f274 100644 --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc
@@ -9,6 +9,7 @@ #include "base/barrier_closure.h" #include "base/command_line.h" #include "base/containers/hash_tables.h" +#include "base/process/process_handle.h" #include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h" #include "base/time/time.h" @@ -17,6 +18,7 @@ #include "content/browser/devtools/protocol/security.h" #include "content/browser/frame_host/frame_tree_node.h" #include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/common/navigation_params.h" #include "content/common/resource_request.h" #include "content/common/resource_request_completion_status.h" #include "content/public/browser/browser_context.h" @@ -31,6 +33,7 @@ #include "content/public/common/content_switches.h" #include "content/public/common/resource_devtools_info.h" #include "content/public/common/resource_response.h" +#include "net/base/net_errors.h" #include "net/cookies/cookie_store.h" #include "net/http/http_response_headers.h" #include "net/url_request/url_request_context.h" @@ -671,6 +674,53 @@ completion_status.encoded_data_length); } +void NetworkHandler::NavigationFailed( + const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, + net::Error error_code) { + if (!enabled_) + return; + + static int next_id = 0; + std::string request_id = base::IntToString(base::GetCurrentProcId()) + "." + + base::IntToString(++next_id); + std::string error_string = net::ErrorToString(error_code); + bool cancelled = error_code == net::Error::ERR_ABORTED; + + std::unique_ptr<DictionaryValue> headers_dict(DictionaryValue::create()); + net::HttpRequestHeaders headers; + headers.AddHeadersFromString(begin_params.headers); + for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) + headers_dict->setString(it.name(), it.value()); + frontend_->RequestWillBeSent( + request_id, request_id /* frameId */, request_id /* loaderId */, + common_params.url.spec(), + Network::Request::Create() + .SetUrl(common_params.url.spec()) + .SetMethod(common_params.method) + .SetHeaders(Object::fromValue(headers_dict.get(), nullptr)) + // Note: the priority value is copied from + // ResourceDispatcherHostImpl::BeginNavigationRequest but there isn't + // a good way of sharing this. + .SetInitialPriority(resourcePriority(net::HIGHEST)) + .SetReferrerPolicy(referrerPolicy(common_params.referrer.policy)) + .Build(), + base::TimeTicks::Now().ToInternalValue() / + static_cast<double>(base::Time::kMicrosecondsPerSecond), + base::Time::Now().ToDoubleT(), + Network::Initiator::Create() + .SetType(Network::Initiator::TypeEnum::Parser) + .Build(), + std::unique_ptr<Network::Response>(), + std::string(Page::ResourceTypeEnum::Document)); + + frontend_->LoadingFailed( + request_id, + base::TimeTicks::Now().ToInternalValue() / + static_cast<double>(base::Time::kMicrosecondsPerSecond), + Page::ResourceTypeEnum::Document, error_string, cancelled); +} + std::string NetworkHandler::UserAgentOverride() const { return enabled_ ? user_agent_ : std::string(); }
diff --git a/content/browser/devtools/protocol/network_handler.h b/content/browser/devtools/protocol/network_handler.h index 2ce9dcb..32409ff 100644 --- a/content/browser/devtools/protocol/network_handler.h +++ b/content/browser/devtools/protocol/network_handler.h
@@ -10,12 +10,15 @@ #include "base/macros.h" #include "content/browser/devtools/protocol/devtools_domain_handler.h" #include "content/browser/devtools/protocol/network.h" +#include "net/base/net_errors.h" #include "net/cookies/canonical_cookie.h" namespace content { class DevToolsSession; class RenderFrameHostImpl; +struct BeginNavigationParams; +struct CommonNavigationParams; struct ResourceRequest; struct ResourceRequestCompletionStatus; struct ResourceResponseHead; @@ -71,6 +74,9 @@ void NavigationPreloadCompleted( const std::string& request_id, const ResourceRequestCompletionStatus& completion_status); + void NavigationFailed(const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, + net::Error error_code); bool enabled() const { return enabled_; } std::string UserAgentOverride() const;
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc index 90b18f1..51bdb0810 100644 --- a/content/browser/devtools/render_frame_devtools_agent_host.cc +++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -382,6 +382,17 @@ } // static +void RenderFrameDevToolsAgentHost::OnFailedNavigation( + RenderFrameHost* host, + const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, + net::Error error_code) { + RenderFrameDevToolsAgentHost* agent_host = FindAgentHost(host); + if (agent_host) + agent_host->OnFailedNavigation(common_params, begin_params, error_code); +} + +// static std::unique_ptr<NavigationThrottle> RenderFrameDevToolsAgentHost::CreateThrottleForNavigation( NavigationHandle* navigation_handle) { @@ -720,6 +731,22 @@ DCHECK(CheckConsistency()); } +void RenderFrameDevToolsAgentHost::OnFailedNavigation( + const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, + net::Error error_code) { + DCHECK(IsBrowserSideNavigationEnabled()); + if (!session()) + return; + + protocol::NetworkHandler* handler = + protocol::NetworkHandler::FromSession(session()); + if (!handler) + return; + + handler->NavigationFailed(common_params, begin_params, error_code); +} + void RenderFrameDevToolsAgentHost::RenderFrameHostChanged( RenderFrameHost* old_host, RenderFrameHost* new_host) {
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.h b/content/browser/devtools/render_frame_devtools_agent_host.h index 74b482c..7c2a2063 100644 --- a/content/browser/devtools/render_frame_devtools_agent_host.h +++ b/content/browser/devtools/render_frame_devtools_agent_host.h
@@ -14,6 +14,7 @@ #include "content/browser/devtools/devtools_agent_host_impl.h" #include "content/common/content_export.h" #include "content/public/browser/web_contents_observer.h" +#include "net/base/net_errors.h" #if defined(OS_ANDROID) #include "ui/android/view_android.h" @@ -37,6 +38,8 @@ class NavigationHandle; class NavigationThrottle; class RenderFrameHostImpl; +struct BeginNavigationParams; +struct CommonNavigationParams; class CONTENT_EXPORT RenderFrameDevToolsAgentHost : public DevToolsAgentHostImpl, @@ -49,6 +52,10 @@ static void OnBeforeNavigation(RenderFrameHost* current, RenderFrameHost* pending); static void OnBeforeNavigation(NavigationHandle* navigation_handle); + static void OnFailedNavigation(RenderFrameHost* host, + const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, + net::Error error_code); static std::unique_ptr<NavigationThrottle> CreateThrottleForNavigation( NavigationHandle* navigation_handle); static bool IsNetworkHandlerEnabled(FrameTreeNode* frame_tree_node); @@ -119,6 +126,9 @@ void AboutToNavigateRenderFrame(RenderFrameHost* old_host, RenderFrameHost* new_host); void AboutToNavigate(NavigationHandle* navigation_handle); + void OnFailedNavigation(const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, + net::Error error_code); void DispatchBufferedProtocolMessagesIfNecessary();
diff --git a/content/browser/dom_storage/dom_storage_namespace.cc b/content/browser/dom_storage/dom_storage_namespace.cc index eb65d82..847b1930 100644 --- a/content/browser/dom_storage/dom_storage_namespace.cc +++ b/content/browser/dom_storage/dom_storage_namespace.cc
@@ -118,8 +118,8 @@ } void DOMStorageNamespace::PurgeMemory(bool aggressively) { - if (directory_.empty()) - return; // We can't purge w/o backing on disk. + if (namespace_id_ == kLocalStorageNamespaceId && directory_.empty()) + return; // We can't purge local storage w/o backing on disk. AreaMap::iterator it = areas_.begin(); while (it != areas_.end()) {
diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc index 63e138d..dbbe6494 100644 --- a/content/browser/frame_host/navigation_request.cc +++ b/content/browser/frame_host/navigation_request.cc
@@ -583,8 +583,9 @@ TransferNavigationHandleOwnership(render_frame_host); render_frame_host->navigation_handle()->ReadyToCommitNavigation( render_frame_host); - render_frame_host->FailedNavigation(common_params_, request_params_, - has_stale_copy_in_cache, net_error); + render_frame_host->FailedNavigation(common_params_, begin_params_, + request_params_, has_stale_copy_in_cache, + net_error); } void NavigationRequest::OnRequestStarted(base::TimeTicks timestamp) {
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc index f541c6b..6246fac3 100644 --- a/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -2703,6 +2703,7 @@ void RenderFrameHostImpl::FailedNavigation( const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, const RequestNavigationParams& request_params, bool has_stale_copy_in_cache, int error_code) { @@ -2717,6 +2718,9 @@ Send(new FrameMsg_FailedNavigation(routing_id_, common_params, request_params, has_stale_copy_in_cache, error_code)); + RenderFrameDevToolsAgentHost::OnFailedNavigation( + this, common_params, begin_params, static_cast<net::Error>(error_code)); + // An error page is expected to commit, hence why is_loading_ is set to true. is_loading_ = true; frame_tree_node_->ResetNavigationRequest(true);
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h index d21b1da..0ca442b 100644 --- a/content/browser/frame_host/render_frame_host_impl.h +++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -547,6 +547,7 @@ // Indicates that a navigation failed and that this RenderFrame should display // an error page. void FailedNavigation(const CommonNavigationParams& common_params, + const BeginNavigationParams& begin_params, const RequestNavigationParams& request_params, bool has_stale_copy_in_cache, int error_code);
diff --git a/content/browser/loader/netlog_observer.cc b/content/browser/loader/netlog_observer.cc index 2e920f66..f4f28fe 100644 --- a/content/browser/loader/netlog_observer.cc +++ b/content/browser/loader/netlog_observer.cc
@@ -102,7 +102,8 @@ info->request_headers_text = request_line + request_headers.ToString(); break; } - case net::NetLogEventType::HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS: { + case net::NetLogEventType::HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS: + case net::NetLogEventType::HTTP_TRANSACTION_QUIC_SEND_REQUEST_HEADERS: { std::unique_ptr<base::Value> event_params(entry.ParametersToValue()); net::SpdyHeaderBlock request_headers;
diff --git a/content/browser/loader/netlog_observer.h b/content/browser/loader/netlog_observer.h index 90c9f7a..7e049bc4 100644 --- a/content/browser/loader/netlog_observer.h +++ b/content/browser/loader/netlog_observer.h
@@ -30,7 +30,7 @@ // As NetLogObserver shares live data with objects that live on the IO Thread, // it must also reside on the IO Thread. Only OnAddEntry can be called from // other threads. -class NetLogObserver : public net::NetLog::ThreadSafeObserver { +class CONTENT_EXPORT NetLogObserver : public net::NetLog::ThreadSafeObserver { typedef ResourceDevToolsInfo ResourceInfo; public:
diff --git a/content/browser/loader/netlog_observer_unittest.cc b/content/browser/loader/netlog_observer_unittest.cc new file mode 100644 index 0000000..95ae275 --- /dev/null +++ b/content/browser/loader/netlog_observer_unittest.cc
@@ -0,0 +1,180 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <memory> + +#include "base/macros.h" +#include "base/memory/ptr_util.h" +#include "base/memory/ref_counted.h" +#include "base/values.h" +#include "content/browser/loader/netlog_observer.h" +#include "content/browser/loader/resource_request_info_impl.h" +#include "content/browser/loader/resource_requester_info.h" +#include "content/public/common/previews_state.h" +#include "content/public/common/resource_type.h" +#include "content/public/test/mock_resource_context.h" +#include "content/public/test/test_browser_thread_bundle.h" +#include "net/base/request_priority.h" +#include "net/log/net_log.h" +#include "net/log/net_log_capture_mode.h" +#include "net/log/net_log_event_type.h" +#include "net/quic/core/quic_types.h" +#include "net/spdy/spdy_header_block.h" +#include "net/spdy/spdy_protocol.h" +#include "net/url_request/url_request_context.h" +#include "net/url_request/url_request_netlog_params.h" +#include "net/url_request/url_request_test_util.h" +#include "testing/gtest/include/gtest/gtest.h" +#include "third_party/WebKit/public/platform/WebPageVisibilityState.h" +#include "third_party/WebKit/public/platform/WebReferrerPolicy.h" +#include "ui/base/page_transition_types.h" +#include "url/gurl.h" + +namespace content { + +namespace { + +const char kDefaultURL[] = "https://example.test"; + +std::unique_ptr<base::Value> QuicRequestCallback( + net::QuicStreamId stream_id, + const net::SpdyHeaderBlock* headers, + net::SpdyPriority priority, + net::NetLogCaptureMode capture_mode) { + std::unique_ptr<base::DictionaryValue> dict( + static_cast<base::DictionaryValue*>( + SpdyHeaderBlockNetLogCallback(headers, capture_mode).release())); + return std::move(dict); +} + +} // namespace + +class NetLogObserverTest : public testing::Test { + public: + NetLogObserverTest() + : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), context_(true) {} + + ~NetLogObserverTest() override {} + + void SetUp() override { + context_.Init(); + context_.set_net_log(&net_log_); + NetLogObserver::Attach(context_.net_log()); + request_ = context_.CreateRequest(GURL(kDefaultURL), net::DEFAULT_PRIORITY, + nullptr); + resource_context_ = base::MakeUnique<MockResourceContext>(&context_); + requester_info_ = ResourceRequesterInfo::CreateForRendererTesting(1); + ResourceRequestInfoImpl* info = new ResourceRequestInfoImpl( + requester_info_, + 0, // route_id + -1, // frame_tree_node_id + 0, // origin_pid + 0, // request_id + 0, // render_frame_id + false, // is_main_frame + false, // parent_is_main_frame + RESOURCE_TYPE_IMAGE, // resource_type + ui::PAGE_TRANSITION_LINK, // transition_type + false, // should_replace_current_entry + false, // is_download + false, // is_stream + false, // allow_download + false, // has_user_gesture + false, // enable load timing + false, // enable upload progress + false, // do_not_prompt_for_login + blink::WebReferrerPolicyDefault, // referrer_policy + blink::WebPageVisibilityStateVisible, // visibility_state + resource_context_.get(), // context + true, // report_raw_headers + true, // is_async + PREVIEWS_OFF, // previews_state + std::string(), // original_headers + nullptr, // body + false); // initiated_in_secure_context + info->AssociateWithRequest(request_.get()); + std::string method = "GET"; + GURL url(kDefaultURL); + request_->net_log().BeginEvent( + net::NetLogEventType::URL_REQUEST_START_JOB, + base::Bind(&net::NetLogURLRequestStartCallback, &url, &method, 0, -1)); + } + + void TearDown() override { NetLogObserver::Detach(); } + + void VerifyHeaderValue(const std::string& header, + const std::string& expected_value) { + scoped_refptr<ResourceResponse> response(new ResourceResponse); + + NetLogObserver::PopulateResponseInfo(request_.get(), response.get()); + + int header_was_in_list = false; + for (auto header_pair : response->head.devtools_info->request_headers) { + if (header == header_pair.first) { + EXPECT_EQ(expected_value, header_pair.second); + header_was_in_list = true; + } + } + EXPECT_TRUE(header_was_in_list); + } + + protected: + net::NetLog net_log_; + TestBrowserThreadBundle thread_bundle_; + net::TestURLRequestContext context_; + std::unique_ptr<MockResourceContext> resource_context_; + scoped_refptr<ResourceRequesterInfo> requester_info_; + std::unique_ptr<net::URLRequest> request_; + + private: + DISALLOW_COPY_AND_ASSIGN(NetLogObserverTest); +}; + +// Verify that the response info is populated with headers for HTTP jobs. +TEST_F(NetLogObserverTest, TestHTTPEntry) { + std::string header("header"); + std::string value("value"); + std::string request_line("HTTP request line"); + + net::HttpRequestHeaders request_headers; + request_headers.SetHeader(header, value); + + request_->net_log().AddEvent( + net::NetLogEventType::HTTP_TRANSACTION_SEND_REQUEST_HEADERS, + base::Bind(&net::HttpRequestHeaders::NetLogCallback, + base::Unretained(&request_headers), &request_line)); + + VerifyHeaderValue(header, value); +} + +// Verify that the response info is populated with headers for HTTP2 jobs. +TEST_F(NetLogObserverTest, TestHTTP2Entry) { + std::string header("header"); + std::string value("value"); + net::SpdyHeaderBlock request_headers; + + request_headers[header] = value; + request_->net_log().AddEvent( + net::NetLogEventType::HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS, + base::Bind(&net::SpdyHeaderBlockNetLogCallback, &request_headers)); + + VerifyHeaderValue(header, value); +} + +// Verify that the response info is populated with headers for QUIC jobs. +TEST_F(NetLogObserverTest, TestQUICEntry) { + std::string header("header"); + std::string value("value"); + net::SpdyHeaderBlock request_headers; + + request_headers[header] = value; + request_->net_log().AddEvent( + net::NetLogEventType::HTTP_TRANSACTION_QUIC_SEND_REQUEST_HEADERS, + base::Bind(&QuicRequestCallback, 1, &request_headers, + net::DEFAULT_PRIORITY)); + + VerifyHeaderValue(header, value); +} + +} // namespace content
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc index 71577dc8..51c00f4 100644 --- a/content/browser/loader/resource_dispatcher_host_impl.cc +++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -1539,12 +1539,12 @@ // Initialize the service worker handler for the request. We don't use // ServiceWorker for synchronous loads to avoid renderer deadlocks. - const SkipServiceWorker should_skip_service_worker = - is_sync_load ? SkipServiceWorker::ALL : request_data.skip_service_worker; + const ServiceWorkerMode service_worker_mode = + is_sync_load ? ServiceWorkerMode::NONE : request_data.service_worker_mode; ServiceWorkerRequestHandler::InitializeHandler( new_request.get(), requester_info->service_worker_context(), blob_context, child_id, request_data.service_worker_provider_id, - should_skip_service_worker != SkipServiceWorker::NONE, + service_worker_mode != ServiceWorkerMode::ALL, request_data.fetch_request_mode, request_data.fetch_credentials_mode, request_data.fetch_redirect_mode, request_data.resource_type, request_data.fetch_request_context_type, request_data.fetch_frame_type, @@ -1552,12 +1552,11 @@ ForeignFetchRequestHandler::InitializeHandler( new_request.get(), requester_info->service_worker_context(), blob_context, - child_id, request_data.service_worker_provider_id, - should_skip_service_worker, request_data.fetch_request_mode, - request_data.fetch_credentials_mode, request_data.fetch_redirect_mode, - request_data.resource_type, request_data.fetch_request_context_type, - request_data.fetch_frame_type, request_data.request_body, - request_data.initiated_in_secure_context); + child_id, request_data.service_worker_provider_id, service_worker_mode, + request_data.fetch_request_mode, request_data.fetch_credentials_mode, + request_data.fetch_redirect_mode, request_data.resource_type, + request_data.fetch_request_context_type, request_data.fetch_frame_type, + request_data.request_body, request_data.initiated_in_secure_context); // Have the appcache associate its extra info with the request. AppCacheInterceptor::SetExtraRequestInfo(
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc index 5476991..78a05f95 100644 --- a/content/browser/media/capture/desktop_capture_device.cc +++ b/content/browser/media/capture/desktop_capture_device.cc
@@ -186,6 +186,8 @@ BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE))); desktop_capturer_->Start(this); + // Assume it will be always started successfully for now. + client_->OnStarted(); CaptureFrameAndScheduleNext(); }
diff --git a/content/browser/media/capture/desktop_capture_device_aura_unittest.cc b/content/browser/media/capture/desktop_capture_device_aura_unittest.cc index 8f18308..fea24ac 100644 --- a/content/browser/media/capture/desktop_capture_device_aura_unittest.cc +++ b/content/browser/media/capture/desktop_capture_device_aura_unittest.cc
@@ -25,6 +25,7 @@ using ::testing::_; using ::testing::AnyNumber; +using ::testing::AtMost; using ::testing::DoAll; using ::testing::Expectation; using ::testing::InvokeWithoutArgs; @@ -56,6 +57,7 @@ MOCK_METHOD2(OnError, void(const tracked_objects::Location& from_here, const std::string& reason)); + MOCK_METHOD0(OnStarted, void(void)); // Trampoline methods to workaround GMOCK problems with std::unique_ptr<>. Buffer ReserveOutputBuffer(const gfx::Size& dimensions, @@ -155,6 +157,9 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_, _)).Times(0); + // |STARTED| is reported asynchronously, which may not be received if capture + // is stopped immediately. + EXPECT_CALL(*client, OnStarted()).Times(AtMost(1)); media::VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(640, 480);
diff --git a/content/browser/media/capture/desktop_capture_device_unittest.cc b/content/browser/media/capture/desktop_capture_device_unittest.cc index 4885ee2..9edd24a 100644 --- a/content/browser/media/capture/desktop_capture_device_unittest.cc +++ b/content/browser/media/capture/desktop_capture_device_unittest.cc
@@ -75,6 +75,7 @@ MOCK_METHOD2(OnError, void(const tracked_objects::Location& from_here, const std::string& reason)); + MOCK_METHOD0(OnStarted, void(void)); // Trampoline methods to workaround GMOCK problems with std::unique_ptr<>. Buffer ReserveOutputBuffer(const gfx::Size& dimensions, @@ -303,6 +304,7 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_, _)).Times(0); + EXPECT_CALL(*client, OnStarted()); EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _, _)) .WillRepeatedly( DoAll(SaveArg<1>(&frame_size), SaveArg<2>(&format), @@ -340,6 +342,7 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_, _)).Times(0); + EXPECT_CALL(*client, OnStarted()); EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _, _)) .WillRepeatedly( DoAll(WithArg<2>(Invoke(&format_checker, @@ -384,6 +387,7 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_,_)).Times(0); + EXPECT_CALL(*client, OnStarted()); EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _, _)) .WillRepeatedly( DoAll(WithArg<2>(Invoke(&format_checker, @@ -432,6 +436,7 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_,_)).Times(0); + EXPECT_CALL(*client, OnStarted()); EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _, _)) .WillRepeatedly( DoAll(WithArg<2>(Invoke(&format_checker, @@ -482,6 +487,7 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_,_)).Times(0); + EXPECT_CALL(*client, OnStarted()); EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _, _)) .WillRepeatedly( DoAll(Invoke(this, &DesktopCaptureDeviceTest::CopyFrame), @@ -529,6 +535,7 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_,_)).Times(0); + EXPECT_CALL(*client, OnStarted()); EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _, _)) .WillRepeatedly( DoAll(Invoke(this, &DesktopCaptureDeviceTest::CopyFrame),
diff --git a/content/browser/media/capture/screen_capture_device_android_unittest.cc b/content/browser/media/capture/screen_capture_device_android_unittest.cc index dffe27a5..a8a3139 100644 --- a/content/browser/media/capture/screen_capture_device_android_unittest.cc +++ b/content/browser/media/capture/screen_capture_device_android_unittest.cc
@@ -9,6 +9,7 @@ #include "testing/gtest/include/gtest/gtest.h" using ::testing::_; +using ::testing::AtMost; namespace content { namespace { @@ -33,6 +34,7 @@ void(const tracked_objects::Location& from_here, const std::string& reason)); MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); + MOCK_METHOD0(OnStarted, void(void)); // Trampoline methods to workaround GMOCK problems with std::unique_ptr<>. Buffer ReserveOutputBuffer(const gfx::Size& dimensions, @@ -92,6 +94,9 @@ std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); EXPECT_CALL(*client, OnError(_, _)).Times(0); + // |STARTED| is reported asynchronously, which may not be received if capture + // is stopped immediately. + EXPECT_CALL(*client, OnStarted()).Times(AtMost(1)); media::VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(640, 480);
diff --git a/content/browser/media/capture/web_contents_video_capture_device_unittest.cc b/content/browser/media/capture/web_contents_video_capture_device_unittest.cc index 8c91de63..1c1f656 100644 --- a/content/browser/media/capture/web_contents_video_capture_device_unittest.cc +++ b/content/browser/media/capture/web_contents_video_capture_device_unittest.cc
@@ -243,6 +243,7 @@ int frame_feedback_id)); MOCK_METHOD0(DoOnIncomingCapturedBuffer, void(void)); + MOCK_METHOD0(OnStarted, void(void)); media::VideoCaptureDevice::Client::Buffer ReserveOutputBuffer( const gfx::Size& dimensions, @@ -345,9 +346,7 @@ virtual ~StubClientObserver() {} - std::unique_ptr<media::VideoCaptureDevice::Client> PassClient() { - return std::move(client_); - } + std::unique_ptr<StubClient> PassClient() { return std::move(client_); } void SetIsExpectingFrames(bool expecting_frames) { expecting_frames_ = expecting_frames; @@ -635,8 +634,9 @@ TEST_F(WebContentsVideoCaptureDeviceTest, SafelyStartsUpAfterWebContentsHasGone) { ResetWebContents(); - device()->AllocateAndStart(DefaultCaptureParams(), - client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client)); ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForError()); device()->StopAndDeAllocate(); } @@ -648,8 +648,9 @@ RunsThenErrorsOutWhenWebContentsIsDestroyed) { // We'll simulate the tab being closed after the capture pipeline is up and // running. - device()->AllocateAndStart(DefaultCaptureParams(), - client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client)); // Do one capture to prove the tab is initially open and being captured // normally. @@ -693,8 +694,9 @@ DeliversToCorrectClientAcrossRestarts) { // While the device is up-and-running, expect frame captures. client_observer()->SetIsExpectingFrames(true); - device()->AllocateAndStart(DefaultCaptureParams(), - client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client)); base::RunLoop().RunUntilIdle(); test_view()->SetSolidColor(SK_ColorRED); SimulateDrawEvent(); @@ -718,7 +720,9 @@ // expect to see any frame captures. StubClientObserver observer2; observer2.SetIsExpectingFrames(true); - device()->AllocateAndStart(DefaultCaptureParams(), observer2.PassClient()); + auto client2 = observer2.PassClient(); + EXPECT_CALL(*client2, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client2)); test_view()->SetSolidColor(SK_ColorBLUE); SimulateDrawEvent(); ASSERT_NO_FATAL_FAILURE(observer2.WaitForNextColor(SK_ColorBLUE)); @@ -733,8 +737,9 @@ // consumer. The test will alternate between the RGB/SkBitmap and YUV/VideoFrame // capture paths. TEST_F(WebContentsVideoCaptureDeviceTest, GoesThroughAllTheMotions) { - device()->AllocateAndStart(DefaultCaptureParams(), - client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client)); for (int i = 0; i < 3; i++) { SCOPED_TRACE(base::StringPrintf("Iteration #%d", i)); @@ -770,7 +775,9 @@ auto capture_params = DefaultCaptureParams(); capture_params.resolution_change_policy = media::RESOLUTION_POLICY_FIXED_ASPECT_RATIO; - device()->AllocateAndStart(capture_params, client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(capture_params, std::move(client)); // Source size equals maximum size. Expect delivered frames to be // kTestWidth by kTestHeight. @@ -816,7 +823,9 @@ auto capture_params = DefaultCaptureParams(); capture_params.resolution_change_policy = media::RESOLUTION_POLICY_ANY_WITHIN_LIMIT; - device()->AllocateAndStart(capture_params, client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(capture_params, std::move(client)); // Source size equals maximum size. Expect delivered frames to be // kTestWidth by kTestHeight. @@ -887,7 +896,9 @@ capture_params.requested_format.frame_size = oddball_size; capture_params.resolution_change_policy = policy; StubClientObserver unused_observer; - device()->AllocateAndStart(capture_params, unused_observer.PassClient()); + auto client = unused_observer.PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(capture_params, std::move(client)); base::RunLoop().RunUntilIdle(); // Check that the preferred size of the WebContents matches the one provided @@ -953,8 +964,9 @@ // Tests the Suspend/Resume() functionality. TEST_F(WebContentsVideoCaptureDeviceTest, SuspendsAndResumes) { - device()->AllocateAndStart(DefaultCaptureParams(), - client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client)); for (int i = 0; i < 3; ++i) { // Draw a RED frame and wait for a normal frame capture to occur. @@ -987,8 +999,9 @@ // Tests the RequestRefreshFrame() functionality. TEST_F(WebContentsVideoCaptureDeviceTest, ProvidesRefreshFrames) { - device()->AllocateAndStart(DefaultCaptureParams(), - client_observer()->PassClient()); + auto client = client_observer()->PassClient(); + EXPECT_CALL(*client, OnStarted()); + device()->AllocateAndStart(DefaultCaptureParams(), std::move(client)); // Request a refresh frame before the first frame has been drawn. This forces // a capture.
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc index 07abd413..ec20aa0 100644 --- a/content/browser/renderer_host/media/video_capture_controller.cc +++ b/content/browser/renderer_host/media/video_capture_controller.cc
@@ -461,6 +461,16 @@ MediaStreamManager::SendMessageToNativeLog("Video capture: " + message); } +void VideoCaptureController::OnStarted() { + DCHECK_CURRENTLY_ON(BrowserThread::IO); + + for (const auto& client : controller_clients_) { + if (client->session_closed) + continue; + client->event_handler->OnStarted(client->controller_id); + } +} + VideoCaptureController::ControllerClient* VideoCaptureController::FindClient( VideoCaptureControllerID id, VideoCaptureControllerEventHandler* handler,
diff --git a/content/browser/renderer_host/media/video_capture_controller.h b/content/browser/renderer_host/media/video_capture_controller.h index 2f7d25b..634fb16 100644 --- a/content/browser/renderer_host/media/video_capture_controller.h +++ b/content/browser/renderer_host/media/video_capture_controller.h
@@ -101,6 +101,7 @@ void OnBufferRetired(int buffer_id) override; void OnError() override; void OnLog(const std::string& message) override; + void OnStarted() override; private: struct ControllerClient;
diff --git a/content/browser/renderer_host/media/video_capture_controller_event_handler.h b/content/browser/renderer_host/media/video_capture_controller_event_handler.h index 301070cc..d90c309 100644 --- a/content/browser/renderer_host/media/video_capture_controller_event_handler.h +++ b/content/browser/renderer_host/media/video_capture_controller_event_handler.h
@@ -24,6 +24,11 @@ // VideoCaptureControllerEventHandler is the interface for // VideoCaptureController to notify clients about the events such as // BufferReady, FrameInfo, Error, etc. + +// OnError and OnEnded need to be scheduled to the end of message queue to +// guarantee some other clearing jobs are done before they are handled. +// Other methods can be forwarded synchronously. + // TODO(mcasas): https://crbug.com/654176 merge back into VideoCaptureController class CONTENT_EXPORT VideoCaptureControllerEventHandler { public: @@ -49,6 +54,9 @@ // The capture session has ended and no more frames will be sent. virtual void OnEnded(VideoCaptureControllerID id) = 0; + // VideoCaptureDevice has successfully started the device. + virtual void OnStarted(VideoCaptureControllerID id) = 0; + protected: virtual ~VideoCaptureControllerEventHandler() {} };
diff --git a/content/browser/renderer_host/media/video_capture_controller_unittest.cc b/content/browser/renderer_host/media/video_capture_controller_unittest.cc index dd1dd8d..eacde47 100644 --- a/content/browser/renderer_host/media/video_capture_controller_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_controller_unittest.cc
@@ -68,6 +68,7 @@ MOCK_METHOD2(DoBufferReady, void(VideoCaptureControllerID, const gfx::Size&)); MOCK_METHOD1(DoEnded, void(VideoCaptureControllerID)); MOCK_METHOD1(DoError, void(VideoCaptureControllerID)); + MOCK_METHOD1(OnStarted, void(VideoCaptureControllerID)); void OnError(VideoCaptureControllerID id) override { DoError(id); } void OnBufferCreated(VideoCaptureControllerID id,
diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc index 44286425..c37b8b7 100644 --- a/content/browser/renderer_host/media/video_capture_host.cc +++ b/content/browser/renderer_host/media/video_capture_host.cc
@@ -108,6 +108,18 @@ controller_id)); } +void VideoCaptureHost::OnStarted(VideoCaptureControllerID controller_id) { + DVLOG(1) << __func__; + DCHECK_CURRENTLY_ON(BrowserThread::IO); + if (controllers_.find(controller_id) == controllers_.end()) + return; + + if (base::ContainsKey(device_id_to_observer_map_, controller_id)) { + device_id_to_observer_map_[controller_id]->OnStateChanged( + mojom::VideoCaptureState::STARTED); + } +} + void VideoCaptureHost::Start(int32_t device_id, int32_t session_id, const media::VideoCaptureParams& params, @@ -296,11 +308,6 @@ return; } - if (base::ContainsKey(device_id_to_observer_map_, controller_id)) { - device_id_to_observer_map_[device_id]->OnStateChanged( - mojom::VideoCaptureState::STARTED); - } - DCHECK(!it->second); it->second = controller; }
diff --git a/content/browser/renderer_host/media/video_capture_host.h b/content/browser/renderer_host/media/video_capture_host.h index a4d1ebb..bbe0af4b 100644 --- a/content/browser/renderer_host/media/video_capture_host.h +++ b/content/browser/renderer_host/media/video_capture_host.h
@@ -51,6 +51,7 @@ int buffer_id, const media::mojom::VideoFrameInfoPtr& frame_info) override; void OnEnded(VideoCaptureControllerID id) override; + void OnStarted(VideoCaptureControllerID id) override; // mojom::VideoCaptureHost implementation void Start(int32_t device_id,
diff --git a/content/browser/renderer_host/media/video_capture_manager_unittest.cc b/content/browser/renderer_host/media/video_capture_manager_unittest.cc index bf47379b..aefd642 100644 --- a/content/browser/renderer_host/media/video_capture_manager_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_manager_unittest.cc
@@ -150,6 +150,7 @@ class MockFrameObserver : public VideoCaptureControllerEventHandler { public: MOCK_METHOD1(OnError, void(VideoCaptureControllerID id)); + MOCK_METHOD1(OnStarted, void(VideoCaptureControllerID id)); void OnBufferCreated(VideoCaptureControllerID id, mojo::ScopedSharedBufferHandle handle, @@ -302,6 +303,7 @@ TEST_F(VideoCaptureManagerTest, CreateAndClose) { InSequence s; EXPECT_CALL(*listener_, Opened(MEDIA_DEVICE_VIDEO_CAPTURE, _)); + EXPECT_CALL(*frame_observer_, OnStarted(_)); EXPECT_CALL(*listener_, Closed(MEDIA_DEVICE_VIDEO_CAPTURE, _)); int video_session_id = vcm_->Open(devices_.front()); @@ -319,6 +321,7 @@ InSequence s; for (int i = 1 ; i < 3 ; ++i) { EXPECT_CALL(*listener_, Opened(MEDIA_DEVICE_VIDEO_CAPTURE, i)); + EXPECT_CALL(*frame_observer_, OnStarted(_)); EXPECT_CALL(*listener_, Closed(MEDIA_DEVICE_VIDEO_CAPTURE, i)); int video_session_id = vcm_->Open(devices_.front()); VideoCaptureControllerID client_id = StartClient(video_session_id, true); @@ -336,6 +339,7 @@ TEST_F(VideoCaptureManagerTest, CreateAndAbort) { InSequence s; EXPECT_CALL(*listener_, Opened(MEDIA_DEVICE_VIDEO_CAPTURE, _)); + EXPECT_CALL(*frame_observer_, OnStarted(_)); EXPECT_CALL(*listener_, Aborted(MEDIA_DEVICE_VIDEO_CAPTURE, _)); int video_session_id = vcm_->Open(devices_.front()); @@ -449,6 +453,7 @@ EXPECT_GT(supported_formats[1].frame_size.height(), 1); EXPECT_GT(supported_formats[1].frame_rate, 1); + EXPECT_CALL(*frame_observer_, OnStarted(_)); VideoCaptureControllerID client_id = StartClient(video_session_id, true); base::RunLoop().RunUntilIdle(); // After StartClient(), device's supported formats should stay the same. @@ -515,6 +520,7 @@ EXPECT_GT(supported_formats[1].frame_size.height(), 1); EXPECT_GT(supported_formats[1].frame_rate, 1); + EXPECT_CALL(*frame_observer_, OnStarted(_)); VideoCaptureControllerID client_id = StartClient(video_session_id, true); base::RunLoop().RunUntilIdle(); // After StartClient(), device's supported formats should stay the same. @@ -561,6 +567,7 @@ EXPECT_TRUE(vcm_->GetDeviceFormatsInUse(video_session_id, &formats_in_use)); EXPECT_TRUE(formats_in_use.empty()); + EXPECT_CALL(*frame_observer_, OnStarted(_)); VideoCaptureControllerID client_id = StartClient(video_session_id, true); base::RunLoop().RunUntilIdle(); // After StartClient(), |formats_in_use| should contain one valid format. @@ -606,6 +613,7 @@ &formats_in_use)); EXPECT_TRUE(formats_in_use.empty()); + EXPECT_CALL(*frame_observer_, OnStarted(_)); VideoCaptureControllerID client_id = StartClient(video_session_id, true); base::RunLoop().RunUntilIdle(); // After StartClient(), |formats_in_use| should contain one valid format. @@ -691,6 +699,7 @@ TEST_F(VideoCaptureManagerTest, CloseWithoutStop) { InSequence s; EXPECT_CALL(*listener_, Opened(MEDIA_DEVICE_VIDEO_CAPTURE, _)); + EXPECT_CALL(*frame_observer_, OnStarted(_)); EXPECT_CALL(*listener_, Closed(MEDIA_DEVICE_VIDEO_CAPTURE, _)); int video_session_id = vcm_->Open(devices_.front()); @@ -712,6 +721,7 @@ // scenarios. TEST_F(VideoCaptureManagerTest, PauseAndResumeClient) { EXPECT_CALL(*listener_, Opened(MEDIA_DEVICE_VIDEO_CAPTURE, _)); + EXPECT_CALL(*frame_observer_, OnStarted(_)); const int video_session_id = vcm_->Open(devices_.front()); const VideoCaptureControllerID client_id = @@ -751,6 +761,7 @@ TEST_F(VideoCaptureManagerTest, PauseAndResumeDevice) { InSequence s; EXPECT_CALL(*listener_, Opened(MEDIA_DEVICE_VIDEO_CAPTURE, _)); + EXPECT_CALL(*frame_observer_, OnStarted(_)); EXPECT_CALL(*listener_, Closed(MEDIA_DEVICE_VIDEO_CAPTURE, _)); int video_session_id = vcm_->Open(devices_.front());
diff --git a/content/browser/renderer_host/media/video_capture_unittest.cc b/content/browser/renderer_host/media/video_capture_unittest.cc index b2ce87ec..ad44124 100644 --- a/content/browser/renderer_host/media/video_capture_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_unittest.cc
@@ -38,6 +38,7 @@ using ::testing::_; using ::testing::AnyNumber; +using ::testing::AtMost; using ::testing::DoAll; using ::testing::InSequence; using ::testing::Mock; @@ -244,7 +245,10 @@ params.requested_format = media::VideoCaptureFormat( gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); - EXPECT_CALL(*this, OnStateChanged(mojom::VideoCaptureState::STARTED)); + // |STARTED| is reported asynchronously, which may not be received if + // capture is stopped immediately. + EXPECT_CALL(*this, OnStateChanged(mojom::VideoCaptureState::STARTED)) + .Times(AtMost(1)); host_->Start(kDeviceId, opened_session_id_, params, observer_binding_.CreateInterfacePtrAndBind());
diff --git a/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.cc b/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.cc index 4b7ffed..f77e255 100644 --- a/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.cc +++ b/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.cc
@@ -57,4 +57,10 @@ base::Bind(&VideoFrameReceiver::OnLog, receiver_, message)); } +void VideoFrameReceiverOnIOThread::OnStarted() { + content::BrowserThread::PostTask( + content::BrowserThread::IO, FROM_HERE, + base::Bind(&VideoFrameReceiver::OnStarted, receiver_)); +} + } // namespace content
diff --git a/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.h b/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.h index d75f5c5..b32e8adf 100644 --- a/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.h +++ b/content/browser/renderer_host/media/video_frame_receiver_on_io_thread.h
@@ -35,6 +35,7 @@ void OnBufferRetired(int buffer_id) override; void OnError() override; void OnLog(const std::string& message) override; + void OnStarted() override; private: base::WeakPtr<VideoFrameReceiver> receiver_;
diff --git a/content/browser/service_worker/foreign_fetch_request_handler.cc b/content/browser/service_worker/foreign_fetch_request_handler.cc index 58675b0..8c3aab4 100644 --- a/content/browser/service_worker/foreign_fetch_request_handler.cc +++ b/content/browser/service_worker/foreign_fetch_request_handler.cc
@@ -70,7 +70,7 @@ storage::BlobStorageContext* blob_storage_context, int process_id, int provider_id, - SkipServiceWorker skip_service_worker, + ServiceWorkerMode service_worker_mode, FetchRequestMode request_mode, FetchCredentialsMode credentials_mode, FetchRedirectMode redirect_mode, @@ -87,7 +87,7 @@ return; } - if (skip_service_worker == SkipServiceWorker::ALL) + if (service_worker_mode == ServiceWorkerMode::NONE) return; if (!initiated_in_secure_context)
diff --git a/content/browser/service_worker/foreign_fetch_request_handler.h b/content/browser/service_worker/foreign_fetch_request_handler.h index c047dc3..2283fa9 100644 --- a/content/browser/service_worker/foreign_fetch_request_handler.h +++ b/content/browser/service_worker/foreign_fetch_request_handler.h
@@ -58,7 +58,7 @@ storage::BlobStorageContext* blob_storage_context, int process_id, int provider_id, - SkipServiceWorker skip_service_worker, + ServiceWorkerMode service_worker_mode, FetchRequestMode request_mode, FetchCredentialsMode credentials_mode, FetchRedirectMode redirect_mode,
diff --git a/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc b/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc index 1045db1..c97df73 100644 --- a/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc +++ b/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
@@ -145,7 +145,7 @@ ForeignFetchRequestHandler::InitializeHandler( request_.get(), context_wrapper(), &blob_storage_context_, helper_->mock_render_process_id(), kMockProviderId, - SkipServiceWorker::NONE, FETCH_REQUEST_MODE_CORS, + ServiceWorkerMode::ALL, FETCH_REQUEST_MODE_CORS, FETCH_CREDENTIALS_MODE_OMIT, FetchRedirectMode::FOLLOW_MODE, resource_type, REQUEST_CONTEXT_TYPE_FETCH, REQUEST_CONTEXT_FRAME_TYPE_NONE, nullptr,
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc index d29ae19..be41aa9 100644 --- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
@@ -557,7 +557,7 @@ // for the service worker navigation preload request. request.resource_type = RESOURCE_TYPE_SUB_RESOURCE; request.priority = original_request->priority(); - request.skip_service_worker = SkipServiceWorker::ALL; + request.service_worker_mode = ServiceWorkerMode::NONE; request.do_not_prompt_for_login = true; request.render_frame_id = original_info->GetRenderFrameID(); request.is_main_frame = original_info->IsMainFrame();
diff --git a/content/child/web_url_loader_impl.cc b/content/child/web_url_loader_impl.cc index 454cbd7d..eb948a9 100644 --- a/content/child/web_url_loader_impl.cc +++ b/content/child/web_url_loader_impl.cc
@@ -571,8 +571,8 @@ ConvertWebKitPriorityToNetPriority(request.getPriority()); resource_request->appcache_host_id = request.appCacheHostID(); resource_request->should_reset_appcache = request.shouldResetAppCache(); - resource_request->skip_service_worker = - GetSkipServiceWorkerForWebURLRequest(request); + resource_request->service_worker_mode = + GetServiceWorkerModeForWebURLRequest(request); resource_request->fetch_request_mode = GetFetchRequestModeForWebURLRequest(request); resource_request->fetch_credentials_mode = @@ -667,8 +667,8 @@ WebURLRequest new_request = PopulateURLRequestForRedirect( request_, redirect_info, info.was_fetched_via_service_worker - ? blink::WebURLRequest::SkipServiceWorker::None - : blink::WebURLRequest::SkipServiceWorker::All); + ? blink::WebURLRequest::ServiceWorkerMode::All + : blink::WebURLRequest::ServiceWorkerMode::None); bool follow = client_->willFollowRedirect(new_request, response); if (!follow) { @@ -1162,7 +1162,7 @@ WebURLRequest WebURLLoaderImpl::PopulateURLRequestForRedirect( const blink::WebURLRequest& request, const net::RedirectInfo& redirect_info, - blink::WebURLRequest::SkipServiceWorker skip_service_worker) { + blink::WebURLRequest::ServiceWorkerMode service_worker_mode) { // TODO(darin): We lack sufficient information to construct the actual // request that resulted from the redirect. WebURLRequest new_request(redirect_info.new_url); @@ -1172,7 +1172,7 @@ new_request.setUseStreamOnResponse(request.useStreamOnResponse()); new_request.setRequestContext(request.getRequestContext()); new_request.setFrameType(request.getFrameType()); - new_request.setSkipServiceWorker(skip_service_worker); + new_request.setServiceWorkerMode(service_worker_mode); new_request.setShouldResetAppCache(request.shouldResetAppCache()); new_request.setFetchRequestMode(request.getFetchRequestMode()); new_request.setFetchCredentialsMode(request.getFetchCredentialsMode());
diff --git a/content/child/web_url_loader_impl.h b/content/child/web_url_loader_impl.h index 27b4b2f..676f2a6 100644 --- a/content/child/web_url_loader_impl.h +++ b/content/child/web_url_loader_impl.h
@@ -53,7 +53,7 @@ static blink::WebURLRequest PopulateURLRequestForRedirect( const blink::WebURLRequest& request, const net::RedirectInfo& redirect_info, - blink::WebURLRequest::SkipServiceWorker skip_service_worker); + blink::WebURLRequest::ServiceWorkerMode service_worker_mode); // WebURLLoader methods: void loadSynchronously(const blink::WebURLRequest& request,
diff --git a/content/child/web_url_request_util.cc b/content/child/web_url_request_util.cc index 51faca13..a8eb868 100644 --- a/content/child/web_url_request_util.cc +++ b/content/child/web_url_request_util.cc
@@ -485,16 +485,16 @@ request.getRequestContext(), block_mixed_plugin_content); } -STATIC_ASSERT_ENUM(SkipServiceWorker::NONE, - WebURLRequest::SkipServiceWorker::None); -STATIC_ASSERT_ENUM(SkipServiceWorker::CONTROLLING, - WebURLRequest::SkipServiceWorker::Controlling); -STATIC_ASSERT_ENUM(SkipServiceWorker::ALL, - WebURLRequest::SkipServiceWorker::All); +STATIC_ASSERT_ENUM(ServiceWorkerMode::NONE, + WebURLRequest::ServiceWorkerMode::None); +STATIC_ASSERT_ENUM(ServiceWorkerMode::FOREIGN, + WebURLRequest::ServiceWorkerMode::Foreign); +STATIC_ASSERT_ENUM(ServiceWorkerMode::ALL, + WebURLRequest::ServiceWorkerMode::All); -SkipServiceWorker GetSkipServiceWorkerForWebURLRequest( +ServiceWorkerMode GetServiceWorkerModeForWebURLRequest( const blink::WebURLRequest& request) { - return static_cast<SkipServiceWorker>(request.skipServiceWorker()); + return static_cast<ServiceWorkerMode>(request.getServiceWorkerMode()); } blink::WebURLError CreateWebURLError(const blink::WebURL& unreachable_url,
diff --git a/content/child/web_url_request_util.h b/content/child/web_url_request_util.h index 857a9c3..050aae1 100644 --- a/content/child/web_url_request_util.h +++ b/content/child/web_url_request_util.h
@@ -59,7 +59,7 @@ const blink::WebURLRequest& request); blink::WebMixedContentContextType GetMixedContentContextTypeForWebURLRequest( const blink::WebURLRequest& request); -SkipServiceWorker GetSkipServiceWorkerForWebURLRequest( +ServiceWorkerMode GetServiceWorkerModeForWebURLRequest( const blink::WebURLRequest& request); // Generates a WebURLError based on |reason|.
diff --git a/content/common/resource_messages.h b/content/common/resource_messages.h index 859ffedf..882b6db 100644 --- a/content/common/resource_messages.h +++ b/content/common/resource_messages.h
@@ -130,8 +130,8 @@ IPC_ENUM_TRAITS_MAX_VALUE(content::FetchRedirectMode, content::FetchRedirectMode::LAST) -IPC_ENUM_TRAITS_MAX_VALUE(content::SkipServiceWorker, - content::SkipServiceWorker::LAST) +IPC_ENUM_TRAITS_MAX_VALUE(content::ServiceWorkerMode, + content::ServiceWorkerMode::LAST) IPC_ENUM_TRAITS_MAX_VALUE(net::EffectiveConnectionType, net::EFFECTIVE_CONNECTION_TYPE_LAST - 1) @@ -230,7 +230,7 @@ IPC_STRUCT_TRAITS_MEMBER(should_reset_appcache) IPC_STRUCT_TRAITS_MEMBER(service_worker_provider_id) IPC_STRUCT_TRAITS_MEMBER(originated_from_service_worker) - IPC_STRUCT_TRAITS_MEMBER(skip_service_worker) + IPC_STRUCT_TRAITS_MEMBER(service_worker_mode) IPC_STRUCT_TRAITS_MEMBER(fetch_request_mode) IPC_STRUCT_TRAITS_MEMBER(fetch_credentials_mode) IPC_STRUCT_TRAITS_MEMBER(fetch_redirect_mode)
diff --git a/content/common/resource_request.h b/content/common/resource_request.h index 278566c..2cf0ee5 100644 --- a/content/common/resource_request.h +++ b/content/common/resource_request.h
@@ -102,8 +102,9 @@ // fetch() in the Service Worker script. bool originated_from_service_worker = false; - // Indicates which types of ServiceWorkers should skip handling this request. - SkipServiceWorker skip_service_worker = SkipServiceWorker::NONE; + // The service worker mode that indicates which service workers should get + // events for this request. + ServiceWorkerMode service_worker_mode = ServiceWorkerMode::ALL; // The request mode passed to the ServiceWorker. FetchRequestMode fetch_request_mode = FETCH_REQUEST_MODE_SAME_ORIGIN;
diff --git a/content/common/service_worker/service_worker_types.h b/content/common/service_worker/service_worker_types.h index e981e015e..a2ace94 100644 --- a/content/common/service_worker/service_worker_types.h +++ b/content/common/service_worker/service_worker_types.h
@@ -98,17 +98,18 @@ LAST = MANUAL_MODE }; -// Indicates which types of ServiceWorkers should skip handling a request. -enum class SkipServiceWorker { - // Request can be handled both by a controlling same-origin worker and - // a cross-origin foreign fetch service worker. - NONE, - // Request should not be handled by a same-origin controlling worker, - // but can be intercepted by a foreign fetch service worker. - CONTROLLING, - // Request should skip all possible service workers. +// Indicates which service workers will receive fetch events for this request. +enum class ServiceWorkerMode { + // Relevant local and foreign service workers will get a fetch or + // foreignfetch event for this request. ALL, - LAST = ALL + // Only relevant foreign service workers will get a foreignfetch event for + // this request. + FOREIGN, + // Neither local nor foreign service workers will get events for this + // request. + NONE, + LAST = NONE }; // Indicates how the service worker handled a fetch event.
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java index fe178be..cbf43059 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java +++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
@@ -61,6 +61,8 @@ String getPackageName(); + ChildProcessCreationParams getCreationParams(); + IChildProcessService getService(); /**
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java index ea831b6..aec87df7 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
@@ -309,6 +309,11 @@ } @Override + public ChildProcessCreationParams getCreationParams() { + return mCreationParams; + } + + @Override public IChildProcessService getService() { synchronized (mLock) { return mService;
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java index a8fd972bb..c3c2a73 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java +++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java
@@ -5,6 +5,7 @@ package org.chromium.content.browser; import android.content.Intent; +import android.util.SparseArray; import org.chromium.base.library_loader.LibraryProcessType; @@ -15,22 +16,61 @@ * specifying additional child service binging flags. */ public class ChildProcessCreationParams { - private final String mPackageName; - private final boolean mIsExternalService; - private final int mLibraryProcessType; private static final String EXTRA_LIBRARY_PROCESS_TYPE = "org.chromium.content.common.child_service_params.library_process_type"; - private static volatile ChildProcessCreationParams sChildProcessCreationParams; + /** ID used for the default params. */ + public static final int DEFAULT_ID = 0; - public static void set(ChildProcessCreationParams params) { - sChildProcessCreationParams = params; + private static final Object sLock = new Object(); + private static final SparseArray<ChildProcessCreationParams> sParamMap = new SparseArray<>(); + private static int sNextId = 1; // 0 is reserved for DEFAULT_ID. + + /** Register default params. This should be called once on start up. */ + public static void registerDefault(ChildProcessCreationParams params) { + synchronized (sLock) { + // TODO(boliu): Assert not overwriting existing entry once WebApk is fixed. + sParamMap.append(DEFAULT_ID, params); + } } - public static ChildProcessCreationParams get() { - return sChildProcessCreationParams; + // TODO(boliu): Make package visible once WebApk is fixed. + public static ChildProcessCreationParams getDefault() { + return get(DEFAULT_ID); } + /** Register new params. Returns the allocated ID corresponding this params. */ + public static int register(ChildProcessCreationParams params) { + assert params != null; + int id = -1; + synchronized (sLock) { + id = sNextId++; + sParamMap.append(id, params); + } + assert id > 0; + return id; + } + + /** Releases param corresponding to this ID. Any future use of this ID will crash. */ + public static void unregister(int id) { + assert id > DEFAULT_ID; // Not allowed to unregister default. + synchronized (sLock) { + sParamMap.delete(id); + } + } + + static ChildProcessCreationParams get(int id) { + assert id >= 0; + synchronized (sLock) { + return sParamMap.get(id); + } + } + + // Members should all be immutable to avoid worrying about thread safety. + private final String mPackageName; + private final boolean mIsExternalService; + private final int mLibraryProcessType; + public ChildProcessCreationParams(String packageName, boolean isExternalService, int libraryProcessType) { mPackageName = packageName; @@ -38,24 +78,19 @@ mLibraryProcessType = libraryProcessType; } - public ChildProcessCreationParams copy() { - return new ChildProcessCreationParams(mPackageName, mIsExternalService, - mLibraryProcessType); - } - - public String getPackageName() { + String getPackageName() { return mPackageName; } - public boolean getIsExternalService() { + boolean getIsExternalService() { return mIsExternalService; } - public int getLibraryProcessType() { + int getLibraryProcessType() { return mLibraryProcessType; } - public void addIntentExtras(Intent intent) { + void addIntentExtras(Intent intent) { intent.putExtra(EXTRA_LIBRARY_PROCESS_TYPE, mLibraryProcessType); }
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java index 4ba03a5..69a222cc 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java +++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
@@ -570,11 +570,7 @@ synchronized (sSpareConnectionLock) { assert !ThreadUtils.runningOnUiThread(); if (sSpareSandboxedConnection == null) { - ChildProcessCreationParams params = ChildProcessCreationParams.get(); - if (params != null) { - params = params.copy(); - } - + ChildProcessCreationParams params = ChildProcessCreationParams.getDefault(); sSpareConnectionStarting = true; ChildProcessConnection.StartCallback startCallback = @@ -632,22 +628,23 @@ * always comes from the main thread). * * @param context Context used to obtain the application context. + * @param paramId Key used to retrieve ChildProcessCreationParams. * @param commandLine The child process command line argv. * @param filesToBeMapped File IDs, FDs, offsets, and lengths to pass through. * @param clientContext Arbitrary parameter used by the client to distinguish this connection. */ + // TODO(boliu): All tests should use this over startForTesting. + @VisibleForTesting @CalledByNative - private static void start(Context context, final String[] commandLine, int childProcessId, + static void start(Context context, int paramId, final String[] commandLine, int childProcessId, FileDescriptorInfo[] filesToBeMapped, long clientContext) { - assert clientContext != 0; - int callbackType = CALLBACK_FOR_UNKNOWN_PROCESS; boolean inSandbox = true; String processType = ContentSwitches.getSwitchValue(commandLine, ContentSwitches.SWITCH_PROCESS_TYPE); - ChildProcessCreationParams params = ChildProcessCreationParams.get(); - if (params != null) { - params = params.copy(); + ChildProcessCreationParams params = ChildProcessCreationParams.get(paramId); + if (paramId != ChildProcessCreationParams.DEFAULT_ID && params == null) { + throw new RuntimeException("CreationParams id " + paramId + " not found"); } if (ContentSwitches.SWITCH_RENDERER_PROCESS.equals(processType)) { callbackType = CALLBACK_FOR_RENDERER_PROCESS; @@ -662,6 +659,7 @@ // name. In WebAPK, ChildProcessCreationParams are initialized with WebAPK's // package name. Make a copy of the WebAPK's params, but replace the package with // Chrome's package to use when initializing a non-renderer processes. + // TODO(boliu): Should fold into |paramId|. Investigate why this is needed. params = new ChildProcessCreationParams(context.getPackageName(), params.getIsExternalService(), params.getLibraryProcessType()); } @@ -697,7 +695,10 @@ : context.getPackageName(); synchronized (sSpareConnectionLock) { if (inSandbox && sSpareSandboxedConnection != null - && sSpareSandboxedConnection.getPackageName().equals(packageName)) { + && sSpareSandboxedConnection.getPackageName().equals(packageName) + // Object identity check for getDefault should be enough. The default is + // not supposed to change once set. + && creationParams == ChildProcessCreationParams.getDefault()) { while (sSpareConnectionStarting) { try { sSpareConnectionLock.wait();
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java index 27654753..bdc900d 100644 --- a/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java +++ b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
@@ -24,6 +24,7 @@ import org.chromium.base.test.util.Feature; import org.chromium.content.browser.test.util.Criteria; import org.chromium.content.browser.test.util.CriteriaHelper; +import org.chromium.content.common.ContentSwitches; import org.chromium.content.common.FileDescriptorInfo; import org.chromium.content_shell_apk.ChildProcessLauncherTestHelperService; @@ -451,14 +452,37 @@ ChildProcessLauncher.warmUp(context); // Not on UI thread. assertEquals(1, allocatedChromeSandboxedConnectionsCount()); - final ChildProcessConnection conn = ChildProcessLauncher.startForTesting(context, - new String[0], new FileDescriptorInfo[0], - getDefaultChildProcessCreationParams(context.getPackageName())); + final ChildProcessConnection conn = ChildProcessLauncher.startForTesting( + context, new String[0], new FileDescriptorInfo[0], null); assertEquals(1, allocatedChromeSandboxedConnectionsCount()); // Used warmup connection. ChildProcessLauncher.stop(conn.getPid()); } + @MediumTest + @Feature({"ProcessManagement"}) + public void testCustomCreationParamDoesNotReuseWarmupConnection() { + // Since warmUp only uses default params. + Context context = getInstrumentation().getTargetContext(); + // Check uses object identity, having the params match exactly is fine. + ChildProcessCreationParams.registerDefault( + getDefaultChildProcessCreationParams(context.getPackageName())); + int paramId = ChildProcessCreationParams.register( + getDefaultChildProcessCreationParams(context.getPackageName())); + + ChildProcessLauncher.warmUp(context); // Not on UI thread. + assertEquals(1, allocatedChromeSandboxedConnectionsCount()); + + startRendererProcess(context, paramId, new FileDescriptorInfo[0]); + assertEquals(2, allocatedChromeSandboxedConnectionsCount()); // Warmup not used. + + startRendererProcess( + context, ChildProcessCreationParams.DEFAULT_ID, new FileDescriptorInfo[0]); + assertEquals(2, allocatedChromeSandboxedConnectionsCount()); // Warmup used. + + ChildProcessCreationParams.unregister(paramId); + } + private ChildProcessConnectionImpl startConnection() { // Allocate a new connection. Context context = getInstrumentation().getTargetContext(); @@ -477,6 +501,14 @@ return connection; } + private static void startRendererProcess( + Context context, int paramId, FileDescriptorInfo[] filesToMap) { + ChildProcessLauncher.start(context, paramId, + new String[] {"--" + ContentSwitches.SWITCH_PROCESS_TYPE + "=" + + ContentSwitches.SWITCH_RENDERER_PROCESS}, + 0 /* childProcessId */, filesToMap, 0 /* clientContext */); + } + /** * Returns a new connection if it is allocated. Note this function only allocates a connection * but doesn't really start the connection to bind a service. It is for testing whether the
diff --git a/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java b/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java index 479474a..753ad5c5 100644 --- a/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java +++ b/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java
@@ -150,6 +150,11 @@ public String getPackageName() { return null; } + + @Override + public ChildProcessCreationParams getCreationParams() { + return null; + } } /**
diff --git a/content/public/renderer/associated_resource_fetcher.h b/content/public/renderer/associated_resource_fetcher.h index adf3941..5dca1ab 100644 --- a/content/public/renderer/associated_resource_fetcher.h +++ b/content/public/renderer/associated_resource_fetcher.h
@@ -42,8 +42,8 @@ // the request, and the callback will never be run. static AssociatedResourceFetcher* Create(const GURL& url); - virtual void SetSkipServiceWorker( - blink::WebURLRequest::SkipServiceWorker skip_service_worker) = 0; + virtual void SetServiceWorkerMode( + blink::WebURLRequest::ServiceWorkerMode service_worker_mode) = 0; virtual void SetCachePolicy(blink::WebCachePolicy policy) = 0; // Associate the corresponding WebURLLoaderOptions to the loader. Must be
diff --git a/content/renderer/fetchers/associated_resource_fetcher_impl.cc b/content/renderer/fetchers/associated_resource_fetcher_impl.cc index 9c17667..d0b449e 100644 --- a/content/renderer/fetchers/associated_resource_fetcher_impl.cc +++ b/content/renderer/fetchers/associated_resource_fetcher_impl.cc
@@ -127,12 +127,12 @@ loader_->cancel(); } -void AssociatedResourceFetcherImpl::SetSkipServiceWorker( - blink::WebURLRequest::SkipServiceWorker skip_service_worker) { +void AssociatedResourceFetcherImpl::SetServiceWorkerMode( + blink::WebURLRequest::ServiceWorkerMode service_worker_mode) { DCHECK(!request_.isNull()); DCHECK(!loader_); - request_.setSkipServiceWorker(skip_service_worker); + request_.setServiceWorkerMode(service_worker_mode); } void AssociatedResourceFetcherImpl::SetCachePolicy(
diff --git a/content/renderer/fetchers/associated_resource_fetcher_impl.h b/content/renderer/fetchers/associated_resource_fetcher_impl.h index d99bc71..52a9105 100644 --- a/content/renderer/fetchers/associated_resource_fetcher_impl.h +++ b/content/renderer/fetchers/associated_resource_fetcher_impl.h
@@ -29,8 +29,8 @@ class AssociatedResourceFetcherImpl : public AssociatedResourceFetcher { public: // AssociatedResourceFetcher implementation: - void SetSkipServiceWorker( - blink::WebURLRequest::SkipServiceWorker skip_service_worker) override; + void SetServiceWorkerMode( + blink::WebURLRequest::ServiceWorkerMode service_worker_mode) override; void SetCachePolicy(blink::WebCachePolicy policy) override; void SetLoaderOptions( const blink::WebAssociatedURLLoaderOptions& options) override;
diff --git a/content/renderer/fetchers/multi_resolution_image_resource_fetcher.cc b/content/renderer/fetchers/multi_resolution_image_resource_fetcher.cc index 5dda475..dc2edc976 100644 --- a/content/renderer/fetchers/multi_resolution_image_resource_fetcher.cc +++ b/content/renderer/fetchers/multi_resolution_image_resource_fetcher.cc
@@ -44,7 +44,7 @@ // workers. This should ideally not happen or at least not all the time. // See https://crbug.com/448427 if (request_context == WebURLRequest::RequestContextFavicon) - fetcher_->SetSkipServiceWorker(WebURLRequest::SkipServiceWorker::All); + fetcher_->SetServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); fetcher_->SetCachePolicy(cache_policy);
diff --git a/content/renderer/media/video_capture_impl.h b/content/renderer/media/video_capture_impl.h index b39b999..55e8b53 100644 --- a/content/renderer/media/video_capture_impl.h +++ b/content/renderer/media/video_capture_impl.h
@@ -66,6 +66,14 @@ video_capture_host_for_testing_ = service; } + // mojom::VideoCaptureObserver implementation. + void OnStateChanged(mojom::VideoCaptureState state) override; + void OnBufferCreated(int32_t buffer_id, + mojo::ScopedSharedBufferHandle handle) override; + void OnBufferReady(int32_t buffer_id, + media::mojom::VideoFrameInfoPtr info) override; + void OnBufferDestroyed(int32_t buffer_id) override; + private: friend class VideoCaptureImplTest; friend class MockVideoCaptureImpl; @@ -82,14 +90,6 @@ using BufferFinishedCallback = base::Callback<void(double consumer_resource_utilization)>; - // mojom::VideoCaptureObserver implementation. - void OnStateChanged(mojom::VideoCaptureState state) override; - void OnBufferCreated(int32_t buffer_id, - mojo::ScopedSharedBufferHandle handle) override; - void OnBufferReady(int32_t buffer_id, - media::mojom::VideoFrameInfoPtr info) override; - void OnBufferDestroyed(int32_t buffer_id) override; - // Sends an IPC message to browser process when all clients are done with the // buffer. void OnClientBufferFinished(int buffer_id,
diff --git a/content/renderer/pepper/pepper_url_loader_host.cc b/content/renderer/pepper/pepper_url_loader_host.cc index 5b9aeb73..fcbdf56 100644 --- a/content/renderer/pepper/pepper_url_loader_host.cc +++ b/content/renderer/pepper/pepper_url_loader_host.cc
@@ -260,10 +260,10 @@ web_request.setRequestorProcessID(renderer_ppapi_host_->GetPluginPID()); // The requests from the plugins with private permission which can bypass same // origin must skip the ServiceWorker. - web_request.setSkipServiceWorker( + web_request.setServiceWorkerMode( host()->permissions().HasPermission(ppapi::PERMISSION_PRIVATE) - ? WebURLRequest::SkipServiceWorker::All - : WebURLRequest::SkipServiceWorker::None); + ? WebURLRequest::ServiceWorkerMode::None + : WebURLRequest::ServiceWorkerMode::All); WebAssociatedURLLoaderOptions options; if (has_universal_access_) {
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 3ed4a179..4555fc24 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -4280,15 +4280,15 @@ provider_id = provider->provider_id(); // If the provider does not have a controller at this point, the renderer // expects the request to never be handled by a controlling service worker, - // so set the SkipServiceWorker flag here. Otherwise, a service worker that - // is in the process of becoming the controller (i.e., via claim()) on the - // browser-side could handle the request and break the assumptions of the - // renderer. + // so set the ServiceWorkerMode to skip local workers here. Otherwise, a + // service worker that is in the process of becoming the controller (i.e., + // via claim()) on the browser-side could handle the request and break + // the assumptions of the renderer. if (!provider->IsControlledByServiceWorker() && - request.skipServiceWorker() != - blink::WebURLRequest::SkipServiceWorker::All) { - request.setSkipServiceWorker( - blink::WebURLRequest::SkipServiceWorker::Controlling); + request.getServiceWorkerMode() != + blink::WebURLRequest::ServiceWorkerMode::None) { + request.setServiceWorkerMode( + blink::WebURLRequest::ServiceWorkerMode::Foreign); } } @@ -6278,8 +6278,8 @@ BeginNavigationParams begin_navigation_params( GetWebURLRequestHeaders(info.urlRequest), load_flags, info.urlRequest.hasUserGesture(), - info.urlRequest.skipServiceWorker() != - blink::WebURLRequest::SkipServiceWorker::None, + info.urlRequest.getServiceWorkerMode() != + blink::WebURLRequest::ServiceWorkerMode::All, GetRequestContextTypeForWebURLRequest(info.urlRequest), GetMixedContentContextTypeForWebURLRequest(info.urlRequest), initiator_origin);
diff --git a/content/renderer/shared_worker/embedded_shared_worker_stub.cc b/content/renderer/shared_worker/embedded_shared_worker_stub.cc index b0ac6424..eb8d6e33 100644 --- a/content/renderer/shared_worker/embedded_shared_worker_stub.cc +++ b/content/renderer/shared_worker/embedded_shared_worker_stub.cc
@@ -96,17 +96,17 @@ request.setExtraData(extra_data.release()); // If the provider does not have a controller at this point, the renderer // expects subresource requests to never be handled by a controlling service - // worker, so set the SkipServiceWorker flag here. Otherwise, a service - // worker that is in the process of becoming the controller (i.e., via - // claim()) on the browser-side could handle the request and break the - // assumptions of the renderer. + // worker, so set the ServiceWorkerMode to skip local workers here. + // Otherwise, a service worker that is in the process of becoming the + // controller (i.e., via claim()) on the browser-side could handle the + // request and break the assumptions of the renderer. if (request.getRequestContext() != blink::WebURLRequest::RequestContextSharedWorker && !provider->IsControlledByServiceWorker() && - request.skipServiceWorker() != - blink::WebURLRequest::SkipServiceWorker::All) { - request.setSkipServiceWorker( - blink::WebURLRequest::SkipServiceWorker::Controlling); + request.getServiceWorkerMode() != + blink::WebURLRequest::ServiceWorkerMode::None) { + request.setServiceWorkerMode( + blink::WebURLRequest::ServiceWorkerMode::Foreign); } }
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn index cc9b1f8..d07808a 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn
@@ -1138,6 +1138,7 @@ "../browser/loader/mock_resource_loader.h", "../browser/loader/mojo_async_resource_handler_unittest.cc", "../browser/loader/navigation_url_loader_unittest.cc", + "../browser/loader/netlog_observer_unittest.cc", "../browser/loader/redirect_to_file_resource_handler_unittest.cc", "../browser/loader/resource_buffer_unittest.cc", "../browser/loader/resource_dispatcher_host_unittest.cc",
diff --git a/docs/updating_clang_format_binaries.md b/docs/updating_clang_format_binaries.md index c030518d..95ef812 100644 --- a/docs/updating_clang_format_binaries.md +++ b/docs/updating_clang_format_binaries.md
@@ -91,11 +91,11 @@ Copy the binaries into your chromium checkout (under `src/buildtools/(win|linux64|mac)/clang-format(.exe?)`). For each binary, you'll need to run upload_to_google_storage.py according to the instructions in -[README.txt](/buildtools/clang_format/README.txt). This will upload the binary -into a publicly accessible google storage bucket, and update `.sha1` file in -your Chrome checkout. You'll check in the `.sha1` file (but NOT the clang-format -binary) into source control. In order to be able to upload, you'll need write -permission to the bucket -- see the prerequisites. +[README.txt](https://chromium.googlesource.com/chromium/buildtools/+/master/clang_format/README.txt). +This will upload the binary into a publicly accessible google storage bucket, +and update `.sha1` file in your Chrome checkout. You'll check in the `.sha1` +file (but NOT the clang-format binary) into source control. In order to be able +to upload, you'll need write permission to the bucket -- see the prerequisites. ## Copy the helper scripts and update README.chromium
diff --git a/extensions/renderer/console.cc b/extensions/renderer/console.cc index 30e42eb..245e14f9 100644 --- a/extensions/renderer/console.cc +++ b/extensions/renderer/console.cc
@@ -17,6 +17,8 @@ #include "extensions/renderer/script_context.h" #include "extensions/renderer/script_context_set.h" #include "extensions/renderer/v8_helpers.h" +#include "gin/converter.h" +#include "gin/per_isolate_data.h" namespace extensions { namespace console { @@ -34,9 +36,6 @@ CHECK(false) << message; } -typedef void (*LogMethod)(content::RenderFrame* render_frame, - const std::string& message); - void BoundLogMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { std::string message; for (int i = 0; i < info.Length(); ++i) { @@ -45,68 +44,29 @@ message += *v8::String::Utf8Value(info[i]); } - v8::Local<v8::Context> context = info.GetIsolate()->GetCurrentContext(); - if (context.IsEmpty()) { - LOG(WARNING) << "Could not log \"" << message << "\": no context given"; - return; - } - // A worker's ScriptContext neither lives in ScriptContextSet nor it has a // RenderFrame associated with it, so early exit in this case. // TODO(lazyboy): Fix. if (content::WorkerThread::GetCurrentId() > 0) return; + v8::Local<v8::Context> context = info.GetIsolate()->GetCurrentContext(); ScriptContext* script_context = ScriptContextSet::GetContextByV8Context(context); - LogMethod log_method = - reinterpret_cast<LogMethod>(info.Data().As<v8::External>()->Value()); - (*log_method)(script_context ? script_context->GetRenderFrame() : nullptr, - message); + // TODO(devlin): Consider (D)CHECK(script_context) + content::RenderFrame* render_frame = + script_context ? script_context->GetRenderFrame() : nullptr; + const auto level = static_cast<content::ConsoleMessageLevel>( + info.Data().As<v8::Int32>()->Value()); + AddMessage(render_frame, level, message); } -void BindLogMethod(v8::Isolate* isolate, - v8::Local<v8::Object> target, - const std::string& name, - LogMethod log_method) { - v8::Local<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New( - isolate, - &BoundLogMethodCallback, - v8::External::New(isolate, reinterpret_cast<void*>(log_method))); - tmpl->RemovePrototype(); - v8::Local<v8::Function> function; - if (!tmpl->GetFunction(isolate->GetCurrentContext()).ToLocal(&function)) { - LOG(FATAL) << "Could not create log function \"" << name << "\""; - return; - } - v8::Local<v8::String> v8_name = ToV8StringUnsafe(isolate, name); - if (!SetProperty(isolate->GetCurrentContext(), target, v8_name, function)) { - LOG(WARNING) << "Could not bind log method \"" << name << "\""; - } - SetProperty(isolate->GetCurrentContext(), target, v8_name, - tmpl->GetFunction()); -} +gin::WrapperInfo kWrapperInfo = {gin::kEmbedderNativeGin}; } // namespace -void Debug(content::RenderFrame* render_frame, const std::string& message) { - AddMessage(render_frame, content::CONSOLE_MESSAGE_LEVEL_VERBOSE, message); -} - -void Log(content::RenderFrame* render_frame, const std::string& message) { - AddMessage(render_frame, content::CONSOLE_MESSAGE_LEVEL_INFO, message); -} - -void Warn(content::RenderFrame* render_frame, const std::string& message) { - AddMessage(render_frame, content::CONSOLE_MESSAGE_LEVEL_WARNING, message); -} - -void Error(content::RenderFrame* render_frame, const std::string& message) { - AddMessage(render_frame, content::CONSOLE_MESSAGE_LEVEL_ERROR, message); -} - void Fatal(content::RenderFrame* render_frame, const std::string& message) { - Error(render_frame, message); + AddMessage(render_frame, content::CONSOLE_MESSAGE_LEVEL_ERROR, message); CheckWithMinidump(message); } @@ -123,12 +83,30 @@ v8::Local<v8::Object> AsV8Object(v8::Isolate* isolate) { v8::EscapableHandleScope handle_scope(isolate); - v8::Local<v8::Object> console_object = v8::Object::New(isolate); - BindLogMethod(isolate, console_object, "debug", &Debug); - BindLogMethod(isolate, console_object, "log", &Log); - BindLogMethod(isolate, console_object, "warn", &Warn); - BindLogMethod(isolate, console_object, "error", &Error); - return handle_scope.Escape(console_object); + gin::PerIsolateData* data = gin::PerIsolateData::From(isolate); + v8::Local<v8::ObjectTemplate> templ = data->GetObjectTemplate(&kWrapperInfo); + if (templ.IsEmpty()) { + templ = v8::ObjectTemplate::New(isolate); + static const struct { + const char* name; + content::ConsoleMessageLevel level; + } methods[] = { + {"debug", content::CONSOLE_MESSAGE_LEVEL_VERBOSE}, + {"log", content::CONSOLE_MESSAGE_LEVEL_INFO}, + {"warn", content::CONSOLE_MESSAGE_LEVEL_WARNING}, + {"error", content::CONSOLE_MESSAGE_LEVEL_ERROR}, + }; + for (const auto& method : methods) { + v8::Local<v8::FunctionTemplate> function = + v8::FunctionTemplate::New(isolate, BoundLogMethodCallback, + v8::Integer::New(isolate, method.level)); + function->RemovePrototype(); + templ->Set(gin::StringToSymbol(isolate, method.name), function); + } + data->SetObjectTemplate(&kWrapperInfo, templ); + } + return handle_scope.Escape( + templ->NewInstance(isolate->GetCurrentContext()).ToLocalChecked()); } } // namespace console
diff --git a/extensions/renderer/console.h b/extensions/renderer/console.h index 79d338e..21eb56c 100644 --- a/extensions/renderer/console.h +++ b/extensions/renderer/console.h
@@ -21,18 +21,13 @@ // Adds |message| to the console of |render_frame|. If |render_frame| is null, // LOG()s the message instead. -void Debug(content::RenderFrame* render_frame, const std::string& message); -void Log(content::RenderFrame* render_frame, const std::string& message); -void Warn(content::RenderFrame* render_frame, const std::string& message); -void Error(content::RenderFrame* render_frame, const std::string& message); - -// Logs an Error then crashes the current process. -void Fatal(content::RenderFrame* render_frame, const std::string& message); - void AddMessage(content::RenderFrame* render_frame, content::ConsoleMessageLevel level, const std::string& message); +// Logs an Error then crashes the current process. +void Fatal(content::RenderFrame* render_frame, const std::string& message); + // Returns a new v8::Object with each standard log method (Debug/Log/Warn/Error) // bound to respective debug/log/warn/error methods. This is a direct drop-in // replacement for the standard devtools console.* methods usually accessible
diff --git a/extensions/renderer/module_system.cc b/extensions/renderer/module_system.cc index 31d2db8d..a7918f5 100644 --- a/extensions/renderer/module_system.cc +++ b/extensions/renderer/module_system.cc
@@ -60,7 +60,8 @@ ExtensionsClient* client = ExtensionsClient::Get(); if (client->ShouldSuppressFatalErrors()) { - console::Error(context->GetRenderFrame(), full_message); + console::AddMessage(context->GetRenderFrame(), + content::CONSOLE_MESSAGE_LEVEL_ERROR, full_message); client->RecordDidSuppressFatalError(); } else { console::Fatal(context->GetRenderFrame(), full_message); @@ -70,8 +71,9 @@ void Warn(v8::Isolate* isolate, const std::string& message) { ScriptContext* script_context = ScriptContextSet::GetContextByV8Context(isolate->GetCurrentContext()); - console::Warn(script_context ? script_context->GetRenderFrame() : nullptr, - message); + console::AddMessage( + script_context ? script_context->GetRenderFrame() : nullptr, + content::CONSOLE_MESSAGE_LEVEL_WARNING, message); } // Default exception handler which logs the exception.
diff --git a/extensions/renderer/object_backed_native_handler.cc b/extensions/renderer/object_backed_native_handler.cc index 7346e39..ee85a3d 100644 --- a/extensions/renderer/object_backed_native_handler.cc +++ b/extensions/renderer/object_backed_native_handler.cc
@@ -57,8 +57,10 @@ !feature_name_value->IsString()) { ScriptContext* script_context = ScriptContextSet::GetContextByV8Context(context); - console::Error(script_context ? script_context->GetRenderFrame() : nullptr, - "Extension view no longer exists"); + console::AddMessage( + script_context ? script_context->GetRenderFrame() : nullptr, + content::CONSOLE_MESSAGE_LEVEL_ERROR, + "Extension view no longer exists"); return; }
diff --git a/extensions/renderer/resources/test_custom_bindings.js b/extensions/renderer/resources/test_custom_bindings.js index 00753315..b797d3d 100644 --- a/extensions/renderer/resources/test_custom_bindings.js +++ b/extensions/renderer/resources/test_custom_bindings.js
@@ -98,11 +98,18 @@ } }); - apiFunctions.setHandleRequest('fail', function(message) { + apiFunctions.setHandleRequest('fail', function failHandler(message) { chromeTest.log("( FAILED ) " + testName(currentTest)); var stack = {}; - Error.captureStackTrace(stack, chromeTest.fail); + // NOTE(devlin): captureStackTrace() populates a stack property of the + // passed-in object with the stack trace. The second parameter (failHandler) + // represents a function to serve as a relative point, and is removed from + // the trace (so that everything doesn't include failHandler in the trace + // itself). This (and other APIs) are documented here: + // https://github.com/v8/v8/wiki/Stack%20Trace%20API. If we wanted to be + // really fancy, there may be more sophisticated ways of doing this. + Error.captureStackTrace(stack, failHandler); if (!message) message = "FAIL (no message)";
diff --git a/google_update/OWNERS b/google_update/OWNERS index 68b1eef..34250c2 100644 --- a/google_update/OWNERS +++ b/google_update/OWNERS
@@ -1,2 +1,4 @@ grt@chromium.org robertshield@chromium.org + +# COMPONENT: Internals>Installer
diff --git a/headless/lib/embedder_mojo_browsertest.cc b/headless/lib/embedder_mojo_browsertest.cc index 51cc2cb..17ce6eba 100644 --- a/headless/lib/embedder_mojo_browsertest.cc +++ b/headless/lib/embedder_mojo_browsertest.cc
@@ -5,6 +5,7 @@ #include <memory> #include "base/optional.h" #include "base/path_service.h" +#include "base/run_loop.h" #include "base/strings/string_piece.h" #include "base/strings/stringprintf.h" #include "base/threading/thread_restrictions.h" @@ -225,12 +226,16 @@ } void RunMojoTest() override { + base::RunLoop run_loop; devtools_client_->GetNetwork()->AddObserver(this); - devtools_client_->GetNetwork()->Enable(); - } - - GURL GetInitialUrl() const override { - return embedded_test_server()->GetURL("/page_one.html"); + devtools_client_->GetNetwork()->Enable(run_loop.QuitClosure()); + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + run_loop.Run(); + devtools_client_->GetPage()->AddObserver(this); + devtools_client_->GetPage()->Enable(); + devtools_client_->GetPage()->Navigate( + embedded_test_server()->GetURL("/page_one.html").spec()); } void ReturnTestResult(const std::string& result) override {
diff --git a/headless/lib/headless_browser_context_browsertest.cc b/headless/lib/headless_browser_context_browsertest.cc index 49ab195c..b7bfa6f 100644 --- a/headless/lib/headless_browser_context_browsertest.cc +++ b/headless/lib/headless_browser_context_browsertest.cc
@@ -196,7 +196,7 @@ another_browser_context->CreateWebContentsBuilder() .SetInitialURL(GURL("http://not-an-actual-domain.tld/hello.html")) .Build(); - EXPECT_TRUE(WaitForLoad(web_contents)); + EXPECT_FALSE(WaitForLoad(web_contents)); EXPECT_TRUE(EvaluateScript(web_contents, "document.body.innerHTML") ->GetResult() ->GetValue()
diff --git a/headless/lib/headless_devtools_client_browsertest.cc b/headless/lib/headless_devtools_client_browsertest.cc index 5aa7e76..0bb4bf1 100644 --- a/headless/lib/headless_devtools_client_browsertest.cc +++ b/headless/lib/headless_devtools_client_browsertest.cc
@@ -5,6 +5,7 @@ #include <memory> #include "base/json/json_reader.h" +#include "base/run_loop.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/web_contents.h" #include "content/public/common/url_constants.h" @@ -63,7 +64,11 @@ .SetUrl(embedded_test_server()->GetURL("/hello.html").spec()) .Build(); devtools_client_->GetPage()->GetExperimental()->AddObserver(this); - devtools_client_->GetPage()->Enable(); + base::RunLoop run_loop; + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); + run_loop.Run(); devtools_client_->GetPage()->Navigate(std::move(params)); } @@ -156,8 +161,13 @@ public: void RunDevTooledTest() override { EXPECT_TRUE(embedded_test_server()->Start()); + base::RunLoop run_loop; devtools_client_->GetNetwork()->AddObserver(this); - devtools_client_->GetNetwork()->Enable(); + devtools_client_->GetNetwork()->Enable(run_loop.QuitClosure()); + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + run_loop.Run(); + devtools_client_->GetPage()->Navigate( embedded_test_server()->GetURL("/hello.html").spec()); } @@ -192,6 +202,12 @@ public: void RunDevTooledTest() override { EXPECT_TRUE(embedded_test_server()->Start()); + base::RunLoop run_loop; + devtools_client_->GetPage()->GetExperimental()->AddObserver(this); + devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + run_loop.Run(); // Check that experimental commands require parameter objects. devtools_client_->GetRuntime() ->GetExperimental() @@ -205,8 +221,6 @@ devtools_client_->GetRuntime()->GetExperimental()->RunIfWaitingForDebugger( runtime::RunIfWaitingForDebuggerParams::Builder().Build()); - devtools_client_->GetPage()->GetExperimental()->AddObserver(this); - devtools_client_->GetPage()->Enable(); devtools_client_->GetPage()->Navigate( embedded_test_server()->GetURL("/hello.html").spec()); } @@ -638,8 +652,12 @@ public: void RunDevTooledTest() override { EXPECT_TRUE(embedded_test_server()->Start()); + base::RunLoop run_loop; devtools_client_->GetPage()->GetExperimental()->AddObserver(this); - devtools_client_->GetPage()->Enable(); + devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + run_loop.Run(); devtools_client_->GetPage()->GetExperimental()->SetControlNavigations( headless::page::SetControlNavigationsParams::Builder() .SetEnabled(true) @@ -761,8 +779,12 @@ public: void RunDevTooledTest() override { EXPECT_TRUE(embedded_test_server()->Start()); + base::RunLoop run_loop; devtools_client_->GetPage()->AddObserver(this); - devtools_client_->GetPage()->Enable(); + devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + run_loop.Run(); devtools_client_->GetPage()->Navigate( embedded_test_server()->GetURL("/hello.html").spec()); } @@ -799,10 +821,14 @@ public: void RunDevTooledTest() override { EXPECT_TRUE(embedded_test_server()->Start()); + base::RunLoop run_loop; devtools_client_->GetPage()->AddObserver(this); devtools_client_->GetPage()->Enable(); devtools_client_->GetNetwork()->AddObserver(this); - devtools_client_->GetNetwork()->Enable(); + devtools_client_->GetNetwork()->Enable(run_loop.QuitClosure()); + base::MessageLoop::ScopedNestableTaskAllower nest_loop( + base::MessageLoop::current()); + run_loop.Run(); devtools_client_->GetNetwork()->GetExperimental()->AddBlockedURL( network::AddBlockedURLParams::Builder() .SetUrl("dom_tree_test.css")
diff --git a/headless/test/headless_browser_test.cc b/headless/test/headless_browser_test.cc index 53e2db2..61388383 100644 --- a/headless/test/headless_browser_test.cc +++ b/headless/test/headless_browser_test.cc
@@ -11,7 +11,9 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/render_process_host.h" #include "content/public/common/url_constants.h" +#include "content/public/test/test_navigation_observer.h" #include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" #include "headless/lib/headless_content_main_delegate.h" #include "headless/public/devtools/domains/runtime.h" #include "headless/public/headless_devtools_client.h" @@ -157,9 +159,12 @@ } bool HeadlessBrowserTest::WaitForLoad(HeadlessWebContents* web_contents) { - SynchronousLoadObserver load_observer(this, web_contents); - RunAsynchronousTest(); - return load_observer.navigation_succeeded(); + HeadlessWebContentsImpl* web_contents_impl = + HeadlessWebContentsImpl::From(web_contents); + content::TestNavigationObserver observer(web_contents_impl->web_contents(), + 1); + observer.Wait(); + return observer.last_navigation_succeeded(); } std::unique_ptr<runtime::EvaluateResult> HeadlessBrowserTest::EvaluateScript(
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd index aef2da7..d6a63bcf 100644 --- a/ios/chrome/app/strings/ios_strings.grd +++ b/ios/chrome/app/strings/ios_strings.grd
@@ -939,9 +939,6 @@ <message name="IDS_IOS_PAYMENT_REQUEST_ADD_METHOD_BUTTON" desc="Label of the button to add a new payment method (credit card) [iOS only]."> Add Card... </message> - <message name="IDS_IOS_PAYMENT_REQUEST_CANCEL_BUTTON" desc="Label of the button to cancel the request for payment presented to the user [iOS only]."> - Cancel - </message> <message name="IDS_IOS_PAYMENT_REQUEST_METHOD_SELECTION_TITLE" desc="Title of the view that allows the user to select the payment method (available credit cards or payment apps) for satisfying a payment request [iOS only]."> Payment </message> @@ -951,18 +948,12 @@ <message name="IDS_IOS_PAYMENT_REQUEST_PAYMENT_ITEMS_TOTAL_FORMAT" desc="The format specifier of the Total label in the payment items in a payment request [iOS only]."> <ph name="FORMATTED_CURRENCY_CODE">$1<ex>USD</ex></ph> <ph name="FORMATTED_TOTAL_AMOUNT">$2<ex>$ 12.34</ex></ph> </message> - <message name="IDS_IOS_PAYMENT_REQUEST_ADD_SHIPPING_ADDRESS_BUTTON" desc="Label of the button to add a shipping address [iOS only]."> - Add - </message> <message name="IDS_IOS_PAYMENT_REQUEST_CHECKING_LABEL" desc="Label showing that the new shipping address or the shipping option is being verified. [iOS only]"> Checking </message> <message name="IDS_IOS_PAYMENT_REQUEST_SHIPPING_ADDRESS_SELECTION_ADD_BUTTON" desc="Label of the button to add a new shipping address [iOS only]."> Add Address... </message> - <message name="IDS_IOS_PAYMENT_REQUEST_PAYMENT_METHOD_HEADER" desc="Label of the header of the section which displays the options (available credit cards or payment apps) for satisfying a payment request [iOS only]."> - Payment - </message> <message name="IDS_IOS_PAYMENT_REQUEST_PAY_BUTTON" desc="Label of the button to confirm that the user wishes to pay for a good or service [iOS only]."> Pay </message>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb index 4369003..71fae70 100644 --- a/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb +++ b/ios/chrome/app/strings/resources/ios_chromium_strings_bn.xtb
@@ -3,7 +3,7 @@ <translationbundle lang="bn"> <translation id="102360288709523007">Google এ ব্যবহারের পরিসংখ্যান এবং ক্র্যাশ প্রতিবেদনগুলি পাঠিয়ে Chromium কে আরো ভাল করে তুলতে সহায়তা করুন।</translation> <translation id="1185134272377778587">Chromium সম্পর্কে</translation> -<translation id="1472013873724362412">আপনার অ্যাকাউন্ট Chromium এ কাজ করে না৷ দয়া করে প্রবেশ করুন করার জন্য আপনার ডোমেন প্রশাসকের সঙ্গে যোগাযোগ করুন বা কোন নিয়মিত Google অ্যাকাউন্ট ব্যবহার করুন৷</translation> +<translation id="1472013873724362412">আপনার অ্যাকাউন্ট Chromium এ কাজ করে না৷ দয়া করে প্রবেশ করার জন্য আপনার ডোমেন প্রশাসকের সঙ্গে যোগাযোগ করুন বা কোন নিয়মিত Google অ্যাকাউন্ট ব্যবহার করুন৷</translation> <translation id="1736662517232558588">Chromium ডেটা সাফ করা হয়েছে</translation> <translation id="1838412507805038478"><ph name="ISSUER" /> যে এই ওয়েবসাইটের শংসাপত্র প্রকাশ করেছে Chromium তা যাচাই করেছে।</translation> <translation id="1843424232666537147">Google Chrome এর এমন বৈশিষ্ট্য রয়েছে যা আপনাকে আপনার ইন্টারনেট ডেটা পরিচালনা করতে এবং কিভাবে আপনি ওয়েবপৃষ্ঠাগুলি দ্রুত লোড করতে সক্ষম হবেন সে বিষয়ে সহায়তা করে। @@ -29,7 +29,7 @@ <translation id="5862307444128926510">Chromium-এ স্বাগতম</translation> <translation id="5945387852661427312">আপনি <ph name="DOMAIN" /> পরিচালিত একটি অ্যাকাউন্টের মাধ্যমে সাইন ইন করছেন এবং এর প্রশাসককে আপনার Chromium ডেটা নিয়ন্ত্রণ করতে দিচ্ছেন৷ আপনার ডেটা এই অ্যাকাউন্টের সাথে স্থায়ীভাবে আবদ্ধ হবে৷ Chromium থেকে সাইন আউট করলে এই ডিভাইস থেকে আপনার ডেটা মুছে ফেলা হবে, কিন্তু এটি আপনার Google অ্যাকাউন্টে সঞ্চিত থাকবে।</translation> <translation id="6068866989048414399">Chromium পরিষেবার শর্তাদি</translation> -<translation id="6268381023930128611">Chromium থেকে প্রস্থান করুন করবেন?</translation> +<translation id="6268381023930128611">Chromium থেকে প্রস্থান করবেন?</translation> <translation id="6424492062988593837">Chrome আরো ভাল হয়েছে! একটি নতুন সংস্করণ উপলব্ধ আছে৷</translation> <translation id="6604711459180487467">আপনার অবস্থানের উপর ভিত্তি করে Chromium এ আরো ভাল অভিজ্ঞতা লাভ করুন৷</translation> <translation id="6989306073720242915">Chromium পছন্দ করেন? <ph name="BEGIN_LINK" />তাহলে আপনার ডকে নিয়ে যান<ph name="END_LINK" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb index 990217e..8f5dbb6 100644 --- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb +++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_bn.xtb
@@ -12,7 +12,7 @@ <translation id="257708665678654955">আপনি কি পরবর্তী বারে এই সাইটটির <ph name="LANGUAGE_NAME" /> পৃষ্ঠাগুলিকে অনুবাদ করে দেওয়ার জন্য Google Chrome কে বলতে চান?</translation> <translation id="3148434565183091099">সব ডিভাইসে আপনার বুকমার্কগুলি পেতে, Chrome এ প্রবেশ করুন।</translation> <translation id="3148688391461398285">আপনার অবস্থানের উপর ভিত্তি করে Chrome এ একটি ভাল অভিজ্ঞতা লাভ করুন৷</translation> -<translation id="3167189358072330585">আপনার অ্যাকাউন্ট Google Chrome এ কাজ করে না৷ দয়া করে প্রবেশ করুন করার জন্য আপনার ডোমেন প্রশাসকের সঙ্গে যোগাযোগ করুন বা কোন নিয়মিত Google অ্যাকাউন্ট ব্যবহার করুন৷</translation> +<translation id="3167189358072330585">আপনার অ্যাকাউন্ট Google Chrome এ কাজ করে না৷ দয়া করে প্রবেশ করার জন্য আপনার ডোমেন প্রশাসকের সঙ্গে যোগাযোগ করুন বা কোন নিয়মিত Google অ্যাকাউন্ট ব্যবহার করুন৷</translation> <translation id="3196546062792660320">Chrome আপনার অ্যাকাউন্টগুলিকে ওয়েবে নিয়ে এসে আপনার সময় বাঁচায়। আপনি সেটিংস থেকে অ্যাকাউন্ট জুড়তে বা সরাতে পারবেন।</translation> <translation id="3282568296779691940">Chrome-এ প্রবেশ করুন</translation> <translation id="3345341804167540816">Chrome সব জায়গায় ব্যবহার করুন</translation> @@ -24,7 +24,7 @@ <translation id="3988789688219830639">আপনার ছবি বা ভিডিওতে Google Chrome এর অ্যাক্সেস নেই। iOS সেটিংস > গোপনীয়তা > ফটোগুলিতে অ্যাক্সেস সক্ষম করুন।</translation> <translation id="4099578267706723511">Google-এ ব্যবহারের পরিসংখ্যান এবং ক্র্যাশ প্রতিবেদনগুলি পাঠিয়ে Chrome কে আরো ভাল করে তুলতে সহায়তা করুন৷</translation> <translation id="415767770115540173">আপনার অবস্থানের উপর ভিত্তি করে Chrome এ আরো ভাল Google অভিজ্ঞতা পান।</translation> -<translation id="424864128008805179">Chrome থেকে প্রস্থান করুন করবেন?</translation> +<translation id="424864128008805179">Chrome থেকে প্রস্থান করবেন?</translation> <translation id="4523886039239821078">কিছু অ্যাড-অনের কারণে Chrome ক্র্যাশ করতে পারে৷ দয়া করে আনইনস্টল করুন:</translation> <translation id="4615174829807303908"><ph name="SIGNOUT_MANAGED_DOMAIN" /> পরিচালিত একটি অ্যাকাউন্ট থেকে আপনি প্রস্থান করুন করছেন৷ এটি এই ডিভাইস থেকে আপনার Chrome ডেটা মুছে ফেলবে, কিন্তু আপনার Google অ্যাকাউন্টে ডেটা থেকে যাবে৷</translation> <translation id="5389212809648216794">Google Chrome আপনার ক্যামেরা ব্যবহার করতে পারছে না কারণ এটি অন্য একটি অ্যাপ্লিকেশান দ্বারা ব্যবহার করা হচ্ছে</translation> @@ -44,7 +44,7 @@ <translation id="728488472449859922">Google Chrome QR স্ক্যানার চালু করুন</translation> <translation id="7311395200710390977">দ্রুততর অ্যাক্সেসের জন্য, <ph name="BEGIN_LINK" />Chrome কে আপনার ডকে সরান<ph name="END_LINK" /></translation> <translation id="7400722733683201933">Google Chrome সম্বন্ধে</translation> -<translation id="7437998757836447326">Chrome থেকে প্রস্থান করুন করুন</translation> +<translation id="7437998757836447326">Chrome থেকে প্রস্থান করুন</translation> <translation id="756809126120519699">Chrome ডেটা সাফ হয়েছে</translation> <translation id="7626032353295482388">Chrome এ স্বাগতম</translation> <translation id="840168496893712993">কিছু অ্যাড-অনের কারণে Chrome ক্র্যাশ করতে পারে৷ দয়া করে সেগুলিকে আনইনস্টল করার চেষ্টা করুন৷</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb index 702a845..6335799 100644 --- a/ios/chrome/app/strings/resources/ios_strings_am.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">ድረ-ገጾችን አስቀድመው ይጫኑ</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> ላይ ዕልባት ተደርጓል</translation> <translation id="3692781555820666866">በሚነቃበት ጊዜ፣ ኦምኒቦክሱ ከእርስዎ አቅራቢያ ባሉ መሣሪያዎች ለተሰራጩ የድር ገጾች የጥቆማ ሐሳቦችን ያካትታል።</translation> -<translation id="3706658020782046159">የመላኪያ ዘዴዎችን እና መስፍርቶችን ለማረጋገጥ የመላኪያ አድራሻ ይምረጡ።</translation> <translation id="3738139272394829648">ለመፈለግ ይንኩ</translation> <translation id="3771033907050503522">ማንነት የማያሳውቁ ትሮች</translation> <translation id="3783017676699494206">ምስሉን አስቀምጥ</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">በይነመረብ</translation> <translation id="5198972191746488848">ካርድ ያክሉ...</translation> <translation id="5228579091201413441">ማመሳሰልን አንቃ</translation> -<translation id="5230733896359313003">የሚላክበት አድራሻ</translation> <translation id="5244474230056479698">ከ<ph name="EMAIL" /> ጋር በማስመር ላይ</translation> <translation id="5300589172476337783">አሳይ</translation> <translation id="5317780077021120954">አስቀምጥ</translation> <translation id="5327248766486351172">ስም</translation> -<translation id="5332219387342487447">የመላኪያ መንገድ</translation> <translation id="5388358297987318779">ምስል ክፈት</translation> <translation id="5409365236829784218">ይህን ፋይል መክፈት የሚችሉ መተግበሪያዎች አልተጫኑም።</translation> <translation id="54401264925851789">የገጽ ደህንነት መረጃ</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">እገዛ</translation> <translation id="7658239707568436148">ይቅር</translation> <translation id="7671141431838911305">ጫን</translation> -<translation id="7682287625158474539">ዕቃን የማጓጓዝ ስራ</translation> <translation id="7765158879357617694">ውሰድ</translation> <translation id="7769602470925380267">ተቀበልና ዘግተህ ውጣ</translation> <translation id="7772032839648071052">የይለፍ ሐረግ ያረጋግጡ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb index d582b06..84e285a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">تحميل صفحات الويب مسبقًا</translation> <translation id="3691593122358196899">أُضيفَت إشارة مرجعية إلى <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">عند التمكين، سوف يتضمن المربّع متعدد الاستخدامات اقتراحات لبث صفحات الويب من الأجهزة القريبة منك.</translation> -<translation id="3706658020782046159">اختر عنوان شحن للتحقّق من متطلبات وطرق الشحن.</translation> <translation id="3738139272394829648">المس للبحث</translation> <translation id="3771033907050503522">علامات تبويب التصفح المتخفي</translation> <translation id="3783017676699494206">حفظ الصورة</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">الإنترنت</translation> <translation id="5198972191746488848">جارٍ إضافة بطاقة...</translation> <translation id="5228579091201413441">تمكين المزامنة</translation> -<translation id="5230733896359313003">عنوان الشحن</translation> <translation id="5244474230056479698">المزامنة مع <ph name="EMAIL" /></translation> <translation id="5300589172476337783">عرض</translation> <translation id="5317780077021120954">حفظ</translation> <translation id="5327248766486351172">الاسم</translation> -<translation id="5332219387342487447">طريقة الشحن</translation> <translation id="5388358297987318779">فتح الصورة</translation> <translation id="5409365236829784218">لا تتوفر تطبيقات مثبتة يمكن من خلالها فتح هذا الملف.</translation> <translation id="54401264925851789">معلومات أمان الصفحة</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">مساعدة</translation> <translation id="7658239707568436148">إلغاء</translation> <translation id="7671141431838911305">تثبيت</translation> -<translation id="7682287625158474539">الشحن</translation> <translation id="7765158879357617694">نقل</translation> <translation id="7769602470925380267">قبول وتسجيل الخروج</translation> <translation id="7772032839648071052">تأكيد عبارة المرور</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb index e7e3086..0818f17 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Предв. зареждане на уеб стр.</translation> <translation id="3691593122358196899">Отметката бе запазена в/ъв „<ph name="FOLDER_TITLE" />“</translation> <translation id="3692781555820666866">Когато флагът е активиран, полето за всичко ще включва предложения за уеб страници, излъчвани от устройства близо до вас.</translation> -<translation id="3706658020782046159">Изберете адрес за доставка, за да проверите начините и изискванията за доставяне.</translation> <translation id="3738139272394829648">Търсене чрез докосване</translation> <translation id="3771033907050503522">Раздели „инкогнито“</translation> <translation id="3783017676699494206">Запазване на изобрaжението</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Интернет</translation> <translation id="5198972191746488848">Добавяне на карта...</translation> <translation id="5228579091201413441">Активиране на синхронизирането</translation> -<translation id="5230733896359313003">Адрес за доставка</translation> <translation id="5244474230056479698">Синхронизира се със: <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Показване</translation> <translation id="5317780077021120954">Запазване</translation> <translation id="5327248766486351172">Име</translation> -<translation id="5332219387342487447">Начин за доставка</translation> <translation id="5388358297987318779">Отваряне на изображението</translation> <translation id="5409365236829784218">Няма инсталирани приложения, които могат да отворят файла.</translation> <translation id="54401264925851789">Информация за сигурността на страницата</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Помощ</translation> <translation id="7658239707568436148">Отказ</translation> <translation id="7671141431838911305">INSTALL</translation> -<translation id="7682287625158474539">Адрес за доставка</translation> <translation id="7765158879357617694">Преместване</translation> <translation id="7769602470925380267">Приемане и излизане от профила</translation> <translation id="7772032839648071052">Потвърдете пропуска</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb index c3d056c..ea419f5 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -108,7 +108,7 @@ <translation id="2921219216347069551">পৃষ্ঠা শেয়ার করা যায়নি</translation> <translation id="292639812446257861">অপঠিত হিসেবে চিহ্নিত করুন</translation> <translation id="2933759065870693102">টর্চ</translation> -<translation id="2969979262385602596">প্রবেশ করুন করতে ব্যর্থ হয়েছে৷ দয়া করে পরে আবার চেষ্টা করুন৷</translation> +<translation id="2969979262385602596">প্রবেশ করতে ব্যর্থ হয়েছে৷ দয়া করে পরে আবার চেষ্টা করুন৷</translation> <translation id="2989805286512600854">নতুন ট্যাবে খুলুন</translation> <translation id="3024255823539804759">গত দিন</translation> <translation id="3037605927509011580">ইস!</translation> @@ -150,7 +150,6 @@ <translation id="3638472932233958418">পূর্বলোড ওয়েবপৃষ্ঠা</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> এ বুকমার্ক করা হয়েছে</translation> <translation id="3692781555820666866">সক্ষম করা হলে, বহুউপযোগী ক্ষেত্র আপনার আশেপাশের ডিভাইসের জন্য ওয়েব পৃষ্ঠা সমপ্রচারগুলির পরামর্শ অন্তর্ভুক্ত করা হবে।</translation> -<translation id="3706658020782046159">শিপিংয়ের পদ্ধতি ও প্রয়োজনীয়তাগুলি দেখার জন্য পাঠানোর একটি ঠিকানা নির্বাচন করুন।</translation> <translation id="3738139272394829648">স্পর্শের মাধ্যমে অনুসন্ধান</translation> <translation id="3771033907050503522">ছদ্মবেশী ট্যাবগুলি</translation> <translation id="3783017676699494206">চিত্র সংরক্ষণ করুন</translation> @@ -183,7 +182,7 @@ <translation id="4620246317052452550">আপনি যেসব পৃষ্ঠা পড়েছেন</translation> <translation id="4636930964841734540">তথ্য</translation> <translation id="4659667755519643272">ট্যাব পরিবর্তনকারী আনুন</translation> -<translation id="4666531726415300315"><ph name="EMAIL" /> হিসেবে প্রবেশ করুন করেছেন। +<translation id="4666531726415300315"><ph name="EMAIL" /> হিসেবে প্রবেশ করেছেন। আপনার সিঙ্ক পাসফ্রেজের মাধ্যমে আপনার ডেটা এনক্রিপটেড হয়েছে। সিঙ্ক শুরু করতে এটি লিখুন।</translation> <translation id="473775607612524610">আপডেট</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">ইন্টারনেট</translation> <translation id="5198972191746488848">কার্ড যোগ করুন...</translation> <translation id="5228579091201413441">সিঙ্ক সক্ষম করুন</translation> -<translation id="5230733896359313003">শিপিংয়ের ঠিকানা</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> এ সিঙ্ক হচ্ছে</translation> <translation id="5300589172476337783">দেখান</translation> <translation id="5317780077021120954">সংরক্ষণ করুন</translation> <translation id="5327248766486351172">নাম</translation> -<translation id="5332219387342487447">শিপিংয়ের মাধ্যম</translation> <translation id="5388358297987318779">চিত্র খুলুন</translation> <translation id="5409365236829784218">এই ফাউলটি খুলতে পারে এমন কোনো অ্যাপ্লিকেশন এখানে ডাউনলোড করা নেই৷</translation> <translation id="54401264925851789">পৃষ্ঠা নিরাপত্তা তথ্য</translation> @@ -231,7 +228,7 @@ <translation id="5659593005791499971">ইমেল</translation> <translation id="5669528293118408608">www</translation> <translation id="567881659373499783">সংস্করণ <ph name="PRODUCT_VERSION" /></translation> -<translation id="5728700505257787410">দুঃখিত, আপনার অ্যাকাউন্টে প্রবেশ করুন করার সময় একটি সমস্যা হয়েছে৷</translation> +<translation id="5728700505257787410">দুঃখিত, আপনার অ্যাকাউন্টে প্রবেশ করার সময় একটি সমস্যা হয়েছে৷</translation> <translation id="5737974891429562743">অ্যাকাউন্ট সাইন-ইনের বিশদ বিবরণ পুরনো হয়ে গেছে। সিঙ্ক শুরু করার জন্য আপডেট করুন।</translation> <translation id="5738887413654608789">এই আদেশটি আপনার পারিপার্শ্বিক পরিবেশের উপর নির্ভর করে ওয়েব পৃষ্ঠার খোঁজ করতে দেয়।</translation> <translation id="5771816112378578655">সেটআপ চলছে...</translation> @@ -282,7 +279,7 @@ <translation id="6389470377220713856">কার্ডে থাকা নাম</translation> <translation id="6406506848690869874">সিঙ্ক</translation> <translation id="6417838470969808600">আপনার জন্য <ph name="USER_EMAIL1" /> থেকে বুকমার্কস, ইতিহাস, পাসওয়ার্ড এবং অন্যান্য সেটিংস রয়েছে।</translation> -<translation id="641799622251403418"><ph name="EMAIL" /> হিসেবে প্রবেশ করুন করেছেন। +<translation id="641799622251403418"><ph name="EMAIL" /> হিসেবে প্রবেশ করেছেন। আপনার সিঙ্ক পাসফ্রেজের মাধ্যমে আপনার ডেটা <ph name="TIME" /> এ এনক্রিপটেড হয়েছে। সিঙ্ক শুরু করতে এটি লিখুন।</translation> <translation id="6418346271604475326">PDF প্রস্তুত হচ্ছে</translation> @@ -344,9 +341,8 @@ <translation id="7649070708921625228">সহায়তা</translation> <translation id="7658239707568436148">বাতিল</translation> <translation id="7671141431838911305">ইনস্টল করুন</translation> -<translation id="7682287625158474539">শিপিং</translation> <translation id="7765158879357617694">সরান</translation> -<translation id="7769602470925380267">স্বীকার করে প্রস্থান করুন করুন</translation> +<translation id="7769602470925380267">স্বীকার করে প্রস্থান করুন</translation> <translation id="7772032839648071052">পাসফ্রেজ নিশ্চিত করুন</translation> <translation id="7791543448312431591">যুক্ত করুন</translation> <translation id="780301667611848630">না থাক</translation> @@ -397,16 +393,16 @@ <translation id="8775144690796719618">অবৈধ URL</translation> <translation id="8820817407110198400">বুকমার্কস</translation> <translation id="882482397944455431">ছদ্মবেশী মোড ত্যাগ করুন</translation> -<translation id="8840513115188359703">আপনাকে আপনার Google অ্যাকাউন্ট থেকে প্রস্থান করুন করা হবে না।</translation> +<translation id="8840513115188359703">আপনাকে আপনার Google অ্যাকাউন্ট থেকে প্রস্থান করা হবে না।</translation> <translation id="8904976895050290827">Chrome Sync</translation> <translation id="895541991026785598">কোনও সমস্যা অভিযোগ করুন</translation> <translation id="8971089644512329999">ঠিক আছে, বুঝেছি!</translation> <translation id="8981454092730389528">Google কার্যকলাপের নিয়ন্ত্রণগুলি</translation> -<translation id="8985320356172329008">এই হিসাবে Google এ প্রবেশ করুন করেছেন</translation> +<translation id="8985320356172329008">এই হিসাবে Google এ প্রবেশ করেছেন</translation> <translation id="902659348151742535">অনুসন্ধান, বিজ্ঞাপন এবং অন্যান্য Google পরিষেবা ব্যক্তিগতকৃত করতে Google আপনার ব্রাউজিং ইতিহাস ব্যবহার করতে পারে।</translation> -<translation id="9034759925968272072">আপনাকে আপনার Google অ্যাকাউন্ট থেকে প্রস্থান করুন করা হবে না। আপনার Google অ্যাকাউন্টের অন্যান্য ধরনের ব্রাউজিং ইতিহাস <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> এ থাকতে পারে।</translation> +<translation id="9034759925968272072">আপনাকে আপনার Google অ্যাকাউন্ট থেকে প্রস্থান করা হবে না। আপনার Google অ্যাকাউন্টের অন্যান্য ধরনের ব্রাউজিং ইতিহাস <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> এ থাকতে পারে।</translation> <translation id="9039373489628511875">ব্যান্ডউইথ</translation> -<translation id="9055772144595778347">প্রবেশ করুন করা যচ্ছে না</translation> +<translation id="9055772144595778347">প্রবেশ করা যাচ্ছে না</translation> <translation id="9065203028668620118">সম্পাদনা</translation> <translation id="9079935439869366234">সমস্ত অপঠিত হিসেবে চিহ্নিত করুন</translation> <translation id="9080712759204168376">অর্ডারের সারসংক্ষেপ</translation> @@ -415,7 +411,7 @@ <translation id="9148126808321036104">আবার প্রবেশ করুন</translation> <translation id="9154194610265714752">আপডেট রয়েছে</translation> <translation id="9157836665414082580">ডায়ালগ রুদ্ধ করুন</translation> -<translation id="9188680907066685419">পরিচালিত অ্যাকাউন্ট থেকে প্রস্থান করুন করুন</translation> +<translation id="9188680907066685419">পরিচালিত অ্যাকাউন্ট থেকে প্রস্থান করুন</translation> <translation id="9203116392574189331">Handoff</translation> <translation id="9223358826628549784">ক্র্যাশ প্রতিবেদন পাঠানো হয়েছে৷</translation> <translation id="935490618240037774">আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস আপনার Google অ্যাকাউন্টে সিঙ্ক হবে যাতে আপনি আপনার সমস্ত ডিভাইসে সেগুলি ব্যবহার করতে পারেন।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb index 19b93f5..c8aadae9 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Càrrega prèvia de pàgines web</translation> <translation id="3691593122358196899">Adreça d'interès afegida a <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Quan s'activi, l'omnibox inclourà suggeriments de pàgines web emeses pels dispositius que tinguis a prop.</translation> -<translation id="3706658020782046159">Selecciona una adreça d'enviament per veure els mètodes d'enviament i els requisits.</translation> <translation id="3738139272394829648">Toca per cercar</translation> <translation id="3771033907050503522">Pestanyes d'incògnit</translation> <translation id="3783017676699494206">Desa la imatge</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Afegeix una targeta…</translation> <translation id="5228579091201413441">Activa la sincronització</translation> -<translation id="5230733896359313003">Adreça d'enviament</translation> <translation id="5244474230056479698">S'està sincronitzant amb <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Mostra</translation> <translation id="5317780077021120954">Desa</translation> <translation id="5327248766486351172">Nom</translation> -<translation id="5332219387342487447">Mètode d'enviament</translation> <translation id="5388358297987318779">Obre una imatge</translation> <translation id="5409365236829784218">Cap aplicació instal·lada no pot obrir el fitxer.</translation> <translation id="54401264925851789">Informació de seguretat de la pàgina</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ajuda</translation> <translation id="7658239707568436148">Cancel·la</translation> <translation id="7671141431838911305">INSTAL·LA</translation> -<translation id="7682287625158474539">Enviament</translation> <translation id="7765158879357617694">Desplaça</translation> <translation id="7769602470925380267">Accepta i tanca la sessió</translation> <translation id="7772032839648071052">Confirmeu la frase de contrasenya</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb index 6019a096..b89d2c7 100644 --- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Přednačítat stránky</translation> <translation id="3691593122358196899">Záložka přidána do složky <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Pokud je tento příznak aktivován, bude omnibox zahrnovat návrhy webových stránek, které jsou vysílány zařízeními v okolí.</translation> -<translation id="3706658020782046159">Chcete-li zobrazit způsoby dopravy a požadavky, vyberte dodací adresu.</translation> <translation id="3738139272394829648">Vyhledání klepnutím</translation> <translation id="3771033907050503522">Anonymní karty</translation> <translation id="3783017676699494206">Uložit obrázek</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Přidat kartu...</translation> <translation id="5228579091201413441">Aktivace synchronizace</translation> -<translation id="5230733896359313003">Dodací adresa</translation> <translation id="5244474230056479698">Údaje se synchronizují do účtu <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Zobrazit</translation> <translation id="5317780077021120954">Uložit</translation> <translation id="5327248766486351172">Název</translation> -<translation id="5332219387342487447">Způsob dopravy</translation> <translation id="5388358297987318779">Otevřít obrázek</translation> <translation id="5409365236829784218">Nemáte nainstalovanou žádnou aplikaci, která by tento soubor uměla otevřít.</translation> <translation id="54401264925851789">Informace o zabezpečení stránky</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Nápověda</translation> <translation id="7658239707568436148">Zrušit</translation> <translation id="7671141431838911305">INSTALOVAT</translation> -<translation id="7682287625158474539">Doprava</translation> <translation id="7765158879357617694">Přesunout</translation> <translation id="7769602470925380267">Přijmout a odhlásit se</translation> <translation id="7772032839648071052">Potvrďte heslovou frázi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb index afa6bda8..5bd170a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_da.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Forudindlæs websider</translation> <translation id="3691593122358196899">Bogmærket er gemt i <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Når Fysisk web er aktiveret, medtager omnifeltet websideforslag, som enheder i nærheden af dig udsender.</translation> -<translation id="3706658020782046159">Vælg en leveringsadresse for at se forsendelsesmetoder og -krav.</translation> <translation id="3738139272394829648">Tryk for at søge</translation> <translation id="3771033907050503522">Inkognitofaner</translation> <translation id="3783017676699494206">Gem billede</translation> @@ -211,20 +210,18 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Tilføj kort...</translation> <translation id="5228579091201413441">Aktivér synkronisering</translation> -<translation id="5230733896359313003">Leveringsadresse</translation> <translation id="5244474230056479698">Synkroniserer til <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Vis</translation> <translation id="5317780077021120954">Gem</translation> <translation id="5327248766486351172">Navn</translation> -<translation id="5332219387342487447">Leveringsmetode</translation> <translation id="5388358297987318779">Åbn billede</translation> <translation id="5409365236829784218">Der er ingen installerede apps, der kan åbne denne fil.</translation> <translation id="54401264925851789">Oplysninger om sidesikkerhed</translation> <translation id="5525269841082836315">Opret adgangssætning</translation> <translation id="5531274207066050939">Google Payments</translation> -<translation id="5548760955356983418">Med Videregivelse kan du begynde at se på et website på denne enhed og derefter nemt fortsætte på din Mac. Det website, du har åbent, vises i docken på din Mac. +<translation id="5548760955356983418">Med Handoff kan du begynde at se på et website på denne enhed og derefter nemt fortsætte på din Mac. Det website, du har åbent, vises i docken på din Mac. -Videregivelse skal være aktiveret i afsnittet Generelt i Indstillinger, og dine enheder skal benytte den samme iCloud-konto.</translation> +Handoff skal være aktiveret i afsnittet Generelt i Indstillinger, og dine enheder skal benytte den samme iCloud-konto.</translation> <translation id="5556459405103347317">Genindlæs</translation> <translation id="5626245204502895507">Filen kunne ikke downloades på nuværende tidspunkt.</translation> <translation id="5659593005791499971">E-mail</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Hjælp</translation> <translation id="7658239707568436148">Annuller</translation> <translation id="7671141431838911305">INSTALLER</translation> -<translation id="7682287625158474539">Forsendelse</translation> <translation id="7765158879357617694">Flyt</translation> <translation id="7769602470925380267">Acceptér, og log ud</translation> <translation id="7772032839648071052">Bekræft adgangssætning</translation> @@ -415,7 +411,7 @@ <translation id="9154194610265714752">Opdateret</translation> <translation id="9157836665414082580">Skjul dialogbokse</translation> <translation id="9188680907066685419">Log ud af den administrerede konto</translation> -<translation id="9203116392574189331">Videregivelse</translation> +<translation id="9203116392574189331">Handoff</translation> <translation id="9223358826628549784">Der er sendt en nedbrudsrapport.</translation> <translation id="935490618240037774">Dine bogmærker, din historik, dine adgangskoder og andre indstillinger synkroniseres med din Google-konto, så du kan bruge dem på alle dine enheder.</translation> <translation id="939598580284253335">Angiv adgangssætning</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb index 51b17a3d..41a72e6 100644 --- a/ios/chrome/app/strings/resources/ios_strings_de.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Webseiten vorabladen</translation> <translation id="3691593122358196899">Als Lesezeichen in "<ph name="FOLDER_TITLE" />" gespeichert</translation> <translation id="3692781555820666866">Wenn Physical Web aktiviert ist, enthält die Omnibox Vorschläge für Webseiten, die von Geräten in Ihrer Nähe übertragen werden.</translation> -<translation id="3706658020782046159">Wählen Sie eine Versandadresse aus, um die Versandmethoden und -anforderungen zu sehen.</translation> <translation id="3738139272394829648">Zum Suchen tippen</translation> <translation id="3771033907050503522">Inkognito-Tabs</translation> <translation id="3783017676699494206">Bild speichern</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Karte hinzufügen...</translation> <translation id="5228579091201413441">Synchronisierung aktivieren</translation> -<translation id="5230733896359313003">Versandadresse</translation> <translation id="5244474230056479698">Mit <ph name="EMAIL" /> synchronisieren</translation> <translation id="5300589172476337783">Anzeigen</translation> <translation id="5317780077021120954">Speichern</translation> <translation id="5327248766486351172">Name</translation> -<translation id="5332219387342487447">Versandart</translation> <translation id="5388358297987318779">Bild öffnen</translation> <translation id="5409365236829784218">Es sind keine Apps inst., die diese Datei öffnen können.</translation> <translation id="54401264925851789">Sicherheitsinformationen zur Seite</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Hilfe</translation> <translation id="7658239707568436148">Abbrechen</translation> <translation id="7671141431838911305">Installieren</translation> -<translation id="7682287625158474539">Versand</translation> <translation id="7765158879357617694">Verschieben</translation> <translation id="7769602470925380267">Akzeptieren und abmelden</translation> <translation id="7772032839648071052">Passphrase bestätigen</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb index cc1c3381..03d2020c 100644 --- a/ios/chrome/app/strings/resources/ios_strings_el.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Προφόρτ. ιστοσελίδων</translation> <translation id="3691593122358196899">Ο σελιδοδείκτης είναι στο "<ph name="FOLDER_TITLE" />"</translation> <translation id="3692781555820666866">Όταν είναι ενεργοποιημένο, το κύριο πλαίσιο θα περιλαμβάνει προτάσεις για ιστοσελίδες που μεταδίδονται από συσκευές που βρίσκονται κοντά σας.</translation> -<translation id="3706658020782046159">Επιλέξτε μια διεύθυνση αποστολής, για να ελέγξετε τους τρόπους και τις απαιτήσεις αποστολής.</translation> <translation id="3738139272394829648">Αγγίξτε για αναζήτηση</translation> <translation id="3771033907050503522">Καρτ.αν.περιήγ.</translation> <translation id="3783017676699494206">Αποθήκευση εικόνας</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Προσθήκη κάρτας…</translation> <translation id="5228579091201413441">Ενεργοποίηση συγχρονισμού</translation> -<translation id="5230733896359313003">Διεύθυνση αποστολής</translation> <translation id="5244474230056479698">Συγχρονισμός με <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Εμφάνιση</translation> <translation id="5317780077021120954">Αποθήκευση</translation> <translation id="5327248766486351172">Όνομα</translation> -<translation id="5332219387342487447">Μέθοδος αποστολής</translation> <translation id="5388358297987318779">Άνοιγμα εικόνας</translation> <translation id="5409365236829784218">Δεν υπάρχουν εγκατεστ. εφαρμογές για το άνοιγμα του αρχείου</translation> <translation id="54401264925851789">Πληροφορίες ασφάλειας σελίδας</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Βοήθεια</translation> <translation id="7658239707568436148">Ακύρωση</translation> <translation id="7671141431838911305">ΕΓΚΑΤΑΣΤΑΣΗ</translation> -<translation id="7682287625158474539">Αποστολή</translation> <translation id="7765158879357617694">Μεταφορά</translation> <translation id="7769602470925380267">Αποδοχή και αποσύνδεση</translation> <translation id="7772032839648071052">Επιβεβαίωση φράσης πρόσβασης</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb index 60de0af43..7c22263 100644 --- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pre-load Web Pages</translation> <translation id="3691593122358196899">Bookmarked to <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">When enabled, the omnibox will include suggestions for web pages broadcast by devices near you.</translation> -<translation id="3706658020782046159">Select a delivery address to check delivery methods and requirements.</translation> <translation id="3738139272394829648">Touch to Search</translation> <translation id="3771033907050503522">Incognito Tabs</translation> <translation id="3783017676699494206">Save Image</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Add Card...</translation> <translation id="5228579091201413441">Enable sync</translation> -<translation id="5230733896359313003">Delivery Address</translation> <translation id="5244474230056479698">Syncing to <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Show</translation> <translation id="5317780077021120954">Save</translation> <translation id="5327248766486351172">Name</translation> -<translation id="5332219387342487447">Delivery Method</translation> <translation id="5388358297987318779">Open Image</translation> <translation id="5409365236829784218">There are no applications installed that can open this file.</translation> <translation id="54401264925851789">Page Security Info</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Help</translation> <translation id="7658239707568436148">Cancel</translation> <translation id="7671141431838911305">INSTALL</translation> -<translation id="7682287625158474539">Shipping</translation> <translation id="7765158879357617694">Move</translation> <translation id="7769602470925380267">Accept and sign out</translation> <translation id="7772032839648071052">Confirm passphrase</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb index f3a2e51..c6e9f576 100644 --- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Precargar pág. web</translation> <translation id="3691593122358196899">Se agregó a favoritos en <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Cuando está habilitado, el cuadro multifunción incluirá sugerencias para páginas web que transmiten dispositivos cercanos.</translation> -<translation id="3706658020782046159">Selecciona una dirección de envío para comprobar los métodos y requisitos de envío.</translation> <translation id="3738139272394829648">Tocar para buscar</translation> <translation id="3771033907050503522">Pestañas de incógnito</translation> <translation id="3783017676699494206">Guardar imagen</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Agregar tarjeta…</translation> <translation id="5228579091201413441">Habilitar sincronización</translation> -<translation id="5230733896359313003">Dirección de envío</translation> <translation id="5244474230056479698">Sincronizando con <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Mostrar</translation> <translation id="5317780077021120954">Guardar</translation> <translation id="5327248766486351172">Nombre</translation> -<translation id="5332219387342487447">Método de envío</translation> <translation id="5388358297987318779">Abrir imagen</translation> <translation id="5409365236829784218">No se instalaron aplicaciones que puedan abrir este archivo.</translation> <translation id="54401264925851789">Información de seguridad de la página</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ayuda</translation> <translation id="7658239707568436148">Cancelar</translation> <translation id="7671141431838911305">INSTALAR</translation> -<translation id="7682287625158474539">Envío</translation> <translation id="7765158879357617694">Mover</translation> <translation id="7769602470925380267">Aceptar y salir</translation> <translation id="7772032839648071052">Confirmar frase de contraseña</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb index 33e251fb..d5398d2e 100644 --- a/ios/chrome/app/strings/resources/ios_strings_es.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Precargar páginas web</translation> <translation id="3691593122358196899">Marcador añadido a <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Si se habilita, el omnibox incluirá sugerencias de las páginas web que envíen dispositivos cercanos.</translation> -<translation id="3706658020782046159">Selecciona una dirección de envío para consultar los métodos de envío y los requisitos.</translation> <translation id="3738139272394829648">Tocar para Buscar</translation> <translation id="3771033907050503522">Pestañas incógnito</translation> <translation id="3783017676699494206">Guardar imagen</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Añadir tarjeta...</translation> <translation id="5228579091201413441">Habilitar sincronización</translation> -<translation id="5230733896359313003">Dirección de envío</translation> <translation id="5244474230056479698">Sincronizando con <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Mostrar</translation> <translation id="5317780077021120954">Guardar</translation> <translation id="5327248766486351172">Nombre</translation> -<translation id="5332219387342487447">Método de envío</translation> <translation id="5388358297987318779">Abrir imagen</translation> <translation id="5409365236829784218">Ninguna aplicación instalada puede abrir este archivo.</translation> <translation id="54401264925851789">Información de seguridad de la página</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ayuda</translation> <translation id="7658239707568436148">Cancelar</translation> <translation id="7671141431838911305">INSTALAR</translation> -<translation id="7682287625158474539">Dirección de envío</translation> <translation id="7765158879357617694">Mover</translation> <translation id="7769602470925380267">Aceptar y cerrar sesión</translation> <translation id="7772032839648071052">Repite la contraseña</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb index b6a1173a..f845f55c 100644 --- a/ios/chrome/app/strings/resources/ios_strings_et.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Lehtede eellaadimine</translation> <translation id="3691593122358196899">Lisatud järjehoidjana kausta <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Kui funktsioon on lubatud, soovitab omnikastike veebilehti, mida levitavad lähedal asuvad seadmed.</translation> -<translation id="3706658020782046159">Tarneviiside ja nõuete vaatamiseks valige tarneaadress.</translation> <translation id="3738139272394829648">Puudutage otsimiseks</translation> <translation id="3771033907050503522">Inkogn. vahelehed</translation> <translation id="3783017676699494206">Salvesta kujutis</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Lisa kaart …</translation> <translation id="5228579091201413441">Sünkroonimise lubamine</translation> -<translation id="5230733896359313003">Tarneaadress</translation> <translation id="5244474230056479698">Sünkroonimine aadressiga <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Kuva</translation> <translation id="5317780077021120954">Salvesta</translation> <translation id="5327248766486351172">Nimi</translation> -<translation id="5332219387342487447">Tarneviis</translation> <translation id="5388358297987318779">Ava kujutis</translation> <translation id="5409365236829784218">Pole installitud rakendust, mis suudaks selle faili avada.</translation> <translation id="54401264925851789">Lehe turvateave</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Abi</translation> <translation id="7658239707568436148">Tühista</translation> <translation id="7671141431838911305">INSTALLI</translation> -<translation id="7682287625158474539">Kohaletoimetamine</translation> <translation id="7765158879357617694">Liiguta</translation> <translation id="7769602470925380267">Nõustu ja logi välja</translation> <translation id="7772032839648071052">Kinnitage parool</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb index 4e18a911f..223470f 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -151,7 +151,6 @@ <translation id="3638472932233958418">صفحات وب از پیش بارگیری شده</translation> <translation id="3691593122358196899">نشانک به <ph name="FOLDER_TITLE" /> اضافه شد</translation> <translation id="3692781555820666866">omnibox، درصورت فعال بودن، پیشنهاداتی برای پخش صفحههای وب توسط دستگاههای نزدیک شما ارائه میدهد.</translation> -<translation id="3706658020782046159">برای بررسی شرایط لازم و روشهای تحویل کالا، آدرس تحویل کالا را انتخاب کنید.</translation> <translation id="3738139272394829648">لمس کردن برای جستجو</translation> <translation id="3771033907050503522">برگههای ناشناس</translation> <translation id="3783017676699494206">ذخیره تصویر</translation> @@ -212,12 +211,10 @@ <translation id="5197255632782567636">اینترنت</translation> <translation id="5198972191746488848">افزودن کارت…</translation> <translation id="5228579091201413441">فعال کردن همگامسازی</translation> -<translation id="5230733896359313003">نشانی تحویل کالا</translation> <translation id="5244474230056479698">درحال همگامسازی در <ph name="EMAIL" /></translation> <translation id="5300589172476337783">نمایش</translation> <translation id="5317780077021120954">ذخیره</translation> <translation id="5327248766486351172">نام</translation> -<translation id="5332219387342487447">روش ارسال کالا</translation> <translation id="5388358297987318779">بازکردن تصویر</translation> <translation id="5409365236829784218">برنامهای که بتواند این فایل را باز کند در سیستم نصب نشده است.</translation> <translation id="54401264925851789">اطلاعات امنیتی صفحه</translation> @@ -344,7 +341,6 @@ <translation id="7649070708921625228">راهنما</translation> <translation id="7658239707568436148">لغو</translation> <translation id="7671141431838911305">نصب</translation> -<translation id="7682287625158474539">ارسال</translation> <translation id="7765158879357617694">انتقال</translation> <translation id="7769602470925380267">پذیرش و خروج از سیستم</translation> <translation id="7772032839648071052">تأیید عبارت عبور</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb index 9c78841f..0416a2d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Esilataa verkkosivut</translation> <translation id="3691593122358196899">Lisätty kirjanmerkiksi kansioon <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Kun tämä on käytössä, omniboxissa näytetään ehdotuksia lähellä olevien laitteiden lähettämistä verkkosivuista.</translation> -<translation id="3706658020782046159">Näet toimitusvaihtoehdot ja ‑vaatimukset valitsemalla toimitusosoitteen.</translation> <translation id="3738139272394829648">Koskettamalla hakeminen</translation> <translation id="3771033907050503522">Incognito</translation> <translation id="3783017676699494206">Tallenna kuva</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Lisää kortti…</translation> <translation id="5228579091201413441">Ota synkronointi käyttöön</translation> -<translation id="5230733896359313003">Toimitusosoite</translation> <translation id="5244474230056479698">Synkronoidaan osoitteeseen <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Näytä</translation> <translation id="5317780077021120954">Tallenna</translation> <translation id="5327248766486351172">Nimi</translation> -<translation id="5332219387342487447">Toimitustapa</translation> <translation id="5388358297987318779">Avaa kuva</translation> <translation id="5409365236829784218">Et ole asentanut sovellusta, jolla tämän tiedoston voi avata.</translation> <translation id="54401264925851789">Sivun suojaustiedot</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ohje</translation> <translation id="7658239707568436148">Peruuta</translation> <translation id="7671141431838911305">ASENNA</translation> -<translation id="7682287625158474539">Toimitus</translation> <translation id="7765158879357617694">Siirrä</translation> <translation id="7769602470925380267">Hyväksy ja kirjaudu ulos</translation> <translation id="7772032839648071052">Vahvista tunnuslause</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb index f1c32c2..f41d8031 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Mag-preload ng Mga Webpage</translation> <translation id="3691593122358196899">Na-bookmark sa <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Kapag naka-enable, magkakaroon ang omnibox ng mga suhestyon para sa mga web page na bino-broadcast ng mga device na malapit sa iyo.</translation> -<translation id="3706658020782046159">Pumili ng address sa pagpapadala upang makita ang mga paraan ng at kinakailangan sa pagpapadala.</translation> <translation id="3738139272394829648">Pindutin upang Hanapin</translation> <translation id="3771033907050503522">Mga Tab na Incognito</translation> <translation id="3783017676699494206">I-save ang Larawan</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Magdagdag ng Card...</translation> <translation id="5228579091201413441">I-enable ang pag-sync</translation> -<translation id="5230733896359313003">Address na Padadalhan</translation> <translation id="5244474230056479698">Sini-sync sa <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Ipakita</translation> <translation id="5317780077021120954">I-save</translation> <translation id="5327248766486351172">Pangalan</translation> -<translation id="5332219387342487447">Pamamaraan ng Pagpapadala</translation> <translation id="5388358297987318779">Buksan ang Larawan</translation> <translation id="5409365236829784218">Walang naka-install na app na makakapagbukas ng file na ito.</translation> <translation id="54401264925851789">Impormasyon sa Seguridad ng Pahina</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Tulong</translation> <translation id="7658239707568436148">Ikansela</translation> <translation id="7671141431838911305">INSTALL</translation> -<translation id="7682287625158474539">Pagpapadala</translation> <translation id="7765158879357617694">Ilipat</translation> <translation id="7769602470925380267">Tanggapin at mag-sign out</translation> <translation id="7772032839648071052">Kumpirmahin ang passphrase</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb index e30f20c..6b72bea 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Précharger pages Web</translation> <translation id="3691593122358196899">Ajouté aux favoris dans "<ph name="FOLDER_TITLE" />"</translation> <translation id="3692781555820666866">Une fois le Web physique activé, l'omnibox fournit des suggestions de pages Web diffusées par les appareils à proximité.</translation> -<translation id="3706658020782046159">Sélectionnez une adresse de livraison pour consulter les modes d'expédition disponibles et les conditions applicables.</translation> <translation id="3738139272394829648">Appuyer pour rechercher</translation> <translation id="3771033907050503522">Ongl. navig. priv.</translation> <translation id="3783017676699494206">Enregistrer l'image</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Ajouter une carte…</translation> <translation id="5228579091201413441">Activer la synchronisation</translation> -<translation id="5230733896359313003">Adresse de livraison</translation> <translation id="5244474230056479698">Synchronisation avec <ph name="EMAIL" />…</translation> <translation id="5300589172476337783">Afficher</translation> <translation id="5317780077021120954">Enregistrer</translation> <translation id="5327248766486351172">Nom</translation> -<translation id="5332219387342487447">Mode de livraison</translation> <translation id="5388358297987318779">Ouvrir l'image</translation> <translation id="5409365236829784218">Aucune application installée ne peut ouvrir ce fichier.</translation> <translation id="54401264925851789">Informations sur la sécurité de cette page</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Aide</translation> <translation id="7658239707568436148">Annuler</translation> <translation id="7671141431838911305">INSTALLER</translation> -<translation id="7682287625158474539">Adresse de livraison</translation> <translation id="7765158879357617694">Déplacer</translation> <translation id="7769602470925380267">Accepter et se déconnecter</translation> <translation id="7772032839648071052">Confirmer la phrase secrète</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb index 3274b795..39b1ce6 100644 --- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">વેબપૃષ્ઠો પહેલાથી લોડ કરો</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> પર બુકમાર્ક કર્યું</translation> <translation id="3692781555820666866">સક્ષમ કરવા પર, ઑમ્નિબૉક્સ, તમારી નજીકના ઉપકરણો દ્વારા બ્રોડકાસ્ટ કરવામાં આવેલા વેબ પૃષ્ઠો માટે સૂચનોને શામેલ કરશે.</translation> -<translation id="3706658020782046159">શિપિંગ પદ્ધતિઓ અને આવશ્યકતાઓ તપાસવા વિતરણ માટેનું સરનામું પસંદ કરો.</translation> <translation id="3738139272394829648">શોધવા માટે ટચ કરો</translation> <translation id="3771033907050503522">છૂપા ટેબ્સ</translation> <translation id="3783017676699494206">છબી સાચવો</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">ઇન્ટરનેટ</translation> <translation id="5198972191746488848">કાર્ડ ઉમેરો...</translation> <translation id="5228579091201413441">સમન્વયન સક્ષમ કરો</translation> -<translation id="5230733896359313003">વિતરણ માટેનું સરનામું</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> પર સમન્વયિત કરી રહ્યાં છે</translation> <translation id="5300589172476337783">બતાવો</translation> <translation id="5317780077021120954">સાચવો</translation> <translation id="5327248766486351172">નામ</translation> -<translation id="5332219387342487447">શિપિંગ પદ્ધતિ</translation> <translation id="5388358297987318779">છબી ખોલો</translation> <translation id="5409365236829784218">ત્યાં એવી કોઈ ઍપ્લિકેશન ઇન્સ્ટોલ કરેલ નથી જે આ ફાઇલ ખોલી શકે.</translation> <translation id="54401264925851789">પૃષ્ઠ સુરક્ષા માહિતી</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">સહાય</translation> <translation id="7658239707568436148">રદ કરો</translation> <translation id="7671141431838911305">ઇન્સ્ટોલ કરો</translation> -<translation id="7682287625158474539">શિપિંગ</translation> <translation id="7765158879357617694">સ્થાન</translation> <translation id="7769602470925380267">સ્વીકારો અને સાઇન આઉટ કરો</translation> <translation id="7772032839648071052">પાસફ્રેઝની પુષ્ટિ કરો</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb index 5516908..f8f8d18 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -11,7 +11,7 @@ <translation id="1112015203684611006">प्रिंट विफल रहा.</translation> <translation id="1125564390852150847">नया टैब बनाएं.</translation> <translation id="1145536944570833626">मौजूदा डेटा हटाएं.</translation> -<translation id="1165039591588034296">त्रुटि</translation> +<translation id="1165039591588034296">गड़बड़ी</translation> <translation id="1172898394251786223">अगला फ़ील्ड</translation> <translation id="1176932207622159128">चित्र नहीं सहेज सकता</translation> <translation id="1201530049782216880">नया गुप्त टैब</translation> @@ -150,7 +150,6 @@ <translation id="3638472932233958418">पहले से लोड वेबपेज</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> में बुकमार्क किया गया</translation> <translation id="3692781555820666866">सक्षम होने पर खोज वाली पट्टी में आपके नज़दीकी डिवाइस द्वारा प्रसारित किए गए वेबपृष्ठों को लिए सुझाव शामिल होंगे.</translation> -<translation id="3706658020782046159">शिपिंग की विधियां और आवश्यकताएं देखने के लिए शिपिंग पता चुनें.</translation> <translation id="3738139272394829648">खोजने के लिए स्पर्श करें</translation> <translation id="3771033907050503522">गुप्त टैब</translation> <translation id="3783017676699494206">चित्र सहेजें</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">इंटरनेट</translation> <translation id="5198972191746488848">कार्ड जोड़ें...</translation> <translation id="5228579091201413441">समन्वयन सक्षम करें</translation> -<translation id="5230733896359313003">शिपिंग पता</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> से समन्वयित हो रहा है</translation> <translation id="5300589172476337783">दिखाएं</translation> <translation id="5317780077021120954">सहेजें</translation> <translation id="5327248766486351172">नाम</translation> -<translation id="5332219387342487447">शिपिंग का तरीका</translation> <translation id="5388358297987318779">चित्र खोलें</translation> <translation id="5409365236829784218">ऐसा कोई भी ऐप्स इंस्टॉल नहीं है जो इस फ़ाइल को खोल सके.</translation> <translation id="54401264925851789">पेज सुरक्षा जानकारी</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">सहायता</translation> <translation id="7658239707568436148">अभी नहीं</translation> <translation id="7671141431838911305">इंस्टॉल करें</translation> -<translation id="7682287625158474539">शिपिंग</translation> <translation id="7765158879357617694">ले जाएं</translation> <translation id="7769602470925380267">स्वीकार करें और प्रस्थान करें</translation> <translation id="7772032839648071052">पासफ़्रेज़ की दुबारा पूछें</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb index 8c510af1..b3cc392 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Već učitane stranice</translation> <translation id="3691593122358196899">Oznaka dodana u mapu <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Kada je ta značajka omogućena, višenamjenski okvir uključit će prijedloge za web-stranice koje emitiraju uređaji u vašoj blizini.</translation> -<translation id="3706658020782046159">Odaberite adresu za dostavu da biste provjerili načine i zahtjeve za dostavu.</translation> <translation id="3738139272394829648">Dodirnite za pretraživanje</translation> <translation id="3771033907050503522">Anonimne kartice</translation> <translation id="3783017676699494206">Spremi sliku</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Dodaj karticu...</translation> <translation id="5228579091201413441">Omogući sinkronizaciju</translation> -<translation id="5230733896359313003">Adresa za dostavu</translation> <translation id="5244474230056479698">Sinkronizacija s računom <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Prikaži</translation> <translation id="5317780077021120954">Spremi</translation> <translation id="5327248766486351172">Naziv</translation> -<translation id="5332219387342487447">Način otpreme</translation> <translation id="5388358297987318779">Otvori sliku</translation> <translation id="5409365236829784218">Nema instalirane aplikacije za otvaranje ove datoteke.</translation> <translation id="54401264925851789">Informacije o sigurnosti stranice</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Pomoć</translation> <translation id="7658239707568436148">Odustani</translation> <translation id="7671141431838911305">INSTALIRANJE</translation> -<translation id="7682287625158474539">Dostava</translation> <translation id="7765158879357617694">Pomakni</translation> <translation id="7769602470925380267">Prihvati i odjavi se</translation> <translation id="7772032839648071052">Potvrdi zaporku</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb index 652539ab..5aeebb2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Weboldalak előtöltése</translation> <translation id="3691593122358196899">Könyvjelzők közé téve itt: <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Ha engedélyezve van, a cím- és keresősáv javaslatokat jelenít meg a közeli eszközök által sugárzott weboldalakról.</translation> -<translation id="3706658020782046159">Válassza ki a szállítási címet a szállítási módok és követelmények megtekintéséhez.</translation> <translation id="3738139272394829648">Érintéssel keresés</translation> <translation id="3771033907050503522">Inkognitólapok</translation> <translation id="3783017676699494206">Kép mentése</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Kártya hozzáadása…</translation> <translation id="5228579091201413441">Szinkronizálás bekapcsolása</translation> -<translation id="5230733896359313003">Szállítási cím</translation> <translation id="5244474230056479698">Szinkronizálás a következővel: <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Megjelenítés</translation> <translation id="5317780077021120954">Mentés</translation> <translation id="5327248766486351172">Név</translation> -<translation id="5332219387342487447">Szállítási mód</translation> <translation id="5388358297987318779">Kép megnyitása</translation> <translation id="5409365236829784218">A fájl megnyitásához nincs telepítve alkalmazás.</translation> <translation id="54401264925851789">Oldal biztonsági információi</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Súgó</translation> <translation id="7658239707568436148">Mégse</translation> <translation id="7671141431838911305">TELEPÍTÉS</translation> -<translation id="7682287625158474539">Szállítási cím</translation> <translation id="7765158879357617694">Áthelyezés</translation> <translation id="7769602470925380267">Elfogadás és kijelentkezés</translation> <translation id="7772032839648071052">Összetett jelszó megerősítése</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb index 082620b..b9c6e4b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_id.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pramuat Halaman Web</translation> <translation id="3691593122358196899">Dibookmark ke <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Jika diaktifkan, omnibox akan menyertakan saran untuk laman web yang disiarkan oleh perangkat di sekitar Anda.</translation> -<translation id="3706658020782046159">Pilih alamat pengiriman untuk memeriksa metode dan persyaratan pengiriman.</translation> <translation id="3738139272394829648">Sentuh untuk Menelusuri</translation> <translation id="3771033907050503522">Tab Penyamaran</translation> <translation id="3783017676699494206">Simpan Gambar</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Tambahkan Kartu...</translation> <translation id="5228579091201413441">Aktifkan sinkronisasi</translation> -<translation id="5230733896359313003">Alamat Pengiriman</translation> <translation id="5244474230056479698">Menyinkronkan dengan <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Tampilkan</translation> <translation id="5317780077021120954">Simpan</translation> <translation id="5327248766486351172">Nama</translation> -<translation id="5332219387342487447">Metode Pengiriman</translation> <translation id="5388358297987318779">Buka Gambar</translation> <translation id="5409365236829784218">Tidak ada aplikasi terpasang yang dapat membuka file ini.</translation> <translation id="54401264925851789">Informasi Keamanan Laman</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Bantuan</translation> <translation id="7658239707568436148">Batal</translation> <translation id="7671141431838911305">PASANG</translation> -<translation id="7682287625158474539">Pengiriman</translation> <translation id="7765158879357617694">Pindahkan</translation> <translation id="7769602470925380267">Terima dan keluar</translation> <translation id="7772032839648071052">Konfirmasi frasa sandi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb index 7a9391c6..b7ef143 100644 --- a/ios/chrome/app/strings/resources/ios_strings_it.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Precarica pagine web</translation> <translation id="3691593122358196899">Preferito aggiunto in: <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Quando è attivo, la omnibox include suggerimenti relativi alle pagine web trasmesse dai dispositivi nelle vicinanze.</translation> -<translation id="3706658020782046159">Seleziona un indirizzo di spedizione per verificare i metodi di spedizione e i requisiti.</translation> <translation id="3738139272394829648">Tocca per cercare</translation> <translation id="3771033907050503522">Schede di navigazione in incognito</translation> <translation id="3783017676699494206">Salva immagine</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Aggiungi carta...</translation> <translation id="5228579091201413441">Abilita sincronizzazione</translation> -<translation id="5230733896359313003">Indirizzo di spedizione</translation> <translation id="5244474230056479698">Sincronizzazione con <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Mostra</translation> <translation id="5317780077021120954">Salva</translation> <translation id="5327248766486351172">Nome</translation> -<translation id="5332219387342487447">Modalità di spedizione</translation> <translation id="5388358297987318779">Apri immagine</translation> <translation id="5409365236829784218">Non ci sono applicazioni installate in grado di aprire questo file.</translation> <translation id="54401264925851789">Info sicurezza pagina</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Guida</translation> <translation id="7658239707568436148">Annulla</translation> <translation id="7671141431838911305">INSTALLA</translation> -<translation id="7682287625158474539">Spedizione</translation> <translation id="7765158879357617694">Sposta</translation> <translation id="7769602470925380267">Accetta ed esci</translation> <translation id="7772032839648071052">Conferma passphrase</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb index 0f6113a2..64bbd6e 100644 --- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">טעינה מראש של דפי אינטרנט</translation> <translation id="3691593122358196899">התווסף לסימניות ב-<ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">כשאפשרות זו מופעלת, סרגל הכתובות יכלול הצעות לדפי אינטרנט המשודרים ממכשירים בסביבתך הקרובה.</translation> -<translation id="3706658020782046159">בחר כתובת למשלוח כדי לבדוק את אמצעי המשלוח ואת הדרישות למשלוח.</translation> <translation id="3738139272394829648">גע כדי לחפש</translation> <translation id="3771033907050503522">כרטיסיות גלישה בסתר</translation> <translation id="3783017676699494206">שמור תמונה</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">אינטרנט</translation> <translation id="5198972191746488848">הוסף כרטיס...</translation> <translation id="5228579091201413441">הפעל סנכרון</translation> -<translation id="5230733896359313003">כתובת למשלוח</translation> <translation id="5244474230056479698">מסנכרן ל-<ph name="EMAIL" /></translation> <translation id="5300589172476337783">הצג</translation> <translation id="5317780077021120954">שמור</translation> <translation id="5327248766486351172">שם</translation> -<translation id="5332219387342487447">שיטת משלוח</translation> <translation id="5388358297987318779">פתח תמונה</translation> <translation id="5409365236829784218">אין יישומים מותקנים שיכולים לפתוח את הקובץ הזה.</translation> <translation id="54401264925851789">פרטי אבטחת דף</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">עזרה</translation> <translation id="7658239707568436148">ביטול</translation> <translation id="7671141431838911305">התקנה</translation> -<translation id="7682287625158474539">משלוח</translation> <translation id="7765158879357617694">העבר</translation> <translation id="7769602470925380267">קבל וצא מהחשבון</translation> <translation id="7772032839648071052">אשר משפט-סיסמה</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb index ab6968b9..499bccf5 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">ウェブページのプリロード</translation> <translation id="3691593122358196899">「<ph name="FOLDER_TITLE" />」にブックマークしました</translation> <translation id="3692781555820666866">有効にすると、近くのデバイスからブロードキャストされているウェブページの候補がアドレスバー(オムニボックス)に表示されます。</translation> -<translation id="3706658020782046159">配送方法や要件を確認するには、配送先住所を選択します。</translation> <translation id="3738139272394829648">タップして検索</translation> <translation id="3771033907050503522">シークレットタブ</translation> <translation id="3783017676699494206">画像を保存</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">インターネット</translation> <translation id="5198972191746488848">カードを追加...</translation> <translation id="5228579091201413441">同期を有効にする</translation> -<translation id="5230733896359313003">配送先住所</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> に同期しています</translation> <translation id="5300589172476337783">表示</translation> <translation id="5317780077021120954">保存</translation> <translation id="5327248766486351172">名前</translation> -<translation id="5332219387342487447">配送方法</translation> <translation id="5388358297987318779">画像を開く</translation> <translation id="5409365236829784218">このファイルを開くアプリがインストールされていません。</translation> <translation id="54401264925851789">ページのセキュリティ情報</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">ヘルプ</translation> <translation id="7658239707568436148">キャンセル</translation> <translation id="7671141431838911305">インストール</translation> -<translation id="7682287625158474539">発送先</translation> <translation id="7765158879357617694">移動</translation> <translation id="7769602470925380267">同意してログアウトする</translation> <translation id="7772032839648071052">パスフレーズの確認</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb index 707cd5d6..eaa7e72e 100644 --- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">ವೆಬ್ ಪುಟಗಳನ್ನು ಪೂರ್ವಲೋಡ್ ಮಾಡಿ</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> ಗೆ ಬುಕ್ಮಾರ್ಕ್ ಮಾಡಲಾಗಿದೆ</translation> <translation id="3692781555820666866">ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ನಿಮಗೆ ಹತ್ತಿರದಲ್ಲಿರುವ ಸಾಧನಗಳ ಮೂಲಕ ವೆಬ್ ಪುಟಗಳ ಪ್ರಸಾರಕ್ಕೆ ಆಮ್ನಿಬಾಕ್ಸ್ ಸಲಹೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.</translation> -<translation id="3706658020782046159">ಶಿಪ್ಪಿಂಗ್ ವಿಧಾನಗಳನ್ನು ಮತ್ತು ಅಗತ್ಯತೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಶಿಪ್ಪಿಂಗ್ ವಿಳಾಸವನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation> <translation id="3738139272394829648">ಹುಡುಕಲು ಸ್ಪರ್ಶಿಸು</translation> <translation id="3771033907050503522">ಅದೃಶ್ಯ ಟ್ಯಾಬ್ಗಳು</translation> <translation id="3783017676699494206">ಚಿತ್ರವನ್ನು ಉಳಿಸಿ</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">ಇಂಟರ್ನೆಟ್</translation> <translation id="5198972191746488848">ಕಾರ್ಡ್ ಸೇರಿಸು...</translation> <translation id="5228579091201413441">ಸಿಂಕ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> -<translation id="5230733896359313003">ಶಿಪ್ಪಿಂಗ್ ವಿಳಾಸ</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> ಗೆ ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation> <translation id="5300589172476337783">ಪ್ರದರ್ಶಿಸಿ</translation> <translation id="5317780077021120954">ಉಳಿಸು</translation> <translation id="5327248766486351172">ಹೆಸರು</translation> -<translation id="5332219387342487447">ಶಿಪ್ಪಿಂಗ್ ವಿಧಾನ</translation> <translation id="5388358297987318779">ಚಿತ್ರವನ್ನು ತೆರೆಯಿರಿ</translation> <translation id="5409365236829784218">ಈ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಬಹುದಾದ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿಲ್ಲ.</translation> <translation id="54401264925851789">ಪುಟ ಭದ್ರತೆಯ ಮಾಹಿತಿ</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">ಸಹಾಯ</translation> <translation id="7658239707568436148">ರದ್ದುಮಾಡಿ</translation> <translation id="7671141431838911305">ಸ್ಥಾಪಿಸು</translation> -<translation id="7682287625158474539">ಶಿಪ್ಪಿಂಗ್</translation> <translation id="7765158879357617694">ಸರಿಸು</translation> <translation id="7769602470925380267">ಸಮ್ಮತಿಸಿ ಮತ್ತು ಸೈನ್ ಔಟ್ ಮಾಡಿ</translation> <translation id="7772032839648071052">ಪಾಸ್ಫ್ರೇಸ್ ಅನ್ನು ದೃಢೀಕರಿಸಿ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb index 641c812..23618de 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">웹페이지 미리 로드하기</translation> <translation id="3691593122358196899">북마크를 <ph name="FOLDER_TITLE" />에 추가함</translation> <translation id="3692781555820666866">이 기능을 사용하도록 설정한 경우 내 주변에 있는 기기에서 브로드캐스트하는 웹페이지가 검색주소창에 추천 항목으로 표시됩니다.</translation> -<translation id="3706658020782046159">배송 방법과 요건을 확인할 수 있도록 배송지 주소를 선택하세요.</translation> <translation id="3738139272394829648">터치하여 검색</translation> <translation id="3771033907050503522">시크릿 탭</translation> <translation id="3783017676699494206">이미지 저장</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">인터넷</translation> <translation id="5198972191746488848">카드 추가...</translation> <translation id="5228579091201413441">동기화 사용</translation> -<translation id="5230733896359313003">배송지 주소</translation> <translation id="5244474230056479698"><ph name="EMAIL" />에 동기화</translation> <translation id="5300589172476337783">표시</translation> <translation id="5317780077021120954">저장</translation> <translation id="5327248766486351172">이름</translation> -<translation id="5332219387342487447">배송 방법</translation> <translation id="5388358297987318779">이미지 열기</translation> <translation id="5409365236829784218">이 파일을 열 수 있는 애플리케이션이 설치되어 있지 않습니다.</translation> <translation id="54401264925851789">페이지 보안 정보</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">도움말</translation> <translation id="7658239707568436148">취소</translation> <translation id="7671141431838911305">설치</translation> -<translation id="7682287625158474539">배송</translation> <translation id="7765158879357617694">이동</translation> <translation id="7769602470925380267">동의 및 로그아웃</translation> <translation id="7772032839648071052">암호 확인</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb index 57537720a..afe5a6bf 100644 --- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Iš anksto įk. tinkl.</translation> <translation id="3691593122358196899">Sukurta „<ph name="FOLDER_TITLE" />“ žymė</translation> <translation id="3692781555820666866">Kai įgalinta, „omnibox“ juosta apims netoli jūsų esančių įrenginių tinklalapių transliacijos pasiūlymus.</translation> -<translation id="3706658020782046159">Norėdami peržiūrėti pristatymo metodus ir reikalavimus, pasirinkite pristatymo adresą.</translation> <translation id="3738139272394829648">Paieška palietus</translation> <translation id="3771033907050503522">Inkognito skirt.</translation> <translation id="3783017676699494206">Išsaugoti vaizdą</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internetas</translation> <translation id="5198972191746488848">Pridėti kortelę...</translation> <translation id="5228579091201413441">Įgalinti sinchronizavimą</translation> -<translation id="5230733896359313003">Pristatymo adresas</translation> <translation id="5244474230056479698">Sinchronizavimas su <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Rodyti</translation> <translation id="5317780077021120954">Išsaugoti</translation> <translation id="5327248766486351172">Pavadinimas</translation> -<translation id="5332219387342487447">Pristatymo metodas</translation> <translation id="5388358297987318779">Atidaryti vaizdą</translation> <translation id="5409365236829784218">Nėra įdiegtų pr., kurias naudojant galima atidaryti failą.</translation> <translation id="54401264925851789">Puslapio saugos informacija</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Žinynas</translation> <translation id="7658239707568436148">Atšaukti</translation> <translation id="7671141431838911305">ĮDIEGTI</translation> -<translation id="7682287625158474539">Pristatymas</translation> <translation id="7765158879357617694">Perkelti</translation> <translation id="7769602470925380267">Sutikti ir atsijungti</translation> <translation id="7772032839648071052">Patvirtinti slaptafrazę</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb index 6ae6b23a..d0986178 100644 --- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pirmsiel. tīm. lapas</translation> <translation id="3691593122358196899">Grāmatzīme saglabāta mapē <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Ja šī opcija ir iespējota, universālajā lodziņā tiek rādīti tīmekļa lapu ieteikumi, ko apraida tuvumā esošas ierīces.</translation> -<translation id="3706658020782046159">Atlasiet piegādes adresi, lai skatītu piegādes veidus un prasības.</translation> <translation id="3738139272394829648">Meklēšana pieskaroties</translation> <translation id="3771033907050503522">Inkognito režīma cilnes</translation> <translation id="3783017676699494206">Saglabāt attēlu</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internets</translation> <translation id="5198972191746488848">Pievienot karti...</translation> <translation id="5228579091201413441">Iespējot sinhronizāciju</translation> -<translation id="5230733896359313003">Piegādes adrese</translation> <translation id="5244474230056479698">Sinhronizēšana ar <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Rādīt</translation> <translation id="5317780077021120954">Saglabāt</translation> <translation id="5327248766486351172">Nosaukums</translation> -<translation id="5332219387342487447">Piegādes veids</translation> <translation id="5388358297987318779">Atvērt attēlu</translation> <translation id="5409365236829784218">Nav instalēta neviena lietotne, ar kuru atvērt šo failu.</translation> <translation id="54401264925851789">Lapas drošības informācija</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Palīdzība</translation> <translation id="7658239707568436148">Atcelt</translation> <translation id="7671141431838911305">INSTALĒT</translation> -<translation id="7682287625158474539">Piegāde</translation> <translation id="7765158879357617694">Pārvietot</translation> <translation id="7769602470925380267">Piekrist un izrakstīties</translation> <translation id="7772032839648071052">Apstipriniet ieejas frāzi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb index 06f5a07..7295c2f 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">മുമ്പ് ലോഡുചെയ്ത വെബ്പേജുകൾ</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> ഫോൾഡറിലേക്ക് ബുക്ക്മാർക്ക് ചെയ്തു</translation> <translation id="3692781555820666866">പ്രവർത്തനക്ഷമമായിരിക്കുമ്പോൾ ഒമ്നിബോക്സ്, നിങ്ങൾക്ക് സമീപമുള്ള ഉപകരണങ്ങൾ ഉപയോഗിച്ച് വെബ് പേജുകളുടെ നിർദ്ദേശങ്ങൾ ഉൾപ്പെടുത്തും.</translation> -<translation id="3706658020782046159">ഷിപ്പിംഗ് രീതികളും അതിനാവശ്യമായ കാര്യങ്ങളും പരിശോധിക്കാൻ ഒരു ഷിപ്പിംഗ് വിലാസം തിരഞ്ഞെടുക്കുക.</translation> <translation id="3738139272394829648">തിരയാൻ സ്പർശിക്കുക</translation> <translation id="3771033907050503522">ആൾമാറാട്ട ടാബുകൾ</translation> <translation id="3783017676699494206">ഇമേജ് സംരക്ഷിക്കുക</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">ഇന്റര്നെറ്റ്</translation> <translation id="5198972191746488848">കാർഡ് ചേർക്കുക...</translation> <translation id="5228579091201413441">സമന്വയം പ്രവർത്തനക്ഷമമാക്കുക</translation> -<translation id="5230733896359313003">ഷിപ്പിംഗ് വിലാസം</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> ഇമെയിലിലേക്ക് സമന്വയിപ്പിക്കുന്നു</translation> <translation id="5300589172476337783">കാണിക്കുക</translation> <translation id="5317780077021120954">സംരക്ഷിക്കുക</translation> <translation id="5327248766486351172">പേര്</translation> -<translation id="5332219387342487447">ഷിപ്പിംഗ് രീതി</translation> <translation id="5388358297987318779">ഇമേജ് തുറക്കുക</translation> <translation id="5409365236829784218">ഈ ഫയലിൽ തുറക്കാൻ കഴിയുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഇൻസ്റ്റാൾ ചെയ്തില്ല.</translation> <translation id="54401264925851789">പേജ് സുരക്ഷാ വിവരങ്ങൾ</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">സഹായം</translation> <translation id="7658239707568436148">റദ്ദാക്കൂ</translation> <translation id="7671141431838911305">ഇൻസ്റ്റാളുചെയ്യുക</translation> -<translation id="7682287625158474539">ഷിപ്പിംഗ്</translation> <translation id="7765158879357617694">നീക്കുക</translation> <translation id="7769602470925380267">അംഗീകരിച്ചശേഷം, സൈൻ ഔട്ട് ചെയ്യുക</translation> <translation id="7772032839648071052">പാസ്ഫ്രേസ് സ്ഥിരീകരിക്കുക</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb index 960976ab..e3d9c21 100644 --- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">वेबपृष्ठे प्रीलोड करा</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> मध्ये बुकमार्क केले</translation> <translation id="3692781555820666866">सक्षम केलेले असताना, आपल्या जवळपास असलेले डिव्हाइसेस प्रसारित करतात त्या वेबपृष्ठांसाठी सूचना विविधोपयोगी क्षेत्रात समाविष्ट केल्या जातील.</translation> -<translation id="3706658020782046159">पाठविण्याच्या पद्धती आणि आवश्यकता तपासण्यासाठी एक पाठविण्याचा पत्ता निवडा.</translation> <translation id="3738139272394829648">शोधण्यासाठी स्विच करा</translation> <translation id="3771033907050503522">गुप्त टॅब</translation> <translation id="3783017676699494206">प्रतिमा जतन करा</translation> @@ -212,12 +211,10 @@ <translation id="5197255632782567636">इंटरनेट</translation> <translation id="5198972191746488848">कार्ड जोडा...</translation> <translation id="5228579091201413441">संकालन सक्षम करा</translation> -<translation id="5230733896359313003">पाठविण्याचा पत्ता</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> वर संकालित करीत आहे</translation> <translation id="5300589172476337783">दर्शवा</translation> <translation id="5317780077021120954">जतन करा</translation> <translation id="5327248766486351172">नाव</translation> -<translation id="5332219387342487447">पाठविण्याची पद्धत</translation> <translation id="5388358297987318779">प्रतिमा उघडा</translation> <translation id="5409365236829784218">ही फाईल उघडू शकणारे कोणतेही अनुप्रयोग स्थापित केलेले नाहीत.</translation> <translation id="54401264925851789">पृष्ठ सुरक्षितता माहिती</translation> @@ -344,7 +341,6 @@ <translation id="7649070708921625228">मदत</translation> <translation id="7658239707568436148">रद्द करा</translation> <translation id="7671141431838911305">स्थापित करा</translation> -<translation id="7682287625158474539">शिपिंग</translation> <translation id="7765158879357617694">हलवा</translation> <translation id="7769602470925380267">स्वीकार करा आणि साइन आउट करा</translation> <translation id="7772032839648071052">सांकेतिक वाक्यांशाची पुष्टी करा</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb index 2f3c92e..500ca00d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pramuat Halaman Web</translation> <translation id="3691593122358196899">Ditandai halaman ke <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Apabila didayakan, kotak omni akan menyertakan cadangan untuk halaman web yang disiarkan oleh peranti berdekatan anda.</translation> -<translation id="3706658020782046159">Pilih alamat penghantaran untuk menyemak kaedah penghantaran dan keperluan.</translation> <translation id="3738139272394829648">Sentuh untuk Cari</translation> <translation id="3771033907050503522">Tab Inkognito</translation> <translation id="3783017676699494206">Simpan Imej</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Tambah Kad...</translation> <translation id="5228579091201413441">Dayakan penyegerakan</translation> -<translation id="5230733896359313003">Alamat Penghantaran</translation> <translation id="5244474230056479698">Menyegerak ke <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Paparkan</translation> <translation id="5317780077021120954">Simpan</translation> <translation id="5327248766486351172">Nama</translation> -<translation id="5332219387342487447">Kaedah Penghantaran</translation> <translation id="5388358297987318779">Buka Imej</translation> <translation id="5409365236829784218">Tiada aplikasi dipasang yang boleh membuka fail ini.</translation> <translation id="54401264925851789">Maklumat Halaman Keselamatan</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Bantuan</translation> <translation id="7658239707568436148">Batal</translation> <translation id="7671141431838911305">PASANG</translation> -<translation id="7682287625158474539">Penghantaran</translation> <translation id="7765158879357617694">Alih</translation> <translation id="7769602470925380267">Terima dan log keluar</translation> <translation id="7772032839648071052">Sahkan frasa laluan</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb index 987ff9b..a703ee9c 100644 --- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Webpagina's vooraf laden</translation> <translation id="3691593122358196899">Bladwijzer gemaakt in <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Indien ingeschakeld, bevat de omnibox suggesties voor webpagina's die worden uitgezonden door apparaten bij jou in de buurt.</translation> -<translation id="3706658020782046159">Selecteer een verzendadres om verzendmethoden en vereisten te bekijken.</translation> <translation id="3738139272394829648">Tikken om te zoeken</translation> <translation id="3771033907050503522">Incognitotabbladen</translation> <translation id="3783017676699494206">Afbeelding opslaan</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Kaart toevoegen...</translation> <translation id="5228579091201413441">Synchronisatie inschakelen</translation> -<translation id="5230733896359313003">Verzendadres</translation> <translation id="5244474230056479698">Synchroniseren met <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Weergeven</translation> <translation id="5317780077021120954">Opslaan</translation> <translation id="5327248766486351172">Naam</translation> -<translation id="5332219387342487447">Verzendmethode</translation> <translation id="5388358297987318779">Afbeelding openen</translation> <translation id="5409365236829784218">Er zijn geen applicaties geïnstalleerd waarmee dit bestand kan worden geopend.</translation> <translation id="54401264925851789">Paginabeveiligingsinfo</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Help</translation> <translation id="7658239707568436148">Annuleren</translation> <translation id="7671141431838911305">INSTALLEER</translation> -<translation id="7682287625158474539">Verzendadres</translation> <translation id="7765158879357617694">Verplaatsen</translation> <translation id="7769602470925380267">Accepteren en uitloggen</translation> <translation id="7772032839648071052">Bevestig de wachtwoordzin</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb index 2ba2f3a3..88ab524 100644 --- a/ios/chrome/app/strings/resources/ios_strings_no.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Last inn nettsider på forhånd</translation> <translation id="3691593122358196899">Satt som bokmerke i <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Når dette er slått på, inneholder søkefeltet forslag til nettsider som kringkastes av enheter i nærheten.</translation> -<translation id="3706658020782046159">Velg en leveringsadresse for å se leveringsmåter og krav.</translation> <translation id="3738139272394829648">Trykk for å søke</translation> <translation id="3771033907050503522">Inkognitofaner</translation> <translation id="3783017676699494206">Lagre bildet</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internett</translation> <translation id="5198972191746488848">Legg til kort</translation> <translation id="5228579091201413441">Slå på synkronisering</translation> -<translation id="5230733896359313003">Leveringsadresse</translation> <translation id="5244474230056479698">Synkroniserer til <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Vis</translation> <translation id="5317780077021120954">Lagre</translation> <translation id="5327248766486351172">Navn</translation> -<translation id="5332219387342487447">Leveringsmetode</translation> <translation id="5388358297987318779">Åpne bildet</translation> <translation id="5409365236829784218">Ingen av de installerte appene kan åpne denne filen.</translation> <translation id="54401264925851789">Sikkerhetsinformasjon for siden</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Hjelp</translation> <translation id="7658239707568436148">Avbryt</translation> <translation id="7671141431838911305">INSTALLER</translation> -<translation id="7682287625158474539">Forsendelse</translation> <translation id="7765158879357617694">Flytt</translation> <translation id="7769602470925380267">Godta og logg av</translation> <translation id="7772032839648071052">Bekreft passord</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb index c1058dbe..9a62059 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Wstępne wczytywanie stron</translation> <translation id="3691593122358196899">Utworzono zakładkę w folderze <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Po włączeniu tej funkcji omnibox będzie pokazywał sugestie stron internetowych transmitowanych przez urządzenia w pobliżu.</translation> -<translation id="3706658020782046159">Wybierz adres dostawy, by sprawdzić sposoby wysyłki i związane z nimi wymagania.</translation> <translation id="3738139272394829648">Dotknij, by wyszukać</translation> <translation id="3771033907050503522">Karty incognito</translation> <translation id="3783017676699494206">Zapisz obraz</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Dodaj kartę…</translation> <translation id="5228579091201413441">Włącz synchronizację</translation> -<translation id="5230733896359313003">Adres wysyłki</translation> <translation id="5244474230056479698">Synchronizowanie z <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Pokaż</translation> <translation id="5317780077021120954">Zapisz</translation> <translation id="5327248766486351172">Nazwa</translation> -<translation id="5332219387342487447">Metoda wysyłki</translation> <translation id="5388358297987318779">Otwórz obraz</translation> <translation id="5409365236829784218">Nie masz aplikacji, w których można otworzyć ten plik.</translation> <translation id="54401264925851789">Informacje o bezpieczeństwie strony</translation> @@ -254,7 +251,7 @@ <translation id="6040143037577758943">Zamknij</translation> <translation id="6042308850641462728">Więcej</translation> <translation id="605721222689873409">RR</translation> -<translation id="6064110478173646258"><ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="FORMATTED_CURRENCY_CODE" /></translation> +<translation id="6064110478173646258"><ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="FORMATTED_CURRENCY_CODE" /></translation> <translation id="6066301408025741299">Kliknij, by anulować.</translation> <translation id="60851516108411750">Twoja lista Do przeczytania jest dostępna offline. Aby dodać do niej stronę, kliknij <ph name="SHARE_OPENING_ICON" />.</translation> <translation id="6122191549521593678">Online</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Pomoc</translation> <translation id="7658239707568436148">Anuluj</translation> <translation id="7671141431838911305">ZAINSTALUJ</translation> -<translation id="7682287625158474539">Adres wysyłkowy</translation> <translation id="7765158879357617694">Przenieś</translation> <translation id="7769602470925380267">Zaakceptuj i wyloguj się</translation> <translation id="7772032839648071052">Potwierdź hasło</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb index deefc4b..3785e90 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pré-carregar páginas da web</translation> <translation id="3691593122358196899">Adicionado como favorito em <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Quando ativada, a omnibox inclui sugestões de páginas da Web transmitidas por dispositivos perto de você.</translation> -<translation id="3706658020782046159">Selecione um endereço de envio para verificar os métodos e requisitos de entrega.</translation> <translation id="3738139272394829648">Tocar para pesquisar</translation> <translation id="3771033907050503522">Guias anônimas</translation> <translation id="3783017676699494206">Salvar imagem</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Adicionar cartão…</translation> <translation id="5228579091201413441">Ativar sincronização</translation> -<translation id="5230733896359313003">Endereço para envio</translation> <translation id="5244474230056479698">Sincronizado com <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Mostrar</translation> <translation id="5317780077021120954">Salvar</translation> <translation id="5327248766486351172">Nome</translation> -<translation id="5332219387342487447">Forma de envio</translation> <translation id="5388358297987318779">Abrir imagem</translation> <translation id="5409365236829784218">Nenhum aplicativo instalado pode abrir este arquivo.</translation> <translation id="54401264925851789">Informações de segurança</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ajuda</translation> <translation id="7658239707568436148">Cancelar</translation> <translation id="7671141431838911305">INSTALAR</translation> -<translation id="7682287625158474539">Entrega</translation> <translation id="7765158879357617694">Mover</translation> <translation id="7769602470925380267">Aceitar e sair</translation> <translation id="7772032839648071052">Confirmar senha</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb index 754381a..215195d2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pré-carregar Páginas Web</translation> <translation id="3691593122358196899">Adicionado aos marcadores em <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Quando está ativada, a caixa geral inclui sugestões de páginas Web transmitidas por dispositivos perto de si.</translation> -<translation id="3706658020782046159">Selecione uma morada para envio para verificar os métodos e os requisitos de envio.</translation> <translation id="3738139272394829648">Tocar para pesquisar</translation> <translation id="3771033907050503522">Sep. nav. anónima</translation> <translation id="3783017676699494206">Guardar Imagem</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Adicionar cartão…</translation> <translation id="5228579091201413441">Ativar a sincronização</translation> -<translation id="5230733896359313003">Endereço de envio</translation> <translation id="5244474230056479698">A sincronizar com <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Mostrar</translation> <translation id="5317780077021120954">Guardar</translation> <translation id="5327248766486351172">Nome</translation> -<translation id="5332219387342487447">Método de envio</translation> <translation id="5388358297987318779">Abrir Imagem</translation> <translation id="5409365236829784218">Não existem aplicações instaladas que possam abrir este ficheiro.</translation> <translation id="54401264925851789">Informações de Segurança da Página</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ajuda</translation> <translation id="7658239707568436148">Cancelar</translation> <translation id="7671141431838911305">INSTALAR</translation> -<translation id="7682287625158474539">Envio</translation> <translation id="7765158879357617694">Mover</translation> <translation id="7769602470925380267">Aceitar e terminar sessão</translation> <translation id="7772032839648071052">Confirmar frase de acesso</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb index 51bf226..b713f48a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Preîncarcă pagini</translation> <translation id="3691593122358196899">Marcaj adăugat în <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Când este activat, caseta polivalentă va include sugestii pentru pagini web difuzate de dispozitivele din apropiere.</translation> -<translation id="3706658020782046159">Pentru a vedea care sunt metodele și cerințele privind expedierea, selectează o adresă de expediere.</translation> <translation id="3738139272394829648">Atinge pentru a căuta</translation> <translation id="3771033907050503522">File incognito</translation> <translation id="3783017676699494206">Salvează imaginea</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Adaugă un card…</translation> <translation id="5228579091201413441">Activează sincronizarea</translation> -<translation id="5230733896359313003">Adresă de expediere</translation> <translation id="5244474230056479698">Se sincronizează cu <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Afișează</translation> <translation id="5317780077021120954">Salvează</translation> <translation id="5327248766486351172">Nume</translation> -<translation id="5332219387342487447">Metoda de expediere</translation> <translation id="5388358297987318779">Deschide imaginea</translation> <translation id="5409365236829784218">Nicio aplicație instalată nu poate deschide fișierul.</translation> <translation id="54401264925851789">Informații privind securitatea paginii</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Ajutor</translation> <translation id="7658239707568436148">Anulează</translation> <translation id="7671141431838911305">INSTALEAZĂ</translation> -<translation id="7682287625158474539">Expediere</translation> <translation id="7765158879357617694">Mută</translation> <translation id="7769602470925380267">Acceptă și deconectează-te</translation> <translation id="7772032839648071052">Confirmă expresia de acces</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb index 618557b7..844e2b8 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Предварительная загрузка</translation> <translation id="3691593122358196899">Закладка добавлена в папку "<ph name="FOLDER_TITLE" />"</translation> <translation id="3692781555820666866">Если функция включена, в омнибоксе будут предлагаться страницы с устройств поблизости</translation> -<translation id="3706658020782046159">Чтобы узнать способы доставки и требования, выберите адрес доставки.</translation> <translation id="3738139272394829648">Быстрый поиск</translation> <translation id="3771033907050503522">Вкладки инкогнито</translation> <translation id="3783017676699494206">Сохранить изображение</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Интернет</translation> <translation id="5198972191746488848">Добавить карту</translation> <translation id="5228579091201413441">Включить синхронизацию</translation> -<translation id="5230733896359313003">Адрес доставки</translation> <translation id="5244474230056479698">Синхронизация с <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Показать</translation> <translation id="5317780077021120954">Сохранить</translation> <translation id="5327248766486351172">Название</translation> -<translation id="5332219387342487447">Способ доставки</translation> <translation id="5388358297987318779">Открыть изображение</translation> <translation id="5409365236829784218">Нет приложений, поддерживающих файлы этого типа.</translation> <translation id="54401264925851789">Сведения о надежности страницы</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Справка</translation> <translation id="7658239707568436148">Отмена</translation> <translation id="7671141431838911305">УСТАНОВИТЬ</translation> -<translation id="7682287625158474539">Адрес доставки</translation> <translation id="7765158879357617694">Переместить</translation> <translation id="7769602470925380267">Принять и выйти</translation> <translation id="7772032839648071052">Подтвердите кодовую фразу</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb index b0236e9..3974ce10 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Predbežne načítavať webové stránky</translation> <translation id="3691593122358196899">Uložené ako záložka v priečinku <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Keď je tento príznak aktivovaný, všeobecné pole bude zahŕňať návrhy webových stránok, ktoré vysielajú zariadenia v okolí.</translation> -<translation id="3706658020782046159">Vyberte dodaciu adresu a prezrite si spôsoby dodania a požiadavky.</translation> <translation id="3738139272394829648">Vyhľadávanie klepnutím</translation> <translation id="3771033907050503522">Karty inkognito</translation> <translation id="3783017676699494206">Uložiť obrázok</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Pridať kartu…</translation> <translation id="5228579091201413441">Povoliť synchronizáciu</translation> -<translation id="5230733896359313003">Dodacia adresa</translation> <translation id="5244474230056479698">Synchronizácia do účtu <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Zobraziť</translation> <translation id="5317780077021120954">Uložiť</translation> <translation id="5327248766486351172">Názov</translation> -<translation id="5332219387342487447">Spôsob dodania</translation> <translation id="5388358297987318779">Otvoriť obrázok</translation> <translation id="5409365236829784218">Nie sú nainštalované žiadne aplikácie, ktoré dokážu otvoriť tento súbor.</translation> <translation id="54401264925851789">Informácie o zabezpečení stránky</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Pomocník</translation> <translation id="7658239707568436148">Zrušiť</translation> <translation id="7671141431838911305">INŠTALOVAŤ</translation> -<translation id="7682287625158474539">Dodacia</translation> <translation id="7765158879357617694">Presunúť</translation> <translation id="7769602470925380267">Prijať a odhlásiť</translation> <translation id="7772032839648071052">Potvrďte prístupovú frázu</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb index e820f55..38161f9 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Vnaprej naloži spletne strani</translation> <translation id="3691593122358196899">Zaznamek ustvarjen v mapi <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Če je fizični splet omogočen, iskalna vrstica vsebuje predloge za spletne strani, ki jih oddajajo naprave v vaši bližini.</translation> -<translation id="3706658020782046159">Izberite naslov za pošiljanje, če želite preveriti načine pošiljanja in zahteve za pošiljanje.</translation> <translation id="3738139272394829648">Dotaknite se za iskanje</translation> <translation id="3771033907050503522">Incognito Tabs</translation> <translation id="3783017676699494206">Shrani sliko</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Dodaj kartico …</translation> <translation id="5228579091201413441">Omogoči sinhronizacijo</translation> -<translation id="5230733896359313003">Naslov za pošiljanje</translation> <translation id="5244474230056479698">Syncing to <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Pokaži</translation> <translation id="5317780077021120954">Shrani</translation> <translation id="5327248766486351172">Ime</translation> -<translation id="5332219387342487447">Način pošiljanja</translation> <translation id="5388358297987318779">Odpri sliko</translation> <translation id="5409365236829784218">Nameščena ni nobena apl. za odpiranje te datoteke.</translation> <translation id="54401264925851789">Informacije o varnosti strani</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Pomoč</translation> <translation id="7658239707568436148">Prekliči</translation> <translation id="7671141431838911305">NAMESTI</translation> -<translation id="7682287625158474539">Pošiljanje</translation> <translation id="7765158879357617694">Premakni</translation> <translation id="7769602470925380267">Sprejem in odjava</translation> <translation id="7772032839648071052">Potrdi geslo</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb index ab88c2e7..357f96b4 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Унап. учитај веб-странице</translation> <translation id="3691593122358196899">Обележивач је додат у <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Када га омогућите, омнибокс обухвата предлоге за веб-странице које емитују уређаји у близини.</translation> -<translation id="3706658020782046159">Изаберите адресу за испоруку да бисте проверили начине испоруке и услове.</translation> <translation id="3738139272394829648">Додирни за претрагу</translation> <translation id="3771033907050503522">Картице Без архивирања</translation> <translation id="3783017676699494206">Сачувај слику</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Интернет</translation> <translation id="5198972191746488848">Додај картицу…</translation> <translation id="5228579091201413441">Омогући синхронизацију</translation> -<translation id="5230733896359313003">Адреса за слање</translation> <translation id="5244474230056479698">Синхронизује се са <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Прикажи</translation> <translation id="5317780077021120954">Сачувај</translation> <translation id="5327248766486351172">Назив</translation> -<translation id="5332219387342487447">Начин испоруке</translation> <translation id="5388358297987318779">Отвори слику</translation> <translation id="5409365236829784218">Није инсталирана ниједна апликација за отварање ове датотеке.</translation> <translation id="54401264925851789">Информације о безбедности странице</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Помоћ</translation> <translation id="7658239707568436148">Откажи</translation> <translation id="7671141431838911305">ИНСТАЛИРАЊЕ</translation> -<translation id="7682287625158474539">Испорука</translation> <translation id="7765158879357617694">Премести</translation> <translation id="7769602470925380267">Прихватам, одјави ме</translation> <translation id="7772032839648071052">Потврди приступну фразу</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb index dff24ed..a72976ed 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Läs in webbsidor i förväg</translation> <translation id="3691593122358196899">Bokmärkt i <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">När det här alternativet är aktiverat visas förslag på utsändningar av webbsidor från enheter i närheten.</translation> -<translation id="3706658020782046159">Välj en leveransadress om du vill visa leveranssätt och krav.</translation> <translation id="3738139272394829648">Tryck för att söka</translation> <translation id="3771033907050503522">Inkognitoflikar</translation> <translation id="3783017676699494206">Spara bild</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Lägg till kort …</translation> <translation id="5228579091201413441">Aktivera synkronisering</translation> -<translation id="5230733896359313003">Leveransadress</translation> <translation id="5244474230056479698">Synkroniseras med <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Visa</translation> <translation id="5317780077021120954">Spara</translation> <translation id="5327248766486351172">Namn</translation> -<translation id="5332219387342487447">Fraktmetod</translation> <translation id="5388358297987318779">Öppna bild</translation> <translation id="5409365236829784218">Det finns inga installerade appar som kan öppna filen.</translation> <translation id="54401264925851789">Sidans säkerhetsinfo</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Hjälp</translation> <translation id="7658239707568436148">Avbryt</translation> <translation id="7671141431838911305">INSTALLERA</translation> -<translation id="7682287625158474539">Frakt</translation> <translation id="7765158879357617694">Flytta</translation> <translation id="7769602470925380267">Godkänn och logga ut</translation> <translation id="7772032839648071052">Bekräfta lösenfras</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb index b5ff1a3..b2bfaa8 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Pakia Kurasa za wavuti Mapema</translation> <translation id="3691593122358196899">Imetiwa alamisho kwenye <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Sanduku kuu linapowashwa litajumuisha mapendekezo ya utangazaji wa kurasa za wavuti kwa vifaa vilivyo karibu nawe.</translation> -<translation id="3706658020782046159">Chagua anwani ya mahali bidhaa zitakapopelekwa ili uangalie masharti na mbinu za kusafirisha.</translation> <translation id="3738139272394829648">Gusa ili Utafute</translation> <translation id="3771033907050503522">Vichupo Fiche</translation> <translation id="3783017676699494206">Hifadhi Picha</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Wavuti</translation> <translation id="5198972191746488848">Ongeza Kadi...</translation> <translation id="5228579091201413441">Washa usawazishaji</translation> -<translation id="5230733896359313003">Anwani ya Mahali Bidhaa Zitakapopelekwa</translation> <translation id="5244474230056479698">Inasawazisha kwenye <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Onyesha</translation> <translation id="5317780077021120954">Hifadhi</translation> <translation id="5327248766486351172">Jina</translation> -<translation id="5332219387342487447">Mbinu ya Usafirishaji</translation> <translation id="5388358297987318779">Fungua Picha</translation> <translation id="5409365236829784218">Hakuna programu zilizosakinishwa zinazoweza kufungua faili hii.</translation> <translation id="54401264925851789">Maelezo ya Usalama wa Ukurasa</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Usaidizi</translation> <translation id="7658239707568436148">Ghairi</translation> <translation id="7671141431838911305">SAKINISHA</translation> -<translation id="7682287625158474539">Anwani ya Kufikishia</translation> <translation id="7765158879357617694">Sogeza</translation> <translation id="7769602470925380267">Kubali na uondoke kwenye akaunti</translation> <translation id="7772032839648071052">Thibitisha kaulisiri</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb index 6382196..06f32a7 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">வலைப்பக்கங்களை முன்னதாக ஏற்று</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" /> இல் புத்தகக்குறியைச் சேர்த்தது</translation> <translation id="3692781555820666866">இதை இயக்கியிருக்கும்போது, உங்களுக்கு அருகிலுள்ள சாதனங்கள் வலைபரப்பும் இணையப் பக்கங்களுக்கான பரிந்துரைகளையும் சர்வபுலம் காண்பிக்கும்.</translation> -<translation id="3706658020782046159">ஷிப்பிங் முறைகளையும் தேவைகளையும் பார்க்க, ஷிப்பிங் முகவரியைத் தேர்ந்தெடுக்கவும்</translation> <translation id="3738139272394829648">தேடத் தொடவும்</translation> <translation id="3771033907050503522">மறைநிலைத் தாவல்கள்</translation> <translation id="3783017676699494206">படத்தைச் சேமி</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">இணையம்</translation> <translation id="5198972191746488848">கார்டைச் சேர்...</translation> <translation id="5228579091201413441">ஒத்திசைவை இயக்கு</translation> -<translation id="5230733896359313003">ஷிப்பிங் முகவரி</translation> <translation id="5244474230056479698"><ph name="EMAIL" />க்கு ஒத்திசைக்கிறது</translation> <translation id="5300589172476337783">காண்பி</translation> <translation id="5317780077021120954">சேமி</translation> <translation id="5327248766486351172">பெயர்</translation> -<translation id="5332219387342487447">ஷிப்பிங் முறை</translation> <translation id="5388358297987318779">படத்தைத் திற</translation> <translation id="5409365236829784218">இந்தக் கோப்பைத் திறக்கக்கூடிய பயன்பாடுகள் எதுவும் நிறுவப்படவில்லை.</translation> <translation id="54401264925851789">பக்க பாதுகாப்புத் தகவல்</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">உதவி</translation> <translation id="7658239707568436148">ரத்து செய்</translation> <translation id="7671141431838911305">நிறுவு</translation> -<translation id="7682287625158474539">ஷிப்பிங்</translation> <translation id="7765158879357617694">நகர்த்து</translation> <translation id="7769602470925380267">சரி, வெளியேறு</translation> <translation id="7772032839648071052">கடவுச்சொற்றொடரை உறுதி செய்க</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb index 195e00e..c1ddd6e 100644 --- a/ios/chrome/app/strings/resources/ios_strings_te.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">వెబ్పేజీలను ముందే లోడ్ చేయి</translation> <translation id="3691593122358196899"><ph name="FOLDER_TITLE" />కి బుక్మార్క్ చేయబడింది</translation> <translation id="3692781555820666866">ప్రారంభించినప్పుడు, ఓమ్నిపెట్టె మీకు సమీపంలోని పరికరాల ద్వారా వెబ్ పేజీల ప్రసారం కోసం సూచనలను చేర్చుతుంది.</translation> -<translation id="3706658020782046159">షిప్పింగ్ పద్ధతులు మరియు ఆవశ్యకాలను చూడటానికి షిప్పింగ్ చిరునామాను ఎంచుకోండి.</translation> <translation id="3738139272394829648">శోధించడానికి తాకండి</translation> <translation id="3771033907050503522">అజ్ఞాత ట్యాబ్లు</translation> <translation id="3783017676699494206">చిత్రాన్ని సేవ్ చేయి</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">ఇంటర్నెట్</translation> <translation id="5198972191746488848">కార్డ్ని జోడించు...</translation> <translation id="5228579091201413441">సమకాలీకరణను ప్రారంభించండి</translation> -<translation id="5230733896359313003">బట్వాడా చిరునామా</translation> <translation id="5244474230056479698"><ph name="EMAIL" />కి సమకాలీకరిస్తోంది</translation> <translation id="5300589172476337783">చూపించు</translation> <translation id="5317780077021120954">సేవ్ చేయి</translation> <translation id="5327248766486351172">పేరు</translation> -<translation id="5332219387342487447">షిప్పింగ్ పద్ధతి</translation> <translation id="5388358297987318779">చిత్రాన్ని తెరువు</translation> <translation id="5409365236829784218">ఈ ఫైల్ను తెరవగలిగే అనువర్తనాలు ఇన్స్టాల్ చేయబడలేదు.</translation> <translation id="54401264925851789">పేజీ భద్రతా సమాచారం</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">సహాయం</translation> <translation id="7658239707568436148">రద్దు చెయ్యి</translation> <translation id="7671141431838911305">ఇన్స్టాల్ చేయి</translation> -<translation id="7682287625158474539">ఓడ రవాణా</translation> <translation id="7765158879357617694">తరలించు</translation> <translation id="7769602470925380267">అంగీకరిస్తున్నాను, సైన్ అవుట్ చేయి</translation> <translation id="7772032839648071052">పాస్ఫ్రేజ్ని నిర్ధారించండి</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb index bc92d4d0..bfe7f3cf 100644 --- a/ios/chrome/app/strings/resources/ios_strings_th.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -148,7 +148,6 @@ <translation id="3638472932233958418">โหลดหน้าเว็บล่วงหน้า</translation> <translation id="3691593122358196899">เพิ่มบุ๊กมาร์กไปยัง <ph name="FOLDER_TITLE" /> แล้ว</translation> <translation id="3692781555820666866">เมื่อเปิดใช้ แถบอเนกประสงค์จะรวมคำแนะนำการเผยแพร่หน้าเว็บจากอุปกรณ์ใกล้เคียง</translation> -<translation id="3706658020782046159">เลือกที่อยู่สำหรับจัดส่งเพื่อตรวจสอบวิธีจัดส่งและข้อกำหนด</translation> <translation id="3738139272394829648">แตะเพื่อค้นหา</translation> <translation id="3771033907050503522">แท็บที่ไม่ระบุตัวตน</translation> <translation id="3783017676699494206">บันทึกภาพ</translation> @@ -209,12 +208,10 @@ <translation id="5197255632782567636">อินเทอร์เน็ต</translation> <translation id="5198972191746488848">เพิ่มบัตร...</translation> <translation id="5228579091201413441">เปิดใช้การซิงค์</translation> -<translation id="5230733896359313003">ที่อยู่ในการจัดส่ง</translation> <translation id="5244474230056479698">กำลังซิงค์กับ <ph name="EMAIL" /></translation> <translation id="5300589172476337783">แสดง</translation> <translation id="5317780077021120954">บันทึก</translation> <translation id="5327248766486351172">ชื่อ</translation> -<translation id="5332219387342487447">วิธีการจัดส่ง</translation> <translation id="5388358297987318779">เปิดภาพ</translation> <translation id="5409365236829784218">ไม่ได้ติดตั้งแอปพลิเคชันที่สามารถเปิดไฟล์นี้</translation> <translation id="54401264925851789">ข้อมูลเกี่ยวกับการรักษาความปลอดภัยของหน้าเว็บ</translation> @@ -341,7 +338,6 @@ <translation id="7649070708921625228">ช่วยเหลือ</translation> <translation id="7658239707568436148">ยกเลิก</translation> <translation id="7671141431838911305">ติดตั้ง</translation> -<translation id="7682287625158474539">จัดส่ง</translation> <translation id="7765158879357617694">ย้าย</translation> <translation id="7769602470925380267">ยอมรับและออกจากระบบ</translation> <translation id="7772032839648071052">ยืนยันข้อความรหัสผ่าน</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb index 4d8a3987..62f0d2fe 100644 --- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Web Sayfalarını Önceden Yükle</translation> <translation id="3691593122358196899">Yer işareti <ph name="FOLDER_TITLE" /> klasörüne eklendi</translation> <translation id="3692781555820666866">Özellik etkinleştirildiğinde, yakınınızdaki cihazların yayınladığı web sayfalarına ilişkin öneriler çok amaçlı adres çubuğunda görünür.</translation> -<translation id="3706658020782046159">Gönderim yöntemlerini ve gereksinimleri kontrol etmek için bir gönderim adresi seçin.</translation> <translation id="3738139272394829648">Dokun ve Ara</translation> <translation id="3771033907050503522">Gizli Sekmeler</translation> <translation id="3783017676699494206">Resmi Kaydet</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">İnternet</translation> <translation id="5198972191746488848">Kart Ekle...</translation> <translation id="5228579091201413441">Senkronizasyonu etkinleştir</translation> -<translation id="5230733896359313003">Gönderim Adresi</translation> <translation id="5244474230056479698"><ph name="EMAIL" /> hesabıyla senkronize ediliyor</translation> <translation id="5300589172476337783">Göster</translation> <translation id="5317780077021120954">Kaydet</translation> <translation id="5327248766486351172">Ad</translation> -<translation id="5332219387342487447">Gönderim Yöntemi</translation> <translation id="5388358297987318779">Resmi Aç</translation> <translation id="5409365236829784218">Bu dosyayı açabilecek yüklü uygulama yok.</translation> <translation id="54401264925851789">Sayfa Güvenlik Bilgileri</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Yardım</translation> <translation id="7658239707568436148">İptal</translation> <translation id="7671141431838911305">YÜKLE</translation> -<translation id="7682287625158474539">Sevkiyat</translation> <translation id="7765158879357617694">Taşı</translation> <translation id="7769602470925380267">Kabul et ve oturumu kapat</translation> <translation id="7772032839648071052">Parolayı onayla</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb index 4c2adc6..ab37bdd2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Попер.завантаж.стор.</translation> <translation id="3691593122358196899">Закладку збережено в папці "<ph name="FOLDER_TITLE" />"</translation> <translation id="3692781555820666866">Якщо ввімкнено, універсальне вікно пошуку включатиме пропозиції трансляції веб-сторінок пристроями поблизу.</translation> -<translation id="3706658020782046159">Виберіть адресу доставки, щоб переглянути способи доставки та вимоги.</translation> <translation id="3738139272394829648">Пошук дотиком</translation> <translation id="3771033907050503522">Анонімні вкладки</translation> <translation id="3783017676699494206">Зберегти зображення</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Інтернет</translation> <translation id="5198972191746488848">Додати картку…</translation> <translation id="5228579091201413441">Увімкнути синхронізацію</translation> -<translation id="5230733896359313003">Адреса доставки</translation> <translation id="5244474230056479698">Синхронізація з обліковим записом <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Показати</translation> <translation id="5317780077021120954">Зберегти</translation> <translation id="5327248766486351172">Назва</translation> -<translation id="5332219387342487447">Спосіб доставки</translation> <translation id="5388358297987318779">Відкрити зображення</translation> <translation id="5409365236829784218">Немає встановлених програм, які можуть відкрити цей файл.</translation> <translation id="54401264925851789">Відомості про безпеку сторінки</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Довідка</translation> <translation id="7658239707568436148">Скасувати</translation> <translation id="7671141431838911305">INSTALL</translation> -<translation id="7682287625158474539">Адреса для надсилання</translation> <translation id="7765158879357617694">Перемістити</translation> <translation id="7769602470925380267">Прийняти та вийти</translation> <translation id="7772032839648071052">Підтвердити парольну фразу</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb index bab62a2e..8412043 100644 --- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">Tải trước trang web</translation> <translation id="3691593122358196899">Đã đánh dấu trang vào <ph name="FOLDER_TITLE" /></translation> <translation id="3692781555820666866">Khi được bật, thanh địa chỉ sẽ bao gồm đề xuất cho những trang web mà các thiết bị ở gần bạn truyền phát.</translation> -<translation id="3706658020782046159">Chọn địa chỉ giao hàng để kiểm tra các yêu cầu và phương thức giao hàng.</translation> <translation id="3738139272394829648">Chạm để tìm kiếm</translation> <translation id="3771033907050503522">Tab ẩn danh</translation> <translation id="3783017676699494206">Lưu hình ảnh</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">Internet</translation> <translation id="5198972191746488848">Thêm thẻ...</translation> <translation id="5228579091201413441">Bật đồng bộ hóa</translation> -<translation id="5230733896359313003">Địa chỉ giao hàng</translation> <translation id="5244474230056479698">Đồng bộ hóa với <ph name="EMAIL" /></translation> <translation id="5300589172476337783">Hiển thị</translation> <translation id="5317780077021120954">Lưu</translation> <translation id="5327248766486351172">Tên</translation> -<translation id="5332219387342487447">Phương thức giao hàng</translation> <translation id="5388358297987318779">Mở hình ảnh</translation> <translation id="5409365236829784218">Không có ứng dụng nào được cài đặt có thể mở tệp này.</translation> <translation id="54401264925851789">Thông tin bảo mật trang</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">Trợ giúp</translation> <translation id="7658239707568436148">Hủy</translation> <translation id="7671141431838911305">CÀI ĐẶT</translation> -<translation id="7682287625158474539">Địa chỉ gửi hàng</translation> <translation id="7765158879357617694">Di chuyển</translation> <translation id="7769602470925380267">Chấp nhận và đăng xuất</translation> <translation id="7772032839648071052">Xác nhận cụm mật khẩu</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb index edd1289f..f98667f 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">预先加载网页</translation> <translation id="3691593122358196899">已将书签添加到“<ph name="FOLDER_TITLE" />”</translation> <translation id="3692781555820666866">启用此功能后,多功能框会推荐您附近的设备播报的网页。</translation> -<translation id="3706658020782046159">选择送货地址后才能查看送货方式和要求。</translation> <translation id="3738139272394829648">触摸搜索</translation> <translation id="3771033907050503522">隐身标签页</translation> <translation id="3783017676699494206">保存图片</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">互联网</translation> <translation id="5198972191746488848">添加信用卡…</translation> <translation id="5228579091201413441">启用同步功能</translation> -<translation id="5230733896359313003">送货地址</translation> <translation id="5244474230056479698">同步到 <ph name="EMAIL" /></translation> <translation id="5300589172476337783">显示</translation> <translation id="5317780077021120954">保存</translation> <translation id="5327248766486351172">名称</translation> -<translation id="5332219387342487447">送货方式</translation> <translation id="5388358297987318779">打开图片</translation> <translation id="5409365236829784218">没有安装可打开此文件的应用。</translation> <translation id="54401264925851789">网页安全信息</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">帮助</translation> <translation id="7658239707568436148">取消</translation> <translation id="7671141431838911305">安装</translation> -<translation id="7682287625158474539">送货地址</translation> <translation id="7765158879357617694">移动</translation> <translation id="7769602470925380267">接受并退出</translation> <translation id="7772032839648071052">确认密码</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb index 6e7386d..f79f2ea 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -150,7 +150,6 @@ <translation id="3638472932233958418">預先載入網頁</translation> <translation id="3691593122358196899">已將書籤加入「<ph name="FOLDER_TITLE" />」</translation> <translation id="3692781555820666866">啟用後,網址列的建議項目會包含附近裝置播送的網頁。</translation> -<translation id="3706658020782046159">選取運送地址即可查看運送方式和需求條件。</translation> <translation id="3738139272394829648">輕觸搜尋</translation> <translation id="3771033907050503522">無痕式分頁</translation> <translation id="3783017676699494206">儲存圖片</translation> @@ -211,12 +210,10 @@ <translation id="5197255632782567636">網際網路</translation> <translation id="5198972191746488848">新增信用卡...</translation> <translation id="5228579091201413441">啟用同步功能</translation> -<translation id="5230733896359313003">運送地址</translation> <translation id="5244474230056479698">同步到 <ph name="EMAIL" /></translation> <translation id="5300589172476337783">顯示</translation> <translation id="5317780077021120954">儲存</translation> <translation id="5327248766486351172">名稱</translation> -<translation id="5332219387342487447">運送方式</translation> <translation id="5388358297987318779">開啟圖片</translation> <translation id="5409365236829784218">未安裝可開啟這個檔案的應用程式。</translation> <translation id="54401264925851789">網頁安全性資訊</translation> @@ -343,7 +340,6 @@ <translation id="7649070708921625228">說明</translation> <translation id="7658239707568436148">取消</translation> <translation id="7671141431838911305">安裝</translation> -<translation id="7682287625158474539">寄送地址</translation> <translation id="7765158879357617694">移動</translation> <translation id="7769602470925380267">接受並登出</translation> <translation id="7772032839648071052">確認通關密語</translation>
diff --git a/ios/chrome/browser/metrics/BUILD.gn b/ios/chrome/browser/metrics/BUILD.gn index 93a5c48..0ca522f 100644 --- a/ios/chrome/browser/metrics/BUILD.gn +++ b/ios/chrome/browser/metrics/BUILD.gn
@@ -40,7 +40,6 @@ "//components/rappor", "//components/signin/core/browser", "//components/sync", - "//components/translate/core/browser", "//components/ukm", "//components/ukm:observers", "//components/variations", @@ -54,6 +53,7 @@ "//ios/chrome/browser/signin", "//ios/chrome/browser/sync", "//ios/chrome/browser/tabs", + "//ios/chrome/browser/translate", "//ios/chrome/browser/variations", "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory", "//ios/chrome/common",
diff --git a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm index 010a20f..4598b7f 100644 --- a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm +++ b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
@@ -45,7 +45,6 @@ #include "components/prefs/pref_service.h" #include "components/signin/core/browser/signin_status_metrics_provider.h" #include "components/sync/device_info/device_count_metrics_provider.h" -#include "components/translate/core/browser/translate_ranker_metrics_provider.h" #include "components/ukm/ukm_service.h" #include "components/variations/variations_associated_data.h" #include "components/version_info/version_info.h" @@ -61,6 +60,7 @@ #include "ios/chrome/browser/sync/ios_chrome_sync_client.h" #include "ios/chrome/browser/tab_parenting_global_observer.h" #include "ios/chrome/browser/tabs/tab_model_list.h" +#include "ios/chrome/browser/translate/translate_ranker_metrics_provider.h" #include "ios/chrome/common/channel_info.h" #include "ios/web/public/web_thread.h"
diff --git a/ios/chrome/browser/payments/cells/BUILD.gn b/ios/chrome/browser/payments/cells/BUILD.gn index bb65368..892e720 100644 --- a/ios/chrome/browser/payments/cells/BUILD.gn +++ b/ios/chrome/browser/payments/cells/BUILD.gn
@@ -4,6 +4,8 @@ source_set("cells") { sources = [ + "autofill_profile_item.h", + "autofill_profile_item.mm", "page_info_item.h", "page_info_item.mm", "payment_method_item.h", @@ -12,11 +14,10 @@ "payments_text_item.mm", "price_item.h", "price_item.mm", - "shipping_address_item.h", - "shipping_address_item.mm", ] deps = [ + "//ios/chrome/browser/ui", "//ios/chrome/browser/ui/collection_view/cells", "//ios/chrome/browser/ui/colors", "//ios/third_party/material_components_ios", @@ -29,11 +30,11 @@ source_set("unit_tests") { testonly = true sources = [ + "autofill_profile_item_unittest.mm", "page_info_item_unittest.mm", "payment_method_item_unittest.mm", "payments_text_item_unittest.mm", "price_item_unittest.mm", - "shipping_address_item_unittest.mm", ] deps = [
diff --git a/ios/chrome/browser/payments/cells/autofill_profile_item.h b/ios/chrome/browser/payments/cells/autofill_profile_item.h new file mode 100644 index 0000000..bae30c8 --- /dev/null +++ b/ios/chrome/browser/payments/cells/autofill_profile_item.h
@@ -0,0 +1,52 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ +#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_ + +#import <UIKit/UIKit.h> + +#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" +#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" + +// AutofillProfileItem is the model class corresponding to AutofillProfileCell. +@interface AutofillProfileItem : CollectionViewItem + +// Profile's name. +@property(nonatomic, copy) NSString* name; + +// Profile's address. +@property(nonatomic, copy) NSString* address; + +// Profile's phone number. +@property(nonatomic, copy) NSString* phoneNumber; + +// Profile's email address. +@property(nonatomic, copy) NSString* email; + +// The notification message. +@property(nonatomic, copy) NSString* notification; + +// The accessory type for the represented cell. +@property(nonatomic) MDCCollectionViewCellAccessoryType accessoryType; + +@end + +// AutofillProfileItem implements an MDCCollectionViewCell subclass containing +// five optional text labels. Each label is laid out to fill the full width of +// the cell. |nameLabel| and |addressLabel| are wrapped as needed to fit in the +// cell, the rest of the labels are truncated if necessary. +@interface AutofillProfileCell : MDCCollectionViewCell + +// UILabels corresponding to |name|, |address|, |phoneNumber|, |email|, and +// |notification|. +@property(nonatomic, readonly, strong) UILabel* nameLabel; +@property(nonatomic, readonly, strong) UILabel* addressLabel; +@property(nonatomic, readonly, strong) UILabel* phoneNumberLabel; +@property(nonatomic, readonly, strong) UILabel* emailLabel; +@property(nonatomic, readonly, strong) UILabel* notificationLabel; + +@end + +#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_AUTOFILL_PROFILE_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/shipping_address_item.mm b/ios/chrome/browser/payments/cells/autofill_profile_item.mm similarity index 61% rename from ios/chrome/browser/payments/cells/shipping_address_item.mm rename to ios/chrome/browser/payments/cells/autofill_profile_item.mm index 0d756e1..4e82bfa 100644 --- a/ios/chrome/browser/payments/cells/shipping_address_item.mm +++ b/ios/chrome/browser/payments/cells/autofill_profile_item.mm
@@ -1,10 +1,11 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/payments/cells/shipping_address_item.h" +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" -#import "ios/third_party/material_components_ios/src/components/Palettes/src/MaterialPalettes.h" +#import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" +#import "ios/chrome/browser/ui/uikit_ui_util.h" #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h" #if !defined(__has_feature) || !__has_feature(objc_arc) @@ -22,11 +23,13 @@ const CGFloat kVerticalSpacingBetweenLabels = 8; } // namespace -@implementation ShippingAddressItem +@implementation AutofillProfileItem @synthesize name = _name; @synthesize address = _address; @synthesize phoneNumber = _phoneNumber; +@synthesize email = _email; +@synthesize notification = _notification; @synthesize accessoryType = _accessoryType; #pragma mark CollectionViewItem @@ -34,26 +37,32 @@ - (instancetype)initWithType:(NSInteger)type { self = [super initWithType:type]; if (self) { - self.cellClass = [ShippingAddressCell class]; + self.cellClass = [AutofillProfileCell class]; } return self; } -- (void)configureCell:(ShippingAddressCell*)cell { +- (void)configureCell:(AutofillProfileCell*)cell { [super configureCell:cell]; cell.accessoryType = self.accessoryType; cell.nameLabel.text = self.name; cell.addressLabel.text = self.address; cell.phoneNumberLabel.text = self.phoneNumber; + cell.emailLabel.text = self.email; + cell.notificationLabel.text = self.notification; } @end -@implementation ShippingAddressCell +@implementation AutofillProfileCell { + UIStackView* _stackView; +} @synthesize nameLabel = _nameLabel; @synthesize addressLabel = _addressLabel; @synthesize phoneNumberLabel = _phoneNumberLabel; +@synthesize emailLabel = _emailLabel; +@synthesize notificationLabel = _notificationLabel; - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; @@ -71,17 +80,31 @@ UIView* contentView = self.contentView; contentView.clipsToBounds = YES; + _stackView = [[UIStackView alloc] initWithArrangedSubviews:@[]]; + _stackView.axis = UILayoutConstraintAxisVertical; + _stackView.layoutMarginsRelativeArrangement = YES; + _stackView.layoutMargins = + UIEdgeInsetsMake(kVerticalPadding, kHorizontalPadding, kVerticalPadding, + kHorizontalPadding); + _stackView.alignment = UIStackViewAlignmentLeading; + _stackView.spacing = kVerticalSpacingBetweenLabels; + _stackView.translatesAutoresizingMaskIntoConstraints = NO; + [contentView addSubview:_stackView]; + _nameLabel = [[UILabel alloc] init]; - _nameLabel.translatesAutoresizingMaskIntoConstraints = NO; - [contentView addSubview:_nameLabel]; + [_stackView addArrangedSubview:_nameLabel]; _addressLabel = [[UILabel alloc] init]; - _addressLabel.translatesAutoresizingMaskIntoConstraints = NO; - [contentView addSubview:_addressLabel]; + [_stackView addArrangedSubview:_addressLabel]; _phoneNumberLabel = [[UILabel alloc] init]; - _phoneNumberLabel.translatesAutoresizingMaskIntoConstraints = NO; - [contentView addSubview:_phoneNumberLabel]; + [_stackView addArrangedSubview:_phoneNumberLabel]; + + _emailLabel = [[UILabel alloc] init]; + [_stackView addArrangedSubview:_emailLabel]; + + _notificationLabel = [[UILabel alloc] init]; + [_stackView addArrangedSubview:_notificationLabel]; } // Set default font and text colors for labels. @@ -98,43 +121,17 @@ _phoneNumberLabel.font = [MDCTypography body1Font]; _phoneNumberLabel.textColor = [[MDCPalette greyPalette] tint900]; + + _emailLabel.font = [MDCTypography body1Font]; + _emailLabel.textColor = [[MDCPalette greyPalette] tint900]; + + _notificationLabel.font = [MDCTypography body1Font]; + _notificationLabel.textColor = [[MDCPalette cr_bluePalette] tint500]; } // Set constraints on subviews. - (void)setViewConstraints { - UIView* contentView = self.contentView; - - [NSLayoutConstraint activateConstraints:@[ - // Set leading anchors. - [_nameLabel.leadingAnchor constraintEqualToAnchor:contentView.leadingAnchor - constant:kHorizontalPadding], - [_addressLabel.leadingAnchor - constraintEqualToAnchor:_nameLabel.leadingAnchor], - [_phoneNumberLabel.leadingAnchor - constraintEqualToAnchor:_addressLabel.leadingAnchor], - - // Set vertical anchors. - [_nameLabel.topAnchor constraintEqualToAnchor:contentView.topAnchor - constant:kVerticalPadding], - [_addressLabel.topAnchor - constraintEqualToAnchor:_nameLabel.bottomAnchor - constant:kVerticalSpacingBetweenLabels], - [_addressLabel.bottomAnchor - constraintEqualToAnchor:_phoneNumberLabel.topAnchor - constant:-kVerticalSpacingBetweenLabels], - [_phoneNumberLabel.bottomAnchor - constraintEqualToAnchor:contentView.bottomAnchor - constant:-kVerticalPadding], - - // Set trailing anchors. - [_nameLabel.trailingAnchor - constraintLessThanOrEqualToAnchor:contentView.trailingAnchor - constant:-kHorizontalPadding], - [_addressLabel.trailingAnchor - constraintLessThanOrEqualToAnchor:_nameLabel.trailingAnchor], - [_phoneNumberLabel.trailingAnchor - constraintLessThanOrEqualToAnchor:_addressLabel.trailingAnchor], - ]]; + AddSameSizeConstraint(self.contentView, _stackView); } #pragma mark - UIView @@ -142,6 +139,12 @@ // Implement -layoutSubviews as per instructions in documentation for // +[MDCCollectionViewCell cr_preferredHeightForWidth:forItem:]. - (void)layoutSubviews { + _nameLabel.hidden = !_nameLabel.text; + _addressLabel.hidden = !_addressLabel.text; + _phoneNumberLabel.hidden = !_phoneNumberLabel.text; + _emailLabel.hidden = !_emailLabel.text; + _notificationLabel.hidden = !_notificationLabel.text; + // When the accessory type is None, the content view of the cell (and thus) // the labels inside it span larger than when there is a Checkmark accessory // type. That means that toggling the accessory type can induce a rewrapping @@ -154,13 +157,12 @@ [super layoutSubviews]; - // Adjust labels' preferredMaxLayoutWidth when the parent's width changes, for - // instance on screen rotation. + // Adjust preferredMaxLayoutWidth of _nameLabel and _addressLabel when the + // parent's width changes, for instance on screen rotation. CGFloat parentWidth = CGRectGetWidth(self.contentView.frame); CGFloat preferredMaxLayoutWidth = parentWidth - (2 * kHorizontalPadding); _nameLabel.preferredMaxLayoutWidth = preferredMaxLayoutWidth; _addressLabel.preferredMaxLayoutWidth = preferredMaxLayoutWidth; - _phoneNumberLabel.preferredMaxLayoutWidth = preferredMaxLayoutWidth; // Re-layout with the new preferred width to allow the label to adjust its // height. @@ -177,15 +179,18 @@ self.nameLabel.text = nil; self.addressLabel.text = nil; self.phoneNumberLabel.text = nil; + self.emailLabel.text = nil; + self.notificationLabel.text = nil; self.accessoryType = MDCCollectionViewCellAccessoryNone; } #pragma mark - NSObject(Accessibility) - (NSString*)accessibilityLabel { - return [NSString stringWithFormat:@"%@, %@, %@", self.nameLabel.text, - self.addressLabel.text, - self.phoneNumberLabel.text]; + return [NSString + stringWithFormat:@"%@, %@, %@, %@, %@", self.nameLabel.text, + self.addressLabel.text, self.phoneNumberLabel.text, + self.emailLabel.text, self.notificationLabel.text]; } @end
diff --git a/ios/chrome/browser/payments/cells/autofill_profile_item_unittest.mm b/ios/chrome/browser/payments/cells/autofill_profile_item_unittest.mm new file mode 100644 index 0000000..abc5166 --- /dev/null +++ b/ios/chrome/browser/payments/cells/autofill_profile_item_unittest.mm
@@ -0,0 +1,51 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" + +#import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" +#include "testing/gtest/include/gtest/gtest.h" +#include "testing/gtest_mac.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +namespace { + +// Tests that the labels are set properly after a call to |configureCell:|. +TEST(AutofillProfileItemTest, TextLabels) { + AutofillProfileItem* item = [[AutofillProfileItem alloc] initWithType:0]; + + NSString* name = @"Jon Doe"; + NSString* address = @"123 Main St, Anytown, USA"; + NSString* phoneNumber = @"1234567890"; + NSString* email = @"123-456-7890"; + NSString* notification = @"More information is required"; + + item.name = name; + item.address = address; + item.phoneNumber = phoneNumber; + item.email = email; + item.notification = notification; + + id cell = [[[item cellClass] alloc] init]; + ASSERT_TRUE([cell isMemberOfClass:[AutofillProfileCell class]]); + + AutofillProfileCell* autofillProfileCell = cell; + EXPECT_FALSE(autofillProfileCell.nameLabel.text); + EXPECT_FALSE(autofillProfileCell.addressLabel.text); + EXPECT_FALSE(autofillProfileCell.phoneNumberLabel.text); + EXPECT_FALSE(autofillProfileCell.emailLabel.text); + EXPECT_FALSE(autofillProfileCell.notificationLabel.text); + + [item configureCell:autofillProfileCell]; + EXPECT_NSEQ(name, autofillProfileCell.nameLabel.text); + EXPECT_NSEQ(address, autofillProfileCell.addressLabel.text); + EXPECT_NSEQ(phoneNumber, autofillProfileCell.phoneNumberLabel.text); + EXPECT_NSEQ(email, autofillProfileCell.emailLabel.text); + EXPECT_NSEQ(notification, autofillProfileCell.notificationLabel.text); +} + +} // namespace
diff --git a/ios/chrome/browser/payments/cells/shipping_address_item.h b/ios/chrome/browser/payments/cells/shipping_address_item.h deleted file mode 100644 index f94a988..0000000 --- a/ios/chrome/browser/payments/cells/shipping_address_item.h +++ /dev/null
@@ -1,35 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_SHIPPING_ADDRESS_ITEM_H_ -#define IOS_CHROME_BROWSER_PAYMENTS_CELLS_SHIPPING_ADDRESS_ITEM_H_ - -#import <UIKit/UIKit.h> - -#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" -#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" - -// The model item for shipping address view. -@interface ShippingAddressItem : CollectionViewItem - -@property(nonatomic, copy) NSString* name; -@property(nonatomic, copy) NSString* address; -@property(nonatomic, copy) NSString* phoneNumber; - -// The accessory type for the represented cell. -@property(nonatomic) MDCCollectionViewCellAccessoryType accessoryType; - -@end - -// The cell for shipping address view with a name, address, and phone number -// text labels. -@interface ShippingAddressCell : MDCCollectionViewCell - -@property(nonatomic, readonly, strong) UILabel* nameLabel; -@property(nonatomic, readonly, strong) UILabel* addressLabel; -@property(nonatomic, readonly, strong) UILabel* phoneNumberLabel; - -@end - -#endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_SHIPPING_ADDRESS_ITEM_H_
diff --git a/ios/chrome/browser/payments/cells/shipping_address_item_unittest.mm b/ios/chrome/browser/payments/cells/shipping_address_item_unittest.mm deleted file mode 100644 index 1c9fd87f..0000000 --- a/ios/chrome/browser/payments/cells/shipping_address_item_unittest.mm +++ /dev/null
@@ -1,43 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "ios/chrome/browser/payments/cells/shipping_address_item.h" - -#import "ios/chrome/browser/ui/collection_view/cells/test_utils.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "testing/gtest_mac.h" - -#if !defined(__has_feature) || !__has_feature(objc_arc) -#error "This file requires ARC support." -#endif - -namespace { - -// Tests that the labels are set properly after a call to |configureCell:|. -TEST(ShippingAddressItemTest, TextLabels) { - ShippingAddressItem* item = [[ShippingAddressItem alloc] initWithType:0]; - - NSString* name = @"Jon Doe"; - NSString* address = @"123 Main St, Anytown, USA"; - NSString* phoneNumber = @"1234567890"; - - item.name = name; - item.address = address; - item.phoneNumber = phoneNumber; - - id cell = [[[item cellClass] alloc] init]; - ASSERT_TRUE([cell isMemberOfClass:[ShippingAddressCell class]]); - - ShippingAddressCell* shippingAddressCell = cell; - EXPECT_FALSE(shippingAddressCell.nameLabel.text); - EXPECT_FALSE(shippingAddressCell.addressLabel.text); - EXPECT_FALSE(shippingAddressCell.phoneNumberLabel.text); - - [item configureCell:shippingAddressCell]; - EXPECT_NSEQ(name, shippingAddressCell.nameLabel.text); - EXPECT_NSEQ(address, shippingAddressCell.addressLabel.text); - EXPECT_NSEQ(phoneNumber, shippingAddressCell.phoneNumberLabel.text); -} - -} // namespace
diff --git a/ios/chrome/browser/payments/payment_request.h b/ios/chrome/browser/payments/payment_request.h index 5b4cea2..bfcec31 100644 --- a/ios/chrome/browser/payments/payment_request.h +++ b/ios/chrome/browser/payments/payment_request.h
@@ -57,7 +57,7 @@ // Returns the available autofill profiles for this user to be used as // shipping profiles. const std::vector<autofill::AutofillProfile*>& shipping_profiles() const { - return profiles_; + return shipping_profiles_; } // Returns the currently selected shipping profile for this PaymentRequest @@ -72,9 +72,26 @@ } // Returns the available autofill profiles for this user to be used as + // contact profiles. + const std::vector<autofill::AutofillProfile*>& contact_profiles() const { + return contact_profiles_; + } + + // Returns the currently selected contact profile for this PaymentRequest + // flow if there is one. Returns nullptr if there is no selected profile. + autofill::AutofillProfile* selected_contact_profile() const { + return selected_contact_profile_; + } + + // Sets the currently selected contact profile for this PaymentRequest flow. + void set_selected_contact_profile(autofill::AutofillProfile* profile) { + selected_contact_profile_ = profile; + } + + // Returns the available autofill profiles for this user to be used as // billing profiles. const std::vector<autofill::AutofillProfile*>& billing_profiles() const { - return profiles_; + return shipping_profiles_; } // Returns the available autofill credit cards for this user that match a @@ -134,14 +151,19 @@ // once and owned here. Whenever profiles are requested a vector of pointers // to these copies are returned. std::vector<std::unique_ptr<autofill::AutofillProfile>> profile_cache_; - std::vector<autofill::AutofillProfile*> profiles_; + + std::vector<autofill::AutofillProfile*> shipping_profiles_; autofill::AutofillProfile* selected_shipping_profile_; + std::vector<autofill::AutofillProfile*> contact_profiles_; + autofill::AutofillProfile* selected_contact_profile_; + // Credit cards returnd by the Data Manager may change due to (e.g.) // sync events, meaning PaymentRequest may outlive them. Therefore, credit // cards are fetched once and owned here. Whenever credit cards are requested // a vector of pointers to these copies are returned. std::vector<std::unique_ptr<autofill::CreditCard>> credit_card_cache_; + std::vector<autofill::CreditCard*> credit_cards_; autofill::CreditCard* selected_credit_card_;
diff --git a/ios/chrome/browser/payments/payment_request.mm b/ios/chrome/browser/payments/payment_request.mm index fe3bdee..3d959a1 100644 --- a/ios/chrome/browser/payments/payment_request.mm +++ b/ios/chrome/browser/payments/payment_request.mm
@@ -25,6 +25,7 @@ : web_payment_request_(std::move(web_payment_request)), personal_data_manager_(personal_data_manager), selected_shipping_profile_(nullptr), + selected_contact_profile_(nullptr), selected_credit_card_(nullptr), selected_shipping_option_(nullptr) { PopulateProfileCache(); @@ -56,11 +57,18 @@ for (const auto& profile : personal_data_manager_->GetProfilesToSuggest()) { profile_cache_.push_back( base::MakeUnique<autofill::AutofillProfile>(*profile)); - profiles_.push_back(profile_cache_.back().get()); + shipping_profiles_.push_back(profile_cache_.back().get()); + // TODO(crbug.com/602666): Implement deduplication rules for profiles. + contact_profiles_.push_back(profile_cache_.back().get()); } - if (!profiles_.empty()) - selected_shipping_profile_ = profiles_[0]; + // TODO(crbug.com/602666): Implement prioritization rules for shipping and + // contact profiles. + + if (!shipping_profiles_.empty()) + selected_shipping_profile_ = shipping_profiles_[0]; + if (!contact_profiles_.empty()) + selected_contact_profile_ = contact_profiles_[0]; } void PaymentRequest::PopulateCreditCardCache() { @@ -86,6 +94,8 @@ } } + // TODO(crbug.com/602666): Implement prioritization rules for credit cards. + if (!credit_cards_.empty()) selected_credit_card_ = credit_cards_[0]; }
diff --git a/ios/chrome/browser/payments/payment_request_coordinator.mm b/ios/chrome/browser/payments/payment_request_coordinator.mm index ac8af1f..e198fd9 100644 --- a/ios/chrome/browser/payments/payment_request_coordinator.mm +++ b/ios/chrome/browser/payments/payment_request_coordinator.mm
@@ -200,7 +200,7 @@ card.billing_address_id(), _paymentRequest->billing_profiles()); if (address) { paymentResponse.details.billing_address = - payment_request_util::PaymentAddressFromAutofillProfile(address); + payment_request_util::GetPaymentAddressFromAutofillProfile(address); } } @@ -357,7 +357,8 @@ _pendingShippingAddress = shippingAddress; web::PaymentAddress address = - payment_request_util::PaymentAddressFromAutofillProfile(shippingAddress); + payment_request_util::GetPaymentAddressFromAutofillProfile( + shippingAddress); [_delegate paymentRequestCoordinator:self didSelectShippingAddress:address]; }
diff --git a/ios/chrome/browser/payments/payment_request_util.h b/ios/chrome/browser/payments/payment_request_util.h index 008fb50..7491016 100644 --- a/ios/chrome/browser/payments/payment_request_util.h +++ b/ios/chrome/browser/payments/payment_request_util.h
@@ -17,19 +17,27 @@ namespace payment_request_util { -// Helper function to get the name label from an autofill profile. -NSString* NameLabelFromAutofillProfile(autofill::AutofillProfile* profile); +// Helper function to get the name label from an autofill profile. Returns nil +// if the name field is empty. +NSString* GetNameLabelFromAutofillProfile(autofill::AutofillProfile* profile); -// Helper function to get the address label from an autofill profile. -NSString* AddressLabelFromAutofillProfile(autofill::AutofillProfile* profile); +// Helper function to get the address label from an autofill profile. Returns +// nil if the address field is empty. +NSString* GetAddressLabelFromAutofillProfile( + autofill::AutofillProfile* profile); // Helper function to get the phone number label from an autofill profile. -NSString* PhoneNumberLabelFromAutofillProfile( +// Returns nil if the phone number field is empty. +NSString* GetPhoneNumberLabelFromAutofillProfile( autofill::AutofillProfile* profile); +// Helper function to get the email label from an autofill profile. Returns nil +// if the email field is empty. +NSString* GetEmailLabelFromAutofillProfile(autofill::AutofillProfile* profile); + // Helper function to get an instance of web::PaymentAddress from an autofill // profile. -web::PaymentAddress PaymentAddressFromAutofillProfile( +web::PaymentAddress GetPaymentAddressFromAutofillProfile( autofill::AutofillProfile* profile); // Returns the title for the shipping section of the payment summary view given
diff --git a/ios/chrome/browser/payments/payment_request_util.mm b/ios/chrome/browser/payments/payment_request_util.mm index 12dbde21..9e8b0be 100644 --- a/ios/chrome/browser/payments/payment_request_util.mm +++ b/ios/chrome/browser/payments/payment_request_util.mm
@@ -4,6 +4,7 @@ #import "ios/chrome/browser/payments/payment_request_util.h" +#include "base/strings/string16.h" #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" #include "components/autofill/core/browser/autofill_profile.h" @@ -19,15 +20,17 @@ namespace payment_request_util { -NSString* NameLabelFromAutofillProfile(autofill::AutofillProfile* profile) { +NSString* GetNameLabelFromAutofillProfile(autofill::AutofillProfile* profile) { return base::SysUTF16ToNSString( profile->GetInfo(autofill::AutofillType(autofill::NAME_FULL), GetApplicationContext()->GetApplicationLocale())); } -NSString* AddressLabelFromAutofillProfile(autofill::AutofillProfile* profile) { - // Name, company, and country are not included in the shipping address label. +NSString* GetAddressLabelFromAutofillProfile( + autofill::AutofillProfile* profile) { + // Name and country are not included in the shipping address label. std::vector<autofill::ServerFieldType> label_fields; + label_fields.push_back(autofill::COMPANY_NAME); label_fields.push_back(autofill::ADDRESS_HOME_LINE1); label_fields.push_back(autofill::ADDRESS_HOME_LINE2); label_fields.push_back(autofill::ADDRESS_HOME_DEPENDENT_LOCALITY); @@ -36,19 +39,24 @@ label_fields.push_back(autofill::ADDRESS_HOME_ZIP); label_fields.push_back(autofill::ADDRESS_HOME_SORTING_CODE); - return base::SysUTF16ToNSString(profile->ConstructInferredLabel( + base::string16 label = profile->ConstructInferredLabel( label_fields, label_fields.size(), - GetApplicationContext()->GetApplicationLocale())); + GetApplicationContext()->GetApplicationLocale()); + return !label.empty() ? base::SysUTF16ToNSString(label) : nil; } -NSString* PhoneNumberLabelFromAutofillProfile( +NSString* GetPhoneNumberLabelFromAutofillProfile( autofill::AutofillProfile* profile) { - return base::SysUTF16ToNSString(profile->GetInfo( - autofill::AutofillType(autofill::PHONE_HOME_WHOLE_NUMBER), - GetApplicationContext()->GetApplicationLocale())); + base::string16 label = profile->GetRawInfo(autofill::PHONE_HOME_WHOLE_NUMBER); + return !label.empty() ? base::SysUTF16ToNSString(label) : nil; } -web::PaymentAddress PaymentAddressFromAutofillProfile( +NSString* GetEmailLabelFromAutofillProfile(autofill::AutofillProfile* profile) { + base::string16 label = profile->GetRawInfo(autofill::EMAIL_ADDRESS); + return !label.empty() ? base::SysUTF16ToNSString(label) : nil; +} + +web::PaymentAddress GetPaymentAddressFromAutofillProfile( autofill::AutofillProfile* profile) { web::PaymentAddress address; address.country = profile->GetRawInfo(autofill::ADDRESS_HOME_COUNTRY);
diff --git a/ios/chrome/browser/payments/payment_request_view_controller.mm b/ios/chrome/browser/payments/payment_request_view_controller.mm index 3f442cf..17bc6d6 100644 --- a/ios/chrome/browser/payments/payment_request_view_controller.mm +++ b/ios/chrome/browser/payments/payment_request_view_controller.mm
@@ -15,10 +15,10 @@ #include "components/autofill/core/browser/personal_data_manager.h" #include "components/payments/core/currency_formatter.h" #include "components/strings/grit/components_strings.h" +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/payments/cells/page_info_item.h" #import "ios/chrome/browser/payments/cells/payment_method_item.h" #import "ios/chrome/browser/payments/cells/price_item.h" -#import "ios/chrome/browser/payments/cells/shipping_address_item.h" #import "ios/chrome/browser/payments/payment_request_util.h" #import "ios/chrome/browser/payments/payment_request_view_controller_actions.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" @@ -42,9 +42,12 @@ #error "This file requires ARC support." #endif -using payment_request_util::NameLabelFromAutofillProfile; -using payment_request_util::AddressLabelFromAutofillProfile; -using payment_request_util::PhoneNumberLabelFromAutofillProfile; +namespace { +using ::payment_request_util::GetNameLabelFromAutofillProfile; +using ::payment_request_util::GetAddressLabelFromAutofillProfile; +using ::payment_request_util::GetPhoneNumberLabelFromAutofillProfile; +using ::payment_request_util::GetEmailLabelFromAutofillProfile; +} // namespace NSString* const kPaymentRequestCollectionViewID = @"kPaymentRequestCollectionViewID"; @@ -58,7 +61,7 @@ SectionIdentifierSummary = kSectionIdentifierEnumZero, SectionIdentifierShipping, SectionIdentifierPayment, - + SectionIdentifierContactInfo, }; typedef NS_ENUM(NSInteger, ItemType) { @@ -73,6 +76,9 @@ ItemTypePaymentTitle, ItemTypePaymentMethod, ItemTypeAddPaymentMethod, + ItemTypeContactInfoTitle, + ItemTypeContactInfo, + ItemTypeAddContactInfo, }; } // namespace @@ -87,10 +93,11 @@ // pointer and should outlive this class. PaymentRequest* _paymentRequest; - PriceItem* _paymentSummaryItem; - ShippingAddressItem* _selectedShippingAddressItem; - CollectionViewTextItem* _selectedShippingOptionItem; - PaymentMethodItem* _selectedPaymentMethodItem; + __weak PriceItem* _paymentSummaryItem; + __weak AutofillProfileItem* _selectedShippingAddressItem; + __weak CollectionViewTextItem* _selectedShippingOptionItem; + __weak PaymentMethodItem* _selectedPaymentMethodItem; + __weak AutofillProfileItem* _selectedContactInfoItem; } @end @@ -110,8 +117,7 @@ // Set up leading (cancel) button. _cancelButton = [[UIBarButtonItem alloc] - initWithTitle:l10n_util::GetNSString( - IDS_IOS_PAYMENT_REQUEST_CANCEL_BUTTON) + initWithTitle:l10n_util::GetNSString(IDS_CANCEL) style:UIBarButtonItemStylePlain target:nil action:@selector(onCancel)]; @@ -200,16 +206,18 @@ return; } - _paymentSummaryItem = [[PriceItem alloc] initWithType:ItemTypeSummaryTotal]; - [self fillPaymentSummaryItem:_paymentSummaryItem + PriceItem* paymentSummaryItem = + [[PriceItem alloc] initWithType:ItemTypeSummaryTotal]; + _paymentSummaryItem = paymentSummaryItem; + [self fillPaymentSummaryItem:paymentSummaryItem withPaymentItem:_paymentRequest->payment_details().total withTotalValueChanged:NO]; if (!_paymentRequest->payment_details().display_items.empty()) { - _paymentSummaryItem.accessoryType = + paymentSummaryItem.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; - _paymentSummaryItem.accessibilityTraits |= UIAccessibilityTraitButton; + paymentSummaryItem.accessibilityTraits |= UIAccessibilityTraitButton; } - [model addItem:_paymentSummaryItem + [model addItem:paymentSummaryItem toSectionWithIdentifier:SectionIdentifierSummary]; // Shipping section. @@ -224,37 +232,41 @@ CollectionViewItem* shippingAddressItem = nil; if (_paymentRequest->selected_shipping_profile()) { - _selectedShippingAddressItem = - [[ShippingAddressItem alloc] initWithType:ItemTypeShippingAddress]; - shippingAddressItem = _selectedShippingAddressItem; - [self fillShippingAddressItem:_selectedShippingAddressItem - withAddress:_paymentRequest->selected_shipping_profile()]; - _selectedShippingAddressItem.accessoryType = + AutofillProfileItem* selectedShippingAddressItem = + [[AutofillProfileItem alloc] initWithType:ItemTypeShippingAddress]; + shippingAddressItem = selectedShippingAddressItem; + _selectedShippingAddressItem = selectedShippingAddressItem; + [self fillShippingAddressItem:selectedShippingAddressItem + withAutofillProfile:_paymentRequest->selected_shipping_profile()]; + selectedShippingAddressItem.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; - + selectedShippingAddressItem.accessibilityTraits |= + UIAccessibilityTraitButton; } else { CollectionViewDetailItem* addAddressItem = [[CollectionViewDetailItem alloc] initWithType:ItemTypeAddShippingAddress]; shippingAddressItem = addAddressItem; addAddressItem.text = payment_request_util::GetShippingAddressSelectorTitle(_paymentRequest); - addAddressItem.detailText = [l10n_util::GetNSString( - IDS_IOS_PAYMENT_REQUEST_ADD_SHIPPING_ADDRESS_BUTTON) + addAddressItem.detailText = [l10n_util::GetNSString(IDS_ADD) uppercaseStringWithLocale:[NSLocale currentLocale]]; + addAddressItem.accessibilityTraits |= UIAccessibilityTraitButton; } - shippingAddressItem.accessibilityTraits |= UIAccessibilityTraitButton; [model addItem:shippingAddressItem toSectionWithIdentifier:SectionIdentifierShipping]; CollectionViewItem* shippingOptionItem = nil; if (_paymentRequest->selected_shipping_option()) { - _selectedShippingOptionItem = + CollectionViewTextItem* selectedShippingOptionItem = [[CollectionViewTextItem alloc] initWithType:ItemTypeShippingOption]; - shippingOptionItem = _selectedShippingOptionItem; - [self fillShippingOptionItem:_selectedShippingOptionItem + shippingOptionItem = selectedShippingOptionItem; + _selectedShippingOptionItem = selectedShippingOptionItem; + [self fillShippingOptionItem:selectedShippingOptionItem withOption:_paymentRequest->selected_shipping_option()]; - _selectedShippingOptionItem.accessoryType = + selectedShippingOptionItem.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; + selectedShippingOptionItem.accessibilityTraits |= + UIAccessibilityTraitButton; } else { CollectionViewDetailItem* selectShippingOptionItem = [[CollectionViewDetailItem alloc] @@ -264,8 +276,8 @@ payment_request_util::GetShippingOptionSelectorTitle(_paymentRequest); selectShippingOptionItem.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; + selectShippingOptionItem.accessibilityTraits |= UIAccessibilityTraitButton; } - shippingOptionItem.accessibilityTraits |= UIAccessibilityTraitButton; [model addItem:shippingOptionItem toSectionWithIdentifier:SectionIdentifierShipping]; @@ -277,30 +289,65 @@ CollectionViewTextItem* paymentTitle = [[CollectionViewTextItem alloc] initWithType:ItemTypePaymentTitle]; paymentTitle.text = - l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_PAYMENT_METHOD_HEADER); + l10n_util::GetNSString(IDS_PAYMENTS_METHOD_OF_PAYMENT_LABEL); [model setHeader:paymentTitle forSectionWithIdentifier:SectionIdentifierPayment]; - _selectedPaymentMethodItem = + PaymentMethodItem* selectedPaymentMethodItem = [[PaymentMethodItem alloc] initWithType:ItemTypePaymentMethod]; - paymentMethodItem = _selectedPaymentMethodItem; - [self fillPaymentMethodItem:_selectedPaymentMethodItem - withPaymentMethod:_paymentRequest->selected_credit_card()]; - _selectedPaymentMethodItem.accessoryType = + paymentMethodItem = selectedPaymentMethodItem; + _selectedPaymentMethodItem = selectedPaymentMethodItem; + [self fillPaymentMethodItem:selectedPaymentMethodItem + withCreditCard:_paymentRequest->selected_credit_card()]; + selectedPaymentMethodItem.accessoryType = MDCCollectionViewCellAccessoryDisclosureIndicator; + selectedPaymentMethodItem.accessibilityTraits |= UIAccessibilityTraitButton; } else { CollectionViewDetailItem* addPaymentMethodItem = [ [CollectionViewDetailItem alloc] initWithType:ItemTypeAddPaymentMethod]; paymentMethodItem = addPaymentMethodItem; addPaymentMethodItem.text = - l10n_util::GetNSString(IDS_IOS_PAYMENT_REQUEST_PAYMENT_METHOD_HEADER); - addPaymentMethodItem.detailText = [l10n_util::GetNSString( - IDS_IOS_PAYMENT_REQUEST_ADD_SHIPPING_ADDRESS_BUTTON) + l10n_util::GetNSString(IDS_PAYMENTS_METHOD_OF_PAYMENT_LABEL); + addPaymentMethodItem.detailText = [l10n_util::GetNSString(IDS_ADD) uppercaseStringWithLocale:[NSLocale currentLocale]]; + addPaymentMethodItem.accessibilityTraits |= UIAccessibilityTraitButton; } - paymentMethodItem.accessibilityTraits |= UIAccessibilityTraitButton; [model addItem:paymentMethodItem toSectionWithIdentifier:SectionIdentifierPayment]; + + // Contact Info section. + [model addSectionWithIdentifier:SectionIdentifierContactInfo]; + + CollectionViewItem* contactInfoItem = nil; + if (_paymentRequest->selected_contact_profile()) { + CollectionViewTextItem* contactInfoTitle = + [[CollectionViewTextItem alloc] initWithType:ItemTypeContactInfoTitle]; + contactInfoTitle.text = + l10n_util::GetNSString(IDS_PAYMENTS_CONTACT_DETAILS_LABEL); + [model setHeader:contactInfoTitle + forSectionWithIdentifier:SectionIdentifierContactInfo]; + + AutofillProfileItem* selectedContactInfoItem = + [[AutofillProfileItem alloc] initWithType:ItemTypeContactInfo]; + contactInfoItem = selectedContactInfoItem; + _selectedContactInfoItem = selectedContactInfoItem; + [self fillContactInfoItem:selectedContactInfoItem + withAutofillProfile:_paymentRequest->selected_contact_profile()]; + selectedContactInfoItem.accessoryType = + MDCCollectionViewCellAccessoryDisclosureIndicator; + + } else { + CollectionViewDetailItem* addContactInfoItem = + [[CollectionViewDetailItem alloc] initWithType:ItemTypeAddContactInfo]; + contactInfoItem = addContactInfoItem; + addContactInfoItem.text = + l10n_util::GetNSString(IDS_PAYMENTS_CONTACT_DETAILS_LABEL); + addContactInfoItem.detailText = [l10n_util::GetNSString(IDS_ADD) + uppercaseStringWithLocale:[NSLocale currentLocale]]; + addContactInfoItem.accessibilityTraits |= UIAccessibilityTraitButton; + } + [model addItem:contactInfoItem + toSectionWithIdentifier:SectionIdentifierContactInfo]; } - (void)viewDidLoad { @@ -325,7 +372,7 @@ - (void)updateSelectedShippingAddressUI { [self fillShippingAddressItem:_selectedShippingAddressItem - withAddress:_paymentRequest->selected_shipping_profile()]; + withAutofillProfile:_paymentRequest->selected_shipping_profile()]; NSIndexPath* indexPath = [self.collectionViewModel indexPathForItem:_selectedShippingAddressItem inSectionWithIdentifier:SectionIdentifierShipping]; @@ -343,7 +390,7 @@ - (void)updateSelectedPaymentMethodUI { [self fillPaymentMethodItem:_selectedPaymentMethodItem - withPaymentMethod:_paymentRequest->selected_credit_card()]; + withCreditCard:_paymentRequest->selected_credit_card()]; NSIndexPath* indexPath = [self.collectionViewModel indexPathForItem:_selectedPaymentMethodItem inSectionWithIdentifier:SectionIdentifierPayment]; @@ -368,11 +415,11 @@ : nil; } -- (void)fillShippingAddressItem:(ShippingAddressItem*)item - withAddress:(autofill::AutofillProfile*)address { - item.name = NameLabelFromAutofillProfile(address); - item.address = AddressLabelFromAutofillProfile(address); - item.phoneNumber = PhoneNumberLabelFromAutofillProfile(address); +- (void)fillShippingAddressItem:(AutofillProfileItem*)item + withAutofillProfile:(autofill::AutofillProfile*)profile { + item.name = GetNameLabelFromAutofillProfile(profile); + item.address = GetAddressLabelFromAutofillProfile(profile); + item.phoneNumber = GetPhoneNumberLabelFromAutofillProfile(profile); } - (void)fillShippingOptionItem:(CollectionViewTextItem*)item @@ -385,7 +432,7 @@ } - (void)fillPaymentMethodItem:(PaymentMethodItem*)item - withPaymentMethod:(autofill::CreditCard*)creditCard { + withCreditCard:(autofill::CreditCard*)creditCard { item.methodID = base::SysUTF16ToNSString(creditCard->TypeAndLastFourDigits()); item.methodDetail = base::SysUTF16ToNSString( creditCard->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL)); @@ -395,6 +442,13 @@ item.methodTypeIcon = NativeImage(selectedMethodCardTypeIconID); } +- (void)fillContactInfoItem:(AutofillProfileItem*)item + withAutofillProfile:(autofill::AutofillProfile*)profile { + item.name = GetNameLabelFromAutofillProfile(profile); + item.phoneNumber = GetPhoneNumberLabelFromAutofillProfile(profile); + item.email = GetEmailLabelFromAutofillProfile(profile); +} + #pragma mark UICollectionViewDataSource - (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView @@ -454,6 +508,10 @@ case ItemTypeAddPaymentMethod: [_delegate paymentRequestViewControllerDidSelectPaymentMethodItem:self]; break; + case ItemTypeContactInfo: + case ItemTypeAddContactInfo: + // TODO(crbug.com/602666): Handle displaying contact info selection view. + break; default: NOTREACHED(); break; @@ -470,6 +528,7 @@ case ItemTypeSpinner: case ItemTypeShippingAddress: case ItemTypePaymentMethod: + case ItemTypeContactInfo: return [MDCCollectionViewCell cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds) forItem:item]; @@ -482,6 +541,8 @@ case ItemTypeSelectShippingOption: case ItemTypePaymentTitle: case ItemTypeAddPaymentMethod: + case ItemTypeContactInfoTitle: + case ItemTypeAddContactInfo: return MDCCellDefaultOneLineHeight; default: NOTREACHED();
diff --git a/ios/chrome/browser/payments/payment_request_view_controller_unittest.mm b/ios/chrome/browser/payments/payment_request_view_controller_unittest.mm index fdc5d9bc..388c380 100644 --- a/ios/chrome/browser/payments/payment_request_view_controller_unittest.mm +++ b/ios/chrome/browser/payments/payment_request_view_controller_unittest.mm
@@ -10,10 +10,10 @@ #include "components/autofill/core/browser/autofill_test_utils.h" #include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/test_personal_data_manager.h" +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/payments/cells/page_info_item.h" #import "ios/chrome/browser/payments/cells/payment_method_item.h" #import "ios/chrome/browser/payments/cells/price_item.h" -#import "ios/chrome/browser/payments/cells/shipping_address_item.h" #include "ios/chrome/browser/payments/payment_request.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" @@ -73,7 +73,7 @@ [GetPaymentRequestViewController() loadModel]; // There should be three sections in total. Summary, Shipping, and Payment. - ASSERT_EQ(3, NumberOfSections()); + ASSERT_EQ(4, NumberOfSections()); // The only item in the Summary section should be of type PriceItem. ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(0))); @@ -86,10 +86,10 @@ // There should be two items in the Shipping section. ASSERT_EQ(2U, static_cast<unsigned int>(NumberOfItemsInSection(1))); - // The first one should be of type ShippingAddressItem. + // The first one should be of type AutofillProfileItem. item = GetCollectionViewItem(1, 0); - EXPECT_TRUE([item isMemberOfClass:[ShippingAddressItem class]]); - ShippingAddressItem* shipping_address_item = item; + EXPECT_TRUE([item isMemberOfClass:[AutofillProfileItem class]]); + AutofillProfileItem* shipping_address_item = item; EXPECT_EQ(MDCCollectionViewCellAccessoryDisclosureIndicator, shipping_address_item.accessoryType); @@ -104,6 +104,12 @@ ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(2))); item = GetCollectionViewItem(2, 0); EXPECT_TRUE([item isMemberOfClass:[PaymentMethodItem class]]); + + // The only item in the Contact info section should be of type + // AutofillProfileItem. + ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(3))); + item = GetCollectionViewItem(3, 0); + EXPECT_TRUE([item isMemberOfClass:[AutofillProfileItem class]]); } // Tests that the correct items are displayed after loading the model, when
diff --git a/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm b/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm index 5e94dd9a..cbef0f400a 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm +++ b/ios/chrome/browser/payments/shipping_address_selection_view_controller.mm
@@ -10,8 +10,8 @@ #include "components/autofill/core/browser/autofill_profile.h" #include "components/strings/grit/components_strings.h" #include "ios/chrome/browser/application_context.h" +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/cells/shipping_address_item.h" #import "ios/chrome/browser/payments/payment_request_util.h" #import "ios/chrome/browser/payments/shipping_address_selection_view_controller_actions.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" @@ -30,9 +30,11 @@ #error "This file requires ARC support." #endif -using payment_request_util::NameLabelFromAutofillProfile; -using payment_request_util::AddressLabelFromAutofillProfile; -using payment_request_util::PhoneNumberLabelFromAutofillProfile; +namespace { +using ::payment_request_util::GetNameLabelFromAutofillProfile; +using ::payment_request_util::GetAddressLabelFromAutofillProfile; +using ::payment_request_util::GetPhoneNumberLabelFromAutofillProfile; +} // namespace NSString* const kShippingAddressSelectionCollectionViewID = @"kShippingAddressSelectionCollectionViewID"; @@ -62,7 +64,7 @@ PaymentRequest* _paymentRequest; // The currently selected item. May be nil. - __weak ShippingAddressItem* _selectedItem; + __weak AutofillProfileItem* _selectedItem; } @end @@ -128,12 +130,12 @@ toSectionWithIdentifier:SectionIdentifierShippingAddress]; for (const auto& shippingAddress : _paymentRequest->shipping_profiles()) { - ShippingAddressItem* item = - [[ShippingAddressItem alloc] initWithType:ItemTypeShippingAddress]; + AutofillProfileItem* item = + [[AutofillProfileItem alloc] initWithType:ItemTypeShippingAddress]; item.accessibilityTraits |= UIAccessibilityTraitButton; - item.name = NameLabelFromAutofillProfile(shippingAddress); - item.address = AddressLabelFromAutofillProfile(shippingAddress); - item.phoneNumber = PhoneNumberLabelFromAutofillProfile(shippingAddress); + item.name = GetNameLabelFromAutofillProfile(shippingAddress); + item.address = GetAddressLabelFromAutofillProfile(shippingAddress); + item.phoneNumber = GetPhoneNumberLabelFromAutofillProfile(shippingAddress); if (_paymentRequest->selected_shipping_profile() == shippingAddress) { item.accessoryType = MDCCollectionViewCellAccessoryCheckmark; _selectedItem = item; @@ -211,8 +213,8 @@ } // Update the newly selected cell. - ShippingAddressItem* newlySelectedItem = - base::mac::ObjCCastStrict<ShippingAddressItem>(item); + AutofillProfileItem* newlySelectedItem = + base::mac::ObjCCastStrict<AutofillProfileItem>(item); newlySelectedItem.accessoryType = MDCCollectionViewCellAccessoryCheckmark; [self reconfigureCellsForItems:@[ newlySelectedItem ] inSectionWithIdentifier:SectionIdentifierShippingAddress];
diff --git a/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm b/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm index d386384..524cddc 100644 --- a/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm +++ b/ios/chrome/browser/payments/shipping_address_selection_view_controller_unittest.mm
@@ -9,8 +9,8 @@ #include "components/autofill/core/browser/autofill_profile.h" #include "components/autofill/core/browser/test_personal_data_manager.h" #include "components/strings/grit/components_strings.h" +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/payments/cells/payments_text_item.h" -#import "ios/chrome/browser/payments/cells/shipping_address_item.h" #include "ios/chrome/browser/payments/payment_request.h" #include "ios/chrome/browser/payments/payment_request_test_util.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" @@ -76,16 +76,16 @@ id item = GetCollectionViewItem(0, 0); EXPECT_TRUE([item isMemberOfClass:[PaymentsTextItem class]]); - // The next two items should be of type ShippingAddressItem. The first one + // The next two items should be of type AutofillProfileItem. The first one // should appear to be selected. item = GetCollectionViewItem(0, 1); - ASSERT_TRUE([item isMemberOfClass:[ShippingAddressItem class]]); - ShippingAddressItem* shipping_address_item = item; + ASSERT_TRUE([item isMemberOfClass:[AutofillProfileItem class]]); + AutofillProfileItem* shipping_address_item = item; EXPECT_EQ(MDCCollectionViewCellAccessoryCheckmark, shipping_address_item.accessoryType); item = GetCollectionViewItem(0, 2); - EXPECT_TRUE([item isMemberOfClass:[ShippingAddressItem class]]); + EXPECT_TRUE([item isMemberOfClass:[AutofillProfileItem class]]); shipping_address_item = item; EXPECT_EQ(MDCCollectionViewCellAccessoryNone, shipping_address_item.accessoryType);
diff --git a/ios/chrome/browser/translate/BUILD.gn b/ios/chrome/browser/translate/BUILD.gn index f72f3fc..16beaec 100644 --- a/ios/chrome/browser/translate/BUILD.gn +++ b/ios/chrome/browser/translate/BUILD.gn
@@ -17,6 +17,10 @@ "translate_infobar_tags.h", "translate_message_infobar_controller.h", "translate_message_infobar_controller.mm", + "translate_ranker_factory.cc", + "translate_ranker_factory.h", + "translate_ranker_metrics_provider.cc", + "translate_ranker_metrics_provider.h", "translate_service_ios.cc", "translate_service_ios.h", ] @@ -25,6 +29,8 @@ "//components/infobars/core", "//components/keyed_service/core", "//components/keyed_service/ios", + "//components/metrics", + "//components/metrics/proto", "//components/prefs", "//components/strings", "//components/translate/core/browser",
diff --git a/ios/chrome/browser/translate/chrome_ios_translate_client.mm b/ios/chrome/browser/translate/chrome_ios_translate_client.mm index 6338ae52..2705700 100644 --- a/ios/chrome/browser/translate/chrome_ios_translate_client.mm +++ b/ios/chrome/browser/translate/chrome_ios_translate_client.mm
@@ -8,6 +8,7 @@ #include <vector> #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "components/infobars/core/infobar.h" #include "components/prefs/pref_service.h" #include "components/translate/core/browser/page_translated_details.h" @@ -26,6 +27,7 @@ #import "ios/chrome/browser/translate/never_translate_infobar_controller.h" #include "ios/chrome/browser/translate/translate_accept_languages_factory.h" #import "ios/chrome/browser/translate/translate_message_infobar_controller.h" +#include "ios/chrome/browser/translate/translate_ranker_factory.h" #include "ios/chrome/browser/translate/translate_service_ios.h" #include "ios/chrome/grit/ios_theme_resources.h" #include "ios/web/public/browser_state.h" @@ -36,8 +38,12 @@ ChromeIOSTranslateClient::ChromeIOSTranslateClient(web::WebState* web_state) : web::WebStateObserver(web_state), - translate_manager_( - new translate::TranslateManager(this, prefs::kAcceptLanguages)), + translate_manager_(base::MakeUnique<translate::TranslateManager>( + this, + translate::TranslateRankerFactory::GetInstance()->GetForBrowserState( + ios::ChromeBrowserState::FromBrowserState( + web_state->GetBrowserState())), + prefs::kAcceptLanguages)), translate_driver_(web_state, web_state->GetNavigationManager(), translate_manager_.get()) {}
diff --git a/ios/chrome/browser/translate/translate_ranker_factory.cc b/ios/chrome/browser/translate/translate_ranker_factory.cc new file mode 100644 index 0000000..c67ae55 --- /dev/null +++ b/ios/chrome/browser/translate/translate_ranker_factory.cc
@@ -0,0 +1,50 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ios/chrome/browser/translate/translate_ranker_factory.h" + +#include "base/memory/ptr_util.h" +#include "base/memory/singleton.h" +#include "components/keyed_service/core/keyed_service.h" +#include "components/keyed_service/ios/browser_state_dependency_manager.h" +#include "components/translate/core/browser/translate_ranker_impl.h" +#include "ios/chrome/browser/browser_state/browser_state_otr_helper.h" +#include "ios/chrome/browser/browser_state/chrome_browser_state.h" + +namespace translate { + +// static +TranslateRankerFactory* TranslateRankerFactory::GetInstance() { + return base::Singleton<TranslateRankerFactory>::get(); +} + +// static +translate::TranslateRanker* TranslateRankerFactory::GetForBrowserState( + ios::ChromeBrowserState* state) { + return static_cast<TranslateRanker*>( + GetInstance()->GetServiceForBrowserState(state, true)); +} + +TranslateRankerFactory::TranslateRankerFactory() + : BrowserStateKeyedServiceFactory( + "TranslateRankerService", + BrowserStateDependencyManager::GetInstance()) {} + +TranslateRankerFactory::~TranslateRankerFactory() {} + +std::unique_ptr<KeyedService> TranslateRankerFactory::BuildServiceInstanceFor( + web::BrowserState* context) const { + ios::ChromeBrowserState* browser_state = + ios::ChromeBrowserState::FromBrowserState(context); + return base::MakeUnique<TranslateRankerImpl>( + TranslateRankerImpl::GetModelPath(browser_state->GetStatePath()), + TranslateRankerImpl::GetModelURL()); +} + +web::BrowserState* TranslateRankerFactory::GetBrowserStateToUse( + web::BrowserState* context) const { + return GetBrowserStateRedirectedInIncognito(context); +} + +} // namespace translate
diff --git a/ios/chrome/browser/translate/translate_ranker_factory.h b/ios/chrome/browser/translate/translate_ranker_factory.h new file mode 100644 index 0000000..919eacd --- /dev/null +++ b/ios/chrome/browser/translate/translate_ranker_factory.h
@@ -0,0 +1,51 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_FACTORY_H_ +#define IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_FACTORY_H_ + +#include <memory> + +#include "base/macros.h" +#include "components/keyed_service/ios/browser_state_keyed_service_factory.h" + +namespace base { +template <typename T> +struct DefaultSingletonTraits; +} + +namespace ios { +class ChromeBrowserState; +} + +namespace translate { + +class TranslateRanker; + +// TranslateRankerFactory is a way to associate a TranslateRanker instance to +// a BrowserState. +class TranslateRankerFactory : public BrowserStateKeyedServiceFactory { + public: + static translate::TranslateRanker* GetForBrowserState( + ios::ChromeBrowserState* browser_state); + static TranslateRankerFactory* GetInstance(); + + private: + friend struct base::DefaultSingletonTraits<TranslateRankerFactory>; + + TranslateRankerFactory(); + ~TranslateRankerFactory() override; + + // BrowserStateKeyedServiceFactory implementation. + std::unique_ptr<KeyedService> BuildServiceInstanceFor( + web::BrowserState* context) const override; + web::BrowserState* GetBrowserStateToUse( + web::BrowserState* context) const override; + + DISALLOW_COPY_AND_ASSIGN(TranslateRankerFactory); +}; + +} // namespace translate + +#endif // IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_FACTORY_H_
diff --git a/ios/chrome/browser/translate/translate_ranker_metrics_provider.cc b/ios/chrome/browser/translate/translate_ranker_metrics_provider.cc new file mode 100644 index 0000000..57362d40 --- /dev/null +++ b/ios/chrome/browser/translate/translate_ranker_metrics_provider.cc
@@ -0,0 +1,37 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ios/chrome/browser/translate/translate_ranker_metrics_provider.h" + +#include "components/metrics/proto/chrome_user_metrics_extension.pb.h" +#include "components/metrics/proto/translate_event.pb.h" +#include "components/translate/core/browser/translate_ranker.h" +#include "ios/chrome/browser/application_context.h" +#include "ios/chrome/browser/browser_state/chrome_browser_state.h" +#include "ios/chrome/browser/browser_state/chrome_browser_state_manager.h" +#include "ios/chrome/browser/translate/translate_ranker_factory.h" +#include "ios/web/public/browser_state.h" + +namespace translate { + +void TranslateRankerMetricsProvider::ProvideGeneralMetrics( + metrics::ChromeUserMetricsExtension* uma_proto) { + std::vector<ios::ChromeBrowserState*> browser_states = + GetApplicationContext() + ->GetChromeBrowserStateManager() + ->GetLoadedBrowserStates(); + for (auto* state : browser_states) { + TranslateRanker* ranker = + TranslateRankerFactory::GetInstance()->GetForBrowserState(state); + DCHECK(ranker); + std::vector<metrics::TranslateEventProto> translate_events; + ranker->FlushTranslateEvents(&translate_events); + + for (auto& event : translate_events) { + uma_proto->add_translate_event()->Swap(&event); + } + } +} + +} // namespace translate
diff --git a/components/translate/core/browser/translate_ranker_metrics_provider.h b/ios/chrome/browser/translate/translate_ranker_metrics_provider.h similarity index 63% copy from components/translate/core/browser/translate_ranker_metrics_provider.h copy to ios/chrome/browser/translate/translate_ranker_metrics_provider.h index 0ff6470..f4c670337 100644 --- a/components/translate/core/browser/translate_ranker_metrics_provider.h +++ b/ios/chrome/browser/translate/translate_ranker_metrics_provider.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_BROWSER_TRANSLATE_RANKER_METRICS_PROVIDER_H_ -#define COMPONENTS_TRANSLATE_CORE_BROWSER_BROWSER_TRANSLATE_RANKER_METRICS_PROVIDER_H_ +#ifndef IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_METRICS_PROVIDER_H_ +#define IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_METRICS_PROVIDER_H_ #include "components/metrics/metrics_provider.h" @@ -12,8 +12,8 @@ // Provides metrics related to the translate ranker. class TranslateRankerMetricsProvider : public metrics::MetricsProvider { public: - TranslateRankerMetricsProvider(); - ~TranslateRankerMetricsProvider() override; + TranslateRankerMetricsProvider() {} + ~TranslateRankerMetricsProvider() override {} private: // From metrics::MetricsProvider... @@ -25,4 +25,4 @@ } // namespace translate -#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_BROWSER_TRANSLATE_RANKER_METRICS_PROVIDER_H_ +#endif // IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_RANKER_METRICS_PROVIDER_H_
diff --git a/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm b/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm index e99d0ea4a..dba5948a 100644 --- a/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm +++ b/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm
@@ -8,17 +8,18 @@ #import "base/mac/foundation_util.h" #include "components/grit/components_scaled_resources.h" +#import "ios/chrome/browser/payments/cells/autofill_profile_item.h" #import "ios/chrome/browser/payments/cells/payments_text_item.h" #import "ios/chrome/browser/payments/cells/price_item.h" #import "ios/chrome/browser/ui/autofill/cells/cvc_item.h" #import "ios/chrome/browser/ui/autofill/cells/status_item.h" #import "ios/chrome/browser/ui/autofill/cells/storage_switch_item.h" +#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_account_item.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item.h" #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h" -#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h" #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" #import "ios/chrome/browser/ui/icons/chrome_icon.h" #import "ios/chrome/browser/ui/settings/cells/account_control_item.h" @@ -251,6 +252,29 @@ priceItem4.price = @"USD $1,000,000,000.00"; [model addItem:priceItem4 toSectionWithIdentifier:SectionIdentifierPayments]; + AutofillProfileItem* profileItem1 = [[[AutofillProfileItem alloc] + initWithType:ItemTypePaymentsDynamicHeight] autorelease]; + profileItem1.name = @"Profile Name gets wrapped if it's too long"; + profileItem1.address = @"Profile Address also gets wrapped if it's too long"; + profileItem1.phoneNumber = @"123-456-7890"; + profileItem1.email = @"foo@bar.com"; + profileItem1.notification = @"Some fields are missing"; + [model addItem:profileItem1 + toSectionWithIdentifier:SectionIdentifierPayments]; + AutofillProfileItem* profileItem2 = [[[AutofillProfileItem alloc] + initWithType:ItemTypePaymentsDynamicHeight] autorelease]; + profileItem1.name = @"All fields are optional"; + profileItem2.phoneNumber = @"123-456-7890"; + profileItem2.notification = @"Some fields are missing"; + [model addItem:profileItem2 + toSectionWithIdentifier:SectionIdentifierPayments]; + AutofillProfileItem* profileItem3 = [[[AutofillProfileItem alloc] + initWithType:ItemTypePaymentsDynamicHeight] autorelease]; + profileItem3.address = @"All fields are optional"; + profileItem3.email = @"foo@bar.com"; + [model addItem:profileItem3 + toSectionWithIdentifier:SectionIdentifierPayments]; + // Account cells. [model addSectionWithIdentifier:SectionIdentifierAccountCell]; [model addItem:[self accountItemDetailWithError]
diff --git a/ios/chrome/share_extension/strings/resources/ios_share_extension_strings_hi.xtb b/ios/chrome/share_extension/strings/resources/ios_share_extension_strings_hi.xtb index 34a72a5..de53757 100644 --- a/ios/chrome/share_extension/strings/resources/ios_share_extension_strings_hi.xtb +++ b/ios/chrome/share_extension/strings/resources/ios_share_extension_strings_hi.xtb
@@ -2,7 +2,7 @@ <!DOCTYPE translationbundle> <translationbundle lang="hi"> <translation id="1613742542373525524">APPLICATION_NAME यह लिंक संसाधित नहीं कर सकता.</translation> -<translation id="4743991241988563337">बाद मेंं पढ़ें</translation> +<translation id="4743991241988563337">बाद में पढ़ें</translation> <translation id="6930009216791986919">बुकमार्क में जोड़ें</translation> <translation id="6965382102122355670">ठीक</translation> <translation id="8258999165172757081">जोड़ा गया</translation>
diff --git a/ios/web_view/internal/BUILD.gn b/ios/web_view/internal/BUILD.gn index afe83a3..86a7b894 100644 --- a/ios/web_view/internal/BUILD.gn +++ b/ios/web_view/internal/BUILD.gn
@@ -10,6 +10,8 @@ sources = [ "cwv.mm", + "cwv_html_element.mm", + "cwv_html_element_internal.h", "cwv_web_view.mm", "cwv_web_view_configuration.mm", "cwv_website_data_store.mm",
diff --git a/ios/web_view/internal/cwv_html_element.mm b/ios/web_view/internal/cwv_html_element.mm new file mode 100644 index 0000000..04b7a66 --- /dev/null +++ b/ios/web_view/internal/cwv_html_element.mm
@@ -0,0 +1,28 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/web_view/public/cwv_html_element.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +@implementation CWVHTMLElement +@synthesize hyperlink = _hyperlink; +@synthesize mediaSource = _mediaSource; +@synthesize text = _text; + +- (instancetype)initWithHyperlink:(NSURL*)hyperlink + mediaSource:(NSURL*)mediaSource + text:(NSString*)text { + self = [super init]; + if (self) { + _hyperlink = hyperlink; + _mediaSource = mediaSource; + _text = [text copy]; + } + return self; +} + +@end
diff --git a/ios/web_view/internal/cwv_html_element_internal.h b/ios/web_view/internal/cwv_html_element_internal.h new file mode 100644 index 0000000..ff5e67f --- /dev/null +++ b/ios/web_view/internal/cwv_html_element_internal.h
@@ -0,0 +1,21 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_WEB_VIEW_INTERNAL_CWV_HTML_ELEMENT_INTERNAL_H_ +#define IOS_WEB_VIEW_INTERNAL_CWV_HTML_ELEMENT_INTERNAL_H_ + +#import "ios/web_view/public/cwv_html_element.h" + +@interface CWVHTMLElement () + +- (nonnull instancetype)init NS_UNAVAILABLE; + +- (nonnull instancetype)initWithHyperlink:(nullable NSURL*)hyperlink + mediaSource:(nullable NSURL*)mediaSource + text:(nullable NSString*)text + NS_DESIGNATED_INITIALIZER; + +@end + +#endif // IOS_WEB_VIEW_INTERNAL_CWV_HTML_ELEMENT_INTERNAL_H_
diff --git a/ios/web_view/internal/cwv_web_view.mm b/ios/web_view/internal/cwv_web_view.mm index 648cbfac..b23577bd 100644 --- a/ios/web_view/internal/cwv_web_view.mm +++ b/ios/web_view/internal/cwv_web_view.mm
@@ -12,14 +12,17 @@ #include "base/strings/sys_string_conversions.h" #import "ios/web/public/navigation_manager.h" #include "ios/web/public/referrer.h" +#import "ios/web/public/web_state/context_menu_params.h" #import "ios/web/public/web_state/js/crw_js_injection_receiver.h" #import "ios/web/public/web_state/ui/crw_web_delegate.h" #import "ios/web/public/web_state/web_state.h" #import "ios/web/public/web_state/web_state_delegate_bridge.h" #import "ios/web/public/web_state/web_state_observer_bridge.h" +#import "ios/web_view/internal/cwv_html_element_internal.h" #import "ios/web_view/internal/cwv_website_data_store_internal.h" #import "ios/web_view/internal/translate/web_view_translate_client.h" #include "ios/web_view/internal/web_view_browser_state.h" +#import "ios/web_view/public/cwv_ui_delegate.h" #import "ios/web_view/public/cwv_web_view_configuration.h" #import "ios/web_view/public/cwv_web_view_delegate.h" #import "ios/web_view/public/cwv_website_data_store.h" @@ -45,6 +48,7 @@ @synthesize delegate = _delegate; @synthesize loadProgress = _loadProgress; +@synthesize UIDelegate = _UIDelegate; - (instancetype)initWithFrame:(CGRect)frame configuration:(CWVWebViewConfiguration*)configuration { @@ -185,4 +189,25 @@ [self notifyDidUpdateWithChanges:CRIWVWebViewUpdateTypeProgress]; } +- (BOOL)webState:(web::WebState*)webState + handleContextMenu:(const web::ContextMenuParams&)params { + SEL selector = @selector(webView:runContextMenuWithTitle:forHTMLElement:inView + :userGestureLocation:); + if (![_UIDelegate respondsToSelector:selector]) { + return NO; + } + NSURL* hyperlink = net::NSURLWithGURL(params.link_url); + NSURL* mediaSource = net::NSURLWithGURL(params.src_url); + CWVHTMLElement* HTMLElement = + [[CWVHTMLElement alloc] initWithHyperlink:hyperlink + mediaSource:mediaSource + text:params.link_text]; + [_UIDelegate webView:self + runContextMenuWithTitle:params.menu_title + forHTMLElement:HTMLElement + inView:params.view + userGestureLocation:params.location]; + return YES; +} + @end
diff --git a/ios/web_view/internal/cwv_website_data_store.mm b/ios/web_view/internal/cwv_website_data_store.mm index df1c3b3..da503472 100644 --- a/ios/web_view/internal/cwv_website_data_store.mm +++ b/ios/web_view/internal/cwv_website_data_store.mm
@@ -13,9 +13,10 @@ #error "This file requires ARC support." #endif -@implementation CWVWebsiteDataStore -// TODO(crbug.com/690182): CWVWebsiteDataStore should own _browserState. -ios_web_view::WebViewBrowserState* _browserState; +@implementation CWVWebsiteDataStore { + // TODO(crbug.com/690182): CWVWebsiteDataStore should own _browserState. + ios_web_view::WebViewBrowserState* _browserState; +} - (BOOL)isPersistent { return !_browserState->IsOffTheRecord();
diff --git a/ios/web_view/internal/translate/BUILD.gn b/ios/web_view/internal/translate/BUILD.gn index 3c0d86a..5427c1e 100644 --- a/ios/web_view/internal/translate/BUILD.gn +++ b/ios/web_view/internal/translate/BUILD.gn
@@ -15,6 +15,8 @@ "web_view_translate_accept_languages_factory.h", "web_view_translate_client.h", "web_view_translate_client.mm", + "web_view_translate_ranker_factory.cc", + "web_view_translate_ranker_factory.h", ] deps = [ "//base",
diff --git a/ios/web_view/internal/translate/web_view_translate_client.mm b/ios/web_view/internal/translate/web_view_translate_client.mm index 188e9de..dde423e 100644 --- a/ios/web_view/internal/translate/web_view_translate_client.mm +++ b/ios/web_view/internal/translate/web_view_translate_client.mm
@@ -22,6 +22,7 @@ #include "ios/web_view/internal/pref_names.h" #import "ios/web_view/internal/translate/cwv_translate_manager_impl.h" #include "ios/web_view/internal/translate/web_view_translate_accept_languages_factory.h" +#include "ios/web_view/internal/translate/web_view_translate_ranker_factory.h" #include "ios/web_view/internal/web_view_browser_state.h" #import "ios/web_view/public/cwv_translate_delegate.h" #include "url/gurl.h" @@ -34,6 +35,9 @@ : web::WebStateObserver(web_state), translate_manager_(base::MakeUnique<translate::TranslateManager>( this, + WebViewTranslateRankerFactory::GetInstance()->GetForBrowserState( + WebViewBrowserState::FromBrowserState( + web_state->GetBrowserState())), prefs::kAcceptLanguages)), translate_driver_(web_state, web_state->GetNavigationManager(),
diff --git a/ios/web_view/internal/translate/web_view_translate_ranker_factory.cc b/ios/web_view/internal/translate/web_view_translate_ranker_factory.cc new file mode 100644 index 0000000..62e6283 --- /dev/null +++ b/ios/web_view/internal/translate/web_view_translate_ranker_factory.cc
@@ -0,0 +1,47 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ios/web_view/internal/translate/web_view_translate_ranker_factory.h" + +#include "base/memory/ptr_util.h" +#include "base/memory/singleton.h" +#include "components/keyed_service/core/keyed_service.h" +#include "components/keyed_service/ios/browser_state_dependency_manager.h" +#include "components/translate/core/browser/translate_ranker_impl.h" +#include "ios/web_view/internal/pref_names.h" +#include "ios/web_view/internal/web_view_browser_state.h" + +namespace ios_web_view { + +// static +WebViewTranslateRankerFactory* WebViewTranslateRankerFactory::GetInstance() { + return base::Singleton<WebViewTranslateRankerFactory>::get(); +} + +// static +translate::TranslateRanker* WebViewTranslateRankerFactory::GetForBrowserState( + WebViewBrowserState* state) { + return static_cast<translate::TranslateRanker*>( + GetInstance()->GetServiceForBrowserState(state, true)); +} + +WebViewTranslateRankerFactory::WebViewTranslateRankerFactory() + : BrowserStateKeyedServiceFactory( + "TranslateRankerService", + BrowserStateDependencyManager::GetInstance()) {} + +WebViewTranslateRankerFactory::~WebViewTranslateRankerFactory() {} + +std::unique_ptr<KeyedService> +WebViewTranslateRankerFactory::BuildServiceInstanceFor( + web::BrowserState* context) const { + WebViewBrowserState* web_view_browser_state = + WebViewBrowserState::FromBrowserState(context); + return base::MakeUnique<translate::TranslateRankerImpl>( + translate::TranslateRankerImpl::GetModelPath( + web_view_browser_state->GetStatePath()), + translate::TranslateRankerImpl::GetModelURL()); +} + +} // namespace ios_web_view
diff --git a/ios/web_view/internal/translate/web_view_translate_ranker_factory.h b/ios/web_view/internal/translate/web_view_translate_ranker_factory.h new file mode 100644 index 0000000..4b291948 --- /dev/null +++ b/ios/web_view/internal/translate/web_view_translate_ranker_factory.h
@@ -0,0 +1,48 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_WEB_VIEW_INTERNAL_TRANSLATE_WEB_VIEW_TRANSLATE_RANKER_FACTORY_H_ +#define IOS_WEB_VIEW_INTERNAL_TRANSLATE_WEB_VIEW_TRANSLATE_RANKER_FACTORY_H_ + +#include <memory> +#include "base/macros.h" +#include "components/keyed_service/ios/browser_state_keyed_service_factory.h" + +namespace base { +template <typename T> +struct DefaultSingletonTraits; +} // namespace base + +namespace translate { +class TranslateRanker; +} + +namespace ios_web_view { + +class WebViewBrowserState; + +// TranslateRankerFactory is a way to associate a +// TranslateRanker instance to a BrowserState. +class WebViewTranslateRankerFactory : public BrowserStateKeyedServiceFactory { + public: + static translate::TranslateRanker* GetForBrowserState( + WebViewBrowserState* browser_state); + static WebViewTranslateRankerFactory* GetInstance(); + + private: + friend struct base::DefaultSingletonTraits<WebViewTranslateRankerFactory>; + + WebViewTranslateRankerFactory(); + ~WebViewTranslateRankerFactory() override; + + // BrowserStateKeyedServiceFactory implementation. + std::unique_ptr<KeyedService> BuildServiceInstanceFor( + web::BrowserState* context) const override; + + DISALLOW_COPY_AND_ASSIGN(WebViewTranslateRankerFactory); +}; + +} // namespace ios_web_view + +#endif // IOS_WEB_VIEW_INTERNAL_TRANSLATE_WEB_VIEW_TRANSLATE_RANKER_FACTORY_H_
diff --git a/ios/web_view/public/BUILD.gn b/ios/web_view/public/BUILD.gn index fd7d921..5c4cf84d 100644 --- a/ios/web_view/public/BUILD.gn +++ b/ios/web_view/public/BUILD.gn
@@ -12,7 +12,9 @@ "criwv_translate_manager.h", "cwv.h", "cwv_delegate.h", + "cwv_html_element.h", "cwv_translate_delegate.h", + "cwv_ui_delegate.h", "cwv_web_view.h", "cwv_web_view_configuration.h", "cwv_web_view_delegate.h",
diff --git a/ios/web_view/public/cwv_html_element.h b/ios/web_view/public/cwv_html_element.h new file mode 100644 index 0000000..cf7a7ea7 --- /dev/null +++ b/ios/web_view/public/cwv_html_element.h
@@ -0,0 +1,22 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_WEB_VIEW_PUBLIC_CWV_HTML_ELEMENT_H_ +#define IOS_WEB_VIEW_PUBLIC_CWV_HTML_ELEMENT_H_ + +#import <Foundation/Foundation.h> + +// Encapsulates information about HTML element. Used in +// delegate methods. +@interface CWVHTMLElement : NSObject + +// |href| property of an HTML element. +@property(nullable, copy, readonly) NSURL* hyperlink; +// |src| property of an HTML element. +@property(nullable, copy, readonly) NSURL* mediaSource; +// |innerText| property of an HTML element. +@property(nullable, copy, readonly) NSString* text; +@end + +#endif // IOS_WEB_VIEW_PUBLIC_CWV_HTML_ELEMENT_H_
diff --git a/ios/web_view/public/cwv_ui_delegate.h b/ios/web_view/public/cwv_ui_delegate.h new file mode 100644 index 0000000..6aa3cff --- /dev/null +++ b/ios/web_view/public/cwv_ui_delegate.h
@@ -0,0 +1,30 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_WEB_VIEW_PUBLIC_CWV_UI_DELEGATE_H_ +#define IOS_WEB_VIEW_PUBLIC_CWV_UI_DELEGATE_H_ + +#import <CoreGraphics/CoreGraphics.h> +#import <UIKit/UIKit.h> + +@class CWVHTMLElement; +@class CWVWebView; + +// UI delegate interface for a CWVWebView. Embedders can implement the +// functions in order to customize library behavior. +@protocol CWVUIDelegate<NSObject> + +@optional +// Instructs the delegate to present context menu in response to user’s long +// press gesture at |location| in |view| coordinate space. |element| is an HTML +// element which received the gesture. +- (void)webView:(CWVWebView*)webView + runContextMenuWithTitle:(NSString*)menuTitle + forHTMLElement:(CWVHTMLElement*)element + inView:(UIView*)view + userGestureLocation:(CGPoint)location; + +@end + +#endif // IOS_WEB_VIEW_PUBLIC_CWV_UI_DELEGATE_H_
diff --git a/ios/web_view/public/cwv_web_view.h b/ios/web_view/public/cwv_web_view.h index 09a916c..0acd821 100644 --- a/ios/web_view/public/cwv_web_view.h +++ b/ios/web_view/public/cwv_web_view.h
@@ -7,6 +7,7 @@ #import <UIKit/UIKit.h> @class CWVWebViewConfiguration; +@protocol CWVUIDelegate; @protocol CWVWebViewDelegate; // A web view component (like WKWebView) which uses iOS Chromium's web view @@ -24,6 +25,9 @@ // This web view's delegate. @property(nonatomic, weak) id<CWVWebViewDelegate> delegate; +// This web view's UI delegate +@property(nonatomic, weak) id<CWVUIDelegate> UIDelegate; + // Whether or not this web view can go backwards or forwards. @property(nonatomic, readonly) BOOL canGoBack; @property(nonatomic, readonly) BOOL canGoForward;
diff --git a/ios/web_view/shell/shell_view_controller.h b/ios/web_view/shell/shell_view_controller.h index 980f92cd..97bf6276 100644 --- a/ios/web_view/shell/shell_view_controller.h +++ b/ios/web_view/shell/shell_view_controller.h
@@ -7,12 +7,12 @@ #import <UIKit/UIKit.h> +#import "ios/web_view/public/cwv_ui_delegate.h" #import "ios/web_view/public/cwv_web_view_delegate.h" // Implements the main UI for web_view_shell, including the toolbar and web // view. -@interface ShellViewController - : UIViewController<CWVWebViewDelegate, UITextFieldDelegate> +@interface ShellViewController : UIViewController @end
diff --git a/ios/web_view/shell/shell_view_controller.m b/ios/web_view/shell/shell_view_controller.m index c95398b1..89f19d98 100644 --- a/ios/web_view/shell/shell_view_controller.m +++ b/ios/web_view/shell/shell_view_controller.m
@@ -4,7 +4,10 @@ #import "ios/web_view/shell/shell_view_controller.h" +#import <MobileCoreServices/MobileCoreServices.h> + #import "ios/web_view/public/cwv.h" +#import "ios/web_view/public/cwv_html_element.h" #import "ios/web_view/public/cwv_web_view.h" #import "ios/web_view/shell/translate_controller.h" @@ -12,7 +15,9 @@ #error "This file requires ARC support." #endif -@interface ShellViewController () +@interface ShellViewController ()<CWVUIDelegate, + CWVWebViewDelegate, + UITextFieldDelegate> // Container for |webView|. @property(nonatomic, strong) UIView* containerView; // Text field used for navigating to URLs. @@ -122,6 +127,7 @@ self.webView = [CWV webViewWithFrame:[_containerView bounds]]; [_webView setDelegate:self]; + [_webView setUIDelegate:self]; [_webView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [_containerView addSubview:_webView]; @@ -172,6 +178,44 @@ [_field setText:[[_webView visibleURL] absoluteString]]; } +#pragma mark CWVUIDelegate methods + +- (void)webView:(CWVWebView*)webView + runContextMenuWithTitle:(NSString*)menuTitle + forHTMLElement:(CWVHTMLElement*)element + inView:(UIView*)view + userGestureLocation:(CGPoint)location { + if (!element.hyperlink) { + return; + } + + UIAlertController* alert = [UIAlertController + alertControllerWithTitle:menuTitle + message:nil + preferredStyle:UIAlertControllerStyleActionSheet]; + alert.popoverPresentationController.sourceView = view; + alert.popoverPresentationController.sourceRect = + CGRectMake(location.x, location.y, 1.0, 1.0); + + void (^copyHandler)(UIAlertAction*) = ^(UIAlertAction* action) { + NSDictionary* item = @{ + (NSString*)(kUTTypeURL) : element.hyperlink, + (NSString*)(kUTTypeUTF8PlainText) : [[element.hyperlink absoluteString] + dataUsingEncoding:NSUTF8StringEncoding], + }; + [[UIPasteboard generalPasteboard] setItems:@[ item ]]; + }; + [alert addAction:[UIAlertAction actionWithTitle:@"Copy Link" + style:UIAlertActionStyleDefault + handler:copyHandler]]; + + [alert addAction:[UIAlertAction actionWithTitle:@"Cancel" + style:UIAlertActionStyleCancel + handler:nil]]; + + [self presentViewController:alert animated:YES completion:nil]; +} + #pragma mark CWVWebViewDelegate methods - (void)webView:(CWVWebView*)webView
diff --git a/media/capture/content/android/java/src/org/chromium/media/ScreenCapture.java b/media/capture/content/android/java/src/org/chromium/media/ScreenCapture.java index 2180f2e..4956571c 100644 --- a/media/capture/content/android/java/src/org/chromium/media/ScreenCapture.java +++ b/media/capture/content/android/java/src/org/chromium/media/ScreenCapture.java
@@ -279,18 +279,18 @@ } @CalledByNative - public void startCapture() { + public boolean startCapture() { Log.d(TAG, "startCapture"); synchronized (mCaptureStateLock) { if (mCaptureState != CaptureState.ALLOWED) { Log.e(TAG, "startCapture() invoked without user permission."); - return; + return false; } } mMediaProjection = mMediaProjectionManager.getMediaProjection(mResultCode, mResultData); if (mMediaProjection == null) { Log.e(TAG, "mMediaProjection is null"); - return; + return false; } mMediaProjection.registerCallback(new MediaProjectionCallback(), null); @@ -309,6 +309,7 @@ createVirtualDisplay(); changeCaptureStateAndNotify(CaptureState.STARTED); + return true; } @CalledByNative
diff --git a/media/capture/content/android/screen_capture_machine_android.cc b/media/capture/content/android/screen_capture_machine_android.cc index 6adbcbac..d5757e8e 100644 --- a/media/capture/content/android/screen_capture_machine_android.cc +++ b/media/capture/content/android/screen_capture_machine_android.cc
@@ -196,7 +196,10 @@ return; } - Java_ScreenCapture_startCapture(env, obj); + if (Java_ScreenCapture_startCapture(env, obj)) + oracle_proxy_->ReportStarted(); + else + oracle_proxy_->ReportError(FROM_HERE, "Failed to start Screen Capture"); } void ScreenCaptureMachineAndroid::OnOrientationChange(JNIEnv* env, @@ -258,8 +261,11 @@ } ret = Java_ScreenCapture_startPrompt(AttachCurrentThread(), j_capture_); - - callback.Run(ret); + // Must wait for user input to start capturing before we can report back + // device started state. However, if the user-prompt failed to show, report + // a failed start immediately. + if (!ret) + callback.Run(ret); } void ScreenCaptureMachineAndroid::Stop(const base::Closure& callback) {
diff --git a/media/capture/content/screen_capture_device_core.cc b/media/capture/content/screen_capture_device_core.cc index e68982b2e..4ebcdf1 100644 --- a/media/capture/content/screen_capture_device_core.cc +++ b/media/capture/content/screen_capture_device_core.cc
@@ -136,6 +136,8 @@ DCHECK(thread_checker_.CalledOnValidThread()); if (!success) Error(FROM_HERE, "Failed to start capture machine."); + else if (oracle_proxy_) + oracle_proxy_->ReportStarted(); } ScreenCaptureDeviceCore::ScreenCaptureDeviceCore( @@ -178,7 +180,7 @@ if (state_ == kIdle) return; - if (oracle_proxy_.get()) + if (oracle_proxy_) oracle_proxy_->ReportError(from_here, reason); StopAndDeAllocate();
diff --git a/media/capture/content/thread_safe_capture_oracle.cc b/media/capture/content/thread_safe_capture_oracle.cc index 610b756..6824067 100644 --- a/media/capture/content/thread_safe_capture_oracle.cc +++ b/media/capture/content/thread_safe_capture_oracle.cc
@@ -198,6 +198,12 @@ client_->OnError(from_here, reason); } +void ThreadSafeCaptureOracle::ReportStarted() { + base::AutoLock guard(lock_); + if (client_) + client_->OnStarted(); +} + void ThreadSafeCaptureOracle::DidCaptureFrame( int frame_number, VideoCaptureDevice::Client::Buffer buffer,
diff --git a/media/capture/content/thread_safe_capture_oracle.h b/media/capture/content/thread_safe_capture_oracle.h index 7b970c35..02f60df0 100644 --- a/media/capture/content/thread_safe_capture_oracle.h +++ b/media/capture/content/thread_safe_capture_oracle.h
@@ -91,6 +91,9 @@ void ReportError(const tracked_objects::Location& from_here, const std::string& reason); + // Signal device started to the client. + void ReportStarted(); + void OnConsumerReportingUtilization(int frame_number, double utilization); private:
diff --git a/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java b/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java index 32c8b2c..e78c31b 100644 --- a/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java +++ b/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java
@@ -224,4 +224,7 @@ // Method for VideoCapture implementations to send Photos back to. public native void nativeOnPhotoTaken( long nativeVideoCaptureDeviceAndroid, long callbackId, byte[] data); + + // Method for VideoCapture implementations to report device started event. + public native void nativeOnStarted(long nativeVideoCaptureDeviceAndroid); }
diff --git a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java index 929f04115..db3f6e3c 100644 --- a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java +++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java
@@ -400,10 +400,10 @@ if (mIsRunning) { return true; } - mIsRunning = true; } finally { mPreviewBufferLock.unlock(); } + setPreviewCallback(this); try { mCamera.startPreview(); @@ -411,6 +411,14 @@ Log.e(TAG, "startCapture: Camera.startPreview: " + ex); return false; } + + mPreviewBufferLock.lock(); + try { + nativeOnStarted(mNativeVideoCaptureDeviceAndroid); + mIsRunning = true; + } finally { + mPreviewBufferLock.unlock(); + } return true; }
diff --git a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java index 3997af9f..380068a 100644 --- a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java +++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java
@@ -97,6 +97,7 @@ return; } // Now wait for trigger on CrImageReaderListener.onImageAvailable(); + nativeOnStarted(mNativeVideoCaptureDeviceAndroid); changeCameraStateAndNotify(CameraState.STARTED); }
diff --git a/media/capture/video/android/video_capture_device_android.cc b/media/capture/video/android/video_capture_device_android.cc index 2f95020..1db2fe8c 100644 --- a/media/capture/video/android/video_capture_device_android.cc +++ b/media/capture/video/android/video_capture_device_android.cc
@@ -428,6 +428,12 @@ photo_callbacks_.erase(reference_it); } +void VideoCaptureDeviceAndroid::OnStarted(JNIEnv* env, + const JavaParamRef<jobject>& obj) { + if (client_) + client_->OnStarted(); +} + void VideoCaptureDeviceAndroid::ConfigureForTesting() { Java_VideoCapture_setTestMode(AttachCurrentThread(), j_capture_); }
diff --git a/media/capture/video/android/video_capture_device_android.h b/media/capture/video/android/video_capture_device_android.h index a6056c9..20e2d74 100644 --- a/media/capture/video/android/video_capture_device_android.h +++ b/media/capture/video/android/video_capture_device_android.h
@@ -101,6 +101,9 @@ jlong callback_id, const base::android::JavaParamRef<jbyteArray>& data); + // Implement org.chromium.media.VideoCapture.nativeOnStarted. + void OnStarted(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); + void ConfigureForTesting(); private:
diff --git a/media/capture/video/fake_video_capture_device.cc b/media/capture/video/fake_video_capture_device.cc index ba59bb4..5f4e6af5 100644 --- a/media/capture/video/fake_video_capture_device.cc +++ b/media/capture/video/fake_video_capture_device.cc
@@ -528,6 +528,7 @@ device_state_ = device_state; buffer_.reset(new uint8_t[VideoFrame::AllocationSize( pixel_format, device_state_->format.frame_size)]); + client_->OnStarted(); } void OwnBufferFrameDeliverer::Uninitialize() { @@ -561,6 +562,7 @@ const FakeDeviceState* device_state) { client_ = std::move(client); device_state_ = device_state; + client_->OnStarted(); } void ClientBufferFrameDeliverer::Uninitialize() {
diff --git a/media/capture/video/fake_video_capture_device_unittest.cc b/media/capture/video/fake_video_capture_device_unittest.cc index 67e67e7..a4f72ca0 100644 --- a/media/capture/video/fake_video_capture_device_unittest.cc +++ b/media/capture/video/fake_video_capture_device_unittest.cc
@@ -102,6 +102,7 @@ MOCK_METHOD2(OnError, void(const tracked_objects::Location& from_here, const std::string& reason)); + MOCK_METHOD0(OnStarted, void(void)); explicit MockClient(base::Callback<void(const VideoCaptureFormat&)> frame_cb) : frame_cb_(frame_cb) {} @@ -294,6 +295,7 @@ for (const auto& resolution : resolutions_to_test) { auto client = CreateClient(); EXPECT_CALL(*client, OnError(_, _)).Times(0); + EXPECT_CALL(*client, OnStarted()); VideoCaptureParams capture_params; capture_params.requested_format.frame_size = resolution.first; @@ -383,6 +385,7 @@ VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(640, 480); capture_params.requested_format.frame_rate = 30.0; + EXPECT_CALL(*client_, OnStarted()); device->AllocateAndStart(capture_params, std::move(client_)); VideoCaptureDevice::GetPhotoCapabilitiesCallback scoped_get_callback( @@ -494,6 +497,7 @@ VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(640, 480); capture_params.requested_format.frame_rate = 30.0; + EXPECT_CALL(*client_, OnStarted()); device->AllocateAndStart(capture_params, std::move(client_)); VideoCaptureDevice::TakePhotoCallback scoped_callback( @@ -549,7 +553,9 @@ capture_params.requested_format.frame_rate = GetParam().expected_fps; capture_params.requested_format.pixel_format = GetParam().expected_pixel_formats[device_index]; - device->AllocateAndStart(capture_params, CreateClient()); + auto client = CreateClient(); + EXPECT_CALL(*client, OnStarted()); + device->AllocateAndStart(capture_params, std::move(client)); WaitForCapturedFrame(); EXPECT_EQ(1280, last_format().frame_size.width()); EXPECT_EQ(720, last_format().frame_size.height());
diff --git a/media/capture/video/file_video_capture_device.cc b/media/capture/video/file_video_capture_device.cc index bdac8fbfe..bd5f0799 100644 --- a/media/capture/video/file_video_capture_device.cc +++ b/media/capture/video/file_video_capture_device.cc
@@ -347,6 +347,7 @@ DVLOG(1) << "Opened video file " << capture_format_.frame_size.ToString() << ", fps: " << capture_format_.frame_rate; + client_->OnStarted(); capture_thread_.task_runner()->PostTask( FROM_HERE, base::Bind(&FileVideoCaptureDevice::OnCaptureTask,
diff --git a/media/capture/video/linux/v4l2_capture_delegate.cc b/media/capture/video/linux/v4l2_capture_delegate.cc index 13208879..1fb6d006 100644 --- a/media/capture/video/linux/v4l2_capture_delegate.cc +++ b/media/capture/video/linux/v4l2_capture_delegate.cc
@@ -471,7 +471,9 @@ return; } + client_->OnStarted(); is_capturing_ = true; + // Post task to start fetching frames from v4l2. v4l2_task_runner_->PostTask( FROM_HERE, base::Bind(&V4L2CaptureDelegate::DoCapture, this));
diff --git a/media/capture/video/linux/v4l2_capture_delegate_unittest.cc b/media/capture/video/linux/v4l2_capture_delegate_unittest.cc index c5f1080a..3d7d8b1 100644 --- a/media/capture/video/linux/v4l2_capture_delegate_unittest.cc +++ b/media/capture/video/linux/v4l2_capture_delegate_unittest.cc
@@ -187,6 +187,7 @@ void(const tracked_objects::Location& from_here, const std::string& reason)); MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); + MOCK_METHOD0(OnStarted, void(void)); }; class V4L2CaptureDelegateTest : public ::testing::Test { @@ -232,6 +233,7 @@ std::unique_ptr<MockVideoCaptureDeviceClient> client( new MockVideoCaptureDeviceClient()); MockVideoCaptureDeviceClient* client_ptr = client.get(); + EXPECT_CALL(*client_ptr, OnStarted()); delegate_->AllocateAndStart(320 /* width */, 240 /* height */, 10.0 /* frame_rate */, std::move(client));
diff --git a/media/capture/video/mac/video_capture_device_decklink_mac.h b/media/capture/video/mac/video_capture_device_decklink_mac.h index 9120d3e6..1f092ff04 100644 --- a/media/capture/video/mac/video_capture_device_decklink_mac.h +++ b/media/capture/video/mac/video_capture_device_decklink_mac.h
@@ -68,6 +68,9 @@ // Forwarder to VideoCaptureDevice::Client::OnLog(). void SendLogString(const std::string& message); + // Forwarder to VideoCaptureDevice::Client::OnStarted(). + void ReportStarted(); + private: // VideoCaptureDevice implementation. void AllocateAndStart(
diff --git a/media/capture/video/mac/video_capture_device_decklink_mac.mm b/media/capture/video/mac/video_capture_device_decklink_mac.mm index 54bb0cc..6948165f 100644 --- a/media/capture/video/mac/video_capture_device_decklink_mac.mm +++ b/media/capture/video/mac/video_capture_device_decklink_mac.mm
@@ -209,6 +209,9 @@ if (decklink_input_local->StartStreams() != S_OK) SendErrorString(FROM_HERE, "Could not start capturing"); + if (frame_receiver_) + frame_receiver_->ReportStarted(); + decklink_.swap(decklink_local); decklink_input_.swap(decklink_input_local); } @@ -494,6 +497,13 @@ client_->OnLog(message); } +void VideoCaptureDeviceDeckLinkMac::ReportStarted() { + DCHECK(thread_checker_.CalledOnValidThread()); + base::AutoLock lock(lock_); + if (client_) + client_->OnStarted(); +} + void VideoCaptureDeviceDeckLinkMac::AllocateAndStart( const VideoCaptureParams& params, std::unique_ptr<VideoCaptureDevice::Client> client) {
diff --git a/media/capture/video/mac/video_capture_device_mac.mm b/media/capture/video/mac/video_capture_device_mac.mm index d14f551..a3c0166 100644 --- a/media/capture/video/mac/video_capture_device_mac.mm +++ b/media/capture/video/mac/video_capture_device_mac.mm
@@ -359,6 +359,7 @@ return; } + client_->OnStarted(); state_ = kCapturing; }
diff --git a/media/capture/video/video_capture_device.h b/media/capture/video/video_capture_device.h index 960e23a3..d99ed31c 100644 --- a/media/capture/video/video_capture_device.h +++ b/media/capture/video/video_capture_device.h
@@ -75,7 +75,11 @@ // Interface defining the methods that clients of VideoCapture must have. It // is actually two-in-one: clients may implement OnIncomingCapturedData() or // ReserveOutputBuffer() + OnIncomingCapturedVideoFrame(), or all of them. - // All clients must implement OnError(). + // All methods may be called as soon as AllocateAndStart() of the + // corresponding VideoCaptureDevice is invoked. The methods for buffer + // reservation and frame delivery may be called from arbitrary threads but + // are guaranteed to be called non-concurrently. The status reporting methods + // (OnStarted, OnLog, OnError) may be called concurrently. class CAPTURE_EXPORT Client { public: // Struct bundling several parameters being passed between a @@ -200,6 +204,9 @@ // Returns the current buffer pool utilization, in the range 0.0 (no buffers // are in use by producers or consumers) to 1.0 (all buffers are in use). virtual double GetBufferPoolUtilization() const = 0; + + // VideoCaptureDevice reports it's successfully started. + virtual void OnStarted() = 0; }; ~VideoCaptureDevice() override;
diff --git a/media/capture/video/video_capture_device_client.cc b/media/capture/video/video_capture_device_client.cc index 96f9d22..729c02e 100644 --- a/media/capture/video/video_capture_device_client.cc +++ b/media/capture/video/video_capture_device_client.cc
@@ -418,6 +418,10 @@ receiver_->OnLog(message); } +void VideoCaptureDeviceClient::OnStarted() { + receiver_->OnStarted(); +} + double VideoCaptureDeviceClient::GetBufferPoolUtilization() const { return buffer_pool_->GetBufferPoolUtilization(); }
diff --git a/media/capture/video/video_capture_device_client.h b/media/capture/video/video_capture_device_client.h index 02ed7874..a1b298f 100644 --- a/media/capture/video/video_capture_device_client.h +++ b/media/capture/video/video_capture_device_client.h
@@ -81,6 +81,7 @@ void OnError(const tracked_objects::Location& from_here, const std::string& reason) override; void OnLog(const std::string& message) override; + void OnStarted() override; double GetBufferPoolUtilization() const override; private:
diff --git a/media/capture/video/video_capture_device_client_unittest.cc b/media/capture/video/video_capture_device_client_unittest.cc index 48d1fec..23c21a13 100644 --- a/media/capture/video/video_capture_device_client_unittest.cc +++ b/media/capture/video/video_capture_device_client_unittest.cc
@@ -42,6 +42,7 @@ MOCK_METHOD0(OnError, void()); MOCK_METHOD1(OnLog, void(const std::string& message)); MOCK_METHOD1(OnBufferRetired, void(int buffer_id)); + MOCK_METHOD0(OnStarted, void()); void OnNewBufferHandle( int buffer_id,
diff --git a/media/capture/video/video_capture_device_unittest.cc b/media/capture/video/video_capture_device_unittest.cc index 477c911a..b90b9f37 100644 --- a/media/capture/video/video_capture_device_unittest.cc +++ b/media/capture/video/video_capture_device_unittest.cc
@@ -101,6 +101,7 @@ void(const tracked_objects::Location& from_here, const std::string& reason)); MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); + MOCK_METHOD0(OnStarted, void(void)); explicit MockVideoCaptureClient( base::Callback<void(const VideoCaptureFormat&)> frame_cb) @@ -406,6 +407,7 @@ ASSERT_TRUE(device); EXPECT_CALL(*video_capture_client_, OnError(_, _)).Times(0); + EXPECT_CALL(*video_capture_client_, OnStarted()); VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(width, height); @@ -440,6 +442,7 @@ ASSERT_TRUE(device); EXPECT_CALL(*video_capture_client_, OnError(_, _)).Times(0); + EXPECT_CALL(*video_capture_client_, OnStarted()); const gfx::Size input_size(640, 480); VideoCaptureParams capture_params; @@ -520,6 +523,7 @@ ASSERT_TRUE(device); EXPECT_CALL(*video_capture_client_, OnError(_, _)).Times(0); + EXPECT_CALL(*video_capture_client_, OnStarted()); VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(1280, 720); @@ -566,6 +570,7 @@ ASSERT_TRUE(device); EXPECT_CALL(*video_capture_client_, OnError(_, _)).Times(0); + EXPECT_CALL(*video_capture_client_, OnStarted()); VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(320, 240); @@ -610,6 +615,7 @@ ASSERT_TRUE(device); EXPECT_CALL(*video_capture_client_, OnError(_, _)).Times(0); + EXPECT_CALL(*video_capture_client_, OnStarted()); VideoCaptureParams capture_params; capture_params.requested_format.frame_size.SetSize(320, 240);
diff --git a/media/capture/video/video_frame_receiver.h b/media/capture/video/video_frame_receiver.h index 67d2a2d3..9faaf476 100644 --- a/media/capture/video/video_frame_receiver.h +++ b/media/capture/video/video_frame_receiver.h
@@ -52,6 +52,7 @@ virtual void OnError() = 0; virtual void OnLog(const std::string& message) = 0; + virtual void OnStarted() = 0; }; } // namespace media
diff --git a/media/capture/video/win/video_capture_device_mf_win.cc b/media/capture/video/win/video_capture_device_mf_win.cc index 88fd33d..1644148 100644 --- a/media/capture/video/win/video_capture_device_mf_win.cc +++ b/media/capture/video/win/video_capture_device_mf_win.cc
@@ -239,6 +239,7 @@ reader_->ReadSample(kFirstVideoStream, 0, NULL, NULL, NULL, NULL); if (SUCCEEDED(hr)) { capture_format_ = found_capability.supported_format; + client_->OnStarted(); capture_ = true; return; }
diff --git a/media/capture/video/win/video_capture_device_win.cc b/media/capture/video/win/video_capture_device_win.cc index 4cb7f30c..ce617ae2 100644 --- a/media/capture/video/win/video_capture_device_win.cc +++ b/media/capture/video/win/video_capture_device_win.cc
@@ -422,6 +422,7 @@ return; } + client_->OnStarted(); state_ = kCapturing; }
diff --git a/media/filters/decrypting_video_decoder.cc b/media/filters/decrypting_video_decoder.cc index 4f379d9..1f653683 100644 --- a/media/filters/decrypting_video_decoder.cc +++ b/media/filters/decrypting_video_decoder.cc
@@ -115,11 +115,16 @@ state_ == kWaitingForKey || state_ == kDecodeFinished || state_ == kError) << state_; - DCHECK(init_cb_.is_null()); // No Reset() during pending initialization. DCHECK(reset_cb_.is_null()); reset_cb_ = BindToCurrentLoop(closure); + // TODO(xhwang): These CHECKs are used to help investigate a bug. Remove them + // after the investigation is over. See http://crbug.com/695554 + CHECK(state_ != kUninitialized); + CHECK(state_ != kPendingDecoderInit); + CHECK(init_cb_.is_null()); // No Reset() during pending initialization. + decryptor_->ResetDecoder(Decryptor::kVideo); // Reset() cannot complete if the decode callback is still pending.
diff --git a/media/mojo/BUILD.gn b/media/mojo/BUILD.gn index 8ac65b3..20257ab 100644 --- a/media/mojo/BUILD.gn +++ b/media/mojo/BUILD.gn
@@ -14,7 +14,6 @@ "common/mojo_decoder_buffer_converter_unittest.cc", "common/mojo_shared_buffer_video_frame_unittest.cc", "services/mojo_cdm_allocator_unittest.cc", - "services/strong_binding_set_unittest.cc", ] deps = [
diff --git a/media/mojo/services/BUILD.gn b/media/mojo/services/BUILD.gn index b157d68..432130d 100644 --- a/media/mojo/services/BUILD.gn +++ b/media/mojo/services/BUILD.gn
@@ -99,7 +99,6 @@ "mojo_renderer_service.h", "mojo_video_decoder_service.cc", "mojo_video_decoder_service.h", - "strong_binding_set.h", "test_mojo_media_client.cc", "test_mojo_media_client.h", ]
diff --git a/media/mojo/services/interface_factory_impl.cc b/media/mojo/services/interface_factory_impl.cc index 5277a8e..143e5b6 100644 --- a/media/mojo/services/interface_factory_impl.cc +++ b/media/mojo/services/interface_factory_impl.cc
@@ -115,15 +115,15 @@ MojoRendererService* mojo_renderer_service_ptr = mojo_renderer_service.get(); - StrongBindingSet<mojom::Renderer>::BindingId binding_id = - renderer_bindings_.AddBinding(std::move(mojo_renderer_service), - std::move(request)); + mojo::BindingId binding_id = renderer_bindings_.AddBinding( + std::move(mojo_renderer_service), std::move(request)); // base::Unretained() is safe because the callback will be fired by // |mojo_renderer_service|, which is owned by |renderer_bindings_|. - mojo_renderer_service_ptr->set_bad_message_cb(base::Bind( - base::IgnoreResult(&StrongBindingSet<mojom::Renderer>::RemoveBinding), - base::Unretained(&renderer_bindings_), binding_id)); + mojo_renderer_service_ptr->set_bad_message_cb( + base::Bind(base::IgnoreResult( + &mojo::StrongBindingSet<mojom::Renderer>::RemoveBinding), + base::Unretained(&renderer_bindings_), binding_id)); #endif // defined(ENABLE_MOJO_RENDERER) }
diff --git a/media/mojo/services/interface_factory_impl.h b/media/mojo/services/interface_factory_impl.h index ef34171..19be2185 100644 --- a/media/mojo/services/interface_factory_impl.h +++ b/media/mojo/services/interface_factory_impl.h
@@ -10,7 +10,7 @@ #include "base/macros.h" #include "media/mojo/interfaces/interface_factory.mojom.h" #include "media/mojo/services/mojo_cdm_service_context.h" -#include "media/mojo/services/strong_binding_set.h" +#include "mojo/public/cpp/bindings/strong_binding_set.h" #include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/service_context_ref.h" @@ -49,22 +49,22 @@ MojoCdmServiceContext cdm_service_context_; #if defined(ENABLE_MOJO_AUDIO_DECODER) - StrongBindingSet<mojom::AudioDecoder> audio_decoder_bindings_; + mojo::StrongBindingSet<mojom::AudioDecoder> audio_decoder_bindings_; #endif // defined(ENABLE_MOJO_AUDIO_DECODER) #if defined(ENABLE_MOJO_VIDEO_DECODER) - StrongBindingSet<mojom::VideoDecoder> video_decoder_bindings_; + mojo::StrongBindingSet<mojom::VideoDecoder> video_decoder_bindings_; #endif // defined(ENABLE_MOJO_VIDEO_DECODER) #if defined(ENABLE_MOJO_RENDERER) std::unique_ptr<RendererFactory> renderer_factory_; - StrongBindingSet<mojom::Renderer> renderer_bindings_; + mojo::StrongBindingSet<mojom::Renderer> renderer_bindings_; #endif // defined(ENABLE_MOJO_RENDERER) #if defined(ENABLE_MOJO_CDM) std::unique_ptr<CdmFactory> cdm_factory_; service_manager::mojom::InterfaceProviderPtr interfaces_; - StrongBindingSet<mojom::ContentDecryptionModule> cdm_bindings_; + mojo::StrongBindingSet<mojom::ContentDecryptionModule> cdm_bindings_; #endif // defined(ENABLE_MOJO_CDM) scoped_refptr<MediaLog> media_log_;
diff --git a/media/mojo/services/strong_binding_set.h b/media/mojo/services/strong_binding_set.h deleted file mode 100644 index fb1142de9..0000000 --- a/media/mojo/services/strong_binding_set.h +++ /dev/null
@@ -1,97 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef MEDIA_MOJO_SERVICES_STRONG_BINDING_SET_H_ -#define MEDIA_MOJO_SERVICES_STRONG_BINDING_SET_H_ - -#include <map> -#include <memory> -#include <utility> - -#include "base/bind.h" -#include "base/macros.h" -#include "base/memory/ptr_util.h" -#include "mojo/public/cpp/bindings/binding.h" -#include "mojo/public/cpp/bindings/interface_request.h" - -namespace media { - -// This class manages a set of bindings. When the pipe a binding is bound to is -// disconnected, the binding is automatically destroyed and removed from the -// set, and the interface implementation is deleted. When the StrongBindingSet -// is destructed, all outstanding bindings in the set are destroyed and all the -// bound interface implementations are automatically deleted. -template <typename Interface> -class StrongBindingSet { - public: - using BindingId = size_t; - using RequestType = mojo::InterfaceRequest<Interface>; - - StrongBindingSet() {} - ~StrongBindingSet() {} - - // Adds a new binding to the set which binds |request| to |impl|. - BindingId AddBinding(std::unique_ptr<Interface> impl, RequestType request) { - BindingId binding_id = next_binding_id_++; - std::unique_ptr<Entry> entry = base::MakeUnique<Entry>( - std::move(impl), std::move(request), this, binding_id); - bindings_.insert(std::make_pair(binding_id, std::move(entry))); - return binding_id; - } - - // Removes a binding from the set. Note that this is safe to call even if the - // binding corresponding to |binding_id| has already been removed. - // Returns |true| if the binding was removed and |false| if it didn't exist. - bool RemoveBinding(BindingId binding_id) { - auto it = bindings_.find(binding_id); - if (it == bindings_.end()) - return false; - bindings_.erase(it); - return true; - } - - private: - class Entry { - public: - Entry(std::unique_ptr<Interface> impl, - RequestType request, - StrongBindingSet* binding_set, - BindingId binding_id) - : impl_(std::move(impl)), - binding_(impl_.get(), std::move(request)), - binding_set_(binding_set), - binding_id_(binding_id) { - // base::Unretained() is safe because |this| is owned by the - // |binding_set|. - binding_.set_connection_error_with_reason_handler( - base::Bind(&StrongBindingSet::OnConnectionError, - base::Unretained(binding_set), binding_id)); - } - - // Holds ownership of the interface implementation. - std::unique_ptr<Interface> impl_; - - mojo::Binding<Interface> binding_; - StrongBindingSet* const binding_set_; - const BindingId binding_id_; - - DISALLOW_COPY_AND_ASSIGN(Entry); - }; - - void OnConnectionError(BindingId binding_id, - uint32_t custom_reason, - const std::string& description) { - bool success = RemoveBinding(binding_id); - DCHECK(success) << "Binding for ID " << binding_id << " does not exist."; - } - - std::map<BindingId, std::unique_ptr<Entry>> bindings_; - BindingId next_binding_id_ = 0; - - DISALLOW_COPY_AND_ASSIGN(StrongBindingSet); -}; - -} // namespace media - -#endif // MEDIA_MOJO_SERVICES_STRONG_BINDING_SET_H_
diff --git a/media/mojo/services/strong_binding_set_unittest.cc b/media/mojo/services/strong_binding_set_unittest.cc deleted file mode 100644 index 327c51b..0000000 --- a/media/mojo/services/strong_binding_set_unittest.cc +++ /dev/null
@@ -1,106 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "media/mojo/services/strong_binding_set.h" - -#include "base/macros.h" -#include "base/memory/ptr_util.h" -#include "base/run_loop.h" -#include "base/test/test_message_loop.h" -#include "mojo/public/cpp/bindings/interface_request.h" -#include "services/service_manager/tests/test.mojom.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace media { - -namespace { - -using TestService = service_manager::TestService; -using TestServicePtr = service_manager::TestServicePtr; - -const int kInvalidBindingId = 100; - -class TestServiceImpl : public TestService { - public: - TestServiceImpl() { instance_count++; } - ~TestServiceImpl() override { instance_count--; } - - // TestService implementation. - void Test(const std::string& test_string, - const TestCallback& callback) override { - DVLOG(1) << __func__ << ": " << test_string; - callback.Run(); - } - - static int instance_count; -}; - -int TestServiceImpl::instance_count = 0; - -} // namespace - -class StrongBindingSetTest : public testing::Test { - public: - StrongBindingSetTest() - : bindings_(base::MakeUnique<StrongBindingSet<TestService>>()) {} - ~StrongBindingSetTest() override {} - - protected: - void AddBindings() { - binding_id_1_ = - bindings_->AddBinding(base::MakeUnique<TestServiceImpl>(), - mojo::MakeRequest(&test_service_ptr_1_)); - EXPECT_EQ(1, TestServiceImpl::instance_count); - - binding_id_2_ = - bindings_->AddBinding(base::MakeUnique<TestServiceImpl>(), - mojo::MakeRequest(&test_service_ptr_2_)); - EXPECT_EQ(2, TestServiceImpl::instance_count); - } - - TestServicePtr test_service_ptr_1_; - TestServicePtr test_service_ptr_2_; - StrongBindingSet<TestService>::BindingId binding_id_1_ = 0; - StrongBindingSet<TestService>::BindingId binding_id_2_ = 0; - std::unique_ptr<StrongBindingSet<TestService>> bindings_; - - private: - base::TestMessageLoop message_loop_; - - DISALLOW_COPY_AND_ASSIGN(StrongBindingSetTest); -}; - -TEST_F(StrongBindingSetTest, AddBinding_Destruct) { - AddBindings(); - - bindings_.reset(); - EXPECT_EQ(0, TestServiceImpl::instance_count); -} - -TEST_F(StrongBindingSetTest, AddBinding_ConnectionError) { - AddBindings(); - - test_service_ptr_1_.reset(); - base::RunLoop().RunUntilIdle(); - EXPECT_EQ(1, TestServiceImpl::instance_count); - - test_service_ptr_2_.reset(); - base::RunLoop().RunUntilIdle(); - EXPECT_EQ(0, TestServiceImpl::instance_count); -} - -TEST_F(StrongBindingSetTest, AddBinding_RemoveBinding) { - AddBindings(); - - EXPECT_TRUE(bindings_->RemoveBinding(binding_id_1_)); - EXPECT_EQ(1, TestServiceImpl::instance_count); - - EXPECT_FALSE(bindings_->RemoveBinding(kInvalidBindingId)); - EXPECT_EQ(1, TestServiceImpl::instance_count); - - EXPECT_TRUE(bindings_->RemoveBinding(binding_id_2_)); - EXPECT_EQ(0, TestServiceImpl::instance_count); -} - -} // namespace media
diff --git a/net/BUILD.gn b/net/BUILD.gn index 74953f2..8c4009f 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn
@@ -2699,38 +2699,6 @@ ] } - executable("hpack_fuzz_mutator") { - testonly = true - sources = [ - "spdy/fuzzing/hpack_fuzz_mutator.cc", - ] - - # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. - configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] - deps = [ - ":net", - "//base", - "//build/config/sanitizers:deps", - "//build/win:default_exe_manifest", - ] - } - - executable("hpack_fuzz_wrapper") { - testonly = true - sources = [ - "spdy/fuzzing/hpack_fuzz_wrapper.cc", - ] - - # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. - configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] - deps = [ - ":net", - "//base", - "//build/config/sanitizers:deps", - "//build/win:default_exe_manifest", - ] - } - if (use_v8_in_net) { executable("net_watcher") { testonly = true
diff --git a/net/cert/x509_cert_types.h b/net/cert/x509_cert_types.h index acb5b4f..0a38a6da 100644 --- a/net/cert/x509_cert_types.h +++ b/net/cert/x509_cert_types.h
@@ -41,14 +41,6 @@ bool ParseDistinguishedName(const void* ber_name_data, size_t length); #endif -#if defined(OS_MACOSX) && !defined(OS_IOS) - // Compare this CertPrincipal with |against|, returning true if they're - // equal enough to be a possible match. This should NOT be used for any - // security relevant decisions. - // TODO(rsleevi): Remove once Mac client auth uses NSS for name comparison. - bool Matches(const CertPrincipal& against) const; -#endif - // Returns a name that can be used to represent the issuer. It tries in this // order: CN, O and OU and returns the first non-empty one found. std::string GetDisplayName() const;
diff --git a/net/cert/x509_cert_types_mac.cc b/net/cert/x509_cert_types_mac.cc index 4a7a968..9fbef95 100644 --- a/net/cert/x509_cert_types_mac.cc +++ b/net/cert/x509_cert_types_mac.cc
@@ -170,31 +170,6 @@ *single_value = values[0]; } -bool match(const std::string& str, const std::string& against) { - // TODO(snej): Use the full matching rules specified in RFC 5280 sec. 7.1 - // including trimming and case-folding: <http://www.ietf.org/rfc/rfc5280.txt>. - return against == str; -} - -bool match(const std::vector<std::string>& rdn1, - const std::vector<std::string>& rdn2) { - // "Two relative distinguished names RDN1 and RDN2 match if they have the - // same number of naming attributes and for each naming attribute in RDN1 - // there is a matching naming attribute in RDN2." --RFC 5280 sec. 7.1. - if (rdn1.size() != rdn2.size()) - return false; - for (unsigned i1 = 0; i1 < rdn1.size(); ++i1) { - unsigned i2; - for (i2 = 0; i2 < rdn2.size(); ++i2) { - if (match(rdn1[i1], rdn2[i2])) - break; - } - if (i2 == rdn2.size()) - return false; - } - return true; -} - } // namespace bool CertPrincipal::ParseDistinguishedName(const void* ber_name_data, @@ -283,17 +258,6 @@ return true; } -bool CertPrincipal::Matches(const CertPrincipal& against) const { - return match(common_name, against.common_name) && - match(locality_name, against.locality_name) && - match(state_or_province_name, against.state_or_province_name) && - match(country_name, against.country_name) && - match(street_addresses, against.street_addresses) && - match(organization_names, against.organization_names) && - match(organization_unit_names, against.organization_unit_names) && - match(domain_components, against.domain_components); -} - #pragma clang diagnostic pop // "-Wdeprecated-declarations" } // namespace net
diff --git a/net/cert/x509_cert_types_unittest.cc b/net/cert/x509_cert_types_unittest.cc index cc9d88f..9882090cd 100644 --- a/net/cert/x509_cert_types_unittest.cc +++ b/net/cert/x509_cert_types_unittest.cc
@@ -13,45 +13,6 @@ namespace { -#if defined(OS_MACOSX) && !defined(OS_IOS) -TEST(X509TypesTest, Matching) { - CertPrincipal spamco; - spamco.common_name = "SpamCo Dept. Of Certificization"; - spamco.country_name = "EB"; - spamco.organization_names.push_back("SpamCo Holding Company, LLC"); - spamco.organization_names.push_back("SpamCo Evil Masterminds"); - spamco.organization_unit_names.push_back("Class Z Obfuscation Authority"); - ASSERT_TRUE(spamco.Matches(spamco)); - - CertPrincipal bogus; - EXPECT_FALSE(bogus.Matches(spamco)); - EXPECT_FALSE(spamco.Matches(bogus)); - - bogus = spamco; - EXPECT_TRUE(bogus.Matches(spamco)); - EXPECT_TRUE(spamco.Matches(bogus)); - - bogus.organization_names.erase(bogus.organization_names.begin(), - bogus.organization_names.end()); - EXPECT_FALSE(bogus.Matches(spamco)); - EXPECT_FALSE(spamco.Matches(bogus)); - - bogus.organization_names.push_back("SpamCo Holding Company, LLC"); - bogus.organization_names.push_back("SpamCo Evil Masterminds"); - EXPECT_TRUE(bogus.Matches(spamco)); - EXPECT_TRUE(spamco.Matches(bogus)); - - bogus.locality_name = "Elbosdorf"; - EXPECT_FALSE(bogus.Matches(spamco)); - EXPECT_FALSE(spamco.Matches(bogus)); - - bogus.locality_name = ""; - bogus.organization_unit_names.push_back("Q Division"); - EXPECT_FALSE(bogus.Matches(spamco)); - EXPECT_FALSE(spamco.Matches(bogus)); -} -#endif - #if (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_WIN) TEST(X509TypesTest, ParseDNVerisign) { CertPrincipal verisign;
diff --git a/net/data/ssl/certificates/sha1_2016.pem b/net/data/ssl/certificates/sha1_2016.pem index 074a0db..086f8df 100644 --- a/net/data/ssl/certificates/sha1_2016.pem +++ b/net/data/ssl/certificates/sha1_2016.pem
@@ -2,7 +2,7 @@ Data: Version: 3 (0x2) Serial Number: 1 (0x1) - Signature Algorithm: sha256WithRSAEncryption + Signature Algorithm: sha1WithRSAEncryption Issuer: CN=Test Root CA Validity Not Before: Oct 30 00:00:00 2008 GMT @@ -12,30 +12,30 @@ Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: - 00:c0:96:28:b8:79:2e:15:f8:33:2e:29:06:75:f8: - 99:8d:df:03:c3:6e:cf:ed:ff:ef:73:5c:9e:40:af: - 5b:3b:14:21:74:11:59:75:c7:35:00:12:f1:af:97: - ca:2f:f6:5b:55:9e:38:5b:a3:e9:5a:23:39:aa:a5: - fa:12:76:db:89:26:64:8a:ff:ec:f9:f1:a3:2e:3c: - a2:f0:f4:95:a0:27:1a:18:04:4f:dd:32:39:c7:96: - 85:53:15:48:33:3a:c0:6b:6e:2a:91:12:01:fe:a1: - 79:4d:4d:6f:a1:ea:2d:ab:bb:06:ac:cb:8f:10:75: - 2f:75:cb:23:05:9b:73:b9:17:ba:4d:3d:b9:e4:54: - 12:a7:d2:b4:bd:df:00:c2:b6:3e:e0:60:3a:f3:9a: - 08:e4:72:8d:49:5a:b9:92:e9:ea:76:6c:8b:30:4f: - 7c:85:09:dd:4b:43:d8:3e:a0:6d:da:ad:2e:8b:af: - e6:cc:a9:8c:b2:a0:81:fc:bb:da:05:45:0e:bc:ea: - f1:b8:5d:a4:4f:ce:f7:78:7e:57:6e:54:f5:2b:40: - be:ee:d6:05:dd:ea:c1:02:cb:cc:1e:5b:24:06:73: - 9d:41:8e:18:79:37:4f:f7:e8:dc:f3:b3:c0:db:e4: - 48:1e:d3:f4:dc:da:30:2c:2e:86:10:b1:a8:90:ec: - af:c3 + 00:bc:e0:e9:f5:9a:f0:36:82:13:c5:f2:2c:79:69: + 1e:69:35:c5:3b:31:fd:cf:60:28:e1:40:f8:23:d5: + dc:b1:52:32:e2:09:08:3a:af:39:5a:05:f8:51:ee: + fe:e9:73:c0:80:5a:29:2a:84:c3:14:e5:f7:3e:ab: + b4:f5:e4:2d:e9:f5:ab:5a:b1:37:75:e9:91:4d:40: + 8a:64:fa:f4:7d:22:76:9b:6a:d3:7c:8e:8a:c8:c2: + 40:42:c2:40:9a:63:be:ad:ac:99:8a:4f:c0:b5:15: + 63:d2:4e:76:96:49:73:69:86:da:a9:f1:ea:32:f9: + 27:d0:5a:f2:64:35:86:25:ee:cb:a5:7e:d3:35:97: + 1f:92:82:4c:c6:23:cc:2a:cd:df:50:7a:37:51:c2: + 77:01:0c:76:d5:93:fe:af:57:76:3a:5a:3d:83:d6: + 18:03:1a:50:d6:e3:b5:b0:40:aa:16:a8:03:38:3d: + 6f:2f:7a:e2:92:6d:b8:04:93:42:0d:27:a5:73:3b: + 37:f5:0e:50:f5:d6:9e:db:da:64:b1:d3:32:75:94: + cd:20:0f:f7:73:92:b2:b4:34:1a:9c:79:13:b1:78: + c2:22:0e:45:10:ff:47:ea:df:9a:78:0c:b5:9c:e4: + 89:9e:12:c0:e7:ab:bc:01:46:90:d7:05:4d:3f:a5: + 7a:0b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: - A5:46:1F:A2:BE:47:ED:CD:33:DC:51:DF:70:2C:A5:E1:AB:4F:7D:41 + C7:77:F7:6A:6A:BF:D7:F9:34:CC:B9:74:3F:AC:12:56:46:10:B4:76 X509v3 Authority Key Identifier: keyid:BC:F7:30:D1:3C:C0:F2:79:FA:EF:9F:C9:6C:5C:93:F3:8A:68:AB:83 @@ -43,40 +43,40 @@ TLS Web Server Authentication, TLS Web Client Authentication X509v3 Subject Alternative Name: IP Address:127.0.0.1 - Signature Algorithm: sha256WithRSAEncryption - b5:a1:00:b0:53:8c:6e:61:f1:9e:1c:a4:5c:3b:f0:25:56:66: - e9:b1:b1:70:a0:d3:f2:c5:06:d1:99:08:82:bb:d9:b8:d5:c0: - 57:89:11:90:d1:ad:36:08:d7:68:39:cf:d4:28:59:4b:09:92: - f6:65:65:b2:f0:7f:8b:01:0a:46:e4:1f:2b:d8:20:7d:73:2e: - 2b:a9:8d:8c:d7:08:4e:1c:e2:fb:9e:68:34:b7:60:91:d1:a8: - 70:0b:7a:50:e9:8c:98:fa:47:1e:e1:f6:f5:65:30:e7:07:be: - cb:c2:85:97:91:4d:8a:47:b7:d2:64:49:70:e7:ce:85:ed:f3: - f8:6a:72:70:f4:20:9d:c0:91:e9:ba:6b:26:a1:e6:e4:41:0f: - 8b:f5:d9:7f:5c:2f:4e:46:37:a0:47:3d:de:21:d4:94:91:04: - 21:ee:3b:b2:1d:64:4c:c6:7b:49:1c:b9:51:7a:99:ca:63:89: - 7a:04:ca:31:7e:a7:c3:58:1f:96:d7:41:3f:88:e7:b5:cf:55: - e2:53:16:07:c2:ad:4a:76:64:b2:1c:07:9a:ae:c9:03:ac:3b: - 1f:a9:09:45:7f:c0:8a:3f:47:83:41:c6:8a:48:04:32:cd:c5: - 79:5e:59:4e:48:eb:ed:e4:0e:9d:f9:a2:40:2b:fc:02:59:c0: - 26:8a:9a:72 + Signature Algorithm: sha1WithRSAEncryption + 77:91:04:bc:b5:04:90:6b:1a:dd:f2:26:55:3c:c9:76:f0:de: + d5:90:dc:8a:94:c3:87:ba:84:ab:bf:0d:2a:39:ab:87:03:e4: + 66:0c:fb:cb:fa:b6:d6:9c:0d:56:cf:a4:1c:5e:31:e3:5d:97: + 8e:b9:2c:c5:9c:a9:32:6a:dd:8d:b9:df:ac:45:04:a4:1f:ca: + 66:fa:43:bb:62:4c:2f:13:5b:43:9b:7f:e4:2b:82:fa:25:01: + f7:30:de:a5:95:90:78:7f:1f:7a:5f:37:11:f6:86:1c:d4:88: + e6:36:fa:c6:ae:c5:55:c2:30:97:7b:3a:01:fe:22:b9:c9:67: + d1:44:f8:f2:f7:35:2d:bd:b8:7f:cb:2a:61:18:7f:55:8e:f7: + bc:e4:6f:ae:d8:4e:60:10:c6:c3:be:b7:c1:0c:d9:9b:c1:d2: + 23:63:d7:b0:7b:69:87:33:a5:99:65:c8:50:d7:40:e5:1f:43: + 61:54:91:aa:e7:e0:bd:e3:33:d4:d8:fc:88:8b:04:8d:03:60: + 8e:c4:57:c8:d3:82:bc:7d:27:96:c6:14:e8:10:08:45:e4:81: + da:2c:99:ce:6c:32:70:59:ca:b4:52:21:35:30:12:5f:00:a4: + 4c:6d:e7:32:71:7c:83:5d:7e:6a:fb:cc:f9:8a:f0:3d:01:d5: + c6:39:a7:f5 -----BEGIN CERTIFICATE----- -MIIDczCCAlugAwIBAgIBATANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDDAxUZXN0 +MIIDczCCAlugAwIBAgIBATANBgkqhkiG9w0BAQUFADAXMRUwEwYDVQQDDAxUZXN0 IFJvb3QgQ0EwHhcNMDgxMDMwMDAwMDAwWhcNMTYxMjMwMDAwMDAwWjBgMQswCQYD VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g VmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwJYouHkuFfgzLikGdfiZjd8Dw27P -7f/vc1yeQK9bOxQhdBFZdcc1ABLxr5fKL/ZbVZ44W6PpWiM5qqX6EnbbiSZkiv/s -+fGjLjyi8PSVoCcaGARP3TI5x5aFUxVIMzrAa24qkRIB/qF5TU1voeotq7sGrMuP -EHUvdcsjBZtzuRe6TT255FQSp9K0vd8AwrY+4GA685oI5HKNSVq5kunqdmyLME98 -hQndS0PYPqBt2q0ui6/mzKmMsqCB/LvaBUUOvOrxuF2kT873eH5XblT1K0C+7tYF -3erBAsvMHlskBnOdQY4YeTdP9+jc87PA2+RIHtP03NowLC6GELGokOyvwwIDAQAB -o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUpUYfor5H7c0z3FHfcCyl4atP -fUEwHwYDVR0jBBgwFoAUvPcw0TzA8nn675/JbFyT84poq4MwHQYDVR0lBBYwFAYI -KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEL -BQADggEBALWhALBTjG5h8Z4cpFw78CVWZumxsXCg0/LFBtGZCIK72bjVwFeJEZDR -rTYI12g5z9QoWUsJkvZlZbLwf4sBCkbkHyvYIH1zLiupjYzXCE4c4vueaDS3YJHR -qHALelDpjJj6Rx7h9vVlMOcHvsvChZeRTYpHt9JkSXDnzoXt8/hqcnD0IJ3Akem6 -ayah5uRBD4v12X9cL05GN6BHPd4h1JSRBCHuO7IdZEzGe0kcuVF6mcpjiXoEyjF+ -p8NYH5bXQT+I57XPVeJTFgfCrUp2ZLIcB5quyQOsOx+pCUV/wIo/R4NBxopIBDLN -xXleWU5I6+3kDp35okAr/AJZwCaKmnI= +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvODp9ZrwNoITxfIseWkeaTXFOzH9 +z2Ao4UD4I9XcsVIy4gkIOq85WgX4Ue7+6XPAgFopKoTDFOX3Pqu09eQt6fWrWrE3 +demRTUCKZPr0fSJ2m2rTfI6KyMJAQsJAmmO+rayZik/AtRVj0k52lklzaYbaqfHq +Mvkn0FryZDWGJe7LpX7TNZcfkoJMxiPMKs3fUHo3UcJ3AQx21ZP+r1d2Olo9g9YY +AxpQ1uO1sECqFqgDOD1vL3rikm24BJNCDSelczs39Q5Q9dae29pksdMydZTNIA/3 +c5KytDQanHkTsXjCIg5FEP9H6t+aeAy1nOSJnhLA56u8AUaQ1wVNP6V6CwIDAQAB +o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUx3f3amq/1/k0zLl0P6wSVkYQ +tHYwHwYDVR0jBBgwFoAUvPcw0TzA8nn675/JbFyT84poq4MwHQYDVR0lBBYwFAYI +KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEF +BQADggEBAHeRBLy1BJBrGt3yJlU8yXbw3tWQ3IqUw4e6hKu/DSo5q4cD5GYM+8v6 +ttacDVbPpBxeMeNdl465LMWcqTJq3Y2536xFBKQfymb6Q7tiTC8TW0Obf+Qrgvol +Afcw3qWVkHh/H3pfNxH2hhzUiOY2+sauxVXCMJd7OgH+IrnJZ9FE+PL3NS29uH/L +KmEYf1WO97zkb67YTmAQxsO+t8EM2ZvB0iNj17B7aYczpZllyFDXQOUfQ2FUkarn +4L3jM9TY/IiLBI0DYI7EV8jTgrx9J5bGFOgQCEXkgdosmc5sMnBZyrRSITUwEl8A +pExt5zJxfINdfmr7zPmK8D0B1cY5p/U= -----END CERTIFICATE-----
diff --git a/net/data/ssl/certificates/sha1_dec_2015.pem b/net/data/ssl/certificates/sha1_dec_2015.pem index b5047d2..52b12f1 100644 --- a/net/data/ssl/certificates/sha1_dec_2015.pem +++ b/net/data/ssl/certificates/sha1_dec_2015.pem
@@ -2,7 +2,7 @@ Data: Version: 3 (0x2) Serial Number: 8 (0x8) - Signature Algorithm: sha256WithRSAEncryption + Signature Algorithm: sha1WithRSAEncryption Issuer: CN=Test Root CA Validity Not Before: Dec 31 23:59:59 2015 GMT @@ -12,71 +12,71 @@ Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: - 00:da:6a:85:4f:e5:d7:73:82:af:a2:1e:85:49:d0: - a9:ef:65:b9:29:e3:1d:32:d0:33:10:0d:67:a8:7d: - 22:d1:99:c1:c9:ab:e5:3e:06:9b:63:62:81:60:26: - 9c:70:b4:92:65:95:46:b2:fd:ad:e5:19:b1:30:6d: - a5:00:7d:d8:4d:b3:e7:b6:a5:83:da:be:26:79:ee: - 58:0a:f8:dd:8a:ae:13:db:f7:9a:8a:2b:eb:9f:15: - 53:5d:ce:18:ac:03:f2:ed:30:f4:8c:af:d6:7e:76: - 97:aa:97:c4:24:a5:7e:28:dc:dc:22:ea:86:54:4f: - 15:bf:03:81:11:ea:f9:ca:17:db:5a:b8:f0:3d:1a: - a5:c9:96:1b:d3:ed:99:ba:7a:55:e3:fa:9e:61:54: - 61:75:16:79:22:10:e9:e6:5a:b5:6b:b5:9d:32:bb: - e8:10:de:66:d7:1a:59:6f:d7:42:bf:80:b5:b2:73: - b9:a1:0b:5d:fe:0f:a1:6c:fc:de:99:d2:b3:ae:13: - d6:7f:f3:a9:7e:c0:07:f1:e4:a2:27:1b:1f:6d:81: - 86:b4:0f:f7:2b:9a:3c:7b:76:dc:5d:3a:b0:9e:b7: - 64:5f:53:33:08:3a:51:77:df:d1:91:b5:54:b8:4e: - 7a:0c:29:d1:40:cb:47:a4:cc:3b:b4:6e:a2:4d:91: - 6b:75 + 00:e2:01:60:a4:71:45:a8:f6:30:4a:3d:15:97:19: + b9:00:c8:ef:72:4b:6d:cc:92:d2:6e:69:78:7d:ff: + a9:80:f3:1d:00:ef:28:a1:07:d0:98:c7:f0:c6:d7: + eb:0a:77:42:29:4e:60:d4:a7:11:d0:d0:ae:ed:b6: + 1c:9f:a8:63:02:05:e5:0d:c0:a7:07:3c:96:4f:c3: + 61:d0:68:c6:a5:06:cf:ab:b6:09:2c:22:44:f4:b7: + 97:7e:69:8e:cc:51:3a:2b:0e:4a:cb:7e:8c:3b:6f: + da:13:d5:e8:c3:38:e8:e5:5a:01:03:75:e6:4d:04: + 61:fe:4c:bb:ff:38:9e:97:93:14:ff:42:cd:c7:ba: + 16:68:d0:0f:5b:2b:7d:d1:59:49:33:5d:22:48:f4: + 07:fd:19:0b:f4:f3:14:6c:f5:c5:69:90:28:f1:24: + 8c:a5:cc:77:ba:4b:98:bc:00:2e:57:09:ce:8c:e8: + b5:14:39:29:9c:ee:f2:3f:75:5b:9c:92:09:00:6f: + 89:60:f1:4f:68:a7:c7:fd:22:6a:b8:4a:92:fc:8d: + bd:ab:fc:bc:b1:68:23:5f:f2:bc:25:8d:61:a8:d2: + 91:f1:ba:f6:48:25:05:a6:2c:a4:bb:af:27:c7:b5: + 61:3f:62:cd:61:2b:d2:2a:f8:02:46:f4:23:6d:90: + d9:d3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: - 16:04:CF:CB:65:43:70:72:46:1E:83:5B:87:5E:10:CB:CB:69:B2:60 + 5A:67:3F:18:17:60:C4:59:4C:9D:98:C0:8B:B7:2F:77:84:C8:22:A6 X509v3 Authority Key Identifier: - keyid:6C:29:1B:65:A9:3F:B8:19:9A:0F:FC:77:D6:95:55:2A:F2:4B:74:E6 + keyid:BC:F7:30:D1:3C:C0:F2:79:FA:EF:9F:C9:6C:5C:93:F3:8A:68:AB:83 X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Subject Alternative Name: IP Address:127.0.0.1 - Signature Algorithm: sha256WithRSAEncryption - 58:b4:e7:31:15:4f:c4:70:1e:51:c6:ae:c3:47:3d:e8:17:92: - b9:8e:3b:76:c4:38:98:f7:c9:6e:be:0b:6a:2c:9d:fb:29:37: - e5:a7:4a:33:56:b5:2b:38:37:3e:65:8c:32:97:26:cf:47:94: - 1c:35:d1:8b:83:67:33:60:35:ed:8d:84:51:21:84:fe:15:4b: - 31:6d:6c:df:b2:24:ad:25:cd:f2:40:c5:bf:68:d8:62:db:ad: - d3:05:4b:71:0a:83:f5:12:d1:49:47:c5:44:a5:a5:08:1d:26: - 35:a2:2e:42:f1:06:4d:79:8a:54:95:51:54:a7:d3:aa:33:86: - ab:c7:5f:81:03:76:c1:c3:61:9a:9f:d9:a4:0c:6e:9f:31:40: - 0a:ee:b7:ae:e4:4a:17:aa:79:9c:17:1b:d4:49:65:52:57:f4: - 52:bb:e4:12:0e:b0:1a:65:c4:8d:e4:02:26:ff:43:42:87:53: - 7c:4b:10:7d:19:14:a9:c8:b7:9e:9a:e6:54:c1:f9:9e:2e:57: - 58:8e:37:3b:66:25:ce:1c:5c:7c:55:e1:0c:3a:dc:ac:46:48: - e2:d6:f5:c9:dd:36:c3:4f:75:df:06:af:e4:dc:21:fd:73:14: - 6d:51:1c:2d:b3:15:2e:1c:fb:b4:b9:b4:01:1f:82:ae:1d:20: - 3d:5f:25:98 + Signature Algorithm: sha1WithRSAEncryption + 54:f1:c7:bb:ad:7c:c8:6c:4b:6d:54:65:6c:6c:f7:d9:f9:f7: + a3:29:0f:df:4c:7f:9c:49:cb:29:b9:e4:14:71:95:e0:ab:1a: + c2:13:34:b5:d9:a6:64:a1:ec:64:b4:af:00:45:60:3e:66:a8: + 59:bd:8f:b7:35:53:6f:46:e4:5c:17:42:d8:76:12:84:26:f0: + d2:bc:e9:85:32:7d:fb:d3:4d:7c:c2:af:6e:64:c5:fd:4c:ee: + 57:b8:bd:fc:31:57:aa:3c:aa:03:6f:9c:db:e4:c4:62:45:48: + ba:6a:7a:63:b9:38:44:4f:fc:cb:3d:b4:fd:09:b0:89:f8:7e: + c4:cd:ac:06:c0:bd:06:fa:99:64:32:b2:49:6d:df:d1:5f:ae: + 40:9f:95:cd:f2:7b:ba:b7:aa:c0:e0:f0:e6:0f:bf:04:3f:b4: + 52:3a:e9:10:02:4d:71:22:ad:29:be:61:7c:d2:1e:c6:e8:52: + da:00:cc:2f:e3:0f:68:03:ed:cc:19:c9:da:0f:a3:d1:82:ba: + d8:14:40:07:37:4e:55:e9:9a:45:25:bf:eb:cb:4c:13:54:c8: + 26:b7:41:0b:68:7b:3a:25:a5:67:33:fd:15:63:be:5e:05:a4: + 09:6d:22:7e:fd:e0:6d:4c:d5:a9:47:c2:30:e4:34:e4:ec:cb: + b6:61:32:98 -----BEGIN CERTIFICATE----- -MIIDczCCAlugAwIBAgIBCDANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDDAxUZXN0 +MIIDczCCAlugAwIBAgIBCDANBgkqhkiG9w0BAQUFADAXMRUwEwYDVQQDDAxUZXN0 IFJvb3QgQ0EwHhcNMTUxMjMxMjM1OTU5WhcNMTYxMjMwMDAwMDAwWjBgMQswCQYD VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g VmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2mqFT+XXc4Kvoh6FSdCp72W5KeMd -MtAzEA1nqH0i0ZnByavlPgabY2KBYCaccLSSZZVGsv2t5RmxMG2lAH3YTbPntqWD -2r4mee5YCvjdiq4T2/eaiivrnxVTXc4YrAPy7TD0jK/WfnaXqpfEJKV+KNzcIuqG -VE8VvwOBEer5yhfbWrjwPRqlyZYb0+2ZunpV4/qeYVRhdRZ5IhDp5lq1a7WdMrvo -EN5m1xpZb9dCv4C1snO5oQtd/g+hbPzemdKzrhPWf/OpfsAH8eSiJxsfbYGGtA/3 -K5o8e3bcXTqwnrdkX1MzCDpRd9/RkbVUuE56DCnRQMtHpMw7tG6iTZFrdQIDAQAB -o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUFgTPy2VDcHJGHoNbh14Qy8tp -smAwHwYDVR0jBBgwFoAUbCkbZak/uBmaD/x31pVVKvJLdOYwHQYDVR0lBBYwFAYI -KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEL -BQADggEBAFi05zEVT8RwHlHGrsNHPegXkrmOO3bEOJj3yW6+C2osnfspN+WnSjNW -tSs4Nz5ljDKXJs9HlBw10YuDZzNgNe2NhFEhhP4VSzFtbN+yJK0lzfJAxb9o2GLb -rdMFS3EKg/US0UlHxUSlpQgdJjWiLkLxBk15ilSVUVSn06ozhqvHX4EDdsHDYZqf -2aQMbp8xQArut67kSheqeZwXG9RJZVJX9FK75BIOsBplxI3kAib/Q0KHU3xLEH0Z -FKnIt56a5lTB+Z4uV1iONztmJc4cXHxV4Qw63KxGSOLW9cndNsNPdd8Gr+TcIf1z -FG1RHC2zFS4c+7S5tAEfgq4dID1fJZg= +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4gFgpHFFqPYwSj0Vlxm5AMjvcktt +zJLSbml4ff+pgPMdAO8ooQfQmMfwxtfrCndCKU5g1KcR0NCu7bYcn6hjAgXlDcCn +BzyWT8Nh0GjGpQbPq7YJLCJE9LeXfmmOzFE6Kw5Ky36MO2/aE9Xowzjo5VoBA3Xm +TQRh/ky7/ziel5MU/0LNx7oWaNAPWyt90VlJM10iSPQH/RkL9PMUbPXFaZAo8SSM +pcx3ukuYvAAuVwnOjOi1FDkpnO7yP3VbnJIJAG+JYPFPaKfH/SJquEqS/I29q/y8 +sWgjX/K8JY1hqNKR8br2SCUFpiyku68nx7VhP2LNYSvSKvgCRvQjbZDZ0wIDAQAB +o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUWmc/GBdgxFlMnZjAi7cvd4TI +IqYwHwYDVR0jBBgwFoAUvPcw0TzA8nn675/JbFyT84poq4MwHQYDVR0lBBYwFAYI +KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEF +BQADggEBAFTxx7utfMhsS21UZWxs99n596MpD99Mf5xJyym55BRxleCrGsITNLXZ +pmSh7GS0rwBFYD5mqFm9j7c1U29G5FwXQth2EoQm8NK86YUyffvTTXzCr25kxf1M +7le4vfwxV6o8qgNvnNvkxGJFSLpqemO5OERP/Ms9tP0JsIn4fsTNrAbAvQb6mWQy +sklt39FfrkCflc3ye7q3qsDg8OYPvwQ/tFI66RACTXEirSm+YXzSHsboUtoAzC/j +D2gD7cwZydoPo9GCutgUQAc3TlXpmkUlv+vLTBNUyCa3QQtoezolpWcz/RVjvl4F +pAltIn794G1M1alHwjDkNOTsy7ZhMpg= -----END CERTIFICATE-----
diff --git a/net/data/ssl/certificates/sha1_jan_2016.pem b/net/data/ssl/certificates/sha1_jan_2016.pem index efb9b016..318bb95 100644 --- a/net/data/ssl/certificates/sha1_jan_2016.pem +++ b/net/data/ssl/certificates/sha1_jan_2016.pem
@@ -2,7 +2,7 @@ Data: Version: 3 (0x2) Serial Number: 9 (0x9) - Signature Algorithm: sha256WithRSAEncryption + Signature Algorithm: sha1WithRSAEncryption Issuer: CN=Test Root CA Validity Not Before: Jan 1 00:00:00 2016 GMT @@ -12,71 +12,71 @@ Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: - 00:b6:93:55:29:0f:ea:d2:34:c0:71:6b:df:b4:f6: - 9f:12:72:65:e1:0c:ac:1a:7d:ab:3e:76:2e:64:5a: - 02:c7:bc:61:bd:1e:ed:f3:eb:30:76:bd:44:48:d0: - 15:fc:8b:f3:c5:bc:06:18:c2:8e:7b:99:a1:bc:f1: - 24:d4:17:05:39:51:bc:cc:1f:39:c7:0a:67:3b:76: - 8b:23:3f:9a:df:a9:21:70:71:17:40:c3:6f:b0:a2: - ea:7b:e3:64:94:08:cd:4b:66:a4:00:27:2f:af:8e: - ce:99:4c:c6:21:c6:4a:05:5e:08:17:41:3a:d4:31: - a0:bc:a0:0a:2e:a1:b2:ff:08:d9:11:a6:40:fc:f0: - 0f:3e:9c:31:de:32:4b:23:c2:b8:d4:a3:2c:81:84: - e7:64:c7:25:3b:e9:8e:aa:6c:7f:13:8a:66:35:2d: - a6:3c:07:95:7f:26:75:16:24:c0:92:6e:cf:f3:c3: - 19:f4:66:f9:23:4f:75:de:2f:a5:cd:1a:15:94:23: - 8c:68:bc:32:74:1d:21:fa:5f:c9:88:48:9a:08:c7: - 1e:9c:31:27:fb:8e:d7:01:72:6e:60:bb:b4:b6:f3: - d8:8b:6c:97:6c:ec:a0:42:b6:48:02:f1:f1:b7:15: - 0d:84:e5:96:64:9e:f4:59:a1:4f:df:cb:e6:58:51: - bf:d7 + 00:b4:51:9f:c1:5a:a6:f8:54:6a:4b:a0:76:fe:f8: + 71:3e:db:f5:fd:60:16:0a:f8:f5:3e:34:1f:1e:f2: + ba:46:36:2c:7b:10:a7:13:1e:8f:41:e6:d2:cd:53: + 9f:3a:99:76:e3:65:4a:c0:0e:e8:6e:08:cd:d0:b6: + dd:7c:d8:9e:5f:c2:52:c6:d5:b5:77:12:b0:1b:79: + d2:ac:27:7a:37:88:21:6b:22:ea:b6:eb:e6:89:15: + e4:f8:e6:46:65:91:37:a5:24:98:44:2b:7a:46:c3: + 37:5d:d6:14:b9:3a:14:b7:10:8e:49:ae:b3:74:37: + 9e:b4:e6:80:be:bc:9e:ad:86:cb:88:26:66:56:53: + 70:80:c5:50:95:1f:a5:d4:a4:b2:34:6e:87:ab:51: + 64:2f:57:8f:9d:99:67:a2:13:f7:c8:40:8a:65:ba: + cd:5e:20:f2:b7:16:20:f0:c6:83:c6:06:fc:a9:e1: + fd:45:40:77:46:f5:77:3a:27:12:c5:ed:96:36:75: + 77:59:c4:4c:9d:df:d9:fd:e8:9b:bb:15:68:22:58: + 1d:0e:25:71:40:88:e9:6d:cf:e1:b5:1b:de:fd:bb: + 61:b6:5b:52:04:c9:11:20:d7:2e:4f:eb:fa:04:42: + 30:fd:fc:64:4d:b9:23:4a:25:dc:0d:3a:40:64:6d: + 2c:91 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: - A6:36:4C:FB:11:3E:B2:79:D1:1F:94:96:A1:F0:14:03:01:BB:09:CE + 4A:09:4F:0D:9A:CF:60:FE:BA:18:68:EB:3D:6C:EB:6A:72:65:9A:12 X509v3 Authority Key Identifier: - keyid:6C:29:1B:65:A9:3F:B8:19:9A:0F:FC:77:D6:95:55:2A:F2:4B:74:E6 + keyid:BC:F7:30:D1:3C:C0:F2:79:FA:EF:9F:C9:6C:5C:93:F3:8A:68:AB:83 X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Subject Alternative Name: IP Address:127.0.0.1 - Signature Algorithm: sha256WithRSAEncryption - 6c:76:f5:b4:56:92:77:34:99:32:47:05:9b:23:93:8e:82:29: - d9:cd:7f:e8:81:65:19:4a:db:6c:c7:c3:ef:7d:47:43:30:24: - 58:8a:9b:63:b6:88:d5:c4:57:09:89:79:ce:ac:4a:e2:bf:e5: - 87:1e:5d:e5:99:37:b6:af:96:7b:0c:a4:6c:ff:1c:65:eb:36: - cd:5f:74:53:e9:28:ef:72:e1:9f:b6:b5:aa:0f:8f:60:91:f7: - 79:62:85:d1:b2:19:84:26:9d:ff:e0:20:4c:71:7d:72:12:10: - 7e:83:4e:e1:c5:6a:a7:d2:5c:c2:c4:ac:33:e1:02:c5:74:d3: - 79:57:cd:8b:89:a2:17:b2:9a:97:83:ce:8a:b3:ae:50:e4:99: - d7:af:96:d2:d8:57:72:d3:22:67:17:52:7d:f0:4d:d3:48:95: - 5a:ef:8a:d4:1d:43:bd:3b:65:49:5b:70:da:7f:2e:8a:aa:e0: - b5:ed:6d:8f:d0:1d:7a:cc:ee:c7:47:dc:66:de:cf:b0:19:07: - 3f:44:d6:ce:db:1d:b1:1a:3e:54:60:16:93:df:85:76:62:9d: - 0e:fa:27:1c:bd:6f:fe:20:9b:34:4a:b6:f8:f9:52:c4:bb:22: - 92:01:69:8e:5b:da:0f:b9:f6:63:89:3f:f2:58:bc:59:9e:3d: - 58:c6:fe:db + Signature Algorithm: sha1WithRSAEncryption + 1a:da:02:13:a7:42:44:32:f2:89:00:b2:8c:8e:7a:65:8a:0d: + d6:7c:bb:d7:04:bd:75:3a:ae:89:b6:df:38:ea:27:a5:94:03: + 8b:af:07:9d:3e:08:b7:12:62:1c:b6:8a:0a:c8:dd:ea:24:9a: + 19:00:1f:2f:f9:d8:73:d0:e5:58:11:1f:7c:60:09:62:ac:30: + 6c:6f:a7:42:1c:01:52:35:fa:c8:04:59:c9:de:49:ec:b1:eb: + 90:b6:64:4e:fc:58:aa:40:85:57:71:e1:27:64:04:fd:ff:35: + c2:d7:6d:52:1f:76:b9:35:a7:b4:d5:3b:dc:fe:ba:0d:84:1a: + 5b:38:9d:a1:a2:31:47:d3:85:ec:27:03:d8:a8:e1:b6:fc:09: + 95:a7:f4:54:e4:58:eb:68:47:61:0d:31:bf:8d:13:00:bb:0a: + db:2a:ac:16:a4:2f:8a:01:db:51:10:a1:45:47:88:3e:7e:d5: + bb:3b:e9:f9:07:50:6e:f3:2b:aa:67:04:4f:ac:b8:78:87:d0: + e0:fb:cb:0b:07:d0:7a:98:b4:aa:71:a6:2d:61:26:4a:ee:1c: + 92:59:f2:5c:15:00:10:f4:1b:38:97:ee:a4:b2:2a:bd:53:d7: + 2f:3e:32:e8:6a:4f:30:b1:bf:c6:22:27:52:74:e4:c5:23:fd: + 46:8d:fb:a9 -----BEGIN CERTIFICATE----- -MIIDczCCAlugAwIBAgIBCTANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDDAxUZXN0 +MIIDczCCAlugAwIBAgIBCTANBgkqhkiG9w0BAQUFADAXMRUwEwYDVQQDDAxUZXN0 IFJvb3QgQ0EwHhcNMTYwMTAxMDAwMDAwWhcNMTYxMjMwMDAwMDAwWjBgMQswCQYD VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g VmlldzEQMA4GA1UECgwHVGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtpNVKQ/q0jTAcWvftPafEnJl4Qys -Gn2rPnYuZFoCx7xhvR7t8+swdr1ESNAV/IvzxbwGGMKOe5mhvPEk1BcFOVG8zB85 -xwpnO3aLIz+a36khcHEXQMNvsKLqe+NklAjNS2akACcvr47OmUzGIcZKBV4IF0E6 -1DGgvKAKLqGy/wjZEaZA/PAPPpwx3jJLI8K41KMsgYTnZMclO+mOqmx/E4pmNS2m -PAeVfyZ1FiTAkm7P88MZ9Gb5I0913i+lzRoVlCOMaLwydB0h+l/JiEiaCMcenDEn -+47XAXJuYLu0tvPYi2yXbOygQrZIAvHxtxUNhOWWZJ70WaFP38vmWFG/1wIDAQAB -o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUpjZM+xE+snnRH5SWofAUAwG7 -Cc4wHwYDVR0jBBgwFoAUbCkbZak/uBmaD/x31pVVKvJLdOYwHQYDVR0lBBYwFAYI -KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEL -BQADggEBAGx29bRWknc0mTJHBZsjk46CKdnNf+iBZRlK22zHw+99R0MwJFiKm2O2 -iNXEVwmJec6sSuK/5YceXeWZN7avlnsMpGz/HGXrNs1fdFPpKO9y4Z+2taoPj2CR -93lihdGyGYQmnf/gIExxfXISEH6DTuHFaqfSXMLErDPhAsV003lXzYuJoheympeD -zoqzrlDkmdevltLYV3LTImcXUn3wTdNIlVrvitQdQ707ZUlbcNp/Loqq4LXtbY/Q -HXrM7sdH3Gbez7AZBz9E1s7bHbEaPlRgFpPfhXZinQ76Jxy9b/4gmzRKtvj5UsS7 -IpIBaY5b2g+59mOJP/JYvFmePVjG/ts= +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtFGfwVqm+FRqS6B2/vhxPtv1/WAW +Cvj1PjQfHvK6RjYsexCnEx6PQebSzVOfOpl242VKwA7obgjN0LbdfNieX8JSxtW1 +dxKwG3nSrCd6N4ghayLqtuvmiRXk+OZGZZE3pSSYRCt6RsM3XdYUuToUtxCOSa6z +dDeetOaAvryerYbLiCZmVlNwgMVQlR+l1KSyNG6Hq1FkL1ePnZlnohP3yECKZbrN +XiDytxYg8MaDxgb8qeH9RUB3RvV3OicSxe2WNnV3WcRMnd/Z/eibuxVoIlgdDiVx +QIjpbc/htRve/bthtltSBMkRINcuT+v6BEIw/fxkTbkjSiXcDTpAZG0skQIDAQAB +o4GAMH4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUSglPDZrPYP66GGjrPWzranJl +mhIwHwYDVR0jBBgwFoAUvPcw0TzA8nn675/JbFyT84poq4MwHQYDVR0lBBYwFAYI +KwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQEF +BQADggEBABraAhOnQkQy8okAsoyOemWKDdZ8u9cEvXU6rom23zjqJ6WUA4uvB50+ +CLcSYhy2igrI3eokmhkAHy/52HPQ5VgRH3xgCWKsMGxvp0IcAVI1+sgEWcneSeyx +65C2ZE78WKpAhVdx4SdkBP3/NcLXbVIfdrk1p7TVO9z+ug2EGls4naGiMUfThewn +A9io4bb8CZWn9FTkWOtoR2ENMb+NEwC7CtsqrBakL4oB21EQoUVHiD5+1bs76fkH +UG7zK6pnBE+suHiH0OD7ywsH0HqYtKpxpi1hJkruHJJZ8lwVABD0GziX7qSyKr1T +1y8+MuhqTzCxv8YiJ1J05MUj/UaN+6k= -----END CERTIFICATE-----
diff --git a/net/data/ssl/scripts/generate-test-certs.sh b/net/data/ssl/scripts/generate-test-certs.sh index e02c028..fb129b2 100755 --- a/net/data/ssl/scripts/generate-test-certs.sh +++ b/net/data/ssl/scripts/generate-test-certs.sh
@@ -222,7 +222,7 @@ -out ../certificates/large_key.pem ## SHA1 certificate expiring in 2016. -try openssl req -config ../scripts/ee.cnf -sha1 \ +try openssl req -config ../scripts/ee.cnf \ -newkey rsa:2048 -text -out out/sha1_2016.req CA_NAME="req_ca_dn" \ try openssl ca \ @@ -232,10 +232,11 @@ -enddate 161230000000Z \ -in out/sha1_2016.req \ -out ../certificates/sha1_2016.pem \ - -config ca.cnf + -config ca.cnf \ + -md sha1 ## SHA1 certificate issued the last second before the SHA-1 deprecation date. -try openssl req -config ../scripts/ee.cnf -sha1 \ +try openssl req -config ../scripts/ee.cnf \ -newkey rsa:2048 -text -out out/sha1_dec_2015.req CA_NAME="req_ca_dn" \ try openssl ca \ @@ -245,10 +246,11 @@ -enddate 161230000000Z \ -in out/sha1_dec_2015.req \ -out ../certificates/sha1_dec_2015.pem \ - -config ca.cnf + -config ca.cnf \ + -md sha1 ## SHA1 certificate issued on the SHA-1 deprecation date. -try openssl req -config ../scripts/ee.cnf -sha1 \ +try openssl req -config ../scripts/ee.cnf \ -newkey rsa:2048 -text -out out/sha1_jan_2016.req CA_NAME="req_ca_dn" \ try openssl ca \ @@ -258,7 +260,8 @@ -enddate 161230000000Z \ -in out/sha1_jan_2016.req \ -out ../certificates/sha1_jan_2016.pem \ - -config ca.cnf + -config ca.cnf \ + -md sha1 ## Validity too long unit test support. try openssl req -config ../scripts/ee.cnf \
diff --git a/net/nqe/network_quality_estimator.cc b/net/nqe/network_quality_estimator.cc index cd3dc1c..cc842818 100644 --- a/net/nqe/network_quality_estimator.cc +++ b/net/nqe/network_quality_estimator.cc
@@ -1101,7 +1101,7 @@ NetworkQualityEstimator::MetricUsage:: DO_NOT_USE /* transport_rtt_metric */, NetworkQualityEstimator::MetricUsage:: - MUST_BE_USED /* downstream_throughput_kbps_metric */, + USE_IF_AVAILABLE /* downstream_throughput_kbps_metric */, http_rtt, transport_rtt, downstream_throughput_kbps); } if (effective_connection_type_algorithm_ ==
diff --git a/net/spdy/fuzzing/hpack_fuzz_mutator.cc b/net/spdy/fuzzing/hpack_fuzz_mutator.cc deleted file mode 100644 index c0e76d2..0000000 --- a/net/spdy/fuzzing/hpack_fuzz_mutator.cc +++ /dev/null
@@ -1,80 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/command_line.h" -#include "base/files/file.h" -#include "base/files/file_util.h" -#include "base/strings/string_number_conversions.h" -#include "net/spdy/fuzzing/hpack_fuzz_util.h" - -namespace { - -// Specifies a file having HPACK header sets. -const char kFileToParse[] = "file-to-parse"; - -// Target file for mutated HPACK header sets. -const char kFileToWrite[] = "file-to-write"; - -// Number of bits to flip per 1,024 bytes of input. -const char kFlipsPerThousand[] = "flips-per-thousand-bytes"; - -} // namespace - -using base::StringPiece; -using net::HpackFuzzUtil; -using std::string; - -// Reads length-prefixed input blocks, applies a bit-flipping mutation to each -// block, and writes length-prefixed blocks to the output file. While blocks -// themselves are mutated, the length-prefixes of written blocks are not. -int main(int argc, char** argv) { - base::CommandLine::Init(argc, argv); - const base::CommandLine& command_line = - *base::CommandLine::ForCurrentProcess(); - - if (!command_line.HasSwitch(kFileToParse) || - !command_line.HasSwitch(kFileToWrite) || - !command_line.HasSwitch(kFlipsPerThousand)) { - LOG(ERROR) << "Usage: " << argv[0] - << " --" << kFileToParse << "=/path/to/file.in" - << " --" << kFileToWrite << "=/path/to/file.out" - << " --" << kFlipsPerThousand << "=10"; - return -1; - } - string file_to_parse = command_line.GetSwitchValueASCII(kFileToParse); - string file_to_write = command_line.GetSwitchValueASCII(kFileToWrite); - - int flip_ratio = 0; - CHECK(base::StringToInt(command_line.GetSwitchValueASCII(kFlipsPerThousand), - &flip_ratio)); - - DVLOG(1) << "Reading input from " << file_to_parse; - HpackFuzzUtil::Input input; - CHECK(base::ReadFileToString(base::FilePath::FromUTF8Unsafe(file_to_parse), - &input.input)); - - DVLOG(1) << "Writing output to " << file_to_write; - base::File file_out(base::FilePath::FromUTF8Unsafe(file_to_write), - base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE); - CHECK(file_out.IsValid()) << file_out.error_details(); - - DVLOG(1) << "Flipping " << flip_ratio << " bits per 1024 input bytes"; - - size_t block_count = 0; - StringPiece block; - while (HpackFuzzUtil::NextHeaderBlock(&input, &block)) { - HpackFuzzUtil::FlipBits( - reinterpret_cast<uint8_t*>(const_cast<char*>(block.data())), - block.size(), flip_ratio); - - string prefix = HpackFuzzUtil::HeaderBlockPrefix(block.size()); - - CHECK_LT(0, file_out.WriteAtCurrentPos(prefix.data(), prefix.size())); - CHECK_LT(0, file_out.WriteAtCurrentPos(block.data(), block.size())); - ++block_count; - } - CHECK(file_out.Flush()); - DVLOG(1) << "Mutated " << block_count << " blocks."; - return 0; -}
diff --git a/net/spdy/fuzzing/hpack_fuzz_wrapper.cc b/net/spdy/fuzzing/hpack_fuzz_wrapper.cc deleted file mode 100644 index f816b1e..0000000 --- a/net/spdy/fuzzing/hpack_fuzz_wrapper.cc +++ /dev/null
@@ -1,59 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/at_exit.h" -#include "base/command_line.h" -#include "base/files/file_util.h" -#include "net/spdy/fuzzing/hpack_fuzz_util.h" - -namespace { - -// Specifies a file having HPACK header sets. -const char kFileToParse[] = "file-to-parse"; - -} // namespace - -using base::StringPiece; -using net::HpackFuzzUtil; -using std::string; - -// Sequentially runs each given length-prefixed header block through -// decoding and encoding fuzzing stages (using HpackFuzzUtil). -int main(int argc, char** argv) { - base::AtExitManager exit_manager; - - base::CommandLine::Init(argc, argv); - const base::CommandLine& command_line = - *base::CommandLine::ForCurrentProcess(); - - if (!command_line.HasSwitch(kFileToParse)) { - LOG(ERROR) << "Usage: " << argv[0] - << " --" << kFileToParse << "=/path/to/file.in"; - return -1; - } - string file_to_parse = command_line.GetSwitchValueASCII(kFileToParse); - - // ClusterFuzz may invoke as --file-to-parse="". Don't crash in this case. - if (file_to_parse.empty()) { - LOG(WARNING) << "Empty file to parse given. Doing nothing."; - return 0; - } - - DVLOG(1) << "Reading input from " << file_to_parse; - HpackFuzzUtil::Input input; - CHECK(base::ReadFileToString(base::FilePath::FromUTF8Unsafe(file_to_parse), - &input.input)); - - HpackFuzzUtil::FuzzerContext context; - HpackFuzzUtil::InitializeFuzzerContext(&context); - - size_t block_count = 0; - StringPiece block; - while (HpackFuzzUtil::NextHeaderBlock(&input, &block)) { - HpackFuzzUtil::RunHeaderBlockThroughFuzzerStages(&context, block); - ++block_count; - } - DVLOG(1) << "Fuzzed " << block_count << " blocks."; - return 0; -}
diff --git a/net/spdy/hpack/hpack_header_table.cc b/net/spdy/hpack/hpack_header_table.cc index d6fc7d2..274e872 100644 --- a/net/spdy/hpack/hpack_header_table.cc +++ b/net/spdy/hpack/hpack_header_table.cc
@@ -127,13 +127,7 @@ void HpackHeaderTable::SetSettingsHeaderTableSize(size_t settings_size) { settings_size_bound_ = settings_size; - if (!FLAGS_chromium_reloadable_flag_increase_hpack_table_size) { - if (settings_size_bound_ < max_size_) { - SetMaxSize(settings_size_bound_); - } - } else { - SetMaxSize(settings_size_bound_); - } + SetMaxSize(settings_size_bound_); } void HpackHeaderTable::EvictionSet(StringPiece name,
diff --git a/net/spdy/hpack/hpack_header_table_test.cc b/net/spdy/hpack/hpack_header_table_test.cc index 3a47036..410e82f 100644 --- a/net/spdy/hpack/hpack_header_table_test.cc +++ b/net/spdy/hpack/hpack_header_table_test.cc
@@ -259,7 +259,6 @@ } TEST_F(HpackHeaderTableTest, SetSizes) { - FLAGS_chromium_reloadable_flag_increase_hpack_table_size = true; string key = "key", value = "value"; const HpackEntry* entry1 = table_.TryAddEntry(key, value); const HpackEntry* entry2 = table_.TryAddEntry(key, value); @@ -291,42 +290,6 @@ EXPECT_EQ(0u, peer_.dynamic_entries().size()); } -TEST_F(HpackHeaderTableTest, SetSizesOld) { - FLAGS_chromium_reloadable_flag_increase_hpack_table_size = false; - - string key = "key", value = "value"; - const HpackEntry* entry1 = table_.TryAddEntry(key, value); - const HpackEntry* entry2 = table_.TryAddEntry(key, value); - const HpackEntry* entry3 = table_.TryAddEntry(key, value); - - // Set exactly large enough. No Evictions. - size_t max_size = entry1->Size() + entry2->Size() + entry3->Size(); - table_.SetMaxSize(max_size); - EXPECT_EQ(3u, peer_.dynamic_entries().size()); - - // Set just too small. One eviction. - max_size = entry1->Size() + entry2->Size() + entry3->Size() - 1; - table_.SetMaxSize(max_size); - EXPECT_EQ(2u, peer_.dynamic_entries().size()); - - // Changing SETTINGS_HEADER_TABLE_SIZE doesn't affect table_.max_size(), - // iff SETTINGS_HEADER_TABLE_SIZE >= |max_size|. - EXPECT_EQ(kDefaultHeaderTableSizeSetting, table_.settings_size_bound()); - table_.SetSettingsHeaderTableSize(kDefaultHeaderTableSizeSetting * 2); - EXPECT_EQ(max_size, table_.max_size()); - table_.SetSettingsHeaderTableSize(max_size + 1); - EXPECT_EQ(max_size, table_.max_size()); - EXPECT_EQ(2u, peer_.dynamic_entries().size()); - - // SETTINGS_HEADER_TABLE_SIZE upper-bounds |table_.max_size()|, - // and will force evictions. - max_size = entry3->Size() - 1; - table_.SetSettingsHeaderTableSize(max_size); - EXPECT_EQ(max_size, table_.max_size()); - EXPECT_EQ(max_size, table_.settings_size_bound()); - EXPECT_EQ(0u, peer_.dynamic_entries().size()); -} - TEST_F(HpackHeaderTableTest, EvictionCountForEntry) { string key = "key", value = "value"; const HpackEntry* entry1 = table_.TryAddEntry(key, value);
diff --git a/net/spdy/spdy_flags.cc b/net/spdy/spdy_flags.cc index b897520..4ff63c5 100644 --- a/net/spdy/spdy_flags.cc +++ b/net/spdy/spdy_flags.cc
@@ -18,10 +18,6 @@ // Use //net/http2/hpack/decoder as complete HPACK decoder. bool FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3 = true; -// If true, increase HPACK table size up to optimal size kOptTableSize if -// clients allow it. -bool FLAGS_chromium_reloadable_flag_increase_hpack_table_size = false; - // Use Http2FrameDecoderAdapter. // TODO(jamessynge): Remove flag once no longer set by scripts. bool FLAGS_chromium_http2_flag_spdy_use_http2_frame_decoder_adapter = false;
diff --git a/net/spdy/spdy_flags.h b/net/spdy/spdy_flags.h index a38fdac3a..a660235b 100644 --- a/net/spdy/spdy_flags.h +++ b/net/spdy/spdy_flags.h
@@ -15,8 +15,6 @@ FLAGS_chromium_http2_flag_spdy_use_hpack_decoder2; NET_EXPORT_PRIVATE extern bool FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3; -NET_EXPORT_PRIVATE extern bool - FLAGS_chromium_reloadable_flag_increase_hpack_table_size; NET_EXPORT_PRIVATE extern bool FLAGS_use_http2_frame_decoder_adapter; NET_EXPORT_PRIVATE extern bool FLAGS_use_nested_spdy_framer_decoder; NET_EXPORT_PRIVATE extern bool
diff --git a/net/url_request/test_url_fetcher_factory.cc b/net/url_request/test_url_fetcher_factory.cc index 424ff93..ac31b33e 100644 --- a/net/url_request/test_url_fetcher_factory.cc +++ b/net/url_request/test_url_fetcher_factory.cc
@@ -14,8 +14,8 @@ #include "base/logging.h" #include "base/memory/weak_ptr.h" #include "base/single_thread_task_runner.h" +#include "base/threading/sequenced_task_runner_handle.h" #include "base/threading/thread_restrictions.h" -#include "base/threading/thread_task_runner_handle.h" #include "net/base/host_port_pair.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" @@ -389,7 +389,7 @@ void FakeURLFetcher::Start() { TestURLFetcher::Start(); - base::ThreadTaskRunnerHandle::Get()->PostTask( + base::SequencedTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::Bind(&FakeURLFetcher::RunDelegate, weak_factory_.GetWeakPtr())); }
diff --git a/remoting/resources/remoting_strings_bn.xtb b/remoting/resources/remoting_strings_bn.xtb index ec8339e..998b1d76 100644 --- a/remoting/resources/remoting_strings_bn.xtb +++ b/remoting/resources/remoting_strings_bn.xtb
@@ -107,7 +107,7 @@ <translation id="3423542133075182604">নিরাপত্তা কী দূরবর্তীকরণ প্রক্রিয়া</translation> <translation id="3581045510967524389">নেটওয়ার্কের সাথে সংযুক্ত করা যায়নি৷ দয়া করে আপনার ডিভাইসটি অন-লাইন আছে কিনা পরীক্ষা করুন৷</translation> <translation id="3596628256176442606">এই পরিষেবাটি Chromoting থেকে আগত সংযোগুলি সক্ষম করে৷</translation> -<translation id="3606997049964069799">আপনি Chromium এ প্রবেশ করুন করা অবস্থায় নেই৷ অনুগ্রহ করে প্রবেশ করুন এবং আবার চেষ্টা করুন৷</translation> +<translation id="3606997049964069799">আপনি Chromium এ প্রবেশ করা অবস্থায় নেই৷ অনুগ্রহ করে প্রবেশ করুন এবং আবার চেষ্টা করুন৷</translation> <translation id="3649256019230929621">উইন্ডো সংক্ষিপ্তায়ন করুন</translation> <translation id="369442766917958684">অফলাইন।</translation> <translation id="3695446226812920698">কীভাবে করবেন তা জানুন</translation> @@ -154,7 +154,7 @@ <translation id="4703302905453407178">একটি প্রয়োজনীয় উপাদান কাজ করা বন্ধ করেছে। দয়া করে বিকাশকারীদের কাছে এই সমস্যার প্রতিবেদন পাঠান।</translation> <translation id="4703799847237267011">আপনার Chromoting অধিবেশন শেষ হয়েছে৷</translation> <translation id="4736223761657662401">সংযোগ ইতিহাস</translation> -<translation id="4741792197137897469">প্রমাণীকরণ ব্যর্থ হয়েছে৷ অনুগ্রহ করে আবার Chrome-এ প্রবেশ করুন করুন৷</translation> +<translation id="4741792197137897469">প্রমাণীকরণ ব্যর্থ হয়েছে৷ অনুগ্রহ করে আবার Chrome-এ প্রবেশ করুন৷</translation> <translation id="477305884757156764">অ্যাপ্লিকেশানটি অত্যন্ত ধীরে চলছে।</translation> <translation id="4795786176190567663">এই অ্যাকশন সঞ্চলনা করার মতো অধিকার আপনার নেই।</translation> <translation id="4804818685124855865">সংযোগ বিচ্ছিন্ন</translation> @@ -206,7 +206,7 @@ <translation id="6193698048504518729"><ph name="HOSTNAME" />এ সংযোগ করুন</translation> <translation id="6198252989419008588">পিন পরিবর্তন করুন</translation> <translation id="6204583485351780592"><ph name="HOSTNAME" /> (পুরানো)</translation> -<translation id="6221358653751391898">আপনি Chrome-এ প্রবেশ করুন করা অবস্থায় নেই৷ অনুগ্রহ করে প্রবেশ করুন এবং আবার চেষ্টা করুন৷</translation> +<translation id="6221358653751391898">আপনি Chrome-এ প্রবেশ করা অবস্থায় নেই৷ অনুগ্রহ করে প্রবেশ করুন এবং আবার চেষ্টা করুন৷</translation> <translation id="6284412385303060032">ব্যবহারকারী নির্দিষ্ট একটি অধিবেশনে চলমান একটি হোস্টে স্যুইচ করার মাধ্যমে কার্টেন মোডকে সমর্থন করার জন্য কনসোল লজিক স্ক্রিনে চলমান হোস্টকে শাটডাউন করা হয়েছে।</translation> <translation id="629730747756840877">অ্যাকাউন্ট</translation> <translation id="6304318647555713317">ক্লায়েন্ট</translation> @@ -261,7 +261,7 @@ <translation id="7869445566579231750">এই অ্যাপ্লিকেশান চালানোর মতো অনুমতি আপনার নেই।</translation> <translation id="7895403300744144251">দূরবর্তী কম্পিউটারের নিরাপত্তা নীতিগুলি আপনার অ্যাকাউন্ট থেকে সংযোগ স্থাপন করার মঞ্জুরি দেয় না।</translation> <translation id="7948001860594368197">স্ক্রীন বিকল্পগুলি</translation> -<translation id="7970576581263377361">প্রমাণীকরণ ব্যর্থ হয়েছে৷ অনুগ্রহ করে আবার Chromium এ প্রবেশ করুন করুন৷</translation> +<translation id="7970576581263377361">প্রমাণীকরণ ব্যর্থ হয়েছে৷ অনুগ্রহ করে আবার Chromium এ প্রবেশ করুন৷</translation> <translation id="7981525049612125370">দূরবর্তী অধিবেশনের মেয়াদ শেষ হয়ে গেছে।</translation> <translation id="8041089156583427627">প্রতিক্রিয়া পাঠান</translation> <translation id="8041721485428375115">Chrome দূরবর্তী ডেস্কটপ হোস্ট ইনস্টলার ডাউনলোড করার মাধ্যমে আপনি Google <ph name="LINK_BEGIN" />পরিষেবার শর্তাবলি<ph name="LINK_END" /> স্বীকার করছেন।</translation>
diff --git a/remoting/resources/remoting_strings_hi.xtb b/remoting/resources/remoting_strings_hi.xtb index 16b9bb0..217fa3e 100644 --- a/remoting/resources/remoting_strings_hi.xtb +++ b/remoting/resources/remoting_strings_hi.xtb
@@ -21,7 +21,7 @@ <translation id="1480046233931937785">क्रेडिट</translation> <translation id="1520828917794284345">डेस्कटॉप को सटीक आकार में बदलें</translation> <translation id="154040539590487450">दूरस्थ पहुंच सेवा प्रारंभ करने में विफल.</translation> -<translation id="1546934824884762070">एक अनपेक्षित त्रुटि आई. कृपया इस समस्या की रिपोर्ट डेवलपर से करें.</translation> +<translation id="1546934824884762070">एक अनपेक्षित गड़बड़ी आई. कृपया इस समस्या की रिपोर्ट डेवलपर से करें.</translation> <translation id="1619813076098775562">कास्ट डिवाइस से कनेक्शन बंद किया गया.</translation> <translation id="1643640058022401035">यह पेज छोड़ देने से आपका Chromoting सत्र समाप्त हो जाएगा.</translation> <translation id="1654128982815600832">इस कंप्यूटर के लिए दूरस्थ कनेक्शन सक्षम किए जा रहे हैं…</translation> @@ -79,7 +79,7 @@ <translation id="2841013758207633010">समय</translation> <translation id="2851754573186462851">क्रोमियम ऐप स्ट्रीमिंग</translation> <translation id="2855866366045322178">ऑफ़लाइन</translation> -<translation id="2888969873284818612">नेटवर्क त्रुटि हुई. आपके डिवाइस के फिर से ऑन-लाइन होने पर हम ऐप को पुनः प्रारंभ करेंगे.</translation> +<translation id="2888969873284818612">नेटवर्क गड़बड़ी हुई. आपके डिवाइस के फिर से ऑन-लाइन होने पर हम ऐप को पुनः प्रारंभ करेंगे.</translation> <translation id="2894654864775534701">यह कंप्यूटर वर्तमान में किसी भिन्न खाते के अंतर्गत साझा किया गया है.</translation> <translation id="2919669478609886916">आप वर्तमान में किसी अन्य उपयोगकर्ता के साथ इस मशीन को साझा कर रहे हैं. क्या आप साझाकरण जारी रखना चाहते हैं?</translation> <translation id="2921543551052660690">आपने पूर्व में <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) के रूप में प्रवेश किया था. उस खाते में अपने कंप्यूटर एक्सेस करने के लिए, उस खाते से <ph name="LINK_BEGIN" />क्रोमियम में प्रवेश करें<ph name="LINK_END" /> और Chromoting को पुन: इंस्टॉल करें.</translation> @@ -235,7 +235,7 @@ <translation id="6965382102122355670">ठीक</translation> <translation id="6985691951107243942">क्या आप वाकई <ph name="HOSTNAME" /> से दूरस्थ कनेक्शन अक्षम करना चाहते हैं? यदि आप अपना विचार बदलते हैं, तो आपको कनेक्शन को पुन: सक्षम करने के लिए उस कंप्यूटर पर जाना होगा.</translation> <translation id="6998989275928107238">To</translation> -<translation id="7019153418965365059">अपरिचित होस्ट त्रुटि: <ph name="HOST_OFFLINE_REASON" />.</translation> +<translation id="7019153418965365059">अपरिचित होस्ट गड़बड़ी: <ph name="HOST_OFFLINE_REASON" />.</translation> <translation id="701976023053394610">दूरस्थ सहायता</translation> <translation id="7038683108611689168">हमें उपयोग के आंकड़े और क्रैश रिपोर्ट एकत्रित करने की अनुमति देकर Chromoting को सुधारने में हमारी सहायता करें.</translation> <translation id="712467900648340229">कास्ट डिवाइस से कनेक्ट करने में विफल रहा.</translation> @@ -268,7 +268,7 @@ <translation id="80739703311984697">दूरस्थ होस्ट के लिए आवश्यक है कि आप किसी तृतीय-पक्ष वेबसाइट को प्रमाणीकृत करें. जारी रखने के लिए, आपको Chromoting को इस पते को एक्सेस करने के लिए अतिरिक्त अनुमतियां देनी होंगी:</translation> <translation id="809687642899217504">मेरे कंप्यूटर</translation> <translation id="811307782653349804">अपने कंप्यूटर पर कहीं से भी पहुंचें.</translation> -<translation id="8116630183974937060">नेटवर्क त्रुटि हुई. कृपया जांचें कि आपका डिवाइस ऑन-लाइन है और फिर पुन: प्रयास करें.</translation> +<translation id="8116630183974937060">नेटवर्क गड़बड़ी हुई. कृपया जांचें कि आपका डिवाइस ऑन-लाइन है और फिर पुन: प्रयास करें.</translation> <translation id="8178433417677596899">उपयोगकर्ता-से-उपयोगकर्ता स्क्रीन साझाकरण, दूरस्थ तकनीकी सहायता के लिए उपयुक्त.</translation> <translation id="8187079423890319756">कॉपीराइट 2013 The Chromium Authors. सर्वाधिकार सुरक्षित.</translation> <translation id="8196755618196986400">हमें अतिरिक्त जानकारी हेतु आपसे संपर्क करने देने के लिए, आपके द्वारा सबमिट किए जाने वाले किसी भी फ़ीडबैक में आपका ईमेल पता शामिल किया जाएगा.</translation>
diff --git a/services/video_capture/public/interfaces/receiver.mojom b/services/video_capture/public/interfaces/receiver.mojom index a11b11f..287c0579 100644 --- a/services/video_capture/public/interfaces/receiver.mojom +++ b/services/video_capture/public/interfaces/receiver.mojom
@@ -12,5 +12,6 @@ OnIncomingCapturedVideoFrame(media.mojom.VideoFrame frame); OnError(); OnLog(string message); + OnStarted(); OnBufferDestroyed(int32 buffer_id_to_drop); };
diff --git a/services/video_capture/receiver_mojo_to_media_adapter.cc b/services/video_capture/receiver_mojo_to_media_adapter.cc index 411f373..a83a1d1 100644 --- a/services/video_capture/receiver_mojo_to_media_adapter.cc +++ b/services/video_capture/receiver_mojo_to_media_adapter.cc
@@ -37,6 +37,10 @@ receiver_->OnLog(message); } +void ReceiverMojoToMediaAdapter::OnStarted() { + receiver_->OnStarted(); +} + void ReceiverMojoToMediaAdapter::OnBufferRetired(int buffer_id) { NOTIMPLEMENTED(); }
diff --git a/services/video_capture/receiver_mojo_to_media_adapter.h b/services/video_capture/receiver_mojo_to_media_adapter.h index ae950ea..5ed9b9e 100644 --- a/services/video_capture/receiver_mojo_to_media_adapter.h +++ b/services/video_capture/receiver_mojo_to_media_adapter.h
@@ -32,6 +32,7 @@ void OnBufferRetired(int buffer_id) override; void OnError() override; void OnLog(const std::string& message) override; + void OnStarted() override; private: mojom::ReceiverPtr receiver_;
diff --git a/services/video_capture/test/mock_receiver.h b/services/video_capture/test/mock_receiver.h index 8a85dc9..5e8a1656 100644 --- a/services/video_capture/test/mock_receiver.h +++ b/services/video_capture/test/mock_receiver.h
@@ -24,6 +24,7 @@ void(const media::mojom::VideoFramePtr* frame)); MOCK_METHOD0(OnError, void()); MOCK_METHOD1(OnLog, void(const std::string&)); + MOCK_METHOD0(OnStarted, void()); MOCK_METHOD1(OnBufferDestroyed, void(int32_t)); private:
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index 4a53bdd2..35f1f01 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -134,6 +134,8 @@ crbug.com/664852 virtual/gpu/fast/canvas/canvas-lost-gpu-context.html [ Pass Failure ] crbug.com/664852 virtual/gpu/fast/canvas/OffscreenCanvas-2d-drawImage.html [ Pass Failure ] +crbug.com/671048 virtual/color_space/fast/canvas/color-space/display_linear-rgb.html [ Failure ] + # Added 2016-12-14 crbug.com/674396 [ Win ] compositing/reflections/nested-reflection-transition.html [ Pass Failure ] @@ -148,6 +150,10 @@ crbug.com/693510 compositing/reflections/nested-reflection-anchor-point.html [ Failure Pass ] crbug.com/693510 compositing/reflections/nested-reflection-animated.html [ Failure Pass ] +crbug.com/696724 fast/canvas/canvas-large-pattern.html [ Failure ] +crbug.com/696724 virtual/display_list_2d_canvas/fast/canvas/canvas-large-pattern.html [ Failure ] +crbug.com/696724 virtual/gpu/fast/canvas/canvas-large-pattern.html [ Failure ] + # ====== Paint team owned tests to here ====== # ====== LayoutNG-only failures from here ====== @@ -764,16 +770,9 @@ crbug.com/563265 editing/spelling/spellcheck-editable-on-focus-multiframe.html [ Skip ] crbug.com/563265 editing/spelling/spellcheck-editable-on-focus-sync.html [ Skip ] -crbug.com/657946 [ Mac ] virtual/color_space/fast/canvas/color-space/display_linear-rgb.html [ Failure ] -crbug.com/671048 [ Linux Win ] virtual/color_space/fast/canvas/color-space/display_linear-rgb.html [ Failure ] - crbug.com/538697 [ Win7 Debug ] virtual/threaded/printing/webgl-oversized-printing.html [ Failure Crash ] crbug.com/538697 [ Win7 Debug ] printing/webgl-oversized-printing.html [ Failure Crash ] -crbug.com/281504 fast/canvas/canvas-large-pattern.html [ Failure ] -crbug.com/281504 virtual/display_list_2d_canvas/fast/canvas/canvas-large-pattern.html [ Failure ] -crbug.com/281504 virtual/gpu/fast/canvas/canvas-large-pattern.html [ Failure ] - crbug.com/417782 [ Linux Win ] virtual/rootlayerscrolls/fast/scrolling/fractional-scroll-offset-fixed-position-non-composited.html [ Failure ] crbug.com/492664 [ Linux ] external/csswg-test/css-writing-modes-3/box-offsets-rel-pos-vlr-005.xht [ Failure ] crbug.com/492664 [ Linux ] external/csswg-test/css-writing-modes-3/box-offsets-rel-pos-vrl-004.xht [ Failure ] @@ -840,23 +839,6 @@ crbug.com/567965 [ Debug ] external/wpt/user-timing/test_user_timing_mark.html [ Skip ] crbug.com/518993 external/wpt/user-timing/test_user_timing_measure_navigation_timing.html [ Skip ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-collapse-to-separate.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown.html [ NeedsRebaseline ] -crbug.com/676748 virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell.html [ NeedsRebaseline ] -crbug.com/696398 virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ NeedsRebaseline ] - crbug.com/636053 [ Mac Win ] printing/thead-repeats-at-top-of-each-page-multiple-tables.html [ NeedsManualRebaseline ] crbug.com/636053 [ Mac Win ] virtual/threaded/printing/thead-repeats-at-top-of-each-page-multiple-tables.html [ NeedsManualRebaseline ] @@ -2373,6 +2355,17 @@ crbug.com/508734 external/wpt/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_3.html [ Failure ] crbug.com/508734 external/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects.html [ Pass Failure Timeout ] +crbug.com/686159 crypto/subtle/hkdf/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/aes-kw/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/aes-ctr/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/pbkdf2/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/aes-cbc/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/hmac/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/aes-gcm/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/rsassa-pkcs1-v1_5/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/ecdsa/cloneKey.html [ NeedsManualRebaseline ] +crbug.com/686159 crypto/subtle/ecdh/cloneKey.html [ NeedsManualRebaseline ] + # Fail differently when run with --enable-wptserve: (crbug.com/508728) crbug.com/508728 crbug.com/664268 external/wpt/html/browsers/history/the-location-interface/reload_post_1.html [ Failure Timeout ] crbug.com/508728 external/wpt/webstorage/document-domain.html [ Failure Timeout ]
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/build-css-testsuites.sh b/third_party/WebKit/LayoutTests/external/csswg-test/build-css-testsuites.sh new file mode 100755 index 0000000..c3ec06f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/csswg-test/build-css-testsuites.sh
@@ -0,0 +1,49 @@ +#!/usr/bin/env sh +set -ex + +cd "`dirname $0`" + +if [ -z $VENV ]; then + VENV=tools/_virtualenv +fi + +# Create the virtualenv +if [ ! -d $VENV ]; then + if [ -z $PYTHON ]; then + command -v python + if [ $? -eq 0 ]; then + if [ `python -c 'import sys; print(sys.version[0:3])'` == "2.7" ]; then + PYTHON=python + fi + fi + fi + + if [ -z $PYTHON ]; then + command -v python2 + if [ $? -eq 0 ]; then + PYTHON=python2 + fi + fi + + if [ -z $PYTHON ]; then + echo "Please ensure Python 2.7 is installed" + exit 1 + fi + + $PYTHON -m virtualenv $VENV || { echo "Please ensure virtualenv is installed"; exit 2; } +fi + +# Install dependencies +$VENV/bin/pip install -r requirements.txt + +# Fetch hg submodules if they're not there +if [ ! -d tools/apiclient ]; then + $VENV/bin/hg clone https://hg.csswg.org/dev/apiclient tools/apiclient +fi + +if [ ! -d tools/w3ctestlib ]; then + $VENV/bin/hg clone https://hg.csswg.org/dev/w3ctestlib tools/w3ctestlib +fi + +# Run the build script +$VENV/bin/python tools/build.py "$@"
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001-expected.html index a358c1d..11b7250 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001-expected.html +++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001-expected.html
@@ -1,26 +1,29 @@ <!DOCTYPE html> -<title>CSS Rhythmic Sizing: line-height-step and ruby</title> +<title>CSS Rhythmic Sizing: line-height-step in vertical-rl</title> <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com"> <style> -div { +.container { font-family: Ahem; font-size: 40px; + writing-mode: vertical-rl; + width: 5em; } .test, .ref { display: inline-block; vertical-align: top; - width: 5em; } .ref { line-height: 120px; } </style> <body> -<p class="instructions">Test passes if left and right are the same. -<div class="ref"> - <div>X<ruby>XX<rt>XX</rt></ruby>X</div> +<p class="instructions">Test passes if top and bottom are the same. +<div class="container"> + <div class="ref"> + <div>XXXXX</div> + </div> + <div class="ref"> + <div>XXXXX</div> + </div> </div> -<div class="ref"> - <div>X<ruby>XX<rt>XX</rt></ruby>X</div> -</div> -</body> +</body> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001.html index 4d07493..d74ceab 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001.html +++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-001.html
@@ -2,7 +2,7 @@ <title>CSS Rhythmic Sizing: line-height-step in vertical-rl</title> <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com"> <link rel="help" href="https://drafts.csswg.org/css-rhythm-1/#line-height-step"> -<link rel="match" href="reference/line-height-step-ruby-001.html"> +<link rel="match" href="reference/line-height-step-writing-mode-vrl-001.html"> <meta name="assert" content="This test asserts the line-height-step property in vertical-rl writing mode."> <meta name="flags" content="ahem"> <style> @@ -34,4 +34,4 @@ <div>XXXXX</div> </div> </div> -</body> \ No newline at end of file +</body>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001-expected.html index a358c1d..bcf4951 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001-expected.html +++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001-expected.html
@@ -1,26 +1,29 @@ <!DOCTYPE html> -<title>CSS Rhythmic Sizing: line-height-step and ruby</title> +<title>CSS Rhythmic Sizing: line-height-step with ruby in vertical-rl</title> <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com"> <style> -div { +.container { font-family: Ahem; font-size: 40px; + writing-mode: vertical-rl; + width: 5em; } .test, .ref { display: inline-block; vertical-align: top; - width: 5em; } .ref { line-height: 120px; } </style> <body> -<p class="instructions">Test passes if left and right are the same. -<div class="ref"> - <div>X<ruby>XX<rt>XX</rt></ruby>X</div> +<p class="instructions">Test passes if top and bottom are the same. +<div class="container"> + <div class="ref"> + <div>X<ruby>XX<rt>XX</rt></ruby>X</div> + </div> + <div class="ref"> + <div>X<ruby>XX<rt>XX</rt></ruby>X</div> + </div> </div> -<div class="ref"> - <div>X<ruby>XX<rt>XX</rt></ruby>X</div> -</div> -</body> +</body> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001.html b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001.html index 1c633339..a071d0d4 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001.html +++ b/third_party/WebKit/LayoutTests/external/csswg-test/css-rhythm-1/line-height-step-writing-mode-vrl-ruby-001.html
@@ -2,7 +2,7 @@ <title>CSS Rhythmic Sizing: line-height-step with ruby in vertical-rl</title> <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com"> <link rel="help" href="https://drafts.csswg.org/css-rhythm-1/#line-height-step"> -<link rel="match" href="reference/line-height-step-ruby-001.html"> +<link rel="match" href="reference/line-height-step-writing-mode-vrl-ruby-001.html"> <meta name="assert" content="This test asserts the line-height-step property with ruby in vertical-rl writing mode."> <meta name="flags" content="ahem"> <style> @@ -34,4 +34,4 @@ <div>X<ruby>XX<rt>XX</rt></ruby>X</div> </div> </div> -</body> \ No newline at end of file +</body>
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/lint.whitelist b/third_party/WebKit/LayoutTests/external/csswg-test/lint.whitelist index 1cb25968..e4c98c51 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/lint.whitelist +++ b/third_party/WebKit/LayoutTests/external/csswg-test/lint.whitelist
@@ -81,6 +81,7 @@ SUPPORT-WRONG-DIR: */LICENSE-* SUPPORT-WRONG-DIR: */COPYING SUPPORT-WRONG-DIR: */Makefile +SUPPORT-WRONG-DIR: */OWNERS # The selectors-3 testsuite has a weird build system SUPPORT-WRONG-DIR: selectors-3/*
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/requirements.txt b/third_party/WebKit/LayoutTests/external/csswg-test/requirements.txt new file mode 100644 index 0000000..9267157 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/csswg-test/requirements.txt
@@ -0,0 +1,5 @@ +six==1.10.0 +Template-Python==0.1.post1 +html5lib==0.9999999 +lxml==3.7.3 +mercurial==4.1
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001-expected.html b/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001-expected.html index c64050c..f556ca5 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001-expected.html +++ b/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001-expected.html
@@ -43,6 +43,8 @@ padding: 10px; font-size: 15px; background-color: grey; + width: 80px; + height: 80px; }
diff --git a/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001.html b/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001.html index 25140f1..3d6f19c 100644 --- a/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001.html +++ b/third_party/WebKit/LayoutTests/external/csswg-test/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/logical-physical-mapping-001.html
@@ -58,6 +58,8 @@ padding: 10px; font-size: 15px; background-color: grey; + width: 80px; + height: 80px; }
diff --git a/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html index ec04abc..981f81c 100644 --- a/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html +++ b/third_party/WebKit/LayoutTests/fast/css/invalidation/independent-inheritance-fast-path.html
@@ -24,6 +24,7 @@ ["webkitPrintColorAdjust", ["economy", "exact"]], ["textTransform", ["capitalize", "uppercase", "lowercase", "none"]], ["webkitRtlOrdering", ["logical", "visual"]], + ["textAlign", ["start", "left"]], ]; independent_properties.forEach(function(test_data) @@ -82,6 +83,17 @@ assert_equals(getComputedStyle(innermost)[propertyName], value1); outer.offsetTop; // Force recalc. + // Setting inner to value2 and outer to value1 should not propagate value1 to inner. + inner.style[propertyName] = value2; + outer.offsetTop; // Force recalc. + outer.style[propertyName] = value1; + assert_equals(internals.updateStyleAndReturnAffectedElementCount(), 1, "Only outer should be recalced (2 without fast path)"); + + assert_equals(getComputedStyle(outer)[propertyName], value1); + assert_equals(getComputedStyle(inner)[propertyName], value2); + assert_equals(getComputedStyle(innermost)[propertyName], value2); + outer.offsetTop; // Force recalc. + // Clear for next test. outer.remove(); }, "Changing " + propertyName + ", an independent inherited property, propagates correctly with a single style recalc.");
diff --git a/third_party/WebKit/LayoutTests/html/text-level-semantics/a-click.html b/third_party/WebKit/LayoutTests/html/text-level-semantics/a-click.html index e829228..888ec26 100644 --- a/third_party/WebKit/LayoutTests/html/text-level-semantics/a-click.html +++ b/third_party/WebKit/LayoutTests/html/text-level-semantics/a-click.html
@@ -4,10 +4,10 @@ <script src="../../resources/testharnessreport.js"></script> <a id="target" href="#abc" title="This should appear as a tooltip">Hello.</a> <script> -function doubleClickNoNavigation() { +function doubleClickNavigation() { document.getElementById('target').dispatchEvent(new MouseEvent("click", {detail: 2})); - assert_equals(window.location.hash, "", "There should be no navigation on double click"); + assert_equals(window.location.hash, "#abc", "Click will navigate on double click"); } -test(doubleClickNoNavigation, "Double Click No Navigation"); +test(doubleClickNavigation, "Double Click Navigation"); </script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/discarded-window.html b/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/discarded-window.html index 2c13c5d..598f1337 100644 --- a/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/discarded-window.html +++ b/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/discarded-window.html
@@ -1,18 +1,26 @@ <!doctype html> -<iframe id="iframe"></iframe> +<iframe></iframe> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> -test(function(test) { - var iframe = document.getElementById('iframe'); - var w = iframe.contentWindow; - iframe.remove(); +var fetchTest = async_test("fetch() on discarded window"); - assert_not_equals(w.fetch, undefined, - 'A discarded window should have |fetch| function.'); - // NOTE: This is not explicitly specified as far as I know. This behavior - // may be Blink specific. - assert_equals(w.fetch('/fetch/resources/doctype.html'), undefined, - '|fetch| on a discarded window returns undefined, not a Promise.'); - }); +var iframe = document.querySelector('iframe'); +var w = iframe.contentWindow; +iframe.remove(); + +assert_not_equals(w.fetch, undefined, + 'A discarded window should have |fetch| function.'); + +// NOTE: This is not explicitly specified as far as I know. This behavior +// may be Blink specific. +w.fetch('/fetch/resources/doctype.html').then( + function () { + assert_true(false, "This Promise must always be rejected."); + }, + fetchTest.step_func(function (e) { + assert_true(e instanceof w.TypeError); + assert_equals(e.message, "Failed to execute 'fetch' on 'Window': The global scope is shutting down."); + fetchTest.done(); + })); </script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/inspector-test.js b/third_party/WebKit/LayoutTests/http/tests/inspector/inspector-test.js index 5a3bd9b..326e67b 100644 --- a/third_party/WebKit/LayoutTests/http/tests/inspector/inspector-test.js +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/inspector-test.js
@@ -977,7 +977,7 @@ InspectorTest.heapProfilerModel = target.heapProfilerModel; InspectorTest.animationModel = target.animationModel; InspectorTest.serviceWorkerCacheModel = target.serviceWorkerCacheModel; - InspectorTest.serviceWorkerManager = target.serviceWorkerManager; + InspectorTest.serviceWorkerManager = target.model(SDK.ServiceWorkerManager); InspectorTest.tracingManager = target.tracingManager; InspectorTest.mainTarget = target; },
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-worker-manager.html b/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-worker-manager.html index b2cc1385..7508484 100644 --- a/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-worker-manager.html +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/service-workers/service-worker-manager.html
@@ -15,7 +15,7 @@ { InspectorTest.addResult("Target added: " + target.name() + "; type: " + InspectorTest.describeTargetType(target)); if (InspectorTest.isDedicatedWorker(target)) { - var serviceWorkerManager = SDK.targetManager.mainTarget().serviceWorkerManager; + var serviceWorkerManager = SDK.targetManager.mainTarget().model(SDK.ServiceWorkerManager); // Allow agents to do rountrips. InspectorTest.deprecatedRunAfterPendingDispatches(function() { for (var registration of serviceWorkerManager.registrations().valuesArray()) {
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt b/third_party/WebKit/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt index d90f73b8..7450a89 100644 --- a/third_party/WebKit/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt
@@ -5,7 +5,7 @@ setTimeout(function() {write(window.opener.top.frames[0], 'FAIL: XSS was allowed.');}, 100); setTimeout(function() {write(window.opener.top.frames[1], 'SUCCESS: Window remained in original SecurityOrigin.');}, 200); setTimeout(function() { window.opener.top.postMessage('done', '*'); }, 300);</script> -PASS: 'window.open' called on another frame threw: SecurityError: Failed to execute 'open' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. +PASS: 'window.open' called on another frame threw: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. --------
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt b/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt index c801a3e..e36a496 100644 --- a/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt
@@ -1,38 +1,37 @@ -CONSOLE WARNING: line 1: 'getMatchedCSSRules()' is deprecated. For more help, check https://code.google.com/p/chromium/issues/detail?id=437569#c2 ----- tests for calling methods of another frame using Function.call ----- On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". -PASS window.setTimeout.call(targetWindow, 'void(0);', 0) threw exception SecurityError: Failed to execute 'setTimeout' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.setInterval.call(targetWindow, 'void(0);', 0) threw exception SecurityError: Failed to execute 'setInterval' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.open.call(targetWindow, '') threw exception SecurityError: Failed to execute 'open' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.getSelection.call(targetWindow) threw exception SecurityError: Failed to execute 'getSelection' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.find.call(targetWindow, 'string', false, false, false, false, false, false) threw exception SecurityError: Failed to execute 'find' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.confirm.call(targetWindow, 'message') threw exception SecurityError: Failed to execute 'confirm' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.prompt.call(targetWindow, 'message', 'defaultValue') threw exception SecurityError: Failed to execute 'prompt' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.getComputedStyle.call(targetWindow, document.body, '') threw exception SecurityError: Failed to execute 'getComputedStyle' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.getMatchedCSSRules.call(targetWindow, document.body, '') threw exception SecurityError: Failed to execute 'getMatchedCSSRules' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.openDatabase.call(targetWindow, 'name', '1.0', 'description', 0) threw exception SecurityError: Failed to execute 'openDatabase' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.atob.call(targetWindow, 'string') threw exception SecurityError: Failed to execute 'atob' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.btoa.call(targetWindow, 'string') threw exception SecurityError: Failed to execute 'btoa' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.clearTimeout.call(targetWindow, 0); threw exception SecurityError: Failed to execute 'clearTimeout' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.clearInterval.call(targetWindow, 0); threw exception SecurityError: Failed to execute 'clearInterval' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.print.call(targetWindow); threw exception SecurityError: Failed to execute 'print' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.stop.call(targetWindow); threw exception SecurityError: Failed to execute 'stop' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.alert.call(targetWindow, 'message'); threw exception SecurityError: Failed to execute 'alert' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.scrollBy.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'scrollBy' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.scrollTo.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'scrollTo' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.scroll.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'scroll' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.moveBy.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'moveBy' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.moveTo.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'moveTo' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.resizeBy.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'resizeBy' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.resizeTo.call(targetWindow, 0, 0); threw exception SecurityError: Failed to execute 'resizeTo' on 'Window': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.addEventListener.call(targetWindow, 'load', null, false); threw exception SecurityError: Failed to execute 'addEventListener' on 'EventTarget': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. -PASS window.removeEventListener.call(targetWindow, 'load', null, false); threw exception SecurityError: Failed to execute 'removeEventListener' on 'EventTarget': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.setTimeout.call(targetWindow, 'void(0);', 0) threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.setInterval.call(targetWindow, 'void(0);', 0) threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.open.call(targetWindow, '') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.getSelection.call(targetWindow) threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.find.call(targetWindow, 'string', false, false, false, false, false, false) threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.confirm.call(targetWindow, 'message') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.prompt.call(targetWindow, 'message', 'defaultValue') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.getComputedStyle.call(targetWindow, document.body, '') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.getMatchedCSSRules.call(targetWindow, document.body, '') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.openDatabase.call(targetWindow, 'name', '1.0', 'description', 0) threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.atob.call(targetWindow, 'string') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.btoa.call(targetWindow, 'string') threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.clearTimeout.call(targetWindow, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.clearInterval.call(targetWindow, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.print.call(targetWindow); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.stop.call(targetWindow); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.alert.call(targetWindow, 'message'); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.scrollBy.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.scrollTo.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.scroll.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.moveBy.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.moveTo.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.resizeBy.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.resizeTo.call(targetWindow, 0, 0); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.addEventListener.call(targetWindow, 'load', null, false); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.removeEventListener.call(targetWindow, 'load', null, false); threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. PASS: window.eval.call(targetWindow, '1+2'); should be '3' and is. -PASS window.location.toString.call(targetWindow.location) threw exception SecurityError: Failed to execute 'toString' on 'Location': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. +PASS window.location.toString.call(targetWindow.location) threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.. PASS: successfullyParsed should be 'true' and is. TEST COMPLETE
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call.html b/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call.html index 90de245..fa1c665 100644 --- a/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call.html +++ b/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-call.html
@@ -25,38 +25,38 @@ // void postMessage(in DOMString message); // - Tests for the Window object - - shouldThrow("window.setTimeout.call(targetWindow, 'void(0);', 0)", '"SecurityError: Failed to execute \'setTimeout\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.setInterval.call(targetWindow, 'void(0);', 0)", '"SecurityError: Failed to execute \'setInterval\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.open.call(targetWindow, '')", '"SecurityError: Failed to execute \'open\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.getSelection.call(targetWindow)", '"SecurityError: Failed to execute \'getSelection\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.find.call(targetWindow, 'string', false, false, false, false, false, false)", '"SecurityError: Failed to execute \'find\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.confirm.call(targetWindow, 'message')", '"SecurityError: Failed to execute \'confirm\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.prompt.call(targetWindow, 'message', 'defaultValue')", '"SecurityError: Failed to execute \'prompt\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.getComputedStyle.call(targetWindow, document.body, '')", '"SecurityError: Failed to execute \'getComputedStyle\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.getMatchedCSSRules.call(targetWindow, document.body, '')", '"SecurityError: Failed to execute \'getMatchedCSSRules\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.openDatabase.call(targetWindow, 'name', '1.0', 'description', 0)", '"SecurityError: Failed to execute \'openDatabase\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.atob.call(targetWindow, 'string')", '"SecurityError: Failed to execute \'atob\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.btoa.call(targetWindow, 'string')", '"SecurityError: Failed to execute \'btoa\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.clearTimeout.call(targetWindow, 0);", '"SecurityError: Failed to execute \'clearTimeout\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.clearInterval.call(targetWindow, 0);", '"SecurityError: Failed to execute \'clearInterval\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.print.call(targetWindow);", '"SecurityError: Failed to execute \'print\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.stop.call(targetWindow);", '"SecurityError: Failed to execute \'stop\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.alert.call(targetWindow, 'message');", '"SecurityError: Failed to execute \'alert\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.scrollBy.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'scrollBy\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.scrollTo.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'scrollTo\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.scroll.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'scroll\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.moveBy.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'moveBy\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.moveTo.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'moveTo\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.resizeBy.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'resizeBy\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.resizeTo.call(targetWindow, 0, 0);", '"SecurityError: Failed to execute \'resizeTo\' on \'Window\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.addEventListener.call(targetWindow, 'load', null, false);", '"SecurityError: Failed to execute \'addEventListener\' on \'EventTarget\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); - shouldThrow("window.removeEventListener.call(targetWindow, 'load', null, false);", '"SecurityError: Failed to execute \'removeEventListener\' on \'EventTarget\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.setTimeout.call(targetWindow, 'void(0);', 0)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.setInterval.call(targetWindow, 'void(0);', 0)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.open.call(targetWindow, '')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.getSelection.call(targetWindow)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.find.call(targetWindow, 'string', false, false, false, false, false, false)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.confirm.call(targetWindow, 'message')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.prompt.call(targetWindow, 'message', 'defaultValue')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.getComputedStyle.call(targetWindow, document.body, '')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.getMatchedCSSRules.call(targetWindow, document.body, '')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.openDatabase.call(targetWindow, 'name', '1.0', 'description', 0)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.atob.call(targetWindow, 'string')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.btoa.call(targetWindow, 'string')", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.clearTimeout.call(targetWindow, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.clearInterval.call(targetWindow, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.print.call(targetWindow);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.stop.call(targetWindow);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.alert.call(targetWindow, 'message');", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.scrollBy.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.scrollTo.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.scroll.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.moveBy.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.moveTo.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.resizeBy.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.resizeTo.call(targetWindow, 0, 0);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.addEventListener.call(targetWindow, 'load', null, false);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.removeEventListener.call(targetWindow, 'load', null, false);", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); // Throws an EvalError and logs to the error console shouldBe("window.eval.call(targetWindow, '1+2');", '3'); // - Tests for the Location object - - shouldThrow("window.location.toString.call(targetWindow.location)", '"SecurityError: Failed to execute \'toString\' on \'Location\': Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); + shouldThrow("window.location.toString.call(targetWindow.location)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."'); finishJSTest(); }
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-dispatchEvent-expected.txt b/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-dispatchEvent-expected.txt index 36b14629..58932629 100644 --- a/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-dispatchEvent-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/security/cross-frame-access-dispatchEvent-expected.txt
@@ -1,6 +1,6 @@ PASS: targetWindow.dispatchEvent(new CustomEvent("click")); should have thrown an exception, and did: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. -PASS: window.dispatchEvent.call(targetWindow, new CustomEvent("click")); should have thrown an exception, and did: SecurityError: Failed to execute 'dispatchEvent' on 'EventTarget': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. +PASS: window.dispatchEvent.call(targetWindow, new CustomEvent("click")); should have thrown an exception, and did: SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. --------
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/promise-realm.html b/third_party/WebKit/LayoutTests/http/tests/security/promise-realm.html index d4ae08c..2eaccfbe 100644 --- a/third_party/WebKit/LayoutTests/http/tests/security/promise-realm.html +++ b/third_party/WebKit/LayoutTests/http/tests/security/promise-realm.html
@@ -49,13 +49,8 @@ assert_unreached("type mismatch error, case 3: must be a reject promise"); }); - p = fetch.call(cross, 'resources/dummy.html'); - assert_equals( - p.constructor.constructor, - Function, - "cross origin access"); - p.then(() => { - assert_unreached("cross origin access: must be a reject promise"); + assert_throws("SecurityError", function () { + fetch.call(cross, 'resources/dummy.html') }); }, "Reject promises must be created in the current realm");
diff --git a/third_party/WebKit/LayoutTests/inspector/elements/styles-3/styles-variables-expected.txt b/third_party/WebKit/LayoutTests/inspector/elements/styles-3/styles-variables-expected.txt index 19d1d69..1f63c86 100644 --- a/third_party/WebKit/LayoutTests/inspector/elements/styles-3/styles-variables-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/elements/styles-3/styles-variables-expected.txt
@@ -3,10 +3,6 @@ ==== Computed style for ID1 ==== display: block; block - div user agent stylesheet ---a: red; - red - body styles-variables.html:4 -> styles-variables.html:4:7 ---b: 44px; - 44px - #id1 styles-variables.html:8 -> styles-variables.html:8:7 [expanded] element.style { () @@ -27,11 +23,6 @@ ==== Computed style for ID2 ==== display: block; block - div user agent stylesheet ---a: green; - green - #id2 styles-variables.html:12 -> styles-variables.html:12:7 - OVERLOADED red - body styles-variables.html:4 -> styles-variables.html:4:7 ---b: 44px; - 44px - #id1 styles-variables.html:8 -> styles-variables.html:8:7 [expanded] element.style { () @@ -57,12 +48,6 @@ ==== Computed style for ID3 ==== display: block; block - div user agent stylesheet ---a: green; - inherit - #id3 styles-variables.html:16 -> styles-variables.html:16:7 - OVERLOADED green - #id2 styles-variables.html:12 -> styles-variables.html:12:7 - OVERLOADED red - body styles-variables.html:4 -> styles-variables.html:4:7 ---b: 44px; - 44px - #id1 styles-variables.html:8 -> styles-variables.html:8:7 [expanded] element.style { ()
diff --git a/third_party/WebKit/LayoutTests/paint/tables/collapsed-border-layered-table-and-cells-expected.html b/third_party/WebKit/LayoutTests/paint/tables/collapsed-border-layered-table-and-cells-expected.html new file mode 100644 index 0000000..669a99b --- /dev/null +++ b/third_party/WebKit/LayoutTests/paint/tables/collapsed-border-layered-table-and-cells-expected.html
@@ -0,0 +1,2 @@ +<!DOCTYPE html> +<div style="width: 50px; height: 50px; border: 5px solid blue"></div>
diff --git a/third_party/WebKit/LayoutTests/paint/tables/collapsed-border-layered-table-and-cells.html b/third_party/WebKit/LayoutTests/paint/tables/collapsed-border-layered-table-and-cells.html new file mode 100644 index 0000000..80eb5e08 --- /dev/null +++ b/third_party/WebKit/LayoutTests/paint/tables/collapsed-border-layered-table-and-cells.html
@@ -0,0 +1,4 @@ +<!DOCTYPE html> +<table style="position: relative; border-collapse: collapse"> + <td style="position: relative; width: 50px; height: 50px; padding: 0; border: 5px solid blue"></td> +</table>
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt new file mode 100644 index 0000000..727e8d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt
@@ -0,0 +1,86 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [785, 1016], + "contentsOpaque": true, + "drawsContent": true + }, + { + "name": "Squashing Containment Layer", + "shouldFlattenTransform": false + }, + { + "name": "LayoutBlockFlow DIV id='foo'", + "position": [8, 8], + "bounds": [200, 1000], + "contentsOpaque": true, + "drawsContent": true, + "backgroundColor": "#D3D3D3" + }, + { + "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV)", + "position": [8, 0], + "bounds": [300, 654], + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutView #document", + "rect": [0, 500, 300, 150], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow BODY", + "rect": [8, 508, 284, 20], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow BODY", + "rect": [8, 508, 269, 142], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [8, 508, 29, 19], + "reason": "forced by layout" + }, + { + "object": "LayoutView #document", + "rect": [285, 500, 15, 150], + "reason": "scroll" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutView #document", + "reason": "scroll" + }, + { + "object": "VerticalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutView #document", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'test1'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt new file mode 100644 index 0000000..04a844c --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt
@@ -0,0 +1,160 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [138, 128, 654, 100], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [138, 128, 654, 100], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [148, 128, 644, 100], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [148, 128, 644, 100], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [137, 128, 637, 99], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [147, 128, 636, 99], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [147, 128, 636, 99], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [400, 128, 392, 180], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [400, 128, 392, 180], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [8, 228, 392, 80], + "reason": "incremental" + }, + { + "object": "LayoutText #text", + "rect": [400, 128, 391, 179], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [148, 128, 252, 180], + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [138, 128, 10, 100], + "reason": "incremental" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='left'", + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt new file mode 100644 index 0000000..432f66c --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -0,0 +1,62 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTextControl INPUT id='target'", + "rect": [7, 7, 66, 24], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "rect": [10, 11, 60, 16], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [10, 11, 60, 16], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow HTML", + "reason": "selection" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "selection" + }, + { + "object": "LayoutTextControl INPUT id='target'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "HorizontalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'test test test'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt new file mode 100644 index 0000000..f53cadc1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -0,0 +1,105 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableRow TR", + "rect": [0, 292, 106, 236], + "reason": "bounds change" + }, + { + "object": "LayoutTableRow TR", + "rect": [0, 100, 106, 190], + "reason": "incremental" + }, + { + "object": "LayoutTableRow TR", + "rect": [0, 102, 106, 46], + "reason": "bounds change" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 52, 102, 238], + "reason": "forced by layout" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 292, 102, 236], + "reason": "forced by layout" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 102, 102, 46], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 400, 46, 19], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 161, 46, 19], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 115, 46, 19], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 66, 46, 19], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableRow TR", + "reason": "incremental" + }, + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'ROW1'", + "reason": "forced by layout" + }, + { + "object": "LayoutTableRow TR", + "reason": "bounds change" + }, + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'ROW2'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt new file mode 100644 index 0000000..b9600d2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt
@@ -0,0 +1,46 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableCell TD", + "rect": [2, 52, 102, 476], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 280, 63, 19], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 90, 63, 19], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'MIDDLE'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt new file mode 100644 index 0000000..3faa3ee --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt
@@ -0,0 +1,46 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableCell TD", + "rect": [2, 102, 102, 200], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 192, 63, 19], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 142, 63, 19], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'MIDDLE'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..4e0dad8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton BUTTON", + "rect": [3, 4, 55, 29], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 29, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 29, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton BUTTON", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Reset'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..cd63966b --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton INPUT", + "rect": [3, 4, 62, 29], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 36, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 36, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton INPUT", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Submit'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..dda2761 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton INPUT", + "rect": [3, 4, 64, 29], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 38, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 38, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton INPUT", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Submit'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt new file mode 100644 index 0000000..8f30984 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -0,0 +1,62 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTextControl INPUT id='target'", + "rect": [5, 5, 54, 25], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "rect": [11, 11, 42, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [11, 11, 42, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow HTML", + "reason": "selection" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "selection" + }, + { + "object": "LayoutTextControl INPUT id='target'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "HorizontalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'test test test'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt new file mode 100644 index 0000000..53fdc643 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt
@@ -0,0 +1,86 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [785, 1016], + "contentsOpaque": true, + "drawsContent": true + }, + { + "name": "Squashing Containment Layer", + "shouldFlattenTransform": false + }, + { + "name": "LayoutBlockFlow DIV id='foo'", + "position": [8, 8], + "bounds": [200, 1000], + "contentsOpaque": true, + "drawsContent": true, + "backgroundColor": "#D3D3D3" + }, + { + "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV)", + "position": [8, 0], + "bounds": [300, 654], + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutView #document", + "rect": [0, 500, 300, 150], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow BODY", + "rect": [8, 508, 284, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow BODY", + "rect": [8, 508, 269, 142], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [8, 508, 31, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutView #document", + "rect": [285, 500, 15, 150], + "reason": "scroll" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutView #document", + "reason": "scroll" + }, + { + "object": "VerticalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutView #document", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'test1'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt new file mode 100644 index 0000000..a4ec2ec --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt
@@ -0,0 +1,179 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [138, 116, 654, 90], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [138, 116, 654, 90], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [138, 116, 652, 90], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [148, 116, 644, 108], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [148, 116, 644, 108], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [148, 116, 644, 108], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow P", + "rect": [148, 116, 644, 108], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [148, 116, 632, 108], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [148, 116, 632, 108], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [400, 116, 392, 162], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [400, 116, 392, 162], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [8, 224, 392, 54], + "reason": "incremental" + }, + { + "object": "LayoutText #text", + "rect": [400, 116, 391, 162], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [148, 116, 252, 162], + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [8, 206, 140, 18], + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [138, 116, 10, 108], + "reason": "incremental" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='left'", + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'aliquet. Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'feugiat vehicula. Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'condimentum leo neque sed nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'id, faucibus id quam.'", + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..c3155cb --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton BUTTON", + "rect": [3, 4, 56, 29], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 30, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 30, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton BUTTON", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Reset'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..05a2122 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,51 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutSlider INPUT", + "rect": [7, 7, 135, 21], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='track'", + "rect": [10, 10, 129, 15], + "reason": "subtree" + }, + { + "object": "LayoutFlexibleBox DIV", + "rect": [10, 10, 129, 15], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='thumb'", + "rect": [67, 10, 15, 16], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutSlider INPUT", + "reason": "subtree" + }, + { + "object": "LayoutFlexibleBox DIV", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='track'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='thumb'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..698fd04 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton INPUT", + "rect": [3, 4, 63, 29], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 37, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 37, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton INPUT", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Submit'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt new file mode 100644 index 0000000..37420227 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -0,0 +1,62 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTextControl INPUT id='target'", + "rect": [5, 5, 47, 25], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "rect": [11, 11, 35, 13], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [11, 11, 35, 13], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow HTML", + "reason": "selection" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "selection" + }, + { + "object": "LayoutTextControl INPUT id='target'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "HorizontalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'test test test'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt new file mode 100644 index 0000000..854fbbba --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -0,0 +1,105 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableRow TR", + "rect": [0, 292, 106, 236], + "reason": "bounds change" + }, + { + "object": "LayoutTableRow TR", + "rect": [0, 100, 106, 190], + "reason": "incremental" + }, + { + "object": "LayoutTableRow TR", + "rect": [0, 102, 106, 46], + "reason": "bounds change" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 52, 102, 238], + "reason": "forced by layout" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 292, 102, 236], + "reason": "forced by layout" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 102, 102, 46], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 401, 46, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 162, 46, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 116, 46, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 67, 46, 18], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableRow TR", + "reason": "incremental" + }, + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'ROW1'", + "reason": "forced by layout" + }, + { + "object": "LayoutTableRow TR", + "reason": "bounds change" + }, + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'ROW2'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt new file mode 100644 index 0000000..38e29be --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt
@@ -0,0 +1,46 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableCell TD", + "rect": [2, 52, 102, 476], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 281, 63, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 91, 63, 18], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'MIDDLE'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt new file mode 100644 index 0000000..6d72cba --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt
@@ -0,0 +1,46 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableCell TD", + "rect": [2, 102, 102, 200], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 193, 63, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 143, 63, 18], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'MIDDLE'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt new file mode 100644 index 0000000..c38994e --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt
@@ -0,0 +1,86 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [785, 1016], + "contentsOpaque": true, + "drawsContent": true + }, + { + "name": "Squashing Containment Layer", + "shouldFlattenTransform": false + }, + { + "name": "LayoutBlockFlow DIV id='foo'", + "position": [8, 8], + "bounds": [200, 1000], + "contentsOpaque": true, + "drawsContent": true, + "backgroundColor": "#D3D3D3" + }, + { + "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV)", + "position": [8, 0], + "bounds": [300, 653], + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutView #document", + "rect": [0, 500, 300, 150], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow BODY", + "rect": [8, 508, 284, 18], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow BODY", + "rect": [8, 508, 269, 142], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [8, 508, 31, 17], + "reason": "forced by layout" + }, + { + "object": "LayoutView #document", + "rect": [285, 500, 15, 150], + "reason": "scroll" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutView #document", + "reason": "scroll" + }, + { + "object": "VerticalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutView #document", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'test1'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt new file mode 100644 index 0000000..74b5ba8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt
@@ -0,0 +1,179 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [138, 116, 654, 90], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [138, 116, 654, 90], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [138, 116, 652, 89], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [148, 116, 644, 108], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [148, 116, 644, 108], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [148, 116, 644, 108], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow P", + "rect": [148, 116, 644, 108], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [148, 116, 632, 107], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [148, 116, 632, 107], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "rect": [400, 116, 392, 162], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "rect": [400, 116, 392, 162], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [8, 224, 392, 54], + "reason": "incremental" + }, + { + "object": "LayoutText #text", + "rect": [400, 116, 391, 161], + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [148, 116, 252, 162], + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [8, 206, 140, 18], + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "rect": [138, 116, 10, 108], + "reason": "incremental" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='left'", + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'aliquet. Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'feugiat vehicula. Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'condimentum leo neque sed nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'id, faucibus id quam.'", + "reason": "forced by layout" + }, + { + "object": "LayoutBlockFlow DIV id='left'", + "reason": "incremental" + }, + { + "object": "LayoutBlockFlow DIV id='content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..f2712b7b --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton BUTTON", + "rect": [7, 7, 52, 24], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 34, 16], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 34, 16], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton BUTTON", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Reset'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..33de40d --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,51 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutSlider INPUT", + "rect": [9, 9, 131, 23], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='track'", + "rect": [10, 10, 129, 21], + "reason": "subtree" + }, + { + "object": "LayoutFlexibleBox DIV", + "rect": [10, 10, 129, 21], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='thumb'", + "rect": [69, 10, 11, 21], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutSlider INPUT", + "reason": "subtree" + }, + { + "object": "LayoutFlexibleBox DIV", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='track'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='thumb'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt new file mode 100644 index 0000000..91a75a37 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -0,0 +1,50 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutButton INPUT", + "rect": [7, 7, 59, 24], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "rect": [16, 11, 41, 16], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [16, 11, 41, 16], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutButton INPUT", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (anonymous)", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'Submit'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt new file mode 100644 index 0000000..407d9df --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -0,0 +1,62 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTextControl INPUT id='target'", + "rect": [7, 7, 70, 24], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "rect": [10, 11, 64, 16], + "reason": "subtree" + }, + { + "object": "LayoutText #text", + "rect": [10, 11, 64, 16], + "reason": "subtree" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow HTML", + "reason": "selection" + }, + { + "object": "LayoutBlockFlow BODY", + "reason": "selection" + }, + { + "object": "LayoutTextControl INPUT id='target'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV id='inner-editor'", + "reason": "subtree" + }, + { + "object": "RootInlineBox", + "reason": "subtree" + }, + { + "object": "HorizontalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutText #text", + "reason": "subtree" + }, + { + "object": "InlineTextBox 'test test test'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt new file mode 100644 index 0000000..5611988 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -0,0 +1,105 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableRow TR", + "rect": [0, 292, 106, 236], + "reason": "bounds change" + }, + { + "object": "LayoutTableRow TR", + "rect": [0, 100, 106, 190], + "reason": "incremental" + }, + { + "object": "LayoutTableRow TR", + "rect": [0, 102, 106, 46], + "reason": "bounds change" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 52, 102, 238], + "reason": "forced by layout" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 292, 102, 236], + "reason": "forced by layout" + }, + { + "object": "LayoutTableCell TD", + "rect": [2, 102, 102, 46], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 401, 46, 17], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 162, 46, 17], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 116, 46, 17], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 67, 46, 17], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableRow TR", + "reason": "incremental" + }, + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'ROW1'", + "reason": "forced by layout" + }, + { + "object": "LayoutTableRow TR", + "reason": "bounds change" + }, + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'ROW2'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt new file mode 100644 index 0000000..9472a570 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt
@@ -0,0 +1,46 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableCell TD", + "rect": [2, 52, 102, 476], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 281, 63, 17], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 91, 63, 17], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'MIDDLE'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt new file mode 100644 index 0000000..a1eb447 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt
@@ -0,0 +1,46 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTableCell TD", + "rect": [2, 102, 102, 200], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 193, 63, 17], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [3, 143, 63, 17], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'MIDDLE'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt new file mode 100644 index 0000000..3aca683 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
@@ -0,0 +1,106 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [1026, 1036], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutBlockFlow P", + "rect": [24, 1011, 737, 21], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [178, 1011, 202, 20], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [434, 1011, 173, 20], + "reason": "forced by layout" + }, + { + "object": "LayoutInline A", + "rect": [384, 1010, 47, 22], + "reason": "style change" + }, + { + "object": "LayoutText #text", + "rect": [385, 1011, 45, 20], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [379, 1011, 7, 20], + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "rect": [429, 1011, 6, 20], + "reason": "forced by layout" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow P", + "reason": "forced by layout" + }, + { + "object": "RootInlineBox", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'pservers-pattern-01-b \u2190'", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox '\n'", + "reason": "forced by layout" + }, + { + "object": "LayoutInline A", + "reason": "style change" + }, + { + "object": "InlineFlowBox", + "reason": "style change" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox 'index'", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox '\n'", + "reason": "forced by layout" + }, + { + "object": "LayoutText #text", + "reason": "forced by layout" + }, + { + "object": "InlineTextBox '\u2192 script-handle-01-b'", + "reason": "forced by layout" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt new file mode 100644 index 0000000..ce5ebd7a --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt
@@ -0,0 +1,60 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true + }, + { + "name": "LayoutBlockFlow (positioned) DIV id='composited-box'", + "position": [38, 38], + "bounds": [20, 70], + "contentsOpaque": true, + "drawsContent": true, + "backfaceVisibility": "hidden", + "backgroundColor": "#008000", + "paintInvalidations": [ + { + "object": "LayoutBlockFlow (positioned) DIV id='composited-box'", + "rect": [-30, -30, 50, 100], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV class='child'", + "rect": [-30, -30, 50, 50], + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow (positioned) DIV id='composited-box'", + "rect": [0, 0, 10, 60], + "reason": "full" + } + ] + }, + { + "name": "Child Containment Layer", + "bounds": [90, 90] + }, + { + "name": "LayoutBlockFlow DIV class='composited child'", + "position": [-30, 20], + "bounds": [50, 50], + "contentsOpaque": true, + "drawsContent": true, + "backfaceVisibility": "hidden", + "backgroundColor": "#008000" + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutBlockFlow (positioned) DIV id='composited-box'", + "reason": "subtree" + }, + { + "object": "LayoutBlockFlow DIV class='child'", + "reason": "subtree" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint-expected.txt new file mode 100644 index 0000000..991af30 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint-expected.txt
@@ -0,0 +1,33 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutGrid DIV class='grid min-content'", + "rect": [8, 48, 250, 50], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow DIV class='sizedToGridArea'", + "rect": [58, 48, 50, 50], + "reason": "incremental" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutGrid DIV class='grid min-content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow DIV class='sizedToGridArea'", + "reason": "incremental" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint-expected.txt new file mode 100644 index 0000000..8730123 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint-expected.txt
@@ -0,0 +1,33 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutGrid DIV class='grid fit-content'", + "rect": [8, 48, 100, 150], + "reason": "style change" + }, + { + "object": "LayoutBlockFlow DIV class='sizedToGridArea'", + "rect": [8, 98, 100, 50], + "reason": "incremental" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutGrid DIV class='grid fit-content'", + "reason": "style change" + }, + { + "object": "LayoutBlockFlow DIV class='sizedToGridArea'", + "reason": "incremental" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt new file mode 100644 index 0000000..4b95868 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt
@@ -0,0 +1,59 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutBlockFlow DIV id='dynamic' class='content'", + "rect": [0, 0, 185, 30], + "reason": "full" + }, + { + "object": "LayoutBlockFlow DIV id='scroller'", + "rect": [185, 0, 15, 100], + "reason": "scroll" + }, + { + "object": "LayoutText #text", + "rect": [0, 5, 15, 15], + "reason": "layoutObject insertion" + }, + { + "object": "LayoutText #text", + "rect": [0, 5, 15, 15], + "reason": "layoutObject removal" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutText #text", + "reason": "layoutObject removal" + }, + { + "object": "VerticalScrollbar", + "reason": "scroll" + }, + { + "object": "LayoutBlockFlow DIV id='dynamic' class='content'", + "reason": "full" + }, + { + "object": "RootInlineBox", + "reason": "full" + }, + { + "object": "LayoutText #text", + "reason": "layoutObject insertion" + }, + { + "object": "InlineTextBox 'z'", + "reason": "layoutObject insertion" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt new file mode 100644 index 0000000..ba69534 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
@@ -0,0 +1,75 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTable TABLE id='table'", + "rect": [8, 8, 220, 112], + "reason": "style change" + }, + { + "object": "LayoutTableSection TBODY", + "rect": [8, 8, 220, 112], + "reason": "style change" + }, + { + "object": "LayoutTableRow TR", + "rect": [8, 10, 220, 108], + "reason": "style change" + }, + { + "object": "LayoutTableRow TR", + "rect": [9, 9, 209, 105], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [118, 10, 108, 108], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [112, 8, 108, 108], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [8, 8, 107, 108], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [10, 10, 106, 108], + "reason": "style change" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTable TABLE id='table'", + "reason": "style change" + }, + { + "object": "LayoutTableSection TBODY", + "reason": "style change" + }, + { + "object": "LayoutTableRow TR", + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "reason": "style change" + } + ] +} +
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt new file mode 100644 index 0000000..18cc801 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
@@ -0,0 +1,83 @@ +{ + "layers": [ + { + "name": "LayoutView #document", + "bounds": [800, 600], + "contentsOpaque": true, + "drawsContent": true, + "paintInvalidations": [ + { + "object": "LayoutTable TABLE id='table'", + "rect": [8, 8, 220, 112], + "reason": "style change" + }, + { + "object": "LayoutTableSection TBODY", + "rect": [8, 8, 220, 112], + "reason": "style change" + }, + { + "object": "LayoutTableRow TR", + "rect": [8, 10, 220, 108], + "reason": "style change" + }, + { + "object": "LayoutTableRow TR", + "rect": [9, 9, 209, 105], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [118, 10, 108, 108], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [112, 8, 108, 108], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [8, 8, 107, 108], + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "rect": [10, 10, 106, 108], + "reason": "style change" + } + ] + } + ], + "objectPaintInvalidations": [ + { + "object": "LayoutTableCell TD", + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "reason": "style change" + }, + { + "object": "LayoutTable TABLE id='table'", + "reason": "style change" + }, + { + "object": "LayoutTableSection TBODY", + "reason": "style change" + }, + { + "object": "LayoutTableRow TR", + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "reason": "style change" + }, + { + "object": "LayoutTableCell TD", + "reason": "style change" + } + ] +} +
diff --git a/third_party/WebKit/Source/bindings/core/v8/ArrayValue.h b/third_party/WebKit/Source/bindings/core/v8/ArrayValue.h index 21b6357..ba0a69d 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ArrayValue.h +++ b/third_party/WebKit/Source/bindings/core/v8/ArrayValue.h
@@ -27,9 +27,9 @@ #define ArrayValue_h #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Assertions.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/BindingSecurity.h b/third_party/WebKit/Source/bindings/core/v8/BindingSecurity.h index 0ecd29c..7d0c469 100644 --- a/third_party/WebKit/Source/bindings/core/v8/BindingSecurity.h +++ b/third_party/WebKit/Source/bindings/core/v8/BindingSecurity.h
@@ -32,8 +32,8 @@ #define BindingSecurity_h #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h b/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h index 7d29c64..60b838c6 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h +++ b/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.h
@@ -5,8 +5,8 @@ #ifndef ConditionalFeatures_h #define ConditionalFeatures_h -#include <v8.h> #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/text/WTFString.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ConditionalFeaturesForCore.h b/third_party/WebKit/Source/bindings/core/v8/ConditionalFeaturesForCore.h index dc61f1b..116fcaff 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ConditionalFeaturesForCore.h +++ b/third_party/WebKit/Source/bindings/core/v8/ConditionalFeaturesForCore.h
@@ -5,9 +5,9 @@ #ifndef ConditionalFeaturesForCore_h #define ConditionalFeaturesForCore_h -#include <v8.h> #include "core/CoreExport.h" #include "platform/feature_policy/FeaturePolicy.h" +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h b/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h index 7a06239..b3ccd00 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h +++ b/third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h
@@ -31,16 +31,17 @@ #ifndef DOMDataStore_h #define DOMDataStore_h +#include <memory> + #include "bindings/core/v8/DOMWrapperMap.h" #include "bindings/core/v8/DOMWrapperWorld.h" #include "bindings/core/v8/ScriptWrappable.h" #include "bindings/core/v8/WrapperTypeInfo.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Noncopyable.h" #include "wtf/PtrUtil.h" #include "wtf/StdLibExtras.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h index a943348..1f686d0 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h +++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperMap.h
@@ -31,13 +31,14 @@ #ifndef DOMWrapperMap_h #define DOMWrapperMap_h +#include <utility> + #include "bindings/core/v8/WrapperTypeInfo.h" #include "platform/ScriptForbiddenScope.h" +#include "v8/include/v8-util.h" +#include "v8/include/v8.h" #include "wtf/Compiler.h" #include "wtf/HashMap.h" -#include <utility> -#include <v8-util.h> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h index fdbaa43..4970d3e 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h +++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h
@@ -31,14 +31,15 @@ #ifndef DOMWrapperWorld_h #define DOMWrapperWorld_h +#include <memory> + #include "bindings/core/v8/ScriptState.h" #include "core/CoreExport.h" #include "platform/weborigin/SecurityOrigin.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" #include "wtf/RefCounted.h" #include "wtf/RefPtr.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/Dictionary.h b/third_party/WebKit/Source/bindings/core/v8/Dictionary.h index 1f182cf..8a020e3 100644 --- a/third_party/WebKit/Source/bindings/core/v8/Dictionary.h +++ b/third_party/WebKit/Source/bindings/core/v8/Dictionary.h
@@ -30,10 +30,10 @@ #include "bindings/core/v8/Nullable.h" #include "bindings/core/v8/V8Binding.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/HashMap.h" #include "wtf/Vector.h" #include "wtf/text/StringView.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.h b/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.h index 29b898c..044b79a9 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.h +++ b/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.h
@@ -6,8 +6,8 @@ #define DictionaryIterator_h #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace WTF {
diff --git a/third_party/WebKit/Source/bindings/core/v8/DocumentWriteEvaluator.cpp b/third_party/WebKit/Source/bindings/core/v8/DocumentWriteEvaluator.cpp index cace623..1185907 100644 --- a/third_party/WebKit/Source/bindings/core/v8/DocumentWriteEvaluator.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/DocumentWriteEvaluator.cpp
@@ -9,10 +9,9 @@ #include "bindings/core/v8/V8ScriptRunner.h" #include "core/frame/Location.h" #include "platform/instrumentation/tracing/TraceEvent.h" +#include "v8/include/v8.h" #include "wtf/text/StringUTF8Adaptor.h" -#include <v8.h> - namespace blink { namespace {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h b/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h index c1628c1..7dcc2b9 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h +++ b/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h
@@ -35,10 +35,10 @@ #include "bindings/core/v8/ScriptPromise.h" #include "bindings/core/v8/V8ThrowException.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Noncopyable.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h b/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h index 2c99eb2e..a5976f29 100644 --- a/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h +++ b/third_party/WebKit/Source/bindings/core/v8/GeneratedCodeHelper.h
@@ -14,8 +14,8 @@ #include "bindings/core/v8/ExceptionState.h" #include "bindings/core/v8/V8Binding.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/IDLDictionaryBase.h b/third_party/WebKit/Source/bindings/core/v8/IDLDictionaryBase.h index 168c307..8deb930 100644 --- a/third_party/WebKit/Source/bindings/core/v8/IDLDictionaryBase.h +++ b/third_party/WebKit/Source/bindings/core/v8/IDLDictionaryBase.h
@@ -7,8 +7,8 @@ #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp index 088ceb751..e2ff890f 100644 --- a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
@@ -30,7 +30,6 @@ #include "bindings/core/v8/LocalWindowProxy.h" -#include <v8.h> #include "bindings/core/v8/ConditionalFeaturesForCore.h" #include "bindings/core/v8/DOMWrapperWorld.h" #include "bindings/core/v8/ScriptController.h" @@ -57,6 +56,7 @@ #include "platform/heap/Handle.h" #include "platform/instrumentation/tracing/TraceEvent.h" #include "platform/weborigin/SecurityOrigin.h" +#include "v8/include/v8.h" #include "wtf/Assertions.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h index e92aea2..5283aa6 100644 --- a/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h +++ b/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h
@@ -34,9 +34,9 @@ #include "bindings/core/v8/DOMWrapperWorld.h" #include "bindings/core/v8/WindowProxy.h" #include "core/frame/LocalFrame.h" +#include "v8/include/v8.h" #include "wtf/RefPtr.h" #include "wtf/text/AtomicString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/Microtask.h b/third_party/WebKit/Source/bindings/core/v8/Microtask.h index f5981af0..7b81eddf 100644 --- a/third_party/WebKit/Source/bindings/core/v8/Microtask.h +++ b/third_party/WebKit/Source/bindings/core/v8/Microtask.h
@@ -33,9 +33,9 @@ #include "core/CoreExport.h" #include "platform/WebTaskRunner.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Functional.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h index 5b8b507..3bc77e5 100644 --- a/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h +++ b/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h
@@ -5,8 +5,8 @@ #ifndef NativeValueTraits_h #define NativeValueTraits_h +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp index fa80475..d5c6f4a2 100644 --- a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
@@ -30,10 +30,9 @@ #include "bindings/core/v8/WindowProxy.h" -#include <v8-debug.h> -#include <v8.h> #include <algorithm> #include <utility> + #include "bindings/core/v8/ConditionalFeatures.h" #include "bindings/core/v8/DOMWrapperWorld.h" #include "bindings/core/v8/ScriptController.h" @@ -68,6 +67,8 @@ #include "platform/instrumentation/tracing/TraceEvent.h" #include "platform/weborigin/SecurityOrigin.h" #include "public/platform/Platform.h" +#include "v8/include/v8-debug.h" +#include "v8/include/v8.h" #include "wtf/Assertions.h" #include "wtf/StringExtras.h" #include "wtf/text/CString.h"
diff --git a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h index d85780f..6e6a394c 100644 --- a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h +++ b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h
@@ -33,7 +33,7 @@ #include "bindings/core/v8/DOMWrapperWorld.h" #include "core/frame/RemoteFrame.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/RetainedDOMInfo.h b/third_party/WebKit/Source/bindings/core/v8/RetainedDOMInfo.h index 1688167..5377e12 100644 --- a/third_party/WebKit/Source/bindings/core/v8/RetainedDOMInfo.h +++ b/third_party/WebKit/Source/bindings/core/v8/RetainedDOMInfo.h
@@ -33,7 +33,7 @@ #include "bindings/core/v8/RetainedObjectInfo.h" #include "platform/heap/Handle.h" -#include <v8-profiler.h> +#include "v8/include/v8-profiler.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/RetainedObjectInfo.h b/third_party/WebKit/Source/bindings/core/v8/RetainedObjectInfo.h index 4be74891..5d941f8 100644 --- a/third_party/WebKit/Source/bindings/core/v8/RetainedObjectInfo.h +++ b/third_party/WebKit/Source/bindings/core/v8/RetainedObjectInfo.h
@@ -31,8 +31,8 @@ #ifndef RetainedObjectInfo_h #define RetainedObjectInfo_h +#include "v8/include/v8-profiler.h" #include "wtf/Allocator.h" -#include <v8-profiler.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.h b/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.h index a2462929..f5385b3 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScheduledAction.h
@@ -36,8 +36,8 @@ #include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/V8PersistentValueVector.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Forward.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScopedPersistent.h b/third_party/WebKit/Source/bindings/core/v8/ScopedPersistent.h index 465dcec..1d94609 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScopedPersistent.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScopedPersistent.h
@@ -31,11 +31,12 @@ #ifndef ScopedPersistent_h #define ScopedPersistent_h +#include <memory> + #include "bindings/core/v8/ScriptWrappableVisitor.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Noncopyable.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptController.h b/third_party/WebKit/Source/bindings/core/v8/ScriptController.h index 010f7fe..cd40a231 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptController.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptController.h
@@ -39,11 +39,11 @@ #include "platform/heap/Handle.h" #include "platform/loader/fetch/AccessControlStatus.h" #include "platform/loader/fetch/CrossOriginAccessControl.h" +#include "v8/include/v8.h" #include "wtf/HashMap.h" #include "wtf/Noncopyable.h" #include "wtf/Vector.h" #include "wtf/text/TextPosition.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptEventListener.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptEventListener.cpp index 6dbe2cfe..4a94e0a 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptEventListener.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptEventListener.cpp
@@ -42,7 +42,7 @@ #include "core/dom/QualifiedName.h" #include "core/events/EventListener.h" #include "core/frame/LocalFrame.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h b/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h index 3a4b150..def0633 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h
@@ -34,7 +34,7 @@ #include "bindings/core/v8/ScriptValue.h" #include "core/CoreExport.h" #include "platform/heap/Handle.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptModule.h b/third_party/WebKit/Source/bindings/core/v8/ScriptModule.h index 8fdb3a4..fc51232 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptModule.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptModule.h
@@ -8,9 +8,9 @@ #include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/SharedPersistent.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.cpp index 39e5a2ff..e150c07 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.cpp
@@ -36,7 +36,7 @@ #include "bindings/core/v8/V8ThrowException.h" #include "core/dom/DOMException.h" #include "platform/InstanceCounters.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h b/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h index 6d01451..bbcc884 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromise.h
@@ -35,10 +35,10 @@ #include "bindings/core/v8/ScriptValue.h" #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/PassRefPtr.h" #include "wtf/Vector.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyBase.h b/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyBase.h index 8c359827..624735e6 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyBase.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyBase.h
@@ -5,16 +5,17 @@ #ifndef ScriptPromisePropertyBase_h #define ScriptPromisePropertyBase_h +#include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptPromise.h" #include "bindings/core/v8/ScriptPromiseProperties.h" #include "core/CoreExport.h" #include "core/dom/ContextLifecycleObserver.h" +#include "v8/include/v8.h" #include "wtf/Compiler.h" #include "wtf/RefCounted.h" #include "wtf/Vector.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp index 4bee2dff..a288368 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp
@@ -4,6 +4,8 @@ #include "bindings/core/v8/ScriptPromiseProperty.h" +#include <memory> + #include "bindings/core/v8/DOMWrapperWorld.h" #include "bindings/core/v8/ScriptFunction.h" #include "bindings/core/v8/ScriptPromise.h" @@ -18,10 +20,9 @@ #include "core/testing/GarbageCollectedScriptWrappable.h" #include "platform/heap/Handle.h" #include "testing/gtest/include/gtest/gtest.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" #include "wtf/RefPtr.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.h b/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.h index fcb38a2..0ca8e0d 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.h
@@ -16,7 +16,7 @@ #include "platform/Timer.h" #include "platform/heap/Handle.h" #include "platform/heap/SelfKeepAlive.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolverTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolverTest.cpp index cf19eabe..92df40a 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolverTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolverTest.cpp
@@ -4,6 +4,8 @@ #include "bindings/core/v8/ScriptPromiseResolver.h" +#include <memory> + #include "bindings/core/v8/ScriptFunction.h" #include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/V8Binding.h" @@ -11,8 +13,7 @@ #include "core/dom/Document.h" #include "core/testing/DummyPageHolder.h" #include "testing/gtest/include/gtest/gtest.h" -#include <memory> -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseTest.cpp index e794739..b9efadb 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseTest.cpp
@@ -38,7 +38,7 @@ #include "core/dom/ExceptionCode.h" #include "core/testing/NullExecutionContext.h" #include "testing/gtest/include/gtest/gtest.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptRegexp.h b/third_party/WebKit/Source/bindings/core/v8/ScriptRegexp.h index 21b7d76..63608bc 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptRegexp.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptRegexp.h
@@ -29,9 +29,9 @@ #include "bindings/core/v8/ScopedPersistent.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Noncopyable.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptState.h b/third_party/WebKit/Source/bindings/core/v8/ScriptState.h index 4d8d0feb..cbe01ec0 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptState.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptState.h
@@ -5,13 +5,14 @@ #ifndef ScriptState_h #define ScriptState_h +#include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/V8PerContextData.h" #include "core/CoreExport.h" +#include "v8/include/v8-debug.h" +#include "v8/include/v8.h" #include "wtf/RefCounted.h" -#include <memory> -#include <v8-debug.h> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h index d5b295b..d9e6638 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
@@ -5,12 +5,13 @@ #ifndef ScriptStreamer_h #define ScriptStreamer_h +#include <memory> + #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Noncopyable.h" #include "wtf/text/WTFString.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp index ee31bc6..cbc2fd1 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp
@@ -4,6 +4,8 @@ #include "bindings/core/v8/ScriptStreamer.h" +#include <memory> + #include "bindings/core/v8/ScriptSourceCode.h" #include "bindings/core/v8/ScriptStreamerThread.h" #include "bindings/core/v8/V8Binding.h" @@ -17,8 +19,7 @@ #include "public/platform/Platform.h" #include "public/platform/WebScheduler.h" #include "testing/gtest/include/gtest/gtest.h" -#include <memory> -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h index 531cc20..9ad3c830 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h
@@ -5,12 +5,13 @@ #ifndef ScriptStreamerThread_h #define ScriptStreamerThread_h +#include <memory> + #include "core/CoreExport.h" #include "public/platform/WebThread.h" +#include "v8/include/v8.h" #include "wtf/Functional.h" #include "wtf/ThreadingPrimitives.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptString.h b/third_party/WebKit/Source/bindings/core/v8/ScriptString.h index a25293d..f487288 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptString.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptString.h
@@ -32,10 +32,10 @@ #define ScriptString_h #include "bindings/core/v8/SharedPersistent.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/RefPtr.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h b/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h index 91ef8cb..3210fb1 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptValue.h
@@ -35,10 +35,10 @@ #include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/SharedPersistent.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/RefPtr.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h index cc970e7..388b12d0 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h
@@ -34,10 +34,10 @@ #include "bindings/core/v8/WrapperTypeInfo.h" #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Compiler.h" #include "wtf/Noncopyable.h" #include "wtf/TypeTraits.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.h b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.h index 8d81478..1ce53cec8 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.h +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.h
@@ -10,9 +10,9 @@ #include "platform/RuntimeEnabledFeatures.h" #include "platform/heap/HeapPage.h" #include "platform/heap/WrapperVisitor.h" +#include "v8/include/v8.h" #include "wtf/Deque.h" #include "wtf/Vector.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h b/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h index 903256d..ceb9d63 100644 --- a/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h +++ b/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
@@ -31,15 +31,16 @@ #ifndef SerializedScriptValue_h #define SerializedScriptValue_h +#include <memory> + #include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/Transferables.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/HashMap.h" #include "wtf/ThreadSafeRefCounted.h" #include "wtf/allocator/Partitions.h" #include "wtf/typed_arrays/ArrayBufferContents.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/SharedPersistent.h b/third_party/WebKit/Source/bindings/core/v8/SharedPersistent.h index 87e8475..8bf7fe1 100644 --- a/third_party/WebKit/Source/bindings/core/v8/SharedPersistent.h +++ b/third_party/WebKit/Source/bindings/core/v8/SharedPersistent.h
@@ -32,9 +32,9 @@ #define SharedPersistent_h #include "bindings/core/v8/ScopedPersistent.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" #include "wtf/RefCounted.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ToV8.h b/third_party/WebKit/Source/bindings/core/v8/ToV8.h index 3e1503a6..0f0cc79 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ToV8.h +++ b/third_party/WebKit/Source/bindings/core/v8/ToV8.h
@@ -8,6 +8,8 @@ // ToV8() provides C++ -> V8 conversion. Note that ToV8() can return an empty // handle. Call sites must check IsEmpty() before using return value. +#include <utility> + #include "bindings/core/v8/DOMDataStore.h" #include "bindings/core/v8/IDLDictionaryBase.h" #include "bindings/core/v8/ScriptState.h" @@ -16,9 +18,8 @@ #include "bindings/core/v8/V8Binding.h" #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Forward.h" -#include <utility> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/UseCounterCallback.h b/third_party/WebKit/Source/bindings/core/v8/UseCounterCallback.h index c8aab78..a0f4ab8b 100644 --- a/third_party/WebKit/Source/bindings/core/v8/UseCounterCallback.h +++ b/third_party/WebKit/Source/bindings/core/v8/UseCounterCallback.h
@@ -5,8 +5,8 @@ #ifndef UseCounterCallback_h #define UseCounterCallback_h -#include <v8.h> #include "core/CoreExport.h" +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V0CustomElementBinding.h b/third_party/WebKit/Source/bindings/core/v8/V0CustomElementBinding.h index c776a21b..4fda951 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V0CustomElementBinding.h +++ b/third_party/WebKit/Source/bindings/core/v8/V0CustomElementBinding.h
@@ -31,10 +31,11 @@ #ifndef V0CustomElementBinding_h #define V0CustomElementBinding_h -#include "bindings/core/v8/ScopedPersistent.h" -#include "wtf/Allocator.h" #include <memory> -#include <v8.h> + +#include "bindings/core/v8/ScopedPersistent.h" +#include "v8/include/v8.h" +#include "wtf/Allocator.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V0CustomElementConstructorBuilder.h b/third_party/WebKit/Source/bindings/core/v8/V0CustomElementConstructorBuilder.h index dcc3f563..5a3a906 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V0CustomElementConstructorBuilder.h +++ b/third_party/WebKit/Source/bindings/core/v8/V0CustomElementConstructorBuilder.h
@@ -35,10 +35,10 @@ #include "bindings/core/v8/V8V0CustomElementLifecycleCallbacks.h" #include "core/dom/QualifiedName.h" #include "core/dom/custom/V0CustomElementLifecycleCallbacks.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" #include "wtf/RefPtr.h" #include "wtf/text/AtomicString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8AbstractEventListener.h b/third_party/WebKit/Source/bindings/core/v8/V8AbstractEventListener.h index e59c1f4..51145f7 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8AbstractEventListener.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8AbstractEventListener.h
@@ -37,7 +37,7 @@ #include "core/CoreExport.h" #include "core/events/EventListener.h" #include "platform/heap/SelfKeepAlive.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Binding.h b/third_party/WebKit/Source/bindings/core/v8/V8Binding.h index 0f345139..24321bd 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8Binding.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
@@ -48,9 +48,9 @@ #include "bindings/core/v8/V8ValueCache.h" #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/text/AtomicString.h" #include "wtf/text/StringView.h" -#include <v8.h> namespace blink { @@ -405,6 +405,19 @@ .ToLocalChecked(); } +// As above, for string literals. The compiler doesn't optimize away the is8Bit +// and sharedImpl checks for string literals in the StringView version. +inline v8::Local<v8::String> v8String(v8::Isolate* isolate, + const char* string) { + DCHECK(isolate); + if (!string || string[0] == '\0') + return v8::String::Empty(isolate); + return v8::String::NewFromOneByte(isolate, + reinterpret_cast<const uint8_t*>(string), + v8::NewStringType::kNormal, strlen(string)) + .ToLocalChecked(); +} + inline v8::Local<v8::Value> v8StringOrNull(v8::Isolate* isolate, const AtomicString& string) { if (string.isNull()) @@ -429,6 +442,19 @@ .ToLocalChecked(); } +// As above, for string literals. The compiler doesn't optimize away the is8Bit +// check for string literals in the StringView version. +inline v8::Local<v8::String> v8AtomicString(v8::Isolate* isolate, + const char* string) { + DCHECK(isolate); + if (!string || string[0] == '\0') + return v8::String::Empty(isolate); + return v8::String::NewFromOneByte( + isolate, reinterpret_cast<const uint8_t*>(string), + v8::NewStringType::kInternalized, strlen(string)) + .ToLocalChecked(); +} + inline v8::Local<v8::String> v8StringFromUtf8(v8::Isolate* isolate, const char* bytes, int length) {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8BindingForTesting.h b/third_party/WebKit/Source/bindings/core/v8/V8BindingForTesting.h index 9193600..45694d1 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8BindingForTesting.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8BindingForTesting.h
@@ -7,9 +7,9 @@ #include "bindings/core/v8/ExceptionState.h" #include "bindings/core/v8/ScriptState.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Forward.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8CrossOriginSetterInfo.h b/third_party/WebKit/Source/bindings/core/v8/V8CrossOriginSetterInfo.h index d39567b..152bfe1 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8CrossOriginSetterInfo.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8CrossOriginSetterInfo.h
@@ -5,8 +5,8 @@ #ifndef V8CrossOriginSetterInfo_h #define V8CrossOriginSetterInfo_h +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8DOMActivityLogger.h b/third_party/WebKit/Source/bindings/core/v8/V8DOMActivityLogger.h index 1d7750e..837e1cb1 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8DOMActivityLogger.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8DOMActivityLogger.h
@@ -31,10 +31,11 @@ #ifndef V8DOMActivityLogger_h #define V8DOMActivityLogger_h -#include "core/CoreExport.h" -#include "wtf/text/WTFString.h" #include <memory> -#include <v8.h> + +#include "core/CoreExport.h" +#include "v8/include/v8.h" +#include "wtf/text/WTFString.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp b/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp index 95225f5..127ce2d 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.cpp
@@ -348,6 +348,8 @@ v8::FunctionTemplate::New(isolate, callback, v8::Local<v8::Value>(), signature, method.length); functionTemplate->RemovePrototype(); + if (method.accessCheckConfiguration == V8DOMConfiguration::CheckAccess) + functionTemplate->SetAcceptAnyReceiver(false); if (method.propertyLocationConfiguration & V8DOMConfiguration::OnInstance) instanceTemplate->Set( name, functionTemplate, @@ -358,13 +360,15 @@ static_cast<v8::PropertyAttribute>(method.attribute)); } if (method.propertyLocationConfiguration & V8DOMConfiguration::OnInterface) { - // Operations installed on the interface object must be static - // operations, so no need to specify a signature, i.e. no need to do - // type check against a holder. + // Operations installed on the interface object must be static methods, so + // no need to specify a signature, i.e. no need to do type check against a + // holder. v8::Local<v8::FunctionTemplate> functionTemplate = v8::FunctionTemplate::New(isolate, callback, v8::Local<v8::Value>(), v8::Local<v8::Signature>(), method.length); functionTemplate->RemovePrototype(); + // Similarly, there is no need to do an access check for static methods, as + // there is no holder to check against. interfaceTemplate->Set( name, functionTemplate, static_cast<v8::PropertyAttribute>(method.attribute));
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h b/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h index 94b2b8d..2c2db63 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8DOMConfiguration.h
@@ -33,8 +33,7 @@ #include "bindings/core/v8/V8Binding.h" #include "bindings/core/v8/V8DOMWrapper.h" #include "core/CoreExport.h" - -#include <v8.h> +#include "v8/include/v8.h" namespace blink { @@ -49,17 +48,23 @@ // data table driven setup. // Bitflags to show where the member will be defined. - enum PropertyLocationConfiguration { + enum PropertyLocationConfiguration : unsigned { OnInstance = 1 << 0, OnPrototype = 1 << 1, OnInterface = 1 << 2, }; - enum HolderCheckConfiguration { + // TODO(dcheng): Make these enum classes. + enum HolderCheckConfiguration : unsigned { CheckHolder, DoNotCheckHolder, }; + enum AccessCheckConfiguration : unsigned { + CheckAccess, + DoNotCheckAccess, + }; + typedef v8::Local<v8::Private> (*CachedAccessorCallback)(v8::Isolate*); // AttributeConfiguration translates into calls to SetNativeDataProperty() on @@ -78,10 +83,12 @@ // The accessor's 'result' is stored in a private property. CachedAccessorCallback cachedAccessorCallback; const WrapperTypeInfo* data; - unsigned attribute : 8; // v8::PropertyAttribute - unsigned - propertyLocationConfiguration : 3; // PropertyLocationConfiguration - unsigned holderCheckConfiguration : 1; // HolderCheckConfiguration + // v8::PropertyAttribute + unsigned attribute : 8; + // PropertyLocationConfiguration + unsigned propertyLocationConfiguration : 3; + // HolderCheckConfiguration + unsigned holderCheckConfiguration : 1; }; static void installAttributes(v8::Isolate*, @@ -130,10 +137,12 @@ // The accessor's 'result' is stored in a private property. CachedAccessorCallback cachedAccessorCallback; const WrapperTypeInfo* data; - unsigned attribute : 8; // v8::PropertyAttribute - unsigned - propertyLocationConfiguration : 3; // PropertyLocationConfiguration - unsigned holderCheckConfiguration : 1; // HolderCheckConfiguration + // v8::PropertyAttribute + unsigned attribute : 8; + // PropertyLocationConfiguration + unsigned propertyLocationConfiguration : 3; + // HolderCheckConfiguration + unsigned holderCheckConfiguration : 1; }; static void installAccessors( @@ -233,10 +242,14 @@ v8::FunctionCallback callback; v8::FunctionCallback callbackForMainWorld; int length; - unsigned attribute : 8; // v8::PropertyAttribute - unsigned - propertyLocationConfiguration : 3; // PropertyLocationConfiguration - unsigned holderCheckConfiguration : 1; // HolderCheckConfiguration + // v8::PropertyAttribute + unsigned attribute : 8; + // PropertyLocationConfiguration + unsigned propertyLocationConfiguration : 3; + // HolderCheckConfiguration + unsigned holderCheckConfiguration : 1; + // AccessCheckConfiguration + unsigned accessCheckConfiguration : 1; }; struct SymbolKeyedMethodConfiguration { @@ -254,10 +267,14 @@ v8::FunctionCallback callback; // SymbolKeyedMethodConfiguration doesn't support per-world bindings. int length; - unsigned attribute : 8; // v8::PropertyAttribute - unsigned - propertyLocationConfiguration : 3; // PropertyLocationConfiguration - unsigned holderCheckConfiguration : 1; // HolderCheckConfiguration + // v8::PropertyAttribute + unsigned attribute : 8; + // PropertyLocationConfiguration + unsigned propertyLocationConfiguration : 3; + // HolderCheckConfiguration + unsigned holderCheckConfiguration : 1; + // AccessCheckConfiguration + unsigned accessCheckConfiguration : 1; }; static void installMethods(v8::Isolate*,
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h b/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h index 2d4af91..65702f34 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.h
@@ -36,9 +36,9 @@ #include "bindings/core/v8/ScriptWrappable.h" #include "bindings/core/v8/V8Binding.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Compiler.h" #include "wtf/text/AtomicString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ErrorHandler.h b/third_party/WebKit/Source/bindings/core/v8/V8ErrorHandler.h index bf870ecb..44cc530 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ErrorHandler.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8ErrorHandler.h
@@ -32,8 +32,8 @@ #define V8ErrorHandler_h #include "bindings/core/v8/V8EventListener.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8EventListener.h b/third_party/WebKit/Source/bindings/core/v8/V8EventListener.h index 4fd3ed33..25b79b1a 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8EventListener.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8EventListener.h
@@ -32,8 +32,8 @@ #define V8EventListener_h #include "bindings/core/v8/V8AbstractEventListener.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8EventListenerHelper.h b/third_party/WebKit/Source/bindings/core/v8/V8EventListenerHelper.h index e2df0f0..7aed8d8a 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8EventListenerHelper.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8EventListenerHelper.h
@@ -34,8 +34,8 @@ #include "bindings/core/v8/V8Binding.h" #include "bindings/core/v8/V8EventListener.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8EventListenerInfo.h b/third_party/WebKit/Source/bindings/core/v8/V8EventListenerInfo.h index 12e7372..6154d77b 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8EventListenerInfo.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8EventListenerInfo.h
@@ -5,11 +5,10 @@ #ifndef V8EventListenerInfo_h #define V8EventListenerInfo_h +#include "v8/include/v8.h" #include "wtf/Vector.h" #include "wtf/text/AtomicString.h" -#include <v8.h> - namespace blink { class V8EventListenerInfo {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCController.h b/third_party/WebKit/Source/bindings/core/v8/V8GCController.h index ca47e1e..86610f44 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8GCController.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8GCController.h
@@ -33,9 +33,9 @@ #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8-profiler.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8-profiler.h> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp b/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp index 2a6f8438..70a87901 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
@@ -32,9 +32,9 @@ #include "bindings/core/v8/V8PerIsolateData.h" #include "public/platform/Platform.h" +#include "v8/include/v8.h" #include "wtf/CurrentTime.h" #include "wtf/StdLibExtras.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h b/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h index e48afb4..cd2e1ed 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8GlobalValueMap.h
@@ -5,11 +5,11 @@ #ifndef V8GlobalValueMap_h #define V8GlobalValueMap_h +#include "v8-util.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/HashMap.h" #include "wtf/text/StringHash.h" -#include <v8-util.h> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8HTMLConstructor.h b/third_party/WebKit/Source/bindings/core/v8/V8HTMLConstructor.h index b784f80..1c3c402 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8HTMLConstructor.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8HTMLConstructor.h
@@ -7,7 +7,7 @@ #include "bindings/core/v8/WrapperTypeInfo.h" #include "core/HTMLElementTypeHelpers.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8HiddenValue.h b/third_party/WebKit/Source/bindings/core/v8/V8HiddenValue.h index 759b00a..a0c49759 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8HiddenValue.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8HiddenValue.h
@@ -5,13 +5,14 @@ #ifndef V8HiddenValue_h #define V8HiddenValue_h +#include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptPromiseProperties.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/PtrUtil.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp index 687d1d0..ac8405e3 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
@@ -25,9 +25,8 @@ #include "bindings/core/v8/V8Initializer.h" -#include <v8-debug.h> -#include <v8-profiler.h> #include <memory> + #include "bindings/core/v8/DOMWrapperWorld.h" #include "bindings/core/v8/RejectedPromises.h" #include "bindings/core/v8/RetainedDOMInfo.h" @@ -61,6 +60,8 @@ #include "public/platform/Platform.h" #include "public/platform/WebScheduler.h" #include "public/platform/WebThread.h" +#include "v8/include/v8-debug.h" +#include "v8/include/v8-profiler.h" #include "wtf/AddressSanitizer.h" #include "wtf/Assertions.h" #include "wtf/PtrUtil.h"
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h index 0fea5842..42fc7bce 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.h
@@ -27,8 +27,8 @@ #define V8Initializer_h #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8IteratorResultValue.h b/third_party/WebKit/Source/bindings/core/v8/V8IteratorResultValue.h index f8ddb511..6a0d8449 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8IteratorResultValue.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8IteratorResultValue.h
@@ -8,7 +8,7 @@ #include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/ToV8.h" #include "core/CoreExport.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8LazyEventListener.h b/third_party/WebKit/Source/bindings/core/v8/V8LazyEventListener.h index 9d70407d..ccda256 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8LazyEventListener.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8LazyEventListener.h
@@ -32,9 +32,9 @@ #define V8LazyEventListener_h #include "bindings/core/v8/V8AbstractEventListener.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" #include "wtf/text/TextPosition.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8MutationCallback.h b/third_party/WebKit/Source/bindings/core/v8/V8MutationCallback.h index 4002f206..ebbf26c 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8MutationCallback.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8MutationCallback.h
@@ -29,8 +29,8 @@ #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptState.h" #include "core/dom/MutationCallback.h" +#include "v8/include/v8.h" #include "wtf/RefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.h b/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.h index 1878e2e2..42dca38 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.h
@@ -34,8 +34,8 @@ #include "bindings/core/v8/ScopedPersistent.h" #include "core/dom/NodeFilterCondition.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ObjectBuilder.h b/third_party/WebKit/Source/bindings/core/v8/V8ObjectBuilder.h index aa9dccfb..898e09236 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ObjectBuilder.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8ObjectBuilder.h
@@ -8,8 +8,8 @@ #include "bindings/core/v8/ToV8.h" #include "core/CoreExport.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ObjectConstructor.h b/third_party/WebKit/Source/bindings/core/v8/V8ObjectConstructor.h index 5c26a6e..52d3121cd 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ObjectConstructor.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8ObjectConstructor.h
@@ -33,10 +33,9 @@ #include "bindings/core/v8/V8PerIsolateData.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> - namespace blink { class ConstructorMode {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PagePopupControllerBinding.h b/third_party/WebKit/Source/bindings/core/v8/V8PagePopupControllerBinding.h index 79fc8f9..bd338bff 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8PagePopupControllerBinding.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8PagePopupControllerBinding.h
@@ -6,8 +6,8 @@ #define V8PagePopupControllerBinding_h #include "bindings/core/v8/WrapperTypeInfo.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h b/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h index ec82fc13..4a57a3a 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h
@@ -31,6 +31,8 @@ #ifndef V8PerContextData_h #define V8PerContextData_h +#include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/V0CustomElementBinding.h" #include "bindings/core/v8/V8GlobalValueMap.h" @@ -38,13 +40,12 @@ #include "core/CoreExport.h" #include "gin/public/context_holder.h" #include "gin/public/gin_embedders.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/HashMap.h" #include "wtf/Vector.h" #include "wtf/text/AtomicString.h" #include "wtf/text/AtomicStringHash.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp index dc94cf4..a125c6df 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
@@ -25,8 +25,8 @@ #include "bindings/core/v8/V8PerIsolateData.h" -#include <v8-debug.h> #include <memory> + #include "bindings/core/v8/DOMDataStore.h" #include "bindings/core/v8/ScriptSourceCode.h" #include "bindings/core/v8/V8HiddenValue.h" @@ -36,6 +36,7 @@ #include "bindings/core/v8/V8ValueCache.h" #include "platform/ScriptForbiddenScope.h" #include "public/platform/Platform.h" +#include "v8/include/v8-debug.h" #include "wtf/LeakAnnotations.h" #include "wtf/PtrUtil.h"
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.h b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.h index 305bab8..17d08c7 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.h
@@ -26,8 +26,8 @@ #ifndef V8PerIsolateData_h #define V8PerIsolateData_h -#include <v8.h> #include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/ScriptWrappableVisitor.h" @@ -37,6 +37,7 @@ #include "gin/public/isolate_holder.h" #include "gin/public/v8_idle_task_runner.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/HashMap.h" #include "wtf/Noncopyable.h" #include "wtf/Vector.h"
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PersistentValueVector.h b/third_party/WebKit/Source/bindings/core/v8/V8PersistentValueVector.h index d5f37c8..780e2ce 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8PersistentValueVector.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8PersistentValueVector.h
@@ -31,10 +31,10 @@ #ifndef V8PersistentValueVector_h #define V8PersistentValueVector_h +#include "v8/include/v8-util.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Vector.h" -#include <v8-util.h> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h b/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h index f0d103bd..baf58f6 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h
@@ -5,15 +5,16 @@ #ifndef V8PrivateProperty_h #define V8PrivateProperty_h +#include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptPromiseProperties.h" #include "bindings/core/v8/V8BindingMacros.h" #include "bindings/core/v8/V8PerIsolateData.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/PtrUtil.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h index 4c01ebc..9a516e85 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.h
@@ -26,17 +26,18 @@ #ifndef V8ScriptRunner_h #define V8ScriptRunner_h +#include <stdint.h> + #include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/ScriptValue.h" #include "bindings/core/v8/V8BindingMacros.h" #include "bindings/core/v8/V8CacheOptions.h" #include "core/CoreExport.h" #include "platform/loader/fetch/AccessControlStatus.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/text/TextPosition.h" #include "wtf/text/WTFString.h" -#include <stdint.h> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunnerTest.cpp b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunnerTest.cpp index 95dafb66..46e9f79c 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunnerTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunnerTest.cpp
@@ -11,7 +11,7 @@ #include "platform/loader/fetch/CachedMetadata.h" #include "platform/loader/fetch/CachedMetadataHandler.h" #include "testing/gtest/include/gtest/gtest.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h b/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h index 6be2547..7b453d9 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8StringResource.h
@@ -28,10 +28,10 @@ #include "bindings/core/v8/ExceptionState.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Threading.h" #include "wtf/text/AtomicString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.h b/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.h index 98cfd79b..f86c193 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.h
@@ -27,9 +27,9 @@ #include "core/CoreExport.h" #include "core/dom/ExceptionCode.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8V0CustomElementLifecycleCallbacks.h b/third_party/WebKit/Source/bindings/core/v8/V8V0CustomElementLifecycleCallbacks.h index 7a36751..821ffbf 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8V0CustomElementLifecycleCallbacks.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8V0CustomElementLifecycleCallbacks.h
@@ -31,12 +31,13 @@ #ifndef V8V0CustomElementLifecycleCallbacks_h #define V8V0CustomElementLifecycleCallbacks_h +#include <memory> + #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptState.h" #include "core/dom/custom/V0CustomElementLifecycleCallbacks.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" -#include <memory> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.h b/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.h index 6a0fc91..42b42da 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8ValueCache.h
@@ -28,13 +28,13 @@ #include "bindings/core/v8/V8GlobalValueMap.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/HashMap.h" #include "wtf/Noncopyable.h" #include "wtf/RefPtr.h" #include "wtf/text/AtomicString.h" #include "wtf/text/WTFString.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8WorkerGlobalScopeEventListener.h b/third_party/WebKit/Source/bindings/core/v8/V8WorkerGlobalScopeEventListener.h index 84bd402..4ba7004 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8WorkerGlobalScopeEventListener.h +++ b/third_party/WebKit/Source/bindings/core/v8/V8WorkerGlobalScopeEventListener.h
@@ -32,8 +32,8 @@ #define V8WorkerGlobalScopeEventListener_h #include "bindings/core/v8/V8EventListener.h" +#include "v8/include/v8.h" #include "wtf/PassRefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp index b750f26..1614e622 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp
@@ -30,15 +30,16 @@ #include "bindings/core/v8/WindowProxy.h" +#include <utility> + #include "bindings/core/v8/V8Binding.h" #include "bindings/core/v8/V8DOMWrapper.h" #include "bindings/core/v8/V8GCForContextDispose.h" #include "bindings/core/v8/V8PagePopupControllerBinding.h" #include "core/frame/DOMWindow.h" #include "core/frame/Frame.h" +#include "v8/include/v8.h" #include "wtf/Assertions.h" -#include <utility> -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h index 9089f01..0a52e8e 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h +++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
@@ -35,8 +35,8 @@ #include "bindings/core/v8/ScopedPersistent.h" #include "bindings/core/v8/ScriptState.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/RefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h b/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h index a70c384d..f05f501 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h +++ b/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h
@@ -5,14 +5,15 @@ #ifndef WindowProxyManager_h #define WindowProxyManager_h +#include <utility> + #include "bindings/core/v8/LocalWindowProxy.h" #include "bindings/core/v8/RemoteWindowProxy.h" #include "core/CoreExport.h" #include "core/frame/LocalFrame.h" #include "core/frame/RemoteFrame.h" #include "platform/heap/Handle.h" -#include <utility> -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.cpp b/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.cpp index 558394c..8c7ef00 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.cpp
@@ -30,6 +30,8 @@ #include "bindings/core/v8/WorkerOrWorkletScriptController.h" +#include <memory> + #include "bindings/core/v8/ScriptController.h" #include "bindings/core/v8/ScriptSourceCode.h" #include "bindings/core/v8/ScriptValue.h" @@ -48,8 +50,7 @@ #include "core/workers/WorkerThread.h" #include "platform/heap/ThreadState.h" #include "public/platform/Platform.h" -#include <memory> -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.h b/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.h index 563b4ac3..e95f913 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.h +++ b/third_party/WebKit/Source/bindings/core/v8/WorkerOrWorkletScriptController.h
@@ -36,9 +36,9 @@ #include "bindings/core/v8/V8Binding.h" #include "bindings/core/v8/V8CacheOptions.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/text/TextPosition.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h index d0225e4..a5cd943 100644 --- a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h +++ b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h
@@ -34,9 +34,9 @@ #include "bindings/core/v8/ActiveScriptWrappable.h" #include "gin/public/wrapper_info.h" #include "platform/heap/Handle.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Assertions.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/custom/V8CustomXPathNSResolver.h b/third_party/WebKit/Source/bindings/core/v8/custom/V8CustomXPathNSResolver.h index ff2c0be6..6c8bd29f 100644 --- a/third_party/WebKit/Source/bindings/core/v8/custom/V8CustomXPathNSResolver.h +++ b/third_party/WebKit/Source/bindings/core/v8/custom/V8CustomXPathNSResolver.h
@@ -33,9 +33,9 @@ #include "bindings/core/v8/ScriptState.h" #include "core/xml/XPathNSResolver.h" +#include "v8/include/v8.h" #include "wtf/Forward.h" #include "wtf/RefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/custom/V8XMLHttpRequestCustom.cpp b/third_party/WebKit/Source/bindings/core/v8/custom/V8XMLHttpRequestCustom.cpp index 81a625b..42c60e0 100644 --- a/third_party/WebKit/Source/bindings/core/v8/custom/V8XMLHttpRequestCustom.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/custom/V8XMLHttpRequestCustom.cpp
@@ -43,7 +43,7 @@ #include "core/inspector/InspectorInstrumentation.h" #include "core/workers/WorkerGlobalScope.h" #include "core/xmlhttprequest/XMLHttpRequest.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFuzzer.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFuzzer.cpp index ce5c386..336309c 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFuzzer.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFuzzer.cpp
@@ -4,6 +4,10 @@ #include "bindings/core/v8/SerializedScriptValue.h" +#include <algorithm> +#include <cstddef> +#include <cstdint> + #include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/V8PerIsolateData.h" #include "core/dom/MessagePort.h" @@ -12,13 +16,9 @@ #include "platform/testing/BlinkFuzzerTestSupport.h" #include "public/platform/WebBlobInfo.h" #include "public/platform/WebMessagePortChannel.h" +#include "v8/include/v8.h" #include "wtf/StringHasher.h" -#include <algorithm> -#include <cstddef> -#include <cstdint> -#include <v8.h> - namespace blink { namespace {
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h index 0f89e86..a86b898 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h
@@ -9,10 +9,10 @@ #include "bindings/core/v8/SerializationTag.h" #include "bindings/core/v8/SerializedScriptValue.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Noncopyable.h" #include "wtf/RefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.h b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.h index 9ba268b..8aaf437 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.h +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.h
@@ -10,10 +10,10 @@ #include "bindings/core/v8/SerializationTag.h" #include "bindings/core/v8/SerializedScriptValue.h" #include "core/CoreExport.h" +#include "v8/include/v8.h" #include "wtf/Allocator.h" #include "wtf/Noncopyable.h" #include "wtf/RefPtr.h" -#include <v8.h> namespace blink {
diff --git a/third_party/WebKit/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp b/third_party/WebKit/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp index 00817475..4b99055 100644 --- a/third_party/WebKit/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp +++ b/third_party/WebKit/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp
@@ -27,7 +27,7 @@ #include "bindings/core/v8/V8Binding.h" #include "modules/device_orientation/DeviceMotionData.h" -#include <v8.h> +#include "v8/include/v8.h" namespace blink {
diff --git a/third_party/WebKit/Source/bindings/scripts/idl_definitions.py b/third_party/WebKit/Source/bindings/scripts/idl_definitions.py index 4b00b56f..c8b592f 100644 --- a/third_party/WebKit/Source/bindings/scripts/idl_definitions.py +++ b/third_party/WebKit/Source/bindings/scripts/idl_definitions.py
@@ -525,7 +525,10 @@ def __str__(self): if self.idl_type == 'DOMString': - return 'String("%s")' % self.value + if self.value: + return '"%s"' % self.value + else: + return 'WTF::emptyString' if self.idl_type == 'integer': return '%d' % self.value if self.idl_type == 'float':
diff --git a/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl index d855596..be3b55b 100644 --- a/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
@@ -524,7 +524,7 @@ {% filter exposed(iterator_method.exposed_test) %} {% filter runtime_enabled(iterator_method.runtime_enabled_feature_name) %} // Iterator (@@iterator) - const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, {{v8_class_or_partial}}::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; + const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, {{v8_class_or_partial}}::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess }; V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature, symbolKeyedIteratorConfiguration); {% endfilter %} {% endfilter %}
diff --git a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl index 266b360b..212b495 100644 --- a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
@@ -29,47 +29,17 @@ return; } {% endif %} - {% set local_dom_window_only = interface_name == 'Window' and not method.is_cross_origin %} - {% if local_dom_window_only %} - {% if method.is_check_security_for_receiver %} - {{cpp_class}}* uncheckedImpl = {{v8_class}}::toImpl(info.Holder()); - {% else %} + {% if interface_name == 'Window' and not method.is_cross_origin %} // Same-origin methods are never exposed via the cross-origin interceptors. // Since same-origin access requires a LocalDOMWindow, it is safe to downcast // here. LocalDOMWindow* impl = toLocalDOMWindow({{v8_class}}::toImpl(info.Holder())); - {% endif %}{# method.is_check_security_for_receiver #} {% else %} {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder()); - {% endif %}{# local_dom_window_only #} + {% endif %}{# interface_name == 'Window' and not method.is_cross_origin #} {% endif %}{# not method.is_static #} {# Security checks #} - {% if method.is_check_security_for_receiver %} - {{define_exception_state}} - {% if interface_name == 'EventTarget' %} - // Performance hack for EventTarget. Checking whether it's a Window or not - // prior to the call to BindingSecurity::shouldAllowAccessTo increases 30% - // of speed performance on Android Nexus 7 as of Dec 2015. ALWAYS_INLINE - // didn't work in this case. - if (const DOMWindow* window = impl->toDOMWindow()) { - if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()), window, exceptionState)) { - return; - } - } - {% else %}{# interface_name == 'EventTarget' #} - {% if local_dom_window_only %} - if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()), uncheckedImpl, exceptionState)) { - {% else %} - if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()), impl, exceptionState)) { - {% endif %}{# local_dom_window_only #} - return; - } - {% if local_dom_window_only %} - LocalDOMWindow* impl = toLocalDOMWindow(uncheckedImpl); - {% endif %}{# local_dom_window_only #} - {% endif %}{# interface_name == 'EventTarget' #} - {% endif %}{# method.is_check_security_for_receiver #} {% if method.is_check_security_for_return_value %} {{define_exception_state}} if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()), {{method.cpp_value}}, exceptionState)) { @@ -629,7 +599,9 @@ if method.property_attributes else 'v8::None' %} {% set holder_check = 'V8DOMConfiguration::DoNotCheckHolder' if method.returns_promise else 'V8DOMConfiguration::CheckHolder' %} -{"{{method.name}}", {{method_callback}}, {{method_callback_for_main_world}}, {{method.length}}, {{property_attribute}}, {{property_location(method)}}, {{holder_check}}} +{% set access_check = 'V8DOMConfiguration::CheckAccess' + if method.is_check_security_for_receiver else 'V8DOMConfiguration::DoNotCheckAccess' %} +{"{{method.name}}", {{method_callback}}, {{method_callback_for_main_world}}, {{method.length}}, {{property_attribute}}, {{property_location(method)}}, {{holder_check}}, {{access_check}}} {%- endmacro %}
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp index 70b8662..d43d8761 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp
@@ -24,11 +24,11 @@ TestDictionary::TestDictionary() { setDoubleOrStringMember(DoubleOrString::fromDouble(3.14)); - setEnumMember(String("foo")); + setEnumMember("foo"); setLongMember(1); - setOtherDoubleOrStringMember(DoubleOrString::fromString(String("default string value"))); + setOtherDoubleOrStringMember(DoubleOrString::fromString("default string value")); setRestrictedDoubleMember(3.14); - setStringOrNullMember(String("default string value")); + setStringOrNullMember("default string value"); setStringSequenceMember(Vector<String>()); setTestInterfaceGarbageCollectedSequenceMember(HeapVector<Member<TestInterfaceGarbageCollected>>()); setTestInterfaceSequenceMember(HeapVector<Member<TestInterfaceImplementation>>());
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp index 7474c86..ab3fcf0 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp
@@ -14,7 +14,7 @@ namespace blink { TestDictionaryDerivedImplementedAs::TestDictionaryDerivedImplementedAs() { - setDerivedStringMemberWithDefault(String("default string value")); + setDerivedStringMemberWithDefault("default string value"); } TestDictionaryDerivedImplementedAs::~TestDictionaryDerivedImplementedAs() {}
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp index 4312a0ed..e13a7ce 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
@@ -284,14 +284,14 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestCallbackFunctionsMethods[] = { - {"returnCallbackFunctionMethod", V8TestCallbackFunctions::returnCallbackFunctionMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"returnCallbackFunctionMethod2", V8TestCallbackFunctions::returnCallbackFunctionMethod2MethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodCallbackFunctionInArg", V8TestCallbackFunctions::voidMethodCallbackFunctionInArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodCallbackFunctionInArg2", V8TestCallbackFunctions::voidMethodCallbackFunctionInArg2MethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodCallbackFunctionWithReturnValueInArg", V8TestCallbackFunctions::voidMethodCallbackFunctionWithReturnValueInArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOptionalCallbackFunctionInArg", V8TestCallbackFunctions::voidMethodOptionalCallbackFunctionInArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodNullableCallbackFunctionInArg", V8TestCallbackFunctions::voidMethodNullableCallbackFunctionInArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"customElementCallbacksMethod", V8TestCallbackFunctions::customElementCallbacksMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"returnCallbackFunctionMethod", V8TestCallbackFunctions::returnCallbackFunctionMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"returnCallbackFunctionMethod2", V8TestCallbackFunctions::returnCallbackFunctionMethod2MethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodCallbackFunctionInArg", V8TestCallbackFunctions::voidMethodCallbackFunctionInArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodCallbackFunctionInArg2", V8TestCallbackFunctions::voidMethodCallbackFunctionInArg2MethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodCallbackFunctionWithReturnValueInArg", V8TestCallbackFunctions::voidMethodCallbackFunctionWithReturnValueInArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOptionalCallbackFunctionInArg", V8TestCallbackFunctions::voidMethodOptionalCallbackFunctionInArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodNullableCallbackFunctionInArg", V8TestCallbackFunctions::voidMethodNullableCallbackFunctionInArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"customElementCallbacksMethod", V8TestCallbackFunctions::customElementCallbacksMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestCallbackFunctionsTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp index b1dda0b..c3503f0 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
@@ -649,7 +649,7 @@ if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "enumMember"), v8String(isolate, impl.enumMember())))) return false; } else { - if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "enumMember"), v8String(isolate, String("foo"))))) + if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "enumMember"), v8String(isolate, "foo")))) return false; } @@ -695,7 +695,7 @@ if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "otherDoubleOrStringMember"), ToV8(impl.otherDoubleOrStringMember(), creationContext, isolate)))) return false; } else { - if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "otherDoubleOrStringMember"), ToV8(DoubleOrString::fromString(String("default string value")), creationContext, isolate)))) + if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "otherDoubleOrStringMember"), ToV8(DoubleOrString::fromString("default string value"), creationContext, isolate)))) return false; } @@ -732,7 +732,7 @@ if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "stringOrNullMember"), v8String(isolate, impl.stringOrNullMember())))) return false; } else { - if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "stringOrNullMember"), v8String(isolate, String("default string value"))))) + if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "stringOrNullMember"), v8String(isolate, "default string value")))) return false; }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp index 3e79fa2..a748698 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
@@ -114,7 +114,7 @@ if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "derivedStringMemberWithDefault"), v8String(isolate, impl.derivedStringMemberWithDefault())))) return false; } else { - if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "derivedStringMemberWithDefault"), v8String(isolate, String("default string value"))))) + if (!v8CallBoolean(dictionary->CreateDataProperty(isolate->GetCurrentContext(), v8AtomicString(isolate, "derivedStringMemberWithDefault"), v8String(isolate, "default string value")))) return false; }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp index 0f95279..e2090788d 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
@@ -113,7 +113,7 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestExceptionMethods[] = { - {"toString", V8TestException::toStringMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"toString", V8TestException::toStringMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestException::constructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp index ca08045..b700021 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
@@ -163,7 +163,7 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestIntegerIndexedMethods[] = { - {"voidMethodDocument", V8TestIntegerIndexed::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodDocument", V8TestIntegerIndexed::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestIntegerIndexedTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp index 2f4548c..9b4f697d 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
@@ -163,7 +163,7 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestIntegerIndexedGlobalMethods[] = { - {"voidMethodDocument", V8TestIntegerIndexedGlobal::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder}, + {"voidMethodDocument", V8TestIntegerIndexedGlobal::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestIntegerIndexedGlobalTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp index 36568f1..e792111 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
@@ -163,7 +163,7 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestIntegerIndexedPrimaryGlobalMethods[] = { - {"voidMethodDocument", V8TestIntegerIndexedPrimaryGlobal::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder}, + {"voidMethodDocument", V8TestIntegerIndexedPrimaryGlobal::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestIntegerIndexedPrimaryGlobalTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp index 389ede3..48cdd5d 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
@@ -2642,29 +2642,29 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterfaceMethods[] = { - {"voidMethodTestInterfaceEmptyArg", V8TestInterface::voidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleArgFloatArg", V8TestInterface::voidMethodDoubleArgFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUnrestrictedDoubleArgUnrestrictedFloatArg", V8TestInterface::voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestEnumArg", V8TestInterface::voidMethodTestEnumArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethod", V8TestInterface::voidMethodMethodCallback, V8TestInterface::voidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"alwaysExposedMethod", V8TestInterface::alwaysExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"alwaysExposedStaticMethod", V8TestInterface::alwaysExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"staticReturnDOMWrapperMethod", V8TestInterface::staticReturnDOMWrapperMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"legacyInterfaceTypeCheckingMethod", V8TestInterface::legacyInterfaceTypeCheckingMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"implementsVoidMethod", V8TestInterface::implementsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"implementsComplexMethod", V8TestInterface::implementsComplexMethodMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"implementsCustomVoidMethod", V8TestInterface::implementsCustomVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"implementsStaticVoidMethod", V8TestInterface::implementsStaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"implements3VoidMethod", V8TestInterface::implements3VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"implements3StaticVoidMethod", V8TestInterface::implements3StaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"voidMethodPartialOverload", V8TestInterface::voidMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"staticVoidMethodPartialOverload", V8TestInterface::staticVoidMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"promiseMethodPartialOverload", V8TestInterface::promiseMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder}, - {"staticPromiseMethodPartialOverload", V8TestInterface::staticPromiseMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::DoNotCheckHolder}, - {"partial2VoidMethod", V8TestInterface::partial2VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"partial2StaticVoidMethod", V8TestInterface::partial2StaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"toJSON", V8TestInterface::toJSONMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"toString", V8TestInterface::toStringMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodTestInterfaceEmptyArg", V8TestInterface::voidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleArgFloatArg", V8TestInterface::voidMethodDoubleArgFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUnrestrictedDoubleArgUnrestrictedFloatArg", V8TestInterface::voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestEnumArg", V8TestInterface::voidMethodTestEnumArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethod", V8TestInterface::voidMethodMethodCallback, V8TestInterface::voidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"alwaysExposedMethod", V8TestInterface::alwaysExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"alwaysExposedStaticMethod", V8TestInterface::alwaysExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticReturnDOMWrapperMethod", V8TestInterface::staticReturnDOMWrapperMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"legacyInterfaceTypeCheckingMethod", V8TestInterface::legacyInterfaceTypeCheckingMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implementsVoidMethod", V8TestInterface::implementsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implementsComplexMethod", V8TestInterface::implementsComplexMethodMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implementsCustomVoidMethod", V8TestInterface::implementsCustomVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implementsStaticVoidMethod", V8TestInterface::implementsStaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implements3VoidMethod", V8TestInterface::implements3VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implements3StaticVoidMethod", V8TestInterface::implements3StaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodPartialOverload", V8TestInterface::voidMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticVoidMethodPartialOverload", V8TestInterface::staticVoidMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"promiseMethodPartialOverload", V8TestInterface::promiseMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticPromiseMethodPartialOverload", V8TestInterface::staticPromiseMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::DoNotCheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"partial2VoidMethod", V8TestInterface::partial2VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"partial2StaticVoidMethod", V8TestInterface::partial2StaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toJSON", V8TestInterface::toJSONMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toString", V8TestInterface::toStringMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestInterface::installV8TestInterfaceTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) { @@ -2738,33 +2738,33 @@ instanceTemplate->SetHandler(namedPropertyHandlerConfig); // Iterator (@@iterator) - const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestInterface::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; + const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestInterface::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess }; V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature, symbolKeyedIteratorConfiguration); instanceTemplate->SetCallAsFunctionHandler(V8TestInterface::legacyCallCustom); if (RuntimeEnabledFeatures::implements2FeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration implements2VoidMethodMethodConfiguration = {"implements2VoidMethod", V8TestInterface::implements2VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration implements2VoidMethodMethodConfiguration = {"implements2VoidMethod", V8TestInterface::implements2VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, implements2VoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialVoidMethodMethodConfiguration = {"partialVoidMethod", V8TestInterface::partialVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialVoidMethodMethodConfiguration = {"partialVoidMethod", V8TestInterface::partialVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, partialVoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialStaticVoidMethodMethodConfiguration = {"partialStaticVoidMethod", V8TestInterface::partialStaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialStaticVoidMethodMethodConfiguration = {"partialStaticVoidMethod", V8TestInterface::partialStaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, partialStaticVoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialVoidMethodLongArgMethodConfiguration = {"partialVoidMethodLongArg", V8TestInterface::partialVoidMethodLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialVoidMethodLongArgMethodConfiguration = {"partialVoidMethodLongArg", V8TestInterface::partialVoidMethodLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, partialVoidMethodLongArgMethodConfiguration); } if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialCallWithExecutionContextRaisesExceptionVoidMethodMethodConfiguration = {"partialCallWithExecutionContextRaisesExceptionVoidMethod", V8TestInterface::partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialCallWithExecutionContextRaisesExceptionVoidMethodMethodConfiguration = {"partialCallWithExecutionContextRaisesExceptionVoidMethod", V8TestInterface::partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, partialCallWithExecutionContextRaisesExceptionVoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::partialFeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialVoidMethodPartialCallbackTypeArgMethodConfiguration = {"partialVoidMethodPartialCallbackTypeArg", V8TestInterface::partialVoidMethodPartialCallbackTypeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialVoidMethodPartialCallbackTypeArgMethodConfiguration = {"partialVoidMethodPartialCallbackTypeArg", V8TestInterface::partialVoidMethodPartialCallbackTypeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, partialVoidMethodPartialCallbackTypeArgMethodConfiguration); } } @@ -2886,65 +2886,65 @@ } } if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration workerExposedMethodMethodConfiguration = {"workerExposedMethod", V8TestInterface::workerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration workerExposedMethodMethodConfiguration = {"workerExposedMethod", V8TestInterface::workerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, workerExposedMethodMethodConfiguration); } if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration windowExposedMethodMethodConfiguration = {"windowExposedMethod", V8TestInterface::windowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration windowExposedMethodMethodConfiguration = {"windowExposedMethod", V8TestInterface::windowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, windowExposedMethodMethodConfiguration); } if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration workerExposedStaticMethodMethodConfiguration = {"workerExposedStaticMethod", V8TestInterface::workerExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration workerExposedStaticMethodMethodConfiguration = {"workerExposedStaticMethod", V8TestInterface::workerExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, workerExposedStaticMethodMethodConfiguration); } if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration windowExposedStaticMethodMethodConfiguration = {"windowExposedStaticMethod", V8TestInterface::windowExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration windowExposedStaticMethodMethodConfiguration = {"windowExposedStaticMethod", V8TestInterface::windowExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, windowExposedStaticMethodMethodConfiguration); } if (executionContext && (executionContext->isDocument())) { if (RuntimeEnabledFeatures::featureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration methodWithExposedAndRuntimeEnabledFlagMethodConfiguration = {"methodWithExposedAndRuntimeEnabledFlag", V8TestInterface::methodWithExposedAndRuntimeEnabledFlagMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration methodWithExposedAndRuntimeEnabledFlagMethodConfiguration = {"methodWithExposedAndRuntimeEnabledFlag", V8TestInterface::methodWithExposedAndRuntimeEnabledFlagMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, methodWithExposedAndRuntimeEnabledFlagMethodConfiguration); } } if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration overloadMethodWithExposedAndRuntimeEnabledFlagMethodConfiguration = {"overloadMethodWithExposedAndRuntimeEnabledFlag", V8TestInterface::overloadMethodWithExposedAndRuntimeEnabledFlagMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration overloadMethodWithExposedAndRuntimeEnabledFlagMethodConfiguration = {"overloadMethodWithExposedAndRuntimeEnabledFlag", V8TestInterface::overloadMethodWithExposedAndRuntimeEnabledFlagMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, overloadMethodWithExposedAndRuntimeEnabledFlagMethodConfiguration); } if (executionContext && ((executionContext->isDocument() && RuntimeEnabledFeatures::featureNameEnabled()) || (executionContext->isWorkerGlobalScope() && RuntimeEnabledFeatures::featureName2Enabled()))) { - const V8DOMConfiguration::MethodConfiguration methodWithExposedHavingRuntimeEnabldFlagMethodConfiguration = {"methodWithExposedHavingRuntimeEnabldFlag", V8TestInterface::methodWithExposedHavingRuntimeEnabldFlagMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration methodWithExposedHavingRuntimeEnabldFlagMethodConfiguration = {"methodWithExposedHavingRuntimeEnabldFlag", V8TestInterface::methodWithExposedHavingRuntimeEnabldFlagMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, methodWithExposedHavingRuntimeEnabldFlagMethodConfiguration); } if (executionContext && (executionContext->isDocument() || executionContext->isServiceWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration windowAndServiceWorkerExposedMethodMethodConfiguration = {"windowAndServiceWorkerExposedMethod", V8TestInterface::windowAndServiceWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration windowAndServiceWorkerExposedMethodMethodConfiguration = {"windowAndServiceWorkerExposedMethod", V8TestInterface::windowAndServiceWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, windowAndServiceWorkerExposedMethodMethodConfiguration); } if (executionContext && (executionContext->isSecureContext())) { - const V8DOMConfiguration::MethodConfiguration secureContextMethodMethodConfiguration = {"secureContextMethod", V8TestInterface::secureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextMethodMethodConfiguration = {"secureContextMethod", V8TestInterface::secureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextMethodMethodConfiguration); } if (executionContext && (executionContext->isSecureContext())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration secureContextRuntimeEnabledMethodMethodConfiguration = {"secureContextRuntimeEnabledMethod", V8TestInterface::secureContextRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextRuntimeEnabledMethodMethodConfiguration = {"secureContextRuntimeEnabledMethod", V8TestInterface::secureContextRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextRuntimeEnabledMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedMethodMethodConfiguration = {"secureContextWindowExposedMethod", V8TestInterface::secureContextWindowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedMethodMethodConfiguration = {"secureContextWindowExposedMethod", V8TestInterface::secureContextWindowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWindowExposedMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedMethodMethodConfiguration = {"secureContextWorkerExposedMethod", V8TestInterface::secureContextWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedMethodMethodConfiguration = {"secureContextWorkerExposedMethod", V8TestInterface::secureContextWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWorkerExposedMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isDocument())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWindowExposedRuntimeEnabledMethod", V8TestInterface::secureContextWindowExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWindowExposedRuntimeEnabledMethod", V8TestInterface::secureContextWindowExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWindowExposedRuntimeEnabledMethodMethodConfiguration); } } @@ -2952,41 +2952,41 @@ if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isWorkerGlobalScope())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWorkerExposedRuntimeEnabledMethod", V8TestInterface::secureContextWorkerExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWorkerExposedRuntimeEnabledMethod", V8TestInterface::secureContextWorkerExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration); } } } if (executionContext && (executionContext->isSecureContext())) { - const V8DOMConfiguration::MethodConfiguration partial2SecureContextMethodMethodConfiguration = {"partial2SecureContextMethod", V8TestInterface::partial2SecureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partial2SecureContextMethodMethodConfiguration = {"partial2SecureContextMethod", V8TestInterface::partial2SecureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partial2SecureContextMethodMethodConfiguration); } if (executionContext && (executionContext->isSecureContext())) { - const V8DOMConfiguration::MethodConfiguration partialSecureContextMethodMethodConfiguration = {"partialSecureContextMethod", V8TestInterface::partialSecureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialSecureContextMethodMethodConfiguration = {"partialSecureContextMethod", V8TestInterface::partialSecureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partialSecureContextMethodMethodConfiguration); } if (executionContext && (executionContext->isSecureContext())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialSecureContextRuntimeEnabledMethodMethodConfiguration = {"partialSecureContextRuntimeEnabledMethod", V8TestInterface::partialSecureContextRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialSecureContextRuntimeEnabledMethodMethodConfiguration = {"partialSecureContextRuntimeEnabledMethod", V8TestInterface::partialSecureContextRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partialSecureContextRuntimeEnabledMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration partialSecureContextWindowExposedMethodMethodConfiguration = {"partialSecureContextWindowExposedMethod", V8TestInterface::partialSecureContextWindowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialSecureContextWindowExposedMethodMethodConfiguration = {"partialSecureContextWindowExposedMethod", V8TestInterface::partialSecureContextWindowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partialSecureContextWindowExposedMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration partialSecureContextWorkerExposedMethodMethodConfiguration = {"partialSecureContextWorkerExposedMethod", V8TestInterface::partialSecureContextWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialSecureContextWorkerExposedMethodMethodConfiguration = {"partialSecureContextWorkerExposedMethod", V8TestInterface::partialSecureContextWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partialSecureContextWorkerExposedMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isDocument())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialSecureContextWindowExposedRuntimeEnabledMethodMethodConfiguration = {"partialSecureContextWindowExposedRuntimeEnabledMethod", V8TestInterface::partialSecureContextWindowExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialSecureContextWindowExposedRuntimeEnabledMethodMethodConfiguration = {"partialSecureContextWindowExposedRuntimeEnabledMethod", V8TestInterface::partialSecureContextWindowExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partialSecureContextWindowExposedRuntimeEnabledMethodMethodConfiguration); } } @@ -2994,7 +2994,7 @@ if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isWorkerGlobalScope())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration partialSecureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration = {"partialSecureContextWorkerExposedRuntimeEnabledMethod", V8TestInterface::partialSecureContextWorkerExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partialSecureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration = {"partialSecureContextWorkerExposedRuntimeEnabledMethod", V8TestInterface::partialSecureContextWorkerExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, partialSecureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration); } }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp index f63665a..7872fc9 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
@@ -580,20 +580,20 @@ } const V8DOMConfiguration::MethodConfiguration V8TestInterface2Methods[] = { - {"legacyCaller", V8TestInterface2::legacyCallerMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"item", V8TestInterface2::itemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"setItem", V8TestInterface2::setItemMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"deleteItem", V8TestInterface2::deleteItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"namedItem", V8TestInterface2::namedItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"setNamedItem", V8TestInterface2::setNamedItemMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"deleteNamedItem", V8TestInterface2::deleteNamedItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"stringifierMethod", V8TestInterface2::stringifierMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"keys", V8TestInterface2::keysMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"values", V8TestInterface2::valuesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"entries", V8TestInterface2::entriesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"forEach", V8TestInterface2::forEachMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"has", V8TestInterface2::hasMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"toString", V8TestInterface2::toStringMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"legacyCaller", V8TestInterface2::legacyCallerMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"item", V8TestInterface2::itemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"setItem", V8TestInterface2::setItemMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"deleteItem", V8TestInterface2::deleteItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"namedItem", V8TestInterface2::namedItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"setNamedItem", V8TestInterface2::setNamedItemMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"deleteNamedItem", V8TestInterface2::deleteNamedItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"stringifierMethod", V8TestInterface2::stringifierMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"keys", V8TestInterface2::keysMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"values", V8TestInterface2::valuesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"entries", V8TestInterface2::entriesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"forEach", V8TestInterface2::forEachMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"has", V8TestInterface2::hasMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toString", V8TestInterface2::toStringMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestInterface2::constructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { @@ -639,7 +639,7 @@ instanceTemplate->SetHandler(namedPropertyHandlerConfig); // Iterator (@@iterator) - const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestInterface2::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; + const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestInterface2::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess }; V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature, symbolKeyedIteratorConfiguration); instanceTemplate->SetCallAsFunctionHandler(TestInterface2V8Internal::legacyCallerMethodCallback);
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp index c2bf32a8..16f0bc21 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
@@ -166,8 +166,8 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterface3Methods[] = { - {"voidMethodDocument", V8TestInterface3::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"toString", V8TestInterface3::toStringMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodDocument", V8TestInterface3::voidMethodDocumentMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toString", V8TestInterface3::toStringMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestInterface3Template(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp index 2bf9d14a..1bee41e 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
@@ -147,11 +147,6 @@ static void voidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toImpl(info.Holder()); - ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionContext, "TestInterfaceCheckSecurity", "voidMethod"); - if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()), impl, exceptionState)) { - return; - } - impl->voidMethod(); } @@ -466,7 +461,7 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterfaceCheckSecurityMethods[] = { - {"voidMethod", V8TestInterfaceCheckSecurity::voidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder}, + {"voidMethod", V8TestInterfaceCheckSecurity::voidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::CheckAccess}, }; static void installV8TestInterfaceCheckSecurityTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp index d658c01..9a34157 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
@@ -345,15 +345,15 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterfaceGarbageCollectedMethods[] = { - {"func", V8TestInterfaceGarbageCollected::funcMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"keys", V8TestInterfaceGarbageCollected::keysMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"values", V8TestInterfaceGarbageCollected::valuesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"entries", V8TestInterfaceGarbageCollected::entriesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"forEach", V8TestInterfaceGarbageCollected::forEachMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"has", V8TestInterfaceGarbageCollected::hasMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"add", V8TestInterfaceGarbageCollected::addMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"clear", V8TestInterfaceGarbageCollected::clearMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"delete", V8TestInterfaceGarbageCollected::deleteMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"func", V8TestInterfaceGarbageCollected::funcMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"keys", V8TestInterfaceGarbageCollected::keysMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"values", V8TestInterfaceGarbageCollected::valuesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"entries", V8TestInterfaceGarbageCollected::entriesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"forEach", V8TestInterfaceGarbageCollected::forEachMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"has", V8TestInterfaceGarbageCollected::hasMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"add", V8TestInterfaceGarbageCollected::addMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"clear", V8TestInterfaceGarbageCollected::clearMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"delete", V8TestInterfaceGarbageCollected::deleteMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestInterfaceGarbageCollected::constructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { @@ -388,7 +388,7 @@ V8DOMConfiguration::installMethods(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, V8TestInterfaceGarbageCollectedMethods, WTF_ARRAY_LENGTH(V8TestInterfaceGarbageCollectedMethods)); // Iterator (@@iterator) - const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestInterfaceGarbageCollected::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; + const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestInterfaceGarbageCollected::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess }; V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature, symbolKeyedIteratorConfiguration); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp index cc59505..2ce3bc8 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
@@ -342,9 +342,9 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterfaceNodeMethods[] = { - {"testInterfaceEmptyMethod", V8TestInterfaceNode::testInterfaceEmptyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"perWorldBindingsTestInterfaceEmptyMethod", V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodMethodCallback, V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArg", V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallback, V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"testInterfaceEmptyMethod", V8TestInterfaceNode::testInterfaceEmptyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"perWorldBindingsTestInterfaceEmptyMethod", V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodMethodCallback, V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArg", V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallback, V8TestInterfaceNode::perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestInterfaceNodeTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp index cdeec4a..932634f6 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
@@ -243,8 +243,8 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterfaceOriginTrialEnabledMethods[] = { - {"voidMethodDoubleArgFloatArg", V8TestInterfaceOriginTrialEnabled::voidMethodDoubleArgFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodPartialOverload", V8TestInterfaceOriginTrialEnabled::voidMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodDoubleArgFloatArg", V8TestInterfaceOriginTrialEnabled::voidMethodDoubleArgFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodPartialOverload", V8TestInterfaceOriginTrialEnabled::voidMethodPartialOverloadMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestInterfaceOriginTrialEnabledTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp index 766022eb..5968232 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
@@ -405,31 +405,31 @@ } } if (executionContext && (executionContext->isSecureContext())) { - const V8DOMConfiguration::MethodConfiguration secureContextMethodMethodConfiguration = {"secureContextMethod", V8TestInterfaceSecureContext::secureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextMethodMethodConfiguration = {"secureContextMethod", V8TestInterfaceSecureContext::secureContextMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextMethodMethodConfiguration); } if (executionContext && (executionContext->isSecureContext())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration secureContextRuntimeEnabledMethodMethodConfiguration = {"secureContextRuntimeEnabledMethod", V8TestInterfaceSecureContext::secureContextRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextRuntimeEnabledMethodMethodConfiguration = {"secureContextRuntimeEnabledMethod", V8TestInterfaceSecureContext::secureContextRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextRuntimeEnabledMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedMethodMethodConfiguration = {"secureContextWindowExposedMethod", V8TestInterfaceSecureContext::secureContextWindowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedMethodMethodConfiguration = {"secureContextWindowExposedMethod", V8TestInterfaceSecureContext::secureContextWindowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWindowExposedMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedMethodMethodConfiguration = {"secureContextWorkerExposedMethod", V8TestInterfaceSecureContext::secureContextWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedMethodMethodConfiguration = {"secureContextWorkerExposedMethod", V8TestInterfaceSecureContext::secureContextWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWorkerExposedMethodMethodConfiguration); } } if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isDocument())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWindowExposedRuntimeEnabledMethod", V8TestInterfaceSecureContext::secureContextWindowExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWindowExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWindowExposedRuntimeEnabledMethod", V8TestInterfaceSecureContext::secureContextWindowExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWindowExposedRuntimeEnabledMethodMethodConfiguration); } } @@ -437,7 +437,7 @@ if (executionContext && (executionContext->isSecureContext())) { if (executionContext && (executionContext->isWorkerGlobalScope())) { if (RuntimeEnabledFeatures::secureFeatureEnabled()) { - const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWorkerExposedRuntimeEnabledMethod", V8TestInterfaceSecureContext::secureContextWorkerExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration secureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration = {"secureContextWorkerExposedRuntimeEnabledMethod", V8TestInterfaceSecureContext::secureContextWorkerExposedRuntimeEnabledMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, secureContextWorkerExposedRuntimeEnabledMethodMethodConfiguration); } }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp index ed61d657..b899b6f 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
@@ -5506,7 +5506,7 @@ if (exceptionState.hadException()) return; } else { - defaultByteStringArg = String("foo"); + defaultByteStringArg = "foo"; } impl->voidMethodDefaultByteStringArg(defaultByteStringArg); @@ -5521,7 +5521,7 @@ if (!defaultStringArg.prepare()) return; } else { - defaultStringArg = String("foo"); + defaultStringArg = "foo"; } impl->voidMethodDefaultStringArg(defaultStringArg); @@ -5681,7 +5681,7 @@ if (exceptionState.hadException()) return; } else { - defaultStringArg.setString(String("foo")); + defaultStringArg.setString("foo"); } if (!info[2]->IsUndefined()) { V8DoubleOrString::toImpl(info.GetIsolate(), info[2], defaultNullArg, UnionTypeConversionMode::Nullable, exceptionState); @@ -11385,235 +11385,235 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestObjectMethods[] = { - {"unscopableVoidMethod", V8TestObject::unscopableVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethod", V8TestObject::voidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"staticVoidMethod", V8TestObject::staticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"dateMethod", V8TestObject::dateMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"stringMethod", V8TestObject::stringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"byteStringMethod", V8TestObject::byteStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"usvStringMethod", V8TestObject::usvStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"readonlyDOMTimeStampMethod", V8TestObject::readonlyDOMTimeStampMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"booleanMethod", V8TestObject::booleanMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"byteMethod", V8TestObject::byteMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"doubleMethod", V8TestObject::doubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"floatMethod", V8TestObject::floatMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"longMethod", V8TestObject::longMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"longLongMethod", V8TestObject::longLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"octetMethod", V8TestObject::octetMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"shortMethod", V8TestObject::shortMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"unsignedLongMethod", V8TestObject::unsignedLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"unsignedLongLongMethod", V8TestObject::unsignedLongLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"unsignedShortMethod", V8TestObject::unsignedShortMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDateArg", V8TestObject::voidMethodDateArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodStringArg", V8TestObject::voidMethodStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodByteStringArg", V8TestObject::voidMethodByteStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUSVStringArg", V8TestObject::voidMethodUSVStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDOMTimeStampArg", V8TestObject::voidMethodDOMTimeStampArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodBooleanArg", V8TestObject::voidMethodBooleanArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodByteArg", V8TestObject::voidMethodByteArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleArg", V8TestObject::voidMethodDoubleArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodFloatArg", V8TestObject::voidMethodFloatArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodLongArg", V8TestObject::voidMethodLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodLongLongArg", V8TestObject::voidMethodLongLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOctetArg", V8TestObject::voidMethodOctetArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodShortArg", V8TestObject::voidMethodShortArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUnsignedLongArg", V8TestObject::voidMethodUnsignedLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUnsignedLongLongArg", V8TestObject::voidMethodUnsignedLongLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUnsignedShortArg", V8TestObject::voidMethodUnsignedShortArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceEmptyMethod", V8TestObject::testInterfaceEmptyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceEmptyArg", V8TestObject::voidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodLongArgTestInterfaceEmptyArg", V8TestObject::voidMethodLongArgTestInterfaceEmptyArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"anyMethod", V8TestObject::anyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodEventTargetArg", V8TestObject::voidMethodEventTargetArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodAnyArg", V8TestObject::voidMethodAnyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodAttrArg", V8TestObject::voidMethodAttrArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDocumentArg", V8TestObject::voidMethodDocumentArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDocumentTypeArg", V8TestObject::voidMethodDocumentTypeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodElementArg", V8TestObject::voidMethodElementArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodNodeArg", V8TestObject::voidMethodNodeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"arrayBufferMethod", V8TestObject::arrayBufferMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"arrayBufferViewMethod", V8TestObject::arrayBufferViewMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"float32ArrayMethod", V8TestObject::float32ArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"int32ArrayMethod", V8TestObject::int32ArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"uint8ArrayMethod", V8TestObject::uint8ArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayBufferArg", V8TestObject::voidMethodArrayBufferArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayBufferOrNullArg", V8TestObject::voidMethodArrayBufferOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayBufferViewArg", V8TestObject::voidMethodArrayBufferViewArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodFlexibleArrayBufferViewArg", V8TestObject::voidMethodFlexibleArrayBufferViewArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodFlexibleArrayBufferViewTypedArg", V8TestObject::voidMethodFlexibleArrayBufferViewTypedArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodFloat32ArrayArg", V8TestObject::voidMethodFloat32ArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodInt32ArrayArg", V8TestObject::voidMethodInt32ArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUint8ArrayArg", V8TestObject::voidMethodUint8ArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"longArrayMethod", V8TestObject::longArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"stringArrayMethod", V8TestObject::stringArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceEmptyArrayMethod", V8TestObject::testInterfaceEmptyArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayLongArg", V8TestObject::voidMethodArrayLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayStringArg", V8TestObject::voidMethodArrayStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayTestInterfaceEmptyArg", V8TestObject::voidMethodArrayTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodNullableArrayLongArg", V8TestObject::voidMethodNullableArrayLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"longSequenceMethod", V8TestObject::longSequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"stringSequenceMethod", V8TestObject::stringSequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceEmptySequenceMethod", V8TestObject::testInterfaceEmptySequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodSequenceLongArg", V8TestObject::voidMethodSequenceLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodSequenceStringArg", V8TestObject::voidMethodSequenceStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodSequenceTestInterfaceEmptyArg", V8TestObject::voidMethodSequenceTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodSequenceSequenceDOMStringArg", V8TestObject::voidMethodSequenceSequenceDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodNullableSequenceLongArg", V8TestObject::voidMethodNullableSequenceLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"longFrozenArrayMethod", V8TestObject::longFrozenArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodStringFrozenArrayMethod", V8TestObject::voidMethodStringFrozenArrayMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceEmptyFrozenArrayMethod", V8TestObject::voidMethodTestInterfaceEmptyFrozenArrayMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"nullableLongMethod", V8TestObject::nullableLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"nullableStringMethod", V8TestObject::nullableStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"nullableTestInterfaceMethod", V8TestObject::nullableTestInterfaceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"nullableLongSequenceMethod", V8TestObject::nullableLongSequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceGarbageCollectedOrDOMStringMethod", V8TestObject::testInterfaceGarbageCollectedOrDOMStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"booleanOrDOMStringOrUnrestrictedDoubleMethod", V8TestObject::booleanOrDOMStringOrUnrestrictedDoubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceOrLongMethod", V8TestObject::testInterfaceOrLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"staticTestInterfaceGarbageCollectedOrDOMStringMethod", V8TestObject::staticTestInterfaceGarbageCollectedOrDOMStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleOrDOMStringArg", V8TestObject::voidMethodDoubleOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleOrDOMStringOrNullArg", V8TestObject::voidMethodDoubleOrDOMStringOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleOrNullOrDOMStringArg", V8TestObject::voidMethodDoubleOrNullOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDOMStringOrArrayBufferOrArrayBufferViewArg", V8TestObject::voidMethodDOMStringOrArrayBufferOrArrayBufferViewArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayBufferOrArrayBufferViewOrDictionaryArg", V8TestObject::voidMethodArrayBufferOrArrayBufferViewOrDictionaryArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodArrayOfDoubleOrDOMStringArg", V8TestObject::voidMethodArrayOfDoubleOrDOMStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceEmptyOrNullArg", V8TestObject::voidMethodTestInterfaceEmptyOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestCallbackInterfaceArg", V8TestObject::voidMethodTestCallbackInterfaceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOptionalTestCallbackInterfaceArg", V8TestObject::voidMethodOptionalTestCallbackInterfaceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestCallbackInterfaceOrNullArg", V8TestObject::voidMethodTestCallbackInterfaceOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testEnumMethod", V8TestObject::testEnumMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestEnumArg", V8TestObject::voidMethodTestEnumArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestMultipleEnumArg", V8TestObject::voidMethodTestMultipleEnumArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"dictionaryMethod", V8TestObject::dictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testDictionaryMethod", V8TestObject::testDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"nullableTestDictionaryMethod", V8TestObject::nullableTestDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"staticTestDictionaryMethod", V8TestObject::staticTestDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"staticNullableTestDictionaryMethod", V8TestObject::staticNullableTestDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"passPermissiveDictionaryMethod", V8TestObject::passPermissiveDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"nodeFilterMethod", V8TestObject::nodeFilterMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"promiseMethod", V8TestObject::promiseMethodMethodCallback, nullptr, 3, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder}, - {"promiseMethodWithoutExceptionState", V8TestObject::promiseMethodWithoutExceptionStateMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder}, - {"serializedScriptValueMethod", V8TestObject::serializedScriptValueMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"xPathNSResolverMethod", V8TestObject::xPathNSResolverMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDictionaryArg", V8TestObject::voidMethodDictionaryArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodNodeFilterArg", V8TestObject::voidMethodNodeFilterArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodPromiseArg", V8TestObject::voidMethodPromiseArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodSerializedScriptValueArg", V8TestObject::voidMethodSerializedScriptValueArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodXPathNSResolverArg", V8TestObject::voidMethodXPathNSResolverArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDictionarySequenceArg", V8TestObject::voidMethodDictionarySequenceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodStringArgLongArg", V8TestObject::voidMethodStringArgLongArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOptionalStringArg", V8TestObject::voidMethodOptionalStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOptionalTestInterfaceEmptyArg", V8TestObject::voidMethodOptionalTestInterfaceEmptyArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOptionalLongArg", V8TestObject::voidMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"stringMethodOptionalLongArg", V8TestObject::stringMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceEmptyMethodOptionalLongArg", V8TestObject::testInterfaceEmptyMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"longMethodOptionalLongArg", V8TestObject::longMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodLongArgOptionalLongArg", V8TestObject::voidMethodLongArgOptionalLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodLongArgOptionalLongArgOptionalLongArg", V8TestObject::voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodLongArgOptionalTestInterfaceEmptyArg", V8TestObject::voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceEmptyArgOptionalLongArg", V8TestObject::voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodOptionalDictionaryArg", V8TestObject::voidMethodOptionalDictionaryArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultByteStringArg", V8TestObject::voidMethodDefaultByteStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultStringArg", V8TestObject::voidMethodDefaultStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultIntegerArgs", V8TestObject::voidMethodDefaultIntegerArgsMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultDoubleArg", V8TestObject::voidMethodDefaultDoubleArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultTrueBooleanArg", V8TestObject::voidMethodDefaultTrueBooleanArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultFalseBooleanArg", V8TestObject::voidMethodDefaultFalseBooleanArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultNullableByteStringArg", V8TestObject::voidMethodDefaultNullableByteStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultNullableStringArg", V8TestObject::voidMethodDefaultNullableStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultNullableTestInterfaceArg", V8TestObject::voidMethodDefaultNullableTestInterfaceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultDoubleOrStringArgs", V8TestObject::voidMethodDefaultDoubleOrStringArgsMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultStringSequenceArg", V8TestObject::voidMethodDefaultStringSequenceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodVariadicStringArg", V8TestObject::voidMethodVariadicStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodStringArgVariadicStringArg", V8TestObject::voidMethodStringArgVariadicStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodVariadicTestInterfaceEmptyArg", V8TestObject::voidMethodVariadicTestInterfaceEmptyArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", V8TestObject::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodVariadicTestInterfaceGarbageCollectedArg", V8TestObject::voidMethodVariadicTestInterfaceGarbageCollectedArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodA", V8TestObject::overloadedMethodAMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodB", V8TestObject::overloadedMethodBMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodC", V8TestObject::overloadedMethodCMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodD", V8TestObject::overloadedMethodDMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodE", V8TestObject::overloadedMethodEMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodF", V8TestObject::overloadedMethodFMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodG", V8TestObject::overloadedMethodGMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodH", V8TestObject::overloadedMethodHMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodI", V8TestObject::overloadedMethodIMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodJ", V8TestObject::overloadedMethodJMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodK", V8TestObject::overloadedMethodKMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodL", V8TestObject::overloadedMethodLMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedMethodN", V8TestObject::overloadedMethodNMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"promiseOverloadMethod", V8TestObject::promiseOverloadMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder}, - {"overloadedPerWorldBindingsMethod", V8TestObject::overloadedPerWorldBindingsMethodMethodCallback, V8TestObject::overloadedPerWorldBindingsMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"overloadedStaticMethod", V8TestObject::overloadedStaticMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"item", V8TestObject::itemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"setItem", V8TestObject::setItemMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodClampUnsignedShortArg", V8TestObject::voidMethodClampUnsignedShortArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodClampUnsignedLongArg", V8TestObject::voidMethodClampUnsignedLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultUndefinedTestInterfaceEmptyArg", V8TestObject::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultUndefinedLongArg", V8TestObject::voidMethodDefaultUndefinedLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDefaultUndefinedStringArg", V8TestObject::voidMethodDefaultUndefinedStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodEnforceRangeLongArg", V8TestObject::voidMethodEnforceRangeLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTreatNullAsEmptyStringStringArg", V8TestObject::voidMethodTreatNullAsEmptyStringStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTreatNullAsNullStringStringArg", V8TestObject::voidMethodTreatNullAsNullStringStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"activityLoggingAccessForAllWorldsMethod", V8TestObject::activityLoggingAccessForAllWorldsMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithExecutionContextVoidMethod", V8TestObject::callWithExecutionContextVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithScriptStateVoidMethod", V8TestObject::callWithScriptStateVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithScriptStateLongMethod", V8TestObject::callWithScriptStateLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithScriptStateExecutionContextVoidMethod", V8TestObject::callWithScriptStateExecutionContextVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithScriptStateScriptArgumentsVoidMethod", V8TestObject::callWithScriptStateScriptArgumentsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg", V8TestObject::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithCurrentWindow", V8TestObject::callWithCurrentWindowMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithCurrentWindowScriptWindow", V8TestObject::callWithCurrentWindowScriptWindowMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithThisValue", V8TestObject::callWithThisValueMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"checkSecurityForNodeVoidMethod", V8TestObject::checkSecurityForNodeVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"customVoidMethod", V8TestObject::customVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"customCallPrologueVoidMethod", V8TestObject::customCallPrologueVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"customCallEpilogueVoidMethod", V8TestObject::customCallEpilogueVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"deprecatedVoidMethod", V8TestObject::deprecatedVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"implementedAsVoidMethod", V8TestObject::implementedAsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"measureAsVoidMethod", V8TestObject::measureAsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"measureMethod", V8TestObject::measureMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"measureOverloadedMethod", V8TestObject::measureOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"DeprecateAsOverloadedMethod", V8TestObject::DeprecateAsOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"DeprecateAsSameValueOverloadedMethod", V8TestObject::DeprecateAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"measureAsOverloadedMethod", V8TestObject::measureAsOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"measureAsSameValueOverloadedMethod", V8TestObject::measureAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"deprecateAsMeasureAsSameValueOverloadedMethod", V8TestObject::deprecateAsMeasureAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"deprecateAsSameValueMeasureAsOverloadedMethod", V8TestObject::deprecateAsSameValueMeasureAsOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"deprecateAsSameValueMeasureAsSameValueOverloadedMethod", V8TestObject::deprecateAsSameValueMeasureAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"notEnumerableVoidMethod", V8TestObject::notEnumerableVoidMethodMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"perWorldBindingsVoidMethod", V8TestObject::perWorldBindingsVoidMethodMethodCallback, V8TestObject::perWorldBindingsVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"perWorldBindingsVoidMethodTestInterfaceEmptyArg", V8TestObject::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback, V8TestObject::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"postMessage", V8TestObject::postMessageMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"activityLoggingForAllWorldsPerWorldBindingsVoidMethod", V8TestObject::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback, V8TestObject::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod", V8TestObject::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback, V8TestObject::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionVoidMethod", V8TestObject::raisesExceptionVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionStringMethod", V8TestObject::raisesExceptionStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionVoidMethodOptionalLongArg", V8TestObject::raisesExceptionVoidMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionVoidMethodTestCallbackInterfaceArg", V8TestObject::raisesExceptionVoidMethodTestCallbackInterfaceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionVoidMethodOptionalTestCallbackInterfaceArg", V8TestObject::raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionTestInterfaceEmptyVoidMethod", V8TestObject::raisesExceptionTestInterfaceEmptyVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"raisesExceptionXPathNSResolverVoidMethod", V8TestObject::raisesExceptionXPathNSResolverVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"callWithExecutionContextRaisesExceptionVoidMethodLongArg", V8TestObject::callWithExecutionContextRaisesExceptionVoidMethodLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArg", V8TestObject::legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArg", V8TestObject::legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"useToImpl4ArgumentsCheckingIfPossibleWithOptionalArg", V8TestObject::useToImpl4ArgumentsCheckingIfPossibleWithOptionalArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"useToImpl4ArgumentsCheckingIfPossibleWithNullableArg", V8TestObject::useToImpl4ArgumentsCheckingIfPossibleWithNullableArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArg", V8TestObject::useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"unforgeableVoidMethod", V8TestObject::unforgeableVoidMethodMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete), V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceGarbageCollectedSequenceArg", V8TestObject::voidMethodTestInterfaceGarbageCollectedSequenceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestInterfaceGarbageCollectedArrayArg", V8TestObject::voidMethodTestInterfaceGarbageCollectedArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"newObjectTestInterfaceMethod", V8TestObject::newObjectTestInterfaceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"serializerMethod", V8TestObject::serializerMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"keys", V8TestObject::keysMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"values", V8TestObject::valuesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"entries", V8TestObject::entriesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"forEach", V8TestObject::forEachMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"has", V8TestObject::hasMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"get", V8TestObject::getMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"delete", V8TestObject::deleteMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"set", V8TestObject::setMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"toJSON", V8TestObject::toJSONMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"toString", V8TestObject::toStringMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"unscopableVoidMethod", V8TestObject::unscopableVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethod", V8TestObject::voidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticVoidMethod", V8TestObject::staticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"dateMethod", V8TestObject::dateMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"stringMethod", V8TestObject::stringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"byteStringMethod", V8TestObject::byteStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"usvStringMethod", V8TestObject::usvStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"readonlyDOMTimeStampMethod", V8TestObject::readonlyDOMTimeStampMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"booleanMethod", V8TestObject::booleanMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"byteMethod", V8TestObject::byteMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"doubleMethod", V8TestObject::doubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"floatMethod", V8TestObject::floatMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"longMethod", V8TestObject::longMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"longLongMethod", V8TestObject::longLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"octetMethod", V8TestObject::octetMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"shortMethod", V8TestObject::shortMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"unsignedLongMethod", V8TestObject::unsignedLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"unsignedLongLongMethod", V8TestObject::unsignedLongLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"unsignedShortMethod", V8TestObject::unsignedShortMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDateArg", V8TestObject::voidMethodDateArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodStringArg", V8TestObject::voidMethodStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodByteStringArg", V8TestObject::voidMethodByteStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUSVStringArg", V8TestObject::voidMethodUSVStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDOMTimeStampArg", V8TestObject::voidMethodDOMTimeStampArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodBooleanArg", V8TestObject::voidMethodBooleanArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodByteArg", V8TestObject::voidMethodByteArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleArg", V8TestObject::voidMethodDoubleArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodFloatArg", V8TestObject::voidMethodFloatArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodLongArg", V8TestObject::voidMethodLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodLongLongArg", V8TestObject::voidMethodLongLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOctetArg", V8TestObject::voidMethodOctetArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodShortArg", V8TestObject::voidMethodShortArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUnsignedLongArg", V8TestObject::voidMethodUnsignedLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUnsignedLongLongArg", V8TestObject::voidMethodUnsignedLongLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUnsignedShortArg", V8TestObject::voidMethodUnsignedShortArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceEmptyMethod", V8TestObject::testInterfaceEmptyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceEmptyArg", V8TestObject::voidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodLongArgTestInterfaceEmptyArg", V8TestObject::voidMethodLongArgTestInterfaceEmptyArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"anyMethod", V8TestObject::anyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodEventTargetArg", V8TestObject::voidMethodEventTargetArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodAnyArg", V8TestObject::voidMethodAnyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodAttrArg", V8TestObject::voidMethodAttrArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDocumentArg", V8TestObject::voidMethodDocumentArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDocumentTypeArg", V8TestObject::voidMethodDocumentTypeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodElementArg", V8TestObject::voidMethodElementArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodNodeArg", V8TestObject::voidMethodNodeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"arrayBufferMethod", V8TestObject::arrayBufferMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"arrayBufferViewMethod", V8TestObject::arrayBufferViewMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"float32ArrayMethod", V8TestObject::float32ArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"int32ArrayMethod", V8TestObject::int32ArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"uint8ArrayMethod", V8TestObject::uint8ArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayBufferArg", V8TestObject::voidMethodArrayBufferArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayBufferOrNullArg", V8TestObject::voidMethodArrayBufferOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayBufferViewArg", V8TestObject::voidMethodArrayBufferViewArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodFlexibleArrayBufferViewArg", V8TestObject::voidMethodFlexibleArrayBufferViewArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodFlexibleArrayBufferViewTypedArg", V8TestObject::voidMethodFlexibleArrayBufferViewTypedArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodFloat32ArrayArg", V8TestObject::voidMethodFloat32ArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodInt32ArrayArg", V8TestObject::voidMethodInt32ArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUint8ArrayArg", V8TestObject::voidMethodUint8ArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"longArrayMethod", V8TestObject::longArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"stringArrayMethod", V8TestObject::stringArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceEmptyArrayMethod", V8TestObject::testInterfaceEmptyArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayLongArg", V8TestObject::voidMethodArrayLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayStringArg", V8TestObject::voidMethodArrayStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayTestInterfaceEmptyArg", V8TestObject::voidMethodArrayTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodNullableArrayLongArg", V8TestObject::voidMethodNullableArrayLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"longSequenceMethod", V8TestObject::longSequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"stringSequenceMethod", V8TestObject::stringSequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceEmptySequenceMethod", V8TestObject::testInterfaceEmptySequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodSequenceLongArg", V8TestObject::voidMethodSequenceLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodSequenceStringArg", V8TestObject::voidMethodSequenceStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodSequenceTestInterfaceEmptyArg", V8TestObject::voidMethodSequenceTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodSequenceSequenceDOMStringArg", V8TestObject::voidMethodSequenceSequenceDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodNullableSequenceLongArg", V8TestObject::voidMethodNullableSequenceLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"longFrozenArrayMethod", V8TestObject::longFrozenArrayMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodStringFrozenArrayMethod", V8TestObject::voidMethodStringFrozenArrayMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceEmptyFrozenArrayMethod", V8TestObject::voidMethodTestInterfaceEmptyFrozenArrayMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"nullableLongMethod", V8TestObject::nullableLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"nullableStringMethod", V8TestObject::nullableStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"nullableTestInterfaceMethod", V8TestObject::nullableTestInterfaceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"nullableLongSequenceMethod", V8TestObject::nullableLongSequenceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceGarbageCollectedOrDOMStringMethod", V8TestObject::testInterfaceGarbageCollectedOrDOMStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"booleanOrDOMStringOrUnrestrictedDoubleMethod", V8TestObject::booleanOrDOMStringOrUnrestrictedDoubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceOrLongMethod", V8TestObject::testInterfaceOrLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticTestInterfaceGarbageCollectedOrDOMStringMethod", V8TestObject::staticTestInterfaceGarbageCollectedOrDOMStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleOrDOMStringArg", V8TestObject::voidMethodDoubleOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleOrDOMStringOrNullArg", V8TestObject::voidMethodDoubleOrDOMStringOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleOrNullOrDOMStringArg", V8TestObject::voidMethodDoubleOrNullOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDOMStringOrArrayBufferOrArrayBufferViewArg", V8TestObject::voidMethodDOMStringOrArrayBufferOrArrayBufferViewArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayBufferOrArrayBufferViewOrDictionaryArg", V8TestObject::voidMethodArrayBufferOrArrayBufferViewOrDictionaryArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodArrayOfDoubleOrDOMStringArg", V8TestObject::voidMethodArrayOfDoubleOrDOMStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceEmptyOrNullArg", V8TestObject::voidMethodTestInterfaceEmptyOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestCallbackInterfaceArg", V8TestObject::voidMethodTestCallbackInterfaceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOptionalTestCallbackInterfaceArg", V8TestObject::voidMethodOptionalTestCallbackInterfaceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestCallbackInterfaceOrNullArg", V8TestObject::voidMethodTestCallbackInterfaceOrNullArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testEnumMethod", V8TestObject::testEnumMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestEnumArg", V8TestObject::voidMethodTestEnumArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestMultipleEnumArg", V8TestObject::voidMethodTestMultipleEnumArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"dictionaryMethod", V8TestObject::dictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testDictionaryMethod", V8TestObject::testDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"nullableTestDictionaryMethod", V8TestObject::nullableTestDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticTestDictionaryMethod", V8TestObject::staticTestDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"staticNullableTestDictionaryMethod", V8TestObject::staticNullableTestDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"passPermissiveDictionaryMethod", V8TestObject::passPermissiveDictionaryMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"nodeFilterMethod", V8TestObject::nodeFilterMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"promiseMethod", V8TestObject::promiseMethodMethodCallback, nullptr, 3, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"promiseMethodWithoutExceptionState", V8TestObject::promiseMethodWithoutExceptionStateMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"serializedScriptValueMethod", V8TestObject::serializedScriptValueMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"xPathNSResolverMethod", V8TestObject::xPathNSResolverMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDictionaryArg", V8TestObject::voidMethodDictionaryArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodNodeFilterArg", V8TestObject::voidMethodNodeFilterArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodPromiseArg", V8TestObject::voidMethodPromiseArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodSerializedScriptValueArg", V8TestObject::voidMethodSerializedScriptValueArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodXPathNSResolverArg", V8TestObject::voidMethodXPathNSResolverArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDictionarySequenceArg", V8TestObject::voidMethodDictionarySequenceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodStringArgLongArg", V8TestObject::voidMethodStringArgLongArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOptionalStringArg", V8TestObject::voidMethodOptionalStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOptionalTestInterfaceEmptyArg", V8TestObject::voidMethodOptionalTestInterfaceEmptyArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOptionalLongArg", V8TestObject::voidMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"stringMethodOptionalLongArg", V8TestObject::stringMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceEmptyMethodOptionalLongArg", V8TestObject::testInterfaceEmptyMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"longMethodOptionalLongArg", V8TestObject::longMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodLongArgOptionalLongArg", V8TestObject::voidMethodLongArgOptionalLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodLongArgOptionalLongArgOptionalLongArg", V8TestObject::voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodLongArgOptionalTestInterfaceEmptyArg", V8TestObject::voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceEmptyArgOptionalLongArg", V8TestObject::voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodOptionalDictionaryArg", V8TestObject::voidMethodOptionalDictionaryArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultByteStringArg", V8TestObject::voidMethodDefaultByteStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultStringArg", V8TestObject::voidMethodDefaultStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultIntegerArgs", V8TestObject::voidMethodDefaultIntegerArgsMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultDoubleArg", V8TestObject::voidMethodDefaultDoubleArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultTrueBooleanArg", V8TestObject::voidMethodDefaultTrueBooleanArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultFalseBooleanArg", V8TestObject::voidMethodDefaultFalseBooleanArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultNullableByteStringArg", V8TestObject::voidMethodDefaultNullableByteStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultNullableStringArg", V8TestObject::voidMethodDefaultNullableStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultNullableTestInterfaceArg", V8TestObject::voidMethodDefaultNullableTestInterfaceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultDoubleOrStringArgs", V8TestObject::voidMethodDefaultDoubleOrStringArgsMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultStringSequenceArg", V8TestObject::voidMethodDefaultStringSequenceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodVariadicStringArg", V8TestObject::voidMethodVariadicStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodStringArgVariadicStringArg", V8TestObject::voidMethodStringArgVariadicStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodVariadicTestInterfaceEmptyArg", V8TestObject::voidMethodVariadicTestInterfaceEmptyArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", V8TestObject::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodVariadicTestInterfaceGarbageCollectedArg", V8TestObject::voidMethodVariadicTestInterfaceGarbageCollectedArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodA", V8TestObject::overloadedMethodAMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodB", V8TestObject::overloadedMethodBMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodC", V8TestObject::overloadedMethodCMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodD", V8TestObject::overloadedMethodDMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodE", V8TestObject::overloadedMethodEMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodF", V8TestObject::overloadedMethodFMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodG", V8TestObject::overloadedMethodGMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodH", V8TestObject::overloadedMethodHMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodI", V8TestObject::overloadedMethodIMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodJ", V8TestObject::overloadedMethodJMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodK", V8TestObject::overloadedMethodKMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodL", V8TestObject::overloadedMethodLMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedMethodN", V8TestObject::overloadedMethodNMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"promiseOverloadMethod", V8TestObject::promiseOverloadMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::DoNotCheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedPerWorldBindingsMethod", V8TestObject::overloadedPerWorldBindingsMethodMethodCallback, V8TestObject::overloadedPerWorldBindingsMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"overloadedStaticMethod", V8TestObject::overloadedStaticMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"item", V8TestObject::itemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"setItem", V8TestObject::setItemMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodClampUnsignedShortArg", V8TestObject::voidMethodClampUnsignedShortArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodClampUnsignedLongArg", V8TestObject::voidMethodClampUnsignedLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultUndefinedTestInterfaceEmptyArg", V8TestObject::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultUndefinedLongArg", V8TestObject::voidMethodDefaultUndefinedLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDefaultUndefinedStringArg", V8TestObject::voidMethodDefaultUndefinedStringArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodEnforceRangeLongArg", V8TestObject::voidMethodEnforceRangeLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTreatNullAsEmptyStringStringArg", V8TestObject::voidMethodTreatNullAsEmptyStringStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTreatNullAsNullStringStringArg", V8TestObject::voidMethodTreatNullAsNullStringStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"activityLoggingAccessForAllWorldsMethod", V8TestObject::activityLoggingAccessForAllWorldsMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithExecutionContextVoidMethod", V8TestObject::callWithExecutionContextVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithScriptStateVoidMethod", V8TestObject::callWithScriptStateVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithScriptStateLongMethod", V8TestObject::callWithScriptStateLongMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithScriptStateExecutionContextVoidMethod", V8TestObject::callWithScriptStateExecutionContextVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithScriptStateScriptArgumentsVoidMethod", V8TestObject::callWithScriptStateScriptArgumentsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg", V8TestObject::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithCurrentWindow", V8TestObject::callWithCurrentWindowMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithCurrentWindowScriptWindow", V8TestObject::callWithCurrentWindowScriptWindowMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithThisValue", V8TestObject::callWithThisValueMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"checkSecurityForNodeVoidMethod", V8TestObject::checkSecurityForNodeVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"customVoidMethod", V8TestObject::customVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"customCallPrologueVoidMethod", V8TestObject::customCallPrologueVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"customCallEpilogueVoidMethod", V8TestObject::customCallEpilogueVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"deprecatedVoidMethod", V8TestObject::deprecatedVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"implementedAsVoidMethod", V8TestObject::implementedAsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"measureAsVoidMethod", V8TestObject::measureAsVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"measureMethod", V8TestObject::measureMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"measureOverloadedMethod", V8TestObject::measureOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"DeprecateAsOverloadedMethod", V8TestObject::DeprecateAsOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"DeprecateAsSameValueOverloadedMethod", V8TestObject::DeprecateAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"measureAsOverloadedMethod", V8TestObject::measureAsOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"measureAsSameValueOverloadedMethod", V8TestObject::measureAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"deprecateAsMeasureAsSameValueOverloadedMethod", V8TestObject::deprecateAsMeasureAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"deprecateAsSameValueMeasureAsOverloadedMethod", V8TestObject::deprecateAsSameValueMeasureAsOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"deprecateAsSameValueMeasureAsSameValueOverloadedMethod", V8TestObject::deprecateAsSameValueMeasureAsSameValueOverloadedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"notEnumerableVoidMethod", V8TestObject::notEnumerableVoidMethodMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"perWorldBindingsVoidMethod", V8TestObject::perWorldBindingsVoidMethodMethodCallback, V8TestObject::perWorldBindingsVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"perWorldBindingsVoidMethodTestInterfaceEmptyArg", V8TestObject::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback, V8TestObject::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"postMessage", V8TestObject::postMessageMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"activityLoggingForAllWorldsPerWorldBindingsVoidMethod", V8TestObject::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback, V8TestObject::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod", V8TestObject::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback, V8TestObject::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionVoidMethod", V8TestObject::raisesExceptionVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionStringMethod", V8TestObject::raisesExceptionStringMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionVoidMethodOptionalLongArg", V8TestObject::raisesExceptionVoidMethodOptionalLongArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionVoidMethodTestCallbackInterfaceArg", V8TestObject::raisesExceptionVoidMethodTestCallbackInterfaceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionVoidMethodOptionalTestCallbackInterfaceArg", V8TestObject::raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionTestInterfaceEmptyVoidMethod", V8TestObject::raisesExceptionTestInterfaceEmptyVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"raisesExceptionXPathNSResolverVoidMethod", V8TestObject::raisesExceptionXPathNSResolverVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"callWithExecutionContextRaisesExceptionVoidMethodLongArg", V8TestObject::callWithExecutionContextRaisesExceptionVoidMethodLongArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArg", V8TestObject::legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArg", V8TestObject::legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"useToImpl4ArgumentsCheckingIfPossibleWithOptionalArg", V8TestObject::useToImpl4ArgumentsCheckingIfPossibleWithOptionalArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"useToImpl4ArgumentsCheckingIfPossibleWithNullableArg", V8TestObject::useToImpl4ArgumentsCheckingIfPossibleWithNullableArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArg", V8TestObject::useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"unforgeableVoidMethod", V8TestObject::unforgeableVoidMethodMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete), V8DOMConfiguration::OnInstance, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceGarbageCollectedSequenceArg", V8TestObject::voidMethodTestInterfaceGarbageCollectedSequenceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestInterfaceGarbageCollectedArrayArg", V8TestObject::voidMethodTestInterfaceGarbageCollectedArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"newObjectTestInterfaceMethod", V8TestObject::newObjectTestInterfaceMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"serializerMethod", V8TestObject::serializerMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"keys", V8TestObject::keysMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"values", V8TestObject::valuesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"entries", V8TestObject::entriesMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"forEach", V8TestObject::forEachMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"has", V8TestObject::hasMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"get", V8TestObject::getMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"delete", V8TestObject::deleteMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"set", V8TestObject::setMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toJSON", V8TestObject::toJSONMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toString", V8TestObject::toStringMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestObjectTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) { @@ -11648,29 +11648,29 @@ instanceTemplate->SetHandler(namedPropertyHandlerConfig); // Iterator (@@iterator) - const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestObject::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype }; + const V8DOMConfiguration::SymbolKeyedMethodConfiguration symbolKeyedIteratorConfiguration = { v8::Symbol::GetIterator, V8TestObject::iteratorMethodCallback, 0, v8::DontEnum, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess }; V8DOMConfiguration::installMethod(isolate, world, prototypeTemplate, signature, symbolKeyedIteratorConfiguration); if (RuntimeEnabledFeatures::featureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration unscopableRuntimeEnabledVoidMethodMethodConfiguration = {"unscopableRuntimeEnabledVoidMethod", V8TestObject::unscopableRuntimeEnabledVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration unscopableRuntimeEnabledVoidMethodMethodConfiguration = {"unscopableRuntimeEnabledVoidMethod", V8TestObject::unscopableRuntimeEnabledVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, unscopableRuntimeEnabledVoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::featureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration runtimeEnabledVoidMethodMethodConfiguration = {"runtimeEnabledVoidMethod", V8TestObject::runtimeEnabledVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration runtimeEnabledVoidMethodMethodConfiguration = {"runtimeEnabledVoidMethod", V8TestObject::runtimeEnabledVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, runtimeEnabledVoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::featureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration perWorldBindingsRuntimeEnabledVoidMethodMethodConfiguration = {"perWorldBindingsRuntimeEnabledVoidMethod", V8TestObject::perWorldBindingsRuntimeEnabledVoidMethodMethodCallback, V8TestObject::perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration perWorldBindingsRuntimeEnabledVoidMethodMethodConfiguration = {"perWorldBindingsRuntimeEnabledVoidMethod", V8TestObject::perWorldBindingsRuntimeEnabledVoidMethodMethodCallback, V8TestObject::perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, perWorldBindingsRuntimeEnabledVoidMethodMethodConfiguration); } if (RuntimeEnabledFeatures::featureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration runtimeEnabledOverloadedVoidMethodMethodConfiguration = {"runtimeEnabledOverloadedVoidMethod", V8TestObject::runtimeEnabledOverloadedVoidMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration runtimeEnabledOverloadedVoidMethodMethodConfiguration = {"runtimeEnabledOverloadedVoidMethod", V8TestObject::runtimeEnabledOverloadedVoidMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, runtimeEnabledOverloadedVoidMethodMethodConfiguration); } - const V8DOMConfiguration::MethodConfiguration partiallyRuntimeEnabledOverloadedVoidMethodMethodConfiguration = {"partiallyRuntimeEnabledOverloadedVoidMethod", V8TestObject::partiallyRuntimeEnabledOverloadedVoidMethodMethodCallback, nullptr, TestObjectV8Internal::partiallyRuntimeEnabledOverloadedVoidMethodMethodLength(), v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration partiallyRuntimeEnabledOverloadedVoidMethodMethodConfiguration = {"partiallyRuntimeEnabledOverloadedVoidMethod", V8TestObject::partiallyRuntimeEnabledOverloadedVoidMethodMethodCallback, nullptr, TestObjectV8Internal::partiallyRuntimeEnabledOverloadedVoidMethodMethodLength(), v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, partiallyRuntimeEnabledOverloadedVoidMethodMethodConfiguration); if (RuntimeEnabledFeatures::featureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration clearMethodConfiguration = {"clear", V8TestObject::clearMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration clearMethodConfiguration = {"clear", V8TestObject::clearMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, clearMethodConfiguration); } } @@ -11683,9 +11683,9 @@ V8DOMConfiguration::installAccessor(isolate, world, instance, prototype, interface, signature, accessororiginTrialEnabledLongAttributeConfiguration); const V8DOMConfiguration::AccessorConfiguration accessorunscopableOriginTrialEnabledLongAttributeConfiguration = {"unscopableOriginTrialEnabledLongAttribute", V8TestObject::unscopableOriginTrialEnabledLongAttributeAttributeGetterCallback, V8TestObject::unscopableOriginTrialEnabledLongAttributeAttributeSetterCallback, nullptr, nullptr, nullptr, nullptr, static_cast<v8::PropertyAttribute>(v8::None), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; V8DOMConfiguration::installAccessor(isolate, world, instance, prototype, interface, signature, accessorunscopableOriginTrialEnabledLongAttributeConfiguration); - const V8DOMConfiguration::MethodConfiguration methodOrigintrialenabledvoidmethodConfiguration = {"originTrialEnabledVoidMethod", V8TestObject::originTrialEnabledVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration methodOrigintrialenabledvoidmethodConfiguration = {"originTrialEnabledVoidMethod", V8TestObject::originTrialEnabledVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instance, prototype, interface, signature, methodOrigintrialenabledvoidmethodConfiguration); - const V8DOMConfiguration::MethodConfiguration methodPerworldbindingsorigintrialenabledvoidmethodConfiguration = {"perWorldBindingsOriginTrialEnabledVoidMethod", V8TestObject::perWorldBindingsOriginTrialEnabledVoidMethodMethodCallback, V8TestObject::perWorldBindingsOriginTrialEnabledVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration methodPerworldbindingsorigintrialenabledvoidmethodConfiguration = {"perWorldBindingsOriginTrialEnabledVoidMethod", V8TestObject::perWorldBindingsOriginTrialEnabledVoidMethodMethodCallback, V8TestObject::perWorldBindingsOriginTrialEnabledVoidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instance, prototype, interface, signature, methodPerworldbindingsorigintrialenabledvoidmethodConfiguration); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp index 2c84e34..cb7588c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
@@ -170,7 +170,7 @@ } const V8DOMConfiguration::MethodConfiguration V8TestSpecialOperationsMethods[] = { - {"namedItem", V8TestSpecialOperations::namedItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"namedItem", V8TestSpecialOperations::namedItemMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestSpecialOperationsTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp index da465abd5..11ffa5a5 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
@@ -330,14 +330,14 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestTypedefsMethods[] = { - {"voidMethodArrayOfLongsArg", V8TestTypedefs::voidMethodArrayOfLongsArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodFloatArgStringArg", V8TestTypedefs::voidMethodFloatArgStringArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodTestCallbackInterfaceTypeArg", V8TestTypedefs::voidMethodTestCallbackInterfaceTypeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"uLongLongMethodTestInterfaceEmptyTypeSequenceArg", V8TestTypedefs::uLongLongMethodTestInterfaceEmptyTypeSequenceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"testInterfaceOrTestInterfaceEmptyMethod", V8TestTypedefs::testInterfaceOrTestInterfaceEmptyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"domStringOrDoubleMethod", V8TestTypedefs::domStringOrDoubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"arrayOfStringsMethodArrayOfStringsArg", V8TestTypedefs::arrayOfStringsMethodArrayOfStringsArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"stringArrayMethodStringArrayArg", V8TestTypedefs::stringArrayMethodStringArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodArrayOfLongsArg", V8TestTypedefs::voidMethodArrayOfLongsArgMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodFloatArgStringArg", V8TestTypedefs::voidMethodFloatArgStringArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodTestCallbackInterfaceTypeArg", V8TestTypedefs::voidMethodTestCallbackInterfaceTypeArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"uLongLongMethodTestInterfaceEmptyTypeSequenceArg", V8TestTypedefs::uLongLongMethodTestInterfaceEmptyTypeSequenceArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"testInterfaceOrTestInterfaceEmptyMethod", V8TestTypedefs::testInterfaceOrTestInterfaceEmptyMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"domStringOrDoubleMethod", V8TestTypedefs::domStringOrDoubleMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"arrayOfStringsMethodArrayOfStringsArg", V8TestTypedefs::arrayOfStringsMethodArrayOfStringsArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"stringArrayMethodStringArrayArg", V8TestTypedefs::stringArrayMethodStringArrayArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestTypedefs::constructorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp index af69eea..71b1023 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
@@ -69,7 +69,7 @@ } const V8DOMConfiguration::MethodConfiguration V8TestInterface2Methods[] = { - {"voidMethodPartial2", V8TestInterface2Partial::voidMethodPartial2MethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodPartial2", V8TestInterface2Partial::voidMethodPartial2MethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestInterface2Partial::installV8TestInterface2Template(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) { @@ -87,7 +87,7 @@ V8DOMConfiguration::installMethods(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, V8TestInterface2Methods, WTF_ARRAY_LENGTH(V8TestInterface2Methods)); if (RuntimeEnabledFeatures::interface2PartialFeatureNameEnabled()) { - const V8DOMConfiguration::MethodConfiguration voidMethodPartial1MethodConfiguration = {"voidMethodPartial1", V8TestInterface2Partial::voidMethodPartial1MethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration voidMethodPartial1MethodConfiguration = {"voidMethodPartial1", V8TestInterface2Partial::voidMethodPartial1MethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instanceTemplate, prototypeTemplate, interfaceTemplate, signature, voidMethodPartial1MethodConfiguration); } }
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp index 815c035..cec4bd9 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
@@ -776,17 +776,17 @@ }; const V8DOMConfiguration::MethodConfiguration V8TestInterface5Methods[] = { - {"voidMethodTestInterfaceEmptyArg", V8TestInterface5::voidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleArgFloatArg", V8TestInterface5::voidMethodDoubleArgFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodUnrestrictedDoubleArgUnrestrictedFloatArg", V8TestInterface5::voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethod", V8TestInterface5::voidMethodMethodCallback, V8TestInterface5::voidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"alwaysExposedMethod", V8TestInterface5::alwaysExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"alwaysExposedStaticMethod", V8TestInterface5::alwaysExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}, - {"voidMethodBooleanOrDOMStringArg", V8TestInterface5::voidMethodBooleanOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodDoubleOrDOMStringArg", V8TestInterface5::voidMethodDoubleOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodVoidExperimentalCallbackFunction", V8TestInterface5::voidMethodVoidExperimentalCallbackFunctionMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"voidMethodVoidCallbackFunctionModulesArg", V8TestInterface5::voidMethodVoidCallbackFunctionModulesArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"toString", V8TestInterface5::toStringMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"voidMethodTestInterfaceEmptyArg", V8TestInterface5::voidMethodTestInterfaceEmptyArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleArgFloatArg", V8TestInterface5::voidMethodDoubleArgFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodUnrestrictedDoubleArgUnrestrictedFloatArg", V8TestInterface5::voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback, nullptr, 2, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethod", V8TestInterface5::voidMethodMethodCallback, V8TestInterface5::voidMethodMethodCallbackForMainWorld, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"alwaysExposedMethod", V8TestInterface5::alwaysExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"alwaysExposedStaticMethod", V8TestInterface5::alwaysExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodBooleanOrDOMStringArg", V8TestInterface5::voidMethodBooleanOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodDoubleOrDOMStringArg", V8TestInterface5::voidMethodDoubleOrDOMStringArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodVoidExperimentalCallbackFunction", V8TestInterface5::voidMethodVoidExperimentalCallbackFunctionMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"voidMethodVoidCallbackFunctionModulesArg", V8TestInterface5::voidMethodVoidCallbackFunctionModulesArgMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"toString", V8TestInterface5::toStringMethodCallback, nullptr, 0, static_cast<v8::PropertyAttribute>(v8::DontEnum), V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; static void installV8TestInterface5Template(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) { @@ -864,23 +864,23 @@ V8DOMConfiguration::installAccessor(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, accessorConfiguration); } if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration workerExposedMethodMethodConfiguration = {"workerExposedMethod", V8TestInterface5::workerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration workerExposedMethodMethodConfiguration = {"workerExposedMethod", V8TestInterface5::workerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, workerExposedMethodMethodConfiguration); } if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration windowExposedMethodMethodConfiguration = {"windowExposedMethod", V8TestInterface5::windowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration windowExposedMethodMethodConfiguration = {"windowExposedMethod", V8TestInterface5::windowExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, windowExposedMethodMethodConfiguration); } if (executionContext && (executionContext->isWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration workerExposedStaticMethodMethodConfiguration = {"workerExposedStaticMethod", V8TestInterface5::workerExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration workerExposedStaticMethodMethodConfiguration = {"workerExposedStaticMethod", V8TestInterface5::workerExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, workerExposedStaticMethodMethodConfiguration); } if (executionContext && (executionContext->isDocument())) { - const V8DOMConfiguration::MethodConfiguration windowExposedStaticMethodMethodConfiguration = {"windowExposedStaticMethod", V8TestInterface5::windowExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration windowExposedStaticMethodMethodConfiguration = {"windowExposedStaticMethod", V8TestInterface5::windowExposedStaticMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, windowExposedStaticMethodMethodConfiguration); } if (executionContext && (executionContext->isDocument() || executionContext->isServiceWorkerGlobalScope())) { - const V8DOMConfiguration::MethodConfiguration windowAndServiceWorkerExposedMethodMethodConfiguration = {"windowAndServiceWorkerExposedMethod", V8TestInterface5::windowAndServiceWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration windowAndServiceWorkerExposedMethodMethodConfiguration = {"windowAndServiceWorkerExposedMethod", V8TestInterface5::windowAndServiceWorkerExposedMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), prototypeObject, interfaceObject, signature, windowAndServiceWorkerExposedMethodMethodConfiguration); } }
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp index 15ca3a7b..98f7a25c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
@@ -375,8 +375,8 @@ } const V8DOMConfiguration::MethodConfiguration V8TestInterfaceMethods[] = { - {"partialVoidTestEnumModulesArgMethod", V8TestInterfacePartial::partialVoidTestEnumModulesArgMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, - {"unscopableVoidMethod", V8TestInterfacePartial::unscopableVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}, + {"partialVoidTestEnumModulesArgMethod", V8TestInterfacePartial::partialVoidTestEnumModulesArgMethodMethodCallback, nullptr, 1, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, + {"unscopableVoidMethod", V8TestInterfacePartial::unscopableVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}, }; void V8TestInterfacePartial::installV8TestInterfaceTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::FunctionTemplate> interfaceTemplate) { @@ -412,9 +412,9 @@ V8DOMConfiguration::installAccessor(isolate, world, instance, prototype, interface, signature, accessorpartial4StaticLongAttributeConfiguration); const V8DOMConfiguration::ConstantConfiguration constantPartial4UnsignedShortConfiguration = {"PARTIAL4_UNSIGNED_SHORT", 4, 0, V8DOMConfiguration::ConstantTypeUnsignedShort}; V8DOMConfiguration::installConstant(isolate, interface, prototype, constantPartial4UnsignedShortConfiguration); - const V8DOMConfiguration::MethodConfiguration methodPartial4StaticvoidmethodConfiguration = {"partial4StaticVoidMethod", V8TestInterfacePartial::partial4StaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration methodPartial4StaticvoidmethodConfiguration = {"partial4StaticVoidMethod", V8TestInterfacePartial::partial4StaticVoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnInterface, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instance, prototype, interface, signature, methodPartial4StaticvoidmethodConfiguration); - const V8DOMConfiguration::MethodConfiguration methodPartial4VoidmethodConfiguration = {"partial4VoidMethod", V8TestInterfacePartial::partial4VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder}; + const V8DOMConfiguration::MethodConfiguration methodPartial4VoidmethodConfiguration = {"partial4VoidMethod", V8TestInterfacePartial::partial4VoidMethodMethodCallback, nullptr, 0, v8::None, V8DOMConfiguration::OnPrototype, V8DOMConfiguration::CheckHolder, V8DOMConfiguration::DoNotCheckAccess}; V8DOMConfiguration::installMethod(isolate, world, instance, prototype, interface, signature, methodPartial4VoidmethodConfiguration); }
diff --git a/third_party/WebKit/Source/core/css/CSSProperties.json5 b/third_party/WebKit/Source/core/css/CSSProperties.json5 index ef2d5c6b..acf197b 100644 --- a/third_party/WebKit/Source/core/css/CSSProperties.json5 +++ b/third_party/WebKit/Source/core/css/CSSProperties.json5
@@ -1723,6 +1723,7 @@ { name: "text-align", custom_value: true, + independent: true, inherited: true, initial_keyword: "start", field_template: "keyword",
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp index a3a30d32..4bb1437 100644 --- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp +++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
@@ -486,6 +486,7 @@ } else { state.style()->setTextAlign(state.parentStyle()->textAlign()); } + state.style()->setTextAlignIsInherited(false); } void StyleBuilderFunctions::applyInheritCSSPropertyTextIndent(
diff --git a/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversal.cpp b/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversal.cpp index a9a0a19..a502a2595 100644 --- a/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversal.cpp +++ b/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversal.cpp
@@ -250,7 +250,7 @@ pseudoAwareFirstChild(*sibling), limit); if (layoutObject) return layoutObject; - if (!limit) + if (limit == -1) return nullptr; } @@ -270,7 +270,7 @@ return sibling; Node* parent = LayoutTreeBuilderTraversal::parent(node); - while (limit && parent && hasDisplayContentsStyle(*parent)) { + while (limit != -1 && parent && hasDisplayContentsStyle(*parent)) { if (LayoutObject* sibling = nextSiblingLayoutObjectInternal(nextSibling(*parent), limit)) return sibling; @@ -296,7 +296,7 @@ pseudoAwareLastChild(*sibling), limit); if (layoutObject) return layoutObject; - if (!limit) + if (limit == -1) return nullptr; } @@ -316,7 +316,7 @@ return sibling; Node* parent = LayoutTreeBuilderTraversal::parent(node); - while (limit && parent && hasDisplayContentsStyle(*parent)) { + while (limit != -1 && parent && hasDisplayContentsStyle(*parent)) { if (LayoutObject* sibling = previousSiblingLayoutObjectInternal( previousSibling(*parent), limit)) return sibling;
diff --git a/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversalTest.cpp b/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversalTest.cpp index 50571677..ab151149 100644 --- a/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversalTest.cpp +++ b/third_party/WebKit/Source/core/dom/LayoutTreeBuilderTraversalTest.cpp
@@ -136,4 +136,24 @@ LayoutTreeBuilderTraversal::previousSiblingLayoutObject(*last)); } +TEST_F(LayoutTreeBuilderTraversalTest, limits) { + const char* const html = + "<div></div>" + "<div style='display: contents'></div>" + "<div style='display: contents'>" + "<div style='display: contents'>" + "</div>" + "</div>" + "<div id='shouldNotBeFound'></div>"; + + setupSampleHTML(html); + + Element* first = document().querySelector("div"); + + EXPECT_TRUE(first->layoutObject()); + LayoutObject* nextSibling = + LayoutTreeBuilderTraversal::nextSiblingLayoutObject(*first, 2); + EXPECT_FALSE(nextSibling); // Should not overrecurse +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/StyleEngine.cpp b/third_party/WebKit/Source/core/dom/StyleEngine.cpp index 8ae6147b..8938c35 100644 --- a/third_party/WebKit/Source/core/dom/StyleEngine.cpp +++ b/third_party/WebKit/Source/core/dom/StyleEngine.cpp
@@ -572,11 +572,6 @@ document().scopedStyleResolver()->collectFeaturesTo( features, visitedSharedStyleSheetContents); for (TreeScope* treeScope : m_activeTreeScopes) { - // When creating StyleResolver, dirty treescopes might not be processed. - // So some active treescopes might not have a scoped style resolver. - // In this case, we should skip collectFeatures for the treescopes without - // scoped style resolvers. When invoking updateActiveStyleSheets, - // the treescope's features will be processed. if (ScopedStyleResolver* resolver = treeScope->scopedStyleResolver()) resolver->collectFeaturesTo(features, visitedSharedStyleSheetContents); }
diff --git a/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp b/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp index ba4232ef..aeef821 100644 --- a/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp +++ b/third_party/WebKit/Source/core/frame/DOMWindowTimers.cpp
@@ -49,6 +49,8 @@ bool isEval) { if (executionContext->isDocument()) { Document* document = static_cast<Document*>(executionContext); + if (!document->frame()) + return false; if (isEval && !document->contentSecurityPolicy()->allowEval( scriptState, ContentSecurityPolicy::SendReport,
diff --git a/third_party/WebKit/Source/core/frame/UseCounter.h b/third_party/WebKit/Source/core/frame/UseCounter.h index 14eb5f0..6b3753d 100644 --- a/third_party/WebKit/Source/core/frame/UseCounter.h +++ b/third_party/WebKit/Source/core/frame/UseCounter.h
@@ -231,7 +231,6 @@ DeprecatedWebKitRepeatingLinearGradient = 262, DeprecatedWebKitRadialGradient = 263, DeprecatedWebKitRepeatingRadialGradient = 264, - UnprefixedImageSmoothingEnabled = 268, // The above items are available in M34 branch. TextAutosizing = 274, @@ -1459,6 +1458,13 @@ LocationOrigin = 1827, DocumentOrigin = 1828, SubtleCryptoOnlyStrictSecureContextCheckFailed = 1829, + Canvas2DFilter = 1830, + Canvas2DImageSmoothingQuality = 1831, + CanvasToBlob = 1832, + CanvasToDataURL = 1833, + OffscreenCanvasConvertToBlob = 1834, + SVGInCanvas2D = 1835, + SVGInWebGL = 1836, // Add new features immediately above this line. Don't change assigned // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp index b1e9a3d4c..09b1894 100644 --- a/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp +++ b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp
@@ -461,9 +461,8 @@ return (event->type() == EventTypeNames::click || event->type() == EventTypeNames::auxclick) && (!event->isMouseEvent() || - (toMouseEvent(event)->button() != - static_cast<short>(WebPointerProperties::Button::Right) && - toMouseEvent(event)->detail() <= 1)); + toMouseEvent(event)->button() != + static_cast<short>(WebPointerProperties::Button::Right)); } bool HTMLAnchorElement::willRespondToMouseClickEvents() {
diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.idl b/third_party/WebKit/Source/core/html/HTMLCanvasElement.idl index f2aa798..a636a41e7f 100644 --- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.idl +++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.idl
@@ -38,7 +38,7 @@ // Note: The arguments argument is variadic in the spec, but not here as // only one extra argument is actually used. // FIXME: type should not have a default value. - [RaisesException] DOMString toDataURL(optional DOMString type = null, optional any arguments); + [MeasureAs=CanvasToDataURL, RaisesException] DOMString toDataURL(optional DOMString type = null, optional any arguments); - [RaisesException] void toBlob(BlobCallback _callback, optional DOMString type = null, optional any arguments); + [MeasureAs=CanvasToBlob, RaisesException] void toBlob(BlobCallback _callback, optional DOMString type = null, optional any arguments); };
diff --git a/third_party/WebKit/Source/core/html/HTMLImageElement.cpp b/third_party/WebKit/Source/core/html/HTMLImageElement.cpp index a574c90b..50e6b07 100644 --- a/third_party/WebKit/Source/core/html/HTMLImageElement.cpp +++ b/third_party/WebKit/Source/core/html/HTMLImageElement.cpp
@@ -645,6 +645,7 @@ RefPtr<Image> sourceImage; if (cachedImage()->getImage()->isSVGImage()) { + UseCounter::count(document(), UseCounter::SVGInCanvas2D); SVGImage* svgImage = toSVGImage(cachedImage()->getImage()); IntSize imageSize = roundedIntSize(svgImage->concreteObjectSize(defaultObjectSize));
diff --git a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp index 5eb6b5ba..5ec8ef4e 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
@@ -686,7 +686,7 @@ request.setShouldResetAppCache(true); } if (m_state->booleanProperty(NetworkAgentState::bypassServiceWorker, false)) - request.setSkipServiceWorker(WebURLRequest::SkipServiceWorker::All); + request.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); willSendRequestInternal(frame, identifier, loader, request, redirectResponse, initiatorInfo);
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp index 3d8e6af..456e411 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
@@ -1735,6 +1735,10 @@ // overflowClipRect(). The border box rect's size equals the frame rect's // size so we trigger a paint property update when the frame rect changes. setNeedsPaintPropertyUpdate(); + } else if (hasClip()) { + // The used value of CSS clip may depend on size of the box, e.g. for + // clip: rect(auto auto auto -5px). + setNeedsPaintPropertyUpdate(); } else if (styleRef().hasTransform() || styleRef().hasPerspective()) { // Relative lengths (e.g., percentage values) in transform, perspective, // transform-origin, and perspective-origin can depend on the size of the
diff --git a/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp b/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp index 18e23bf5..defc959 100644 --- a/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp +++ b/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp
@@ -101,10 +101,11 @@ }; // No-CORS requests are allowed for all these contexts, and plugin contexts with -// private permission when we set skipServiceWorker flag in PepperURLLoaderHost. +// private permission when we set ServiceWorkerMode to None in +// PepperURLLoaderHost. bool IsNoCORSAllowedContext( WebURLRequest::RequestContext context, - WebURLRequest::SkipServiceWorker skipServiceWorker) { + WebURLRequest::ServiceWorkerMode serviceWorkerMode) { switch (context) { case WebURLRequest::RequestContextAudio: case WebURLRequest::RequestContextVideo: @@ -116,7 +117,7 @@ case WebURLRequest::RequestContextSharedWorker: return true; case WebURLRequest::RequestContextPlugin: - return skipServiceWorker == WebURLRequest::SkipServiceWorker::All; + return serviceWorkerMode == WebURLRequest::ServiceWorkerMode::None; default: return false; } @@ -248,7 +249,7 @@ break; case AllowCrossOriginRequests: SECURITY_CHECK(IsNoCORSAllowedContext(m_requestContext, - request.skipServiceWorker())); + request.getServiceWorkerMode())); newRequest.setFetchRequestMode(WebURLRequest::FetchRequestModeNoCORS); break; } @@ -264,7 +265,7 @@ // We assume that ServiceWorker is skipped for sync requests and unsupported // protocol requests by content/ code. if (m_async && - request.skipServiceWorker() == WebURLRequest::SkipServiceWorker::None && + request.getServiceWorkerMode() == WebURLRequest::ServiceWorkerMode::All && SchemeRegistry::shouldTreatURLSchemeAsAllowingServiceWorkers( request.url().protocol()) && m_document->fetcher()->isControlledByServiceWorker()) { @@ -279,8 +280,8 @@ // is currently safe because of http://crbug.com/604084 the // wasFallbackRequiredByServiceWorker flag is never set when foreign fetch // handled a request. - m_fallbackRequestForServiceWorker.setSkipServiceWorker( - WebURLRequest::SkipServiceWorker::Controlling); + m_fallbackRequestForServiceWorker.setServiceWorkerMode( + WebURLRequest::ServiceWorkerMode::Foreign); } loadRequest(newRequest, m_resourceLoaderOptions); return; @@ -374,15 +375,15 @@ prepareCrossOriginRequest(crossOriginRequest); loadRequest(crossOriginRequest, crossOriginOptions); } else { - // Explicitly set the SkipServiceWorker flag here. Although the page is not - // controlled by a SW at this point, a new SW may be controlling the page - // when this request gets sent later. We should not send the actual request - // to the SW. https://crbug.com/604583 + // Explicitly set the ServiceWorkerMode to None here. Although the page is + // not controlled by a SW at this point, a new SW may be controlling the + // page when this request gets sent later. We should not send the actual + // request to the SW. https://crbug.com/604583 // Similarly we don't want any requests that could involve a CORS preflight // to get intercepted by a foreign fetch service worker, even if we have the // result of the preflight cached already. https://crbug.com/674370 - crossOriginRequest.setSkipServiceWorker( - WebURLRequest::SkipServiceWorker::All); + crossOriginRequest.setServiceWorkerMode( + WebURLRequest::ServiceWorkerMode::None); bool shouldForcePreflight = request.isExternalRequest() ||
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp index c727b4e..106c4f2 100644 --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
@@ -173,10 +173,10 @@ request.setURL(overrideURL); request.clearHTTPReferrer(); } - request.setSkipServiceWorker(frameLoadType == + request.setServiceWorkerMode(frameLoadType == FrameLoadTypeReloadBypassingCache - ? WebURLRequest::SkipServiceWorker::All - : WebURLRequest::SkipServiceWorker::None); + ? WebURLRequest::ServiceWorkerMode::None + : WebURLRequest::ServiceWorkerMode::All); return request; }
diff --git a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.idl b/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.idl index 4114aeef..1abaf8e 100644 --- a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.idl +++ b/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.idl
@@ -14,5 +14,5 @@ [EnforceRange] attribute unsigned long height; [CallWith=ScriptState, RaisesException] ImageBitmap transferToImageBitmap(); - [RaisesException, CallWith=ScriptState] Promise<Blob> convertToBlob(optional ImageEncodeOptions options); + [MeasureAs=OffscreenCanvasConvertToBlob, RaisesException, CallWith=ScriptState] Promise<Blob> convertToBlob(optional ImageEncodeOptions options); };
diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp index 53706edb..d8e6e7f 100644 --- a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp +++ b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
@@ -214,7 +214,16 @@ if (object.isLayoutBlockFlow() && toLayoutBlockFlow(object).containsFloats()) context.paintingLayer->setNeedsPaintPhaseFloat(); - if (&object == &context.paintingLayer->layoutObject()) + // Table collapsed borders are painted in PaintPhaseDescendantBlockBackgrounds + // on the table's layer. + if (object.isTable()) { + const LayoutTable& table = toLayoutTable(object); + if (table.collapseBorders() && !table.collapsedBorders().isEmpty()) + context.paintingLayer->setNeedsPaintPhaseDescendantBlockBackgrounds(); + } + + // The following flags are for descendants of the layer object only. + if (object == context.paintingLayer->layoutObject()) return; if (object.styleRef().hasOutline()) @@ -226,12 +235,6 @@ toLayoutBox(object).getScrollableArea()->hasOverflowControls())) { context.paintingLayer->setNeedsPaintPhaseDescendantBlockBackgrounds(); } - - if (object.isTable()) { - const LayoutTable& table = toLayoutTable(object); - if (table.collapseBorders() && !table.collapsedBorders().isEmpty()) - context.paintingLayer->setNeedsPaintPhaseDescendantBlockBackgrounds(); - } } namespace {
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp index 7f04b680..83f20cf4 100644 --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp
@@ -650,4 +650,33 @@ transformObject->paintProperties()->transform()->matrix()); } +TEST_P(PaintPropertyTreeUpdateTest, CSSClipDependingOnSize) { + setBodyInnerHTML( + "<style>" + " body { margin: 0 }" + " #outer {" + " position: absolute;" + " width: 100px; height: 100px; top: 50px; left: 50px;" + " }" + " #clip {" + " position: absolute;" + " clip: rect(auto auto auto -5px);" + " top: 0; left: 0; right: 0; bottom: 0;" + " }" + "</style>" + "<div id='outer'>" + " <div id='clip'></div>" + "</div>"); + + auto* outer = document().getElementById("outer"); + auto* clip = getLayoutObjectByElementId("clip"); + EXPECT_EQ(FloatRect(45, 50, 105, 100), + clip->paintProperties()->cssClip()->clipRect().rect()); + + outer->setAttribute(HTMLNames::styleAttr, "height: 200px"); + document().view()->updateAllLifecyclePhases(); + EXPECT_EQ(FloatRect(45, 50, 105, 200), + clip->paintProperties()->cssClip()->clipRect().rect()); +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp b/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp index 98d47e7..df87ca6 100644 --- a/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp +++ b/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp
@@ -984,9 +984,9 @@ request.setFetchCredentialsMode( includeCredentials ? WebURLRequest::FetchCredentialsModeInclude : WebURLRequest::FetchCredentialsModeSameOrigin); - request.setSkipServiceWorker(m_isIsolatedWorld - ? WebURLRequest::SkipServiceWorker::All - : WebURLRequest::SkipServiceWorker::None); + request.setServiceWorkerMode(m_isIsolatedWorld + ? WebURLRequest::ServiceWorkerMode::None + : WebURLRequest::ServiceWorkerMode::All); request.setExternalRequestStateFromRequestorAddressSpace( executionContext.securityContext().addressSpace());
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js b/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js index 34f65e47..7b5a1923 100644 --- a/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js +++ b/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js
@@ -278,7 +278,8 @@ debuggerModel, uiSourceCode, textRange.endLine, textRange.endColumn); if (!endLocation) continue; - return debuggerModel.getPossibleBreakpoints(startLocation, endLocation).then(toUILocations.bind(this)); + return debuggerModel.getPossibleBreakpoints(startLocation, endLocation, /* restrictToFunction */ false) + .then(toUILocations.bind(this)); } return Promise.resolve([]);
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js b/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js index 6bdf6b9..36817d6 100644 --- a/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js +++ b/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js
@@ -158,6 +158,8 @@ var inherited = !inhertiedProperties.has(canonicalName); if (!showInherited && inherited && !(propertyName in this._alwaysShowComputedProperties)) continue; + if (!showInherited && propertyName.startsWith('--')) + continue; if (propertyName !== canonicalName && propertyValue === nodeStyle.computedStyle.get(canonicalName)) continue;
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js b/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js index 124e5b44..668c593e 100644 --- a/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js +++ b/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
@@ -79,7 +79,12 @@ /** @type {!Array.<!Elements.ElementsTreeOutline>} */ this._treeOutlines = []; + /** @type {!Map<!Elements.ElementsTreeOutline, !Element>} */ + this._treeOutlineHeaders = new Map(); SDK.targetManager.observeTargets(this); + SDK.targetManager.addEventListener( + SDK.TargetManager.Events.NameChanged, + event => this._targetNameChanged(/** @type {!SDK.Target} */ (event.data))); Common.moduleSetting('showUAShadowDOM').addChangeListener(this._showUAShadowDOMChanged.bind(this)); SDK.targetManager.addModelListener( SDK.DOMModel, SDK.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); @@ -217,6 +222,10 @@ Elements.ElementsTreeOutline.Events.ElementsTreeUpdated, this._updateBreadcrumbIfNeeded, this); new Elements.ElementsTreeElementHighlighter(treeOutline); this._treeOutlines.push(treeOutline); + if (target.parentTarget()) { + this._treeOutlineHeaders.set(treeOutline, createElementWithClass('div', 'elements-tree-header')); + this._targetNameChanged(target); + } // Perform attach if necessary. if (this.isShowing()) @@ -234,9 +243,31 @@ var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel); treeOutline.unwireFromDOMModel(); this._treeOutlines.remove(treeOutline); + var header = this._treeOutlineHeaders.get(treeOutline); + if (header) + header.remove(); + this._treeOutlineHeaders.delete(treeOutline); treeOutline.element.remove(); } + /** + * @param {!SDK.Target} target + */ + _targetNameChanged(target) { + var domModel = SDK.DOMModel.fromTarget(target); + if (!domModel) + return; + var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel); + if (!treeOutline) + return; + var header = this._treeOutlineHeaders.get(treeOutline); + if (!header) + return; + header.removeChildren(); + header.createChild('div', 'elements-tree-header-frame').textContent = Common.UIString('Frame'); + header.appendChild(Components.Linkifier.linkifyURL(target.inspectedURL(), target.name())); + } + _updateTreeOutlineVisibleWidth() { if (!this._treeOutlines.length) return; @@ -275,8 +306,12 @@ for (var i = 0; i < this._treeOutlines.length; ++i) { var treeOutline = this._treeOutlines[i]; // Attach heavy component lazily - if (treeOutline.element.parentElement !== this._contentElement) + if (treeOutline.element.parentElement !== this._contentElement) { + var header = this._treeOutlineHeaders.get(treeOutline); + if (header) + this._contentElement.appendChild(header); this._contentElement.appendChild(treeOutline.element); + } } super.wasShown(); this._breadcrumbs.update(); @@ -307,6 +342,9 @@ treeOutline.setVisible(false); // Detach heavy component on hide this._contentElement.removeChild(treeOutline.element); + var header = this._treeOutlineHeaders.get(treeOutline); + if (header) + this._contentElement.removeChild(header); } if (this._popoverHelper) this._popoverHelper.hidePopover();
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/elementsPanel.css b/third_party/WebKit/Source/devtools/front_end/elements/elementsPanel.css index 7d6a78c..f017c90b 100644 --- a/third_party/WebKit/Source/devtools/front_end/elements/elementsPanel.css +++ b/third_party/WebKit/Source/devtools/front_end/elements/elementsPanel.css
@@ -520,3 +520,18 @@ .styles-pane:not(.is-editing-style) .styles-section.matched-styles:not(.read-only):hover .sidebar-pane-section-toolbar { visibility: visible; } + +.elements-tree-header { + height: 24px; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + display: flex; + flex-direction: row; + align-items: center; +} + +.elements-tree-header-frame { + margin-left: 6px; + margin-right: 6px; + flex: none; +}
diff --git a/third_party/WebKit/Source/devtools/front_end/main/Main.js b/third_party/WebKit/Source/devtools/front_end/main/Main.js index 33331dc..142b6f77 100644 --- a/third_party/WebKit/Source/devtools/front_end/main/Main.js +++ b/third_party/WebKit/Source/devtools/front_end/main/Main.js
@@ -97,8 +97,8 @@ Runtime.experiments.register('audits2', 'Audits 2.0', true); Runtime.experiments.register('autoAttachToCrossProcessSubframes', 'Auto-attach to cross-process subframes', true); Runtime.experiments.register('blackboxJSFramesOnTimeline', 'Blackbox JavaScript frames on Timeline', true); + Runtime.experiments.register('continueToLocationMarkers', 'Continue to location markers', true); Runtime.experiments.register('colorContrastRatio', 'Contrast ratio line in color picker', true); - Runtime.experiments.register('continueToFirstInvocation', 'Continue to first invocation', true); Runtime.experiments.register('cssTrackerPanel', 'Panel that tracks the usage of CSS rules.'); Runtime.experiments.register('emptySourceMapAutoStepping', 'Empty sourcemap auto-stepping'); Runtime.experiments.register('inputEventsOnTimelineOverview', 'Input events on Timeline overview', true);
diff --git a/third_party/WebKit/Source/devtools/front_end/object_ui/ObjectPopoverHelper.js b/third_party/WebKit/Source/devtools/front_end/object_ui/ObjectPopoverHelper.js index 946b79d..47757aa 100644 --- a/third_party/WebKit/Source/devtools/front_end/object_ui/ObjectPopoverHelper.js +++ b/third_party/WebKit/Source/devtools/front_end/object_ui/ObjectPopoverHelper.js
@@ -95,12 +95,6 @@ var rawLocation = response.location; var linkContainer = title.createChild('div', 'function-title-link-container'); - if (rawLocation && Runtime.experiments.isEnabled('continueToFirstInvocation')) { - var sectionToolbar = new UI.Toolbar('function-location-step-into', linkContainer); - var stepInto = new UI.ToolbarButton(Common.UIString('Continue to first invocation'), 'largeicon-step-in'); - stepInto.addEventListener(UI.ToolbarButton.Events.Click, () => rawLocation.continueToLocation()); - sectionToolbar.appendToolbarItem(stepInto); - } var sourceURL = rawLocation && rawLocation.script() ? rawLocation.script().sourceURL : null; if (rawLocation && sourceURL) linkContainer.appendChild(this._lazyLinkifier().linkifyRawLocation(rawLocation, sourceURL)); @@ -157,8 +151,8 @@ } else { popoverContentElement = createElement('div'); UI.appendStyle(popoverContentElement, 'object_ui/objectPopover.css'); - this._titleElement = popoverContentElement.createChild('div', 'monospace'); - this._titleElement.createChild('span', 'object-popover-title').textContent = description; + this._titleElement = popoverContentElement.createChild('div', 'monospace object-popover-title'); + this._titleElement.createChild('span').textContent = description; var section = new ObjectUI.ObjectPropertiesSection(result, '', this._lazyLinkifier()); section.element.classList.add('object-popover-tree'); section.titleLessMode();
diff --git a/third_party/WebKit/Source/devtools/front_end/resources/ServiceWorkersView.js b/third_party/WebKit/Source/devtools/front_end/resources/ServiceWorkersView.js index a109453e..e6e989f 100644 --- a/third_party/WebKit/Source/devtools/front_end/resources/ServiceWorkersView.js +++ b/third_party/WebKit/Source/devtools/front_end/resources/ServiceWorkersView.js
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /** - * @implements {SDK.TargetManager.Observer} + * @implements {SDK.SDKModelObserver<!SDK.ServiceWorkerManager>} * @unrestricted */ Resources.ServiceWorkersView = class extends UI.VBox { @@ -35,26 +35,26 @@ this._showAllCheckbox.inputElement.addEventListener('change', this._updateSectionVisibility.bind(this), false); this._toolbar.appendToolbarItem(this._showAllCheckbox); - /** @type {!Map<!SDK.Target, !Array<!Common.EventTarget.EventDescriptor>>}*/ + /** @type {!Map<!SDK.ServiceWorkerManager, !Array<!Common.EventTarget.EventDescriptor>>}*/ this._eventListeners = new Map(); - SDK.targetManager.observeTargets(this); + SDK.targetManager.observeModels(SDK.ServiceWorkerManager, this); } /** * @override - * @param {!SDK.Target} target + * @param {!SDK.ServiceWorkerManager} serviceWorkerManager */ - targetAdded(target) { - if (this._manager || !target.serviceWorkerManager) + modelAdded(serviceWorkerManager) { + if (this._manager) return; - this._manager = target.serviceWorkerManager; - this._subTargetsManager = target.subTargetsManager; - this._securityOriginManager = SDK.SecurityOriginManager.fromTarget(target); + this._manager = serviceWorkerManager; + this._subTargetsManager = serviceWorkerManager.target().subTargetsManager; + this._securityOriginManager = SDK.SecurityOriginManager.fromTarget(serviceWorkerManager.target()); for (var registration of this._manager.registrations().values()) this._updateRegistration(registration); - this._eventListeners.set(target, [ + this._eventListeners.set(serviceWorkerManager, [ this._manager.addEventListener( SDK.ServiceWorkerManager.Events.RegistrationUpdated, this._registrationUpdated, this), this._manager.addEventListener( @@ -70,14 +70,14 @@ /** * @override - * @param {!SDK.Target} target + * @param {!SDK.ServiceWorkerManager} serviceWorkerManager */ - targetRemoved(target) { - if (!this._manager || this._manager !== target.serviceWorkerManager) + modelRemoved(serviceWorkerManager) { + if (!this._manager || this._manager !== serviceWorkerManager) return; - Common.EventTarget.removeEventListeners(this._eventListeners.get(target)); - this._eventListeners.delete(target); + Common.EventTarget.removeEventListeners(this._eventListeners.get(serviceWorkerManager)); + this._eventListeners.delete(serviceWorkerManager); this._manager = null; this._subTargetsManager = null; this._securityOriginManager = null;
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js index 33c71ee..fe5f1c5 100644 --- a/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js +++ b/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js
@@ -269,13 +269,15 @@ /** * @param {!SDK.DebuggerModel.Location} startLocation * @param {!SDK.DebuggerModel.Location} endLocation + * @param {boolean} restrictToFunction * @return {!Promise<!Array<!SDK.DebuggerModel.Location>>} */ - getPossibleBreakpoints(startLocation, endLocation) { + getPossibleBreakpoints(startLocation, endLocation, restrictToFunction) { var fulfill; var promise = new Promise(resolve => fulfill = resolve); this._agent.invoke_getPossibleBreakpoints( - {start: startLocation.payload(), end: endLocation.payload()}, checkErrorAndReturn.bind(this)); + {start: startLocation.payload(), end: endLocation.payload(), restrictToFunction: restrictToFunction}, + checkErrorAndReturn.bind(this)); return promise; /**
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js index 1a95381..d894ed0 100644 --- a/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js +++ b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js
@@ -261,7 +261,7 @@ target.tracingManager = new SDK.TracingManager(target); - target.serviceWorkerManager = target.model(SDK.ServiceWorkerManager); + target.model(SDK.ServiceWorkerManager); // Force creation of models which have observers. for (var modelClass of this._modelObservers.keys())
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js b/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js index fc99543..9410c7b 100644 --- a/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js +++ b/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
@@ -553,7 +553,11 @@ this.textEditor.setExecutionLocation(uiLocation.lineNumber, uiLocation.columnNumber); if (this.isShowing()) { // We need SourcesTextEditor to be initialized prior to this call. @see crbug.com/506566 - setImmediate(this._generateValuesInSource.bind(this)); + setImmediate(() => { + this._generateValuesInSource(); + if (Runtime.experiments.isEnabled('continueToLocationMarkers')) + this._showContinueToLocations(); + }); } } @@ -580,6 +584,57 @@ } } + _showContinueToLocations() { + var executionContext = UI.context.flavor(SDK.ExecutionContext); + if (!executionContext) + return; + var callFrame = UI.context.flavor(SDK.DebuggerModel.CallFrame); + if (!callFrame) + return; + var localScope = callFrame.localScope(); + if (!localScope) + return; + var start = localScope.startLocation(); + var end = localScope.endLocation(); + var debuggerModel = callFrame.debuggerModel; + debuggerModel.getPossibleBreakpoints(start, end, true) + .then(locations => this.textEditor.operation(renderLocations.bind(this, locations))); + + if (this._clearContinueToLocationsTimer) { + clearTimeout(this._clearContinueToLocationsTimer); + delete this._clearContinueToLocationsTimer; + } + + /** + * @param {!Array<!SDK.DebuggerModel.Location>} locations + * @this {Sources.JavaScriptSourceFrame} + */ + function renderLocations(locations) { + var bookmarks = this.textEditor.bookmarks( + this.textEditor.fullRange(), Sources.JavaScriptSourceFrame.continueToLocationDecorationSymbol); + bookmarks.map(bookmark => bookmark.clear()); + + for (var location of locations) { + var icon = UI.Icon.create('smallicon-green-ball'); + icon.classList.add('cm-continue-to-location'); + icon.addEventListener('click', location.continueToLocation.bind(location)); + icon.addEventListener('mousemove', hidePopoverAndConsumeEvent.bind(this)); + this.textEditor.addBookmark( + location.lineNumber, location.columnNumber, icon, + Sources.JavaScriptSourceFrame.continueToLocationDecorationSymbol); + } + } + + /** + * @param {!Event} event + * @this {Sources.JavaScriptSourceFrame} + */ + function hidePopoverAndConsumeEvent(event) { + event.consume(true); + this._popoverHelper.hidePopover(); + } + } + /** * @param {!SDK.DebuggerModel.CallFrame} callFrame * @param {?Array.<!SDK.RemoteObjectProperty>} properties @@ -728,6 +783,8 @@ this.textEditor.clearExecutionLine(); delete this._executionLocation; this._clearValueWidgetsTimer = setTimeout(this._clearValueWidgets.bind(this), 1000); + if (Runtime.experiments.isEnabled('continueToLocationMarkers')) + this._clearContinueToLocationsTimer = setTimeout(this._clearContinueToLocations.bind(this), 1000); } _clearValueWidgets() { @@ -737,6 +794,13 @@ this._valueWidgets.clear(); } + _clearContinueToLocations() { + delete this._clearContinueToLocationsTimer; + var bookmarks = this.textEditor.bookmarks( + this.textEditor.fullRange(), Sources.JavaScriptSourceFrame.continueToLocationDecorationSymbol); + this.textEditor.operation(() => bookmarks.map(bookmark => bookmark.clear())); + } + /** * @param {number} lineNumber * @return {!Array<!Sources.JavaScriptSourceFrame.BreakpointDecoration>} @@ -1382,3 +1446,5 @@ Sources.JavaScriptSourceFrame.BreakpointDecoration.bookmarkSymbol = Symbol('bookmark'); Sources.JavaScriptSourceFrame.BreakpointDecoration._elementSymbolForTest = Symbol('element'); + +Sources.JavaScriptSourceFrame.continueToLocationDecorationSymbol = Symbol('bookmark'); \ No newline at end of file
diff --git a/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css b/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css index 01a4f39..48e272a 100644 --- a/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css +++ b/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css
@@ -160,6 +160,11 @@ opacity: 0.5; } +.cm-continue-to-location { + cursor: pointer; + transform: scale(0.7); +} + div.CodeMirror span.CodeMirror-matchingbracket { background-color: rgba(0, 0, 0, 0.07); border-bottom: 1px solid rgba(0, 0, 0, 0.5);
diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.idl b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.idl index 3c4d402d..c599cbc 100644 --- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.idl +++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.idl
@@ -57,11 +57,11 @@ // compositing attribute unrestricted double globalAlpha; // (default 1.0) attribute DOMString globalCompositeOperation; // (default source-over) - attribute DOMString filter; // (default 'none') + [MeasureAs=Canvas2DFilter] attribute DOMString filter; // (default 'none') // image smoothing - [MeasureAs=UnprefixedImageSmoothingEnabled] attribute boolean imageSmoothingEnabled; // (default True) - attribute ImageSmoothingQuality imageSmoothingQuality; // (default "low") + attribute boolean imageSmoothingEnabled; // (default True) + [MeasureAs=Canvas2DImageSmoothingQuality]attribute ImageSmoothingQuality imageSmoothingQuality; // (default "low") // colors and styles (see also the CanvasDrawingStyles interface) attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black)
diff --git a/third_party/WebKit/Source/modules/fetch/FetchManager.cpp b/third_party/WebKit/Source/modules/fetch/FetchManager.cpp index 12b47f44..be60585 100644 --- a/third_party/WebKit/Source/modules/fetch/FetchManager.cpp +++ b/third_party/WebKit/Source/modules/fetch/FetchManager.cpp
@@ -764,9 +764,9 @@ // referrer string (i.e. String()). request.setHTTPReferrer(SecurityPolicy::generateReferrer( referrerPolicy, m_request->url(), referrerString)); - request.setSkipServiceWorker(m_isIsolatedWorld - ? WebURLRequest::SkipServiceWorker::All - : WebURLRequest::SkipServiceWorker::None); + request.setServiceWorkerMode(m_isIsolatedWorld + ? WebURLRequest::ServiceWorkerMode::None + : WebURLRequest::ServiceWorkerMode::All); // "3. Append `Host`, ..." // FIXME: Implement this when the spec is fixed.
diff --git a/third_party/WebKit/Source/modules/fetch/GlobalFetch.cpp b/third_party/WebKit/Source/modules/fetch/GlobalFetch.cpp index 7f50811..72efc30c 100644 --- a/third_party/WebKit/Source/modules/fetch/GlobalFetch.cpp +++ b/third_party/WebKit/Source/modules/fetch/GlobalFetch.cpp
@@ -98,6 +98,10 @@ const Dictionary& init, ExceptionState& exceptionState) { UseCounter::count(window.getExecutionContext(), UseCounter::Fetch); + if (!window.frame()) { + exceptionState.throwTypeError("The global scope is shutting down."); + return ScriptPromise(); + } return ScopedFetcher::from(window)->fetch(scriptState, input, init, exceptionState); }
diff --git a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl index 6143536..7cf8c87 100644 --- a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl +++ b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl
@@ -28,11 +28,11 @@ // compositing attribute unrestricted double globalAlpha; // (default 1.0) attribute DOMString globalCompositeOperation; // (default source-over) - attribute DOMString filter; + [MeasureAs=Canvas2DFilter]attribute DOMString filter; // image smoothing attribute boolean imageSmoothingEnabled; // (default True) - attribute ImageSmoothingQuality imageSmoothingQuality; // (default "low") + [MeasureAs=Canvas2DImageSmoothingQuality] attribute ImageSmoothingQuality imageSmoothingQuality; // (default "low") // colors and styles attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black)
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp index 56aae3f..cc5f759 100644 --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
@@ -4912,9 +4912,13 @@ return; RefPtr<Image> imageForRender = image->cachedImage()->getImage(); - if (imageForRender && imageForRender->isSVGImage()) + if (imageForRender && imageForRender->isSVGImage()) { + if (canvas()) { + UseCounter::count(canvas()->document(), UseCounter::SVGInWebGL); + } imageForRender = drawImageIntoBuffer( imageForRender.release(), image->width(), image->height(), funcName); + } TexImageFunctionType functionType; if (functionID == TexImage2D || functionID == TexImage3D)
diff --git a/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp b/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp index 67a8692..893a4163 100644 --- a/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp +++ b/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
@@ -303,13 +303,13 @@ m_resourceRequest->setUseStreamOnResponse(useStreamOnResponse); } -WebURLRequest::SkipServiceWorker WebURLRequest::skipServiceWorker() const { - return m_resourceRequest->skipServiceWorker(); +WebURLRequest::ServiceWorkerMode WebURLRequest::getServiceWorkerMode() const { + return m_resourceRequest->getServiceWorkerMode(); } -void WebURLRequest::setSkipServiceWorker( - WebURLRequest::SkipServiceWorker skipServiceWorker) { - m_resourceRequest->setSkipServiceWorker(skipServiceWorker); +void WebURLRequest::setServiceWorkerMode( + WebURLRequest::ServiceWorkerMode serviceWorkerMode) { + m_resourceRequest->setServiceWorkerMode(serviceWorkerMode); } bool WebURLRequest::shouldResetAppCache() const {
diff --git a/third_party/WebKit/Source/platform/loader/fetch/CrossOriginAccessControl.cpp b/third_party/WebKit/Source/platform/loader/fetch/CrossOriginAccessControl.cpp index a9edb4d..c6df27b4 100644 --- a/third_party/WebKit/Source/platform/loader/fetch/CrossOriginAccessControl.cpp +++ b/third_party/WebKit/Source/platform/loader/fetch/CrossOriginAccessControl.cpp
@@ -100,7 +100,7 @@ AtomicString(request.httpMethod())); preflightRequest.setPriority(request.priority()); preflightRequest.setRequestContext(request.requestContext()); - preflightRequest.setSkipServiceWorker(WebURLRequest::SkipServiceWorker::All); + preflightRequest.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); if (request.isExternalRequest()) { preflightRequest.setHTTPHeaderField(
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp index eae214e..65ce985 100644 --- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp +++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
@@ -1258,7 +1258,7 @@ // https://w3c.github.io/webappsec-suborigins/. SecurityOrigin* sourceOrigin = context().getSecurityOrigin(); if (sourceOrigin && sourceOrigin->hasSuborigin()) - request.setSkipServiceWorker(WebURLRequest::SkipServiceWorker::All); + request.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); ResourceLoader* loader = ResourceLoader::create(this, resource); if (resource->shouldBlockLoadEvent())
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp index 488ee42..6ebed25 100644 --- a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp +++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
@@ -326,8 +326,8 @@ if (m_resource->options().corsEnabled == IsCORSEnabled && response.wasFallbackRequiredByServiceWorker()) { ResourceRequest request = m_resource->lastResourceRequest(); - DCHECK_EQ(request.skipServiceWorker(), - WebURLRequest::SkipServiceWorker::None); + DCHECK_EQ(request.getServiceWorkerMode(), + WebURLRequest::ServiceWorkerMode::All); // This code handles the case when a regular controlling service worker // doesn't handle a cross origin request. When this happens we still want // to give foreign fetch a chance to handle the request, so only skip the @@ -340,8 +340,7 @@ handleError(ResourceError::cancelledError(response.url())); return; } - request.setSkipServiceWorker( - WebURLRequest::SkipServiceWorker::Controlling); + request.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::Foreign); restart(request); return; }
diff --git a/third_party/WebKit/Source/platform/network/ResourceRequest.cpp b/third_party/WebKit/Source/platform/network/ResourceRequest.cpp index 7f7b599..0637ae06 100644 --- a/third_party/WebKit/Source/platform/network/ResourceRequest.cpp +++ b/third_party/WebKit/Source/platform/network/ResourceRequest.cpp
@@ -58,7 +58,7 @@ m_downloadToFile(false), m_useStreamOnResponse(false), m_shouldResetAppCache(false), - m_skipServiceWorker(WebURLRequest::SkipServiceWorker::None), + m_serviceWorkerMode(WebURLRequest::ServiceWorkerMode::All), m_priority(ResourceLoadPriorityLowest), m_intraPriorityValue(0), m_requestorID(0), @@ -98,7 +98,7 @@ setHasUserGesture(data->m_hasUserGesture); setDownloadToFile(data->m_downloadToFile); setUseStreamOnResponse(data->m_useStreamOnResponse); - setSkipServiceWorker(data->m_skipServiceWorker); + setServiceWorkerMode(data->m_serviceWorkerMode); setShouldResetAppCache(data->m_shouldResetAppCache); setRequestorID(data->m_requestorID); setRequestorProcessID(data->m_requestorProcessID); @@ -146,7 +146,7 @@ data->m_hasUserGesture = m_hasUserGesture; data->m_downloadToFile = m_downloadToFile; data->m_useStreamOnResponse = m_useStreamOnResponse; - data->m_skipServiceWorker = m_skipServiceWorker; + data->m_serviceWorkerMode = m_serviceWorkerMode; data->m_shouldResetAppCache = m_shouldResetAppCache; data->m_requestorID = m_requestorID; data->m_requestorProcessID = m_requestorProcessID;
diff --git a/third_party/WebKit/Source/platform/network/ResourceRequest.h b/third_party/WebKit/Source/platform/network/ResourceRequest.h index de75050..8c1f927c 100644 --- a/third_party/WebKit/Source/platform/network/ResourceRequest.h +++ b/third_party/WebKit/Source/platform/network/ResourceRequest.h
@@ -217,13 +217,14 @@ m_useStreamOnResponse = useStreamOnResponse; } - // Indicates which types of ServiceWorkers should skip handling this request. - WebURLRequest::SkipServiceWorker skipServiceWorker() const { - return m_skipServiceWorker; + // The service worker mode indicating which service workers should get events + // for this request. + WebURLRequest::ServiceWorkerMode getServiceWorkerMode() const { + return m_serviceWorkerMode; } - void setSkipServiceWorker( - WebURLRequest::SkipServiceWorker skipServiceWorker) { - m_skipServiceWorker = skipServiceWorker; + void setServiceWorkerMode( + WebURLRequest::ServiceWorkerMode serviceWorkerMode) { + m_serviceWorkerMode = serviceWorkerMode; } // True if corresponding AppCache group should be resetted. @@ -337,7 +338,7 @@ bool m_downloadToFile : 1; bool m_useStreamOnResponse : 1; bool m_shouldResetAppCache : 1; - WebURLRequest::SkipServiceWorker m_skipServiceWorker; + WebURLRequest::ServiceWorkerMode m_serviceWorkerMode; ResourceLoadPriority m_priority; int m_intraPriorityValue; int m_requestorID; @@ -388,7 +389,7 @@ bool m_reportUploadProgress; bool m_hasUserGesture; bool m_downloadToFile; - WebURLRequest::SkipServiceWorker m_skipServiceWorker; + WebURLRequest::ServiceWorkerMode m_serviceWorkerMode; bool m_useStreamOnResponse; bool m_shouldResetAppCache; ResourceLoadPriority m_priority;
diff --git a/third_party/WebKit/Source/platform/network/ResourceRequestTest.cpp b/third_party/WebKit/Source/platform/network/ResourceRequestTest.cpp index 3a21a37..b6359bd 100644 --- a/third_party/WebKit/Source/platform/network/ResourceRequestTest.cpp +++ b/third_party/WebKit/Source/platform/network/ResourceRequestTest.cpp
@@ -41,7 +41,7 @@ original.setReportUploadProgress(false); original.setHasUserGesture(false); original.setDownloadToFile(false); - original.setSkipServiceWorker(WebURLRequest::SkipServiceWorker::None); + original.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::All); original.setFetchRequestMode(WebURLRequest::FetchRequestModeCORS); original.setFetchCredentialsMode( WebURLRequest::FetchCredentialsModeSameOrigin); @@ -71,8 +71,8 @@ EXPECT_FALSE(original.reportUploadProgress()); EXPECT_FALSE(original.hasUserGesture()); EXPECT_FALSE(original.downloadToFile()); - EXPECT_EQ(WebURLRequest::SkipServiceWorker::None, - original.skipServiceWorker()); + EXPECT_EQ(WebURLRequest::ServiceWorkerMode::All, + original.getServiceWorkerMode()); EXPECT_EQ(WebURLRequest::FetchRequestModeCORS, original.fetchRequestMode()); EXPECT_EQ(WebURLRequest::FetchCredentialsModeSameOrigin, original.fetchCredentialsMode()); @@ -104,7 +104,8 @@ EXPECT_FALSE(copy1.reportUploadProgress()); EXPECT_FALSE(copy1.hasUserGesture()); EXPECT_FALSE(copy1.downloadToFile()); - EXPECT_EQ(WebURLRequest::SkipServiceWorker::None, copy1.skipServiceWorker()); + EXPECT_EQ(WebURLRequest::ServiceWorkerMode::All, + copy1.getServiceWorkerMode()); EXPECT_EQ(WebURLRequest::FetchRequestModeCORS, copy1.fetchRequestMode()); EXPECT_EQ(WebURLRequest::FetchCredentialsModeSameOrigin, copy1.fetchCredentialsMode()); @@ -121,7 +122,7 @@ copy1.setReportUploadProgress(true); copy1.setHasUserGesture(true); copy1.setDownloadToFile(true); - copy1.setSkipServiceWorker(WebURLRequest::SkipServiceWorker::All); + copy1.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); copy1.setFetchRequestMode(WebURLRequest::FetchRequestModeNoCORS); copy1.setFetchCredentialsMode(WebURLRequest::FetchCredentialsModeInclude); @@ -131,7 +132,8 @@ EXPECT_TRUE(copy2.reportUploadProgress()); EXPECT_TRUE(copy2.hasUserGesture()); EXPECT_TRUE(copy2.downloadToFile()); - EXPECT_EQ(WebURLRequest::SkipServiceWorker::All, copy2.skipServiceWorker()); + EXPECT_EQ(WebURLRequest::ServiceWorkerMode::None, + copy2.getServiceWorkerMode()); EXPECT_EQ(WebURLRequest::FetchRequestModeNoCORS, copy1.fetchRequestMode()); EXPECT_EQ(WebURLRequest::FetchCredentialsModeInclude, copy1.fetchCredentialsMode());
diff --git a/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc b/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc index 4009342..11d55d7 100644 --- a/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc +++ b/third_party/WebKit/Source/platform/testing/weburl_loader_mock.cc
@@ -82,7 +82,7 @@ newRequest.setUseStreamOnResponse(request.useStreamOnResponse()); newRequest.setRequestContext(request.getRequestContext()); newRequest.setFrameType(request.getFrameType()); - newRequest.setSkipServiceWorker(request.skipServiceWorker()); + newRequest.setServiceWorkerMode(request.getServiceWorkerMode()); newRequest.setShouldResetAppCache(request.shouldResetAppCache()); newRequest.setFetchRequestMode(request.getFetchRequestMode()); newRequest.setFetchCredentialsMode(request.getFetchCredentialsMode());
diff --git a/third_party/WebKit/Source/platform/wtf/DEPS b/third_party/WebKit/Source/platform/wtf/DEPS index 255ca52..eb219e53 100644 --- a/third_party/WebKit/Source/platform/wtf/DEPS +++ b/third_party/WebKit/Source/platform/wtf/DEPS
@@ -15,7 +15,6 @@ "+base/optional.h", "+base/rand_util.h", "+base/strings", - "+base/synchronization/spin_lock.h", "+base/threading/thread_checker.h", "+base/time/time.h", "+base/tuple.h",
diff --git a/third_party/WebKit/Source/web/WebFrameSerializer.cpp b/third_party/WebKit/Source/web/WebFrameSerializer.cpp index 6d2110f4..9a84d54a 100644 --- a/third_party/WebKit/Source/web/WebFrameSerializer.cpp +++ b/third_party/WebKit/Source/web/WebFrameSerializer.cpp
@@ -96,6 +96,7 @@ private: bool shouldIgnoreHiddenElement(const Element&); + bool shouldIgnoreMetaElement(const Element&); bool shouldIgnorePopupOverlayElement(const Element&); void getCustomAttributesForImageElement(const HTMLImageElement&, Vector<Attribute>*); @@ -112,6 +113,8 @@ bool MHTMLFrameSerializerDelegate::shouldIgnoreElement(const Element& element) { if (shouldIgnoreHiddenElement(element)) return true; + if (shouldIgnoreMetaElement(element)) + return true; if (m_webDelegate.removePopupOverlay() && shouldIgnorePopupOverlayElement(element)) { return true; @@ -138,6 +141,23 @@ return parent && !isHTMLHeadElement(parent); } +bool MHTMLFrameSerializerDelegate::shouldIgnoreMetaElement( + const Element& element) { + // Do not include meta elements that declare Content-Security-Policy + // directives. They should have already been enforced when the original + // document is loaded. Since only the rendered resources are encapsulated in + // the saved MHTML page, there is no need to carry the directives. If they + // are still kept in the MHTML, child frames that are referred to using cid: + // scheme could be prevented from loading. + if (!isHTMLMetaElement(element)) + return false; + if (!element.fastHasAttribute(HTMLNames::contentAttr)) + return false; + const AtomicString& httpEquiv = + element.fastGetAttribute(HTMLNames::http_equivAttr); + return httpEquiv == "Content-Security-Policy"; +} + bool MHTMLFrameSerializerDelegate::shouldIgnorePopupOverlayElement( const Element& element) { // The element should be visible.
diff --git a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp index 84b9eff..fb2cbab9 100644 --- a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp +++ b/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
@@ -369,10 +369,18 @@ TEST_F(WebFrameSerializerSanitizationTest, RemoveElements) { String mhtml = generateMHTMLParts("http://www.test.com", "remove_elements.html"); + LOG(ERROR) << mhtml; EXPECT_EQ(WTF::kNotFound, mhtml.find("<script")); EXPECT_EQ(WTF::kNotFound, mhtml.find("<noscript")); + // Only the meta element containing "Content-Security-Policy" is removed. + // Other meta elements should be preserved. + EXPECT_EQ(WTF::kNotFound, + mhtml.find("<meta http-equiv=3D\"Content-Security-Policy")); + EXPECT_NE(WTF::kNotFound, mhtml.find("<meta name=3D\"description")); + EXPECT_NE(WTF::kNotFound, mhtml.find("<meta http-equiv=3D\"refresh")); + // If an element is removed, its children should also be skipped. EXPECT_EQ(WTF::kNotFound, mhtml.find("<select")); EXPECT_EQ(WTF::kNotFound, mhtml.find("<option"));
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp index cd69fcb..0fa0544 100644 --- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp +++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -8818,9 +8818,8 @@ "} catch (e) { e; }")); ASSERT_TRUE(!exception.IsEmpty()); EXPECT_EQ( - "SecurityError: Failed to execute 'setTimeout' on 'Window': Blocked a " - "frame with origin \"http://internal.test\" from accessing a " - "cross-origin frame.", + "SecurityError: Blocked a frame with origin \"http://internal.test\" " + "from accessing a cross-origin frame.", toCoreString(exception ->ToString(ScriptState::forMainWorld( webView()->mainFrameImpl()->frame())
diff --git a/third_party/WebKit/Source/web/tests/data/frameserialization/remove_elements.html b/third_party/WebKit/Source/web/tests/data/frameserialization/remove_elements.html index d79b8ebf..d5a64cb 100644 --- a/third_party/WebKit/Source/web/tests/data/frameserialization/remove_elements.html +++ b/third_party/WebKit/Source/web/tests/data/frameserialization/remove_elements.html
@@ -5,6 +5,9 @@ document.write("Hello World!"); </script> <noscript>JavaScript not supported.</noscript> +<meta name="description" content="This is a test."> +<meta http-equiv="refresh" content="300"> +<meta http-equiv="Content-Security-Policy" content="child-src 'self'"> </head> <body> <select name="choices" style="display:none;">
diff --git a/third_party/WebKit/Source/wtf/DEPS b/third_party/WebKit/Source/wtf/DEPS index 49c624e5..c208ff5 100644 --- a/third_party/WebKit/Source/wtf/DEPS +++ b/third_party/WebKit/Source/wtf/DEPS
@@ -15,7 +15,6 @@ "+base/optional.h", "+base/rand_util.h", "+base/strings", - "+base/synchronization/spin_lock.h", "+base/threading/thread_checker.h", "+base/time/time.h", "+base/tuple.h",
diff --git a/third_party/WebKit/Source/wtf/SpinLock.h b/third_party/WebKit/Source/wtf/SpinLock.h index 0e1fa18..14e2bd9 100644 --- a/third_party/WebKit/Source/wtf/SpinLock.h +++ b/third_party/WebKit/Source/wtf/SpinLock.h
@@ -5,13 +5,13 @@ #ifndef WTF_SpinLock_h #define WTF_SpinLock_h +#include "base/allocator/partition_allocator/spin_lock.h" #include "base/macros.h" -#include "base/synchronization/spin_lock.h" namespace WTF { -// WTF::SpinLock is base::SpinLock. See base/synchronization/spin_lock.h for -// documentation. +// WTF::SpinLock is base::SpinLock. See +// base/allocator/partition_allocator/spin_lock.h for documentation. using SpinLock = base::subtle::SpinLock; } // namespace WTF
diff --git a/third_party/WebKit/Source/wtf/allocator/Partitions.h b/third_party/WebKit/Source/wtf/allocator/Partitions.h index 2aea9ecb..bc14f9b 100644 --- a/third_party/WebKit/Source/wtf/allocator/Partitions.h +++ b/third_party/WebKit/Source/wtf/allocator/Partitions.h
@@ -31,12 +31,12 @@ #ifndef Partitions_h #define Partitions_h +#include <string.h> #include "base/allocator/partition_allocator/partition_alloc.h" -#include "base/synchronization/spin_lock.h" +#include "base/allocator/partition_allocator/spin_lock.h" #include "wtf/Assertions.h" #include "wtf/WTF.h" #include "wtf/WTFExport.h" -#include <string.h> namespace WTF {
diff --git a/third_party/WebKit/public/platform/WebURLRequest.h b/third_party/WebKit/public/platform/WebURLRequest.h index 84aa69f..37aedae 100644 --- a/third_party/WebKit/public/platform/WebURLRequest.h +++ b/third_party/WebKit/public/platform/WebURLRequest.h
@@ -153,16 +153,17 @@ PreviewsStateLast = PreviewsOff }; - // Indicates which types of ServiceWorkers should skip handling this request. - enum class SkipServiceWorker { - // Request can be handled both by a controlling same-origin worker and - // a cross-origin foreign fetch service worker. - None, - // Request should not be handled by a same-origin controlling worker, - // but can be intercepted by a foreign fetch service worker. - Controlling, - // Request should skip all possible service workers. - All + // Indicates which service workers will receive fetch events for this request. + enum class ServiceWorkerMode { + // Relevant local and foreign service workers will get a fetch or + // foreignfetch event for this request. + All, + // Only relevant foreign service workers will get a foreignfetch event for + // this request. + Foreign, + // Neither local nor foreign service workers will get events for this + // request. + None }; enum class LoadingIPCType { @@ -273,9 +274,10 @@ BLINK_PLATFORM_EXPORT bool useStreamOnResponse() const; BLINK_PLATFORM_EXPORT void setUseStreamOnResponse(bool); - // True if the request should not be handled by the ServiceWorker. - BLINK_PLATFORM_EXPORT SkipServiceWorker skipServiceWorker() const; - BLINK_PLATFORM_EXPORT void setSkipServiceWorker(SkipServiceWorker); + // The service worker mode indicating which service workers should get events + // for this request. + BLINK_PLATFORM_EXPORT ServiceWorkerMode getServiceWorkerMode() const; + BLINK_PLATFORM_EXPORT void setServiceWorkerMode(ServiceWorkerMode); // True if corresponding AppCache group should be resetted. BLINK_PLATFORM_EXPORT bool shouldResetAppCache() const;
diff --git a/third_party/boringssl/BUILD.generated.gni b/third_party/boringssl/BUILD.generated.gni index ea584b6..2371143 100644 --- a/third_party/boringssl/BUILD.generated.gni +++ b/third_party/boringssl/BUILD.generated.gni
@@ -41,6 +41,7 @@ "src/crypto/asn1/tasn_new.c", "src/crypto/asn1/tasn_typ.c", "src/crypto/asn1/tasn_utl.c", + "src/crypto/asn1/time_support.c", "src/crypto/asn1/x_bignum.c", "src/crypto/asn1/x_long.c", "src/crypto/base64/base64.c", @@ -215,7 +216,6 @@ "src/crypto/thread_none.c", "src/crypto/thread_pthread.c", "src/crypto/thread_win.c", - "src/crypto/time_support.c", "src/crypto/x509/a_digest.c", "src/crypto/x509/a_sign.c", "src/crypto/x509/a_strex.c", @@ -368,7 +368,6 @@ "src/include/openssl/stack.h", "src/include/openssl/stack_macros.h", "src/include/openssl/thread.h", - "src/include/openssl/time_support.h", "src/include/openssl/type_check.h", "src/include/openssl/x509.h", "src/include/openssl/x509_vfy.h",
diff --git a/third_party/boringssl/BUILD.generated_tests.gni b/third_party/boringssl/BUILD.generated_tests.gni index 5169b8e..2db56bfd 100644 --- a/third_party/boringssl/BUILD.generated_tests.gni +++ b/third_party/boringssl/BUILD.generated_tests.gni
@@ -19,7 +19,9 @@ "src/crypto/chacha/chacha_test.cc", "src/crypto/dh/dh_test.cc", "src/crypto/dsa/dsa_test.cc", + "src/crypto/ec/ec_test.cc", "src/crypto/err/err_test.cc", + "src/crypto/rsa/rsa_test.cc", "src/crypto/test/gtest_main.cc", ] @@ -197,18 +199,6 @@ deps = invoker.deps } - executable("boringssl_ec_test") { - sources = [ - "src/crypto/ec/ec_test.cc", - ] - sources += test_support_sources - if (defined(invoker.configs_exclude)) { - configs -= invoker.configs_exclude - } - configs += invoker.configs - deps = invoker.deps - } - executable("boringssl_example_mul") { sources = [ "src/crypto/ec/example_mul.c", @@ -437,18 +427,6 @@ deps = invoker.deps } - executable("boringssl_rsa_test") { - sources = [ - "src/crypto/rsa/rsa_test.cc", - ] - sources += test_support_sources - if (defined(invoker.configs_exclude)) { - configs -= invoker.configs_exclude - } - configs += invoker.configs - deps = invoker.deps - } - executable("boringssl_thread_test") { sources = [ "src/crypto/thread_test.c", @@ -522,7 +500,6 @@ ":boringssl_cmac_test", ":boringssl_constant_time_test", ":boringssl_digest_test", - ":boringssl_ec_test", ":boringssl_ecdh_test", ":boringssl_ecdsa_sign_test", ":boringssl_ecdsa_test", @@ -544,7 +521,6 @@ ":boringssl_poly1305_test", ":boringssl_pool_test", ":boringssl_refcount_test", - ":boringssl_rsa_test", ":boringssl_spake25519_test", ":boringssl_tab_test", ":boringssl_thread_test",
diff --git a/third_party/boringssl/linux-x86_64/crypto/aes/aes-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/aes/aes-x86_64.S index 361e84c7..ab1168ed 100644 --- a/third_party/boringssl/linux-x86_64/crypto/aes/aes-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/aes/aes-x86_64.S
@@ -332,6 +332,7 @@ .type asm_AES_encrypt,@function .hidden asm_AES_encrypt asm_AES_encrypt: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 @@ -340,7 +341,6 @@ pushq %r15 - movq %rsp,%r10 leaq -63(%rdx),%rcx andq $-64,%rsp subq %rsp,%rcx @@ -350,7 +350,7 @@ subq $32,%rsp movq %rsi,16(%rsp) - movq %r10,24(%rsp) + movq %rax,24(%rsp) .Lenc_prologue: movq %rdx,%r15 @@ -382,13 +382,13 @@ movl %ecx,8(%r9) movl %edx,12(%r9) - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lenc_epilogue: .byte 0xf3,0xc3 .size asm_AES_encrypt,.-asm_AES_encrypt @@ -778,6 +778,7 @@ .type asm_AES_decrypt,@function .hidden asm_AES_decrypt asm_AES_decrypt: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 @@ -786,7 +787,6 @@ pushq %r15 - movq %rsp,%r10 leaq -63(%rdx),%rcx andq $-64,%rsp subq %rsp,%rcx @@ -796,7 +796,7 @@ subq $32,%rsp movq %rsi,16(%rsp) - movq %r10,24(%rsp) + movq %rax,24(%rsp) .Ldec_prologue: movq %rdx,%r15 @@ -830,13 +830,13 @@ movl %ecx,8(%r9) movl %edx,12(%r9) - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Ldec_epilogue: .byte 0xf3,0xc3 .size asm_AES_decrypt,.-asm_AES_decrypt @@ -1313,10 +1313,9 @@ movl %r9d,%r9d leaq .LAES_Te(%rip),%r14 + leaq .LAES_Td(%rip),%r10 cmpq $0,%r9 - jne .Lcbc_picked_te - leaq .LAES_Td(%rip),%r14 -.Lcbc_picked_te: + cmoveq %r10,%r14 movl OPENSSL_ia32cap_P(%rip),%r10d cmpq $512,%rdx
diff --git a/third_party/boringssl/linux-x86_64/crypto/aes/aesni-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/aes/aesni-x86_64.S index 5709a2d..a90e935 100644 --- a/third_party/boringssl/linux-x86_64/crypto/aes/aesni-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/aes/aesni-x86_64.S
@@ -1032,11 +1032,10 @@ .align 16 .Lctr32_bulk: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $128,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp @@ -1045,7 +1044,7 @@ movdqu (%rcx),%xmm0 movl 12(%r8),%r8d pxor %xmm0,%xmm2 - movl 12(%rcx),%r11d + movl 12(%rcx),%ebp movdqa %xmm2,0(%rsp) bswapl %r8d movdqa %xmm2,%xmm3 @@ -1061,8 +1060,8 @@ leaq 2(%r8),%rdx bswapl %eax bswapl %edx - xorl %r11d,%eax - xorl %r11d,%edx + xorl %ebp,%eax + xorl %ebp,%edx .byte 102,15,58,34,216,3 leaq 3(%r8),%rax movdqa %xmm3,16(%rsp) @@ -1071,25 +1070,25 @@ movq %r10,%rdx leaq 4(%r8),%r10 movdqa %xmm4,32(%rsp) - xorl %r11d,%eax + xorl %ebp,%eax bswapl %r10d .byte 102,15,58,34,232,3 - xorl %r11d,%r10d + xorl %ebp,%r10d movdqa %xmm5,48(%rsp) leaq 5(%r8),%r9 movl %r10d,64+12(%rsp) bswapl %r9d leaq 6(%r8),%r10 movl 240(%rcx),%eax - xorl %r11d,%r9d + xorl %ebp,%r9d bswapl %r10d movl %r9d,80+12(%rsp) - xorl %r11d,%r10d + xorl %ebp,%r10d leaq 7(%r8),%r9 movl %r10d,96+12(%rsp) bswapl %r9d movl OPENSSL_ia32cap_P+4(%rip),%r10d - xorl %r11d,%r9d + xorl %ebp,%r9d andl $71303168,%r10d movl %r9d,112+12(%rsp) @@ -1113,7 +1112,7 @@ .Lctr32_6x: shll $4,%eax movl $48,%r10d - bswapl %r11d + bswapl %ebp leaq 32(%rcx,%rax,1),%rcx subq %rax,%r10 jmp .Lctr32_loop6 @@ -1124,32 +1123,32 @@ movups -48(%rcx,%r10,1),%xmm0 .byte 102,15,56,220,209 movl %r8d,%eax - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,217 .byte 0x0f,0x38,0xf1,0x44,0x24,12 leal 1(%r8),%eax .byte 102,15,56,220,225 - xorl %r11d,%eax + xorl %ebp,%eax .byte 0x0f,0x38,0xf1,0x44,0x24,28 .byte 102,15,56,220,233 leal 2(%r8),%eax - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,241 .byte 0x0f,0x38,0xf1,0x44,0x24,44 leal 3(%r8),%eax .byte 102,15,56,220,249 movups -32(%rcx,%r10,1),%xmm1 - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,208 .byte 0x0f,0x38,0xf1,0x44,0x24,60 leal 4(%r8),%eax .byte 102,15,56,220,216 - xorl %r11d,%eax + xorl %ebp,%eax .byte 0x0f,0x38,0xf1,0x44,0x24,76 .byte 102,15,56,220,224 leal 5(%r8),%eax - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,232 .byte 0x0f,0x38,0xf1,0x44,0x24,92 movq %r10,%rax @@ -1210,7 +1209,7 @@ bswapl %r9d movups 32-128(%rcx),%xmm0 .byte 102,15,56,220,225 - xorl %r11d,%r9d + xorl %ebp,%r9d nop .byte 102,15,56,220,233 movl %r9d,0+12(%rsp) @@ -1223,7 +1222,7 @@ bswapl %r9d .byte 102,15,56,220,208 .byte 102,15,56,220,216 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,224 .byte 102,15,56,220,232 @@ -1237,7 +1236,7 @@ bswapl %r9d .byte 102,15,56,220,209 .byte 102,15,56,220,217 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,225 .byte 102,15,56,220,233 @@ -1251,7 +1250,7 @@ bswapl %r9d .byte 102,15,56,220,208 .byte 102,15,56,220,216 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,224 .byte 102,15,56,220,232 @@ -1265,7 +1264,7 @@ bswapl %r9d .byte 102,15,56,220,209 .byte 102,15,56,220,217 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,225 .byte 102,15,56,220,233 @@ -1279,7 +1278,7 @@ bswapl %r9d .byte 102,15,56,220,208 .byte 102,15,56,220,216 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,224 .byte 102,15,56,220,232 @@ -1293,7 +1292,7 @@ bswapl %r9d .byte 102,15,56,220,209 .byte 102,15,56,220,217 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,225 .byte 102,15,56,220,233 @@ -1308,7 +1307,7 @@ .byte 102,15,56,220,208 .byte 102,15,56,220,216 .byte 102,15,56,220,224 - xorl %r11d,%r9d + xorl %ebp,%r9d movdqu 0(%rdi),%xmm10 .byte 102,15,56,220,232 movl %r9d,112+12(%rsp) @@ -1543,7 +1542,7 @@ .Lctr32_done: xorps %xmm0,%xmm0 - xorl %r11d,%r11d + xorl %ebp,%ebp pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 @@ -1567,8 +1566,8 @@ pxor %xmm14,%xmm14 movaps %xmm0,112(%rsp) pxor %xmm15,%xmm15 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp .Lctr32_epilogue: .byte 0xf3,0xc3 .size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks @@ -1577,11 +1576,10 @@ .type aesni_xts_encrypt,@function .align 16 aesni_xts_encrypt: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $112,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp movups (%r9),%xmm2 movl 240(%r8),%eax movl 240(%rcx),%r10d @@ -1597,7 +1595,7 @@ jnz .Loop_enc1_8 .byte 102,15,56,221,209 movups (%rcx),%xmm0 - movq %rcx,%r11 + movq %rcx,%rbp movl %r10d,%eax shll $4,%r10d movq %rdx,%r9 @@ -1653,9 +1651,9 @@ jc .Lxts_enc_short movl $16+96,%eax - leaq 32(%r11,%r10,1),%rcx + leaq 32(%rbp,%r10,1),%rcx subq %r10,%rax - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 movq %rax,%r10 leaq .Lxts_magic(%rip),%r8 jmp .Lxts_enc_grandloop @@ -1680,7 +1678,7 @@ movdqa 96(%rsp),%xmm9 pxor %xmm14,%xmm6 .byte 102,15,56,220,233 - movups 32(%r11),%xmm0 + movups 32(%rbp),%xmm0 leaq 96(%rdi),%rdi pxor %xmm8,%xmm7 @@ -1689,7 +1687,7 @@ pxor %xmm9,%xmm11 movdqa %xmm10,0(%rsp) .byte 102,15,56,220,249 - movups 48(%r11),%xmm1 + movups 48(%rbp),%xmm1 pxor %xmm9,%xmm12 .byte 102,15,56,220,208 @@ -1704,7 +1702,7 @@ movdqa %xmm14,64(%rsp) .byte 102,15,56,220,240 .byte 102,15,56,220,248 - movups 64(%r11),%xmm0 + movups 64(%rbp),%xmm0 movdqa %xmm8,80(%rsp) pshufd $0x5f,%xmm15,%xmm9 jmp .Lxts_enc_loop6 @@ -1736,7 +1734,7 @@ psrad $31,%xmm14 .byte 102,15,56,220,217 pand %xmm8,%xmm14 - movups (%r11),%xmm10 + movups (%rbp),%xmm10 .byte 102,15,56,220,225 .byte 102,15,56,220,233 .byte 102,15,56,220,241 @@ -1804,10 +1802,10 @@ .byte 102,15,56,220,225 .byte 102,15,56,220,233 pxor %xmm0,%xmm15 - movups (%r11),%xmm0 + movups (%rbp),%xmm0 .byte 102,15,56,220,241 .byte 102,15,56,220,249 - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 pxor %xmm15,%xmm14 .byte 102,15,56,221,84,36,0 @@ -1834,7 +1832,7 @@ movl $16+96,%eax subl %r10d,%eax - movq %r11,%rcx + movq %rbp,%rcx shrl $4,%eax .Lxts_enc_short: @@ -1990,7 +1988,7 @@ jnz .Lxts_enc_steal subq %r9,%rsi - movq %r11,%rcx + movq %rbp,%rcx movl %r10d,%eax movups -16(%rsi),%xmm2 @@ -2033,8 +2031,8 @@ movaps %xmm0,96(%rsp) pxor %xmm14,%xmm14 pxor %xmm15,%xmm15 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp .Lxts_enc_epilogue: .byte 0xf3,0xc3 .size aesni_xts_encrypt,.-aesni_xts_encrypt @@ -2043,11 +2041,10 @@ .type aesni_xts_decrypt,@function .align 16 aesni_xts_decrypt: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $112,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp movups (%r9),%xmm2 movl 240(%r8),%eax movl 240(%rcx),%r10d @@ -2069,7 +2066,7 @@ subq %rax,%rdx movups (%rcx),%xmm0 - movq %rcx,%r11 + movq %rcx,%rbp movl %r10d,%eax shll $4,%r10d movq %rdx,%r9 @@ -2125,9 +2122,9 @@ jc .Lxts_dec_short movl $16+96,%eax - leaq 32(%r11,%r10,1),%rcx + leaq 32(%rbp,%r10,1),%rcx subq %r10,%rax - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 movq %rax,%r10 leaq .Lxts_magic(%rip),%r8 jmp .Lxts_dec_grandloop @@ -2152,7 +2149,7 @@ movdqa 96(%rsp),%xmm9 pxor %xmm14,%xmm6 .byte 102,15,56,222,233 - movups 32(%r11),%xmm0 + movups 32(%rbp),%xmm0 leaq 96(%rdi),%rdi pxor %xmm8,%xmm7 @@ -2161,7 +2158,7 @@ pxor %xmm9,%xmm11 movdqa %xmm10,0(%rsp) .byte 102,15,56,222,249 - movups 48(%r11),%xmm1 + movups 48(%rbp),%xmm1 pxor %xmm9,%xmm12 .byte 102,15,56,222,208 @@ -2176,7 +2173,7 @@ movdqa %xmm14,64(%rsp) .byte 102,15,56,222,240 .byte 102,15,56,222,248 - movups 64(%r11),%xmm0 + movups 64(%rbp),%xmm0 movdqa %xmm8,80(%rsp) pshufd $0x5f,%xmm15,%xmm9 jmp .Lxts_dec_loop6 @@ -2208,7 +2205,7 @@ psrad $31,%xmm14 .byte 102,15,56,222,217 pand %xmm8,%xmm14 - movups (%r11),%xmm10 + movups (%rbp),%xmm10 .byte 102,15,56,222,225 .byte 102,15,56,222,233 .byte 102,15,56,222,241 @@ -2276,10 +2273,10 @@ .byte 102,15,56,222,225 .byte 102,15,56,222,233 pxor %xmm0,%xmm15 - movups (%r11),%xmm0 + movups (%rbp),%xmm0 .byte 102,15,56,222,241 .byte 102,15,56,222,249 - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 pxor %xmm15,%xmm14 .byte 102,15,56,223,84,36,0 @@ -2306,7 +2303,7 @@ movl $16+96,%eax subl %r10d,%eax - movq %r11,%rcx + movq %rbp,%rcx shrl $4,%eax .Lxts_dec_short: @@ -2463,7 +2460,7 @@ jz .Lxts_dec_ret .Lxts_dec_done2: movq %r9,%rdx - movq %r11,%rcx + movq %rbp,%rcx movl %r10d,%eax movups (%rdi),%xmm2 @@ -2493,7 +2490,7 @@ jnz .Lxts_dec_steal subq %r9,%rsi - movq %r11,%rcx + movq %rbp,%rcx movl %r10d,%eax movups (%rsi),%xmm2 @@ -2536,11 +2533,827 @@ movaps %xmm0,96(%rsp) pxor %xmm14,%xmm14 pxor %xmm15,%xmm15 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp .Lxts_dec_epilogue: .byte 0xf3,0xc3 .size aesni_xts_decrypt,.-aesni_xts_decrypt +.globl aesni_ocb_encrypt +.hidden aesni_ocb_encrypt +.type aesni_ocb_encrypt,@function +.align 32 +aesni_ocb_encrypt: + leaq (%rsp),%rax + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + movq 8(%rax),%rbx + movq 8+8(%rax),%rbp + + movl 240(%rcx),%r10d + movq %rcx,%r11 + shll $4,%r10d + movups (%rcx),%xmm9 + movups 16(%rcx,%r10,1),%xmm1 + + movdqu (%r9),%xmm15 + pxor %xmm1,%xmm9 + pxor %xmm1,%xmm15 + + movl $16+32,%eax + leaq 32(%r11,%r10,1),%rcx + movups 16(%r11),%xmm1 + subq %r10,%rax + movq %rax,%r10 + + movdqu (%rbx),%xmm10 + movdqu (%rbp),%xmm8 + + testq $1,%r8 + jnz .Locb_enc_odd + + bsfq %r8,%r12 + addq $1,%r8 + shlq $4,%r12 + movdqu (%rbx,%r12,1),%xmm7 + movdqu (%rdi),%xmm2 + leaq 16(%rdi),%rdi + + call __ocb_encrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,(%rsi) + leaq 16(%rsi),%rsi + subq $1,%rdx + jz .Locb_enc_done + +.Locb_enc_odd: + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + leaq 6(%r8),%r8 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + shlq $4,%r12 + shlq $4,%r13 + shlq $4,%r14 + + subq $6,%rdx + jc .Locb_enc_short + jmp .Locb_enc_grandloop + +.align 32 +.Locb_enc_grandloop: + movdqu 0(%rdi),%xmm2 + movdqu 16(%rdi),%xmm3 + movdqu 32(%rdi),%xmm4 + movdqu 48(%rdi),%xmm5 + movdqu 64(%rdi),%xmm6 + movdqu 80(%rdi),%xmm7 + leaq 96(%rdi),%rdi + + call __ocb_encrypt6 + + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + movups %xmm5,48(%rsi) + movups %xmm6,64(%rsi) + movups %xmm7,80(%rsi) + leaq 96(%rsi),%rsi + subq $6,%rdx + jnc .Locb_enc_grandloop + +.Locb_enc_short: + addq $6,%rdx + jz .Locb_enc_done + + movdqu 0(%rdi),%xmm2 + cmpq $2,%rdx + jb .Locb_enc_one + movdqu 16(%rdi),%xmm3 + je .Locb_enc_two + + movdqu 32(%rdi),%xmm4 + cmpq $4,%rdx + jb .Locb_enc_three + movdqu 48(%rdi),%xmm5 + je .Locb_enc_four + + movdqu 64(%rdi),%xmm6 + pxor %xmm7,%xmm7 + + call __ocb_encrypt6 + + movdqa %xmm14,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + movups %xmm5,48(%rsi) + movups %xmm6,64(%rsi) + + jmp .Locb_enc_done + +.align 16 +.Locb_enc_one: + movdqa %xmm10,%xmm7 + + call __ocb_encrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,0(%rsi) + jmp .Locb_enc_done + +.align 16 +.Locb_enc_two: + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + + call __ocb_encrypt4 + + movdqa %xmm11,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + + jmp .Locb_enc_done + +.align 16 +.Locb_enc_three: + pxor %xmm5,%xmm5 + + call __ocb_encrypt4 + + movdqa %xmm12,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + + jmp .Locb_enc_done + +.align 16 +.Locb_enc_four: + call __ocb_encrypt4 + + movdqa %xmm13,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + movups %xmm5,48(%rsi) + +.Locb_enc_done: + pxor %xmm0,%xmm15 + movdqu %xmm8,(%rbp) + movdqu %xmm15,(%r9) + + xorps %xmm0,%xmm0 + pxor %xmm1,%xmm1 + pxor %xmm2,%xmm2 + pxor %xmm3,%xmm3 + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + pxor %xmm6,%xmm6 + pxor %xmm7,%xmm7 + pxor %xmm8,%xmm8 + pxor %xmm9,%xmm9 + pxor %xmm10,%xmm10 + pxor %xmm11,%xmm11 + pxor %xmm12,%xmm12 + pxor %xmm13,%xmm13 + pxor %xmm14,%xmm14 + pxor %xmm15,%xmm15 + leaq 40(%rsp),%rax + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbp + movq -8(%rax),%rbx + leaq (%rax),%rsp +.Locb_enc_epilogue: + .byte 0xf3,0xc3 +.size aesni_ocb_encrypt,.-aesni_ocb_encrypt + +.type __ocb_encrypt6,@function +.align 32 +__ocb_encrypt6: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + movdqa %xmm10,%xmm14 + pxor %xmm15,%xmm10 + movdqu (%rbx,%r14,1),%xmm15 + pxor %xmm10,%xmm11 + pxor %xmm2,%xmm8 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm3,%xmm8 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm4,%xmm8 + pxor %xmm12,%xmm4 + pxor %xmm13,%xmm14 + pxor %xmm5,%xmm8 + pxor %xmm13,%xmm5 + pxor %xmm14,%xmm15 + pxor %xmm6,%xmm8 + pxor %xmm14,%xmm6 + pxor %xmm7,%xmm8 + pxor %xmm15,%xmm7 + movups 32(%r11),%xmm0 + + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + addq $6,%r8 + pxor %xmm9,%xmm10 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 +.byte 102,15,56,220,241 + pxor %xmm9,%xmm13 + pxor %xmm9,%xmm14 +.byte 102,15,56,220,249 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm15 + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 +.byte 102,15,56,220,240 +.byte 102,15,56,220,248 + movups 64(%r11),%xmm0 + shlq $4,%r12 + shlq $4,%r13 + jmp .Locb_enc_loop6 + +.align 32 +.Locb_enc_loop6: +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 +.byte 102,15,56,220,241 +.byte 102,15,56,220,249 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 +.byte 102,15,56,220,240 +.byte 102,15,56,220,248 + movups -16(%rcx,%rax,1),%xmm0 + jnz .Locb_enc_loop6 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 +.byte 102,15,56,220,241 +.byte 102,15,56,220,249 + movups 16(%r11),%xmm1 + shlq $4,%r14 + +.byte 102,65,15,56,221,210 + movdqu (%rbx),%xmm10 + movq %r10,%rax +.byte 102,65,15,56,221,219 +.byte 102,65,15,56,221,228 +.byte 102,65,15,56,221,237 +.byte 102,65,15,56,221,246 +.byte 102,65,15,56,221,255 + .byte 0xf3,0xc3 +.size __ocb_encrypt6,.-__ocb_encrypt6 + +.type __ocb_encrypt4,@function +.align 32 +__ocb_encrypt4: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + pxor %xmm15,%xmm10 + pxor %xmm10,%xmm11 + pxor %xmm2,%xmm8 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm3,%xmm8 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm4,%xmm8 + pxor %xmm12,%xmm4 + pxor %xmm5,%xmm8 + pxor %xmm13,%xmm5 + movups 32(%r11),%xmm0 + + pxor %xmm9,%xmm10 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 + pxor %xmm9,%xmm13 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + movups 48(%r11),%xmm1 + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 + movups 64(%r11),%xmm0 + jmp .Locb_enc_loop4 + +.align 32 +.Locb_enc_loop4: +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 + movups -16(%rcx,%rax,1),%xmm0 + jnz .Locb_enc_loop4 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,65,15,56,221,210 +.byte 102,65,15,56,221,219 +.byte 102,65,15,56,221,228 +.byte 102,65,15,56,221,237 + .byte 0xf3,0xc3 +.size __ocb_encrypt4,.-__ocb_encrypt4 + +.type __ocb_encrypt1,@function +.align 32 +__ocb_encrypt1: + pxor %xmm15,%xmm7 + pxor %xmm9,%xmm7 + pxor %xmm2,%xmm8 + pxor %xmm7,%xmm2 + movups 32(%r11),%xmm0 + +.byte 102,15,56,220,209 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm7 + +.byte 102,15,56,220,208 + movups 64(%r11),%xmm0 + jmp .Locb_enc_loop1 + +.align 32 +.Locb_enc_loop1: +.byte 102,15,56,220,209 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,220,208 + movups -16(%rcx,%rax,1),%xmm0 + jnz .Locb_enc_loop1 + +.byte 102,15,56,220,209 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,15,56,221,215 + .byte 0xf3,0xc3 +.size __ocb_encrypt1,.-__ocb_encrypt1 + +.globl aesni_ocb_decrypt +.hidden aesni_ocb_decrypt +.type aesni_ocb_decrypt,@function +.align 32 +aesni_ocb_decrypt: + leaq (%rsp),%rax + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + movq 8(%rax),%rbx + movq 8+8(%rax),%rbp + + movl 240(%rcx),%r10d + movq %rcx,%r11 + shll $4,%r10d + movups (%rcx),%xmm9 + movups 16(%rcx,%r10,1),%xmm1 + + movdqu (%r9),%xmm15 + pxor %xmm1,%xmm9 + pxor %xmm1,%xmm15 + + movl $16+32,%eax + leaq 32(%r11,%r10,1),%rcx + movups 16(%r11),%xmm1 + subq %r10,%rax + movq %rax,%r10 + + movdqu (%rbx),%xmm10 + movdqu (%rbp),%xmm8 + + testq $1,%r8 + jnz .Locb_dec_odd + + bsfq %r8,%r12 + addq $1,%r8 + shlq $4,%r12 + movdqu (%rbx,%r12,1),%xmm7 + movdqu (%rdi),%xmm2 + leaq 16(%rdi),%rdi + + call __ocb_decrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,(%rsi) + xorps %xmm2,%xmm8 + leaq 16(%rsi),%rsi + subq $1,%rdx + jz .Locb_dec_done + +.Locb_dec_odd: + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + leaq 6(%r8),%r8 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + shlq $4,%r12 + shlq $4,%r13 + shlq $4,%r14 + + subq $6,%rdx + jc .Locb_dec_short + jmp .Locb_dec_grandloop + +.align 32 +.Locb_dec_grandloop: + movdqu 0(%rdi),%xmm2 + movdqu 16(%rdi),%xmm3 + movdqu 32(%rdi),%xmm4 + movdqu 48(%rdi),%xmm5 + movdqu 64(%rdi),%xmm6 + movdqu 80(%rdi),%xmm7 + leaq 96(%rdi),%rdi + + call __ocb_decrypt6 + + movups %xmm2,0(%rsi) + pxor %xmm2,%xmm8 + movups %xmm3,16(%rsi) + pxor %xmm3,%xmm8 + movups %xmm4,32(%rsi) + pxor %xmm4,%xmm8 + movups %xmm5,48(%rsi) + pxor %xmm5,%xmm8 + movups %xmm6,64(%rsi) + pxor %xmm6,%xmm8 + movups %xmm7,80(%rsi) + pxor %xmm7,%xmm8 + leaq 96(%rsi),%rsi + subq $6,%rdx + jnc .Locb_dec_grandloop + +.Locb_dec_short: + addq $6,%rdx + jz .Locb_dec_done + + movdqu 0(%rdi),%xmm2 + cmpq $2,%rdx + jb .Locb_dec_one + movdqu 16(%rdi),%xmm3 + je .Locb_dec_two + + movdqu 32(%rdi),%xmm4 + cmpq $4,%rdx + jb .Locb_dec_three + movdqu 48(%rdi),%xmm5 + je .Locb_dec_four + + movdqu 64(%rdi),%xmm6 + pxor %xmm7,%xmm7 + + call __ocb_decrypt6 + + movdqa %xmm14,%xmm15 + movups %xmm2,0(%rsi) + pxor %xmm2,%xmm8 + movups %xmm3,16(%rsi) + pxor %xmm3,%xmm8 + movups %xmm4,32(%rsi) + pxor %xmm4,%xmm8 + movups %xmm5,48(%rsi) + pxor %xmm5,%xmm8 + movups %xmm6,64(%rsi) + pxor %xmm6,%xmm8 + + jmp .Locb_dec_done + +.align 16 +.Locb_dec_one: + movdqa %xmm10,%xmm7 + + call __ocb_decrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,0(%rsi) + xorps %xmm2,%xmm8 + jmp .Locb_dec_done + +.align 16 +.Locb_dec_two: + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + + call __ocb_decrypt4 + + movdqa %xmm11,%xmm15 + movups %xmm2,0(%rsi) + xorps %xmm2,%xmm8 + movups %xmm3,16(%rsi) + xorps %xmm3,%xmm8 + + jmp .Locb_dec_done + +.align 16 +.Locb_dec_three: + pxor %xmm5,%xmm5 + + call __ocb_decrypt4 + + movdqa %xmm12,%xmm15 + movups %xmm2,0(%rsi) + xorps %xmm2,%xmm8 + movups %xmm3,16(%rsi) + xorps %xmm3,%xmm8 + movups %xmm4,32(%rsi) + xorps %xmm4,%xmm8 + + jmp .Locb_dec_done + +.align 16 +.Locb_dec_four: + call __ocb_decrypt4 + + movdqa %xmm13,%xmm15 + movups %xmm2,0(%rsi) + pxor %xmm2,%xmm8 + movups %xmm3,16(%rsi) + pxor %xmm3,%xmm8 + movups %xmm4,32(%rsi) + pxor %xmm4,%xmm8 + movups %xmm5,48(%rsi) + pxor %xmm5,%xmm8 + +.Locb_dec_done: + pxor %xmm0,%xmm15 + movdqu %xmm8,(%rbp) + movdqu %xmm15,(%r9) + + xorps %xmm0,%xmm0 + pxor %xmm1,%xmm1 + pxor %xmm2,%xmm2 + pxor %xmm3,%xmm3 + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + pxor %xmm6,%xmm6 + pxor %xmm7,%xmm7 + pxor %xmm8,%xmm8 + pxor %xmm9,%xmm9 + pxor %xmm10,%xmm10 + pxor %xmm11,%xmm11 + pxor %xmm12,%xmm12 + pxor %xmm13,%xmm13 + pxor %xmm14,%xmm14 + pxor %xmm15,%xmm15 + leaq 40(%rsp),%rax + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbp + movq -8(%rax),%rbx + leaq (%rax),%rsp +.Locb_dec_epilogue: + .byte 0xf3,0xc3 +.size aesni_ocb_decrypt,.-aesni_ocb_decrypt + +.type __ocb_decrypt6,@function +.align 32 +__ocb_decrypt6: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + movdqa %xmm10,%xmm14 + pxor %xmm15,%xmm10 + movdqu (%rbx,%r14,1),%xmm15 + pxor %xmm10,%xmm11 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm12,%xmm4 + pxor %xmm13,%xmm14 + pxor %xmm13,%xmm5 + pxor %xmm14,%xmm15 + pxor %xmm14,%xmm6 + pxor %xmm15,%xmm7 + movups 32(%r11),%xmm0 + + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + addq $6,%r8 + pxor %xmm9,%xmm10 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 +.byte 102,15,56,222,241 + pxor %xmm9,%xmm13 + pxor %xmm9,%xmm14 +.byte 102,15,56,222,249 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm15 + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 +.byte 102,15,56,222,240 +.byte 102,15,56,222,248 + movups 64(%r11),%xmm0 + shlq $4,%r12 + shlq $4,%r13 + jmp .Locb_dec_loop6 + +.align 32 +.Locb_dec_loop6: +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 +.byte 102,15,56,222,241 +.byte 102,15,56,222,249 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 +.byte 102,15,56,222,240 +.byte 102,15,56,222,248 + movups -16(%rcx,%rax,1),%xmm0 + jnz .Locb_dec_loop6 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 +.byte 102,15,56,222,241 +.byte 102,15,56,222,249 + movups 16(%r11),%xmm1 + shlq $4,%r14 + +.byte 102,65,15,56,223,210 + movdqu (%rbx),%xmm10 + movq %r10,%rax +.byte 102,65,15,56,223,219 +.byte 102,65,15,56,223,228 +.byte 102,65,15,56,223,237 +.byte 102,65,15,56,223,246 +.byte 102,65,15,56,223,255 + .byte 0xf3,0xc3 +.size __ocb_decrypt6,.-__ocb_decrypt6 + +.type __ocb_decrypt4,@function +.align 32 +__ocb_decrypt4: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + pxor %xmm15,%xmm10 + pxor %xmm10,%xmm11 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm12,%xmm4 + pxor %xmm13,%xmm5 + movups 32(%r11),%xmm0 + + pxor %xmm9,%xmm10 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 + pxor %xmm9,%xmm13 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + movups 48(%r11),%xmm1 + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 + movups 64(%r11),%xmm0 + jmp .Locb_dec_loop4 + +.align 32 +.Locb_dec_loop4: +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 + movups -16(%rcx,%rax,1),%xmm0 + jnz .Locb_dec_loop4 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,65,15,56,223,210 +.byte 102,65,15,56,223,219 +.byte 102,65,15,56,223,228 +.byte 102,65,15,56,223,237 + .byte 0xf3,0xc3 +.size __ocb_decrypt4,.-__ocb_decrypt4 + +.type __ocb_decrypt1,@function +.align 32 +__ocb_decrypt1: + pxor %xmm15,%xmm7 + pxor %xmm9,%xmm7 + pxor %xmm7,%xmm2 + movups 32(%r11),%xmm0 + +.byte 102,15,56,222,209 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm7 + +.byte 102,15,56,222,208 + movups 64(%r11),%xmm0 + jmp .Locb_dec_loop1 + +.align 32 +.Locb_dec_loop1: +.byte 102,15,56,222,209 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,222,208 + movups -16(%rcx,%rax,1),%xmm0 + jnz .Locb_dec_loop1 + +.byte 102,15,56,222,209 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,15,56,223,215 + .byte 0xf3,0xc3 +.size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .hidden aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -2638,11 +3451,11 @@ jmp .Lcbc_ret .align 16 .Lcbc_decrypt_bulk: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $16,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp + movq %rcx,%rbp movups (%r8),%xmm10 movl %r10d,%eax cmpq $0x50,%rdx @@ -2682,7 +3495,7 @@ pxor %xmm0,%xmm3 movups 16-112(%rcx),%xmm1 pxor %xmm0,%xmm4 - xorq %r11,%r11 + movq $-1,%rbp cmpq $0x70,%rdx pxor %xmm0,%xmm5 pxor %xmm0,%xmm6 @@ -2698,10 +3511,10 @@ .byte 102,15,56,222,241 .byte 102,15,56,222,249 .byte 102,68,15,56,222,193 - setnc %r11b - shlq $7,%r11 + adcq $0,%rbp + andq $128,%rbp .byte 102,68,15,56,222,201 - addq %rdi,%r11 + addq %rdi,%rbp movups 48-112(%rcx),%xmm1 .byte 102,15,56,222,208 .byte 102,15,56,222,216 @@ -2839,18 +3652,18 @@ movdqu 112(%rdi),%xmm0 .byte 102,65,15,56,223,228 leaq 128(%rdi),%rdi - movdqu 0(%r11),%xmm11 + movdqu 0(%rbp),%xmm11 .byte 102,65,15,56,223,237 .byte 102,65,15,56,223,246 - movdqu 16(%r11),%xmm12 - movdqu 32(%r11),%xmm13 + movdqu 16(%rbp),%xmm12 + movdqu 32(%rbp),%xmm13 .byte 102,65,15,56,223,255 .byte 102,68,15,56,223,193 - movdqu 48(%r11),%xmm14 - movdqu 64(%r11),%xmm15 + movdqu 48(%rbp),%xmm14 + movdqu 64(%rbp),%xmm15 .byte 102,69,15,56,223,202 movdqa %xmm0,%xmm10 - movdqu 80(%r11),%xmm1 + movdqu 80(%rbp),%xmm1 movups -112(%rcx),%xmm0 movups %xmm2,(%rsi) @@ -2969,7 +3782,7 @@ pxor %xmm13,%xmm5 movdqu %xmm4,32(%rsi) pxor %xmm14,%xmm6 - movq %r11,%rcx + movq %rbp,%rcx movdqu %xmm5,48(%rsi) pxor %xmm15,%xmm7 movl %r10d,%eax @@ -3122,8 +3935,8 @@ .Lcbc_dec_ret: xorps %xmm0,%xmm0 pxor %xmm1,%xmm1 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp .Lcbc_ret: .byte 0xf3,0xc3 .size aesni_cbc_encrypt,.-aesni_cbc_encrypt
diff --git a/third_party/boringssl/linux-x86_64/crypto/aes/bsaes-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/aes/bsaes-x86_64.S index c5491ce..3f3c73bb 100644 --- a/third_party/boringssl/linux-x86_64/crypto/aes/bsaes-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/aes/bsaes-x86_64.S
@@ -1305,15 +1305,14 @@ cmpq %rax,%rbp ja .Lcbc_dec_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp .Lcbc_dec_epilogue: .byte 0xf3,0xc3 .size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt @@ -1506,15 +1505,14 @@ cmpq %rax,%rbp ja .Lctr_enc_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp .Lctr_enc_epilogue: .byte 0xf3,0xc3 .size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks @@ -1958,15 +1956,14 @@ cmpq %rax,%rbp ja .Lxts_enc_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp .Lxts_enc_epilogue: .byte 0xf3,0xc3 .size bsaes_xts_encrypt,.-bsaes_xts_encrypt @@ -2437,15 +2434,14 @@ cmpq %rax,%rbp ja .Lxts_dec_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp .Lxts_dec_epilogue: .byte 0xf3,0xc3 .size bsaes_xts_decrypt,.-bsaes_xts_decrypt
diff --git a/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont.S b/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont.S index 5152de5d..0d2cea2 100644 --- a/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont.S +++ b/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont.S
@@ -9,8 +9,10 @@ .type bn_mul_mont,@function .align 16 bn_mul_mont: +.cfi_startproc movl %r9d,%r9d movq %rsp,%rax +.cfi_def_cfa_register %rax testl $3,%r9d jnz .Lmul_enter cmpl $8,%r9d @@ -24,11 +26,17 @@ .align 16 .Lmul_enter: pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 negq %r9 movq %rsp,%r11 @@ -61,6 +69,7 @@ .Lmul_page_walk_done: movq %rax,8(%rsp,%r9,8) +.cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08 .Lmul_body: movq %rdx,%r12 movq (%r8),%r8 @@ -228,29 +237,46 @@ jnz .Lcopy movq 8(%rsp,%r9,8),%rsi +.cfi_def_cfa %rsi,8 movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lmul_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_mul_mont,.-bn_mul_mont .type bn_mul4x_mont,@function .align 16 bn_mul4x_mont: +.cfi_startproc movl %r9d,%r9d movq %rsp,%rax +.cfi_def_cfa_register %rax .Lmul4x_enter: pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 negq %r9 movq %rsp,%r11 @@ -274,6 +300,7 @@ .Lmul4x_page_walk_done: movq %rax,8(%rsp,%r9,8) +.cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08 .Lmul4x_body: movq %rdi,16(%rsp,%r9,8) movq %rdx,%r12 @@ -573,10 +600,11 @@ cmpq %r9,%r14 jb .Louter4x movq 16(%rsp,%r9,8),%rdi + leaq -4(%r9),%r15 movq 0(%rsp),%rax pxor %xmm0,%xmm0 movq 8(%rsp),%rdx - shrq $2,%r9 + shrq $2,%r15 leaq (%rsp),%rsi xorq %r14,%r14 @@ -584,7 +612,6 @@ movq 16(%rsi),%rbx movq 24(%rsi),%rbp sbbq 8(%rcx),%rdx - leaq -1(%r9),%r15 jmp .Lsub4x .align 16 .Lsub4x: @@ -618,8 +645,9 @@ notq %rax movq %rdi,%rcx andq %rax,%rcx - leaq -1(%r9),%r15 + leaq -4(%r9),%r15 orq %rcx,%rsi + shrq $2,%r15 movdqu (%rsi),%xmm1 movdqa %xmm0,(%rsp) @@ -637,21 +665,29 @@ decq %r15 jnz .Lcopy4x - shlq $2,%r9 movdqu 16(%rsi,%r14,1),%xmm2 movdqa %xmm0,16(%rsp,%r14,1) movdqu %xmm2,16(%rdi,%r14,1) movq 8(%rsp,%r9,8),%rsi +.cfi_def_cfa %rsi, 8 movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lmul4x_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_mul4x_mont,.-bn_mul4x_mont .extern bn_sqr8x_internal .hidden bn_sqr8x_internal @@ -659,14 +695,22 @@ .type bn_sqr8x_mont,@function .align 32 bn_sqr8x_mont: +.cfi_startproc movq %rsp,%rax +.cfi_def_cfa_register %rax .Lsqr8x_enter: pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 .Lsqr8x_prologue: movl %r9d,%r10d @@ -722,6 +766,7 @@ movq %r8,32(%rsp) movq %rax,40(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08 .Lsqr8x_body: .byte 102,72,15,110,209 @@ -768,6 +813,7 @@ pxor %xmm0,%xmm0 pshufd $0,%xmm1,%xmm1 movq 40(%rsp),%rsi +.cfi_def_cfa %rsi,8 jmp .Lsqr8x_cond_copy .align 32 @@ -797,14 +843,22 @@ movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lsqr8x_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_mont,.-bn_sqr8x_mont .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 16
diff --git a/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont5.S b/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont5.S index b891f353..33ca3c4 100644 --- a/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont5.S +++ b/third_party/boringssl/linux-x86_64/crypto/bn/x86_64-mont5.S
@@ -9,8 +9,10 @@ .type bn_mul_mont_gather5,@function .align 64 bn_mul_mont_gather5: +.cfi_startproc movl %r9d,%r9d movq %rsp,%rax +.cfi_def_cfa_register %rax testl $7,%r9d jnz .Lmul_enter jmp .Lmul4x_enter @@ -19,11 +21,17 @@ .Lmul_enter: movd 8(%rsp),%xmm5 pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 negq %r9 movq %rsp,%r11 @@ -56,6 +64,7 @@ leaq .Linc(%rip),%r10 movq %rax,8(%rsp,%r9,8) +.cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08 .Lmul_body: leaq 128(%rdx),%r12 @@ -412,30 +421,47 @@ jnz .Lcopy movq 8(%rsp,%r9,8),%rsi +.cfi_def_cfa %rsi,8 movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lmul_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_mul_mont_gather5,.-bn_mul_mont_gather5 .type bn_mul4x_mont_gather5,@function .align 32 bn_mul4x_mont_gather5: +.cfi_startproc .byte 0x67 movq %rsp,%rax +.cfi_def_cfa_register %rax .Lmul4x_enter: pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 .Lmul4x_prologue: .byte 0x67 @@ -491,22 +517,32 @@ negq %r9 movq %rax,40(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08 .Lmul4x_body: call mul4x_internal movq 40(%rsp),%rsi +.cfi_def_cfa %rsi,8 movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lmul4x_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_mul4x_mont_gather5,.-bn_mul4x_mont_gather5 .type mul4x_internal,@function @@ -1039,13 +1075,21 @@ .type bn_power5,@function .align 32 bn_power5: +.cfi_startproc movq %rsp,%rax +.cfi_def_cfa_register %rax pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 .Lpower5_prologue: shll $3,%r9d @@ -1110,6 +1154,7 @@ movq %r8,32(%rsp) movq %rax,40(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08 .Lpower5_body: .byte 102,72,15,110,207 .byte 102,72,15,110,209 @@ -1136,16 +1181,25 @@ call mul4x_internal movq 40(%rsp),%rsi +.cfi_def_cfa %rsi,8 movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lpower5_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_power5,.-bn_power5 .globl bn_sqr8x_internal @@ -1998,14 +2052,22 @@ .type bn_from_mont8x,@function .align 32 bn_from_mont8x: +.cfi_startproc .byte 0x67 movq %rsp,%rax +.cfi_def_cfa_register %rax pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 .Lfrom_prologue: shll $3,%r9d @@ -2070,6 +2132,7 @@ movq %r8,32(%rsp) movq %rax,40(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08 .Lfrom_body: movq %r9,%r11 leaq 48(%rsp),%rax @@ -2105,11 +2168,12 @@ pxor %xmm0,%xmm0 leaq 48(%rsp),%rax - movq 40(%rsp),%rsi jmp .Lfrom_mont_zero .align 32 .Lfrom_mont_zero: + movq 40(%rsp),%rsi +.cfi_def_cfa %rsi,8 movdqa %xmm0,0(%rax) movdqa %xmm0,16(%rax) movdqa %xmm0,32(%rax) @@ -2120,14 +2184,22 @@ movq $1,%rax movq -48(%rsi),%r15 +.cfi_restore %r15 movq -40(%rsi),%r14 +.cfi_restore %r14 movq -32(%rsi),%r13 +.cfi_restore %r13 movq -24(%rsi),%r12 +.cfi_restore %r12 movq -16(%rsi),%rbp +.cfi_restore %rbp movq -8(%rsi),%rbx +.cfi_restore %rbx leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lfrom_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_mont8x,.-bn_from_mont8x .globl bn_scatter5 .hidden bn_scatter5
diff --git a/third_party/boringssl/linux-x86_64/crypto/chacha/chacha-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/chacha/chacha-x86_64.S index 76969da0..25ec715 100644 --- a/third_party/boringssl/linux-x86_64/crypto/chacha/chacha-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/chacha/chacha-x86_64.S
@@ -51,6 +51,7 @@ pushq %r14 pushq %r15 subq $64+24,%rsp +.Lctr32_body: movdqu (%rcx),%xmm1 @@ -288,13 +289,14 @@ jnz .Loop_tail .Ldone: - addq $64+24,%rsp - popq %r15 - popq %r14 - popq %r13 - popq %r12 - popq %rbp - popq %rbx + leaq 64+24+48(%rsp),%rsi + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lno_data: .byte 0xf3,0xc3 .size ChaCha20_ctr32,.-ChaCha20_ctr32 @@ -302,18 +304,12 @@ .align 32 ChaCha20_ssse3: .LChaCha20_ssse3: + movq %rsp,%r9 cmpq $128,%rdx ja .LChaCha20_4x .Ldo_sse3_after_all: - pushq %rbx - pushq %rbp - pushq %r12 - pushq %r13 - pushq %r14 - pushq %r15 - - subq $64+24,%rsp + subq $64+8,%rsp movdqa .Lsigma(%rip),%xmm0 movdqu (%rcx),%xmm1 movdqu 16(%rcx),%xmm2 @@ -433,13 +429,15 @@ jnz .Loop_tail_ssse3 .Ldone_ssse3: - addq $64+24+48,%rsp + leaq (%r9),%rsp +.Lssse3_epilogue: .byte 0xf3,0xc3 .size ChaCha20_ssse3,.-ChaCha20_ssse3 .type ChaCha20_4x,@function .align 32 ChaCha20_4x: .LChaCha20_4x: + movq %rsp,%r9 movq %r10,%r11 shrq $32,%r10 testq $32,%r10 @@ -452,8 +450,7 @@ je .Ldo_sse3_after_all .Lproceed4x: - leaq -120(%rsp),%r11 - subq $0x148+0,%rsp + subq $0x140+8,%rsp movdqa .Lsigma(%rip),%xmm11 movdqu (%rcx),%xmm15 movdqu 16(%rcx),%xmm7 @@ -980,18 +977,18 @@ jnz .Loop_tail4x .Ldone4x: - addq $0x148+0,%rsp + leaq (%r9),%rsp +.L4x_epilogue: .byte 0xf3,0xc3 .size ChaCha20_4x,.-ChaCha20_4x .type ChaCha20_8x,@function .align 32 ChaCha20_8x: .LChaCha20_8x: - movq %rsp,%r10 + movq %rsp,%r9 subq $0x280+8,%rsp andq $-32,%rsp vzeroupper - movq %r10,640(%rsp) @@ -1582,7 +1579,8 @@ .Ldone8x: vzeroall - movq 640(%rsp),%rsp + leaq (%r9),%rsp +.L8x_epilogue: .byte 0xf3,0xc3 .size ChaCha20_8x,.-ChaCha20_8x #endif
diff --git a/third_party/boringssl/linux-x86_64/crypto/modes/ghash-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/modes/ghash-x86_64.S index b6ca45ff..8842c27 100644 --- a/third_party/boringssl/linux-x86_64/crypto/modes/ghash-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/modes/ghash-x86_64.S
@@ -11,6 +11,10 @@ pushq %rbx pushq %rbp pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + subq $280,%rsp .Lgmult_prologue: movzbq 15(%rdi),%r8 @@ -87,8 +91,9 @@ movq %r8,8(%rdi) movq %r9,(%rdi) - movq 16(%rsp),%rbx - leaq 24(%rsp),%rsp + leaq 280+48(%rsp),%rsi + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lgmult_epilogue: .byte 0xf3,0xc3 .size gcm_gmult_4bit,.-gcm_gmult_4bit @@ -648,14 +653,14 @@ movq %r8,8(%rdi) movq %r9,(%rdi) - leaq 280(%rsp),%rsi - movq 0(%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + leaq 280+48(%rsp),%rsi + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq 0(%rsi),%rsp .Lghash_epilogue: .byte 0xf3,0xc3 .size gcm_ghash_4bit,.-gcm_ghash_4bit
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S index d830b53..567bdfd 100644 --- a/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/sha/sha1-x86_64.S
@@ -1241,14 +1241,13 @@ .align 16 sha1_block_data_order_ssse3: _ssse3_shortcut: - movq %rsp,%rax + movq %rsp,%r11 pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 leaq -64(%rsp),%rsp - movq %rax,%r14 andq $-64,%rsp movq %rdi,%r8 movq %rsi,%r9 @@ -1256,7 +1255,7 @@ shlq $6,%r10 addq %r9,%r10 - leaq K_XX_XX+64(%rip),%r11 + leaq K_XX_XX+64(%rip),%r14 movl 0(%r8),%eax movl 4(%r8),%ebx @@ -1268,8 +1267,8 @@ xorl %edx,%edi andl %edi,%esi - movdqa 64(%r11),%xmm6 - movdqa -64(%r11),%xmm9 + movdqa 64(%r14),%xmm6 + movdqa -64(%r14),%xmm9 movdqu 0(%r9),%xmm0 movdqu 16(%r9),%xmm1 movdqu 32(%r9),%xmm2 @@ -1345,7 +1344,7 @@ pslld $2,%xmm9 pxor %xmm10,%xmm4 xorl %ebp,%edx - movdqa -64(%r11),%xmm10 + movdqa -64(%r14),%xmm10 roll $5,%ecx addl %edi,%ebx andl %edx,%esi @@ -1406,7 +1405,7 @@ pslld $2,%xmm10 pxor %xmm8,%xmm5 xorl %eax,%ebp - movdqa -32(%r11),%xmm8 + movdqa -32(%r14),%xmm8 roll $5,%edx addl %edi,%ecx andl %ebp,%esi @@ -1467,7 +1466,7 @@ pslld $2,%xmm8 pxor %xmm9,%xmm6 xorl %ebx,%eax - movdqa -32(%r11),%xmm9 + movdqa -32(%r14),%xmm9 roll $5,%ebp addl %edi,%edx andl %eax,%esi @@ -1528,7 +1527,7 @@ pslld $2,%xmm9 pxor %xmm10,%xmm7 xorl %ecx,%ebx - movdqa -32(%r11),%xmm10 + movdqa -32(%r14),%xmm10 roll $5,%eax addl %edi,%ebp andl %ebx,%esi @@ -1639,7 +1638,7 @@ pxor %xmm3,%xmm2 addl %esi,%eax xorl %edx,%edi - movdqa 0(%r11),%xmm10 + movdqa 0(%r14),%xmm10 rorl $7,%ecx paddd %xmm1,%xmm9 addl %ebx,%eax @@ -1874,7 +1873,7 @@ pxor %xmm0,%xmm7 roll $5,%ebx addl %esi,%eax - movdqa 32(%r11),%xmm9 + movdqa 32(%r14),%xmm9 xorl %ecx,%edi paddd %xmm6,%xmm8 xorl %edx,%ecx @@ -2165,8 +2164,8 @@ addl %edx,%ecx cmpq %r10,%r9 je .Ldone_ssse3 - movdqa 64(%r11),%xmm6 - movdqa -64(%r11),%xmm9 + movdqa 64(%r14),%xmm6 + movdqa -64(%r14),%xmm9 movdqu 0(%r9),%xmm0 movdqu 16(%r9),%xmm1 movdqu 32(%r9),%xmm2 @@ -2403,13 +2402,12 @@ movl %ecx,8(%r8) movl %edx,12(%r8) movl %ebp,16(%r8) - leaq (%r14),%rsi - movq -40(%rsi),%r14 - movq -32(%rsi),%r13 - movq -24(%rsi),%r12 - movq -16(%rsi),%rbp - movq -8(%rsi),%rbx - leaq (%rsi),%rsp + movq -40(%r11),%r14 + movq -32(%r11),%r13 + movq -24(%r11),%r12 + movq -16(%r11),%rbp + movq -8(%r11),%rbx + leaq (%r11),%rsp .Lepilogue_ssse3: .byte 0xf3,0xc3 .size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3 @@ -2417,7 +2415,7 @@ .align 16 sha1_block_data_order_avx: _avx_shortcut: - movq %rsp,%rax + movq %rsp,%r11 pushq %rbx pushq %rbp pushq %r12 @@ -2425,7 +2423,6 @@ pushq %r14 leaq -64(%rsp),%rsp vzeroupper - movq %rax,%r14 andq $-64,%rsp movq %rdi,%r8 movq %rsi,%r9 @@ -2433,7 +2430,7 @@ shlq $6,%r10 addq %r9,%r10 - leaq K_XX_XX+64(%rip),%r11 + leaq K_XX_XX+64(%rip),%r14 movl 0(%r8),%eax movl 4(%r8),%ebx @@ -2445,8 +2442,8 @@ xorl %edx,%edi andl %edi,%esi - vmovdqa 64(%r11),%xmm6 - vmovdqa -64(%r11),%xmm11 + vmovdqa 64(%r14),%xmm6 + vmovdqa -64(%r14),%xmm11 vmovdqu 0(%r9),%xmm0 vmovdqu 16(%r9),%xmm1 vmovdqu 32(%r9),%xmm2 @@ -2571,7 +2568,7 @@ vpxor %xmm10,%xmm5,%xmm5 xorl %eax,%ebp shldl $5,%edx,%edx - vmovdqa -32(%r11),%xmm11 + vmovdqa -32(%r14),%xmm11 addl %edi,%ecx andl %ebp,%esi xorl %eax,%ebp @@ -2784,7 +2781,7 @@ addl %esi,%eax xorl %edx,%edi vpaddd %xmm1,%xmm11,%xmm9 - vmovdqa 0(%r11),%xmm11 + vmovdqa 0(%r14),%xmm11 shrdl $7,%ecx,%ecx addl %ebx,%eax vpxor %xmm8,%xmm2,%xmm2 @@ -3003,7 +3000,7 @@ movl %ebx,%edi xorl %edx,%esi vpaddd %xmm6,%xmm11,%xmm9 - vmovdqa 32(%r11),%xmm11 + vmovdqa 32(%r14),%xmm11 shldl $5,%ebx,%ebx addl %esi,%eax vpxor %xmm8,%xmm7,%xmm7 @@ -3282,8 +3279,8 @@ addl %edx,%ecx cmpq %r10,%r9 je .Ldone_avx - vmovdqa 64(%r11),%xmm6 - vmovdqa -64(%r11),%xmm11 + vmovdqa 64(%r14),%xmm6 + vmovdqa -64(%r14),%xmm11 vmovdqu 0(%r9),%xmm0 vmovdqu 16(%r9),%xmm1 vmovdqu 32(%r9),%xmm2 @@ -3519,13 +3516,12 @@ movl %ecx,8(%r8) movl %edx,12(%r8) movl %ebp,16(%r8) - leaq (%r14),%rsi - movq -40(%rsi),%r14 - movq -32(%rsi),%r13 - movq -24(%rsi),%r12 - movq -16(%rsi),%rbp - movq -8(%rsi),%rbx - leaq (%rsi),%rsp + movq -40(%r11),%r14 + movq -32(%r11),%r13 + movq -24(%r11),%r12 + movq -16(%r11),%rbp + movq -8(%r11),%rbx + leaq (%r11),%rsp .Lepilogue_avx: .byte 0xf3,0xc3 .size sha1_block_data_order_avx,.-sha1_block_data_order_avx
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S index 445b497e..273b7a5e 100644 --- a/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/sha/sha256-x86_64.S
@@ -19,13 +19,13 @@ je .Lavx_shortcut testl $512,%r10d jnz .Lssse3_shortcut + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $64+32,%rsp leaq (%rsi,%rdx,4),%rdx @@ -33,7 +33,7 @@ movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) - movq %r11,64+24(%rsp) + movq %rax,64+24(%rsp) .Lprologue: movl 0(%rdi),%eax @@ -1698,13 +1698,13 @@ jb .Lloop movq 64+24(%rsp),%rsi - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lepilogue: .byte 0xf3,0xc3 .size sha256_block_data_order,.-sha256_block_data_order @@ -1755,13 +1755,13 @@ .align 64 sha256_block_data_order_ssse3: .Lssse3_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $96,%rsp leaq (%rsi,%rdx,4),%rdx @@ -1769,7 +1769,7 @@ movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) - movq %r11,64+24(%rsp) + movq %rax,64+24(%rsp) .Lprologue_ssse3: movl 0(%rdi),%eax @@ -2836,13 +2836,13 @@ jb .Lloop_ssse3 movq 64+24(%rsp),%rsi - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lepilogue_ssse3: .byte 0xf3,0xc3 .size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3 @@ -2850,13 +2850,13 @@ .align 64 sha256_block_data_order_avx: .Lavx_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $96,%rsp leaq (%rsi,%rdx,4),%rdx @@ -2864,7 +2864,7 @@ movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) - movq %r11,64+24(%rsp) + movq %rax,64+24(%rsp) .Lprologue_avx: vzeroupper @@ -3893,13 +3893,13 @@ movq 64+24(%rsp),%rsi vzeroupper - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lepilogue_avx: .byte 0xf3,0xc3 .size sha256_block_data_order_avx,.-sha256_block_data_order_avx
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S index d65743fd..f272b640 100644 --- a/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S +++ b/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S
@@ -19,13 +19,13 @@ orl %r9d,%r10d cmpl $1342177792,%r10d je .Lavx_shortcut + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $128+32,%rsp leaq (%rsi,%rdx,8),%rdx @@ -33,7 +33,7 @@ movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) - movq %r11,128+24(%rsp) + movq %rax,128+24(%rsp) .Lprologue: movq 0(%rdi),%rax @@ -1698,13 +1698,13 @@ jb .Lloop movq 128+24(%rsp),%rsi - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lepilogue: .byte 0xf3,0xc3 .size sha512_block_data_order,.-sha512_block_data_order @@ -1799,13 +1799,13 @@ .align 64 sha512_block_data_order_xop: .Lxop_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $160,%rsp leaq (%rsi,%rdx,8),%rdx @@ -1813,7 +1813,7 @@ movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) - movq %r11,128+24(%rsp) + movq %rax,128+24(%rsp) .Lprologue_xop: vzeroupper @@ -2868,13 +2868,13 @@ movq 128+24(%rsp),%rsi vzeroupper - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lepilogue_xop: .byte 0xf3,0xc3 .size sha512_block_data_order_xop,.-sha512_block_data_order_xop @@ -2882,13 +2882,13 @@ .align 64 sha512_block_data_order_avx: .Lavx_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $160,%rsp leaq (%rsi,%rdx,8),%rdx @@ -2896,7 +2896,7 @@ movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) - movq %r11,128+24(%rsp) + movq %rax,128+24(%rsp) .Lprologue_avx: vzeroupper @@ -4015,13 +4015,13 @@ movq 128+24(%rsp),%rsi vzeroupper - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp .Lepilogue_avx: .byte 0xf3,0xc3 .size sha512_block_data_order_avx,.-sha512_block_data_order_avx
diff --git a/third_party/boringssl/mac-x86_64/crypto/aes/aes-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/aes/aes-x86_64.S index b5d188a..52df2ae3 100644 --- a/third_party/boringssl/mac-x86_64/crypto/aes/aes-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/aes/aes-x86_64.S
@@ -332,6 +332,7 @@ .private_extern _asm_AES_encrypt _asm_AES_encrypt: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 @@ -340,7 +341,6 @@ pushq %r15 - movq %rsp,%r10 leaq -63(%rdx),%rcx andq $-64,%rsp subq %rsp,%rcx @@ -350,7 +350,7 @@ subq $32,%rsp movq %rsi,16(%rsp) - movq %r10,24(%rsp) + movq %rax,24(%rsp) L$enc_prologue: movq %rdx,%r15 @@ -382,13 +382,13 @@ movl %ecx,8(%r9) movl %edx,12(%r9) - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$enc_epilogue: .byte 0xf3,0xc3 @@ -778,6 +778,7 @@ .private_extern _asm_AES_decrypt _asm_AES_decrypt: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 @@ -786,7 +787,6 @@ pushq %r15 - movq %rsp,%r10 leaq -63(%rdx),%rcx andq $-64,%rsp subq %rsp,%rcx @@ -796,7 +796,7 @@ subq $32,%rsp movq %rsi,16(%rsp) - movq %r10,24(%rsp) + movq %rax,24(%rsp) L$dec_prologue: movq %rdx,%r15 @@ -830,13 +830,13 @@ movl %ecx,8(%r9) movl %edx,12(%r9) - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$dec_epilogue: .byte 0xf3,0xc3 @@ -1312,10 +1312,9 @@ movl %r9d,%r9d leaq L$AES_Te(%rip),%r14 + leaq L$AES_Td(%rip),%r10 cmpq $0,%r9 - jne L$cbc_picked_te - leaq L$AES_Td(%rip),%r14 -L$cbc_picked_te: + cmoveq %r10,%r14 movl _OPENSSL_ia32cap_P(%rip),%r10d cmpq $512,%rdx
diff --git a/third_party/boringssl/mac-x86_64/crypto/aes/aesni-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/aes/aesni-x86_64.S index 3d98fa12..4e3b7d06 100644 --- a/third_party/boringssl/mac-x86_64/crypto/aes/aesni-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/aes/aesni-x86_64.S
@@ -1031,11 +1031,10 @@ .p2align 4 L$ctr32_bulk: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $128,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp @@ -1044,7 +1043,7 @@ movdqu (%rcx),%xmm0 movl 12(%r8),%r8d pxor %xmm0,%xmm2 - movl 12(%rcx),%r11d + movl 12(%rcx),%ebp movdqa %xmm2,0(%rsp) bswapl %r8d movdqa %xmm2,%xmm3 @@ -1060,8 +1059,8 @@ leaq 2(%r8),%rdx bswapl %eax bswapl %edx - xorl %r11d,%eax - xorl %r11d,%edx + xorl %ebp,%eax + xorl %ebp,%edx .byte 102,15,58,34,216,3 leaq 3(%r8),%rax movdqa %xmm3,16(%rsp) @@ -1070,25 +1069,25 @@ movq %r10,%rdx leaq 4(%r8),%r10 movdqa %xmm4,32(%rsp) - xorl %r11d,%eax + xorl %ebp,%eax bswapl %r10d .byte 102,15,58,34,232,3 - xorl %r11d,%r10d + xorl %ebp,%r10d movdqa %xmm5,48(%rsp) leaq 5(%r8),%r9 movl %r10d,64+12(%rsp) bswapl %r9d leaq 6(%r8),%r10 movl 240(%rcx),%eax - xorl %r11d,%r9d + xorl %ebp,%r9d bswapl %r10d movl %r9d,80+12(%rsp) - xorl %r11d,%r10d + xorl %ebp,%r10d leaq 7(%r8),%r9 movl %r10d,96+12(%rsp) bswapl %r9d movl _OPENSSL_ia32cap_P+4(%rip),%r10d - xorl %r11d,%r9d + xorl %ebp,%r9d andl $71303168,%r10d movl %r9d,112+12(%rsp) @@ -1112,7 +1111,7 @@ L$ctr32_6x: shll $4,%eax movl $48,%r10d - bswapl %r11d + bswapl %ebp leaq 32(%rcx,%rax,1),%rcx subq %rax,%r10 jmp L$ctr32_loop6 @@ -1123,32 +1122,32 @@ movups -48(%rcx,%r10,1),%xmm0 .byte 102,15,56,220,209 movl %r8d,%eax - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,217 .byte 0x0f,0x38,0xf1,0x44,0x24,12 leal 1(%r8),%eax .byte 102,15,56,220,225 - xorl %r11d,%eax + xorl %ebp,%eax .byte 0x0f,0x38,0xf1,0x44,0x24,28 .byte 102,15,56,220,233 leal 2(%r8),%eax - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,241 .byte 0x0f,0x38,0xf1,0x44,0x24,44 leal 3(%r8),%eax .byte 102,15,56,220,249 movups -32(%rcx,%r10,1),%xmm1 - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,208 .byte 0x0f,0x38,0xf1,0x44,0x24,60 leal 4(%r8),%eax .byte 102,15,56,220,216 - xorl %r11d,%eax + xorl %ebp,%eax .byte 0x0f,0x38,0xf1,0x44,0x24,76 .byte 102,15,56,220,224 leal 5(%r8),%eax - xorl %r11d,%eax + xorl %ebp,%eax .byte 102,15,56,220,232 .byte 0x0f,0x38,0xf1,0x44,0x24,92 movq %r10,%rax @@ -1209,7 +1208,7 @@ bswapl %r9d movups 32-128(%rcx),%xmm0 .byte 102,15,56,220,225 - xorl %r11d,%r9d + xorl %ebp,%r9d nop .byte 102,15,56,220,233 movl %r9d,0+12(%rsp) @@ -1222,7 +1221,7 @@ bswapl %r9d .byte 102,15,56,220,208 .byte 102,15,56,220,216 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,224 .byte 102,15,56,220,232 @@ -1236,7 +1235,7 @@ bswapl %r9d .byte 102,15,56,220,209 .byte 102,15,56,220,217 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,225 .byte 102,15,56,220,233 @@ -1250,7 +1249,7 @@ bswapl %r9d .byte 102,15,56,220,208 .byte 102,15,56,220,216 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,224 .byte 102,15,56,220,232 @@ -1264,7 +1263,7 @@ bswapl %r9d .byte 102,15,56,220,209 .byte 102,15,56,220,217 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,225 .byte 102,15,56,220,233 @@ -1278,7 +1277,7 @@ bswapl %r9d .byte 102,15,56,220,208 .byte 102,15,56,220,216 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,224 .byte 102,15,56,220,232 @@ -1292,7 +1291,7 @@ bswapl %r9d .byte 102,15,56,220,209 .byte 102,15,56,220,217 - xorl %r11d,%r9d + xorl %ebp,%r9d .byte 0x66,0x90 .byte 102,15,56,220,225 .byte 102,15,56,220,233 @@ -1307,7 +1306,7 @@ .byte 102,15,56,220,208 .byte 102,15,56,220,216 .byte 102,15,56,220,224 - xorl %r11d,%r9d + xorl %ebp,%r9d movdqu 0(%rdi),%xmm10 .byte 102,15,56,220,232 movl %r9d,112+12(%rsp) @@ -1542,7 +1541,7 @@ L$ctr32_done: xorps %xmm0,%xmm0 - xorl %r11d,%r11d + xorl %ebp,%ebp pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 pxor %xmm3,%xmm3 @@ -1566,8 +1565,8 @@ pxor %xmm14,%xmm14 movaps %xmm0,112(%rsp) pxor %xmm15,%xmm15 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp L$ctr32_epilogue: .byte 0xf3,0xc3 @@ -1576,11 +1575,10 @@ .p2align 4 _aesni_xts_encrypt: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $112,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp movups (%r9),%xmm2 movl 240(%r8),%eax movl 240(%rcx),%r10d @@ -1596,7 +1594,7 @@ jnz L$oop_enc1_8 .byte 102,15,56,221,209 movups (%rcx),%xmm0 - movq %rcx,%r11 + movq %rcx,%rbp movl %r10d,%eax shll $4,%r10d movq %rdx,%r9 @@ -1652,9 +1650,9 @@ jc L$xts_enc_short movl $16+96,%eax - leaq 32(%r11,%r10,1),%rcx + leaq 32(%rbp,%r10,1),%rcx subq %r10,%rax - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 movq %rax,%r10 leaq L$xts_magic(%rip),%r8 jmp L$xts_enc_grandloop @@ -1679,7 +1677,7 @@ movdqa 96(%rsp),%xmm9 pxor %xmm14,%xmm6 .byte 102,15,56,220,233 - movups 32(%r11),%xmm0 + movups 32(%rbp),%xmm0 leaq 96(%rdi),%rdi pxor %xmm8,%xmm7 @@ -1688,7 +1686,7 @@ pxor %xmm9,%xmm11 movdqa %xmm10,0(%rsp) .byte 102,15,56,220,249 - movups 48(%r11),%xmm1 + movups 48(%rbp),%xmm1 pxor %xmm9,%xmm12 .byte 102,15,56,220,208 @@ -1703,7 +1701,7 @@ movdqa %xmm14,64(%rsp) .byte 102,15,56,220,240 .byte 102,15,56,220,248 - movups 64(%r11),%xmm0 + movups 64(%rbp),%xmm0 movdqa %xmm8,80(%rsp) pshufd $0x5f,%xmm15,%xmm9 jmp L$xts_enc_loop6 @@ -1735,7 +1733,7 @@ psrad $31,%xmm14 .byte 102,15,56,220,217 pand %xmm8,%xmm14 - movups (%r11),%xmm10 + movups (%rbp),%xmm10 .byte 102,15,56,220,225 .byte 102,15,56,220,233 .byte 102,15,56,220,241 @@ -1803,10 +1801,10 @@ .byte 102,15,56,220,225 .byte 102,15,56,220,233 pxor %xmm0,%xmm15 - movups (%r11),%xmm0 + movups (%rbp),%xmm0 .byte 102,15,56,220,241 .byte 102,15,56,220,249 - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 pxor %xmm15,%xmm14 .byte 102,15,56,221,84,36,0 @@ -1833,7 +1831,7 @@ movl $16+96,%eax subl %r10d,%eax - movq %r11,%rcx + movq %rbp,%rcx shrl $4,%eax L$xts_enc_short: @@ -1989,7 +1987,7 @@ jnz L$xts_enc_steal subq %r9,%rsi - movq %r11,%rcx + movq %rbp,%rcx movl %r10d,%eax movups -16(%rsi),%xmm2 @@ -2032,8 +2030,8 @@ movaps %xmm0,96(%rsp) pxor %xmm14,%xmm14 pxor %xmm15,%xmm15 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp L$xts_enc_epilogue: .byte 0xf3,0xc3 @@ -2042,11 +2040,10 @@ .p2align 4 _aesni_xts_decrypt: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $112,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp movups (%r9),%xmm2 movl 240(%r8),%eax movl 240(%rcx),%r10d @@ -2068,7 +2065,7 @@ subq %rax,%rdx movups (%rcx),%xmm0 - movq %rcx,%r11 + movq %rcx,%rbp movl %r10d,%eax shll $4,%r10d movq %rdx,%r9 @@ -2124,9 +2121,9 @@ jc L$xts_dec_short movl $16+96,%eax - leaq 32(%r11,%r10,1),%rcx + leaq 32(%rbp,%r10,1),%rcx subq %r10,%rax - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 movq %rax,%r10 leaq L$xts_magic(%rip),%r8 jmp L$xts_dec_grandloop @@ -2151,7 +2148,7 @@ movdqa 96(%rsp),%xmm9 pxor %xmm14,%xmm6 .byte 102,15,56,222,233 - movups 32(%r11),%xmm0 + movups 32(%rbp),%xmm0 leaq 96(%rdi),%rdi pxor %xmm8,%xmm7 @@ -2160,7 +2157,7 @@ pxor %xmm9,%xmm11 movdqa %xmm10,0(%rsp) .byte 102,15,56,222,249 - movups 48(%r11),%xmm1 + movups 48(%rbp),%xmm1 pxor %xmm9,%xmm12 .byte 102,15,56,222,208 @@ -2175,7 +2172,7 @@ movdqa %xmm14,64(%rsp) .byte 102,15,56,222,240 .byte 102,15,56,222,248 - movups 64(%r11),%xmm0 + movups 64(%rbp),%xmm0 movdqa %xmm8,80(%rsp) pshufd $0x5f,%xmm15,%xmm9 jmp L$xts_dec_loop6 @@ -2207,7 +2204,7 @@ psrad $31,%xmm14 .byte 102,15,56,222,217 pand %xmm8,%xmm14 - movups (%r11),%xmm10 + movups (%rbp),%xmm10 .byte 102,15,56,222,225 .byte 102,15,56,222,233 .byte 102,15,56,222,241 @@ -2275,10 +2272,10 @@ .byte 102,15,56,222,225 .byte 102,15,56,222,233 pxor %xmm0,%xmm15 - movups (%r11),%xmm0 + movups (%rbp),%xmm0 .byte 102,15,56,222,241 .byte 102,15,56,222,249 - movups 16(%r11),%xmm1 + movups 16(%rbp),%xmm1 pxor %xmm15,%xmm14 .byte 102,15,56,223,84,36,0 @@ -2305,7 +2302,7 @@ movl $16+96,%eax subl %r10d,%eax - movq %r11,%rcx + movq %rbp,%rcx shrl $4,%eax L$xts_dec_short: @@ -2462,7 +2459,7 @@ jz L$xts_dec_ret L$xts_dec_done2: movq %r9,%rdx - movq %r11,%rcx + movq %rbp,%rcx movl %r10d,%eax movups (%rdi),%xmm2 @@ -2492,7 +2489,7 @@ jnz L$xts_dec_steal subq %r9,%rsi - movq %r11,%rcx + movq %rbp,%rcx movl %r10d,%eax movups (%rsi),%xmm2 @@ -2535,11 +2532,827 @@ movaps %xmm0,96(%rsp) pxor %xmm14,%xmm14 pxor %xmm15,%xmm15 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp L$xts_dec_epilogue: .byte 0xf3,0xc3 +.globl _aesni_ocb_encrypt +.private_extern _aesni_ocb_encrypt + +.p2align 5 +_aesni_ocb_encrypt: + leaq (%rsp),%rax + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + movq 8(%rax),%rbx + movq 8+8(%rax),%rbp + + movl 240(%rcx),%r10d + movq %rcx,%r11 + shll $4,%r10d + movups (%rcx),%xmm9 + movups 16(%rcx,%r10,1),%xmm1 + + movdqu (%r9),%xmm15 + pxor %xmm1,%xmm9 + pxor %xmm1,%xmm15 + + movl $16+32,%eax + leaq 32(%r11,%r10,1),%rcx + movups 16(%r11),%xmm1 + subq %r10,%rax + movq %rax,%r10 + + movdqu (%rbx),%xmm10 + movdqu (%rbp),%xmm8 + + testq $1,%r8 + jnz L$ocb_enc_odd + + bsfq %r8,%r12 + addq $1,%r8 + shlq $4,%r12 + movdqu (%rbx,%r12,1),%xmm7 + movdqu (%rdi),%xmm2 + leaq 16(%rdi),%rdi + + call __ocb_encrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,(%rsi) + leaq 16(%rsi),%rsi + subq $1,%rdx + jz L$ocb_enc_done + +L$ocb_enc_odd: + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + leaq 6(%r8),%r8 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + shlq $4,%r12 + shlq $4,%r13 + shlq $4,%r14 + + subq $6,%rdx + jc L$ocb_enc_short + jmp L$ocb_enc_grandloop + +.p2align 5 +L$ocb_enc_grandloop: + movdqu 0(%rdi),%xmm2 + movdqu 16(%rdi),%xmm3 + movdqu 32(%rdi),%xmm4 + movdqu 48(%rdi),%xmm5 + movdqu 64(%rdi),%xmm6 + movdqu 80(%rdi),%xmm7 + leaq 96(%rdi),%rdi + + call __ocb_encrypt6 + + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + movups %xmm5,48(%rsi) + movups %xmm6,64(%rsi) + movups %xmm7,80(%rsi) + leaq 96(%rsi),%rsi + subq $6,%rdx + jnc L$ocb_enc_grandloop + +L$ocb_enc_short: + addq $6,%rdx + jz L$ocb_enc_done + + movdqu 0(%rdi),%xmm2 + cmpq $2,%rdx + jb L$ocb_enc_one + movdqu 16(%rdi),%xmm3 + je L$ocb_enc_two + + movdqu 32(%rdi),%xmm4 + cmpq $4,%rdx + jb L$ocb_enc_three + movdqu 48(%rdi),%xmm5 + je L$ocb_enc_four + + movdqu 64(%rdi),%xmm6 + pxor %xmm7,%xmm7 + + call __ocb_encrypt6 + + movdqa %xmm14,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + movups %xmm5,48(%rsi) + movups %xmm6,64(%rsi) + + jmp L$ocb_enc_done + +.p2align 4 +L$ocb_enc_one: + movdqa %xmm10,%xmm7 + + call __ocb_encrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,0(%rsi) + jmp L$ocb_enc_done + +.p2align 4 +L$ocb_enc_two: + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + + call __ocb_encrypt4 + + movdqa %xmm11,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + + jmp L$ocb_enc_done + +.p2align 4 +L$ocb_enc_three: + pxor %xmm5,%xmm5 + + call __ocb_encrypt4 + + movdqa %xmm12,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + + jmp L$ocb_enc_done + +.p2align 4 +L$ocb_enc_four: + call __ocb_encrypt4 + + movdqa %xmm13,%xmm15 + movups %xmm2,0(%rsi) + movups %xmm3,16(%rsi) + movups %xmm4,32(%rsi) + movups %xmm5,48(%rsi) + +L$ocb_enc_done: + pxor %xmm0,%xmm15 + movdqu %xmm8,(%rbp) + movdqu %xmm15,(%r9) + + xorps %xmm0,%xmm0 + pxor %xmm1,%xmm1 + pxor %xmm2,%xmm2 + pxor %xmm3,%xmm3 + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + pxor %xmm6,%xmm6 + pxor %xmm7,%xmm7 + pxor %xmm8,%xmm8 + pxor %xmm9,%xmm9 + pxor %xmm10,%xmm10 + pxor %xmm11,%xmm11 + pxor %xmm12,%xmm12 + pxor %xmm13,%xmm13 + pxor %xmm14,%xmm14 + pxor %xmm15,%xmm15 + leaq 40(%rsp),%rax + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbp + movq -8(%rax),%rbx + leaq (%rax),%rsp +L$ocb_enc_epilogue: + .byte 0xf3,0xc3 + + + +.p2align 5 +__ocb_encrypt6: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + movdqa %xmm10,%xmm14 + pxor %xmm15,%xmm10 + movdqu (%rbx,%r14,1),%xmm15 + pxor %xmm10,%xmm11 + pxor %xmm2,%xmm8 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm3,%xmm8 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm4,%xmm8 + pxor %xmm12,%xmm4 + pxor %xmm13,%xmm14 + pxor %xmm5,%xmm8 + pxor %xmm13,%xmm5 + pxor %xmm14,%xmm15 + pxor %xmm6,%xmm8 + pxor %xmm14,%xmm6 + pxor %xmm7,%xmm8 + pxor %xmm15,%xmm7 + movups 32(%r11),%xmm0 + + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + addq $6,%r8 + pxor %xmm9,%xmm10 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 +.byte 102,15,56,220,241 + pxor %xmm9,%xmm13 + pxor %xmm9,%xmm14 +.byte 102,15,56,220,249 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm15 + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 +.byte 102,15,56,220,240 +.byte 102,15,56,220,248 + movups 64(%r11),%xmm0 + shlq $4,%r12 + shlq $4,%r13 + jmp L$ocb_enc_loop6 + +.p2align 5 +L$ocb_enc_loop6: +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 +.byte 102,15,56,220,241 +.byte 102,15,56,220,249 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 +.byte 102,15,56,220,240 +.byte 102,15,56,220,248 + movups -16(%rcx,%rax,1),%xmm0 + jnz L$ocb_enc_loop6 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 +.byte 102,15,56,220,241 +.byte 102,15,56,220,249 + movups 16(%r11),%xmm1 + shlq $4,%r14 + +.byte 102,65,15,56,221,210 + movdqu (%rbx),%xmm10 + movq %r10,%rax +.byte 102,65,15,56,221,219 +.byte 102,65,15,56,221,228 +.byte 102,65,15,56,221,237 +.byte 102,65,15,56,221,246 +.byte 102,65,15,56,221,255 + .byte 0xf3,0xc3 + + + +.p2align 5 +__ocb_encrypt4: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + pxor %xmm15,%xmm10 + pxor %xmm10,%xmm11 + pxor %xmm2,%xmm8 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm3,%xmm8 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm4,%xmm8 + pxor %xmm12,%xmm4 + pxor %xmm5,%xmm8 + pxor %xmm13,%xmm5 + movups 32(%r11),%xmm0 + + pxor %xmm9,%xmm10 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 + pxor %xmm9,%xmm13 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + movups 48(%r11),%xmm1 + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 + movups 64(%r11),%xmm0 + jmp L$ocb_enc_loop4 + +.p2align 5 +L$ocb_enc_loop4: +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,220,208 +.byte 102,15,56,220,216 +.byte 102,15,56,220,224 +.byte 102,15,56,220,232 + movups -16(%rcx,%rax,1),%xmm0 + jnz L$ocb_enc_loop4 + +.byte 102,15,56,220,209 +.byte 102,15,56,220,217 +.byte 102,15,56,220,225 +.byte 102,15,56,220,233 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,65,15,56,221,210 +.byte 102,65,15,56,221,219 +.byte 102,65,15,56,221,228 +.byte 102,65,15,56,221,237 + .byte 0xf3,0xc3 + + + +.p2align 5 +__ocb_encrypt1: + pxor %xmm15,%xmm7 + pxor %xmm9,%xmm7 + pxor %xmm2,%xmm8 + pxor %xmm7,%xmm2 + movups 32(%r11),%xmm0 + +.byte 102,15,56,220,209 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm7 + +.byte 102,15,56,220,208 + movups 64(%r11),%xmm0 + jmp L$ocb_enc_loop1 + +.p2align 5 +L$ocb_enc_loop1: +.byte 102,15,56,220,209 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,220,208 + movups -16(%rcx,%rax,1),%xmm0 + jnz L$ocb_enc_loop1 + +.byte 102,15,56,220,209 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,15,56,221,215 + .byte 0xf3,0xc3 + + +.globl _aesni_ocb_decrypt +.private_extern _aesni_ocb_decrypt + +.p2align 5 +_aesni_ocb_decrypt: + leaq (%rsp),%rax + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + movq 8(%rax),%rbx + movq 8+8(%rax),%rbp + + movl 240(%rcx),%r10d + movq %rcx,%r11 + shll $4,%r10d + movups (%rcx),%xmm9 + movups 16(%rcx,%r10,1),%xmm1 + + movdqu (%r9),%xmm15 + pxor %xmm1,%xmm9 + pxor %xmm1,%xmm15 + + movl $16+32,%eax + leaq 32(%r11,%r10,1),%rcx + movups 16(%r11),%xmm1 + subq %r10,%rax + movq %rax,%r10 + + movdqu (%rbx),%xmm10 + movdqu (%rbp),%xmm8 + + testq $1,%r8 + jnz L$ocb_dec_odd + + bsfq %r8,%r12 + addq $1,%r8 + shlq $4,%r12 + movdqu (%rbx,%r12,1),%xmm7 + movdqu (%rdi),%xmm2 + leaq 16(%rdi),%rdi + + call __ocb_decrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,(%rsi) + xorps %xmm2,%xmm8 + leaq 16(%rsi),%rsi + subq $1,%rdx + jz L$ocb_dec_done + +L$ocb_dec_odd: + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + leaq 6(%r8),%r8 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + shlq $4,%r12 + shlq $4,%r13 + shlq $4,%r14 + + subq $6,%rdx + jc L$ocb_dec_short + jmp L$ocb_dec_grandloop + +.p2align 5 +L$ocb_dec_grandloop: + movdqu 0(%rdi),%xmm2 + movdqu 16(%rdi),%xmm3 + movdqu 32(%rdi),%xmm4 + movdqu 48(%rdi),%xmm5 + movdqu 64(%rdi),%xmm6 + movdqu 80(%rdi),%xmm7 + leaq 96(%rdi),%rdi + + call __ocb_decrypt6 + + movups %xmm2,0(%rsi) + pxor %xmm2,%xmm8 + movups %xmm3,16(%rsi) + pxor %xmm3,%xmm8 + movups %xmm4,32(%rsi) + pxor %xmm4,%xmm8 + movups %xmm5,48(%rsi) + pxor %xmm5,%xmm8 + movups %xmm6,64(%rsi) + pxor %xmm6,%xmm8 + movups %xmm7,80(%rsi) + pxor %xmm7,%xmm8 + leaq 96(%rsi),%rsi + subq $6,%rdx + jnc L$ocb_dec_grandloop + +L$ocb_dec_short: + addq $6,%rdx + jz L$ocb_dec_done + + movdqu 0(%rdi),%xmm2 + cmpq $2,%rdx + jb L$ocb_dec_one + movdqu 16(%rdi),%xmm3 + je L$ocb_dec_two + + movdqu 32(%rdi),%xmm4 + cmpq $4,%rdx + jb L$ocb_dec_three + movdqu 48(%rdi),%xmm5 + je L$ocb_dec_four + + movdqu 64(%rdi),%xmm6 + pxor %xmm7,%xmm7 + + call __ocb_decrypt6 + + movdqa %xmm14,%xmm15 + movups %xmm2,0(%rsi) + pxor %xmm2,%xmm8 + movups %xmm3,16(%rsi) + pxor %xmm3,%xmm8 + movups %xmm4,32(%rsi) + pxor %xmm4,%xmm8 + movups %xmm5,48(%rsi) + pxor %xmm5,%xmm8 + movups %xmm6,64(%rsi) + pxor %xmm6,%xmm8 + + jmp L$ocb_dec_done + +.p2align 4 +L$ocb_dec_one: + movdqa %xmm10,%xmm7 + + call __ocb_decrypt1 + + movdqa %xmm7,%xmm15 + movups %xmm2,0(%rsi) + xorps %xmm2,%xmm8 + jmp L$ocb_dec_done + +.p2align 4 +L$ocb_dec_two: + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + + call __ocb_decrypt4 + + movdqa %xmm11,%xmm15 + movups %xmm2,0(%rsi) + xorps %xmm2,%xmm8 + movups %xmm3,16(%rsi) + xorps %xmm3,%xmm8 + + jmp L$ocb_dec_done + +.p2align 4 +L$ocb_dec_three: + pxor %xmm5,%xmm5 + + call __ocb_decrypt4 + + movdqa %xmm12,%xmm15 + movups %xmm2,0(%rsi) + xorps %xmm2,%xmm8 + movups %xmm3,16(%rsi) + xorps %xmm3,%xmm8 + movups %xmm4,32(%rsi) + xorps %xmm4,%xmm8 + + jmp L$ocb_dec_done + +.p2align 4 +L$ocb_dec_four: + call __ocb_decrypt4 + + movdqa %xmm13,%xmm15 + movups %xmm2,0(%rsi) + pxor %xmm2,%xmm8 + movups %xmm3,16(%rsi) + pxor %xmm3,%xmm8 + movups %xmm4,32(%rsi) + pxor %xmm4,%xmm8 + movups %xmm5,48(%rsi) + pxor %xmm5,%xmm8 + +L$ocb_dec_done: + pxor %xmm0,%xmm15 + movdqu %xmm8,(%rbp) + movdqu %xmm15,(%r9) + + xorps %xmm0,%xmm0 + pxor %xmm1,%xmm1 + pxor %xmm2,%xmm2 + pxor %xmm3,%xmm3 + pxor %xmm4,%xmm4 + pxor %xmm5,%xmm5 + pxor %xmm6,%xmm6 + pxor %xmm7,%xmm7 + pxor %xmm8,%xmm8 + pxor %xmm9,%xmm9 + pxor %xmm10,%xmm10 + pxor %xmm11,%xmm11 + pxor %xmm12,%xmm12 + pxor %xmm13,%xmm13 + pxor %xmm14,%xmm14 + pxor %xmm15,%xmm15 + leaq 40(%rsp),%rax + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbp + movq -8(%rax),%rbx + leaq (%rax),%rsp +L$ocb_dec_epilogue: + .byte 0xf3,0xc3 + + + +.p2align 5 +__ocb_decrypt6: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + movdqa %xmm10,%xmm14 + pxor %xmm15,%xmm10 + movdqu (%rbx,%r14,1),%xmm15 + pxor %xmm10,%xmm11 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm12,%xmm4 + pxor %xmm13,%xmm14 + pxor %xmm13,%xmm5 + pxor %xmm14,%xmm15 + pxor %xmm14,%xmm6 + pxor %xmm15,%xmm7 + movups 32(%r11),%xmm0 + + leaq 1(%r8),%r12 + leaq 3(%r8),%r13 + leaq 5(%r8),%r14 + addq $6,%r8 + pxor %xmm9,%xmm10 + bsfq %r12,%r12 + bsfq %r13,%r13 + bsfq %r14,%r14 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 +.byte 102,15,56,222,241 + pxor %xmm9,%xmm13 + pxor %xmm9,%xmm14 +.byte 102,15,56,222,249 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm15 + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 +.byte 102,15,56,222,240 +.byte 102,15,56,222,248 + movups 64(%r11),%xmm0 + shlq $4,%r12 + shlq $4,%r13 + jmp L$ocb_dec_loop6 + +.p2align 5 +L$ocb_dec_loop6: +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 +.byte 102,15,56,222,241 +.byte 102,15,56,222,249 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 +.byte 102,15,56,222,240 +.byte 102,15,56,222,248 + movups -16(%rcx,%rax,1),%xmm0 + jnz L$ocb_dec_loop6 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 +.byte 102,15,56,222,241 +.byte 102,15,56,222,249 + movups 16(%r11),%xmm1 + shlq $4,%r14 + +.byte 102,65,15,56,223,210 + movdqu (%rbx),%xmm10 + movq %r10,%rax +.byte 102,65,15,56,223,219 +.byte 102,65,15,56,223,228 +.byte 102,65,15,56,223,237 +.byte 102,65,15,56,223,246 +.byte 102,65,15,56,223,255 + .byte 0xf3,0xc3 + + + +.p2align 5 +__ocb_decrypt4: + pxor %xmm9,%xmm15 + movdqu (%rbx,%r12,1),%xmm11 + movdqa %xmm10,%xmm12 + movdqu (%rbx,%r13,1),%xmm13 + pxor %xmm15,%xmm10 + pxor %xmm10,%xmm11 + pxor %xmm10,%xmm2 + pxor %xmm11,%xmm12 + pxor %xmm11,%xmm3 + pxor %xmm12,%xmm13 + pxor %xmm12,%xmm4 + pxor %xmm13,%xmm5 + movups 32(%r11),%xmm0 + + pxor %xmm9,%xmm10 + pxor %xmm9,%xmm11 + pxor %xmm9,%xmm12 + pxor %xmm9,%xmm13 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + movups 48(%r11),%xmm1 + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 + movups 64(%r11),%xmm0 + jmp L$ocb_dec_loop4 + +.p2align 5 +L$ocb_dec_loop4: +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,222,208 +.byte 102,15,56,222,216 +.byte 102,15,56,222,224 +.byte 102,15,56,222,232 + movups -16(%rcx,%rax,1),%xmm0 + jnz L$ocb_dec_loop4 + +.byte 102,15,56,222,209 +.byte 102,15,56,222,217 +.byte 102,15,56,222,225 +.byte 102,15,56,222,233 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,65,15,56,223,210 +.byte 102,65,15,56,223,219 +.byte 102,65,15,56,223,228 +.byte 102,65,15,56,223,237 + .byte 0xf3,0xc3 + + + +.p2align 5 +__ocb_decrypt1: + pxor %xmm15,%xmm7 + pxor %xmm9,%xmm7 + pxor %xmm7,%xmm2 + movups 32(%r11),%xmm0 + +.byte 102,15,56,222,209 + movups 48(%r11),%xmm1 + pxor %xmm9,%xmm7 + +.byte 102,15,56,222,208 + movups 64(%r11),%xmm0 + jmp L$ocb_dec_loop1 + +.p2align 5 +L$ocb_dec_loop1: +.byte 102,15,56,222,209 + movups (%rcx,%rax,1),%xmm1 + addq $32,%rax + +.byte 102,15,56,222,208 + movups -16(%rcx,%rax,1),%xmm0 + jnz L$ocb_dec_loop1 + +.byte 102,15,56,222,209 + movups 16(%r11),%xmm1 + movq %r10,%rax + +.byte 102,15,56,223,215 + .byte 0xf3,0xc3 + .globl _aesni_cbc_encrypt .private_extern _aesni_cbc_encrypt @@ -2637,11 +3450,11 @@ jmp L$cbc_ret .p2align 4 L$cbc_decrypt_bulk: - leaq (%rsp),%rax + leaq (%rsp),%r11 pushq %rbp subq $16,%rsp andq $-16,%rsp - leaq -8(%rax),%rbp + movq %rcx,%rbp movups (%r8),%xmm10 movl %r10d,%eax cmpq $0x50,%rdx @@ -2681,7 +3494,7 @@ pxor %xmm0,%xmm3 movups 16-112(%rcx),%xmm1 pxor %xmm0,%xmm4 - xorq %r11,%r11 + movq $-1,%rbp cmpq $0x70,%rdx pxor %xmm0,%xmm5 pxor %xmm0,%xmm6 @@ -2697,10 +3510,10 @@ .byte 102,15,56,222,241 .byte 102,15,56,222,249 .byte 102,68,15,56,222,193 - setnc %r11b - shlq $7,%r11 + adcq $0,%rbp + andq $128,%rbp .byte 102,68,15,56,222,201 - addq %rdi,%r11 + addq %rdi,%rbp movups 48-112(%rcx),%xmm1 .byte 102,15,56,222,208 .byte 102,15,56,222,216 @@ -2838,18 +3651,18 @@ movdqu 112(%rdi),%xmm0 .byte 102,65,15,56,223,228 leaq 128(%rdi),%rdi - movdqu 0(%r11),%xmm11 + movdqu 0(%rbp),%xmm11 .byte 102,65,15,56,223,237 .byte 102,65,15,56,223,246 - movdqu 16(%r11),%xmm12 - movdqu 32(%r11),%xmm13 + movdqu 16(%rbp),%xmm12 + movdqu 32(%rbp),%xmm13 .byte 102,65,15,56,223,255 .byte 102,68,15,56,223,193 - movdqu 48(%r11),%xmm14 - movdqu 64(%r11),%xmm15 + movdqu 48(%rbp),%xmm14 + movdqu 64(%rbp),%xmm15 .byte 102,69,15,56,223,202 movdqa %xmm0,%xmm10 - movdqu 80(%r11),%xmm1 + movdqu 80(%rbp),%xmm1 movups -112(%rcx),%xmm0 movups %xmm2,(%rsi) @@ -2968,7 +3781,7 @@ pxor %xmm13,%xmm5 movdqu %xmm4,32(%rsi) pxor %xmm14,%xmm6 - movq %r11,%rcx + movq %rbp,%rcx movdqu %xmm5,48(%rsi) pxor %xmm15,%xmm7 movl %r10d,%eax @@ -3121,8 +3934,8 @@ L$cbc_dec_ret: xorps %xmm0,%xmm0 pxor %xmm1,%xmm1 - leaq (%rbp),%rsp - popq %rbp + movq -8(%r11),%rbp + leaq (%r11),%rsp L$cbc_ret: .byte 0xf3,0xc3
diff --git a/third_party/boringssl/mac-x86_64/crypto/aes/bsaes-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/aes/bsaes-x86_64.S index ad802e3..6e679c18 100644 --- a/third_party/boringssl/mac-x86_64/crypto/aes/bsaes-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/aes/bsaes-x86_64.S
@@ -1302,15 +1302,14 @@ cmpq %rax,%rbp ja L$cbc_dec_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp L$cbc_dec_epilogue: .byte 0xf3,0xc3 @@ -1503,15 +1502,14 @@ cmpq %rax,%rbp ja L$ctr_enc_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp L$ctr_enc_epilogue: .byte 0xf3,0xc3 @@ -1955,15 +1953,14 @@ cmpq %rax,%rbp ja L$xts_enc_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp L$xts_enc_epilogue: .byte 0xf3,0xc3 @@ -2434,15 +2431,14 @@ cmpq %rax,%rbp ja L$xts_dec_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + movq -48(%rax),%r15 + movq -40(%rax),%r14 + movq -32(%rax),%r13 + movq -24(%rax),%r12 + movq -16(%rax),%rbx + movq -8(%rax),%rbp + leaq (%rax),%rsp L$xts_dec_epilogue: .byte 0xf3,0xc3
diff --git a/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont.S b/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont.S index 8d3c840..41a0926 100644 --- a/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont.S +++ b/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont.S
@@ -8,8 +8,10 @@ .p2align 4 _bn_mul_mont: + movl %r9d,%r9d movq %rsp,%rax + testl $3,%r9d jnz L$mul_enter cmpl $8,%r9d @@ -23,12 +25,18 @@ .p2align 4 L$mul_enter: pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + negq %r9 movq %rsp,%r11 leaq -16(%rsp,%r9,8),%r10 @@ -60,6 +68,7 @@ L$mul_page_walk_done: movq %rax,8(%rsp,%r9,8) + L$mul_body: movq %rdx,%r12 movq (%r8),%r8 @@ -227,30 +236,47 @@ jnz L$copy movq 8(%rsp,%r9,8),%rsi + movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$mul_epilogue: .byte 0xf3,0xc3 + .p2align 4 bn_mul4x_mont: + movl %r9d,%r9d movq %rsp,%rax + L$mul4x_enter: pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + negq %r9 movq %rsp,%r11 leaq -32(%rsp,%r9,8),%r10 @@ -273,6 +299,7 @@ L$mul4x_page_walk_done: movq %rax,8(%rsp,%r9,8) + L$mul4x_body: movq %rdi,16(%rsp,%r9,8) movq %rdx,%r12 @@ -572,10 +599,11 @@ cmpq %r9,%r14 jb L$outer4x movq 16(%rsp,%r9,8),%rdi + leaq -4(%r9),%r15 movq 0(%rsp),%rax pxor %xmm0,%xmm0 movq 8(%rsp),%rdx - shrq $2,%r9 + shrq $2,%r15 leaq (%rsp),%rsi xorq %r14,%r14 @@ -583,7 +611,6 @@ movq 16(%rsi),%rbx movq 24(%rsi),%rbp sbbq 8(%rcx),%rdx - leaq -1(%r9),%r15 jmp L$sub4x .p2align 4 L$sub4x: @@ -617,8 +644,9 @@ notq %rax movq %rdi,%rcx andq %rax,%rcx - leaq -1(%r9),%r15 + leaq -4(%r9),%r15 orq %rcx,%rsi + shrq $2,%r15 movdqu (%rsi),%xmm1 movdqa %xmm0,(%rsp) @@ -636,35 +664,51 @@ decq %r15 jnz L$copy4x - shlq $2,%r9 movdqu 16(%rsi,%r14,1),%xmm2 movdqa %xmm0,16(%rsp,%r14,1) movdqu %xmm2,16(%rdi,%r14,1) movq 8(%rsp,%r9,8),%rsi + movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$mul4x_epilogue: .byte 0xf3,0xc3 + .p2align 5 bn_sqr8x_mont: + movq %rsp,%rax + L$sqr8x_enter: pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + L$sqr8x_prologue: movl %r9d,%r10d @@ -720,6 +764,7 @@ movq %r8,32(%rsp) movq %rax,40(%rsp) + L$sqr8x_body: .byte 102,72,15,110,209 @@ -766,6 +811,7 @@ pxor %xmm0,%xmm0 pshufd $0,%xmm1,%xmm1 movq 40(%rsp),%rsi + jmp L$sqr8x_cond_copy .p2align 5 @@ -795,15 +841,23 @@ movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$sqr8x_epilogue: .byte 0xf3,0xc3 + .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .p2align 4 #endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont5.S b/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont5.S index 4646c3d..24b56de2 100644 --- a/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont5.S +++ b/third_party/boringssl/mac-x86_64/crypto/bn/x86_64-mont5.S
@@ -8,8 +8,10 @@ .p2align 6 _bn_mul_mont_gather5: + movl %r9d,%r9d movq %rsp,%rax + testl $7,%r9d jnz L$mul_enter jmp L$mul4x_enter @@ -18,12 +20,18 @@ L$mul_enter: movd 8(%rsp),%xmm5 pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + negq %r9 movq %rsp,%r11 leaq -280(%rsp,%r9,8),%r10 @@ -55,6 +63,7 @@ leaq L$inc(%rip),%r10 movq %rax,8(%rsp,%r9,8) + L$mul_body: leaq 128(%rdx),%r12 @@ -411,30 +420,47 @@ jnz L$copy movq 8(%rsp,%r9,8),%rsi + movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$mul_epilogue: .byte 0xf3,0xc3 + .p2align 5 bn_mul4x_mont_gather5: + .byte 0x67 movq %rsp,%rax + L$mul4x_enter: pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + L$mul4x_prologue: .byte 0x67 @@ -490,25 +516,35 @@ negq %r9 movq %rax,40(%rsp) + L$mul4x_body: call mul4x_internal movq 40(%rsp),%rsi + movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$mul4x_epilogue: .byte 0xf3,0xc3 + .p2align 5 mul4x_internal: shlq $5,%r9 @@ -1038,13 +1074,21 @@ .p2align 5 _bn_power5: + movq %rsp,%rax + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + L$power5_prologue: shll $3,%r9d @@ -1109,6 +1153,7 @@ movq %r8,32(%rsp) movq %rax,40(%rsp) + L$power5_body: .byte 102,72,15,110,207 .byte 102,72,15,110,209 @@ -1135,18 +1180,27 @@ call mul4x_internal movq 40(%rsp),%rsi + movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$power5_epilogue: .byte 0xf3,0xc3 + .globl _bn_sqr8x_internal .private_extern _bn_sqr8x_internal .private_extern _bn_sqr8x_internal @@ -1997,14 +2051,22 @@ .p2align 5 bn_from_mont8x: + .byte 0x67 movq %rsp,%rax + pushq %rbx + pushq %rbp + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + L$from_prologue: shll $3,%r9d @@ -2069,6 +2131,7 @@ movq %r8,32(%rsp) movq %rax,40(%rsp) + L$from_body: movq %r9,%r11 leaq 48(%rsp),%rax @@ -2104,11 +2167,12 @@ pxor %xmm0,%xmm0 leaq 48(%rsp),%rax - movq 40(%rsp),%rsi jmp L$from_mont_zero .p2align 5 L$from_mont_zero: + movq 40(%rsp),%rsi + movdqa %xmm0,0(%rax) movdqa %xmm0,16(%rax) movdqa %xmm0,32(%rax) @@ -2119,15 +2183,23 @@ movq $1,%rax movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp + L$from_epilogue: .byte 0xf3,0xc3 + .globl _bn_scatter5 .private_extern _bn_scatter5
diff --git a/third_party/boringssl/mac-x86_64/crypto/chacha/chacha-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/chacha/chacha-x86_64.S index 256a4663..51c0caa 100644 --- a/third_party/boringssl/mac-x86_64/crypto/chacha/chacha-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/chacha/chacha-x86_64.S
@@ -50,6 +50,7 @@ pushq %r14 pushq %r15 subq $64+24,%rsp +L$ctr32_body: movdqu (%rcx),%xmm1 @@ -287,13 +288,14 @@ jnz L$oop_tail L$done: - addq $64+24,%rsp - popq %r15 - popq %r14 - popq %r13 - popq %r12 - popq %rbp - popq %rbx + leaq 64+24+48(%rsp),%rsi + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$no_data: .byte 0xf3,0xc3 @@ -301,18 +303,12 @@ .p2align 5 ChaCha20_ssse3: L$ChaCha20_ssse3: + movq %rsp,%r9 cmpq $128,%rdx ja L$ChaCha20_4x L$do_sse3_after_all: - pushq %rbx - pushq %rbp - pushq %r12 - pushq %r13 - pushq %r14 - pushq %r15 - - subq $64+24,%rsp + subq $64+8,%rsp movdqa L$sigma(%rip),%xmm0 movdqu (%rcx),%xmm1 movdqu 16(%rcx),%xmm2 @@ -432,13 +428,15 @@ jnz L$oop_tail_ssse3 L$done_ssse3: - addq $64+24+48,%rsp + leaq (%r9),%rsp +L$ssse3_epilogue: .byte 0xf3,0xc3 .p2align 5 ChaCha20_4x: L$ChaCha20_4x: + movq %rsp,%r9 movq %r10,%r11 shrq $32,%r10 testq $32,%r10 @@ -451,8 +449,7 @@ je L$do_sse3_after_all L$proceed4x: - leaq -120(%rsp),%r11 - subq $0x148+0,%rsp + subq $0x140+8,%rsp movdqa L$sigma(%rip),%xmm11 movdqu (%rcx),%xmm15 movdqu 16(%rcx),%xmm7 @@ -979,18 +976,18 @@ jnz L$oop_tail4x L$done4x: - addq $0x148+0,%rsp + leaq (%r9),%rsp +L$4x_epilogue: .byte 0xf3,0xc3 .p2align 5 ChaCha20_8x: L$ChaCha20_8x: - movq %rsp,%r10 + movq %rsp,%r9 subq $0x280+8,%rsp andq $-32,%rsp vzeroupper - movq %r10,640(%rsp) @@ -1581,7 +1578,8 @@ L$done8x: vzeroall - movq 640(%rsp),%rsp + leaq (%r9),%rsp +L$8x_epilogue: .byte 0xf3,0xc3 #endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/cipher/chacha20_poly1305_x86_64.S b/third_party/boringssl/mac-x86_64/crypto/cipher/chacha20_poly1305_x86_64.S index 1c17ee7..62d114d 100644 --- a/third_party/boringssl/mac-x86_64/crypto/cipher/chacha20_poly1305_x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/cipher/chacha20_poly1305_x86_64.S
@@ -44,7 +44,7 @@ .p2align 6 poly_hash_ad_internal: -.cfi_startproc + xorq %r10,%r10 xorq %r11,%r11 xorq %r12,%r12 @@ -207,7 +207,7 @@ 1: .byte 0xf3,0xc3 -.cfi_endproc + .globl _chacha20_poly1305_open @@ -215,7 +215,7 @@ .p2align 6 _chacha20_poly1305_open: -.cfi_startproc + pushq %rbp pushq %rbx @@ -2086,7 +2086,7 @@ jmp 1b jmp open_sse_tail_16 -.cfi_endproc + @@ -2096,7 +2096,7 @@ .p2align 6 _chacha20_poly1305_seal: -.cfi_startproc + pushq %rbp pushq %rbx @@ -8783,5 +8783,5 @@ 1: vzeroupper jmp seal_sse_tail_16 -.cfi_endproc + #endif
diff --git a/third_party/boringssl/mac-x86_64/crypto/modes/ghash-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/modes/ghash-x86_64.S index 334f83f..814d7961 100644 --- a/third_party/boringssl/mac-x86_64/crypto/modes/ghash-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/modes/ghash-x86_64.S
@@ -10,6 +10,10 @@ pushq %rbx pushq %rbp pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + subq $280,%rsp L$gmult_prologue: movzbq 15(%rdi),%r8 @@ -86,8 +90,9 @@ movq %r8,8(%rdi) movq %r9,(%rdi) - movq 16(%rsp),%rbx - leaq 24(%rsp),%rsp + leaq 280+48(%rsp),%rsi + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$gmult_epilogue: .byte 0xf3,0xc3 @@ -647,14 +652,14 @@ movq %r8,8(%rdi) movq %r9,(%rdi) - leaq 280(%rsp),%rsi - movq 0(%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + leaq 280+48(%rsp),%rsi + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq 0(%rsi),%rsp L$ghash_epilogue: .byte 0xf3,0xc3
diff --git a/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S index 0509d45..cf45d8a 100644 --- a/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/sha/sha1-x86_64.S
@@ -1240,14 +1240,13 @@ .p2align 4 sha1_block_data_order_ssse3: _ssse3_shortcut: - movq %rsp,%rax + movq %rsp,%r11 pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 leaq -64(%rsp),%rsp - movq %rax,%r14 andq $-64,%rsp movq %rdi,%r8 movq %rsi,%r9 @@ -1255,7 +1254,7 @@ shlq $6,%r10 addq %r9,%r10 - leaq K_XX_XX+64(%rip),%r11 + leaq K_XX_XX+64(%rip),%r14 movl 0(%r8),%eax movl 4(%r8),%ebx @@ -1267,8 +1266,8 @@ xorl %edx,%edi andl %edi,%esi - movdqa 64(%r11),%xmm6 - movdqa -64(%r11),%xmm9 + movdqa 64(%r14),%xmm6 + movdqa -64(%r14),%xmm9 movdqu 0(%r9),%xmm0 movdqu 16(%r9),%xmm1 movdqu 32(%r9),%xmm2 @@ -1344,7 +1343,7 @@ pslld $2,%xmm9 pxor %xmm10,%xmm4 xorl %ebp,%edx - movdqa -64(%r11),%xmm10 + movdqa -64(%r14),%xmm10 roll $5,%ecx addl %edi,%ebx andl %edx,%esi @@ -1405,7 +1404,7 @@ pslld $2,%xmm10 pxor %xmm8,%xmm5 xorl %eax,%ebp - movdqa -32(%r11),%xmm8 + movdqa -32(%r14),%xmm8 roll $5,%edx addl %edi,%ecx andl %ebp,%esi @@ -1466,7 +1465,7 @@ pslld $2,%xmm8 pxor %xmm9,%xmm6 xorl %ebx,%eax - movdqa -32(%r11),%xmm9 + movdqa -32(%r14),%xmm9 roll $5,%ebp addl %edi,%edx andl %eax,%esi @@ -1527,7 +1526,7 @@ pslld $2,%xmm9 pxor %xmm10,%xmm7 xorl %ecx,%ebx - movdqa -32(%r11),%xmm10 + movdqa -32(%r14),%xmm10 roll $5,%eax addl %edi,%ebp andl %ebx,%esi @@ -1638,7 +1637,7 @@ pxor %xmm3,%xmm2 addl %esi,%eax xorl %edx,%edi - movdqa 0(%r11),%xmm10 + movdqa 0(%r14),%xmm10 rorl $7,%ecx paddd %xmm1,%xmm9 addl %ebx,%eax @@ -1873,7 +1872,7 @@ pxor %xmm0,%xmm7 roll $5,%ebx addl %esi,%eax - movdqa 32(%r11),%xmm9 + movdqa 32(%r14),%xmm9 xorl %ecx,%edi paddd %xmm6,%xmm8 xorl %edx,%ecx @@ -2164,8 +2163,8 @@ addl %edx,%ecx cmpq %r10,%r9 je L$done_ssse3 - movdqa 64(%r11),%xmm6 - movdqa -64(%r11),%xmm9 + movdqa 64(%r14),%xmm6 + movdqa -64(%r14),%xmm9 movdqu 0(%r9),%xmm0 movdqu 16(%r9),%xmm1 movdqu 32(%r9),%xmm2 @@ -2402,13 +2401,12 @@ movl %ecx,8(%r8) movl %edx,12(%r8) movl %ebp,16(%r8) - leaq (%r14),%rsi - movq -40(%rsi),%r14 - movq -32(%rsi),%r13 - movq -24(%rsi),%r12 - movq -16(%rsi),%rbp - movq -8(%rsi),%rbx - leaq (%rsi),%rsp + movq -40(%r11),%r14 + movq -32(%r11),%r13 + movq -24(%r11),%r12 + movq -16(%r11),%rbp + movq -8(%r11),%rbx + leaq (%r11),%rsp L$epilogue_ssse3: .byte 0xf3,0xc3 @@ -2416,7 +2414,7 @@ .p2align 4 sha1_block_data_order_avx: _avx_shortcut: - movq %rsp,%rax + movq %rsp,%r11 pushq %rbx pushq %rbp pushq %r12 @@ -2424,7 +2422,6 @@ pushq %r14 leaq -64(%rsp),%rsp vzeroupper - movq %rax,%r14 andq $-64,%rsp movq %rdi,%r8 movq %rsi,%r9 @@ -2432,7 +2429,7 @@ shlq $6,%r10 addq %r9,%r10 - leaq K_XX_XX+64(%rip),%r11 + leaq K_XX_XX+64(%rip),%r14 movl 0(%r8),%eax movl 4(%r8),%ebx @@ -2444,8 +2441,8 @@ xorl %edx,%edi andl %edi,%esi - vmovdqa 64(%r11),%xmm6 - vmovdqa -64(%r11),%xmm11 + vmovdqa 64(%r14),%xmm6 + vmovdqa -64(%r14),%xmm11 vmovdqu 0(%r9),%xmm0 vmovdqu 16(%r9),%xmm1 vmovdqu 32(%r9),%xmm2 @@ -2570,7 +2567,7 @@ vpxor %xmm10,%xmm5,%xmm5 xorl %eax,%ebp shldl $5,%edx,%edx - vmovdqa -32(%r11),%xmm11 + vmovdqa -32(%r14),%xmm11 addl %edi,%ecx andl %ebp,%esi xorl %eax,%ebp @@ -2783,7 +2780,7 @@ addl %esi,%eax xorl %edx,%edi vpaddd %xmm1,%xmm11,%xmm9 - vmovdqa 0(%r11),%xmm11 + vmovdqa 0(%r14),%xmm11 shrdl $7,%ecx,%ecx addl %ebx,%eax vpxor %xmm8,%xmm2,%xmm2 @@ -3002,7 +2999,7 @@ movl %ebx,%edi xorl %edx,%esi vpaddd %xmm6,%xmm11,%xmm9 - vmovdqa 32(%r11),%xmm11 + vmovdqa 32(%r14),%xmm11 shldl $5,%ebx,%ebx addl %esi,%eax vpxor %xmm8,%xmm7,%xmm7 @@ -3281,8 +3278,8 @@ addl %edx,%ecx cmpq %r10,%r9 je L$done_avx - vmovdqa 64(%r11),%xmm6 - vmovdqa -64(%r11),%xmm11 + vmovdqa 64(%r14),%xmm6 + vmovdqa -64(%r14),%xmm11 vmovdqu 0(%r9),%xmm0 vmovdqu 16(%r9),%xmm1 vmovdqu 32(%r9),%xmm2 @@ -3518,13 +3515,12 @@ movl %ecx,8(%r8) movl %edx,12(%r8) movl %ebp,16(%r8) - leaq (%r14),%rsi - movq -40(%rsi),%r14 - movq -32(%rsi),%r13 - movq -24(%rsi),%r12 - movq -16(%rsi),%rbp - movq -8(%rsi),%rbx - leaq (%rsi),%rsp + movq -40(%r11),%r14 + movq -32(%r11),%r13 + movq -24(%r11),%r12 + movq -16(%r11),%rbp + movq -8(%r11),%rbx + leaq (%r11),%rsp L$epilogue_avx: .byte 0xf3,0xc3
diff --git a/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S index 0146ff5c..f00ef6da0 100644 --- a/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/sha/sha256-x86_64.S
@@ -18,13 +18,13 @@ je L$avx_shortcut testl $512,%r10d jnz L$ssse3_shortcut + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $64+32,%rsp leaq (%rsi,%rdx,4),%rdx @@ -32,7 +32,7 @@ movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) - movq %r11,64+24(%rsp) + movq %rax,64+24(%rsp) L$prologue: movl 0(%rdi),%eax @@ -1697,13 +1697,13 @@ jb L$loop movq 64+24(%rsp),%rsi - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$epilogue: .byte 0xf3,0xc3 @@ -1754,13 +1754,13 @@ .p2align 6 sha256_block_data_order_ssse3: L$ssse3_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $96,%rsp leaq (%rsi,%rdx,4),%rdx @@ -1768,7 +1768,7 @@ movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) - movq %r11,64+24(%rsp) + movq %rax,64+24(%rsp) L$prologue_ssse3: movl 0(%rdi),%eax @@ -2835,13 +2835,13 @@ jb L$loop_ssse3 movq 64+24(%rsp),%rsi - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$epilogue_ssse3: .byte 0xf3,0xc3 @@ -2849,13 +2849,13 @@ .p2align 6 sha256_block_data_order_avx: L$avx_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $96,%rsp leaq (%rsi,%rdx,4),%rdx @@ -2863,7 +2863,7 @@ movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) - movq %r11,64+24(%rsp) + movq %rax,64+24(%rsp) L$prologue_avx: vzeroupper @@ -3892,13 +3892,13 @@ movq 64+24(%rsp),%rsi vzeroupper - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$epilogue_avx: .byte 0xf3,0xc3
diff --git a/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S b/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S index aeabd3f..eabcb3a 100644 --- a/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S +++ b/third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S
@@ -18,13 +18,13 @@ orl %r9d,%r10d cmpl $1342177792,%r10d je L$avx_shortcut + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $128+32,%rsp leaq (%rsi,%rdx,8),%rdx @@ -32,7 +32,7 @@ movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) - movq %r11,128+24(%rsp) + movq %rax,128+24(%rsp) L$prologue: movq 0(%rdi),%rax @@ -1697,13 +1697,13 @@ jb L$loop movq 128+24(%rsp),%rsi - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$epilogue: .byte 0xf3,0xc3 @@ -1798,13 +1798,13 @@ .p2align 6 sha512_block_data_order_xop: L$xop_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $160,%rsp leaq (%rsi,%rdx,8),%rdx @@ -1812,7 +1812,7 @@ movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) - movq %r11,128+24(%rsp) + movq %rax,128+24(%rsp) L$prologue_xop: vzeroupper @@ -2867,13 +2867,13 @@ movq 128+24(%rsp),%rsi vzeroupper - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$epilogue_xop: .byte 0xf3,0xc3 @@ -2881,13 +2881,13 @@ .p2align 6 sha512_block_data_order_avx: L$avx_shortcut: + movq %rsp,%rax pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 - movq %rsp,%r11 shlq $4,%rdx subq $160,%rsp leaq (%rsi,%rdx,8),%rdx @@ -2895,7 +2895,7 @@ movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) - movq %r11,128+24(%rsp) + movq %rax,128+24(%rsp) L$prologue_avx: vzeroupper @@ -4014,13 +4014,13 @@ movq 128+24(%rsp),%rsi vzeroupper - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 + movq -40(%rsi),%r14 + movq -32(%rsi),%r13 + movq -24(%rsi),%r12 + movq -16(%rsi),%rbp + movq -8(%rsi),%rbx + leaq (%rsi),%rsp L$epilogue_avx: .byte 0xf3,0xc3
diff --git a/third_party/boringssl/win-x86_64/crypto/aes/aes-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/aes/aes-x86_64.asm index 53394f0..3db1846e 100644 --- a/third_party/boringssl/win-x86_64/crypto/aes/aes-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/aes/aes-x86_64.asm
@@ -344,6 +344,7 @@ mov rdx,r8 + mov rax,rsp push rbx push rbp push r12 @@ -352,7 +353,6 @@ push r15 - mov r10,rsp lea rcx,[((-63))+rdx] and rsp,-64 sub rcx,rsp @@ -362,7 +362,7 @@ sub rsp,32 mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],r10 + mov QWORD[24+rsp],rax $L$enc_prologue: mov r15,rdx @@ -394,13 +394,13 @@ mov DWORD[8+r9],ecx mov DWORD[12+r9],edx - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$enc_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -800,6 +800,7 @@ mov rdx,r8 + mov rax,rsp push rbx push rbp push r12 @@ -808,7 +809,6 @@ push r15 - mov r10,rsp lea rcx,[((-63))+rdx] and rsp,-64 sub rcx,rsp @@ -818,7 +818,7 @@ sub rsp,32 mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],r10 + mov QWORD[24+rsp],rax $L$dec_prologue: mov r15,rdx @@ -852,13 +852,13 @@ mov DWORD[8+r9],ecx mov DWORD[12+r9],edx - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$dec_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -1367,10 +1367,9 @@ mov r9d,r9d lea r14,[$L$AES_Te] + lea r10,[$L$AES_Td] cmp r9,0 - jne NEAR $L$cbc_picked_te - lea r14,[$L$AES_Td] -$L$cbc_picked_te: + cmove r14,r10 mov r10d,DWORD[OPENSSL_ia32cap_P] cmp rdx,512 @@ -2626,7 +2625,6 @@ jae NEAR $L$in_block_prologue mov rax,QWORD[24+rax] - lea rax,[48+rax] mov rbx,QWORD[((-8))+rax] mov rbp,QWORD[((-16))+rax]
diff --git a/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm index cf313d1..d5d454d 100644 --- a/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm
@@ -1129,22 +1129,21 @@ ALIGN 16 $L$ctr32_bulk: - lea rax,[rsp] + lea r11,[rsp] push rbp sub rsp,288 and rsp,-16 - movaps XMMWORD[(-168)+rax],xmm6 - movaps XMMWORD[(-152)+rax],xmm7 - movaps XMMWORD[(-136)+rax],xmm8 - movaps XMMWORD[(-120)+rax],xmm9 - movaps XMMWORD[(-104)+rax],xmm10 - movaps XMMWORD[(-88)+rax],xmm11 - movaps XMMWORD[(-72)+rax],xmm12 - movaps XMMWORD[(-56)+rax],xmm13 - movaps XMMWORD[(-40)+rax],xmm14 - movaps XMMWORD[(-24)+rax],xmm15 + movaps XMMWORD[(-168)+r11],xmm6 + movaps XMMWORD[(-152)+r11],xmm7 + movaps XMMWORD[(-136)+r11],xmm8 + movaps XMMWORD[(-120)+r11],xmm9 + movaps XMMWORD[(-104)+r11],xmm10 + movaps XMMWORD[(-88)+r11],xmm11 + movaps XMMWORD[(-72)+r11],xmm12 + movaps XMMWORD[(-56)+r11],xmm13 + movaps XMMWORD[(-40)+r11],xmm14 + movaps XMMWORD[(-24)+r11],xmm15 $L$ctr32_body: - lea rbp,[((-8))+rax] @@ -1153,7 +1152,7 @@ movdqu xmm0,XMMWORD[rcx] mov r8d,DWORD[12+r8] pxor xmm2,xmm0 - mov r11d,DWORD[12+rcx] + mov ebp,DWORD[12+rcx] movdqa XMMWORD[rsp],xmm2 bswap r8d movdqa xmm3,xmm2 @@ -1169,8 +1168,8 @@ lea rdx,[2+r8] bswap eax bswap edx - xor eax,r11d - xor edx,r11d + xor eax,ebp + xor edx,ebp DB 102,15,58,34,216,3 lea rax,[3+r8] movdqa XMMWORD[16+rsp],xmm3 @@ -1179,25 +1178,25 @@ mov rdx,r10 lea r10,[4+r8] movdqa XMMWORD[32+rsp],xmm4 - xor eax,r11d + xor eax,ebp bswap r10d DB 102,15,58,34,232,3 - xor r10d,r11d + xor r10d,ebp movdqa XMMWORD[48+rsp],xmm5 lea r9,[5+r8] mov DWORD[((64+12))+rsp],r10d bswap r9d lea r10,[6+r8] mov eax,DWORD[240+rcx] - xor r9d,r11d + xor r9d,ebp bswap r10d mov DWORD[((80+12))+rsp],r9d - xor r10d,r11d + xor r10d,ebp lea r9,[7+r8] mov DWORD[((96+12))+rsp],r10d bswap r9d mov r10d,DWORD[((OPENSSL_ia32cap_P+4))] - xor r9d,r11d + xor r9d,ebp and r10d,71303168 mov DWORD[((112+12))+rsp],r9d @@ -1221,7 +1220,7 @@ $L$ctr32_6x: shl eax,4 mov r10d,48 - bswap r11d + bswap ebp lea rcx,[32+rax*1+rcx] sub r10,rax jmp NEAR $L$ctr32_loop6 @@ -1232,32 +1231,32 @@ movups xmm0,XMMWORD[((-48))+r10*1+rcx] DB 102,15,56,220,209 mov eax,r8d - xor eax,r11d + xor eax,ebp DB 102,15,56,220,217 DB 0x0f,0x38,0xf1,0x44,0x24,12 lea eax,[1+r8] DB 102,15,56,220,225 - xor eax,r11d + xor eax,ebp DB 0x0f,0x38,0xf1,0x44,0x24,28 DB 102,15,56,220,233 lea eax,[2+r8] - xor eax,r11d + xor eax,ebp DB 102,15,56,220,241 DB 0x0f,0x38,0xf1,0x44,0x24,44 lea eax,[3+r8] DB 102,15,56,220,249 movups xmm1,XMMWORD[((-32))+r10*1+rcx] - xor eax,r11d + xor eax,ebp DB 102,15,56,220,208 DB 0x0f,0x38,0xf1,0x44,0x24,60 lea eax,[4+r8] DB 102,15,56,220,216 - xor eax,r11d + xor eax,ebp DB 0x0f,0x38,0xf1,0x44,0x24,76 DB 102,15,56,220,224 lea eax,[5+r8] - xor eax,r11d + xor eax,ebp DB 102,15,56,220,232 DB 0x0f,0x38,0xf1,0x44,0x24,92 mov rax,r10 @@ -1318,7 +1317,7 @@ bswap r9d movups xmm0,XMMWORD[((32-128))+rcx] DB 102,15,56,220,225 - xor r9d,r11d + xor r9d,ebp nop DB 102,15,56,220,233 mov DWORD[((0+12))+rsp],r9d @@ -1331,7 +1330,7 @@ bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 - xor r9d,r11d + xor r9d,ebp DB 0x66,0x90 DB 102,15,56,220,224 DB 102,15,56,220,232 @@ -1345,7 +1344,7 @@ bswap r9d DB 102,15,56,220,209 DB 102,15,56,220,217 - xor r9d,r11d + xor r9d,ebp DB 0x66,0x90 DB 102,15,56,220,225 DB 102,15,56,220,233 @@ -1359,7 +1358,7 @@ bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 - xor r9d,r11d + xor r9d,ebp DB 0x66,0x90 DB 102,15,56,220,224 DB 102,15,56,220,232 @@ -1373,7 +1372,7 @@ bswap r9d DB 102,15,56,220,209 DB 102,15,56,220,217 - xor r9d,r11d + xor r9d,ebp DB 0x66,0x90 DB 102,15,56,220,225 DB 102,15,56,220,233 @@ -1387,7 +1386,7 @@ bswap r9d DB 102,15,56,220,208 DB 102,15,56,220,216 - xor r9d,r11d + xor r9d,ebp DB 0x66,0x90 DB 102,15,56,220,224 DB 102,15,56,220,232 @@ -1401,7 +1400,7 @@ bswap r9d DB 102,15,56,220,209 DB 102,15,56,220,217 - xor r9d,r11d + xor r9d,ebp DB 0x66,0x90 DB 102,15,56,220,225 DB 102,15,56,220,233 @@ -1416,7 +1415,7 @@ DB 102,15,56,220,208 DB 102,15,56,220,216 DB 102,15,56,220,224 - xor r9d,r11d + xor r9d,ebp movdqu xmm10,XMMWORD[rdi] DB 102,15,56,220,232 mov DWORD[((112+12))+rsp],r9d @@ -1651,32 +1650,32 @@ $L$ctr32_done: xorps xmm0,xmm0 - xor r11d,r11d + xor ebp,ebp pxor xmm1,xmm1 pxor xmm2,xmm2 pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-160))+rbp] - movaps XMMWORD[(-160)+rbp],xmm0 - movaps xmm7,XMMWORD[((-144))+rbp] - movaps XMMWORD[(-144)+rbp],xmm0 - movaps xmm8,XMMWORD[((-128))+rbp] - movaps XMMWORD[(-128)+rbp],xmm0 - movaps xmm9,XMMWORD[((-112))+rbp] - movaps XMMWORD[(-112)+rbp],xmm0 - movaps xmm10,XMMWORD[((-96))+rbp] - movaps XMMWORD[(-96)+rbp],xmm0 - movaps xmm11,XMMWORD[((-80))+rbp] - movaps XMMWORD[(-80)+rbp],xmm0 - movaps xmm12,XMMWORD[((-64))+rbp] - movaps XMMWORD[(-64)+rbp],xmm0 - movaps xmm13,XMMWORD[((-48))+rbp] - movaps XMMWORD[(-48)+rbp],xmm0 - movaps xmm14,XMMWORD[((-32))+rbp] - movaps XMMWORD[(-32)+rbp],xmm0 - movaps xmm15,XMMWORD[((-16))+rbp] - movaps XMMWORD[(-16)+rbp],xmm0 + movaps xmm6,XMMWORD[((-168))+r11] + movaps XMMWORD[(-168)+r11],xmm0 + movaps xmm7,XMMWORD[((-152))+r11] + movaps XMMWORD[(-152)+r11],xmm0 + movaps xmm8,XMMWORD[((-136))+r11] + movaps XMMWORD[(-136)+r11],xmm0 + movaps xmm9,XMMWORD[((-120))+r11] + movaps XMMWORD[(-120)+r11],xmm0 + movaps xmm10,XMMWORD[((-104))+r11] + movaps XMMWORD[(-104)+r11],xmm0 + movaps xmm11,XMMWORD[((-88))+r11] + movaps XMMWORD[(-88)+r11],xmm0 + movaps xmm12,XMMWORD[((-72))+r11] + movaps XMMWORD[(-72)+r11],xmm0 + movaps xmm13,XMMWORD[((-56))+r11] + movaps XMMWORD[(-56)+r11],xmm0 + movaps xmm14,XMMWORD[((-40))+r11] + movaps XMMWORD[(-40)+r11],xmm0 + movaps xmm15,XMMWORD[((-24))+r11] + movaps XMMWORD[(-24)+r11],xmm0 movaps XMMWORD[rsp],xmm0 movaps XMMWORD[16+rsp],xmm0 movaps XMMWORD[32+rsp],xmm0 @@ -1685,8 +1684,8 @@ movaps XMMWORD[80+rsp],xmm0 movaps XMMWORD[96+rsp],xmm0 movaps XMMWORD[112+rsp],xmm0 - lea rsp,[rbp] - pop rbp + mov rbp,QWORD[((-8))+r11] + lea rsp,[r11] $L$ctr32_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -1708,22 +1707,21 @@ mov r9,QWORD[48+rsp] - lea rax,[rsp] + lea r11,[rsp] push rbp sub rsp,272 and rsp,-16 - movaps XMMWORD[(-168)+rax],xmm6 - movaps XMMWORD[(-152)+rax],xmm7 - movaps XMMWORD[(-136)+rax],xmm8 - movaps XMMWORD[(-120)+rax],xmm9 - movaps XMMWORD[(-104)+rax],xmm10 - movaps XMMWORD[(-88)+rax],xmm11 - movaps XMMWORD[(-72)+rax],xmm12 - movaps XMMWORD[(-56)+rax],xmm13 - movaps XMMWORD[(-40)+rax],xmm14 - movaps XMMWORD[(-24)+rax],xmm15 + movaps XMMWORD[(-168)+r11],xmm6 + movaps XMMWORD[(-152)+r11],xmm7 + movaps XMMWORD[(-136)+r11],xmm8 + movaps XMMWORD[(-120)+r11],xmm9 + movaps XMMWORD[(-104)+r11],xmm10 + movaps XMMWORD[(-88)+r11],xmm11 + movaps XMMWORD[(-72)+r11],xmm12 + movaps XMMWORD[(-56)+r11],xmm13 + movaps XMMWORD[(-40)+r11],xmm14 + movaps XMMWORD[(-24)+r11],xmm15 $L$xts_enc_body: - lea rbp,[((-8))+rax] movups xmm2,XMMWORD[r9] mov eax,DWORD[240+r8] mov r10d,DWORD[240+rcx] @@ -1739,7 +1737,7 @@ jnz NEAR $L$oop_enc1_8 DB 102,15,56,221,209 movups xmm0,XMMWORD[rcx] - mov r11,rcx + mov rbp,rcx mov eax,r10d shl r10d,4 mov r9,rdx @@ -1795,9 +1793,9 @@ jc NEAR $L$xts_enc_short mov eax,16+96 - lea rcx,[32+r10*1+r11] + lea rcx,[32+r10*1+rbp] sub rax,r10 - movups xmm1,XMMWORD[16+r11] + movups xmm1,XMMWORD[16+rbp] mov r10,rax lea r8,[$L$xts_magic] jmp NEAR $L$xts_enc_grandloop @@ -1822,7 +1820,7 @@ movdqa xmm9,XMMWORD[96+rsp] pxor xmm6,xmm14 DB 102,15,56,220,233 - movups xmm0,XMMWORD[32+r11] + movups xmm0,XMMWORD[32+rbp] lea rdi,[96+rdi] pxor xmm7,xmm8 @@ -1831,7 +1829,7 @@ pxor xmm11,xmm9 movdqa XMMWORD[rsp],xmm10 DB 102,15,56,220,249 - movups xmm1,XMMWORD[48+r11] + movups xmm1,XMMWORD[48+rbp] pxor xmm12,xmm9 DB 102,15,56,220,208 @@ -1846,7 +1844,7 @@ movdqa XMMWORD[64+rsp],xmm14 DB 102,15,56,220,240 DB 102,15,56,220,248 - movups xmm0,XMMWORD[64+r11] + movups xmm0,XMMWORD[64+rbp] movdqa XMMWORD[80+rsp],xmm8 pshufd xmm9,xmm15,0x5f jmp NEAR $L$xts_enc_loop6 @@ -1878,7 +1876,7 @@ psrad xmm14,31 DB 102,15,56,220,217 pand xmm14,xmm8 - movups xmm10,XMMWORD[r11] + movups xmm10,XMMWORD[rbp] DB 102,15,56,220,225 DB 102,15,56,220,233 DB 102,15,56,220,241 @@ -1946,10 +1944,10 @@ DB 102,15,56,220,225 DB 102,15,56,220,233 pxor xmm15,xmm0 - movups xmm0,XMMWORD[r11] + movups xmm0,XMMWORD[rbp] DB 102,15,56,220,241 DB 102,15,56,220,249 - movups xmm1,XMMWORD[16+r11] + movups xmm1,XMMWORD[16+rbp] pxor xmm14,xmm15 DB 102,15,56,221,84,36,0 @@ -1976,7 +1974,7 @@ mov eax,16+96 sub eax,r10d - mov rcx,r11 + mov rcx,rbp shr eax,4 $L$xts_enc_short: @@ -2132,7 +2130,7 @@ jnz NEAR $L$xts_enc_steal sub rsi,r9 - mov rcx,r11 + mov rcx,rbp mov eax,r10d movups xmm2,XMMWORD[((-16))+rsi] @@ -2158,26 +2156,26 @@ pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-160))+rbp] - movaps XMMWORD[(-160)+rbp],xmm0 - movaps xmm7,XMMWORD[((-144))+rbp] - movaps XMMWORD[(-144)+rbp],xmm0 - movaps xmm8,XMMWORD[((-128))+rbp] - movaps XMMWORD[(-128)+rbp],xmm0 - movaps xmm9,XMMWORD[((-112))+rbp] - movaps XMMWORD[(-112)+rbp],xmm0 - movaps xmm10,XMMWORD[((-96))+rbp] - movaps XMMWORD[(-96)+rbp],xmm0 - movaps xmm11,XMMWORD[((-80))+rbp] - movaps XMMWORD[(-80)+rbp],xmm0 - movaps xmm12,XMMWORD[((-64))+rbp] - movaps XMMWORD[(-64)+rbp],xmm0 - movaps xmm13,XMMWORD[((-48))+rbp] - movaps XMMWORD[(-48)+rbp],xmm0 - movaps xmm14,XMMWORD[((-32))+rbp] - movaps XMMWORD[(-32)+rbp],xmm0 - movaps xmm15,XMMWORD[((-16))+rbp] - movaps XMMWORD[(-16)+rbp],xmm0 + movaps xmm6,XMMWORD[((-168))+r11] + movaps XMMWORD[(-168)+r11],xmm0 + movaps xmm7,XMMWORD[((-152))+r11] + movaps XMMWORD[(-152)+r11],xmm0 + movaps xmm8,XMMWORD[((-136))+r11] + movaps XMMWORD[(-136)+r11],xmm0 + movaps xmm9,XMMWORD[((-120))+r11] + movaps XMMWORD[(-120)+r11],xmm0 + movaps xmm10,XMMWORD[((-104))+r11] + movaps XMMWORD[(-104)+r11],xmm0 + movaps xmm11,XMMWORD[((-88))+r11] + movaps XMMWORD[(-88)+r11],xmm0 + movaps xmm12,XMMWORD[((-72))+r11] + movaps XMMWORD[(-72)+r11],xmm0 + movaps xmm13,XMMWORD[((-56))+r11] + movaps XMMWORD[(-56)+r11],xmm0 + movaps xmm14,XMMWORD[((-40))+r11] + movaps XMMWORD[(-40)+r11],xmm0 + movaps xmm15,XMMWORD[((-24))+r11] + movaps XMMWORD[(-24)+r11],xmm0 movaps XMMWORD[rsp],xmm0 movaps XMMWORD[16+rsp],xmm0 movaps XMMWORD[32+rsp],xmm0 @@ -2185,8 +2183,8 @@ movaps XMMWORD[64+rsp],xmm0 movaps XMMWORD[80+rsp],xmm0 movaps XMMWORD[96+rsp],xmm0 - lea rsp,[rbp] - pop rbp + mov rbp,QWORD[((-8))+r11] + lea rsp,[r11] $L$xts_enc_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -2208,22 +2206,21 @@ mov r9,QWORD[48+rsp] - lea rax,[rsp] + lea r11,[rsp] push rbp sub rsp,272 and rsp,-16 - movaps XMMWORD[(-168)+rax],xmm6 - movaps XMMWORD[(-152)+rax],xmm7 - movaps XMMWORD[(-136)+rax],xmm8 - movaps XMMWORD[(-120)+rax],xmm9 - movaps XMMWORD[(-104)+rax],xmm10 - movaps XMMWORD[(-88)+rax],xmm11 - movaps XMMWORD[(-72)+rax],xmm12 - movaps XMMWORD[(-56)+rax],xmm13 - movaps XMMWORD[(-40)+rax],xmm14 - movaps XMMWORD[(-24)+rax],xmm15 + movaps XMMWORD[(-168)+r11],xmm6 + movaps XMMWORD[(-152)+r11],xmm7 + movaps XMMWORD[(-136)+r11],xmm8 + movaps XMMWORD[(-120)+r11],xmm9 + movaps XMMWORD[(-104)+r11],xmm10 + movaps XMMWORD[(-88)+r11],xmm11 + movaps XMMWORD[(-72)+r11],xmm12 + movaps XMMWORD[(-56)+r11],xmm13 + movaps XMMWORD[(-40)+r11],xmm14 + movaps XMMWORD[(-24)+r11],xmm15 $L$xts_dec_body: - lea rbp,[((-8))+rax] movups xmm2,XMMWORD[r9] mov eax,DWORD[240+r8] mov r10d,DWORD[240+rcx] @@ -2245,7 +2242,7 @@ sub rdx,rax movups xmm0,XMMWORD[rcx] - mov r11,rcx + mov rbp,rcx mov eax,r10d shl r10d,4 mov r9,rdx @@ -2301,9 +2298,9 @@ jc NEAR $L$xts_dec_short mov eax,16+96 - lea rcx,[32+r10*1+r11] + lea rcx,[32+r10*1+rbp] sub rax,r10 - movups xmm1,XMMWORD[16+r11] + movups xmm1,XMMWORD[16+rbp] mov r10,rax lea r8,[$L$xts_magic] jmp NEAR $L$xts_dec_grandloop @@ -2328,7 +2325,7 @@ movdqa xmm9,XMMWORD[96+rsp] pxor xmm6,xmm14 DB 102,15,56,222,233 - movups xmm0,XMMWORD[32+r11] + movups xmm0,XMMWORD[32+rbp] lea rdi,[96+rdi] pxor xmm7,xmm8 @@ -2337,7 +2334,7 @@ pxor xmm11,xmm9 movdqa XMMWORD[rsp],xmm10 DB 102,15,56,222,249 - movups xmm1,XMMWORD[48+r11] + movups xmm1,XMMWORD[48+rbp] pxor xmm12,xmm9 DB 102,15,56,222,208 @@ -2352,7 +2349,7 @@ movdqa XMMWORD[64+rsp],xmm14 DB 102,15,56,222,240 DB 102,15,56,222,248 - movups xmm0,XMMWORD[64+r11] + movups xmm0,XMMWORD[64+rbp] movdqa XMMWORD[80+rsp],xmm8 pshufd xmm9,xmm15,0x5f jmp NEAR $L$xts_dec_loop6 @@ -2384,7 +2381,7 @@ psrad xmm14,31 DB 102,15,56,222,217 pand xmm14,xmm8 - movups xmm10,XMMWORD[r11] + movups xmm10,XMMWORD[rbp] DB 102,15,56,222,225 DB 102,15,56,222,233 DB 102,15,56,222,241 @@ -2452,10 +2449,10 @@ DB 102,15,56,222,225 DB 102,15,56,222,233 pxor xmm15,xmm0 - movups xmm0,XMMWORD[r11] + movups xmm0,XMMWORD[rbp] DB 102,15,56,222,241 DB 102,15,56,222,249 - movups xmm1,XMMWORD[16+r11] + movups xmm1,XMMWORD[16+rbp] pxor xmm14,xmm15 DB 102,15,56,223,84,36,0 @@ -2482,7 +2479,7 @@ mov eax,16+96 sub eax,r10d - mov rcx,r11 + mov rcx,rbp shr eax,4 $L$xts_dec_short: @@ -2639,7 +2636,7 @@ jz NEAR $L$xts_dec_ret $L$xts_dec_done2: mov rdx,r9 - mov rcx,r11 + mov rcx,rbp mov eax,r10d movups xmm2,XMMWORD[rdi] @@ -2669,7 +2666,7 @@ jnz NEAR $L$xts_dec_steal sub rsi,r9 - mov rcx,r11 + mov rcx,rbp mov eax,r10d movups xmm2,XMMWORD[rsi] @@ -2695,26 +2692,26 @@ pxor xmm3,xmm3 pxor xmm4,xmm4 pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-160))+rbp] - movaps XMMWORD[(-160)+rbp],xmm0 - movaps xmm7,XMMWORD[((-144))+rbp] - movaps XMMWORD[(-144)+rbp],xmm0 - movaps xmm8,XMMWORD[((-128))+rbp] - movaps XMMWORD[(-128)+rbp],xmm0 - movaps xmm9,XMMWORD[((-112))+rbp] - movaps XMMWORD[(-112)+rbp],xmm0 - movaps xmm10,XMMWORD[((-96))+rbp] - movaps XMMWORD[(-96)+rbp],xmm0 - movaps xmm11,XMMWORD[((-80))+rbp] - movaps XMMWORD[(-80)+rbp],xmm0 - movaps xmm12,XMMWORD[((-64))+rbp] - movaps XMMWORD[(-64)+rbp],xmm0 - movaps xmm13,XMMWORD[((-48))+rbp] - movaps XMMWORD[(-48)+rbp],xmm0 - movaps xmm14,XMMWORD[((-32))+rbp] - movaps XMMWORD[(-32)+rbp],xmm0 - movaps xmm15,XMMWORD[((-16))+rbp] - movaps XMMWORD[(-16)+rbp],xmm0 + movaps xmm6,XMMWORD[((-168))+r11] + movaps XMMWORD[(-168)+r11],xmm0 + movaps xmm7,XMMWORD[((-152))+r11] + movaps XMMWORD[(-152)+r11],xmm0 + movaps xmm8,XMMWORD[((-136))+r11] + movaps XMMWORD[(-136)+r11],xmm0 + movaps xmm9,XMMWORD[((-120))+r11] + movaps XMMWORD[(-120)+r11],xmm0 + movaps xmm10,XMMWORD[((-104))+r11] + movaps XMMWORD[(-104)+r11],xmm0 + movaps xmm11,XMMWORD[((-88))+r11] + movaps XMMWORD[(-88)+r11],xmm0 + movaps xmm12,XMMWORD[((-72))+r11] + movaps XMMWORD[(-72)+r11],xmm0 + movaps xmm13,XMMWORD[((-56))+r11] + movaps XMMWORD[(-56)+r11],xmm0 + movaps xmm14,XMMWORD[((-40))+r11] + movaps XMMWORD[(-40)+r11],xmm0 + movaps xmm15,XMMWORD[((-24))+r11] + movaps XMMWORD[(-24)+r11],xmm0 movaps XMMWORD[rsp],xmm0 movaps XMMWORD[16+rsp],xmm0 movaps XMMWORD[32+rsp],xmm0 @@ -2722,13 +2719,901 @@ movaps XMMWORD[64+rsp],xmm0 movaps XMMWORD[80+rsp],xmm0 movaps XMMWORD[96+rsp],xmm0 - lea rsp,[rbp] - pop rbp + mov rbp,QWORD[((-8))+r11] + lea rsp,[r11] $L$xts_dec_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret $L$SEH_end_aesni_xts_decrypt: +global aesni_ocb_encrypt + +ALIGN 32 +aesni_ocb_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_ocb_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + lea rax,[rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + lea rsp,[((-160))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[96+rsp],xmm12 + movaps XMMWORD[112+rsp],xmm13 + movaps XMMWORD[128+rsp],xmm14 + movaps XMMWORD[144+rsp],xmm15 +$L$ocb_enc_body: + mov rbx,QWORD[56+rax] + mov rbp,QWORD[((56+8))+rax] + + mov r10d,DWORD[240+rcx] + mov r11,rcx + shl r10d,4 + movups xmm9,XMMWORD[rcx] + movups xmm1,XMMWORD[16+r10*1+rcx] + + movdqu xmm15,XMMWORD[r9] + pxor xmm9,xmm1 + pxor xmm15,xmm1 + + mov eax,16+32 + lea rcx,[32+r10*1+r11] + movups xmm1,XMMWORD[16+r11] + sub rax,r10 + mov r10,rax + + movdqu xmm10,XMMWORD[rbx] + movdqu xmm8,XMMWORD[rbp] + + test r8,1 + jnz NEAR $L$ocb_enc_odd + + bsf r12,r8 + add r8,1 + shl r12,4 + movdqu xmm7,XMMWORD[r12*1+rbx] + movdqu xmm2,XMMWORD[rdi] + lea rdi,[16+rdi] + + call __ocb_encrypt1 + + movdqa xmm15,xmm7 + movups XMMWORD[rsi],xmm2 + lea rsi,[16+rsi] + sub rdx,1 + jz NEAR $L$ocb_enc_done + +$L$ocb_enc_odd: + lea r12,[1+r8] + lea r13,[3+r8] + lea r14,[5+r8] + lea r8,[6+r8] + bsf r12,r12 + bsf r13,r13 + bsf r14,r14 + shl r12,4 + shl r13,4 + shl r14,4 + + sub rdx,6 + jc NEAR $L$ocb_enc_short + jmp NEAR $L$ocb_enc_grandloop + +ALIGN 32 +$L$ocb_enc_grandloop: + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqu xmm4,XMMWORD[32+rdi] + movdqu xmm5,XMMWORD[48+rdi] + movdqu xmm6,XMMWORD[64+rdi] + movdqu xmm7,XMMWORD[80+rdi] + lea rdi,[96+rdi] + + call __ocb_encrypt6 + + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + movups XMMWORD[64+rsi],xmm6 + movups XMMWORD[80+rsi],xmm7 + lea rsi,[96+rsi] + sub rdx,6 + jnc NEAR $L$ocb_enc_grandloop + +$L$ocb_enc_short: + add rdx,6 + jz NEAR $L$ocb_enc_done + + movdqu xmm2,XMMWORD[rdi] + cmp rdx,2 + jb NEAR $L$ocb_enc_one + movdqu xmm3,XMMWORD[16+rdi] + je NEAR $L$ocb_enc_two + + movdqu xmm4,XMMWORD[32+rdi] + cmp rdx,4 + jb NEAR $L$ocb_enc_three + movdqu xmm5,XMMWORD[48+rdi] + je NEAR $L$ocb_enc_four + + movdqu xmm6,XMMWORD[64+rdi] + pxor xmm7,xmm7 + + call __ocb_encrypt6 + + movdqa xmm15,xmm14 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + movups XMMWORD[64+rsi],xmm6 + + jmp NEAR $L$ocb_enc_done + +ALIGN 16 +$L$ocb_enc_one: + movdqa xmm7,xmm10 + + call __ocb_encrypt1 + + movdqa xmm15,xmm7 + movups XMMWORD[rsi],xmm2 + jmp NEAR $L$ocb_enc_done + +ALIGN 16 +$L$ocb_enc_two: + pxor xmm4,xmm4 + pxor xmm5,xmm5 + + call __ocb_encrypt4 + + movdqa xmm15,xmm11 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + + jmp NEAR $L$ocb_enc_done + +ALIGN 16 +$L$ocb_enc_three: + pxor xmm5,xmm5 + + call __ocb_encrypt4 + + movdqa xmm15,xmm12 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + + jmp NEAR $L$ocb_enc_done + +ALIGN 16 +$L$ocb_enc_four: + call __ocb_encrypt4 + + movdqa xmm15,xmm13 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + +$L$ocb_enc_done: + pxor xmm15,xmm0 + movdqu XMMWORD[rbp],xmm8 + movdqu XMMWORD[r9],xmm15 + + xorps xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movaps xmm6,XMMWORD[rsp] + movaps XMMWORD[rsp],xmm0 + movaps xmm7,XMMWORD[16+rsp] + movaps XMMWORD[16+rsp],xmm0 + movaps xmm8,XMMWORD[32+rsp] + movaps XMMWORD[32+rsp],xmm0 + movaps xmm9,XMMWORD[48+rsp] + movaps XMMWORD[48+rsp],xmm0 + movaps xmm10,XMMWORD[64+rsp] + movaps XMMWORD[64+rsp],xmm0 + movaps xmm11,XMMWORD[80+rsp] + movaps XMMWORD[80+rsp],xmm0 + movaps xmm12,XMMWORD[96+rsp] + movaps XMMWORD[96+rsp],xmm0 + movaps xmm13,XMMWORD[112+rsp] + movaps XMMWORD[112+rsp],xmm0 + movaps xmm14,XMMWORD[128+rsp] + movaps XMMWORD[128+rsp],xmm0 + movaps xmm15,XMMWORD[144+rsp] + movaps XMMWORD[144+rsp],xmm0 + lea rax,[((160+40))+rsp] +$L$ocb_enc_pop: + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$ocb_enc_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_ocb_encrypt: + + +ALIGN 32 +__ocb_encrypt6: + pxor xmm15,xmm9 + movdqu xmm11,XMMWORD[r12*1+rbx] + movdqa xmm12,xmm10 + movdqu xmm13,XMMWORD[r13*1+rbx] + movdqa xmm14,xmm10 + pxor xmm10,xmm15 + movdqu xmm15,XMMWORD[r14*1+rbx] + pxor xmm11,xmm10 + pxor xmm8,xmm2 + pxor xmm2,xmm10 + pxor xmm12,xmm11 + pxor xmm8,xmm3 + pxor xmm3,xmm11 + pxor xmm13,xmm12 + pxor xmm8,xmm4 + pxor xmm4,xmm12 + pxor xmm14,xmm13 + pxor xmm8,xmm5 + pxor xmm5,xmm13 + pxor xmm15,xmm14 + pxor xmm8,xmm6 + pxor xmm6,xmm14 + pxor xmm8,xmm7 + pxor xmm7,xmm15 + movups xmm0,XMMWORD[32+r11] + + lea r12,[1+r8] + lea r13,[3+r8] + lea r14,[5+r8] + add r8,6 + pxor xmm10,xmm9 + bsf r12,r12 + bsf r13,r13 + bsf r14,r14 + +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + pxor xmm11,xmm9 + pxor xmm12,xmm9 +DB 102,15,56,220,241 + pxor xmm13,xmm9 + pxor xmm14,xmm9 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[48+r11] + pxor xmm15,xmm9 + +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 +DB 102,15,56,220,232 +DB 102,15,56,220,240 +DB 102,15,56,220,248 + movups xmm0,XMMWORD[64+r11] + shl r12,4 + shl r13,4 + jmp NEAR $L$ocb_enc_loop6 + +ALIGN 32 +$L$ocb_enc_loop6: +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 +DB 102,15,56,220,241 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 + +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 +DB 102,15,56,220,232 +DB 102,15,56,220,240 +DB 102,15,56,220,248 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ocb_enc_loop6 + +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 +DB 102,15,56,220,241 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[16+r11] + shl r14,4 + +DB 102,65,15,56,221,210 + movdqu xmm10,XMMWORD[rbx] + mov rax,r10 +DB 102,65,15,56,221,219 +DB 102,65,15,56,221,228 +DB 102,65,15,56,221,237 +DB 102,65,15,56,221,246 +DB 102,65,15,56,221,255 + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ocb_encrypt4: + pxor xmm15,xmm9 + movdqu xmm11,XMMWORD[r12*1+rbx] + movdqa xmm12,xmm10 + movdqu xmm13,XMMWORD[r13*1+rbx] + pxor xmm10,xmm15 + pxor xmm11,xmm10 + pxor xmm8,xmm2 + pxor xmm2,xmm10 + pxor xmm12,xmm11 + pxor xmm8,xmm3 + pxor xmm3,xmm11 + pxor xmm13,xmm12 + pxor xmm8,xmm4 + pxor xmm4,xmm12 + pxor xmm8,xmm5 + pxor xmm5,xmm13 + movups xmm0,XMMWORD[32+r11] + + pxor xmm10,xmm9 + pxor xmm11,xmm9 + pxor xmm12,xmm9 + pxor xmm13,xmm9 + +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movups xmm1,XMMWORD[48+r11] + +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + movups xmm0,XMMWORD[64+r11] + jmp NEAR $L$ocb_enc_loop4 + +ALIGN 32 +$L$ocb_enc_loop4: +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 + +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ocb_enc_loop4 + +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movups xmm1,XMMWORD[16+r11] + mov rax,r10 + +DB 102,65,15,56,221,210 +DB 102,65,15,56,221,219 +DB 102,65,15,56,221,228 +DB 102,65,15,56,221,237 + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ocb_encrypt1: + pxor xmm7,xmm15 + pxor xmm7,xmm9 + pxor xmm8,xmm2 + pxor xmm2,xmm7 + movups xmm0,XMMWORD[32+r11] + +DB 102,15,56,220,209 + movups xmm1,XMMWORD[48+r11] + pxor xmm7,xmm9 + +DB 102,15,56,220,208 + movups xmm0,XMMWORD[64+r11] + jmp NEAR $L$ocb_enc_loop1 + +ALIGN 32 +$L$ocb_enc_loop1: +DB 102,15,56,220,209 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 + +DB 102,15,56,220,208 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ocb_enc_loop1 + +DB 102,15,56,220,209 + movups xmm1,XMMWORD[16+r11] + mov rax,r10 + +DB 102,15,56,221,215 + DB 0F3h,0C3h ;repret + + +global aesni_ocb_decrypt + +ALIGN 32 +aesni_ocb_decrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_ocb_decrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + lea rax,[rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + lea rsp,[((-160))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[96+rsp],xmm12 + movaps XMMWORD[112+rsp],xmm13 + movaps XMMWORD[128+rsp],xmm14 + movaps XMMWORD[144+rsp],xmm15 +$L$ocb_dec_body: + mov rbx,QWORD[56+rax] + mov rbp,QWORD[((56+8))+rax] + + mov r10d,DWORD[240+rcx] + mov r11,rcx + shl r10d,4 + movups xmm9,XMMWORD[rcx] + movups xmm1,XMMWORD[16+r10*1+rcx] + + movdqu xmm15,XMMWORD[r9] + pxor xmm9,xmm1 + pxor xmm15,xmm1 + + mov eax,16+32 + lea rcx,[32+r10*1+r11] + movups xmm1,XMMWORD[16+r11] + sub rax,r10 + mov r10,rax + + movdqu xmm10,XMMWORD[rbx] + movdqu xmm8,XMMWORD[rbp] + + test r8,1 + jnz NEAR $L$ocb_dec_odd + + bsf r12,r8 + add r8,1 + shl r12,4 + movdqu xmm7,XMMWORD[r12*1+rbx] + movdqu xmm2,XMMWORD[rdi] + lea rdi,[16+rdi] + + call __ocb_decrypt1 + + movdqa xmm15,xmm7 + movups XMMWORD[rsi],xmm2 + xorps xmm8,xmm2 + lea rsi,[16+rsi] + sub rdx,1 + jz NEAR $L$ocb_dec_done + +$L$ocb_dec_odd: + lea r12,[1+r8] + lea r13,[3+r8] + lea r14,[5+r8] + lea r8,[6+r8] + bsf r12,r12 + bsf r13,r13 + bsf r14,r14 + shl r12,4 + shl r13,4 + shl r14,4 + + sub rdx,6 + jc NEAR $L$ocb_dec_short + jmp NEAR $L$ocb_dec_grandloop + +ALIGN 32 +$L$ocb_dec_grandloop: + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqu xmm4,XMMWORD[32+rdi] + movdqu xmm5,XMMWORD[48+rdi] + movdqu xmm6,XMMWORD[64+rdi] + movdqu xmm7,XMMWORD[80+rdi] + lea rdi,[96+rdi] + + call __ocb_decrypt6 + + movups XMMWORD[rsi],xmm2 + pxor xmm8,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm8,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm8,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm8,xmm5 + movups XMMWORD[64+rsi],xmm6 + pxor xmm8,xmm6 + movups XMMWORD[80+rsi],xmm7 + pxor xmm8,xmm7 + lea rsi,[96+rsi] + sub rdx,6 + jnc NEAR $L$ocb_dec_grandloop + +$L$ocb_dec_short: + add rdx,6 + jz NEAR $L$ocb_dec_done + + movdqu xmm2,XMMWORD[rdi] + cmp rdx,2 + jb NEAR $L$ocb_dec_one + movdqu xmm3,XMMWORD[16+rdi] + je NEAR $L$ocb_dec_two + + movdqu xmm4,XMMWORD[32+rdi] + cmp rdx,4 + jb NEAR $L$ocb_dec_three + movdqu xmm5,XMMWORD[48+rdi] + je NEAR $L$ocb_dec_four + + movdqu xmm6,XMMWORD[64+rdi] + pxor xmm7,xmm7 + + call __ocb_decrypt6 + + movdqa xmm15,xmm14 + movups XMMWORD[rsi],xmm2 + pxor xmm8,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm8,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm8,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm8,xmm5 + movups XMMWORD[64+rsi],xmm6 + pxor xmm8,xmm6 + + jmp NEAR $L$ocb_dec_done + +ALIGN 16 +$L$ocb_dec_one: + movdqa xmm7,xmm10 + + call __ocb_decrypt1 + + movdqa xmm15,xmm7 + movups XMMWORD[rsi],xmm2 + xorps xmm8,xmm2 + jmp NEAR $L$ocb_dec_done + +ALIGN 16 +$L$ocb_dec_two: + pxor xmm4,xmm4 + pxor xmm5,xmm5 + + call __ocb_decrypt4 + + movdqa xmm15,xmm11 + movups XMMWORD[rsi],xmm2 + xorps xmm8,xmm2 + movups XMMWORD[16+rsi],xmm3 + xorps xmm8,xmm3 + + jmp NEAR $L$ocb_dec_done + +ALIGN 16 +$L$ocb_dec_three: + pxor xmm5,xmm5 + + call __ocb_decrypt4 + + movdqa xmm15,xmm12 + movups XMMWORD[rsi],xmm2 + xorps xmm8,xmm2 + movups XMMWORD[16+rsi],xmm3 + xorps xmm8,xmm3 + movups XMMWORD[32+rsi],xmm4 + xorps xmm8,xmm4 + + jmp NEAR $L$ocb_dec_done + +ALIGN 16 +$L$ocb_dec_four: + call __ocb_decrypt4 + + movdqa xmm15,xmm13 + movups XMMWORD[rsi],xmm2 + pxor xmm8,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm8,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm8,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm8,xmm5 + +$L$ocb_dec_done: + pxor xmm15,xmm0 + movdqu XMMWORD[rbp],xmm8 + movdqu XMMWORD[r9],xmm15 + + xorps xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movaps xmm6,XMMWORD[rsp] + movaps XMMWORD[rsp],xmm0 + movaps xmm7,XMMWORD[16+rsp] + movaps XMMWORD[16+rsp],xmm0 + movaps xmm8,XMMWORD[32+rsp] + movaps XMMWORD[32+rsp],xmm0 + movaps xmm9,XMMWORD[48+rsp] + movaps XMMWORD[48+rsp],xmm0 + movaps xmm10,XMMWORD[64+rsp] + movaps XMMWORD[64+rsp],xmm0 + movaps xmm11,XMMWORD[80+rsp] + movaps XMMWORD[80+rsp],xmm0 + movaps xmm12,XMMWORD[96+rsp] + movaps XMMWORD[96+rsp],xmm0 + movaps xmm13,XMMWORD[112+rsp] + movaps XMMWORD[112+rsp],xmm0 + movaps xmm14,XMMWORD[128+rsp] + movaps XMMWORD[128+rsp],xmm0 + movaps xmm15,XMMWORD[144+rsp] + movaps XMMWORD[144+rsp],xmm0 + lea rax,[((160+40))+rsp] +$L$ocb_dec_pop: + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$ocb_dec_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_ocb_decrypt: + + +ALIGN 32 +__ocb_decrypt6: + pxor xmm15,xmm9 + movdqu xmm11,XMMWORD[r12*1+rbx] + movdqa xmm12,xmm10 + movdqu xmm13,XMMWORD[r13*1+rbx] + movdqa xmm14,xmm10 + pxor xmm10,xmm15 + movdqu xmm15,XMMWORD[r14*1+rbx] + pxor xmm11,xmm10 + pxor xmm2,xmm10 + pxor xmm12,xmm11 + pxor xmm3,xmm11 + pxor xmm13,xmm12 + pxor xmm4,xmm12 + pxor xmm14,xmm13 + pxor xmm5,xmm13 + pxor xmm15,xmm14 + pxor xmm6,xmm14 + pxor xmm7,xmm15 + movups xmm0,XMMWORD[32+r11] + + lea r12,[1+r8] + lea r13,[3+r8] + lea r14,[5+r8] + add r8,6 + pxor xmm10,xmm9 + bsf r12,r12 + bsf r13,r13 + bsf r14,r14 + +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + pxor xmm11,xmm9 + pxor xmm12,xmm9 +DB 102,15,56,222,241 + pxor xmm13,xmm9 + pxor xmm14,xmm9 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[48+r11] + pxor xmm15,xmm9 + +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 +DB 102,15,56,222,232 +DB 102,15,56,222,240 +DB 102,15,56,222,248 + movups xmm0,XMMWORD[64+r11] + shl r12,4 + shl r13,4 + jmp NEAR $L$ocb_dec_loop6 + +ALIGN 32 +$L$ocb_dec_loop6: +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +DB 102,15,56,222,233 +DB 102,15,56,222,241 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 + +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 +DB 102,15,56,222,232 +DB 102,15,56,222,240 +DB 102,15,56,222,248 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ocb_dec_loop6 + +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +DB 102,15,56,222,233 +DB 102,15,56,222,241 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[16+r11] + shl r14,4 + +DB 102,65,15,56,223,210 + movdqu xmm10,XMMWORD[rbx] + mov rax,r10 +DB 102,65,15,56,223,219 +DB 102,65,15,56,223,228 +DB 102,65,15,56,223,237 +DB 102,65,15,56,223,246 +DB 102,65,15,56,223,255 + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ocb_decrypt4: + pxor xmm15,xmm9 + movdqu xmm11,XMMWORD[r12*1+rbx] + movdqa xmm12,xmm10 + movdqu xmm13,XMMWORD[r13*1+rbx] + pxor xmm10,xmm15 + pxor xmm11,xmm10 + pxor xmm2,xmm10 + pxor xmm12,xmm11 + pxor xmm3,xmm11 + pxor xmm13,xmm12 + pxor xmm4,xmm12 + pxor xmm5,xmm13 + movups xmm0,XMMWORD[32+r11] + + pxor xmm10,xmm9 + pxor xmm11,xmm9 + pxor xmm12,xmm9 + pxor xmm13,xmm9 + +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + movups xmm1,XMMWORD[48+r11] + +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 +DB 102,15,56,222,232 + movups xmm0,XMMWORD[64+r11] + jmp NEAR $L$ocb_dec_loop4 + +ALIGN 32 +$L$ocb_dec_loop4: +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 + +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 +DB 102,15,56,222,232 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ocb_dec_loop4 + +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + movups xmm1,XMMWORD[16+r11] + mov rax,r10 + +DB 102,65,15,56,223,210 +DB 102,65,15,56,223,219 +DB 102,65,15,56,223,228 +DB 102,65,15,56,223,237 + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ocb_decrypt1: + pxor xmm7,xmm15 + pxor xmm7,xmm9 + pxor xmm2,xmm7 + movups xmm0,XMMWORD[32+r11] + +DB 102,15,56,222,209 + movups xmm1,XMMWORD[48+r11] + pxor xmm7,xmm9 + +DB 102,15,56,222,208 + movups xmm0,XMMWORD[64+r11] + jmp NEAR $L$ocb_dec_loop1 + +ALIGN 32 +$L$ocb_dec_loop1: +DB 102,15,56,222,209 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 + +DB 102,15,56,222,208 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ocb_dec_loop1 + +DB 102,15,56,222,209 + movups xmm1,XMMWORD[16+r11] + mov rax,r10 + +DB 102,15,56,223,215 + DB 0F3h,0C3h ;repret + global aesni_cbc_encrypt ALIGN 16 @@ -2837,7 +3722,7 @@ jmp NEAR $L$cbc_ret ALIGN 16 $L$cbc_decrypt_bulk: - lea rax,[rsp] + lea r11,[rsp] push rbp sub rsp,176 and rsp,-16 @@ -2852,7 +3737,7 @@ movaps XMMWORD[144+rsp],xmm14 movaps XMMWORD[160+rsp],xmm15 $L$cbc_decrypt_body: - lea rbp,[((-8))+rax] + mov rbp,rcx movups xmm10,XMMWORD[r8] mov eax,r10d cmp rdx,0x50 @@ -2892,7 +3777,7 @@ pxor xmm3,xmm0 movups xmm1,XMMWORD[((16-112))+rcx] pxor xmm4,xmm0 - xor r11,r11 + mov rbp,-1 cmp rdx,0x70 pxor xmm5,xmm0 pxor xmm6,xmm0 @@ -2908,10 +3793,10 @@ DB 102,15,56,222,241 DB 102,15,56,222,249 DB 102,68,15,56,222,193 - setnc r11b - shl r11,7 + adc rbp,0 + and rbp,128 DB 102,68,15,56,222,201 - add r11,rdi + add rbp,rdi movups xmm1,XMMWORD[((48-112))+rcx] DB 102,15,56,222,208 DB 102,15,56,222,216 @@ -3049,18 +3934,18 @@ movdqu xmm0,XMMWORD[112+rdi] DB 102,65,15,56,223,228 lea rdi,[128+rdi] - movdqu xmm11,XMMWORD[r11] + movdqu xmm11,XMMWORD[rbp] DB 102,65,15,56,223,237 DB 102,65,15,56,223,246 - movdqu xmm12,XMMWORD[16+r11] - movdqu xmm13,XMMWORD[32+r11] + movdqu xmm12,XMMWORD[16+rbp] + movdqu xmm13,XMMWORD[32+rbp] DB 102,65,15,56,223,255 DB 102,68,15,56,223,193 - movdqu xmm14,XMMWORD[48+r11] - movdqu xmm15,XMMWORD[64+r11] + movdqu xmm14,XMMWORD[48+rbp] + movdqu xmm15,XMMWORD[64+rbp] DB 102,69,15,56,223,202 movdqa xmm10,xmm0 - movdqu xmm1,XMMWORD[80+r11] + movdqu xmm1,XMMWORD[80+rbp] movups xmm0,XMMWORD[((-112))+rcx] movups XMMWORD[rsi],xmm2 @@ -3179,7 +4064,7 @@ pxor xmm5,xmm13 movdqu XMMWORD[32+rsi],xmm4 pxor xmm6,xmm14 - mov rcx,r11 + mov rcx,rbp movdqu XMMWORD[48+rsi],xmm5 pxor xmm7,xmm15 mov eax,r10d @@ -3348,8 +4233,8 @@ movaps XMMWORD[144+rsp],xmm0 movaps xmm15,XMMWORD[160+rsp] movaps XMMWORD[160+rsp],xmm0 - lea rsp,[rbp] - pop rbp + mov rbp,QWORD[((-8))+r11] + lea rsp,[r11] $L$cbc_ret: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -3865,13 +4750,75 @@ cmp rbx,r10 jae NEAR $L$common_seh_tail - mov rax,QWORD[160+r8] - lea rsi,[((-160))+rax] + mov rax,QWORD[208+r8] + + lea rsi,[((-168))+rax] lea rdi,[512+r8] mov ecx,20 DD 0xa548f3fc - jmp NEAR $L$common_rbp_tail + mov rbp,QWORD[((-8))+rax] + mov QWORD[160+r8],rbp + jmp NEAR $L$common_seh_tail + + + +ALIGN 16 +ocb_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov r10d,DWORD[8+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$ocb_no_xmm + + mov rax,QWORD[152+r8] + + lea rsi,[rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + lea rax,[((160+40))+rax] + +$L$ocb_no_xmm: + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + + jmp NEAR $L$common_seh_tail ALIGN 16 @@ -3894,9 +4841,13 @@ cmp rbx,r10 jb NEAR $L$common_seh_tail + mov rax,QWORD[120+r8] + lea r10,[$L$cbc_decrypt_body] cmp rbx,r10 - jb NEAR $L$restore_cbc_rax + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] lea r10,[$L$cbc_ret] cmp rbx,r10 @@ -3907,15 +4858,10 @@ mov ecx,20 DD 0xa548f3fc -$L$common_rbp_tail: - mov rax,QWORD[160+r8] - mov rbp,QWORD[rax] - lea rax,[8+rax] - mov QWORD[160+r8],rbp - jmp NEAR $L$common_seh_tail + mov rax,QWORD[208+r8] -$L$restore_cbc_rax: - mov rax,QWORD[120+r8] + mov rbp,QWORD[((-8))+rax] + mov QWORD[160+r8],rbp $L$common_seh_tail: mov rdi,QWORD[8+rax] @@ -3982,6 +4928,14 @@ DD $L$SEH_begin_aesni_xts_decrypt wrt ..imagebase DD $L$SEH_end_aesni_xts_decrypt wrt ..imagebase DD $L$SEH_info_xts_dec wrt ..imagebase + + DD $L$SEH_begin_aesni_ocb_encrypt wrt ..imagebase + DD $L$SEH_end_aesni_ocb_encrypt wrt ..imagebase + DD $L$SEH_info_ocb_enc wrt ..imagebase + + DD $L$SEH_begin_aesni_ocb_decrypt wrt ..imagebase + DD $L$SEH_end_aesni_ocb_decrypt wrt ..imagebase + DD $L$SEH_info_ocb_dec wrt ..imagebase DD $L$SEH_begin_aesni_cbc_encrypt wrt ..imagebase DD $L$SEH_end_aesni_cbc_encrypt wrt ..imagebase DD $L$SEH_info_cbc wrt ..imagebase @@ -4019,6 +4973,18 @@ DB 9,0,0,0 DD ctr_xts_se_handler wrt ..imagebase DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase +$L$SEH_info_ocb_enc: +DB 9,0,0,0 + DD ocb_se_handler wrt ..imagebase + DD $L$ocb_enc_body wrt ..imagebase,$L$ocb_enc_epilogue wrt ..imagebase + DD $L$ocb_enc_pop wrt ..imagebase + DD 0 +$L$SEH_info_ocb_dec: +DB 9,0,0,0 + DD ocb_se_handler wrt ..imagebase + DD $L$ocb_dec_body wrt ..imagebase,$L$ocb_dec_epilogue wrt ..imagebase + DD $L$ocb_dec_pop wrt ..imagebase + DD 0 $L$SEH_info_cbc: DB 9,0,0,0 DD cbc_se_handler wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/aes/bsaes-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/aes/bsaes-x86_64.asm index 6d75248..9c6d129 100644 --- a/third_party/boringssl/win-x86_64/crypto/aes/bsaes-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/aes/bsaes-x86_64.asm
@@ -1319,7 +1319,7 @@ cmp rbp,rax ja NEAR $L$cbc_dec_bzero - lea rsp,[rbp] + lea rax,[120+rbp] movaps xmm6,XMMWORD[64+rbp] movaps xmm7,XMMWORD[80+rbp] movaps xmm8,XMMWORD[96+rbp] @@ -1330,15 +1330,15 @@ movaps xmm13,XMMWORD[176+rbp] movaps xmm14,XMMWORD[192+rbp] movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax + lea rax,[160+rax] +$L$cbc_dec_tail: + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbx,QWORD[((-16))+rax] + mov rbp,QWORD[((-8))+rax] + lea rsp,[rax] $L$cbc_dec_epilogue: DB 0F3h,0C3h ;repret @@ -1543,7 +1543,7 @@ cmp rbp,rax ja NEAR $L$ctr_enc_bzero - lea rsp,[rbp] + lea rax,[120+rbp] movaps xmm6,XMMWORD[64+rbp] movaps xmm7,XMMWORD[80+rbp] movaps xmm8,XMMWORD[96+rbp] @@ -1554,15 +1554,15 @@ movaps xmm13,XMMWORD[176+rbp] movaps xmm14,XMMWORD[192+rbp] movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax + lea rax,[160+rax] +$L$ctr_enc_tail: + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbx,QWORD[((-16))+rax] + mov rbp,QWORD[((-8))+rax] + lea rsp,[rax] $L$ctr_enc_epilogue: DB 0F3h,0C3h ;repret @@ -2019,7 +2019,7 @@ cmp rbp,rax ja NEAR $L$xts_enc_bzero - lea rsp,[rbp] + lea rax,[120+rbp] movaps xmm6,XMMWORD[64+rbp] movaps xmm7,XMMWORD[80+rbp] movaps xmm8,XMMWORD[96+rbp] @@ -2030,15 +2030,15 @@ movaps xmm13,XMMWORD[176+rbp] movaps xmm14,XMMWORD[192+rbp] movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax + lea rax,[160+rax] +$L$xts_enc_tail: + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbx,QWORD[((-16))+rax] + mov rbp,QWORD[((-8))+rax] + lea rsp,[rax] $L$xts_enc_epilogue: DB 0F3h,0C3h ;repret @@ -2522,7 +2522,7 @@ cmp rbp,rax ja NEAR $L$xts_dec_bzero - lea rsp,[rbp] + lea rax,[120+rbp] movaps xmm6,XMMWORD[64+rbp] movaps xmm7,XMMWORD[80+rbp] movaps xmm8,XMMWORD[96+rbp] @@ -2533,15 +2533,15 @@ movaps xmm13,XMMWORD[176+rbp] movaps xmm14,XMMWORD[192+rbp] movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax + lea rax,[160+rax] +$L$xts_dec_tail: + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbx,QWORD[((-16))+rax] + mov rbp,QWORD[((-8))+rax] + lea rsp,[rax] $L$xts_dec_epilogue: DB 0F3h,0C3h ;repret @@ -2628,30 +2628,33 @@ mov r10d,DWORD[r11] lea r10,[r10*1+rsi] cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] + jbe NEAR $L$in_prologue mov r10d,DWORD[4+r11] lea r10,[r10*1+rsi] cmp rbx,r10 jae NEAR $L$in_prologue + mov r10d,DWORD[8+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_tail + mov rax,QWORD[160+r8] lea rsi,[64+rax] lea rdi,[512+r8] mov ecx,20 DD 0xa548f3fc - lea rax,[160+rax] + lea rax,[((160+120))+rax] - mov rbp,QWORD[112+rax] - mov rbx,QWORD[104+rax] - mov r12,QWORD[96+rax] - mov r13,QWORD[88+rax] - mov r14,QWORD[80+rax] - mov r15,QWORD[72+rax] - lea rax,[120+rax] +$L$in_tail: + mov rbp,QWORD[((-48))+rax] + mov rbx,QWORD[((-40))+rax] + mov r12,QWORD[((-32))+rax] + mov r13,QWORD[((-24))+rax] + mov r14,QWORD[((-16))+rax] + mov r15,QWORD[((-8))+rax] mov QWORD[144+r8],rbx mov QWORD[160+r8],rbp mov QWORD[216+r8],r12 @@ -2719,15 +2722,23 @@ DB 9,0,0,0 DD se_handler wrt ..imagebase DD $L$cbc_dec_body wrt ..imagebase,$L$cbc_dec_epilogue wrt ..imagebase + DD $L$cbc_dec_tail wrt ..imagebase + DD 0 $L$ctr_enc_info: DB 9,0,0,0 DD se_handler wrt ..imagebase DD $L$ctr_enc_body wrt ..imagebase,$L$ctr_enc_epilogue wrt ..imagebase + DD $L$ctr_enc_tail wrt ..imagebase + DD 0 $L$xts_enc_info: DB 9,0,0,0 DD se_handler wrt ..imagebase DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase + DD $L$xts_enc_tail wrt ..imagebase + DD 0 $L$xts_dec_info: DB 9,0,0,0 DD se_handler wrt ..imagebase DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase + DD $L$xts_dec_tail wrt ..imagebase + DD 0
diff --git a/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm b/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm index 9bfdaec..1a9da51 100644 --- a/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm +++ b/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm
@@ -23,8 +23,10 @@ mov r9,QWORD[48+rsp] + mov r9d,r9d mov rax,rsp + test r9d,3 jnz NEAR $L$mul_enter cmp r9d,8 @@ -38,12 +40,18 @@ ALIGN 16 $L$mul_enter: push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + neg r9 mov r11,rsp lea r10,[((-16))+r9*8+rsp] @@ -75,6 +83,7 @@ $L$mul_page_walk_done: mov QWORD[8+r9*8+rsp],rax + $L$mul_body: mov r12,rdx mov r8,QWORD[r8] @@ -242,18 +251,27 @@ jnz NEAR $L$copy mov rsi,QWORD[8+r9*8+rsp] + mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$mul_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_mul_mont: ALIGN 16 @@ -270,16 +288,24 @@ mov r9,QWORD[48+rsp] + mov r9d,r9d mov rax,rsp + $L$mul4x_enter: push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + neg r9 mov r11,rsp lea r10,[((-32))+r9*8+rsp] @@ -302,6 +328,7 @@ $L$mul4x_page_walk_done: mov QWORD[8+r9*8+rsp],rax + $L$mul4x_body: mov QWORD[16+r9*8+rsp],rdi mov r12,rdx @@ -601,10 +628,11 @@ cmp r14,r9 jb NEAR $L$outer4x mov rdi,QWORD[16+r9*8+rsp] + lea r15,[((-4))+r9] mov rax,QWORD[rsp] pxor xmm0,xmm0 mov rdx,QWORD[8+rsp] - shr r9,2 + shr r15,2 lea rsi,[rsp] xor r14,r14 @@ -612,7 +640,6 @@ mov rbx,QWORD[16+rsi] mov rbp,QWORD[24+rsi] sbb rdx,QWORD[8+rcx] - lea r15,[((-1))+r9] jmp NEAR $L$sub4x ALIGN 16 $L$sub4x: @@ -646,8 +673,9 @@ not rax mov rcx,rdi and rcx,rax - lea r15,[((-1))+r9] + lea r15,[((-4))+r9] or rsi,rcx + shr r15,2 movdqu xmm1,XMMWORD[rsi] movdqa XMMWORD[rsp],xmm0 @@ -665,23 +693,31 @@ dec r15 jnz NEAR $L$copy4x - shl r9,2 movdqu xmm2,XMMWORD[16+r14*1+rsi] movdqa XMMWORD[16+r14*1+rsp],xmm0 movdqu XMMWORD[16+r14*1+rdi],xmm2 mov rsi,QWORD[8+r9*8+rsp] + mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$mul4x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_mul4x_mont: EXTERN bn_sqr8x_internal @@ -700,14 +736,22 @@ mov r9,QWORD[48+rsp] + mov rax,rsp + $L$sqr8x_enter: push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + $L$sqr8x_prologue: mov r10d,r9d @@ -763,6 +807,7 @@ mov QWORD[32+rsp],r8 mov QWORD[40+rsp],rax + $L$sqr8x_body: DB 102,72,15,110,209 @@ -809,6 +854,7 @@ pxor xmm0,xmm0 pshufd xmm1,xmm1,0 mov rsi,QWORD[40+rsp] + jmp NEAR $L$sqr8x_cond_copy ALIGN 32 @@ -838,16 +884,24 @@ mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$sqr8x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_sqr8x_mont: DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 DB 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56
diff --git a/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont5.asm b/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont5.asm index 5033f02..b330641 100644 --- a/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont5.asm +++ b/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont5.asm
@@ -23,8 +23,10 @@ mov r9,QWORD[48+rsp] + mov r9d,r9d mov rax,rsp + test r9d,7 jnz NEAR $L$mul_enter jmp NEAR $L$mul4x_enter @@ -33,12 +35,18 @@ $L$mul_enter: movd xmm5,DWORD[56+rsp] push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + neg r9 mov r11,rsp lea r10,[((-280))+r9*8+rsp] @@ -70,6 +78,7 @@ lea r10,[$L$inc] mov QWORD[8+r9*8+rsp],rax + $L$mul_body: lea r12,[128+rdx] @@ -426,19 +435,28 @@ jnz NEAR $L$copy mov rsi,QWORD[8+r9*8+rsp] + mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$mul_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_mul_mont_gather5: ALIGN 32 @@ -455,15 +473,23 @@ mov r9,QWORD[48+rsp] + DB 0x67 mov rax,rsp + $L$mul4x_enter: push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + $L$mul4x_prologue: DB 0x67 @@ -519,24 +545,34 @@ neg r9 mov QWORD[40+rsp],rax + $L$mul4x_body: call mul4x_internal mov rsi,QWORD[40+rsp] + mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$mul4x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_mul4x_mont_gather5: @@ -1080,13 +1116,21 @@ mov r9,QWORD[48+rsp] + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + $L$power5_prologue: shl r9d,3 @@ -1151,6 +1195,7 @@ mov QWORD[32+rsp],r8 mov QWORD[40+rsp],rax + $L$power5_body: DB 102,72,15,110,207 DB 102,72,15,110,209 @@ -1177,18 +1222,27 @@ call mul4x_internal mov rsi,QWORD[40+rsp] + mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$power5_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_power5: global bn_sqr8x_internal @@ -2051,14 +2105,22 @@ mov r9,QWORD[48+rsp] + DB 0x67 mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + $L$from_prologue: shl r9d,3 @@ -2123,6 +2185,7 @@ mov QWORD[32+rsp],r8 mov QWORD[40+rsp],rax + $L$from_body: mov r11,r9 lea rax,[48+rsp] @@ -2158,11 +2221,12 @@ pxor xmm0,xmm0 lea rax,[48+rsp] - mov rsi,QWORD[40+rsp] jmp NEAR $L$from_mont_zero ALIGN 32 $L$from_mont_zero: + mov rsi,QWORD[40+rsp] + movdqa XMMWORD[rax],xmm0 movdqa XMMWORD[16+rax],xmm0 movdqa XMMWORD[32+rax],xmm0 @@ -2173,16 +2237,24 @@ mov rax,1 mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] + $L$from_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_bn_from_mont8x: global bn_scatter5
diff --git a/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm index ce6fdb92..cb36246 100644 --- a/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm
@@ -68,6 +68,7 @@ push r14 push r15 sub rsp,64+24 +$L$ctr32_body: movdqu xmm1,XMMWORD[rcx] @@ -305,13 +306,14 @@ jnz NEAR $L$oop_tail $L$done: - add rsp,64+24 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx + lea rsi,[((64+24+48))+rsp] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$no_data: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -332,20 +334,15 @@ $L$ChaCha20_ssse3: + mov r9,rsp cmp rdx,128 ja NEAR $L$ChaCha20_4x $L$do_sse3_after_all: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - sub rsp,64+72 - movaps XMMWORD[(64+32)+rsp],xmm6 - movaps XMMWORD[(64+48)+rsp],xmm7 + sub rsp,64+40 + movaps XMMWORD[(-40)+r9],xmm6 + movaps XMMWORD[(-24)+r9],xmm7 +$L$ssse3_body: movdqa xmm0,XMMWORD[$L$sigma] movdqu xmm1,XMMWORD[rcx] movdqu xmm2,XMMWORD[16+rcx] @@ -465,9 +462,10 @@ jnz NEAR $L$oop_tail_ssse3 $L$done_ssse3: - movaps xmm6,XMMWORD[((64+32))+rsp] - movaps xmm7,XMMWORD[((64+48))+rsp] - add rsp,64+72+48 + movaps xmm6,XMMWORD[((-40))+r9] + movaps xmm7,XMMWORD[((-24))+r9] + lea rsp,[r9] +$L$ssse3_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret @@ -487,6 +485,7 @@ $L$ChaCha20_4x: + mov r9,rsp mov r11,r10 shr r10,32 test r10,32 @@ -499,18 +498,18 @@ je NEAR $L$do_sse3_after_all $L$proceed4x: - lea r11,[((-120))+rsp] - sub rsp,0x148+160 - movaps XMMWORD[(-48)+r11],xmm6 - movaps XMMWORD[(-32)+r11],xmm7 - movaps XMMWORD[(-16)+r11],xmm8 - movaps XMMWORD[r11],xmm9 - movaps XMMWORD[16+r11],xmm10 - movaps XMMWORD[32+r11],xmm11 - movaps XMMWORD[48+r11],xmm12 - movaps XMMWORD[64+r11],xmm13 - movaps XMMWORD[80+r11],xmm14 - movaps XMMWORD[96+r11],xmm15 + sub rsp,0x140+168 + movaps XMMWORD[(-168)+r9],xmm6 + movaps XMMWORD[(-152)+r9],xmm7 + movaps XMMWORD[(-136)+r9],xmm8 + movaps XMMWORD[(-120)+r9],xmm9 + movaps XMMWORD[(-104)+r9],xmm10 + movaps XMMWORD[(-88)+r9],xmm11 + movaps XMMWORD[(-72)+r9],xmm12 + movaps XMMWORD[(-56)+r9],xmm13 + movaps XMMWORD[(-40)+r9],xmm14 + movaps XMMWORD[(-24)+r9],xmm15 +$L$4x_body: movdqa xmm11,XMMWORD[$L$sigma] movdqu xmm15,XMMWORD[rcx] movdqu xmm7,XMMWORD[16+rcx] @@ -1037,18 +1036,18 @@ jnz NEAR $L$oop_tail4x $L$done4x: - lea r11,[((320+48))+rsp] - movaps xmm6,XMMWORD[((-48))+r11] - movaps xmm7,XMMWORD[((-32))+r11] - movaps xmm8,XMMWORD[((-16))+r11] - movaps xmm9,XMMWORD[r11] - movaps xmm10,XMMWORD[16+r11] - movaps xmm11,XMMWORD[32+r11] - movaps xmm12,XMMWORD[48+r11] - movaps xmm13,XMMWORD[64+r11] - movaps xmm14,XMMWORD[80+r11] - movaps xmm15,XMMWORD[96+r11] - add rsp,0x148+160 + movaps xmm6,XMMWORD[((-168))+r9] + movaps xmm7,XMMWORD[((-152))+r9] + movaps xmm8,XMMWORD[((-136))+r9] + movaps xmm9,XMMWORD[((-120))+r9] + movaps xmm10,XMMWORD[((-104))+r9] + movaps xmm11,XMMWORD[((-88))+r9] + movaps xmm12,XMMWORD[((-72))+r9] + movaps xmm13,XMMWORD[((-56))+r9] + movaps xmm14,XMMWORD[((-40))+r9] + movaps xmm15,XMMWORD[((-24))+r9] + lea rsp,[r9] +$L$4x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret @@ -1068,22 +1067,21 @@ $L$ChaCha20_8x: - mov r10,rsp - sub rsp,0x280+176 + mov r9,rsp + sub rsp,0x280+168 and rsp,-32 - lea r11,[((656+48))+rsp] - movaps XMMWORD[(-48)+r11],xmm6 - movaps XMMWORD[(-32)+r11],xmm7 - movaps XMMWORD[(-16)+r11],xmm8 - movaps XMMWORD[r11],xmm9 - movaps XMMWORD[16+r11],xmm10 - movaps XMMWORD[32+r11],xmm11 - movaps XMMWORD[48+r11],xmm12 - movaps XMMWORD[64+r11],xmm13 - movaps XMMWORD[80+r11],xmm14 - movaps XMMWORD[96+r11],xmm15 + movaps XMMWORD[(-168)+r9],xmm6 + movaps XMMWORD[(-152)+r9],xmm7 + movaps XMMWORD[(-136)+r9],xmm8 + movaps XMMWORD[(-120)+r9],xmm9 + movaps XMMWORD[(-104)+r9],xmm10 + movaps XMMWORD[(-88)+r9],xmm11 + movaps XMMWORD[(-72)+r9],xmm12 + movaps XMMWORD[(-56)+r9],xmm13 + movaps XMMWORD[(-40)+r9],xmm14 + movaps XMMWORD[(-24)+r9],xmm15 +$L$8x_body: vzeroupper - mov QWORD[640+rsp],r10 @@ -1674,19 +1672,220 @@ $L$done8x: vzeroall - lea r11,[((656+48))+rsp] - movaps xmm6,XMMWORD[((-48))+r11] - movaps xmm7,XMMWORD[((-32))+r11] - movaps xmm8,XMMWORD[((-16))+r11] - movaps xmm9,XMMWORD[r11] - movaps xmm10,XMMWORD[16+r11] - movaps xmm11,XMMWORD[32+r11] - movaps xmm12,XMMWORD[48+r11] - movaps xmm13,XMMWORD[64+r11] - movaps xmm14,XMMWORD[80+r11] - movaps xmm15,XMMWORD[96+r11] - mov rsp,QWORD[640+rsp] + movaps xmm6,XMMWORD[((-168))+r9] + movaps xmm7,XMMWORD[((-152))+r9] + movaps xmm8,XMMWORD[((-136))+r9] + movaps xmm9,XMMWORD[((-120))+r9] + movaps xmm10,XMMWORD[((-104))+r9] + movaps xmm11,XMMWORD[((-88))+r9] + movaps xmm12,XMMWORD[((-72))+r9] + movaps xmm13,XMMWORD[((-56))+r9] + movaps xmm14,XMMWORD[((-40))+r9] + movaps xmm15,XMMWORD[((-24))+r9] + lea rsp,[r9] +$L$8x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret $L$SEH_end_ChaCha20_8x: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + lea r10,[$L$ctr32_body] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + lea r10,[$L$no_data] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rax,[((64+24+48))+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + + +ALIGN 16 +ssse3_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[192+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[((-40))+rax] + lea rdi,[512+r8] + mov ecx,4 + DD 0xa548f3fc + + jmp NEAR $L$common_seh_tail + + + +ALIGN 16 +full_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[192+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[((-168))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + + jmp NEAR $L$common_seh_tail + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_ChaCha20_ctr32 wrt ..imagebase + DD $L$SEH_end_ChaCha20_ctr32 wrt ..imagebase + DD $L$SEH_info_ChaCha20_ctr32 wrt ..imagebase + + DD $L$SEH_begin_ChaCha20_ssse3 wrt ..imagebase + DD $L$SEH_end_ChaCha20_ssse3 wrt ..imagebase + DD $L$SEH_info_ChaCha20_ssse3 wrt ..imagebase + + DD $L$SEH_begin_ChaCha20_4x wrt ..imagebase + DD $L$SEH_end_ChaCha20_4x wrt ..imagebase + DD $L$SEH_info_ChaCha20_4x wrt ..imagebase + DD $L$SEH_begin_ChaCha20_8x wrt ..imagebase + DD $L$SEH_end_ChaCha20_8x wrt ..imagebase + DD $L$SEH_info_ChaCha20_8x wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_ChaCha20_ctr32: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + +$L$SEH_info_ChaCha20_ssse3: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$ssse3_body wrt ..imagebase,$L$ssse3_epilogue wrt ..imagebase + +$L$SEH_info_ChaCha20_4x: +DB 9,0,0,0 + DD full_handler wrt ..imagebase + DD $L$4x_body wrt ..imagebase,$L$4x_epilogue wrt ..imagebase +$L$SEH_info_ChaCha20_8x: +DB 9,0,0,0 + DD full_handler wrt ..imagebase + DD $L$8x_body wrt ..imagebase,$L$8x_epilogue wrt ..imagebase
diff --git a/third_party/boringssl/win-x86_64/crypto/modes/ghash-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/modes/ghash-x86_64.asm index e5204bf..b01f98c 100644 --- a/third_party/boringssl/win-x86_64/crypto/modes/ghash-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/modes/ghash-x86_64.asm
@@ -21,6 +21,10 @@ push rbx push rbp push r12 + push r13 + push r14 + push r15 + sub rsp,280 $L$gmult_prologue: movzx r8,BYTE[15+rdi] @@ -97,8 +101,9 @@ mov QWORD[8+rdi],r8 mov QWORD[rdi],r9 - mov rbx,QWORD[16+rsp] - lea rsp,[24+rsp] + lea rsi,[((280+48))+rsp] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$gmult_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -669,14 +674,14 @@ mov QWORD[8+rdi],r8 mov QWORD[rdi],r9 - lea rsi,[280+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + lea rsi,[((280+48))+rsp] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$ghash_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -1916,14 +1921,20 @@ cmp rbx,r10 jae NEAR $L$in_prologue - lea rax,[24+rax] + lea rax,[((48+280))+rax] mov rbx,QWORD[((-8))+rax] mov rbp,QWORD[((-16))+rax] mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] mov QWORD[144+r8],rbx mov QWORD[160+r8],rbp mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 $L$in_prologue: mov rdi,QWORD[8+rax]
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm index 168f78d..5484574 100644 --- a/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm
@@ -1263,21 +1263,20 @@ _ssse3_shortcut: - mov rax,rsp + mov r11,rsp push rbx push rbp push r12 push r13 push r14 lea rsp,[((-160))+rsp] - movaps XMMWORD[(-40-96)+rax],xmm6 - movaps XMMWORD[(-40-80)+rax],xmm7 - movaps XMMWORD[(-40-64)+rax],xmm8 - movaps XMMWORD[(-40-48)+rax],xmm9 - movaps XMMWORD[(-40-32)+rax],xmm10 - movaps XMMWORD[(-40-16)+rax],xmm11 + movaps XMMWORD[(-40-96)+r11],xmm6 + movaps XMMWORD[(-40-80)+r11],xmm7 + movaps XMMWORD[(-40-64)+r11],xmm8 + movaps XMMWORD[(-40-48)+r11],xmm9 + movaps XMMWORD[(-40-32)+r11],xmm10 + movaps XMMWORD[(-40-16)+r11],xmm11 $L$prologue_ssse3: - mov r14,rax and rsp,-64 mov r8,rdi mov r9,rsi @@ -1285,7 +1284,7 @@ shl r10,6 add r10,r9 - lea r11,[((K_XX_XX+64))] + lea r14,[((K_XX_XX+64))] mov eax,DWORD[r8] mov ebx,DWORD[4+r8] @@ -1297,8 +1296,8 @@ xor edi,edx and esi,edi - movdqa xmm6,XMMWORD[64+r11] - movdqa xmm9,XMMWORD[((-64))+r11] + movdqa xmm6,XMMWORD[64+r14] + movdqa xmm9,XMMWORD[((-64))+r14] movdqu xmm0,XMMWORD[r9] movdqu xmm1,XMMWORD[16+r9] movdqu xmm2,XMMWORD[32+r9] @@ -1374,7 +1373,7 @@ pslld xmm9,2 pxor xmm4,xmm10 xor edx,ebp - movdqa xmm10,XMMWORD[((-64))+r11] + movdqa xmm10,XMMWORD[((-64))+r14] rol ecx,5 add ebx,edi and esi,edx @@ -1435,7 +1434,7 @@ pslld xmm10,2 pxor xmm5,xmm8 xor ebp,eax - movdqa xmm8,XMMWORD[((-32))+r11] + movdqa xmm8,XMMWORD[((-32))+r14] rol edx,5 add ecx,edi and esi,ebp @@ -1496,7 +1495,7 @@ pslld xmm8,2 pxor xmm6,xmm9 xor eax,ebx - movdqa xmm9,XMMWORD[((-32))+r11] + movdqa xmm9,XMMWORD[((-32))+r14] rol ebp,5 add edx,edi and esi,eax @@ -1557,7 +1556,7 @@ pslld xmm9,2 pxor xmm7,xmm10 xor ebx,ecx - movdqa xmm10,XMMWORD[((-32))+r11] + movdqa xmm10,XMMWORD[((-32))+r14] rol eax,5 add ebp,edi and esi,ebx @@ -1668,7 +1667,7 @@ pxor xmm2,xmm3 add eax,esi xor edi,edx - movdqa xmm10,XMMWORD[r11] + movdqa xmm10,XMMWORD[r14] ror ecx,7 paddd xmm9,xmm1 add eax,ebx @@ -1903,7 +1902,7 @@ pxor xmm7,xmm0 rol ebx,5 add eax,esi - movdqa xmm9,XMMWORD[32+r11] + movdqa xmm9,XMMWORD[32+r14] xor edi,ecx paddd xmm8,xmm6 xor ecx,edx @@ -2194,8 +2193,8 @@ add ecx,edx cmp r9,r10 je NEAR $L$done_ssse3 - movdqa xmm6,XMMWORD[64+r11] - movdqa xmm9,XMMWORD[((-64))+r11] + movdqa xmm6,XMMWORD[64+r14] + movdqa xmm9,XMMWORD[((-64))+r14] movdqu xmm0,XMMWORD[r9] movdqu xmm1,XMMWORD[16+r9] movdqu xmm2,XMMWORD[32+r9] @@ -2432,19 +2431,18 @@ mov DWORD[8+r8],ecx mov DWORD[12+r8],edx mov DWORD[16+r8],ebp - movaps xmm6,XMMWORD[((-40-96))+r14] - movaps xmm7,XMMWORD[((-40-80))+r14] - movaps xmm8,XMMWORD[((-40-64))+r14] - movaps xmm9,XMMWORD[((-40-48))+r14] - movaps xmm10,XMMWORD[((-40-32))+r14] - movaps xmm11,XMMWORD[((-40-16))+r14] - lea rsi,[r14] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] + movaps xmm6,XMMWORD[((-40-96))+r11] + movaps xmm7,XMMWORD[((-40-80))+r11] + movaps xmm8,XMMWORD[((-40-64))+r11] + movaps xmm9,XMMWORD[((-40-48))+r11] + movaps xmm10,XMMWORD[((-40-32))+r11] + movaps xmm11,XMMWORD[((-40-16))+r11] + mov r14,QWORD[((-40))+r11] + mov r13,QWORD[((-32))+r11] + mov r12,QWORD[((-24))+r11] + mov rbp,QWORD[((-16))+r11] + mov rbx,QWORD[((-8))+r11] + lea rsp,[r11] $L$epilogue_ssse3: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -2463,7 +2461,7 @@ _avx_shortcut: - mov rax,rsp + mov r11,rsp push rbx push rbp push r12 @@ -2471,14 +2469,13 @@ push r14 lea rsp,[((-160))+rsp] vzeroupper - vmovaps XMMWORD[(-40-96)+rax],xmm6 - vmovaps XMMWORD[(-40-80)+rax],xmm7 - vmovaps XMMWORD[(-40-64)+rax],xmm8 - vmovaps XMMWORD[(-40-48)+rax],xmm9 - vmovaps XMMWORD[(-40-32)+rax],xmm10 - vmovaps XMMWORD[(-40-16)+rax],xmm11 + vmovaps XMMWORD[(-40-96)+r11],xmm6 + vmovaps XMMWORD[(-40-80)+r11],xmm7 + vmovaps XMMWORD[(-40-64)+r11],xmm8 + vmovaps XMMWORD[(-40-48)+r11],xmm9 + vmovaps XMMWORD[(-40-32)+r11],xmm10 + vmovaps XMMWORD[(-40-16)+r11],xmm11 $L$prologue_avx: - mov r14,rax and rsp,-64 mov r8,rdi mov r9,rsi @@ -2486,7 +2483,7 @@ shl r10,6 add r10,r9 - lea r11,[((K_XX_XX+64))] + lea r14,[((K_XX_XX+64))] mov eax,DWORD[r8] mov ebx,DWORD[4+r8] @@ -2498,8 +2495,8 @@ xor edi,edx and esi,edi - vmovdqa xmm6,XMMWORD[64+r11] - vmovdqa xmm11,XMMWORD[((-64))+r11] + vmovdqa xmm6,XMMWORD[64+r14] + vmovdqa xmm11,XMMWORD[((-64))+r14] vmovdqu xmm0,XMMWORD[r9] vmovdqu xmm1,XMMWORD[16+r9] vmovdqu xmm2,XMMWORD[32+r9] @@ -2624,7 +2621,7 @@ vpxor xmm5,xmm5,xmm10 xor ebp,eax shld edx,edx,5 - vmovdqa xmm11,XMMWORD[((-32))+r11] + vmovdqa xmm11,XMMWORD[((-32))+r14] add ecx,edi and esi,ebp xor ebp,eax @@ -2837,7 +2834,7 @@ add eax,esi xor edi,edx vpaddd xmm9,xmm11,xmm1 - vmovdqa xmm11,XMMWORD[r11] + vmovdqa xmm11,XMMWORD[r14] shrd ecx,ecx,7 add eax,ebx vpxor xmm2,xmm2,xmm8 @@ -3056,7 +3053,7 @@ mov edi,ebx xor esi,edx vpaddd xmm9,xmm11,xmm6 - vmovdqa xmm11,XMMWORD[32+r11] + vmovdqa xmm11,XMMWORD[32+r14] shld ebx,ebx,5 add eax,esi vpxor xmm7,xmm7,xmm8 @@ -3335,8 +3332,8 @@ add ecx,edx cmp r9,r10 je NEAR $L$done_avx - vmovdqa xmm6,XMMWORD[64+r11] - vmovdqa xmm11,XMMWORD[((-64))+r11] + vmovdqa xmm6,XMMWORD[64+r14] + vmovdqa xmm11,XMMWORD[((-64))+r14] vmovdqu xmm0,XMMWORD[r9] vmovdqu xmm1,XMMWORD[16+r9] vmovdqu xmm2,XMMWORD[32+r9] @@ -3572,19 +3569,18 @@ mov DWORD[8+r8],ecx mov DWORD[12+r8],edx mov DWORD[16+r8],ebp - movaps xmm6,XMMWORD[((-40-96))+r14] - movaps xmm7,XMMWORD[((-40-80))+r14] - movaps xmm8,XMMWORD[((-40-64))+r14] - movaps xmm9,XMMWORD[((-40-48))+r14] - movaps xmm10,XMMWORD[((-40-32))+r14] - movaps xmm11,XMMWORD[((-40-16))+r14] - lea rsi,[r14] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] + movaps xmm6,XMMWORD[((-40-96))+r11] + movaps xmm7,XMMWORD[((-40-80))+r11] + movaps xmm8,XMMWORD[((-40-64))+r11] + movaps xmm9,XMMWORD[((-40-48))+r11] + movaps xmm10,XMMWORD[((-40-32))+r11] + movaps xmm11,XMMWORD[((-40-16))+r11] + mov r14,QWORD[((-40))+r11] + mov r13,QWORD[((-32))+r11] + mov r12,QWORD[((-24))+r11] + mov rbp,QWORD[((-16))+r11] + mov rbx,QWORD[((-8))+r11] + lea rsp,[r11] $L$epilogue_avx: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -3677,15 +3673,13 @@ cmp rbx,r10 jb NEAR $L$common_seh_tail - mov rax,QWORD[152+r8] + mov rax,QWORD[208+r8] mov r10d,DWORD[4+r11] lea r10,[r10*1+rsi] cmp rbx,r10 jae NEAR $L$common_seh_tail - mov rax,QWORD[232+r8] - lea rsi,[((-40-96))+rax] lea rdi,[512+r8] mov ecx,12
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm index efaf9b5..6e3d154 100644 --- a/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm
@@ -30,13 +30,13 @@ je NEAR $L$avx_shortcut test r10d,512 jnz NEAR $L$ssse3_shortcut + mov rax,rsp push rbx push rbp push r12 push r13 push r14 push r15 - mov r11,rsp shl rdx,4 sub rsp,16*4+4*8 lea rdx,[rdx*4+rsi] @@ -44,7 +44,7 @@ mov QWORD[((64+0))+rsp],rdi mov QWORD[((64+8))+rsp],rsi mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 + mov QWORD[((64+24))+rsp],rax $L$prologue: mov eax,DWORD[rdi] @@ -1709,13 +1709,13 @@ jb NEAR $L$loop mov rsi,QWORD[((64+24))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -1781,13 +1781,13 @@ $L$ssse3_shortcut: + mov rax,rsp push rbx push rbp push r12 push r13 push r14 push r15 - mov r11,rsp shl rdx,4 sub rsp,160 lea rdx,[rdx*4+rsi] @@ -1795,7 +1795,7 @@ mov QWORD[((64+0))+rsp],rdi mov QWORD[((64+8))+rsp],rsi mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 + mov QWORD[((64+24))+rsp],rax movaps XMMWORD[(64+32)+rsp],xmm6 movaps XMMWORD[(64+48)+rsp],xmm7 movaps XMMWORD[(64+64)+rsp],xmm8 @@ -2870,13 +2870,13 @@ movaps xmm7,XMMWORD[((64+48))+rsp] movaps xmm8,XMMWORD[((64+64))+rsp] movaps xmm9,XMMWORD[((64+80))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$epilogue_ssse3: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -2895,13 +2895,13 @@ $L$avx_shortcut: + mov rax,rsp push rbx push rbp push r12 push r13 push r14 push r15 - mov r11,rsp shl rdx,4 sub rsp,160 lea rdx,[rdx*4+rsi] @@ -2909,7 +2909,7 @@ mov QWORD[((64+0))+rsp],rdi mov QWORD[((64+8))+rsp],rsi mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 + mov QWORD[((64+24))+rsp],rax movaps XMMWORD[(64+32)+rsp],xmm6 movaps XMMWORD[(64+48)+rsp],xmm7 movaps XMMWORD[(64+64)+rsp],xmm8 @@ -3946,13 +3946,13 @@ movaps xmm7,XMMWORD[((64+48))+rsp] movaps xmm8,XMMWORD[((64+64))+rsp] movaps xmm9,XMMWORD[((64+80))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$epilogue_avx: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -3992,7 +3992,6 @@ jae NEAR $L$in_prologue mov rsi,rax mov rax,QWORD[((64+24))+rax] - lea rax,[48+rax] mov rbx,QWORD[((-8))+rax] mov rbp,QWORD[((-16))+rax]
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm index 71449cd..d0d7a43 100644 --- a/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm +++ b/third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm
@@ -30,13 +30,13 @@ or r10d,r9d cmp r10d,1342177792 je NEAR $L$avx_shortcut + mov rax,rsp push rbx push rbp push r12 push r13 push r14 push r15 - mov r11,rsp shl rdx,4 sub rsp,16*8+4*8 lea rdx,[rdx*8+rsi] @@ -44,7 +44,7 @@ mov QWORD[((128+0))+rsp],rdi mov QWORD[((128+8))+rsp],rsi mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 + mov QWORD[((128+24))+rsp],rax $L$prologue: mov rax,QWORD[rdi] @@ -1709,13 +1709,13 @@ jb NEAR $L$loop mov rsi,QWORD[((128+24))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -1825,13 +1825,13 @@ $L$xop_shortcut: + mov rax,rsp push rbx push rbp push r12 push r13 push r14 push r15 - mov r11,rsp shl rdx,4 sub rsp,256 lea rdx,[rdx*8+rsi] @@ -1839,7 +1839,7 @@ mov QWORD[((128+0))+rsp],rdi mov QWORD[((128+8))+rsp],rsi mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 + mov QWORD[((128+24))+rsp],rax movaps XMMWORD[(128+32)+rsp],xmm6 movaps XMMWORD[(128+48)+rsp],xmm7 movaps XMMWORD[(128+64)+rsp],xmm8 @@ -2906,13 +2906,13 @@ movaps xmm9,XMMWORD[((128+80))+rsp] movaps xmm10,XMMWORD[((128+96))+rsp] movaps xmm11,XMMWORD[((128+112))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$epilogue_xop: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -2931,13 +2931,13 @@ $L$avx_shortcut: + mov rax,rsp push rbx push rbp push r12 push r13 push r14 push r15 - mov r11,rsp shl rdx,4 sub rsp,256 lea rdx,[rdx*8+rsi] @@ -2945,7 +2945,7 @@ mov QWORD[((128+0))+rsp],rdi mov QWORD[((128+8))+rsp],rsi mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 + mov QWORD[((128+24))+rsp],rax movaps XMMWORD[(128+32)+rsp],xmm6 movaps XMMWORD[(128+48)+rsp],xmm7 movaps XMMWORD[(128+64)+rsp],xmm8 @@ -4076,13 +4076,13 @@ movaps xmm9,XMMWORD[((128+80))+rsp] movaps xmm10,XMMWORD[((128+96))+rsp] movaps xmm11,XMMWORD[((128+112))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] $L$epilogue_avx: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] @@ -4122,7 +4122,6 @@ jae NEAR $L$in_prologue mov rsi,rax mov rax,QWORD[((128+24))+rax] - lea rax,[48+rax] mov rbx,QWORD[((-8))+rax] mov rbp,QWORD[((-16))+rax]
diff --git a/third_party/polymer/v1_0/components-chromium/paper-ripple/paper-ripple.html b/third_party/polymer/v1_0/components-chromium/paper-ripple/paper-ripple.html index 37b1b043..2c35205 100644 --- a/third_party/polymer/v1_0/components-chromium/paper-ripple/paper-ripple.html +++ b/third_party/polymer/v1_0/components-chromium/paper-ripple/paper-ripple.html
@@ -92,6 +92,7 @@ .ripple { background-color: currentcolor; + left: 0; opacity: .25; pointer-events: none; position: absolute;
diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn index 34ae399f..413b1fa2 100644 --- a/third_party/widevine/cdm/BUILD.gn +++ b/third_party/widevine/cdm/BUILD.gn
@@ -42,7 +42,10 @@ widevine_cdm_manifest_file = [ "win/$widevine_arch/manifest.json" ] } else if (is_mac) { widevine_cdm_version_h_file = "mac/$widevine_arch/widevine_cdm_version.h" - widevine_cdm_binary_files = [ "mac/$widevine_arch/libwidevinecdm.dylib" ] + widevine_cdm_binary_files = [ + "mac/$widevine_arch/libwidevinecdm.dylib", + "mac/$widevine_arch/libwidevinecdm.dylib.sig", + ] widevine_cdm_manifest_file = [ "mac/$widevine_arch/manifest.json" ] } else { # Other platforms, use the default one.
diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni index b10a92b..78695ef 100644 --- a/third_party/widevine/cdm/widevine.gni +++ b/third_party/widevine/cdm/widevine.gni
@@ -6,3 +6,41 @@ # Allow widevinecdmadapter to be built in Chromium. enable_widevine = false } + +template("widevine_sign_file") { + # For official builds, generate a signature file for |file| which will + # be used by Widevine. If |signature_file| is not specified, the signature + # file will be in the same directory as |file|. + action(target_name) { + forward_variables_from(invoker, + [ + "file", + "signature_file", + "flags", + "deps", + ]) + assert(defined(file), "File to be signed must be specified.") + if (!defined(signature_file)) { + signature_file = "$file.sig" + } + if (!defined(flags)) { + flags = 0 + } + + script = "//third_party/widevine/scripts/signature_generator.py" + sources = [ + "$file", + ] + outputs = [ + "$signature_file", + ] + args = [ + "--input_file", + rebase_path("$file", root_build_dir), + "--output_file", + rebase_path("$signature_file", root_build_dir), + "--flags", + "$flags", + ] + } +}
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py index 4d64ec16..2dfef6f4 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py
@@ -27,7 +27,7 @@ # Do NOT CHANGE this if you don't know what you're doing -- see # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md # Reverting problematic clang rolls is safe, though. -CLANG_REVISION = '295793' +CLANG_REVISION = '296320' use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ if use_head_revision:
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index df0613d..359d0e7 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -42930,10 +42930,21 @@ <histogram name="Omnibox.CharTypedToRepaintLatency" units="ms"> <owner>asvitkine@chromium.org</owner> + <owner>mpearson@chromium.org</owner> <summary> Records the time taken between a keystroke being typed in the omnibox and the text being painted. If there are multiple keystrokes before a paint, logs the time since the earliest one. + + This duration is composed of three parts: a) the time spent processing the + initial input event, b) the time spent for the repaint task to be scheduled + on the message loop and c) the time spent painting the Omnibox. + + To diagnose a regression, check the following breakdown metrics: + Omnibox.QueryTime2 is a good proxy for (a) and Omnibox.PaintTime for (c). + (b) does not have a corresponding histogram but can be analyzed on the UMA + Task Profiler dashboard by looking at "average queue time" of the + task DisplayScheduler::ScheduleBeginFrameDeadline. </summary> </histogram> @@ -43113,6 +43124,7 @@ <histogram name="Omnibox.PaintTime" units="ms"> <owner>asvitkine@chromium.org</owner> + <owner>mpearson@chromium.org</owner> <summary> Records the time to paint the omnibox contents. This is a subcomponent of Omnibox.CharTypedToRepaintLatency. Implemented on desktop platforms. @@ -71499,8 +71511,7 @@ <summary>Counts translation target page schemes.</summary> </histogram> -<histogram name="Translate.Ranker.Model.Status" - enum="TranslateRankerModelStatus"> +<histogram name="Translate.Ranker.Model.Status" enum="RankerModelStatus"> <owner>rogerm@google.com</owner> <summary> Tracks the outcome of attempts to download a Translate Ranker Model. @@ -81828,6 +81839,7 @@ <int value="2" label="experimental-webgl"/> <int value="3" label="webgl"/> <int value="4" label="webgl2"/> + <int value="5" label="bitmaprenderer"/> </enum> <enum name="CanvasContextUsage" type="int"> @@ -91881,6 +91893,13 @@ <int value="1827" label="LocationOrigin"/> <int value="1828" label="DocumentOrigin"/> <int value="1829" label="SubtleCryptoOnlyStrictSecureContextCheckFailed"/> + <int value="1830" label="Canvas2DFilter"/> + <int value="1831" label="Canvas2DImageSmoothingQuality"/> + <int value="1832" label="CanvasToBlob"/> + <int value="1833" label="CanvasToDataURL"/> + <int value="1834" label="OffscreenCanvasConvertToBlob"/> + <int value="1835" label="SVGInCanvas2D"/> + <int value="1836" label="SVGInWebGL"/> </enum> <enum name="FetchRequestMode" type="int"> @@ -105393,6 +105412,15 @@ <int value="6" label="In use"/> </enum> +<enum name="RankerModelStatus" type="int"> + <int value="0" label="OK"/> + <int value="1" label="Download Throttled"/> + <int value="2" label="Download Failed"/> + <int value="3" label="Parse Failed"/> + <int value="4" label="Validation Failed"/> + <int value="5" label="Incompatible"/> +</enum> + <enum name="RapporDiscardReason" type="int"> <int value="0" label="Upload Success"/> <int value="1" label="Upload Rejected"/> @@ -110306,14 +110334,6 @@ <int value="6" label="CLD can complement a sub code"/> </enum> -<enum name="TranslateRankerModelStatus" type="int"> - <int value="0" label="OK"/> - <int value="1" label="Download Throttled"/> - <int value="2" label="Download Failed"/> - <int value="3" label="Parse Failed"/> - <int value="4" label="Validation Failed"/> -</enum> - <enum name="TranslateScheme" type="int"> <int value="0" label="http"/> <int value="1" label="https"/>
diff --git a/tools/perf/docs/perf_bot_sheriffing.md b/tools/perf/docs/perf_bot_sheriffing.md index 7799812..d6145fc2 100644 --- a/tools/perf/docs/perf_bot_sheriffing.md +++ b/tools/perf/docs/perf_bot_sheriffing.md
@@ -13,6 +13,17 @@ ## Understanding the Waterfall State +**[Sheriff-O-Matic](https://sheriff-o-matic.appspot.com/chromium.perf)** is (as of +2/27/2017) the recommended way to perfbot sheriff. It can be used to track the +different issues and associate them with specific bugs, and annotate failures +with useful information. It also attempts to group together similar failures +across different builders, so it can help to see a higher level perspective on +what is happening on the perf waterfall. + +It is an actively staffed project, which should be getting better over time. If +you find any bugs with the app, you can file a bug by clicking on the feedback +link in the bottom right of the app, or by clicking this [link](https://bugs.chromium.org/p/chromium/issues/entry?template=Build%20Infrastructure&components=Infra%3ESheriffing%3ESheriffOMatic&labels=Pri-2,Infra-DX&cc=seanmccullough@chromium.org,martiniss@chromium.org,zhangtiff@chromium.org&comment=Problem+with+Sheriff-o-Matic). + Everyone can view the chromium.perf waterfall at https://build.chromium.org/p/chromium.perf/, but for Googlers it is recommended that you use the url https://uberchromegw.corp.google.com/i/chromium.perf/ instead. @@ -38,19 +49,11 @@ "Android Nexus5 Perf (2)" * **start_time** is seconds since the epoch. - There is also [milo](https://luci-milo.appspot.com), which has the same data as buildbot, but mirrored in a different datastore. It is generally faster than buildbot, and links to it will not break, as the data is kept around for much longer. -In addition to watching the waterfall directly, -[Sheriff-O-Matic](https://sheriff-o-matic.appspot.com/chromium.perf) may -optionally be used to easily track the different issues and associate -them with specific bugs. It also attempts to group together similar failures -across different builders, so it can help to see a higher level perspective on -what is happening on the perf waterfall. - You can see a list of all previously filed bugs using the **[Performance-Sheriff-BotHealth](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=label%3APerformance-Sheriff-BotHealth)** label in crbug.
diff --git a/ui/accessibility/platform/ax_platform_node_mac.mm b/ui/accessibility/platform/ax_platform_node_mac.mm index 9edb0133..5d3c0ca 100644 --- a/ui/accessibility/platform/ax_platform_node_mac.mm +++ b/ui/accessibility/platform/ax_platform_node_mac.mm
@@ -355,23 +355,30 @@ // Attributes required for user-editable controls. NSArray* const kValueAttributes = @[ NSAccessibilityValueAttribute ]; - // Attributes required for textfields. - NSArray* const kTextfieldAttributes = @[ + // Attributes required for unprotected textfields. + NSArray* const kUnprotectedTextfieldAttributes = @[ NSAccessibilityInsertionPointLineNumberAttribute, NSAccessibilityNumberOfCharactersAttribute, - NSAccessibilityPlaceholderValueAttribute, NSAccessibilitySelectedTextAttribute, NSAccessibilitySelectedTextRangeAttribute, NSAccessibilityVisibleCharacterRangeAttribute, ]; + // Required for all textfields, including protected ones. + NSString* const kTextfieldAttributes = + NSAccessibilityPlaceholderValueAttribute; + base::scoped_nsobject<NSMutableArray> axAttributes( [[NSMutableArray alloc] init]); [axAttributes addObjectsFromArray:kAllRoleAttributes]; switch (node_->GetData().role) { case ui::AX_ROLE_TEXT_FIELD: - [axAttributes addObjectsFromArray:kTextfieldAttributes]; + [axAttributes addObject:kTextfieldAttributes]; + if (!ui::AXNodeData::IsFlagSet(node_->GetData().state, + ui::AX_STATE_PROTECTED)) { + [axAttributes addObjectsFromArray:kUnprotectedTextfieldAttributes]; + } // Fallthrough. case ui::AX_ROLE_CHECK_BOX: case ui::AX_ROLE_COMBO_BOX: @@ -405,11 +412,15 @@ return NO; } - // Since tabs use the Radio Button role on Mac, the standard way to set them - // is via the value attribute rather than the selected attribute. - if ([attributeName isEqualToString:NSAccessibilityValueAttribute] && - node_->GetData().role == ui::AX_ROLE_TAB) { - return !node_->GetData().HasStateFlag(ui::AX_STATE_SELECTED); + if ([attributeName isEqualToString:NSAccessibilityValueAttribute]) { + // NSSecureTextField doesn't allow values to be edited (despite showing up + // as editable), match its behavior. + if (node_->GetData().HasStateFlag(ui::AX_STATE_PROTECTED)) + return NO; + // Since tabs use the Radio Button role on Mac, the standard way to set + // them is via the value attribute rather than the selected attribute. + if (node_->GetData().role == ui::AX_ROLE_TAB) + return !node_->GetData().HasStateFlag(ui::AX_STATE_SELECTED); } if ([attributeName isEqualToString:NSAccessibilityValueAttribute] || @@ -435,7 +446,8 @@ // Check for attributes first. Only the |data.action| should be set here - any // type-specific information, if needed, should be set below. - if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { + if ([attribute isEqualToString:NSAccessibilityValueAttribute] && + !node_->GetData().HasStateFlag(ui::AX_STATE_PROTECTED)) { data.action = node_->GetData().role == ui::AX_ROLE_TAB ? ui::AX_ACTION_SET_SELECTION : ui::AX_ACTION_SET_VALUE; @@ -583,12 +595,18 @@ // Text-specific attributes. - (NSString*)AXSelectedText { + if (ui::AXNodeData::IsFlagSet(node_->GetData().state, ui::AX_STATE_PROTECTED)) + return nil; + NSRange selectedTextRange; [[self AXSelectedTextRange] getValue:&selectedTextRange]; return [[self AXValue] substringWithRange:selectedTextRange]; } - (NSValue*)AXSelectedTextRange { + if (ui::AXNodeData::IsFlagSet(node_->GetData().state, ui::AX_STATE_PROTECTED)) + return nil; + int textDir, start, end; node_->GetIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, &textDir); node_->GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, &start); @@ -603,14 +621,20 @@ } - (NSNumber*)AXNumberOfCharacters { + if (ui::AXNodeData::IsFlagSet(node_->GetData().state, ui::AX_STATE_PROTECTED)) + return nil; return @([[self AXValue] length]); } - (NSValue*)AXVisibleCharacterRange { + if (ui::AXNodeData::IsFlagSet(node_->GetData().state, ui::AX_STATE_PROTECTED)) + return nil; return [NSValue valueWithRange:{0, [[self AXNumberOfCharacters] intValue]}]; } - (NSNumber*)AXInsertionPointLineNumber { + if (ui::AXNodeData::IsFlagSet(node_->GetData().state, ui::AX_STATE_PROTECTED)) + return nil; // Multiline is not supported on views. return @0; }
diff --git a/ui/strings/translations/ui_strings_id.xtb b/ui/strings/translations/ui_strings_id.xtb index 3a17a014..213e9b9e 100644 --- a/ui/strings/translations/ui_strings_id.xtb +++ b/ui/strings/translations/ui_strings_id.xtb
@@ -28,7 +28,7 @@ <translation id="2497284189126895209">Semua Jenis File</translation> <translation id="2522350507219695259">Kalibrasi selesai</translation> <translation id="252373100621549798">Tampilan yang Tidak Diketahui</translation> -<translation id="2583543531130364912">Sesuaikan layar sentuh</translation> +<translation id="2583543531130364912">Kalibrasi layar sentuh</translation> <translation id="2666092431469916601">Atas</translation> <translation id="2743387203779672305">Salin ke papan klip</translation> <translation id="2803313416453193357">Buka folder</translation>
diff --git a/ui/strings/translations/ui_strings_mr.xtb b/ui/strings/translations/ui_strings_mr.xtb index 9efeed7..933e1de 100644 --- a/ui/strings/translations/ui_strings_mr.xtb +++ b/ui/strings/translations/ui_strings_mr.xtb
@@ -26,9 +26,9 @@ <translation id="2297836609126180313"><ph name="QUANTITY" /> TB/s</translation> <translation id="2482878487686419369">सूचना</translation> <translation id="2497284189126895209">सर्व फाइल</translation> -<translation id="2522350507219695259">मापन करणे पूर्ण झाले</translation> +<translation id="2522350507219695259">कॅलिब्रेशन पूर्ण झाले</translation> <translation id="252373100621549798">अज्ञात प्रदर्शन</translation> -<translation id="2583543531130364912">आपल्या टचस्क्रीनचे मापन करा</translation> +<translation id="2583543531130364912">आपली टचस्क्रीन कॅलिब्रेट करा</translation> <translation id="2666092431469916601">शीर्ष</translation> <translation id="2743387203779672305">क्लिपबोर्डवर कॉपी करा</translation> <translation id="2803313416453193357">फोल्डर उघडा</translation> @@ -87,7 +87,7 @@ <translation id="6394627529324717982">स्वल्पविराम</translation> <translation id="6404817160109697034">{SECONDS,plural, =1{1 सेकंदापूर्वी}one{# सेकंदापूर्वी}other{# सेकंदांपूर्वी}}</translation> <translation id="6528179044667508675">व्यत्यय आणू नका</translation> -<translation id="6612467943526193239">मापनातून बाहेर पडण्यासाठी Esc दाबा.</translation> +<translation id="6612467943526193239">कॅलिब्रेशनमधून बाहेर पडण्यासाठी Esc दाबा.</translation> <translation id="6620110761915583480">फाइल जतन करा</translation> <translation id="6699343763173986273">मीडिया पुढील ट्रॅक</translation> <translation id="6786750046913594791">फोल्डर बंद करा</translation>
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc index 10a5be8..448baf89 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -206,7 +206,7 @@ has_pointer_(false), has_window_focus_(false), has_pointer_focus_(false), - modal_dialog_xid_(0), + modal_dialog_counter_(0), close_widget_factory_(this), weak_factory_(this) {} @@ -2337,19 +2337,17 @@ return gfx::ToEnclosingRect(rect_in_pixels); } -XID DesktopWindowTreeHostX11::GetModalDialog() { - return modal_dialog_xid_; -} - std::unique_ptr<base::Closure> - DesktopWindowTreeHostX11::DisableEventListening(XID dialog) { - DCHECK(dialog); - DCHECK(!modal_dialog_xid_); - modal_dialog_xid_ = dialog; - // ScopedWindowTargeter is used to temporarily replace the event-targeter - // with NullEventTargeter to make |dialog| modal. - targeter_for_modal_.reset(new aura::ScopedWindowTargeter(window(), - std::unique_ptr<ui::EventTargeter>(new ui::NullEventTargeter))); +DesktopWindowTreeHostX11::DisableEventListening() { + // Allows to open multiple file-pickers. See https://crbug.com/678982 + modal_dialog_counter_++; + if (modal_dialog_counter_ == 1) { + // ScopedWindowTargeter is used to temporarily replace the event-targeter + // with NullEventTargeter to make |dialog| modal. + targeter_for_modal_.reset(new aura::ScopedWindowTargeter( + window(), + std::unique_ptr<ui::EventTargeter>(new ui::NullEventTargeter))); + } return base::MakeUnique<base::Closure>(base::Bind( &DesktopWindowTreeHostX11::EnableEventListening, @@ -2357,9 +2355,9 @@ } void DesktopWindowTreeHostX11::EnableEventListening() { - DCHECK(modal_dialog_xid_); - modal_dialog_xid_ = 0; - targeter_for_modal_.reset(); + DCHECK_GT(modal_dialog_counter_, 0UL); + if (!--modal_dialog_counter_) + targeter_for_modal_.reset(); } ////////////////////////////////////////////////////////////////////////////////
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h index 9f4e0b7a..544f086 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -85,11 +85,7 @@ static void CleanUpWindowList(void (*func)(aura::Window* window)); // Disables event listening to make |dialog| modal. - std::unique_ptr<base::Closure> DisableEventListening(XID dialog); - - // Returns XID of dialog currently displayed. When it returns 0, - // there is no dialog on the host window. - XID GetModalDialog(); + std::unique_ptr<base::Closure> DisableEventListening(); protected: // Overridden from DesktopWindowTreeHost: @@ -430,7 +426,7 @@ std::unique_ptr<aura::ScopedWindowTargeter> targeter_for_modal_; - XID modal_dialog_xid_; + uint32_t modal_dialog_counter_; base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_; base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_;
diff --git a/ui/views/widget/native_widget_mac_accessibility_unittest.mm b/ui/views/widget/native_widget_mac_accessibility_unittest.mm index 7d26ab83..24ffdb1 100644 --- a/ui/views/widget/native_widget_mac_accessibility_unittest.mm +++ b/ui/views/widget/native_widget_mac_accessibility_unittest.mm
@@ -6,6 +6,9 @@ #import <Cocoa/Cocoa.h> +#include "base/mac/mac_util.h" +#import "base/mac/sdk_forward_declarations.h" +#include "base/strings/stringprintf.h" #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" #import "testing/gtest_mac.h" @@ -461,4 +464,60 @@ EXPECT_TRUE(view->mouse_was_pressed()); } +// Test text-specific attributes that should not be supported for protected +// textfields. +TEST_F(NativeWidgetMacAccessibilityTest, ProtectedTextfields) { + Textfield* textfield = AddChildTextfield(GetWidgetBounds().size()); + textfield->SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); + + // Get the Textfield accessibility object. + NSPoint midpoint = gfx::ScreenPointToNSPoint(GetWidgetBounds().CenterPoint()); + id ax_node = [widget()->GetNativeWindow() accessibilityHitTest:midpoint]; + EXPECT_TRUE(ax_node); + + // Create a native Cocoa NSSecureTextField to compare against. + base::scoped_nsobject<NSSecureTextField> cocoa_secure_textfield( + [[NSSecureTextField alloc] initWithFrame:NSMakeRect(0, 0, 10, 10)]); + + NSArray* views_attributes = [ax_node accessibilityAttributeNames]; + NSArray* cocoa_attributes = + [cocoa_secure_textfield accessibilityAttributeNames]; + + NSArray* const expected_supported_attributes = @[ + NSAccessibilityValueAttribute, NSAccessibilityPlaceholderValueAttribute + ]; + NSArray* const expected_unsupported_attributes = @[ + NSAccessibilitySelectedTextAttribute, + NSAccessibilitySelectedTextRangeAttribute, + NSAccessibilityNumberOfCharactersAttribute, + NSAccessibilityVisibleCharacterRangeAttribute, + NSAccessibilityInsertionPointLineNumberAttribute + ]; + + for (NSString* attribute_name in expected_supported_attributes) { + SCOPED_TRACE(base::SysNSStringToUTF8([NSString + stringWithFormat:@"Missing attribute is: %@", attribute_name])); + EXPECT_TRUE([views_attributes containsObject:attribute_name]); + } + if (base::mac::IsAtLeastOS10_10()) { + // Check Cocoa's attribute values for PlaceHolder and Value here separately + // - these are using the new NSAccessibility protocol. + EXPECT_TRUE([cocoa_secure_textfield + isAccessibilitySelectorAllowed:@selector( + accessibilityPlaceholderValue)]); + EXPECT_TRUE([cocoa_secure_textfield + isAccessibilitySelectorAllowed:@selector(accessibilityValue)]); + } + + EXPECT_FALSE( + [ax_node accessibilityIsAttributeSettable:NSAccessibilityValueAttribute]); + + for (NSString* attribute_name in expected_unsupported_attributes) { + SCOPED_TRACE(base::SysNSStringToUTF8([NSString + stringWithFormat:@"Missing attribute is: %@", attribute_name])); + EXPECT_FALSE([views_attributes containsObject:attribute_name]); + EXPECT_FALSE([cocoa_attributes containsObject:attribute_name]); + } +} + } // namespace views
diff --git a/ui/views/widget/root_view.cc b/ui/views/widget/root_view.cc index d245548..cbb47b8 100644 --- a/ui/views/widget/root_view.cc +++ b/ui/views/widget/root_view.cc
@@ -193,12 +193,6 @@ if (has_children()) RemoveAllChildViews(true); AddChildView(contents_view); - - // Force a layout now, since the attached hierarchy won't be ready for the - // containing window's bounds. Note that we call Layout directly rather than - // calling the widget's size changed handler, since the RootView's bounds may - // not have changed, which will cause the Layout not to be done otherwise. - Layout(); } View* RootView::GetContentsView() {
diff --git a/ui/views/widget/root_view_unittest.cc b/ui/views/widget/root_view_unittest.cc index b4d712e8..54eeee2 100644 --- a/ui/views/widget/root_view_unittest.cc +++ b/ui/views/widget/root_view_unittest.cc
@@ -12,6 +12,7 @@ #include "ui/views/view_targeter.h" #include "ui/views/widget/root_view.h" #include "ui/views/widget/widget_deletion_observer.h" +#include "ui/views/window/dialog_delegate.h" namespace views { namespace test { @@ -540,5 +541,48 @@ EXPECT_FALSE(widget_deletion_observer.IsWidgetAlive()); } +namespace { +class RootViewTestDialogDelegate : public DialogDelegateView { + public: + RootViewTestDialogDelegate() {} + + int layout_count() const { return layout_count_; } + + // DialogDelegateView: + gfx::Size GetPreferredSize() const override { return preferred_size_; } + void Layout() override { + EXPECT_EQ(size(), preferred_size_); + ++layout_count_; + } + int GetDialogButtons() const override { + return ui::DIALOG_BUTTON_NONE; // Ensure buttons do not influence size. + } + + private: + const gfx::Size preferred_size_ = gfx::Size(111, 111); + + int layout_count_ = 0; + + DISALLOW_COPY_AND_ASSIGN(RootViewTestDialogDelegate); +}; +} // namespace + +// Ensure only one call to Layout() happens during Widget initialization, and +// ensure it happens at the ContentView's preferred size. +TEST_F(RootViewTest, SingleLayoutDuringInit) { + RootViewTestDialogDelegate* delegate = new RootViewTestDialogDelegate(); + Widget* widget = + DialogDelegate::CreateDialogWidget(delegate, GetContext(), nullptr); + EXPECT_EQ(1, delegate->layout_count()); + widget->CloseNow(); + + // Also test Aura desktop Widget codepaths. + views_delegate()->set_use_desktop_native_widgets(true); + delegate = new RootViewTestDialogDelegate(); + widget = DialogDelegate::CreateDialogWidget(delegate, GetContext(), nullptr); + EXPECT_EQ(1, delegate->layout_count()); + widget->CloseNow(); +} + } // namespace test } // namespace views
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc index 6b0ecaeb..38ade37 100644 --- a/ui/views/widget/widget.cc +++ b/ui/views/widget/widget.cc
@@ -343,7 +343,12 @@ // NonClientView to the RootView. This will cause everything to be parented. non_client_view_->set_client_view(widget_delegate_->CreateClientView(this)); non_client_view_->SetOverlayView(widget_delegate_->CreateOverlayView()); - SetContentsView(non_client_view_); + + // Bypass the Layout() that happens in Widget::SetContentsView(). Layout() + // will occur after setting the initial bounds below. The RootView's size is + // not valid until that happens. + root_view_->SetContentsView(non_client_view_); + // Initialize the window's icon and title before setting the window's // initial bounds; the frame view's preferred height may depend on the // presence of an icon or a title. @@ -351,6 +356,12 @@ UpdateWindowTitle(); non_client_view_->ResetWindowControls(); SetInitialBounds(params.bounds); + + // Perform the initial layout. This handles the case where the size might + // not actually change when setting the initial bounds. If it did, child + // views won't have a dirty Layout state, so won't do any work. + root_view_->Layout(); + if (params.show_state == ui::SHOW_STATE_MAXIMIZED) { Maximize(); } else if (params.show_state == ui::SHOW_STATE_MINIMIZED) { @@ -457,7 +468,15 @@ // Do not SetContentsView() again if it is already set to the same view. if (view == GetContentsView()) return; + root_view_->SetContentsView(view); + + // Force a layout now, since the attached hierarchy won't be ready for the + // containing window's bounds. Note that we call Layout directly rather than + // calling the widget's size changed handler, since the RootView's bounds may + // not have changed, which will cause the Layout not to be done otherwise. + root_view_->Layout(); + if (non_client_view_ != view) { // |non_client_view_| can only be non-NULL here if RequiresNonClientView() // was true when the widget was initialized. Creating widgets with non