<?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>86658</bug_id>
          
          <creation_ts>2012-05-16 11:16:18 -0700</creation_ts>
          <short_desc>ImageLoader can still dispatch beforeload events for ImageDocuments</short_desc>
          <delta_ts>2012-05-16 13:56:18 -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>Page Loading</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vicki Pfau">jeffrey+webkit</reporter>
          <assigned_to name="Vicki Pfau">jeffrey+webkit</assigned_to>
          <cc>beidson</cc>
    
    <cc>japhet</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>625656</commentid>
    <comment_count>0</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-05-16 11:16:18 -0700</bug_when>
    <thetext>When loading images, some of the logic regarding making the images appear on the page seems to occur somewhere within the beforeload logic (somewhere within code called by ImageLoader::dispatchPendingBeforeLoadEvent()). This means that a beforeload event needs to be dispatched on all loaded images, even within some contexts like ImageDocuments.

While calling dispatchPendingBeforeLoadEvent while the image is being first updated (ImageLoader::updateFromElement), instead of being deferred (as happens when the page has a beforeload handler) ensures that listeners never actually sees the event, it still shouldn&apos;t fire the event in the first place. This means that the logic for connecting the images so they appear needs to be moved out of whatever dispatchPendingBeforeLoadEvent calls and into a separate function.

I&apos;ve tried to find where this logic occurs, but I have as of yet been unsuccessful.

&lt;rdar://problem/11465863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625733</commentid>
    <comment_count>1</comment_count>
      <attachid>142322</attachid>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-05-16 12:26:15 -0700</bug_when>
    <thetext>Created attachment 142322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625737</commentid>
    <comment_count>2</comment_count>
      <attachid>142322</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-05-16 12:30:06 -0700</bug_when>
    <thetext>Comment on attachment 142322
Patch

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

&gt; Source/WebCore/loader/ImageLoader.cpp:198
&gt; -        m_hasPendingBeforeLoadEvent = newImage;
&gt; +        if (!m_element-&gt;document()-&gt;isImageDocument())
&gt; +            m_hasPendingBeforeLoadEvent = newImage;

I would consider forcing m_hasPendingBeforeLoadEvent to false for image documents, and make sure whatever other bits of related data are set appropriately (if any)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625748</commentid>
    <comment_count>3</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-05-16 12:35:02 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 142322 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142322&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/ImageLoader.cpp:198
&gt; &gt; -        m_hasPendingBeforeLoadEvent = newImage;
&gt; &gt; +        if (!m_element-&gt;document()-&gt;isImageDocument())
&gt; &gt; +            m_hasPendingBeforeLoadEvent = newImage;
&gt; 
&gt; I would consider forcing m_hasPendingBeforeLoadEvent to false for image documents, and make sure whatever other bits of related data are set appropriately (if any)

I&apos;m not sure that&apos;s necessary, but I suppose it is nice to be explicit. The only associated bit seems to be regarding queuing of events in the event sender--which we don&apos;t do in this case anyway, so that&apos;s fine. I&apos;ll upload a version with the flag set explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625793</commentid>
    <comment_count>4</comment_count>
      <attachid>142332</attachid>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-05-16 13:25:40 -0700</bug_when>
    <thetext>Created attachment 142332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625797</commentid>
    <comment_count>5</comment_count>
      <attachid>142332</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-05-16 13:28:57 -0700</bug_when>
    <thetext>Comment on attachment 142332
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +
&gt; +        Prevent flags regarding sending beforeload events from being set on ImageDocuments.
&gt; +
&gt; +        No new tests.
&gt; +

Might want to reiterate the same reason why not from the last change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625832</commentid>
    <comment_count>6</comment_count>
    <who name="Vicki Pfau">jeffrey+webkit</who>
    <bug_when>2012-05-16 13:56:18 -0700</bug_when>
    <thetext>Committed r117336: &lt;http://trac.webkit.org/changeset/117336&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142322</attachid>
            <date>2012-05-16 12:26:15 -0700</date>
            <delta_ts>2012-05-16 13:25:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86658-20120516122621.patch</filename>
            <type>text/plain</type>
            <size>2330</size>
            <attacher name="Vicki Pfau">jeffrey+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjA2MjExNzA1Y2FkOTM5
