Remove the about:internets view :(
This will make it diffitult to remove the tab contents type system and to port,
so I'm sadly removing it.
Review URL: http://codereview.chromium.org/18408

git-svn-id: svn://svn.chromium.org/chrome/trunk@8283 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/src/chrome/browser/browser.vcproj b/src/chrome/browser/browser.vcproj
index 50c22c2..13140b5 100644
--- a/src/chrome/browser/browser.vcproj
+++ b/src/chrome/browser/browser.vcproj
@@ -1584,11 +1584,11 @@
 				>
 			</File>
 			<File
-				RelativePath=".\password_manager\password_form_manager_win.cc"
+				RelativePath=".\password_manager\password_form_manager.h"
 				>
 			</File>
 			<File
-				RelativePath=".\password_manager\password_form_manager.h"
+				RelativePath=".\password_manager\password_form_manager_win.cc"
 				>
 			</File>
 			<File
@@ -2186,14 +2186,6 @@
 			Name="Tab Contents"
 			>
 			<File
-				RelativePath=".\tab_contents\about_internets_status_view.cc"
-				>
-			</File>
-			<File
-				RelativePath=".\tab_contents\about_internets_status_view.h"
-				>
-			</File>
-			<File
 				RelativePath=".\tab_contents\constrained_window.h"
 				>
 			</File>
diff --git a/src/chrome/browser/browser_about_handler.cc b/src/chrome/browser/browser_about_handler.cc
index 68dd9b29..e8294d8 100644
--- a/src/chrome/browser/browser_about_handler.cc
+++ b/src/chrome/browser/browser_about_handler.cc
@@ -187,12 +187,6 @@
   }
 #endif
 
-  if (LowerCaseEqualsASCII(url->path(), "internets")) {
-    // about:internets doesn't have an internal protocol, so don't modify |url|.
-    *result_type = TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW;
-    return true;
-  }
-
   // There are a few about URLs that we hand over to the renderer.
   // If the renderer wants them, let it have them.
   if (AboutHandler::WillHandle(*url))
