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

Side by Side Diff: third_party/WebKit/Source/core/editing/InputMethodController.cpp

Issue 2839993002: [Android] Adding Smart GO/NEXT feature in Chrome (Closed)
Patch Set: Rebased the patch from TOT Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 27 matching lines...) Expand all
38 #include "core/editing/state_machines/BackwardCodePointStateMachine.h" 38 #include "core/editing/state_machines/BackwardCodePointStateMachine.h"
39 #include "core/editing/state_machines/ForwardCodePointStateMachine.h" 39 #include "core/editing/state_machines/ForwardCodePointStateMachine.h"
40 #include "core/events/CompositionEvent.h" 40 #include "core/events/CompositionEvent.h"
41 #include "core/frame/LocalFrame.h" 41 #include "core/frame/LocalFrame.h"
42 #include "core/html/HTMLInputElement.h" 42 #include "core/html/HTMLInputElement.h"
43 #include "core/html/HTMLTextAreaElement.h" 43 #include "core/html/HTMLTextAreaElement.h"
44 #include "core/input/EventHandler.h" 44 #include "core/input/EventHandler.h"
45 #include "core/layout/LayoutObject.h" 45 #include "core/layout/LayoutObject.h"
46 #include "core/layout/LayoutTheme.h" 46 #include "core/layout/LayoutTheme.h"
47 #include "core/page/ChromeClient.h" 47 #include "core/page/ChromeClient.h"
48 #include "core/page/FocusController.h"
49 #include "core/page/Page.h"
48 50
49 namespace blink { 51 namespace blink {
50 52
51 namespace { 53 namespace {
52 54
53 void DispatchCompositionUpdateEvent(LocalFrame& frame, const String& text) { 55 void DispatchCompositionUpdateEvent(LocalFrame& frame, const String& text) {
54 Element* target = frame.GetDocument()->FocusedElement(); 56 Element* target = frame.GetDocument()->FocusedElement();
55 if (!target) 57 if (!target)
56 return; 58 return;
57 59
(...skipping 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after
1127 flags |= kWebTextInputFlagAutocapitalizeCharacters; 1129 flags |= kWebTextInputFlagAutocapitalizeCharacters;
1128 else if (autocapitalize == words) 1130 else if (autocapitalize == words)
1129 flags |= kWebTextInputFlagAutocapitalizeWords; 1131 flags |= kWebTextInputFlagAutocapitalizeWords;
1130 else if (autocapitalize == sentences) 1132 else if (autocapitalize == sentences)
1131 flags |= kWebTextInputFlagAutocapitalizeSentences; 1133 flags |= kWebTextInputFlagAutocapitalizeSentences;
1132 else 1134 else
1133 NOTREACHED(); 1135 NOTREACHED();
1134 } 1136 }
1135 } 1137 }
1136 1138
1139 if (GetDocument().GetPage()->GetFocusController().NextFocusableElementInForm(
1140 element, kWebFocusTypeForward))
1141 flags |= kWebTextInputFlagHaveNextFocusableElement;
1142
1143 if (GetDocument().GetPage()->GetFocusController().NextFocusableElementInForm(
1144 element, kWebFocusTypeBackward))
1145 flags |= kWebTextInputFlagHavePreviousFocusableElement;
1146
1137 return flags; 1147 return flags;
1138 } 1148 }
1139 1149
1140 WebTextInputMode InputMethodController::InputModeOfFocusedElement() const { 1150 WebTextInputMode InputMethodController::InputModeOfFocusedElement() const {
1141 if (!RuntimeEnabledFeatures::InputModeAttributeEnabled()) 1151 if (!RuntimeEnabledFeatures::InputModeAttributeEnabled())
1142 return kWebTextInputModeDefault; 1152 return kWebTextInputModeDefault;
1143 1153
1144 AtomicString mode = GetInputModeAttribute(GetDocument().FocusedElement()); 1154 AtomicString mode = GetInputModeAttribute(GetDocument().FocusedElement());
1145 1155
1146 if (mode.IsEmpty()) 1156 if (mode.IsEmpty())
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1238 FinishComposingText(kKeepSelection); 1248 FinishComposingText(kKeepSelection);
1239 } 1249 }
1240 1250
1241 DEFINE_TRACE(InputMethodController) { 1251 DEFINE_TRACE(InputMethodController) {
1242 visitor->Trace(frame_); 1252 visitor->Trace(frame_);
1243 visitor->Trace(composition_range_); 1253 visitor->Trace(composition_range_);
1244 SynchronousMutationObserver::Trace(visitor); 1254 SynchronousMutationObserver::Trace(visitor);
1245 } 1255 }
1246 1256
1247 } // namespace blink 1257 } // namespace blink
OLDNEW
« no previous file with comments | « content/test/data/android/input/input_forms.html ('k') | third_party/WebKit/Source/core/page/FocusController.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698