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

Unified Diff: chrome/browser/views/bug_report_view.h

Issue 3061044: HTML UI implementation for the Google Feedback client for Chrome/ChromeOS.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/views/browser_dialogs.h ('k') | chrome/browser/views/bug_report_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/bug_report_view.h
===================================================================
--- chrome/browser/views/bug_report_view.h (revision 56828)
+++ chrome/browser/views/bug_report_view.h (working copy)
@@ -1,173 +0,0 @@
-// Copyright (c) 2010 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_VIEWS_BUG_REPORT_VIEW_H_
-#define CHROME_BROWSER_VIEWS_BUG_REPORT_VIEW_H_
-#pragma once
-
-#include "chrome/common/net/url_fetcher.h"
-#include "gfx/rect.h"
-#include "googleurl/src/gurl.h"
-#include "views/controls/button/radio_button.h"
-#include "views/controls/combobox/combobox.h"
-#include "views/controls/textfield/textfield.h"
-#include "views/controls/link.h"
-#include "views/controls/image_view.h"
-#include "views/view.h"
-#include "views/window/dialog_delegate.h"
-
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/cros/syslogs_library.h"
-#include "chrome/browser/chromeos/cros/cros_library.h"
-#endif
-
-namespace views {
-class Checkbox;
-class Label;
-class Throbber;
-class Window;
-class RadioButton;
-class Link;
-}
-
-class Profile;
-class TabContents;
-class BugReportComboBoxModel;
-
-// BugReportView draws the dialog that allows the user to report a
-// bug in rendering a particular page (note: this is not a crash
-// report, which are handled separately by Breakpad). It packages
-// up the URL, a text description, system information and optionally
-// a screenshot; then it submits the info through https to the google
-// feedback chrome end-point.
-//
-// Note: This UI is being used for the Chrome OS dogfood release only
-// In the very next iteration, this will be replaced by a HTML
-// based UI, which will be common for all platforms
-class BugReportView : public views::View,
- public views::DialogDelegate,
- public views::Combobox::Listener,
-#if defined(OS_CHROMEOS)
- public views::LinkController,
-#endif
- public views::Textfield::Controller {
- public:
- BugReportView(Profile* profile, TabContents* tab);
- virtual ~BugReportView();
-
- // NOTE: set_captured_image takes ownership of the vector
- void set_captured_image(std::vector<unsigned char>* png_data) {
- captured_image_.reset(png_data);
- }
-
- void set_screen_size(const gfx::Rect& screen_size) {
- screen_size_ = screen_size;
- }
-
- // Set all additional reporting controls to disabled
- // if phishing report
- void UpdateReportingControls(bool is_phishing_report);
-
- // Overridden from views::View:
- virtual gfx::Size GetPreferredSize();
-
- // views::Textfield::Controller implementation:
- virtual void ContentsChanged(views::Textfield* sender,
- const string16& new_contents);
- virtual bool HandleKeystroke(views::Textfield* sender,
- const views::Textfield::Keystroke& key);
-
- // views::Combobox::Listener implementation:
- virtual void ItemChanged(views::Combobox* combobox, int prev_index,
- int new_index);
-
-#if defined(OS_CHROMEOS)
- // Overridden from views::LinkController:
- virtual void LinkActivated(views::Link* source, int event_flags);
-
- // Disable the include last image radio control
- void DisableLastImageRadio() {
- include_last_screen_image_radio_->SetEnabled(false);
- }
-
- // NOTE: set_last_image takes ownership of the vector
- void set_last_image(std::vector<unsigned char>* png_data) {
- last_image_.reset(png_data);
- }
-#endif
-
- // Overridden from views::DialogDelegate:
- virtual std::wstring GetDialogButtonLabel(
- MessageBoxFlags::DialogButton button) const;
- virtual int GetDefaultDialogButton() const;
- virtual bool CanResize() const;
- virtual bool CanMaximize() const;
- virtual bool IsAlwaysOnTop() const;
- virtual bool HasAlwaysOnTopMenu() const;
- virtual bool IsModal() const;
- virtual std::wstring GetWindowTitle() const;
- virtual bool Accept();
- virtual views::View* GetContentsView();
-
- private:
- class PostCleanup;
-
- // Set OS Version information in a string (maj.minor.build SP)
- void SetOSVersion(std::string *os_version);
-
- // Initializes the controls on the dialog.
- void SetupControl();
- // helper function to create a MIME part boundary string
- void CreateMimeBoundary(std::string *out);
- // Sends the data via an HTTP POST
- void SendReport();
-
- // Redirects the user to Google's phishing reporting page.
- void ReportPhishing();
-
- views::Label* bug_type_label_;
- views::Combobox* bug_type_combo_;
- views::Label* page_title_label_;
- views::Label* page_title_text_;
- views::Label* page_url_label_;
- views::Textfield* page_url_text_;
- views::Label* description_label_;
- views::Textfield* description_text_;
- views::Checkbox* include_page_source_checkbox_;
-#if defined(OS_CHROMEOS)
- views::Label* user_email_label_;
- views::Textfield* user_email_text_;
- views::RadioButton* include_new_screen_image_radio_;
- views::RadioButton* include_last_screen_image_radio_;
- views::RadioButton* include_no_screen_image_radio_;
- views::Link* system_information_url_control_;
-
- scoped_ptr<chromeos::LogDictionaryType> sys_info_;
- scoped_ptr< std::vector<unsigned char> > last_image_;
-#endif
- views::Checkbox* include_page_image_checkbox_;
-
-
- scoped_ptr<BugReportComboBoxModel> bug_type_model_;
-
- Profile* profile_;
-
- std::wstring version_;
- gfx::Rect screen_size_;
- scoped_ptr< std::vector<unsigned char> > captured_image_;
-
- TabContents* tab_;
-
- // Used to distinguish the report type: Phishing or other.
- int problem_type_;
-
- // Save the description the user types in when we clear the dialog for the
- // phishing option. If the user changes the report type back, we reinstate
- // their original text so they don't have to type it again.
- std::wstring old_report_text_;
-
- DISALLOW_COPY_AND_ASSIGN(BugReportView);
-};
-
-#endif // CHROME_BROWSER_VIEWS_BUG_REPORT_VIEW_H_
« no previous file with comments | « chrome/browser/views/browser_dialogs.h ('k') | chrome/browser/views/bug_report_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698