diff --git a/src/chrome/browser/tab_contents/about_internets_status_view.cc b/src/chrome/browser/tab_contents/about_internets_status_view.cc
deleted file mode 100644
index 46cf931..0000000
--- a/src/chrome/browser/tab_contents/about_internets_status_view.cc
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/file_util.h"
-#include "base/path_service.h"
-#include "base/string_util.h"
-#include "chrome/browser/tab_contents/about_internets_status_view.h"
-#include "chrome/browser/tab_contents/tab_contents_delegate.h"
-
-AboutInternetsStatusView::AboutInternetsStatusView()
-    : StatusView(TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW) {}
-
-AboutInternetsStatusView::~AboutInternetsStatusView() {
-  if (process_handle_.IsValid())
-    TerminateProcess(process_handle_.Get(), 0);
-}
-
-const std::wstring AboutInternetsStatusView::GetDefaultTitle() const {
-  return L"Don't Clog the Tubes!";
-}
-
-const std::wstring& AboutInternetsStatusView::GetTitle() const {
-  return title_;
-}
-
-void AboutInternetsStatusView::OnCreate(const CRect& rect) {
-  HWND contents_hwnd = GetContainerHWND();
-  STARTUPINFO startup_info;
-  memset(&startup_info, 0, sizeof(startup_info));
-  startup_info.cb = sizeof(startup_info);
-  PROCESS_INFORMATION process_info = {0};
-
-  std::wstring path;
-  PathService::Get(base::DIR_SYSTEM, &path);
-  file_util::AppendToPath(&path, L"sspipes.scr");
-  std::wstring parameters;
-  parameters.append(path.c_str());
-  // Append the handle of the HWND that we want to render the pipes into.
-  parameters.append(L" /p ");
-  parameters.append(
-      Int64ToWString(reinterpret_cast<int64>(contents_hwnd)).c_str());
-  BOOL result =
-      CreateProcess(NULL,
-                    const_cast<LPWSTR>(parameters.c_str()),
-                    NULL,           // LPSECURITY_ATTRIBUTES lpProcessAttributes
-                    NULL,           // LPSECURITY_ATTRIBUTES lpThreadAttributes
-                    FALSE,          // BOOL bInheritHandles
-                    CREATE_DEFAULT_ERROR_MODE,  // DWORD dwCreationFlags
-                    NULL,           // LPVOID lpEnvironment
-                    NULL,           // LPCTSTR lpCurrentDirectory
-                    &startup_info,   // LPstartup_info lpstartup_info
-                    &process_info);  // LPPROCESS_INFORMATION
-                                      // lpProcessInformation
-
-  if (result) {
-    title_ = GetDefaultTitle();
-    CloseHandle(process_info.hThread);
-    process_handle_.Set(process_info.hProcess);
-  } else {
-    title_ = L"The Tubes are Clogged!";
-  }
-}
-
-void AboutInternetsStatusView::OnSize(const CRect& rect) {
-  // We're required to implement this because it is abstract, but we don't
-  // actually have anything to do right here.
-}
-
diff --git a/src/chrome/browser/tab_contents/about_internets_status_view.h b/src/chrome/browser/tab_contents/about_internets_status_view.h
deleted file mode 100644
index 1d77a8d..0000000
--- a/src/chrome/browser/tab_contents/about_internets_status_view.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW_H_
-#define CHROME_BROWSER_TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW_H_
-
-#include "base/scoped_handle.h"
-#include "chrome/browser/tab_contents/status_view.h"
-
-// Displays sspipes.scr in the content HWND.
-class AboutInternetsStatusView : public StatusView {
- public:
-  AboutInternetsStatusView();
-  virtual ~AboutInternetsStatusView();
-
-  // TabContents overrides
-  virtual const std::wstring GetDefaultTitle() const;
-  virtual const std::wstring& GetTitle() const;
-
-  // StatusView implementations
-
-  // Starts sspipes.scr rendering into the contents HWND. (Actually, it looks
-  // like this creates a child HWND which is the same size as the contents,
-  // and draws into that. Thus, it doesn't resize properly.)
-  // TODO(devint): Fix this resizing issue. A few possibilities:
-  // 1) Restart the process a few seconds after a resize is completed.
-  // 2) Render into an invisible HWND and stretchblt to the current HWND.
-  virtual void OnCreate(const CRect& rect);
-  // Does nothing, but implementation is required by StatusView.
-  virtual void OnSize(const CRect& rect);
-
- private:
-  // Information about the pipes process, used to close the process when this
-  // view is destroyed.
-  ScopedHandle process_handle_;
-
-  // Title of the page.
-  std::wstring title_;
-
-  DISALLOW_EVIL_CONSTRUCTORS(AboutInternetsStatusView);
-};
-
-#endif  // CHROME_BROWSER_TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW_H_
-
diff --git a/src/chrome/browser/tab_contents/tab_contents_factory.cc b/src/chrome/browser/tab_contents/tab_contents_factory.cc
index 9a8aefe..8e87af9d 100644
--- a/src/chrome/browser/tab_contents/tab_contents_factory.cc
+++ b/src/chrome/browser/tab_contents/tab_contents_factory.cc
@@ -11,7 +11,6 @@
 #include "chrome/browser/profile.h"
 #include "chrome/browser/renderer_host/render_process_host.h"
 #include "chrome/browser/debugger/debugger_contents.h"
-#include "chrome/browser/tab_contents/about_internets_status_view.h"
 #include "chrome/browser/tab_contents/ipc_status_view.h"
 #include "chrome/browser/tab_contents/native_ui_contents.h"
 #include "chrome/browser/tab_contents/network_status_view.h"
@@ -63,9 +62,6 @@
     case TAB_CONTENTS_NATIVE_UI:
       contents = new NativeUIContents(profile);
       break;
-    case TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW:
-      contents = new AboutInternetsStatusView();
-      break;
     case TAB_CONTENTS_VIEW_SOURCE:
       contents = new ViewSourceContents(profile, instance);
       break;
diff --git a/src/chrome/browser/tab_contents/tab_contents_type.h b/src/chrome/browser/tab_contents/tab_contents_type.h
index 3afda07d..9dc3e0b8 100644
--- a/src/chrome/browser/tab_contents/tab_contents_type.h
+++ b/src/chrome/browser/tab_contents/tab_contents_type.h
@@ -18,7 +18,6 @@
   TAB_CONTENTS_CHROME_VIEW_CONTENTS,
   TAB_CONTENTS_NEW_TAB_UI,
   TAB_CONTENTS_NATIVE_UI,
-  TAB_CONTENTS_ABOUT_INTERNETS_STATUS_VIEW,
   TAB_CONTENTS_VIEW_SOURCE,
   TAB_CONTENTS_HTML_DIALOG,
   TAB_CONTENTS_ABOUT_UI,