| 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 "config.h" | 5 #include "config.h" |
| 6 #include "webkit/glue/webkit_glue.h" | 6 #include "webkit/glue/webkit_glue.h" |
| 7 | 7 |
| 8 #if defined(OS_WIN) | 8 #if defined(OS_WIN) |
| 9 #include <objidl.h> | 9 #include <objidl.h> |
| 10 #include <mlang.h> | 10 #include <mlang.h> |
| 11 #elif defined(OS_LINUX) || defined(OS_FREEBSD) | 11 #elif defined(OS_POSIX) && !defined(OS_MACOSX) |
| 12 #include <sys/utsname.h> | 12 #include <sys/utsname.h> |
| 13 #endif | 13 #endif |
| 14 | 14 |
| 15 #include "BackForwardList.h" | 15 #include "BackForwardList.h" |
| 16 #include "Document.h" | 16 #include "Document.h" |
| 17 #include "FrameTree.h" | 17 #include "FrameTree.h" |
| 18 #include "FrameView.h" | 18 #include "FrameView.h" |
| 19 #include "Frame.h" | 19 #include "Frame.h" |
| 20 #include "GlyphPageTreeNode.h" | 20 #include "GlyphPageTreeNode.h" |
| 21 #include "HistoryItem.h" | 21 #include "HistoryItem.h" |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 std::string os_cpu; | 361 std::string os_cpu; |
| 362 | 362 |
| 363 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) | 363 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) |
| 364 int32 os_major_version = 0; | 364 int32 os_major_version = 0; |
| 365 int32 os_minor_version = 0; | 365 int32 os_minor_version = 0; |
| 366 int32 os_bugfix_version = 0; | 366 int32 os_bugfix_version = 0; |
| 367 base::SysInfo::OperatingSystemVersionNumbers(&os_major_version, | 367 base::SysInfo::OperatingSystemVersionNumbers(&os_major_version, |
| 368 &os_minor_version, | 368 &os_minor_version, |
| 369 &os_bugfix_version); | 369 &os_bugfix_version); |
| 370 #endif | 370 #endif |
| 371 #if !defined(OS_WIN) && !defined(OS_MACOSX) | 371 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 372 // Should work on any Posix system. | 372 // Should work on any Posix system. |
| 373 struct utsname unixinfo; | 373 struct utsname unixinfo; |
| 374 uname(&unixinfo); | 374 uname(&unixinfo); |
| 375 | 375 |
| 376 std::string cputype; | 376 std::string cputype; |
| 377 // special case for biarch systems | 377 // special case for biarch systems |
| 378 if (strcmp(unixinfo.machine, "x86_64") == 0 && | 378 if (strcmp(unixinfo.machine, "x86_64") == 0 && |
| 379 sizeof(void*) == sizeof(int32)) { | 379 sizeof(void*) == sizeof(int32)) { |
| 380 cputype.assign("i686 (x86_64)"); | 380 cputype.assign("i686 (x86_64)"); |
| 381 } else { | 381 } else { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 // The other parameters are workarounds for broken websites: | 414 // The other parameters are workarounds for broken websites: |
| 415 // - If mimic_chrome1 is true, produce a fake Chrome 1 string. | 415 // - If mimic_chrome1 is true, produce a fake Chrome 1 string. |
| 416 // - If mimic_windows is true, produce a fake Windows Chrome string. | 416 // - If mimic_windows is true, produce a fake Windows Chrome string. |
| 417 void BuildUserAgent(bool mimic_chrome1, bool mimic_windows, | 417 void BuildUserAgent(bool mimic_chrome1, bool mimic_windows, |
| 418 std::string* result) { | 418 std::string* result) { |
| 419 const char kUserAgentPlatform[] = | 419 const char kUserAgentPlatform[] = |
| 420 #if defined(OS_WIN) | 420 #if defined(OS_WIN) |
| 421 "Windows"; | 421 "Windows"; |
| 422 #elif defined(OS_MACOSX) | 422 #elif defined(OS_MACOSX) |
| 423 "Macintosh"; | 423 "Macintosh"; |
| 424 #elif defined(OS_LINUX) | 424 #elif defined(USE_X11) |
| 425 "X11"; // strange, but that's what Firefox uses | 425 "X11"; // strange, but that's what Firefox uses |
| 426 #else | 426 #else |
| 427 "?"; | 427 "?"; |
| 428 #endif | 428 #endif |
| 429 | 429 |
| 430 const char kUserAgentSecurity = 'U'; // "US" strength encryption | 430 const char kUserAgentSecurity = 'U'; // "US" strength encryption |
| 431 | 431 |
| 432 // TODO(port): figure out correct locale | 432 // TODO(port): figure out correct locale |
| 433 const char kUserAgentLocale[] = "en-US"; | 433 const char kUserAgentLocale[] = "en-US"; |
| 434 | 434 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 492 if (MatchPatternASCII(url.host(), "*.pointroll.com")) { | 492 if (MatchPatternASCII(url.host(), "*.pointroll.com")) { |
| 493 // For cnn.com, which uses pointroll.com to serve their front door promo, | 493 // For cnn.com, which uses pointroll.com to serve their front door promo, |
| 494 // we must spoof Chrome 1.0 in order to avoid a blank page. | 494 // we must spoof Chrome 1.0 in order to avoid a blank page. |
| 495 // http://crbug.com/25934 | 495 // http://crbug.com/25934 |
| 496 // TODO(dglazkov): Remove this once CNN's front door promo is | 496 // TODO(dglazkov): Remove this once CNN's front door promo is |
| 497 // over or when pointroll fixes their sniffing. | 497 // over or when pointroll fixes their sniffing. |
| 498 if (g_user_agent->mimic_chrome1_user_agent.empty()) | 498 if (g_user_agent->mimic_chrome1_user_agent.empty()) |
| 499 BuildUserAgent(true, false, &g_user_agent->mimic_chrome1_user_agent); | 499 BuildUserAgent(true, false, &g_user_agent->mimic_chrome1_user_agent); |
| 500 return g_user_agent->mimic_chrome1_user_agent; | 500 return g_user_agent->mimic_chrome1_user_agent; |
| 501 } | 501 } |
| 502 #if defined(OS_LINUX) | 502 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 503 else if (MatchPatternASCII(url.host(), "*.mail.yahoo.com")) { | 503 else if (MatchPatternASCII(url.host(), "*.mail.yahoo.com")) { |
| 504 // mail.yahoo.com is ok with Windows Chrome but not Linux Chrome. | 504 // mail.yahoo.com is ok with Windows Chrome but not Linux Chrome. |
| 505 // http://bugs.chromium.org/11136 | 505 // http://bugs.chromium.org/11136 |
| 506 // TODO(evanm): remove this if Yahoo fixes their sniffing. | 506 // TODO(evanm): remove this if Yahoo fixes their sniffing. |
| 507 if (g_user_agent->mimic_windows_user_agent.empty()) | 507 if (g_user_agent->mimic_windows_user_agent.empty()) |
| 508 BuildUserAgent(false, true, &g_user_agent->mimic_windows_user_agent); | 508 BuildUserAgent(false, true, &g_user_agent->mimic_windows_user_agent); |
| 509 return g_user_agent->mimic_windows_user_agent; | 509 return g_user_agent->mimic_windows_user_agent; |
| 510 } | 510 } |
| 511 #endif | 511 #endif |
| 512 } | 512 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 | 545 |
| 546 bool IsMediaCacheEnabled() { | 546 bool IsMediaCacheEnabled() { |
| 547 return g_enable_media_cache; | 547 return g_enable_media_cache; |
| 548 } | 548 } |
| 549 | 549 |
| 550 void SetMediaCacheEnabled(bool enabled) { | 550 void SetMediaCacheEnabled(bool enabled) { |
| 551 g_enable_media_cache = enabled; | 551 g_enable_media_cache = enabled; |
| 552 } | 552 } |
| 553 | 553 |
| 554 } // namespace webkit_glue | 554 } // namespace webkit_glue |
| OLD | NEW |