<?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>58382</bug_id>
          
          <creation_ts>2011-04-12 15:06:44 -0700</creation_ts>
          <short_desc>Infinite recursion in WebHTMLView executeSavedKeypressCommands</short_desc>
          <delta_ts>2011-04-12 15:49: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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384417</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-04-12 15:06:44 -0700</bug_when>
    <thetext>Execution of some editing commands could trigger a call to selectedRange that internally calls executeSavedKeypressCommands creating an infinite recursion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384418</commentid>
    <comment_count>1</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-04-12 15:06:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/9239370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384419</commentid>
    <comment_count>2</comment_count>
      <attachid>89281</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-04-12 15:12:39 -0700</bug_when>
    <thetext>Created attachment 89281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384425</commentid>
    <comment_count>3</comment_count>
      <attachid>89281</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-12 15:34:42 -0700</bug_when>
    <thetext>Comment on attachment 89281
Patch

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

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:1183
&gt; +    // We could be called again if the execution of one command triggers a call to selectedRange.

I would add: &quot;In this case, the state is up to date, and we don&apos;t need to execute any more saved commands to return a result&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384431</commentid>
    <comment_count>4</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-04-12 15:42:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 89281 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89281&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:1183
&gt; &gt; +    // We could be called again if the execution of one command triggers a call to selectedRange.
&gt; 
&gt; I would add: &quot;In this case, the state is up to date, and we don&apos;t need to execute any more saved commands to return a result&quot;

Will do. thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384442</commentid>
    <comment_count>5</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-04-12 15:49:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83655</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89281</attachid>
            <date>2011-04-12 15:12:39 -0700</date>
            <delta_ts>2011-04-12 15:34:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>mailcrash.txt</filename>
            <type>text/plain</type>
            <size>5839</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNjQ3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMTIgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbmZpbml0ZSByZWN1cnNpb24gaW4gV2ViSFRNTFZpZXcgZXhl
