| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #ifndef CHROME_FRAME_UTILS_H_ | 5 #ifndef CHROME_FRAME_UTILS_H_ |
| 6 #define CHROME_FRAME_UTILS_H_ | 6 #define CHROME_FRAME_UTILS_H_ |
| 7 | 7 |
| 8 #include <OAidl.h> | 8 #include <OAidl.h> |
| 9 #include <windows.h> | 9 #include <windows.h> |
| 10 #include <ExDisp.h> |
| 10 #include <wininet.h> | 11 #include <wininet.h> |
| 11 | 12 |
| 12 #include <string> | 13 #include <string> |
| 13 #include <vector> | 14 #include <vector> |
| 14 | 15 |
| 15 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
| 16 #include "base/lock.h" | 17 #include "base/lock.h" |
| 17 #include "base/logging.h" | 18 #include "base/logging.h" |
| 18 #include "base/metrics/histogram.h" | 19 #include "base/metrics/histogram.h" |
| 19 #include "base/thread.h" | 20 #include "base/thread.h" |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 557 bool attach_to_external_tab_; | 558 bool attach_to_external_tab_; |
| 558 bool is_chrome_protocol_; | 559 bool is_chrome_protocol_; |
| 559 uint64 cookie_; | 560 uint64 cookie_; |
| 560 gfx::Rect dimensions_; | 561 gfx::Rect dimensions_; |
| 561 int disposition_; | 562 int disposition_; |
| 562 | 563 |
| 563 GURL parsed_url_; | 564 GURL parsed_url_; |
| 564 std::string profile_name_; | 565 std::string profile_name_; |
| 565 }; | 566 }; |
| 566 | 567 |
| 568 class NavigationConstraints; |
| 567 // Returns true if we can navigate to this URL. | 569 // Returns true if we can navigate to this URL. |
| 568 // This function checks if the url scheme is valid for navigation within | 570 // These decisions are controlled by the NavigationConstraints object passed |
| 569 // chrome and whether it is a restricted URL as per IE settings. In either of | 571 // in. |
| 570 // these cases it returns false. | 572 bool CanNavigate(const GURL& url, |
| 571 bool CanNavigate(const GURL& url, IInternetSecurityManager* security_manager, | 573 NavigationConstraints* navigation_constraints); |
| 572 bool is_privileged); | |
| 573 | 574 |
| 574 // Utility function that prevents the current module from ever being unloaded. | 575 // Utility function that prevents the current module from ever being unloaded. |
| 575 // Call if you make irreversible patches. | 576 // Call if you make irreversible patches. |
| 576 void PinModule(); | 577 void PinModule(); |
| 577 | 578 |
| 578 // Helper function to spin a message loop and dispatch messages while waiting | 579 // Helper function to spin a message loop and dispatch messages while waiting |
| 579 // for a handle to be signaled. | 580 // for a handle to be signaled. |
| 580 void WaitWithMessageLoop(HANDLE* handles, int count, DWORD timeout); | 581 void WaitWithMessageLoop(HANDLE* handles, int count, DWORD timeout); |
| 581 | 582 |
| 582 // Enumerates values in a key and adds them to an array. | 583 // Enumerates values in a key and adds them to an array. |
| (...skipping 21 matching lines...) Expand all Loading... |
| 604 // "IE7" - Active for IE major version 7 or lower | 605 // "IE7" - Active for IE major version 7 or lower |
| 605 // | 606 // |
| 606 // For example: | 607 // For example: |
| 607 // X-UA-Compatible: IE=8; Chrome=IE6 | 608 // X-UA-Compatible: IE=8; Chrome=IE6 |
| 608 // | 609 // |
| 609 // The string is first interpreted using ';' as a delimiter. It is reevaluated | 610 // The string is first interpreted using ';' as a delimiter. It is reevaluated |
| 610 // using ',' iff no valid 'chrome=' value is found. | 611 // using ',' iff no valid 'chrome=' value is found. |
| 611 bool CheckXUaCompatibleDirective(const std::string& directive, | 612 bool CheckXUaCompatibleDirective(const std::string& directive, |
| 612 int ie_major_version); | 613 int ie_major_version); |
| 613 | 614 |
| 615 // Returns true if the current document in the browser is a chrome frame |
| 616 // document. |
| 617 bool IsChromeFrameDocument(IWebBrowser2* web_browser); |
| 618 |
| 614 #endif // CHROME_FRAME_UTILS_H_ | 619 #endif // CHROME_FRAME_UTILS_H_ |
| OLD | NEW |