<?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>67358</bug_id>
          
          <creation_ts>2011-08-31 22:19:00 -0700</creation_ts>
          <short_desc>[skia] States of GraphicsContext may never be restored after clipToImageBuffer</short_desc>
          <delta_ts>2011-09-06 11:12:30 -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>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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Robin Cao">robin.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jamesr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>460217</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2011-08-31 22:19:00 -0700</bug_when>
    <thetext>States of GraphicsContext may never be restored after clipToImageBuffer.

Skia doesn&apos;t support clipping to an image, so it creates a layer to implement this.
See PlatformContextSkia::beginLayerClippedToImage and PlatformContextSkia::applyClipFromImage

But in some cases, such as clipping to an empty ImageBuffer, beginLayerClippedToImage/applyClipFromImage are mismatched, which will make states of GraphicsContext busted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460322</commentid>
    <comment_count>1</comment_count>
      <attachid>105923</attachid>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2011-09-01 01:28:14 -0700</bug_when>
    <thetext>Created attachment 105923
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461031</commentid>
    <comment_count>2</comment_count>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2011-09-01 20:46:48 -0700</bug_when>
    <thetext>CCing experts on this area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462660</commentid>
    <comment_count>3</comment_count>
      <attachid>105923</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-06 11:00:09 -0700</bug_when>
    <thetext>Comment on attachment 105923
patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462675</commentid>
    <comment_count>4</comment_count>
      <attachid>105923</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 11:12:26 -0700</bug_when>
    <thetext>Comment on attachment 105923
patch

Clearing flags on attachment: 105923

Committed r94581: &lt;http://trac.webkit.org/changeset/94581&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462676</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 11:12:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105923</attachid>
            <date>2011-09-01 01:28:14 -0700</date>
            <delta_ts>2011-09-06 11:12:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-67358-20110901165815.patch</filename>
            <type>text/plain</type>
            <size>5286</size>
            <attacher name="Robin Cao">robin.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQyNzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYWFlMzk3M2Q3M2U4YWNmYzBjNzQ5
NzlmNmVhZGY0MzNhNzkxMzE4Li5iNGVjM2JmNmYxNGIwNjdhNGZlYjJiMTBlYTQzZDc5NjhiMzJi
ZWIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMDEgIFJvYmluIENhbyAgPHJvYmlu
LmNhb0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW3NraWFdIFN0YXRlcyBvZiBHcmFw
aGljc0NvbnRleHQgbWF5IG5ldmVyIGJlIHJlc3RvcmVkIGFmdGVyIGNsaXBUb0ltYWdlQnVmZmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM1OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9y
ZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAg
ICogZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6IE1pc3NpbmcgbGF5b3V0Q29udHJvbGxl
ci50ZXN0UmVwYWludCgpLgorCiAyMDExLTA4LTMxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIENyYXNoIHdoZW4gaW5zZXJ0aW5nIHRleHQgd2l0aCBhIHRyYWls
aW5nIG5ld2xpbmUgaW50byBhIHRleHRhcmVhIHZpYSBKUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLnBuZyBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9iYWNrZ3JvdW5kLWNsaXAtdGV4dC1leHBlY3RlZC5wbmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWYzMmNkMGYzOWE2NmQ0MmJjZTI5YjE4OGU0MDE1ZjdkNmMxOWYyZApHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjg2Mwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJh
PmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG41OUcKejZhITsoT0xNYSVsVm1kITNzV089T0pp
ZTA8Nzh0SzNqLXRMRztgT3JuUjZIenhESS17SUVHWnJkMyQzZz8tMihjCnptVjxZaktsI3JUWmB7
Km43cVlZRFNXZHpER2ZXSCVLSlR0KFVec0F7THgtVlojc01hVjQkZWA9dW5QcCleIUJ+cQp6cmRy
NDRVYnx6PCRXUzM1S05gbkZIOyEpPG1kITg/ZjUqVl5nSigxek0rPmFjUWhUKDw4cUVjeHhuTE9Q
ZipiTnwKWHoxLV9MPEhZJVpFbm8mdVMzajNeUDY8cl9tRit5MgoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xp
cC10ZXh0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9iYWNrZ3JvdW5k
LWNsaXAtdGV4dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZhZjIyYTJlMTg4MjcxNDM4MmIx
YjQyYzIzOTRkNDZjNDgyODE1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9iYWNrZ3JvdW5kLWNsaXAtdGV4dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAor
wqAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9iYWNrZ3JvdW5kLWNsaXAt
dGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzM0YWZkNGFjYzNhZjFjYjMzZTEzMjFhNWVhMGYxODA3MjA5Zjg5
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9iYWNrZ3JvdW5k
LWNsaXAtdGV4dC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgI3NoYWRvd0JveCB7CisgICAgICAtd2Via2l0LWJhY2tn
cm91bmQtY2xpcDogdGV4dDsKKyAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMDBweCAjZjAw
OworICAgICAgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAjZ3JlZW5C
b3ggeworICAgICAgZm9udC1zaXplOiAxMDBweDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6ICMw
ZjA7CisgICAgICB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7CisgICAgfQorICA8L3N0eWxl
PiAKKzwvaGVhZD4KKzxib2R5PgorCis8IS0tIFRyeSBzZWxlY3QvZGVzZWxlY3QgdGhlIHNwYWNl
IGluIHRoZSBncmVlbiBib3ggYmVsb3cuIFlvdSBzaG91bGQgbm90IHNlZSByZWQuIC0tPgorPGRp
diBpZD0ic2hhZG93Qm94Ij48L2Rpdj4KKzxkaXYgaWQ9ImdyZWVuQm94IiA+Jm5ic3A7PC9kaXY+
CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQodHJ1ZSk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnRlc3RSZXBhaW50KCk7Cisg
ICAgfQorPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGYyMDFiODA1ZWQwMzc2ZDhmMmM3M2I3ZjQ1NzJiMjc2MmEwZjlmYTcuLjI4ZDQ2Y2U2
NWE2NTA0NGNmMDA5NDJmNmE4OWZkYmZmY2E2MGY1YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtNjg1LDYgKzY4NSw3IEBAIGZhc3QvcmVwYWludC90YWJsZS13cml0aW5nLW1vZGVzLWgu
aHRtbAogZmFzdC9yZXBhaW50L3RhYmxlLXdyaXRpbmctbW9kZXMtdi5odG1sCiBmYXN0L3JlcGFp
bnQvdGV4dC1lbXBoYXNpcy1oLmh0bWwKIGZhc3QvcmVwYWludC90ZXh0LWVtcGhhc2lzLXYuaHRt
bAorZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0Lmh0bWwKIAogIyBUaGlzIHJlcXVp
cmVzIGRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWVJbklzb2xhdGVkV29ybGQgZm9vIGluIEZy
YW1lTG9hZGVyQ2xpZW50CiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvZGlkQ2xl
YXJXaW5kb3dPYmplY3QuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGZiMzk1NTE0MWI4ZWU5NjVkNDlmZWIy
N2EwZDE3N2JkMWRjMTA3ZDIuLmRlZTNjYjJhYTRiOGIwNjY5MGE0NzVkYzI5MTkzYTE0MjIxYTUy
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wOS0wMSAgUm9iaW4gQ2FvICA8
cm9iaW4uY2FvQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbc2tpYV0gU3RhdGVzIG9m
IEdyYXBoaWNzQ29udGV4dCBtYXkgbmV2ZXIgYmUgcmVzdG9yZWQgYWZ0ZXIgY2xpcFRvSW1hZ2VC
dWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3
MzU4CisKKyAgICAgICAgYmVnaW5MYXllckNsaXBwZWRUb0ltYWdlL2FwcGx5Q2xpcEZyb21JbWFn
ZSBhcmUgbWlzbWF0Y2hlZCB3aGVuIGNsaXBwaW5nIHRvCisgICAgICAgIGFuIGVtcHR5IEltYWdl
QnVmZmVyLCB3aGljaCB3aWxsIG1ha2Ugc3RhdGVzIG9mIEdyYXBoaWNzQ29udGV4dCBpbmNvcnJl
Y3QuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9yZXBhaW50L2JhY2tncm91bmQtY2xpcC10ZXh0Lmh0bWwKKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNvbnRleHRTa2lhOjpiZWdpbkxheWVyQ2xpcHBlZFRvSW1hZ2UpOgor
CiAyMDExLTA5LTAxICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbmFtZSBjb2xvclNlbGVjdGVkIHRvIGRpZENob29zZUNvbG9yCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRl
eHRTa2lhLmNwcAppbmRleCA2NTA0YzE3MjA3NzA3NDZkNzIzN2MzMWI3Y2NhNjg0MWUyNGJiZTYy
Li5iMmRlZWE0MTI4ODNkN2U5NGYxYzFiYmIyZjJjZWQ5ZWRkMDA2ZDgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5jcHAKQEAgLTI0NCw2ICsyNDQsOSBAQCB2b2lkIFBsYXRmb3JtQ29udGV4dFNr
aWE6OmJlZ2luTGF5ZXJDbGlwcGVkVG9JbWFnZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgU2tGbG9hdFRvU2NhbGFyKHJlY3QubWF4WCgpKSwgU2tGbG9hdFRv
U2NhbGFyKHJlY3QubWF4WSgpKSB9OwogCiAgICAgY2FudmFzKCktPmNsaXBSZWN0KGJvdW5kcyk7
CisgICAgaWYgKGltYWdlQnVmZmVyLT5zaXplKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisKICAgICBjYW52YXMoKS0+c2F2ZUxheWVyQWxwaGEoJmJvdW5kcywgMjU1LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxTa0NhbnZhczo6U2F2ZUZsYWdzPihTa0Nh
bnZhczo6a0hhc0FscGhhTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZhczo6a0Z1bGxDb2xvckxheWVy
X1NhdmVGbGFnKSk7CiAgICAgLy8gQ29weSBvZmYgdGhlIGltYWdlIGFzIHxpbWFnZUJ1ZmZlcnwg
bWF5IGJlIGRlbGV0ZWQgYmVmb3JlIHJlc3RvcmUgaXMgaW52b2tlZC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>