Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Unified Diff: ui/keyboard/resources/elements/kb-keyboard.html

Issue 23534021: Added persistent capitalization to the Virtual Keyboard. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed shift{LocksTo,-locked,-lockable} to caps{LocksTo,-locked,-lockable}. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/keyboard/resources/elements/kb-keyset.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/keyboard/resources/elements/kb-keyboard.html
diff --git a/ui/keyboard/resources/elements/kb-keyboard.html b/ui/keyboard/resources/elements/kb-keyboard.html
index 58bc2af3a7b9572b3f59dbde2d88ba09f403c31e..d373ad773364ed0cc7d39f5f4512908537316cd2 100644
--- a/ui/keyboard/resources/elements/kb-keyboard.html
+++ b/ui/keyboard/resources/elements/kb-keyboard.html
@@ -50,6 +50,20 @@
var DBL_INTERVAL_MSEC = 300;
/**
+ * The index of the name of the keyset when searching for all keysets.
+ * @const
+ * @type {number}
+ */
+ var REGEX_KEYSET_INDEX = 1;
+
+ /**
+ * The integer number of matches when searching for keysets.
+ * @const
+ * @type {number}
+ */
+ var REGEX_MATCH_COUNT = 2;
+
+ /**
* The boolean to decide if keyboard should transit to upper case keyset
* when spacebar is pressed. If a closing punctuation is followed by a
* spacebar, keyboard should automatically transit to upper case.
@@ -186,9 +200,10 @@
var keysetId = '#' + this.layout + '-' + this.keyset;
var keyset = this.querySelector(keysetId);
- // Unlocks the keyboard if the current keyset is not lockable.
- if (!keyset.getAttribute('lockable'))
- this.classList.remove('locked');
+ // If capslock is enabled and capsLockTo is not null,
+ // redirect to keyset specified by capsLockTo.
+ if (this.classList.contains('caps-locked') && keyset.capsLocksTo)
+ this.keyset = keyset.capsLocksTo;
},
@@ -348,9 +363,7 @@
keyset.nextKeyset = this.dblTimer_.nextKeyset;
clearTimeout(this.dblTimer_);
- // Checks if shift is capitalized.
- if (keyset.getAttribute('lockable'))
- this.classList.add('locked');
+ this.classList.add('caps-locked');
this.dblDetail_ = null;
}
@@ -385,17 +398,17 @@
repeatKey.cancel();
return;
}
- var toKeyset = detail.toKeyset;
+ var toKeysetId = detail.toKeyset;
// Keyset transition key.
- if (toKeyset) {
- this.keyset = toKeyset;
+ if (toKeysetId) {
+ this.keyset = toKeysetId;
this.querySelector('#' + this.layout + '-' + this.keyset).nextKeyset =
detail.nextKeyset;
}
- var toLayout = detail.toLayout;
+ var toLayoutId = detail.toLayout;
// Layout transition key.
- if (toLayout)
- this.layout = toLayout;
+ if (toLayoutId)
+ this.layout = toLayoutId;
var char = detail.char;
if (enterUpperOnSpace) {
enterUpperOnSpace = false;
@@ -404,8 +417,13 @@
}
switch(char) {
case 'Invalid':
+ swipeStatus.swipeFlags = 0;
+ return;
case 'Shift':
swipeStatus.swipeFlags = 0;
+ // We have reverted to lower case.
+ if(this.classList.contains('caps-locked'))
+ this.classList.remove('caps-locked');
return;
case 'Microphone':
this.voiceInput_.onDown();
@@ -438,7 +456,7 @@
detail.nextKeyset;
// Locks the keyset before removing active to prevent flicker.
- this.classList.add('locked');
+ this.classList.add('caps-locked');
// Makes last pressed key inactive if transit to a new keyset on long
// press.
this.lastPressedKey.classList.remove('active');
@@ -474,10 +492,10 @@
var keysetsLoaded = false;
for (var i = 0; i < keysets.length; i++) {
var matches = keysets[i].id.match(regex);
- if (matches && matches.length == 2) {
+ if (matches && matches.length == REGEX_MATCH_COUNT) {
keysetsLoaded = true;
if (keysets[i].isDefault) {
- this.keyset = matches[1];
+ this.keyset = matches[REGEX_KEYSET_INDEX];
return true;
}
}
« no previous file with comments | « no previous file | ui/keyboard/resources/elements/kb-keyset.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698