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 |