summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/page_info_model.cc3
-rw-r--r--chrome/browser/page_info_model.h12
-rw-r--r--chrome/browser/page_info_model_observer.h18
-rw-r--r--chrome/browser/ui/cocoa/page_info_bubble_controller.h8
-rw-r--r--chrome/browser/ui/cocoa/page_info_bubble_controller.mm8
-rw-r--r--chrome/browser/ui/cocoa/page_info_bubble_controller_unittest.mm3
-rw-r--r--chrome/browser/ui/gtk/page_info_bubble_gtk.cc5
-rw-r--r--chrome/browser/ui/views/page_info_bubble_view.h9
-rw-r--r--chrome/chrome_browser.gypi2
9 files changed, 45 insertions, 23 deletions
diff --git a/chrome/browser/page_info_model.cc b/chrome/browser/page_info_model.cc
index 8520074..4395e50 100644
--- a/chrome/browser/page_info_model.cc
+++ b/chrome/browser/page_info_model.cc
@@ -10,6 +10,7 @@
#include "base/i18n/time_formatting.h"
#include "base/string_number_conversions.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/page_info_model_observer.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ssl/ssl_error_info.h"
#include "content/browser/cert_store.h"
@@ -29,7 +30,7 @@ PageInfoModel::PageInfoModel(Profile* profile,
const GURL& url,
const NavigationEntry::SSLStatus& ssl,
bool show_history,
- Observer* observer)
+ PageInfoModelObserver* observer)
: observer_(observer) {
Init();
diff --git a/chrome/browser/page_info_model.h b/chrome/browser/page_info_model.h
index 66ecf25..f0cc797 100644
--- a/chrome/browser/page_info_model.h
+++ b/chrome/browser/page_info_model.h
@@ -15,6 +15,7 @@
#include "googleurl/src/gurl.h"
#include "ui/gfx/image/image.h"
+class PageInfoModelObserver;
class PrefService;
class Profile;
@@ -22,13 +23,6 @@ class Profile;
// info dialog/bubble.
class PageInfoModel {
public:
- class Observer {
- public:
- virtual ~Observer() {}
-
- virtual void OnPageInfoModelChanged() = 0;
- };
-
enum SectionInfoType {
SECTION_INFO_IDENTITY = 0,
SECTION_INFO_CONNECTION,
@@ -84,7 +78,7 @@ class PageInfoModel {
const GURL& url,
const NavigationEntry::SSLStatus& ssl,
bool show_history,
- Observer* observer);
+ PageInfoModelObserver* observer);
~PageInfoModel();
int GetSectionCount();
@@ -106,7 +100,7 @@ class PageInfoModel {
// Shared initialization for default and testing constructor.
void Init();
- Observer* observer_;
+ PageInfoModelObserver* observer_;
std::vector<SectionInfo> sections_;
diff --git a/chrome/browser/page_info_model_observer.h b/chrome/browser/page_info_model_observer.h
new file mode 100644
index 0000000..c65231f
--- /dev/null
+++ b/chrome/browser/page_info_model_observer.h
@@ -0,0 +1,18 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_PAGE_INFO_MODEL_OBSERVER_H_
+#define CHROME_BROWSER_PAGE_INFO_MODEL_OBSERVER_H_
+#pragma once
+
+// This interface should be implemented by classes interested in getting
+// notifications from PageInfoModel.
+class PageInfoModelObserver {
+ public:
+ virtual ~PageInfoModelObserver() {}
+
+ virtual void OnPageInfoModelChanged() = 0;
+};
+
+#endif // CHROME_BROWSER_PAGE_INFO_MODEL_OBSERVER_H_
diff --git a/chrome/browser/ui/cocoa/page_info_bubble_controller.h b/chrome/browser/ui/cocoa/page_info_bubble_controller.h
index 05f4a47..6af903b 100644
--- a/chrome/browser/ui/cocoa/page_info_bubble_controller.h
+++ b/chrome/browser/ui/cocoa/page_info_bubble_controller.h
@@ -6,9 +6,11 @@
#include "base/memory/scoped_nsobject.h"
#include "base/memory/scoped_ptr.h"
-#include "chrome/browser/page_info_model.h"
#import "chrome/browser/ui/cocoa/base_bubble_controller.h"
+class PageInfoModel;
+class PageInfoModelObserver;
+
// This NSWindowController subclass manages the InfoBubbleWindow and view that
// are displayed when the user clicks the security lock icon.
@interface PageInfoBubbleController : BaseBubbleController {
@@ -17,7 +19,7 @@
scoped_ptr<PageInfoModel> model_;
// Thin bridge that pushes model-changed notifications from C++ to Cocoa.
- scoped_ptr<PageInfoModel::Observer> bridge_;
+ scoped_ptr<PageInfoModelObserver> bridge_;
// The certificate ID for the page, 0 if the page is not over HTTPS.
int certID_;
@@ -30,7 +32,7 @@
// controller will release itself when the bubble is closed. |parentWindow|
// cannot be nil.
- (id)initWithPageInfoModel:(PageInfoModel*)model
- modelObserver:(PageInfoModel::Observer*)bridge
+ modelObserver:(PageInfoModelObserver*)bridge
parentWindow:(NSWindow*)parentWindow;
// Shows the certificate display window. Note that this will implicitly close
diff --git a/chrome/browser/ui/cocoa/page_info_bubble_controller.mm b/chrome/browser/ui/cocoa/page_info_bubble_controller.mm
index fe0576e..0d1d5b3 100644
--- a/chrome/browser/ui/cocoa/page_info_bubble_controller.mm
+++ b/chrome/browser/ui/cocoa/page_info_bubble_controller.mm
@@ -10,6 +10,8 @@
#include "base/task.h"
#include "chrome/browser/certificate_viewer.h"
#include "chrome/browser/google/google_util.h"
+#include "chrome/browser/page_info_model.h"
+#include "chrome/browser/page_info_model_observer.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_list.h"
#import "chrome/browser/ui/cocoa/browser_window_controller.h"
@@ -94,14 +96,14 @@ const CGFloat kTextWidth = kWindowWidth - (kImageSize + kImageSpacing +
kFramePadding * 2);
// Bridge that listens for change notifications from the model.
-class PageInfoModelBubbleBridge : public PageInfoModel::Observer {
+class PageInfoModelBubbleBridge : public PageInfoModelObserver {
public:
PageInfoModelBubbleBridge()
: controller_(nil),
ALLOW_THIS_IN_INITIALIZER_LIST(task_factory_(this)) {
}
- // PageInfoModel::Observer implementation.
+ // PageInfoModelObserver implementation.
virtual void OnPageInfoModelChanged() OVERRIDE {
// Check to see if a layout has already been scheduled.
if (!task_factory_.empty())
@@ -168,7 +170,7 @@ void ShowPageInfoBubble(gfx::NativeWindow parent,
@synthesize certID = certID_;
- (id)initWithPageInfoModel:(PageInfoModel*)model
- modelObserver:(PageInfoModel::Observer*)bridge
+ modelObserver:(PageInfoModelObserver*)bridge
parentWindow:(NSWindow*)parentWindow {
DCHECK(parentWindow);
diff --git a/chrome/browser/ui/cocoa/page_info_bubble_controller_unittest.mm b/chrome/browser/ui/cocoa/page_info_bubble_controller_unittest.mm
index 2fb91d9..0ea3aab 100644
--- a/chrome/browser/ui/cocoa/page_info_bubble_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/page_info_bubble_controller_unittest.mm
@@ -9,6 +9,7 @@
#include "base/sys_string_conversions.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/page_info_model.h"
+#include "chrome/browser/page_info_model_observer.h"
#include "chrome/browser/ui/cocoa/browser_test_helper.h"
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
#import "chrome/browser/ui/cocoa/hyperlink_button_cell.h"
@@ -31,7 +32,7 @@ class FakeModel : public PageInfoModel {
}
};
-class FakeBridge : public PageInfoModel::Observer {
+class FakeBridge : public PageInfoModelObserver {
public:
virtual void OnPageInfoModelChanged() OVERRIDE {}
};
diff --git a/chrome/browser/ui/gtk/page_info_bubble_gtk.cc b/chrome/browser/ui/gtk/page_info_bubble_gtk.cc
index bc9ed2b..e6c2edf 100644
--- a/chrome/browser/ui/gtk/page_info_bubble_gtk.cc
+++ b/chrome/browser/ui/gtk/page_info_bubble_gtk.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/certificate_viewer.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/page_info_model.h"
+#include "chrome/browser/page_info_model_observer.h"
#include "chrome/browser/page_info_window.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/gtk/browser_toolbar_gtk.h"
@@ -30,7 +31,7 @@ class Profile;
namespace {
-class PageInfoBubbleGtk : public PageInfoModel::Observer,
+class PageInfoBubbleGtk : public PageInfoModelObserver,
public BubbleDelegateGtk {
public:
PageInfoBubbleGtk(gfx::NativeWindow parent,
@@ -40,7 +41,7 @@ class PageInfoBubbleGtk : public PageInfoModel::Observer,
bool show_history);
virtual ~PageInfoBubbleGtk();
- // PageInfoModel::Observer implementation.
+ // PageInfoModelObserver implementation.
virtual void OnPageInfoModelChanged() OVERRIDE;
// BubbleDelegateGtk implementation.
diff --git a/chrome/browser/ui/views/page_info_bubble_view.h b/chrome/browser/ui/views/page_info_bubble_view.h
index bb4e8e1..e8b11ae 100644
--- a/chrome/browser/ui/views/page_info_bubble_view.h
+++ b/chrome/browser/ui/views/page_info_bubble_view.h
@@ -8,6 +8,7 @@
#include "base/compiler_specific.h"
#include "chrome/browser/page_info_model.h"
+#include "chrome/browser/page_info_model_observer.h"
#include "chrome/browser/ui/views/bubble/bubble.h"
#include "ui/base/animation/animation_delegate.h"
#include "ui/base/animation/slide_animation.h"
@@ -19,7 +20,7 @@ class Label;
}
class PageInfoBubbleView : public views::View,
- public PageInfoModel::Observer,
+ public PageInfoModelObserver,
public BubbleDelegate,
public views::LinkListener,
public ui::AnimationDelegate {
@@ -36,10 +37,10 @@ class PageInfoBubbleView : public views::View,
void set_bubble(Bubble* bubble) { bubble_ = bubble; }
- // View methods:
+ // views::View methods:
virtual gfx::Size GetPreferredSize();
- // PageInfoModel::Observer methods:
+ // PageInfoModelObserver methods:
virtual void OnPageInfoModelChanged() OVERRIDE;
// BubbleDelegate methods:
@@ -51,7 +52,7 @@ class PageInfoBubbleView : public views::View,
// views::LinkListener methods:
virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
- // Overridden from ui::AnimationDelegate.
+ // ui::AnimationDelegate methods:
virtual void AnimationEnded(const ui::Animation* animation);
virtual void AnimationProgressed(const ui::Animation* animation);
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index df3d6b4..c8a07c1 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -1525,6 +1525,8 @@
'browser/oom_priority_manager.h',
'browser/page_info_model.cc',
'browser/page_info_model.h',
+ 'browser/page_info_model_observer.h',
+ 'browser/page_info_window.h',
'browser/parsers/metadata_parser.cc',
'browser/parsers/metadata_parser.h',
'browser/parsers/metadata_parser_factory.h',