summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.cc
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Submitting for Erik:tommi@chromium.org2010-08-261-0/+1
| | | | | | | | | | | | | | | | | | | (http://codereview.chromium.org/3167040/show) In IE8, on Vista, when the user deletes their browsing data, the IDeleteBrowsingHistory interface is invoked twice - once in a low integrity process and once in a medium integrity process. Only the medium integrity process may succeed, but the low integrity process will restart the automation server after failing to connect to it. Upon invocation by IE, check the integrity level of the current process - if it is low, exit. GetProcessIntegrityLevel was adapted from rlz. A follow-up changeset will modify rlz to use this implementation. During editing, some unnecessary headers were removed from win_util.h and correspondingly added to win_util.cc and certain clients who were depending on transient includes. BUG=56212 TEST=Load some pages using Chrome Frame. Close IE. Verify that the Chrome Frame cache has grown and that the accessed domains appear in the history files. Launch IE, load a page using Chrome Frame. Delete Browsing Data. Note that the tab does not crash, that the on-disk cache files shrink, and that the accessed domains no longer appear in the history file Review URL: http://codereview.chromium.org/3171033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57567 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to handle a case whereby we've lost our automation server.tommi@chromium.org2010-08-261-1/+11
| | | | | | | | | TEST=See bug. BUG=52894 Review URL: http://codereview.chromium.org/3122041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57539 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for the ChromeFrame unload event test failures seen on the builder. For ↵ananta@chromium.org2010-08-211-0/+1
| | | | | | | | | | | | | | | | some reason the test shows up as succeeded even though it is failing. The test fails when the automation client instance is reused, i.e the new page loads in the same tab. We need to set the ready state of the active document instance to ready when we reuse the automation client instance. TBR=amit Review URL: http://codereview.chromium.org/3117032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56963 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all wstrings from the IPC logging subsystem.erg@google.com2010-08-181-1/+1
| | | | | | | | | | | | | | | | Changes all IPC Log methods from wstring to string. All static logging debug data changed from wchar[] to char[]. Various string conversion/numeric headers no longer need to be included in ipc_message_utils.h and have been removed (and added in all implementation files that require them). BUG=none TEST=none Review URL: http://codereview.chromium.org/3159013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56563 0039d316-1c4b-4281-b951-d872f2087c98
* Restrict unsafe URLs in Chrome Frameamit@chromium.org2010-08-131-32/+10
| | | | | | | | | | | | | | | | | | | | | | | | Further tighten down what URLs can be loaded in Chrome Frame. Based on the feedback from the security review and code inspection, restrict about: scheme only to about:blank and about:version by default. Factor out logic blocking logic including for URL zone checking so that all ActiveX, ActiveDoc and NPAPI will follow the same path. As a result we now block restricted URL zones in NPAPI instance as well. Another side effect of this refactoring is that the registry flag, EnableGcfProtocol, is replaced by AllowUnsafeURLs. If If this flag is set, then all the security related checking is turned off. BUG=50741 TEST=By default gcf: works only for about:blank, about:version and view-source of http and https. Setting AllowUnsafeURLs to a non zero value should allow any URL be loaded via gcf: Review URL: http://codereview.chromium.org/3159006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56096 0039d316-1c4b-4281-b951-d872f2087c98
* Handle automation server crashes. When Chrome crashes, we now handle the ↵tommi@chromium.org2010-08-101-14/+32
| | | | | | | | | | | | | | 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
* Added support in Chromeframe full tab mode IE for setting zoom levels via ↵ananta@chromium.org2010-08-091-18/+56
| | | | | | | | | | | | | | | | | | | | View->Zoom. Currently we only support Zoom in and zoom out as Chrome only supports these zoom levels. Added an automation IPC message AutomationMsg_SetZoomLevel to set the zoom level in ChromeFrame. The other change is in the active document in the handling of the attach external tab message. We now honor the dimensions if any when we Launch the URL. This ensures that any windows opened outside chrome frame also honor these dimensions. Fixes bug http://code.google.com/p/chromium/issues/detail?id=36000 Bug=36000 Review URL: http://codereview.chromium.org/3064049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55494 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 1)thestig@chromium.org2010-08-051-1/+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
* Fix ChromeFrame context menu tests which rely on the IE active document ↵ananta@chromium.org2010-08-021-1/+2
| | | | | | | | | | | window having focus. This regressed recently with the change to fix focus recycling issues in ChromeFrame while switching tabs. Review URL: http://codereview.chromium.org/3067023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54596 0039d316-1c4b-4281-b951-d872f2087c98
* Allow non-IE hosts to handle accelerators without having tojoi@chromium.org2010-08-021-1/+12
| | | | | | | | | | | | implement the huge IBrowserService2 interface. BUG=none TEST=none Review URL: http://codereview.chromium.org/2847071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54550 0039d316-1c4b-4281-b951-d872f2087c98
* Reinstating the call to InitiateNavigation when we launch the url from our ↵ananta@chromium.org2010-07-301-0/+7
| | | | | | | | | | | | active document. This is needed to pass the referrer correctly to chrome. TBR=amit Review URL: http://codereview.chromium.org/3080012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54292 0039d316-1c4b-4281-b951-d872f2087c98
* Miscellaneous ChromeFrame code cleanup. The automation client class ↵ananta@chromium.org2010-07-301-9/+0
| | | | | | | | | | | | | | maintained GURL members holding the url and referrer. We can stuff this information into the ChromeFrameLaunchParams member maintained by the client. This reduces the complexity in the code related to detecting whether we can navigate up front or after chrome initialization. The ChromeFrame ActiveX now launches the automation server in its implementation of IPersistPropertyBag::Load. This avoids race conditions between launching the automation server and navigating to it via put_src. Review URL: http://codereview.chromium.org/3038038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54284 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that window.open requests issued by ChromeFrame carry the correct ↵ananta@chromium.org2010-07-281-135/+48
| | | | | | | | | | | | | | | | | | | | | cookies in the outgoing HTTP requests. To achieve this we no longer issue navigations with the gcf:attach* prefix. We now issue a navigation to the current page URL with the attach external tab suffix, which indicates that the page is forced into ChromeFrame without making an actual HTTP request. This ensures that the new IE8 process has access to all HTTP cookies. We need to patch IInternetProtocol::LockRequest and UnlockRequest to not call the underlying implementations for our dummy request as this crashes in IE8 in the prebinding code path. Fixes bug http://b/issue?id=2277519 Added tests for the CanNavigateFullTabMode helper function. Bug=2277519 Review URL: http://codereview.chromium.org/3051018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54019 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFrame host browser commands need to account for the command group guid ↵ananta@chromium.org2010-07-261-19/+35
| | | | | | | | | | | | | | and the command id in all cases. We were detecting MSHTML command ids based on the command id only while ignoring the group which was wrong. Part of the fix for http://code.google.com/p/chromium/issues/detail?id=24034 Bug=24034 Review URL: http://codereview.chromium.org/2873070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53699 0039d316-1c4b-4281-b951-d872f2087c98
* Second attempt at trying to land buggy bho avoidance: ↵tommi@chromium.org2010-07-211-66/+12
| | | | | | | | | | | | | | | | | | http://codereview.chromium.org/3031009 A different approach to avoid crashes in buggy 3rd party BHOs.This time we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class: // Construct an instance of this class on the stack when firing web browser // events that can be sent to buggy BHOs. This class will intercept those // BHOs (see list in cc file) and ignore notifications to those components // for as long as the BuggyBhoTls instance on the stack lives. TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet. BUG=44463, 49373 Review URL: http://codereview.chromium.org/3053008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53236 0039d316-1c4b-4281-b951-d872f2087c98
* Fix incorrect focus cycling issues in ChromeFrame full tab mode. This ↵ananta@chromium.org2010-07-211-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | happens whenever a tab rendering a chrome frame page receives focus by switching to it. Whenever we receive focus in ChromeFrame we send over an IPC to set the initial focus to Chrome. In this IPc we invoke the FocusThroughTabTraversal function on the TabContents which basically cycles through the focus on the page which is not correct for full tab mode. Fix is to handle the WM_SETFOCUS message in the active document and invoke the GiveFocusToChrome with false indicating that we don't want to invoke the FocusThroughTabTraversal function which cycles through the view. It is sufficient to set focus to the tab. We also handle the WM_SHOWWINDOW message in the active document and set focus to the document if it is visible. This ensures that the page gets focused correctly. Fixes bug http://code.google.com/p/chromium/issues/detail?id=48459 Fixes bug http://code.google.com/p/chromium/issues/detail?id=25890 Bug=48459, 25890 Review URL: http://codereview.chromium.org/2825061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53206 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 53194 - A different approach to avoid crashes in buggy 3rd party ↵sanjeevr@chromium.org2010-07-211-12/+65
| | | | | | | | | | | | | | | | | | BHOs.This time we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class: // Construct an instance of this class on the stack when firing web browser // events that can be sent to buggy BHOs. This class will intercept those // BHOs (see list in cc file) and ignore notifications to those components // for as long as the BuggyBhoTls instance on the stack lives. TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet. BUG=44463, 49373 Review URL: http://codereview.chromium.org/3031009 TBR=tommi@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53197 0039d316-1c4b-4281-b951-d872f2087c98
* A different approach to avoid crashes in buggy 3rd party BHOs.This time ↵tommi@chromium.org2010-07-211-65/+12
| | | | | | | | | | | | | | | | we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class: // Construct an instance of this class on the stack when firing web browser // events that can be sent to buggy BHOs. This class will intercept those // BHOs (see list in cc file) and ignore notifications to those components // for as long as the BuggyBhoTls instance on the stack lives. TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet. BUG=44463, 49373 Review URL: http://codereview.chromium.org/3031009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53194 0039d316-1c4b-4281-b951-d872f2087c98
* Add one more DLL to the DocumentComplete blacklist.tommi@chromium.org2010-07-191-0/+1
| | | | | | | | | TEST=see bug BUG=44463 Review URL: http://codereview.chromium.org/2824056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52908 0039d316-1c4b-4281-b951-d872f2087c98
* BUG=47879stoyan@chromium.org2010-07-171-1/+10
| | | | | | Review URL: http://codereview.chromium.org/2824057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52806 0039d316-1c4b-4281-b951-d872f2087c98
* Not firing DocumentComplete in the presence of buggy BHOs.tommi@chromium.org2010-07-161-6/+68
| | | | | | | | | TEST=should be no functional change except if there are buggy BHOs that we know of loaded in IE. BUG=44463 Review URL: http://codereview.chromium.org/2906011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52668 0039d316-1c4b-4281-b951-d872f2087c98
* Small refactoring in preparation of the assassination of HttpNegotiate patch ↵stoyan@chromium.org2010-07-151-8/+5
| | | | | | | | (and possible murder of NavigationManager). Review URL: http://codereview.chromium.org/2813053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52547 0039d316-1c4b-4281-b951-d872f2087c98
* Replace NavigationManager DCHECK in favor of DLOG_IF(ERROR, ...) in ↵ericdingle@chromium.org2010-07-141-1/+1
| | | | | | | | | | | chrome_active_document.cc. BUG=None TEST=None Review URL: http://codereview.chromium.org/2955011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52354 0039d316-1c4b-4281-b951-d872f2087c98
* Handling case where automation server is NULL when creating the active doc ↵tommi@chromium.org2010-07-131-0/+6
| | | | | | | | | | | | | window. I'm not sure why the server couldn't be created but we shouldn't crash. BUG=48846 TEST=Fixes crash. Review URL: http://codereview.chromium.org/2895010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52191 0039d316-1c4b-4281-b951-d872f2087c98
* Make FixupURL() return a GURL instead of a string (i.e. do fixup + ↵pkasting@chromium.org2010-06-181-3/+2
| | | | | | | | | | | | | | canonicalization). Nearly every caller was already doing this. This in turn allows us to do better fixup/canonicalization of view-source: URLs. We now convert "view-source:google.com" into "view-source:http://google.com/". With a few changes scattered through the omnibox code, this also means we can do HTTP-stripping on view-source: URLs, and support the user typing in things like the case above. This also fixes some weirdness where if you tried to type something starting with "view-source:", the What You Typed match in the dropdown would show only a scheme, or a scheme plus "http:", in some cases. BUG=46612 TEST="view-source:google.com" should work. Review URL: http://codereview.chromium.org/2817011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50290 0039d316-1c4b-4281-b951-d872f2087c98
* window.open calls issued by pages within ChromeFrame would not honor the ↵ananta@chromium.org2010-06-171-8/+27
| | | | | | | | | | | | | | | | | | | | | | | suggested dimensions and would end up opening a default top level browser window in IE. ChromeFrame does receive the dimensions from the external tab container when it is notified about a popup being opened. Fix is to honor these dimensions by passing them off in the specially crafted url containing other arguments. Fixes bug http://code.google.com/p/chromium/issues/detail?id=42250 This fix is currently implemented for IE full tab mode only. Bug=42250 Test=Covered by augmenting the existing window open test to also validate the window size. Added a new unit test to test the ParseAttachExternalTabUrl helper function. Review URL: http://codereview.chromium.org/2867007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50064 0039d316-1c4b-4281-b951-d872f2087c98
* Move the crash metrics to the crash reproting lib to avoid a back dependency ↵mad@google.com2010-06-121-1/+1
| | | | | | | | | | | on Chrome Frame. BUG=0 TEST=none Review URL: http://codereview.chromium.org/2776010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49635 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for uploading UMA metrics data from ChromeFrame. Added support ↵ananta@chromium.org2010-06-111-0/+4
| | | | | | | | | | | | | | | | for tracking chrome frame crash metrics via 2 new counters which track successful navigations and crashes. These counters are persisted in the registry under HKCU\Software\Google\ChromeFrameMetrics. Any other histogram data like AutomationServer launch time, IE versions etc are simply dropped if IE is shutdown before they are sent out. The metrics data is uploaded on similar lines as Chrome. Bug=46057 Review URL: http://codereview.chromium.org/2714003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49493 0039d316-1c4b-4281-b951-d872f2087c98
* Add Support for window.close in ChromeFrame. Currently the CloseContents ↵ananta@chromium.org2010-06-071-0/+7
| | | | | | | | | | | | | | | | | | notification on the TabContentsDelegate which the ExternalTabContainer implements is ignored if the window close is not initiated from the host. Fix is to send over an automation message AutomationMsg_CloseExternalTab to the external host where we close the window. Currently this functionality is only provided by the active document. Fixes bug http://code.google.com/p/chromium/issues/detail?id=45930 Bug=45930 Test=Covered by chrome frame unit test FullTabModeIE_WindowCloseInChrome Review URL: http://codereview.chromium.org/2691004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49093 0039d316-1c4b-4281-b951-d872f2087c98
* Navigating to a page in ChromeFrame in IE would display the sad tab page ↵ananta@chromium.org2010-06-031-4/+5
| | | | | | | | | | | | | | | briefly until the navigation was initiated from IE. We have code in the ChromeFrame external tab container to initiate the navigation during initialization if we have a valid url passed in while creating the external tab. The URL would not get passed down even though it was available from ChromeFrame. This fixes bug http://code.google.com/p/chromium/issues/detail?id=43482 Bug=43482 Review URL: http://codereview.chromium.org/2600002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48890 0039d316-1c4b-4281-b951-d872f2087c98
* Misc. small cleanups I ran into while working on other changes.pkasting@chromium.org2010-06-021-0/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2486004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48730 0039d316-1c4b-4281-b951-d872f2087c98
* Implement most of the ridealong fixes/cleanups I suggested during review for ↵pkasting@chromium.org2010-06-011-71/+37
| | | | | | | | | | enabling warn-on-signed-versus-unsigned-equality-comparisions on Windows. BUG=none TEST=none Review URL: http://codereview.chromium.org/2395001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48666 0039d316-1c4b-4281-b951-d872f2087c98
* Use arraysize() instead of ARRAYSIZE_UNSAFE() where possible. Remove ↵pkasting@chromium.org2010-06-011-2/+0
| | | | | | | | | | pointless comment about use of ARRAYSIZE_UNSAFE(). BUG=none TEST=none Review URL: http://codereview.chromium.org/2364003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48663 0039d316-1c4b-4281-b951-d872f2087c98