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

Issue 2819086: Removal of TabContentsDelegate::GetBrowser() interface method (Closed)

Created:
10 years, 4 months ago by Jeff Timanus
Modified:
9 years, 7 months ago
CC:
chromium-reviews, ben+cc_chromium.org, John Grabowski, Erik does not do reviews, brettw-cc_chromium.org, Aaron Boodman, pam+watch_chromium.org, Paweł Hajdan Jr., davemoore+watch_chromium.org
Visibility:
Public.

Description

Clone of issue 2941001. See initial review below. http://codereview.chromium.org/2941001 Initial submit broke the chromeos build. This patch includes the original change, and fixes to compile ChromeOs properly. BUG=None TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=55951

Patch Set 1 #

Total comments: 1

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+248 lines, -162 lines) Patch
M chrome/browser/autocomplete/autocomplete_browsertest.cc View 3 4 5 6 7 8 9 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/autofill/autofill_cc_infobar_delegate.h View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -4 lines 0 comments Download
M chrome/browser/autofill/autofill_cc_infobar_delegate.cc View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -10 lines 0 comments Download
M chrome/browser/autofill/autofill_manager.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/automation/automation_provider.cc View 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/browser.h View 1 2 3 4 5 6 7 8 9 4 chunks +18 lines, -5 lines 0 comments Download
M chrome/browser/browser.cc View 1 2 3 4 5 6 7 8 9 17 chunks +51 lines, -31 lines 0 comments Download
M chrome/browser/browser_browsertest.cc View 1 2 3 4 5 6 7 8 9 14 chunks +26 lines, -14 lines 0 comments Download
M chrome/browser/browser_focus_uitest.cc View 5 6 7 8 9 3 chunks +10 lines, -3 lines 0 comments Download
M chrome/browser/browser_init.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/dom_ui/internet_options_handler.cc View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/tab_closeable_state_watcher_browsertest.cc View 9 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/cocoa/applescript/window_applescript.mm View 8 9 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/cocoa/tab_strip_controller.mm View 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/cocoa/tab_strip_controller_unittest.mm View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/dom_ui/dom_ui.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/dom_ui/dom_ui.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/dom_ui/filebrowse_ui.cc View 1 2 3 4 5 6 7 8 9 2 chunks +5 lines, -8 lines 0 comments Download
M chrome/browser/dom_ui/history2_ui.cc View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/dom_ui/history_ui.cc View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc View 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/dom_ui/mediaplayer_ui.cc View 6 7 8 9 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/extensions/extension_dom_ui.cc View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -6 lines 0 comments Download
M chrome/browser/extensions/extension_install_ui.cc View 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/extension_tabs_module.cc View 2 3 4 5 6 7 8 9 2 chunks +7 lines, -4 lines 0 comments Download
M chrome/browser/external_tab_container_win.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/browser/find_bar_host_browsertest.cc View 3 4 5 6 7 8 9 5 chunks +18 lines, -5 lines 0 comments Download
M chrome/browser/gtk/bookmark_bar_gtk_interactive_uitest.cc View 7 8 9 1 chunk +4 lines, -1 line 0 comments Download
M chrome/browser/importer/importer.cc View 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/platform_util_chromeos.cc View 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/sessions/session_restore.cc View 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/sessions/session_restore_browsertest.cc View 3 4 5 6 7 8 9 1 chunk +7 lines, -2 lines 0 comments Download
M chrome/browser/ssl/ssl_browser_tests.cc View 3 4 5 6 7 8 9 3 chunks +7 lines, -3 lines 0 comments Download
M chrome/browser/tab_contents/match_preview.cc View 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/tab_contents/tab_contents.cc View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -8 lines 0 comments Download
M chrome/browser/tab_contents/tab_contents_delegate.h View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -4 lines 0 comments Download
M chrome/browser/tab_contents/tab_contents_delegate.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -4 lines 0 comments Download
M chrome/browser/tabs/tab_strip_model.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/tabs/tab_strip_model_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/task_manager_browsertest.cc View 3 4 5 6 7 8 9 2 chunks +6 lines, -2 lines 0 comments Download
M chrome/browser/translate/translate_manager.cc View 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/views/app_launcher.cc View 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/views/find_bar_host_interactive_uitest.cc View 5 6 7 8 9 3 chunks +8 lines, -3 lines 0 comments Download
M chrome/browser/views/frame/browser_view.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/views/tabs/browser_tab_strip_controller.h View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -1 line 0 comments Download
M chrome/browser/views/tabs/browser_tab_strip_controller.cc View 1 2 3 4 5 6 7 8 9 3 chunks +12 lines, -9 lines 0 comments Download
M chrome/test/browser_with_test_window_test.cc View 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/test/in_process_browser_test.cc View 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 29 (0 generated)
Jeff Timanus
Ben, my initial submit broke the ChromeOS build. Resubmitting with the appropriate fixes. Zel, you ...
10 years, 4 months ago (2010-08-02 19:45:08 UTC) #1
Jeff Timanus
On 2010/08/02 19:45:08, Jeff Timanus wrote: > Ben, > > my initial submit broke the ...
10 years, 4 months ago (2010-08-05 19:09:21 UTC) #2
Ben Goodger (Google)
Can you describe what changed outside of the ChromeOS bits? -Ben On Mon, Aug 2, ...
10 years, 4 months ago (2010-08-05 19:14:28 UTC) #3
Jeff Timanus
On 2010/08/05 19:14:28, Ben Goodger wrote: > Can you describe what changed outside of the ...
10 years, 4 months ago (2010-08-05 19:20:47 UTC) #4
Ben Goodger (Google)
Oh in that case Zel/dhg are better reviewers than I. -Ben On Thu, Aug 5, ...
10 years, 4 months ago (2010-08-05 19:21:47 UTC) #5
dhg
http://codereview.chromium.org/2819086/diff/1/13 File chrome/browser/dom_ui/filebrowse_ui.cc (right): http://codereview.chromium.org/2819086/diff/1/13#newcode759 chrome/browser/dom_ui/filebrowse_ui.cc:759: browser = BrowserList::FindBrowserWithProfile(contents->profile()); What if more than one browser ...
10 years, 4 months ago (2010-08-05 19:30:36 UTC) #6
Jeff Timanus
On 2010/08/05 19:30:36, dhg wrote: > http://codereview.chromium.org/2819086/diff/1/13 > File chrome/browser/dom_ui/filebrowse_ui.cc (right): > > http://codereview.chromium.org/2819086/diff/1/13#newcode759 > ...
10 years, 4 months ago (2010-08-05 19:38:34 UTC) #7
dhg
This sounds way more complex, and a little too much is left to "oh it ...
10 years, 4 months ago (2010-08-05 19:50:25 UTC) #8
Jeff Timanus
On 2010/08/05 19:50:25, dhg wrote: > This sounds way more complex, and a little too ...
10 years, 4 months ago (2010-08-05 19:56:40 UTC) #9
Jeff Timanus
On 2010/08/05 19:50:25, dhg wrote: > This sounds way more complex, and a little too ...
10 years, 4 months ago (2010-08-10 18:02:53 UTC) #10
dhg
nice. that feels cleaner to me :) great job. On Tue, Aug 10, 2010 at ...
10 years, 4 months ago (2010-08-10 19:11:22 UTC) #11
Ben Goodger (Google)
On 2010/08/05 19:20:47, Jeff Timanus wrote: > On 2010/08/05 19:14:28, Ben Goodger wrote: > > ...
10 years, 2 months ago (2010-09-29 21:27:25 UTC) #12
Jeff Timanus
On 2010/09/29 21:27:25, Ben Goodger wrote: > On 2010/08/05 19:20:47, Jeff Timanus wrote: > > ...
10 years, 2 months ago (2010-09-29 21:56:29 UTC) #13
Ben Goodger (Google)
For the record, I signed off on a much more limited version of this change ...
10 years, 2 months ago (2010-09-29 22:02:33 UTC) #14
dhg
ben, You say that all the code in non-chromeos already has this context, but what ...
10 years, 2 months ago (2010-09-29 23:17:27 UTC) #15
Ben Goodger (Google)
What is ChromeOS code doing such that it requires this change to the API? -Ben ...
10 years, 2 months ago (2010-09-30 00:01:20 UTC) #16
dhg
There was a discussion further back, but when it creates the tab, it needs to ...
10 years, 2 months ago (2010-09-30 00:10:05 UTC) #17
Ben Goodger (Google)
The conventional pattern is: 1. Look for an existing browser that matches what you need ...
10 years, 2 months ago (2010-09-30 00:15:29 UTC) #18
dhg
and since we have to keep around the browser (for various download reasons, etc), we ...
10 years, 2 months ago (2010-09-30 00:19:35 UTC) #19
Ben Goodger (Google)
I don't understand how this follows from the pattern I described. If you ask the ...
10 years, 2 months ago (2010-09-30 00:21:16 UTC) #20
dhg
But then how do I know if i have the SAME filebrowser as the one ...
10 years, 2 months ago (2010-09-30 00:22:56 UTC) #21
Ben Goodger (Google)
BrowserList always returns the most recently active item. -Ben On Wed, Sep 29, 2010 at ...
10 years, 2 months ago (2010-09-30 00:25:11 UTC) #22
dhg
Is that the right one? On Wed, Sep 29, 2010 at 5:25 PM, Ben Goodger ...
10 years, 2 months ago (2010-09-30 00:26:31 UTC) #23
twiz
On Wed, Sep 29, 2010 at 8:26 PM, David Garcia <dhg@chromium.org> wrote: > Is that ...
10 years, 2 months ago (2010-09-30 01:02:29 UTC) #24
Ben Goodger (Google)
If that's the one you're clicking on then yes. MRU is based on window activation. ...
10 years, 2 months ago (2010-09-30 01:16:53 UTC) #25
dhg
you can't guarantee that. Since its not necessarily based on user interaction (popups happen due ...
10 years, 2 months ago (2010-09-30 15:38:46 UTC) #26
Ben Goodger (Google)
Your click to the window that caused this interaction activated the window which updated the ...
10 years, 2 months ago (2010-09-30 15:45:38 UTC) #27
dhg
wouldn't all this be fixed by fixing the broken api of addtabwithurl. If i'm calling ...
10 years, 2 months ago (2010-09-30 15:49:52 UTC) #28
Ben Goodger (Google)
10 years, 2 months ago (2010-09-30 15:51:29 UTC) #29
That was what I was thinking. I need to audit the call sites though and see
how many of them don't know whether or not the browser they have is capable
of opening tabs.