YzUzYmIzZDJlZmMwYjQyMzc5ODQyNjM1ZC4uNmI4YTIyMmRiYTA1ZmZkMzA1MDU4MjYzOGE4YWEw
YmMwMzUyMzQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTE2ICBKZWZm
cmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBpbWFnZSBsb2FkaW5n
IGxvZ2ljIGhhcHBlbnMgaW4gYW4gdW5pbnR1aXRpdmUgYW5kIGluY29ycmVjdCBsb2NhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY2NTgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExNDY1ODYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZlbnQgZmxhZ3MgcmVnYXJkaW5nIHNlbmRpbmcg
YmVmb3JlbG9hZCBldmVudHMgZnJvbSBiZWluZyBzZXQgb24gSW1hZ2VEb2N1bWVudHMuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCk6CisKIDIw
MTItMDUtMTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgU2Nyb2xsYmFyIGxheWVycyBzaG91bGQgcmVzcGVjdCBhY2NlbGVyYXRlZCBkcmF3aW5nIHNl
dHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGQ0YWY2ZWY4NmMw
MThiZTQ5MjNmY2FmZTY0MDc3NTUyNDM2ZTk1YjMuLjkyOTUyNTYzYWJlYmVjZGNhZGY3NTc5NzZj
YzQ0NzNlODBlNjM5NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAt
MTk0LDE1ICsxOTQsMTkgQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoKQog
ICAgICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmNhbmNlbEV2ZW50KHRoaXMpOwogCiAgICAg
ICAgIG1faW1hZ2UgPSBuZXdJbWFnZTsKLSAgICAgICAgbV9oYXNQZW5kaW5nQmVmb3JlTG9hZEV2
ZW50ID0gbmV3SW1hZ2U7CisgICAgICAgIGlmICghbV9lbGVtZW50LT5kb2N1bWVudCgpLT5pc0lt
YWdlRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIG1faGFzUGVuZGluZ0JlZm9yZUxvYWRFdmVudCA9
IG5ld0ltYWdlOwogICAgICAgICBtX2hhc1BlbmRpbmdMb2FkRXZlbnQgPSBuZXdJbWFnZTsKICAg
ICAgICAgbV9pbWFnZUNvbXBsZXRlID0gIW5ld0ltYWdlOwogCiAgICAgICAgIGlmIChuZXdJbWFn
ZSkgewotICAgICAgICAgICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCktPmhhc0xpc3RlbmVy
VHlwZShEb2N1bWVudDo6QkVGT1JFTE9BRF9MSVNURU5FUikgfHwgbV9lbGVtZW50LT5kb2N1bWVu
dCgpLT5pc0ltYWdlRG9jdW1lbnQoKSkKLSAgICAgICAgICAgICAgICBkaXNwYXRjaFBlbmRpbmdC
ZWZvcmVMb2FkRXZlbnQoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBiZWZv
cmVMb2FkRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29vbih0aGlzKTsKKyAgICAgICAgICAg
IGlmICghbV9lbGVtZW50LT5kb2N1bWVudCgpLT5pc0ltYWdlRG9jdW1lbnQoKSkgeworICAgICAg
ICAgICAgICAgIGlmICghbV9lbGVtZW50LT5kb2N1bWVudCgpLT5oYXNMaXN0ZW5lclR5cGUoRG9j
dW1lbnQ6OkJFRk9SRUxPQURfTElTVEVORVIpKQorICAgICAgICAgICAgICAgICAgICBkaXNwYXRj
aFBlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgICAgIGJlZm9yZUxvYWRFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRo
aXMpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXIo
KTsKIAogICAgICAgICAgICAgLy8gSWYgbmV3SW1hZ2UgaXMgY2FjaGVkLCBhZGRDbGllbnQoKSB3
aWxsIHJlc3VsdCBpbiB0aGUgbG9hZCBldmVudAogICAgICAgICAgICAgLy8gYmVpbmcgcXVldWVk
IHRvIGZpcmUuIEVuc3VyZSB0aGlzIGhhcHBlbnMgYWZ0ZXIgYmVmb3JlbG9hZCBpcwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142332</attachid>
            <date>2012-05-16 13:25:40 -0700</date>
            <delta_ts>2012-05-16 13:28:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86658-20120516132546.patch</filename>
            <type>text/plain</type>
            <size>2315</size>
            <attacher name="Vicki Pfau">jeffrey+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjA2MjExNzA1Y2FkOTM5
