summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_activex.h
Commit message (Collapse)AuthorAgeFilesLines
* Add rudimentary support in the ChromeFrame ActiveX to enable it work in a ↵ananta@chromium.org2012-07-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | generic client site, i.e. a non IE client site. Some of our users are creating apps which host ChromeFrame to render web pages. This enables them to use the chrome network stack by setting up a privileged chrome frame container and setting the corresponding properties on the ChromeFrame ActiveX. It mostly works well. However things like window.open break down as we need the ability in the ActiveX to be able to connect to an existing ExternalTabContainer instance. This works well in IE where the IWebBrowser implementation initiates the navigation correctly. However a generic implementation of the IWebBrowser interface does not do this. Fixes are to add a new function to the IChromeFramePrivileged interface which allows hosts to pass in the navigation url early in the lifetime of the ActiveX. In the ChromeFrame ActiveX we check if the url coming in is for an attach tab request and if so initiate the same. Fixes portions of bug https://code.google.com/p/chromium/issues/detail?id=137335 BUG=137335 Review URL: https://chromiumcodereview.appspot.com/10783007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147109 0039d316-1c4b-4281-b951-d872f2087c98
* Have Chrome Frame build its .idl artifacts into a sub-folder of ↵robertshield@chromium.org2011-10-191-3/+1
| | | | | | | | | | | | 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
* Revert 105803 - Have Chrome Frame build its .idl artifacts into a sub-folder ↵robertshield@chromium.org2011-10-171-1/+3
| | | | | | | | | | | | | | | | | | | of 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. BUG=97185 TEST=Chrome Frame artifacts do not appear in e.g. build/Debug/obj/global_intermediate/ Review URL: http://codereview.chromium.org/8150002 TBR=robertshield@chromium.org Review URL: http://codereview.chromium.org/8318013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105823 0039d316-1c4b-4281-b951-d872f2087c98
* Have Chrome Frame build its .idl artifacts into a sub-folder of ↵robertshield@chromium.org2011-10-171-3/+1
| | | | | | | | | | | 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. BUG=97185 TEST=Chrome Frame artifacts do not appear in e.g. build/Debug/obj/global_intermediate/ Review URL: http://codereview.chromium.org/8150002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105803 0039d316-1c4b-4281-b951-d872f2087c98
* Remove extension automation support that was used only by CEEE.joi@chromium.org2011-04-061-6/+1
| | | | | | | | | BUG=none TEST=all automated tests pass Review URL: http://codereview.chromium.org/6756044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80626 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up Automation and Chrome Frame IPC code.-only use routed messages when ↵jam@chromium.org2010-12-231-3/+2
| | | | | | | | needed-use routing IDs to avoid manually unpacking messages-remove data structures from IPC namespace (that should only be used for IPC code, and param traits)Note that I temporarily commented out part of a test in external_tab_test.cc because I couldn't figure out how to get the updated gmock macros to compile. Review URL: http://codereview.chromium.org/5998006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70105 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a privileged callback used in IE CF to check whether to showjoi@chromium.org2010-11-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the version mismatch warning dialog. Used this in ceee/ to only show it once per tab. Changed the logic in Firefox to show the warning dialog even when in privileged mode. This will mean it gets shown once per Firefox window. Wrote a unit test for the additional logic in ChromeFrameActivex. To write the unit test, used com_mock.py to generate a mock of the IChromeFramePrivileged interface. This can be extended to generate mocks of the other CF interfaces. Discovered duplication of np_browser_functions.h and .cc, resolved this to a single copy (the one under chrome_frame). Changed things around so chrome_tab.idl is built only once; this also lets me more easily depend on it in the com_mock rule. BUG=none TEST=chrome_frame_unittests.exe Review URL: http://codereview.chromium.org/4563001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65613 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for IPersist to the ActiveX implementation.tommi@chromium.org2010-11-091-0/+1
| | | | | | | | | | | | | This can be useful when hosts have a pointer to the object and need to know the clsid of the implementation. Currently it is possible to get at this via IPersistPropertyBag, but since we support IPersist directly in our ActiveDoc implementation I think it's more consistent to support it on the ActiveX implementation as well. BUG=none TEST=No change. Review URL: http://codereview.chromium.org/4669004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65540 0039d316-1c4b-4281-b951-d872f2087c98
* Handle automation server crashes. When Chrome crashes, we now handle the ↵tommi@chromium.org2010-08-101-1/+0
| | | | | | | | | | | | | | case and support document refresh or reload. When chrome crashes, we draw a poor man's sad tab (":-("), so that can clearly be improved. Another thing is that if the chrome instance that crashed held several navigational entries, then that history is lost. TEST=There are a couple of tests included, so run those (*TabCrash*) and also verify that when the chrome automation server is killed that we do the right thing. Also check info in bug report. BUG=25839 Review URL: http://codereview.chromium.org/3061036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55565 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 1)thestig@chromium.org2010-08-051-3/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3071012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55034 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify Chrome Frame usage of Chrome identifiers by simply using the Chrome ↵pkasting@chromium.org2010-05-281-2/+2
| | | | | | | | | | identifiers directly. This required renaming a few identifiers to avoid macro renaming conflicts when including the Chrome headers. BUG=none TEST=none Review URL: http://codereview.chromium.org/2359002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48543 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes to address code review comments from tommi from CL ↵ananta@chromium.org2010-05-021-6/+1
| | | | | | | | | | | | | | | | | | | http://codereview.chromium.org/1823001/show Changes include the following:- 1. Removing the IObjectWithSite::SetSite implementation from the chrome frame activex. 2. Removing the site_ member and using the ATL m_spUnkSite member. 3. Renaming the RegisterBHOIfNeeded member function to registerBhoIfNeeded to be consistent with the other methods in the IChromeFrame interface. Fixes bug http://code.google.com/p/chromium/issues/detail?id=42790 Bug=42790 TBR=tommi Review URL: http://codereview.chromium.org/1831001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46200 0039d316-1c4b-4281-b951-d872f2087c98
* The chrome frame install script instantiates the chrome frame activex via ↵ananta@chromium.org2010-05-011-5/+13
| | | | | | | | | | | | | | | | the new ActiveXObject call, which causes it to not receive the IOleObject_SetClientSite call. We now bootstrap our BHO in an explicit method call RegisterBHOIfNeeded Fixes bug http://code.google.com/p/chromium/issues/detail?id=42790 Bug=42790 Review URL: http://codereview.chromium.org/1823001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46165 0039d316-1c4b-4281-b951-d872f2087c98
* Fresh ChromeFrame installs triggered via wave required IE to be restarted ↵ananta@chromium.org2010-04-291-0/+5
| | | | | | | | | | | | | | | | | for wave to switch to Chrome in the current page/tab. The ChromeFrame install flow instantiates the ChromeFrame ActiveX which ensures that the IMoniker patches are in place for switching to work. However ChromeFrame relies on the BHO to be loaded in order to determine that a URL is a top level URL. The ChromeFrame ActiveX now attempts to load the BHO dynamically and registers it with the top level IWebBrowser for the page. This fixes bug http://code.google.com/p/chromium/issues/detail?id=42790 Bug=42790 Review URL: http://codereview.chromium.org/1789007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45969 0039d316-1c4b-4281-b951-d872f2087c98
* Added the propagation of the OnChannelError notification.mad@chromium.org2010-03-261-1/+3
| | | | | | | | | | | So that automation tests can tell when the communication between Chrome and Chrome Frame was cut. BUG=none TEST=none Review URL: http://codereview.chromium.org/1237003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42810 0039d316-1c4b-4281-b951-d872f2087c98
* Adds an automation message to retrieve the list of enabled extensions, and ↵joi@chromium.org2010-03-161-0/+3
| | | | | | | | | | | CF bindings for it. TEST=unit test to follow BUG=none Review URL: http://codereview.chromium.org/901002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41667 0039d316-1c4b-4281-b951-d872f2087c98
* Clone of issue 600130. (http://codereview.chromium.org/600130)twiz@chromium.org2010-02-161-1/+11
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/593111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39077 0039d316-1c4b-4281-b951-d872f2087c98
* 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
* Back/Forward support for url fragmentsamit@chromium.org2009-11-191-20/+6
| | | | | | | | | | | | | | | | | 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
* Add bindings to chrome frame to call the new extension automation apis.rogerta@chromium.org2009-10-231-0/+5
| | | | | | | | | TEST=see unit tests BUG=0 Review URL: http://codereview.chromium.org/284017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29902 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes the following issueananta@chromium.org2009-10-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Ensures Alt and Alt + character keys work correctly in ChromeFrame. There were two issues here:- a. Chrome would not forward unhandled Keyup messages. For the curious this carries WM_SYSKEYUP which is needed for Alt key to work. b. WM_SYSCHAR is not handled by the TranslateAccelerator function in IOleControlSite and IBrowserService2::v_MayTranslateAccelerator MSHTML does the same thing and also dispatches the message. We need to understand this better. For now we just post the message back to our parent which works. This fixes http://code.google.com/p/chromium/issues/detail?id=22996 Bug=22996 Review URL: http://codereview.chromium.org/257019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27803 0039d316-1c4b-4281-b951-d872f2087c98
* Initial import of the Chrome Frame codebase. Integration in chrome.gyp ↵slightlyoff@chromium.org2009-09-241-0/+140
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