Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: chrome/browser/chrome_content_browser_client.cc

Issue 141363006: Proof of concept of ignoring x-frame-options for sign-in webui. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix crash Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/chrome_content_browser_client.h" 5 #include "chrome/browser/chrome_content_browser_client.h"
6 6
7 #include <set> 7 #include <set>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 return main_parts; 729 return main_parts;
730 } 730 }
731 731
732 std::string ChromeContentBrowserClient::GetStoragePartitionIdForSite( 732 std::string ChromeContentBrowserClient::GetStoragePartitionIdForSite(
733 content::BrowserContext* browser_context, 733 content::BrowserContext* browser_context,
734 const GURL& site) { 734 const GURL& site) {
735 std::string partition_id; 735 std::string partition_id;
736 736
737 // The partition ID for webview guest processes is the string value of its 737 // The partition ID for webview guest processes is the string value of its
738 // SiteInstance URL - "chrome-guest://app_id/persist?partition". 738 // SiteInstance URL - "chrome-guest://app_id/persist?partition".
739 if (site.SchemeIs(content::kGuestScheme)) 739 if (site.SchemeIs(content::kGuestScheme)) {
740 partition_id = site.spec(); 740 partition_id = site.spec();
741 } else if (site.SchemeIs(chrome::kChromeUIScheme) &&
742 site.host() == chrome::kChromeSigninHost) {
743 partition_id = site.spec();
744 }
741 745
742 DCHECK(IsValidStoragePartitionId(browser_context, partition_id)); 746 DCHECK(IsValidStoragePartitionId(browser_context, partition_id));
743 return partition_id; 747 return partition_id;
744 } 748 }
745 749
746 bool ChromeContentBrowserClient::IsValidStoragePartitionId( 750 bool ChromeContentBrowserClient::IsValidStoragePartitionId(
747 content::BrowserContext* browser_context, 751 content::BrowserContext* browser_context,
748 const std::string& partition_id) { 752 const std::string& partition_id) {
749 // The default ID is empty and is always valid. 753 // The default ID is empty and is always valid.
750 if (partition_id.empty()) 754 if (partition_id.empty())
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 798
795 if (is_isolated) { 799 if (is_isolated) {
796 CHECK(site.has_host()); 800 CHECK(site.has_host());
797 // For extensions with isolated storage, the the host of the |site| is 801 // For extensions with isolated storage, the the host of the |site| is
798 // the |partition_domain|. The |in_memory| and |partition_name| are only 802 // the |partition_domain|. The |in_memory| and |partition_name| are only
799 // used in guest schemes so they are cleared here. 803 // used in guest schemes so they are cleared here.
800 *partition_domain = site.host(); 804 *partition_domain = site.host();
801 *in_memory = false; 805 *in_memory = false;
802 partition_name->clear(); 806 partition_name->clear();
803 } 807 }
808 } else if (site.SchemeIs(chrome::kChromeUIScheme) &&
809 site.host() == chrome::kChromeSigninHost) {
810 *partition_domain = chrome::kChromeSigninHost;
804 } 811 }
805 812
806 // Assert that if |can_be_default| is false, the code above must have found a 813 // Assert that if |can_be_default| is false, the code above must have found a
807 // non-default partition. If this fails, the caller has a serious logic 814 // non-default partition. If this fails, the caller has a serious logic
808 // error about which StoragePartition they expect to be in and it is not 815 // error about which StoragePartition they expect to be in and it is not
809 // safe to continue. 816 // safe to continue.
810 CHECK(can_be_default || !partition_domain->empty()); 817 CHECK(can_be_default || !partition_domain->empty());
811 } 818 }
812 819
813 content::WebContentsViewDelegate* 820 content::WebContentsViewDelegate*
(...skipping 1886 matching lines...) Expand 10 before | Expand all | Expand 10 after
2700 // releases of Chrome. Permitting "Unknown" allows these APIs to be used on 2707 // releases of Chrome. Permitting "Unknown" allows these APIs to be used on
2701 // Chromium builds as well. 2708 // Chromium builds as well.
2702 return channel <= chrome::VersionInfo::CHANNEL_DEV; 2709 return channel <= chrome::VersionInfo::CHANNEL_DEV;
2703 #else 2710 #else
2704 return false; 2711 return false;
2705 #endif 2712 #endif
2706 } 2713 }
2707 2714
2708 2715
2709 } // namespace chrome 2716 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/browser_resources.grd ('k') | chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698