summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_tab.cc
Commit message (Collapse)AuthorAgeFilesLines
* Unconditionally send Chrome and Chrome Frame events through ETW machinery.grt@chromium.org2012-03-151-5/+1
| | | | | | | | | | | | | | | Previously, these components only registered themselves if CHROME_ETW_LOGGING was set in the environment. This is likely preventing the new log machinery in http://crrev.com/126240 from providing useful information on the main waterfall bots. Siggi: overall Brett: chrome/common BUG=none TEST=none R=siggi@chromium.org,brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/9702021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126810 0039d316-1c4b-4281-b951-d872f2087c98
* Adding FieldTrial support for Chrome Frame to allow measurement of startup ↵robertshield@chromium.org2012-03-101-2/+14
| | | | | | | | | | | | | | time improvements from delaying Chrome shutdown. The other half of http://crrev.com/124942 BUG=98506 TEST=NONE Review URL: http://codereview.chromium.org/9600011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126024 0039d316-1c4b-4281-b951-d872f2087c98
* Generate ETW events in Chrome Frame under the control of the same env var as ↵grt@chromium.org2012-03-011-3/+14
| | | | | | | | | | | | | Chrome. CHROME_ETW_LOGGING env var now controls whether or not npchrome_frame.dll generates ETW events. This matches the behavior in chrome.exe. I also tweaked the log settings so that the same info is included in npchrome_frame.dll log messages as those in chrome.exe. BUG=none TEST=none Review URL: http://codereview.chromium.org/9487011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124427 0039d316-1c4b-4281-b951-d872f2087c98
* Remove remaining references to CEEE.rogerta@chromium.org2011-12-201-4/+4
| | | | | | | | | BUG=107739 TEST=No visible code changes. Removing constants and code related to CEEE. Review URL: http://codereview.chromium.org/8909009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115183 0039d316-1c4b-4281-b951-d872f2087c98
* ake string_util::WriteInto() DCHECK() that the supplied |length_with_null| > ↵pkasting@chromium.org2011-11-291-1/+2
| | | | | | | | | | | | 1, meaning that the without-'\0' string is non-empty. This replaces the conditional code added recently that makes this case return NULL. It's easier to understand if it's simply an error to call WriteInto() in this case at all. Add DCHECK()s or conditionals as appropriate to callers in order to ensure this assertion holds. BUG=none TEST=none Review URL: http://codereview.chromium.org/8418034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112005 0039d316-1c4b-4281-b951-d872f2087c98
* Allow GCF installation on machine with old IE 7 installs.grt@chromium.org2011-11-251-1/+3
| | | | | | | | | | BUG=105386 TEST=install on Vista RTM (IE 7.0.6000.16386). if it fails, the fix doesn't work. R=robertshield@chromium.org Review URL: http://codereview.chromium.org/8702010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111605 0039d316-1c4b-4281-b951-d872f2087c98
* Have Chrome Frame build its .idl artifacts into a sub-folder of ↵robertshield@chromium.org2011-10-191-2/+2
| | | | | | | | | | | | SHARED_INTERMEDIATE_DIR, a globally common output folder. It's rude to dump things in the root of the dir that aren't used project-wide. Also explicitly list the installer -> ChromeFrame dependency in src\chrome\installer\DEPS. It was already present but now check_deps catches it due to the correctly formatted include path.Remove several redundant instances of SHARED_INTERMEDIATE_DIR being added to the include lists. BUG=97185 TEST=Chrome Frame artifacts do not appear in e.g. build/Debug/obj/global_intermediate/ Review URL: http://codereview.chromium.org/8317018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106287 0039d316-1c4b-4281-b951-d872f2087c98
* base/win: small improvement to RegKey API.tfarina@chromium.org2011-10-181-1/+1
| | | | | | | | | | | | - Rename ValueExists() to HasValue(). - Rename ValueCount() to GetValueCount(). - Rename ReadName() to GetValueNameAt(). R=maruel@chromium.org,willchan@chromium.org Review URL: http://codereview.chromium.org/8337006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106074 0039d316-1c4b-4281-b951-d872f2087c98
* Fix in-use updates for Chrome Frame.grt@chromium.org2011-09-231-5/+10
| | | | | | | | | | | | | On in-use updates, make a copy of the old chrome launcher's IE low rights elevation policy prior to registering the new npchrome_frame.dll so that running instances of IE can still launch Chrome. In so doing, I also removed elevation policy addition/removal code from the installer so that npchrome_frame.dll's {un,}registration code is the one and only place where this is done. BUG=95810 TEST=Install a previous version of GCF, run IE and visit some page that activates GCF, update to a version of GCF containing this fix, then try to visit another page that will activate GCF. If all goes well, you won't see an IE security prompt. Review URL: http://codereview.chromium.org/7976045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102569 0039d316-1c4b-4281-b951-d872f2087c98
* Make Chrome Frame registration and unregistration more robust and make it ↵robertshield@chromium.org2011-09-081-290/+397
| | | | | | | | | | | | | | | | | | | | return extra information in the failure code. Specifically, there are a series of registration changes made by Chrome Frame at registration and unregistration time. Previously, if any of those changes failed, the previous changes were left and subsequent changes were not made. During registration this could result in partial registration data being left if one of the items failed which is bad but wasn't a problem in practice, because if ever registration failed, unregistration would then be performed by the installer. Also the most likely step to fail happens first. During unregistration, if any of the steps fail, the remaining unregistration steps will not be taken. This is bad, as uninstallation is a best effort, "clean up everything you can" type thing. Changed this to for registration roll back the previous N-1 steps of step N fails and for unregistration to attempt to perform all N steps disregarding failures. Updated installer logging. BUG=94848 TEST=Unregistration of e.g. the user-agent modification should always be performed even if an earlier step fails. Review URL: http://codereview.chromium.org/7824010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100224 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CommandLine::GetCommandLineString().msw@chromium.org2011-07-201-1/+1
| | | | | | | | | | | | Fix string hackery in net/tools/dump_cache/dump_cache.cc Fix const casts in chrome/installer/util/product.cc and base/process_util_win.cc. BUG=73195 TEST=none Review URL: http://codereview.chromium.org/7386002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93165 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the remaining callers of LaunchApp to LaunchProcess.evan@chromium.org2011-07-181-1/+3
| | | | | | | | | | And delete temporary shims. BUG=88990 Review URL: http://codereview.chromium.org/7386010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92897 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 1) NPAPI support from Chrome Frame and 2) Firefox/Opera/Safari tests.grt@chromium.org2011-06-291-48/+5
| | | | | | | | | | BUG=none TEST=automated testing should suffice R=ananta@chromium.org,robertshield@chromium.org Review URL: http://codereview.chromium.org/7276037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90914 0039d316-1c4b-4281-b951-d872f2087c98
* Add a self-destruct mechanism to user-level Chrome Frame when it detects ↵robertshield@chromium.org2011-05-271-2/+7
| | | | | | | | | | | | | | | | that system-level Chrome Frame is present. This is a first step to handling user-to-system-level handoff. It will cause a user-level install to be correctly replaced with a system-level one once the user logs out and back in again. Additional changelists will follow that: 1) Ensure full clean-up of the user-level installation. 2) Handle notifications such that logging out and in again isn't required. BUG=82816 TEST=Install user-level Chrome Frame. Review URL: http://codereview.chromium.org/7065024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87033 0039d316-1c4b-4281-b951-d872f2087c98
* Fix platform_util::GetChannel on Windows.mark@chromium.org2011-05-021-2/+2
| | | | | | | | | | | GetChannel was confused in multi-user installs. It treated them as CHANNEL_UNKNOWN instead of their correct channels. BUG=81218 TEST=none Review URL: http://codereview.chromium.org/6893158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83790 0039d316-1c4b-4281-b951-d872f2087c98
* Added support in chrome frame for registering and unregistering the NPAPI ↵ananta@chromium.org2011-02-041-2/+12
| | | | | | | | | | | | | plugin as per user. This would ensure that the ChromeFrame Vista and above builders work correctly with UAC on. BUG=none TEST=ChromeFrame tests should pass on Vista with UAC on. Review URL: http://codereview.chromium.org/6368108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73860 0039d316-1c4b-4281-b951-d872f2087c98
* Invoke the OaEnablePerUserTLibRegistration function in oleaut32.dll during ↵ananta@chromium.org2011-02-041-0/+13
| | | | | | | | | | | | | | | | ChromeFrame per user registration on Vista and beyond. This is to workaround a bug on Vista SP1 and up where the mappings of per user type lib reg keys to HKCR don't work as expected. Windows 7 does not have this bug. The function is a noop there. BUG=none TEST=Per user chrome frame tests should work with UAC off Review URL: http://codereview.chromium.org/6286120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73831 0039d316-1c4b-4281-b951-d872f2087c98
* Move elevation registration into a separate rgs script and leave removal of ↵tommi@chromium.org2011-02-031-3/+9
| | | | | | | | | | | it up to the installer. TEST=Manual registration of npchrome_frame continues to register the elevation policy, but unregistration of the DLL will not remove the elevation policy (since the installer now does that). BUG=none Review URL: http://codereview.chromium.org/6286083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73645 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-211-1/+0
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* Regkey functions return error code instead of boolamit@chromium.org2011-01-191-16/+18
| | | | | | | | | | | | | | | | | | | | | | Change the Regkey helper to consistently use and return LONG instead of bool. Fix RegKey usage all over the code base and get rid of workarounds due to lack of return value. Reviewers: brettw: everything (skip parts for other reviewers if you wish) robertshield,grt: chrome_frame, installer siggi: ceee BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/6090006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71768 0039d316-1c4b-4281-b951-d872f2087c98
* Hopefully the last of the changes to fix the ChromeFrame InstallFlowTest ↵ananta@chromium.org2011-01-141-8/+8
| | | | | | | | | | | | | | | failures. Basically a dumb error caused by having a local variable with the same name as that of the parameter to a function. BUG=none TEST=ChromeFrame InstallFlowTest. TBR=amit Review URL: http://codereview.chromium.org/6303005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71477 0039d316-1c4b-4281-b951-d872f2087c98
* Unregister previous ChromeFrame UA strings registered under the PostPlatform ↵ananta@chromium.org2011-01-141-3/+25
| | | | | | | | | | | | | | | key while registering a new ChromeFrame UA string. This ensures that we don't end up with a number of duplicated chrome frame UA strings each pointing to a different version. This should hopefully fix the InstallFlowTest. BUG=none TEST=Covered by existing ChromeFrame InstallFlowTest Review URL: http://codereview.chromium.org/6355001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71466 0039d316-1c4b-4281-b951-d872f2087c98
* Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-111-2/+6
| | | | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70920 Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70920 - Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-101-6/+2
| | | | | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Review URL: http://codereview.chromium.org/6070006 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/6099012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70923 0039d316-1c4b-4281-b951-d872f2087c98
* Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-101-2/+6
| | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70920 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70782 - Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-071-6/+2
| | | | | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Review URL: http://codereview.chromium.org/6070006 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/6100007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70783 0039d316-1c4b-4281-b951-d872f2087c98
* Made logging not look up --enable-dcheck from command lineakalin@chromium.org2011-01-071-2/+6
| | | | | | | | | | | | Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70782 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/win_util to the base/win directory and use the base::win namespace.brettw@google.com2010-12-311-3/+3
| | | | | | | | | Fix up includes, many files including base/win_util don't actually need it. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70341 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ChromeFrame UA in the post platform section in the IE user agent ↵ananta@chromium.org2010-12-161-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | string. To achieve this we need to add the desired value in the registry under the Internet Settings\User Agent\Post Platform key. We add this under the per user or per machine section in the registry depending on whether ChromeFrame is being installed in per user or per machine mode. This fixes the bug where certain top level requests in IE would not have the chrome frame UA appended to the IE UA. Removed the BeginningTransaction vtable patch code, which only existed to add chrome frame to the UA in outgoing requests. The limitation with registering the chrome frame UA in the registry is that it will be sent out even in the ChromeFrame BHO is disabled. Fixes bug http://code.google.com/p/chromium/issues/detail?id=45087 BUG=45087 TESt=Covered by new chrome frame test. Review URL: http://codereview.chromium.org/5831002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69442 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new GetInstance() method for singleton classes, take 2.satish@chromium.org2010-12-081-2/+2
| | | | | | | | | | | | | | | | | | This is a small step towards making all singleton classes use the Singleton<T> pattern within their code and not expect the callers to know about it. This CL includes all files except those under chrome/browser, chrome/net, chrome/service and third_party/WebKit (these will be done in future CLs). Suggested files to focus for reviewers: - joi@ for files under src/ceee - tommi@ for files under src/chrome_frame - maruel@ for the rest of the files. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5581008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68577 0039d316-1c4b-4281-b951-d872f2087c98
* Rename module_utils.cc|h and associated test to dll_redirector.cc|h etc. to ↵robertshield@chromium.org2010-12-031-3/+3
| | | | | | | | | | | match what's actually in those files. It's been a TODO for a while and a recent chat shamed me into action. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/5560002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68128 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 67662 - FBTF: Remove unneeded headers from base/ (part 10)thestig@chromium.org2010-11-301-0/+2
| | | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5139006 TBR=thestig@chromium.org Review URL: http://codereview.chromium.org/5270010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67674 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 10)thestig@chromium.org2010-11-301-2/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5139006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67662 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NPAPI registrationgrt@chromium.org2010-11-271-2/+2
| | | | | | | | | BUG=none TEST=Set the persist NPAPI marker, upgrade GCF, then check to see if registration took place. Review URL: http://codereview.chromium.org/5366003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67482 0039d316-1c4b-4281-b951-d872f2087c98
* Enable boot-time prefetching for Chrome Frame for all dev and CEEE channels ↵robertshield@chromium.org2010-11-181-20/+33
| | | | | | | | | | | on XP only (where there's no superfetch). BUG=None TEST=None Review URL: http://codereview.chromium.org/5138003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66639 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of single-module-per-logon-session-per-profile implementation ↵robertshield@chromium.org2010-11-051-15/+14
| | | | | | | | | | | | for Chrome Frame. BUG=61383 TEST=Run IE with version X of CF loaded. Register version Y of CF. Run a second IE process, notice that version Y when loaded defers to version X. Review URL: http://codereview.chromium.org/4144008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65236 0039d316-1c4b-4281-b951-d872f2087c98
* Move pe_image and registry from base to base/win and use the namespace. It ↵brettw@chromium.org2010-10-171-1/+3
| | | | | | | | | | | | removes windows_message_list which isn't used. This keeps a stub for registry in the old location until we can update that. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3836005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62888 0039d316-1c4b-4281-b951-d872f2087c98
* Move windows version-related stuff out of base/win_util and into ↵brettw@chromium.org2010-10-151-3/+3
| | | | | | | | | | | | | | base/win/windows_version. Many files now only need to include this instead of all of win_util. Remove a bunch of unused code from base/win_util. There was a surprising amount. Replace the AppUserModel property key with the one from the SDK now that we use the Win7 SDK. Move GetLogonSessionOnlyDACL from win_util to ipc since it's only used in that one place. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3823002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62694 0039d316-1c4b-4281-b951-d872f2087c98
* Call Chrome Frame's user-level bho registration code when registering as ↵robertshield@chromium.org2010-09-101-1/+2
| | | | | | | | user level. Review URL: http://codereview.chromium.org/3320018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59091 0039d316-1c4b-4281-b951-d872f2087c98
* Add startup registration and shutdown of the long-running helper process to ↵robertshield@chromium.org2010-09-071-3/+80
| | | | | | | | | | | Chrome Frame's per-user registration method. Note that the process is not shutdown during un-registration in order for the process to keep running through updates. Shutdown for uninstallation will be done by the installer directly. BUG=53127 TEST=chrome_frame_helper.exe starts running when Chrome Frame is registered in per-user mode. Review URL: http://codereview.chromium.org/3291014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58691 0039d316-1c4b-4281-b951-d872f2087c98
* Correct a problem whereby the prefetching experiment would never be ↵robertshield@chromium.org2010-09-031-1/+8
| | | | | | | | scheduled for updates. Review URL: http://codereview.chromium.org/3362001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58440 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BHO registration snafu caused by r58197.robertshield@chromium.org2010-09-021-1/+1
| | | | | | | | | BUG=54107 TEST=BHO registration happens during install. Review URL: http://codereview.chromium.org/3348008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58387 0039d316-1c4b-4281-b951-d872f2087c98
* Add two new entry points to the Chrome Frame DLL to allow for non-admin ↵robertshield@chromium.org2010-09-011-15/+67
| | | | | | | | | | | registration. BUG=53127 TEST=Can register the CF DLL with non-admin privileges when calling into the alternate registration entry points. Review URL: http://codereview.chromium.org/3190005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58197 0039d316-1c4b-4281-b951-d872f2087c98
* Bring back RefreshElevationPolicy to avoid prompts on Vista and Win7amit@chromium.org2010-08-111-0/+3
| | | | | | | | | | TEST=upgrade from older version, it should not prompt to load page in chrome frame on Vista and Windows 7. BUG=51747 Review URL: http://codereview.chromium.org/3153006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55782 0039d316-1c4b-4281-b951-d872f2087c98
* Remove number conversion functions from string_util. These moved to ↵brettw@chromium.org2010-08-031-1/+2
| | | | | | | | | | string_number_conversions. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3054036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54747 0039d316-1c4b-4281-b951-d872f2087c98
* Convert a bunch of easy AppendSwitchWithValue to *ASCII.evan@chromium.org2010-07-301-2/+2
| | | | | | | | | For this patch, I skipped over any instance where it wasn't a nearly trivial change. Review URL: http://codereview.chromium.org/3069014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54285 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: add a CopySwitchesFrom() and AppendSwitchPath()evan@chromium.org2010-07-291-1/+1
| | | | | | | | | | | These are two common patterns in Chrome code: copying a subset of switches from one CommandLine to another, and appending a FilePath to a CommandLine. This sets me up to do a lot more deprecation in a follow-up change. Review URL: http://codereview.chromium.org/3012021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54218 0039d316-1c4b-4281-b951-d872f2087c98
* Fine grained registration for various Chrome Frame objects.stoyan@chromium.org2010-07-211-28/+78
| | | | | | | BUG=48987 Review URL: http://codereview.chromium.org/3010018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53191 0039d316-1c4b-4281-b951-d872f2087c98
* First step for cleaning registration code for ChromeFrame.stoyan@chromium.org2010-07-201-61/+5
| | | | | | | | Create separate RGS file for registering CLSID as a BHO. Remove the code that manually did the BHO registration. BUG=48987 Review URL: http://codereview.chromium.org/3029007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53040 0039d316-1c4b-4281-b951-d872f2087c98
* Boot prefetch optimization for Chrome Frame (experimental)amit@chromium.org2010-07-151-45/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If chrome is warmed up during a single reboot, it gets paged in for subsequent reboots and the cold startup times essentially look like warm times thereafter! The 'warm up' is done by setting up a 'RunOnce' key during DLLRegisterServer of npchrome_frame.dll. This works because chrome prefetch becomes part of boot prefetch file ntosboot-b00dfaad.pf and paged in on subsequent reboots. As long as the sytem does not undergo significant memory pressure those pages remain in memory and we get pretty amazing startup times, down to about 300 ms from 1200 ms The downside is: - Whether chrome frame is used or not, there's a read penalty (1200-300 =) 900 ms for every boot. - Heavy system memory usage after reboot will nullify the benefits but the user will still pay the cost. - Overall the time saved will always be less than total time spent paging in chrome - We are not sure when the chrome 'warm up' will age out from the boot prefetch file. The idea here is to try this out on chrome frame dev channel and see if it produces a significant drift in startup numbers. Review URL: http://codereview.chromium.org/2936010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52489 0039d316-1c4b-4281-b951-d872f2087c98