summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.cc
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Simplify Chrome Frame usage of Chrome identifiers by simply using the Chrome ↵pkasting@chromium.org2010-05-281-6/+5
| | | | | | | | | | 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
* Enable warning 4389 as an error on windows builds. This will make mbelshe@chromium.org2010-05-271-3/+3
| | | | | | | | | | | | windows builds more similar to linux/mac, which already treat signed/ unsigned equality comparisons as warnings (and hence errors). BUG=44471 TEST=none Review URL: http://codereview.chromium.org/2222002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48395 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Another dependency the bbot missed!!!"rafaelw@chromium.org2010-05-261-3/+3
| | | | | | | | | | | | | | | | | | This reverts commit 161f7fd3bdd425167af9fe26fdc5373a2ff44c98. Revert "Missed a file as part of checkin for r48186" This reverts commit cff86beba5938209393a6c3bccced62a7f3ff36b. Revert "Enable warning 4389 as an error on windows builds. This will make" This reverts commit c78936bcfc65b98edf288191d927a495b0364621. TBR=mbelshe Review URL: http://codereview.chromium.org/2253001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48238 0039d316-1c4b-4281-b951-d872f2087c98
* Enable warning 4389 as an error on windows builds. This will makembelshe@chromium.org2010-05-251-3/+3
| | | | | | | | | | | | windows builds more similar to linux/mac, which already treat signed/ unsigned equality comparisons as warnings (and hence errors). BUG=44471 TEST=none Review URL: http://codereview.chromium.org/2081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48186 0039d316-1c4b-4281-b951-d872f2087c98
* Rename "mixed content" to "insecure content" in as many places as possible, ↵pkasting@chromium.org2010-05-181-5/+5
| | | | | | | | | | to standardize on a consistent naming scheme. BUG=none TEST=none Review URL: http://codereview.chromium.org/2069005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47531 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r47347 [was reverted in r47357], this time without re-enabling a ↵pkasting@chromium.org2010-05-171-4/+6
| | | | | | | | | | | | | | | | | | | | | DISABLED test that times out on Mac. (Original patch reviewed at http://codereview.chromium.org/2067003 ) Track "display" and "run" separately for mixed content, and make the latter downgrade the SSL state to "authentication broken". Make the "display" state only affect the current tab (not the entire host). Fix an SSL browser test by supplying the appropriate SiteInstance*. Move a test from "disabled" to "flaky" since it at least passes for me. Make the SSLManager header and .cc files put functions in the same order, and make that order somewhat saner. BUG=15072, 18626, 40932, 42758 TEST=Covered by browser tests Review URL: http://codereview.chromium.org/2063008 Review URL: http://codereview.chromium.org/2126005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47428 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47347 - (Original patch reviewed at ↵rvargas@google.com2010-05-151-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://codereview.chromium.org/2067003 ) Track "display" and "run" separately for mixed content, and make the latter downgrade the SSL state to "authentication broken". Make the "display" state only affect the current tab (not the entire host). Fix an SSL browser test by supplying the appropriate SiteInstance*. Move a test from "disabled" to "flaky" since it at least passes for me. Make the SSLManager header and .cc files put functions in the same order, and make that order somewhat saner. Falied TestGoodFrameNavigation on Mac 10.5 browser tests among other things: /b/slave/chromium-rel-mac-builder/build/src/chrome/browser/ssl/ssl_browser_tests.cc:43: Failure Value of: entry->ssl().displayed_mixed_content() Actual: false Expected: displayed_mixed_content Which is: true BUG=15072, 18626, 40932, 42758 TEST=Covered by browser tests Review URL: http://codereview.chromium.org/2063008 TBR=pkasting@chromium.org Review URL: http://codereview.chromium.org/2095006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47357 0039d316-1c4b-4281-b951-d872f2087c98
* (Original patch reviewed at http://codereview.chromium.org/2067003 )pkasting@chromium.org2010-05-151-4/+6
| | | | | | | | | | | | | | | | | | Track "display" and "run" separately for mixed content, and make the latter downgrade the SSL state to "authentication broken". Make the "display" state only affect the current tab (not the entire host). Fix an SSL browser test by supplying the appropriate SiteInstance*. Move a test from "disabled" to "flaky" since it at least passes for me. Make the SSLManager header and .cc files put functions in the same order, and make that order somewhat saner. BUG=15072, 18626, 40932, 42758 TEST=Covered by browser tests Review URL: http://codereview.chromium.org/2063008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47347 0039d316-1c4b-4281-b951-d872f2087c98
* Candidate fix for bug 44108. The FromBindContext function was inherently ↵tommi@chromium.org2010-05-141-2/+2
| | | | | | | | | | | | | racy as it returned a pointer to a non-addrefed pointer and the AddRef/Release implementation in the BindContextInfo was not thread safe. Also fixed BSCBStorageBind object leak. TEST=See bug description BUG=44108 Review URL: http://codereview.chromium.org/2080005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47306 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the chrome frame context menu back forward test which regressed in ↵ananta@chromium.org2010-05-141-15/+9
| | | | | | | | | | | | | | | | | revision 47187 due to a change in the context menu resource ids. Solution is to include the chrome_dll_resources.h file in a way to reduce conflicts with existing chrome frame resources. We have two new files chrome_imported_resources.cc/.h to achieve that. Fixes bug http://code.google.com/p/chromium/issues/detail?id=44134 Bug=44134 Review URL: http://codereview.chromium.org/2067006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47223 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a ChromeFrame regression introduced by the fix for bug ↵ananta@chromium.org2010-05-131-0/+4
| | | | | | | | | | | | | | http://code.google.com/p/chromium/issues/detail?id=43922. The active document url was not being updated when we receive the navigation state from chrome. This caused a couple of chrome frame tests to fail. Bug=43922 TBR=amit Review URL: http://codereview.chromium.org/2052011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47113 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFrame would not switch to Chrome at times. The navigation manager in ↵ananta@chromium.org2010-05-121-9/+0
| | | | | | | | | | | | | | | | | | | | | | ChromeFrame maintains the current top level URL which is used by the moniker patch to decide whether to wrap the callback. This url is typically set in the Bho in the BeforeNavigate callback. We also had code to update this url when we receive a navigation update from Chrome. The reason we would not switch is because of a race condition between receiving a top level navigation request from chrome and receiving a navigation update for the previous operation which caused us to not wrap the bind status callback. Fix is to not update the url in the callback when we receive a navigation status update. In any case it is Chrome's responsibility to inform ChromeFrame about top level url navigations. We should fix the bug if any in Chrome which caused this hack to go in. Fixes bug http://code.google.com/p/chromium/issues/detail?id=43922 Other changes are to replace the NOTREACHED in the chrome frame automation proxy code with a DLOG as this fires during chrome frame test runs. Bug=43922 Review URL: http://codereview.chromium.org/1991008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47086 0039d316-1c4b-4281-b951-d872f2087c98
* Instrument Chrome and Chrome Frame for some perf measurements.siggi@chromium.org2010-05-101-0/+5
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1989005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46812 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a chrome frame crash reported on the crash server. This occurs while ↵ananta@chromium.org2010-05-051-1/+1
| | | | | | | | | | | | | | | | | attempting to reuse an existing automation client from a cached document. It appears that there are cases where the automation client in the cached document can be NULL. Will work on a better way to cache automation client on trunk. Fixes bug http://code.google.com/p/chromium/issues/detail?id=43255 Bug=43255 Review URL: http://codereview.chromium.org/1964002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46499 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
* In ChromeFrame with the IMoniker patch on, we should save away the redirect ↵ananta@chromium.org2010-04-201-5/+15
| | | | | | | | | | | | | | | | 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
* Context menu operations like Cut/Copy/Paste etc would not work in pages ↵ananta@chromium.org2010-04-191-1/+1
| | | | | | | | | | | | | | | | | | | 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
* 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
* IE would not switch into ChromeFrame if the url being navigated to had an ↵ananta@chromium.org2010-04-131-6/+1
| | | | | | | | | | | | | | | | | | | | anchor. The IsTopLevelUrl function exposed by the navigation manager would compare the URL received in the BHO which has the anchor and the URL received from the anchor which does not have the anchor. As a result we would not wrap the bind status callback which caused this issue. The IsTopLevelUrl function now compares the URLs after stripping the anchor portion in the URL. Should fix bug http://code.google.com/p/chromium/issues/detail?id=38265. This only works if the moniker patch is enabled. Bug=38265 Test=Covered by unit test. Review URL: http://codereview.chromium.org/1559027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44309 0039d316-1c4b-4281-b951-d872f2087c98
* Fix IE6 switching issuesananta@chromium.org2010-04-091-1/+0
| | | | | | | | | | | Fixes for issues with new moniker patch. BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/1625010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44160 0039d316-1c4b-4281-b951-d872f2087c98
* Switch renderer in Moniker patchamit@chromium.org2010-04-091-16/+11
| | | | | | | | | | Step one of the changes. Inspect data and cause a switch in the moniker patch. Review URL: http://codereview.chromium.org/1589013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44038 0039d316-1c4b-4281-b951-d872f2087c98
* Move Urlmon network requests to UI thread, thus allowing reusing the bind ↵stoyan@chromium.org2010-04-081-2/+2
| | | | | | | | | | | | | context (and already fetched data) via INET_E_TERMINATED_BIND error code. Make caching of data more sensible, so the UI does not freeze (the reason why url request have been moved to a background thread). Always return INET_E_TERMINATED_BIND on OnDataAvailable when BSCF_LASTDATANOTIFICATION flag is detected, so if a subsequent DownloadToHost request comes from Chrome, bind context and already fetched data can be reused. BUG=36694 Review URL: http://codereview.chromium.org/1523014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43953 0039d316-1c4b-4281-b951-d872f2087c98
* Add encoding override support for Chrome frame. With this change, users can ↵jnd@chromium.org2010-04-011-0/+58
| | | | | | | | | | | | | | | override current page encoding in Chrome Frame via clicking IE's encoding menu. Unfortunately this change does not work on IE8 since the encoding menu is off on IE8. This change was from http://codereview.chromium.org/460036/show, which was on a temporary machine which I can not access from China now. I will re-create the patch, make some modifications according to previous reviewers' comments. now I send to you for review. BUG=24040 TEST=none Review URL: http://codereview.chromium.org/1530012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43306 0039d316-1c4b-4281-b951-d872f2087c98
* Committing for Eric Dingle.mad@chromium.org2010-03-261-1/+2
| | | | | | | | | | http://codereview.chromium.org/890005 BUG=0 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42800 0039d316-1c4b-4281-b951-d872f2087c98