<?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>102586</bug_id>
          
          <creation_ts>2012-11-17 05:16:53 -0800</creation_ts>
          <short_desc>[GTK] media/video-src-blob.html</short_desc>
          <delta_ts>2013-10-08 01:06:27 -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>WebKitGTK</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>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769938</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-17 05:16:53 -0800</bug_when>
    <thetext>The test is failing since it has been introduced in r134802.
http://trac.webkit.org/changeset/134802

Here&apos;s the diff:
--- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/media/video-src-blob-expected.txt 
+++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/media/video-src-blob-actual.txt 
@@ -1,5 +1,5 @@
 This tests the ability of the &lt;video&gt; element to load blob URLs. In the browser, select a video file: 
 EVENT(change)
-EVENT(loadedmetadata)
+EVENT(error) TEST(false) FAIL
 END OF TEST</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909370</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-17 10:24:46 -0700</bug_when>
    <thetext>Now that we use the SubresourceLoder to load videos this should be easy to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909371</commentid>
    <comment_count>2</comment_count>
      <attachid>206897</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-17 10:25:17 -0700</bug_when>
    <thetext>Created attachment 206897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909381</commentid>
    <comment_count>3</comment_count>
      <attachid>206897</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-17 10:36:46 -0700</bug_when>
    <thetext>Comment on attachment 206897
Patch

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

Looks good to me. Great work! Just a couple questions...

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:465
&gt; +        DataBufferingPolicy bufferingPolicy = url.protocolIs(&quot;blob&quot;) ? BufferData : DoNotBufferData;
&gt; +        CachedResourceRequest cacheRequest(request, ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, bufferingPolicy, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType));
&gt;          priv-&gt;resource = loader-&gt;requestRawResource(cacheRequest);

Why is it useful to buffer data that is already in memory on the client side?

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:605
&gt; +    if (!url.isValid() || (!url.protocolIsInHTTPFamily() &amp;&amp; !url.protocolIs(&quot;blob&quot;))) {

I think this could be a helper. Something like urlIsValidAndHasSupportedProtocol or just urlHasSupportedProtocol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909385</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-17 10:46:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 206897 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206897&amp;action=review
&gt; 
&gt; Looks good to me. Great work! Just a couple questions...

Thanks!

&gt; &gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:465
&gt; &gt; +        DataBufferingPolicy bufferingPolicy = url.protocolIs(&quot;blob&quot;) ? BufferData : DoNotBufferData;
&gt; &gt; +        CachedResourceRequest cacheRequest(request, ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, bufferingPolicy, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType));
&gt; &gt;          priv-&gt;resource = loader-&gt;requestRawResource(cacheRequest);
&gt; 
&gt; Why is it useful to buffer data that is already in memory on the client side?

Because when buffered it can be cached, I think. I followed what apple does, TBH.

&gt; &gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:605
&gt; &gt; +    if (!url.isValid() || (!url.protocolIsInHTTPFamily() &amp;&amp; !url.protocolIs(&quot;blob&quot;))) {
&gt; 
&gt; I think this could be a helper. Something like urlIsValidAndHasSupportedProtocol or just urlHasSupportedProtocol.

I did it indeed :-) but in the end it looked too much code for a simple check and moved back to the current patch, I&apos;ll add the helper function since it makes the code easier to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915438</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-08-08 07:55:23 -0700</bug_when>
    <thetext>LGTM but yeah that helper function would be good to have indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926798</commentid>
    <comment_count>6</comment_count>
      <attachid>206897</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-09 11:04:43 -0700</bug_when>
    <thetext>Comment on attachment 206897
Patch

Looks good. Consider the helper when landing. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937443</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-08 01:06:27 -0700</bug_when>
    <thetext>Committed r157091: &lt;http://trac.webkit.org/changeset/157091&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206897</attachid>
            <date>2013-07-17 10:25:17 -0700</date>
            <delta_ts>2013-09-09 11:04:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-gst-blob.diff</filename>
            <type>text/plain</type>
            <size>5039</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNGVkNGQwLi4yMzZjMDA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDct
MTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAg
IFtHVEtdIG1lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6
IFVuc2tpcAorICAgICAgICBtZWRpYS92aWRlby1zcmMtYmxvYi5odG1sLgorCiAyMDEzLTA3LTE3
ICBGcsOpZMOpcmljIFdhbmcgIDxmcmVkLndhbmdAZnJlZS5mcj4KIAogICAgICAgICBSZXBsYWNl
IE1hdGhNTCBwaXhlbCB0ZXN0cyBieSByZWZ0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODZkODhiZS4uYjJiYmQ1MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNDYsOCArMTI0Niw2IEBAIHdlYmtp
dC5vcmcvYi8xMDE1MzkgZWRpdGluZy9leGVjQ29tbWFuZC9zd2l0Y2gtbGlzdC10eXBlLXdpdGgt
b3JwaGFuZWQtbGkuaHRtbCBbCiB3ZWJraXQub3JnL2IvMTAyMzQ5IGZhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1hbmNob3IuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzEwMjM0OSBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWVuYWJsZWQtYXJlYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8x
MDI1ODYgbWVkaWEvdmlkZW8tc3JjLWJsb2IuaHRtbCBbIEZhaWx1cmUgXQotCiAjIEZpeCBmb3Ig
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTkyIGludHJvZHVjZXMg
dGhlc2UgcmVncmVzc2lvbnMKIHdlYmtpdC5vcmcvYi8xMDI3NzYgd2Via2l0Lm9yZy9iLzEwMjk5
MyBtZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1yZXBhaW50Lmh0bWwgWyBGYWlsdXJlIFRpbWVv
dXQgXQogd2Via2l0Lm9yZy9iLzEwMjc3NiBtZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5n
LWhvcml6b250YWwuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDczMzdjMDAuLjdhNzE1
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNCBAQAogMjAxMy0wNy0xNyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKKworICAgICAgICBbR1RLXSBtZWRpYS92
aWRlby1zcmMtYmxvYi5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI1ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgbG9hZGluZyB2aWRlb3MgdXNpbmcgYmxvYiBVUkxz
LgorCisgICAgICAgIEZpeGVzIG1lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWwuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNw
cDoKKyAgICAgICAgKHdlYktpdFdlYlNyY1N0YXJ0KTogVXNlIEJ1ZmZlckRhdGEgYnVmZmVyaW5n
IHBvbGljeSBmb3IgYmxvYgorICAgICAgICBVUkxzLgorICAgICAgICAod2ViS2l0V2ViU3JjR2V0
UHJvdG9jb2xzKTogQWRkIGJsb2IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkCisgICAgICAgIHBy
b3RvY29scy4KKyAgICAgICAgKHdlYktpdFdlYlNyY1NldFVyaSk6IENvbnNpZGVyIGJsb2IgVVJM
cyBhcyB2YWxpZC4KKworMjAxMy0wNy0xNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CisKICAgICAgICAgW0dTdHJlYW1lcl0gd2Via2l0d2Vic3JjOiB1c2UgU3Vi
UmVzb3VyY2VMb2FkZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNzQzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5j
cHAKaW5kZXggNjk2NGQ2MS4uNmE1ZjkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNv
dXJjZUdTdHJlYW1lci5jcHAKQEAgLTQ2MCw3ICs0NjAsOCBAQCBzdGF0aWMgYm9vbCB3ZWJLaXRX
ZWJTcmNTdGFydChXZWJLaXRXZWJTcmMqIHNyYykKICAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJG
aWVsZCgidHJhbnNmZXJNb2RlLmRsbmEiLCAiU3RyZWFtaW5nIik7CiAKICAgICBpZiAoQ2FjaGVk
UmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHByaXYtPnBsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoKSkgewotICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgY2FjaGVSZXF1ZXN0KHJlcXVl
c3QsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBEb05vdFNuaWZmQ29udGVu
dCwgRG9Ob3RCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNr
Q2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZh
dWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOworICAgICAgICBEYXRhQnVmZmVyaW5nUG9s
aWN5IGJ1ZmZlcmluZ1BvbGljeSA9IHVybC5wcm90b2NvbElzKCJibG9iIikgPyBCdWZmZXJEYXRh
IDogRG9Ob3RCdWZmZXJEYXRhOworICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgY2FjaGVS
ZXF1ZXN0KHJlcXVlc3QsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBEb05v
dFNuaWZmQ29udGVudCwgYnVmZmVyaW5nUG9saWN5LCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlh
bHMsIERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNo
ZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOwogICAgICAgICBwcml2
LT5yZXNvdXJjZSA9IGxvYWRlci0+cmVxdWVzdFJhd1Jlc291cmNlKGNhY2hlUmVxdWVzdCk7CiAg
ICAgICAgIGlmIChwcml2LT5yZXNvdXJjZSkgewogICAgICAgICAgICAgcHJpdi0+Y2xpZW50ID0g
bmV3IFN0cmVhbWluZ0NsaWVudChzcmMpOwpAQCAtNTc0LDcgKzU3NSw3IEBAIHN0YXRpYyBHc3RV
UklUeXBlIHdlYktpdFdlYlNyY1VyaUdldFR5cGUoR1R5cGUpCiAKIGNvbnN0IGdjaGFyKiBjb25z
dCogd2ViS2l0V2ViU3JjR2V0UHJvdG9jb2xzKEdUeXBlKQogewotICAgIHN0YXRpYyBjb25zdCBj
aGFyKiBwcm90b2NvbHNbXSA9IHsiaHR0cCIsICJodHRwcyIsIDAgfTsKKyAgICBzdGF0aWMgY29u
c3QgY2hhciogcHJvdG9jb2xzW10gPSB7Imh0dHAiLCAiaHR0cHMiLCAiYmxvYiIsIDAgfTsKICAg
ICByZXR1cm4gcHJvdG9jb2xzOwogfQogCkBAIC02MDEsNyArNjAyLDcgQEAgc3RhdGljIGdib29s
ZWFuIHdlYktpdFdlYlNyY1NldFVyaShHc3RVUklIYW5kbGVyKiBoYW5kbGVyLCBjb25zdCBnY2hh
ciogdXJpLCBHRXIKIAogICAgIEtVUkwgdXJsKEtVUkwoKSwgdXJpKTsKIAotICAgIGlmICghdXJs
LmlzVmFsaWQoKSB8fCAhdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgeworICAgIGlmICgh
dXJsLmlzVmFsaWQoKSB8fCAoIXVybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgJiYgIXVybC5w
cm90b2NvbElzKCJibG9iIikpKSB7CiAgICAgICAgIGdfc2V0X2Vycm9yKGVycm9yLCBHU1RfVVJJ
X0VSUk9SLCBHU1RfVVJJX0VSUk9SX0JBRF9VUkksICJJbnZhbGlkIFVSSSAnJXMnIiwgdXJpKTsK
ICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgIH0KQEAgLTYxOCw3ICs2MTksNyBAQCBzdGF0aWMg
R3N0VVJJVHlwZSB3ZWJLaXRXZWJTcmNVcmlHZXRUeXBlKHZvaWQpCiAKIHN0YXRpYyBnY2hhcioq
IHdlYktpdFdlYlNyY0dldFByb3RvY29scyh2b2lkKQogewotICAgIHN0YXRpYyBnY2hhciogcHJv
dG9jb2xzW10gPSB7KGdjaGFyKikgImh0dHAiLCAoZ2NoYXIqKSAiaHR0cHMiLCAwIH07CisgICAg
c3RhdGljIGdjaGFyKiBwcm90b2NvbHNbXSA9IHsoZ2NoYXIqKSAiaHR0cCIsIChnY2hhciopICJo
dHRwcyIsIChnY2hhciopICJibG9iIiwgMCB9OwogICAgIHJldHVybiBwcm90b2NvbHM7CiB9CiAK
QEAgLTY0NSw3ICs2NDYsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0V2ViU3JjU2V0VXJpKEdz
dFVSSUhhbmRsZXIqIGhhbmRsZXIsIGNvbnN0IGdjaGFyKiB1cmkpCiAKICAgICBLVVJMIHVybChL
VVJMKCksIHVyaSk7CiAKLSAgICBpZiAoIXVybC5pc1ZhbGlkKCkgfHwgIXVybC5wcm90b2NvbElz
SW5IVFRQRmFtaWx5KCkpIHsKKyAgICBpZiAoIXVybC5pc1ZhbGlkKCkgfHwgKCF1cmwucHJvdG9j
b2xJc0luSFRUUEZhbWlseSgpICYmICF1cmwucHJvdG9jb2xJcygiYmxvYiIpKSkgewogICAgICAg
ICBHU1RfRVJST1JfT0JKRUNUKHNyYywgIkludmFsaWQgVVJJICclcyciLCB1cmkpOwogICAgICAg
ICByZXR1cm4gRkFMU0U7CiAgICAgfQo=
</data>
<flag name="review"
          id="228643"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>