summaryrefslogtreecommitdiffstats
path: root/chrome_frame
Commit message (Collapse)AuthorAgeFilesLines
* Add an ExceptionBarrier around outbound calls to patched methods in IE. In ↵robertshield@chromium.org2010-04-288-14/+276
| | | | | | | | | | | | so doing, we have an SEH present in the SEH chain and so the VEH won't erroneously report crashes that occur in other modules when we happen to be on the stack. BUG=42660 TEST=Less false positives in the crash reports. Review URL: http://codereview.chromium.org/1733021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45764 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a chrome frame crasher reported on the crash server. It occurs while ↵ananta@chromium.org2010-04-271-4/+14
| | | | | | | | | | | | | | processing a call to SetPositionCookie while dereferencing a NULL automation client pointer. Fixes bug http://code.google.com/p/chromium/issues/detail?id=42598 Bug=42598 Review URL: http://codereview.chromium.org/1763011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45646 0039d316-1c4b-4281-b951-d872f2087c98
* Some more chrome frame test pure virtual function call crash fixes. There is ↵ananta@chromium.org2010-04-263-2/+15
| | | | | | | | | | | | | | | | | | another crash which occurs when the remote COM apartment running in Ie shuts down and tries to free references to the web browser event sink. We unsubscribe from the event sink in the destructor of the ComStackObjectWithUninitialize object. The call to DispEventUnadvise fails every time. Unsubscribing and call CoDisconnectObject to release the server side stub references in the OnQuit notification fixes the crash. To aid debugging this issue in the future we now override the purecall handler in chrome frame tests. Bug=41980 TBR=amit Review URL: http://codereview.chromium.org/1695015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45569 0039d316-1c4b-4281-b951-d872f2087c98
* More chrome frame test crash fixes. At times we fail to create the HTTP ↵ananta@chromium.org2010-04-241-2/+7
| | | | | | | | | | | | | server and end up crashing while dereferencing a NULL server pointer. Added expectations and checks to handle this gracefully. Bug=41980 TBR=amit Review URL: http://codereview.chromium.org/1706011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45526 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to fix the flakiness with the ChromeFrame FullTabModeIE_KeyboardTest ↵ananta@chromium.org2010-04-233-6/+11
| | | | | | | | | | and the FullTabModeIE_WindowOpenInChrome test. We need to set focus to the Chrome renderer window. Review URL: http://codereview.chromium.org/1736014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45515 0039d316-1c4b-4281-b951-d872f2087c98
* Continuing fixes for chrome frame test pure virtual function call crashes. ↵ananta@chromium.org2010-04-232-5/+10
| | | | | | | | | | | | | | | One of these fixes is in the ChromeFrame ActiveX where we were invoking the onload/onmessage handlers on a NULL interface pointer. The other fix is in the chrome frame test code where we need to protect against reentrancy while in the context of an outgoing COM interface call. Fixes http://code.google.com/p/chromium/issues/detail?id=41980 Bug=41980 Review URL: http://codereview.chromium.org/1691012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45481 0039d316-1c4b-4281-b951-d872f2087c98
* Check if the url is a top level url before clearing the referrer header.tommi@chromium.org2010-04-232-16/+16
| | | | | | | | | TEST=n/a BUG=none Review URL: http://codereview.chromium.org/1745007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45391 0039d316-1c4b-4281-b951-d872f2087c98
* Continuing attempt to fix chrome frame tests crashes. Moving the ↵ananta@chromium.org2010-04-231-4/+4
| | | | | | | | | | | | ComObjectstackEx instances which handle new IE windows to before the message loop to ensure that they remain valid when the message loop is destroyed. Bug=41980 Review URL: http://codereview.chromium.org/1761005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45387 0039d316-1c4b-4281-b951-d872f2087c98
* Another attempt to fix the pure virtual function call crash in chrome frame ↵ananta@chromium.org2010-04-221-25/+25
| | | | | | | | | | | | | | | | | tests. This crash happens because the timed message loop object attempts to destroy pending tasks, which point to a deleted CComObjectStackEx instance in its destructor. Fix is to ensure that the CComObjectStackEx instance which holds chrome frame mocks outlives the message loop. Fixes http://code.google.com/p/chromium/issues/detail?id=41980 Bug=41980 TBR=stoyan Review URL: http://codereview.chromium.org/1772001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45342 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Factor out reading and writing of preferences into |PrefStore|."bauerb@chromium.org2010-04-221-1/+2
| | | | | | | | | | | | | | | | | | | The CL now applies after r45225 (Throw out preferences files that are corrupt rather than keeping them in read-only mode), which means that the changes in that commit moved to JsonPrefStore. I updated JsonPrefStoreTest.InvalidFile to test the new behavior. *** In order to implement platform-specific policies, reading and writing preferences needs to be abstracted from the |PrefService|. The interface for that is now |PrefStore|, with an implementation |JsonPrefStore|, which stores the pref data in a JSON file. There is another implementation, |DummyPrefStore|, which doesn't store any persistent preferences, and is currently used for tests. Most of the changes are for using the new interface, which is |new PrefService(new JsonPrefStore(filename))| instead of |new PrefService(filename)|. BUG=40259 TEST=PrefServiceTest.*:PrefServiceSetValueTest.*:PrefMemberTest.*:JsonPrefStoreTest.* Review URL: http://codereview.chromium.org/1717007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45309 0039d316-1c4b-4281-b951-d872f2087c98
* The HttpNegotiateTest.ReportProgress test fails on IE6 as we fail to ↵ananta@chromium.org2010-04-224-5/+45
| | | | | | | | | | retrieve the IBrowserService interface. Disabling this test for IE6 for now. Review URL: http://codereview.chromium.org/1731003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45277 0039d316-1c4b-4281-b951-d872f2087c98
* Attempting to fix the pure virtual function call crash in chrome frame test ↵ananta@chromium.org2010-04-211-3/+16
| | | | | | | | | | | | | | | | runs. It appears to be caused by a race condition during disconnecting from chrome frame and receiving a callback from IE (Chrome Frame). Added checks to detect and work around this issue. Should fix http://code.google.com/p/chromium/issues/detail?id=41980 Bug=41980 Review URL: http://codereview.chromium.org/1703003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45233 0039d316-1c4b-4281-b951-d872f2087c98
* Only switch to cf for text/html. With opt-in URLs we could mark a URL to be ↵tommi@chromium.org2010-04-2110-44/+242
| | | | | | | | | | | loaded in CF regardless of the target mime type. If CF turns around and wants to download the target, we would hit an infinite loop. TEST=Verify that issue 40046 is resolved. OptIn urls should work with the moniker patch and downloads should not cause an infinite loop. BUG=40046 Review URL: http://codereview.chromium.org/1715004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45226 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 45168 - Reland r45028: Factor out reading and writing of preferences ↵erikkay@chromium.org2010-04-211-2/+1
| | | | | | | | | | | | | | | | | | into |PrefStore|. In order to implement platformspecific policies, reading and writing preferences needs to be abstracted from the |PrefService|. The interface for that is now |PrefStore|, with an implementation |JsonPrefStore|, which stores the pref data in a JSON file. There is another implementation, |DummyPrefStore|, which doesn't store any persistent preferences, and is currently used for tests. Most of the changes are for using the new interface, which is |new PrefService(new JsonPrefStore(filename))| instead of |new PrefService(filename)|. BUG=40259 TEST=PrefServiceTest.*:PrefServiceSetValueTest.*:PrefMemberTest.*:JsonPrefStoreTest.* Review URL: http://codereview.chromium.org/1687001 TBR=bauerb@chromium.org Review URL: http://codereview.chromium.org/1688004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45200 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r45028: Factor out reading and writing of preferences into |PrefStore|.bauerb@chromium.org2010-04-211-1/+2
| | | | | | | | | | | | | In order to implement platform-specific policies, reading and writing preferences needs to be abstracted from the |PrefService|. The interface for that is now |PrefStore|, with an implementation |JsonPrefStore|, which stores the pref data in a JSON file. There is another implementation, |DummyPrefStore|, which doesn't store any persistent preferences, and is currently used for tests. Most of the changes are for using the new interface, which is |new PrefService(new JsonPrefStore(filename))| instead of |new PrefService(filename)|. BUG=40259 TEST=PrefServiceTest.*:PrefServiceSetValueTest.*:PrefMemberTest.*:JsonPrefStoreTest.* Review URL: http://codereview.chromium.org/1687001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45168 0039d316-1c4b-4281-b951-d872f2087c98
* In ChromeFrame with the moniker patch enabled we should not process optin ↵ananta@chromium.org2010-04-205-16/+25
| | | | | | | | | | | | urls in the BHO. Fixes bug http://code.google.com/p/chromium/issues/detail?id=42155 Bug=42155 Review URL: http://codereview.chromium.org/1706003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45117 0039d316-1c4b-4281-b951-d872f2087c98
* In ChromeFrame with the IMoniker patch on, we should save away the redirect ↵ananta@chromium.org2010-04-204-19/+55
| | | | | | | | | | | | | | | | information received for the initial pending request. This is to ensure that we inform Chrome about this redirect which can then be followed correctly from Chrome. The other change is to save away the URL being navigated to in the bind context context object. This is also updated if we receive a redirect notification in our callback wrapper. The active document refers this URL if it is available and falls back to the old mechanism of retrieving the URL from the moniker if not. This ensures that optin urls continue to work correctly if the initial page is redirected. Review URL: http://codereview.chromium.org/1523028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45114 0039d316-1c4b-4281-b951-d872f2087c98
* Handle cookie requests in BackgroundThread.stoyan@chromium.org2010-04-203-2/+6
| | | | | | | | | Enable the unload event test. BUG=40814 TEST=unload event test Review URL: http://codereview.chromium.org/1629027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45042 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 45028 - Factor out reading and writing of preferences into |PrefStore|.thomasvl@chromium.org2010-04-201-2/+1
| | | | | | | | | | | | | | | | In order to implement platformspecific policies, reading and writing preferences needs to be abstracted from the |PrefService|. The interface for that is now |PrefStore|, with an implementation |JsonPrefStore|, which stores the pref data in a JSON file. There is another implementation, |DummyPrefStore|, which doesn't store any persistent preferences, and is currently used for tests. Most of the changes are for using the new interface, which is |new PrefService(new JsonPrefStore(filename))| instead of |new PrefService(filename)|. BUG=40259 TEST=PrefServiceTest.*:PrefServiceSetValueTest.*:PrefMemberTest.*:JsonPrefStoreTest.* Review URL: http://codereview.chromium.org/1523023 TBR=bauerb@chromium.org Review URL: http://codereview.chromium.org/1682001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45038 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out reading and writing of preferences into |PrefStore|.bauerb@chromium.org2010-04-201-1/+2
| | | | | | | | | | | | | In order to implement platform-specific policies, reading and writing preferences needs to be abstracted from the |PrefService|. The interface for that is now |PrefStore|, with an implementation |JsonPrefStore|, which stores the pref data in a JSON file. There is another implementation, |DummyPrefStore|, which doesn't store any persistent preferences, and is currently used for tests. Most of the changes are for using the new interface, which is |new PrefService(new JsonPrefStore(filename))| instead of |new PrefService(filename)|. BUG=40259 TEST=PrefServiceTest.*:PrefServiceSetValueTest.*:PrefMemberTest.*:JsonPrefStoreTest.* Review URL: http://codereview.chromium.org/1523023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45028 0039d316-1c4b-4281-b951-d872f2087c98
* Enable the ChromeFrame IMoniker patch by default now.ananta@chromium.org2010-04-202-2/+2
| | | | | | Review URL: http://codereview.chromium.org/1650015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44991 0039d316-1c4b-4281-b951-d872f2087c98
* Make X-Frame-Options detection in Chrome Frame non-case-sensitive, as it ↵robertshield@chromium.org2010-04-202-1/+8
| | | | | | | | | | | should be. BUG=42019 TEST=X-FRAME-OPTIONS et al start to work. Review URL: http://codereview.chromium.org/1539045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44988 0039d316-1c4b-4281-b951-d872f2087c98
* Context menu operations like Cut/Copy/Paste etc would not work in pages ↵ananta@chromium.org2010-04-192-5/+6
| | | | | | | | | | | | | | | | | | | rendered by ChromeFrame. The context menu is displayed by the ChromeFrame plugin which grabs focus to ensure that the menu has focus, and then restores focus back once we select an item. The latter step sends over a notification to Chrome via an automation message which then informs the view. This resets the webview item selection which results in this bug. Fix is to send over an additional flag to Chrome in the SetInitialFocus which indicates whether we need to inform the view about the focus change or not. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41523 Bug=41523 Review URL: http://codereview.chromium.org/1574033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44951 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 44898 - Disable two test cases in the BeginningTransaction test until ↵tommi@chromium.org2010-04-191-13/+9
| | | | | | | | | | | | | | | I fix them. TEST=none BUG=none TBR=amit Review URL: http://codereview.chromium.org/1633020 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/1648017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44920 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 44897 - Improved compatibility support for IE8.tommi@chromium.org2010-04-194-13/+13
| | | | | | | | | | | | | | | | | | | | 1) We no longer add a user agent to requests that do not already have one. This will result in the correct user agent header being applied but it will not have the chromeframe tag. Requests that will be affected include requests from other plugins and XHR but not top level requests. 2) Requests from Chrome Frame will always have the native user agent applied regardless of compatibility settings. This means that in IE8, you will always see CF requests with MSIE 8.0 even though the target site is otherwise configured to run in IE7 compatibility. TEST=Make sure all CF websites continue to work properly. Also, turn on IE7 compatibility mode for some websites (e.g. wave, vimeo) and check if the user agent sent to those sites contains "MSIE 7.0" for pages that are not rendered in CF. Pages rendered in CF should always have the IE8 header with the possible exception of the very first request if that request was issued by mshtml. BUG=28816 Review URL: http://codereview.chromium.org/1521037 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/1659008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44919 0039d316-1c4b-4281-b951-d872f2087c98
* Disable two test cases in the BeginningTransaction test until I fix them.tommi@chromium.org2010-04-181-9/+13
| | | | | | | | | | TEST=none BUG=none TBR=amit Review URL: http://codereview.chromium.org/1633020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44898 0039d316-1c4b-4281-b951-d872f2087c98
* Improved compatibility support for IE8.tommi@chromium.org2010-04-184-13/+13
| | | | | | | | | | | | | | | | | 1) We no longer add a user agent to requests that do not already have one. This will result in the correct user agent header being applied but it will not have the chromeframe tag. Requests that will be affected include requests from other plugins and XHR but not top level requests. 2) Requests from Chrome Frame will always have the native user agent applied regardless of compatibility settings. This means that in IE8, you will always see CF requests with MSIE 8.0 even though the target site is otherwise configured to run in IE7 compatibility. TEST=Make sure all CF websites continue to work properly. Also, turn on IE7 compatibility mode for some websites (e.g. wave, vimeo) and check if the user agent sent to those sites contains "MSIE 7.0" for pages that are not rendered in CF. Pages rendered in CF should always have the IE8 header with the possible exception of the very first request if that request was issued by mshtml. BUG=28816 Review URL: http://codereview.chromium.org/1521037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44897 0039d316-1c4b-4281-b951-d872f2087c98
* Pass HTTP headers to Chrome in the initial pending request initiated by ↵ananta@chromium.org2010-04-161-1/+6
| | | | | | | | | | | | | | ChromeFrame. This causes pages with encoding needs to render incorrectly. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41541 Bug=41541 Review URL: http://codereview.chromium.org/1642015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44855 0039d316-1c4b-4281-b951-d872f2087c98
* We need to specify at least one entry in the COM map of the bind information ↵ananta@chromium.org2010-04-161-0/+1
| | | | | | | | | | object used by ChromeFrame to maintain contextual information. Having an empty map causes an ATLASSERT to fire in debug builds. Review URL: http://codereview.chromium.org/1559037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44846 0039d316-1c4b-4281-b951-d872f2087c98
* Disable the following net tests for ChromeFrame as they rely on ↵ananta@chromium.org2010-04-161-0/+5
| | | | | | | | | | | | | | | functionality provided by Chrome's network stack like the ability to override a proxy for a URL request, etc. 1. URLRequestTestHTTP.ProxyTunnelRedirectTest 2.URLRequestTestHTTP.UnexpectedServerAuthTest. TBR=amit Review URL: http://codereview.chromium.org/1667003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44828 0039d316-1c4b-4281-b951-d872f2087c98
* Fix expectations for MonikerPatchTest unit testsamit@chromium.org2010-04-161-2/+2
| | | | | | | | | | | | | | | | The contract of the cache stream is changed to return S_FALSE if the data is completely read and this was the last data notification. Adjusted unit test expectations accordingly BUG=none TEST=Tests from MonikerPatchTest TBR=ananta Review URL: http://codereview.chromium.org/1523027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44747 0039d316-1c4b-4281-b951-d872f2087c98
* With the ChromeFrame moniker patch on, the data cache maintained to indicate ↵ananta@chromium.org2010-04-164-13/+16
| | | | | | | | | | | | | | | whether we should switch to Chrome, was not being drained correctly to the delegate, resulting in the delegate continuing to wait for more data when there was none. This caused sites like go/wave to not redirect correctly to CF. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41365 Bug=41365 Review URL: http://codereview.chromium.org/1637017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44735 0039d316-1c4b-4281-b951-d872f2087c98
* With the ChromeFrame IMoniker patch in the referrer would not propagate ↵ananta@chromium.org2010-04-169-117/+103
| | | | | | | | | | | | | | | | | | | | correctly to Chrome when we switch from IE to CF. In ChromeFrame the referrer is set in the navigation manager which receives this in the IHttpNegotiate::BeginningTransaction patch. When we switch from IE to cF via the moniker patch we receive two calls to BeginningTransaction, the first one with the referrer and the other one without the referrer for the same URL causing the referrer to be overwritten. Fix is to handle this case. The referrer is cleared in our BeforeNavigate notification. I also moved some functions to chrome frame utils as part of this CL. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41680 Bug=41680 Review URL: http://codereview.chromium.org/1653006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44733 0039d316-1c4b-4281-b951-d872f2087c98
* Change tests expectation to suit the new codeamit@chromium.org2010-04-161-15/+11
| | | | | | | | | | | BUG=NONE TEST=NavigationToRestrictedSite TBR=ananta Review URL: http://codereview.chromium.org/1629022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44731 0039d316-1c4b-4281-b951-d872f2087c98
* Disable a failing test temporarilyamit@chromium.org2010-04-151-1/+2
| | | | | | | | | | | BUG=41680 TEST=referrer test TBR=ananta Review URL: http://codereview.chromium.org/1631020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44713 0039d316-1c4b-4281-b951-d872f2087c98
* The timeout for the ChromeFrame FullTabModeIE_KeyboardTest was incorrectly ↵ananta@chromium.org2010-04-151-1/+1
| | | | | | | | | | | | set to 0x9999 in a recent CL. Correcting this to get the IE8 builder green. TBR=amit Review URL: http://codereview.chromium.org/1545039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44651 0039d316-1c4b-4281-b951-d872f2087c98
* Updates the launcher location finding logic to skip chrome_launcher.exe on ↵slightlyoff@chromium.org2010-04-151-2/+6
| | | | | | | | | | | OSes where IE can't run with differing integrities. BUG=41572 TEST=None Review URL: http://codereview.chromium.org/1638013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44613 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid a crash in ChromeFrame in the BindToStorage call initiated when our ↵ananta@chromium.org2010-04-159-116/+188
| | | | | | | | | | | | | | | | active document is loaded. The crash occurs while dereferencing a NULL delegate which is the case in the pending request object created by the active document to handle the initial load. Fix for this is to maintain a pending state in the request object. We ignore all OnProgress notifications in this state. When Chrome requests data for the top level url this state is cleared. Consolidated the number of bind context information structures into one which contains everything we need in ChromeFrame, i.e. to decide to switch to Chrome, indicating whether the request came from Chrome, etc. Review URL: http://codereview.chromium.org/1654012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44604 0039d316-1c4b-4281-b951-d872f2087c98
* Sniff data for the chrome meta tag as in comes in.amit@chromium.org2010-04-142-9/+8
| | | | | | | | | | | | | | Doing this allows us to make an determination of the renderer type at the right time in case of the server breaking connection unexpectedly without proper end of data notification. TEST=automated tests using sub_frame1.html BUG=none Review URL: http://codereview.chromium.org/1594031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44567 0039d316-1c4b-4281-b951-d872f2087c98
* Recommit of the ill-fated r44474, this time with new compiling goodness.robertshield@chromium.org2010-04-1411-5/+489
| | | | | | | | | | | | Add multi-version delegation to Chrome Frame such that CF will scan for older versions on load and delegate to them. This is to support clean upgrade scenarios whereby a new version is registered while IE is running. BUG=40117 TEST=Register a new CF version while an old one is loaded in IE. Open a few new tabs and observe nothing bad happening. TBR=tommi Review URL: http://codereview.chromium.org/1585037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44522 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the expectations for the ChromeFrame FullTabModeIE_BackForwardAnchor ↵ananta@chromium.org2010-04-143-9/+33
| | | | | | | | | | test to get it to work on IE6. It appears that on IE6 we don't receive the BeforeNavigate notifications for the anchor URLs. Review URL: http://codereview.chromium.org/1568032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44495 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 44473 (build breakage on bots) - Add multiversion delegation to ↵robertshield@chromium.org2010-04-1411-488/+5
| | | | | | | | | | | | | | | Chrome Frame such that CF will scan for older versions on load and delegate to them. This is to support clean upgrade scenarios whereby a new version is registered while IE is running. BUG=40117 TEST=Register a new CF version while an old one is loaded in IE. Open a few new tabs and observe nothing bad happening. Review URL: http://codereview.chromium.org/1562018 TBR=robertshield@chromium.org Review URL: http://codereview.chromium.org/1604035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44474 0039d316-1c4b-4281-b951-d872f2087c98
* Add multi-version delegation to Chrome Frame such that CF will scan for ↵robertshield@chromium.org2010-04-1411-5/+488
| | | | | | | | | | | | older versions on load and delegate to them. This is to support clean upgrade scenarios whereby a new version is registered while IE is running. BUG=40117 TEST=Register a new CF version while an old one is loaded in IE. Open a few new tabs and observe nothing bad happening. Review URL: http://codereview.chromium.org/1562018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44473 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor FileVersionInfo into an interface with platform implementations.tony@chromium.org2010-04-142-1/+5
| | | | | | | | | | | | | This allows us to move the chrome specific version informaton used by Linux into src/chrome. Add a GetChromeVersionInfo() for Linux in src/chrome/app/ and make sure to use this in src/chrome. In src/webkit/glue, add a new glue method for getting the product version. When compiling chrome, use an implementation in src/chrome/renderer (which uses GetChromeVersionInfo()) and a stub implementation for test_shell. Review URL: http://codereview.chromium.org/1560027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44435 0039d316-1c4b-4281-b951-d872f2087c98
* The ChromeFrame FullTabModeIE_AnchorUrlNavigateTest test only works if the ↵ananta@chromium.org2010-04-141-0/+3
| | | | | | | | | | IMoniker patch is enabled. TBR=amit Review URL: http://codereview.chromium.org/1575039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44432 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for remaining major issues with moniker patchamit@chromium.org2010-04-149-93/+174
| | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes things so that they now work 'naturally', i.e switch to chrome frame looks just like switching to pdf. The same bind context and underlying network transaction objects are used and requests aren't sent multiple times. Finally the TestPostReissue test is happy! This patch fixes two issues with earlier scheme: Issue 1: data can be read only once from a given bind context. Mshtml looks at the mime type in the FORMATETC but never issues a read. So when it switches, the new active document can read from start. Since we are reading the data for switching, when we actually switch, we have to transfer over the data read so far to our UrlmonUrlRequest. Issue 2: The very first UrlmomUrlRequest has to start binding right away, in the context of BindToStorage or network transcations associated with the bind context are gone (due to OnStopBinding for BindToObject). TEST=covered by existing tests BUG=33332 Review URL: http://codereview.chromium.org/1508033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44427 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ChromeFrame SaveAs test which always failed on the chrome frame ↵ananta@chromium.org2010-04-131-0/+3
| | | | | | | | | | | | | | | builder. This test creates a temporary file name and feeds the path to the SaveAs dialog put up by Chrome. If the file already existed the test fails. The other problem was that Chrome appends the .htm extension to the path passed in which caused the subsequent GetFileAttributes expectation to fail. Fix is to replace the .tmp extension in the temporary file name with .htm and to delete the file initially before starting the test. This test is still marked as flaky as it expects programmatic keyboard input. Review URL: http://codereview.chromium.org/1613015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44411 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the expectations for the ChromeFrame NavigateOk test so that it passes ↵ananta@chromium.org2010-04-131-1/+1
| | | | | | | | | | | | on IE8. It appears that the OnUpdateTargetUrl notification is not received at times on IE8. TBR=amit Review URL: http://codereview.chromium.org/1612015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44399 0039d316-1c4b-4281-b951-d872f2087c98
* Preparation CL for executing READ and COOKIE network requests from the ↵stoyan@chromium.org2010-04-1312-262/+250
| | | | | | | | background thread. Review URL: http://codereview.chromium.org/1520033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44369 0039d316-1c4b-4281-b951-d872f2087c98
* Return an error for command groups we don't support.tommi@chromium.org2010-04-131-1/+18
| | | | | | | | | | TEST=Should be no feature change but if anything this could clear up false positives where we report the status of a menu item as being enabled instead of not available. BUG=none Review URL: http://codereview.chromium.org/1589029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44364 0039d316-1c4b-4281-b951-d872f2087c98