@bokan/rbyers/wez: are these changes okay. There is missing functionality on chromium side to support DomKey ...
5 years, 2 months ago
(2015-03-03 17:25:59 UTC)
#5
@bokan/rbyers/wez: are these changes okay. There is missing functionality on
chromium side to support DomKey and have uploaded patch for the same. Please
review blink side changes if they are okay.
Wez
https://codereview.chromium.org/933323002/diff/20001/Source/core/events/KeyboardEvent.cpp File Source/core/events/KeyboardEvent.cpp (right): https://codereview.chromium.org/933323002/diff/20001/Source/core/events/KeyboardEvent.cpp#newcode102 Source/core/events/KeyboardEvent.cpp:102: , m_isAutoRepeat(key.isAutoRepeat()) Not specific to this CL but perhaps ...
Sorry I missed your previous ping! This seems reasonable to me. LGTM with a
couple minor questions.
https://codereview.chromium.org/933323002/diff/20001/public/web/WebInputEvent.h
File public/web/WebInputEvent.h (right):
https://codereview.chromium.org/933323002/diff/20001/public/web/WebInputEvent...
public/web/WebInputEvent.h:250: // The DOM key enum of the key pressed as passed
by the embedder. DOM
On 2015/03/09 15:14:27, Habib Virji wrote:
> As previously stated, it was added as rbyers suggested. Please suggest if to
> remove.
I don't have a strong preference. It's not like there is really any hard
separation between chromium and blink anymore (especially with the repos
merging) so I don't see any realistic downside to specifying chromium paths to
help developers understand what's going on (DEPS rules will prevent you from
including chromium headers into blink, so I don't think there's a risk of
developers doing dumb things with this knowledge). But if wez@ feels strongly,
then I'm OK being vague as well.
https://codereview.chromium.org/933323002/diff/40001/Source/web/WebInputEvent...
File Source/web/WebInputEventConversion.cpp (right):
https://codereview.chromium.org/933323002/diff/40001/Source/web/WebInputEvent...
Source/web/WebInputEventConversion.cpp:322: m_key =
Platform::current()->domKeyStringFromEnum(e.domKey);
Wow, I'm surprised we do this every time we create a KeyboardEvent. I assumed
the point of calling back into the embedder to map between enums and strings was
that we'd do it lazily - only when the application actually requested the
string. But since this is the existing pattern for m_code, and I don't think
keyboard events are particularly perf sensitive (i.e. don't send them at very
high rates), then keeping it as simple/consistent as possible is certainly best.
https://codereview.chromium.org/933323002/diff/40001/Source/web/tests/WebInpu...
File Source/web/tests/WebInputEventConversionTest.cpp (right):
https://codereview.chromium.org/933323002/diff/40001/Source/web/tests/WebInpu...
Source/web/tests/WebInputEventConversionTest.cpp:734: const std::string
baseURL("http://www.test5.com/");
Why are you making these baseURL changes?
https://codereview.chromium.org/933323002/diff/40001/public/platform/Platform.h
File public/platform/Platform.h (right):
https://codereview.chromium.org/933323002/diff/40001/public/platform/Platform...
public/platform/Platform.h:623: virtual WebString domKeyStringFromEnum(int
domKey) { return WebString(); }
Since this feature is 'experimental' I assume it's fine to land (and potentially
ship) the blink side before the chromium side lands, right? The feature will be
somewhat broken without the chromium CL, but only when pages attempt to use
strings, right? That's probably fine, but we should aim to have the chromium
side landed in the same milestone (i.e. both blink and chromium sides need to
land before M44 branch on May 15th). A bunch of users do run with
--enable-experimental-web-platform-features and so this could trigger bugs on
webpages that are surprised to see empty strings.
Habib Virji
Thanks Rick for reviewing. Apologise for a late response. This time i am bit late ...
Thanks, still LGTM
+aelias for Source/web OWNERS
+vollick for Source/platform OWNERS
+dgozman for Source/devtools OWNERS
https://codereview.chromium.org/933323002/diff/20001/public/web/WebInputEvent.h
File public/web/WebInputEvent.h (right):
https://codereview.chromium.org/933323002/diff/20001/public/web/WebInputEvent...
public/web/WebInputEvent.h:250: // The DOM key enum of the key pressed as passed
by the embedder. DOM
On 2015/04/29 16:00:50, Habib Virji wrote:
> @wez: Do you have a suggestion on this?
Since we haven't heard from wez@ on this yet, I suggest you just land it the way
it is. But if you prefer you can take the comment out. It's a minor issue, not
worth delaying your CL for further.
https://codereview.chromium.org/933323002/diff/40001/Source/web/WebInputEvent...
File Source/web/WebInputEventConversion.cpp (right):
https://codereview.chromium.org/933323002/diff/40001/Source/web/WebInputEvent...
Source/web/WebInputEventConversion.cpp:322: m_key =
Platform::current()->domKeyStringFromEnum(e.domKey);
On 2015/04/29 16:00:50, Habib Virji wrote:
> I agree this is not the best use of the embedded API. I will look into
alternate
> way of setting this value. Will like to land this CL as things to start
working.
Yes, please do. Maybe add a TODO comment here referencing a new bug that you
file saying to explore deferring this call. This may be a case of premature
optimization though - if you can show (eg. using chrome://tracing) that the cost
is trivial, then it may not be worth changing (depending how hard/ugly it is to
fix).
https://codereview.chromium.org/933323002/diff/40001/Source/web/tests/WebInpu...
File Source/web/tests/WebInputEventConversionTest.cpp (right):
https://codereview.chromium.org/933323002/diff/40001/Source/web/tests/WebInpu...
Source/web/tests/WebInputEventConversionTest.cpp:734: const std::string
baseURL("http://www.test5.com/");
On 2015/04/29 16:00:50, Habib Virji wrote:
> This is rectifying mistake i did in my previous push where I modified by
mistake
> the URL.
Do you mean a previous CL that you landed? If so mention/link to it in your CL
description. If you mean a previous patch set for this CL, then something has
gone wrong - I'm looking only at the diff of the latest patch set to what's in
the tree today.
Thanks Rick, added bug id and updated CL description.
https://codereview.chromium.org/933323002/diff/40001/Source/web/WebInputEvent...
File Source/web/WebInputEventConversion.cpp (right):
https://codereview.chromium.org/933323002/diff/40001/Source/web/WebInputEvent...
Source/web/WebInputEventConversion.cpp:322: m_key =
Platform::current()->domKeyStringFromEnum(e.domKey);
On 2015/04/29 17:34:27, Rick Byers wrote:
> On 2015/04/29 16:00:50, Habib Virji wrote:
> > I agree this is not the best use of the embedded API. I will look into
> alternate
> > way of setting this value. Will like to land this CL as things to start
> working.
>
> Yes, please do. Maybe add a TODO comment here referencing a new bug that you
> file saying to explore deferring this call. This may be a case of premature
> optimization though - if you can show (eg. using chrome://tracing) that the
cost
> is trivial, then it may not be worth changing (depending how hard/ugly it is
to
> fix).
Done.
https://codereview.chromium.org/933323002/diff/40001/Source/web/tests/WebInpu...
File Source/web/tests/WebInputEventConversionTest.cpp (right):
https://codereview.chromium.org/933323002/diff/40001/Source/web/tests/WebInpu...
Source/web/tests/WebInputEventConversionTest.cpp:734: const std::string
baseURL("http://www.test5.com/");
It was previous CL, related to Keyboard Code. Added in the description. Thanks.
dgozman
https://codereview.chromium.org/933323002/diff/80001/Source/devtools/front_end/screencast/ScreencastView.js File Source/devtools/front_end/screencast/ScreencastView.js (right): https://codereview.chromium.org/933323002/diff/80001/Source/devtools/front_end/screencast/ScreencastView.js#newcode290 Source/devtools/front_end/screencast/ScreencastView.js:290: windowsVirtualKeyCode: event.keyCode /* windowsVirtualKeyCode */, nit: you can drop ...
https://codereview.chromium.org/933323002/diff/80001/Source/devtools/protocol...
File Source/devtools/protocol.json (right):
https://codereview.chromium.org/933323002/diff/80001/Source/devtools/protocol...
Source/devtools/protocol.json:4334: { "name": "key", "type": "string",
"optional": true, "description": "Unique DOM defined string value describing the
meaning of the key in the context of active modifiers, keyboard layout, etc
(e.g., 'AltGr') (default: \"\")." },
On 2015/04/30 09:21:09, dgozman wrote:
> Note that you will not be able to commit this without changing
> content/browser/devtools/protocol/input_handler.{h,cc} first. I think it would
> be easier for you to split devtools patch off this, and add support to
devtools
> protocol separately.
Thanks dgozman, it makes sense. I will try to land this CL. Then send a CL for
content/browser/devtools/protocol/input_handler.{h,cc} changes, followed by
Blink changes.
Ian Vollick
On 2015/04/30 at 10:11:52, habib.virji wrote: > https://codereview.chromium.org/933323002/diff/80001/Source/devtools/protocol.json > File Source/devtools/protocol.json (right): > > https://codereview.chromium.org/933323002/diff/80001/Source/devtools/protocol.json#newcode4334 ...
On 2015/04/30 at 10:11:52, habib.virji wrote:
>
https://codereview.chromium.org/933323002/diff/80001/Source/devtools/protocol...
> File Source/devtools/protocol.json (right):
>
>
https://codereview.chromium.org/933323002/diff/80001/Source/devtools/protocol...
> Source/devtools/protocol.json:4334: { "name": "key", "type": "string",
"optional": true, "description": "Unique DOM defined string value describing the
meaning of the key in the context of active modifiers, keyboard layout, etc
(e.g., 'AltGr') (default: \"\")." },
> On 2015/04/30 09:21:09, dgozman wrote:
> > Note that you will not be able to commit this without changing
> > content/browser/devtools/protocol/input_handler.{h,cc} first. I think it
would
> > be easier for you to split devtools patch off this, and add support to
devtools
> > protocol separately.
>
> Thanks dgozman, it makes sense. I will try to land this CL. Then send a CL for
content/browser/devtools/protocol/input_handler.{h,cc} changes, followed by
Blink changes.
platform lgtm
Habib Virji
The CQ bit was checked by habib.virji@samsung.com to run a CQ dry run
On 2015/04/30 15:19:19, I haz the power (commit-bot) wrote:
> Dry run: CQ is trying da patch. Follow status at
> https://chromium-cq-status.appspot.com/patch-status/933323002/120001
Note that you still have one trivial change in Source/devtools that either needs
to be undone or l-g-t-m'd by a devtools OWNER.
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/win_blink_rel/builds/61377)
The webexposed/global-interface-listing.html is failing on WebKit_Win7 at Build #29258 https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/29258/layout-test-results/results.html --- E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-expected.txt +++ E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-actual.txt @@ ...
The webexposed/global-interface-listing.html is failing on WebKit_Win7 at Build
#29258
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/2925...
---
E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-expected.txt
+++
E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-actual.txt
@@ -3081,6 +3081,7 @@
getter charCode
getter code
getter ctrlKey
+ getter key
getter keyCode
getter keyIdentifier
getter keyLocation
Yet your patch that added 'key' is still in queue on that bot -- it's still
being processed in next build #29259
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/29259
so it has not really landed on WebKit_Win7 yet. Odd.
Habib Virji
On 2015/05/01 14:03:04, noel gordon wrote: > The webexposed/global-interface-listing.html is failing on WebKit_Win7 at Build ...
On 2015/05/01 14:03:04, noel gordon wrote:
> The webexposed/global-interface-listing.html is failing on WebKit_Win7 at
Build
> #29258
>
>
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/2925...
>
> ---
>
E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-expected.txt
> +++
>
E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-actual.txt
> @@ -3081,6 +3081,7 @@
> getter charCode
> getter code
> getter ctrlKey
> + getter key
> getter keyCode
> getter keyIdentifier
> getter keyLocation
>
> Yet your patch that added 'key' is still in queue on that bot -- it's still
> being processed in next build #29259
>
>
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/29259
>
> so it has not really landed on WebKit_Win7 yet. Odd.
That's strange. If it has not landed then global-interface-listing, should not
generate error for the Missing interface Key.
jbroman
On 2015/05/01 14:16:11, Habib Virji wrote: > On 2015/05/01 14:03:04, noel gordon wrote: > > ...
On 2015/05/01 14:16:11, Habib Virji wrote:
> On 2015/05/01 14:03:04, noel gordon wrote:
> > The webexposed/global-interface-listing.html is failing on WebKit_Win7 at
> Build
> > #29258
> >
> >
>
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/2925...
> >
> > ---
> >
>
E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-expected.txt
> > +++
> >
>
E:\b\build\slave\WebKit_Win7\build\layout-test-results\webexposed/global-interface-listing-actual.txt
> > @@ -3081,6 +3081,7 @@
> > getter charCode
> > getter code
> > getter ctrlKey
> > + getter key
> > getter keyCode
> > getter keyIdentifier
> > getter keyLocation
> >
> > Yet your patch that added 'key' is still in queue on that bot -- it's still
> > being processed in next build #29259
> >
> >
>
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/29259
> >
> > so it has not really landed on WebKit_Win7 yet. Odd.
>
> That's strange. If it has not landed then global-interface-listing, should not
> generate error for the Missing interface Key.
Looks like an infra bug to me. Filed crbug.com/483472.
Habib Virji
On 2015/04/30 17:32:43, Rick Byers wrote: > On 2015/04/30 15:19:19, I haz the power (commit-bot) ...
On 2015/04/30 17:32:43, Rick Byers wrote:
> On 2015/04/30 15:19:19, I haz the power (commit-bot) wrote:
> > Dry run: CQ is trying da patch. Follow status at
> > https://chromium-cq-status.appspot.com/patch-status/933323002/120001
>
> Note that you still have one trivial change in Source/devtools that either
needs
> to be undone or l-g-t-m'd by a devtools OWNER.
Thanks Rick. Done
Wez
Habib, so sorry, I totally missed your reviews in my queue. :( https://codereview.chromium.org/933323002/diff/160001/LayoutTests/fast/events/keyboardevent-key.html File LayoutTests/fast/events/keyboardevent-key.html ...
4 years, 12 months ago
(2015-05-06 01:32:13 UTC)
#41
No issues, Wez. Thanks for the input. Since this CL has landed and it is ...
4 years, 12 months ago
(2015-05-06 15:38:17 UTC)
#42
Message was sent while issue was closed.
No issues, Wez. Thanks for the input. Since this CL has landed and it is mostly
wording and test changes. I am uploading a new patch (tomorrow) that will fix
these issues that you mentioned and the rewording that you have highlighted
here. It all relies on chromium patch to be landed, will appreciate if you can
have a look at https://codereview.chromium.org/929053004/
Issue 933323002: Add experimental Support for DOM3 KeyboardEvent key value
(Closed)
Created 5 years, 2 months ago by Habib Virji
Modified 4 years, 10 months ago
Reviewers: aelias_OOO_until_Jul13, bokan, dgozman, garykac, Mike West, pfeldman, Rick Byers, Ian Vollick, Wez
Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Comments: 55