| OLD | NEW | 
|    1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2006-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 <windows.h> |    5 #include <windows.h> | 
|    6 #include <atlsecurity.h> |    6 #include <atlsecurity.h> | 
|    7 #include <shellapi.h> |    7 #include <shellapi.h> | 
|    8  |    8  | 
|    9 #include "base/basictypes.h" |    9 #include "base/basictypes.h" | 
|   10 #include "base/file_util.h" |   10 #include "base/file_util.h" | 
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  302 } |  302 } | 
|  303  |  303  | 
|  304 TEST_F(HtmlUtilUnittest, GetChromeFrameUserAgent) { |  304 TEST_F(HtmlUtilUnittest, GetChromeFrameUserAgent) { | 
|  305   const char* call1 = http_utils::GetChromeFrameUserAgent(); |  305   const char* call1 = http_utils::GetChromeFrameUserAgent(); | 
|  306   const char* call2 = http_utils::GetChromeFrameUserAgent(); |  306   const char* call2 = http_utils::GetChromeFrameUserAgent(); | 
|  307   // Expect static buffer since caller does no cleanup. |  307   // Expect static buffer since caller does no cleanup. | 
|  308   EXPECT_EQ(call1, call2); |  308   EXPECT_EQ(call1, call2); | 
|  309   std::string ua(call1); |  309   std::string ua(call1); | 
|  310   EXPECT_EQ("chromeframe/0.0", ua); |  310   EXPECT_EQ("chromeframe/0.0", ua); | 
|  311 } |  311 } | 
 |  312  | 
 |  313 TEST(HttpUtils, HasFrameBustingHeader) { | 
 |  314   // Simple negative cases. | 
 |  315   EXPECT_FALSE(http_utils::HasFrameBustingHeader("")); | 
 |  316   EXPECT_FALSE(http_utils::HasFrameBustingHeader("Content-Type: text/plain")); | 
 |  317   // Explicit negative cases, test that we ignore case. | 
 |  318   EXPECT_FALSE(http_utils::HasFrameBustingHeader("X-Frame-Options: ALLOWALL")); | 
 |  319   EXPECT_FALSE(http_utils::HasFrameBustingHeader("X-Frame-Options: allowall")); | 
 |  320   EXPECT_FALSE(http_utils::HasFrameBustingHeader("X-Frame-Options: ALLowalL")); | 
 |  321   // Added space, ensure stripped out | 
 |  322   EXPECT_FALSE(http_utils::HasFrameBustingHeader( | 
 |  323     "X-Frame-Options: ALLOWALL ")); | 
 |  324   // Added space with linefeed, ensure still stripped out | 
 |  325   EXPECT_FALSE(http_utils::HasFrameBustingHeader( | 
 |  326     "X-Frame-Options: ALLOWALL \r\n")); | 
 |  327   // Multiple identical headers, all of them allowing framing. | 
 |  328   EXPECT_FALSE(http_utils::HasFrameBustingHeader( | 
 |  329     "X-Frame-Options: ALLOWALL\r\n" | 
 |  330     "X-Frame-Options: ALLOWALL\r\n" | 
 |  331     "X-Frame-Options: ALLOWALL")); | 
 |  332   // Interleave with other headers. | 
 |  333   EXPECT_FALSE(http_utils::HasFrameBustingHeader( | 
 |  334     "Content-Type: text/plain\r\n" | 
 |  335     "X-Frame-Options: ALLOWALL\r\n" | 
 |  336     "Content-Length: 42")); | 
 |  337  | 
 |  338   // Simple positive cases. | 
 |  339   EXPECT_TRUE(http_utils::HasFrameBustingHeader("X-Frame-Options: deny")); | 
 |  340   EXPECT_TRUE(http_utils::HasFrameBustingHeader( | 
 |  341     "X-Frame-Options: SAMEorigin")); | 
 |  342  | 
 |  343   // Allowall entries do not override the denying entries, are | 
 |  344   // order-independent, and the deny entries can interleave with | 
 |  345   // other headers. | 
 |  346   EXPECT_TRUE(http_utils::HasFrameBustingHeader( | 
 |  347     "Content-Length: 42\r\n" | 
 |  348     "X-Frame-Options: ALLOWall\r\n" | 
 |  349     "X-Frame-Options: deny\r\n")); | 
 |  350   EXPECT_TRUE(http_utils::HasFrameBustingHeader( | 
 |  351     "X-Frame-Options: ALLOWall\r\n" | 
 |  352     "Content-Length: 42\r\n" | 
 |  353     "X-Frame-Options: SAMEORIGIN\r\n")); | 
 |  354   EXPECT_TRUE(http_utils::HasFrameBustingHeader( | 
 |  355     "X-Frame-Options: deny\r\n" | 
 |  356     "X-Frame-Options: ALLOWall\r\n" | 
 |  357     "Content-Length: 42\r\n")); | 
 |  358   EXPECT_TRUE(http_utils::HasFrameBustingHeader( | 
 |  359     "X-Frame-Options: SAMEORIGIN\r\n" | 
 |  360     "X-Frame-Options: ALLOWall\r\n")); | 
 |  361 } | 
 |  362  | 
 |  363  | 
| OLD | NEW |