Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(386)

Issue 3549006: Top level navigations are not sent to the host browser in the ChromeFrame NPA... (Closed)

Created:
10 years, 2 months ago by ananta
Modified:
9 years, 6 months ago
Reviewers:
amit, Jeff Timanus
CC:
chromium-reviews, amit, ben+cc_chromium.org, Paweł Hajdan Jr.
Visibility:
Public.

Description

Top level navigations are not sent to the host browser in the ChromeFrame 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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=61117

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 6

Patch Set 3 : '' #

Total comments: 2

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+231 lines, -77 lines) Patch
M chrome/browser/automation/automation_provider_win.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/external_tab_container_win.h View 1 2 3 4 5 chunks +75 lines, -5 lines 0 comments Download
M chrome/browser/external_tab_container_win.cc View 1 2 3 4 5 7 chunks +53 lines, -6 lines 0 comments Download
M chrome/test/automation/automation_messages.h View 1 2 4 chunks +6 lines, -1 line 0 comments Download
M chrome_frame/chrome_active_document.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M chrome_frame/chrome_frame_activex.cc View 1 2 1 chunk +2 lines, -3 lines 0 comments Download
M chrome_frame/chrome_frame_automation.h View 1 2 5 chunks +24 lines, -2 lines 0 comments Download
M chrome_frame/chrome_frame_automation.cc View 1 2 3 chunks +7 lines, -3 lines 0 comments Download
M chrome_frame/chrome_frame_npapi.h View 1 chunk +2 lines, -1 line 0 comments Download
M chrome_frame/chrome_frame_npapi.cc View 1 2 3 chunks +9 lines, -2 lines 0 comments Download
M chrome_frame/chrome_frame_npapi_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome_frame/chrome_frame_plugin.h View 1 2 2 chunks +3 lines, -2 lines 0 comments Download
M chrome_frame/delete_chrome_history.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome_frame/test/automation_client_mock.cc View 8 chunks +8 lines, -8 lines 0 comments Download
M chrome_frame/test/chrome_frame_automation_mock.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome_frame/test/data/src_property_frame1.html View 1 chunk +8 lines, -1 line 0 comments Download
M chrome_frame/test/data/src_property_frame2.html View 1 chunk +14 lines, -1 line 0 comments Download
M chrome_frame/test/data/src_property_host.html View 1 chunk +8 lines, -32 lines 0 comments Download
M chrome_frame/test/proxy_factory_mock.cc View 4 chunks +5 lines, -5 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
ananta
10 years, 2 months ago (2010-09-29 20:41:15 UTC) #1
Jeff Timanus
From a cursory pass, LGTM. Thanks for making this change, Ananta. You certainly threw it ...
10 years, 2 months ago (2010-09-29 21:01:31 UTC) #2
amit
Better approach for this is to route all the webkit navigations due to 'link clicks ...
10 years, 2 months ago (2010-09-29 21:49:28 UTC) #3
ananta
While hooking this in WebKit so that we can basically translate the window.open request into ...
10 years, 2 months ago (2010-09-29 23:03:01 UTC) #4
amit
I have a feeling that I am going to regret this but lgtm :) Consider ...
10 years, 2 months ago (2010-09-30 19:09:12 UTC) #5
ananta
10 years, 2 months ago (2010-09-30 20:05:45 UTC) #6
http://codereview.chromium.org/3549006/diff/32001/23
File chrome/browser/external_tab_container_win.cc (right):

http://codereview.chromium.org/3549006/diff/32001/23#newcode450
chrome/browser/external_tab_container_win.cc:450: if (!automation_ ||
dummy_tab_for_navigation_)
On 2010/09/30 19:09:12, amit wrote:
> This is  not good :)
> Ideally, we need a subclass of ExternalTabcontainer and filter stuff there. 

Done.

Powered by Google App Engine
This is Rietveld 408576698