<?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>109863</bug_id>
          
          <creation_ts>2013-02-14 14:22:19 -0800</creation_ts>
          <short_desc>[BlackBerry] Make sure to always sync before reusing backingstore tiles</short_desc>
          <delta_ts>2013-02-20 08:45:19 -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>WebKit BlackBerry</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jakob Petsovits">jpetsovits</reporter>
          <assigned_to name="Jakob Petsovits">jpetsovits</assigned_to>
          <cc>anilsson</cc>
    
    <cc>kpiascik</cc>
    
    <cc>mifenton</cc>
    
    <cc>mlattanzio</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>833422</commentid>
    <comment_count>0</comment_count>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2013-02-14 14:22:19 -0800</bug_when>
    <thetext>In SVN r142137, I replaced a syncToCurrentMessage() call with updateSuspendScreenUpdateState() in some cases, which internally calls the same function.

Unfortunately, when I optimized updateSuspendScreenUpdateState() to only sync when the state is actually being changed, I omitted an adaptation of adoptAsFrontState() which would rely on this sync but now didn&apos;t always perform it.

This caused a bad race condition as tile buffers could now be accessed from the WebKit thread and the UI thread at the same time.

The patch below fixes it by (optionally) letting the caller of updateSuspendScreenUpdateState() know whether a sync was performed, and adapt adoptAsFrontState() accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833426</commentid>
    <comment_count>1</comment_count>
      <attachid>188428</attachid>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2013-02-14 14:25:24 -0800</bug_when>
    <thetext>Created attachment 188428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833433</commentid>
    <comment_count>2</comment_count>
      <attachid>188428</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-02-14 14:30:56 -0800</bug_when>
    <thetext>Comment on attachment 188428
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836801</commentid>
    <comment_count>3</comment_count>
      <attachid>188428</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 14:55:16 -0800</bug_when>
    <thetext>Comment on attachment 188428
Patch

Rejecting attachment 188428 from commit-queue.

New failing tests:
platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
Full output: http://queues.webkit.org/results/16621963</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837484</commentid>
    <comment_count>4</comment_count>
      <attachid>188428</attachid>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2013-02-20 08:25:23 -0800</bug_when>
    <thetext>Comment on attachment 188428
Patch

This patch only affects two files in Source/WebKit/blackberry which are not known to the inside world of WebCore or any other port. It is therefore extremely unlikely that the patch breaks a Chromium test. Setting back to cq+, hopefully it&apos;ll work now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837497</commentid>
    <comment_count>5</comment_count>
      <attachid>188428</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 08:45:16 -0800</bug_when>
    <thetext>Comment on attachment 188428
Patch

Clearing flags on attachment: 188428

Committed r143466: &lt;http://trac.webkit.org/changeset/143466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837498</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 08:45:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188428</attachid>
            <date>2013-02-14 14:25:24 -0800</date>
            <delta_ts>2013-02-20 08:45:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109863-20130214172136.patch</filename>
            <type>text/plain</type>
            <size>4950</size>
            <attacher name="Jakob Petsovits">jpetsovits</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCA2ZjI2YTdiMzgzMjFiNmVjM2Q5MzljMWJlNDNkMDc0YzhhZGIxMTE0Li4xNGVkYzMwMmFk