-Ben

On Thu, Sep 30, 2010 at 8:49 AM, David Garcia <dhg@chromium.org> wrote:

> wouldn't all this be fixed by fixing the broken api of addtabwithurl.
> If i'm calling on a browser, it should open in that browser, and never
> create a new browser.
>
> On Thu, Sep 30, 2010 at 8:45 AM, Ben Goodger (Google) <ben@chromium.org>
> wrote:
> > Your click to the window that caused this interaction activated the
> window
> > which updated the browser list prior to the event being processed that
> > sought it out. This has been a solved problem in Chrome code now for over
> 3
> > years.
> > -Ben
> >
> > On Thu, Sep 30, 2010 at 8:38 AM, David Garcia <dhg@chromium.org> wrote:
> >>
> >> you can't guarantee that.  Since its not necessarily based on user
> >> interaction (popups happen due to notifications, connectivity,
> >> downloads, file accesses, etc), we need some way to make sure.   This
> >> came up in the review.
> >>
> >> Can you explain the reasoning behind not having this particular way of
> >> getting the browser? i don't see a compelling reason.
> >>
> >> On Wed, Sep 29, 2010 at 6:16 PM, Ben Goodger (Google) <ben@chromium.org
> >
> >> wrote:
> >> > If that's the one you're clicking on then yes. MRU is based on window
> >> > activation.
> >> > If you don't have a pointer to the current browser using BrowserList
> API
> >> > with qualifiers designed to find that type will find it for you.
> >> > -Ben
> >> >
> >> > On Wed, Sep 29, 2010 at 5:26 PM, David Garcia <dhg@chromium.org>
> wrote:
> >> >>
> >> >> Is that the right one?
> >> >>
> >> >> On Wed, Sep 29, 2010 at 5:25 PM, Ben Goodger (Google)
> >> >> <ben@chromium.org>
> >> >> wrote:
> >> >> > BrowserList always returns the most recently active item.
> >> >> > -Ben
> >> >> >
> >> >> > On Wed, Sep 29, 2010 at 5:22 PM, David Garcia <dhg@chromium.org>
> >> >> > wrote:
> >> >> >>
> >> >> >> But then how do I know if i have the SAME filebrowser as the one
> >> >> >> that
> >> >> >> the user is acting on.  Since there can be more than one
> >> >> >> filebrowser.
> >> >> >>
> >> >> >> On Wed, Sep 29, 2010 at 5:21 PM, Ben Goodger (Google)
> >> >> >> <ben@chromium.org>
> >> >> >> wrote:
> >> >> >> > I don't understand how this follows from the pattern I
> described.
> >> >> >> > If
> >> >> >> > you
> >> >> >> > ask
> >> >> >> > the BrowserList for a matching browser you will always scan
> >> >> >> > available
> >> >> >> > non-deleted Browsers, so you can never crash.
> >> >> >> > -Ben
> >> >> >> >
> >> >> >> > On Wed, Sep 29, 2010 at 5:19 PM, David Garcia <dhg@chromium.org
> >
> >> >> >> > wrote:
> >> >> >> >>
> >> >> >> >> and since we have to keep around the browser (for various
> >> >> >> >> download
> >> >> >> >> reasons, etc), we need to get back the browser, otherwise we
> may
> >> >> >> >> have
> >> >> >> >> a copy of a browser that has gone away, and thus we would
> crash.
> >> >> >> >>  If
> >> >> >> >> add tab with url was guarenteed to open in the same browser it
> >> >> >> >> was
> >> >> >> >> told to, then there would be no problem.
> >> >> >> >>
> >> >> >> >> On Wed, Sep 29, 2010 at 5:15 PM, Ben Goodger (Google)
> >> >> >> >> <ben@chromium.org>
> >> >> >> >> wrote:
> >> >> >> >> > The conventional pattern is:
> >> >> >> >> > 1. Look for an existing browser that matches what you need
> >> >> >> >> > using
> >> >> >> >> > the
> >> >> >> >> > browser
> >> >> >> >> > list.
> >> >> >> >> > 2. If you can't find one, or if you always want a new window,
> >> >> >> >> > create
> >> >> >> >> > a
> >> >> >> >> > new
> >> >> >> >> > one.
> >> >> >> >> > 3. Call AddTabWithURL on the new one.
> >> >> >> >> > I know AddTabWithURL can create a Browser internally but this
> >> >> >> >> > is
> >> >> >> >> > not
> >> >> >> >> > an
> >> >> >> >> > aspect of this function that I enjoy, considering the pattern
> >> >> >> >> > is
> >> >> >> >> > so
> >> >> >> >> > often:
> >> >> >> >> > Browser* b = locate_browser_somehow;
> >> >> >> >> > b->AddTabWithURL(..., &b) (may create a new browser and call
> >> >> >> >> > Show()
> >> >> >> >> > on
> >> >> >> >> > its
> >> >> >> >> > window)
> >> >> >> >> > b->window()->Show(); // Show called twice, potentially.
> >> >> >> >> > -Ben
> >> >> >> >> >
> >> >> >> >> > On Wed, Sep 29, 2010 at 5:09 PM, David Garcia
> >> >> >> >> > <dhg@chromium.org>
> >> >> >> >> > wrote:
> >> >> >> >> >>
> >> >> >> >> >> There was a discussion further back, but when it creates the
> >> >> >> >> >> tab,
> >> >> >> >> >> it
> >> >> >> >> >> needs to know the browser associated with that tab.  (so it
> >> >> >> >> >> can
> >> >> >> >> >> subscribe to events, etc) Since add tab with url can
> actually
> >> >> >> >> >> open
> >> >> >> >> >> up
> >> >> >> >> >> in a different browser, this can cause a problem.
> >> >> >> >> >>
> >> >> >> >> >> On Wed, Sep 29, 2010 at 5:01 PM, Ben Goodger (Google)
> >> >> >> >> >> <ben@chromium.org>
> >> >> >> >> >> wrote:
> >> >> >> >> >> > What is ChromeOS code doing such that it requires this
> >> >> >> >> >> > change
> >> >> >> >> >> > to
> >> >> >> >> >> > the
> >> >> >> >> >> > API?
> >> >> >> >> >> > -Ben
> >> >> >> >> >> >
> >> >> >> >> >> > On Wed, Sep 29, 2010 at 4:17 PM, <dhg@chromium.org>
> wrote:
> >> >> >> >> >> >>
> >> >> >> >> >> >> ben,
> >> >> >> >> >> >>
> >> >> >> >> >> >> You say that all the code in non-chromeos already has
> this
> >> >> >> >> >> >> context,
> >> >> >> >> >> >> but
> >> >> >> >> >> >> what
> >> >> >> >> >> >> about chromeos... doesn't that matter?
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> On 2010/09/29 22:02:33, Ben Goodger wrote:
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> For the record, I signed off on a much more limited
> >> >> >> >> >> >>> version
> >> >> >> >> >> >>> of
> >> >> >> >> >> >>> this
> >> >> >> >> >> >>> change
> >> >> >> >> >> >>> that seemed to primarily affect the app/extension
> related
> >> >> >> >> >> >>> functions
> >> >> >> >> >> >>> on
> >> >> >> >> >> >>> Browser, not AddTabWithURL which is a more central API.
> >> >> >> >> >> >>
> >> >> >> >> >> >>> The trouble is that none of the code in Chrome-land ever
> >> >> >> >> >> >>> needed
> >> >> >> >> >> >>> this
> >> >> >> >> >> >>> before,
> >> >> >> >> >> >>> and it's not immediately clear why they would given that
> >> >> >> >> >> >>> they
> >> >> >> >> >> >>> always
> >> >> >> >> >> >>> obtain
> >> >> >> >> >> >>> a valid browser prior to calling this function. So it's
> a
> >> >> >> >> >> >>> layer
> >> >> >> >> >> >>> of
> >> >> >> >> >> >>> complexity that is required only for a specific use case
> >> >> >> >> >> >>> (that I
> >> >> >> >> >> >>> have
> >> >> >> >> >> >>> not
> >> >> >> >> >> >>> discovered yet, I will determine what that is once I get
> >> >> >> >> >> >>> further
> >> >> >> >> >> >>> into
> >> >> >> >> >> >>> the
> >> >> >> >> >> >>> build/test process).
> >> >> >> >> >> >>
> >> >> >> >> >> >>> I will sort the rest of this out myself.
> >> >> >> >> >> >>
> >> >> >> >> >> >>> -Ben
> >> >> >> >> >> >>
> >> >> >> >> >> >>> On Wed, Sep 29, 2010 at 2:56 PM,
> >> >> >> >> >> >>> <mailto:twiz@chromium.org>
> >> >> >> >> >> >>> wrote:
> >> >> >> >> >> >>
> >> >> >> >> >> >>> > On 2010/09/29 21:27:25, Ben Goodger wrote:
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >> On 2010/08/05 19:20:47, Jeff Timanus wrote:
> >> >> >> >> >> >>> >> > On 2010/08/05 19:14:28, Ben Goodger wrote:
> >> >> >> >> >> >>> >> > > Can you describe what changed outside of the
> >> >> >> >> >> >>> >> > > ChromeOS
> >> >> >> >> >> >>> >> > > bits?
> >> >> >> >> >> >>> >> >
> >> >> >> >> >> >>> >> > Nothing changed from the original CL outside of the
> >> >> >> >> >> >>> >> > corrections I
> >> >> >> >> >> >>> >> > had to
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> > make
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >> in
> >> >> >> >> >> >>> >> > filebrowse_ui.cc, and internet_options_handler.cc.
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >  Not true. I am now discovering you changed the API
> for
> >> >> >> >> >> >>> > AddTabWithURL
> >> >> >> >> >> >>> > in an
> >> >> >> >> >> >>> >> awkward and pervasive way (returning Browser as an
> out
> >> >> >> >> >> >>> >> parameter
> >> >> >> >> >> >>> >> when
> >> >> >> >> >> >>> >> every
> >> >> >> >> >> >>> >> client in non-ChromeOS code already has a valid
> >> >> >> >> >> >>> >> Browser),
> >> >> >> >> >> >>> >> and
> >> >> >> >> >> >>> >> changed
> >> >> >> >> >> >>> >> a
> >> >> >> >> >> >>> >> huge
> >> >> >> >> >> >>> >> amount of the codebase to reflect this.
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > Hi Ben,
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > I'm sorry that this slipped through, and has become an
> >> >> >> >> >> >>> > issue.
> >> >> >> >> >> >>> >  Do
> >> >> >> >> >> >>> > note
> >> >> >> >> >> >>> > that
> >> >> >> >> >> >>> > the
> >> >> >> >> >> >>> > changes you are referring to happened after you had
> >> >> >> >> >> >>> > signed
> >> >> >> >> >> >>> > off
> >> >> >> >> >> >>> > on
> >> >> >> >> >> >>> > the
> >> >> >> >> >> >>> > review
> >> >> >> >> >> >>> > process, and during the back-forth with dhg.
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > I added that callback because my first attempt at a
> fix
> >> >> >> >> >> >>> > (making
> >> >> >> >> >> >>> > use
> >> >> >> >> >> >>> > of
> >> >> >> >> >> >>> > the
> >> >> >> >> >> >>> > BrowserList::FindBrowserWithProfile function) was
> deemed
> >> >> >> >> >> >>> > as
> >> >> >> >> >> >>> > too
> >> >> >> >> >> >>> > fragile
> >> >> >> >> >> >>> > for
> >> >> >> >> >> >>> > callers of the various AddTabWithUrl routines.  See
> the
> >> >> >> >> >> >>> > patch
> >> >> >> >> >> >>> > history
> >> >> >> >> >> >>> > of
> >> >> >> >> >> >>> > filebrowse_ui.cc.
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > What is problematic with having these routines return
> a
> >> >> >> >> >> >>> > browser
> >> >> >> >> >> >>> > instance
> >> >> >> >> >> >>> > via a
> >> >> >> >> >> >>> > parameter?  It is possible that a new browser was
> >> >> >> >> >> >>> > created
> >> >> >> >> >> >>> > to
> >> >> >> >> >> >>> > service
> >> >> >> >> >> >>> > them,
> >> >> >> >> >> >>> > and
> >> >> >> >> >> >>> > that browser is not directly accessible via just the
> >> >> >> >> >> >>> > newly
> >> >> >> >> >> >>> > constructed
> >> >> >> >> >> >>> > tab-contents.
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > Let me know if I can help.
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > Jeff
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >  I would have appreciated a more accurate response
> here,
> >> >> >> >> >> >>> > given
> >> >> >> >> >> >>> > the
> >> >> >> >> >> >>> > amount
> >> >> >> >> >> >>> >> of
> >> >> >> >> >> >>> >> email I get it's hard for me to evaluate everything
> and
> >> >> >> >> >> >>> >> I
> >> >> >> >> >> >>> >> rely
> >> >> >> >> >> >>> >> on
> >> >> >> >> >> >>> >> people
> >> >> >> >> >> >>> >> to
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> > tell
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >> me what I should be looking at.
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >  I am going to correct the API problems this time. I
> may
> >> >> >> >> >> >>> > roll
> >> >> >> >> >> >>> > some
> >> >> >> >> >> >>> > or
> >> >> >> >> >> >>> > all
> >> >> >> >> >> >>> >> of
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> > this
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >> changelist back.
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >  -Ben
> >> >> >> >> >> >>> >>
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>> > http://codereview.chromium.org/2819086/show
> >> >> >> >> >> >>> >
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> http://codereview.chromium.org/2819086/show
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>

Powered by Google App Engine
This is Rietveld 408576698