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_ |