[Webkit-unassigned] [Bug 38667] Web Inspector: add help on keyboard shortcuts
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu May 6 23:42:50 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=38667
Pavel Feldman <pfeldman at chromium.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #55285|review? |review-
Flag| |
--- Comment #7 from Pavel Feldman <pfeldman at chromium.org> 2010-05-06 23:42:49 PST ---
(From update of attachment 55285)
ChangeLog is missing
You should modify visual studio project and WebCore.qrc to make Windows & Qt
happy.
WebCore/WebCore.xcodeproj/project.pbxproj:904
+ 49E6045411933E4900425C05 /* ShortcutKeysPopover.js in Sources */ =
{isa = PBXBuildFile; fileRef = 49E6045211933E4900425C05 /*
ShortcutKeysPopover.js */; };
No need to modify xproject
WebCore/WebCore.xcodeproj/project.pbxproj:10488
+ 49E6045211933E4900425C05 /* ShortcutKeysPopover.js */,
ditto
WebCore/WebCore.xcodeproj/project.pbxproj:21201
+ 49E6045411933E4900425C05 /* ShortcutKeysPopover.js in
Sources */,
ditto
WebCore/inspector/front-end/ConsoleView.js:107
+ section.addAlternateKeys(keys, "Clear Console");
I don't think we need such a strict API. You could just have an addRow method
receiving two strings: first is non-localizable shortcut name name and second
is localizable description. That way you would have:
section.addRow(keys.join("/"), "Clear Console") here.
Rationale: sometimes you need to do things like 'Ctrl + ("A" - "Z")' and such.
Why limiting ourselves artificially.
WebCore/inspector/front-end/ConsoleView.js:110
+ shortcut.shortcutToString(shortcut.Keys.Tab),
I think this is overcomplication. I'd replace code below with:
section.addRow("Tab / Shift + Tab", "Next / previous suggestion")
section.addRow("Up / Down", "Next / previous line")
section.addRow("Alt + N / Alt + P", ...
Rationale: there is no need to deal with shortcut objects if they are not used
in the code explicitly.
WebCore/inspector/front-end/ShortcutKeysPopover.js:3
+ this._element = document.getElementById("shortcuts-window");
You should create these elements dynamically in the code and add to body
element. No need to touch html.
WebCore/inspector/front-end/ShortcutKeysPopover.js:4
+ this._table = document.getElementById("shortcuts-table");
All element objects should have Element suffix. this._tableElement in this
case.
WebCore/inspector/front-end/ShortcutKeysPopover.js:21
+ this._element.style.visibility = "visible";
You'll be simply adding it here, not unhiding.
WebCore/inspector/front-end/ShortcutKeysPopover.js:18
+ this._buildShortcutsTable(this._sections, 2);
If this method was creating the table object itself, you would not need the
ugly needBuild flag.
WebCore/inspector/front-end/ShortcutKeysPopover.js:31
+ get shown()
No one should know your status. Why is it here? Cancel key events?
WebCore/inspector/front-end/ShortcutKeysPopover.js:132
+ WebInspector.KeyboardShortcutsTable = function()
The size of this class suggests that it is a map, not a class.
WebCore/inspector/front-end/ShortcutKeysPopover.js:151
+ this.order = ++WebInspector.KeyboardShortcutsSection._seqNo;
_sequenceNumber
WebCore/inspector/front-end/ShortcutKeysPopover.js:156
+ WebInspector.KeyboardShortcutsSection.prototype = {
As mentioned above, please keep it simple and not distinguish between related /
alternate / general keys. It simplifies both client and panel code + adds
flexibility.
WebCore/inspector/front-end/inspector.html:146
+ <div id="shortcuts-window">
As stated above, no need to add this.
WebCore/inspector/front-end/inspector.js:538
+ this._shortcutsPopover = new
WebInspector.ShortcutKeysPopover(WebInspector.keyboardShortcuts.sections);
This guy could be created lazily. No need to pay for its creation at startup.
WebCore/inspector/front-end/inspector.js:707
+ if (event.keyIdentifier === "U+001B") {
Please add comment explaining the character
WebCore/inspector/front-end/inspector.js:713
+ var helpKey = WebInspector.isMac() ? "U+003F" : "U+00BF";
ditto
WebCore/inspector/front-end/shortcutKeysPopover.css:1
+ #shortcuts-window {
No need
WebCore/inspector/front-end/shortcutKeysPopover.css:11
+ -webkit-border-radius: 8px;
border-radius?
WebCore/inspector/front-end/shortcutKeysPopover.css:15
+ border-bottom-left-radius: 0;
This is strange - you don't set radius to non-0, but you zero it for bottom
parts.
WebCore/inspector/front-end/shortcutKeysPopover.css:41
+ z-index: 1000;
I don't think you need this
WebCore/inspector/front-end/shortcutKeysPopover.css:48
+ width: 100%;
right: 0
WebCore/inspector/front-end/shortcutKeysPopover.css:53
+ font-family: Helvetica, Arial, sans-serif;
You should not define this. It'll pick default sans serif defined for body.
WebCore/inspector/front-end/shortcutKeysPopover.css:1
+ #shortcuts-window {
This component and a style should be generalized as a help screen, not
necessarily related to popover. I think we should have similar one for console
API and such. It is great you have a dedicated file for it, not that great
there are so many styles here. Let us at least load this stylesheet on demand
not to harm the startup time!
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list