<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>111429</bug_id>
          
          <creation_ts>2013-03-05 05:16:18 -0800</creation_ts>
          <short_desc>[Qt][MiniBrowser] Improve the update of touch indicators</short_desc>
          <delta_ts>2013-03-05 07:09:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>111430</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andras Becsi">abecsi</reporter>
          <assigned_to name="Andras Becsi">abecsi</assigned_to>
          <cc>jturcotte</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>847576</commentid>
    <comment_count>0</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-05 05:16:18 -0800</bug_when>
    <thetext>[Qt][MiniBrowser] Improve the update of touch indicators</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847578</commentid>
    <comment_count>1</comment_count>
      <attachid>191473</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-05 05:18:04 -0800</bug_when>
    <thetext>Created attachment 191473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847588</commentid>
    <comment_count>2</comment_count>
      <attachid>191473</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-05 05:40:51 -0800</bug_when>
    <thetext>Comment on attachment 191473
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=191473&amp;action=review

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:122
&gt; +    if (touchPoints.isEmpty()) {

Is it possible that we get a partial list of touchpoints where some IDs would be missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847609</commentid>
    <comment_count>3</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-05 06:15:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 191473 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191473&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:122
&gt; &gt; +    if (touchPoints.isEmpty()) {
&gt; 
&gt; Is it possible that we get a partial list of touchpoints where some IDs would be missing?

The problem is not missing IDs, it&apos;s just that not all events have released state.

We receive an empty list because of a released control key an this results in problems if you test gesture chains, since not all the states are released by the time the control key is released.

Maybe this makes more sense in context with:
https://bugs.webkit.org/show_bug.cgi?id=111430</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847611</commentid>
    <comment_count>4</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-05 06:22:00 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 191473 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191473&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:122
&gt; &gt; +    if (touchPoints.isEmpty()) {
&gt; 
&gt; Is it possible that we get a partial list of touchpoints where some IDs would be missing?

To also answer your actual question :)
It looks like we always receive all the possible ID because touch points are updated for all combinations.
But I can verify that if you have concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847615</commentid>
    <comment_count>5</comment_count>
      <attachid>191473</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-05 06:30:58 -0800</bug_when>
    <thetext>Comment on attachment 191473
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=191473&amp;action=review

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:79
&gt; +    m_activeMockComponents.reserve(3);

I think that at this level it won&apos;t have any noticeable benefit, if any.

&gt;&gt;&gt;&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:122
&gt;&gt;&gt;&gt; +    if (touchPoints.isEmpty()) {
&gt;&gt;&gt; 
&gt;&gt;&gt; Is it possible that we get a partial list of touchpoints where some IDs would be missing?
&gt;&gt; 
&gt;&gt; The problem is not missing IDs, it&apos;s just that not all events have released state.
&gt;&gt; 
&gt;&gt; We receive an empty list because of a released control key an this results in problems if you test gesture chains, since not all the states are released by the time the control key is released.
&gt;&gt; 
&gt;&gt; Maybe this makes more sense in context with:
&gt;&gt; https://bugs.webkit.org/show_bug.cgi?id=111430
&gt; 
&gt; To also answer your actual question :)
&gt; It looks like we always receive all the possible ID because touch points are updated for all combinations.
&gt; But I can verify that if you have concerns.

Ok I see what you mean, it&apos;s passed that way explicitely by MiniBrowserApplication::sendTouchEvent.
I was wondering if it was worth checking for missing ids in the list as a general solution instead of checking the only subcase that interests us: &quot;isEmpty()&quot;.

An explicit way would be to have a clearVisualMockTouchPoints method that does this. Just an idea, both are fine to me so r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847647</commentid>
    <comment_count>6</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-05 07:02:06 -0800</bug_when>
    <thetext>Committed r144758: &lt;http://trac.webkit.org/changeset/144758&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191473</attachid>
            <date>2013-03-05 05:18:04 -0800</date>
            <delta_ts>2013-03-05 07:09:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111429-20130305141145.patch</filename>
            <type>text/plain</type>
            <size>3813</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzQ2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmU4NWZhYzZiNjY1ODAyMDA1OTFiMzc1YjUyN2JmZTJh
M2QyNzViZi4uMTRjOTU1MTY0YWQ0OGZhMTBkZjI0MDI2OWVhOTY0NGMzOGRlYmMxMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDEzLTAzLTA1ICBBbmRyYXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgor
CisgICAgICAgIFtRdF1bTWluaUJyb3dzZXJdIEltcHJvdmUgdGhlIHVwZGF0ZSBvZiB0b3VjaCBp
bmRpY2F0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTE0MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNaW5pQnJvd3NlckFwcGxpY2F0aW9uOjpzZW5kVG91Y2hFdmVudCBzZW5kcyBhbiBlbXB0eSBs
aXN0CisgICAgICAgIHRvIEJyb3dzZXJXaW5kb3c6OnVwZGF0ZVZpc3VhbE1vY2tUb3VjaFBvaW50
cyBpZiB0aGUgY29udHJvbAorICAgICAgICBidXR0b24gaXMgcmVsZWFzZWQsIGluIHdoaWNoIGNh
c2UgdGhlIHRvdWNoIGluZGljYXRvcnMgc2hvdWxkCisgICAgICAgIGJlIGhpZGRlbiBzbyB0aGF0
IHdlIG5ldmVyIGVuZCB1cCB3aXRoIGEgbGVmdG92ZXIgaW5kaWNhdG9yCisgICAgICAgIHN0aWNr
aW5nIG9uIHRoZSBzY3JlZW4uCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBzaW1wbGlmaWVzIHRo
ZSBsb29rdXAgb2YgdGhlIGluZGljYXRvciBpdGVtcyBieQorICAgICAgICByZXBsYWNpbmcgdGhl
IGZpbmRDaGlsZCBzZWFyY2ggaW4gdGhlIGl0ZW0gdHJlZSB3aXRoIGEgUUhhc2gKKyAgICAgICAg
dGhhdCBzdG9yZXMgdGhlIHRvdWNoIElEJ3MgYW5kIHRoZSBwb2ludGVycyB0byB0aGUgY29ycmVz
cG9uZGluZworICAgICAgICBpbmRpY2F0b3IgaXRlbXMuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93LmNwcDoKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OnVwZGF0ZVZp
c3VhbE1vY2tUb3VjaFBvaW50cyk6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3Nlcldp
bmRvdy5oOgorICAgICAgICAoQnJvd3NlcldpbmRvdyk6CisKIDIwMTMtMDMtMDUgIEpvY2hlbiBF
aXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIGNvbnRlbnQgc2hl
bGwgYm90cyB0byBnYXJkZW4tby1tYXRpYyBmb3IgZ2VuZXJhbCBmYWlsdXJzZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAgYi9Ub29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAppbmRleCBlNTZiNzk5ZDU5NzQ4ZmFmM2E5YWZlYWQ0
MmUzOTRlNDdhYzg5NzMyLi5kNjI1MmZjODY3OGMxMTZjMDIzNDkzZWMwMjgzODZkNThlODdjYmU1
IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcAorKysg
Yi9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcApAQCAtNzYsNiArNzYsNyBA
QCBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09wdGlvbnMqIG9wdGlvbnMpCiAg
ICAgICAgICAgICAgICAgIDw8IDEuMTEgPDwgMS4yMiA8PCAxLjMzIDw8IDEuNSA8PCAxLjcgPDwg
MiA8PCAyLjQgPDwgMzsKIAogICAgIG1fY3VycmVudFpvb21MZXZlbCA9IG1fem9vbUxldmVscy5p
bmRleE9mKDEpOworICAgIG1fYWN0aXZlTW9ja0NvbXBvbmVudHMucmVzZXJ2ZSgzKTsKIH0KIAog
UVF1aWNrV2ViVmlldyogQnJvd3NlcldpbmRvdzo6d2ViVmlldygpIGNvbnN0CkBAIC0xMTgsMTQg
KzExOSwyMiBAQCBCcm93c2VyV2luZG93KiBCcm93c2VyV2luZG93OjpuZXdXaW5kb3coY29uc3Qg
UVN0cmluZyYgdXJsKQogCiB2b2lkIEJyb3dzZXJXaW5kb3c6OnVwZGF0ZVZpc3VhbE1vY2tUb3Vj
aFBvaW50cyhjb25zdCBRTGlzdDxRVG91Y2hFdmVudDo6VG91Y2hQb2ludD4mIHRvdWNoUG9pbnRz
KQogeworICAgIGlmICh0b3VjaFBvaW50cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgLy8gSGlkZSBh
bGwgdG91Y2ggaW5kaWNhdG9yIGl0ZW1zLgorICAgICAgICBmb3JlYWNoIChRUXVpY2tJdGVtKiBp
dGVtLCBtX2FjdGl2ZU1vY2tDb21wb25lbnRzLnZhbHVlcygpKQorICAgICAgICAgICAgaXRlbS0+
c2V0UHJvcGVydHkoInByZXNzZWQiLCBmYWxzZSk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KwogICAgIGZvcmVhY2ggKGNvbnN0IFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50JiB0b3VjaFBvaW50
LCB0b3VjaFBvaW50cykgewotICAgICAgICBRU3RyaW5nIG1vY2tUb3VjaFBvaW50SWRlbnRpZmll
ciA9IFFTdHJpbmcoIm1vY2tUb3VjaFBvaW50JTEiKS5hcmcodG91Y2hQb2ludC5pZCgpKTsKLSAg
ICAgICAgUVF1aWNrSXRlbSogbW9ja1RvdWNoUG9pbnRJdGVtID0gcm9vdE9iamVjdCgpLT5maW5k
Q2hpbGQ8UVF1aWNrSXRlbSo+KG1vY2tUb3VjaFBvaW50SWRlbnRpZmllciwgUXQ6OkZpbmREaXJl
Y3RDaGlsZHJlbk9ubHkpOworICAgICAgICBRUXVpY2tJdGVtKiBtb2NrVG91Y2hQb2ludEl0ZW0g
PSBtX2FjdGl2ZU1vY2tDb21wb25lbnRzLnZhbHVlKHRvdWNoUG9pbnQuaWQoKSk7CiAKICAgICAg
ICAgaWYgKCFtb2NrVG91Y2hQb2ludEl0ZW0pIHsKICAgICAgICAgICAgIFFRbWxDb21wb25lbnQg
dG91Y2hNb2NrUG9pbnRDb21wb25lbnQoZW5naW5lKCksIFFVcmwoInFyYzovLy9xbWwvTW9ja1Rv
dWNoUG9pbnQucW1sIikpOwogICAgICAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtID0gcW9iamVj
dF9jYXN0PFFRdWlja0l0ZW0qPih0b3VjaE1vY2tQb2ludENvbXBvbmVudC5jcmVhdGUoKSk7Ci0g
ICAgICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0tPnNldE9iamVjdE5hbWUobW9ja1RvdWNoUG9p
bnRJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIFFfQVNTRVJUKG1vY2tUb3VjaFBvaW50SXRlbSk7
CisgICAgICAgICAgICBtX2FjdGl2ZU1vY2tDb21wb25lbnRzLmluc2VydCh0b3VjaFBvaW50Lmlk
KCksIG1vY2tUb3VjaFBvaW50SXRlbSk7CiAgICAgICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0t
PnNldFByb3BlcnR5KCJwb2ludElkIiwgUVZhcmlhbnQodG91Y2hQb2ludC5pZCgpKSk7CiAgICAg
ICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0tPnNldFBhcmVudChyb290T2JqZWN0KCkpOwogICAg
ICAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtLT5zZXRQYXJlbnRJdGVtKHJvb3RPYmplY3QoKSk7
CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmggYi9Ub29s
cy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKaW5kZXggZTc2MTc2NDNlNzg0MDJkOGNk
ZmI0NGNmMTlkNmRiMzgyNTdhOTc3OC4uMmVjZmMxNDUzYTMyOGQxZjVmODFlYzE4NTRmMzlkMDY5
NGE1YjJkYiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5o
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaApAQCAtNjgsNiArNjgs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB3aGVlbEV2ZW50KFFXaGVlbEV2ZW50Kik7
CiAKICAgICBXaW5kb3dPcHRpb25zKiBtX3dpbmRvd09wdGlvbnM7CisgICAgUUhhc2g8aW50LCBR
UXVpY2tJdGVtKj4gbV9hY3RpdmVNb2NrQ29tcG9uZW50czsKICAgICBRVmVjdG9yPHFyZWFsPiBt
X3pvb21MZXZlbHM7CiAgICAgdW5zaWduZWQgbV9jdXJyZW50Wm9vbUxldmVsOwogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>