summaryrefslogtreecommitdiffstats
path: root/chrome/common
Commit message (Collapse)AuthorAgeFilesLines
* Some app-related manifest cleanup:aa@chromium.org2010-06-186-87/+40
| | | | | | | | | | | | | | | | | | 1) Group app-related keys under a new "app" key, and change the implementation of IsApp() to just check that. 2) Rename IsApp() and IsTheme() -> is_app(), is_theme() to match style guide. 3) Remove web_content.enabled. That was a stupid idea. 4) Make some kind of launch URL required for apps. BUG=46632 Review URL: http://codereview.chromium.org/2836012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50278 0039d316-1c4b-4281-b951-d872f2087c98
* Adding Rachel Shearer's updated feed.html with keyboard nav and ARIA attributes.kurrik@chromium.org2010-06-185-0/+396
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/2711005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50262 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 50257 - Reland r50057. This is exactly the same except with two lines ↵erg@chromium.org2010-06-182-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | cherrypicked from tony's CL 2814009 that tell make about the net_internals_resources_map.{cc,h} files. Load net-internals from the newly created resources.pak file. This patch also forces the loading of the optional DataPack for const correctness reasons Original Review: http://codereview.chromium.org/2855003 BUG=35793,42770 TEST=none TBR=tony Review URL: http://codereview.chromium.org/2800014 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2811016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50260 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r50057. This is exactly the same except with two lines cherrypicked fromerg@chromium.org2010-06-182-6/+0
| | | | | | | | | | | | | | | | | | | tony's CL 2814009 that tell make about the net_internals_resources_map.{cc,h} files. Load net-internals from the newly created resources.pak file. This patch also forces the loading of the optional DataPack for const correctness reasons Original Review: http://codereview.chromium.org/2855003 BUG=35793,42770 TEST=none TBR=tony Review URL: http://codereview.chromium.org/2800014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50257 0039d316-1c4b-4281-b951-d872f2087c98
* Added functionality in CUPS cloud print proxy to connect to specificgene@chromium.org2010-06-182-0/+4
| | | | | | | | | | | | | | | | | | IPP print server. Print server destination is specified in "Service State" config file. Due to the GURL parsing implementation, print server url should start with "http://" scheme. Also, fixed multithreading raacing condition in CUPS. GCrypt library inside GnuTLS was not initialized properly. Added initialization code to proxy, to init gcrypt in pthread mode. BUG=none TEST=Specify print server url in "Service State" file. Run proxy. Confirm that proxy is connected to the specified print server. Review URL: http://codereview.chromium.org/2859002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50253 0039d316-1c4b-4281-b951-d872f2087c98
* Add the source code for the Google Wave Notifier extension. (Thekathyw@chromium.org2010-06-1815-0/+1480
| | | | | | | | | | | | | extension is available in the gallery at https://chrome.google.com/extensions/detail/ihbcpkcoopncbdefilgpnlncpeajenmk.) TBR=bkennish TEST=none BUG=none Review URL: http://codereview.chromium.org/2838009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50239 0039d316-1c4b-4281-b951-d872f2087c98
* Split part of about_handler into chrome/common to break the browser-renderer ↵thestig@chromium.org2010-06-182-0/+57
| | | | | | | | | | dependency. BUG=46666 TEST=none Review URL: http://codereview.chromium.org/2814012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50209 0039d316-1c4b-4281-b951-d872f2087c98
* AppCache: add plumbing to deliver logging messages to the renderer process. ↵michaeln@chromium.org2010-06-183-0/+15
| | | | | | | | These messages will be plumbed thru to the console output for the page associated with 'host_id'.BUG=13685TEST=none Review URL: http://codereview.chromium.org/2861007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50197 0039d316-1c4b-4281-b951-d872f2087c98
* Enable domui options for use in browser using the switch:csilv@chromium.org2010-06-182-0/+4
| | | | | | | | | | --enable-tabbed-options BUG=none TEST=see description Review URL: http://codereview.chromium.org/2820007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50191 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Put functions in the same order in the .cc file as the .h file. ↵pkasting@chromium.org2010-06-171-22/+21
| | | | | | | | | | Remove an unneeded pair of braces. BUG=none TEST=none Review URL: http://codereview.chromium.org/2809021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50151 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a TODO: Move "NonThreadSafe" inheritance from ↵pkasting@chromium.org2010-06-172-17/+12
| | | | | | | | | | | | NetworkChangeNotifier interface to implementations. Also add CalledOnValidThread() DCHECKs in as many places as possible. Some minor style changes. BUG=none TEST=none Review URL: http://codereview.chromium.org/2813019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50139 0039d316-1c4b-4281-b951-d872f2087c98
* Created notification for when a session is saved.jerrica@google.com2010-06-171-0/+5
| | | | | | | | | | | Created a notification for when a session is saved, so that later we can observe this notification and sync a session. BUG=30519 TEST=session_service_unittest.cc Review URL: http://codereview.chromium.org/2858005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50119 0039d316-1c4b-4281-b951-d872f2087c98
* Document the "key" value in the extension manifest.aa@chromium.org2010-06-174-3/+65
| | | | | | | | BUG=40101 Review URL: http://codereview.chromium.org/2870008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50118 0039d316-1c4b-4281-b951-d872f2087c98
* Basic code structures for rewritten options dialogs as DOM UI. Also includes ↵zelidrag@chromium.org2010-06-172-9/+13
| | | | | | | | | | | the initial implementation of System page in ChromeOS options. BUG=chromium-os: TEST=none yet, work in progress Review URL: http://codereview.chromium.org/2781005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50117 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] more -Wextra support:thomasvl@chromium.org2010-06-171-10/+10
| | | | | | | | | | | | - autofill: explicitly initialize in the copy constructor - make some loops clearly use {} for empty bodies - bump up app mode version number to 1.0 so we don't check for < 0 on the unsigned version number. BUG=34160 TEST=none Review URL: http://codereview.chromium.org/2856006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50095 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: More pluming for OOP font loadingjeremy@chromium.org2010-06-178-55/+259
| | | | | | | | | | | | | * Add font_descriptor and corresponding pluming to send an NSFont over IPC. * Rejigger font_loader to accept an NSFont as input and output an ATSFontContainerRef. The reasoning behind this is that WebKit ultimately controls the font lifetime and we can only deactivate the font container once the font is no longer in use. BUG=29729 Test=Unit tests should pass. Review URL: http://codereview.chromium.org/2804001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50076 0039d316-1c4b-4281-b951-d872f2087c98
* Allow themes to be localized. This doesn't show up anywhereaa@chromium.org2010-06-172-4/+2
| | | | | | | | | | in Chrome (yet), but it is used by the gallery. BUG=46379 Review URL: http://codereview.chromium.org/2845010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50062 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 50057 - Load net-internals from the newly created resources.pak file.erg@chromium.org2010-06-172-0/+6
| | | | | | | | | | | | | | This patch also forces the loading of the optional DataPack for const correctness reasons BUG=35793,42770 TEST=none Review URL: http://codereview.chromium.org/2855003 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2852011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50059 0039d316-1c4b-4281-b951-d872f2087c98
* Load net-internals from the newly created resources.pak file.erg@chromium.org2010-06-172-6/+0
| | | | | | | | | | | This patch also forces the loading of the optional DataPack for const correctness reasons BUG=35793,42770 TEST=none Review URL: http://codereview.chromium.org/2855003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50057 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 50050 - Revert r48693: This broke existing extensions that wanted to ↵aa@chromium.org2010-06-162-2/+4
| | | | | | | | | | | | | run script on XML pages. For more info, see: http://code.google.com/p/chromium/issues/detail?id=39845#c7 TBR=rafaelw@chromium.org TBR=aa@chromium.org Review URL: http://codereview.chromium.org/2812006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50051 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r48693: This broke existing extensions that wanted to run script on XMLaa@chromium.org2010-06-162-4/+2
| | | | | | | | pages. For more info, see: http://code.google.com/p/chromium/issues/detail?id=39845#c7 TBR=rafaelw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50050 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an inaccuracy in the cookies documentation--the expirationDate property ↵cindylau@google.com2010-06-165-270/+308
| | | | | | | | | | | | | is in seconds, not milliseconds. Regenerated the docs using the test_shell script; a few other docs appeared to be out-of-date as well. BUG=none TEST=none Review URL: http://codereview.chromium.org/2838008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50011 0039d316-1c4b-4281-b951-d872f2087c98
* Peek at the event queue for wheel events for crosdavemoore@chromium.org2010-06-162-2/+8
| | | | | | | | | BUG=NONE Test=RenderWidgetHostTest.CoalescesWheelEvents (existing) Review URL: http://codereview.chromium.org/2679003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49938 0039d316-1c4b-4281-b951-d872f2087c98
* Add policy code for proxy configurationdanno@chromium.org2010-06-162-0/+20
| | | | | | | | | | | | | Augment ProxyConfig to fetch its configuration from preferences that are initialized by settings and policy (rather than getting its config directly from settings). Add policies for everything that is needed to configure a ProxyConfig and wire the policies up to the corresponding preferences. Also remove CookieMode policy, it's harder to get right than we naively thought. BUG=43458 TEST=ChromeUrlRequestContextTest*:ConfigurationPolicyPrefStoreTest* Review URL: http://codereview.chromium.org/2459001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49924 0039d316-1c4b-4281-b951-d872f2087c98
* Don't check if the internal plugin exists when someone just asks for its ↵jam@chromium.org2010-06-161-2/+0
| | | | | | | | path, as that'll fail in the sandbox and we don't care about the result then. Review URL: http://codereview.chromium.org/2799009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49896 0039d316-1c4b-4281-b951-d872f2087c98
* Combined both constructors of TalkMediatorImpl into one.akalin@chromium.org2010-06-163-53/+49
| | | | | | | | | BUG=none TEST=manual, trybots Review URL: http://codereview.chromium.org/2835003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49891 0039d316-1c4b-4281-b951-d872f2087c98
* Add DISABLE_RUNNABLE_METHOD_REFCOUNT to make disabling refcounts in ↵ajwong@chromium.org2010-06-165-26/+6
| | | | | | | | | | | RunnableMethods easier. BUG=none TEST=none Review URL: http://codereview.chromium.org/2830006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49887 0039d316-1c4b-4281-b951-d872f2087c98
* Send WINDOW_ID_NONE in chrome.windows.onFocusChanged when all windows loose ↵rafaelw@chromium.org2010-06-161-1/+8
| | | | | | | | | | | | | focus. Note that this patch includes support for Views (Windows/chromeos) and GTK (Linux). I was going to do mac as well, but decided my objective-c skillz were too rusty. BUG=32932 TEST=none Review URL: http://codereview.chromium.org/2778001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49884 0039d316-1c4b-4281-b951-d872f2087c98
* gtk: Remember which page user viewed last in the Certificate Manager window.tfarina@chromium.org2010-06-152-0/+7
| | | | | | | | | | | | (Note: That was a TODO for Matt). BUG=None TEST=open the Certificate Manager window, select a tab, close it, open again, it should opens in the tab you viewed last. Review URL: http://codereview.chromium.org/2730016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49848 0039d316-1c4b-4281-b951-d872f2087c98
* Reenable InstallApps attempt #2. This time with a fix tompcomplete@chromium.org2010-06-152-5/+2
| | | | | | | | | | | | | ManifestTest.AppsDisabledByDefault. Don't cache the value of the CommandLine, since unit_tests can modify it while the process is running. BUG=41280 Review URL: http://codereview.chromium.org/2824005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49809 0039d316-1c4b-4281-b951-d872f2087c98
* Mac/clang: Possibly contentious changes.thakis@chromium.org2010-06-151-5/+1
| | | | | | | | | | | | As discussed on irc, we're getting rid of const NSObjects, and we're making all properties nonatomic. const: All of cocoa takes nonconst NSObjects, and passing a const NSString to a function that takes NSString is a const violation. gcc doesn't complain about this, but clang intentionally does. constness is usually done via immutable base classes and mutable subclasses in cocoa anyway, so getting rid of const isn't that bad. Also, we don't really have a choice. nonatomic: Some of our classes have custom setters that are not @synchronized. If the @property for that is not non-atomic, then the interface claims that the method is synchronized but the implementation actually isn't. That's a bug. gcc happens not to complain about this, but clang does. Since we shouldn't need atomic properties anywhere, the simple rule is now to just make all properties nonatomic. Review URL: http://codereview.chromium.org/2769014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49808 0039d316-1c4b-4281-b951-d872f2087c98
* Added --services-manifest switch, to provide Chrome OS OEM services ↵denisromanov@chromium.org2010-06-152-1/+8
| | | | | | | | | | | | | customization manifest on the command line. The manifest is parsed and specified OEM welcome page is opened on startup. BUG=cros:3176 TEST=Run out/Debug/chrome --services-manifest=chrome/browser/chromeos/testdata/services_manifest.json. An URL specified in the manifest as the initial_start_page should be opened (presently http://localhost). Review URL: http://codereview.chromium.org/2691003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49798 0039d316-1c4b-4281-b951-d872f2087c98
* Load resources.pak, which should be located next to the chrometony@chromium.org2010-06-152-0/+8
| | | | | | | | | | | | | | | binary. resources.pak will contain all the files we currently have in the resources subdirectory (it currently only has net-internals files). On Linux, this is an eager load (before the zygote), but on Mac and Win, this is lazily loaded as needed. This isn't being used yet, just adding the necessary plumbing for now. BUG=42770 Review URL: http://codereview.chromium.org/2755006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49772 0039d316-1c4b-4281-b951-d872f2087c98
* Make the URLFetcher observe IO thread shutdown and auto-cancel its request, ↵pkasting@chromium.org2010-06-152-4/+17
| | | | | | | | | | if any. BUG=41547 TEST=none Review URL: http://codereview.chromium.org/2849003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49761 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49739 - Reenable InstallApps.mpcomplete@chromium.org2010-06-151-1/+3
| | | | | | | | | | | | | | Don't cache the value of the CommandLine, since unit_tests can modify it while the process is running. BUG=41280 Review URL: http://codereview.chromium.org/2632001 TBR=mpcomplete@chromium.org Review URL: http://codereview.chromium.org/2861001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49745 0039d316-1c4b-4281-b951-d872f2087c98
* On Mac, move internal plugins to live inside the framework ...viettrungluu@chromium.org2010-06-141-3/+5
| | | | | | | | | | | ... in particular in a subdirectory called "Internet Plug-Ins". BUG=none TEST=builds okay everywhere (including branded builds); internal Flash still okay everywhere on branded builds; on Mac, Flash files end up in above-indicated directory Review URL: http://codereview.chromium.org/2805005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49742 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49738 [problems running tests] - On Mac, move internal plugins to ↵viettrungluu@chromium.org2010-06-141-8/+10
| | | | | | | | | | | | | | | | live inside the framework ... ... in particular in a subdirectory called "Internet Plug-Ins". BUG=46400 TEST=builds okay everywhere (including branded builds); internal Flash still okay everywhere on branded builds; on Mac, Flash files end up in above-indicated directory Review URL: http://codereview.chromium.org/2823003 TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/2857001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49740 0039d316-1c4b-4281-b951-d872f2087c98
* Reenable InstallApps.mpcomplete@chromium.org2010-06-141-3/+1
| | | | | | | | | | | Don't cache the value of the CommandLine, since unit_tests can modify it while the process is running. BUG=41280 Review URL: http://codereview.chromium.org/2632001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49739 0039d316-1c4b-4281-b951-d872f2087c98
* On Mac, move internal plugins to live inside the framework ...viettrungluu@chromium.org2010-06-141-10/+8
| | | | | | | | | | | ... in particular in a subdirectory called "Internet Plug-Ins". BUG=46400 TEST=builds okay everywhere (including branded builds); internal Flash still okay everywhere on branded builds; on Mac, Flash files end up in above-indicated directory Review URL: http://codereview.chromium.org/2823003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49738 0039d316-1c4b-4281-b951-d872f2087c98
* be more aggressive about removing symlink to latest chrome logcmasone@google.com2010-06-141-4/+3
| | | | | | | | | | | | Due to a semantic mismatch between file_util::Delete and the linux library calls I was using, I was running into problems nuking a symlink that pointed at nothing. I realized that I kinda don't care if the symlink is there, or what it's pointing at. I just want to blow it away. Even if I can't, i still want to redirect logging. So I changed to code to reflect this policy. BUG=None TEST=Log into Chromium OS, alter /home/chronos/chrome_log to point to some nonexistent file. After reboot, verify that it now correctly points to the most recent chrome_log file in /home/chronos Review URL: http://codereview.chromium.org/2811003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49730 0039d316-1c4b-4281-b951-d872f2087c98
* Adding "name in english" for GPU type process.rlp@chromium.org2010-06-141-0/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2118008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49729 0039d316-1c4b-4281-b951-d872f2087c98
* If CreateDirectory() fails during extension unpacking, log the exact OS call ↵skerner@chromium.org2010-06-141-3/+11
| | | | | | | | | | | | | that failed. This change is designed to help understand bug 35198, which we can not reproduce locally. BUG=35198 TEST=manual Review URL: http://codereview.chromium.org/2714016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49703 0039d316-1c4b-4281-b951-d872f2087c98
* Allow chrome logging to pivot inside the users encrypted home dircmasone@google.com2010-06-142-11/+72
| | | | | | | | | | | | | Allow chrome logging to pivot inside the users encrypted home dir on chrome os, post-login. We also set the inital logs up to be timestamped, so that we don't lose them when crashes happen. BUG=None TEST=Enable chrome logging on chrome os, log in, and check for chrome logs in /home/chronos/user Review URL: http://codereview.chromium.org/2723007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49689 0039d316-1c4b-4281-b951-d872f2087c98
* Flesh out the rest of IDBIndex and IDBObjectStore's chromium halves.jorlow@chromium.org2010-06-142-10/+97
| | | | | | | | | | | | Also refactor a bunch of the dispatcher/dispatcherHost and IndexedDBCallbacks code to clean things up. TEST=none BUG=none Review URL: http://codereview.chromium.org/2749013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49683 0039d316-1c4b-4281-b951-d872f2087c98
* Added plumbing to transport the frame name between RenderViewHost and the ↵atwilson@chromium.org2010-06-122-9/+63
| | | | | | | | | | | | | Webkit layer. Extended ViewMsg_New and ViewHostMsg_CreateWindow to have a new frame_name parameter. This allows the RVH to know the initial name of the frame associated with its RenderView, and also to set the name of the frame when creating a new RenderView. Review URL: http://codereview.chromium.org/2775003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49622 0039d316-1c4b-4281-b951-d872f2087c98
* Add a font API to Pepper and implement on Linux based on agl's code from ↵jam@chromium.org2010-06-111-0/+1
| | | | | | | | http://codereview.chromium.org/2673003. Review URL: http://codereview.chromium.org/2794004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49599 0039d316-1c4b-4281-b951-d872f2087c98
* Convert page contents grabbing from wide to UTF16. The current code is a bitbrettw@chromium.org2010-06-111-1/+1
| | | | | | | | | | | silly because it would capture it in UTF16, then convert to wide, send it to the browser, then convert it to UTF-8 for FTS. TEST=none BUG=none Review URL: http://codereview.chromium.org/2714012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49594 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanups of usage of process_util code.maruel@chromium.org2010-06-111-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2791006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49568 0039d316-1c4b-4281-b951-d872f2087c98
* AutoFill: Remove the default profile/CC prefs.jhawkins@chromium.org2010-06-112-8/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2762013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49561 0039d316-1c4b-4281-b951-d872f2087c98
* Tweak install and dangerous download dialogs for apps.asargent@chromium.org2010-06-112-0/+7
| | | | | | | | | | | | BUG=45155 TEST=Run chrome with the --enable-apps flag.Install an app - the confirmation dialog should say "..this App..." instead of "...this Extension...". Install an extension - it should stil say "Extension". Review URL: http://codereview.chromium.org/2730002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49553 0039d316-1c4b-4281-b951-d872f2087c98