summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/common
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/common')
-rw-r--r--chromium/chrome/common/BUILD.gn45
-rw-r--r--chromium/chrome/common/browser_controls_state.typemap2
-rw-r--r--chromium/chrome/common/chrome_constants.cc6
-rw-r--r--chromium/chrome/common/chrome_constants.h5
-rw-r--r--chromium/chrome/common/chrome_paths.cc23
-rw-r--r--chromium/chrome/common/chrome_paths.h17
-rw-r--r--chromium/chrome/common/chrome_paths_linux.cc3
-rw-r--r--chromium/chrome/common/chrome_paths_unittest.cc3
-rw-r--r--chromium/chrome/common/chrome_render_frame.mojom2
-rw-r--r--chromium/chrome/common/chrome_switches.cc25
-rw-r--r--chromium/chrome/common/chrome_switches.h3
-rw-r--r--chromium/chrome/common/constants.mojom9
-rw-r--r--chromium/chrome/common/custom_handlers/protocol_handler.cc32
-rw-r--r--chromium/chrome/common/custom_handlers/protocol_handler.h3
-rw-r--r--chromium/chrome/common/extensions/api/_api_features.json89
-rw-r--r--chromium/chrome/common/extensions/api/_manifest_features.json7
-rw-r--r--chromium/chrome/common/extensions/api/_permission_features.json43
-rw-r--r--chromium/chrome/common/extensions/api/accessibility_private.json18
-rw-r--r--chromium/chrome/common/extensions/api/api_sources.gni2
-rw-r--r--chromium/chrome/common/extensions/api/autotest_private.idl130
-rw-r--r--chromium/chrome/common/extensions/api/file_manager_private.idl21
-rw-r--r--chromium/chrome/common/extensions/api/file_manager_private_internal.idl1
-rw-r--r--chromium/chrome/common/extensions/api/launcher_page.idl53
-rw-r--r--chromium/chrome/common/extensions/api/login.idl7
-rw-r--r--chromium/chrome/common/extensions/api/login_screen_storage.idl47
-rw-r--r--chromium/chrome/common/extensions/api/login_state.idl51
-rw-r--r--chromium/chrome/common/extensions/api/settings_private.idl13
-rw-r--r--chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc3
-rw-r--r--chromium/chrome/common/extensions/permissions/permission_set_unittest.cc2
-rw-r--r--chromium/chrome/common/features.gni14
-rw-r--r--chromium/chrome/common/importer/profile_import.mojom2
-rw-r--r--chromium/chrome/common/mac/app_shim.mojom12
-rw-r--r--chromium/chrome/common/mac/app_shim.typemap8
-rw-r--r--chromium/chrome/common/media_router/BUILD.gn2
-rw-r--r--chromium/chrome/common/media_router/mojo/media_status.typemap12
-rw-r--r--chromium/chrome/common/media_router/mojom/BUILD.gn (renamed from chromium/chrome/common/media_router/mojo/BUILD.gn)4
-rw-r--r--chromium/chrome/common/media_router/mojom/media_controller.mojom (renamed from chromium/chrome/common/media_router/mojo/media_controller.mojom)10
-rw-r--r--chromium/chrome/common/media_router/mojom/media_router.mojom (renamed from chromium/chrome/common/media_router/mojo/media_router.mojom)19
-rw-r--r--chromium/chrome/common/media_router/mojom/media_router.typemap (renamed from chromium/chrome/common/media_router/mojo/media_router.typemap)20
-rw-r--r--chromium/chrome/common/media_router/mojom/media_router_traits_test_service.mojom (renamed from chromium/chrome/common/media_router/mojo/media_router_traits_test_service.mojom)2
-rw-r--r--chromium/chrome/common/media_router/mojom/media_status.mojom (renamed from chromium/chrome/common/media_router/mojo/media_status.mojom)16
-rw-r--r--chromium/chrome/common/media_router/mojom/typemaps.gni (renamed from chromium/chrome/common/media_router/mojo/typemaps.gni)5
-rw-r--r--chromium/chrome/common/page_load_metrics/page_load_metrics.mojom268
-rw-r--r--chromium/chrome/common/performance_manager/mojom/BUILD.gn7
-rw-r--r--chromium/chrome/common/performance_manager/mojom/tcmalloc.mojom15
-rw-r--r--chromium/chrome/common/safe_browsing/BUILD.gn1
-rw-r--r--chromium/chrome/common/search.typemap2
-rw-r--r--chromium/chrome/common/search/BUILD.gn1
-rw-r--r--chromium/chrome/common/url_constants.cc32
-rw-r--r--chromium/chrome/common/url_constants.h6
-rw-r--r--chromium/chrome/common/webui_url_constants.cc29
-rw-r--r--chromium/chrome/common/webui_url_constants.h20
52 files changed, 618 insertions, 554 deletions
diff --git a/chromium/chrome/common/BUILD.gn b/chromium/chrome/common/BUILD.gn
index 1d56a194972..82682ddc6aa 100644
--- a/chromium/chrome/common/BUILD.gn
+++ b/chromium/chrome/common/BUILD.gn
@@ -45,10 +45,9 @@ buildflag_header("buildflags") {
"ENABLE_NATIVE_NOTIFICATIONS=$enable_native_notifications",
"ENABLE_SERVICE_DISCOVERY=$enable_service_discovery",
"ENABLE_SESSION_SERVICE=$enable_session_service",
- "ENABLE_SIMPLE_BROWSER_SERVICE_IN_PROCESS=$enable_simple_browser_service_in_process",
- "ENABLE_SIMPLE_BROWSER_SERVICE_OUT_OF_PROCESS=$enable_simple_browser_service_out_of_process",
"ENABLE_SUPERVISED_USERS=$enable_supervised_users",
"ENABLE_WAYLAND_SERVER=$enable_wayland_server",
+ "ENABLE_WEBUI_TAB_STRIP=$enable_webui_tab_strip",
"PGO_BUILD=$pgo_build",
"OPTIMIZE_WEBUI=$optimize_webui",
]
@@ -138,7 +137,7 @@ static_library("common") {
"google_url_loader_throttle.h",
"heap_profiler_controller.cc",
"heap_profiler_controller.h",
- "instant_struct_traits.h",
+ "instant_mojom_traits.h",
"logging_chrome.cc",
"logging_chrome.h",
"mac/app_shim_launch.h",
@@ -158,11 +157,6 @@ static_library("common") {
"multi_process_lock_win.cc",
"origin_trials/chrome_origin_trial_policy.cc",
"origin_trials/chrome_origin_trial_policy.h",
- "page_load_metrics/page_load_metrics_constants.h",
- "page_load_metrics/page_load_metrics_util.cc",
- "page_load_metrics/page_load_metrics_util.h",
- "page_load_metrics/page_load_timing.cc",
- "page_load_metrics/page_load_timing.h",
"pdf_util.cc",
"pdf_util.h",
"pref_names_util.cc",
@@ -188,9 +182,6 @@ static_library("common") {
"stack_sampling_configuration.h",
"thread_profiler.cc",
"thread_profiler.h",
- "tts_messages.h",
- "tts_utterance_request.cc",
- "tts_utterance_request.h",
"url_constants.cc",
"url_constants.h",
"web_application_info.cc",
@@ -215,7 +206,6 @@ static_library("common") {
":ini_parser",
":mojo_bindings",
":offline_page_auto_fetcher_mojom",
- ":page_load_metrics_mojom",
":supervised_user_commands_mojom",
"//base",
"//base:base_static",
@@ -239,7 +229,7 @@ static_library("common") {
"//components/gcm_driver/common",
"//components/metrics",
"//components/metrics:net",
- "//components/metrics/public/interfaces:call_stack_mojo_bindings",
+ "//components/metrics/public/mojom:call_stack_mojo_bindings",
"//components/nacl/common:buildflags",
"//components/nacl/common:process_type",
"//components/nacl/common:switches",
@@ -249,10 +239,12 @@ static_library("common") {
"//components/offline_pages/buildflags",
"//components/offline_pages/core:switches",
"//components/omnibox/common",
+ "//components/page_load_metrics/common:page_load_metrics_mojom",
"//components/password_manager/core/common",
"//components/policy:generated",
"//components/policy/core/common",
"//components/prefs",
+ "//components/safe_browsing:buildflags",
"//components/safe_browsing/web_ui:constants",
"//components/services/heap_profiling/public/cpp",
"//components/strings",
@@ -286,12 +278,15 @@ static_library("common") {
"//ui/gfx/ipc/skia",
"//ui/gl",
"//ui/message_center/public/cpp",
+ "//ui/native_theme",
"//ui/resources:resources",
"//url",
]
deps = [
+ "//build:branding_buildflags",
"//components/metrics:call_stack_profile_builder",
+ "//components/page_load_metrics/common:common",
]
if (enable_plugins) {
@@ -466,6 +461,13 @@ static_library("common") {
libs = [ "wintrust.lib" ]
}
+ if (is_posix && !is_android) {
+ sources += [
+ "process_singleton_lock_posix.cc",
+ "process_singleton_lock_posix.h",
+ ]
+ }
+
if (is_mac) {
public_deps += [ "//third_party/google_toolbox_for_mac" ]
@@ -670,8 +672,6 @@ static_library("test_support") {
visibility = [ "//chrome/test:*" ]
sources = [
- "page_load_metrics/test/page_load_metrics_test_util.cc",
- "page_load_metrics/test/page_load_metrics_test_util.h",
"search/mock_embedded_search_client.cc",
"search/mock_embedded_search_client.h",
]
@@ -717,7 +717,6 @@ mojom("mojo_bindings") {
sources = [
"cache_stats_recorder.mojom",
"chrome_render_frame.mojom",
- "constants.mojom",
"content_settings_renderer.mojom",
"media/webrtc_logging.mojom",
"navigation_corrector.mojom",
@@ -754,7 +753,7 @@ mojom("mojo_bindings") {
"//content/public/common:interfaces",
"//mojo/public/mojom/base",
"//third_party/blink/public/mojom:mojom_platform",
- "//ui/gfx/geometry/mojo",
+ "//ui/gfx/geometry/mojom",
"//url/mojom:url_mojom_gurl",
"//url/mojom:url_mojom_origin",
]
@@ -786,18 +785,6 @@ mojom("search_mojom") {
]
}
-mojom("page_load_metrics_mojom") {
- sources = [
- "page_load_metrics/page_load_metrics.mojom",
- ]
-
- public_deps = [
- "//mojo/public/mojom/base",
- "//third_party/blink/public/mojom:web_feature_mojo_bindings",
- "//url/mojom:url_mojom_origin",
- ]
-}
-
mojom("client_hints_mojom") {
sources = [
"client_hints.mojom",
diff --git a/chromium/chrome/common/browser_controls_state.typemap b/chromium/chrome/common/browser_controls_state.typemap
index 2fe16447158..328a45042ef 100644
--- a/chromium/chrome/common/browser_controls_state.typemap
+++ b/chromium/chrome/common/browser_controls_state.typemap
@@ -10,4 +10,4 @@ public_deps = [
]
type_mappings =
- [ "chrome.mojom.BrowserControlsState=content::BrowserControlsState" ]
+ [ "chrome.mojom.BrowserControlsState=::content::BrowserControlsState" ]
diff --git a/chromium/chrome/common/chrome_constants.cc b/chromium/chrome/common/chrome_constants.cc
index 9d79e4e1025..fabb5226585 100644
--- a/chromium/chrome/common/chrome_constants.cc
+++ b/chromium/chrome/common/chrome_constants.cc
@@ -123,6 +123,9 @@ const base::FilePath::CharType kFrameworkExecutableName[] =
#if defined(OS_WIN)
const base::FilePath::CharType kBrowserResourcesDll[] = FPL("chrome.dll");
+// Only relevant if building with is_multi_dll_chrome=true.
+const base::FilePath::CharType kChildDll[] = FPL("chrome_child.dll");
+const base::FilePath::CharType kElfDll[] = FPL("chrome_elf.dll");
const base::FilePath::CharType kStatusTrayWindowClass[] =
FPL("Chrome_StatusTrayWindow");
#endif // defined(OS_WIN)
@@ -149,6 +152,8 @@ const base::FilePath::CharType kFeatureEngagementTrackerStorageDirname[] =
FPL("Feature Engagement Tracker");
const base::FilePath::CharType kFirstRunSentinel[] = FPL("First Run");
const base::FilePath::CharType kGCMStoreDirname[] = FPL("GCM Store");
+const base::FilePath::CharType kHeavyAdInterventionOptOutDBFilename[] =
+ FPL("heavy_ad_intervention_opt_out.db");
const base::FilePath::CharType kLocalStateFilename[] = FPL("Local State");
const base::FilePath::CharType kMediaCacheDirname[] = FPL("Media Cache");
const base::FilePath::CharType kNetworkPersistentStateFilename[] =
@@ -212,6 +217,7 @@ const int kHighestRendererOomScore = 1000;
const char kProfileDirPrefix[] = "u-";
const char kLegacyProfileDir[] = "user";
const char kTestUserProfileDir[] = "test-user";
+const char kLockScreenAppProfile[] = "LockScreenAppsProfile";
#endif
// This GUID is associated with any 'don't ask me again' settings that the
diff --git a/chromium/chrome/common/chrome_constants.h b/chromium/chrome/common/chrome_constants.h
index 54d54810d20..541a58fa6b5 100644
--- a/chromium/chrome/common/chrome_constants.h
+++ b/chromium/chrome/common/chrome_constants.h
@@ -33,6 +33,8 @@ extern const base::FilePath::CharType kFrameworkExecutableName[];
#endif // OS_MACOSX
#if defined(OS_WIN)
extern const base::FilePath::CharType kBrowserResourcesDll[];
+extern const base::FilePath::CharType kChildDll[];
+extern const base::FilePath::CharType kElfDll[];
extern const base::FilePath::CharType kStatusTrayWindowClass[];
#endif // defined(OS_WIN)
@@ -52,6 +54,7 @@ extern const base::FilePath::CharType kExtensionsCookieFilename[];
extern const base::FilePath::CharType kFeatureEngagementTrackerStorageDirname[];
extern const base::FilePath::CharType kFirstRunSentinel[];
extern const base::FilePath::CharType kGCMStoreDirname[];
+extern const base::FilePath::CharType kHeavyAdInterventionOptOutDBFilename[];
extern const base::FilePath::CharType kLocalStateFilename[];
extern const base::FilePath::CharType kMediaCacheDirname[];
extern const base::FilePath::CharType kNetworkPersistentStateFilename[];
@@ -110,6 +113,8 @@ extern const char kLegacyProfileDir[];
// This must be kept in sync with TestingProfile::kTestUserProfileDir.
extern const char kTestUserProfileDir[];
+
+extern const char kLockScreenAppProfile[];
#endif
// Used to identify the application to the system AV function in Windows.
diff --git a/chromium/chrome/common/chrome_paths.cc b/chromium/chrome/common/chrome_paths.cc
index a322ad90dbf..a7542ef69e9 100644
--- a/chromium/chrome/common/chrome_paths.cc
+++ b/chromium/chrome/common/chrome_paths.cc
@@ -383,7 +383,8 @@ bool PathProvider(int key, base::FilePath* result) {
.AppendASCII(base::GetNativeLibraryName(kWidevineCdmLibraryName));
break;
#endif // BUILDFLAG(ENABLE_WIDEVINE) && BUILDFLAG(ENABLE_LIBRARY_CDMS)
- case chrome::FILE_RESOURCES_PACK:
+ case chrome::FILE_RESOURCES_PACK: // Falls through.
+ case chrome::FILE_DEV_UI_RESOURCES_PACK:
#if defined(OS_MACOSX)
cur = base::mac::FrameworkBundlePath();
cur = cur.Append(FILE_PATH_LITERAL("Resources"))
@@ -392,14 +393,21 @@ bool PathProvider(int key, base::FilePath* result) {
#elif defined(OS_ANDROID)
if (!base::PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &cur))
return false;
+ if (key == chrome::FILE_DEV_UI_RESOURCES_PACK) {
+ cur = cur.Append(FILE_PATH_LITERAL("dev_ui_resources.pak"));
+ } else {
+ DCHECK_EQ(chrome::FILE_RESOURCES_PACK, key);
+ cur = cur.Append(FILE_PATH_LITERAL("resources.pak"));
+ }
#else
// If we're not bundled on mac or Android, resources.pak should be next
// to the binary (e.g., for unit tests).
if (!base::PathService::Get(base::DIR_MODULE, &cur))
return false;
-#endif
cur = cur.Append(FILE_PATH_LITERAL("resources.pak"));
+#endif
break;
+
#if defined(OS_CHROMEOS)
case chrome::DIR_CHROMEOS_WALLPAPERS:
if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
@@ -416,6 +424,17 @@ bool PathProvider(int key, base::FilePath* result) {
return false;
cur = cur.Append(FILE_PATH_LITERAL("custom_wallpapers"));
break;
+ case chrome::FILE_CHROMEOS_CROSTINI_ANSIBLE_SOFTWARE_CONFIG:
+ if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
+ return false;
+ cur = cur.Append(FILE_PATH_LITERAL("ansible_software_config.json"));
+ break;
+ case chrome::DIR_CHROMEOS_CROSTINI_ANSIBLE_PLAYBOOK_STAGING:
+ if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
+ return false;
+ cur = cur.Append(FILE_PATH_LITERAL("ansible_playbook_staging"));
+ create_dir = true;
+ break;
#endif
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
case chrome::DIR_SUPERVISED_USER_INSTALLED_WHITELISTS:
diff --git a/chromium/chrome/common/chrome_paths.h b/chromium/chrome/common/chrome_paths.h
index d5926424215..e554d78efd6 100644
--- a/chromium/chrome/common/chrome_paths.h
+++ b/chromium/chrome/common/chrome_paths.h
@@ -94,9 +94,13 @@ enum {
DIR_PNACL_COMPONENT, // Full path to the latest PNaCl version
// (subdir of DIR_PNACL_BASE).
FILE_WIDEVINE_CDM, // Full path to the Widevine CDM.
- FILE_RESOURCES_PACK, // Full path to the .pak file containing
- // binary data (e.g., html files and images
- // used by internal pages).
+ FILE_RESOURCES_PACK, // Full path to the .pak file containing binary data.
+ // This includes data for internal pages (e.g., html
+ // files and images), unless these resources are
+ // purposefully split into a separate file.
+ FILE_DEV_UI_RESOURCES_PACK, // Full path to the .pak file containing
+ // binary data for internal pages (e.g., html
+ // files and images).
#if defined(OS_CHROMEOS)
DIR_CHROMEOS_WALLPAPERS, // Directory where downloaded chromeos
// wallpapers reside.
@@ -104,6 +108,13 @@ enum {
// wallpaper thumbnails reside.
DIR_CHROMEOS_CUSTOM_WALLPAPERS, // Directory where custom wallpapers
// reside.
+ // Managed Crostini deployments.
+ FILE_CHROMEOS_CROSTINI_ANSIBLE_SOFTWARE_CONFIG, // A file with JSON
+ // configuration for Ansible
+ // package management.
+ DIR_CHROMEOS_CROSTINI_ANSIBLE_PLAYBOOK_STAGING, // Directory where Ansible
+ // playbooks pending
+ // execution reside.
#endif
DIR_SUPERVISED_USER_INSTALLED_WHITELISTS, // Directory where sanitized
// supervised user whitelists are
diff --git a/chromium/chrome/common/chrome_paths_linux.cc b/chromium/chrome/common/chrome_paths_linux.cc
index 5659ef5d6f9..b81cd35ffe4 100644
--- a/chromium/chrome/common/chrome_paths_linux.cc
+++ b/chromium/chrome/common/chrome_paths_linux.cc
@@ -12,6 +12,7 @@
#include "base/nix/xdg_util.h"
#include "base/path_service.h"
#include "base/strings/string_util.h"
+#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "chrome/common/channel_info.h"
#include "chrome/common/chrome_paths_internal.h"
@@ -87,7 +88,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* result) {
GetXDGDirectory(env.get(), kXdgConfigHomeEnvVar, kDotConfigDir);
}
-#if defined(GOOGLE_CHROME_BUILD)
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
*result = config_dir.Append("google-chrome" + GetChannelSuffixForDataDir());
#else
*result = config_dir.Append("chromium");
diff --git a/chromium/chrome/common/chrome_paths_unittest.cc b/chromium/chrome/common/chrome_paths_unittest.cc
index 5a9e2c6983d..cdf8b776a9d 100644
--- a/chromium/chrome/common/chrome_paths_unittest.cc
+++ b/chromium/chrome/common/chrome_paths_unittest.cc
@@ -11,6 +11,7 @@
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/path_service.h"
+#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "chrome/common/chrome_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -73,7 +74,7 @@ TEST(ChromePaths, DefaultUserDataDir) {
base::PathService::Get(base::DIR_HOME, &home_dir);
std::string expected_branding;
-#if defined(GOOGLE_CHROME_BUILD)
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
// TODO(skobes): Test channel suffixes with $CHROME_VERSION_EXTRA.
expected_branding = "google-chrome";
#else
diff --git a/chromium/chrome/common/chrome_render_frame.mojom b/chromium/chrome/common/chrome_render_frame.mojom
index a352543d5a2..b26a8a3d8cf 100644
--- a/chromium/chrome/common/chrome_render_frame.mojom
+++ b/chromium/chrome/common/chrome_render_frame.mojom
@@ -6,7 +6,7 @@ module chrome.mojom;
import "mojo/public/mojom/base/string16.mojom";
import "third_party/blink/public/mojom/window_features/window_features.mojom";
-import "ui/gfx/geometry/mojo/geometry.mojom";
+import "ui/gfx/geometry/mojom/geometry.mojom";
enum ImageFormat {
JPEG,
diff --git a/chromium/chrome/common/chrome_switches.cc b/chromium/chrome/common/chrome_switches.cc
index 67f4d93b7a4..1ef2f31635d 100644
--- a/chromium/chrome/common/chrome_switches.cc
+++ b/chromium/chrome/common/chrome_switches.cc
@@ -377,17 +377,6 @@ const char kKioskMode[] = "kiosk";
// Enable automatically pressing the print button in print preview.
const char kKioskModePrinting[] = "kiosk-printing";
-// Launches an in-process instance of the simple_browser service on startup if
-// this Chrome build supports it. See |enable_simple_browser_service_in_process|
-// in chrome/common/features.gni.
-const char kLaunchInProcessSimpleBrowserSwitch[] =
- "launch-in-process-simple-browser";
-
-// Launches a sandboxed out-of-process instance of the simple_browser service on
-// startup if this Chrome build supports it. See
-// |enable_simple_browser_service_out_of_process| in chrome/common/features.gni.
-const char kLaunchSimpleBrowserSwitch[] = "launch-simple-browser";
-
// Loads the Media Router component extension on startup.
const char kLoadMediaRouterComponentExtension[] =
"load-media-router-component-extension";
@@ -410,6 +399,11 @@ const char kNativeMessagingConnectHost[] = "native-messaging-connect-host";
const char kNativeMessagingConnectExtension[] =
"native-messaging-connect-extension";
+// If set when kNativeMessagingConnectHost and kNativeMessagingConnectExtension
+// are specified, is reflected to the native messaging host as a command line
+// parameter.
+const char kNativeMessagingConnectId[] = "native-messaging-connect-id";
+
// Disables the default browser check. Useful for UI/browser tests where we
// want to avoid having the default browser info-bar displayed.
const char kNoDefaultBrowserCheck[] = "no-default-browser-check";
@@ -715,11 +709,6 @@ const char kDisableLoggingRedirect[] = "disable-logging-redirect";
// installed through policy.
const char kDisableLoginScreenApps[] = "disable-login-screen-apps";
-// Provides the name of the mojo service running in a mash utility process.
-// NOTE: Used by the Chrome OS crash_reporter to identify mash processes. If you
-// change or remove the flag please update platform2/crash_reporter.
-const char kMashServiceName[] = "mash-service-name";
-
// Use a short (1 second) timeout for merge session loader throttle testing.
const char kShortMergeSessionTimeoutForTest[] =
"short-merge-session-timeout-for-test";
@@ -837,6 +826,10 @@ const char kShowIcons[] = "show-icons";
// Runs un-installation steps that were done by chrome first-run.
const char kUninstall[] = "uninstall";
+// Indicates that this process is the product of a relaunch following migration
+// of User Data.
+const char kUserDataMigrated[] = "user-data-migrated";
+
// Causes the process to run as a watcher process.
const char kWatcherProcess[] = "watcher";
#endif // defined(OS_WIN)
diff --git a/chromium/chrome/common/chrome_switches.h b/chromium/chrome/common/chrome_switches.h
index d1333f454fd..fb8623a2052 100644
--- a/chromium/chrome/common/chrome_switches.h
+++ b/chromium/chrome/common/chrome_switches.h
@@ -126,6 +126,7 @@ extern const char kMakeDefaultBrowser[];
extern const char kMonitoringDestinationID[];
extern const char kNativeMessagingConnectHost[];
extern const char kNativeMessagingConnectExtension[];
+extern const char kNativeMessagingConnectId[];
extern const char kNewNetErrorPageUI[];
extern const char kNoDefaultBrowserCheck[];
extern const char kNoExperiments[];
@@ -211,7 +212,6 @@ extern const char kWebApkServerUrl[];
extern const char kCroshCommand[];
extern const char kDisableLoggingRedirect[];
extern const char kDisableLoginScreenApps[];
-extern const char kMashServiceName[];
extern const char kShortMergeSessionTimeoutForTest[];
extern const char kSchedulerConfiguration[];
extern const char kSchedulerConfigurationConservative[];
@@ -250,6 +250,7 @@ extern const char kPrefetchArgumentBrowserBackground[];
extern const char kPrefetchArgumentWatcher[];
extern const char kShowIcons[];
extern const char kUninstall[];
+extern const char kUserDataMigrated[];
extern const char kWatcherProcess[];
#endif // defined(OS_WIN)
diff --git a/chromium/chrome/common/constants.mojom b/chromium/chrome/common/constants.mojom
deleted file mode 100644
index 881a179673b..00000000000
--- a/chromium/chrome/common/constants.mojom
+++ /dev/null
@@ -1,9 +0,0 @@
-// 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.
-
-module chrome.mojom;
-
-const string kServiceName = "chrome";
-
-const string kRendererServiceName = "chrome_renderer";
diff --git a/chromium/chrome/common/custom_handlers/protocol_handler.cc b/chromium/chrome/common/custom_handlers/protocol_handler.cc
index 19649d527c6..9afb863f903 100644
--- a/chromium/chrome/common/custom_handlers/protocol_handler.cc
+++ b/chromium/chrome/common/custom_handlers/protocol_handler.cc
@@ -9,6 +9,8 @@
#include "base/strings/utf_string_conversions.h"
#include "base/value_conversions.h"
#include "chrome/grit/generated_resources.h"
+#include "content/public/common/origin_util.h"
+#include "extensions/common/constants.h"
#include "net/base/escape.h"
#include "ui/base/l10n/l10n_util.h"
@@ -34,6 +36,36 @@ bool ProtocolHandler::IsValidDict(const base::DictionaryValue* value) {
return value->HasKey("protocol") && value->HasKey("url");
}
+bool ProtocolHandler::IsValid() const {
+ // TODO(https://crbug.com/977083): Consider limiting to secure contexts.
+
+ // This matches SupportedSchemes() in blink's NavigatorContentUtils.
+
+ // Although not enforced in the spec the spec gives freedom to do additional
+ // security checks. Bugs have arisen from allowing non-http/https URLs, e.g.
+ // https://crbug.com/971917 so we check this here.
+ if (!url_.SchemeIsHTTPOrHTTPS() &&
+ !url_.SchemeIs(extensions::kExtensionScheme)) {
+ return false;
+ }
+
+ // From:
+ // https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme
+ static constexpr const char* const kProtocolSafelist[] = {
+ "bitcoin", "geo", "im", "irc", "ircs", "magnet", "mailto",
+ "mms", "news", "nntp", "openpgp4fpr", "sip", "sms", "smsto",
+ "ssh", "tel", "urn", "webcal", "wtai", "xmpp"};
+ static constexpr const char kWebPrefix[] = "web+";
+
+ bool has_web_prefix =
+ base::StartsWith(protocol_, kWebPrefix,
+ base::CompareCase::INSENSITIVE_ASCII) &&
+ protocol_ != kWebPrefix;
+
+ return has_web_prefix ||
+ base::Contains(kProtocolSafelist, base::ToLowerASCII(protocol_));
+}
+
bool ProtocolHandler::IsSameOrigin(
const ProtocolHandler& handler) const {
return handler.url().GetOrigin() == url_.GetOrigin();
diff --git a/chromium/chrome/common/custom_handlers/protocol_handler.h b/chromium/chrome/common/custom_handlers/protocol_handler.h
index 36b56799947..d538705421a 100644
--- a/chromium/chrome/common/custom_handlers/protocol_handler.h
+++ b/chromium/chrome/common/custom_handlers/protocol_handler.h
@@ -34,6 +34,9 @@ class ProtocolHandler {
// define a ProtocolHandler.
static bool IsValidDict(const base::DictionaryValue* value);
+ // Return true if the protocol handler meets security constraints.
+ bool IsValid() const;
+
// Returns true if this handler's url has the same origin as the given one.
bool IsSameOrigin(const ProtocolHandler& handler) const;
diff --git a/chromium/chrome/common/extensions/api/_api_features.json b/chromium/chrome/common/extensions/api/_api_features.json
index eb5041dd62a..3a24e6d4369 100644
--- a/chromium/chrome/common/extensions/api/_api_features.json
+++ b/chromium/chrome/common/extensions/api/_api_features.json
@@ -61,6 +61,9 @@
"dependencies": ["manifest:action"],
"contexts": ["blessed_extension"]
},
+ "action.setIcon": {
+ "disallow_for_service_workers": true
+ },
"activityLogPrivate": [{
"dependencies": ["permission:activityLogPrivate"],
"contexts": ["blessed_extension"]
@@ -158,8 +161,7 @@
},
"browserAction": {
"dependencies": ["manifest:browser_action"],
- "contexts": ["blessed_extension"],
- "disallow_for_service_workers": false
+ "contexts": ["blessed_extension"]
},
// This API is whitelisted on stable and should not be enabled for a wider
// audience without resolving security issues raised in API proposal and
@@ -235,6 +237,7 @@
"channel": "stable",
"contexts": ["webui"],
"matches": [
+ "chrome://cellular-setup/*",
"chrome://chrome-signin/*",
"chrome://discards/*",
"chrome://hats/*",
@@ -263,8 +266,7 @@
},
"contextMenus": {
"dependencies": ["permission:contextMenus"],
- "contexts": ["blessed_extension"],
- "disallow_for_service_workers": false
+ "contexts": ["blessed_extension"]
},
"contextMenusInternal": {
"internal": true,
@@ -321,8 +323,7 @@
"contexts": ["webui"],
"matches": [
"chrome://extensions/*",
- "chrome://extensions-frame/*",
- "chrome://chrome/extensions/*"
+ "chrome://extensions-frame/*" // TODO(dbeam): still needed?
]
}],
// All devtools APIs are implemented by hand, so don't compile them.
@@ -364,12 +365,14 @@
},
"enterprise.platformKeys": {
"dependencies": ["permission:enterprise.platformKeys"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"enterprise.platformKeysInternal": {
"dependencies": ["permission:enterprise.platformKeys"],
"internal": true,
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"enterprise.platformKeysPrivate": {
"dependencies": ["permission:enterprise.platformKeysPrivate"],
@@ -394,15 +397,23 @@
"extension_types": ["extension", "legacy_packaged_app"],
"contexts": ["blessed_extension"]
},
+ "extension.getBackgroundPage": {
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
+ },
+ "extension.getExtensionTabs": {
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
+ },
"extension.getURL": {
- "contexts": ["blessed_extension", "unblessed_extension", "content_script"],
- "disallow_for_service_workers": false
+ "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
},
"extension.getViews": [
{
"channel": "stable",
"contexts": ["blessed_extension"],
- "extension_types": ["extension", "legacy_packaged_app"]
+ "extension_types": ["extension", "legacy_packaged_app"],
+ "disallow_for_service_workers": true
},
{
// TODO(yoz): Eliminate this usage.
@@ -411,7 +422,8 @@
"extension_types": ["platform_app"],
"whitelist": [
"A948368FC53BE437A55FEB414106E207925482F5" // File manager
- ]
+ ],
+ "disallow_for_service_workers": true
}
],
"extension.inIncognitoContext": {
@@ -445,12 +457,14 @@
},
"fileBrowserHandler": {
"dependencies": ["permission:fileBrowserHandler"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"fileBrowserHandlerInternal": {
"internal": true,
"dependencies": ["permission:fileBrowserHandler"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"fileManagerPrivate": {
"dependencies": ["permission:fileManagerPrivate"],
@@ -463,12 +477,14 @@
},
"fileSystemProvider": {
"dependencies": ["permission:fileSystemProvider"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"fileSystemProviderInternal": {
"internal": true,
"dependencies": ["permission:fileSystemProvider"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"fontSettings": {
"dependencies": ["permission:fontSettings"],
@@ -486,7 +502,11 @@
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
"contexts": ["blessed_extension", "unblessed_extension", "content_script",
- "lock_screen_extension"]
+ "lock_screen_extension"],
+ "disallow_for_service_workers": true
+ },
+ "i18n.getAcceptLanguages": {
+ "disallow_for_service_workers": false
},
"identity": {
"dependencies": ["permission:identity"],
@@ -545,12 +565,21 @@
},
"login": {
"dependencies": ["permission:login"],
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
+ },
+ "loginScreenStorage": {
+ "dependencies": ["permission:loginScreenStorage"],
"contexts": ["blessed_extension"]
},
"loginScreenUi": {
"dependencies": ["permission:loginScreenUi"],
"contexts": ["blessed_extension"]
},
+ "loginState": {
+ "dependencies": ["permission:loginState"],
+ "contexts": ["blessed_extension"]
+ },
"webcamPrivate": {
"dependencies": ["permission:webcamPrivate"],
"contexts": ["blessed_extension"]
@@ -591,11 +620,13 @@
},
"pageAction": {
"dependencies": ["manifest:page_action"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"pageCapture": {
"dependencies": ["permission:pageCapture"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"passwordsPrivate": [{
"dependencies": ["permission:passwordsPrivate"],
@@ -617,16 +648,19 @@
},
"platformKeys": {
"dependencies": ["permission:platformKeys"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"platformKeysInternal": [{
"dependencies": ["permission:platformKeys"],
"internal": true,
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},{
"dependencies": ["permission:enterprise.platformKeys"],
"internal": true,
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
}],
"privacy": {
"dependencies": ["permission:privacy"],
@@ -706,18 +740,19 @@
},
"tabCapture": {
"dependencies": ["permission:tabCapture"],
- "contexts": ["blessed_extension"]
+ "contexts": ["blessed_extension"],
+ "disallow_for_service_workers": true
},
"tabs": [{
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app"],
- "contexts": ["blessed_extension"],
- "disallow_for_service_workers": false
+ "contexts": ["blessed_extension"]
}, {
"channel": "stable",
"contexts": ["webui"],
"matches": [
"chrome://bookmarks/*",
+ "chrome://tab-strip/*",
"chrome://terminal/*"
]
}],
@@ -773,8 +808,7 @@
},
"webNavigation": {
"dependencies": ["permission:webNavigation"],
- "contexts": ["blessed_extension"],
- "disallow_for_service_workers": false
+ "contexts": ["blessed_extension"]
},
"webrtcAudioPrivate": {
"dependencies": ["permission:webrtcAudioPrivate"],
@@ -820,6 +854,7 @@
"contexts": ["webui"],
"matches": [
"chrome://bookmarks/*",
+ "chrome://tab-strip/*",
"chrome://terminal/*"
]
}]
diff --git a/chromium/chrome/common/extensions/api/_manifest_features.json b/chromium/chrome/common/extensions/api/_manifest_features.json
index 77eb698c1da..11940a5726b 100644
--- a/chromium/chrome/common/extensions/api/_manifest_features.json
+++ b/chromium/chrome/common/extensions/api/_manifest_features.json
@@ -221,7 +221,12 @@
},
"storage": {
"channel": "stable",
- "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
+ "extension_types": [
+ "extension",
+ "legacy_packaged_app",
+ "platform_app",
+ "login_screen_extension"
+ ],
"min_manifest_version": 2
},
"system_indicator": [
diff --git a/chromium/chrome/common/extensions/api/_permission_features.json b/chromium/chrome/common/extensions/api/_permission_features.json
index 3b9c335698b..195d76f14f8 100644
--- a/chromium/chrome/common/extensions/api/_permission_features.json
+++ b/chromium/chrome/common/extensions/api/_permission_features.json
@@ -259,12 +259,21 @@
"channel": "trunk",
"extension_types": ["extension"]
},
- "enterprise.deviceAttributes": {
+ "enterprise.deviceAttributes": [{
"channel": "stable",
"platforms": ["chromeos"],
"extension_types": ["extension", "platform_app"],
"location": "policy"
- },
+ }, {
+ "channel": "stable",
+ "extension_types": ["login_screen_extension"],
+ "location": "policy",
+ "platforms": ["chromeos"],
+ "whitelist": [
+ "E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE", // Imprivata (login screen)
+ "4DBFC1C52D6660DD90791976DF7FEF7B3D360509" // Imprivata (login screen) DEV
+ ]
+ }],
"enterprise.hardwarePlatform": {
"channel": "stable",
"extension_types": ["extension"],
@@ -436,25 +445,45 @@
]
},
"login": {
- "channel": "dev",
- "extension_types": ["login_screen_extension"],
+ "channel": "stable",
+ "extension_types": ["login_screen_extension", "extension"],
"location": "policy",
"platforms": ["chromeos"],
"whitelist": [
"E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE", // Imprivata (login screen)
- "A24DE1B21A67E25FB62AC8491642038FE25DA75B" // Imprivata (in session)
+ "4DBFC1C52D6660DD90791976DF7FEF7B3D360509", // Imprivata (login screen) DEV
+ "A24DE1B21A67E25FB62AC8491642038FE25DA75B", // Imprivata (in session)
+ "6B25164FFE2BADB5F1DBBD301CC022170267022D" // Imprivata (in session) DEV
+ ]
+ },
+ "loginScreenStorage": {
+ "channel": "stable",
+ "extension_types": ["login_screen_extension", "extension"],
+ "location": "policy",
+ "platforms": ["chromeos"],
+ "whitelist": [
+ "E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE", // Imprivata (login screen)
+ "4DBFC1C52D6660DD90791976DF7FEF7B3D360509", // Imprivata (login screen) DEV
+ "A24DE1B21A67E25FB62AC8491642038FE25DA75B", // Imprivata (in session)
+ "6B25164FFE2BADB5F1DBBD301CC022170267022D" // Imprivata (in session) DEV
]
},
"loginScreenUi": {
- "channel": "dev",
+ "channel": "stable",
"extension_types": ["login_screen_extension"],
"location": "policy",
"platforms": ["chromeos"],
"whitelist": [
"7FE4A999359A456C4B0FB7B7AD85CEA29CA50519", // chrome.loginScreenUi test extension
- "E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE" // Imprivata (login screen)
+ "E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE", // Imprivata (login screen)
+ "4DBFC1C52D6660DD90791976DF7FEF7B3D360509" // Imprivata (login screen) DEV
]
},
+ "loginState": {
+ "channel": "stable",
+ "extension_types": ["login_screen_extension", "extension"],
+ "platforms": ["chromeos"]
+ },
"webcamPrivate": {
"channel": "stable",
"extension_types": ["extension", "platform_app"],
diff --git a/chromium/chrome/common/extensions/api/accessibility_private.json b/chromium/chrome/common/extensions/api/accessibility_private.json
index d4ac4066ae2..a0429a4de2d 100644
--- a/chromium/chrome/common/extensions/api/accessibility_private.json
+++ b/chromium/chrome/common/extensions/api/accessibility_private.json
@@ -257,24 +257,6 @@
]
},
{
- "name": "setSwitchAccessKeys",
- "type": "function",
- "description": "Change the keyboard keys captured by Switch Access.",
- "parameters": [
- {
- "name": "key_codes",
- "type": "array",
- "items": {
- "type": "integer",
- "minimum": 48, // '0' key
- "maximum": 90 // 'z' key
- },
- "description": "The key codes for the keys that will be captured."
- }
- ],
- "platforms": ["chromeos"]
- },
- {
"name": "setSwitchAccessMenuState",
"type": "function",
"description": "Shows or hides the Switch Access menu. If shown, it is at the indicated location.",
diff --git a/chromium/chrome/common/extensions/api/api_sources.gni b/chromium/chrome/common/extensions/api/api_sources.gni
index 9c0c100530f..67e412b393a 100644
--- a/chromium/chrome/common/extensions/api/api_sources.gni
+++ b/chromium/chrome/common/extensions/api/api_sources.gni
@@ -98,7 +98,9 @@ if (is_chromeos) {
"input_method_private.json",
"launcher_search_provider.idl",
"login.idl",
+ "login_screen_storage.idl",
"login_screen_ui.idl",
+ "login_state.idl",
"platform_keys.idl",
"platform_keys_internal.idl",
"quick_unlock_private.idl",
diff --git a/chromium/chrome/common/extensions/api/autotest_private.idl b/chromium/chrome/common/extensions/api/autotest_private.idl
index d52f2e0e5f9..93e712596f7 100644
--- a/chromium/chrome/common/extensions/api/autotest_private.idl
+++ b/chromium/chrome/common/extensions/api/autotest_private.idl
@@ -13,6 +13,40 @@ namespace autotestPrivate {
Bottom, Left, Right
};
+ // A mapping of ash::ShelfItemType.
+ enum ShelfItemType {
+ App,
+ PinnedApp,
+ BrowserShortcut,
+ Dialog
+ };
+
+ // A mapping of ash::ShelfItemStatus.
+ enum ShelfItemStatus {
+ Closed,
+ Running,
+ Attention
+ };
+
+ // A mapping of apps::mojom::Type
+ enum AppType {
+ Arc,
+ BuiltIn,
+ Crostini,
+ Extension,
+ Web
+ };
+
+ // A mapping of apps::mojom::Readiness
+ enum AppReadiness {
+ Ready,
+ DisabledByBlacklist,
+ DisabledByPolicy,
+ DisabledByUser,
+ Terminated,
+ UninstalledByUser
+ };
+
// A subset of Window State types in ash::WindowStateType. We may add more
// into the set in the future.
enum WindowStateType {
@@ -21,7 +55,8 @@ namespace autotestPrivate {
Maximized,
Fullscreen,
LeftSnapped,
- RightSnapped
+ RightSnapped,
+ PIP
};
// A subset of WM event types in ash::WMEventType. We may add more in the
@@ -70,7 +105,7 @@ namespace autotestPrivate {
callback LoginStatusCallback = void (LoginStatusDict status);
// |all_policies| will be the full list of policies as returned by the
- // GetAllPolicyValuesAsArray function.
+ // DictionaryPolicyConversions.ToValue function.
callback AllEnterprisePoliciesCallback = void (any all_policies);
dictionary ExtensionInfoDict {
@@ -119,6 +154,8 @@ namespace autotestPrivate {
};
callback PrinterArrayCallback = void (Printer[] printers);
+ callback ArcStartTimeCallback = void (double startTime);
+
dictionary ArcState {
// Whether the ARC is provisioned.
boolean provisioned;
@@ -192,6 +229,20 @@ namespace autotestPrivate {
};
callback GetArcPackageCallback = void (ArcPackageDict package);
+ dictionary Bounds {
+ double left;
+ double top;
+ double width;
+ double height;
+ };
+
+ dictionary ArcAppWindowInfo {
+ Bounds bounds;
+ boolean isAnimating;
+ DOMString displayId;
+ };
+ callback GetArcAppWindowInfoCallback = void (ArcAppWindowInfo info);
+
callback LaunchArcAppCallback = void (boolean appLaunched);
callback TakeScreenshotCallback = void (DOMString base64Png);
@@ -202,11 +253,39 @@ namespace autotestPrivate {
callback SetTabletModeEnabledCallback = void(boolean enabled);
+ callback SetOverviewModeStateCallback = void(boolean finished);
+
+ dictionary App {
+ DOMString appId;
+ DOMString name;
+ DOMString shortName;
+ AppType? type;
+ AppReadiness? readiness;
+ DOMString[] additionalSearchTerms;
+ boolean? showInLauncher;
+ boolean? showInSearch;
+ };
+
+ callback GetAllInstalledAppsCallback = void (App[] apps);
+
+ dictionary ShelfItem {
+ DOMString appId;
+ DOMString launchId;
+ DOMString title;
+ ShelfItemType? type;
+ ShelfItemStatus status;
+ boolean showsTooltip;
+ boolean pinnedByPolicy;
+ boolean hasNotification;
+ };
+
+ callback GetShelfItemsCallback = void (ShelfItem[] items);
+
callback GetShelfAutoHideBehaviorCallback = void (DOMString behavior);
callback GetShelfAlignmentCallback = void (ShelfAlignmentType alignment);
- callback WindowStateChangedCallback = void (WindowStateType currentType);
+ callback WindowStateCallback = void (WindowStateType currentType);
callback VoidCallback = void ();
@@ -275,6 +354,9 @@ namespace autotestPrivate {
// Get visible notifications on the system.
static void getVisibleNotifications(NotificationArrayCallback callback);
+ // Get ARC start time.
+ static void getArcStartTime(ArcStartTimeCallback callback);
+
// Get state of the ARC session.
static void getArcState(ArcStateCallback callback);
@@ -351,6 +433,11 @@ namespace autotestPrivate {
// |callback|: Called when the operation has completed.
static void importCrostini(DOMString path, VoidCallback callback);
+ // Register a component with CrOSComponentManager.
+ // |name|: The name of the component.
+ // |path|: Path to the component.
+ static void registerComponent(DOMString name, DOMString path);
+
// Takes a screenshot and returns the data in base64 encoded PNG format.
static void takeScreenshot(TakeScreenshotCallback callback);
@@ -398,6 +485,12 @@ namespace autotestPrivate {
static void setTabletModeEnabled(boolean enabled,
SetTabletModeEnabledCallback callback);
+ // Get the list of all installed applications
+ static void getAllInstalledApps(GetAllInstalledAppsCallback callback);
+
+ // Get the list of all shelf items
+ static void getShelfItems(GetShelfItemsCallback callback);
+
// Get the shelf auto hide behavior.
// |displayId|: display that contains the shelf.
// |callback| is invoked with the shelf auto hide behavior. Possible
@@ -425,15 +518,42 @@ namespace autotestPrivate {
static void setShelfAlignment(DOMString displayId,
ShelfAlignmentType alignment, VoidCallback callback);
+ // Enter or exit the overview mode.
+ // |start|: whether entering to or exiting from the overview mode.
+ // |callback|: called after the overview mode switch finishes.
+ static void setOverviewModeState(boolean start,
+ SetOverviewModeStateCallback callback);
+
// Show virtual keyboard of the current input method if it's available.
static void showVirtualKeyboardIfEnabled();
- // Sends WM event to change the ARC app window's window state.
+ // Send WM event to change the ARC app window's window state.
// |packageName|: the package name of the ARC app window.
// |eventType|: WM event type to send to the ARC app window.
// |callback|: called when the window state is changed.
static void setArcAppWindowState(DOMString packageName,
WindowStateChangeDict change,
- WindowStateChangedCallback callback);
+ WindowStateCallback callback);
+
+ // Get ARC app window's window state.
+ // |packageName|: the package name of the ARC app window.
+ // |callback| is invoked with the window state.
+ static void getArcAppWindowState(DOMString packageName, WindowStateCallback callback);
+
+ // Get various information on an ARC window.
+ // |packageName|: the package name of the ARC app window.
+ // |callback|: called when the operation has completed.
+ static void getArcAppWindowInfo(DOMString packageName,
+ GetArcAppWindowInfoCallback callback);
+
+ // Swap the windows in the split view.
+ // |callback|: Called when the operation has completed.
+ static void swapWindowsInSplitView(VoidCallback callback);
+
+ // Set ARC app window focused.
+ // |packageName|: the package name of the ARC app window.
+ // |callback|: called when the operation has completed.
+ static void setArcAppWindowFocus(DOMString packageName,
+ VoidCallback callback);
};
};
diff --git a/chromium/chrome/common/extensions/api/file_manager_private.idl b/chromium/chrome/common/extensions/api/file_manager_private.idl
index 40a3933c413..04ed11c167a 100644
--- a/chromium/chrome/common/extensions/api/file_manager_private.idl
+++ b/chromium/chrome/common/extensions/api/file_manager_private.idl
@@ -229,7 +229,14 @@ enum SourceRestriction {
native_or_drive_source
};
-enum CrostiniEventType { enable, disable, share, unshare };
+enum CrostiniEventType {
+ enable,
+ disable,
+ root_access_allow,
+ root_access_disallow,
+ share,
+ unshare
+};
// A file task represents an action that the file manager can perform over the
// currently selected files. See
@@ -1041,11 +1048,6 @@ interface Functions {
// |changeInfo|
static void setPreferences(PreferencesChange changeInfo);
- // Sets the flag for remembering if the toast UI for ARC storage
- // has already been shown.
- // |callback| Completion callback with the original value of the flag.
- static void setArcStorageToastShownFlag(BooleanCallback callback);
-
// Performs drive content search.
// |searchParams|
// |callback|
@@ -1220,7 +1222,7 @@ interface Functions {
// |vmName| VM to get shared paths of.
// first time this function has been called with observeFirstForSession true.
[nocompile] static void getCrostiniSharedPaths(
- boolean observeFirstForSession, DOMString vmName,
+ boolean observeFirstForSession, DOMString vmName,
GetCrostiniSharedPathsCallback callback);
// Requests information about a Linux package. |entry| is a .deb file.
@@ -1233,6 +1235,11 @@ interface Functions {
static void installLinuxPackage([instanceof=Entry] object entry,
InstallLinuxPackageCallback callback);
+ // Imports a Crostini Image File (.tini). This overrides the existing Linux
+ // apps and files.
+ [nocompile]
+ static void importCrostiniImage([instanceof=Entry] object entry);
+
// For a file in DriveFS, retrieves its thumbnail. If |cropToSquare| is true,
// returns a thumbnail appropriate for file list or grid views; otherwise,
// returns a thumbnail appropriate for quickview.
diff --git a/chromium/chrome/common/extensions/api/file_manager_private_internal.idl b/chromium/chrome/common/extensions/api/file_manager_private_internal.idl
index 53e6874b36e..133f340ae60 100644
--- a/chromium/chrome/common/extensions/api/file_manager_private_internal.idl
+++ b/chromium/chrome/common/extensions/api/file_manager_private_internal.idl
@@ -115,6 +115,7 @@ namespace fileManagerPrivateInternal {
GetLinuxPackageInfoCallback callback);
static void installLinuxPackage(DOMString url,
InstallLinuxPackageCallback callback);
+ static void importCrostiniImage(DOMString url);
static void getThumbnail(DOMString url,
boolean cropToSquare,
GetThumbnailCallback callback);
diff --git a/chromium/chrome/common/extensions/api/launcher_page.idl b/chromium/chrome/common/extensions/api/launcher_page.idl
deleted file mode 100644
index 7e7896a8693..00000000000
--- a/chromium/chrome/common/extensions/api/launcher_page.idl
+++ /dev/null
@@ -1,53 +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.
-
-// The <code>chrome.launcherPage</code> API provides launcher pages in the
-// Chrome Launcher with the capabilities and events they need.
-namespace launcherPage {
- callback PushSubpageCallback = void();
- callback ShowCallback = void();
- callback HideCallback = void();
- callback SetEnabledCallback = void();
-
- interface Functions {
- // Pushes a subpage state onto a state stack for the launcher page. This
- // state will be popped when the launcher's back button is pressed,
- // preventing the launcher from hiding the launcher page and sending an
- // onPopSubpage event to the launcher page. Once all states are popped, the
- // next press of the back button will cause the launcher to be hidden.
- //
- // Note: All subpages are immediately popped when the launcher is closed or
- // the launcher page is otherwise hidden.
- static void pushSubpage(optional PushSubpageCallback callback);
-
- // Opens the launcher if it isn't currently open and shows the launcher
- // page.
- static void show(optional ShowCallback callback);
-
- // Returns the launcher to the start page if the launcher page is showing.
- static void hide(optional HideCallback callback);
-
- // Sets whether the launcher page is enabled in the launcher. If disabled,
- // the launcher page will not be shown when the area at the bottom of the
- // launcher is pressed.
- //
- // Note: The launcher page will still be displayed at the bottom of the
- // launcher's start page and launcherPage.show() will still show the
- // launcher page.
- static void setEnabled(boolean enabled,
- optional SetEnabledCallback callback);
- };
-
- interface Events {
- // Fired when the launcher page is transitioning between hidden and shown.
- // It's possible for this to be called with a pushed subpage so this
- // event handler should account for transitioning from any subpage to a
- // collapsed view.
- static void onTransitionChanged(double progress);
-
- // Fired when the launcher's back button is pressed if there are remaining
- // subpages on the state stack pushed by pushSubpage().
- static void onPopSubpage();
- };
-};
diff --git a/chromium/chrome/common/extensions/api/login.idl b/chromium/chrome/common/extensions/api/login.idl
index 8beca81edab..4231b217529 100644
--- a/chromium/chrome/common/extensions/api/login.idl
+++ b/chromium/chrome/common/extensions/api/login.idl
@@ -7,7 +7,6 @@
implemented_in="chrome/browser/chromeos/extensions/login_screen/login/login_api.h"]
namespace login {
callback VoidCallback = void ();
- callback BooleanCallback = void (boolean result);
callback StringCallback = void (DOMString result);
interface Functions {
@@ -23,12 +22,6 @@ namespace login {
static void exitCurrentSession(optional DOMString dataForNextLoginAttempt,
optional VoidCallback callback);
- // Checks whether the caller extension is running in the login screen
- // profile.
- // |callback|: Called with true if the caller extension is running in the
- // login screen profile, or false otherwise.
- static void isRunningInLoginProfile(BooleanCallback callback);
-
// Reads the <code>dataForNextLoginAttempt</code> set by
// <code>exitCurrentSession()</code>. Clears the previously stored data
// after reading so it can only be read once.
diff --git a/chromium/chrome/common/extensions/api/login_screen_storage.idl b/chromium/chrome/common/extensions/api/login_screen_storage.idl
new file mode 100644
index 00000000000..21e90a1e502
--- /dev/null
+++ b/chromium/chrome/common/extensions/api/login_screen_storage.idl
@@ -0,0 +1,47 @@
+// Copyright 2019 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.
+
+// Use the <code>chrome.loginScreenStorage</code> API to store persistent data
+// from the login screen or inject data into the session.
+[platforms=("chromeos"),
+ implemented_in="chrome/browser/chromeos/extensions/login_screen/login_screen_storage/login_screen_storage_api.h"]
+namespace loginScreenStorage {
+ callback StoreCallback = void ();
+ callback RetrieveCallback = void (DOMString data);
+
+ interface Functions {
+ // Stores persistent data from the login screen. This data can be accessed
+ // later using $(ref:retrievePersistentData) by any extension from the
+ // specified extension ids. This method will fail if called while a user
+ // session is active.
+ // |extensionIds|: IDs of the extensions that should have access to the
+ // stored data.
+ // |data|: The data to store.
+ static void storePersistentData(DOMString[] extensionIds,
+ DOMString data,
+ StoreCallback callback);
+
+ // Retrieves persistent data that was previously stored using
+ // $(ref:storePersistentData) for the caller's extension ID.
+ // |ownerId|: ID of the extension that saved the data that the caller is
+ // trying to retrieve.
+ static void retrievePersistentData(DOMString ownerId,
+ RetrieveCallback callback);
+
+ // Stores credentials for later access from the user session. This method
+ // will fail if called while a user session is active.
+ // |extensionId|: ID of the in-session extension that should have access to
+ // these credentials. Credentials stored using this method are deleted on
+ // session exit.
+ // |credentials|: The credentials to store.
+ static void storeCredentials(DOMString extensionId,
+ DOMString credentials,
+ StoreCallback callback);
+
+ // Retrieves credentials that were previosly stored using
+ // $(ref:storeCredentials). The caller's extension ID should be the same as
+ // the extension id passed to the $(ref:storeCredentials).
+ static void retrieveCredentials(RetrieveCallback callback);
+ };
+};
diff --git a/chromium/chrome/common/extensions/api/login_state.idl b/chromium/chrome/common/extensions/api/login_state.idl
new file mode 100644
index 00000000000..c8195e4f1bb
--- /dev/null
+++ b/chromium/chrome/common/extensions/api/login_state.idl
@@ -0,0 +1,51 @@
+// Copyright 2019 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.
+
+// Use the <code>chrome.loginState</code> API to read and monitor the login
+// state.
+[platforms=("chromeos"),
+ implemented_in="chrome/browser/chromeos/extensions/login_screen/login_state/login_state_api.h"]
+namespace loginState {
+ enum ProfileType {
+ // The extension is in the signin profile.
+ SIGNIN_PROFILE,
+
+ // The extension is in the user profile.
+ USER_PROFILE
+ };
+
+ enum SessionState {
+ // The session state is unknown.
+ UNKNOWN,
+
+ // The user is in the out-of-box-experience screen.
+ IN_OOBE_SCREEN,
+
+ // The user is in the login screen.
+ IN_LOGIN_SCREEN,
+
+ // The user is in the session.
+ IN_SESSION,
+
+ // The user is in the lock screen.
+ IN_LOCK_SCREEN
+ };
+
+ callback ProfileTypeCallback = void (ProfileType result);
+ callback SessionStateCallback = void (SessionState result);
+
+ interface Functions {
+ // Gets the type of the profile the extension is in.
+ static void getProfileType(ProfileTypeCallback callback);
+
+ // Gets the current session state.
+ static void getSessionState(SessionStateCallback callback);
+ };
+
+ interface Events {
+ // Dispatched when the session state changes. <code>sessionState</code>
+ // is the new session state.
+ static void onSessionStateChanged(SessionState sessionState);
+ };
+};
diff --git a/chromium/chrome/common/extensions/api/settings_private.idl b/chromium/chrome/common/extensions/api/settings_private.idl
index 9e8b90a2a39..b4a1848df5a 100644
--- a/chromium/chrome/common/extensions/api/settings_private.idl
+++ b/chromium/chrome/common/extensions/api/settings_private.idl
@@ -20,10 +20,19 @@ namespace settingsPrivate {
// Preferences are controlled neither by parent nor the child user.
// Preference values are hard-coded values and can not be changed.
- CHILD_RESTRICTIONS
+ CHILD_RESTRICTION
};
- enum Enforcement { ENFORCED, RECOMMENDED };
+ enum Enforcement {
+ // Value cannot be changed by user.
+ ENFORCED,
+ // Value can be changed, but the administrator recommends a default.
+ RECOMMENDED,
+ // Value is protected by a code that only parents can access. The logic to
+ // require the code is NOT automatically added to a preference using this
+ // enforcement. This is only used to display the correct pref indicator.
+ PARENT_SUPERVISED
+ };
dictionary PrefObject {
// The key for the pref.
diff --git a/chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc b/chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
index 623aa14232f..606258cef12 100644
--- a/chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
+++ b/chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
@@ -669,6 +669,9 @@ ChromePermissionMessageRule::GetAllRules() {
{IDS_EXTENSION_PROMPT_WARNING_LOGIN_SCREEN_UI,
{APIPermission::kLoginScreenUi},
{}},
+ {IDS_EXTENSION_PROMPT_WARNING_LOGIN_SCREEN_STORAGE,
+ {APIPermission::kLoginScreenStorage},
+ {}},
{IDS_EXTENSION_PROMPT_WARNING_TRANSIENT_BACKGROUND,
{APIPermission::kTransientBackground},
{}},
diff --git a/chromium/chrome/common/extensions/permissions/permission_set_unittest.cc b/chromium/chrome/common/extensions/permissions/permission_set_unittest.cc
index baf8d3fbee9..e43cd3f564d 100644
--- a/chromium/chrome/common/extensions/permissions/permission_set_unittest.cc
+++ b/chromium/chrome/common/extensions/permissions/permission_set_unittest.cc
@@ -766,13 +766,13 @@ TEST(PermissionsTest, PermissionMessages) {
skip.insert(APIPermission::kDns);
skip.insert(APIPermission::kDownloadsShelf);
skip.insert(APIPermission::kEmbeddedExtensionOptions);
- skip.insert(APIPermission::kExtensionView);
skip.insert(APIPermission::kFontSettings);
skip.insert(APIPermission::kFullscreen);
skip.insert(APIPermission::kGcm);
skip.insert(APIPermission::kIdle);
skip.insert(APIPermission::kImeWindowEnabled);
skip.insert(APIPermission::kIdltest);
+ skip.insert(APIPermission::kLoginState);
skip.insert(APIPermission::kOverrideEscFullscreen);
skip.insert(APIPermission::kPointerLock);
skip.insert(APIPermission::kPower);
diff --git a/chromium/chrome/common/features.gni b/chromium/chrome/common/features.gni
index 80d1116ab9b..0eab01ba586 100644
--- a/chromium/chrome/common/features.gni
+++ b/chromium/chrome/common/features.gni
@@ -7,6 +7,7 @@ import("//build/config/chromecast_build.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/dcheck_always_on.gni")
import("//build/config/features.gni")
+import("//components/safe_browsing/buildflags.gni")
import("//device/vr/buildflags/buildflags.gni")
import("//extensions/buildflags/buildflags.gni")
import("//media/media_options.gni")
@@ -49,16 +50,7 @@ declare_args() {
# Android stores them separately on the Java side.
enable_session_service = !is_android && !is_chromecast
- # Enables embedding of the simple_browser service, a lightweight browser
- # application which consumes the Content Service. Useful primarily for
- # developer testing.
- enable_simple_browser_service_in_process =
- use_aura && (is_debug || dcheck_always_on) && !is_chromecast
- enable_simple_browser_service_out_of_process =
- is_chromeos && (is_debug || dcheck_always_on)
-
- # TODO(crbug.com/980869): Change this to is_chromeos || is_android.
- enable_supervised_users = !is_chromecast
+ enable_supervised_users = is_chromeos || is_android
# Indicates if Wayland display server support is enabled.
enable_wayland_server = is_chromeos
@@ -85,7 +77,9 @@ chrome_grit_defines = [
"enable_print_preview=$enable_print_preview",
"enable_printing=$enable_basic_printing",
"enable_service_discovery=$enable_service_discovery",
+ "enable_supervised_users=$enable_supervised_users",
"enable_vr=$enable_vr",
+ "enable_webui_tab_strip=$enable_webui_tab_strip",
"safe_browsing_mode=$safe_browsing_mode",
"optimize_webui=$optimize_webui",
]
diff --git a/chromium/chrome/common/importer/profile_import.mojom b/chromium/chrome/common/importer/profile_import.mojom
index 3733b3d2daa..a61e549f6ea 100644
--- a/chromium/chrome/common/importer/profile_import.mojom
+++ b/chromium/chrome/common/importer/profile_import.mojom
@@ -8,8 +8,6 @@ import "components/autofill/core/common/mojom/autofill_types.mojom";
import "mojo/public/mojom/base/string16.mojom";
import "url/mojom/url.mojom";
-const string kProfileImportServiceName = "profile_import";
-
[Native]
struct ImportedBookmarkEntry;
diff --git a/chromium/chrome/common/mac/app_shim.mojom b/chromium/chrome/common/mac/app_shim.mojom
index 0db620473ec..0f3f31815db 100644
--- a/chromium/chrome/common/mac/app_shim.mojom
+++ b/chromium/chrome/common/mac/app_shim.mojom
@@ -31,12 +31,6 @@ interface AppShim {
// creates chrome-scoped objects that implement remote_cocoa interfaces.
CreateCommandDispatcherForWidget(uint64 widget_id);
- // Instructs the shim to hide the app.
- Hide();
-
- // Instructs the shim to show the app.
- UnhideWithoutActivation();
-
// Instructs the shim to request or cancel user attention.
SetUserAttention(AppShimAttentionType attention_type);
@@ -52,12 +46,6 @@ interface AppShimHost {
// if the focus type indicates a reopen and there are no open windows.
FocusApp(AppShimFocusType focus_type,
array<mojo_base.mojom.FilePath> files);
-
- // Sent when the app shim is hidden or unhidden.
- SetAppHidden(bool hidden);
-
- // Called when the app shim process notifies that the app should quit.
- QuitApp();
};
// The initial interface provided by the browser process. Used to bootstrap to
diff --git a/chromium/chrome/common/mac/app_shim.typemap b/chromium/chrome/common/mac/app_shim.typemap
index fd5b3f6804f..1d51a18e630 100644
--- a/chromium/chrome/common/mac/app_shim.typemap
+++ b/chromium/chrome/common/mac/app_shim.typemap
@@ -9,8 +9,8 @@ public_headers = [ "//chrome/common/mac/app_shim_launch.h" ]
traits_headers = [ "//chrome/common/mac/app_shim_param_traits.h" ]
type_mappings = [
- "chrome.mojom.AppShimLaunchType=apps::AppShimLaunchType",
- "chrome.mojom.AppShimLaunchResult=apps::AppShimLaunchResult",
- "chrome.mojom.AppShimFocusType=apps::AppShimFocusType",
- "chrome.mojom.AppShimAttentionType=apps::AppShimAttentionType",
+ "chrome.mojom.AppShimLaunchType=::apps::AppShimLaunchType",
+ "chrome.mojom.AppShimLaunchResult=::apps::AppShimLaunchResult",
+ "chrome.mojom.AppShimFocusType=::apps::AppShimFocusType",
+ "chrome.mojom.AppShimAttentionType=::apps::AppShimAttentionType",
]
diff --git a/chromium/chrome/common/media_router/BUILD.gn b/chromium/chrome/common/media_router/BUILD.gn
index 7a70515f1a7..2f253237591 100644
--- a/chromium/chrome/common/media_router/BUILD.gn
+++ b/chromium/chrome/common/media_router/BUILD.gn
@@ -27,8 +27,6 @@ static_library("router") {
"media_sink.h",
"media_source.cc",
"media_source.h",
- "media_status.cc",
- "media_status.h",
"route_request_result.cc",
"route_request_result.h",
]
diff --git a/chromium/chrome/common/media_router/mojo/media_status.typemap b/chromium/chrome/common/media_router/mojo/media_status.typemap
deleted file mode 100644
index 81ce6ec517e..00000000000
--- a/chromium/chrome/common/media_router/mojo/media_status.typemap
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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.
-
-mojom = "//chrome/common/media_router/mojo/media_status.mojom"
-public_headers = [ "//chrome/common/media_router/media_status.h" ]
-traits_headers =
- [ "//chrome/common/media_router/mojo/media_status_struct_traits.h" ]
-sources = [
- "//chrome/common/media_router/mojo/media_status_struct_traits.cc",
-]
-type_mappings = [ "media_router.mojom.MediaStatus=media_router::MediaStatus" ]
diff --git a/chromium/chrome/common/media_router/mojo/BUILD.gn b/chromium/chrome/common/media_router/mojom/BUILD.gn
index e7c020cf70c..3a43ecb8bd5 100644
--- a/chromium/chrome/common/media_router/mojo/BUILD.gn
+++ b/chromium/chrome/common/media_router/mojom/BUILD.gn
@@ -12,6 +12,8 @@ mojom("media_controller") {
public_deps = [
"//mojo/public/mojom/base",
+ "//ui/gfx/geometry/mojom",
+ "//url/mojom:url_mojom_gurl",
]
}
@@ -23,7 +25,7 @@ mojom("media_router") {
public_deps = [
":media_controller",
"//components/mirroring/mojom:host",
- "//media/mojo/interfaces:mirror_service_remoting",
+ "//media/mojo/mojom:mirror_service_remoting",
"//mojo/public/mojom/base",
"//services/network/public/mojom:mojom_ip_address",
"//third_party/blink/public/mojom:mojom_platform",
diff --git a/chromium/chrome/common/media_router/mojo/media_controller.mojom b/chromium/chrome/common/media_router/mojom/media_controller.mojom
index 80ad5f4a346..2274e631bc6 100644
--- a/chromium/chrome/common/media_router/mojo/media_controller.mojom
+++ b/chromium/chrome/common/media_router/mojom/media_controller.mojom
@@ -4,7 +4,7 @@
module media_router.mojom;
-import "chrome/common/media_router/mojo/media_status.mojom";
+import "chrome/common/media_router/mojom/media_status.mojom";
import "mojo/public/mojom/base/time.mojom";
// Interface for a controller to change the current state of a media content.
@@ -32,4 +32,12 @@ interface MediaController {
// Sets the current playback position. |time| must be less than or equal to
// the duration of the media. Is a no-op if the media doesn't support seeking.
Seek(mojo_base.mojom.TimeDelta time);
+
+ // Skips to the next media track, e.g. the next song in a playlist. It is a
+ // no-op if there is no next track.
+ NextTrack();
+
+ // Skips to the previous media track, e.g. the previous song in a playlist. It
+ // is a no-op if there is no previous track.
+ PreviousTrack();
};
diff --git a/chromium/chrome/common/media_router/mojo/media_router.mojom b/chromium/chrome/common/media_router/mojom/media_router.mojom
index fe08d5bd35b..6573857b682 100644
--- a/chromium/chrome/common/media_router/mojo/media_router.mojom
+++ b/chromium/chrome/common/media_router/mojom/media_router.mojom
@@ -4,10 +4,10 @@
module media_router.mojom;
-import "chrome/common/media_router/mojo/media_controller.mojom";
-import "chrome/common/media_router/mojo/media_status.mojom";
+import "chrome/common/media_router/mojom/media_controller.mojom";
+import "chrome/common/media_router/mojom/media_status.mojom";
import "components/mirroring/mojom/mirroring_service_host.mojom";
-import "media/mojo/interfaces/mirror_service_remoting.mojom";
+import "media/mojo/mojom/mirror_service_remoting.mojom";
import "mojo/public/mojom/base/time.mojom";
import "services/network/public/mojom/ip_address.mojom";
import "services/network/public/mojom/ip_endpoint.mojom";
@@ -87,6 +87,7 @@ struct CastMediaSink {
int32 cast_channel_id;
};
+// TODO(crbug.com/993437): Replace the use of this enum with a boolean field.
enum RouteControllerType {
kNone,
kGeneric,
@@ -205,7 +206,7 @@ struct SinkSearchCriteria {
// - RouteRequestResult::ResultCode in route_request_result.h
// - MediaRouteProviderResult enum in tools/metrics/histograms.xml.
// - mr.RouteRequestResultCode in route_request_error.js
-// - media_router_struct_traits.h
+// - media_router_mojom_traits.h
enum RouteRequestResultCode {
UNKNOWN_ERROR,
OK,
@@ -243,12 +244,12 @@ struct MediaRouteProviderConfig {
// result. An MRP may return this as part of any route creation callback to
// allow direct communication with the controlling page.
struct RoutePresentationConnection {
- // Interface pointer to send messages to the MRP.
- blink.mojom.PresentationConnection connection_ptr;
+ // Remote to send messages to the MRP.
+ pending_remote<blink.mojom.PresentationConnection> connection_remote;
- // Interface request which the controlling page should bind to receive
- // messages from the MRP.
- blink.mojom.PresentationConnection& connection_request;
+ // Receiver which the controlling page should bind to receive messages from
+ // the MRP.
+ pending_receiver<blink.mojom.PresentationConnection> connection_receiver;
};
// Modeled after the MediaRouter interface defined in
diff --git a/chromium/chrome/common/media_router/mojo/media_router.typemap b/chromium/chrome/common/media_router/mojom/media_router.typemap
index 57e6e3b584c..653d5b5eb51 100644
--- a/chromium/chrome/common/media_router/mojo/media_router.typemap
+++ b/chromium/chrome/common/media_router/mojom/media_router.typemap
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-mojom = "//chrome/common/media_router/mojo/media_router.mojom"
+mojom = "//chrome/common/media_router/mojom/media_router.mojom"
public_headers = [
"//chrome/common/media_router/discovery/media_sink_internal.h",
"//chrome/common/media_router/issue.h",
@@ -22,16 +22,16 @@ deps = [
"//url",
]
traits_headers =
- [ "//chrome/common/media_router/mojo/media_router_struct_traits.h" ]
+ [ "//chrome/common/media_router/mojom/media_router_mojom_traits.h" ]
sources = [
- "//chrome/common/media_router/mojo/media_router_struct_traits.cc",
+ "//chrome/common/media_router/mojom/media_router_mojom_traits.cc",
]
type_mappings = [
- "media_router.mojom.Issue=media_router::IssueInfo",
- "media_router.mojom.Issue.ActionType=media_router::IssueInfo::Action",
- "media_router.mojom.Issue.Severity=media_router::IssueInfo::Severity",
- "media_router.mojom.MediaRoute=media_router::MediaRoute",
- "media_router.mojom.MediaRouteProvider.Id=media_router::MediaRouteProviderId",
- "media_router.mojom.MediaSink=media_router::MediaSinkInternal",
- "media_router.mojom.RouteRequestResultCode=media_router::RouteRequestResult::ResultCode",
+ "media_router.mojom.Issue=::media_router::IssueInfo",
+ "media_router.mojom.Issue.ActionType=::media_router::IssueInfo::Action",
+ "media_router.mojom.Issue.Severity=::media_router::IssueInfo::Severity",
+ "media_router.mojom.MediaRoute=::media_router::MediaRoute",
+ "media_router.mojom.MediaRouteProvider.Id=::media_router::MediaRouteProviderId",
+ "media_router.mojom.MediaSink=::media_router::MediaSinkInternal",
+ "media_router.mojom.RouteRequestResultCode=::media_router::RouteRequestResult::ResultCode",
]
diff --git a/chromium/chrome/common/media_router/mojo/media_router_traits_test_service.mojom b/chromium/chrome/common/media_router/mojom/media_router_traits_test_service.mojom
index 8431ff646ed..9b8b61f164e 100644
--- a/chromium/chrome/common/media_router/mojo/media_router_traits_test_service.mojom
+++ b/chromium/chrome/common/media_router/mojom/media_router_traits_test_service.mojom
@@ -4,7 +4,7 @@
module media_router.mojom;
-import "chrome/common/media_router/mojo/media_router.mojom";
+import "chrome/common/media_router/mojom/media_router.mojom";
// All functions on this interface echo their arguments to test StructTraits
// serialization and deserialization.
diff --git a/chromium/chrome/common/media_router/mojo/media_status.mojom b/chromium/chrome/common/media_router/mojom/media_status.mojom
index e3b338c84e3..24806dce0d7 100644
--- a/chromium/chrome/common/media_router/mojo/media_status.mojom
+++ b/chromium/chrome/common/media_router/mojom/media_status.mojom
@@ -5,6 +5,15 @@
module media_router.mojom;
import "mojo/public/mojom/base/time.mojom";
+import "ui/gfx/geometry/mojom/geometry.mojom";
+import "url/mojom/url.mojom";
+
+struct MediaImage {
+ // URL of the image.
+ url.mojom.Url url;
+ // |size| is not set if it is unknown.
+ gfx.mojom.Size? size;
+};
// Represents the current state of a media content. This struct should be kept
// free of details specific to Media Router, so that it can be moved to the
@@ -38,6 +47,10 @@ struct MediaStatus {
// through its MediaController.
bool can_seek;
+ bool can_skip_to_next_track;
+
+ bool can_skip_to_previous_track;
+
// Whether the media is playing, paused, or buffering.
PlayState play_state;
@@ -54,6 +67,9 @@ struct MediaStatus {
// Current playback position. Must be less than or equal to |duration|.
mojo_base.mojom.TimeDelta current_time;
+
+ // Images associated with the media.
+ array<MediaImage> images;
};
// Interface for being notified whenever the MediaStatus of a media changes.
diff --git a/chromium/chrome/common/media_router/mojo/typemaps.gni b/chromium/chrome/common/media_router/mojom/typemaps.gni
index 7d134e8953d..6d3dab2995f 100644
--- a/chromium/chrome/common/media_router/mojo/typemaps.gni
+++ b/chromium/chrome/common/media_router/mojom/typemaps.gni
@@ -2,7 +2,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-typemaps = [
- "//chrome/common/media_router/mojo/media_router.typemap",
- "//chrome/common/media_router/mojo/media_status.typemap",
-]
+typemaps = [ "//chrome/common/media_router/mojom/media_router.typemap" ]
diff --git a/chromium/chrome/common/page_load_metrics/page_load_metrics.mojom b/chromium/chrome/common/page_load_metrics/page_load_metrics.mojom
deleted file mode 100644
index 910a7e56ce2..00000000000
--- a/chromium/chrome/common/page_load_metrics/page_load_metrics.mojom
+++ /dev/null
@@ -1,268 +0,0 @@
-// 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.
-
-module page_load_metrics.mojom;
-
-import "mojo/public/mojom/base/time.mojom";
-import "third_party/blink/public/mojom/web_feature/web_feature.mojom";
-import "url/mojom/origin.mojom";
-
-// TimeDeltas below relative to navigation start.
-struct DocumentTiming {
- // Time immediately before the DOMContentLoaded event is fired.
- mojo_base.mojom.TimeDelta? dom_content_loaded_event_start;
-
- // Time immediately before the load event is fired.
- mojo_base.mojom.TimeDelta? load_event_start;
-
- // Time when the first layout is completed.
- mojo_base.mojom.TimeDelta? first_layout;
-};
-
-// TimeDeltas below relative to navigation start.
-struct PaintTiming {
- // Time when the first paint is performed.
- mojo_base.mojom.TimeDelta? first_paint;
-
- // Time when the first image is painted.
- mojo_base.mojom.TimeDelta? first_image_paint;
-
- // Time when the first contentful thing (image, text, etc.) is painted.
- mojo_base.mojom.TimeDelta? first_contentful_paint;
-
- // (Experimental) Time when the page's primary content is painted.
- mojo_base.mojom.TimeDelta? first_meaningful_paint;
-
- // (Experimental) Time when the page's largest image is painted.
- mojo_base.mojom.TimeDelta? largest_image_paint;
-
- // (Experimental) Size of the largest image of the largest image paint, by
- // Size = Height * Width.
- uint64 largest_image_paint_size;
-
- // (Experimental) Time when the page's largest text is painted.
- mojo_base.mojom.TimeDelta? largest_text_paint;
-
- // (Experimental) Size of the largest text of the largest text paint, by
- // Size = Height * Width.
- uint64 largest_text_paint_size;
-};
-
-// TimeDeltas below represent durations of time during the page load.
-struct ParseTiming {
- // Time that the document's parser started and stopped parsing main resource
- // content.
- mojo_base.mojom.TimeDelta? parse_start;
- mojo_base.mojom.TimeDelta? parse_stop;
-
- // Sum of times when the parser is blocked waiting on the load of a script.
- // This duration takes place between parser_start and parser_stop, and thus
- // must be less than or equal to parser_stop - parser_start. Note that this
- // value may be updated multiple times during the period between parse_start
- // and parse_stop.
- mojo_base.mojom.TimeDelta? parse_blocked_on_script_load_duration;
-
- // Sum of times when the parser is blocked waiting on the load of a script
- // that was inserted from document.write. This duration must be less than or
- // equal to parse_blocked_on_script_load_duration. Note that this value may be
- // updated multiple times during the period between parse_start and
- // parse_stop. Note that some uncommon cases where scripts are loaded via
- // document.write are not currently covered by this field. See crbug/600711
- // for details.
- mojo_base.mojom.TimeDelta? parse_blocked_on_script_load_from_document_write_duration;
-
- // Sum of times when the parser is executing a script. This duration takes
- // place between parser_start and parser_stop, and thus must be less than or
- // equal to parser_stop - parser_start. Note that this value may be updated
- // multiple times during the period between parse_start and parse_stop.
- mojo_base.mojom.TimeDelta? parse_blocked_on_script_execution_duration;
-
- // Sum of times when the parser is executing a script that was inserted from
- // document.write. This duration must be less than or equal to
- // parse_blocked_on_script_load_duration. Note that this value may be updated
- // multiple times during the period between parse_start and parse_stop. Note
- // that some uncommon cases where scripts are loaded via document.write are
- // not currently covered by this field. See crbug/600711 for details.
- mojo_base.mojom.TimeDelta? parse_blocked_on_script_execution_from_document_write_duration;
-};
-
-struct InteractiveTiming {
- // The first time the page is considered 'interactive'. This is determined
- // using heuristics based on main thread and network activity. Time delta is
- // relative to navigation_start.
- mojo_base.mojom.TimeDelta? interactive;
-
- // The time of when we detect the page is interactive. There is a delay
- // between when the page was interactive and when we were able to detect it.
- // Time delta is relative to navigation_start.
- // This is a page load metrics internal value and not generally intended for
- // consumption by observers.
- mojo_base.mojom.TimeDelta? interactive_detection;
-
-
- // The time of when a significant input event happened that may cause
- // observers to discard the value of Time to Interactive. Time delta is
- // relative to navigation start.
- // This is a page load metrics internal value and not generally intended for
- // consumption by observers.
- mojo_base.mojom.TimeDelta? first_invalidating_input;
-
- // Queueing Time of the first click, tap, key press, cancellable touchstart,
- // or pointer down followed by a pointer up.
- mojo_base.mojom.TimeDelta? first_input_delay;
-
- // The timestamp of the event whose delay is reported by GetFirstInputDelay().
- mojo_base.mojom.TimeDelta? first_input_timestamp;
-
- // Queueing Time of the meaningful input event with longest delay. Meaningful
- // input events are click, tap, key press, cancellable touchstart, or pointer
- // down followed by a pointer up.
- mojo_base.mojom.TimeDelta? longest_input_delay;
-
- // The timestamp of the event whose delay is reported as longest_input_delay.
- mojo_base.mojom.TimeDelta? longest_input_timestamp;
-};
-
-
-// PageLoadTiming contains timing metrics associated with a page load. Many of
-// the metrics here are based on the Navigation Timing spec:
-// http://www.w3.org/TR/navigation-timing/.
-struct PageLoadTiming {
- // Time that the navigation for the associated page was initiated. Note that
- // this field is only used for internal tracking purposes and should not be
- // used by PageLoadMetricsObservers. This field will likely be removed in the
- // future.
- mojo_base.mojom.Time navigation_start;
-
- // Time relative to navigation_start that the first byte of the response is
- // received.
- mojo_base.mojom.TimeDelta? response_start;
- DocumentTiming document_timing;
- InteractiveTiming interactive_timing;
- PaintTiming paint_timing;
- ParseTiming parse_timing;
- // Time between user input and navigation start. This is set for navigations
- // where the input start timing is known; currently when the navigation is
- // initiated by a link click in the renderer, or from the desktop omnibox.
- mojo_base.mojom.TimeDelta? input_to_navigation_start;
-
- // If you add additional members, also be sure to update page_load_timing.h.
-};
-
-struct PageLoadMetadata {
- // These are packed blink::WebLoadingBehaviorFlag enums.
- int32 behavior_flags = 0;
-};
-
-// PageLoadFeatures contains a list of features newly observed by use counter.
-// In a given page load, no PageLoadFeatures sent will contain previously seen
-// values.
-struct PageLoadFeatures {
- // These features are defined as blink::mojom::WebFeature enums.
- array<blink.mojom.WebFeature> features;
- // These ints represent CSSSampleID for histogram converted from CSSPropertyId
- // by blink::UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram.
- array<int32> css_properties;
- array<int32> animated_css_properties;
-};
-
-// Enumeration of distinct cache types.
-enum CacheType {
- kNotCached, // Resource came from network.
- kHttp, // Resource was serviced by the http cache.
- kMemory, // Resource was serviced by the Renderer's MemoryCache.
-};
-
-struct ResourceDataUpdate {
- // The id for the resource request.
- int32 request_id = 0;
-
- // Network bytes received for the resource since the last timing update
- // from renderer to browser.
- int64 delta_bytes = 0;
-
- // Total network bytes received for the resource across timing updates. This
- // is the aggregate of the |delta_bytes| from each timing update.
- int64 received_data_length = 0;
-
- // The length of the response body for the resource before removing any
- // content encodings. Only set for complete resources.
- int64 encoded_body_length = 0;
-
- // Whether this resource load has completed.
- bool is_complete;
-
- // Compression ratio estimated from the response headers if data saver was
- // used.
- double data_reduction_proxy_compression_ratio_estimate;
-
- // Whether this resource was tagged as an ad in the renderer. This flag can
- // be set to true at any point during a resource load. A more recent
- // ResourceDataUpdate can have a different flag than the previous update.
- // Once this is set to true, it will be true for all future updates.
- bool reported_as_ad_resource;
-
- // Whether this resource was loaded in the top-level frame.
- bool is_main_frame_resource;
-
- // Which cache this resource originated from, if any.
- CacheType cache_type;
-
- // Whether this resource is the primary resource for a frame.
- bool is_primary_frame_resource;
-
- // Mime type for the resource found in the network response header.
- string mime_type;
-
- // Whether the scheme of this resource indicates a secure connection.
- bool is_secure_scheme;
-
- // Whether this resource was fetched via proxy.
- bool proxy_used;
-
- // The origin of this resource.
- url.mojom.Origin origin;
-};
-
-// Metrics about how a RenderFrame rendered since the last UpdateTiming call.
-struct FrameRenderDataUpdate {
- // How much visible elements in the frame shifted (bit.ly/lsm-explainer) since
- // the last timing update.
- float layout_shift_delta;
-
- // How much visible elements in the frame shifted (bit.ly/lsm-explainer),
- // before a user input or document scroll, since the last timing update.
- float layout_shift_delta_before_input_or_scroll;
-};
-
-// Metrics about the time spent in tasks (cpu time) by a frame.
-struct CpuTiming {
- // Time spent in tasks measured in wall time.
- mojo_base.mojom.TimeDelta task_time;
-};
-
-// Metrics about the count of resources that were lazy loaded in the frame.
-struct DeferredResourceCounts {
- // The count of frames that were deferred due to lazy load.
- uint64 deferred_frames = 0;
- // The count of frames that were loaded after being deferred due to lazy load.
- uint64 frames_loaded_after_deferral = 0;
-
- // The count of images that were deferred due to lazy load.
- uint64 deferred_images = 0;
- // The count of images that were loaded after being deferred due to lazy load.
- uint64 images_loaded_after_deferral = 0;
-};
-
-// Sent from renderer to browser process when the PageLoadTiming for the
-// associated frame changed.
-interface PageLoadMetrics {
- UpdateTiming(PageLoadTiming page_load_timing,
- PageLoadMetadata page_load_metadata,
- PageLoadFeatures new_features,
- array<ResourceDataUpdate> resources,
- FrameRenderDataUpdate render_data,
- CpuTiming cpu_load_timing,
- DeferredResourceCounts new_deferred_resource_data);
-};
diff --git a/chromium/chrome/common/performance_manager/mojom/BUILD.gn b/chromium/chrome/common/performance_manager/mojom/BUILD.gn
new file mode 100644
index 00000000000..92d98c1df32
--- /dev/null
+++ b/chromium/chrome/common/performance_manager/mojom/BUILD.gn
@@ -0,0 +1,7 @@
+import("//mojo/public/tools/bindings/mojom.gni")
+
+mojom("mojom") {
+ sources = [
+ "tcmalloc.mojom",
+ ]
+}
diff --git a/chromium/chrome/common/performance_manager/mojom/tcmalloc.mojom b/chromium/chrome/common/performance_manager/mojom/tcmalloc.mojom
new file mode 100644
index 00000000000..771ba138f3e
--- /dev/null
+++ b/chromium/chrome/common/performance_manager/mojom/tcmalloc.mojom
@@ -0,0 +1,15 @@
+// Copyright 2019 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.
+
+module tcmalloc.mojom;
+
+// Interface used for changing tcmallocs tunables for a subprocess over
+// mojo IPC. This interface is implemented in the renderer processes and
+// is invoked by the browser process.
+interface TcmallocTunables {
+
+ // Changes the current max size of an individual processes' thread cache.
+ SetMaxTotalThreadCacheBytes(uint32 size_bytes);
+};
+
diff --git a/chromium/chrome/common/safe_browsing/BUILD.gn b/chromium/chrome/common/safe_browsing/BUILD.gn
index 8caeff8950d..0d620344805 100644
--- a/chromium/chrome/common/safe_browsing/BUILD.gn
+++ b/chromium/chrome/common/safe_browsing/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//chrome/common/features.gni")
+import("//components/safe_browsing/buildflags.gni")
import("//third_party/protobuf/proto_library.gni")
proto_library("proto") {
diff --git a/chromium/chrome/common/search.typemap b/chromium/chrome/common/search.typemap
index 7e8030e3486..0f7ae511106 100644
--- a/chromium/chrome/common/search.typemap
+++ b/chromium/chrome/common/search.typemap
@@ -9,7 +9,7 @@ public_headers = [
"//components/ntp_tiles/ntp_tile_impression.h",
"//components/omnibox/common/omnibox_focus_state.h",
]
-traits_headers = [ "//chrome/common/instant_struct_traits.h" ]
+traits_headers = [ "//chrome/common/instant_mojom_traits.h" ]
deps = [
"//chrome/common",
"//ipc",
diff --git a/chromium/chrome/common/search/BUILD.gn b/chromium/chrome/common/search/BUILD.gn
index 3175d5b546b..70b75df2156 100644
--- a/chromium/chrome/common/search/BUILD.gn
+++ b/chromium/chrome/common/search/BUILD.gn
@@ -12,6 +12,7 @@ executable("generate_colors_info") {
]
deps = [
"//base",
+ "//chrome:strings",
"//chrome/common/themes:autogenerated_theme_util",
"//skia",
]
diff --git a/chromium/chrome/common/url_constants.cc b/chromium/chrome/common/url_constants.cc
index 27ccc824998..3b3a9672b38 100644
--- a/chromium/chrome/common/url_constants.cc
+++ b/chromium/chrome/common/url_constants.cc
@@ -4,6 +4,8 @@
#include "chrome/common/url_constants.h"
+#include "build/branding_buildflags.h"
+
namespace chrome {
const char kAccessibilityLabelsLearnMoreURL[] =
@@ -16,11 +18,7 @@ const char kAdvancedProtectionDownloadLearnMoreURL[] =
"https://support.google.com/accounts/?p=ap_faq";
const char kBluetoothAdapterOffHelpURL[] =
-#if defined(OS_CHROMEOS)
- "chrome://settings/?search=bluetooth";
-#else
"https://support.google.com/chrome?p=bluetooth";
-#endif
const char kCastCloudServicesHelpURL[] =
"https://support.google.com/chromecast/?p=casting_cloud_services";
@@ -43,22 +41,22 @@ const char kChromeReleaseNotesURL[] =
const char kChromeHelpViaKeyboardURL[] =
#if defined(OS_CHROMEOS)
-#if defined(GOOGLE_CHROME_BUILD)
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
"chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
#else
"https://support.google.com/chromebook/?p=help&ctx=keyboard";
-#endif // defined(GOOGLE_CHROME_BUILD)
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#else
"https://support.google.com/chrome/?p=help&ctx=keyboard";
#endif // defined(OS_CHROMEOS)
const char kChromeHelpViaMenuURL[] =
#if defined(OS_CHROMEOS)
-#if defined(GOOGLE_CHROME_BUILD)
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
"chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
#else
"https://support.google.com/chromebook/?p=help&ctx=menu";
-#endif // defined(GOOGLE_CHROME_BUILD)
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#else
"https://support.google.com/chrome/?p=help&ctx=menu";
#endif // defined(OS_CHROMEOS)
@@ -67,11 +65,11 @@ const char kChromeHelpViaWebUIURL[] =
"https://support.google.com/chrome/?p=help&ctx=settings";
#if defined(OS_CHROMEOS)
const char kChromeOsHelpViaWebUIURL[] =
-#if defined(GOOGLE_CHROME_BUILD)
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
"chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
#else
"https://support.google.com/chromebook/?p=help&ctx=settings";
-#endif // defined(GOOGLE_CHROME_BUILD)
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // defined(OS_CHROMEOS)
const char kChromeNativeScheme[] = "chrome-native";
@@ -158,6 +156,17 @@ const char kGoogleAccountChooserURL[] =
const char kGooglePasswordManagerURL[] = "https://passwords.google.com";
+const char kPasswordCheckupURL[] =
+#if defined(OS_ANDROID)
+ "https://passwords.google.com/checkup/"
+ "start?utm_source=chrome&utm_medium=android&utm_campaign=leak_dialog&crch="
+ "true";
+#else
+ "https://passwords.google.com/checkup/"
+ "start?utm_source=chrome&utm_medium=desktop&utm_campaign=leak_dialog&crch="
+ "true";
+#endif
+
const char kLearnMoreReportingURL[] =
"https://support.google.com/chrome/?p=ui_usagestat";
@@ -330,6 +339,9 @@ const char kLearnMoreEnterpriseURL[] =
const char kLinuxAppsLearnMoreURL[] =
"https://support.google.com/chromebook?p=chromebook_linuxapps";
+const char kLinuxExportImportHelpURL[] =
+ "https://support.google.com/chromebook?p=linux_backup_restore";
+
const char kLinuxCreditsPath[] =
"/opt/google/chrome/resources/linux_credits.html";
diff --git a/chromium/chrome/common/url_constants.h b/chromium/chrome/common/url_constants.h
index fa4d8bc903c..51445591a4a 100644
--- a/chromium/chrome/common/url_constants.h
+++ b/chromium/chrome/common/url_constants.h
@@ -150,6 +150,9 @@ extern const char kGoogleAccountChooserURL[];
// URL of the Google Password Manager.
extern const char kGooglePasswordManagerURL[];
+// URL for Password Checkup.
+extern const char kPasswordCheckupURL[];
+
// The URL for the "Learn more" page for the usage/crash reporting option in the
// first run dialog.
extern const char kLearnMoreReportingURL[];
@@ -282,6 +285,9 @@ extern const char kLearnMoreEnterpriseURL[];
// The URL for the Learn More page about Linux for Chromebooks.
extern const char kLinuxAppsLearnMoreURL[];
+// The URL for additional help that is given when Linux export/import fails.
+extern const char kLinuxExportImportHelpURL[];
+
// Credits for Linux for Chromebooks.
extern const char kLinuxCreditsPath[];
diff --git a/chromium/chrome/common/webui_url_constants.cc b/chromium/chrome/common/webui_url_constants.cc
index 9aafec47750..8594a6ac355 100644
--- a/chromium/chrome/common/webui_url_constants.cc
+++ b/chromium/chrome/common/webui_url_constants.cc
@@ -57,6 +57,8 @@ const char kChromeUIDevToolsURL[] =
const char kChromeUIDeviceLogHost[] = "device-log";
const char kChromeUIDevicesHost[] = "devices";
const char kChromeUIDevicesURL[] = "chrome://devices/";
+const char kChromeUIDevUiLoaderHost[] = "dev-ui-loader";
+const char kChromeUIDevUiLoaderURL[] = "chrome://dev-ui-loader/";
const char kChromeUIDomainReliabilityInternalsHost[] =
"domain-reliability-internals";
const char kChromeUIDownloadInternalsHost[] = "download-internals";
@@ -160,11 +162,13 @@ const char kChromeUIThumbnailListHost[] = "thumbnails";
const char kChromeUIThumbnailURL[] = "chrome://thumb/";
const char kChromeUITranslateInternalsHost[] = "translate-internals";
const char kChromeUIUkmHost[] = "ukm";
-const char kChromeUIUberHost[] = "chrome";
const char kChromeUIUsbInternalsHost[] = "usb-internals";
const char kChromeUIUserActionsHost[] = "user-actions";
const char kChromeUIVersionHost[] = "version";
const char kChromeUIVersionURL[] = "chrome://version/";
+const char kChromeUIWebFooterExperimentHost[] = "web-footer-experiment";
+const char kChromeUIWebFooterExperimentURL[] =
+ "chrome://web-footer-experiment/";
const char kChromeUIWelcomeHost[] = "welcome";
const char kChromeUIWelcomeURL[] = "chrome://welcome/";
@@ -303,11 +307,6 @@ bool IsSystemWebUIHost(base::StringPiece host) {
}
#endif // defined(OS_CHROMEOS)
-#if defined(OS_WIN)
-const char kChromeUIMetroFlowHost[] = "make-metro";
-const char kChromeUIMetroFlowURL[] = "chrome://make-metro/";
-#endif
-
#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
const char kChromeUICastHost[] = "cast";
#endif
@@ -341,6 +340,11 @@ const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
const char kChromeUIPrintHost[] = "print";
#endif
+#if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
+const char kChromeUITabStripHost[] = "tab-strip";
+const char kChromeUITabStripURL[] = "chrome://tab-strip";
+#endif
+
const char kChromeUIWebRtcLogsHost[] = "webrtc-logs";
// Settings sub pages.
@@ -385,21 +389,25 @@ const char kBluetoothSubPage[] = "bluetoothDevices";
const char kChangePictureSubPage[] = "changePicture";
// 'multidevice/features' is a child of the 'multidevice' route
const char kConnectedDevicesSubPage[] = "multidevice/features";
+const char kCrostiniSharedPathsSubPage[] = "crostini/sharedPaths";
const char kCrostiniSharedUsbDevicesSubPage[] = "crostini/sharedUsbDevices";
+const char kCrostiniExportImportSubPage[] = "crostini/exportImport";
const char kDateTimeSubPage[] = "dateTime";
const char kDisplaySubPage[] = "display";
+const char kExternalStorageSubPage[] = "storage/externalStoragePreferences";
const char kHelpSubPage[] = "help";
const char kInternetSubPage[] = "internet";
const char kKerberosAccountsSubPage[] = "kerberosAccounts";
const char kKeyboardOverlaySubPage[] = "keyboard-overlay";
const char kLockScreenSubPage[] = "lockScreen";
const char kManageAccessibilitySubPage[] = "manageAccessibility";
+const char kManageAccessibilityTtsSubPage[] = "manageAccessibility/tts";
const char kMultideviceSubPage[] = "multidevice";
const char kNativePrintingSettingsSubPage[] = "cupsPrinters";
const char kNetworkDetailSubPage[] = "networkDetail";
const char kNetworksSubPage[] = "networks";
const char kPluginVmDetailsSubPage[] = "pluginVm/details";
-const char kPluginVmSharedPathSubPage[] = "pluginVm/sharedPath";
+const char kPluginVmSharedPathsSubPage[] = "pluginVm/sharedPaths";
const char kPointerOverlaySubPage[] = "pointer-overlay";
const char kPowerSubPage[] = "power";
const char kResetSubPage[] = "reset";
@@ -407,6 +415,7 @@ const char kSmartLockSettingsSubPage[] = "multidevice/features/smartLock";
const char kSmbSharesSubPage[] = "smbShares";
const char kStorageSubPage[] = "storage";
const char kStylusSubPage[] = "stylus";
+const char kSwitchAccessSubPage[] = "manageAccessibility/switchAccess";
// Tether is a child of the 'networks' route.
const char kTetherSettingsSubPage[] = "networks?type=Tether";
const char kVPNSettingsSubPage[] = "networks?type=VPN";
@@ -423,9 +432,11 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kBluetoothSubPage,
kChangePictureSubPage,
kConnectedDevicesSubPage,
+ kCrostiniSharedPathsSubPage,
kCrostiniSharedUsbDevicesSubPage,
kDateTimeSubPage,
kDisplaySubPage,
+ kExternalStorageSubPage,
kHelpSubPage,
kInternetSubPage,
kKerberosAccountsSubPage,
@@ -434,6 +445,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kLanguageOptionsSubPage,
kLockScreenSubPage,
kManageAccessibilitySubPage,
+ kManageAccessibilityTtsSubPage,
kMultideviceSubPage,
kNativePrintingSettingsSubPage,
kNetworkDetailSubPage,
@@ -446,6 +458,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kSmbSharesSubPage,
kStorageSubPage,
kStylusSubPage,
+ kSwitchAccessSubPage,
// sync is both an OS and browser sub page, but prefer the OS version
kSyncSetupSubPage,
kVPNSettingsSubPage,
@@ -550,7 +563,6 @@ const char* const kChromeHostURLs[] = {
kChromeUIInspectHost,
kChromeUISettingsHost,
kChromeUISystemInfoHost,
- kChromeUIUberHost,
#endif
#if defined(OS_ANDROID)
kChromeUIExploreSitesInternalsHost,
@@ -568,6 +580,7 @@ const char* const kChromeHostURLs[] = {
kChromeUINetworkHost,
kChromeUIOobeHost,
kChromeUIOSCreditsHost,
+ kChromeUIOSSettingsHost,
kChromeUIPowerHost,
kChromeUIInternetConfigDialogHost,
kChromeUIInternetDetailDialogHost,
diff --git a/chromium/chrome/common/webui_url_constants.h b/chromium/chrome/common/webui_url_constants.h
index 7d60fd45b9b..f550bc6e853 100644
--- a/chromium/chrome/common/webui_url_constants.h
+++ b/chromium/chrome/common/webui_url_constants.h
@@ -64,6 +64,8 @@ extern const char kChromeUIDevToolsURL[];
extern const char kChromeUIDeviceLogHost[];
extern const char kChromeUIDevicesHost[];
extern const char kChromeUIDevicesURL[];
+extern const char kChromeUIDevUiLoaderHost[];
+extern const char kChromeUIDevUiLoaderURL[];
extern const char kChromeUIDomainReliabilityInternalsHost[];
extern const char kChromeUIDownloadInternalsHost[];
extern const char kChromeUIDownloadsHost[];
@@ -162,11 +164,12 @@ extern const char kChromeUIThumbnailListHost[];
extern const char kChromeUIThumbnailURL[];
extern const char kChromeUITranslateInternalsHost[];
extern const char kChromeUIUkmHost[];
-extern const char kChromeUIUberHost[];
extern const char kChromeUIUsbInternalsHost[];
extern const char kChromeUIUserActionsHost[];
extern const char kChromeUIVersionHost[];
extern const char kChromeUIVersionURL[];
+extern const char kChromeUIWebFooterExperimentHost[];
+extern const char kChromeUIWebFooterExperimentURL[];
extern const char kChromeUIWelcomeHost[];
extern const char kChromeUIWelcomeURL[];
@@ -263,11 +266,6 @@ bool IsSystemWebUIHost(base::StringPiece host);
#endif // defined(OS_CHROMEOS)
-#if defined(OS_WIN)
-extern const char kChromeUIMetroFlowHost[];
-extern const char kChromeUIMetroFlowURL[];
-#endif
-
#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
extern const char kChromeUICastHost[];
#endif
@@ -302,6 +300,11 @@ extern const char kChromeUITabModalConfirmDialogHost[];
extern const char kChromeUIPrintHost[];
#endif
+#if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
+extern const char kChromeUITabStripHost[];
+extern const char kChromeUITabStripURL[];
+#endif
+
extern const char kChromeUIWebRtcLogsHost[];
// Settings sub-pages.
@@ -342,9 +345,12 @@ extern const char kAssistantSubPage[];
extern const char kBluetoothSubPage[];
extern const char kChangePictureSubPage[];
extern const char kConnectedDevicesSubPage[];
+extern const char kCrostiniSharedPathsSubPage[];
extern const char kCrostiniSharedUsbDevicesSubPage[];
+extern const char kCrostiniExportImportSubPage[];
extern const char kDateTimeSubPage[];
extern const char kDisplaySubPage[];
+extern const char kExternalStorageSubPage[];
extern const char kHelpSubPage[];
extern const char kInternetSubPage[];
extern const char kKerberosAccountsSubPage[];
@@ -356,7 +362,7 @@ extern const char kNativePrintingSettingsSubPage[];
extern const char kNetworkDetailSubPage[];
extern const char kNetworksSubPage[];
extern const char kPluginVmDetailsSubPage[];
-extern const char kPluginVmSharedPathSubPage[];
+extern const char kPluginVmSharedPathsSubPage[];
extern const char kPointerOverlaySubPage[];
extern const char kPowerSubPage[];
extern const char kResetSubPage[];