summaryrefslogtreecommitdiffstats
path: root/chromium/content/shell/browser/shell_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/shell/browser/shell_win.cc')
-rw-r--r--chromium/content/shell/browser/shell_win.cc285
1 files changed, 0 insertions, 285 deletions
diff --git a/chromium/content/shell/browser/shell_win.cc b/chromium/content/shell/browser/shell_win.cc
deleted file mode 100644
index b9e57a96d48..00000000000
--- a/chromium/content/shell/browser/shell_win.cc
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2013 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 "content/shell/browser/shell.h"
-
-#include <windows.h>
-#include <commctrl.h>
-#include <fcntl.h>
-#include <io.h>
-
-#include "base/strings/utf_string_conversions.h"
-#include "base/win/wrapped_window_proc.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_view.h"
-#include "content/shell/app/resource.h"
-#include "ui/gfx/win/hwnd_util.h"
-
-namespace {
-
-const wchar_t kWindowTitle[] = L"Content Shell";
-const wchar_t kWindowClass[] = L"CONTENT_SHELL";
-
-const int kButtonWidth = 72;
-const int kURLBarHeight = 24;
-
-const int kMaxURLLength = 1024;
-
-} // namespace
-
-namespace content {
-
-HINSTANCE Shell::instance_handle_;
-
-void Shell::PlatformInitialize(const gfx::Size& default_window_size) {
- _setmode(_fileno(stdout), _O_BINARY);
- _setmode(_fileno(stderr), _O_BINARY);
- INITCOMMONCONTROLSEX InitCtrlEx;
- InitCtrlEx.dwSize = sizeof(INITCOMMONCONTROLSEX);
- InitCtrlEx.dwICC = ICC_STANDARD_CLASSES;
- InitCommonControlsEx(&InitCtrlEx);
- RegisterWindowClass();
-}
-
-void Shell::PlatformExit() {
- std::vector<Shell*> windows = windows_;
- for (std::vector<Shell*>::iterator it = windows.begin();
- it != windows.end(); ++it)
- DestroyWindow((*it)->window_);
-}
-
-void Shell::PlatformCleanUp() {
- // When the window is destroyed, tell the Edit field to forget about us,
- // otherwise we will crash.
- gfx::SetWindowProc(url_edit_view_, default_edit_wnd_proc_);
- gfx::SetWindowUserData(url_edit_view_, NULL);
-}
-
-void Shell::PlatformEnableUIControl(UIControl control, bool is_enabled) {
- int id;
- switch (control) {
- case BACK_BUTTON:
- id = IDC_NAV_BACK;
- break;
- case FORWARD_BUTTON:
- id = IDC_NAV_FORWARD;
- break;
- case STOP_BUTTON:
- id = IDC_NAV_STOP;
- break;
- default:
- NOTREACHED() << "Unknown UI control";
- return;
- }
- EnableWindow(GetDlgItem(window_, id), is_enabled);
-}
-
-void Shell::PlatformSetAddressBarURL(const GURL& url) {
- std::wstring url_string = UTF8ToWide(url.spec());
- SendMessage(url_edit_view_, WM_SETTEXT, 0,
- reinterpret_cast<LPARAM>(url_string.c_str()));
-}
-
-void Shell::PlatformSetIsLoading(bool loading) {
-}
-
-void Shell::PlatformCreateWindow(int width, int height) {
- window_ = CreateWindow(kWindowClass, kWindowTitle,
- WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
- CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
- NULL, NULL, instance_handle_, NULL);
- gfx::SetWindowUserData(window_, this);
-
- HWND hwnd;
- int x = 0;
-
- hwnd = CreateWindow(L"BUTTON", L"Back",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON ,
- x, 0, kButtonWidth, kURLBarHeight,
- window_, (HMENU) IDC_NAV_BACK, instance_handle_, 0);
- x += kButtonWidth;
-
- hwnd = CreateWindow(L"BUTTON", L"Forward",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON ,
- x, 0, kButtonWidth, kURLBarHeight,
- window_, (HMENU) IDC_NAV_FORWARD, instance_handle_, 0);
- x += kButtonWidth;
-
- hwnd = CreateWindow(L"BUTTON", L"Reload",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON ,
- x, 0, kButtonWidth, kURLBarHeight,
- window_, (HMENU) IDC_NAV_RELOAD, instance_handle_, 0);
- x += kButtonWidth;
-
- hwnd = CreateWindow(L"BUTTON", L"Stop",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON ,
- x, 0, kButtonWidth, kURLBarHeight,
- window_, (HMENU) IDC_NAV_STOP, instance_handle_, 0);
- x += kButtonWidth;
-
- // This control is positioned by PlatformResizeSubViews.
- url_edit_view_ = CreateWindow(L"EDIT", 0,
- WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT |
- ES_AUTOVSCROLL | ES_AUTOHSCROLL,
- x, 0, 0, 0, window_, 0, instance_handle_, 0);
-
- default_edit_wnd_proc_ = gfx::SetWindowProc(url_edit_view_,
- Shell::EditWndProc);
- gfx::SetWindowUserData(url_edit_view_, this);
-
- ShowWindow(window_, SW_SHOW);
-
- SizeTo(gfx::Size(width, height));
-}
-
-void Shell::PlatformSetContents() {
- SetParent(web_contents_->GetView()->GetNativeView(), window_);
-}
-
-void Shell::SizeTo(const gfx::Size& size) {
- RECT rc, rw;
- GetClientRect(window_, &rc);
- GetWindowRect(window_, &rw);
-
- int client_width = rc.right - rc.left;
- int window_width = rw.right - rw.left;
- window_width = (window_width - client_width) + size.width();
-
- int client_height = rc.bottom - rc.top;
- int window_height = rw.bottom - rw.top;
- window_height = (window_height - client_height) + size.height();
-
- // Add space for the url bar.
- window_height += kURLBarHeight;
-
- SetWindowPos(window_, NULL, 0, 0, window_width, window_height,
- SWP_NOMOVE | SWP_NOZORDER);
-}
-
-void Shell::PlatformResizeSubViews() {
- RECT rc;
- GetClientRect(window_, &rc);
-
- int x = kButtonWidth * 4;
- MoveWindow(url_edit_view_, x, 0, rc.right - x, kURLBarHeight, TRUE);
-
- MoveWindow(GetContentView(), 0, kURLBarHeight, rc.right,
- rc.bottom - kURLBarHeight, TRUE);
-}
-
-void Shell::Close() {
- DestroyWindow(window_);
-}
-
-ATOM Shell::RegisterWindowClass() {
- WNDCLASSEX window_class;
- base::win::InitializeWindowClass(
- kWindowClass,
- &Shell::WndProc,
- CS_HREDRAW | CS_VREDRAW,
- 0,
- 0,
- LoadCursor(NULL, IDC_ARROW),
- NULL,
- MAKEINTRESOURCE(IDC_CONTENTSHELL),
- NULL,
- NULL,
- &window_class);
- instance_handle_ = window_class.hInstance;
- return RegisterClassEx(&window_class);
-}
-
-LRESULT CALLBACK Shell::WndProc(HWND hwnd, UINT message, WPARAM wParam,
- LPARAM lParam) {
- Shell* shell = static_cast<Shell*>(gfx::GetWindowUserData(hwnd));
-
- switch (message) {
- case WM_COMMAND: {
- int id = LOWORD(wParam);
- switch (id) {
- case IDM_NEW_WINDOW:
- CreateNewWindow(
- shell->web_contents()->GetBrowserContext(),
- GURL(), NULL, MSG_ROUTING_NONE, gfx::Size());
- break;
- case IDM_CLOSE_WINDOW:
- DestroyWindow(hwnd);
- break;
- case IDM_EXIT:
- PlatformExit();
- break;
- case IDM_SHOW_DEVELOPER_TOOLS:
- shell->ShowDevTools();
- break;
- case IDC_NAV_BACK:
- shell->GoBackOrForward(-1);
- break;
- case IDC_NAV_FORWARD:
- shell->GoBackOrForward(1);
- break;
- case IDC_NAV_RELOAD:
- shell->Reload();
- break;
- case IDC_NAV_STOP:
- shell->Stop();
- break;
- }
- break;
- }
- case WM_DESTROY: {
- delete shell;
- return 0;
- }
-
- case WM_SIZE: {
- if (shell->GetContentView())
- shell->PlatformResizeSubViews();
- return 0;
- }
-
- case WM_WINDOWPOSCHANGED: {
- // Notify the content view that the window position of its parent window
- // has been changed by sending window message
- gfx::NativeView native_view = shell->GetContentView();
- if (native_view) {
- SendMessage(native_view, message, wParam, lParam);
- }
- break;
- }
- }
-
- return DefWindowProc(hwnd, message, wParam, lParam);
-}
-
-LRESULT CALLBACK Shell::EditWndProc(HWND hwnd, UINT message,
- WPARAM wParam, LPARAM lParam) {
- Shell* shell = static_cast<Shell*>(gfx::GetWindowUserData(hwnd));
-
- switch (message) {
- case WM_CHAR:
- if (wParam == VK_RETURN) {
- wchar_t str[kMaxURLLength + 1]; // Leave room for adding a NULL;
- *(str) = kMaxURLLength;
- LRESULT str_len = SendMessage(hwnd, EM_GETLINE, 0, (LPARAM)str);
- if (str_len > 0) {
- str[str_len] = 0; // EM_GETLINE doesn't NULL terminate.
- GURL url(str);
- if (!url.has_scheme())
- url = GURL(std::wstring(L"http://") + std::wstring(str));
- shell->LoadURL(url);
- }
-
- return 0;
- }
- }
-
- return CallWindowProc(shell->default_edit_wnd_proc_, hwnd, message, wParam,
- lParam);
-}
-
-void Shell::PlatformSetTitle(const base::string16& text) {
- ::SetWindowText(window_, text.c_str());
-}
-
-} // namespace content