<?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>38276</bug_id>
          
          <creation_ts>2010-04-28 11:21:26 -0700</creation_ts>
          <short_desc>[Chromium] callOnMainThread should equate to MessageLoop::PostTask</short_desc>
          <delta_ts>2010-04-28 13:36:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>dimich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>218504</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-28 11:21:26 -0700</bug_when>
    <thetext>[Chromium] callOnMainThread should equate to MessageLoop::PostTask

Presently, callOnMainThread is implemented using an intermediate queue, and MessageLoop::PostTask is used to process that queue in batches.  This adds ordering problems which cause flaky behavior in Chrome as callOnMainThread and MessageLoop::PostTask are not necessarily FIFO.  It is also a potential source of jank as while we are processing the queue, we do not let other tasks run on the thread.  It would be better to let the MessageLoop be the scheduler for all callbacks to the main thread.

Chromium bug is here:
http://code.google.com/p/chromium/issues/detail?id=42751

Chromium-side pre-req patch is here:
http://codereview.chromium.org/1794005/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218506</commentid>
    <comment_count>1</comment_count>
      <attachid>54591</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-28 11:23:39 -0700</bug_when>
    <thetext>Created attachment 54591
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218600</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-28 13:36:15 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/58425</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54591</attachid>
            <date>2010-04-28 11:23:39 -0700</date>
            <delta_ts>2010-04-28 11:44:59 -0700</delta_ts>
            <desc>v1 patch</desc>
            <filename>call_1.txt</filename>
            <type>text/plain</type>
            <size>5849</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4NDE1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDQtMjggIERhcmluIEZp
