Set prop app id for chromium/application shortcut.

This is a follow up change after andrew's patch for win7 shortcut to
properly set app id for chromium/application shortcut.
- Move PKEY_AppUserModel_ID and code to set it from app/win_util.cc to
  base/win_util.cc as SetAppIdForPropertyStore to share with file_util
  shortcut code;
- Add an app_id args to file_util's CreateShortcutLink and
  UpdateShortcutLink;
- Update code that calls the above two function in installer and
  UserDataManager so that the chromium shortcuts are created with proper
  app id (except the uninstall shortcut which is not tagged with any app
  id).
- Move ComputeApplicationNameFromURL from Browser to web_app namespace
  and use it as app id for application shortcut. This makes pinned
  shortcut and browser window use the same app id and Win7 correctly
  groups them;

- Rename ComputeApplicationNameFromURL to GenerateApplicationNameFromURL
  per Ben's comments;

- Add a DCHECK in SetAppIdForPropertyStore to ensure app id is less than
  128 chars and contains no space per msdn;
- Change default app id from IDS_PRODUCT_NAME to chrome::kBrowserAppName

BUG=28104
TEST=On Win7, pinned shortcut should no longer be separated from running instance of chrome for both chrome and web application.

Review URL: http://codereview.chromium.org/399045

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32508 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 86b5401aa4c221ea07185bb493bb9557d779be0e
diff --git a/base/file_util_unittest.cc b/base/file_util_unittest.cc
index 40a4163..6d57e2c 100644
--- a/base/file_util_unittest.cc
+++ b/base/file_util_unittest.cc
@@ -989,7 +989,7 @@
   CoInitialize(NULL);
   EXPECT_TRUE(file_util::CreateShortcutLink(target_file.value().c_str(),
                                             link_file.value().c_str(),
-                                            NULL, NULL, NULL, NULL, 0));
+                                            NULL, NULL, NULL, NULL, 0, NULL));
   FilePath resolved_name = link_file;
   EXPECT_TRUE(file_util::ResolveShortcut(&resolved_name));
   std::wstring read_contents = ReadTextFile(resolved_name);