MGI2YjdkOWNiODIwOTRjM2NjZDg2YjRkZGMzZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMy0wMi0xNCAgSmFrb2IgUGV0c292aXRzICA8anBl
dHNvdml0c0ByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBNYWtlIHN1cmUgdG8gYWx3
YXlzIHN5bmMgYmVmb3JlIHJldXNpbmcgYmFja2luZ3N0b3JlIHRpbGVzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5ODYzCisgICAgICAgIFBSIDI5
NjExOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICBJbnRl
cm5hbGx5IHJldmlld2VkIGJ5IE1pa2UgTGF0dGFuemlvIGFuZCBLb25yYWQgUGlhc2Npay4KKwor
ICAgICAgICBJbiBTVk4gcjE0MjEzNywgSSByZXBsYWNlZCBhIHN5bmNUb0N1cnJlbnRNZXNzYWdl
KCkgY2FsbAorICAgICAgICB3aXRoIHVwZGF0ZVN1c3BlbmRTY3JlZW5VcGRhdGVTdGF0ZSgpIGlu
IHNvbWUgY2FzZXMsCisgICAgICAgIHdoaWNoIGludGVybmFsbHkgY2FsbHMgdGhlIHNhbWUgZnVu
Y3Rpb24uCisKKyAgICAgICAgVW5mb3J0dW5hdGVseSwgd2hlbiBJIG9wdGltaXplZCB1cGRhdGVT
dXNwZW5kU2NyZWVuVXBkYXRlU3RhdGUoKQorICAgICAgICB0byBvbmx5IHN5bmMgd2hlbiB0aGUg
c3RhdGUgaXMgYWN0dWFsbHkgYmVpbmcgY2hhbmdlZCwKKyAgICAgICAgSSBvbWl0dGVkIGFuIGFk
YXB0YXRpb24gb2YgYWRvcHRBc0Zyb250U3RhdGUoKSB3aGljaCB3b3VsZAorICAgICAgICByZWx5
IG9uIHRoaXMgc3luYyBidXQgbm93IGRpZG4ndCBhbHdheXMgcGVyZm9ybSBpdC4KKworICAgICAg
ICBUaGlzIGNhdXNlZCBhIGJhZCByYWNlIGNvbmRpdGlvbiBhcyB0aWxlIGJ1ZmZlcnMgY291bGQg
bm93CisgICAgICAgIGJlIGFjY2Vzc2VkIGZyb20gdGhlIFdlYktpdCB0aHJlYWQgYW5kIHRoZSBV
SSB0aHJlYWQgYXQKKyAgICAgICAgdGhlIHNhbWUgdGltZS4gRml4IGl0IGJ5IChvcHRpb25hbGx5
KSBsZXR0aW5nIHRoZSBjYWxsZXIKKyAgICAgICAgb2YgdXBkYXRlU3VzcGVuZFNjcmVlblVwZGF0
ZVN0YXRlKCkga25vdyB3aGV0aGVyIGEgc3luYworICAgICAgICB3YXMgcGVyZm9ybWVkLCBhbmQg
YWRhcHQgYWRvcHRBc0Zyb250U3RhdGUoKSBhY2NvcmRpbmdseS4KKworICAgICAgICBBbHNvIGZp
eGVzIHNvbWUgZXhjZXNzaXZlIGZsaWNrZXIgY2F1c2VkIGJ5IHRoZSBzYW1lCisgICAgICAgIHJh
Y2UgY29uZGl0aW9uLgorCisgICAgICAgICogQXBpL0JhY2tpbmdTdG9yZS5jcHA6CisgICAgICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnVwZGF0ZVN1c3BlbmRT
Y3JlZW5VcGRhdGVTdGF0ZSk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdT
dG9yZVByaXZhdGU6OmFkb3B0QXNGcm9udFN0YXRlKToKKyAgICAgICAgKiBBcGkvQmFja2luZ1N0
b3JlX3AuaDoKKwogMjAxMy0wMi0xNCAgTWlrZSBGZW50b24gIDxtaWZlbnRvbkByaW0uY29tPgog
CiAgICAgICAgIFtCbGFja0JlcnJ5XSBVcGRhdGUga2V5Ym9hcmQgZXZlbnQgZGV0YWlscyB0byBt
YXRjaCBwbGF0Zm9ybSBkZXRhaWxzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9CYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9C
YWNraW5nU3RvcmUuY3BwCmluZGV4IDg0OTIyNGMyZDM0NGMxMmUzNzFmZDgxMDY1MGJkZjk3OWEz
ZTMxN2UuLjkwNmUwZTU0MDUzNGVlNzZhMDg1YWI0YWFlYjU4ZTI1MGI1NzMyNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZS5jcHAKQEAgLTQwMiw3ICs0
MDIsNyBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlblVwZGF0ZXMoQmFj
a2luZ1N0b3JlOjpSZXN1bWVVcGRhdGVPcGVyYXRpbwogI2VuZGlmCiB9CiAKLXZvaWQgQmFja2lu
Z1N0b3JlUHJpdmF0ZTo6dXBkYXRlU3VzcGVuZFNjcmVlblVwZGF0ZVN0YXRlKCkKK3ZvaWQgQmFj
a2luZ1N0b3JlUHJpdmF0ZTo6dXBkYXRlU3VzcGVuZFNjcmVlblVwZGF0ZVN0YXRlKGJvb2wqIGhh
c1N5bmNlZFRvVXNlckludGVyZmFjZVRocmVhZCkKIHsKICAgICBBU1NFUlQoQmxhY2tCZXJyeTo6
UGxhdGZvcm06OndlYktpdFRocmVhZE1lc3NhZ2VDbGllbnQoKS0+aXNDdXJyZW50VGhyZWFkKCkp
OwogCkBAIC00MTMsOCArNDEzLDExIEBAIHZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6dXBkYXRl
U3VzcGVuZFNjcmVlblVwZGF0ZVN0YXRlKCkKICAgICAgICAgfHwgIW1fd2ViUGFnZS0+aXNWaXNp
YmxlKCkKICAgICAgICAgfHwgKCFpc0JhY2tpbmdTdG9yZVVzYWJsZSAmJiAhbV93ZWJQYWdlLT5k
LT5jb21wb3NpdG9yRHJhd3NSb290TGF5ZXIoKSk7CiAKLSAgICBpZiAobV9zdXNwZW5kU2NyZWVu
VXBkYXRlc1dlYktpdFRocmVhZCA9PSBzaG91bGRTdXNwZW5kKQorICAgIGlmIChtX3N1c3BlbmRT
Y3JlZW5VcGRhdGVzV2ViS2l0VGhyZWFkID09IHNob3VsZFN1c3BlbmQpIHsKKyAgICAgICAgaWYg
KGhhc1N5bmNlZFRvVXNlckludGVyZmFjZVRocmVhZCkKKyAgICAgICAgICAgICpoYXNTeW5jZWRU
b1VzZXJJbnRlcmZhY2VUaHJlYWQgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAog
ICAgIG1fc3VzcGVuZFNjcmVlblVwZGF0ZXNXZWJLaXRUaHJlYWQgPSBzaG91bGRTdXNwZW5kOwog
CkBAIC00MjIsNiArNDI1LDggQEAgdm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjp1cGRhdGVTdXNw
ZW5kU2NyZWVuVXBkYXRlU3RhdGUoKQogICAgIC8vICAgYXNzaWdubWVudCBzaG91bGQgYmUgbW92
ZWQgdG8gYSBkaXNwYXRjaGVkIHNldHRlciBmdW5jdGlvbiBpbnN0ZWFkLgogICAgIG1fc3VzcGVu
ZFNjcmVlblVwZGF0ZXNVc2VySW50ZXJmYWNlVGhyZWFkID0gc2hvdWxkU3VzcGVuZDsKICAgICBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6dXNlckludGVyZmFjZVRocmVhZE1lc3NhZ2VDbGllbnQoKS0+
c3luY1RvQ3VycmVudE1lc3NhZ2UoKTsKKyAgICBpZiAoaGFzU3luY2VkVG9Vc2VySW50ZXJmYWNl
VGhyZWFkKQorICAgICAgICAqaGFzU3luY2VkVG9Vc2VySW50ZXJmYWNlVGhyZWFkID0gdHJ1ZTsK
IH0KIAogdm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpyZXBhaW50KGNvbnN0IFBsYXRmb3JtOjpJ
bnRSZWN0JiB3aW5kb3dSZWN0LApAQCAtMjEzOCwxMCArMjE0MywxNCBAQCB2b2lkIEJhY2tpbmdT
dG9yZVByaXZhdGU6OmFkb3B0QXNGcm9udFN0YXRlKEJhY2tpbmdTdG9yZUdlb21ldHJ5KiBuZXdG
cm9udFN0YXRlKQogICAgIC8vIEF0b21pYyBjaGFuZ2UuCiAgICAgX3NtcF94Y2hnKCZtX2Zyb250
U3RhdGUsIG5ld0Zyb250KTsKIAorICAgIGJvb2wgaGFzU3luY2VkID0gZmFsc2U7CisKICAgICBp
ZiAoaGFzVmFsaWRCdWZmZXJzKSB7CiAgICAgICAgIG1fdGlsZU1hdHJpeENvbnRhaW5zVXNlZnVs
Q29udGVudCA9IHRydWU7Ci0gICAgICAgIHVwZGF0ZVN1c3BlbmRTY3JlZW5VcGRhdGVTdGF0ZSgp
OyAvLyBpbmNsdWRlcyBzeW5jVG9DdXJyZW50TWVzc2FnZSgpLCBzbyB3ZSBjYW4gdXNlIGl0IGlu
c3RlYWQKLSAgICB9IGVsc2UgeworICAgICAgICB1cGRhdGVTdXNwZW5kU2NyZWVuVXBkYXRlU3Rh
dGUoJmhhc1N5bmNlZCk7CisgICAgfQorCisgICAgaWYgKCFoYXNTeW5jZWQpIHsKICAgICAgICAg
Ly8gV2FpdCB1bnRpbCB0aGUgdXNlciBpbnRlcmZhY2UgdGhyZWFkIHdvbid0IGFjY2VzcyB0aGUg
b2xkIGZyb250IHN0YXRlIGFueW1vcmUuCiAgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjp1
c2VySW50ZXJmYWNlVGhyZWFkTWVzc2FnZUNsaWVudCgpLT5zeW5jVG9DdXJyZW50TWVzc2FnZSgp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2lu
Z1N0b3JlX3AuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlX3Au
aAppbmRleCA0MjAzNzdkYmYzNGI2NjZmOTZhOGVhNzNkNGE3ZDJiNDIxYjdmZGUxLi4zMWUxMWYy
ZTI5ZTg4NTQ4YmRhYzVmMDdlMTA5NzU2MzI4MTllMzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9yZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9CYWNraW5nU3RvcmVfcC5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzdW1lU2NyZWVuVXBkYXRlcyhCYWNraW5nU3RvcmU6OlJlc3VtZVVwZGF0
ZU9wZXJhdGlvbik7CiAKICAgICAvLyBVcGRhdGUgbV9zdXNwZW5kU2NyZWVuVXBkYXRlcypUaHJl
YWQgYmFzZWQgb24gYSBudW1iZXIgb2YgY29uZGl0aW9ucy4KLSAgICB2b2lkIHVwZGF0ZVN1c3Bl
bmRTY3JlZW5VcGRhdGVTdGF0ZSgpOworICAgIHZvaWQgdXBkYXRlU3VzcGVuZFNjcmVlblVwZGF0
ZVN0YXRlKGJvb2wqIGhhc1N5bmNlZFRvVXNlckludGVyZmFjZVRocmVhZCA9IDApOwogCiAgICAg
Ly8gVGhlIGZ1bmN0aW9ucyByZXBhaW50KCksIHNsb3dTY3JvbGwoKSwgc2Nyb2xsKCksIHNjcm9s
bGluZ1N0YXJ0ZWRIZWxwZXIoKSBhcmUKICAgICAvLyBjYWxsZWQgZnJvbSBvdXRzaWRlIFdlYktp
dCBhbmQgd2l0aGluIFdlYktpdCB2aWEgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>