summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.h
Commit message (Collapse)AuthorAgeFilesLines
* Some Chrome Frame cleanup:robertshield@chromium.org2010-01-051-2/+0
| | | | | | | | | | | | | | | | | | 1) Rearrange the chrome_frame.gyp file to: a) Split out most of CF into a static lib to make writing unit tests easier (not having to re-include source files). b) Remove most of the un-needed xulrunner-sdk includes. 2) Move all OBJECT_ENTRY_AUTO macros to chrome_tab.cc since they don't work without extra work when residing in a lib. 3) Rename npchrome_tab.dll to npchrome_frame.dll. BUG=none TEST=none Review URL: http://codereview.chromium.org/523040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35543 0039d316-1c4b-4281-b951-d872f2087c98
* Handle right-click->"Save Link As" in the host browser.tommi@chromium.org2009-12-161-1/+1
| | | | | | | | | 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
* Ensure that the renderer has focus when ChromeFrame navigates to a URL in IE ↵ananta@chromium.org2009-11-191-0/+3
| | | | | | | | | | | | | full tab mode. This fixes bug http://code.google.com/p/chromium/issues/detail?id=22745 Test=Covered by unit test. Bug=22745 Review URL: http://codereview.chromium.org/402079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32497 0039d316-1c4b-4281-b951-d872f2087c98
* Back/Forward support for url fragmentsamit@chromium.org2009-11-191-9/+43
| | | | | | | | | | | | | | | | | Added support for anchor (url fragments). this involves mainly implementing IPersistHistory. The rest of the stuff is a song and dance to get called in IPersistHistory in the first place and then behave correctly when we do. BUG=23981 TEst=unit tests added and back forward with '#' URLs, sub frames etc. Review URL: http://codereview.chromium.org/371004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32454 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFrame HTTP requests would randomly fail if we navigated to multiple ↵ananta@chromium.org2009-11-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HTTP sites. This was because the automation resource message filter tracked HTTP requests based on the request ids which are generated by the renderer process. As a result a new request would get created say with id 0, while an existing request would end in ChromeFrame causing the new request to incorrectly shutdown. Fix is to revert back to the original way of tracking requests with an auto incrementing id. The automation url job maintains both ids now, i.e. the automation request id and the chrome request id. The download notification receives the automation id and basically looks up the associated automation request id and sends the notification back to ChromeFrame. This fixes bug http://code.google.com/p/chromium/issues/detail?id=27401 Other fixes in this CL include the following:- 1. The active document instance would never get destroyed. This was because we call ShowUI on the doc host which maintains a reference. We need to call HideUI in Setsite of NULL, which releases the reference. 2. When the active x instance is shutting down we try to shutdown all running requests in the OnDestroy handler. To ensure that the request is deleted from the request map and released in the same thread which created it we post a task back to the ui thread which never runs as the window is being destroyed. Fix is to create a message only window with every urlmonrequest instance which supports task marshaling. Tests in a future CL. Bug=27401 Review URL: http://codereview.chromium.org/386008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31731 0039d316-1c4b-4281-b951-d872f2087c98
* When Chrome hands off a URL to be opened by the external host by the ↵ananta@chromium.org2009-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | ViewHostMsg_OpenURL IPC, it needs to pass the referrer as well. The Chrome fixes in this CL are mostly related to passing the HTTP referer off to the browser and from there to the ExternalTabContainer to ChromeFrame and back. The ChromeFrame changes are basically around the same lines with one exception. When we handle the AutomationMsg_OpenURL IPC in the activex and the active document we pass the referer if applicable to the WebBrowser2::Navigate2 interface, which is then read by the BHO in BeforeNavigate2. We then save away an AddRef'ed BHO pointer in TLS which is then referenced by the Active document for reading the referer and passing it off to Chrome in the NavigateInExternalTab message. Added a unit test in ChromeFrame which tests this case. This fixes http://code.google.com/p/chromium/issues/detail?id=22994 Bug=22994 Review URL: http://codereview.chromium.org/274071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29420 0039d316-1c4b-4281-b951-d872f2087c98
* This CL is for the needs of ChromeFrame.stoyan@google.com2009-10-131-0/+1
| | | | | | | | | | | | TabContentsDelegate implementation may override navigations caused by JsvaScript history object. Yet not perfect since webkit view of navigation stack differs from the view of external-non-Chrome-host-browser. We have to provide the full stack from host-browser (+visited links alongside) in the same way as Chrome-browser provides it to renderer. BUG=24004 Review URL: http://codereview.chromium.org/261046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28818 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for specifying the BrowserFlags DWORD value when we register ↵ananta@chromium.org2009-10-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | the ChromeFrame Active Document server. This allows the document server to receive a number of menu events like Find, View->Text Size, etc. Thanks to Stoyan for helping me debug this :) Clicking on Edit->Find in the menu in IE with this causes IEFrame to call our Active document's Exec implementation with the IDM_FIND command. The handling here is to invoke our default Find handling. Added support for honoring user text size selections. The next thing to be done is to honor the current text size setting while launching Chrome. I also fixed the rgs files to have LF as the terminating character. This fixes Bug http://code.google.com/p/chromium/issues/detail?id=23667 Bug=23667 Review URL: http://codereview.chromium.org/243082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28085 0039d316-1c4b-4281-b951-d872f2087c98
* Currently in full tab mode IE displays the security zone as Unknown. This CL ↵ananta@chromium.org2009-09-251-10/+34
| | | | | | | | | | | | | | | | | | | | | | | fixes that by returning URLZONE_INTERNET for most of the URLs, as we cannot directly map them to internal/external URLs. The reason being Chrome would need to honor the security settings from IE based on the zone. We also disallow navigation in ChromeFrame for restricted URLs. This fixes bug http://b/issue?id=2059403 This CL also fixes the stray issues with cf:attach_external_tab being visible in the tab title at times. This can be easily reproduced if the tabs being opened are background tabs. To set the title we call Exec on the IOleCommandTarget exposed by the frame. This is queried off the IOleInPlaceSite interface which is maintained by the m_spInPlaceSite member variable in CComControlBase. This member is not set when the tab is opened as a background tab and only gets set when it is activated. The fix is to query the IOleInPlaceSite interface from the IOleClientSite interface if the m_spInPlaceSite is not set. This fixes http://b/issue?id=2119243 Bug=2059403,2119243 Review URL: http://codereview.chromium.org/220042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27274 0039d316-1c4b-4281-b951-d872f2087c98
* Initial import of the Chrome Frame codebase. Integration in chrome.gyp ↵slightlyoff@chromium.org2009-09-241-0/+258
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