summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_main_mac.mm
Commit message (Collapse)AuthorAgeFilesLines
* Tweak how we force the locale from the browser, this allow browser_tests to ↵thomasvl@chromium.org2009-12-021-6/+8
| | | | | | | | | | startup without doing the cocoa locale force (since it isn't valid there). BUG=none TEST=ntp tips, history times stamps, etc. all still in the right locale Review URL: http://codereview.chromium.org/449076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33571 0039d316-1c4b-4281-b951-d872f2087c98
* In-application Keystone ticket promotion.mark@chromium.org2009-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mac language/locale cleanupthomasvl@chromium.org2009-11-191-0/+6
| | | | | | | | | | | | | | | - Effectively revert revision 28193 (http://codereview.chromium.org/258037), this makes Mac match the other platform for what at it's core is used for the chrome concept of locale. - For the ApplicationLanguage, the browser will end up with what Cocoa picks (same as before) - All other process types will honor the language they got on the command line when starting up. - When asked the apps language, have the same side effect as Windows and Linux has of pushing the language through to ICU also (so dates format right, etc.) - During browser startup, if someone passed a language, bail because Mac can't support that. TEST=The tips on the NTP and the dates on the history page are in the same language at the UI. BUG=26856 BUG=22727 Review URL: http://codereview.chromium.org/399086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32515 0039d316-1c4b-4281-b951-d872f2087c98
* Cleans up our autorelease pool handling by making sure that an autorelease ↵dmaclach@chromium.org2009-11-051-10/+3
| | | | | | | | | | | | | pool isn't created while the app is handling an event sent via -[NSApp sendEvent]. Branches browser/chrome_application_mac into browser/chrome_browser_application and base/chrome_application. Renderers will run as chrome_applications, and browsers will run as chrome_browser_applications. BUG=26418, 25462, 25463, 25465 TEST=1) See bug 25857. 2) Start up. Open 3+ windows. 3)Quit. See bugs for other repro cases. Review URL: http://codereview.chromium.org/345051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31135 0039d316-1c4b-4281-b951-d872f2087c98
* Remove themes/default.dll and merge the resources into chrome.dll.tc@google.com2009-11-021-3/+0
| | | | | | | | | | | This gives us one less file to load on startup. This does mean that some tests need to explicitly include theme_resources.rc. BUG=24035 Review URL: http://codereview.chromium.org/348033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30755 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome should shut down cleanly when quit from the Dock icon menu, duringmark@chromium.org2009-09-151-17/+21
| | | | | | | | | | | | | | | | | | | | | | user logout, and during system restart and shutdown. MainMenu.xib changes (because you're not expected to parse nibs yourself): - The quit menu item's action is changed from the AppController object's -quit: method (which no longer exists) to the application object's -terminate: method (the Cocoa standard). - The application and owner object types are changed from NSApplication to CrApplication. - The application menu name is changed from Chromium to ^IDS_SHORT_PRODUCT_NAME. Cocoa doesn't use this anyway, it gets replaced at runtime with the localized value of CFBundleName, but we shouldn't have branding-specific strings in our nibs. BUG=18078 TEST=Use Chrome for a while, quit it from the Dock icon menu, and relaunch. You should NOT see the "Google Chrome didn't shut down correctly" info bar. Review URL: http://codereview.chromium.org/201121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26269 0039d316-1c4b-4281-b951-d872f2087c98
* Send Breakpad and debugger status to the metrics service on the Mac.mark@chromium.org2009-09-141-3/+11
| | | | | | | | | | BUG=21731 TEST=Metrics data should have the correct values for breakpadregistrationok, breakpadregistrationfail, debuggerpresent, and debuggernotpresent in log.profile.stability. Review URL: http://codereview.chromium.org/203050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26093 0039d316-1c4b-4281-b951-d872f2087c98
* Move the menu bar l10n into the xib file.thomasvl@chromium.org2009-08-121-1/+12
| | | | | | | | | | | | Localize the menu bar titles. Have the browser platform delegate startup the resource bundle system so we can fetch localization data. Make l10n_util::GetApplicationLocale return what cocoa says for the language so we match what the UI is using. TEST=everything still works. BUG=17380 Review URL: http://codereview.chromium.org/164413 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23215 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TransformProcessType from the browser process now that LSUIElementmark@chromium.org2009-08-121-31/+10
| | | | | | | | | | is gone. BUG=8044 TEST=Dock icon still works properly Review URL: http://codereview.chromium.org/165384 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23196 0039d316-1c4b-4281-b951-d872f2087c98
* Development of keystone glue.jrg@chromium.org2009-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | BUG=http://codereview.chromium.org/112044 chrome.gyp caught in a different CL but here is the relevant part of the diff: --- chrome.gyp (revision 16158) +++ chrome.gyp (working copy) @@ -2679,6 +2682,11 @@ ], 'sources': [ 'app/breakpad_mac_stubs.mm', + # *NO* files in chrome/app have unit tests (except keystone_glue)!!! + # It seems a waste to have an app_unittests target, so for now + # I add keystone_glue.m explicitly to this target. + 'app/keystone_glue.m', + 'app/keystone_glue_unittest.mm', # All unittests in browser, common, and renderer. 'browser/autocomplete/autocomplete_unittest.cc', 'browser/autocomplete/autocomplete_popup_view_mac_unittest.mm', Review URL: http://codereview.chromium.org/113613 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16540 0039d316-1c4b-4281-b951-d872f2087c98
* Move chrome/apps/result_codes.h to chrome/common/result_codes.hthestig@chromium.org2009-03-031-2/+2
| | | | | | Review URL: http://codereview.chromium.org/28279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10761 0039d316-1c4b-4281-b951-d872f2087c98
* Adapt (and move) mark@chromium.org's Keystone integration to Chromium.jrg@chromium.org2009-02-281-1/+6
| | | | | | | | | | | | | | | | | | | | Call it from the Browser. (no-op if not packaged for branding). Add new build target "app_packaging" to package (if possible). (app_packaging target intentionally left out of "All"). For convenience, here is the app_packaging script embedded in the xcodeproj: PACKAGER="${PROJECT_DIR}/tools/mac/package_chrome.sh" if [ -f "${PACKAGER}" ]; then "${PACKAGER}" fi Mark, I know this is not in gyp... I am happy to have this klobbered and redo it (in gyp) at the appropriate time. Review URL: http://codereview.chromium.org/27293 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10668 0039d316-1c4b-4281-b951-d872f2087c98
* Fix menubar activation in context of temp LSUIElement=1 hack.jrg@chromium.org2009-02-251-1/+7
| | | | | | Review URL: http://codereview.chromium.org/27145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10361 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary fix for the Cocoa-in-renderer problem.jrg@chromium.org2009-02-251-2/+15
| | | | | | Review URL: http://codereview.chromium.org/27108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10326 0039d316-1c4b-4281-b951-d872f2087c98
* Small cleanup of DoUninstallTasks()cpu@google.com2009-02-131-1/+1
| | | | | | | | | | - eliminates one #ifdef - Did I mention is cleaner? Review URL: http://codereview.chromium.org/21331 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9791 0039d316-1c4b-4281-b951-d872f2087c98
* mac bootstrapping of browser main and app startup bitspinkerton@google.com2009-01-161-3/+58
| | | | | | Review URL: http://codereview.chromium.org/18112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8185 0039d316-1c4b-4281-b951-d872f2087c98
* step one of some refactoring to allow other platforms to re-use the app ↵pinkerton@google.com2008-12-091-0/+11
initialization code. Review URL: http://codereview.chromium.org/13295 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6627 0039d316-1c4b-4281-b951-d872f2087c98