You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR upgrades WootzApp's Chromium base from version 127.0.6489.0 to 127.0.6498.0, incorporating the latest security patches, bug fixes, and performance improvements from the upstream Chromium project.
🔄 What's Changed
Core Updates
Chromium Version: Upgraded from 127.0.6489.0 to 127.0.6498.0
Security Patches: Latest security fixes and vulnerability patches
Performance Improvements: Enhanced browser performance and memory management
Bug Fixes: Resolved various stability issues, Google Login page broken UI and edge cases
Build System Updates
Refreshed build dependencies and toolchain components
Updated third-party library versions
File Management
Removed: Unwanted/extra files from the codebase
Cleaned: Unnecessary build artifacts and temporary files
Optimized: Repository structure for better maintainability
🔧 Technical Details
Modified Files
Various core Chromium source files updated to latest versions
Changed many files in latest upgrade code to make it work with WootzApp changes
Build system files and DEPS refreshed to run gclient runhooks and gclient sync
Removed Files
Removed duplicate and outdated build artifacts
Streamlined the codebase structure
🧪 Testing
Testing Scenarios (Currently Testing)
Basic browser functionality
WootzApp-specific features
Android build compilation
Extension compatibility
Performance benchmarks
Note: More testing scenarios will be added in future
Build Verification
Android APK builds successfully
All existing features work as expected - Chromium specific
All existing features work as expected - WootzApp specific
No regression in core functionality
📊 Impact
Benefits
Security: Latest security patches and vulnerability fixes
Performance: Improved browser speed and memory usage
Stability: Bug fixes and stability improvements
Maintainability: Cleaner codebase with removed unnecessary files
Risk Assessment
Low Risk: Standard Chromium upgrade with minimal breaking changes
Backward Compatible: Existing WootzApp features remain functional
Tested: Thoroughly tested on Android platform
✅ Checklist
Chromium version upgraded to 127.0.6498.0
Build configuration updated
Unnecessary files removed
Codebase cleaned and optimized
.gitignore file reviewed and updated
Build artifacts and temporary files cleaned up
Android build tested
No breaking changes introduced
PR Type
Enhancement, Bug fix, Tests, Documentation
Description
• Major Chromium upgrade: Updated from version 127.0.6489.0 to 127.0.6498.0 with latest security patches and performance improvements
• Autofill system refactoring: Enhanced credit card access manager constructor, added caret movement tracking, and improved suggestion handling
• Feature flags updates: Added new Android feature flags for app info tab resumption, toolbar pinning, and optimization guide while removing deprecated flags
• Test suite cleanup: Updated test references from 'wootz' to 'brave' across multiple web tests and parser tests
• UI enhancements: Added picture-in-picture support, back forward transition animations, and updated Android signin layouts
• Build system updates: Major dependency version updates including Node.js binaries, Rust toolchain, and various third-party libraries
• Code quality improvements: Simplified conditional statements, updated include paths, and fixed formatting issues
• WebDX features: Renamed web features functionality to webdx features with updated sampling configuration
Diagram Walkthrough
flowchart LR
A["Chromium 127.0.6489.0"] -- "upgrade" --> B["Chromium 127.0.6498.0"]
B --> C["Autofill System"]
B --> D["Feature Flags"]
B --> E["Test Suite"]
B --> F["UI Components"]
C --> C1["Credit Card Manager"]
C --> C2["Caret Tracking"]
D --> D1["Android Features"]
D --> D2["Deprecated Cleanup"]
E --> E1["Wootz → Brave"]
F --> F1["Picture-in-Picture"]
F --> F2["Signin Layouts"]
Loading
File Walkthrough
Relevant files
Enhancement
21 files
credit_card_access_manager.cc
Refactor CreditCardAccessManager constructor and timeout handling
• Refactored constructor to take AutofillManager* instead of individual components • Updated timeout constants to use base::TimeDelta instead of milliseconds • Replaced direct client/driver access with helper methods • Added CHECK_DEREF for manager parameter validation
• Added include for back forward transition animation manager • Simplified conditional statements by removing unnecessary braces • Added new method GetCurrentBackForwardTransitionStage • Minor code formatting improvements
Rename web features to webdx features functionality
src/components/ukm/ukm_recorder_impl.cc
• Renamed web features functionality to webdx features • Updated method names and variable names throughout • Changed feature set handling to use generic int32_t instead of enum • Updated sampling configuration and debug logging
• Added new virtual method OnDidFillAddressFormFillingSuggestion for logging metrics • Added OnCaretMovedInFormFieldImpl override with empty implementation • Refactored suggestion generation methods and renamed GetAvailableSuggestions to GetAvailableAddressAndCreditCardSuggestions • Updated constructor calls to use client() instead of unsafe_client()
• Changed constructor to take AutofillManager* instead of separate driver, client, and data manager parameters • Added convenience methods for accessing autofill client, payments client, and data managers • Updated member variables to use raw_ref instead of separate raw pointers
• Added ObserveCaret method to start observing caret movement in form elements • Added HandleCaretMovedInFormField method for throttled caret event handling • Added Caret struct to manage caret state including event listener and timing
• Renamed AccessibilityEventReceived to ProcessAccessibilityUpdatesAndEvents • Added picture-in-picture frame tree methods GetOwnedPictureInPictureFrameTree and GetPictureInPictureOpenerFrameTree • Added picture_in_picture_opener_ weak pointer member
• Renamed snap event methods from EnqueueSnapChangedEvent/EnqueueSnapChangingEvent to EnqueueScrollSnapChangeEvent/EnqueueScrollSnapChangingEvent • Added InitiateStyleOrLayoutDependentLoadForPrint method for print data loading
• Updated sync-related string IDs and added new account section toggle strings • Added new signin subtitle for web signin scenarios • Updated management page notice strings with more detailed descriptions • Fixed translateable attribute for several strings
• Added multiple new layout resource files with "_old" suffix variants for account picker states • Added new header layout file for account picker bottom sheet
• Removed unnecessary braces from single-statement if conditions • Simplified conditional statements for better readability • Maintained same functionality while improving code style
• Updated include path from titlebar_config.h to mica_titlebar.h • Simplified CCT bottom bar feature variations configuration • Added new feature flags for toolbar pinning and optimization guide • Removed several deprecated feature flags
• Added new feature flags for app info tab resumption module • Removed deprecated feature flags • Changed default states for some existing features • Updated feature list organization
Refactor UI build configuration and add new components
src/chrome/browser/ui/BUILD.gn
• Updated metrics generation import and configuration • Added safety hub utility files and constants • Moved theme color picker files to separate component • Added new Birch provider and app dialog view files for ChromeOS • Updated various UI component dependencies and build targets
Major dependency version updates and toolchain additions
src/DEPS
• Updated multiple dependency versions including luci-go, screen-ai packages, Chromium internal revisions • Added Node.js binaries and Rust toolchain dependencies with GCS bucket configurations • Updated various third-party library versions like libvpx, perfetto, webrtc, and others • Added perfetto test data dependencies and libvpx test data download option
Update test build configuration with new test files
src/chrome/test/BUILD.gn
• Added mock user image loader delegate test files • Added new browser test files for file system observer and user education • Added screen AI main content extraction browser test (conditionally) • Removed some kiosk browser test files and updated various test dependencies
Multiple API and ownership shifts from client_/driver_/personal_data_manager_ to manager()/autofill_client()/payments_autofill_client() alter lifecycle, nullability, and threading assumptions. Validate that all new accessors (e.g., payments_data_manager(), autofill_client(), payments_autofill_client()) are valid at these call sites across platforms and incognito, and that GetWeakPtr() semantics match previous weak_ptr_factory_ usages.
AutofillManager* manager,
autofill_metrics::CreditCardFormEventLogger* form_event_logger)
: manager_(CHECK_DEREF(manager)), form_event_logger_(form_event_logger) {}
CreditCardAccessManager::~CreditCardAccessManager() {
// This clears the record type of the most recently autofilled card with no// interactive authentication flow upon page navigation, as page navigation// results in us destroying the current CreditCardAccessManager and creating a// new one.if (auto* form_data_importer = autofill_client().GetFormDataImporter()) {
form_data_importer
->SetPaymentMethodTypeIfNonInteractiveAuthenticationFlowCompleted(
std::nullopt);
}
}
voidCreditCardAccessManager::UpdateCreditCardFormEventLogger() {
std::vector<CreditCard*> credit_cards =
payments_data_manager().GetCreditCards();
size_t server_record_type_count = 0;
size_t local_record_type_count = 0;
for (CreditCard* credit_card : credit_cards) {
kUnmaskDetailsResponseTimeout and kDelayForGetUnmaskDetails converted from raw ms ints to base::TimeDelta and used directly. Ensure all PostDelayedTask and delay computations now pass TimeDelta consistently and no remaining Milliseconds conversions are missing, especially around Android/iOS conditionals.
// Timeout to wait for unmask details from Google Payments.constexprautokUnmaskDetailsResponseTimeout = base::Seconds(3);
// Time to wait between multiple calls to GetUnmaskDetails().constexprautokDelayForGetUnmaskDetails = base::Minutes(3);
// Suffix for server IDs in the cache indicating that a card is a virtual card.constexprcharkVirtualCardIdentifier[] = "_vcn";
} // namespaceCreditCardAccessManager::CreditCardAccessManager(
AutofillManager* manager,
autofill_metrics::CreditCardFormEventLogger* form_event_logger)
: manager_(CHECK_DEREF(manager)), form_event_logger_(form_event_logger) {}
CreditCardAccessManager::~CreditCardAccessManager() {
// This clears the record type of the most recently autofilled card with no// interactive authentication flow upon page navigation, as page navigation// results in us destroying the current CreditCardAccessManager and creating a// new one.if (auto* form_data_importer = autofill_client().GetFormDataImporter()) {
form_data_importer
->SetPaymentMethodTypeIfNonInteractiveAuthenticationFlowCompleted(
std::nullopt);
}
}
voidCreditCardAccessManager::UpdateCreditCardFormEventLogger() {
std::vector<CreditCard*> credit_cards =
payments_data_manager().GetCreditCards();
size_t server_record_type_count = 0;
size_t local_record_type_count = 0;
for (CreditCard* credit_card : credit_cards) {
Many early-return brace removals and condition compressions change readability and could subtly affect side-effects order. Verify no behavior changes slipped in for selection/cursor/drag paths (e.g., StartMiddleClickAutoscroll, PerformHitTest, HandleMousePress/Move/Release) and that null checks still guard all dereferences on all platforms.
// node.boolShouldRefetchEventTarget(const MouseEventWithHitTestResults& mev) {
Node* target_node = mev.InnerNode();
if (!target_node || !target_node->parentNode())
returntrue;
if (auto* shadow_root = DynamicTo<ShadowRoot>(target_node))
return IsA<HTMLInputElement>(shadow_root->host());
returnfalse;
}
gfx::Point GetMiddleSelectionCaretOfPosition(
const PositionWithAffinity& position) {
const LocalCaretRect& local_caret_rect = LocalCaretRectOfPosition(position);
if (local_caret_rect.IsEmpty())
returngfx::Point();
const gfx::Rect rect = AbsoluteCaretBoundsOf(position);
// In a multiline edit, rect.bottom() would end up on the next line, so// take the midpoint in order to use this corner point directly.if (local_caret_rect.layout_object->IsHorizontalWritingMode())
return {rect.x(), (rect.y() + rect.bottom()) / 2};
// When text is vertical, rect.right() would end up on the next line, so// take the midpoint in order to use this corner point directly.
MANAGE_SYNC and EXTENSION_DEVELOPER_MODE share the same value, causing routing collisions. Assign a unique, unused value to avoid launching the wrong settings screen.
[To ensure code accuracy, apply this suggestion manually]
Suggestion importance[1-10]: 10
__
Why: The suggestion correctly identifies a critical bug where two different settings constants, MANAGE_SYNC and EXTENSION_DEVELOPER_MODE, are assigned the same value, which would lead to incorrect navigation.
High
Initialize event type in listener
Initialize event_type_ in the listener to avoid reading an uninitialized enum, which breaks the switch and can crash. Also capture and use the event_type parameter when computing the event name.
[To ensure code accuracy, apply this suggestion manually]
Suggestion importance[1-10]: 9
__
Why: The suggestion correctly identifies that the event_type_ member was not initialized, leading to undefined behavior and a likely crash when used in the switch statement.
High
Use WeakPtr in delayed task
*Capturing this by reference in a delayed task risks use-after-free if the agent is destroyed before timer fires. Bind a WeakPtr to AutofillAgent and early-return if it has expired.
[To ensure code accuracy, apply this suggestion manually]
Suggestion importance[1-10]: 9
__
Why: The suggestion correctly identifies a potential use-after-free bug where *this is captured by reference in a delayed task. Using a WeakPtr is the standard and correct way to fix this lifetime issue.
High
Cancel listener on early return
Ensure the listener is notified on early return to avoid leaving pending chooser callbacks dangling. Currently, when blocking, FileSelectionCanceled() is never invoked, which can deadlock callers waiting for a response.
[To ensure code accuracy, apply this suggestion manually]
Suggestion importance[1-10]: 8
__
Why: The suggestion correctly points out that the listener is not notified when the file chooser is blocked, which could lead to a deadlock for the caller waiting for a response.
Medium
Bounds-check feature IDs
Validate that all feature IDs are within [0, max_feature_value] before adding them to the bitset. Without bounds checks, out-of-range values can trigger DCHECKs in debug or corrupt data in release builds. Reject or clamp invalid IDs and log for diagnostics.
void UkmRecorderImpl::RecordWebDXFeatures(SourceId source_id,
const std::set<int32_t>& features,
size_t max_feature_value) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- // Sanity check that we don't have an unreasonably large max feature- // value. This isn't expected to grow much past 2000 for a long time.
DCHECK_LT(max_feature_value, 3000u);
if (!recording_enabled()) {
RecordDroppedWebDXFeaturesSet(DroppedDataReason::RECORDING_DISABLED);
return;
}
const auto required_consent = GetConsentType(GetSourceIdType(source_id));
if (!recording_enabled(required_consent)) {
if (required_consent == UkmConsentType::MSBB) {
RecordDroppedWebDXFeaturesSet(DroppedDataReason::MSBB_CONSENT_DISABLED);
} else if (required_consent == UkmConsentType::APPS) {
RecordDroppedWebDXFeaturesSet(DroppedDataReason::APPS_CONSENT_DISABLED);
}
return;
}
if (!IsSamplingConfigured()) {
RecordDroppedWebDXFeaturesSet(DroppedDataReason::SAMPLING_UNCONFIGURED);
return;
}
- // Apply sampling on a per-source-id basis for web features.- // Note: the `event_id` passed is 0. The actual number doesn't really matter,- // what matters is that we either record all features or no features at all- // for a given source.
if (!IsSampledIn(source_id, /*event_id=*/0, webdx_features_sampling_)) {
RecordDroppedWebDXFeaturesSet(DroppedDataReason::SAMPLED_OUT);
return;
}
- // Create a bitset for `source_id` if there is not already one. The size of- // the bitset is max_feature_value + 1 since 0 is included.
auto result = recordings_.webdx_features.try_emplace(
source_id,
/*set_size=*/max_feature_value + 1);
BitSet& features_set = result.first->second;
CHECK_EQ(features_set.set_size(), max_feature_value + 1);
for (const auto& feature : features) {
- features_set.Add(feature);+ if (feature < 0 || static_cast<size_t>(feature) > max_feature_value) {+ DVLOG(1) << "Ignoring out-of-range WebDX feature id: " << feature+ << " (max=" << max_feature_value << ")";+ continue;+ }+ features_set.Add(static_cast<size_t>(feature));
}
DVLOG(DebuggingLogLevel::Medium)
<< "RecordWebDXFeatures: [source_id=" << source_id << " features={"
<< WebDXFeaturesToStringForDebug(features) << "}]";
}
[To ensure code accuracy, apply this suggestion manually]
Suggestion importance[1-10]: 7
__
Why: The suggestion correctly identifies a missing bounds check for feature IDs, which could lead to a DCHECK failure in debug builds or memory corruption in release builds.
Medium
Restore correct omnibox paddings
Replacing the modern padding dimen and forcing bottom padding to 0 may break touch targets and visual density. Restore using the modern-specific dimen and preserve bottom padding from resources instead of hardcoding 0.
Why: The suggestion correctly identifies a potentially unintentional UI change that could impact layout and touch targets, and proposes reverting to the previous padding logic which is a valid concern to raise.
Low
High-level
Risky behavioral changes without guards
This upgrade includes numerous non-trivial behavior changes (e.g., new caret-tracking Autofill pipeline, WebContents accessibility API change, picture-in-picture frame tree plumbing, Android omnibox/session logic refactors, content settings provider path, and node/rust toolchain delivery via GCS) without feature flags, migration fallbacks, or clear compatibility gates. Given the breadth and cross-component impact, gate these changes behind runtime feature flags or staged rollouts and add opt-out paths to minimize regressions across platforms and products.
// In content_settings/core/browser/host_content_settings_map.cc// Logic was conditional on a feature flagif (base::FeatureList::IsEnabled(kIndexedHostContentSettingsMap)) {
auto rule = provider->GetRule(...);
// ... use rule
} else {
std::unique_ptr<content_settings::RuleIterator> iterator =
provider->GetRuleIterator(...);
// ... use iterator
}
// In content/browser/web_contents/web_contents_impl.ccvoidWebContentsImpl::AccessibilityEventReceived(
const ui::AXUpdatesAndEvents& details) {
observers_.NotifyObservers(&WebContentsObserver::AccessibilityEventReceived,
details);
}
After:
// In content_settings/core/browser/host_content_settings_map.cc// The old path and feature flag are removed, making the new path default.auto rule = provider->GetRule(...);
if (rule) {
// ... use rule
}
// In content/browser/web_contents/web_contents_impl.cc// Method renamed and logic changed, now calling a delegate.voidWebContentsImpl::ProcessAccessibilityUpdatesAndEvents(
ui::AXUpdatesAndEvents& details) {
observers_.NotifyObservers(&WebContentsObserver::AccessibilityEventReceived,
details);
if (delegate_) {
delegate_->ProcessAccessibilityUpdatesAndEvents(details);
}
}
Suggestion importance[1-10]: 9
__
Why: The suggestion correctly identifies several significant, unguarded behavioral changes and refactors across multiple critical components like Autofill, accessibility, and content settings, which could introduce regressions. While it misses that the new Autofill caret tracking is feature-flagged, the other points about major unguarded changes are valid and highlight a substantial risk in this large-scale upgrade.
High
Security
Sanitize and guard intent logging
Remove the error-level log with non-actionable text and guard against non-http/https schemes to avoid leaking data and noisy logs. Use debug logging and sanitize the message.
public static boolean checkAndShowCustomSplash(Activity activity, Intent intent) {
- if (intent != null && intent.getData() != null) {- Uri uri = intent.getData();- String utmSource = extractUtmParameter(uri, "utm_source");- Log.e("IntentHandler", "UTM source: of the god itself " + (utmSource != null ? utmSource : "null"));- // onIntentReceived(intent);+ if (intent == null) return false;+ final Uri uri = intent.getData();+ if (uri == null) return false;+ final String scheme = uri.getScheme();+ if (scheme == null || (!"http".equalsIgnoreCase(scheme) && !"https".equalsIgnoreCase(scheme))) {+ return false;+ }+ final String utmSource = extractUtmParameter(uri, "utm_source");+ if (BuildConfig.DEBUG) {+ Log.d("IntentHandler", "UTM source present: " + (utmSource != null));
}
return false;
}
Apply / Chat
Suggestion importance[1-10]: 7
__
Why: The suggestion correctly points out that the new logging is unprofessional, uses the wrong log level, and could log data from unintended URI schemes, proposing a much cleaner and safer implementation.
Medium
General
Map enum to stable ints
Guard against mismatched enum values between C++ and Java by validating the cast or mapping explicitly. Directly casting C++ enum to jint may yield undefined values on Java side if the enum changes, causing crashes or logic errors.
jint WebContentsAndroid::GetCurrentBackForwardTransitionStage(JNIEnv* env) {
auto stage = BackForwardTransitionAnimationManager::AnimationStage::kNone;
if (auto* animation =
web_contents_->GetBackForwardTransitionAnimationManager()) {
stage = animation->GetCurrentAnimationStage();
}
- return static_cast<jint>(stage);+ // Map to stable int values expected by Java instead of raw cast.+ switch (stage) {+ case BackForwardTransitionAnimationManager::AnimationStage::kNone:+ return 0;+ case BackForwardTransitionAnimationManager::AnimationStage::kPending:+ return 1;+ case BackForwardTransitionAnimationManager::AnimationStage::kRunning:+ return 2;+ case BackForwardTransitionAnimationManager::AnimationStage::kCompleted:+ return 3;+ }+ // Fallback for unknown/added enum values.+ return 0;
}
[To ensure code accuracy, apply this suggestion manually]
Suggestion importance[1-10]: 5
__
Why: The suggestion proposes a more robust way to pass enum values to Java by mapping them to stable integers, preventing potential issues if the C++ enum changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
📋 Overview
This PR upgrades WootzApp's Chromium base from version
127.0.6489.0to127.0.6498.0, incorporating the latest security patches, bug fixes, and performance improvements from the upstream Chromium project.🔄 What's Changed
Core Updates
127.0.6489.0to127.0.6498.0Build System Updates
File Management
🔧 Technical Details
Modified Files
gclient runhooksandgclient syncRemoved Files
🧪 Testing
Testing Scenarios (Currently Testing)
Build Verification
📊 Impact
Benefits
Risk Assessment
✅ Checklist
.gitignorefile reviewed and updatedPR Type
Enhancement, Bug fix, Tests, Documentation
Description
• Major Chromium upgrade: Updated from version 127.0.6489.0 to 127.0.6498.0 with latest security patches and performance improvements
• Autofill system refactoring: Enhanced credit card access manager constructor, added caret movement tracking, and improved suggestion handling
• Feature flags updates: Added new Android feature flags for app info tab resumption, toolbar pinning, and optimization guide while removing deprecated flags
• Test suite cleanup: Updated test references from 'wootz' to 'brave' across multiple web tests and parser tests
• UI enhancements: Added picture-in-picture support, back forward transition animations, and updated Android signin layouts
• Build system updates: Major dependency version updates including Node.js binaries, Rust toolchain, and various third-party libraries
• Code quality improvements: Simplified conditional statements, updated include paths, and fixed formatting issues
• WebDX features: Renamed web features functionality to webdx features with updated sampling configuration
Diagram Walkthrough
File Walkthrough
21 files
credit_card_access_manager.cc
Refactor CreditCardAccessManager constructor and timeout handlingsrc/components/autofill/core/browser/payments/credit_card_access_manager.cc
• Refactored constructor to take
AutofillManager*instead ofindividual components
• Updated timeout constants to use
base::TimeDeltainstead of milliseconds• Replaced direct
client/driver access with helper methods
• Added
CHECK_DEREFformanager parameter validation
web_contents_android.cc
Add back forward transition support and code cleanupsrc/content/browser/web_contents/web_contents_android.cc
• Added include for back forward transition animation manager
•
Simplified conditional statements by removing unnecessary braces
•
Added new method
GetCurrentBackForwardTransitionStage• Minor code
formatting improvements
ukm_recorder_impl.cc
Rename web features to webdx features functionalitysrc/components/ukm/ukm_recorder_impl.cc
• Renamed web features functionality to webdx features
• Updated
method names and variable names throughout
• Changed feature set
handling to use generic int32_t instead of enum
• Updated sampling
configuration and debug logging
web_contents_impl.cc
Clean up logging and enhance picture-in-picture supportsrc/content/browser/web_contents/web_contents_impl.cc
• Removed debug logging statements for keyboard events
• Added
picture-in-picture frame tree management methods
• Updated
accessibility event processing method signature
• Simplified
copy/paste blocking logic
SettingsLauncher.java
Add manage sync settings fragment constantsrc/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsLauncher.java
• Added
MANAGE_SYNCconstant toSettingsFragmentinterface• Updated
extension developer mode constant value to avoid conflicts
browser_autofill_manager.h
Refactor autofill manager suggestion handling and add caret trackingsrc/components/autofill/core/browser/browser_autofill_manager.h
• Added new virtual method
OnDidFillAddressFormFillingSuggestionforlogging metrics
• Added
OnCaretMovedInFormFieldImploverride withempty implementation
• Refactored suggestion generation methods and
renamed
GetAvailableSuggestionstoGetAvailableAddressAndCreditCardSuggestions• Updated constructor
calls to use
client()instead ofunsafe_client()autofill_manager.h
Simplify autofill manager client access and add caret observerssrc/components/autofill/core/browser/autofill_manager.h
• Added caret movement observer methods to
Observerinterface•
Simplified client access by removing unsafe client methods and
prerendering checks
• Added
OnCaretMovedInFormFieldvirtual method andcorresponding implementation method
credit_card_access_manager.h
Refactor credit card access manager constructor and dependenciessrc/components/autofill/core/browser/payments/credit_card_access_manager.h
• Changed constructor to take
AutofillManager*instead of separatedriver, client, and data manager parameters
• Added convenience
methods for accessing autofill client, payments client, and data
managers
• Updated member variables to use
raw_refinstead of separateraw pointers
autofill_agent.h
Add caret movement observation to autofill agentsrc/components/autofill/content/renderer/autofill_agent.h
• Added
ObserveCaretmethod to start observing caret movement in formelements
• Added
HandleCaretMovedInFormFieldmethod for throttledcaret event handling
• Added
Caretstruct to manage caret stateincluding event listener and timing
web_node.h
Add event listener support and editable element methods to WebNodesrc/third_party/blink/public/web/web_node.h
• Added
EventTypeenum withkSelectionchangevalue• Added
RootEditableElementmethod to find top-most contenteditable ancestor•
Added
AddEventListenermethod that returns RAII closure runner forevent handling
web_contents_impl.h
Update accessibility event handling and add picture-in-picture supportsrc/content/browser/web_contents/web_contents_impl.h
• Renamed
AccessibilityEventReceivedtoProcessAccessibilityUpdatesAndEvents• Added picture-in-picture frame
tree methods
GetOwnedPictureInPictureFrameTreeandGetPictureInPictureOpenerFrameTree• Added
picture_in_picture_opener_weak pointer member
document.h
Rename scroll snap event methods and add print loading supportsrc/third_party/blink/renderer/core/dom/document.h
• Renamed snap event methods from
EnqueueSnapChangedEvent/EnqueueSnapChangingEventtoEnqueueScrollSnapChangeEvent/EnqueueScrollSnapChangingEvent• Added
InitiateStyleOrLayoutDependentLoadForPrintmethod for print dataloading
chrome_feature_list.h
Add app info tab resumption module feature flagsrc/chrome/browser/flags/android/chrome_feature_list.h
• Added
kAppInfoTabResumptionModulefeature flag declarationcontent_autofill_driver.h
Remove prerendering check and add caret movement handlingsrc/components/autofill/content/browser/content_autofill_driver.h
• Removed
IsPrerenderingmethod override• Added
CaretMovedInFormFieldmethod override for handling caret movement events
fast_checkout_client_impl.h
Make selected autofill profile getter return const pointersrc/chrome/browser/fast_checkout/fast_checkout_client_impl.h
• Changed
GetSelectedAutofillProfilereturn type fromAutofillProfile*to
const AutofillProfile*chrome_client.h
Add frame parameter to UserZoomFactor methodsrc/third_party/blink/renderer/core/page/chrome_client.h
• Updated
UserZoomFactormethod to takeLocalFrame* frameparameterinstead of being parameterless
autofill_driver_router.h
Add caret movement event routing to autofill driver routersrc/components/autofill/core/browser/autofill_driver_router.h
• Added
CaretMovedInFormFieldmethod for routing caret movement eventsbetween drivers
android_autofill_manager.h
Add empty caret movement implementation for Android autofillsrc/components/android_autofill/browser/android_autofill_manager.h
• Added empty
OnCaretMovedInFormFieldImploverride methodchrome_client_impl.h
Update UserZoomFactor method signature with frame parametersrc/third_party/blink/renderer/core/page/chrome_client_impl.h
• Updated
UserZoomFactormethod signature to includeLocalFrame* frameparameter
android_chrome_strings.grd
Update Android UI strings for sync and management featuressrc/chrome/browser/ui/android/strings/android_chrome_strings.grd
• Updated sync-related string IDs and added new account section toggle
strings
• Added new signin subtitle for web signin scenarios
• Updated
management page notice strings with more detailed descriptions
• Fixed
translateable attribute for several strings
BUILD.gn
Add new signin layout resources for Androidsrc/chrome/browser/ui/android/signin/BUILD.gn
• Added multiple new layout resource files with "_old" suffix variants
for account picker states
• Added new header layout file for account
picker bottom sheet
2 files
event_handler.cc
Code style improvements in EventHandlersrc/third_party/blink/renderer/core/input/event_handler.cc
• Removed unnecessary braces from single-statement if conditions
•
Simplified conditional statements for better readability
• Maintained
same functionality while improving code style
viewport_data.cc
Fix whitespace formattingsrc/third_party/blink/renderer/core/frame/viewport_data.cc
• Fixed trailing whitespace formatting issue
4 files
about_flags.cc
Update feature flags and include pathssrc/chrome/browser/about_flags.cc
• Updated include path from
titlebar_config.htomica_titlebar.h•
Simplified CCT bottom bar feature variations configuration
• Added new
feature flags for toolbar pinning and optimization guide
• Removed
several deprecated feature flags
browser_prefs.cc
Update preference registration and migration handlingsrc/chrome/browser/prefs/browser_prefs.cc
• Updated include paths for platform auth policy observer
• Added
deprecated preference constants for migration
• Reorganized preference
registration order
• Added new preference migration entries
chrome_feature_list.cc
Update Android feature flags configurationsrc/chrome/browser/flags/android/chrome_feature_list.cc
• Added new feature flags for app info tab resumption module
• Removed
deprecated feature flags
• Changed default states for some existing
features
• Updated feature list organization
BUILD.gn
Refactor UI build configuration and add new componentssrc/chrome/browser/ui/BUILD.gn
• Updated metrics generation import and configuration
• Added safety
hub utility files and constants
• Moved theme color picker files to
separate component
• Added new Birch provider and app dialog view
files for ChromeOS
• Updated various UI component dependencies and
build targets
1 files
chrome_browser_main_extra_parts_profiles.cc
Reorganize factory registrations in browser profilessrc/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
• Reorganized factory instance registrations
• Moved visited URL
ranking service factory registration
• Updated conditional compilation
blocks
• Minor formatting improvements
2 files
extension_store_ui.cc
Update optional type usage in JSON parsingsrc/chrome/browser/ui/webui/extension_store/extension_store_ui.cc
• Updated JSON parsing to use
std::optionalinstead ofabsl::optionalDEPS
Major dependency version updates and toolchain additionssrc/DEPS
• Updated multiple dependency versions including luci-go, screen-ai
packages, Chromium internal revisions
• Added Node.js binaries and
Rust toolchain dependencies with GCS bucket configurations
• Updated
various third-party library versions like libvpx, perfetto, webrtc,
and others
• Added perfetto test data dependencies and libvpx test
data download option
1 files
NewTabPage.java
Fix single tab card initialization parametersrc/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
• Added a null parameter for
seeMoreLinkClickedCallbackininitializeSingleTabCardmethod• Fixed missing newline at end of file
8 files
extensions-eval-content-script.js
Update test string reference from wootz to bravesrc/third_party/blink/web_tests/http/tests/devtools/extensions/extensions-eval-content-script.js
• Changed test string from 'wootz new world' to 'brave new world'
html5.html
Update HTML5 parser test video referencessrc/third_party/blink/perf_tests/parser/resources/html5.html
• Updated video source filenames from 'wootz' to 'brave' in HTML
example
102.html
Update margin collapse test element IDssrc/third_party/blink/web_tests/fast/block/margin-collapse/102.html
• Changed CSS ID selector from
#wootzfourhundredto#bravefourhundred• Updated corresponding HTML div ID
100.html
Update margin collapse test element IDssrc/third_party/blink/web_tests/fast/block/margin-collapse/100.html
• Changed CSS ID selector from
#wootzfourhundredto#bravefourhundred• Updated corresponding HTML div ID
101.html
Update margin collapse test element IDssrc/third_party/blink/web_tests/fast/block/margin-collapse/101.html
• Changed CSS ID selector from
#wootzfourhundredto#bravefourhundred• Updated corresponding HTML div ID
share-url-invalid.https.html
Update web share test URL referencesrc/third_party/blink/web_tests/external/wpt/web-share/share-url-invalid.https.html
• Changed test URL from 'wootzapp://about' to 'chrome://about'
target-blank-to-local-resource.html
Update local resource test URL referencesrc/third_party/blink/web_tests/fast/loader/target-blank-to-local-resource.html
• Changed link href from 'wootzapp://downloads' to
'chrome://downloads'
BUILD.gn
Update test build configuration with new test filessrc/chrome/test/BUILD.gn
• Added mock user image loader delegate test files
• Added new browser
test files for file system observer and user education
• Added screen
AI main content extraction browser test (conditionally)
• Removed some
kiosk browser test files and updated various test dependencies
1 files
shape_result_view.h
Update shape result view comment example textsrc/third_party/blink/renderer/platform/fonts/shaping/shape_result_view.h
• Updated comment example text from 'wootz ghost' to 'brave ghost'
71 files