Skip to content

Android browser has no default landing page — Windows opens the samples index, Android opens a blank NTP #183

Description

@dfattal

On Windows the browser opens on the DisplayXR samples index. On Android it opens on a
plain New Tab Page, so a first-time tester lands somewhere with no inline-3D on it and
has to be told a URL to type.

Why the Windows mechanism does not carry over

scripts/package.sh:74 copies branding/initial_preferences next to chrome.exe:

"homepage": "https://displayxr.github.io/displayxr-web/",
"session": { "restore_on_startup": 4,
             "startup_urls": ["https://displayxr.github.io/displayxr-web/"] }

Chromium reads that file from the directory containing the executable to seed a new
profile. On Android there is no such directory — the APK has no chrome.exe sibling — so
the file is simply not consulted. Nothing in the Android build path references it
(scripts/build.sh), and no patch touches the homepage
(grep -rl 'HomepageManager\|getDefaultHomepageUri\|PartnerBrowserCustomizations' patches/
is empty).

So this is a gap, not a regression: the Android arm never had a default landing page.

Options

  1. Patch the Android default homepage — the fork already carries 100+ patches, and a
    small one setting the default homepage/startup URL is the direct analogue of what
    initial_preferences does on Windows. Costs a Chromium-tree edit, a series
    regeneration, and an Android rebuild.
  2. PartnerBrowserCustomizations — Chromium's OEM homepage provider. Designed for
    exactly this, but it expects a separate customization provider package, which is more
    moving parts than the fork needs.

(1) is almost certainly right: one patch, and it keeps the landing page in the same place
conceptually as the Windows one — a branding decision, not a code decision.

Keep the URL in one place

Whatever mechanism, the URL should come from branding/initial_preferences rather than
being hardcoded a second time in a patch, so Windows and Android cannot drift. Today that
file is the single source of truth for the Windows landing page; a patch that hardcodes
the same string would silently become a second one.

Why it matters now

Non-technical testers are being sent the Android build directly. Landing on a blank NTP
means the first thing they see has no 3D in it, and the first instruction they need is
"now type this address" — which is exactly the step that loses people.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions