summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
Commit message (Collapse)AuthorAgeFilesLines
* Desynchronize windowless plugin painting. This greatly improves the paintingjam@chromium.org2008-09-222-102/+90
| | | | | | | | performance when there are multiple plugins, or when scrolling. Review URL: http://codereview.chromium.org/3133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2459 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a CPAPI function to make a function call asynchonously on the plugin ↵zork@google.com2008-09-191-0/+13
| | | | | | | | thread. Review URL: http://codereview.chromium.org/2969 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2414 0039d316-1c4b-4281-b951-d872f2087c98
* This CB fixes the following issue1. ↵iyengar@google.com2008-09-192-7/+28
| | | | | | | | http://code.google.com/p/chromium/issues/detail?id=206This is a performance issue while loading PDF documents. The fix is to support PDF fast webview, which is basically support for the NPN_RequestRead API, which allows a plugin to request specific byte ranges in HTTP GET requests. This also needs support for seekable streams. Our support for seekable streams is limited to HTTP servers which allow byte range requests. Firefox also supports a mode in which the the browser caches the file on disk for servers which don't support byte range requests. The plugin_data_stream.cc/.h files are being removed as there is not much value in their existence. The needed functionality is available in the PluginStreamUrl class, which now services manual data streams as well. Testing this is a touch tricky as we need a HTTP server which serves byte range requests. Will add those in a subsequent CB.Also fixed a bug in the multipart parser where we need to ignore leading newline characters while parsing the header.Bug=206 Review URL: http://codereview.chromium.org/2896 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2400 0039d316-1c4b-4281-b951-d872f2087c98
* Disable Add to dictionary unit tests temporarily. It is flaky.sidchat@google.com2008-09-171-2/+2
| | | | | | Review URL: http://codereview.chromium.org/3116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2327 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for "Add to dictionary" in the context menu.sidchat@google.com2008-09-171-2/+150
| | | | | | Review URL: http://codereview.chromium.org/2446 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2322 0039d316-1c4b-4281-b951-d872f2087c98
* Adding sync plugin messages, and plugin broadcasts to the renderer processeszork@google.com2008-09-153-1/+42
| | | | | | Review URL: http://codereview.chromium.org/2411 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2246 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the change that fixed the encoding when viewing source in subframes.brettw@google.com2008-09-122-20/+9
| | | | | | | | | 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
* Move a bunch of code from the old to new TLS interface.deanm@chromium.org2008-09-102-10/+11
| | | | | | Review URL: http://codereview.chromium.org/1660 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1982 0039d316-1c4b-4281-b951-d872f2087c98
* Don't index https content. This uses the toplevel brettw@google.com2008-09-091-0/+9
| | | | | | Review URL: http://codereview.chromium.org/1646 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1927 0039d316-1c4b-4281-b951-d872f2087c98
* Replace all instances of <hash_map> with a "base/hash_tabe.h",erg@google.com2008-09-082-4/+2
| | | | | | | | | | | which does the right thing based on whatever platform we're compiling for, along with changing the hardcoded "stdext::", which is a MSVC++ism to use base::hash_{map,set}. B=1869 Review URL: http://codereview.chromium.org/1629 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1862 0039d316-1c4b-4281-b951-d872f2087c98
* Update Copyright text in SCons config files.sgk@google.com2008-09-011-28/+4
| | | | | | TBR: beng git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1607 0039d316-1c4b-4281-b951-d872f2087c98
* Some more changes so that Chromium and Google Chrome do not clash with each ↵rahulk@google.com2008-08-311-1/+3
| | | | | | | | | other while running at the same time. BUG=1296800 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1600 0039d316-1c4b-4281-b951-d872f2087c98
* Made changes to the JavaScript debugger in preparing for an upcomingsgjesse@google.com2008-08-293-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change in V8 where the implicit breaks currently issued when receiving a command while running will be removed. To get in contact with the V8 debugging interface and send messages V8 needs to be in the break state. Getting V8 into the break state will be the responsebility of the debugger using the V8 debugging interface. Changed the messages between the renderer and the debugger. There are now explicit messages for break and detach. Alse renamed the SendToDebugger message to DebugCommand. There is now messages DebugAttach, DebugBreak, DebugCommand and DebugDetach. The message DebugBreak has a force flag to indicate whether the renderer should issue some JavaScript to help the break along or whether it should just schedule a break to happen whenever JavaScript executes. Removed the artificial attach JSON response send by the renderer and replaced that with an on debug attach call to the debugger shell. This call is reouted to the on_attach function in the debugger JavScript code. Changed the debugger to issue break requests whenever a suitable command, e.g. setting a break point, is issued. In this case a flag is used to track whether execution should be automatically resumed after the command have been send to the V8 debugger interface. Changed the handling of the plain break event to not force a break by executing additional JavaScript. Thereby a plain break does not break JavaScript execution until code on the tab beeing debugged is actually executed. Set the command name explicitly on all commands. Removed parseSimpleCommand as it was just used for the the continue command for which an explicit parseContinueCommand has been added. Removed the last_command field from DebugShell as it was not used. Updated the debugger protocol test to reflect the removed attach event. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1526 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify OneShotTimer and RepeatingTimer. Fix up all consumers.darin@google.com2008-08-282-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | Major changes: OneShotTimer and RepeatingTimer become template classes that no longer require a Task or a Timer object. They just use PostDelayedTask. Under the hood that still uses a Timer object. The API is much simpler for consumers as they now no longer need to worry about allocating a Task or managing the lifetime of the object pointer held by the Task. I added some new unit tests to timer_unittest.cc to cover the API. I preserved the old TimerManager / Timer API for now, but I plan to soon kill it. R=brettw BUG=1346553 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1502 0039d316-1c4b-4281-b951-d872f2087c98
* The GetWindowRect must return the rect of the container HWND; not the actual ↵erg@google.com2008-08-282-2/+5
| | | | | | | | | | window rect. The usage of GetWindowRect in the ChromeClientImpl::windowRect() function is erroneous, and my modification of GetWindowRect to return the HWND's root ancestor rect broke drop down combo boxes and other embeded controls. So instead, add a GetRootWindowRect which gets the root anncestor of the HWND's rect and use it in ChromeClientImpl::windowRect(). BUG=1344367,1186573,1334505 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1496 0039d316-1c4b-4281-b951-d872f2087c98
* This call is incorrect because calling it here allows any subframe to update ↵mmoss@google.com2008-08-281-4/+0
| | | | | | | | | | "is_loading_", which represents state on the main frame, and thus should only be updated to reflect changes to that frame (as ProgressTracker is careful to do by testing "m_originatingProgressFrame"). It's also redundant because it is already triggered through the ProgressTracker, even when there is a ProvisionalLoad error. This fixes issues where the favicon for a page was not being loaded because of errors in subframes. BUG=1186854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1495 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Google Chrome specific strings from common resources file and use ↵rahulk@google.com2008-08-271-0/+1
| | | | | | | | | them from new resources file that is specific to only Google Chrome. BUG=1110882 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1473 0039d316-1c4b-4281-b951-d872f2087c98
* fix unit testsdarin@google.com2008-08-261-2/+5
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1371 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome changes corresponding to my message_loop_type CL.darin@google.com2008-08-263-4/+11
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1363 0039d316-1c4b-4281-b951-d872f2087c98
* Second attempt to fix p13n breakage.ericcheng@google.com2008-08-261-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1361 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build break caused by some functions not ifdef CHROME_PERSONALIZATION'd out.ericcheng@google.com2008-08-262-0/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1360 0039d316-1c4b-4281-b951-d872f2087c98
* Some more glue code for the personalization module.ericcheng@google.com2008-08-262-0/+17
| | | | | | | | Added ability to invoke a method on an NPObject wrapped in a CppVariant. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1359 0039d316-1c4b-4281-b951-d872f2087c98
* Make PlatformThread::SetName operate only on the current thread.deanm@google.com2008-08-251-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1306 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-2439-1095/+156
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChromeClientImpl::windowRect() to return the currenterg@google.com2008-08-212-5/+3
| | | | | | | | | | window's rect. Previously, it was combining the window origin with the size of the renderer; not the size of the window. BUG=1186573 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1184 0039d316-1c4b-4281-b951-d872f2087c98
* Code review changes. Incorporated all the suggestions from previous review. joshia@google.com2008-08-214-69/+44
| | | | | | | | | | | | | One item not changed yet is to rename 'receiver' in ForwardMessageToExternalHost. The idea is to invoke receiver("message") at the other end. So for example if the args to ForwardMessageToExternalHost("hello", "world") then we will invoke a script hello("world") on the other side. 'receiver' doesn't really describe the first argument here so if there is a better suggestion, I would be happy to change it :) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1176 0039d316-1c4b-4281-b951-d872f2087c98
* Port the Thread class properly to Mac and Linux. This involved portingdarin@google.com2008-08-211-1/+2
| | | | | | | | | | | | PlatformThread and creating an API on PlatformThread to create a native thread and later join with it. I also made a few other tweaks to PlatformThread, such as eliminating the Current() method which appears to be unused. The operator==() is also unused, so I killed it as well. I made a few other miscellaneous cleanups and adjustments. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1146 0039d316-1c4b-4281-b951-d872f2087c98
* As Brett pointed it out, We normally use 8-bit for encoding names since ↵jnd@google.com2008-08-212-7/+7
| | | | | | 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
* TrackedObjects assumes you can use a "TLS slot" of -1 to indicate ↵evanm@google.com2008-08-202-6/+6
| | | | | | uninitialized. This isn't true for the pthread_key_t type, which is unsigned on Linux and reportedly a struct on Macs. This change modifies the Slot type to be a struct containing an "initialized" flag. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1122 0039d316-1c4b-4281-b951-d872f2087c98
* Revert. Failing unit tests.evanm@google.com2008-08-202-6/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1118 0039d316-1c4b-4281-b951-d872f2087c98
* TrackedObjects assumes you can use a "TLS slot" of -1 to indicate ↵evanm@google.com2008-08-202-6/+6
| | | | | | uninitialized. This isn't true for the pthread_key_t type, which is unsigned on Linux and reportedly a struct on Macs. This change modifies the Slot type to be a struct containing an "initialized" flag. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1113 0039d316-1c4b-4281-b951-d872f2087c98
* Add renderer\external_host_bindings.cc to the SCons build.sgk@google.com2008-08-191-0/+1
| | | | | | TBR: joshia git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1043 0039d316-1c4b-4281-b951-d872f2087c98
* Use LF for newlines in all DEPS filesmmentovai@google.com2008-08-181-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1011 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-2/+12
| | | | | | | | | 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
* Added support for PostMessage from the automation framework toiyengar@google.com2008-08-152-0/+29
| | | | | | | the renderer. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@964 0039d316-1c4b-4281-b951-d872f2087c98
* Code to facilitate sending message to external host.joshia@google.com2008-08-155-2/+163
| | | | | | | | | | Note that at this time the parameters to the message are still tentative. The call goes as a sync call from renderer to the browser. From then onwards it happens async and no return value is available yet. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@957 0039d316-1c4b-4281-b951-d872f2087c98
* Copy from http://chrome-reviews.prom.corp.google.com/1237 (new gcl ↵timsteele@google.com2008-08-154-18/+60
| | | | | | | | | | | | | | | | | | | changelist model). Description was: Conditionally include personalization/ code by surrounding the hooks into this module with #ifdef CHROME_PERSONALIZATION in various .h/.cc files. Building with the module requires adding this macro as a preprocessor definition in build/internal/essential.vsprops, and adding it to the VCResourceCompiler tool's command line (using /d). We will try and make this easier in the future. TBR=darin git-svn-id: svn://svn.chromium.org/chrome/trunk/src@955 0039d316-1c4b-4281-b951-d872f2087c98
* Step 1 at making Gears run in the renderer process (enabled by switchmpcomplete@google.com2008-08-158-6/+651
| | | | | | | | | "--gears-in-renderer"). Requires some changes to gears to work. Most things work if you disable the sandbox. One major hole is that update tasks don't report status to the appropriate renderer. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@954 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce MessagePump to represent the native message pump used to drive adarin@google.com2008-08-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MessageLoop. A MessageLoop now has a MessagePump. This will make it possible to port the MessagePump interface to other platforms as well as to use an IO completion port for our worker threads on Windows. Currently, there is only MessagePumpWin, which attempts to preserve the pre-existing behavior of the MessageLoop. API changes to MessageLoop: 1. MessageLoop::Quit means return from Run when the MessageLoop would otherwise wait for more work. 2. MessageLoop::Quit can no longer be called outside the context of an active Run call. So, things like this: MessageLoop::current()->Quit(); MessageLoop::current()->Run(); are now: MessageLoop::current()->RunAllPending(); 3. MessageLoop::Quit can no longer be called from other threads. This means that PostTask(..., new MessageLoop::QuitTask()) must be used explicitly to Quit across thread boundaries. 4. No protection is made to deal with nested MessageLoops involving watched objects or APCs. In fact, an assertion is added to flag such cases. This is a temporary measure until object watching and APC facilities are removed in favor of a MessagePump designed around an IO completion port. As part of this CL, I also changed the automation system to use an IPC::ChannelProxy instead of an IPC::Channel. This moves the automation IPC onto Chrome's IO thread where it belongs. I also fixed some abuses of RefCounted in the AutomationProvider class. It was deleting itself in some cases! This led to having to fix the ownership model for AutomationProvider, which explains the changes to AutomationProviderList and so on. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@928 0039d316-1c4b-4281-b951-d872f2087c98
* git-svn-id: svn://svn.chromium.org/chrome/trunk/src@873 ↵awalker@google.com2008-08-142-6/+6
| | | | 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the code which enables using the renderer dib in the browser backingiyengar@google.com2008-08-142-16/+7
| | | | | | | | | store as this hurts performance. Bug=1314407 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@858 0039d316-1c4b-4281-b951-d872f2087c98
* Set the svn:eol-style to LF on all SConscript filestc@google.com2008-08-131-81/+81
| | | | | | TBR=evanm git-svn-id: svn://svn.chromium.org/chrome/trunk/src@823 0039d316-1c4b-4281-b951-d872f2087c98
* Manually refcount ReceivedSyncMsgQueue so that we force it to be destructed onjabdelmalek@google.com2008-08-121-0/+4
| | | | | | | | the listener thread. I've fixed the renderer crashes which were happening because SyncChannel was going away before the listener thread. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@762 0039d316-1c4b-4281-b951-d872f2087c98
* Enabling sync_channel in the browser to allow accessibility code making ↵jcampan@google.com2008-08-121-1/+2
| | | | | | | | | blocking calls. This replaces my previous CL that was somehow duplicating some of these functionalities. BUG=None TEST=Run the unit tests. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@691 0039d316-1c4b-4281-b951-d872f2087c98
* Switch IPC classes over to using ObjectWatcher instead of ↵darin@google.com2008-08-091-0/+1
| | | | | | MessageLoop::WatchObject. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@625 0039d316-1c4b-4281-b951-d872f2087c98
* Add deps files and rules for the checkdeps script.brettw@google.com2008-08-081-0/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@600 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes http://b/issue?id=1257424, which is a need to implement a global ↵iyengar@google.com2008-08-063-11/+33
| | | | | | | | | | | | | | | | backing store cache. The current backing store cache is only used for invisible tabs and every other RenderWidgetHost holds a reference to its backing store. This CB proposes a change where in we have a global backing store cache, whose size can be controlled based on strategies like available resources etc. At this point the strategy is not implemented and the size is left at 5. We no longer maintain a reference to the backing store in the RenderWidgetHost. Every host queries the global cache for its backing store. The cache provides methods to create the backing store and populate it with the required dib. The other change is to use the renderer dib when the size of the bitmap being painted is the same as the backing store size. This is an attempt to improve performance in operations like scrolling. Bug=1257424 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@422 0039d316-1c4b-4281-b951-d872f2087c98
* Convert chrome SConscript files to psuedo-builder calls.sgk@google.com2008-08-031-1/+1
| | | | | | | | TBR: evanm,bradnelson git-svn-id: svn://svn.chromium.org/chrome/trunk/src@306 0039d316-1c4b-4281-b951-d872f2087c98
* Trim the dependencies of the plugin_dll and renderer_dll projects. ↵maruel@google.com2008-08-022-43/+0
| | | | | | | | Browser_dll will follow. At this point, plugin.dll and renderer.dll are roughly 35% smaller than browser.dll and chrome.dll BUG=1211534 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes http://b/issue?id=1303133, which was a crashiyengar@google.com2008-08-022-3/+5
| | | | | | | | | | | | in the renderer due to the plugin instance getting destroyed in the context of the ShowModalHTMLDialog request. The fix is to convert the WebPluginDelegateProxy object in a DeleteLater and to set its channel to NULL in the destructor. This ensures that the reply to the message can be sent out successfully. Bug=1303133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286 0039d316-1c4b-4281-b951-d872f2087c98