diff --git a/DEPS b/DEPS
index e26b2eed6e9874..db1eea8fce595b 100644
--- a/DEPS
+++ b/DEPS
@@ -239,7 +239,7 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling Skia
# and whatever else without interference from each other.
- 'skia_revision': '71f7880bb635810ca81e6cebaaaa25018499f2d7',
+ 'skia_revision': 'e17fd4fea551ea554b67af7c044b5fbc1e90ce00',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling V8
# and whatever else without interference from each other.
@@ -255,7 +255,7 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling PDFium
# and whatever else without interference from each other.
- 'pdfium_revision': 'ffe2e366064b6d884e0c8ffd9fe94f2a585c5581',
+ 'pdfium_revision': '8436313566e6ad9c82e73888db468b315026ce8f',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling BoringSSL
# and whatever else without interference from each other.
@@ -314,7 +314,7 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling devtools-frontend
# and whatever else without interference from each other.
- 'devtools_frontend_revision': '895afdf921d39c15ec8b6c072e08d12961f797b1',
+ 'devtools_frontend_revision': '8b004bd567919de941703655d5f312465428fc0a',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling libprotobuf-mutator
# and whatever else without interference from each other.
@@ -1033,7 +1033,7 @@ deps = {
# For Linux and Chromium OS.
'src/third_party/cros_system_api': {
- 'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + '188fb4eba05af428a48c7ce173a3026215241850',
+ 'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + '725259a4bd767e8535374fc391849f2bc4a79e32',
'condition': 'checkout_linux',
},
@@ -1603,7 +1603,7 @@ deps = {
'src/third_party/usrsctp/usrsctplib':
Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '62d7d0c928c9a040dce96aa2f16c00e7e67d59cb',
- 'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@2ec74208b0306eff87b9ebc097d8dfbb20e76fc2',
+ 'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@a8221eed597007ec8c52726562c1371195c41b08',
'src/third_party/vulkan_memory_allocator':
Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git' + '@' + '5e49f57a6e71a026a54eb42e366de09a4142d24e',
@@ -1700,7 +1700,7 @@ deps = {
Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'),
'src-internal': {
- 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@8ec97804c2ef0925c3447d7915a8ec63f5181895',
+ 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@3772b4e1977a26513f2da475016bd6912a1c9c65',
'condition': 'checkout_src_internal',
},
diff --git a/ash/constants/ash_pref_names.cc b/ash/constants/ash_pref_names.cc
index 2d669864ed9f3f..c5b4eb38df0159 100644
--- a/ash/constants/ash_pref_names.cc
+++ b/ash/constants/ash_pref_names.cc
@@ -431,9 +431,11 @@ const char kManagedGuestSessionPrivacyWarningsEnabled[] =
"managed_session.privacy_warning_enabled";
// Boolean pref indicating whether the user has enabled detection of snooping
-// over their shoulder.
+// over their shoulder, and hiding of notifications when a snooper is detected.
const char kSnoopingProtectionEnabled[] =
"ash.privacy.snooping_protection_enabled";
+const char kSnoopingProtectionNotificationSuppressionEnabled[] =
+ "ash.privacy.snooping_protection_notification_suppression_enabled";
// A string pref storing the type of lock screen notification mode.
// "show" -> show notifications on the lock screen
diff --git a/ash/constants/ash_pref_names.h b/ash/constants/ash_pref_names.h
index ab5c81e3dfc096..bed1800cca788e 100644
--- a/ash/constants/ash_pref_names.h
+++ b/ash/constants/ash_pref_names.h
@@ -214,6 +214,8 @@ extern const char kManagedGuestSessionPrivacyWarningsEnabled[];
COMPONENT_EXPORT(ASH_CONSTANTS)
extern const char kSnoopingProtectionEnabled[];
+COMPONENT_EXPORT(ASH_CONSTANTS)
+extern const char kSnoopingProtectionNotificationSuppressionEnabled[];
// Lock screen notification settings.
COMPONENT_EXPORT(ASH_CONSTANTS)
diff --git a/ash/constants/ash_switches.cc b/ash/constants/ash_switches.cc
index 70411c9332950c..40072fa6bc413d 100644
--- a/ash/constants/ash_switches.cc
+++ b/ash/constants/ash_switches.cc
@@ -469,6 +469,12 @@ const char kEnterpriseEnrollmentInitialModulus[] =
const char kEnterpriseEnrollmentModulusLimit[] =
"enterprise-enrollment-modulus-limit";
+// Disallow blocking developer mode through enterprise device policy:
+// - Fail enterprise enrollment if enrolling would block dev mode.
+// - Don't apply new device policy if it would block dev mode.
+// This is only usable on test builds.
+const char kDisallowPolicyBlockDevMode[] = "disallow-policy-block-dev-mode";
+
// Write extension install events to chrome log for integration test.
const char kExtensionInstallEventChromeLogForTests[] =
"extension-install-event-chrome-log-for-tests";
diff --git a/ash/constants/ash_switches.h b/ash/constants/ash_switches.h
index a010a01d3a82c0..b6636cedfb48bd 100644
--- a/ash/constants/ash_switches.h
+++ b/ash/constants/ash_switches.h
@@ -159,6 +159,8 @@ extern const char kEnterpriseEnrollmentInitialModulus[];
COMPONENT_EXPORT(ASH_CONSTANTS)
extern const char kEnterpriseEnrollmentModulusLimit[];
COMPONENT_EXPORT(ASH_CONSTANTS)
+extern const char kDisallowPolicyBlockDevMode[];
+COMPONENT_EXPORT(ASH_CONSTANTS)
extern const char kExtensionInstallEventChromeLogForTests[];
COMPONENT_EXPORT(ASH_CONSTANTS)
extern const char kExternalMetricsCollectionInterval[];
diff --git a/ash/system/unified/hps_notify_controller.cc b/ash/system/unified/hps_notify_controller.cc
index b40ce96a76c5e1..1595a03d4e7820 100644
--- a/ash/system/unified/hps_notify_controller.cc
+++ b/ash/system/unified/hps_notify_controller.cc
@@ -55,6 +55,10 @@ void HpsNotifyController::RegisterProfilePrefs(PrefRegistrySimple* registry) {
prefs::kSnoopingProtectionEnabled,
/*default_value=*/false,
user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
+ registry->RegisterBooleanPref(
+ prefs::kSnoopingProtectionNotificationSuppressionEnabled,
+ /*default_value=*/false,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_OS_PREF);
}
void HpsNotifyController::OnSessionStateChanged(
diff --git a/ash/webui/camera_app_ui/resources.h b/ash/webui/camera_app_ui/resources.h
index 34535b231293cd..6aa494b073d5c5 100644
--- a/ash/webui/camera_app_ui/resources.h
+++ b/ash/webui/camera_app_ui/resources.h
@@ -61,7 +61,6 @@ const struct {
{"expert_print_performance_logs", IDS_EXPERT_PRINT_PERFORMANCE_LOGS},
{"expert_save_metadata", IDS_EXPERT_SAVE_METADATA},
{"expert_scan_barcode", IDS_EXPERT_SCAN_BARCODE},
- {"expert_show_gif_recording_option", IDS_EXPERT_SHOW_GIF_RECORDING_OPTION},
{"export_button", IDS_EXPORT_BUTTON},
{"feedback_button", IDS_FEEDBACK_BUTTON},
{"feedback_description_placeholder", IDS_FEEDBACK_DESCRIPTION_PLACEHOLDER},
diff --git a/ash/webui/camera_app_ui/resources/css/mode/video.css b/ash/webui/camera_app_ui/resources/css/mode/video.css
index f6a28b6637d65b..3f91064e828c7f 100644
--- a/ash/webui/camera_app_ui/resources/css/mode/video.css
+++ b/ash/webui/camera_app_ui/resources/css/mode/video.css
@@ -2,7 +2,7 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file. */
-body:is(:not(.video), :not(.expert), :not(.show-gif-recording-option), .taking, .camera-configuring, .should-handle-intent-result) #record-types-group {
+body:is(:not(.video), .taking, .camera-configuring, .should-handle-intent-result) #record-types-group {
display: none;
}
diff --git a/ash/webui/camera_app_ui/resources/js/i18n_string.ts b/ash/webui/camera_app_ui/resources/js/i18n_string.ts
index 4dc3ddb9f56496..56a1255ae4c931 100644
--- a/ash/webui/camera_app_ui/resources/js/i18n_string.ts
+++ b/ash/webui/camera_app_ui/resources/js/i18n_string.ts
@@ -51,7 +51,6 @@ export enum I18nString {
EXPERT_PRINT_PERFORMANCE_LOGS = 'expert_print_performance_logs',
EXPERT_SAVE_METADATA = 'expert_save_metadata',
EXPERT_SCAN_BARCODE = 'expert_scan_barcode',
- EXPERT_SHOW_GIF_RECORDING_OPTION = 'expert_show_gif_recording_option',
EXPORT_BUTTON = 'export_button',
FEEDBACK_BUTTON = 'feedback_button',
FEEDBACK_DESCRIPTION_PLACEHOLDER = 'feedback_description_placeholder',
diff --git a/ash/webui/camera_app_ui/resources/js/state.js b/ash/webui/camera_app_ui/resources/js/state.js
index a85ce1a3eceedb..c4ec702e11a102 100644
--- a/ash/webui/camera_app_ui/resources/js/state.js
+++ b/ash/webui/camera_app_ui/resources/js/state.js
@@ -62,7 +62,6 @@ export const State = {
SHOULD_HANDLE_INTENT_RESULT: 'should-handle-intent-result',
SHOW_METADATA: 'show-metadata',
SHOW_SCAN_MODE: 'show-scan-mode',
- SHOW_GIF_RECORDING_OPTION: 'show-gif-recording-option',
SHUTTER_PROGRESSING: 'shutter-progressing',
STREAMING: 'streaming',
SUSPEND: 'suspend',
diff --git a/ash/webui/camera_app_ui/resources/js/views/camera/mode/video.js b/ash/webui/camera_app_ui/resources/js/views/camera/mode/video.js
index 0d5bdd45428ccb..a38083350074c9 100644
--- a/ash/webui/camera_app_ui/resources/js/views/camera/mode/video.js
+++ b/ash/webui/camera_app_ui/resources/js/views/camera/mode/video.js
@@ -370,9 +370,7 @@ export class Video extends ModeBase {
* record type option groups.
*/
getToggledRecordOption_() {
- if (state.get(state.State.SHOULD_HANDLE_INTENT_RESULT) ||
- !state.get(state.State.EXPERT) ||
- !state.get(state.State.SHOW_GIF_RECORDING_OPTION)) {
+ if (state.get(state.State.SHOULD_HANDLE_INTENT_RESULT)) {
return RecordType.NORMAL;
}
return Object.values(RecordType).find((t) => state.get(t)) ||
diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings.grd b/ash/webui/camera_app_ui/resources/strings/camera_strings.grd
index 8fe236ca340490..db6c1e25d0db0b 100644
--- a/ash/webui/camera_app_ui/resources/strings/camera_strings.grd
+++ b/ash/webui/camera_app_ui/resources/strings/camera_strings.grd
@@ -326,9 +326,6 @@
Enable full-sized video snapshot
-
- Show GIF recording option
-
Link copied
diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings_grd/IDS_EXPERT_SHOW_GIF_RECORDING_OPTION.png.sha1 b/ash/webui/camera_app_ui/resources/strings/camera_strings_grd/IDS_EXPERT_SHOW_GIF_RECORDING_OPTION.png.sha1
deleted file mode 100644
index 0abb45e41bc24e..00000000000000
--- a/ash/webui/camera_app_ui/resources/strings/camera_strings_grd/IDS_EXPERT_SHOW_GIF_RECORDING_OPTION.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-83b3522f481176bc46a4c4fa68d03ff417e6e0e3
\ No newline at end of file
diff --git a/ash/webui/camera_app_ui/resources/views/main.html b/ash/webui/camera_app_ui/resources/views/main.html
index 0431d7197fa1f3..7d834e899e105a 100644
--- a/ash/webui/camera_app_ui/resources/views/main.html
+++ b/ash/webui/camera_app_ui/resources/views/main.html
@@ -574,12 +574,6 @@
data-key="enableFullSizedVideoSnapshot">
-