Skip to content

Conversation

@shadowfax92
Copy link
Contributor

No description provided.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 9, 2026

CLA Assistant Lite bot Thank you for your submission! We require contributors to sign our Contributor License Agreement before we can accept your contribution.

By signing the CLA, you confirm that:

  • You have read and agree to the AGPL-3.0 license terms
  • Your contribution is your original work
  • You grant us the rights to use your contribution under the AGPL-3.0 license

To sign the CLA, please comment on this PR with:
I have read the CLA Document and I hereby sign the CLA


I have read the CLA Document and I hereby sign the CLA


Nikhil seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@shadowfax92 shadowfax92 marked this pull request as ready for review February 11, 2026 21:50
@shadowfax92
Copy link
Contributor Author

@greptileai review

@shadowfax92
Copy link
Contributor Author

@claude review

@greptile-apps
Copy link

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

This PR upgrades BrowserOS from Chromium 142 to Chromium 145, updating all chromium_patches to maintain compatibility with the new upstream APIs.

Major changes:

  • Updated Chromium version from 142.0.7444.49 to 145.0.7632.46
  • Bumped BrowserOS version from 0.39.0.3 to 0.40.0.0
  • Disabled series patches (ungoogled-chromium extensions-manifestv2 and all Windows-specific patches) that are incompatible with Chromium 145
  • Added new apply force command for non-interactive patch application during upgrades, which uses git apply --reject to handle conflicts

API compatibility updates across all patches:

  • Migrated from std::unique_ptr<std::string> to std::optional<std::string> for network response callbacks (SimpleURLLoader API change)
  • Added base::JSON_PARSE_RFC flag to all base::JSONReader::Read() calls (new required parameter in Chromium 145)
  • Updated CopyFromSurface() API to accept base::TimeDelta timeout parameter and return CopyFromSurfaceResult instead of direct SkBitmap
  • Changed AXNode::bool_attributes from optional pointer to direct member access (accessibility API refactoring)
  • Updated histogram enum values from range 1951-1975 to 1957-1981 due to upstream additions
  • Migrated from BrowserList::GetInstance()->GetLastActive() to GetLastActiveBrowserWindowInterfaceWithAnyProfile() for browser window access

All changes are mechanical API updates required for Chromium 145 compatibility. The new apply force build tool improves the upgrade workflow by allowing patches to be applied non-interactively with automatic conflict detection.

Confidence Score: 5/5

  • This PR is safe to merge - all changes are mechanical API updates required for Chromium 145 compatibility
  • The changes are entirely focused on maintaining API compatibility with Chromium 145. All modifications are consistent, well-structured mechanical updates: pointer-to-optional conversions, JSON parsing flag additions, screenshot capture API updates, and histogram enum reindexing. The new apply force tool follows existing patterns and improves the upgrade workflow. No logic changes or risky refactoring detected.
  • No files require special attention - all changes follow consistent upgrade patterns

Important Files Changed

Filename Overview
packages/browseros/CHROMIUM_VERSION Updated Chromium version from 142.0.7444.49 to 145.0.7632.46
packages/browseros/resources/BROWSEROS_VERSION Bumped BrowserOS version from 0.39.0.3 to 0.40.0.0
packages/browseros/build/modules/apply/apply_force.py Added new non-interactive apply with --reject for handling patch conflicts during upgrades
packages/browseros/series_patches/series Disabled ungoogle-chromium/extensions-manifestv2.patch for Chromium 145
packages/browseros/series_patches/series.windows Disabled all Windows-specific ungoogled-chromium patches for Chromium 145
packages/browseros/chromium_patches/chrome/browser/browseros/extensions/browseros_extension_installer.cc Updated for Chromium 145 API changes: added base::JSON_PARSE_RFC, changed response_body to std::optional, added optional header
packages/browseros/chromium_patches/chrome/browser/browseros/server/browseros_server_updater.cc Updated callbacks to use std::optional and added base::JSON_PARSE_RFC for JSON parsing
packages/browseros/chromium_patches/chrome/browser/extensions/api/browser_os/browser_os_api.cc Updated for Chromium 145: changed AXNode bool_attributes API, CopyFromSurface signature with CopyFromSurfaceResult, added timeout parameter
packages/browseros/chromium_patches/chrome/browser/ui/views/side_panel/third_party_llm/third_party_llm_panel_coordinator.cc Updated for Chromium 145: CopyFromSurfaceResult API, BrowserWindowInterface usage, added timeout parameter
packages/browseros/chromium_patches/extensions/browser/extension_function_histogram_value.h Updated histogram value indices due to upstream Chromium changes (1951-1975 → 1957-1981)

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant CLI as Build CLI
    participant Apply as Apply Module
    participant Chromium as Chromium Source
    participant Patches as Patch Files
    
    Dev->>CLI: browseros dev apply force
    CLI->>Apply: ApplyForceModule.execute()
    Apply->>Patches: find_patch_files()
    Patches-->>Apply: List of patches
    
    loop For each patch
        Apply->>Chromium: git apply --ignore-whitespace
        alt Clean apply succeeds
            Chromium-->>Apply: Success
        else Clean apply fails
            Apply->>Chromium: git apply --3way
            alt 3-way merge succeeds
                Chromium-->>Apply: Success
            else 3-way merge fails
                Apply->>Chromium: git apply --reject
                Chromium-->>Apply: Partial apply + .rej files
                Note over Apply,Chromium: Continues to next patch
            end
        end
    end
    
    Apply-->>CLI: Summary (applied, rejected, failed)
    CLI-->>Dev: Report with .rej file locations
Loading

@shadowfax92 shadowfax92 merged commit 81a16bb into main Feb 11, 2026
2 of 3 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant