<?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>57681</bug_id>
          
          <creation_ts>2011-04-01 16:37:13 -0700</creation_ts>
          <short_desc>REGRESSION: Assertion failure when executing a complex custom key binding</short_desc>
          <delta_ts>2011-04-01 17:29:04 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>378200</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-01 16:37:13 -0700</bug_when>
    <thetext>In an attempt to make results of NSTextInput protocol methods more correct, we now execute saved commands when executing any method that returns a result (which could be stale otherwise).

This means that insertText: can now be sent back to WebCore while interpreting the original RawKeyDown event - but Editor::insertText asserts that the underlying event is a Char one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378206</commentid>
    <comment_count>1</comment_count>
      <attachid>87942</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-01 16:42:37 -0700</bug_when>
    <thetext>Created attachment 87942
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378207</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-01 16:45:02 -0700</bug_when>
    <thetext>This doesn&apos;t address the root cause - there is still a theoretical possibility of a input source sending an insertText:, and then forcing immediate execution by asking about something. But this fixes the bug and improves performance, so it&apos;s a good thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378224</commentid>
    <comment_count>3</comment_count>
      <attachid>87942</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-04-01 17:07:27 -0700</bug_when>
    <thetext>Comment on attachment 87942
proposed fix

Makes perfect sense to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378237</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-01 17:29:04 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/82749&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87942</attachid>
            <date>2011-04-01 16:42:37 -0700</date>
            <delta_ts>2011-04-01 17:21:00 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>KeyBindingAssertion.txt</filename>
            <type>text/plain</type>
            <size>3279</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyNzQ0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMDEgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBl
eGVjdXRpbmcgYSBjb21wbGV4IGN1c3RvbSBrZXkgYmluZGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc2ODEKKworICAgICAgICBBbHNvIGNvbXBs
ZXRlcyB0aGUgZml4IGZvcgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA2Mzc4Mj4gV2ViS2l0
MjogVGV4dCBmaWVsZHMgaW4gU2FmYXJpIGRvbid0IGhvbm9yIGN1c3RvbSBrZXkgYmluZGluZ3MK
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbTogKC1bV0tWaWV3IGhhc01h
cmtlZFRleHRdKTogVGhlcmUgaXMgbm8gbmVlZCB0byBleGVjdXRlIHNhdmVkCisgICAgICAgIGNv
bW1hbmRzIHdoZW4gdGhleSBjYW4ndCBwb3NzaWJseSBjaGFuZ2UgdGhlIHJlc3VsdC4KKwogMjAx
MS0wNC0wMSAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24gODI3MTcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyMDUs
MTQgKzEyMDUsMTcgQEAgLSAoTlNSYW5nZSlzZWxlY3RlZFJhbmdlCiAKIC0gKEJPT0wpaGFzTWFy
a2VkVGV4dAogewotICAgIFtzZWxmIF9leGVjdXRlU2F2ZWRLZXlwcmVzc0NvbW1hbmRzXTsKLQog
ICAgIFdLVmlld0ludGVycHJldEtleUV2ZW50c1BhcmFtZXRlcnMqIHBhcmFtZXRlcnMgPSBfZGF0
YS0+X2ludGVycHJldEtleUV2ZW50c1BhcmFtZXRlcnM7CiAKICAgICBCT09MIHJlc3VsdDsKLSAg
ICBpZiAocGFyYW1ldGVycykKKyAgICBpZiAocGFyYW1ldGVycykgewogICAgICAgICByZXN1bHQg
PSBwYXJhbWV0ZXJzLT5jYWNoZWRUZXh0SW5wdXRTdGF0ZS5oYXNNYXJrZWRUZXh0OwotICAgIGVs
c2UgeworICAgICAgICBpZiAocmVzdWx0KSB7CisgICAgICAgICAgICAvLyBBIHNhdmVkIGNvbW1h
bmQgY2FuIGNvbmZpcm0gYSBjb21wb3NpdGlvbiwgYnV0IGl0IGNhbm5vdCBzdGFydCBhIG5ldyBv
bmUuCisgICAgICAgICAgICBbc2VsZiBfZXhlY3V0ZVNhdmVkS2V5cHJlc3NDb21tYW5kc107Cisg
ICAgICAgICAgICByZXN1bHQgPSBwYXJhbWV0ZXJzLT5jYWNoZWRUZXh0SW5wdXRTdGF0ZS5oYXNN
YXJrZWRUZXh0OworICAgICAgICB9CisgICAgfSBlbHNlIHsKICAgICAgICAgdWludDY0X3QgbG9j
YXRpb247CiAgICAgICAgIHVpbnQ2NF90IGxlbmd0aDsKICAgICAgICAgX2RhdGEtPl9wYWdlLT5n
ZXRNYXJrZWRSYW5nZShsb2NhdGlvbiwgbGVuZ3RoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDgyNzQ0KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMDEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUkVHUkVTU0lPTjogQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBleGVjdXRpbmcgYSBjb21w
bGV4IGN1c3RvbSBrZXkgYmluZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTc2ODEKKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06
ICgtW1dlYkhUTUxWaWV3IGhhc01hcmtlZFRleHRdKTogVGhlcmUgaXMgbm8gbmVlZCB0byBleGVj
dXRlIHNhdmVkCisgICAgICAgIGNvbW1hbmRzIHdoZW4gdGhleSBjYW4ndCBwb3NzaWJseSBjaGFu
Z2UgdGhlIHJlc3VsdC4KKwogMjAxMS0wNC0wMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0JKHJldmlzaW9uIDgyNzE3KQorKysg
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkod29ya2luZyBjb3B5KQpA
QCAtNTg3NiwxMCArNTg3NiwxNSBAQCAtIChOU0ludGVnZXIpY29udmVyc2F0aW9uSWRlbnRpZmll
cgogCiAtIChCT09MKWhhc01hcmtlZFRleHQKIHsKLSAgICBbc2VsZiBfZXhlY3V0ZVNhdmVkS2V5
cHJlc3NDb21tYW5kc107Ci0KICAgICBGcmFtZSogY29yZUZyYW1lID0gY29yZShbc2VsZiBfZnJh
bWVdKTsKICAgICBCT09MIHJlc3VsdCA9IGNvcmVGcmFtZSAmJiBjb3JlRnJhbWUtPmVkaXRvcigp
LT5oYXNDb21wb3NpdGlvbigpOworCisgICAgaWYgKHJlc3VsdCkgeworICAgICAgICAvLyBBIHNh
dmVkIGNvbW1hbmQgY2FuIGNvbmZpcm0gYSBjb21wb3NpdGlvbiwgYnV0IGl0IGNhbm5vdCBzdGFy
dCBhIG5ldyBvbmUuCisgICAgICAgIFtzZWxmIF9leGVjdXRlU2F2ZWRLZXlwcmVzc0NvbW1hbmRz
XTsKKyAgICAgICAgcmVzdWx0ID0gY29yZUZyYW1lLT5lZGl0b3IoKS0+aGFzQ29tcG9zaXRpb24o
KTsKKyAgICB9CisKICAgICBMT0coVGV4dElucHV0LCAiaGFzTWFya2VkVGV4dCAtPiAldSIsIHJl
c3VsdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
</data>
<flag name="review"
          id="80404"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>