<?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>59169</bug_id>
          
          <creation_ts>2011-04-21 20:18:21 -0700</creation_ts>
          <short_desc>Minimize synchronous calls during loading</short_desc>
          <delta_ts>2011-04-21 21:26:45 -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.6</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>andersca</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>390569</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-21 20:18:21 -0700</bug_when>
    <thetext>r84526 added synchronous calls to web process to discard marked text when selection changes. The code was structured so that the same call was made when navigating to a new page, which is obviously unnecessary, as everything in Editor best reset anyway.

Unfortunately, CoreIPC delivers sync and async calls out of order while serving a sync call in other direction, causing havoc, freezes and crashes as the UI process got confused about web process state. So, we should minimize sync calls, especially when we know that something else is happening in the web process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390572</commentid>
    <comment_count>1</comment_count>
      <attachid>90659</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-21 20:22:30 -0700</bug_when>
    <thetext>Created attachment 90659
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390599</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-21 21:26:45 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/84598&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90659</attachid>
            <date>2011-04-21 20:22:30 -0700</date>
            <delta_ts>2011-04-21 20:50:15 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>OutOfOrder.txt</filename>
            <type>text/plain</type>
            <size>1734</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NTkyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjEgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWluaW1pemUgc3luY2hyb25vdXMgY2FsbHMgZHVyaW5nIGxv
YWRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5
MTY5CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkzMjAxMjg+IFJFR1JFU1NJT04ocjg0NTI2
KTogV0syIHdpbmRvd3MgdW5yZXNwb25zaXZlCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21h
Yy9XS1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyByZXNpZ25GaXJzdFJlc3BvbmRlcl0pOgor
ICAgICAgICAoLVtXS1ZpZXcgX3Jlc2V0VGV4dElucHV0U3RhdGVdKToKKyAgICAgICAgTWFkZSBf
cmVzZXRUZXh0SW5wdXRTdGF0ZSBkZWFsIHdpdGggY2xpZW50IHNpZGUgc3RhdGUgb25seSwgbGV0
dGluZyBFZGl0b3IgY29tcG9zaXRpb24gYmUKKyAgICAgICAgZGlzY2FyZGVkIG1vcmUgZGlzY3Jp
bWluYXRlbHkuCisKIDIwMTEtMDQtMjEgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24gODQ1MjYpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMxMCw2ICszMTAsOCBAQCAtIChCT09MKXJlc2lnbkZpcnN0UmVzcG9uZGVyCiB7CiAgICAgX2Rh
dGEtPl9pblJlc2lnbkZpcnN0UmVzcG9uZGVyID0gdHJ1ZTsKIAorICAgIGlmIChfZGF0YS0+X3Bh
Z2UtPmVkaXRvclN0YXRlKCkuaGFzQ29tcG9zaXRpb24gJiYgIV9kYXRhLT5fcGFnZS0+ZWRpdG9y
U3RhdGUoKS5zaG91bGRJZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSkKKyAgICAgICAg
X2RhdGEtPl9wYWdlLT5jb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlv
bigpOwogICAgIFtzZWxmIF9yZXNldFRleHRJbnB1dFN0YXRlXTsKICAgICAKICAgICBfZGF0YS0+
X3BhZ2UtPnZpZXdTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHk6OlZpZXdJc0ZvY3VzZWQpOwpA
QCAtMjM0Nyw3ICsyMzQ5LDYgQEAgLSAodm9pZClfdXBkYXRlVGV4dElucHV0U3RhdGVJbmNsdWRp
bmdTZQogCiAtICh2b2lkKV9yZXNldFRleHRJbnB1dFN0YXRlCiB7Ci0gICAgX2RhdGEtPl9wYWdl
LT5jb25maXJtQ29tcG9zaXRpb25XaXRob3V0RGlzdHVyYmluZ1NlbGVjdGlvbigpOwogICAgIFtb
c3VwZXIgaW5wdXRDb250ZXh0XSBkaXNjYXJkTWFya2VkVGV4dF07CiAKICAgICBpZiAoX2RhdGEt
Pl9pblNlY3VyZUlucHV0U3RhdGUpIHsK
</data>
<flag name="review"
          id="83418"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>