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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings.h

Issue 2374443003: Fix content settings's cookie code to work with PlzNavigate. (Closed)
Patch Set: review comments Created 4 years, 2 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
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 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_ 5 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_
6 #define CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_ 6 #define CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 95
96 // Returns the object given a RenderFrameHost ids. 96 // Returns the object given a RenderFrameHost ids.
97 static TabSpecificContentSettings* GetForFrame(int render_process_id, 97 static TabSpecificContentSettings* GetForFrame(int render_process_id,
98 int render_frame_id); 98 int render_frame_id);
99 99
100 // Static methods called on the UI threads. 100 // Static methods called on the UI threads.
101 // Called when cookies for the given URL were read either from within the 101 // Called when cookies for the given URL were read either from within the
102 // current page or while loading it. |blocked_by_policy| should be true, if 102 // current page or while loading it. |blocked_by_policy| should be true, if
103 // reading cookies was blocked due to the user's content settings. In that 103 // reading cookies was blocked due to the user's content settings. In that
104 // case, this function should invoke OnContentBlocked. 104 // case, this function should invoke OnContentBlocked.
105 static void CookiesRead(int render_process_id, 105 static void CookiesRead(
106 int render_frame_id, 106 const base::Callback<content::WebContents*(void)>& wc_getter,
107 const GURL& url, 107 const GURL& url,
108 const GURL& first_party_url, 108 const GURL& first_party_url,
109 const net::CookieList& cookie_list, 109 const net::CookieList& cookie_list,
110 bool blocked_by_policy); 110 bool blocked_by_policy);
111 111
112 // Called when a specific cookie in the current page was changed. 112 // Called when a specific cookie in the current page was changed.
113 // |blocked_by_policy| should be true, if the cookie was blocked due to the 113 // |blocked_by_policy| should be true, if the cookie was blocked due to the
114 // user's content settings. In that case, this function should invoke 114 // user's content settings. In that case, this function should invoke
115 // OnContentBlocked. 115 // OnContentBlocked.
116 static void CookieChanged(int render_process_id, 116 static void CookieChanged(
117 int render_frame_id, 117 const base::Callback<content::WebContents*(void)>& wc_getter,
118 const GURL& url, 118 const GURL& url,
119 const GURL& first_party_url, 119 const GURL& first_party_url,
120 const std::string& cookie_line, 120 const std::string& cookie_line,
121 const net::CookieOptions& options, 121 const net::CookieOptions& options,
122 bool blocked_by_policy); 122 bool blocked_by_policy);
123 123
124 // Called when a specific Web database in the current page was accessed. If 124 // Called when a specific Web database in the current page was accessed. If
125 // access was blocked due to the user's content settings, 125 // access was blocked due to the user's content settings,
126 // |blocked_by_policy| should be true, and this function should invoke 126 // |blocked_by_policy| should be true, and this function should invoke
127 // OnContentBlocked. 127 // OnContentBlocked.
128 static void WebDatabaseAccessed(int render_process_id, 128 static void WebDatabaseAccessed(int render_process_id,
129 int render_frame_id, 129 int render_frame_id,
130 const GURL& url, 130 const GURL& url,
131 const base::string16& name, 131 const base::string16& name,
132 const base::string16& display_name, 132 const base::string16& display_name,
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 private: 391 private:
392 friend class content::WebContentsUserData<TabSpecificContentSettings>; 392 friend class content::WebContentsUserData<TabSpecificContentSettings>;
393 393
394 explicit TabSpecificContentSettings(content::WebContents* tab); 394 explicit TabSpecificContentSettings(content::WebContents* tab);
395 395
396 // content::WebContentsObserver overrides. 396 // content::WebContentsObserver overrides.
397 void RenderFrameForInterstitialPageCreated( 397 void RenderFrameForInterstitialPageCreated(
398 content::RenderFrameHost* render_frame_host) override; 398 content::RenderFrameHost* render_frame_host) override;
399 bool OnMessageReceived(const IPC::Message& message, 399 bool OnMessageReceived(const IPC::Message& message,
400 content::RenderFrameHost* render_frame_host) override; 400 content::RenderFrameHost* render_frame_host) override;
401 void DidNavigateMainFrame( 401 void DidStartNavigation(
402 const content::LoadCommittedDetails& details, 402 content::NavigationHandle* navigation_handle) override;
403 const content::FrameNavigateParams& params) override; 403 void DidFinishNavigation(
404 void DidStartProvisionalLoadForFrame( 404 content::NavigationHandle* navigation_handle) override;
405 content::RenderFrameHost* render_frame_host,
406 const GURL& validated_url,
407 bool is_error_page,
408 bool is_iframe_srcdoc) override;
409 void AppCacheAccessed(const GURL& manifest_url, 405 void AppCacheAccessed(const GURL& manifest_url,
410 bool blocked_by_policy) override; 406 bool blocked_by_policy) override;
411 407
412 // content_settings::Observer implementation. 408 // content_settings::Observer implementation.
413 void OnContentSettingChanged(const ContentSettingsPattern& primary_pattern, 409 void OnContentSettingChanged(const ContentSettingsPattern& primary_pattern,
414 const ContentSettingsPattern& secondary_pattern, 410 const ContentSettingsPattern& secondary_pattern,
415 ContentSettingsType content_type, 411 ContentSettingsType content_type,
416 std::string resource_identifier) override; 412 std::string resource_identifier) override;
417 413
418 // Notifies all registered |SiteDataObserver|s. 414 // Notifies all registered |SiteDataObserver|s.
419 void NotifySiteDataObservers(); 415 void NotifySiteDataObservers();
420 416
421 // Clears the Geolocation settings. 417 // Clears the Geolocation settings.
422 void ClearGeolocationContentSettings(); 418 void ClearGeolocationContentSettings();
423 419
424 // Clears the MIDI settings. 420 // Clears the MIDI settings.
425 void ClearMidiContentSettings(); 421 void ClearMidiContentSettings();
426 422
427 // Updates Geolocation settings on navigation. 423 // Updates Geolocation settings on navigation.
428 void GeolocationDidNavigate( 424 void GeolocationDidNavigate(content::NavigationHandle* navigation_handle);
429 const content::LoadCommittedDetails& details);
430 425
431 // Updates MIDI settings on navigation. 426 // Updates MIDI settings on navigation.
432 void MidiDidNavigate(const content::LoadCommittedDetails& details); 427 void MidiDidNavigate(content::NavigationHandle* navigation_handle);
433 428
434 // All currently registered |SiteDataObserver|s. 429 // All currently registered |SiteDataObserver|s.
435 base::ObserverList<SiteDataObserver> observer_list_; 430 base::ObserverList<SiteDataObserver> observer_list_;
436 431
437 struct ContentSettingsStatus { 432 struct ContentSettingsStatus {
438 bool blocked; 433 bool blocked;
439 bool blockage_indicated_to_user; 434 bool blockage_indicated_to_user;
440 bool allowed; 435 bool allowed;
441 }; 436 };
442 // Stores which content setting types actually have blocked content. 437 // Stores which content setting types actually have blocked content.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 481
487 // The devices to be displayed in the media bubble when the media stream 482 // The devices to be displayed in the media bubble when the media stream
488 // request is requesting certain specific devices. 483 // request is requesting certain specific devices.
489 std::string media_stream_requested_audio_device_; 484 std::string media_stream_requested_audio_device_;
490 std::string media_stream_requested_video_device_; 485 std::string media_stream_requested_video_device_;
491 486
492 // Manages information about Subresource filtering activation. 487 // Manages information about Subresource filtering activation.
493 bool subresource_filter_enabled_; 488 bool subresource_filter_enabled_;
494 bool subresource_filter_blockage_indicated_; 489 bool subresource_filter_blockage_indicated_;
495 490
491 // Holds the previous committed url during a navigation.
492 GURL previous_url_;
493
496 // Observer to watch for content settings changed. 494 // Observer to watch for content settings changed.
497 ScopedObserver<HostContentSettingsMap, content_settings::Observer> observer_; 495 ScopedObserver<HostContentSettingsMap, content_settings::Observer> observer_;
498 496
499 DISALLOW_COPY_AND_ASSIGN(TabSpecificContentSettings); 497 DISALLOW_COPY_AND_ASSIGN(TabSpecificContentSettings);
500 }; 498 };
501 499
502 #endif // CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_ 500 #endif // CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698