| Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| index d8e0ccfb443f62e5f8f7e8112b7495e6fcd870f2..de85cdfdceaf13ed12f36bd6dfd6f7cd32e3d838 100644
|
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| @@ -762,7 +762,8 @@ void RenderViewContextMenu::AppendMediaItems() {
|
| }
|
|
|
| void RenderViewContextMenu::AppendPluginItems() {
|
| - if (params_.page_url == params_.src_url) {
|
| + if (params_.page_url == params_.src_url ||
|
| + extensions::GuestViewBase::IsGuest(source_web_contents_)) {
|
| // Full page plugin, so show page menu items.
|
| if (params_.link_url.is_empty() && params_.selection_text.empty())
|
| AppendPageItems();
|
| @@ -1011,25 +1012,25 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
|
| IncognitoModePrefs::GetAvailability(prefs);
|
| switch (id) {
|
| case IDC_BACK:
|
| - return source_web_contents_->GetController().CanGoBack();
|
| + return embedded_web_contents_->GetController().CanGoBack();
|
|
|
| case IDC_FORWARD:
|
| - return source_web_contents_->GetController().CanGoForward();
|
| + return embedded_web_contents_->GetController().CanGoForward();
|
|
|
| case IDC_RELOAD: {
|
| CoreTabHelper* core_tab_helper =
|
| - CoreTabHelper::FromWebContents(source_web_contents_);
|
| + CoreTabHelper::FromWebContents(embedded_web_contents_);
|
| if (!core_tab_helper)
|
| return false;
|
|
|
| CoreTabHelperDelegate* core_delegate = core_tab_helper->delegate();
|
| return !core_delegate ||
|
| - core_delegate->CanReloadContents(source_web_contents_);
|
| + core_delegate->CanReloadContents(embedded_web_contents_);
|
| }
|
|
|
| case IDC_VIEW_SOURCE:
|
| case IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE:
|
| - return source_web_contents_->GetController().CanViewSource();
|
| + return embedded_web_contents_->GetController().CanViewSource();
|
|
|
| case IDC_CONTENT_CONTEXT_INSPECTELEMENT:
|
| case IDC_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE:
|
| @@ -1038,16 +1039,16 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
|
| return IsDevCommandEnabled(id);
|
|
|
| case IDC_CONTENT_CONTEXT_VIEWPAGEINFO:
|
| - if (source_web_contents_->GetController().GetVisibleEntry() == NULL)
|
| + if (embedded_web_contents_->GetController().GetVisibleEntry() == NULL)
|
| return false;
|
| // Disabled if no browser is associated (e.g. desktop notifications).
|
| - if (chrome::FindBrowserWithWebContents(source_web_contents_) == NULL)
|
| + if (chrome::FindBrowserWithWebContents(embedded_web_contents_) == NULL)
|
| return false;
|
| return true;
|
|
|
| case IDC_CONTENT_CONTEXT_TRANSLATE: {
|
| ChromeTranslateClient* chrome_translate_client =
|
| - ChromeTranslateClient::FromWebContents(source_web_contents_);
|
| + ChromeTranslateClient::FromWebContents(embedded_web_contents_);
|
| if (!chrome_translate_client)
|
| return false;
|
| std::string original_lang =
|
| @@ -1062,13 +1063,13 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
|
| return ((params_.edit_flags & WebContextMenuData::CanTranslate) != 0) &&
|
| !original_lang.empty() && // Did we receive the page language yet?
|
| !chrome_translate_client->GetLanguageState().IsPageTranslated() &&
|
| - !source_web_contents_->GetInterstitialPage() &&
|
| + !embedded_web_contents_->GetInterstitialPage() &&
|
| // There are some application locales which can't be used as a
|
| // target language for translation.
|
| translate::TranslateDownloadManager::IsSupportedLanguage(
|
| target_lang) &&
|
| // Disable on the Instant Extended NTP.
|
| - !chrome::IsInstantNTP(source_web_contents_);
|
| + !chrome::IsInstantNTP(embedded_web_contents_);
|
| }
|
|
|
| case IDC_CONTENT_CONTEXT_OPENLINKNEWTAB:
|
| @@ -1163,13 +1164,13 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
|
|
|
| case IDC_SAVE_PAGE: {
|
| CoreTabHelper* core_tab_helper =
|
| - CoreTabHelper::FromWebContents(source_web_contents_);
|
| + CoreTabHelper::FromWebContents(embedded_web_contents_);
|
| if (!core_tab_helper)
|
| return false;
|
|
|
| CoreTabHelperDelegate* core_delegate = core_tab_helper->delegate();
|
| if (core_delegate &&
|
| - !core_delegate->CanSaveContents(source_web_contents_))
|
| + !core_delegate->CanSaveContents(embedded_web_contents_))
|
| return false;
|
|
|
| PrefService* local_state = g_browser_process->local_state();
|
| @@ -1181,7 +1182,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
|
| // We save the last committed entry (which the user is looking at), as
|
| // opposed to any pending URL that hasn't committed yet.
|
| NavigationEntry* entry =
|
| - source_web_contents_->GetController().GetLastCommittedEntry();
|
| + embedded_web_contents_->GetController().GetLastCommittedEntry();
|
| return content::IsSavableURL(entry ? entry->GetURL() : GURL());
|
| }
|
|
|
| @@ -1467,19 +1468,19 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) {
|
| break;
|
|
|
| case IDC_BACK:
|
| - source_web_contents_->GetController().GoBack();
|
| + embedded_web_contents_->GetController().GoBack();
|
| break;
|
|
|
| case IDC_FORWARD:
|
| - source_web_contents_->GetController().GoForward();
|
| + embedded_web_contents_->GetController().GoForward();
|
| break;
|
|
|
| case IDC_SAVE_PAGE:
|
| - source_web_contents_->OnSavePage();
|
| + embedded_web_contents_->OnSavePage();
|
| break;
|
|
|
| case IDC_RELOAD:
|
| - source_web_contents_->GetController().Reload(true);
|
| + embedded_web_contents_->GetController().Reload(true);
|
| break;
|
|
|
| case IDC_CONTENT_CONTEXT_RELOAD_PACKAGED_APP: {
|
| @@ -1522,7 +1523,7 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) {
|
| }
|
|
|
| case IDC_VIEW_SOURCE:
|
| - source_web_contents_->ViewSource();
|
| + embedded_web_contents_->ViewSource();
|
| break;
|
|
|
| case IDC_CONTENT_CONTEXT_INSPECTELEMENT:
|
| @@ -1540,15 +1541,16 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) {
|
| }
|
|
|
| case IDC_CONTENT_CONTEXT_VIEWPAGEINFO: {
|
| - NavigationController* controller = &source_web_contents_->GetController();
|
| + NavigationController* controller =
|
| + &embedded_web_contents_->GetController();
|
| // Important to use GetVisibleEntry to match what's showing in the
|
| // omnibox. This may return null.
|
| NavigationEntry* nav_entry = controller->GetVisibleEntry();
|
| if (!nav_entry)
|
| return;
|
| Browser* browser =
|
| - chrome::FindBrowserWithWebContents(source_web_contents_);
|
| - chrome::ShowWebsiteSettings(browser, source_web_contents_,
|
| + chrome::FindBrowserWithWebContents(embedded_web_contents_);
|
| + chrome::ShowWebsiteSettings(browser, embedded_web_contents_,
|
| nav_entry->GetURL(), nav_entry->GetSSL());
|
| break;
|
| }
|
| @@ -1557,7 +1559,7 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) {
|
| // A translation might have been triggered by the time the menu got
|
| // selected, do nothing in that case.
|
| ChromeTranslateClient* chrome_translate_client =
|
| - ChromeTranslateClient::FromWebContents(source_web_contents_);
|
| + ChromeTranslateClient::FromWebContents(embedded_web_contents_);
|
| if (!chrome_translate_client ||
|
| chrome_translate_client->GetLanguageState().IsPageTranslated() ||
|
| chrome_translate_client->GetLanguageState().translation_pending()) {
|
|
|