| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome_frame/urlmon_url_request.h" | 5 #include "chrome_frame/urlmon_url_request.h" |
| 6 | 6 |
| 7 #include <wininet.h> | 7 #include <wininet.h> |
| 8 #include <urlmon.h> | 8 #include <urlmon.h> |
| 9 | 9 |
| 10 #include "base/scoped_ptr.h" | 10 #include "base/scoped_ptr.h" |
| (...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 // hosted as iframes. For NPAPI and ActiveX documents, the Initialize() | 490 // hosted as iframes. For NPAPI and ActiveX documents, the Initialize() |
| 491 // function of the PluginUrlRequest object allows them to specify how they'd | 491 // function of the PluginUrlRequest object allows them to specify how they'd |
| 492 // like requests handled. Both should set enable_frame_busting_ to true to | 492 // like requests handled. Both should set enable_frame_busting_ to true to |
| 493 // avoid CSRF attacks. Should WebKit's handling of this ever change, we will | 493 // avoid CSRF attacks. Should WebKit's handling of this ever change, we will |
| 494 // need to re-visit how and when frames are killed to better mirror a policy | 494 // need to re-visit how and when frames are killed to better mirror a policy |
| 495 // which may do something other than kill the sub-document outright. | 495 // which may do something other than kill the sub-document outright. |
| 496 | 496 |
| 497 // NOTE(slightlyoff): We don't use net::HttpResponseHeaders here because | 497 // NOTE(slightlyoff): We don't use net::HttpResponseHeaders here because |
| 498 // of lingering ICU/base_noicu issues. | 498 // of lingering ICU/base_noicu issues. |
| 499 if (enable_frame_busting_) { | 499 if (enable_frame_busting_) { |
| 500 std::string http_headers = net::HttpUtil::AssembleRawHeaders( | 500 if (http_utils::HasFrameBustingHeader(raw_headers)) { |
| 501 raw_headers.c_str(), raw_headers.length()); | |
| 502 if (http_utils::HasFrameBustingHeader(http_headers)) { | |
| 503 DLOG(ERROR) << "X-Frame-Options header other than ALLOWALL " << | 501 DLOG(ERROR) << "X-Frame-Options header other than ALLOWALL " << |
| 504 "detected, navigation canceled"; | 502 "detected, navigation canceled"; |
| 505 return E_FAIL; | 503 return E_FAIL; |
| 506 } | 504 } |
| 507 } | 505 } |
| 508 | 506 |
| 509 DLOG(INFO) << "Calling OnResponseStarted"; | 507 DLOG(INFO) << "Calling OnResponseStarted"; |
| 510 | 508 |
| 511 // Inform the delegate. | 509 // Inform the delegate. |
| 512 headers_received_ = true; | 510 headers_received_ = true; |
| (...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1116 privacy_entry.flags |= flags; | 1114 privacy_entry.flags |= flags; |
| 1117 privacy_entry.policy_ref = UTF8ToWide(policy_ref); | 1115 privacy_entry.policy_ref = UTF8ToWide(policy_ref); |
| 1118 } | 1116 } |
| 1119 | 1117 |
| 1120 if (fire_privacy_event && IsWindow(notification_window_)) { | 1118 if (fire_privacy_event && IsWindow(notification_window_)) { |
| 1121 PostMessage(notification_window_, WM_FIRE_PRIVACY_CHANGE_NOTIFICATION, 1, | 1119 PostMessage(notification_window_, WM_FIRE_PRIVACY_CHANGE_NOTIFICATION, 1, |
| 1122 0); | 1120 0); |
| 1123 } | 1121 } |
| 1124 } | 1122 } |
| 1125 | 1123 |
| OLD | NEW |