summaryrefslogtreecommitdiffstats
path: root/chrome_frame/utils.cc
Commit message (Collapse)AuthorAgeFilesLines
* win: string_util.h -> utf_string_conversions.h fix.jhawkins@google.com2010-03-111-0/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/830002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41292 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a little utility function to make logging guids easiertommi@chromium.org2010-03-011-0/+6
| | | | | | | | | | | and a dlog to see when we decide that a request is a subframe request. TEST=Unit test is provided. BUG=none Review URL: http://codereview.chromium.org/660289 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40288 0039d316-1c4b-4281-b951-d872f2087c98
* First batch of context menu testsamit@chromium.org2010-02-121-0/+9
| | | | | | | | | | | | | | | | Refactored various methods to send keyboard and mouse input. Fixed the context menu focus issue on IE7. Improved existing tests to make them less flaky and added 3 new tests for context menu items. BUG=34673 TEST=new tests added Review URL: http://codereview.chromium.org/604014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38905 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Navigation failed testamit@chromium.org2010-02-041-2/+2
| | | | | | | | | | | | Also fix a bug in SetConfigInt to create the 'ChromeFrame' config key if it does not exist. BUG=24104 TEST=CFACWithChrome.NavigateFailed Review URL: http://codereview.chromium.org/560041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38103 0039d316-1c4b-4281-b951-d872f2087c98
* Remove cf: protocolamit@chromium.org2010-02-031-1/+2
| | | | | | | | | | | | | | | | | | | | Well, almost. cf: is now changed to gcf: protocol. gcf: protocol now is supported only for the following cases: 1. gcf:attach_external_tabXXX urls. These are URLs used internally by Chrome Frame to implement window.open 2. gcf:about:xxx 3. gcf:view-source:xxx 4 For any other URLs ONLY if it is enabled by setting a registry value 'EnableGCFProtocol' to 1 in HKCU\Software\Google\ChromeFrame BUG=22721,23006,23175,29350 TEST=changed existing cf: tests to new gcf: tests, added a new test for cf:view-source Review URL: http://codereview.chromium.org/562008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37981 0039d316-1c4b-4281-b951-d872f2087c98
* Disabling onhttpequiv again due to page reload issues.tommi@chromium.org2010-01-301-0/+5
| | | | | | | | | TEST=Make sure unit tests still pass. BUG=33332 Review URL: http://codereview.chromium.org/555178 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37584 0039d316-1c4b-4281-b951-d872f2087c98
* Implement OptInUrls using the same mechanism we use in the onhttpequiv ↵tommi@chromium.org2010-01-221-1/+2
| | | | | | | | | | | | | notification. A noteworthy change here is that OptInUrls doesn't rely on cf: anymore. TEST=The OptInUrls registry key should start working properly again. BUG=32660 Review URL: http://codereview.chromium.org/549129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36874 0039d316-1c4b-4281-b951-d872f2087c98
* If we navigate to a URL which has an anchor in IE, which eventually ends up ↵ananta@chromium.org2010-01-221-3/+23
| | | | | | | | | | | | | | | | | | | | | in ChromeFrame, the actual URL queried from the moniker passed in to our implementation of IPersistStream::Load does not have the anchor. It looks like there are some private interfaces exposed by MSHTML and invoked by IEFrame to pass this information over. Our fix is to save away the url received in our Bho BeforeNavigate2 notification and use this URL if available before querying the moniker for the URL. This needs to be done in IPersistStream::Load and in the OnHttpEquiv patch when we initiate a navigation to the actual URL using the moniker. Fixes bug http://code.google.com/p/chromium/issues/detail?id=27270 Bug=27270 Test=Covered by unit test. Review URL: http://codereview.chromium.org/542096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36814 0039d316-1c4b-4281-b951-d872f2087c98
* Updates for onhttpequiv. Preserving the referrer header, zapping the ↵tommi@chromium.org2010-01-161-4/+11
| | | | | | | | | | | | | currently loading document to prevent small documents from executing code. I'm not enabling httpequiv just yet as there are a couple of things I'm working on related to tests that will break once I make the switch. TEST=There should be no change since the code isn't still active but run all tests just to be safe. BUG=none Review URL: http://codereview.chromium.org/545096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36436 0039d316-1c4b-4281-b951-d872f2087c98
* Querying for one more interface to handle IE8 on XP case. This is what we ↵tommi@chromium.org2010-01-121-12/+27
| | | | | | | | | | | | were hitting on the builder. R=ananta BUG=none TEST=Run all unit tests. This is a second attempt to switch to onhttpequiv. Review URL: http://codereview.chromium.org/543017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36009 0039d316-1c4b-4281-b951-d872f2087c98
* Handle right-click->"Save Link As" in the host browser.tommi@chromium.org2009-12-161-0/+19
| | | | | | | | | TEST=Right click on a link in CF and select "save link as". You should immediately get the host browser's download UI. Before there could be a significant wait before this happened. BUG=23561 Review URL: http://codereview.chromium.org/506042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34783 0039d316-1c4b-4281-b951-d872f2087c98
* Minor change to less confusing variable name in IsSubFrameRequest in ↵robertshield@chromium.org2009-12-161-4/+4
| | | | | | | | | | ChromeFrame utils. TBR=tommi Review URL: http://codereview.chromium.org/474001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34737 0039d316-1c4b-4281-b951-d872f2087c98
* Use the OnHttpEquiv notification to switch to CF when the http-equiv meta ↵tommi@chromium.org2009-12-111-19/+104
| | | | | | | | | | | | | | | | tag is detected. This implementation is still behind the registry switch (set PatchProtocols to 0 in the registry). I will switch over to it wholesale in a separate patch. We use the same mechanism for re-initiating the navigation we use to transfer downloads over to the host, so I moved the common code to utils.cc and added NavigateBrowserToMoniker. When we see a browser instance attempting to load a CF document, we raise a TLS flag that we catch in HttpNegotiatePatch::ReportProgress when the mime type is being reported. This is the same place where we examine http headers and report the mime type. BUG=n/a TEST=Set PatchProtocols (REG_DWORD) to 0 in the CF HKCU config key and make sure we detect and handle the meta tag as well or better than before. Review URL: http://codereview.chromium.org/489004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34366 0039d316-1c4b-4281-b951-d872f2087c98
* Allow privileged mode to navigate Chrome Frame to data: URLs. siggi@chromium.org2009-12-101-1/+3
| | | | | | | | | | | For Joi: http://codereview.chromium.org/434121 BUG=none TEST=In privileged mode, set the src attribute to something like "data:text/html,Hello World". Review URL: http://codereview.chromium.org/487009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34252 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for running reliability tests for ChromeFrame on similar lines ↵ananta@chromium.org2009-12-091-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | as Chrome. We only run these tests for IE at this point. The reliability test code for Chrome has been copied and modified accordingly. Other related changes in this CL include the following:- 1. If ChromeFrame is running in headless mode determined by a registry value in HKCU\Software\Google\ChromeFrame we initialize ChromeFrame crash reporting and connect to the Chrome crash server. This would enable us to gather crash dumps from the reliability test runs and report the same. 2. The LowIntegrity fixes for the WebBrowser which Stoyan had done a while back are only needed for IE7 on Vista. For this CL though we just do the requisite hacks if the OS is Vista. For Windows7 the returned IWebBrowser interface pointer works fine. 3. I moved the WebBrowserEventSink to chrome_frame_test_utils as this class is now shared. Fixes portions of http://code.google.com/p/chromium/issues/detail?id=29451 Bug=29451 Review URL: http://codereview.chromium.org/465074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34119 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ChromeFrame build bot redness caused by us incorrectly wrapping ↵ananta@chromium.org2009-12-061-0/+2
| | | | | | | | | | | | protocol sinks which don't have an associated IWebBrowser. TBR=robertshield Review URL: http://codereview.chromium.org/469003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33942 0039d316-1c4b-4281-b951-d872f2087c98
* Limit the X-UA-Compatible HTTP header-based altering of the mime type ↵robertshield@chromium.org2009-12-041-0/+30
| | | | | | | | | | | performed by Chrome Frame to top-level requests only in IE. BUG=having an iframe that requests a resource that includes the X-UA-Compatible header in the response will trigger CF taking over the page. TEST=BUG doesn't happen anymore. Review URL: http://codereview.chromium.org/465036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33849 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes to the string MatchPattern functions:tony@chromium.org2009-12-031-1/+1
| | | | | | | | | | | | | | | 1) Make it explicit that it only supports ASCII (since it iterates character by character). 2) Limit the recursion to 16 levels. We could allow more, but in the case of a ?, it has exponential complexity, so I figured 16 was a good stopping point. It seems rare that someone would have more than 16 '?' and '*'s. BUG=28645 Review URL: http://codereview.chromium.org/460047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33748 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for Chrome Frame to be loaded via the presence of an ↵robertshield@chromium.org2009-12-031-0/+25
| | | | | | | | | | | | | X-UA-Compatible HTTP header (in addition to the meta tag support). Also pins the CF module into the process such that it won't get unloaded. Doing this to work around how we can get unloaded without unpatching properly. BUG=22802 TEST=Navigate to a web site whose server sends the X-UA-Compatible: chrome=1 HTTP header and ensure that the page is loaded in CF. Review URL: http://codereview.chromium.org/465009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33629 0039d316-1c4b-4281-b951-d872f2087c98
* Make UtilChangePersistentNPAPIMarker return true on unregistration ifjoi@chromium.org2009-11-191-1/+5
| | | | | | | | | | | the marker did not previously exist. BUG=none TEST=call the UnregisterNPAPIPlugin entrypoint on npchrome_tab.dll when the NPAPI plug-in is not previously installed with Firefox; it should not return an error. Review URL: http://codereview.chromium.org/402062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32480 0039d316-1c4b-4281-b951-d872f2087c98
* Add NPAPI plugin registration persistence code to chrome frame. If the DLL ↵robertshield@chromium.org2009-11-111-0/+47
| | | | | | | | is already registered as an NPAPI plugin, keep that registration information up to date across updates. Review URL: http://codereview.chromium.org/385015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31697 0039d316-1c4b-4281-b951-d872f2087c98
* Additional layer of protection to disable funky URLs throughamit@chromium.org2009-10-291-3/+16
| | | | | | | | | | | | view-source in chrome frame BUG=26129 TEST=cf:view-source:javascript:alert('foo') should not work in chrome frame. Review URL: http://codereview.chromium.org/348006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30417 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the Chrome Frame preprocessor define in chrome_constants.cc and deal ↵robertshield@chromium.org2009-10-281-27/+0
| | | | | | | | | | | | with resulting fallout. Also, remove several instances of Chrome Frame using wstrings instead of FilePaths. The main goal of this patch is to move towards ensuring that Chrome Frame and Google Chrome share binary-identical exes and dlls except for setup.exe and mini_installer.exe. Review URL: http://codereview.chromium.org/338025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30290 0039d316-1c4b-4281-b951-d872f2087c98
* Use scoped_array (not scoped_ptr) with new[].kuchhal@chromium.org2009-10-231-1/+1
| | | | | | | | | BUG=24266 TEST=No functional change so make sure nothing changes. Review URL: http://codereview.chromium.org/307045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29843 0039d316-1c4b-4281-b951-d872f2087c98
* Remove old ap-value munging code in Chrome Frame.robertshield@chromium.org2009-10-211-71/+0
| | | | | | Review URL: http://codereview.chromium.org/303023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29696 0039d316-1c4b-4281-b951-d872f2087c98
* Committing patch 256001 for Roger:http://codereview.chromium.org/256001Allow ↵tommi@chromium.org2009-10-011-1/+4
| | | | | | | | Chrome Frame to display chrome-extension URLs when running in privilegedmode.BUG=noneTEST=see unit tests Review URL: http://codereview.chromium.org/246050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27724 0039d316-1c4b-4281-b951-d872f2087c98
* Initial import of the Chrome Frame codebase. Integration in chrome.gyp ↵slightlyoff@chromium.org2009-09-241-0/+643
coming in a separate CL. BUG=None TEST=None Review URL: http://codereview.chromium.org/218019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27042 0039d316-1c4b-4281-b951-d872f2087c98