- From: Yoav Weiss <notifications@github.com>
- Date: Tue, 27 Jul 2021 04:23:44 -0700
- To: w3c/editing <editing@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/editing/pull/317/review/715786755@github.com>
@yoavweiss commented on this pull request.
A few more comments
> </dt>
<dd>
<p>
- The attribute reports the intersection of the VK with the layout viewport in client coordinates.
+ The attribute reports the intersection of the VK with the layout viewport in client coordinates. It is set when {{VirtualKeyboard/ongeometrychange}} event is fired.
+ Setter steps are as follows:
+ <ol>
+ <li>
+ Let `osk` be the on-screen keyboard rectangle in CSS pixels that is provided by the OS when the VK visibility changes.
+ </li>
+ <li>
+ Let `lv` be the layout viewport's bounds in CSS pixels.
+ </li>
+ <li>
+ Set [=this=]'s {{VirtualKeyboard/boundingRect}} to be the intersection of `lv` and `osk` in CSS pixels.
This algorithm feels like a getter, rather than a setter. If so, it should return a `DOMRect` but it doesn't create one. I'd expect it to do so while initializing it to the right values.
> </dt>
<dd>
<p>
- The attribute reports the intersection of the VK with the layout viewport in client coordinates.
+ The attribute reports the intersection of the VK with the layout viewport in client coordinates. It is set when {{VirtualKeyboard/ongeometrychange}} event is fired.
+ Setter steps are as follows:
There's no setter for a readonly attribute.
> Call the system API to hide the VK.
- </li>
- <li>
- When the VK is hidden by the system, {{VirtualKeyboard/ongeometrychange()}} event is fired that contains the intersection of the keyboard geometry and layout viewport in client coordinates.
- </li>
+ </li>
+ <li>
+ When the VK is hidden by the system, the OS reports the bounding rectangle of the keyboard (which has all 0 values). Calculate the {{VirtualKeyboard/boundingRect}} which is the intersection of the keyboard rectangle reported by the OS and the layout viewport. Fire {{VirtualKeyboard/ongeometrychange()}} event to JS.
"Calculate ...." should call an algorithm, or simply assign a 0 sized `DOMRect` (since that's the intersection IIUC)
> @@ -116,7 +126,11 @@ <h2>The <dfn>VirtualKeyboard</dfn> Interface</h2>
The method must follow these steps:
</p>
<ol>
- <li>If the browsing context's <a href="https://html.spec.whatwg.org/multipage/browsers.html#active-window">active window</a> does not have <a href="https://html.spec.whatwg.org/multipage/interaction.html#sticky-activation">sticky user activation</a>, abort these steps.
+ <li>
+ Let `window` be [=this=]'s <a href="https://html.spec.whatwg.org/#concept-relevant-global">relevant global object</a>. If window is not a <a href="https://html.spec.whatwg.org/multipage/window-object.html#window">Window object</a>, then abort these steps.
the `window` variable should be referred to as "|window|".
> @@ -131,7 +130,7 @@ <h2>The <dfn>VirtualKeyboard</dfn> Interface</h2>
Call the system API to show the VK.
</li>
<li>
- When the VK is shown by the system, fire {{VirtualKeyboard/ongeometrychange()}} event.
+ When the VK is shown by the system, the OS reports the bounding rectangle of the keyboard. Calculate the {{VirtualKeyboard/boundingRect}} which is the intersection of the keyboard rectangle reported by the OS and the layout viewport. Fire {{VirtualKeyboard/ongeometrychange()}} event to JS.
"Calculate..." should call an algorithm that actually does this calculation.
> @@ -131,7 +130,7 @@ <h2>The <dfn>VirtualKeyboard</dfn> Interface</h2>
Call the system API to show the VK.
</li>
<li>
- When the VK is shown by the system, fire {{VirtualKeyboard/ongeometrychange()}} event.
+ When the VK is shown by the system, the OS reports the bounding rectangle of the keyboard. Calculate the {{VirtualKeyboard/boundingRect}} which is the intersection of the keyboard rectangle reported by the OS and the layout viewport. Fire {{VirtualKeyboard/ongeometrychange()}} event to JS.
This step should run [in parallel](https://html.spec.whatwg.org/#in-parallel)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/editing/pull/317#pullrequestreview-715786755
Received on Tuesday, 27 July 2021 11:23:57 UTC