Y3V0ZVNhdmVkS2V5cHJlc3NDb21tYW5kcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU4MzgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjM5Mzcw
PgorCisgICAgICAgIEV4ZWN1dGlvbiBvZiBzb21lIGVkaXRpbmcgY29tbWFuZHMgY291bGQgdHJp
Z2dlciBhIGNhbGwgdG8gc2VsZWN0ZWRSYW5nZSB0aGF0CisgICAgICAgIGludGVybmFsbHkgY2Fs
bHMgZXhlY3V0ZVNhdmVkS2V5cHJlc3NDb21tYW5kcyBjcmVhdGluZyBhbiBpbmZpbml0ZSByZWN1
cnNpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAg
ICgtW1dLVmlldyBfZXhlY3V0ZVNhdmVkS2V5cHJlc3NDb21tYW5kc10pOiBBZGRlZCBmbGFnIHRv
IGF2b2lkIHJlY3Vyc2lvbi4KKyAgICAgICAgKC1bV0tWaWV3IF9pbnRlcnByZXRLZXlFdmVudDp3
aXRoQ2FjaGVkVGV4dElucHV0U3RhdGU6c2F2aW5nQ29tbWFuZHNUbzpXZWJDb3JlOjpdKToKKyAg
ICAgICAgQWRkZWQgZmxhZyBpbml0aWFsaXphdGlvbi4KKwogMjAxMS0wNC0xMiAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
Um9iZW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
CShyZXZpc2lvbiA4MzYzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBAIHN0cnVjdCBXS1ZpZXdJ
bnRlcnByZXRLZXlFdmVudHNQYXJhbWV0ZXIKICAgICBUZXh0SW5wdXRTdGF0ZSBjYWNoZWRUZXh0
SW5wdXRTdGF0ZTsKICAgICBib29sIGV2ZW50SW50ZXJwcmV0YXRpb25IYWRTaWRlRWZmZWN0czsK
ICAgICBib29sIGNvbnN1bWVkQnlJTTsKKyAgICBib29sIGV4ZWN1dGluZ1NhdmVkS2V5cHJlc3ND
b21tYW5kczsKICAgICBWZWN0b3I8S2V5cHJlc3NDb21tYW5kPiogY29tbWFuZHM7CiB9OwogCkBA
IC0xMTc5LDEwICsxMTgwLDE2IEBAIC0gKHZvaWQpX2V4ZWN1dGVTYXZlZEtleXByZXNzQ29tbWFu
ZHMKICAgICBpZiAoIXBhcmFtZXRlcnMgfHwgcGFyYW1ldGVycy0+Y29tbWFuZHMtPmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gV2UgY291bGQgYmUgY2FsbGVkIGFnYWluIGlm
IHRoZSBleGVjdXRpb24gb2Ygb25lIGNvbW1hbmQgdHJpZ2dlcnMgYSBjYWxsIHRvIHNlbGVjdGVk
UmFuZ2UuCisgICAgaWYgKHBhcmFtZXRlcnMtPmV4ZWN1dGluZ1NhdmVkS2V5cHJlc3NDb21tYW5k
cykKKyAgICAgICAgcmV0dXJuOworCisgICAgcGFyYW1ldGVycy0+ZXhlY3V0aW5nU2F2ZWRLZXlw
cmVzc0NvbW1hbmRzID0gdHJ1ZTsKICAgICBUZXh0SW5wdXRTdGF0ZSBuZXdUZXh0SW5wdXRTdGF0
ZTsKICAgICBwYXJhbWV0ZXJzLT5ldmVudEludGVycHJldGF0aW9uSGFkU2lkZUVmZmVjdHMgfD0g
X2RhdGEtPl9wYWdlLT5leGVjdXRlS2V5cHJlc3NDb21tYW5kcygqcGFyYW1ldGVycy0+Y29tbWFu
ZHMsIG5ld1RleHRJbnB1dFN0YXRlKTsKICAgICBwYXJhbWV0ZXJzLT5jYWNoZWRUZXh0SW5wdXRT
dGF0ZSA9IG5ld1RleHRJbnB1dFN0YXRlOwogICAgIHBhcmFtZXRlcnMtPmNvbW1hbmRzLT5jbGVh
cigpOworICAgIHBhcmFtZXRlcnMtPmV4ZWN1dGluZ1NhdmVkS2V5cHJlc3NDb21tYW5kcyA9IGZh
bHNlOwogfQogCiAtIChOU1RleHRJbnB1dENvbnRleHQgKilpbnB1dENvbnRleHQKQEAgLTE5MDMs
NiArMTkxMCw3IEBAIC0gKEJPT0wpX2ludGVycHJldEtleUV2ZW50OihOU0V2ZW50ICopZXYKICAg
ICBXS1ZpZXdJbnRlcnByZXRLZXlFdmVudHNQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAgICAgcGFy
YW1ldGVycy5jYWNoZWRUZXh0SW5wdXRTdGF0ZSA9IGNhY2hlZFRleHRJbnB1dFN0YXRlOwogICAg
IHBhcmFtZXRlcnMuZXZlbnRJbnRlcnByZXRhdGlvbkhhZFNpZGVFZmZlY3RzID0gZmFsc2U7Cisg
ICAgcGFyYW1ldGVycy5leGVjdXRpbmdTYXZlZEtleXByZXNzQ29tbWFuZHMgPSBmYWxzZTsKICAg
ICAvLyBXZSBhc3N1bWUgdGhhdCBhbiBpbnB1dCBtZXRob2QgaGFzIGNvbnN1bWVkIHRoZSBldmVu
dCwgYW5kIG9ubHkgY2hhbmdlIHRoaXMgYXNzdW1wdGlvbiBpZiBvbmUgb2YgdGhlIE5TVGV4dElu
cHV0IG1ldGhvZHMgaXMgY2FsbGVkLgogICAgIC8vIFdlIGFzc3VtZSB0aGUgSU0gd2lsbCAqbm90
KiBjb25zdW1lIGhvdGtleSBzZXF1ZW5jZXMuCiAgICAgcGFyYW1ldGVycy5jb25zdW1lZEJ5SU0g
PSAhKFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQ29tbWFuZEtleU1hc2spOwpJbmRleDogU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwkocmV2aXNpb24gODM2NDcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wNC0xMiAgRW5yaWNhIENh
c3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluZmluaXRlIHJlY3Vyc2lvbiBpbiBXZWJIVE1MVmlldyBleGVj
dXRlU2F2ZWRLZXlwcmVzc0NvbW1hbmRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTgzODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyMzkzNzA+
CisKKyAgICAgICAgRXhlY3V0aW9uIG9mIHNvbWUgZWRpdGluZyBjb21tYW5kcyBjb3VsZCB0cmln
Z2VyIGEgY2FsbCB0byBzZWxlY3RlZFJhbmdlIHRoYXQKKyAgICAgICAgaW50ZXJuYWxseSBjYWxs
cyBleGVjdXRlU2F2ZWRLZXlwcmVzc0NvbW1hbmRzIGNyZWF0aW5nIGFuIGluZmluaXRlIHJlY3Vy
c2lvbi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dl
YkhUTUxWaWV3IF9leGVjdXRlU2F2ZWRLZXlwcmVzc0NvbW1hbmRzXSk6IEFkZGVkIGEgZmxhZyB0
byBhdm9pZCByZWN1cnNpb24uCisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9pbnRlcnByZXRLZXlF
dmVudDpzYXZpbmdDb21tYW5kczpdKTogQWRkZWQgZmxhZyBpbml0aWFsaXphdGlvbi4KKwogMjAx
MS0wNC0xMiAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJI
VE1MVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCShyZXZpc2lvbiA4MzYwMykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2Niw2ICs0NjYsNyBAQCBzdHJ1Y3Qg
V2ViSFRNTFZpZXdJbnRlcnByZXRLZXlFdmVudHNQYXJhCiAgICAgYm9vbCBldmVudEludGVycHJl
dGF0aW9uSGFkU2lkZUVmZmVjdHM7CiAgICAgYm9vbCBzaG91bGRTYXZlQ29tbWFuZHM7CiAgICAg
Ym9vbCBjb25zdW1lZEJ5SU07CisgICAgYm9vbCBleGVjdXRpbmdTYXZlZEtleXByZXNzQ29tbWFu
ZHM7CiB9OwogCiBAaW50ZXJmYWNlIFdlYkhUTUxWaWV3UHJpdmF0ZSA6IE5TT2JqZWN0IHsKQEAg
LTU0MzMsMTAgKzU0MzQsMTUgQEAgLSAodm9pZClfZXhlY3V0ZVNhdmVkS2V5cHJlc3NDb21tYW5k
cwogICAgIGlmICghcGFyYW1ldGVycyB8fCBwYXJhbWV0ZXJzLT5ldmVudC0+a2V5cHJlc3NDb21t
YW5kcygpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gV2UgY291bGQgYmUg
Y2FsbGVkIGFnYWluIGlmIHRoZSBleGVjdXRpb24gb2Ygb25lIGNvbW1hbmQgdHJpZ2dlcnMgYSBj
YWxsIHRvIHNlbGVjdGVkUmFuZ2UuCisgICAgaWYgKHBhcmFtZXRlcnMtPmV4ZWN1dGluZ1NhdmVk
S2V5cHJlc3NDb21tYW5kcykKKyAgICAgICAgcmV0dXJuOworICAgIAogICAgIC8vIEF2b2lkIGFu
IGluZmluaXRlIGxvb3AgdGhhdCB3b3VsZCBvY2N1ciBpZiBleGVjdXRpbmcgYSBjb21tYW5kIGFw
cGVuZGVkIGl0IHRvIGV2ZW50LT5rZXlwcmVzc0NvbW1hbmRzKCkgYWdhaW4uCiAgICAgYm9vbCB3
YXNTYXZpbmdDb21tYW5kcyA9IHBhcmFtZXRlcnMtPnNob3VsZFNhdmVDb21tYW5kczsKICAgICBw
YXJhbWV0ZXJzLT5zaG91bGRTYXZlQ29tbWFuZHMgPSBmYWxzZTsKLQorICAgIHBhcmFtZXRlcnMt
PmV4ZWN1dGluZ1NhdmVkS2V5cHJlc3NDb21tYW5kcyA9IHRydWU7CisgICAgCiAgICAgY29uc3Qg
VmVjdG9yPEtleXByZXNzQ29tbWFuZD4mIGNvbW1hbmRzID0gcGFyYW1ldGVycy0+ZXZlbnQtPmtl
eXByZXNzQ29tbWFuZHMoKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29tbWFuZHMu
c2l6ZSgpOyArK2kpIHsKQEAgLTU0NDksNiArNTQ1NSw3IEBAIC0gKHZvaWQpX2V4ZWN1dGVTYXZl
ZEtleXByZXNzQ29tbWFuZHMKICAgICB9CiAgICAgcGFyYW1ldGVycy0+ZXZlbnQtPmtleXByZXNz
Q29tbWFuZHMoKS5jbGVhcigpOwogICAgIHBhcmFtZXRlcnMtPnNob3VsZFNhdmVDb21tYW5kcyA9
IHdhc1NhdmluZ0NvbW1hbmRzOworICAgIHBhcmFtZXRlcnMtPmV4ZWN1dGluZ1NhdmVkS2V5cHJl
c3NDb21tYW5kcyA9IGZhbHNlOwogfQogCiAtIChCT09MKV9pbnRlcnByZXRLZXlFdmVudDooS2V5
Ym9hcmRFdmVudCopZXZlbnQgc2F2aW5nQ29tbWFuZHM6KEJPT0wpc2F2aW5nQ29tbWFuZHMKQEAg
LTU0NTksNiArNTQ2Niw3IEBAIC0gKEJPT0wpX2ludGVycHJldEtleUV2ZW50OihLZXlib2FyZEV2
ZW4KICAgICBXZWJIVE1MVmlld0ludGVycHJldEtleUV2ZW50c1BhcmFtZXRlcnMgcGFyYW1ldGVy
czsKICAgICBwYXJhbWV0ZXJzLmV2ZW50SW50ZXJwcmV0YXRpb25IYWRTaWRlRWZmZWN0cyA9IGZh
bHNlOwogICAgIHBhcmFtZXRlcnMuc2hvdWxkU2F2ZUNvbW1hbmRzID0gc2F2aW5nQ29tbWFuZHM7
CisgICAgcGFyYW1ldGVycy5leGVjdXRpbmdTYXZlZEtleXByZXNzQ29tbWFuZHMgPSBmYWxzZTsK
ICAgICAvLyBJZiB3ZSdyZSBpbnRlcmNlcHRpbmcgdGhlIGluaXRpYWwgSU0gY2FsbCB3ZSBhc3N1
bWUgdGhhdCB0aGUgSU0gaGFzIGNvbnN1bWVkIHRoZSBldmVudCwgCiAgICAgLy8gYW5kIG9ubHkg
Y2hhbmdlIHRoaXMgYXNzdW1wdGlvbiBpZiBvbmUgb2YgdGhlIE5TVGV4dElucHV0L1Jlc3BvbmRl
ciBjYWxsYmFja3MgaXMgdXNlZC4KICAgICAvLyBXZSBhc3N1bWUgdGhlIElNIHdpbGwgKm5vdCog
Y29uc3VtZSBob3RrZXkgc2VxdWVuY2VzCg==
</data>
<flag name="review"
          id="81936"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>