summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_thread.cc
Commit message (Collapse)AuthorAgeFilesLines
* Change chrome-ui to chrome. I didn't go too far in converting existing ↵glen@chromium.org2009-05-061-2/+2
| | | | | | | | | | | | | | strings to using the url_constant (shipshipship). Users (such as those on Beta and Dev using session restore) attempting to load the old pages will see a blank white screen. BUG=11272 TEST=Verify that the inspector, debugger, history, downloads and newtab pages load with chrome:// URLS. Verify that replacing the chrome:// with chrome-ui:// does not work. Review URL: http://codereview.chromium.org/101026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15378 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Don't allow onunload handlers to hang a renderer forever.agl@chromium.org2009-05-051-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | (Reland of r15025 which was reverted in r15095. |exit| has been changed to |_exit| to save running the onexit handlers while another thread is still in V8 code.) On POSIX one can install an unload handler which loops forever and leave behind a renderer process which eats 100% CPU forever. This is because the terminate signals (ViewMsg_ShouldClose and the error from the IPC channel) are routed to the main message loop but never processes (because that message loop is stuck in V8). One could make the browser SIGKILL the renderers, but that leaves open a large window where a browser failure (or a user, manually terminating the browser because "it's stuck") will leave behind a process eating all the CPU. On Windows we don't have this issue because all the processes are in a job so when the parent dies, all the children are killed too. http://codereview.chromium.org/100222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15332 0039d316-1c4b-4281-b951-d872f2087c98
* Pass down the opener tab when a message channel is opened to an extension.mpcomplete@google.com2009-05-011-3/+4
| | | | | | | | | | | Also did a bunch of cleanup of ExtensionMessageService. I converted it to primarily UI-thread habitation, with one function that needs to be on the IO thread so it can handle a synchronous IPC message. TEST=N/A Review URL: http://codereview.chromium.org/99261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15097 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "POSIX: Don't allow onunload handlers to hang a renderer forever."agl@chromium.org2009-05-011-27/+0
| | | | | | | | | | | | | This reverts commit r15025. Calling exit() on another thread meant V8's destructor functions got called while another thread was still in V8. I might not have a better plan, but it's making a mess of the valgrind builders so I'm reverting for now with an eye to landing again next week. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15095 0039d316-1c4b-4281-b951-d872f2087c98
* Replace window.external with a v8::extension.mbelshe@google.com2009-05-011-0/+2
| | | | | | | | | BUG=http://crbug.com/10957 TEST=Verify that the AddSearchProvider logic still works. This dates back to an old bug http://b/1069781 Review URL: http://codereview.chromium.org/99168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15056 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Don't allow onunload handlers to hang a renderer forever.agl@chromium.org2009-05-011-0/+27
| | | | | | | | | | | | | | | | | | | | | | On POSIX one can install an unload handler which loops forever and leave behind a renderer process which eats 100% CPU forever. This is because the terminate signals (ViewMsg_ShouldClose and the error from the IPC channel) are routed to the main message loop but never processes (because that message loop is stuck in V8). One could make the browser SIGKILL the renderers, but that leaves open a large window where a browser failure (or a user, manually terminating the browser because "it's stuck") will leave behind a process eating all the CPU. On Windows we don't have this issue because all the processes are in a job so when the parent dies, all the children are killed too. http://codereview.chromium.org/100222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15025 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Flash (and other plugins) to be installed without restarting the ↵jam@chromium.org2009-04-231-2/+16
| | | | | | | | | | | browser. This works by monitoring the MozillaPlugins registry key and reloading the plugin list afterwards. Note: I'll commit the WebKit change separately, but putting it in this change right now so everything can be reviewed together. BUG=10574 Review URL: http://codereview.chromium.org/88020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14377 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Make all devtools messages dispatch through debugger interrupt.pfeldman@chromium.org2009-04-171-1/+5
| | | | | | Review URL: http://codereview.chromium.org/73002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13910 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call COM stuff in the renderercpu@google.com2009-04-161-8/+7
| | | | | | | | | | | | | - Remove calls to CoInitialize / CoUninitialize - CoUninitialize sometimes causes the OS to try to load oleauth.dll - An exception for in-process-plugins. BUG=10589 Review URL: http://codereview.chromium.org/75028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13866 0039d316-1c4b-4281-b951-d872f2087c98
* Initial plumbing for sending events from the browser to extension renderers. ↵rafaelw@chromium.org2009-04-161-0/+9
| | | | | | | | Implement onTabMoved. Review URL: http://codereview.chromium.org/73065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13824 0039d316-1c4b-4281-b951-d872f2087c98
* Add JsonSchema-based validation for the tab APIs.aa@chromium.org2009-04-141-0/+1
| | | | | | | | | Arv: can you take json_schema.js and json_schema_test.js. Matt: you take the rest. Review URL: http://codereview.chromium.org/66006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13720 0039d316-1c4b-4281-b951-d872f2087c98
* Add command line flag that removes randomness from javascript functions, to ↵ace@google.com2009-04-141-1/+2
| | | | | | | | be used during reliability_tests. Review URL: http://codereview.chromium.org/63143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13711 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add JsonSchema-based validation for the tab APIs."aa@chromium.org2009-04-141-1/+0
| | | | | | | | | | | This reverts commit 4f47758f5238f2e5b05d9de18f390bfe2aeb6980. Revert "TBR: Fix unit tests, line endings." This reverts commit 257fa01e20c46c68dce1c5992b75c64686cb1a66. Review URL: http://codereview.chromium.org/67122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13652 0039d316-1c4b-4281-b951-d872f2087c98
* Add JsonSchema-based validation for the tab APIs.aa@chromium.org2009-04-141-0/+1
| | | | | | | | | Arv: can you take json_schema.js and json_schema_test.js. Matt: you take the rest. Review URL: http://codereview.chromium.org/66006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13649 0039d316-1c4b-4281-b951-d872f2087c98
* rebase and more minor changes.aa@chromium.org2009-04-091-7/+13
| | | | | | Review URL: http://codereview.chromium.org/62182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13410 0039d316-1c4b-4281-b951-d872f2087c98
* Add aa's Event class to our javascript bindings and use it in our extensionmpcomplete@google.com2009-04-081-5/+9
| | | | | | | message passing API. Review URL: http://codereview.chromium.org/62069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13371 0039d316-1c4b-4281-b951-d872f2087c98
* Move loadtimes extension out of the extensions directory.davemoore@chromium.org2009-04-071-1/+1
| | | | | | | | | This directory is only for extensions in service of the chrome extensions system, not all chrome related V8 extensions Review URL: http://codereview.chromium.org/63066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13289 0039d316-1c4b-4281-b951-d872f2087c98
* Adds new messages and widens some existing messages between the renderer and ↵michaeln@google.com2009-04-071-1/+16
| | | | | | | | browser processes to support an implementation of the HTML5AppCache spec with most of the logic running in the browser process. The gist of most of the changes are to indicate which frame each resource request is coming from, and to indicate which appcache each response was retrieved from (if any).See https://docs.google.com/a/google.com/Doc?docid=agv6ghfsqr_15f749cgt3&hl=en Review URL: http://codereview.chromium.org/9712 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13258 0039d316-1c4b-4281-b951-d872f2087c98
* - Added support for keeping track of load times.davemoore@chromium.org2009-04-031-0/+2
| | | | | | | | | | | | | | | | | For each document loaded we record the time the page was requested by the user (or as close as we can get to that), the time the load process started, the time the document and it's dependent resources (scripts) have been loaded (before onload()) and the time all the document's resources have been loaded. We use this data for two things: 1) We histogram the deltas between the time marks 2) We expose the times to javascript running on the page which was loaded Review URL: http://codereview.chromium.org/42527 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13116 0039d316-1c4b-4281-b951-d872f2087c98
* Add code to support 2-way communication between extensions and renderers. ↵mpcomplete@google.com2009-04-021-1/+15
| | | | | | | | The code is almost fully symmetrical, except that right now a channel can only be opened to an extension (by ID). It should be trivial to open a channel to a tab, once we have a solid tab API. Review URL: http://codereview.chromium.org/56037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13057 0039d316-1c4b-4281-b951-d872f2087c98
* Remove an #if !defined(OS_LINUX)willchan@chromium.org2009-04-011-3/+0
| | | | | | | | Fixes a linux crash on opening a new tab, because without this code, the render process sends a page_id of 1 to the browser process, which crashes in NavigationController::ClassifyNavigation since page_id==1 is not higher than the max page id (when you've already surfed to another page in a previous tab), so the NavigationController crashes on trying to look up an entry for the page which doesn't exist. Review URL: http://codereview.chromium.org/60006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12954 0039d316-1c4b-4281-b951-d872f2087c98
* - Enable V8 histograming supportdavemoore@chromium.org2009-03-311-0/+12
| | | | | | | | - All V8 measurements that had been stats timers will now be histogramed instead Review URL: http://codereview.chromium.org/56080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12918 0039d316-1c4b-4281-b951-d872f2087c98
* Add more of the server-side plumbing for extension APIs. Alsoaa@chromium.org2009-03-281-0/+7
| | | | | | | | added getTabsForWindow() to drive it. Review URL: http://codereview.chromium.org/42680 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12744 0039d316-1c4b-4281-b951-d872f2087c98
* Add basic infrastructure for sending async browser API request and receiving ↵aa@chromium.org2009-03-241-0/+4
| | | | | | | | results. Review URL: http://codereview.chromium.org/42262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12347 0039d316-1c4b-4281-b951-d872f2087c98
* Initial rev at a message passing API for extensions. So far, only passingmpcomplete@google.com2009-03-231-1/+2
| | | | | | | messages to the extension process is supported. Review URL: http://codereview.chromium.org/48090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12319 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome-side of moving webkit/glue/cache_manager.{h,cc} to the WebKit API layer.darin@chromium.org2009-03-191-11/+13
| | | | | | | | | | | | | | This also includes a change to not have third_party/WebKit/WebKit/chromium/public in the global include path. Most of the code changes pertain to this. I also took this opportunity to do some renaming: browser/cache_manager_host -> browser/renderer_host/web_cache_manager R=brettw Review URL: http://codereview.chromium.org/42194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12085 0039d316-1c4b-4281-b951-d872f2087c98
* Pre-upstream style changes: rename enableWebWorkers to ↵dimich@google.com2009-03-191-1/+1
| | | | | | | | | setIsWebWorkersEnabled to follow isFoo/setIsFoo pattern. Also pull DEPS to bring in the WebKit/chromium/src part. Review URL: http://codereview.chromium.org/48157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12066 0039d316-1c4b-4281-b951-d872f2087c98
* Reland the changes to use command line switch to turn on worker feature.jianli@chromium.org2009-03-181-0/+4
| | | | | | Review URL: http://codereview.chromium.org/48106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11975 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Enable building worker and use command line switch to turn on ..."agl@chromium.org2009-03-171-4/+0
| | | | | | | This reverts commit 11870. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11871 0039d316-1c4b-4281-b951-d872f2087c98
* Enable building worker and use command line switch to turn on this feature.jianli@chromium.org2009-03-171-0/+4
| | | | | | Review URL: http://codereview.chromium.org/41029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11870 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the gears in renderer process code. This allows me to do some ↵jam@chromium.org2009-03-131-16/+0
| | | | | | | | cleanup in how resource dispatching happens in a future cl. Review URL: http://codereview.chromium.org/42158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11601 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome-side changes to use registerURLSchemeNoAccess.darin@chromium.org2009-03-121-1/+7
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/42125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11555 0039d316-1c4b-4281-b951-d872f2087c98
* More WebKit API action (chromium side).darin@chromium.org2009-03-091-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the following methods to WebKitClient: decrementStatsTable incrementStatsTable traceEventBegin traceEventEnd The implementation of initV8CounterFunction is now a no-op. V8Proxy.cpp no longer calls it, and I moved the corresponding work out of WebKit. The embedder now calls the appropriate V8 API before initializing WebKit. Includes some cleanup to WebString and WebCString. I decided that I prefer "data" over "characters" since the latter may be confusing in some cases. For example, the elements of a WebString or WebCString may not be individual characters but may be part of a character. "data" is also consistent with basic_string<T> and so should be plenty familiar. There is wanton disregard for the Chrome+JSC build in this CL, but that's OK. We have already crossed that bridge. R=dglazkov Review URL: http://codereview.chromium.org/39288 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11254 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor v8 extensions so that they aren't in the WebCore namespace, and can ↵asargent@chromium.org2009-03-051-0/+13
| | | | | | | | | | | call functions in the rest of Chromium code without having to go through ChromiumBridge (which now lives upstream in the WebKit repository). R=darin,mbelshe Review URL: http://codereview.chromium.org/40132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11040 0039d316-1c4b-4281-b951-d872f2087c98
* Initial checkin of the out of process worker implementation.jam@chromium.org2009-03-041-4/+2
| | | | | | | | | | | WebWorkerClient/WebWorker are parallel interfaces of WebCore::{WorkerObjectProxy, WorkerContextProxy} that use Chrome data types. When WebKit requests a WorkerObjectProxy, we create an instance of WebWorkerClientImpl. This class creates an object that implements a Chromium version of WorkerObjectProxy (i.e. with Chrome data types) through WebViewDelegate. That object is a WebWorkerProxy and talks over IPC to a WebWorker object in the worker process. The WebWorker object creates the actual WebCore::Worker object using another class in glue: WebWorkerImpl. When the WebCore::Worker object running in the worker process wants to talk back to the code running in the renderer, it talks to WebWorkerImpl which implements WebCore::WorkerObjectProxy. WebWorkerImpl converts the data types to Chrome compatible ones, and then calls the WebWorkerClient version which does IPC to get to the renderer process. This ends up at WebWorkerProxy, which calls WebWorkerClientImpl (the original class). In future changes, sandboxing, multiple worker processes etc will be added. Note that I also had to make two small changes to WebKit, since WorkerMessagingProxy couldn't be created as is for the nested worker case. I'll either check it in myself or work with Jian to do so. Review URL: http://codereview.chromium.org/27157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10847 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ifdefs around parts ported by all platforms.pinkerton@chromium.org2009-03-031-15/+0
| | | | | | Review URL: http://codereview.chromium.org/39016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10795 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side to pick up new WebKit API changes.darin@chromium.org2009-02-281-4/+19
| | | | | | | | | | | | | | | | | | | | | WebKit API now provides: - layoutTestMode - support for registering extra local URL schemes - access to the current WebKitClient WebKitClient was extended to include: - access to the default locale - access to the current time - methods to start/stop the shared timer - method to get work scheduled on the main thread - methods to access cookies - method to prefetch hostnames R=dglazkov Review URL: http://codereview.chromium.org/27276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10665 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side to implement WebMimeRegistry.darin@chromium.org2009-02-261-31/+28
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/27222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10532 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium changes to use new WebKit, WebKitClient, and WebClipboard interfaces.darin@chromium.org2009-02-261-0/+5
| | | | | | | | | | | | | | | | | | | A new WebKitClientImpl class is added to webkit/glue that consumers can use to help implement WebKitClient. In the future, consumers will likely subclass WebKitClientImpl. For now, that is not necessary. Since a WebImage may not hold a SkBitmap, I needed to modify ScopedClipboardWriterGlue to not deal in SkBitmaps. So, I just added a WriteBitmapFromPixels method in place of the WriteBitmap method. That method is actually named the same as the one from the base class, which is perhaps kind of nice since the purpose of ScopedClipboardWriterGlue is to override the default way of sending an image to the clipboard! R=dglazkov Review URL: http://codereview.chromium.org/28119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10416 0039d316-1c4b-4281-b951-d872f2087c98
* Initial support for Renderer Side Histogramsjar@chromium.org2009-02-251-1/+13
| | | | | | | | | | Patch contributed by Raman Tenneti see also patch number 21038 Review URL: http://codereview.chromium.org/27034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10330 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-211-88/+38
| | | | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10080 Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10144 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 10080.jam@chromium.org2009-02-201-38/+88
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10082 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code from RenderThread and PluginThread and move it to ChildThread. ↵jam@chromium.org2009-02-201-88/+38
| | | | | | | | | ChildProcess now owns the ChildThread, which removes duplicate code and simplifies things. Clean up ChildProcess, there really was no need for all the templates and statics in it and its subclasses. Review URL: http://codereview.chromium.org/21502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10080 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some NOTIMPLMENTEDs which are apparently no longer necessary.evan@chromium.org2009-02-191-3/+3
| | | | | | Review URL: http://codereview.chromium.org/21520 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10036 0039d316-1c4b-4281-b951-d872f2087c98
* Turn on DNS prefetching.evan@chromium.org2009-02-191-5/+0
| | | | | | Review URL: http://codereview.chromium.org/21281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10025 0039d316-1c4b-4281-b951-d872f2087c98
* Stop crash in renderer at the end of displayingjrg@chromium.org2009-02-131-4/+0
| | | | | | | | | | | | | | | http://dev.chromium.org. Now that webkit merge has landed, actually create a RenderView in RenderThread. With these changes, there is only manual tweak needed (locally called "disable-button.diff") to get bits on the screen for OSX without crashing. Review URL: http://codereview.chromium.org/20349 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9743 0039d316-1c4b-4281-b951-d872f2087c98
* Fix totally broken include set.evan@chromium.org2009-02-121-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9628 0039d316-1c4b-4281-b951-d872f2087c98
* janitorial: browser_render_process_host header/lint cleanup. (try 2)thestig@chromium.org2009-02-111-0/+1
| | | | | | Review URL: http://codereview.chromium.org/21272 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9624 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Transfer network data using shared memoryagl@chromium.org2009-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | This patch adds the long planned support for sharing memory on POSIX by transporting file descriptors. It largely builds on the shared memory cleanup work by jrg. We move FileDescriptor out of chrome/common/file_descriptor_posix.h and into base/file_descriptor_posix.h. Since all that's left in the chrome/common verion is the DescriptorSet, those files are renamed to descriptor_set.[h|cc]. The SharedMemoryHandle on POSIX then becomes a typedef to a FileDescriptor and thus can be serialised over IPC. After that, it's mostly a case of cleaning up those snippets of code which considered SharedMemoryHandles to be scaler values. Review URL: http://codereview.chromium.org/21208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9580 0039d316-1c4b-4281-b951-d872f2087c98
* Get the renderer closer to rendering something on linux.estade@chromium.org2009-02-101-4/+0
| | | | | | | | | | * implement some stubbed functions * comment out some unimplemented IPC calls * hack a webcontents widget into BrowserWindow so that something displays Review URL: http://codereview.chromium.org/20204 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9445 0039d316-1c4b-4281-b951-d872f2087c98