summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents.cc
Commit message (Collapse)AuthorAgeFilesLines
* Re-land 5929 (r5882) with crash fix and also this change:ben@chromium.org2008-11-251-6/+4
| | | | | | | | | | | http://codereview.chromium.org/11392/show which fixes the remainder of the UI test issues apparently. http://crbug.com/4620 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5954 0039d316-1c4b-4281-b951-d872f2087c98
* rollbackben@chromium.org2008-11-241-4/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5933 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land r5882 with a crash fix.ben@chromium.org2008-11-241-6/+4
| | | | | | | http://codereview.chromium.org/11559 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5929 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 5882. It broke LoginPromptTest.TestBasicAuth and .TestTwoAuths.maruel@chromium.org2008-11-241-4/+6
| | | | | | Review URL: http://codereview.chromium.org/11399 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5922 0039d316-1c4b-4281-b951-d872f2087c98
* This change makes the following infobars use the new system:ben@chromium.org2008-11-221-6/+4
| | | | | | | | - save password Review URL: http://codereview.chromium.org/11559 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5882 0039d316-1c4b-4281-b951-d872f2087c98
* Beginnings of a new InfoBar system.ben@chromium.org2008-11-211-0/+77
| | | | | | | | | | This implements AlertInfoBar and InfoBarContainer. It also makes the crashed plugin/js oom infobars use this new system. Design Doc: http://dev.chromium.org/developers/design-documents/info-barshttp://crbug.com/4620 Review URL: http://codereview.chromium.org/11318 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5856 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Container->Widgetben@chromium.org2008-11-211-2/+2
| | | | | | | | | R=erg review url = http://codereview.chromium.org/11348/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5849 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent window.close() working from Javascript when a blocked popup ↵erg@google.com2008-11-071-0/+5
| | | | | | | | | notification exists. This is a copy of Firefox's behaviour. BUG=crbug.com/4007 Review URL: http://codereview.chromium.org/9656 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4934 0039d316-1c4b-4281-b951-d872f2087c98
* This is r4523, with a few changes to make things work under Vista.erg@google.com2008-11-051-50/+23
| | | | | | | | | | | | | - 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-23/+50
| | | | | | | 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-50/+23
| | | | | | | | (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
* Plumb the referrer throughout the OpenURL APIs.ericroman@google.com2008-10-271-3/+4
| | | | | | | | | | | | | 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
* This fixes http://code.google.com/p/chromium/issues/detail?id=2529, which isananta@chromium.org2008-10-231-3/+3
| | | | | | | | | | | | | tabs displaying Loading/Untitled in Chrome. We should display the page URL if the title of the page is blank. Fix on these lines. R=beng Review URL: http://codereview.chromium.org/7905 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3852 0039d316-1c4b-4281-b951-d872f2087c98
* Factor find in page out of WebContents and into the view, since it is almostbrettw@google.com2008-10-211-14/+1
| | | | | | | | | | | | | | | all view specific. Rename find in page controller to be "FindBarWin", and find in page view to be "findBarView" (since this is not Windows specific, but "Views" specific). I did lots of simplification and moving around of the find in page API. I coalesced several of the show functions into one master function on the view. I removed some other sizing and window updating code from WebContents and moved it to the view. Review URL: http://codereview.chromium.org/7667 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3654 0039d316-1c4b-4281-b951-d872f2087c98
* Remove throttling code from the Browser process and implement throttling in ↵erg@google.com2008-10-171-7/+3
| | | | | | | | | | | | | the Renderer. The previous way of doing throttling was just calling CloseContents() on a window to reject it. But since the Browser is notified about a window opening asynchronously, by the time the CloseContents() sends a message back to the Renderer, a bunch more windows have been opened, leading to memory exhaustion. Instead, make all RenderViews created from a parent RenderView share a counter and start refusing to create RenderViews if too many RV have been created. Every RenderView (except for the first one) is assumed to be an unrequested popup, until notified by the Browser process by either a ViewMsg_DisassociateFromPopupCount message (this RenderView is a new top level page) or a ViewMsg_DisassociatePopup message (this RenderView is a requested popup and therefore shouldn't count against the count.) BUG=3382, 2632 Review URL: http://codereview.chromium.org/7388 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3568 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeViews namespace to viewsben@chromium.org2008-10-161-21/+20
| | | | | | http://crbug.com/2188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ViewContainer to Container and HWNDViewContainer to ContainerWin.ben@chromium.org2008-10-161-4/+4
| | | | | | | http://crbug.com/3430 Review URL: http://codereview.chromium.org/7376 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3441 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at refactoring the interstitial page.jcampan@chromium.org2008-10-131-6/+16
| | | | | | | | | | | | | | | | | The SSL and malware blocking pages were doing similar things in 2 different classes. There is now a base class called InterstitialPage that contains the common logic. As part of that refactoring, the safe browsing was changed so that the SafeBrowsingBlockingPage is only used from the UI thread. This CL also adds transient entries to the navigation controller: that type of entry gets deleted as soon as a navigation occurs. It is used by interstitial that need to create such a temporary entry while they show. BUG=3013 TEST=Run the unit tests and ui tests. Review URL: http://codereview.chromium.org/6311 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3324 0039d316-1c4b-4281-b951-d872f2087c98
* Popups opened from popups should be constrained and subject to constrained ↵erg@google.com2008-10-131-7/+7
| | | | | | | | | | | popup limits. This solves the UI issue, but there's still the backend stuff which I've filled as http://crbug.com/3382 BUG=2632 Review URL: http://codereview.chromium.org/7233 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3313 0039d316-1c4b-4281-b951-d872f2087c98
* Start splitting out view-related stuff from WebContents into a new class ↵brettw@google.com2008-10-101-0/+2
| | | | | | | | WebContentsViewWin, accessed through an abstract interface WebContentsView. This is incomplete but is a good start. There are still a bunch of pass-throughs required for the TabContents overrides. These won't be able to be cleaned up until we kill TabContents. Review URL: http://codereview.chromium.org/7205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3243 0039d316-1c4b-4281-b951-d872f2087c98
* Port some more of chrome/ to Linux.deanm@google.com2008-10-021-0/+1
| | | | | | | | Original review: http://codereview.chromium.org/4247 Patch from Pawel Hajdan Jr. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2793 0039d316-1c4b-4281-b951-d872f2087c98
* Don't let a malicious web site open an unbounded number of constrained popups.darin@chromium.org2008-09-261-0/+7
| | | | | | | | | | Patch by abarth@chromium.org R=ben BUG=2632 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2654 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize the declarations to have some grouping and logical ordering in ↵brettw@google.com2008-09-261-257/+242
| | | | | | | | | tab contents and web contents. Reorder the derived classes overrides to match, and reorder the definitions of the functions to match the order in the header file. This doesn't actually change any code. I removed a few functions that were declared but never implemented (!) as well as some that were marked vitual but were never overridden. I renamed some things to make them more consistent. Review URL: http://codereview.chromium.org/5005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2634 0039d316-1c4b-4281-b951-d872f2087c98
* Remove DidNavigate from the tab contents delegate and all the related plumbing.brettw@google.com2008-09-241-6/+0
| | | | | | | | | | | I added additional information to the regular load commit notification so all interested parties can listen for that instead. I removed the old navigation type enum, and replaced it with the enum from the NavigationController, so it's now public. Review URL: http://codereview.chromium.org/3112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2573 0039d316-1c4b-4281-b951-d872f2087c98
* A crasher happens when restoring the focus as a result of switching tab, ↵jcampan@chromium.org2008-09-231-1/+5
| | | | | | | | | | | because the browser window does not have a focus manager. I am not sure how this could happen, this CL just bullet-proofs the code. BUG=1384044 Review URL: http://codereview.chromium.org/4054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2529 0039d316-1c4b-4281-b951-d872f2087c98
* This is almost a complete rewrite of DidNavigate and the associated ↵brettw@google.com2008-09-141-37/+14
| | | | | | | | | | 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
* Revert the change that fixed the encoding when viewing source in subframes.brettw@google.com2008-09-121-15/+2
| | | | | | | | | This makes view source for some pages (for example Google Reader) not work properly. I speculate that telling WebKit to change the encoding (which causes a reload) right after starting the real load makes it confused. Review URL: http://codereview.chromium.org/3022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2143 0039d316-1c4b-4281-b951-d872f2087c98
* Make a step on refactoring navigation. The eventual plan is to have the ↵brettw@google.com2008-08-281-3/+12
| | | | | | | | | | | | | NavigationController create and commit the new NavigationEntries (currently WebContents does a bunch of the details of this which is hard to understand and not easily testable). This tries to consolidate the logic that I want to move to the NavigationController without actually moving it there yet. I removed all of the "PreCommit" functions in WebContents, since when the NavigationController does all of the committing, there won't be a phase where the NavigationEntry exists but isn't committed. Most of the logic could be moved to the PostCommit functions without any problem, which is an indication that the current design was busted anyway. I had to precompute some data and pass it to the *PostCommit function to work around some of the components that required old data. I had to change InfoBars around since it relied on having both the committed and uncommitted entries, but I think the new design is much better anyway. BUG=1343593,1343146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1506 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup navigation_entry.h. I made the accessors consistent and in Google ↵brettw@google.com2008-08-271-7/+7
| | | | | | 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
* 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
* As Brett pointed it out, We normally use 8-bit for encoding names since ↵jnd@google.com2008-08-211-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
* Factor the SSL state out of the main NavigationEntry into a helper class. Thisbrettw@google.com2008-08-191-4/+4
| | | | | | | | | | | makes it easier to find stuff and also copy ssl state (just assign). I made one "real" change in web_contents where I copy the entire SSL state now to the new entry rather than just a few fields like the old one. I couldn't figure out why this was necessary: running it shows that this leaves the other two fields in the uninitialized state which seems wrong. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1032 0039d316-1c4b-4281-b951-d872f2087c98
* The CL is consist of CLs(1624,1580) for bug:1281734 which are reviewed and ↵jnd@google.com2008-08-181-2/+15
| | | | | | | | | 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
* Large patch set (159 files total) to cleanup the includes.maruel@google.com2008-08-151-1/+2
| | | | | | | | | | - 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
* Fix for bug where we weren't resizing the content area at the end of a ↵glen@google.com2008-08-081-5/+5
| | | | | | | | | download shelf animation. This was caused by a disconnect between tabcontents::shelf_visible_ and the finished state. BUG=1317014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@601 0039d316-1c4b-4281-b951-d872f2087c98
* Fix several issues with popup window locations:erg@google.com2008-08-041-9/+1
| | | | | | | | | | 1) Remove ConstrainedWindow::GenerateInitialBounds(), which is old and crufty and no longer relevant now that there are no unsuppressed, constrained popup windows. 2) Move the browser side positioning logic into Browser::BuildPopupWindow(). 3) Fix the window.open() handler so that when we aren't given top=/left= coordinates, we don't set the window origin (allowing the browser to do something more intelligent). BUG=1290758 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@325 0039d316-1c4b-4281-b951-d872f2087c98
* Move more net classes into the net namespace. Also remove the net_util ↵darin@google.com2008-07-311-1/+1
| | | | | | | | namespace in favor of the net namespace. This is a purely mechanical change. There should be no logic changes. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192 0039d316-1c4b-4281-b951-d872f2087c98
* Make the download arrow show and hide correctly in response to shelf ↵glen@google.com2008-07-301-1/+4
| | | | | | | | visibility. This was caused by both the shelf_visible_ bool not being set by the download shelf correctly, and the tab renderer not being aware of the new state. BUG=1300997 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+601
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98