| Index: chrome/browser/cocoa/bug_report_window_controller.h
|
| ===================================================================
|
| --- chrome/browser/cocoa/bug_report_window_controller.h (revision 0)
|
| +++ chrome/browser/cocoa/bug_report_window_controller.h (revision 0)
|
| @@ -0,0 +1,88 @@
|
| +// Copyright (c) 2009 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_COCOA_BUG_REPORT_WINDOW_CONTROLLER_H_
|
| +#define CHROME_BROWSER_COCOA_BUG_REPORT_WINDOW_CONTROLLER_H_
|
| +
|
| +#import <Cocoa/Cocoa.h>
|
| +
|
| +#include <vector>
|
| +
|
| +#include "base/scoped_ptr.h"
|
| +
|
| +class Profile;
|
| +class TabContents;
|
| +
|
| +// A window controller for managing the "Report Bug" feature. Modally
|
| +// presents a dialog that allows the user to either file a bug report on
|
| +// a broken page, or go directly to Google's "Report Phishing" page and
|
| +// file a report there.
|
| +@interface BugReportWindowController : NSWindowController {
|
| + @private
|
| + TabContents* currentTab_; // Weak, owned by browser.
|
| + Profile* profile_; // Weak, owned by browser.
|
| +
|
| + // Holds screenshot of current tab.
|
| + std::vector<unsigned char> pngData_;
|
| +
|
| + // Values bound to data in the dialog box. These values cannot be boxed in
|
| + // scoped_nsobjects because we use them for bindings.
|
| + NSString* bugDescription_; // Strong.
|
| + NSUInteger bugType_;
|
| + NSString* pageTitle_; // Strong.
|
| + NSString* pageURL_; // Strong.
|
| +
|
| + // We keep a pointer to this button so we can change its title.
|
| + NSButton* sendReportButton_; // Weak.
|
| +
|
| + BOOL sendScreenshot_;
|
| +
|
| + // Disable screenshot if no browser window is open.
|
| + BOOL disableScreenshot_;
|
| +
|
| + // Menu for the bug type popup button. We create it here instead of in
|
| + // IB so that we can nicely check whether the phishing page is selected,
|
| + // and so that we can create a menu without "page" options when no browser
|
| + // window is open.
|
| + NSArray* bugTypeList_; // Strong.
|
| +}
|
| +
|
| +// Initialize with the contents of the tab to be reported as buggy / wrong.
|
| +// If dialog is called without an open window, currentTab may be null; in
|
| +// that case, a dialog is opened with options for reporting a bugs not
|
| +// related to a specific page. Profile is passed to BugReportUtil, who
|
| +// will not send a report if the value is null.
|
| +- (id)initWithTabContents:(TabContents*)currentTab profile:(Profile*)profile;
|
| +
|
| +// Run the dialog with an application-modal event loop. If the user accepts,
|
| +// send the report of the bug or broken web site.
|
| +- (void)runModalDialog;
|
| +
|
| +// IBActions for the dialog buttons.
|
| +- (IBAction)sendReport:(id)sender;
|
| +- (IBAction)cancel:(id)sender;
|
| +
|
| +// YES if the user has selected the phishing report option.
|
| +- (BOOL)isPhishingReport;
|
| +
|
| +// The "send report" button may need to change its title to reflect that it's
|
| +// bouncing to the phish report page instead of sending a report directly
|
| +// from the dialog box (or vice versa). Observe the menu of bug types
|
| +// and change the button title along with the selected bug.
|
| +- (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item;
|
| +
|
| +// Properties for bindings.
|
| +@property (copy, nonatomic) NSString* bugDescription;
|
| +@property NSUInteger bugType;
|
| +@property (copy, nonatomic) NSString* pageTitle;
|
| +@property (copy, nonatomic) NSString* pageURL;
|
| +@property (assign, nonatomic) IBOutlet NSButton* sendReportButton;
|
| +@property BOOL sendScreenshot;
|
| +@property BOOL disableScreenshot;
|
| +@property (readonly, nonatomic) NSArray* bugTypeList;
|
| +
|
| +@end
|
| +
|
| +#endif // CHROME_BROWSER_COCOA_BUG_REPORT_WINDOW_CONTROLLER_H_
|
| +
|
|
|
| Property changes on: chrome/browser/cocoa/bug_report_window_controller.h
|
| ___________________________________________________________________
|
| Name: svn:eol-style
|
| + LF
|
|
|
|
|