OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Simon Hausmann <hausmann@kde.org> | 4 * (C) 2000 Simon Hausmann <hausmann@kde.org> |
5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
6 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 6 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 ResourceRequest request(completedURL); | 377 ResourceRequest request(completedURL); |
378 if (prefetchEventHandler()->hasIssuedPreconnect()) | 378 if (prefetchEventHandler()->hasIssuedPreconnect()) |
379 frame->loader().client()->dispatchWillRequestAfterPreconnect(request); | 379 frame->loader().client()->dispatchWillRequestAfterPreconnect(request); |
380 if (hasAttribute(downloadAttr)) { | 380 if (hasAttribute(downloadAttr)) { |
381 if (!hasRel(RelationNoReferrer)) { | 381 if (!hasRel(RelationNoReferrer)) { |
382 String referrer = SecurityPolicy::generateReferrerHeader(document().
referrerPolicy(), completedURL, document().outgoingReferrer()); | 382 String referrer = SecurityPolicy::generateReferrerHeader(document().
referrerPolicy(), completedURL, document().outgoingReferrer()); |
383 if (!referrer.isEmpty()) | 383 if (!referrer.isEmpty()) |
384 request.setHTTPReferrer(Referrer(referrer, document().referrerPo
licy())); | 384 request.setHTTPReferrer(Referrer(referrer, document().referrerPo
licy())); |
385 } | 385 } |
386 | 386 |
387 bool isSameOrigin = document().securityOrigin()->canRequest(completedURL
); | 387 bool isSameOrigin = completedURL.protocolIsData() || document().security
Origin()->canRequest(completedURL); |
388 const AtomicString& suggestedName = (isSameOrigin ? fastGetAttribute(dow
nloadAttr) : nullAtom); | 388 const AtomicString& suggestedName = (isSameOrigin ? fastGetAttribute(dow
nloadAttr) : nullAtom); |
389 | 389 |
390 frame->loader().client()->loadURLExternally(request, NavigationPolicyDow
nload, suggestedName); | 390 frame->loader().client()->loadURLExternally(request, NavigationPolicyDow
nload, suggestedName); |
391 } else { | 391 } else { |
392 FrameLoadRequest frameRequest(&document(), request, target()); | 392 FrameLoadRequest frameRequest(&document(), request, target()); |
393 frameRequest.setTriggeringEvent(event); | 393 frameRequest.setTriggeringEvent(event); |
394 if (hasRel(RelationNoReferrer)) | 394 if (hasRel(RelationNoReferrer)) |
395 frameRequest.setShouldSendReferrer(NeverSendReferrer); | 395 frameRequest.setShouldSendReferrer(NeverSendReferrer); |
396 frame->loader().load(frameRequest); | 396 frame->loader().load(frameRequest); |
397 } | 397 } |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 return isLink(); | 584 return isLink(); |
585 } | 585 } |
586 | 586 |
587 void HTMLAnchorElement::trace(Visitor* visitor) | 587 void HTMLAnchorElement::trace(Visitor* visitor) |
588 { | 588 { |
589 visitor->trace(m_prefetchEventHandler); | 589 visitor->trace(m_prefetchEventHandler); |
590 HTMLElement::trace(visitor); | 590 HTMLElement::trace(visitor); |
591 } | 591 } |
592 | 592 |
593 } | 593 } |
OLD | NEW |