| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 | 75 |
| 76 PassRefPtr<Prerender> Prerenderer::render(PrerenderClient* prerenderClient, cons
t KURL& url) | 76 PassRefPtr<Prerender> Prerenderer::render(PrerenderClient* prerenderClient, cons
t KURL& url) |
| 77 { | 77 { |
| 78 // Prerenders are unlike requests in most ways (for instance, they pass down
fragments, and they don't return data), | 78 // Prerenders are unlike requests in most ways (for instance, they pass down
fragments, and they don't return data), |
| 79 // but they do have referrers. | 79 // but they do have referrers. |
| 80 const ReferrerPolicy referrerPolicy = document()->referrerPolicy(); | 80 const ReferrerPolicy referrerPolicy = document()->referrerPolicy(); |
| 81 | 81 |
| 82 if (!document()->frame()) | 82 if (!document()->frame()) |
| 83 return 0; | 83 return 0; |
| 84 | 84 |
| 85 const String referrer = SecurityPolicy::generateReferrerHeader(referrerPolic
y, url, document()->frame()->loader()->outgoingReferrer()); | 85 const String referrer = SecurityPolicy::generateReferrerHeader(referrerPolic
y, url, document()->frame()->loader().outgoingReferrer()); |
| 86 | 86 |
| 87 RefPtr<Prerender> prerender = Prerender::create(prerenderClient, url, referr
er, referrerPolicy); | 87 RefPtr<Prerender> prerender = Prerender::create(prerenderClient, url, referr
er, referrerPolicy); |
| 88 | 88 |
| 89 if (client()) | 89 if (client()) |
| 90 client()->willAddPrerender(prerender.get()); | 90 client()->willAddPrerender(prerender.get()); |
| 91 prerender->add(); | 91 prerender->add(); |
| 92 | 92 |
| 93 // FIXME: This prerender isn't released until page unload, but it may be can
celed before then. It should be released in that case. | 93 // FIXME: This prerender isn't released until page unload, but it may be can
celed before then. It should be released in that case. |
| 94 m_activePrerenders.append(prerender); | 94 m_activePrerenders.append(prerender); |
| 95 return prerender; | 95 return prerender; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 115 if (!m_initializedClient) { | 115 if (!m_initializedClient) { |
| 116 // We can't initialize the client in our contructor, because the platfor
m might not have | 116 // We can't initialize the client in our contructor, because the platfor
m might not have |
| 117 // provided our supplement by then. | 117 // provided our supplement by then. |
| 118 m_initializedClient = true; | 118 m_initializedClient = true; |
| 119 m_client = PrerendererClient::from(document()->page()); | 119 m_client = PrerendererClient::from(document()->page()); |
| 120 } | 120 } |
| 121 return m_client; | 121 return m_client; |
| 122 } | 122 } |
| 123 | 123 |
| 124 } | 124 } |
| OLD | NEW |