New issue
Advanced search Search tips

Issue 690560 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Custom Knockout Twitter Typeahead binding broken

Reported by jones...@gmail.com, Feb 9 2017

Issue description

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

Steps to reproduce the problem:
1. We have a custom typeahead control using Twitter typeahead that binds a JSON object to items within a Knockout observable array
2. When searching for an item, we display a string representing that object and then bind the object to the knockout observable

What is the expected behavior?
The object would be correctly bound to the observable array item's observable property

What went wrong?
Only the string value for the object is bound. This is minor inconvenience as it seems to work when clicking on the typeahead control and selecting the item again.

Did this work before? Yes Whatever version was public before this last release

Chrome version: 56.0.2924.87  Channel: stable
OS Version: 10.0
Flash Version: 

This works fine in IE and Firefox, so assuming it's some behavior introduced with the latest chrome build.

 

Comment 1 by kochi@chromium.org, Feb 10 2017

Could you create a working reproduction in jsbin or jsfiddle so that we can
take what is going on?  Without concrete code it is hard to track down. 

Comment 2 by kochi@chromium.org, Feb 10 2017

Labels: Needs-Feedback
NextAction: 2017-02-24
Labels: Needs-Triage-M56

Comment 4 by jones...@gmail.com, Feb 10 2017

Here's a trimmed down reproduction of what I'm experiencing - let me know if you need me to clarify anything:

https://jsfiddle.net/jonlejon/o57dcLmt/

I've already written some code to work around this - but it should be noted that this works fine in IE and Firefox, as well as the previous version of Chrome.

Thanks!
Jon
Labels: Needs-Bisect
Labels: -Pri-2 -Needs-Feedback -Needs-Bisect -Needs-Triage-M56 hasbisect-per-revsion M-58 OS-Linux OS-Mac Pri-1
Owner: rsleevi@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on windows-7, Mac 10.12.2 and Linux Ubuntu-14.04 using chrome stable version 56.0.2924.87 and canary 58.0.3010.0

This is regression issue broken in M56.Please find the bisect information as below
Narrow Bisect::
===============
Good :56.0.2916.0 --   (build revision 431463)
Bad:: 56.0.2917.0 --   (build revision 431726)

ChangeLog: 
================
https://chromium.googlesource.com/chromium/src/+log/6d47d44ba4c0ba026223adb94d7f236fbc5efa22..ec8e431e9a0f80ace76368ce7edce006f3d409f2

Review-Url: https://codereview.chromium.org/2495583002

rsleevi@ could you please look into this issue if it is related to your change,else please help us in finding the appropriate owner for this issue.

Thanks,
Labels: -hasbisect-per-revsion Needs-Bisect
Owner: sureshkumari@chromium.org
Status: Unconfirmed (was: Assigned)
There is no way it can be related to the aforementioned CL. Assigning back for bisect.
Labels: -Needs-Bisect hasbisect-per-revsion
Owner: tkent@chromium.org
Status: Assigned (was: Unconfirmed)
After re-bisecting the issue, Please find the bisect information as below
Narrow Bisect::
===============
Good :56.0.2913.0 --   (build revision 430459)
Bad:: 56.0.2914.0 --   (build revision 430837)

ChangeLog:
https://chromium.googlesource.com/chromium/src/+log/5b5a21061a6aa8be7cc3b8b6aafa56256bb91e60..e91b6459cf18e90f2766a68a2487701610213be4

Review-Url: https://codereview.chromium.org/2467263002 

tkent@ could you please look into this issue if it is related to your change,else please help us in finding the appropriate owner for this issue.

Thanks.

Comment 9 by tkent@chromium.org, Feb 14 2017

Components: -Blink Blink>Forms>Text
NextAction: ----
My CL looks to related to this issue. I'll take a look.


Comment 10 Deleted

Comment 11 Deleted

Comment 12 by tkent@chromium.org, Feb 15 2017

It seems ko.bindingHandlers.securitytypeahead.update() is called too many times by an additional 'change' event on <input> blur.

> https://jsfiddle.net/jonlejon/o57dcLmt/

This fiddle has a problem with Firefox too with the following step:
 1. Focus on Security field
 2. Type 'm', TAB, TAB

Comment 13 by tkent@chromium.org, Feb 21 2017

Status: WontFix (was: Assigned)
My conclusion is Google Chrome works as intended, and this is due to a site bug.

Since Google Chrome 56, 'change' event behavior is identical with Firefox.

Example:
<input value="" autofocus>
<script>
var i = document.querySelector('input');
i.addEventListener('change', function() { alert('change'); });
i.oninput = function() {
  if (i.value == 'm')
      i.value = 'Macy\'s Inc';
}
</script>

In this example, if you type 'm' TAB, both of Firefox and Chrome 56 dispatch 'change' event. Chrome 55 didn't.

https://jsfiddle.net/jonlejon/o57dcLmt/ has the code specific to Firefox. Even if isFirefox=true with Chrome 56, Chrome still shows the red error message. This difference between Firefox and Chrome 56 is due to a bug of Firefox.  The tickerSelector INPUT element is removed from the document tree when a user selects a company name from the completion box. Then, Chrome correctly dispatches 'blur' and 'change' events though Firefox doesn't.

Sign in to add a comment