summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
Commit message (Collapse)AuthorAgeFilesLines
* Revert 19009 because this prevents inserting return characters.hbono@chromium.org2009-06-234-201/+2
| | | | | | | | | | | TBR=evan BUG=10953 "IME support" BUG=11226 "Dead keys and accents input not working" BUG=13604 "Hotkeys not working in non-us keyboard layout" TEST=none Review URL: http://codereview.chromium.org/147010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19015 0039d316-1c4b-4281-b951-d872f2087c98
* Use LOAD_VERIFY_EV_CERT to verify EV-ness in Verify().ukai@chromium.org2009-06-231-11/+4
| | | | | | | | | | | | | | | | | If LOAD_VERIFY_EV_CERT is requested on load_flags and revokation checking is performed, Verify() peforms EV certificate verification as well, and sets CERT_STATUS_IS_EV in verify_result. Eliminate X509Certificate::IsEV() BUG=3592 TEST=net_unittests with ALLOW_EXTERNAL_ACCESS=1, \ visit https://www.thawte.com/ and shows EV info. Review URL: http://codereview.chromium.org/125120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19011 0039d316-1c4b-4281-b951-d872f2087c98
* Integrating GtkIMContext into the RenderWidgetHostViewGtk class.This change ↵hbono@chromium.org2009-06-234-2/+201
| | | | | | | | | | | | | | implements signal handers of the GtkIMContext object to support IMEs and dead-keys. Also, to improve compatibility with Windows Chrome, this change emulates IPC messages sent on Windows when we input characters and fixes Issue 13604 as well as Issue 10953 and 11226. Even though I notice we need more work for fixing edge cases (e.g. disabling IMEs on a password input) on Linux, I think this is the good starting point. (Supporting edge-cases requires complicated code and it makes hard to review.) BUG=10953 "IME support" BUG=11226 "Dead keys and accents input not working" BUG=13604 "Hotkeys not working in non-us keyboard layout" TEST=Open a web page which contains an <input> form (e.g. <http://www.google.com/>), type a '[{' key and an 'A' key on a Canadian-French keyboard, and see a Latin character "U+00E2" is displayed in the <input> form. TEST=Open a web page which contains an <input> form (e.g. <http://www.google.com/>), enable an Chinese Pinyin IME, type a 'W' key, type an 'O' key, and see a Chinese character is displayed in the <input> form. TEST=Change the keyboard layout to Hebrew (or Russian), open a web page which contains an <input> form, input some characters in the <input> form, type control+a, and see the text in the <input> form is selected. Review URL: http://codereview.chromium.org/126118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19009 0039d316-1c4b-4281-b951-d872f2087c98
* Disable extensions besides externally installed ones and themes.aa@chromium.org2009-06-231-1/+20
| | | | | | | | | | | | This is mainly intended to be pulled to the 3.0 branch. It won't be submitted until another corresponding change to undo the damage is ready. BUG=13467 TEST=Added unit tests Review URL: http://codereview.chromium.org/132003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19008 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Enable some more ui_tests.willchan@chromium.org2009-06-221-3/+5
| | | | | | | | Ignore the expected_crashes_ since Linux doesn't have crash_service. Review URL: http://codereview.chromium.org/144014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18983 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: Fix dead tree.aa@chromium.org2009-06-221-18/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18964 0039d316-1c4b-4281-b951-d872f2087c98
* Disable extensions besides externally installed ones and themes.aa@chromium.org2009-06-221-1/+18
| | | | | | | | | | | | This is mainly intended to be pulled to the 3.0 branch. It won't be submitted until another corresponding change to undo the damage is ready. BUG=13467 TEST=Added unit tests Review URL: http://codereview.chromium.org/132003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18959 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | [re-retry, seeing if reliability bots like it] * use a new ChannelHandle type when passing IPC channels over IPC The current POSIX code assumes that one end of a channel is always a new child process (a renderer). For plugins we need to be able to construct channels between each of the browser, plugin, and renderer. This change augments the messages related to creating channels to allow passing in a base::FileDescriptor containing the socket. The intent is that the browser process, as the initial interchange between plugin and renderer, creates the socketpair() on their behalf and hands each their respective end of the connection. * register channel endpoint names in the global pipe map The plugin code assumes it can map from a string to a channel endpoint at basically any time. So whenever we get a channel endpoint over IPC, we install it in a global map of channel endpoints. Review URL: http://codereview.chromium.org/113157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18950 0039d316-1c4b-4281-b951-d872f2087c98
* Returned rect was never being set for OnGetRootWindowRect().shess@chromium.org2009-06-221-1/+1
| | | | | | | | | http://crbug.com/14770 TEST=See bug. Review URL: http://codereview.chromium.org/140011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18938 0039d316-1c4b-4281-b951-d872f2087c98
* Flip red and blue channels for painting in 24-bit bpp without Xrender.thestig@chromium.org2009-06-222-50/+49
| | | | | | | | | | Also clean up the code a bit. BUG=12206 TEST=Start VNC4 with -depth 24, make sure Chromium displays red and blue coorectly on webpages. Review URL: http://codereview.chromium.org/126256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18915 0039d316-1c4b-4281-b951-d872f2087c98
* Only show tooltip when window is key.pinkerton@chromium.org2009-06-221-1/+1
| | | | | | | | BUG=14707 TEST=Tooltips shouldn't cause the main window to appear over the about panel. Alll other tooltip behavior should remain the same. Review URL: http://codereview.chromium.org/140067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18908 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "posix: two related changes to make plugin IPC work on POSIX."evan@chromium.org2009-06-221-1/+1
| | | | | | | | This looks like it might be to blame for reliability test failures, so I'm trying it out. This reverts commit r18888. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18905 0039d316-1c4b-4281-b951-d872f2087c98
* Revert :nsylvain@chromium.org2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | Changed by: jcampan@chromium.org Changed at: Fri 19 Jun 2009 21:22:47 Branch: src Revision: 18889 Comments: Relanding focus manager refactoring with build fix, see:http://codereview.chromium.org/125148BUG=NoneTEST=NoneTBR=ben Review URL: http://codereview.chromium.org/141013 Because it creates hundreds of new reliability crashes. TBR:jcampan Review URL: http://codereview.chromium.org/140064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18904 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding focus manager refactoring with build fix, ↵jcampan@chromium.org2009-06-201-1/+1
| | | | | | | | see:http://codereview.chromium.org/125148BUG=NoneTEST=NoneTBR=ben Review URL: http://codereview.chromium.org/141013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18889 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | [retry, fix windows compile failure] * use a new ChannelHandle type when passing IPC channels over IPC The current POSIX code assumes that one end of a channel is always a new child process (a renderer). For plugins we need to be able to construct channels between each of the browser, plugin, and renderer. This change augments the messages related to creating channels to allow passing in a base::FileDescriptor containing the socket. The intent is that the browser process, as the initial interchange between plugin and renderer, creates the socketpair() on their behalf and hands each their respective end of the connection. * register channel endpoint names in the global pipe map The plugin code assumes it can map from a string to a channel endpoint at basically any time. So whenever we get a channel endpoint over IPC, we install it in a global map of channel endpoints. Review URL: http://codereview.chromium.org/113157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18888 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 18872.jcampan@chromium.org2009-06-191-1/+1
| | | | | | | | | | | | Broke the Windows build. BUG=None TEST=None TBR=ben Review URL: http://codereview.chromium.org/140023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18873 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the last Windows specific part out of the focus manager. HWNDs are ↵jcampan@chromium.org2009-06-191-1/+1
| | | | | | | | not subclassed anymore.The FocusManager is now created and owned by top-level WidgetWins.BUG=NoneTEST=Run the unit tests, UI tests, interactive UI tests. Fully test the focus behavior in the browser: activate/deactivate the browser windows, make sure focus is remembered. Switch tabs, make sure focus is remembered for each tab. make sure accelerators work as expected. Test focus traversal in a web page, in the option dialog. Review URL: http://codereview.chromium.org/125148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18872 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: HTTP Auth dialogs under linux.erg@google.com2009-06-191-1/+4
| | | | | | | | | | | | - Implements a ConstrainedWindowGtk which positions itself in the center of its corresponding TabContentsViewGtk. - Implements LoginPromptGtk. HTTP Auth now works under Linux. - Renames ConstrainedWindowImpl to ConstrainedWindowWin http://crbug.com/11512 Review URL: http://codereview.chromium.org/132047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18864 0039d316-1c4b-4281-b951-d872f2087c98
* back out r18853jeremy@chromium.org2009-06-196-43/+1
| | | | | | | | This reverts commit f2f30e9d0108f4a776672c6b29d25ed3a8ad19ad. Review URL: http://codereview.chromium.org/140013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18856 0039d316-1c4b-4281-b951-d872f2087c98
* This patch adds Cocoa editing selectors to the RenderViewWidgetHostMac class.jeremy@chromium.org2009-06-196-1/+43
| | | | | | | | | | | | | | | This makes us a better citizen in OSX text-editing land and is a first step in getting our text entry story to work more natively on OSX. The selectors are added at runtime to the Cocoa class and invoking them causes the appropriate WebKit core command to be invoked on the currently focused WebFrame. As a side-effect bug 10862 is fixed. BUG=10862 TEST=Open a new tab and type some text into an input element, change to a Hebrew keyboard layout and hit command-a, all text should be selected. Review URL: http://codereview.chromium.org/114070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18853 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "posix: two related changes to make plugin IPC work on POSIX."evan@chromium.org2009-06-191-1/+1
| | | | | | This reverts commit r18850, as it had a compile failure. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18851 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | * use a new ChannelHandle type when passing IPC channels over IPC The current POSIX code assumes that one end of a channel is always a new child process (a renderer). For plugins we need to be able to construct channels between each of the browser, plugin, and renderer. This change augments the messages related to creating channels to allow passing in a base::FileDescriptor containing the socket. The intent is that the browser process, as the initial interchange between plugin and renderer, creates the socketpair() on their behalf and hands each their respective end of the connection. * register channel endpoint names in the global pipe map The plugin code assumes it can map from a string to a channel endpoint at basically any time. So whenever we get a channel endpoint over IPC, we install it in a global map of channel endpoints. Review URL: http://codereview.chromium.org/113157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18850 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: Fix Toolstrips sometimes show scrollbars as renderingaa@chromium.org2009-06-193-0/+9
| | | | | | | See: http://codereview.chromium.org/126098 Patch from Jerry Tang <tangjie@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18837 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a leak when we bail out early because of the wrong bpp.jhawkins@chromium.org2009-06-191-1/+3
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/131118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18823 0039d316-1c4b-4281-b951-d872f2087c98
* Add a temporary command-line switch --auto-ssl-client-auth forwtc@chromium.org2009-06-192-4/+24
| | | | | | | | | | | | | | | | | automatically selecting a client certificate when an SSL server requests client authentication. This switch will be removed when we implement client certificate selection UI. Also fix some cpplint.py nits. R=jcampan BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/131090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18819 0039d316-1c4b-4281-b951-d872f2087c98
* Add Print Selection support to Chrome. This change is fairly involved since ↵sverrir@google.com2009-06-192-1/+7
| | | | | | | | | | | | | | | | this means that the printing is done async instead of the fully synchronous mode the normal full page printing is. This means we create an in memory copy of the selected text for printing. This is the next step to move to fully async printing with print frame support. This change also removes the print on demand functionality that was no longer used. BUG=http://crbug.com/1682 TEST=The print dialog on Windows now contains an option to print selection only. Test that with various pages and various selections. Review URL: http://codereview.chromium.org/125082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18815 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 18765 to try to repair perf regressionjar@chromium.org2009-06-192-14/+10
| | | | | | | TBR=mpcomplete Review URL: http://codereview.chromium.org/131093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18784 0039d316-1c4b-4281-b951-d872f2087c98
* Render the dragged tab contents when detaching a tab from the tabstrip in gtk.jhawkins@chromium.org2009-06-192-0/+29
| | | | | | | | BUG=none TEST=Drag a tab out of the tabstrip. If the WM has compositing enabled, the dragged tab contents should be translucent; otherwise, the contents should be opaque. Review URL: http://codereview.chromium.org/131042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18780 0039d316-1c4b-4281-b951-d872f2087c98
* Send port-closed notification when a frame with ports unloads.mpcomplete@google.com2009-06-182-10/+14
| | | | | | | | | | | | | Also add onLoad and onUnload chrome Event to our bindings, so we can add listeners to these events without needing a DOM. These don't hook into the window "unload" event, so we no longer prevent Chrome's sudden termination of tabs on shutdown. BUG=12686 TEST=no Review URL: http://codereview.chromium.org/125280 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18765 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a max worker count of 16 per tab and 64 total. Any workers ↵jam@chromium.org2009-06-182-0/+8
| | | | | | | | created after that are queued. Review URL: http://codereview.chromium.org/125242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18763 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a crash when scrolling quickly on Mac.rohitrao@chromium.org2009-06-181-23/+34
| | | | | | | | BUG=http://crbug.com/14211 TEST=See test case in bug. Review URL: http://codereview.chromium.org/125211 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18720 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Enable metrics_service_uitest.cc. Take 2.willchan@chromium.org2009-06-181-1/+12
| | | | | | | | | | Relands r18641, original code review: http://codereview.chromium.org/125268 Expect a crash on Windows. The old method of crashing was flawed on posix (KillProcess just does a SIGTERM). On Windows though, it would terminate the process with the desired exit code, in order to make DidProcessCrash() return true. This process termination does not dump crash information though, since it just forcibly terminates the process, like a SIGKILL on posix. When I switched it to navigate to about:crash though, it actually crashes, and dumps crash information, which the UITest in windows (but not linux/mac) detects. Therefore, until those platforms can detect, we just use #if defined(OS_WIN) around the expected_crashes = 1. Review URL: http://codereview.chromium.org/131007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18680 0039d316-1c4b-4281-b951-d872f2087c98
* Enable off-by-default monitor color management on Windows. This is enabled viabrettw@chromium.org2009-06-183-2/+43
| | | | | | | | | a command-line switch. BUG=4938 Review URL: http://codereview.chromium.org/131002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18675 0039d316-1c4b-4281-b951-d872f2087c98
* Allow the RenderWidgetHostViewGtk to be sized even if it isn't a popup.ben@chromium.org2009-06-181-0/+9
| | | | | | | | | | | browser/views/tab_contents/tab_contents_view_gtk.cc implements sizing in a similar fashion to windows - i.e. when the GtkWidget is resized, it tells the RenderViewHost that it was sized, which causes the RVH to resize the view. A check for if (parent_) in the Gtk RenderWidgetHostView impl was preventing this sizing from occurring. BUG=none TEST=none Review URL: http://codereview.chromium.org/125275 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18670 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Don't try to special case webkit blur when we stop showing right ↵estade@chromium.org2009-06-171-5/+1
| | | | | | | | | | | | | click context menu. After I spent more time investigating, it seems that when the popup menu closes, it always returns focus to the toplevel that previously had it. Thus we don't have to worry about some other toplevel getting focus without us getting another focus-out. BUG=13554 TEST=right click spellcheck correction works in gmail Review URL: http://codereview.chromium.org/126301 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18667 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Limit the size of the shared memory segment a renderer will request.estade@chromium.org2009-06-171-8/+14
| | | | | | | | | TEST=everything behaves the same, and you don't sad tab when resizing a very large autocomplete popup BUG=13805 Review URL: http://codereview.chromium.org/125274 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18660 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r18641: "Linux: Enable metrics_service_uitest.cc."willchan@chromium.org2009-06-171-12/+1
| | | | | | | | Broke ui_tests. Review URL: http://codereview.chromium.org/125268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18646 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Enable metrics_service_uitest.cc.willchan@chromium.org2009-06-171-1/+12
| | | | | | | | | Add support for zygotes to call DidProcessCrash on renderers. TEST=metrics_server_uitest.cc Review URL: http://codereview.chromium.org/126264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18641 0039d316-1c4b-4281-b951-d872f2087c98
* Adds kind-of-live thumbnail generation for a potential tab switcher.brettw@chromium.org2009-06-1616-116/+230
| | | | | | | | | | | | | | | | | | | | This listens to tab events and tries to keep thumbnails ready to go. See thumbnail_generator.cc for a more detailed design. This adds a painting observer to the RenderWidgetHost to enable this new behavior, as well as a notification to allow the thumbnail generator to hook its observer in. There is also a new notification that a backing store has been disabled, which required making the backing stores know about their owning widget hosts. This component is currently disabled. We just need to uncomment the member in Profile and it will start to work. Original review: http://codereview.chromium.org/118420 Review URL: http://codereview.chromium.org/126101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18540 0039d316-1c4b-4281-b951-d872f2087c98
* Since the introduction of PushSource, there are two buffering layers in thehclam@chromium.org2009-06-162-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | browser process, the hardware buffer used in AudioOutputStream and transportation buffer in PushSource. Together with the latency in the IPC audio layer we have a serious AV sync problem. To compensate the delay and latency introduced by these three factors two parameters are added in RequestAudioPacket message that include the buffer fill level and timestamp of the request. These two parameters are used to determine the playback delay to be used by the audio renderer to update the pipeline with the time delta. So we have three parameters we need to care about: 1. Hardware buffer in AudioOutputStream 2. Buffered data in PushSource 3. IPC latency We have accurate values for 2 and 3 but not 1. We currently don't have the API in AudioOutputStream to query the remaining buffer in the hardware buffer. But usually there is a large amount of data in it, e.g. on Windows 400ms worth of data. Since we now detached the hardware buffer request of OnMoreData() from the actual packet request of IPC (by the introduction of PushSource), it is really critical to know the buffer level in the hardware. I made a guess of this buffer level by using the amount of last buffer copy. Review URL: http://codereview.chromium.org/122020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18536 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 18512 - Revert 18373 Consider a redirect following user gesture as ↵laforge@chromium.org2009-06-163-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | userinitiated in maintaining navigation entries. Also, ignore redirect or machineinitiated new subframe navigations. The current code treats all redirects as machineinitiated in processing navigation to a new page (to fix Bugs 9663 and 10531). This is not always appropriate, because some sites, e.g., www.google.com/ig, use redirect to implement userinitiated navigation (Bug 11896). This change assumes that a machineinitiated redirect happens within 300ms since the last document load was completed, while a userinitiated one happens later. This assumption is not always correct, e.g., a user may cause transition within 300ms. But I cannot think of any better ways to tell if a redirect is machine initiated or userinitiated. I believe this change works good enough, at least better than the status quo. Review URL: http://codereview.chromium.org/115919 TEST=Open http://www.hp.com and observe it redirects to http://www.hp.com/#Product . Hit Back button and observe the former URL is not visited. Open http://www.google.com/ig and click tabs inside the page, and try hitting Back and Forward to see if the navigation is right. Open http://www.google.com/codesearch, search for something, click on a result item, and try hitting Back. BUG=11896,12820 TBR=yuzo@chromium.org Review URL: http://codereview.chromium.org/125202 TBR=laforge@chromium.org Review URL: http://codereview.chromium.org/126221 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18522 0039d316-1c4b-4281-b951-d872f2087c98
* Extract load times from WebDataSource. Move them to NavigationState.darin@chromium.org2009-06-164-3/+7
| | | | | | | | | | | | Move PasswordForm into the webkit_glue namespace. TEST=none BUG=10041 R=brettw Review URL: http://codereview.chromium.org/126190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18515 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 18373 - Consider a redirect following user gesture as userinitiated ↵laforge@chromium.org2009-06-163-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in maintaining navigation entries. Also, ignore redirect or machineinitiated new subframe navigations. The current code treats all redirects as machineinitiated in processing navigation to a new page (to fix Bugs 9663 and 10531). This is not always appropriate, because some sites, e.g., www.google.com/ig, use redirect to implement userinitiated navigation (Bug 11896). This change assumes that a machineinitiated redirect happens within 300ms since the last document load was completed, while a userinitiated one happens later. This assumption is not always correct, e.g., a user may cause transition within 300ms. But I cannot think of any better ways to tell if a redirect is machine initiated or userinitiated. I believe this change works good enough, at least better than the status quo. Review URL: http://codereview.chromium.org/115919 TEST=Open http://www.hp.com and observe it redirects to http://www.hp.com/#Product . Hit Back button and observe the former URL is not visited. Open http://www.google.com/ig and click tabs inside the page, and try hitting Back and Forward to see if the navigation is right. Open http://www.google.com/codesearch, search for something, click on a result item, and try hitting Back. BUG=11896,12820 TBR=yuzo@chromium.org Review URL: http://codereview.chromium.org/125202 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18512 0039d316-1c4b-4281-b951-d872f2087c98
* Don't show tooltips if the window isn't main.pinkerton@chromium.org2009-06-161-1/+4
| | | | | | | | BUG=none TEST=tooltips shouldn't show if the window isn't the frontmost. Review URL: http://codereview.chromium.org/125194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18505 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce header dependencies in chrome/browser/phajdan.jr@chromium.org2009-06-161-0/+1
| | | | | | | | In my scan of headers I got up to browser/gtk/ Review URL: http://codereview.chromium.org/126131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18500 0039d316-1c4b-4281-b951-d872f2087c98
* Make tooltip loading lazy.pinkerton@chromium.org2009-06-161-2/+3
| | | | | | | | BUG=none TEST=normal tooltip tests Review URL: http://codereview.chromium.org/126203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18490 0039d316-1c4b-4281-b951-d872f2087c98
* Limit the size of popup menus on linux.estade@chromium.org2009-06-161-1/+6
| | | | | | | | | | This fixes <http://crbug.com/13805>. I've filed http://crbug.com/14142 for a more graceful solution. Review URL: http://codereview.chromium.org/126171 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18464 0039d316-1c4b-4281-b951-d872f2087c98
* Group renderer processes by privilige when we hit the max process count.mpcomplete@google.com2009-06-153-14/+52
| | | | | | | | | | | BUG=12128 TEST=Create a bunch of tabs (40+) and make sure New Tab pages are always grouped in a process with other chrome internal pages, extensions are always grouped together, and regular web pages are never in a process with extensions or New Tab pages. Review URL: http://codereview.chromium.org/126002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18428 0039d316-1c4b-4281-b951-d872f2087c98
* Make tooltips work correctly, allowing for multiple tooltips w/out the mouse ↵pinkerton@chromium.org2009-06-152-7/+39
| | | | | | | | | | leaving the view (which is all NSView can handle by itself). Adds some Camino code to do so. BUG=13995 TEST=tooltips in web pages, pages with multiple tooltips, expose and spaces. Review URL: http://codereview.chromium.org/125133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18408 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add support for chrooted renderers.agl@chromium.org2009-06-152-0/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxSandboxIPC Without filesystem access from the renderers, we need another way of dealing with fontconfig and font loading. This add support for: * An "SBX_D" environment variable in the renderers which is used to signal the end of dynamic linking so that the chroot can be enforced. * A sandbox_host process, running outside the sandbox, to deal with fontconfig requests from the renderers. See the wiki page for the reasoning behind making it a separate process. * A new, custom SkFontHost for Skia. Because this is Chrome specific, it will live outside the upstream Skia tree. This FontHost can be configured either to drive fontconfig directly (for the browser process and for any unsandboxed renderers) or to use an IPC system. Since the same SkFontHost has to be linked into both the browser and renderer (they are the same binary), this switch has to be made at run time. Sandbox IPC calls are rare (a couple of dozen at page load time) and add about 50us of overhead for each call. (Reland of r17575 which was reverted in r17577) http://codereview.chromium.org/112074 BUG=8081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18405 0039d316-1c4b-4281-b951-d872f2087c98