Changeset 172523 in webkit


Ignore:
Timestamp:
Aug 13, 2014, 10:24:34 AM (11 years ago)
Author:
eric.carlson@apple.com
Message:

Media document sends incorrect referer header
https://bugs.webkit.org/show_bug.cgi?id=135839

Reviewed by Jer Noble.

Source/WebCore:

Test: http/tests/media/media-document-referer.html

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::MediaDocumentParser): Stash referrer.
(WebCore::MediaDocumentParser::createDocumentStructure): Set outgoing referrer.
(WebCore::MediaDocument::MediaDocument): Stash referrer.

  • html/MediaDocument.h:

LayoutTests:

  • http/tests/media/media-document-referer-expected.txt: Added.
  • http/tests/media/media-document-referer.html: Added.
  • http/tests/media/resources/video-referer-check-referer.php: Take expected referer as a

parameter instead of hard coding it.

  • http/tests/media/video-referer.html: Pass referer to loader script.
Location:
trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r172522 r172523  
     12014-08-13  Eric Carlson  <eric.carlson@apple.com>
     2
     3        Media document sends incorrect referer header
     4        https://bugs.webkit.org/show_bug.cgi?id=135839
     5
     6        Reviewed by Jer Noble.
     7
     8        * http/tests/media/media-document-referer-expected.txt: Added.
     9        * http/tests/media/media-document-referer.html: Added.
     10        * http/tests/media/resources/video-referer-check-referer.php: Take expected referer as a
     11            parameter instead of hard coding it.
     12        * http/tests/media/video-referer.html: Pass referer to loader script.
     13
    1142014-08-13  Mihnea Ovidenie  <mihnea@adobe.com>
    215
  • trunk/LayoutTests/http/tests/media/resources/video-referer-check-referer.php

    r110095 r172523  
    11<?php
    22
    3     $refer = $_SERVER["HTTP_REFERER"];
    4     if (!isset($refer) || stripos($refer, "video-referer.html") === false)
     3    $requiredReferer = $_GET["referer"];
     4    $referHeader = $_SERVER["HTTP_REFERER"];
     5    if (!isset($referHeader) || stripos($referHeader, $requiredReferer) === false)
    56        die;
    67
  • trunk/LayoutTests/http/tests/media/video-referer.html

    r108762 r172523  
    1717        frame.addEventListener('load', function () {
    1818                source = document.getElementById('source');
    19                 source.src = 'http://127.0.0.1:8000/media/resources/video-referer-check-referer.php?name=' + movie + '&type=' + type;
     19                source.src = 'http://127.0.0.1:8000/media/resources/video-referer-check-referer.php?referer=video-referer.html&name=' + movie + '&type=' + type;
    2020                source.type = type;
    2121
  • trunk/Source/WebCore/ChangeLog

    r172517 r172523  
     12014-08-13  Eric Carlson  <eric.carlson@apple.com>
     2
     3        Media document sends incorrect referer header
     4        https://bugs.webkit.org/show_bug.cgi?id=135839
     5
     6        Reviewed by Jer Noble.
     7
     8        Test: http/tests/media/media-document-referer.html
     9
     10        * html/MediaDocument.cpp:
     11        (WebCore::MediaDocumentParser::MediaDocumentParser): Stash referrer.
     12        (WebCore::MediaDocumentParser::createDocumentStructure): Set outgoing referrer.
     13        (WebCore::MediaDocument::MediaDocument): Stash referrer.
     14        * html/MediaDocument.h:
     15
    1162014-08-13  Antti Koivisto  <antti@apple.com>
    217
  • trunk/Source/WebCore/html/MediaDocument.cpp

    r170827 r172523  
    5959   
    6060private:
    61     MediaDocumentParser(Document& document)
     61    MediaDocumentParser(MediaDocument& document)
    6262        : RawDataDocumentParser(document)
    6363        , m_mediaElement(0)
    6464    {
     65        m_outgoingReferrer = document.outgoingReferrer();
    6566    }
    6667
     
    7071
    7172    HTMLMediaElement* m_mediaElement;
     73    String m_outgoingReferrer;
    7274};
    7375   
     
    125127
    126128    frame->loader().activeDocumentLoader()->setMainResourceDataBufferingPolicy(DoNotBufferData);
     129    frame->loader().setOutgoingReferrer(frame->document()->completeURL(m_outgoingReferrer));
    127130}
    128131
     
    142145    setCompatibilityMode(DocumentCompatibilityMode::QuirksMode);
    143146    lockCompatibilityMode();
     147    if (frame)
     148        m_outgoingReferrer = frame->loader().outgoingReferrer();
    144149}
    145150
  • trunk/Source/WebCore/html/MediaDocument.h

    r162180 r172523  
    4242
    4343    void mediaElementSawUnsupportedTracks();
     44    String outgoingReferrer() const { return m_outgoingReferrer; }
    4445
    4546private:
     
    5354
    5455    Timer<MediaDocument> m_replaceMediaElementTimer;
     56    String m_outgoingReferrer;
    5557};
    5658
Note: See TracChangeset for help on using the changeset viewer.