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

Unified Diff: chrome/browser/ui/website_settings/permission_bubble_manager.h

Issue 260373002: Revert of [WebsiteSettings] Update permission bubble manager policy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/website_settings/permission_bubble_manager.h
diff --git a/chrome/browser/ui/website_settings/permission_bubble_manager.h b/chrome/browser/ui/website_settings/permission_bubble_manager.h
index c2b266559d10429e5886d30272d84ad41cfccb27..494cf7b4886cfcef38509e6b3e3a25e2c6d444dd 100644
--- a/chrome/browser/ui/website_settings/permission_bubble_manager.h
+++ b/chrome/browser/ui/website_settings/permission_bubble_manager.h
@@ -7,6 +7,7 @@
#include <vector>
+#include "base/timer/timer.h"
#include "chrome/browser/ui/website_settings/permission_bubble_view.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
@@ -55,6 +56,10 @@
// take ownership of the view.
virtual void SetView(PermissionBubbleView* view) OVERRIDE;
+ protected:
+ // Sets the coalesce time interval to |interval_ms|. For testing only.
+ void SetCoalesceIntervalForTesting(int interval_ms);
+
private:
friend class PermissionBubbleManagerTest;
friend class DownloadRequestLimiterTest;
@@ -62,12 +67,15 @@
explicit PermissionBubbleManager(content::WebContents* web_contents);
- // WebContentsObserver:
-
- // TODO(leng): Finalize policy for permission requests with iFrames.
- // DocumentLoadedInFrame() might be needed as well.
- virtual void DocumentOnLoadCompletedInMainFrame(int32 page_id) OVERRIDE;
-
+ // contents::WebContentsObserver:
+ // TODO(leng): Investigate the ordering and timing of page loading and
+ // permission requests with iFrames. DocumentOnLoadCompletedInMainFrame()
+ // and DocumentLoadedInFrame() might be needed as well.
+ virtual void DidFinishLoad(
+ int64 frame_id,
+ const GURL& validated_url,
+ bool is_main_frame,
+ content::RenderViewHost* render_view_host) OVERRIDE;
// If a page on which permissions requests are pending is navigated,
// they will be finalized as if canceled by the user.
virtual void NavigationEntryCommitted(
@@ -82,6 +90,7 @@
virtual void Deny() OVERRIDE;
virtual void Closing() OVERRIDE;
+ // Called when the coalescing timer is done. Presents the bubble.
void ShowBubble();
// Finalize the pending permissions request.
@@ -101,9 +110,10 @@
std::vector<PermissionBubbleRequest*> requests_;
std::vector<PermissionBubbleRequest*> queued_requests_;
GURL request_url_;
- bool request_url_has_loaded_;
std::vector<bool> accept_states_;
bool customization_mode_;
+
+ scoped_ptr<base::Timer> timer_;
};
#endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_MANAGER_H_

Powered by Google App Engine
This is Rietveld 408576698