summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-03 05:02:38 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-03 05:02:38 +0000
commit354c8f58509a9bffef6874eea613b4dba9d32ef0 (patch)
tree15148188066c4725845e7cc78b73dc90ef5c90c1
parent4e3a23ba7883172395bc7d73d5fbd118764e0468 (diff)
downloadchromium_src-354c8f58509a9bffef6874eea613b4dba9d32ef0.zip
chromium_src-354c8f58509a9bffef6874eea613b4dba9d32ef0.tar.gz
chromium_src-354c8f58509a9bffef6874eea613b4dba9d32ef0.tar.bz2
Nix bubble's WindowClosing override; check bookmark bubble's anchor_view.
Remove BubbleDelegateView::WindowClosing; it's overridden by subclasses. Remove an unused BubbleDelegateView::kDebugClosing debugging value. Add checks for anchor_view() in BookmarkBubbleView::ShowEditor. Hopefully this will induce crashes that help identify the root issue. TBR=sky@chromium.org BUG=134504 TEST=Any new crashes from debugging checks? Review URL: https://chromiumcodereview.appspot.com/10689058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145260 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc8
-rw-r--r--ui/views/bubble/bubble_delegate.cc18
-rw-r--r--ui/views/bubble/bubble_delegate.h2
3 files changed, 9 insertions, 19 deletions
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
index c324902..14244a5 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
@@ -316,10 +316,14 @@ void BookmarkBubbleView::ShowEditor() {
reinterpret_cast<views::Widget*>(BubbleDelegateView::kDebugClosing1));
CHECK_NE(parent,
reinterpret_cast<views::Widget*>(BubbleDelegateView::kDebugClosing2));
- CHECK_NE(parent,
- reinterpret_cast<views::Widget*>(BubbleDelegateView::kDebugClosing3));
CHECK_NE(parent, static_cast<views::Widget*>(NULL));
+ CHECK_NE(anchor_view(),
+ reinterpret_cast<views::View*>(BubbleDelegateView::kDebugClosing1));
+ CHECK_NE(anchor_view(),
+ reinterpret_cast<views::View*>(BubbleDelegateView::kDebugClosing2));
+ CHECK_NE(anchor_view(), static_cast<views::View*>(NULL));
+
Profile* profile = profile_;
ApplyEdits();
GetWidget()->Close();
diff --git a/ui/views/bubble/bubble_delegate.cc b/ui/views/bubble/bubble_delegate.cc
index 6349eb0..36e7b8f 100644
--- a/ui/views/bubble/bubble_delegate.cc
+++ b/ui/views/bubble/bubble_delegate.cc
@@ -95,8 +95,7 @@ Widget* CreateBorderWidget(BubbleDelegateView* bubble) {
// TODO(msw): Remove debugging code; see crbug.com/134504
bool IsDebugClosingValue(const views::Widget* w) {
return w == reinterpret_cast<Widget*>(BubbleDelegateView::kDebugClosing1) ||
- w == reinterpret_cast<Widget*>(BubbleDelegateView::kDebugClosing2) ||
- w == reinterpret_cast<Widget*>(BubbleDelegateView::kDebugClosing3);
+ w == reinterpret_cast<Widget*>(BubbleDelegateView::kDebugClosing2);
}
} // namespace
@@ -112,7 +111,6 @@ const SkColor BubbleDelegateView::kBackgroundColor = SK_ColorWHITE;
// TODO(msw): Remove magic debugging numbers; see crbug.com/134504
const ptrdiff_t BubbleDelegateView::kDebugClosing1 = 0xBAD111;
const ptrdiff_t BubbleDelegateView::kDebugClosing2 = 0xBAD222;
-const ptrdiff_t BubbleDelegateView::kDebugClosing3 = 0xBAD333;
BubbleDelegateView::BubbleDelegateView()
: close_on_esc_(true),
@@ -154,8 +152,8 @@ BubbleDelegateView::~BubbleDelegateView() {
// TODO(msw): Remove debugging code; see crbug.com/134504
if (anchor_widget() != NULL && !IsDebugClosingValue(anchor_widget()))
anchor_widget()->RemoveObserver(this);
- anchor_widget_ = reinterpret_cast<views::Widget*>(kDebugClosing3);
- anchor_view_ = reinterpret_cast<views::View*>(kDebugClosing3);
+ anchor_widget_ = reinterpret_cast<views::Widget*>(kDebugClosing1);
+ anchor_view_ = reinterpret_cast<views::View*>(kDebugClosing1);
}
// static
@@ -188,16 +186,6 @@ BubbleDelegateView* BubbleDelegateView::AsBubbleDelegate() {
return this;
}
-void BubbleDelegateView::WindowClosing() {
- // TODO(msw): This function is overriden by subclasses; leave logic to dtor???
- // TODO(msw): Remove debugging code; see crbug.com/134504
- if (anchor_widget() != NULL && !IsDebugClosingValue(anchor_widget())) {
- anchor_widget()->RemoveObserver(this);
- anchor_view_ = reinterpret_cast<views::View*>(kDebugClosing1);
- anchor_widget_ = reinterpret_cast<views::Widget*>(kDebugClosing1);
- }
-}
-
View* BubbleDelegateView::GetContentsView() {
return this;
}
diff --git a/ui/views/bubble/bubble_delegate.h b/ui/views/bubble/bubble_delegate.h
index 7684954..aaabdcd 100644
--- a/ui/views/bubble/bubble_delegate.h
+++ b/ui/views/bubble/bubble_delegate.h
@@ -34,7 +34,6 @@ class VIEWS_EXPORT BubbleDelegateView : public WidgetDelegateView,
// TODO(msw): Remove magic debugging numbers; see crbug.com/134504
static const ptrdiff_t kDebugClosing1;
static const ptrdiff_t kDebugClosing2;
- static const ptrdiff_t kDebugClosing3;
BubbleDelegateView();
BubbleDelegateView(View* anchor_view,
@@ -47,7 +46,6 @@ class VIEWS_EXPORT BubbleDelegateView : public WidgetDelegateView,
// WidgetDelegate overrides:
virtual View* GetInitiallyFocusedView() OVERRIDE;
virtual BubbleDelegateView* AsBubbleDelegate() OVERRIDE;
- virtual void WindowClosing() OVERRIDE;
virtual View* GetContentsView() OVERRIDE;
virtual NonClientFrameView* CreateNonClientFrameView(
views::Widget* widget) OVERRIDE;