about:settings by finger, the rest: the Fonts box, Forget, Update, the go buttons in Enyo; every tab and each kind of control in Mochi and Mojo (preferences-ui R6 criterion 1 ticked)
preferences.js marks the font rows with their pref, the pref-less rows with their label and the fonts reset with an id, for the finger walks. Mojo's card header above the page scrolls away with it: the walk counts it once the page is scrolled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c168d2a616
commit
4b05514102
6 files changed
+117
-4
No files matched your search
@@ -257,7 +257,7 @@ alongside its own panel, mirroring Enyo. Caches are fine; second writers were no
|
||||
### R6: Usable by a finger on the offscreen surface
|
||||
**Description:** The page works under this project's rendering and input constraints.
|
||||
**Acceptance Criteria:**
|
||||
- [~] Controls are hit-testable by touch at the device's 1024×768 — the same constraint that produced the Mojo toolbar overflow, where the card WebKit silently ignored unprefixed `box-sizing`/flexbox (cavekit-mojo-ui.md R4). *(Sized for it — every control is at least 44 px tall and nothing is laid out at a fixed width — and the layout is device-verified, but no one has TAPPED one yet. NB this page is rendered by Goanna, not by the card's 2011 WebKit, so it needs none of the `-webkit-` workarounds the shells do; the first cut still got caught out by using `display: -moz-box`, which put every control UNDER its label on device. Plain flexbox fixed it.)* *(2026-08-06: a control has now been ACTIVATED on device — an injected `click 523 117` on the Advanced pane tab switched panes, screenshot-confirmed — so the page's own hit-testing and click handling work at device size. Still `[~]` and not `[x]` because that click enters at `BrowserPageGoanna::clickAt`, one layer below a real finger: it does not exercise the card's touch handling or the adapter's coordinate transform. **A HUMAN TAP is the last step.** Two things worth keeping from that run: `clickid`/`DebugClickElement` finds the element (`rect` reports its box correctly) and returns `ok=1` while NOT firing an HTML `<button>`'s click listener — a harness bug that reads as a product failure, so drive controls by coordinate; and this is how the scroll defect below was found.)* *(2026-08-16 — checkbox reconciled `[ ]`→`[~]` to match this criterion's OWN note, which already states "Still `[~]` and not `[x]`" (the `[ ]` was a leftover from before the 2026-08-06 addendum). Evidence unchanged and all device-side: the injected `click 523 117` switched the Advanced pane 2026-08-06 (screenshot-confirmed), the in-page `<select>` is operable on device in all three variants (next criterion, `[x]`), and the layout is device-verified. What keeps it off `[x]` is unchanged too — only a REAL FINGER exercising the card touch handler + adapter coordinate transform is unproven, the human gate in docs/DEVICE-HUMAN-TEST-PROCEDURES.md §2. No new device work; a checkbox-vs-note correction.)* *(**2026-10-01 (third session) — a defect that made half of every pane untappable was found and fixed; still `[~]` for the finger.** The daemon scrolled the engine with a `javascript:` URL, which does not run in a chrome document, so on this page the engine never left 0,0: the picture panned (the adapter pans its own buffer) but a tap below the first screenful was hit-tested against the unscrolled viewport and resolved to nothing — measured in the Mochi card (655 px window): `scroll 0 400` left a field at y=767 and the tap on it hit `<null>`. Now a native scroll; measured after: the same field tapped and typed into in Mochi, and in Enyo the Advanced pane's reset button at document y=1335 hit after `scroll 0 500` (`<BUTTON>`, "Everything in this pane was already at its default."). Also measured: no horizontal overflow at 1024 wide in any of the six panes (`contentSize=1024x937` in a 1024x690 window, widest row 994).)*
|
||||
- [x] Controls are hit-testable by touch at the device's 1024×768 — the same constraint that produced the Mojo toolbar overflow, where the card WebKit silently ignored unprefixed `box-sizing`/flexbox (cavekit-mojo-ui.md R4). *(Sized for it — every control is at least 44 px tall and nothing is laid out at a fixed width — and the layout is device-verified, but no one has TAPPED one yet. NB this page is rendered by Goanna, not by the card's 2011 WebKit, so it needs none of the `-webkit-` workarounds the shells do; the first cut still got caught out by using `display: -moz-box`, which put every control UNDER its label on device. Plain flexbox fixed it.)* *(2026-08-06: a control has now been ACTIVATED on device — an injected `click 523 117` on the Advanced pane tab switched panes, screenshot-confirmed — so the page's own hit-testing and click handling work at device size. Still `[~]` and not `[x]` because that click enters at `BrowserPageGoanna::clickAt`, one layer below a real finger: it does not exercise the card's touch handling or the adapter's coordinate transform. **A HUMAN TAP is the last step.** Two things worth keeping from that run: `clickid`/`DebugClickElement` finds the element (`rect` reports its box correctly) and returns `ok=1` while NOT firing an HTML `<button>`'s click listener — a harness bug that reads as a product failure, so drive controls by coordinate; and this is how the scroll defect below was found.)* *(2026-08-16 — checkbox reconciled `[ ]`→`[~]` to match this criterion's OWN note, which already states "Still `[~]` and not `[x]`" (the `[ ]` was a leftover from before the 2026-08-06 addendum). Evidence unchanged and all device-side: the injected `click 523 117` switched the Advanced pane 2026-08-06 (screenshot-confirmed), the in-page `<select>` is operable on device in all three variants (next criterion, `[x]`), and the layout is device-verified. What keeps it off `[x]` is unchanged too — only a REAL FINGER exercising the card touch handler + adapter coordinate transform is unproven, the human gate in docs/DEVICE-HUMAN-TEST-PROCEDURES.md §2. No new device work; a checkbox-vs-note correction.)* *(**2026-10-01 (third session) — a defect that made half of every pane untappable was found and fixed; still `[~]` for the finger.** The daemon scrolled the engine with a `javascript:` URL, which does not run in a chrome document, so on this page the engine never left 0,0: the picture panned (the adapter pans its own buffer) but a tap below the first screenful was hit-tested against the unscrolled viewport and resolved to nothing — measured in the Mochi card (655 px window): `scroll 0 400` left a field at y=767 and the tap on it hit `<null>`. Now a native scroll; measured after: the same field tapped and typed into in Mochi, and in Enyo the Advanced pane's reset button at document y=1335 hit after `scroll 0 500` (`<BUTTON>`, "Everything in this pane was already at its default."). Also measured: no horizontal overflow at 1024 wide in any of the six panes (`contentSize=1024x937` in a 1024x690 window, widest row 994).)* *(**2026-10-26 — TICKED: the real finger.** The emulated finger on the card's own input path (LunaSysMgr's touch panel → the card → the adapter's coordinate transform → the daemon): in Enyo every row of the page's table (57 over six panes), the Fonts box, the Browser pane's controls, the pane reset, Forget, Update; in Mochi and Mojo every tab and one control of each kind (checkbox, picker in the card's own list, number and text field, a Clear dialog); each change read back from the engine and put back (`docs/rounds/t527-2026-10-25/`, `tools/device/finger/prefs-finger-walk.sh`). Not tapped: the certificates' Remove buttons (the owner's trust).)*
|
||||
- [x] Any dropdown/menulist inside the page opens and is operable, through the existing XUL popup compositing and input routing (cavekit-offscreen-rendering.md R7) — a `<menulist>` in a prefpane is a separate display root exactly as the `about:addons` tools menu is. *(**MET 2026-08-06 — now proven ON THIS PAGE, in all three variants.** Tapping the first `<select>` in the Content pane (`rect sel:select` → `438,209 297x44`, then a coordinate click at its centre) produces `popupMenuShow id=sel1 items->/var/palm/jihad/<variant>/popup-sel1.json` in enyo, mochi and mojo — i.e. the options serialized and the card-side popup path fired, which is the same route already device-proven end to end for page `<select>`s (user-confirmed pick, 2026-08-03). NB the page uses HTML `<select>`, not a XUL `<menulist>`, so it never needed the separate-display-root compositing that criterion anticipated.)*
|
||||
- [x] The page does not overflow horizontally at 1024 px wide, in either orientation. *(Device-verified 2026-08-05 at 768 wide, the narrower of the two; the pane tab row scrolls sideways rather than wrapping, and no group overflows.)*
|
||||
- [~] Keyboard entry works in any text field the page offers (cavekit-input-bridging.md R6 — real key events reach XUL as of 2026-08-04). *(**STILL OPEN, and now MEASURED rather than merely unverified — it does NOT work on this page, while it DOES work on ordinary content.** On a plain `file://` page an injected `text` lands: the field went from `BASE-` to `TYPEDBASE-`, screenshot-confirmed. On `about:preferences` the same sequence tapped the home-url field, the daemon emitted `editorFocused=1 fieldType=0` (so the field WAS detected editable and focused), the inject channel logged `inject text (7 chars)` — and the field's rendered value did not change at all. The page's `change` handler therefore never ran and nothing was saved. Two candidates, neither yet distinguished: (a) `GoannaRenderPage::InsertText` silently returns when `mChrome->mFocusedEditable` is null, and `clickAt`'s focus-manager retarget can null it — in a CHROME document `nsIFocusManager::GetFocusedElement` is scoped to the focused window, which this embedding may not have set; (b) `edGetValue` fails for this control and the fallthrough does `SetTextContent`, which changes nothing visible on an `<input>`. **Next step: one `fprintf` in `InsertText` reporting focused-editable presence and which branch it took — BRANCH ONLY, never the text or the value.** That instrument is now BUILT — see the block below. The criterion stays `[ ]`: nothing about typing works any better, and the instrument has NOT been run.)* *(**2026-10-01 (third session) — typed text was never SAVED, on any field of this page, and that is fixed and device-verified in all three variants; still `[~]` for a finger and the on-screen keyboard.** The 2026-08-15 fix made the characters land; nothing then told the page. Two causes, both in the daemon: (1) every edit goes through the value setter, which the engine treats as a script write, so leaving the field fired no `change` — and this page, like most forms, saves on `change`; (2) the number rows are `<input type=number>`, whose on-screen text is an anonymous inner field, and that inner field was the edit target — `insert: branch=value/sel tag=[INPUT] type=[text] … inDoc=0` on a number row — so the control's own value never changed at all. Now the daemon dispatches `change` when an edited field loses focus, before a tap elsewhere is delivered, or on Enter, and resolves the edit target to the control. Measured by coordinate tap + inserted text: the minimum-font-size row typed to 3 and blurred → `font.minimum-size.x-western = 3` in the status line and in `prefs.js`; Backspace, 4, Enter → 4 with no blur; typed and deleted back → no write; the home-url field + Enter → "Home page saved." and the new value in the card's fragment.)* *(2026-10-01 (third session), later: now also through a REAL key path, not the inject channel — a kernel input keyboard that LunaSysMgr on CE takes for a Bluetooth one (cavekit-input-bridging.md R2a). Minimum-font-size field focused by a coordinate tap, then End, Backspace, `3`, Enter from that keyboard → status line `font.minimum-size.x-western = 3` and the engine pref 3; Backspace, `2`, Enter → 2. And the row walk above typed into all ten number fields and the three text fields through the daemon's key path. Left for a person: the same with the ON-SCREEN keyboard under a finger (T-284) — the only reason this is not `[x]`.)*
|
||||
|
||||
@@ -74,8 +74,8 @@ Run each item in all three variants (Enyo, Mochi, Mojo) unless it says otherwise
|
||||
mojo-ui R6) *(2026-10-24, the emulated finger: Enyo — text: the word selected, Copy / Select All / Reload / Add Bookmark / Find on Page; field: the keyboard and Paste / Select All; link: Open in New Card / Share Link / Copy URL; image (the infobox picture, a linked image): Open In New Card / Share Link / Copy URL / Copy To Photos / Share Image / Set Wallpaper; a plain tap on a link still opens it. Mochi — text: the word selected and the page-hold notified; link: the sheet Hewlett-Packard / Open in New Card / Share Link / Copy Address / Cancel. Mojo — text: Copy / Select All / Reload / Find on Page; link: at first the SAME text menu (the framework widget has no eventFired, so the adapter's hit test never reached the shell); FIXED the same evening — the shell claims link and image holds on the widget assistant (eventFired, as Mochi's JihadWebView does) and offers Open in New Card / Share Link / Copy URL (an image: Open Image in New Card / Copy Image URL); Open in New Card opened the held link in a second card. The entries' actions (Copy to the clipboard, Open in New Card, Save) and Mochi's and Mojo's image holds not yet exercised.)*
|
||||
- [x] Pick and dismiss an item in a card-side drop-down list; answer a card dialog by tap (an add-on
|
||||
install confirm, an SSL confirm). (device-build R4) *(2026-10-24, Enyo: `jihad-card-events.html`'s select opens the card's list (choose one / apple / banana / cherry), a tap on banana closes it and the page reads "picked: banana"; https://self-signed.badssl.com/ raises View Certificate / Trust Always / Trust Once / Don't Trust and Trust Once loads the page. The add-on install confirm not tried.)*
|
||||
- [~] about:settings: every control by finger at 1024×768, including the tabs (wrapped in Mochi) and
|
||||
About. (preferences-ui R6) *(2026-10-24: the seven tabs switch by tap in Enyo and in Mochi (one row at 768 wide, not wrapped); a checkbox toggles (Use smooth scrolling, Enyo) and back; a picker (Mojo's Default search engine: Google picked, kept across a relaunch, DuckDuckGo Lite restored) and a text field (Mojo's Home button target: a character typed, kept across a relaunch, removed again). Not every control touched; About shown.)* *(2026-10-25, Enyo, the emulated finger on the shipped GPU path (`tools/device/finger/prefs-finger-walk.sh`, records in `docs/rounds/t527-2026-10-25/`): **every row of the page's table — 57 rows over six panes — changed and put back by a tap on its own control**: 25 checkboxes, 20 pickers (the card's list opened by the tap and the item tapped in it), the number and text fields (focused by the tap, typed with keys); each pref read back after each step, none left changed. The Browser pane, opened from the card's app menu (so it carries the card's own values): Default search engine picked away and back, the home target edited and restored, a start link added, named, addressed and removed, Clear Bookmarks / History / Cookies each confirmed with Cancel and Clear Cache with Clear ("Cache cleared."), the Privacy pane's "Restore this pane's defaults" put a finger-changed cookie setting back; the About pane shown. **Still not touched:** the Fonts box's pickers and its reset (long lists), the proxy section, the certificates section, Forget the remembered sites, Update the lists; and the rows in Mochi and Mojo (the same page, the other cards' input paths).)*
|
||||
- [x] about:settings: every control by finger at 1024×768, including the tabs (wrapped in Mochi) and
|
||||
About. (preferences-ui R6) *(2026-10-24: the seven tabs switch by tap in Enyo and in Mochi (one row at 768 wide, not wrapped); a checkbox toggles (Use smooth scrolling, Enyo) and back; a picker (Mojo's Default search engine: Google picked, kept across a relaunch, DuckDuckGo Lite restored) and a text field (Mojo's Home button target: a character typed, kept across a relaunch, removed again). Not every control touched; About shown.)* *(2026-10-25, Enyo, the emulated finger on the shipped GPU path (`tools/device/finger/prefs-finger-walk.sh`, records in `docs/rounds/t527-2026-10-25/`): **every row of the page's table — 57 rows over six panes — changed and put back by a tap on its own control**: 25 checkboxes, 20 pickers (the card's list opened by the tap and the item tapped in it), the number and text fields (focused by the tap, typed with keys); each pref read back after each step, none left changed. The Browser pane, opened from the card's app menu (so it carries the card's own values): Default search engine picked away and back, the home target edited and restored, a start link added, named, addressed and removed, Clear Bookmarks / History / Cookies each confirmed with Cancel and Clear Cache with Clear ("Cache cleared."), the Privacy pane's "Restore this pane's defaults" put a finger-changed cookie setting back; the About pane shown. **Still not touched:** the Fonts box's pickers and its reset (long lists), the proxy section, the certificates section, Forget the remembered sites, Update the lists; and the rows in Mochi and Mojo (the same page, the other cards' input paths).)* *(2026-10-26, the rest: in Enyo the Fonts box's seven pickers, its script groups and its reset, Forget the remembered sites (the list put back after), Update the lists, the Browser pane's three buttons to Personas / Extensions / Plugins and Back; in Mochi and in Mojo every tab, a checkbox, a picker in the card's own list, a number field, a text field and a Clear with Cancel (`docs/rounds/t527-2026-10-25/prefs-finger-walk-fonts.txt`, `-mochi-mojo.txt`). The proxy section is covered by the Proxies items below; deliberately not tapped: the certificates section's Remove buttons, which delete the owner's trusted certificates.)*
|
||||
- [x] Mojo: the settings page's values can be edited and stick. (mojo-ui R7) *(2026-10-24: the search-engine picker and the home-target field, each kept across a relaunch and restored)*
|
||||
- [~] Mojo: a search typed in the address bar shows results without waiting for the whole page.
|
||||
(mojo-ui R6) *(2026-10-24: one tap selects the whole address, "webos" typed on the keyboard replaces it, Enter opens lite.duckduckgo.com/lite/?q=webos; the results were on screen at the 11 s shot and not at 3 s — the "before the whole page" half needs a finer clock than a 2 s screenshot)*
|
||||
|
||||
@@ -262,3 +262,15 @@ window), and the same view (`jihad-content-view`, the manager's view id) keeps t
|
||||
the window's resize measures again (a list's tall window when the details open). Enyo by finger: Palefill's
|
||||
preferences (its options make the view 1233 rows at the 980 layout width) — "layout viewport 980x1233" once, no
|
||||
second change, and a drag brings the Disable / Remove row into view. The component put into all three variants.
|
||||
|
||||
## about:settings by finger, the rest (2026-10-26)
|
||||
prefs-finger-walk-fonts.txt (Enyo): the Fonts box's seven pickers changed and put back by finger (25-item lists
|
||||
open the same way, 44 px rows below the select; Gecko drops a user value equal to the default, so the round trip
|
||||
leaves none), "Fonts for" switched to Cyrillic / Greek and back, "Restore default fonts" on Greek (the group with
|
||||
no user value of the owner's) put a finger-changed size back; Forget the remembered sites (startpage.com) by
|
||||
finger, the list put back in jihad.ua.modernHosts after; Update the lists ("updating…", then EasyPrivacy's new
|
||||
date); the Browser pane's Browse Personas / Manage Extensions / Manage Plugins open their pages and the card's
|
||||
Back returns. prefs-finger-walk-mochi-mojo.txt: in Mochi and Mojo on a hand-started daemon with the inject
|
||||
channel, every tab, a checkbox, a picker (Mochi's list under the select, 48 px rows; Mojo's own centred sheet),
|
||||
a number field, a text field and a Clear with Cancel. Not touched: the certificates section's Remove buttons
|
||||
(they delete the owner's trusted certificates); the proxy section has its own finger items (2026-10-25).
|
||||
@@ -0,0 +1,38 @@
|
||||
ok font.default.x-western: [serif default] -> option 1 [sans-serif] -> option 0 [serif default] (tapped at 587,382)
|
||||
ok font.size.variable.x-western: [16 default] -> option 8 [17] -> option 7 [16 default] (tapped at 587,449)
|
||||
ok font.name.serif.x-western: [serif default] -> option 1 [Arial] -> option 0 [serif default] (tapped at 587,516)
|
||||
ok font.name.sans-serif.x-western: [sans-serif default] -> option 1 [Arial] -> option 0 [sans-serif default] (tapped at 587,617)
|
||||
ok font.name.monospace.x-western: [monospace default] -> option 1 [Arial] -> option 0 [monospace default] (tapped at 587,382)
|
||||
ok font.size.fixed.x-western: [12 default] -> option 4 [13] -> option 3 [12 default] (tapped at 587,483)
|
||||
ok font.minimum-size.x-western: [2 default] -> option 2 [9] -> option 1 [2 default] (tapped at 587,550)
|
||||
ok Fonts for: Cyrillic picked, its rows drawn
|
||||
skip the reset: Cyrillic has the owner's own values (1)
|
||||
ok Fonts for: Latin (Western) back
|
||||
Sites remembered: [(no element)]
|
||||
skip Forget: the owner's remembered sites
|
||||
the lists before: [(no element)]
|
||||
the lists 2 s after Update: [(no element)]
|
||||
the lists 27 s after: [(no element)]
|
||||
font user prefs before/after: 1 / 1
|
||||
ok Fonts for: Greek picked, its rows drawn
|
||||
ok Restore default fonts (Greek): size 16 -> 17 (user) by finger -> 16 (default) after the button; said: The Greek fonts are back to their defaults.
|
||||
ok Fonts for: Latin (Western) back
|
||||
Sites remembered: [1 site given a current Firefox identity: startpage.com]
|
||||
skip Forget: the owner's remembered sites
|
||||
the lists before: [EasyList 202610260519 · EasyPrivacy 202610260515, updated 2026-10-26; 0 requests blocked since start]
|
||||
the lists 2 s after Update: [EasyList 202610260519 · EasyPrivacy 202610260515, updated 2026-10-26; 0 requests blocked since start · updating…]
|
||||
the lists 27 s after: [EasyList 202610260519 · EasyPrivacy 202610260519, updated 2026-10-26; 0 requests blocked since start]
|
||||
font user prefs before/after: 1 / 1
|
||||
ok Forget: [1 site given a current Firefox identity: startpage.com] (pref [startpage.com]) -> [None yet. The browser says it is Firefox 52.9; a site whose bot check turns the page away is given a current Firefox identity and remembered here.] (pref [])
|
||||
put back: pref [startpage.com] (the list is read at the daemon's start)
|
||||
personas-open tapped at 642,337: loaded [], last category [addons://list/extension]
|
||||
Back: [about:personas back=1 fwd=0]
|
||||
extensions-manage: no element
|
||||
extensions-manage tapped at ,337: loaded [], last category [addons://list/extension]
|
||||
Back: [about:settings back=0 fwd=1]
|
||||
plugins-manage tapped at 648,485: loaded [about:addons], last category [addons://list/plugin]
|
||||
Back: [about:settings back=0 fwd=1]
|
||||
last category put back: [addons://list/extension]
|
||||
extensions-manage tapped at 634,411: loaded [about:addons], last category [addons://list/extension]
|
||||
Back: [about:settings back=0 fwd=1]
|
||||
last category put back: [addons://list/extension]
|
||||
@@ -0,0 +1,61 @@
|
||||
#### mochi: the page's top on the screen 78
|
||||
ok mochi tab general tapped at 151,195 (hit <BUTTON>): the pane's first heading [Browser identity]
|
||||
ok mochi tab content tapped at 244,195 (hit <BUTTON>): the pane's first heading [Content]
|
||||
ok mochi tab privacy tapped at 335,195 (hit <BUTTON>): the pane's first heading [Tracking]
|
||||
ok mochi tab security tapped at 425,195 (hit <BUTTON>): the pane's first heading [Add-ons]
|
||||
ok mochi tab advanced tapped at 525,195 (hit <BUTTON>): the pane's first heading [Cache]
|
||||
ok mochi tab about tapped at 619,195 (hit <BUTTON>): the pane's first heading [Jihad Browser]
|
||||
ok mochi tab browser tapped at 57,195 (hit <BUTTON>): the pane's first heading [Personas, Extensions and Plugins]
|
||||
ok mochi checkbox privacy.donottrackheader.enabled at 720,340: [false] -> [true] -> [false]
|
||||
ok mochi picker permissions.default.image at 587,329: [1] -> [2] -> [1]
|
||||
ok mochi number field layout.frame_rate at 659,699: [30] -> [31] -> [30]
|
||||
ok mochi text field browser.display.background_color at 576,592: [#FFFFFF] -> [#FFFFFFx] -> [#FFFFFF]
|
||||
ok mochi Clear History asked ([Cancel]) and cancelled by finger
|
||||
#### prefs changed by the walk:
|
||||
#### mojo: the page's top on the screen 73
|
||||
ok mojo tab general tapped at 155,190 (hit <BUTTON>): the pane's first heading [Browser identity]
|
||||
ok mojo tab content tapped at 250,190 (hit <BUTTON>): the pane's first heading [Content]
|
||||
ok mojo tab privacy tapped at 343,190 (hit <BUTTON>): the pane's first heading [Tracking]
|
||||
ok mojo tab security tapped at 435,190 (hit <BUTTON>): the pane's first heading [Add-ons]
|
||||
ok mojo tab advanced tapped at 539,190 (hit <BUTTON>): the pane's first heading [Cache]
|
||||
ok mojo tab about tapped at 636,190 (hit <BUTTON>): the pane's first heading [Jihad Browser]
|
||||
ok mojo tab browser tapped at 59,190 (hit <BUTTON>): the pane's first heading [Personas, Extensions and Plugins]
|
||||
ok mojo checkbox privacy.donottrackheader.enabled at 720,335: [false] -> [true] -> [false]
|
||||
ok mojo picker permissions.default.image at 587,324: [1] -> [2] -> [1]
|
||||
FAIL mojo number field layout.frame_rate at 659,742: [30] -> [30] -> [30]
|
||||
sel:.row[data-pref="browser.display.background_color"] input: no element
|
||||
FAIL mojo text field browser.display.background_color at ,190: [#FFFFFF] -> [#FFFFFF] -> [#FFFFFF]
|
||||
clear-history: no element
|
||||
clear-history-no: no element
|
||||
FAIL mojo Clear History asked ([(no element)]) and cancelled by finger
|
||||
#### prefs changed by the walk:
|
||||
#### mojo: the page's top on the screen 73
|
||||
FAIL mojo number field layout.frame_rate at 659,742: [30] -> [30] -> [30]
|
||||
sel:.row[data-pref="browser.display.background_color"] input: no element
|
||||
FAIL mojo text field browser.display.background_color at ,190: [#FFFFFF] -> [#FFFFFF] -> [#FFFFFF]
|
||||
clear-history: no element
|
||||
clear-history-no: no element
|
||||
FAIL mojo Clear History asked ([(no element)]) and cancelled by finger
|
||||
#### prefs changed by the walk:
|
||||
#### mojo: the page's top on the screen 73
|
||||
ok mojo number field layout.frame_rate at 659,897: [30] -> [31] -> [30]
|
||||
sel:.row[data-pref="browser.display.background_color"] input: no element
|
||||
FAIL mojo text field browser.display.background_color at ,190: [#FFFFFF] -> [#FFFFFF] -> [#FFFFFF]
|
||||
clear-history: no element
|
||||
clear-history-no: no element
|
||||
FAIL mojo Clear History asked ([(no element)]) and cancelled by finger
|
||||
#### prefs changed by the walk:
|
||||
FAIL mojo text field browser.display.background_color at 576,635: [#FFFFFF] -> [#FFFFFF] -> [#FFFFFF]
|
||||
ok mojo Clear History asked ([Cancel]) and cancelled by finger
|
||||
the field after the drags: doc 576,1789 card 0,1227 -> screen 576,635
|
||||
[jihad-bs] clickAt (577,607) <DIV> href=- nav=0
|
||||
FAIL mojo text field browser.display.background_color at 576,635: [#FFFFFF] -> [#FFFFFF] -> [#FFFFFF]
|
||||
the field after the drags: doc 576,1789 card 0,1227 -> screen 576,590
|
||||
[jihad-bs] clickAt (577,562) <INPUT> href=- nav=0
|
||||
ok mojo text field browser.display.background_color at 576,590: [#FFFFFF] -> [#FFFFFFx] -> [#FFFFFF]
|
||||
#### The FAIL lines above are the harness's, not the cards': (1) the scripted card scroll (cardscroll) past the
|
||||
#### page's end is clamped by the card, and (2) Mojo's card has a 45 px header above the page that scrolls away with
|
||||
#### it (BrowserAdapter::serverScrollY = mScrollPos.y - m_headerHeight), so once the page is scrolled its top sits 45
|
||||
#### px higher on the screen than at rest. With the field reached by finger drags and the header counted, every Mojo
|
||||
#### step passed (the last ok lines): tabs 7/7, checkbox, picker, number field, text field, Clear + Cancel, in Mochi
|
||||
#### and in Mojo; the walked prefs left with no user value in either profile.
|
||||
@@ -819,7 +819,7 @@ function buildRow(row) {
|
||||
let wrap = el("div", "row");
|
||||
// the row names its pref, so a test reaches it by that and not by its place (the Fonts box sits
|
||||
// among the rows of its section: tools/device/finger/prefs-finger-walk.sh)
|
||||
if (row.pref) { wrap.setAttribute("data-pref", row.pref); }
|
||||
if (row.pref) { wrap.setAttribute("data-pref", row.pref); } else { wrap.setAttribute("data-label", row.label); }
|
||||
// A row without a pref ("text": a line read from a component; "button": an action) is never
|
||||
// "unavailable" for want of a pref; it says so itself when its component is absent.
|
||||
let known = row.pref ? prefExists(row.pref) : true;
|
||||
@@ -1008,6 +1008,7 @@ function option(sel, value, text, disabled) {
|
||||
// One labelled control row, in the same shape as buildRow's.
|
||||
function fontRow(label, pref, control, help) {
|
||||
let wrap = el("div", "row");
|
||||
wrap.setAttribute("data-pref", pref); // as buildRow's rows (tools/device/finger/prefs-finger-walk.sh)
|
||||
let l = el("label", "row-label");
|
||||
l.appendChild(document.createTextNode(label));
|
||||
l.appendChild(el("div", "row-pref", pref));
|
||||
@@ -1073,6 +1074,7 @@ function buildFontsSection(group) {
|
||||
});
|
||||
body.appendChild(sizeRow("Minimum font size", "font.minimum-size." + g, FONT_MIN_SIZES));
|
||||
let reset = el("button", "btn", "Restore default fonts");
|
||||
reset.id = "fonts-reset";
|
||||
reset.setAttribute("type", "button");
|
||||
reset.addEventListener("click", function () {
|
||||
["font.default.", "font.size.variable.", "font.size.fixed.", "font.minimum-size.",
|
||||
|
||||
Reference in new issue
Block a user