<?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>167496</bug_id>
          
          <creation_ts>2017-01-27 03:51:19 -0800</creation_ts>
          <short_desc>[Threaded Compositor] Stop creating the GLContext on demand the first time makeContextCurrent is called</short_desc>
          <delta_ts>2017-01-27 04:12:25 -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>WebKit2</component>
          <version>WebKit Local 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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270611</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-27 03:51:19 -0800</bug_when>
    <thetext>This is causing problems with animations when entering AC mode on demand. What happens is that the threaded compositor is created, then the animation is scheduled and during the first animation iteration the GLContext is created, making the first frame of the animation quite slow. In my computer creating the GLContext takes 0.8 seconds. If the animation duration is less than the time it takes to create the GLContext, the animation ends without iterating. This causing timeouts in the bots in tests like animations/animation-iteration-event-destroy-renderer.html that expect webkitAnimationIteration events that never fire.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270613</commentid>
    <comment_count>1</comment_count>
      <attachid>299926</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-27 03:57:19 -0800</bug_when>
    <thetext>Created attachment 299926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270614</commentid>
    <comment_count>2</comment_count>
      <attachid>299926</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-01-27 04:07:41 -0800</bug_when>
    <thetext>Comment on attachment 299926
Patch

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

&gt; Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:178
&gt;      if (m_context)
&gt;          return m_context-&gt;makeContextCurrent();

return m_context &amp;&amp; m_context-&gt;makeContextCurrent();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270615</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-27 04:12:25 -0800</bug_when>
    <thetext>Committed r211281: &lt;http://trac.webkit.org/changeset/211281&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299926</attachid>
            <date>2017-01-27 03:57:19 -0800</date>
            <delta_ts>2017-01-27 04:07:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-tc-animations.diff</filename>
            <type>text/plain</type>
            <size>5457</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBiYmY4ZGQ5YWMxMy4uODU1NTM5MjkxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyOSBAQAogMjAxNy0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW1RocmVhZGVkIENvbXBvc2l0b3JdIFN0b3AgY3JlYXRpbmcg
