Bookmark prompt controller should check browser window available or not. (issue 11361091)

10 views
Skip to first unread message

yo...@chromium.org

unread,
Nov 5, 2012, 4:23:48 AM11/5/12
to s...@chromium.org, chromium...@chromium.org
Reviewers: sky,

Message:
Could you review this patch?
Thanks in advance.

Description:
CanShowBookmarkPrompt() is called during construction of Browser object
before
initializing window_ member variable by calling CreateBrowserWindow().

CreateBrowserWindow() calls Windows API CreateWindowEx() and it dispatches
WM_NCACTIVATE.

It seems some tools, such as RocketDoc(http://rocketdock.com/) and Matrox
PowrDesk(http://www.matrox.com/graphics/en/products/multi_display_software/),
are involved this symptom.

BUG=159146


Please review this at http://codereview.chromium.org/11361091/

SVN Base: svn://svn.chromium.org/chrome/trunk/src

Affected files:
M chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc


Index: chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
diff --git a/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
b/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
index
b557bb1bd917e6607359087ff7ab318136d6291d..8e8407a7fafc62bbe25efe99b77071ecff1e39ba
100644
--- a/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
+++ b/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
@@ -51,7 +51,7 @@ bool CanShowBookmarkPrompt(Browser* browser) {
if (!browser || browser->type() != Browser::TYPE_TABBED ||
browser->profile()->IsOffTheRecord() ||
!browser->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR) ||
- !browser->window()->GetLocationBar())
+ (browser->window() && !browser->window()->GetLocationBar()))
return false;
BookmarkPromptPrefs prefs(browser->profile()->GetPrefs());
if (!prefs.IsBookmarkPromptEnabled())


s...@chromium.org

unread,
Nov 5, 2012, 11:15:30 AM11/5/12
to yo...@chromium.org, chromium...@chromium.org

https://codereview.chromium.org/11361091/diff/1/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc
File chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc (right):

https://codereview.chromium.org/11361091/diff/1/chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc#newcode54
chrome/browser/ui/bookmarks/bookmark_prompt_controller.cc:54:
(browser->window() && !browser->window()->GetLocationBar()))
Won't this mean OnBrowserSetLastActive could ignore the browser?

https://codereview.chromium.org/11361091/

yo...@chromium.org

unread,
Nov 5, 2012, 11:00:17 PM11/5/12
to s...@chromium.org, chromium...@chromium.org
Could you review this patch?
Thanks in advance.

= Changes since the last review =
* Checks "const" browser properties in OnBrowserSetLastActive() and use
CanSupportWindowFeature() instead of SupportsWindowFeature(), which checks
full-screen mode on Mac, to avoid redundant checking of Browser properties.
* Changes CanShowBookmarkPrompt() to check only profile values.
* Checks SupportsWindowFeature(FEATURE_LOCATIONBAR) before showing prompt.

http://codereview.chromium.org/11361091/

s...@chromium.org

unread,
Nov 6, 2012, 11:30:25 AM11/6/12
to yo...@chromium.org, chromium...@chromium.org

commi...@chromium.org

unread,
Nov 6, 2012, 8:45:29 PM11/6/12
to yo...@chromium.org, s...@chromium.org, chromium...@chromium.org

commi...@chromium.org

unread,
Nov 7, 2012, 7:05:32 AM11/7/12
to yo...@chromium.org, s...@chromium.org, chromium...@chromium.org
Reply all
Reply to author
Forward
0 new messages