YzUzYmIzZDJlZmMwYjQyMzc5ODQyNjM1ZC4uNmI4YTIyMmRiYTA1ZmZkMzA1MDU4MjYzOGE4YWEw
YmMwMzUyMzQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTE2ICBKZWZm
cmV5IFBmYXUgIDxqcGZhdUBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBpbWFnZSBsb2FkaW5n
IGxvZ2ljIGhhcHBlbnMgaW4gYW4gdW5pbnR1aXRpdmUgYW5kIGluY29ycmVjdCBsb2NhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY2NTgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExNDY1ODYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZlbnQgZmxhZ3MgcmVnYXJkaW5nIHNlbmRpbmcg
YmVmb3JlbG9hZCBldmVudHMgZnJvbSBiZWluZyBzZXQgb24gSW1hZ2VEb2N1bWVudHMuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCk6CisKIDIw
MTItMDUtMTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgU2Nyb2xsYmFyIGxheWVycyBzaG91bGQgcmVzcGVjdCBhY2NlbGVyYXRlZCBkcmF3aW5nIHNl
dHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGQ0YWY2ZWY4NmMw
MThiZTQ5MjNmY2FmZTY0MDc3NTUyNDM2ZTk1YjMuLmY0YTlmZjUzNTEzMmY0Y2QzYTUyYWZkZmUy
YTU0MThiYjMyNDIxMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAt
MTk0LDE1ICsxOTQsMTggQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoKQog
ICAgICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmNhbmNlbEV2ZW50KHRoaXMpOwogCiAgICAg
ICAgIG1faW1hZ2UgPSBuZXdJbWFnZTsKLSAgICAgICAgbV9oYXNQZW5kaW5nQmVmb3JlTG9hZEV2
ZW50ID0gbmV3SW1hZ2U7CisgICAgICAgIG1faGFzUGVuZGluZ0JlZm9yZUxvYWRFdmVudCA9ICFt
X2VsZW1lbnQtPmRvY3VtZW50KCktPmlzSW1hZ2VEb2N1bWVudCgpICYmIG5ld0ltYWdlOwogICAg
ICAgICBtX2hhc1BlbmRpbmdMb2FkRXZlbnQgPSBuZXdJbWFnZTsKICAgICAgICAgbV9pbWFnZUNv
bXBsZXRlID0gIW5ld0ltYWdlOwogCiAgICAgICAgIGlmIChuZXdJbWFnZSkgewotICAgICAgICAg
ICAgaWYgKCFtX2VsZW1lbnQtPmRvY3VtZW50KCktPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6
QkVGT1JFTE9BRF9MSVNURU5FUikgfHwgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5pc0ltYWdlRG9j
dW1lbnQoKSkKLSAgICAgICAgICAgICAgICBkaXNwYXRjaFBlbmRpbmdCZWZvcmVMb2FkRXZlbnQo
KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBiZWZvcmVMb2FkRXZlbnRTZW5k
ZXIoKS5kaXNwYXRjaEV2ZW50U29vbih0aGlzKTsKKyAgICAgICAgICAgIGlmICghbV9lbGVtZW50
LT5kb2N1bWVudCgpLT5pc0ltYWdlRG9jdW1lbnQoKSkgeworICAgICAgICAgICAgICAgIGlmICgh
bV9lbGVtZW50LT5kb2N1bWVudCgpLT5oYXNMaXN0ZW5lclR5cGUoRG9jdW1lbnQ6OkJFRk9SRUxP
QURfTElTVEVORVIpKQorICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaFBlbmRpbmdCZWZvcmVM
b2FkRXZlbnQoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGJl
Zm9yZUxvYWRFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMpOworICAgICAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXIoKTsKIAogICAgICAgICAg
ICAgLy8gSWYgbmV3SW1hZ2UgaXMgY2FjaGVkLCBhZGRDbGllbnQoKSB3aWxsIHJlc3VsdCBpbiB0
aGUgbG9hZCBldmVudAogICAgICAgICAgICAgLy8gYmVpbmcgcXVldWVkIHRvIGZpcmUuIEVuc3Vy
ZSB0aGlzIGhhcHBlbnMgYWZ0ZXIgYmVmb3JlbG9hZCBpcwo=
</data>
<flag name="review"
          id="148625"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>