dGhlIEdMQ29udGV4dCBvbiBkZW1hbmQgdGhlIGZpcnN0IHRpbWUgbWFrZUNvbnRleHRDdXJyZW50
IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3NDk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBpcyBjYXVzaW5nIHByb2JsZW1zIHdpdGggYW5pbWF0aW9ucyB3aGVuIGVudGVyaW5n
IEFDIG1vZGUgb24gZGVtYW5kLiBXaGF0IGhhcHBlbnMgaXMgdGhhdCB0aGUgdGhyZWFkZWQKKyAg
ICAgICAgY29tcG9zaXRvciBpcyBjcmVhdGVkLCB0aGVuIHRoZSBhbmltYXRpb24gaXMgc2NoZWR1
bGVkIGFuZCBkdXJpbmcgdGhlIGZpcnN0IGFuaW1hdGlvbiBpdGVyYXRpb24gdGhlIEdMQ29udGV4
dCBpcworICAgICAgICBjcmVhdGVkLCBtYWtpbmcgdGhlIGZpcnN0IGZyYW1lIG9mIHRoZSBhbmlt
YXRpb24gcXVpdGUgc2xvdy4gSW4gbXkgY29tcHV0ZXIgY3JlYXRpbmcgdGhlIEdMQ29udGV4dCB0
YWtlcyAwLjgKKyAgICAgICAgc2Vjb25kcy4gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyBs
ZXNzIHRoYW4gdGhlIHRpbWUgaXQgdGFrZXMgdG8gY3JlYXRlIHRoZSBHTENvbnRleHQsIHRoZSBh
bmltYXRpb24gZW5kcworICAgICAgICB3aXRob3V0IGl0ZXJhdGluZy4gVGhpcyBjYXVzaW5nIHRp
bWVvdXRzIGluIHRoZSBib3RzIGluIHRlc3RzIGxpa2UKKyAgICAgICAgYW5pbWF0aW9ucy9hbmlt
YXRpb24taXRlcmF0aW9uLWV2ZW50LWRlc3Ryb3ktcmVuZGVyZXIuaHRtbCB0aGF0IGV4cGVjdCB3
ZWJraXRBbmltYXRpb25JdGVyYXRpb24gZXZlbnRzIHRoYXQKKyAgICAgICAgbmV2ZXIgZmlyZS4K
KworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBv
c2l0b3I6OlRocmVhZGVkQ29tcG9zaXRvcik6IENyZWF0ZSB0aGUgR0xDb250ZXh0IHJpZ2h0IGFm
dGVyIHRoZSBjb21wb3NpdGluZyB0aHJlYWQgaXMKKyAgICAgICAgY3JlYXRlZCBpZiB3ZSBhbHJl
YWR5IGhhdmUgYSBuYXRpdmUgc3VyZmFjZSBoYW5kbGUuCisgICAgICAgIChXZWJLaXQ6OlRocmVh
ZGVkQ29tcG9zaXRvcjo6Y3JlYXRlR0xDb250ZXh0KTogSGVscGVyIHRvIGNyZWF0ZSB0aGUgR0xD
b250ZXh0LgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OnNldE5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6IENyZWF0ZSB0aGUgR0xDb250ZXh0IHdoZW4gYSBu
YXRpdmUgc3VyZmFjZQorICAgICAgICBoYW5kbGUgaXMgZ2l2ZW4uCisgICAgICAgIChXZWJLaXQ6
OlRocmVhZGVkQ29tcG9zaXRvcjo6bWFrZUNvbnRleHRDdXJyZW50KTogRG8gbm90IGNyZWF0ZSB0
aGUgR0xDb250ZXh0IGhlcmUgYW55bW9yZS4KKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmg6CisKKzIwMTct
MDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFtDb29yZGluYXRlZCBHcmFwaGljc10gV2ViUGFnZSBzaG91bGRuJ3QgdXNlIHRoZSBsYXll
clRyZWVIb3N0IGRpcmVjdGx5CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc0OTQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNv
bXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcAppbmRleCAwOTFkOGI0MDUxMS4uYzljZDU3
N2IzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9U
aHJlYWRlZENvbXBvc2l0b3IuY3BwCkBAIC01OSw3ICs1OSwxMSBAQCBUaHJlYWRlZENvbXBvc2l0
b3I6OlRocmVhZGVkQ29tcG9zaXRvcihDbGllbnQmIGNsaWVudCwgY29uc3QgSW50U2l6ZSYgdmll
d3BvcnRTaQogewogICAgIG1fY29tcG9zaXRpbmdSdW5Mb29wLT5wZXJmb3JtVGFza1N5bmMoW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gewogICAgICAgICBtX3NjZW5lID0g
YWRvcHRSZWYobmV3IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSh0aGlzKSk7Ci0gICAgICAgIG1f
c2NlbmUtPnNldEFjdGl2ZSghIW1fbmF0aXZlU3VyZmFjZUhhbmRsZSk7CisgICAgICAgIGlmICht
X25hdGl2ZVN1cmZhY2VIYW5kbGUpIHsKKyAgICAgICAgICAgIGNyZWF0ZUdMQ29udGV4dCgpOwor
ICAgICAgICAgICAgbV9zY2VuZS0+c2V0QWN0aXZlKHRydWUpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIG1fc2NlbmUtPnNldEFjdGl2ZShmYWxzZSk7CiAgICAgfSk7CiB9CiAKQEAgLTY3
LDYgKzcxLDIxIEBAIFRocmVhZGVkQ29tcG9zaXRvcjo6flRocmVhZGVkQ29tcG9zaXRvcigpCiB7
CiB9CiAKK3ZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpjcmVhdGVHTENvbnRleHQoKQoreworICAg
IEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIEFTU0VSVChtX25hdGl2ZVN1cmZhY2VIYW5k
bGUpOworCisgICAgbV9jb250ZXh0ID0gR0xDb250ZXh0OjpjcmVhdGVDb250ZXh0Rm9yV2luZG93
KHJlaW50ZXJwcmV0X2Nhc3Q8R0xOYXRpdmVXaW5kb3dUeXBlPihtX25hdGl2ZVN1cmZhY2VIYW5k
bGUpLCAmUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5Rm9yQ29tcG9zaXRpbmcoKSk7Cisg
ICAgaWYgKCFtX2NvbnRleHQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2RvRnJhbWVT
eW5jID09IFNob3VsZERvRnJhbWVTeW5jOjpObykgeworICAgICAgICBpZiAobV9jb250ZXh0LT5t
YWtlQ29udGV4dEN1cnJlbnQoKSkKKyAgICAgICAgICAgIG1fY29udGV4dC0+c3dhcEludGVydmFs
KDApOworICAgIH0KK30KKwogdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OmludmFsaWRhdGUoKQog
ewogICAgIG1fc2NlbmUtPmRldGFjaCgpOwpAQCAtODMsMTMgKzEwMiwxNiBAQCB2b2lkIFRocmVh
ZGVkQ29tcG9zaXRvcjo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2
NF90IGhhbmRsZSkKIHsKICAgICBtX2NvbXBvc2l0aW5nUnVuTG9vcC0+c3RvcFVwZGF0ZVRpbWVy
KCk7CiAgICAgbV9jb21wb3NpdGluZ1J1bkxvb3AtPnBlcmZvcm1UYXNrU3luYyhbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBoYW5kbGVdIHsKLSAgICAgICAgbV9zY2VuZS0+
c2V0QWN0aXZlKCEhaGFuZGxlKTsKLQogICAgICAgICAvLyBBIG5ldyBuYXRpdmUgaGFuZGxlIGNh
bid0IGJlIHNldCB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHByZXZpb3VzIG9uZSBmaXJzdCBpZiBh
bnkuCiAgICAgICAgIEFTU0VSVCghIWhhbmRsZSBeICEhbV9uYXRpdmVTdXJmYWNlSGFuZGxlKTsK
ICAgICAgICAgbV9uYXRpdmVTdXJmYWNlSGFuZGxlID0gaGFuZGxlOwotICAgICAgICBpZiAoIW1f
bmF0aXZlU3VyZmFjZUhhbmRsZSkKKyAgICAgICAgaWYgKG1fbmF0aXZlU3VyZmFjZUhhbmRsZSkg
eworICAgICAgICAgICAgY3JlYXRlR0xDb250ZXh0KCk7CisgICAgICAgICAgICBtX3NjZW5lLT5z
ZXRBY3RpdmUodHJ1ZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX3NjZW5lLT5z
ZXRBY3RpdmUoZmFsc2UpOwogICAgICAgICAgICAgbV9jb250ZXh0ID0gbnVsbHB0cjsKKyAgICAg
ICAgfQogICAgIH0pOwogfQogCkBAIC0xNTUsMjAgKzE3Nyw3IEBAIGJvb2wgVGhyZWFkZWRDb21w
b3NpdG9yOjptYWtlQ29udGV4dEN1cnJlbnQoKQogICAgIGlmIChtX2NvbnRleHQpCiAgICAgICAg
IHJldHVybiBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwogCi0gICAgaWYgKCFtX25h
dGl2ZVN1cmZhY2VIYW5kbGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIG1fY29udGV4
dCA9IEdMQ29udGV4dDo6Y3JlYXRlQ29udGV4dEZvcldpbmRvdyhyZWludGVycHJldF9jYXN0PEdM
TmF0aXZlV2luZG93VHlwZT4obV9uYXRpdmVTdXJmYWNlSGFuZGxlKSwgJlBsYXRmb3JtRGlzcGxh
eTo6c2hhcmVkRGlzcGxheUZvckNvbXBvc2l0aW5nKCkpOwotICAgIGlmICghbV9jb250ZXh0KQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIW1fY29udGV4dC0+bWFrZUNvbnRleHRD
dXJyZW50KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmIChtX2RvRnJhbWVTeW5j
ID09IFNob3VsZERvRnJhbWVTeW5jOjpObykKLSAgICAgICAgbV9jb250ZXh0LT5zd2FwSW50ZXJ2
YWwoMCk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQg
VGhyZWFkZWRDb21wb3NpdG9yOjpmb3JjZVJlcGFpbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVh
ZGVkQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCmluZGV4IGIxNzRhMmUy
YTg2Li5jMTgwNzViYzNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaApAQCAtODQsNiArODQsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcmVuZGVyTGF5ZXJUcmVlKCk7CiAgICAgdm9pZCBzY2hlZHVsZURpc3BsYXlJbW1l
ZGlhdGVseSgpOwogCisgICAgdm9pZCBjcmVhdGVHTENvbnRleHQoKTsKICAgICBib29sIG1ha2VD
b250ZXh0Q3VycmVudCgpOwogCiAgICAgQ2xpZW50JiBtX2NsaWVudDsK
</data>
<flag name="review"
          id="321846"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>