c2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1dIGNhbGxPbk1haW5UaHJlYWQgc2hvdWxkIGVx
dWF0ZSB0byBNZXNzYWdlTG9vcDo6UG9zdFRhc2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mjc2CisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5n
eXAvSmF2YVNjcmlwdENvcmUuZ3lwOgorICAgICAgICAqIHd0Zi9NYWluVGhyZWFkLmNwcDoKKyAg
ICAgICAgKiB3dGYvY2hyb21pdW0vQ2hyb21pdW1UaHJlYWRpbmcuaDoKKyAgICAgICAgKiB3dGYv
Y2hyb21pdW0vTWFpblRocmVhZENocm9taXVtLmNwcDoKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKyAgICAgICAg
KFdURjo6Y2FsbE9uTWFpblRocmVhZEFuZFdhaXQpOgorICAgICAgICAoV1RGOjpzZXRNYWluVGhy
ZWFkQ2FsbGJhY2tzUGF1c2VkKToKKyAgICAgICAgKFdURjo6aXNNYWluVGhyZWFkKToKKwogMjAx
MC0wNC0yOCAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+LCBLZW50
IEhhbnNlbiA8a2VudC5oYW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwL0phdmFT
Y3JpcHRDb3JlLmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5neXAvSmF2YVNjcmlwdENvcmUuZ3lwCShyZXZpc2lvbiA1ODQwOSkKKysrIEphdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cC9KYXZhU2NyaXB0Q29yZS5neXAJKHdvcmtpbmcgY29weSkK
QEAgLTExNyw2ICsxMTcsNyBAQAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnLyhndGt8Z2xpYnxnb2Jq
ZWN0KS8uKlxcLihjcHB8aCkkJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICcoRGVmYXVsdHxHdGt8
TWFjfE5vbmV8UXR8V2lufFd4KVxcLihjcHB8bW0pJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAn
d3RmL0N1cnJlbnRUaW1lXFwuY3BwJCddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAnd3RmL01haW5U
aHJlYWQuY3BwJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnd3RmL1RDLipcXC4oY3BwfGgpJCdd
LAogICAgICAgXSwKICAgICAgICdkaXJlY3RfZGVwZW5kZW50X3NldHRpbmdzJzogewpJbmRleDog
SmF2YVNjcmlwdENvcmUvd3RmL01haW5UaHJlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3Jp
cHRDb3JlL3d0Zi9NYWluVGhyZWFkLmNwcAkocmV2aXNpb24gNTg0MDkpCisrKyBKYXZhU2NyaXB0
Q29yZS93dGYvTWFpblRocmVhZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDEwIEBA
CiAjaW5jbHVkZSAiU3RkTGliRXh0cmFzLmgiCiAjaW5jbHVkZSAiVGhyZWFkaW5nLmgiCiAKKyNp
ZiBQTEFURk9STShDSFJPTUlVTSkKKyNlcnJvciBDaHJvbWl1bSB1c2VzIGEgZGlmZmVyZW50IG1h
aW4gdGhyZWFkIGltcGxlbWVudGF0aW9uCisjZW5kaWYKKwogbmFtZXNwYWNlIFdURiB7CiAKIHN0
cnVjdCBGdW5jdGlvbldpdGhDb250ZXh0IHsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9jaHJv
bWl1bS9DaHJvbWl1bVRocmVhZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0
Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVhZGluZy5oCShyZXZpc2lvbiA1ODQwOSkKKysrIEphdmFT
Y3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVhZGluZy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw4ICszNiw3IEBAIG5hbWVzcGFjZSBXVEYgewogLy8gQW4gaW50ZXJmYWNlIHRvIHRo
ZSBlbWJlZGRpbmcgbGF5ZXIsIHdoaWNoIHByb3ZpZGVzIHRocmVhZGluZyBzdXBwb3J0LgogY2xh
c3MgQ2hyb21pdW1UaHJlYWRpbmcgewogcHVibGljOgotICAgIHN0YXRpYyB2b2lkIGluaXRpYWxp
emVNYWluVGhyZWFkKCk7Ci0gICAgc3RhdGljIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9u
c09uTWFpblRocmVhZCgpOworICAgIHN0YXRpYyB2b2lkIGNhbGxPbk1haW5UaHJlYWQodm9pZCAo
KmZ1bmMpKHZvaWQqKSwgdm9pZCogY29udGV4dCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9NYWluVGhyZWFkQ2hy
b21pdW0uY3BwCShyZXZpc2lvbiA1ODQwOSkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1
bS9NYWluVGhyZWFkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxOCArMzEsNDIg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNYWluVGhyZWFkLmgiCiAKKyNpbmNs
dWRlICJBc3NlcnRpb25zLmgiCiAjaW5jbHVkZSAiQ2hyb21pdW1UaHJlYWRpbmcuaCIKKyNpbmNs
dWRlICJUaHJlYWRpbmcuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLXZvaWQgaW5pdGlhbGl6ZU1h
aW5UaHJlYWRQbGF0Zm9ybSgpCitzdGF0aWMgVGhyZWFkSWRlbnRpZmllciBtYWluVGhyZWFkSWRl
bnRpZmllcjsKKwordm9pZCBpbml0aWFsaXplTWFpblRocmVhZCgpCit7CisgICAgc3RhdGljIGJv
b2wgaW5pdGlhbGl6ZWRNYWluVGhyZWFkOworICAgIGlmIChpbml0aWFsaXplZE1haW5UaHJlYWQp
CisgICAgICAgIHJldHVybjsKKyAgICBpbml0aWFsaXplZE1haW5UaHJlYWQgPSB0cnVlOworCisg
ICAgbWFpblRocmVhZElkZW50aWZpZXIgPSBjdXJyZW50VGhyZWFkKCk7Cit9CisKK3ZvaWQgY2Fs
bE9uTWFpblRocmVhZChNYWluVGhyZWFkRnVuY3Rpb24qIGZ1bmN0aW9uLCB2b2lkKiBjb250ZXh0
KQoreworICAgIENocm9taXVtVGhyZWFkaW5nOjpjYWxsT25NYWluVGhyZWFkKGZ1bmN0aW9uLCBj
b250ZXh0KTsKK30KKwordm9pZCBjYWxsT25NYWluVGhyZWFkQW5kV2FpdChNYWluVGhyZWFkRnVu
Y3Rpb24qLCB2b2lkKikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBz
ZXRNYWluVGhyZWFkQ2FsbGJhY2tzUGF1c2VkKGJvb2wpCiB7Ci0gICAgQ2hyb21pdW1UaHJlYWRp
bmc6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CiAKLXZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCgpCitib29sIGlz
TWFpblRocmVhZCgpCiB7Ci0gICAgQ2hyb21pdW1UaHJlYWRpbmc6OnNjaGVkdWxlRGlzcGF0Y2hG
dW5jdGlvbnNPbk1haW5UaHJlYWQoKTsKKyAgICByZXR1cm4gY3VycmVudFRocmVhZCgpID09IG1h
aW5UaHJlYWRJZGVudGlmaWVyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwkocmV2aXNpb24gNTg0MTUpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDQtMjggIERhcmluIEZpc2hlciAgPGRh
cmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBbQ2hyb21pdW1dIGNhbGxPbk1haW5UaHJlYWQgc2hvdWxkIGVxdWF0ZSB0byBN
ZXNzYWdlTG9vcDo6UG9zdFRhc2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM4Mjc2CisKKyAgICAgICAgKiBwdWJsaWMvV2ViS2l0Q2xpZW50Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6Y2FsbE9uTWFpblRocmVhZCk6CisgICAgICAg
ICogc3JjL0Nocm9taXVtVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6Q2hyb21pdW1UaHJl
YWRpbmc6OmNhbGxPbk1haW5UaHJlYWQpOgorCiAyMDEwLTA0LTI4ICBBbmRyZXkgS29zeWFrb3Yg
IDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1h
bi4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAkocmV2aXNpb24gNTg0
MDkpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNjMsNyArMjYzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdG9wU2hh
cmVkVGltZXIoKSB7IH0KIAogICAgIC8vIENhbGxhYmxlIGZyb20gYSBiYWNrZ3JvdW5kIFdlYktp
dCB0aHJlYWQuCi0gICAgdmlydHVhbCB2b2lkIGNhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmMp
KCkpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjYWxsT25NYWluVGhyZWFkKHZvaWQgKCpmdW5jKSgp
KSB7IH0gLy8gREVQUkVDQVRFRAorICAgIHZpcnR1YWwgdm9pZCBjYWxsT25NYWluVGhyZWFkKHZv
aWQgKCpmdW5jKSh2b2lkKiksIHZvaWQqIGNvbnRleHQpIHsgfQogCiAgICAgLy8gV2ViR0wgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bVRocmVhZGluZy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bVRocmVhZGluZy5jcHAJKHJl
dmlzaW9uIDU4NDA5KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bVRocmVhZGluZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDEzICszOCw5IEBACiAKIG5hbWVzcGFjZSBXVEYgewog
Ci12b2lkIENocm9taXVtVGhyZWFkaW5nOjppbml0aWFsaXplTWFpblRocmVhZCgpCit2b2lkIENo
cm9taXVtVGhyZWFkaW5nOjpjYWxsT25NYWluVGhyZWFkKHZvaWQgKCpmdW5jKSh2b2lkKiksIHZv
aWQqIGNvbnRleHQpCiB7Ci19Ci0KLXZvaWQgQ2hyb21pdW1UaHJlYWRpbmc6OnNjaGVkdWxlRGlz
cGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQoKQotewotICAgIFdlYktpdDo6d2ViS2l0Q2xpZW50
KCktPmNhbGxPbk1haW5UaHJlYWQoJldURjo6ZGlzcGF0Y2hGdW5jdGlvbnNGcm9tTWFpblRocmVh
ZCk7CisgICAgV2ViS2l0Ojp3ZWJLaXRDbGllbnQoKS0+Y2FsbE9uTWFpblRocmVhZChmdW5jLCBj
b250ZXh0KTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlIFdURgo=
</data>
<flag name="review"
          id="38603"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="38604"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>