summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_window.h
Commit message (Collapse)AuthorAgeFilesLines
* Move a bunch of dialog creation routines to browser_dialogs.h to break thebrettw@chromium.org2009-05-221-1/+1
| | | | | | | | | | | | | | dependency on the implementations of those views. This also moves that file into the browser:: namespace to avoid having all the functions in the global namespace. Rename the "parent" parameter to ShowHTMLDialog to a NativeWindow type to avoid nasty casting. I assume this argument was written before we had NativeWindow. Review URL: http://codereview.chromium.org/113728 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16743 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Take download shelf and infobar close animations into account during ↵estade@chromium.org2009-05-151-0/+6
| | | | | | | | | | render view sizing. http://crbug.com/11080 Review URL: http://codereview.chromium.org/113322 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16193 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at themes.glen@chromium.org2009-05-091-0/+4
| | | | | | | | | | | | This CL is paired with http://codereview.chromium.org/67284 This CL (for commit purposes) includes http://codereview.chromium.org/67284 BUG=4463,11232,11233,11234,11235 Review URL: http://codereview.chromium.org/99030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15704 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression I introduced where Stop/Go button would toggle state ↵pkasting@chromium.org2009-04-151-1/+1
| | | | | | | | | | | instantly instead of having protections against accidental user actions while the mouse was hovering the button. I elected to condense ChangeMode() and ScheduleChangeMode() into one function, which as a result became pretty simple. BUG=9843 Review URL: http://codereview.chromium.org/67156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13761 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds a confirmation box when closing the browser with in-progress ↵jcampan@chromium.org2009-04-091-0/+6
| | | | | | | | | | downloads. BUG=1028 TEST=Start several bug downloads, close the browser. A dialog shows up to warn you are about to lose the downloads. Try the wait and continue button. Try again with several windows, and in Incognito mode. Review URL: http://codereview.chromium.org/62131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13453 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the Find bar ownership to the Browser object for portability and ↵finnur@chromium.org2009-04-051-13/+5
| | | | | | | | testability purposes.BUG=None.TEST=No new functionality, just moving stuff around and as such it is covered by pre-existing tests. Review URL: http://codereview.chromium.org/60105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13134 0039d316-1c4b-4281-b951-d872f2087c98
* Move HTML dialogs out of their own tab contents type. Moved functions to newbrettw@chromium.org2009-04-031-2/+2
| | | | | | | | | | | | | file html_dialog_ui.* Move WebContents view creation into the constructor, which makes a bunch of extra calls to CreateView unnecessary. Remove unused CallJavascriptFunction() functions in DOMUI. Review URL: http://codereview.chromium.org/56065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13065 0039d316-1c4b-4281-b951-d872f2087c98
* Remove BrowserWindow::Init().estade@chromium.org2009-03-181-5/+0
| | | | | | | | This belongs as a private method of BrowserView. Neither mac nor linux uses it. Review URL: http://codereview.chromium.org/42298 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11982 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at Mac status bubble.avi@google.com2009-03-171-1/+3
| | | | | | Review URL: http://codereview.chromium.org/48070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11895 0039d316-1c4b-4281-b951-d872f2087c98
* Linux accelerators cleanup:estade@chromium.org2009-03-161-2/+4
| | | | | | | | | | | | | | | | - Give renderer a chance to handle accelerators before browser does. - Handle browser accelerators that aren't attached to any particular UI element in BrowserWindowGtk rather than in BrowserToolbarGtk - Use Browser::ExecuteCommand() to handle accelerator activation - Switch a random void* to gfx::NativeWindow - Enable three browser commands on linux : Focus Location, Focus Search, Open file This fully enables ctrl-l, ctrl-k, and ctrl-o. This fixes copy-pasta in the omnibox. This fixes the problem Dean described with <http://www.quirksmode.org/js/keys.html>. bug=8659 Review URL: http://codereview.chromium.org/42190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11759 0039d316-1c4b-4281-b951-d872f2087c98
* Make it so that dropdown selects don't deactivate the main frame when opened ↵ben@chromium.org2009-03-031-0/+6
| | | | | | http://crbug.com/8247 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10777 0039d316-1c4b-4281-b951-d872f2087c98
* Does two changes to appease chrome bot runs:sky@google.com2009-02-281-0/+3
| | | | | | | | | | | | | | | | | . Changes InfoBubble to properly initialize all fields in member initializer list and set the delegate before show on the off chance the bubble is deleted from show. This should no longer happen after the second change. . Only show the bookmark bubble if the browser window is active. I experimented with conditionally enabling the star and this turns out to be a bit error prone. BUG=none TEST=none Review URL: http://codereview.chromium.org/31016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10659 0039d316-1c4b-4281-b951-d872f2087c98
* The find bar should be owned and managed from the BrowserView, not the ↵finnur@google.com2009-02-241-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | WebContentsView, since it's part of the "chrome". Design Doc: http://dev.chromium.org/developers/design-documents/find-bar Things done: - Pulled all of the find bar stuff out of WebContentsView* since it's no longer needed. - Moved OnFindReply delegate method from RenderViewHostDelegate::View to RenderViewHostDelegate, since it's no longer implemented on the view. - Moved find control methods to WebContents. - Added recent find result state to WebContents. - Updated the UI tests to accommodate the changes in the state that is broadcast when results are discovered. - Updated the find bar layout to obtain its bounding box from the BrowserView, which knows about toolbars, bookmark bars etc. - Updated the find bar itself to handle the fact that it can be displayed for multiple different tabs. - Moved the find bar manipulation methods for testing from TabProxy to BrowserProxy, since the find bar is now a feature of the window, not the tab. - view.h: Don't lay out child views again if they have a layout manager, it already updated them. TEST=Find box should work as before. BUG=3245 Review URL: http://codereview.chromium.org/27025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10231 0039d316-1c4b-4281-b951-d872f2087c98
* Fix two problems with bookmarking and fullscreen mode:pkasting@chromium.org2009-02-181-3/+0
| | | | | | | | | | | * The bubble didn't close when toggling in/out of fullscreen mode. This was because we only ever closed on an activation change, rather than on a window move. Made the bubble close when the window moves. This required refactoring the bubble code to have a static instance; once I did that I also cleaned up the rest of the code a bit to not check if the bubble was already showing, and just let the bookmark bubble itself take care of this. * The bubble positioning was wrong in fullscreen mode. This was because the toolbar layout was in turn wrong in fullscreen mode. Made the toolbars able to handle being 0-height. BUG=534 TEST=Bookmark a page and hit F11. The bubble should disappear. Hit ctrl-D. The bubble should appear at the right spot, not floating in the middle of the screen. Hit F11 again. The bubble should disappear, and the toolbar button should be drawn undepressed. Review URL: http://codereview.chromium.org/21479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9982 0039d316-1c4b-4281-b951-d872f2087c98
* Fix window close and application quit on Mac to call the proper Browser ↵pinkerton@chromium.org2009-02-181-1/+5
| | | | | | | | machinery in the proper order. Add comments to BrowserWindow::Close to stress its assumptions. DCHECK that nobody adds a NULL browser to the browser list. Review URL: http://codereview.chromium.org/20460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9973 0039d316-1c4b-4281-b951-d872f2087c98
* Preliminary fullscreen mode support.pkasting@chromium.org2009-02-181-0/+4
| | | | | | | | | There is no UI for this (yet), just F11 to toggle in and out. BUG=534 Review URL: http://codereview.chromium.org/20423 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9950 0039d316-1c4b-4281-b951-d872f2087c98
* When internal functions try to focus the location bar, check whether it's ↵pkasting@chromium.org2009-02-171-0/+4
| | | | | | | | | focusable, and clear the focus if it's not. This shouldn't kick in in any cases today (I don't think), but it will matter in fullscreen mode, where creating a new tab should not attempt to focus the (unfocusable) location bar, but should not do nothing either, since these leaves focus in a hosed state. There are other choices here. I could make View::RequestFocus() try and clear the focus if the view is not focusable. That seems likely to cause side-effects unless I restore a lot of the calls to IsFocusable() that I previously removed. I also don't know whether sticking this on BrowserWindow was the right approach; if there's a better spot architecturally, speak up. Review URL: http://codereview.chromium.org/21368 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9882 0039d316-1c4b-4281-b951-d872f2087c98
* Make some functions const. This will help with my fullscreen mode changes.pkasting@chromium.org2009-02-131-1/+1
| | | | | | | The only tricky bit here is how GetBookmarkBarView() is no longer guaranteed to return non-NULL. The only caller of this is the automation framework, in one place, which explicitly NULL-checks the result and does the right thing, so there should not be any problems. Review URL: http://codereview.chromium.org/23026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9764 0039d316-1c4b-4281-b951-d872f2087c98
* This is an attempt at finding the reason for the page_cycler slowness caused bymad@chromium.org2009-02-121-2/+8
| | | | | | | | | | | | | | | the new resize corner. Local experiment led me to believe that it is WebKit that is slower when we specify a resize corner area. To validate this hypothesis, I always return an empty rect to WebKit, but I still compute and push the rect to the render widget and I also draw the bitmap even if this will cause it to be drawn on top of the scroll bars when there is only one. TBR=brettw git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9654 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9493.kuchhal@chromium.org2009-02-101-8/+2
| | | | | | Review URL: http://codereview.chromium.org/21231 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9517 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding of http://codereview.chromium.org/16488.mad@chromium.org2009-02-101-2/+8
| | | | | | | | Adding proper project dependency in chrome.sln. Review URL: http://codereview.chromium.org/21188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9493 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9408.brettw@chromium.org2009-02-091-8/+2
| | | | | | Review URL: http://codereview.chromium.org/20190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9414 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new resizer corner.mad@chromium.org2009-02-091-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To display a resize bitmap and handle the mouse interactions as requested in http://code.google.com/p/chromium/issues/detail?id=458. BUG=458 There are unfortunately two cases to handle and they must be handled separately. The first one is when there are no bottom shelf like the download bar, and the case where there is one. For the case without, we must draw on top of what we receive from WebKit, so we intercept the bitmap in RenderWidgetHostViewWin::OnPaint() so that we can draw the resize corner bitmap on top of it (taking into account whether we are in a right to left language or not). For the case where we have a bottom shelf, we use a dedicated view that we properly layout on top of the bottom shelf view (which takes care of handling the RTL language case for us). Same split for the mouse interactions. Without the bottom shelf, we must deal with it in RenderWidgetHostViewWin::OnMouseEvent() by sending the root window a WM_NCLBUTTONDOWN message with either HTBOTTOMRIGHT or HTBOTTOMLEFT (based on the RTL setting) and let the OS take care of the resizing. IF we have a bottom shelf, we must deal with the mouse interaction in BrowserView::NonClientHitTest() to either return HTBOTTOMRIGHT or HTBOTTOMLEFT (again, based on the RTL setting) and, again, let the OS take care of the resizing. More details here: http://code.google.com/p/chromium/wiki/BrowserViewResizer git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9408 0039d316-1c4b-4281-b951-d872f2087c98
* Make the new linux browser shut down cleanly.erg@google.com2009-02-061-1/+0
| | | | | | | Review URL: http://codereview.chromium.org/21112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9297 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land this from earlier... unit tests no longer crash.ben@chromium.org2009-01-271-7/+11
| | | | | | | | | Extract a cross platform LocationBar interface. Adds a TestLocationBar object that unit tests can use to mock the location bar (fixes NULL deref). Review URL: http://codereview.chromium.org/18851 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8745 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 8693 because it breaks the unit_tests.nsylvain@chromium.org2009-01-271-11/+7
| | | | | | | TBR Review URL: http://codereview.chromium.org/19009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8704 0039d316-1c4b-4281-b951-d872f2087c98
* Extract a cross-platform LocationBar interface accessible via the ↵ben@chromium.org2009-01-271-7/+11
| | | | | | | | BrowserWindow interface that the Browser object can use to do locationbar-ey things without directly depending on Views. Review URL: http://codereview.chromium.org/18826 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8693 0039d316-1c4b-4281-b951-d872f2087c98
* Two things:ben@chromium.org2009-01-241-0/+6
| | | | | | | | | - remove views dependencies from browser by moving profile related dialog actions into BrowserWindow. - simplify the include dependencies in TabStripModel (making it easier to bring up on mac) by implementing more of its high level functionality in the delegate. Review URL: http://codereview.chromium.org/18736 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8606 0039d316-1c4b-4281-b951-d872f2087c98
* Don't expose the go and star button views directly through the BrowserWindow ↵ben@chromium.org2009-01-231-12/+14
| | | | | | | | interface (for porting). Review URL: http://codereview.chromium.org/18540 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8572 0039d316-1c4b-4281-b951-d872f2087c98
* Move automation specific accessors to their own interface to make their ↵ben@chromium.org2009-01-221-3/+15
| | | | | | | | purpose clear, and make porting easier. Review URL: http://codereview.chromium.org/18481 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8435 0039d316-1c4b-4281-b951-d872f2087c98
* Provides the infrastructure for Browser unit tests that create asky@google.com2009-01-141-0/+1
| | | | | | | | | | | | | BrowserWindow with only a TabStrip. I also converted two ui tests over to unit tests to make sure it all worked. I had to add a bunch of null checks to Browser and a couple of other places. BUG=none TEST=none Review URL: http://codereview.chromium.org/17386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8007 0039d316-1c4b-4281-b951-d872f2087c98
* Rewire the throbber so that the timer for updating lives on BrowserView, not ↵ben@chromium.org2008-11-141-5/+4
| | | | | | | | | TabStrip, so that app window/popup throbber updating doesn't need to be plumbed through the tabstrip and the browser object! http://crbug.com/3297 Review URL: http://codereview.chromium.org/10761 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5513 0039d316-1c4b-4281-b951-d872f2087c98
* Rid most of the Browser object of HWND dependencies.ben@chromium.org2008-11-141-8/+37
| | | | | | Review URL: http://codereview.chromium.org/10929 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5492 0039d316-1c4b-4281-b951-d872f2087c98
* Re-do the way browser windows are shown:ben@chromium.org2008-11-141-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove the path from WinMain to the Browser object passing the show_command. For the Browser object, this is a problem since this value isn't portable. For the code in general it involves a lot of ugly wiring. It's completely unnecessary since the value is obtainable via GetStartupInfo. - Remove show_command plumbing from all over the place (session restore, web app launcher, etc) Change the way browser windows are constructed: - The browser constructor now takes just a type and a profile, and simply initializes the object. - Some configuration that used to be part of the constructor that was only used in one or two use cases (initial bounds, maximized state, web app name) are split into separate setters. - Window creation is split out into a separate step to be called post configuration. - Assorted static helper functions added to Browser to make construction of common types easy. - Remove Browser::Show in favor of BrowserWindow::Show - Adjust all callers to use the new helpers. Change the way ChromeViews restores window placement: - Split restored size determination from restored maximized determination. They are needed by the code at different times. Size restoration happens when the window is constructed and Window::SetInitialBounds is called. Maximized state restoration happens when the window is shown for the first time and SW_SHOWMAXIMIZED or SW_SHOWNORMAL is needed. Thus, replace WindowDelegate::RestoreWindowPosition with WindowDelegate::RestoreWindowBounds and WindowDelegate::RestoreMaximizedState. - Window::SetInitialBounds calls WindowDelegate::RestoreWindowBounds - Window::Show calls WindowDelegate::RestoreMaximizedState - Adjusts all WindowDelegate implementations that override RestoreWindowPosition to implement these new methods instead. - Move "playback/record" mode window size setting from browser_init to Browser::RestoreWindowBounds. - Provide a virtual function on Window called GetShowState that determines the default show state to be used when Window::Show is called. For most windows and dialogs this is SW_SHOWNORMAL. AeroGlassFrame/OpaqueFrame (the browser window frames) override this since they're the app's main windows to return the value provided by GetStartupInfo which gives the value from the app shortcut. http://crbug.com/3557 Review URL: http://codereview.chromium.org/10896 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5417 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup and rearrange methods on BrowserWindow interface.beng@google.com2008-11-111-67/+15
| | | | | | Review URL: http://codereview.chromium.org/10291 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5180 0039d316-1c4b-4281-b951-d872f2087c98
* This is r4523, with a few changes to make things work under Vista.erg@google.com2008-11-051-13/+0
| | | | | | | | | | | | | - Explicitly set_delegate(NULL) before releasing a TabContents. (I think the order messages are getting handled is different from XP; this only seems neccessary under Vista.) - r4523 and someone elses change added entries to theme_resources.rc at roughly the same time, causing happy fun crashes. - Roll in sgk's SConscript fix. Review URL: http://codereview.chromium.org/9373 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4799 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change r4523 because Vista doesn't like it.erg@google.com2008-11-041-0/+13
| | | | | | | TBR=nsylvain git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4539 0039d316-1c4b-4281-b951-d872f2087c98
* Redo how we block popups. Rip out the old constrained popup window cruft ↵erg@google.com2008-11-041-13/+0
| | | | | | | | (while leaving the HTTP authentication dialog support) and add a new type of constrained window which owns all blocked popups. Rip out dead unit tests. Review URL: http://codereview.chromium.org/8782 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4523 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeViews namespace to viewsben@chromium.org2008-10-161-4/+4
| | | | | | http://crbug.com/2188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 0039d316-1c4b-4281-b951-d872f2087c98
* Readding UI test I pulled yesterday; hopefully the bots will like it more ↵finnur@google.com2008-09-051-1/+4
| | | | | | | | now. I need to wait for the bookmark bar to become visible so I plumbed in similar code as for the Find box instead of using Sleep's. Review URL: http://codereview.chromium.org/473 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1809 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Allow popups using the new frames to be sized correctly. This involved a ↵beng@google.com2008-08-201-0/+1
| | | | | | | | | slight tweak to how RestoreWindowPosition on Window works - if the window is opened with specified bounds, we still ask the delegate to try and restore the position. The delegate can use the provided bounds as a hint (in the popup case the bounds aren't the true layout bounds of the window, rather the rect contains the window position and content area size) to return the actual bounds of the window. B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1117 0039d316-1c4b-4281-b951-d872f2087c98
* Large patch set (159 files total) to cleanup the includes.maruel@google.com2008-08-151-6/+1
| | | | | | | | | | - Slightly reduce the size of the generated .lib files ~3%. - Reduce the number of implicit and explicit atl and windows includes. hooray! - Help incremental build by reducing the number of unnecessary included files. - Split some template class in two, one base class for the common code and the specialization that inherits from the base class. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@937 0039d316-1c4b-4281-b951-d872f2087c98
* Another Frame Grab-Bagbeng@google.com2008-08-111-20/+15
| | | | | | | | | | | | | | | - makes more stuff in Browser object only happen if you're using the old frames- rename BrowserWindow::Update to BrowserWindow::UpdateToolbar since that's what it does - add window position save/restore handling to Browser- remove BrowserWindow::BrowserDidPaint - relic from HaloFrame days- remove BrowserWindow::GetRootView - unused and exposes impl details- remove BrowserWindow::DetachFromBrowser - unused - store BrowserView2* on HWND's property list so infobubbles can access it later- both frames (Opaque and AeroGlass) notify the BrowserView2 when they're moved so BrowserView2 can reposition the status bubble and close the autocomplete popup - remove BrowserView2::ShowTabContents - no longer used - remove BrowserView2::ShelfVisibilityChanged - no longer used - remove BrowserView2::SetWindowTitle - never used - remove BrowserView2::ProfileChanged - now called from TabSelectedAt- properly unhook infobars etc when a tab is detached B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@660 0039d316-1c4b-4281-b951-d872f2087c98
* Grab bag of random cleanups, implementation of some more methods, etc. I'm ↵beng@google.com2008-08-051-0/+5
| | | | | | | | going to become more methodical about this soon, I promise. B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@377 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the BrowserView to the XPFrame/VistaFrame, and moves the ↵beng@google.com2008-08-011-3/+12
| | | | | | | | | | | | | | | | | | | | BrowserToolbarView and StatusBubble into it. Also restructures the creation of the Frame. This is significant! The Browser now constructs a frame via a new static BrowserWindow::CreateBrowserWindow method (see browser_window_factory.cc). Recall the diagram in the architectural overview doc - the BrowserView object is the one that implements the interface that the Browser object uses to communicate with the UI. The Browser object communicates to the BrowserView directly through this interface, but not directly to the frame. What actually happens right now in CreateBrowserWindow is that an XP/VistaFrame is constructed, but this is _not_ the object returned to the Browser, rather when the XP/VistaFrame is init'ed, it constructs a BrowserView that also implements BrowserWindow. This is the object that's returned to the Browser. Since both BrowserView and XP/VistaFrame implement BrowserWindow, I am now able to gradually migrate functionality from the frames to BrowserView. During this process BrowserWindow functions not handled yet by BrowserView will be forwarded to the appropriate frame. Modifies the Accessibility UI tests to account for this extra level of indirection (should only be temporary while I'm moving things around). This does actually pass the UI tests. See the whiteboard in my office for a diagram. This is a bit confusing right now since there's so much going on. Sadly the only way to get where we need to go incrementally is to make a mess on the way. B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245 0039d316-1c4b-4281-b951-d872f2087c98
* Move the BookmarkBarView into the frames.beng@google.com2008-08-011-0/+4
| | | | | | | | Yes this causes duplicate code, but only for a brief while until I can bring up BrowserView at which point this code will move from the frames to that object. "It gets worse before it gets better". B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213 0039d316-1c4b-4281-b951-d872f2087c98
* Move BrowserToolbarView to the frames (XPFrame/VistaFrame).beng@google.com2008-07-311-0/+22
| | | | | | | | | | This causes some temporary duplication of code in xp/vista frames but it will be temporary. My goal is to move all the top level browser level views into the frames. From there, I will move them from the frames into their new home - BrowserView (chrome/browser/views/frames/browser_view.cc), and each frame will host a BrowserView. This will reduce duplication of code. To make this change I had to add a bunch of methods to the BrowserWindow (nee ChromeFrame) interface to provide access to some of the toolbar's contents. Excuse the ugly API, we will be improving this incrementally. B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeFrame->BrowserWindowbeng@google.com2008-07-301-0/+182
Move static utility functions to FrameUtil class. B=1294302 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102 0039d316-1c4b-4281-b951-d872f2087c98