From eee9f55299e1223c156f1bcf86f557446009cc5e Mon Sep 17 00:00:00 2001 From: "mark@chromium.org" Date: Sat, 28 Nov 2009 22:05:11 +0000 Subject: In-application Keystone ticket promotion. The concept of "ticket promotion" is added to the application when Keystone is in use. Ticket promotion is used to turn a user Keystone ticket, which Chrome normally establishes when it launches, into a system Keystone ticket, after successful user authentication and authorization. Having a system Keystone with a system ticket means that updates are applied with root privileges instead of user privileges, essentially eliminating the possibility that a user will fall off of the auto-update train because they can read and execute but not write the application. Two principles of promotion apply: - An application on a user ticket NEEDS promotion if it determines that it doesn't have permission to write to itself. Being on a user ticket, an update attempt would fail. - An application on a user ticket WANTS promotion if it already NEEDS promotion. Additionally, if it is installed in a system-wide location such as /Applications, it will WANT promotion, even if it does not NEED it. If promotion is needed, an info bar will show up on launch requesting it. This info bar works similarly to the default browser info bar: it has a "don't bother me again" button, it will only show up after the first launch, it won't disappear on navigation if the navigation happens very quickly, and it won't show itself if another info bar is up. This means that if both the default browser info bar and the promotion info bar have a shot at showing, only one will win. In my experience, each wins about half of the time. If promotion is needed, the update UI in the About window will be hidden. Checking for updates and offering to apply them doesn't make much sense when the update won't be able to install successfully. All of the auto-update machinery is still working in the background, but the About window UI is hidden. If promotion is wanted, the About window will contain a new button allowing the user to enter promotion. This gives access to the same promotion routine as the promotion info bar. It can be used even from an administrative account that is able to update the application without promotion. It's intended to be used by the system administrator of the family without requiring them to switch to one of the kids' accounts. BUG=16360 TEST=Exhaustively, please. Review URL: http://codereview.chromium.org/437053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33241 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/app/nibs/About.xib | 1318 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 1088 insertions(+), 230 deletions(-) (limited to 'chrome/app/nibs') diff --git a/chrome/app/nibs/About.xib b/chrome/app/nibs/About.xib index eaeec583..443ad95 100644 --- a/chrome/app/nibs/About.xib +++ b/chrome/app/nibs/About.xib @@ -1,14 +1,18 @@ - + 1050 - 9L31a - 677 - 949.54 - 353.00 + 10C540 + 740 + 1038.25 + 458.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 740 + YES - + YES @@ -16,7 +20,7 @@ YES - + YES @@ -37,7 +41,7 @@ 3 2 - {{196, 257}, {450, 246}} + {{196, 257}, {450, 277}} 1677722624 ^IDS_ABOUT_CHROME_TITLE NSPanel @@ -65,7 +69,7 @@ version LucidaGrande - 1.100000e+01 + 11 3100 @@ -75,7 +79,7 @@ controlColor 3 - MC42NjY2NjY2OQA + MC42NjY2NjY2ODY1AA @@ -101,7 +105,7 @@ ^IDS_PRODUCT_NAME LucidaGrande - 2.400000e+01 + 24 16 @@ -114,7 +118,7 @@ 265 YES - + YES Apple PDF pasteboard type Apple PICT pasteboard type @@ -139,107 +143,13 @@ YES - {{0, 101}, {470, 145}} + {{0, 132}, {470, 145}} BackgroundTileView - - - 266 - - YES - - - -2147483380 - - YES - - YES - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - - {{20, 7}, {17, 17}} - - YES - - 130560 - 33554432 - 0 - 2 - 0 - YES - - YES - - - - 1292 - - {{20, 7}, {16, 16}} - - 28938 - 1.600000e+01 - 1.000000e+02 - - - - 289 - - YES - - - 289 - {{10, 0}, {81, 28}} - - YES - - 604110336 - 134348800 - ^IDS_ABOUT_CHROME_UPDATE_CHECK - - - -2038284033 - 129 - - - 200 - 25 - - - - {{344, 0}, {106, 31}} - - GTMWidthBasedTweaker - - - - 266 - {{42, 8}, {297, 14}} - - YES - - 68288064 - 272761856 - messages - - - - - - - - {{0, 13}, {450, 31}} - - NSView - - 256 + 266 YES @@ -262,7 +172,7 @@ YES YES - + YES NSFont NSParagraphStyle @@ -271,7 +181,7 @@ YES LucidaGrande - 1.000000e+01 + 10 2843 @@ -279,100 +189,100 @@ YES - 0.000000e+00 + 0.0 - 5.600000e+01 + 56 - 1.120000e+02 + 112 - 1.680000e+02 + 168 - 2.240000e+02 + 224 - 2.800000e+02 + 280 - 3.360000e+02 + 336 - 3.920000e+02 + 392 - 4.480000e+02 + 448 - 5.040000e+02 + 504 - 5.600000e+02 + 560 - 6.160000e+02 + 616 - 6.720000e+02 + 672 - 7.280000e+02 + 728 - 7.840000e+02 + 784 - 8.400000e+02 + 840 - 8.960000e+02 + 896 - 9.520000e+02 + 952 - 1.008000e+03 + 1008 - 1.064000e+03 + 1064 - 1.120000e+03 + 1120 - 1.176000e+03 + 1176 - 1.232000e+03 + 1232 - 1.288000e+03 + 1288 - 1.344000e+03 + 1344 - 1.400000e+03 + 1400 - 1.456000e+03 + 1456 - 1.512000e+03 + 1512 - 1.568000e+03 + 1568 - 1.624000e+03 + 1624 - 1.680000e+03 + 1680 - 1.736000e+03 + 1736 @@ -380,7 +290,7 @@ YES - + YES NSFont NSParagraphStyle @@ -389,7 +299,7 @@ YES LucidaGrande-Bold - 1.000000e+01 + 10 16 @@ -446,19 +356,20 @@ - 4.130000e+02 + 413 1 10981 + 0 + 3 MQA - YES - + YES NSBackgroundColor NSColor @@ -479,10 +390,10 @@ - + YES - + YES NSColor NSUnderline @@ -523,7 +434,7 @@ YES _doScroller: - 4.270833e-01 + 0.42708331346511841 @@ -533,11 +444,11 @@ 1 _doScroller: - 1.000000e+00 - 9.456522e-01 + 1 + 0.94565218687057495 - {{17, 52}, {413, 41}} + {{17, 83}, {413, 41}} 64 @@ -545,8 +456,142 @@ + + + 266 + + YES + + + -2147483380 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{20, 7}, {17, 17}} + + YES + + 130560 + 33554432 + 0 + 2 + 0 + YES + + YES + + + + 1292 + + {{20, 7}, {16, 16}} + + 28938 + 16 + 100 + + + + 289 + + YES + + + 289 + {{10, 0}, {81, 28}} + + YES + + 604110336 + 134348800 + ^IDS_ABOUT_CHROME_UPDATE_CHECK + + + -2038284033 + 129 + + + 200 + 25 + + + + {{344, 0}, {106, 31}} + + GTMWidthBasedTweaker + + + + 266 + {{42, 8}, {297, 14}} + + YES + + 68288064 + 272761856 + messages + + + + + + + + {{0, 44}, {450, 31}} + + NSView + + + + 266 + + YES + + + 289 + + YES + + + 289 + {{10, 0}, {81, 28}} + + YES + + 67239424 + 134348800 + ^IDS_ABOUT_CHROME_PROMOTE_UPDATER + + + -2038284033 + 129 + + + 200 + 25 + + + + {{344, 0}, {106, 31}} + + GTMWidthBasedTweaker + + + {{0, 13}, {450, 31}} + + NSView + - {450, 246} + {450, 277} {{0, 0}, {2560, 1578}} @@ -698,34 +743,56 @@ 69 + + + promotionBlock_ + + + + 71 + + + + promoteUpdater: + + + + 91 + + + + promoteButton_ + + + + 92 + YES 0 - - YES - + -2 - - RmlsZSdzIE93bmVyA + + File's Owner -1 - + First Responder -3 - + Application @@ -735,7 +802,7 @@ YES - + About Panel @@ -744,8 +811,9 @@ YES - + + @@ -805,66 +873,85 @@ 40 - + - 47 - + 51 + + + + + 62 + YES - - - - + + + + Scroll View (Legal) - 6 - - + 63 + + - 51 - - + 64 + + - 54 - + 65 + + + + + 70 + YES - + - + + Custom View (Promotion) - 7 - + 85 + YES - + - - - - 16 - - + - 55 - + 79 + YES - + - + - 56 - - + 80 + + + + + 47 + + + YES + + + + + + + Custom View (Update) 58 @@ -881,36 +968,52 @@ - 62 - + 55 + YES - - - + - + - 63 - - + 56 + + - 64 - - + 54 + + + YES + + + - 65 - - + 7 + + + YES + + + + + + 16 + + + + + 6 + + YES - + YES -1.IBPluginDependency -2.IBPluginDependency @@ -940,6 +1043,9 @@ 65.CustomClassName 65.IBPluginDependency 7.IBPluginDependency + 70.IBPluginDependency + 79.IBPluginDependency + 80.IBPluginDependency YES @@ -952,16 +1058,16 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{524, 510}, {450, 246}} + {{476, 529}, {450, 277}} com.apple.InterfaceBuilder.CocoaPlugin - {{524, 510}, {450, 246}} + {{476, 529}, {450, 277}} com.apple.InterfaceBuilder.CocoaPlugin YES com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -973,13 +1079,14 @@ AboutLegalTextView com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin YES - - YES - + YES @@ -987,15 +1094,13 @@ YES - - YES - + YES - 69 + 92 @@ -1012,17 +1117,28 @@ AboutWindowController NSWindowController - updateNow: - id + YES + + YES + promoteUpdater: + updateNow: + + + YES + id + id + YES - + YES backgroundView_ legalBlock_ legalText_ logoView_ + promoteButton_ + promotionBlock_ spinner_ updateBlock_ updateNowButton_ @@ -1036,6 +1152,8 @@ NSView AboutLegalTextView NSImageView + NSButton + NSView NSProgressIndicator NSView NSButton @@ -1067,7 +1185,7 @@ NSObject YES - + YES otherObjectToLocalize_ owner_ @@ -1090,7 +1208,7 @@ NSObject YES - + YES localizerOwner_ localizer_ @@ -1113,7 +1231,7 @@ NSView YES - + YES viewToResize_ viewToSlideAndResize_ @@ -1150,8 +1268,748 @@ - - 0 + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAlert.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAnimation.h + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSBrowser.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSComboBox.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSComboBoxCell.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDatePickerCell.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSImage.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSRuleEditor.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSound.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSpeechRecognizer.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSpeechSynthesizer.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSplitView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTabView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTextStorage.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTokenField.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTokenFieldCell.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbar.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSMetadata.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSNetServices.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPort.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSSpellServer.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSStream.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSXMLParser.h + + + + NSObject + + IBFrameworkSource + Print.framework/Headers/PDEPluginInterface.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CIImageProvider.h + + + + NSObject + + IBFrameworkSource + SecurityInterface.framework/Headers/SFAuthorizationView.h + + + + NSObject + + IBFrameworkSource + SecurityInterface.framework/Headers/SFCertificatePanel.h + + + + NSObject + + IBFrameworkSource + SecurityInterface.framework/Headers/SFChooseIdentityPanel.h + + + + NSPanel + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSPanel.h + + + + NSProgressIndicator + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSProgressIndicator.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSText + NSView + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTextView + NSText + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + + + NSWindow + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + NSWindowController + NSResponder + + showWindow: + id + + + IBFrameworkSource + AppKit.framework/Headers/NSWindowController.h + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES ../../chrome.xcodeproj 3 -- cgit v1.1