summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.cc
Commit message (Collapse)AuthorAgeFilesLines
* ChromeFrame should report anchor navigations to Chrome. Currently this does ↵ananta@chromium.org2011-06-301-0/+37
| | | | | | | | | | | | | | | | | | | not work as expected if a navigation is first attempted to a ChromeFrame URL without the anchor followed by a navigation to the same url with an anchor. In this case IE first sends an unload request to the currently loaded CF document which causes a lot of grief as we run unload handlers on the page. The navigation never proceeds to the new url though. The proposed fix is to handle this in the onunload handler in CF by validating whether the new url without the anchor is the same as the current url. If yes we just initiate a new navigation in Chrome. Fixes bug http://code.google.com/p/chromium/issues/detail?id=85617 BUG=85617 Review URL: http://codereview.chromium.org/7290015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91204 0039d316-1c4b-4281-b951-d872f2087c98
* Download requests initiated in a ChromeFrame popup window opened via ↵ananta@chromium.org2011-06-071-0/+2
| | | | | | | | | | | | | | window.open should be reissued in the current navigation context. We use the attach external tab URL prefix as a cue to identify whether the navigation should be reissued in a new window. Fixes bug http://code.google.com/p/chromium/issues/detail?id=84235 BUG=84235 Review URL: http://codereview.chromium.org/7033061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88230 0039d316-1c4b-4281-b951-d872f2087c98
* Merge gpu_trace_event back into base/debug/trace_event.scheib@chromium.org2011-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Initial land attempt at http://codereview.chromium.org/6551019/ gpu_trace_event fork at http://codereview.chromium.org/6691013 - gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug - Unit Tests implemented for trace_event - gpu_common library removed (was added only for gpu_trace_event) - Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019) - GPU trace calls renamed to new calls. - Tracing switch removed from test_shell, as linux log file support removed. BUG=79509 TEST=trace_event_win_unittest and about:gpu Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84284 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84486 Review URL: http://codereview.chromium.org/6862002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84739 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 84486 - Merge gpu_trace_event back into ↵scheib@chromium.org2011-05-061-2/+2
| | | | | | | | | base/debug/trace_event.Initial land attempt at http://codereview.chromium.org/6551019/gpu_trace_event fork at http://codereview.chromium.org/6691013- gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug- Unit Tests implemented for trace_event- gpu_common library removed (was added only for gpu_trace_event)- Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019)- GPU trace calls renamed to new calls.- Tracing switch removed from test_shell, as linux log file support removed.BUG=79509TEST=trace_event_win_unittest and about:gpuCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=84284Review URL: http://codereview.chromium.org/6862002 TBR=scheib@chromium.org Review URL: http://codereview.chromium.org/6955006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84494 0039d316-1c4b-4281-b951-d872f2087c98
* Merge gpu_trace_event back into base/debug/trace_event.scheib@chromium.org2011-05-061-2/+2
| | | | | | | | | | | | | | | | | | | | | Initial land attempt at http://codereview.chromium.org/6551019/ gpu_trace_event fork at http://codereview.chromium.org/6691013 - gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug - Unit Tests implemented for trace_event - gpu_common library removed (was added only for gpu_trace_event) - Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019) - GPU trace calls renamed to new calls. - Tracing switch removed from test_shell, as linux log file support removed. BUG=79509 TEST=trace_event_win_unittest and about:gpu Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84284 Review URL: http://codereview.chromium.org/6862002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84486 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 84284 - Merge gpu_trace_event back into ↵scheib@chromium.org2011-05-051-2/+2
| | | | | | | | | base/debug/trace_event.Initial land attempt at http://codereview.chromium.org/6551019/gpu_trace_event fork at http://codereview.chromium.org/6691013- gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug- Unit Tests implemented for trace_event- gpu_common library removed (was added only for gpu_trace_event)- Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019)- GPU trace calls renamed to new calls.- Tracing switch removed from test_shell, as linux log file support removed.BUG=79509TEST=trace_event_win_unittest and about:gpuReview URL: http://codereview.chromium.org/6862002 TBR=scheib@chromium.org Review URL: http://codereview.chromium.org/6933035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84293 0039d316-1c4b-4281-b951-d872f2087c98
* Merge gpu_trace_event back into base/debug/trace_event.scheib@chromium.org2011-05-051-2/+2
| | | | | | | | | | | | | | | | | | | Initial land attempt at http://codereview.chromium.org/6551019/ gpu_trace_event fork at http://codereview.chromium.org/6691013 - gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug - Unit Tests implemented for trace_event - gpu_common library removed (was added only for gpu_trace_event) - Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019) - GPU trace calls renamed to new calls. - Tracing switch removed from test_shell, as linux log file support removed. BUG=79509 TEST=trace_event_win_unittest and about:gpu Review URL: http://codereview.chromium.org/6862002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84284 0039d316-1c4b-4281-b951-d872f2087c98
* Include base/win/scoped_comptr.h instead of base/scoped_comptr_win.h.tfarina@chromium.org2011-04-121-27/+27
| | | | | | | | | | | | | | | | | Fix up all the callers to use the new location and namespace. Also, delete the stub file since it isn't included by anyone more. (Note: This was a TODO for brettw). BUG=None TEST=None R=brettw@chromium.org Review URL: http://codereview.chromium.org/6825055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81303 0039d316-1c4b-4281-b951-d872f2087c98
* Remove locked histogram macros since jar@chromium.org made the base macros ↵grt@chromium.org2011-04-061-2/+2
| | | | | | | | | | threadsafe in http://crrev.com/80412. BUG=none TEST=metrics should work as before Review URL: http://codereview.chromium.org/6800008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80668 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome frame support for resizing popup windowsjoshia@google.com2011-03-291-41/+33
| | | | | | | | | | | | | Add necesssary plumbing for window.resizeTo to work within Chrome Frame. BUG=76649 TEST=create a popup window using window.open and resize it using window.resizeTo. Sample test page is here: http://testopenpopup.comuf.com/popUp.html Review URL: http://codereview.chromium.org/6748010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79737 0039d316-1c4b-4281-b951-d872f2087c98
* Move the remaining files in chrome\common to content\common.jam@chromium.org2011-03-171-2/+2
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6672070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78516 0039d316-1c4b-4281-b951-d872f2087c98
* Update the includes to the old tab_contents.hjam@chromium.org2011-03-021-1/+1
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6596103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76552 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for the chrome frame anchor url navigation test failures. Fix is to ↵ananta@chromium.org2011-02-231-0/+11
| | | | | | | | | | | | | | | | append the anchor portion of the url retrieved from the navigation manager to the url retrieved from the protocol sink wrapper. This is needed as the protocol sink wrapper sees the url without the anchor portion. BUG=71860 TEST=ChromeFrame anchor url tests. TBR=amit Review URL: http://codereview.chromium.org/6546081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75704 0039d316-1c4b-4281-b951-d872f2087c98
* If we switch into ChromeFrame as a result of a redirect then we need to ↵ananta@chromium.org2011-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | navigate chrome to the correct URL to ensure that scripts on the page see the correct URL. This functionality regressed when the protocol sink patch landed. Fix is to read the URL from the ProtData object which wraps the underlying protocol sink, when our active document loads. Removed stale code from the Chromeframe moniker patch which eventually needs to go. Fixes bug http://code.google.com/p/chromium/issues/detail?can=2&q=71860 BUG=71860 TEST=As described in the bug. Review URL: http://codereview.chromium.org/6469103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75656 0039d316-1c4b-4281-b951-d872f2087c98
* Removing WS_EX_CLIENTEDGE from the extended styles for the ChromeFrame ↵ananta@chromium.org2011-02-181-1/+1
| | | | | | | | | | | | | | | | | active document. This fixes parts of bug http://code.google.com/p/chromium/issues/detail?id=55764 On IE9 a border is still drawn around all mshtml windows, which does not happen with ChromeFrame. This needs more investigation. BUG=55764 TEST=Launch IE9 and navigate to a ChromeFrame enabled page. The ChromeFrame page should not have a client edge border. Review URL: http://codereview.chromium.org/6531022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75427 0039d316-1c4b-4281-b951-d872f2087c98
* A number of poorly written IE BHO's crash IE if ChromeFrame is the currently ↵ananta@chromium.org2011-02-111-9/+13
| | | | | | | | | | | | | | | | | | | | | | | loaded document. This is because they expect ChromeFrame to implement interfaces like IHTMLDocument2 on the same lines as regular IE documents. Currently in ChromeFrame we patch the invoke methods of these BHO's prior to firing navigation events from ChromeFrame. However this is not enough as these objects also crash for regular navigation events fired from IE when ChromeFrame is loaded. We now don't fire navigation events for buggy BHO's if ChromeFrame is the current document. The BuggyBho handler instance is now created once for the thread. We patch when we receive navigation notifications from Chrome as before. When we receive a notification on our patched event sink we check if CF is loaded and if yes skip the call. Added helpers to chrome frame utils to check if CF is loaded in the current web browser instance. BUG=55932 TEST=none Review URL: http://codereview.chromium.org/6493002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74691 0039d316-1c4b-4281-b951-d872f2087c98
* Remove includes of message headers in headers.jam@chromium.org2011-02-091-19/+23
| | | | | | Review URL: http://codereview.chromium.org/6458004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74257 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a ChromeFrame Back Forward navigation issue which occurs when we modify ↵ananta@chromium.org2011-01-151-8/+15
| | | | | | | | | | | | | | | | | | the IE history while processing a navigation update received for a tab loading state change. This is incorrectly treated as an internal navigation which messes up the history. Fix is to not treat the tab loading state change notification as an internal navigation. Fixes bug http://code.google.com/p/chromium/issues/detail?id=69096 BUG=69096 TEST=None at this point. Review URL: http://codereview.chromium.org/6284002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71524 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-011-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 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-2/+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
* Move thread local stuff from base to base/threading and consistently use thebrettw@chromium.org2010-12-301-1/+1
| | | | | | | | | | | base namespace. This also fixes references to TLSSlot to base::ThreadLocalStorage::Slot. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/5986012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70322 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up Automation and Chrome Frame IPC code.-only use routed messages when ↵jam@chromium.org2010-12-231-23/+19
| | | | | | | | 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
* Add support for gcf:about:plugins in chrome frame full tab mode. The URL ↵ananta@chromium.org2010-12-141-1/+13
| | | | | | | | | | | | | | | | | | | validation code path in ChromeFrame now takes in an interface NavigationConstraints which allows the delegateslike the ActiveX, ActiveDocument and the NPAPI plugins to control the navigation decisions. We no longer refer to the InternetSecurityManager interface which is IE only for performing zone decisions in the ChromeFrame NPAPI plugin. Fixes bug http://code.google.com/p/chromium/issues/detail?id=66118 BUG=66118 TEST=Covered by additional CanNavigate unit tests. Review URL: http://codereview.chromium.org/5698005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69101 0039d316-1c4b-4281-b951-d872f2087c98
* Refreshing a ChromeFrame page which was received in response to a top level ↵ananta@chromium.org2010-12-031-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | POST to a page in IE should reissue the POST request after bringing up a confirmation dialog. This CL adds support to ChromeFrame to achieve this. Ideally we would want IE to display the confirmation dialog for the POST. However the doc object host which is implemented by IEFrame expects the doc object to implement the IHTMLDocument interface and a bunch of private interfaces. To reissue the POST request we save away the POST data and headers in the navigation manager instance which is per BHO. When we refresh the page in ChromeFrame the active document on seeing that we have posted data issues a navigation back to the URL with the posted data and saved headers. All other refreshes continue to work the same way as before, i.e. the refresh request is sent to Chrome on the automation channel. The confirmation dialog is put up by the active document with the same text and caption as that in Chrome. Fixes bug http://code.google.com/p/chromium/issues/detail?id=64901 BUG=64901 TEST=Covered by new ChromeFrame unit test Review URL: http://codereview.chromium.org/5595002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68213 0039d316-1c4b-4281-b951-d872f2087c98
* The View->Source menu item in the IE9 menu bar is disabled for ChromeFrame ↵ananta@chromium.org2010-12-011-1/+1
| | | | | | | | | | | | | | | pages. This CL fixes that. We need to enable the MSHTML command id IDM_VIEWSOURCE Fixes bug http://code.google.com/p/chromium/issues/detail?id=64857 BUG=64857 TEST=Launch IE9 and observe that the View->Source menu item is enabled on chrome frame pages. Review URL: http://codereview.chromium.org/5367011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67806 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that popup windows opened within ChromeFrame full tab mode in IE ↵ananta@chromium.org2010-11-181-2/+12
| | | | | | | | | | | | | | | | receive the desired content are size. To achieve this we first set the desired window styles on the web browser and then query it for the effective width and height. Fixes bug http://code.google.com/p/chromium/issues/detail?id=60447 Bug=60447 Test=Covered by existing window open tests. Review URL: http://codereview.chromium.org/5128002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66569 0039d316-1c4b-4281-b951-d872f2087c98
* Part 3 of reapplying r64637.erg@google.com2010-11-121-1/+1
| | | | | | | | | | | | | This moves SecurityStyle and PageType into chrome/common/ and removes the chrome_frame dependency on chrome/browser/tab_contents/. This undoes the temporary DEPS hack on chrome/common/. BUG=51409 TEST=compiles Review URL: http://codereview.chromium.org/4697005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65965 0039d316-1c4b-4281-b951-d872f2087c98
* Popup windows launched in a new window in ChromeFrame on IE8 would open ↵ananta@chromium.org2010-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | behind and would not render any content until the user clicked on them. This is because in this context IE8 attempts to inplace activate the object with the active document as the doc host. We don't support in place activation and return E_NOTIMPL. However ieframe specifically expects the return value to be OLEOBJ_E_INVALIDVERB and ends up not sending in the other verbs like OLEIVERB_SHOW, OLEIVERB_UIACTIVATE etc leading to this problem. Fixes bug http://b/issue?id=3174688 Bug=3174688 Review URL: http://codereview.chromium.org/4690004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65595 0039d316-1c4b-4281-b951-d872f2087c98
* Split out command IDs from chrome_dll_resource.h.evan@chromium.org2010-11-081-1/+1
| | | | | | | | | | | | The name of this file is a leftover from Windows. Split the command ids (which are used on all platforms) out, leaving just the Windows-specific resource IDs in the original file. TEST=compiles Review URL: http://codereview.chromium.org/4710001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65453 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply part of r64637, which caused mysterious failures on mac waterfall.erg@google.com2010-11-081-1/+1
| | | | | | | | | | | | | This applies only the rename of IPC::ContextMenuParams to IPC::MiniContextMenuParams so that it doesn't conflict with ::ContextMenuParams (defined in webkit). This is about half the original patch. BUG=51409 TEST=compiles Review URL: http://codereview.chromium.org/4669005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65429 0039d316-1c4b-4281-b951-d872f2087c98
* Back forward transitions would not work within ChromeFrame when attempted ↵ananta@chromium.org2010-11-051-5/+6
| | | | | | | | | | | | | | | | | | via the context menu. This was because the Back and Forward menu items on the context menu were disabled. The context menu is displayed by the active document in IE and it attempts to enable/disable these items based on entries in the IE travel log. The enabling of these items was failing as we were incorrectly passing in the string id of these options instead of their command id equivalents Should fix bug http://code.google.com/p/chromium/issues/detail?id=34657 Bug=34657 Test=Covered by new ChromeFrame context menu back forward test. Review URL: http://codereview.chromium.org/4500002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65231 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Refactor automation messages." due to mysterious problems on mac.erg@google.com2010-11-011-1/+2
| | | | | | | | | | | | | This reverts commit c1c1fed998ee4d839bfe256150e5e59220ebc0ef (r64637). TBR=nirnimesh@ BUG=51409 TEST=none Review URL: http://codereview.chromium.org/4194007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64644 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor automation messages.erg@google.com2010-11-011-2/+1
| | | | | | | | | | | | | | | | | automation_messages used to live in chrome/test/automation, when it's needed by browser and chrome_frame. When I started lifting code out of headers and into implementation files, I was getting link errors and temporarily solved the problem by compiling the cc files manually into libbrowser.a. Now this is part of chrome/common/ which is included by all targets needed. While doing this, discover that automation IPC redefines the ContextMenuParams struct. Rename it to MiniContextMenuParams. BUG=51409 TEST=none Review URL: http://codereview.chromium.org/4200007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64637 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for OnClose event in ActiveX and NPAPIamit@chromium.org2010-10-271-0/+4
| | | | | | | | | | | | | | | Provide event notification for window.close called within ActiveX and NPAPI. Currently this is handled in ActiveDocument to close the popups. In ActiveX and NPAPI plugin we just fire an event as it is upto the container to decide what's the right thing to do. BUG=59664 TEST=New tests ChromeFrameTestWithWebServer.FullTabModeIE_WindowClose, ChromeFrameTestWithWebServer.FullTabModeFF_WindowClose Review URL: http://codereview.chromium.org/4152005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64092 0039d316-1c4b-4281-b951-d872f2087c98
* Change miscellaneous LOG(INFO)s to VLOG()s that I missed the first time ↵pkasting@chromium.org2010-10-271-3/+2
| | | | | | | | | | | | through, either because they were LOG_IF() (which I didn't search for) or they were added during the week I was changing things. Plus a few misc. cleanup bits. BUG=none TEST=none Review URL: http://codereview.chromium.org/4111002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63998 0039d316-1c4b-4281-b951-d872f2087c98
* Move debug-related stuff from base to the base/debug directory and use thebrettw@chromium.org2010-10-261-1/+1
| | | | | | | | | | | | | | | | base::debug namespace. This splits apart debug_util into base/debugger and base/stack_trace There are still two functions in debug_util that I'm not sure what to do with. Since this uses the base::debug namespace, I removed the functions in debugger.h from the static class and just made them free functions in the namespace. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3945002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63859 0039d316-1c4b-4281-b951-d872f2087c98
* In ChromeFrame in full tab mode at times the address bar would display the ↵ananta@chromium.org2010-10-211-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | old URL. This would typically occur during redirects or performing back forward operations when the current and the target URLs were both rendered in ChromeFrame. A scenario where this would occur is as below:- 1. Navigation to a URL in chrome frame. 2. Clicking on a link which would navigate the current tab to a chrome frame URL. 3. Now hitting back in IE would navigate back. however the address bar would still display the URL in step 2. The reason this occurs is step 2 causes a top level navigation in IE via webbrowser::Navigate. This initiates a navigation sequence which updates the address bar to the URL in step 2. Eventually we receive navigation updates from chrome where the navigation index is changed due to a new navigation from step 1 to 2. We end up firing internal navigation events which cause the IE history to get messed up leading to the problem. Fix is to only fire internal navigation events if the following are true. 1. navigation indexes are different. 2. urls are different. 3. referrer differs. 4. navigation type is different. Fixes bug http://code.google.com/p/chromium/issues/detail?id=57207 Bug=57207 Test=Will send out a test in a separate CL. Need to brush up on using accessibility for link clicks, etc. Review URL: http://codereview.chromium.org/3988004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63414 0039d316-1c4b-4281-b951-d872f2087c98
* Remove scoped_bstr_win, fix all callers to use the new location.brettw@chromium.org2010-10-201-6/+6
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3748012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63216 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - chrome_frame/.pkasting@chromium.org2010-10-191-28/+29
| | | | | | | | | | Plus a couple misc. cleanups. BUG=none TEST=none Review URL: http://codereview.chromium.org/3850002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63095 0039d316-1c4b-4281-b951-d872f2087c98
* Top level navigations are not sent to the host browser in the ChromeFrame ↵ananta@chromium.org2010-09-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NPAPI implementation. These include window.open requests, hrefs with target _blank, etc. The ChromeFrame NPAPI plugin needs to set the renderer pref which indicates that the host browser can handle top level requests. We also pass an additional flag in the CreateExternal tab IPC which indicates whether the host browser supports full tab mode browsing or not. This defaults to true for IE, as the activex implementation relies on being able to launch a new window with the attach external tab prefix. which assumes support for full tab mode for IE being available. If the host browser does not support full tab browsing the window.open request which comes into the ExternalTabContainer instance creates a dummy ExternalTabContainer instance which is destroyed when the top level navigation info is sent back to the host browser. This CL is a short term fix for the issues with the NPAPI ChromeFrame plugin. Will do some investigation into a better approach. Fixes bug http://code.google.com/p/chromium/issues/detail?id=57319 Test=Covered by existing ChromeFrame widget mode tests WidgetModeIE_SrcProperty and WidgetModeFF_SrcProperty Fixed incorrect assumptions in the test files used by these tests. Bug=57319 Review URL: http://codereview.chromium.org/3549006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61117 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a c_str() use-after-free bug in the chrome frame code.nick@chromium.org2010-09-221-2/+2
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/3421029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60233 0039d316-1c4b-4281-b951-d872f2087c98
* Committing http://codereview.chromium.org/3420004/show for grt@robertshield@chromium.org2010-09-221-5/+15
| | | | | | | | | | | | | | | | Original description: - added detection of IE9 for ChromeFrame.IEVersion metric - replaced ChromeFrame.FullTabLaunchType metric with ChromeFrame.LaunchType metric, which logs more info regarding how it came to be that GCF rendered a page (but only for the CTransaction patch) BUG=43885 TEST=none Review URL: http://codereview.chromium.org/3443017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60188 0039d316-1c4b-4281-b951-d872f2087c98
* Added full support for invoking before unload and unload handlers on ↵ananta@chromium.org2010-09-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ChromeFrame rendered pages. This allows a webpage to put up a confirmation dialog in its beforeunload handler and potentially cancel the operation. We only support invoking unload handlers on the page for IE full tab mode. To achieve this the active document handles the OLECMDID_ONUNLOAD exec command which is passed by the DOCHOST to the object which allows us to potentially cancel the operation. Thanks to Stoyan for his help in authoring parts of this CL. The AutomationMsg_RunUnloadHandlers message which is used only by ChromeFrame is now a sync message which returns back a bool indicating whether the unload operation can be continued or not. The ExternalTabContainer now implements the BeforeUnloadFired method in the TabContentsDelegate and aborts the unload operation if the user chose to not proceed with the unload. Fixes bug http://code.google.com/p/chromium/issues/detail?id=33200 Bug=33200 Test=Covered by existing unload event test. Will add a test which validates whether a page can cancel the unload operation in a subsequent CL. Review URL: http://codereview.chromium.org/3450014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59854 0039d316-1c4b-4281-b951-d872f2087c98
* Partial clone of the following CL: http://codereview.chromium.org/3013045/showtwiz@google.com2010-09-101-9/+1
| | | | | | | | | | | | | | | | | Differences from the above CL include the following: - RendererPreferences settings for ExtensionHosts are now extracted from the associated_tab_contents(). This ensures that extension hosts will also forward top level navigation requests. - Instead of explicitly setting the delegate on the TabContents in ExtensionHost::ShowCreatedWindow, instead I instruct the associated tab-contents to add the newly build tab-contents. Note that this is the exact same behaviour performed by TabContents when initiating a top-level navigation to the host browser. Points of interest: - See the TODO in navigation_controller.cc. This problem of an unrecognized navigation entry needs further investigation. - Also, I found that if the ActiveX control is navigated to a chrome-extension URL, then the top-level-navigation will fail because of the format of the URL. The fix was to construct a temporary url in place of the chrome-extension url. BUG=51091 TEST=None Review URL: http://codereview.chromium.org/3357013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59142 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the special case for SECURITY_STYLE_AUTHENTICATION_BROKEN in ↵ananta@chromium.org2010-09-101-3/+0
| | | | | | | | | | | | | | | ChromeFrame when we update the navigation state. We now default to SECURELOCK_SET_UNSECURE in case of any auth errors. Fixes bug http://code.google.com/p/chromium/issues/detail?id=53649 Bug=53649 Review URL: http://codereview.chromium.org/3345020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59128 0039d316-1c4b-4281-b951-d872f2087c98
* For for CF test failure introduced by CL ↵twiz@google.com2010-09-091-0/+10
| | | | | | | | | | | | | | | (http://codereview.chromium.org/3295019) The problem is that by allowing ActiveX controls to hook top-level requests, the redirect in the ChromeFrameTestWithWebServer.WidgetModeIE_SrcProperty was being forwarded to the host browser in IE8. BUG=54920 TEST=ChromeFrameTestWithWebServer.WidgetModeIE_SrcProperty TBR=ananta Review URL: http://codereview.chromium.org/3325019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58950 0039d316-1c4b-4281-b951-d872f2087c98
* Change correcting the profile used when performing top-level navigations of ↵twiz@google.com2010-09-081-9/+5
| | | | | | | | | | | | | the host browser with a ChromeFrame instance. If a ChromeFrame instance was loaded with a given profile, the bho used to always forward top-level navigation requests to a CF full-tab instance using the default (iexplore) profile. This caused problems with the automation channel, and the navigation would not complete. I also cleaned up the gcf and host networking registry keys used by Chrome-Frame so that ActiveX instances will also respect their values. TEST=None BUG=None Review URL: http://codereview.chromium.org/3295019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58884 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression that allowd gcf: urls used with http and httpsamit@chromium.org2010-09-031-0/+10
| | | | | | | | | | | | BUG=54345 TEST=gcf:http://www.google.com should not work by default and should work only if 'AllowUnsafeURLs' is set to a non-zero value in registry. Review URL: http://codereview.chromium.org/3365008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58511 0039d316-1c4b-4281-b951-d872f2087c98
* Silencing a couple of dchecks that occur when running the debug version of ↵tommi@chromium.org2010-08-311-2/+6
| | | | | | | | | | | the *TabCrashReload* tests. TEST=Run debug versions of *TabCrashReload* tests. There should be no more dchecks. BUG=none Review URL: http://codereview.chromium.org/3241008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58067 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChromeFrame unload event tests which were failing on IE6 due to an IE ↵iyengar@google.com2010-08-311-0/+4
| | | | | | | | | | navigation sequence missing for the second URL loaded as part of the test. We were not firing the BeforeNavigate event for IE6 for navigations initiated by Webkit. This should also fix the Form post back forward tests which were failing on IE6. TBR=amit Review URL: http://codereview.chromium.org/3266011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57963 0039d316-1c4b-4281-b951-d872f2087c98