summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tabs
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Last couple of bits of new-frame related cleanup:ben@chromium.org2008-11-181-1/+1
| | | | | | | | | | | | | - Remove frame_util.cc, moving functions to BrowserList (endsession) and BrowserView (GetBrowserWindowForHWND) - Tidy up interface for TabIconView model. The model now sources only the information it needs (loading state and favicon). - Replace BrowserType class with an enum on Browser. http://crbug.com/2320 http://crbug.com/3363 Review URL: http://codereview.chromium.org/10786 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5596 0039d316-1c4b-4281-b951-d872f2087c98
* Rewire the throbber so that the timer for updating lives on BrowserView, not ↵ben@chromium.org2008-11-143-22/+0
| | | | | | | | | 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
* fix bustageben@chromium.org2008-11-141-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5497 0039d316-1c4b-4281-b951-d872f2087c98
* Rid most of the Browser object of HWND dependencies.ben@chromium.org2008-11-142-8/+5
| | | | | | Review URL: http://codereview.chromium.org/10929 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5492 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build bustage:ben@chromium.org2008-11-141-1/+1
| | | | | | | | | - Apparently blank tabs must have NewTabUIURL as their URL. - flag wasn't initialized. Review URL: http://codereview.chromium.org/10721 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5427 0039d316-1c4b-4281-b951-d872f2087c98
* Re-do the way browser windows are shown:ben@chromium.org2008-11-143-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* More cleanup in Browser:ben@chromium.org2008-11-111-1/+1
| | | | | | | | | | - remove "RunSimpleFrameMenu" method that isn't used anymore. - rename Browser::GetType() to Browser::type() Review URL: http://codereview.chromium.org/10605 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5209 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup and rearrange methods on BrowserWindow interface.beng@google.com2008-11-112-5/+0
| | | | | | Review URL: http://codereview.chromium.org/10291 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5180 0039d316-1c4b-4281-b951-d872f2087c98
* Makes form resubmission dialog work again. This was a regressionsky@google.com2008-10-301-1/+1
| | | | | | | | | | | introduced during NavigationController refactoring. BUG=2616 TEST=see bug Review URL: http://codereview.chromium.org/8865 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4212 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb the referrer throughout the OpenURL APIs.ericroman@google.com2008-10-273-3/+5
| | | | | | | | | | | | | http://code.google.com/p/chromium/issues/detail?id=3224 Caveats: * Did not update TabNavigation yet. Hence session restore will continue to load the tabs with empty referrer. * Did not plumb referrer into incognito url open. (Not sure what the right thing to do is here with respect to privacy vs compatibility.) * Did not plumb referrer throughout the automation controller. No functional impact here, but it makes the code inconsistent with the non-automation version. Review URL: http://codereview.chromium.org/8186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4036 0039d316-1c4b-4281-b951-d872f2087c98
* more bustage fixesben@chromium.org2008-10-171-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3556 0039d316-1c4b-4281-b951-d872f2087c98
* Convert SchedulePaint and a few other methods to use gfx types.ben@chromium.org2008-10-171-1/+1
| | | | | | | http://crbug.com/2186 Review URL: http://codereview.chromium.org/7468 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3550 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an old leak in tab_strip_model_unittest which had recently contributed ↵erikkay@google.com2008-09-181-0/+7
| | | | | | | | to a new leak showing up. The leak was caused by not cleaning up after ReplaceTabContents. Review URL: http://codereview.chromium.org/2954 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2374 0039d316-1c4b-4281-b951-d872f2087c98
* This is almost a complete rewrite of DidNavigate and the associated ↵brettw@google.com2008-09-141-17/+0
| | | | | | | | | | NavigationController logic. The approach is that the NavigationController should be responsible for the logic and memory management of navigation. Previously, half the logic and memory management lived in WebContents which made it very hard to figure out what was going on. I split out the various navigation types into separate functions, which then copy and update any existing NavigationEntry as necessary. Previously, WebContents would make a new one which would be manually populated with random fields (I think some were forgotten, too), and then the NavigationController may or may not commit it. Review URL: http://codereview.chromium.org/479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2201 0039d316-1c4b-4281-b951-d872f2087c98
* Move View components of the Browser's tab strip into the browser_views ↵beng@google.com2008-09-1213-5303/+0
| | | | | | | | | project, and into the views/ subdirectory on disk. B=2198 Review URL: http://codereview.chromium.org/3020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2140 0039d316-1c4b-4281-b951-d872f2087c98
* Bounds check the tab index before attempting to index into the TabStripModel ↵beng@google.com2008-09-091-6/+6
| | | | | | | | | using it. Under some circumstances, it seems like it's possible for the user to close or otherwise manipulate a Tab whose corresponding entry has already been removed from the model. This might be related to animations and performance constraints. B=1366019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1949 0039d316-1c4b-4281-b951-d872f2087c98
* backing out checkin to closed treebeng@google.com2008-09-091-6/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1938 0039d316-1c4b-4281-b951-d872f2087c98
* Bounds check the tab index before attempting to index into the TabStripModel ↵beng@google.com2008-09-091-6/+6
| | | | | | | | | using it. Under some circumstances, it seems like it's possible for the user to close or otherwise manipulate a Tab whose corresponding entry has already been removed from the model. This might be related to animations and performance constraints. B=1366019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1936 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanup to OneShotTimer and RepeatingTimer: moves more of the member ↵darin@google.com2008-09-032-31/+7
| | | | | | | | | | | variables into the Task subclass. Also included in this change: deprecate MessageLoop::timer_manager(), and change consumers over to use OneShotTimer or RepeatingTimer. R=beng BUG=1346553 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1684 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug where it was possible for tab to get the wrong title. Camesky@google.com2008-08-292-9/+47
| | | | | | | | | | | | across this in investigating another problem. BUG=1307747 TEST=Create > 3 tabs. In the last one open the html file attached to 1305707. Click on the button. Rapidly drag the first tab in and out of the tab strip and make sure none of the remaining tabs get the wrong title. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1538 0039d316-1c4b-4281-b951-d872f2087c98
* Forgotten unit test chanes.brettw@google.com2008-08-281-1/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1507 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup navigation_entry.h. I made the accessors consistent and in Google ↵brettw@google.com2008-08-271-2/+2
| | | | | | style, and organized and commented all the entries. Hopefully it will be much easier to find things and deal with this class. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1449 0039d316-1c4b-4281-b951-d872f2087c98
* Again, call RunAllPending to flush out the pending tasks. This is done to makedarin@google.com2008-08-271-0/+3
| | | | | | | | | | | Purify happy. "wack a mole" TBR=erikkay git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1432 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome changes corresponding to my message_loop_type CL.darin@google.com2008-08-265-6/+7
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1363 0039d316-1c4b-4281-b951-d872f2087c98
* Make tabs highlight and accept clicks based on the shape of the rendered ↵beng@google.com2008-08-254-0/+91
| | | | | | | | tab, rather than the bounding box of the view that renders it. This allows for truer event handling. B=656878 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1327 0039d316-1c4b-4281-b951-d872f2087c98
* Fix flicker of hover state on mouseover of tabs. The pulsating code was a ↵beng@google.com2008-08-251-6/+3
| | | | | | | | | little convoluted and was accidentally causing the non-highlighted state to be painted for the last frame of the animation. B=1317898 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1326 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-2418-505/+72
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* As Brett pointed it out, We normally use 8-bit for encoding names since ↵jnd@google.com2008-08-212-2/+2
| | | | | | they're always ASCII. Plus, wstrings will also be 32-bit characters on Linux and Mac, which is expensive. So I make this CL by using std::string instead of std::wstring every time you have an encoding name. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1144 0039d316-1c4b-4281-b951-d872f2087c98
* Drag tab 2 out of the tab strip.sidchat@google.com2008-08-191-0/+148
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1049 0039d316-1c4b-4281-b951-d872f2087c98
* The CL is consist of CLs(1624,1580) for bug:1281734 which are reviewed and ↵jnd@google.com2008-08-182-6/+10
| | | | | | | | | LG by brett. I just merge them to single one for passing compilation. The CL is to fix bug http://b/issue?id=1281734. FireFox uses encoding used by the original webpage to decode the source of the webpage, Chrome does not. We need to add a new parameter which carries the override encoding when opening a view-source URL for viewing its source. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@997 0039d316-1c4b-4281-b951-d872f2087c98