summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tabs
Commit message (Collapse)AuthorAgeFilesLines
* Reverting 15399.maruel@chromium.org2009-05-064-1/+18
| | | | | | | broke purify Review URL: http://codereview.chromium.org/115026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15409 0039d316-1c4b-4281-b951-d872f2087c98
* Change Browser::GetIndexOfController to GetIndexOfTabContents. Now that webrettw@chromium.org2009-05-064-18/+1
| | | | | | | | don't have tab contents switching, identifying tabs by their controller is weird, so we should gradually move to only using TabContents*. Review URL: http://codereview.chromium.org/115018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15399 0039d316-1c4b-4281-b951-d872f2087c98
* honor index in createTab()rafaelw@chromium.org2009-05-063-48/+65
| | | | | | | | | BUG=11200 R=brettw,beng Review URL: http://codereview.chromium.org/99300 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15392 0039d316-1c4b-4281-b951-d872f2087c98
* Move scoped_vector.h and stl_util-inl.h to base/ben@chromium.org2009-05-052-2/+2
| | | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/107001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15272 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a regression that the sad tab favicon is not displayed when a tab crashes.brettw@chromium.org2009-05-041-1/+3
| | | | | | | | | | | | | | This regressed in my favicon/title updating change because the crashed state is not updated on the codepath, since it comes from the tab. The other approach would have been to make this call through the "update everything" codepath for tbe state changing, but that's executed on a timer, and it's nice to show the tab crash right away since the check is very inexpensive. BUG=http://crbug.com/10756 Review URL: http://codereview.chromium.org/99341 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15201 0039d316-1c4b-4281-b951-d872f2087c98
* Replace all occurrances of WebContents with TabContents.brettw@chromium.org2009-05-042-4/+4
| | | | | | Review URL: http://codereview.chromium.org/99177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15194 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding this, it was missing the Mac unit-test change, that was breaking ↵jcampan@chromium.org2009-04-303-8/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | the build. TBR=ben Closing the last tab with a download in-progress would cause the tab to be closed and become unusable if the user decides not to proceed with the browser shutdown. This is because we check for in-progress downloads when the browser is closed, and the tab is closed before that, leaving the tab-strip in a bad state. This CL ensures we also bring-up the confirmation dialog when the last tab is closed. BUG=10680 TEST=Start downloading a big file. While the file is downloading, close all tabs. When closing the last tab, the in-progress download dialog should be shown. Select the 'Wait for downloads', the download tab should be shown and the previous tab should still be displayed and functional. Close all tabs again, this time select the 'Close and cancel downloads' option, the browser should be closed. Review URL: http://codereview.chromium.org/100210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14952 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 14948.jcampan@chromium.org2009-04-303-29/+8
| | | | | | | | | Broke the Mac build. TBR=ben Review URL: http://codereview.chromium.org/99224 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14949 0039d316-1c4b-4281-b951-d872f2087c98
* Closing the last tab with a download in-progress would cause the tab to bejcampan@chromium.org2009-04-303-8/+29
| | | | | | | | | | | | | | | | | | | | | | | closed and become unusable if the user decides not to proceed with the browser shutdown. This is because we check for in-progress downloads when the browser is closed, and the tab is closed before that, leaving the tab-strip in a bad state. This CL ensures we also bring-up the confirmation dialog when the last tab is closed. BUG=10680 TEST=Start downloading a big file. While the file is downloading, close all tabs. When closing the last tab, the in-progress download dialog should be shown. Select the 'Wait for downloads', the download tab should be shown and the previous tab should still be displayed and functional. Close all tabs again, this time select the 'Close and cancel downloads' option, the browser should be closed. Review URL: http://codereview.chromium.org/99195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14948 0039d316-1c4b-4281-b951-d872f2087c98
* Searching by keyword now generates a visit against the site with asky@chromium.org2009-04-271-0/+1
| | | | | | | | | | | | | | | | transition type of TAB_TO_SEARCH. This visit increments the typed count and ensures if you use TAB_TO_SEARCH you still get autocompleted to the site. I'll add some tests for this, but want to make sure we're ok with it before I do that. BUG=3633 TEST=will be covered by unit tests. Review URL: http://codereview.chromium.org/93087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14609 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land my change to clean up TabContents/WebContents ownership. Thisbrettw@chromium.org2009-04-203-33/+29
| | | | | | | | | | | | | | | | | | | | | | | | is the same except in tab_strip_model_unittest I fixed a leak by making a WebContents on the stack, I added a factory to the SiteInstance unittest to prevent another leak, and I re-added a NULL set to the external_tab_container. Fix the ownership model of TabContents and NavigationController. Previously the NavigationController owned the TabContents, and there were extra steps required at creation and destruction to clean everything up properly. NavigationController is now a member of TabContents, and there is no setup or tear down necessary other than the constructor and destructor. I could remove the tab contents creation in the NavigationController, as well as all the weird destruction code in WebContents which got moved to the destructor. I made the controller getter return a reference since the ownership is clear and there is no possibility of NULL. This required changing a lot of tiles, but many of them were simplified since they no longer have to NULL check. Previous review URL: http://codereview.chromium.org/69043 Review URL: http://codereview.chromium.org/67294 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14053 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 14005.brettw@chromium.org2009-04-183-27/+31
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14006 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ownership model of TabContents and NavigationController. Previously thebrettw@chromium.org2009-04-183-31/+27
| | | | | | | | | | | | | | | | | NavigationController owned the TabContents, and there were extra steps required at creation and destruction to clean everything up properly. NavigationController is now a member of TabContents, and there is no setup or tear down necessary other than the constructor and destructor. I could remove the tab contents creation in the NavigationController, as well as all the weird destruction code in WebContents which got moved to the destructor. I made the controller getter return a reference since the ownership is clear and there is no possibility of NULL. This required changing a lot of tiles, but many of them were simplified since they no longer have to NULL check. Review URL: http://codereview.chromium.org/69043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14005 0039d316-1c4b-4281-b951-d872f2087c98
* Due to some crashes in teardown, change NotificationObserversmbelshe@google.com2009-04-172-5/+5
| | | | | | | | | | for TAB_CONTENTS_DESTROYED to use the NotificationRegistrar to ensure proper cleanup. Review URL: http://codereview.chromium.org/79051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13970 0039d316-1c4b-4281-b951-d872f2087c98
* ad an argument to MoveTabContentsAt() that switches whether the moved tab is ↵rafaelw@chromium.org2009-04-163-5/+30
| | | | | | | | set as the selected tab, or if the selected tab is left selected (but possibly moved). Review URL: http://codereview.chromium.org/63153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13823 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TabContnetsType from everywhere.brettw@chromium.org2009-04-153-68/+13
| | | | | | | | I also removed the notion of the "active" tab contents since there is only one per tab now, and all the messages to replace them. Review URL: http://codereview.chromium.org/67173 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13808 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TabContentsType from the NavigationController external interface and inbrettw@chromium.org2009-04-151-2/+2
| | | | | | | some related areas. I removed all uses of this in the previous patch. Review URL: http://codereview.chromium.org/73057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13730 0039d316-1c4b-4281-b951-d872f2087c98
* Added undo tab closing item to Tab menu.idanan@chromium.org2009-04-143-0/+17
| | | | | | Review URL: http://codereview.chromium.org/62151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13662 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land popup routing fix for browser.ben@chromium.org2009-04-073-33/+7
| | | | | | | | | | Just the bugfix + test now. Test is disabled pending a working framework. http://crbug.com/8472 Review URL: http://codereview.chromium.org/59007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13282 0039d316-1c4b-4281-b951-d872f2087c98
* Clarify the documentation for loading_only on TabRenderer::UpdateData.brettw@chromium.org2009-04-071-0/+13
| | | | | | Review URL: http://codereview.chromium.org/63029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13256 0039d316-1c4b-4281-b951-d872f2087c98
* Make the RenderViewHostFactory a global. This prevents us from having to passbrettw@chromium.org2009-04-071-1/+1
| | | | | | | | | a factory pointer around all the time. Removing TestTabContents will require making the Browser object keep track of the Factory pointer as well, so I think the global is the best approach and cleans some things up. Review URL: http://codereview.chromium.org/62044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13255 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more reliance on tab contents types.brettw@chromium.org2009-04-051-116/+32
| | | | | | Review URL: http://codereview.chromium.org/62041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13135 0039d316-1c4b-4281-b951-d872f2087c98
* Make the throbber throb sooner after you navigate. This fixes the new tab page,brettw@chromium.org2009-04-043-8/+11
| | | | | | | | | | | | | | which would not start throbbing until the load committed. I think this was always broken, but switching the tab contents types covered it up. Now I have a flag that goes along with the tab updating that indicates if it's a load update or a full update. This is necessary to avoid updating the title to the page's URL until it does actually commit. BUG=9310 Review URL: http://codereview.chromium.org/60066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13131 0039d316-1c4b-4281-b951-d872f2087c98
* Allow live tabs to be dragged out of a window. Change TabStripModel such thatpinkerton@chromium.org2009-03-263-17/+31
| | | | | | | the caller must now explicitly show the newly created browser rather than it happening automatically. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12550 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup in chrome/browserphajdan.jr@chromium.org2009-03-252-12/+12
| | | | | | | | | | - make more things const - remove unreferenced declaration of GetGoButton - fix indentation in one place Review URL: http://codereview.chromium.org/53053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12475 0039d316-1c4b-4281-b951-d872f2087c98
* Merge DOMUIContents into WebContents.brettw@chromium.org2009-03-171-2/+4
| | | | | | | I did a lot of cleanup of the DOM UI system as part of this. Review URL: http://codereview.chromium.org/42227 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11925 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TabContents from scaffolding. Yay!pinkerton@chromium.org2009-03-112-12/+1
| | | | | | Review URL: http://codereview.chromium.org/43039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11435 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-104-5/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGE.maruel@google.com2009-03-052-3/+4
| | | | | | | Split the lines >80 cols. (Part 1) Review URL: http://codereview.chromium.org/39206 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11032 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the TAB_CONTENTS_NEW_TAB_UI tab contents type. This was not actually usedbrettw@chromium.org2009-03-052-2/+5
| | | | | | | now, so everytime this appears was dead code. Review URL: http://codereview.chromium.org/39200 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11024 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the tab strip controller to use a list of controllers rather than relying onpinkerton@chromium.org2009-02-271-1/+3
| | | | | | | a map of TabContents to controllers since the TabContents can change with no way to update the map. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10605 0039d316-1c4b-4281-b951-d872f2087c98
* Coalesce more hardcoded schemes to using predefined constants.brettw@chromium.org2009-02-261-1/+2
| | | | | | Review URL: http://codereview.chromium.org/31008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10437 0039d316-1c4b-4281-b951-d872f2087c98
* Enable history and downloads by default, port NewTabUI from DOMUIHost to DOMUI.glen@chromium.org2009-02-251-2/+2
| | | | | | | NewTabUI is only included on OS(WIN) because DOMUI doesn't appear to have been ported. Review URL: http://codereview.chromium.org/28104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10344 0039d316-1c4b-4281-b951-d872f2087c98
* Move opener/group relationship forgetting on navigation into TabStripModel ↵ben@chromium.org2009-02-104-19/+166
| | | | | | | | from browser, and write unit tests for it. Review URL: http://codereview.chromium.org/20233 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9518 0039d316-1c4b-4281-b951-d872f2087c98
* Add in NavigationController to linux and mac. pinkerton@chromium.org2009-02-051-2/+2
| | | | | | Review URL: http://codereview.chromium.org/21064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9226 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most header file dependencies on the notification type list. It isbrettw@chromium.org2009-02-012-4/+7
| | | | | | | | | | | really painful to add more types, since lots of headers include the notification service to derive from the notification observer. This splits that out, so much less of the project should end up including notification_types.h ---Paths modified but not in any changelist: Review URL: http://codereview.chromium.org/19744 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9020 0039d316-1c4b-4281-b951-d872f2087c98
* Porting profiles to the Mac.avi@chromium.org2009-01-281-2/+3
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* remove scaffolding mock of TabStripModel and replace it with the real deal. ↵pinkerton@google.com2009-01-272-5/+14
| | | | | | | | Remove some more ifdefs in Browser to implement delegate overrides. Review URL: http://codereview.chromium.org/19019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8740 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the TabStripModelDelegate can never be NULL.ben@chromium.org2009-01-243-64/+68
| | | | | | | TBR=brettw Review URL: http://codereview.chromium.org/18578 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8612 0039d316-1c4b-4281-b951-d872f2087c98
* Two things:ben@chromium.org2009-01-243-73/+26
| | | | | | | | | - 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
* Move files out of browser and into either renderer_host or tab_contents.brettw@chromium.org2009-01-221-1/+1
| | | | | | | This also fixes a crash in the web contents unit test in a commented-out test and re-enable it. Review URL: http://codereview.chromium.org/18504 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8470 0039d316-1c4b-4281-b951-d872f2087c98
* Move metrics files into a subdirben@chromium.org2009-01-161-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18302 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8156 0039d316-1c4b-4281-b951-d872f2087c98
* Move search code to a subdirben@chromium.org2009-01-161-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8148 0039d316-1c4b-4281-b951-d872f2087c98
* Fie.ben@chromium.org2009-01-151-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8111 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for Issue 3258: Tabs created when tabstrip is compressed pending resizeben@chromium.org2009-01-151-1/+1
| | | | | | | | | | | | | | | | relayout should not force resize relayout. This is proposed solution one from the comment#5 which is to create new tabs without resizing existing tabs unless there is no room for the new tab. BUG=3258 Change from Itai Danan (idanan@google.com) Code review: http://codereview.chromium.org/14050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8109 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of TabContents related files into a tab_contents subdirben@chromium.org2009-01-154-9/+9
| | | | | | Review URL: http://codereview.chromium.org/18250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8058 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the tab restore service persist closed tabs/windows to disk andsky@google.com2008-12-061-1/+1
| | | | | | | | | | | | | | | | | reload them when asked. Sorry for largish looking change. It's made big by refactoring common code between TabRestoreService and SessionService into a common superclass. At the same time I removed some dead code and shuffled the session related classes into a single directory for easier perusal. BUG=384 TEST=close the browser, start the browser and make sure the new tab page shows closed windows/tabs from the previous session. Review URL: http://codereview.chromium.org/13152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6490 0039d316-1c4b-4281-b951-d872f2087c98
* Adds various docking positions when dragging around a tab. I've addedsky@google.com2008-11-203-6/+14
| | | | | | | | | | | | | | | | | | | | | | | the ability to dock to the following locations: Maximize the window on drop. Resize the window to fill up the left, bottom, or right half of the monitor. Tile the newly created window with an existing chrome window such that the two are on top of each other and fill the height of the monitor, or tiled such that they fill the width of the monitor. The graphics suxor. Glen says he'll come up with something better once its landed. BUG=none TEST=4628 Review URL: http://codereview.chromium.org/11325 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5797 0039d316-1c4b-4281-b951-d872f2087c98
* Land this change again now I've fixed the crash.ben@chromium.org2008-11-191-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5669 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 5596 because it broke the buildnsylvain@chromium.org2008-11-181-1/+1
| | | | | | Review URL: http://codereview.chromium.org/11439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5598 0039d316-1c4b-4281-b951-d872f2087c98