New issue
Advanced search Search tips

Issue 591697 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Compat

Blocking:
issue 109587



Sign in to add a comment

Textarea maxlength property does not improve paste performance

Reported by trofi...@gmail.com, Mar 3 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Create textarea element with property maxlength='5' on page. Open page in browser.
2. Open file 1.txt from attachment in notepad (Encoding UTF-8-BOM). Select all text from file and copy.
3. Past text in textarea. 

What is the expected behavior?
It poses the 5 characters

What went wrong?
Page is unavailable

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes 

Chrome version: 49.0.2623.75  Channel: stable
OS Version: 8.1
Flash Version: Shockwave Flash 20.0 r0

The "input" element of the script is working correctly
 

Comment 1 by b...@chromium.org, Mar 3 2016

Components: Blink>Forms>Maxlength

Comment 2 by tkent@chromium.org, Mar 4 2016

Components: Blink>Forms>Textarea
Status: Available (was: Unconfirmed)
Pasting takes several minutes due to  Issue 109587 .
I'll check why maxlength doesn't improve the performance.

Comment 3 by tkent@chromium.org, Mar 4 2016

Blocking: 109587
Components: Blink>Editing
Labels: Performance
Summary: Textarea maxlength property does not improve paste performance (was: Textarea maxlength property does not work correct)
ReplacementFragment::insertFragmentForTestRendering, which is called before maxlength processing, consumes almost 100% of time.

I guess this code is unnecessary for plain-text editing, and it's the root cause of several pasting bugs of TEXTAREA.

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d50afdb02272435ac0dd1205620520bc779b41c5

commit d50afdb02272435ac0dd1205620520bc779b41c5
Author: tkent <tkent@chromium.org>
Date: Fri Mar 04 09:37:03 2016

Add some TRACE_EVENTs to measure TEXTAREA paste performance.

BUG= 109587 , 591697 

Review URL: https://codereview.chromium.org/1762253002

Cr-Commit-Position: refs/heads/master@{#379257}

[modify] https://crrev.com/d50afdb02272435ac0dd1205620520bc779b41c5/third_party/WebKit/Source/core/editing/commands/ReplaceSelectionCommand.cpp

Comment 5 by tkent@chromium.org, Mar 11 2016

Owner: tkent@chromium.org
Status: Started (was: Available)
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e26eb3267527f0d5633283cef06a13995e0d41eb

commit e26eb3267527f0d5633283cef06a13995e0d41eb
Author: tkent <tkent@chromium.org>
Date: Fri Mar 11 05:24:15 2016

Editing: Skip TestRendering in ReplaceSelectionCommand if the editing host is plain-text editable and the incoming fragment is plain-text.

The purposes of this CL:
* Do not modify incoming text for plain-text editing.  We unexpectedly converted
  EOL characters for TEXTAREA.
* Improve performance of text insertion in plain-text editing.

BUG= 2007 , 410417 , 453802 , 528491 , 586772 , 591697 

Review URL: https://codereview.chromium.org/1780413002

Cr-Commit-Position: refs/heads/master@{#380527}

[modify] https://crrev.com/e26eb3267527f0d5633283cef06a13995e0d41eb/third_party/WebKit/LayoutTests/editing/input/paste-linebreak-into-initially-hidden-textarea.html
[delete] https://crrev.com/83af57e9b2906613f7d9d3891fac0e2393c4e54d/third_party/WebKit/LayoutTests/fast/forms/textarea/textarea-nowrap-paste-eol-expected.txt
[modify] https://crrev.com/e26eb3267527f0d5633283cef06a13995e0d41eb/third_party/WebKit/LayoutTests/fast/forms/textarea/textarea-nowrap-paste-eol.html
[delete] https://crrev.com/83af57e9b2906613f7d9d3891fac0e2393c4e54d/third_party/WebKit/LayoutTests/fast/forms/textarea/textarea-preline-eol-expected.txt
[modify] https://crrev.com/e26eb3267527f0d5633283cef06a13995e0d41eb/third_party/WebKit/LayoutTests/fast/forms/textarea/textarea-preline-eol.html
[modify] https://crrev.com/e26eb3267527f0d5633283cef06a13995e0d41eb/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
[modify] https://crrev.com/e26eb3267527f0d5633283cef06a13995e0d41eb/third_party/WebKit/Source/core/editing/commands/ReplaceSelectionCommand.cpp

Comment 7 by tkent@chromium.org, Mar 11 2016

Labels: -OS-Windows -Arch-x86_64 M-51 OS-All
Status: Fixed (was: Started)
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c4c3f6423d629ca803771737becb94ccf9073b61

commit c4c3f6423d629ca803771737becb94ccf9073b61
Author: Francois Doray <fdoray@chromium.org>
Date: Fri Aug 04 14:56:22 2017

Remove ScopedTaskScheduler.

ScopedTaskScheduler is deprecated. ScopedTaskEnvironment should be
used instead.

TBR=finnur@chromium.org

Bug:  591697 
Cq-Include-Trybots: master.tryserver.chromium.win:win10_chromium_x64_rel_ng
Change-Id: Ifdb559d86985bd45cfbe1e1b72dd795a35d34313
Reviewed-on: https://chromium-review.googlesource.com/595870
Commit-Queue: Francois Doray <fdoray@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492031}
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/BUILD.gn
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/observer_list_unittest.cc
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/task_scheduler/post_task.h
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/task_scheduler/task_scheduler.h
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/task_scheduler/task_tracker_posix_unittest.cc
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/test/BUILD.gn
[delete] https://crrev.com/b7d3f8356c3b89f15d27a5aada57777ffa3014f3/base/test/scoped_task_scheduler.cc
[delete] https://crrev.com/b7d3f8356c3b89f15d27a5aada57777ffa3014f3/base/test/scoped_task_scheduler.h
[delete] https://crrev.com/b7d3f8356c3b89f15d27a5aada57777ffa3014f3/base/test/scoped_task_scheduler_unittest.cc
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/threading/sequence_local_storage_map.cc
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/base/threading/sequence_local_storage_map.h
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/chrome/browser/ui/views/toolbar/toolbar_action_view_unittest.cc
[modify] https://crrev.com/c4c3f6423d629ca803771737becb94ccf9073b61/chrome/browser/win/enumerate_modules_model_unittest.cc

Sign in to add a comment