- 14 Sep, 2016 40 commits
-
-
raphael.kubo.da.costa authored
template, and if we stop always passing some files in chrome/ on every invocation it is possible to generalize it and move it to build/util instead (and fix some layering violation comments along the way). Compared to its previous incarnation, process_version() no longer passes LASTCHANGE, BRANDING and VERSION automatically to version.py. This makes it easier for callers to specify their own |sources| with values that may override those set in those 3 files. A new wrapper, process_version_rc_template(), was introduced to cater for callers (generally Windows ones) who need to process a .rc.version file that requires the values from LASTCHANGE, BRANDING and VERSION. It always passes those 3 files to process_version() before any optional additional |sources|, and |template_file| defaults to chrome_version.rc.version. Since this template depends on files from //chrome, it lives in the newly-added //chrome/process_version_rc_template.gni. R=dpranke@chromium.org,brettw@chromium.org Review-Url: https://codereview.chromium.org/2308313003 Cr-Commit-Position: refs/heads/master@{#418514}
-
yukishiino authored
ExceptionState is now a scope-like object, and guarantees that an exception is automatically thrown at destruction. ExceptionToPromiseScope similarly guarantees to return a reject promise instead of throwing an exception. A new Jinja2 filter "format_remove_duplicates" helps write a template more easily without caring duplicates. {% if A_enabled %} ScriptState* scriptState = ...; A(scriptState); {% endif %} {% if B_enabled %} ScriptState* scriptState = ...; B(scriptState); {% endif %} produces two lines of definitions of |scriptState|, however, format_remove_duplicates removes the duplicates. Jinja2 macro "propagate_error_with_exception_state" is no longer necessary, because ExceptionState and ExceptionToPromiseScope automatically throws an exception or returns a reject promise appropriately. This CL alone does not fix crbug.com/627309 , but the CL makes it easy to fix the issue. BUG=627309 Review-Url: https://codereview.chromium.org/2301993002 Cr-Commit-Position: refs/heads/master@{#418513}
-
leon.han authored
|context_| has already been created in MojoChildConnection constructor initialization list, no need to create it again in construtor body. BUG=none Review-Url: https://codereview.chromium.org/2338753002 Cr-Commit-Position: refs/heads/master@{#418512}
-
sdefresne authored
Revert of
🍵 Refactor the various locale_paks() templates to be more shared (patchset #2 id:260001 of https://codereview.chromium.org/2339783002/ ) Reason for revert: The refactoring of the ios file is likely incorrect as it breaks the autoroller (as some files are no longer generated or have different name). Reverting as half of the touched files are in ios/. Original issue's description: > Reland of Refactor the various locale_paks() templates to be more shared > > Reverted by: > https://codereview.chromium.org/2340673002/ > > Reason for reland: > Now gn gens for enable_resource_whitelist_generation = true > > Main motivation for this is to more easily add per-target > repack_whitelist. > > TBR=michaelbai@chromium.org,thakis@chromium.org,sdefresne@chromium.org,estevenson@chromium.org,rsesek@chromium.org,brettw@chromium.org > BUG=645716 > > Committed: https://crrev.com/d83512c644c7c61331a32c97ba549fcb1d8793cb > Cr-Commit-Position: refs/heads/master@{#418450} TBR=michaelbai@chromium.org,thakis@chromium.org,estevenson@chromium.org,rsesek@chromium.org,brettw@chromium.org,agrieve@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=645716 Review-Url: https://codereview.chromium.org/2338213002 Cr-Commit-Position: refs/heads/master@{#418511} -
shaochuan authored
Current clang version supports the UUID syntax in <robuffer.h>, removing additional declaration. BUG=512433 R=toyoshim@chromium.org Review-Url: https://codereview.chromium.org/2341603002 Cr-Commit-Position: refs/heads/master@{#418510}
-
chrome://serviceworker-internalshoro authored
BUG= Review-Url: https://codereview.chromium.org/2334003004 Cr-Commit-Position: refs/heads/master@{#418509}
-
hiroshige authored
Previously, loadFile() is called to load the test page during performance measurement in PerfTestRunner.measurePageLoadTime(), and thus the results of blink_perf.svg tests were affected by the performance of loadFile() (that is not related to SVG). This CL makes the loadFile() to be executed before measurement and thus avoids blink_perf.svg regressions caused by loadFile() performance regression. The loadFile() performance regression is caused by [1] because, after [1], synchronous XHRs are evicted from MemoryCache when Oilpan GC is executed. [1] https://codereview.chromium.org/2296913003 This is expected and we can ignore the regression unless it causes regressions in real use cases. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.perf:android_s5_perf_cq;master.tryserver.chromium.perf:linux_perf_cq;master.tryserver.chromium.perf:mac_retina_perf_cq;master.tryserver.chromium.perf:winx64_10_perf_cq BUG=645363 Review-Url: https://codereview.chromium.org/2323313002 Cr-Commit-Position: refs/heads/master@{#418508}
-
alancutter authored
For element.animate() calls of the form "element.animate({property: [a, b, c]}, timing);" we were not accepting non-array iterables for the value list. This patch extends support for generic iterable objects to property indexed keyframe values. This behaviour corresponds to step 6.3 of http://w3c.github.io/web-animations/#process-a-keyframe-like-object where we cast the values as a (DOMString or sequence<DOMString>) object. BUG=645393 Review-Url: https://codereview.chromium.org/2334123002 Cr-Commit-Position: refs/heads/master@{#418507}
-
yhirano authored
BUG=610195 Review-Url: https://codereview.chromium.org/2319033002 Cr-Commit-Position: refs/heads/master@{#418506}
-
v8-autoroll authored
Summary of changes available at: https://chromium.googlesource.com/v8/v8/+log/9d075810..96eff685 Please follow these instructions for assigning/CC'ing issues: https://github.com/v8/v8/wiki/Triaging%20issues Please close rolling in case of a roll revert: https://v8-roll.appspot.com/ This only works with a Google account. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel TBR=hablich@chromium.org,machenbach@chromium.org,littledan@chromium.org,vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2338163002 Cr-Commit-Position: refs/heads/master@{#418505}
-
ricea authored
A mostly-automated change to convert instances of WrapUnique(new Foo(...)) to MakeUnique<Foo>(...). See the thread at https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/iQgMedVA8-k for background. To avoid requiring too many manual fixups, the change skips some cases that are frequently problematic. In particular, in methods named Foo::Method() it will not try to change WrapUnique(new Foo()) to MakeUnique<Foo>(). This is because Foo::Method() may be accessing an internal constructor of Foo. Cases where MakeUnique<NestedClass>(...) is called within a method of OuterClass are common but hard to detect automatically, so have been fixed-up manually. The only types of manual fix ups applied are: 1) Revert MakeUnique back to WrapUnique 2) Change NULL to nullptr in argument list (MakeUnique cannot forward NULL correctly) 3) Add base:: namespace qualifier where missing. WrapUnique(new Foo) has not been converted to MakeUnique<Foo>() as this might change behaviour if Foo does not have a user-defined constructor. For example, WrapUnique(new int) creates an unitialised integer, but MakeUnique<int>() creates an integer initialised to 0. git cl format has been been run over the CL. Spot-checking has uncovered no cases of mis-formatting. BUG=637812 Review-Url: https://codereview.chromium.org/2260433003 Cr-Commit-Position: refs/heads/master@{#418504}
-
ccameron authored
TBR=hubbe BUG=646708 Review-Url: https://codereview.chromium.org/2337423002 Cr-Commit-Position: refs/heads/master@{#418503}
-
tzik authored
http://crrev.com/59aa6bb1162b31d2 added a parameter of BindStateBase, and that causes 0.8% (40kB) binary size bloat on cronet, by adding a new instruction to the constructor invocation at BindState ctor. To reduce the binary size, this CL splits BindStateBase into two: one for cancellable bind and another for non-cancellable one, so that non-cancellable bind doesn't need to pass an extra argument to BindStateBase. This reduces the stripped binary size of chrome on Linux by 56kB. Review-Url: https://codereview.chromium.org/2322313002 Cr-Commit-Position: refs/heads/master@{#418502}
-
yosin authored
This patch converts "editing/deleting/merge-paragraph-from-h6*.html" to use w3c test harness to simplify test script, and consolidates into "merge_paragraph_from_h6.html" since these test scripts use similar test sample, for improving code health. BUG=n/a TEST=n/a; no behavior changes Review-Url: https://codereview.chromium.org/2336173002 Cr-Commit-Position: refs/heads/master@{#418501}
-
yosin authored
This patch converts "editing/deleting/merge-paragraph-from-p*.html" to use w3c test harness to simplify test script, and consolidates into "merge_paragraph_from_p.html" since these test scripts use similar test sample, for improving code health. BUG=n/a TEST=n/a; no behavior changes Review-Url: https://codereview.chromium.org/2333223002 Cr-Commit-Position: refs/heads/master@{#418500}
-
liushouqun authored
AecDumpMessageFilter should not be included if enable_webrtc=false. BUG=642210 TEST= Review-Url: https://codereview.chromium.org/2334173002 Cr-Commit-Position: refs/heads/master@{#418499}
-
yosin authored
This patch converts "editing/execCommand/queryCommandState-01.html" to use w3c test harness to simplify test script for improving code health. BUG=n/a TEST=n/a; no behavior changes Review-Url: https://codereview.chromium.org/2342513002 Cr-Commit-Position: refs/heads/master@{#418498}
-
yosin authored
This patch converts "editing/execCommand/insertHTML.html" to use w3c test harness to simplify test script for improving code health. BUG=n/a TEST=n/a; no behavior changes Review-Url: https://codereview.chromium.org/2330353004 Cr-Commit-Position: refs/heads/master@{#418497}
-
tzik authored
TestSimpleTaskRunner::GetPendingTasks returns a full copy of the queued pending tasks, which is less clean, and also that prevents a refactoring that makes tasks move-only. This CL replaces them with an equivalent NumPendingTasks to avoid the copy. BUG=554299 Review-Url: https://codereview.chromium.org/2335153002 Cr-Commit-Position: refs/heads/master@{#418496}
-
yukishiino authored
V8's named interceptor never traps |0| of type number nor |"0"| of type string. Both of |0| and |"0"| trigger indexed interceptor. In order for named properties to capture property keys such as 0 or "0", we have to first trap them at indexed interceptor, and then fall through to an named property handler. If an interface supports indexed properties, we don't need this fallback mechanism. If an interface only supports named properties, let 0 or "0" fall through to an named property handler. BUG=229750 Review-Url: https://codereview.chromium.org/2321073002 Cr-Commit-Position: refs/heads/master@{#418495}
-
dcheng authored
AppendIfNotPresent() and Insert() now take unique_ptr instead of a raw pointer. BUG=581865 TBR=brettw@chromium.org Review-Url: https://codereview.chromium.org/2336863003 Cr-Commit-Position: refs/heads/master@{#418494}
-
bugsnash authored
Part of making PassRefPtr move only, in preparation for the removal of PassRefPtr. BUG=640449 Review-Url: https://codereview.chromium.org/2308353002 Cr-Commit-Position: refs/heads/master@{#418493}
-
v8-autoroll authored
Summary of changes available at: https://chromium.googlesource.com/v8/v8/+log/0ea5d982..9d075810 Please follow these instructions for assigning/CC'ing issues: https://github.com/v8/v8/wiki/Triaging%20issues Please close rolling in case of a roll revert: https://v8-roll.appspot.com/ This only works with a Google account. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel TBR=hablich@chromium.org,machenbach@chromium.org,littledan@chromium.org,vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2339063003 Cr-Commit-Position: refs/heads/master@{#418492}
-
nona authored
This is regression from http://crrev.com/dac0c7af14c29c9d8509b775d5044e5448b6263b The show_ime_if_needed is one shot message so we can't use it as a trigger of monitoring composition bounding box, since we need to keep monitoring during the text input session is active. BUG=640012 Review-Url: https://codereview.chromium.org/2330423002 Cr-Commit-Position: refs/heads/master@{#418491}
-
yutak authored
Revert of cc: Plumb the monitor color profile to renderer for rasterization (patchset #6 id:100001 of https://codereview.chromium.org/2325773003/ ) Reason for revert: Suspected cause of the following MSAN failure. https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20MSAN/builds/12218 19:03:27.700 29717 ==4==WARNING: MemorySanitizer: use-of-uninitialized-value 19:03:27.700 29717 #0 0x7853dbe in computeTypeMask third_party/skia/src/core/SkMatrix44.cpp:59:23 19:03:27.700 29717 #1 0x7858825 in getType third_party/skia/include/core/SkMatrix44.h:208:31 19:03:27.700 29717 #2 0x7858825 in setConcat third_party/skia/src/core/SkMatrix44.cpp:378:0 19:03:27.700 29717 #3 0x76f8840 in operator*= ui/gfx/transform.h:253:5 19:03:27.700 29717 #4 0x76f8840 in ColorSpaceToColorSpaceTransform ui/gfx/color_transform.cc:563:0 19:03:27.700 29717 #5 0x76f78de in NewColorTransform ui/gfx/color_transform.cc:703:15 19:03:27.700 29717 #6 0x767f315 in GetColorSpace ui/gfx/icc_profile.cc:142:45 19:03:27.700 29717 #7 0xb2263ae in initializeLayerTreeView content/renderer/render_widget.cc:1141:61 19:03:27.700 29717 #8 0xb1e68fd in initializeLayerTreeView content/renderer/render_view_impl.cc:1956:17 19:03:27.700 29717 #9 0xc1c6b06 in initializeLayerTreeView third_party/WebKit/Source/web/WebViewImpl.cpp:4341:19 19:03:27.700 29717 #10 0xc1c57bf in WebViewImpl third_party/WebKit/Source/web/WebViewImpl.cpp:471:5 19:03:27.700 29717 #11 0xc1c29ff in create third_party/WebKit/Source/web/WebViewImpl.cpp:342:25 19:03:27.700 29717 #12 0xc1c29ff in create third_party/WebKit/Source/web/WebViewImpl.cpp:336:0 19:03:27.700 29717 #13 0xb19b457 in Initialize content/renderer/render_view_impl.cc:717:7 <snip> Original issue's description: > cc: Plumb the monitor color profile to renderer for rasterization > > This adds the output device color profile to display::Display, and > populates it correctly on Mac. We will want to do this for all > platforms. > > The color profile is then plumbed through the same IPCs that take > the device scale factor, to get to the renderer process' > RenderWidgetCompositor. > > Note that we are sending the full ICCProfile this far. This is > important, because the renderer process will be setting the ICCProfile > of its rasterized IOSurfaces, and there is a power impact of even slight > differences between the monitor profile and the IOSurface profile. > > The ICCProfile is then sent as a gfx::ColorProfile (which internally > references the ICCProfile, for the above purpose) to the > RenderWidgetCompositor, from where it will be pushed to cc. > > In the next step, we will (under a flag) specify the color space > for rasterization. > > BUG=44872 > CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel > > Committed: https://crrev.com/f1fef7489c29deeee2a29c41ce4851e9ad1bd67b > Cr-Commit-Position: refs/heads/master@{#418422} TBR=enne@chromium.org,clamy@chromium.org,dcheng@chromium.org,ellyjones@chromium.org,ccameron@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=44872 Review-Url: https://codereview.chromium.org/2336113003 Cr-Commit-Position: refs/heads/master@{#418490}
-
maksim.sisov authored
This cl splits the big CL with changes to net/ folder and has changes only to net/sdch according to the changes to URLRequest API. What the big cl does: It modifies net/ clients that use URLRequest API as long as URLRequest::Read returns int net errors and URLRequest::Delegate and NetworkDelegate methods (for example, OnResponseStarted or OnCompleted) have int net_error in the arguments now. The reason behind splitting the CL into small one is that an android bot started to be unstable and unittests became flaky. It was not possible to locate the problem and the decision was to split the CL and upload small parts with a 6+ hours interval in order to make it possible to locate the problematic code. The big CL is located here - https://codereview.chromium.org/2265873002/ BUG=423484 Review-Url: https://codereview.chromium.org/2329903002 Cr-Commit-Position: refs/heads/master@{#418489}
-
pdr authored
The text autosizer is used for both making desktop pages more legible on mobile, and for applying the accessibility font scale factor. When text-size-adjust support was added, pages were able to override the accessibility setting in addition to the autosizing multiplier. This patch ensures accessibility font scale settings are respected even with text-size-adjust. A followup bug has been filed (crbug.com/645717) for moving the accessibility font scale factor out of the autosizer. This patch also re-enables support for text-size-adjust which was disabled temporarily due to breaking accessibility settings. This was reverted due to a forgotten "!" in checking whether the viewport was specified by the author in TextAutosizer.cpp. A new test has been added to catch this in the future. The unneeded meta viewport declarations in all other tests have been removed because they had no effect with the meta viewport setting disabled. Original review: https://codereview.chromium.org/2329733002 BUG=645269,646342 Review-Url: https://codereview.chromium.org/2340553003 Cr-Commit-Position: refs/heads/master@{#418488}
-
ntang authored
The following APIs are whitelisted: - imageWriterPrivate - chromeosInfoPrivate - the feedback API - fileSystem BUG=642141 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2297113002 Cr-Commit-Position: refs/heads/master@{#418487}
-
Prashant.Patil authored
We add WebGLImageConversionTest in blink_platform_unittests. This covers following conversion tests: - ConvertRGBA4444toRGBA8 - ConvertRGBA5551toRGBA8 - ConvertRGBA8toRA8 - convertBGRA8toRGBA8 - ConvertRGBA8toR8 - ConvertRGBA8toRGBA8 - ConvertRGBA8ToUnsignedShort4444 - ConvertRGBA8ToRGBA5551 - ConvertRGBA8ToRGB565 R=kbr@chromium.org BUG=642653 Review-Url: https://codereview.chromium.org/2333233002 Cr-Commit-Position: refs/heads/master@{#418486}
-
jam authored
The problem was that the path to the filter is different depending on whether the test is swarmed or not. Also make sure to send the filter file for the tests as part of the isolate data. BUG=645983 TBR=scottmg@chromium.org Review-Url: https://codereview.chromium.org/2337383002 Cr-Commit-Position: refs/heads/master@{#418485}
-
catapult-deps-roller authored
https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/b86cfef4b9da..c42044026b81 $ git log b86cfef4b..c42044026 --date=short --no-merges --format='%ad %ae %s' 2016-09-13 benjhayden Add BarChart. TBR=catapult-sheriff@chromium.org Review-Url: https://codereview.chromium.org/2333373005 Cr-Commit-Position: refs/heads/master@{#418484}
-
loyso authored
Also, perform some clean-up. BUG=592873 Review-Url: https://codereview.chromium.org/2338803003 Cr-Commit-Position: refs/heads/master@{#418483}
-
v8-autoroll authored
Summary of changes available at: https://chromium.googlesource.com/v8/v8/+log/72ed9eb5..0ea5d982 Please follow these instructions for assigning/CC'ing issues: https://github.com/v8/v8/wiki/Triaging%20issues Please close rolling in case of a roll revert: https://v8-roll.appspot.com/ This only works with a Google account. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel TBR=hablich@chromium.org,machenbach@chromium.org,littledan@chromium.org,vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2339063002 Cr-Commit-Position: refs/heads/master@{#418482}
-
hashimoto authored
BUG=621841 TEST=dbus_unittests TBR=steel@chromium.org for device/bluetooth/dbus Review-Url: https://codereview.chromium.org/2337893002 Cr-Commit-Position: refs/heads/master@{#418481}
-
rch authored
Update recent QUIC flag changes. Deprecate FLAGS_quic_limit_frame_gaps_in_buffer. Merge internal change: 132467804 https://codereview.chromium.org/2341483002/ Deprecate flag FLAGS_quic_sequencer_buffer_retire_block_in_time. Merge internal change: 132461150 https://codereview.chromium.org/2331343003/ Make DiversificationNonce a std::array Changing a char[32] to a std::array<char, 32>. No functional change intended, not flag-protected Merge internal change: 132456567 https://codereview.chromium.org/2340583002/ remove unused methods: num_early_frames_received() from the shared code which was used by chromium only. Triggered by ref chromium cl: https://codereview.chromium.org/2250713004. Merge internal change: 132449425 https://codereview.chromium.org/2337063004/ Use unique_ptrs to manage callback lifetimes in some QUIC code Follow-up to cl/132102408. This CL eliminates the self-deleting callback pattern from a chunk of QUIC code and replaces it with explicit unique_ptr ownership of all callbacks. Replace self-deleting callbacks with unique_ptr owned callbacks in some QUIC code. No functional change intended, not flag-protected. Merge internal change: 132439857 https://codereview.chromium.org/2339433004/ Simplify lifetime management of ValidateClientHelloResultCallback::Result objects The lifetimes of ValidateClientHelloResultCallback::Result objects are managed by bare new/delete. These objects are also passed around by pointer which gives no indication as to who is managing the lifetime, and many methods are passed both a pointer to a Result object as w ell as a reference to a sub-object. This CL eliminates these patterns. Migrating from bare pointers to unique_ptr in some quic codepaths. No functional change intended, not flag-protected. Merge internal change: 132359769 https://codereview.chromium.org/2338013004/ Use the largest received packet instead of the most recently received packet to calculate the sequence number from. Merge internal change: 132350039 https://codereview.chromium.org/2333153003/ Deprecate FLAGS_quic_close_stream_after_writing_queued_data Merge internal change: 132335255 https://codereview.chromium.org/2338713003/ Deprecate FLAGS_quic_remove_obsolete_forward_secure. Merge internal change: 132331281 https://codereview.chromium.org/2336803004/ Deprecate FLAGS_quic_change_alarms_efficiently. Merge internal change: 132330925 https://codereview.chromium.org/2338013003/ deprecate FLAGS_quic_enable_app_limited_check Merge internal change: 132318066 https://codereview.chromium.org/2340563002/ Review-Url: https://codereview.chromium.org/2334363002 Cr-Commit-Position: refs/heads/master@{#418480}
-
hirono authored
BUG=646683 Review-Url: https://codereview.chromium.org/2334243003 Cr-Commit-Position: refs/heads/master@{#418479}
-
yamaguchi authored
Refactor disk_mount_manager_unittest by replacing gmock with a dedicated mock class of DiskMountManagerObserver. This change is based on https://codereview.chromium.org/2292473002/ which was once merged but reverted by https://codereview.chromium.org/2340433002/ BUG=641943 Review-Url: https://codereview.chromium.org/2333983004 Cr-Commit-Position: refs/heads/master@{#418478}
-
rob.buis authored
DOMError is only used in quota, so may as well move it there while waiting for the deprecated parts of quota to be removed. This patch also removes unneeded DOMError includes. BUG=460725 Review-Url: https://codereview.chromium.org/2335073003 Cr-Commit-Position: refs/heads/master@{#418477}
-
wangxianzhu authored
TBR=lazyboy@chromium.org BUG=632548,636222,638621 Review-Url: https://codereview.chromium.org/2332313003 Cr-Commit-Position: refs/heads/master@{#418476}
-
aelias authored
Android’s InputConnection API specifies a way to commit (confirm) the current composition and move the cursor at the same time: https://developer.android.com/reference/android/view/inputmethod/ InputConnection.html#commitText(java.lang.CharSequence, int) Currently, commitText doesn't conform to the documentation nor to Android TextView's behavior when newCursorPosition is not 1. newCursorPosition is a relative value that depends on the location of the text being committed. When |newCursorPosition| < 1, the cursor should move to the left of the committing text by |newCursorPosition| characters. If the cursor exceeds the left boundary, it will clamp to the left boundary. When |newCursorPosition| >= 1, the cursor will move to the right of the committing text by |newCursorPosition - 1| characters. If the cursor exceeds the right boundary, it will clamp to the right boundary. (Rebased version of yabinh@'s http://crrev.com/1995333002 which received lgt'ms from TBRed reviewers below, I'm landing this on his behalf.) TBR=tkent,yosin,changwan,sievers,yabinh NOTRY=true BUG=570920 Review-Url: https://codereview.chromium.org/2339793002 Cr-Commit-Position: refs/heads/master@{#418475}
-