summaryrefslogtreecommitdiffstats
path: root/chrome
Commit message (Collapse)AuthorAgeFilesLines
* Rendering dependencies inherited from version.rules less relative.robertshield@google.com2009-04-141-1/+1
| | | | | | Review URL: http://codereview.chromium.org/73016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13665 0039d316-1c4b-4281-b951-d872f2087c98
* Rename the new Omnibox resources to follow convention and use underscores. ↵deanm@chromium.org2009-04-146-0/+5
| | | | | | | | | Add these resources to theme_resources.grd. Review URL: http://codereview.chromium.org/73030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13664 0039d316-1c4b-4281-b951-d872f2087c98
* Added undo tab closing item to Tab menu.idanan@chromium.org2009-04-146-0/+27
| | | | | | Review URL: http://codereview.chromium.org/62151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13662 0039d316-1c4b-4281-b951-d872f2087c98
* Collapse bookmark bars into a single bar per window, rather than one per tab.pinkerton@chromium.org2009-04-1413-159/+198
| | | | | | | | Create a separate controller for the bar. Hide bar when it's not supposed to be visible instead of just allowing it to be covered by content (it's not always covered, which leads to drawing errors). git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13661 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent an extension from double observing a message filter.maruel@chromium.org2009-04-142-13/+25
| | | | | | | | | | | Fixes Vista ui_test debug failures. Patch by Paul Godavari Review: http://codereview.chromium.org/67120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13660 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add JsonSchema-based validation for the tab APIs."aa@chromium.org2009-04-1420-1358/+228
| | | | | | | | | | | This reverts commit 4f47758f5238f2e5b05d9de18f390bfe2aeb6980. Revert "TBR: Fix unit tests, line endings." This reverts commit 257fa01e20c46c68dce1c5992b75c64686cb1a66. Review URL: http://codereview.chromium.org/67122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13652 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: Fix unit tests, line endings.aa@chromium.org2009-04-142-312/+312
| | | | | | Review URL: http://codereview.chromium.org/67121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13651 0039d316-1c4b-4281-b951-d872f2087c98
* Add JsonSchema-based validation for the tab APIs.aa@chromium.org2009-04-1420-228/+1358
| | | | | | | | | Arv: can you take json_schema.js and json_schema_test.js. Matt: you take the rest. Review URL: http://codereview.chromium.org/66006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13649 0039d316-1c4b-4281-b951-d872f2087c98
* Updating trunk VERSION build from 174.0 to 175.0laforge@chromium.org2009-04-141-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13646 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash where the ResourceMessageFilter is deleted before apaulg@google.com2009-04-149-35/+113
| | | | | | | | | | | | | | | | | | SafeBrowsing check has completed. The problem occurs since the SafeBrowsingResourceHandler is not deleted when its associated URLRequest is cleaned up *and* a SafeBrowsing check is in progress. When the check completes, the next resource handler in the chain (the AsyncResourceHandler which caches a pointer the now deleted ResourceMessageFilter) will crash. This CL adds a notification for objects to know when the ResourceMessageFilter is destroyed. BUG=8544 (http://crbug.com) Review URL: http://codereview.chromium.org/63036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13644 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Ignore certain menu accelerators.estade@chromium.org2009-04-145-34/+47
| | | | | | Review URL: http://codereview.chromium.org/73003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13643 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the DOMUIHost. It is not used by any code.brettw@chromium.org2009-04-1311-188/+4
| | | | | | | This also does a minor fix for forward-declares of RenderViewHostFactory. Review URL: http://codereview.chromium.org/66046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13637 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the title of a JavaScript dialog box.tc@google.com2009-04-132-7/+20
| | | | | | | | | | | | | | | | | | Currently, the title of a JavaScript dialog box contains "Alert" regardless of how it's made: whether by alert(), prompt(), or confirm(). "Alert" should be there only when the dialog box is created by alert(). Tested by: unittest, ui_tests, manually BUG=2359 Original patch by yuzo@google.com at http://codereview.chromium.org/67099 Review URL: http://codereview.chromium.org/70002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13636 0039d316-1c4b-4281-b951-d872f2087c98
* Don't overload the meaning of the RENDERER_PROCESS_TERMINATED notification, ↵jam@chromium.org2009-04-137-35/+25
| | | | | | | | | | | | instead create a new one for crashing. The old way of using notifications was incorrect since a RenderProcessHost might have sent only one notification even though a new renderer might have been created after a crash. BUG=9379 Review URL: http://codereview.chromium.org/66069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13629 0039d316-1c4b-4281-b951-d872f2087c98
* Mark "active" on launch; don't want an hour.jrg@chromium.org2009-04-131-0/+3
| | | | | | Review URL: http://codereview.chromium.org/73014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13624 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the SetParentWindow function from tab_proxy and added a ↵ananta@chromium.org2009-04-132-16/+7
| | | | | | | | | | parent_window argument to the Reposition function in tab_proxy Review URL: http://codereview.chromium.org/73019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13623 0039d316-1c4b-4281-b951-d872f2087c98
* Implement tooltips for the Go/Stop button in Linux.willchan@chromium.org2009-04-135-8/+48
| | | | | | | | BUG=9381 Review URL: http://codereview.chromium.org/67064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13618 0039d316-1c4b-4281-b951-d872f2087c98
* Enable the workers in WorkerThread so that the nested worker can be created.jianli@chromium.org2009-04-131-0/+3
| | | | | | Review URL: http://codereview.chromium.org/66015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13617 0039d316-1c4b-4281-b951-d872f2087c98
* Fix automated_ui_testing for XMLWritertc@google.com2009-04-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was an error in InitXMLReader where it tries to delete the bufffer_ member, setting it to null will make it work as mulhern stated. \src\chrome\Debug>automated_ui_tests.exe Started crash_service.exe so you know if a test crashes! [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from AutomatedUITest [ RUN ] AutomatedUITest.TheOneAndOnlyTest .\automated_ui_tests.cc(167): error: Value of: InitXMLReader() Actual: false Expected: true Error initializing XMLReader Then it crashes. TEST=Ran the test again, doesn't crash. BUG=9625 http://crbug.com/9625 Patch by Mohamed Mansour <m0.interactive@gmail.com> in http://codereview.chromium.org/63001 Review URL: http://codereview.chromium.org/67094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13616 0039d316-1c4b-4281-b951-d872f2087c98
* Once you search for something in a tab, you are very likely to search for ↵finnur@chromium.org2009-04-133-3/+25
| | | | | | | | | | the same thing in another tab. Therefore, if you haven't searched for anything within that tab then Chrome should prepopulate the Find box with the last string you searched for (in any tab). BUG=876 TEST=Open google.com, Ctrl+F, search for 'e'. Open a new tab/new window/open a link in a new window. In all of those new tabs the Find box should be prepopulated with 'e' that is selected (for easy overwriting). Review URL: http://codereview.chromium.org/67066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13613 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up extension events to the json parser, and change the extension messagempcomplete@google.com2009-04-139-18/+41
| | | | | | | | | | passing stuff to use json. Also made sure to lowercase extension IDs when looking them up in ExtensionMessageService. Review URL: http://codereview.chromium.org/67054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13612 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds some UI to remove most-visited thumbnails from the New Tab Page.jcampan@chromium.org2009-04-1318-31/+258
| | | | | | | | | | | | | | | | | | The URL of removed thumbnails is added to a blacklist, which is a user pref. I had to modify the VisitSegmentDatabase::QuerySegmentUsage not to return a fixed number of items, as now we may filter the ones we get back. Note: this adds between 20 and 30ms to the first NTP load on my machine (a 3 to 5% increase). BUG=685 TEST=Open the NTP. Click the 'Edit thumbnails' link. Remove some thumbnails. Press Done. Edit again, use the "Restore removed" link. Review URL: http://codereview.chromium.org/67037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13611 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding the following revisions.ananta@chromium.org2009-04-132-1994/+1979
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r13555 Log: Remove the Activex shim registration for generic Activex controls. The Activex shim only handles windows media player in the wild and will continue to do so for the forseeable future. This fixes http://code.google.com/p/chromium/issues/detail?id=8584, which is basically related to our NPAPI plugin installer not getting instantiated on pages which instantiated flash using an object tag, which would result in webkit attempting to instantiate the activex shim. The shim only loads the windows media player classid, thus causing this issue. Added a test shell test which tests whether the default plugin loaded correctly. This is done by attempting to instantiate a special mime type application/chromium-test-default-plugin, which serves as an indicator to the default plugin to call a function in the page indicating that the test succeeded. I also made a change to ensure that the default plugin is loaded in test_shell_tests. Removed the activexshim dll project from chrome.sln Bug=8584 New Revision: 13558 Log: Removing the Activex shim plugin from the list of default plugins caused some activex shim tests to fail. This basically fails for pages which instantiate the media player like an activex only. To handle this case we attempt to map the clsid to a NPAPI mime type if possible in the shim. If we succeed then the shim is instantiated as an NPAPI plugin as before. It internally loads the media player activex. The other changes are to ensure that the default plugin is only enabled in test_shell for windows for now. Bug=8584 Review URL: http://codereview.chromium.org/72004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13610 0039d316-1c4b-4281-b951-d872f2087c98
* My previous refactoring of the mouse-wheel redirecting codejcampan@chromium.org2009-04-131-8/+8
| | | | | | | | | | | | | | caused menus (such as the book-mark menu) to be closed on mouse-wheel scroll. I had put the rerouting of the mouse-wheel messages in the RenderWidgetViewWin::OnWheelEvent after the workaround for the Thinkpad mousewheel driver, which closes the popups. In the original code, the rerouting was done in the FocusManager by way of sub-classing and was therefore happening before RenderWidgetViewWin::OnWheelEvent. This CL reverts to the original order which fixes the bug. BUG=9752 TEST=Have a profile with lots of bookmarks in a folder on the bookmark toolbar, click on the folder to bring up the scrollable menu. The menu should scroll when you use the mouse-wheel. Review URL: http://codereview.chromium.org/67063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13609 0039d316-1c4b-4281-b951-d872f2087c98
* Update check deps for my breakage.brettw@chromium.org2009-04-131-0/+3
| | | | | | Review URL: http://codereview.chromium.org/67087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13606 0039d316-1c4b-4281-b951-d872f2087c98
* Add a comment to the hwnd view about proper usage. I was using it incorrectlybrettw@chromium.org2009-04-132-0/+12
| | | | | | | | | in when trying to do some ui demos. Add a hook for the frame window test I'm doing. Review URL: http://codereview.chromium.org/58013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13605 0039d316-1c4b-4281-b951-d872f2087c98
* A few more UI commands: duplicate tab, open window.huanr@chromium.org2009-04-137-46/+140
| | | | | | | | | Convert them to synchronous mode, move to AutoMatedUITestBase, add unit test. Review URL: http://codereview.chromium.org/66066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13604 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/62160robertshield@google.com2009-04-136-20/+20
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13600 0039d316-1c4b-4281-b951-d872f2087c98
* Adding versioning support to the chrome automation protocol.robertshield@google.com2009-04-135-17/+116
| | | | | | Review URL: http://codereview.chromium.org/62061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13598 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up a bit more plumbing to ExtensionView which should allow popup ↵erikkay@google.com2009-04-1317-184/+455
| | | | | | | | windows and widgets to work.Add in a quick hack that lets you bring up the web inspector. Review URL: http://codereview.chromium.org/67029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13595 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the ability to open a new window by clicking on the dock icon,pinkerton@chromium.org2009-04-131-0/+18
| | | | | | | | | if there are no currently open windows. If there are minimized windows but no open windows, the most recently minimized window will open. Patch from rohitrao@google.com BUG=9548 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13592 0039d316-1c4b-4281-b951-d872f2087c98
* Disable Leopard's automatic window title gradient height detection, as it getspinkerton@chromium.org2009-04-131-22/+69
| | | | | | confused by our tabs. Patch from rohitrao@google.com. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13591 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more members to scoped pointers. Move status bubble into browser ↵pinkerton@chromium.org2009-04-1311-72/+60
| | | | | | | | window controller. Move extra window retain into BWC because it's needed for things in there, not the BrowserWindow impl. Be explicit about the ordering and nature of the ownership in BWC, which should be better since it's now all in one place. Clean up a lot of un-used cruft in tab strip and tab contents now that the toolbaris no longer there, preparing for the BookmarkBar to leave as well. Review URL: http://codereview.chromium.org/66047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13589 0039d316-1c4b-4281-b951-d872f2087c98
* A quick fix for Issue 9762 and 9763.hbono@chromium.org2009-04-133-20/+95
| | | | | | | | | | | | | | | | | | | This is caused by my change r12434 that does not check if there are any other keys pressed when a user presses left-control and left-shift keys (or right-control and right-shift keys). To fix this issue, this change does not only add the above check, but also it adds code that cancels updating the text direction if a user presses another key while he/she is pressing control and shift keys. BUG=9762 "Regression: Shift+Ctrl+Arrow selection combination also changes text direction in RTL UIs" BUG=9763 "Ctrl+Shift text alignment depends of the sides of both the Ctrl and the Shift keys" TEST=In a LTR <textarea> element, pressing a control key, pressing a right-shift key, releasing the right-shift key, and verify its text direction is changed to RTL. TEST=In an RTL <textarea> element, pressing a control key, pressing a left-shift key, releasing the left-shift key, and verify its text direction is changed to LTR. TEST=In a LTR <textarea> element, pressing a right-shift key, pressing a control key, releasing the right-shift key, and verify its text direction is still LTR. TEST=In a LTR <textarea> element, pressing a control key, pressing a right-shift key, releasing the control key, and verify its text direction is changed to RTL. TEST=In an RTL <textarea> element, pressing a left-shift key, pressing a control key, releasing the left-shift key, and verify its text direction is still RTL. TEST=In an RTL <textarea> element, pressing a control key, pressing a left-shift key, releasing the control key, and verify its text direction is changed to LTR. TEST=In a LTR <textarea> element, pressing a control key, pressing a right-shift key, pressing an arrow key, releasing the right-shift key, and verify its text direction is still LTR. Review URL: http://codereview.chromium.org/63117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13588 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 13558 and 13555 because they broke the pluginnsylvain@chromium.org2009-04-132-1979/+1994
| | | | | | | | | | | tests and the test_shell_tests on linux. PLEASE back yourself out when you see you can't fix a bug instead of leaving it red for days. Review URL: http://codereview.chromium.org/67074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13575 0039d316-1c4b-4281-b951-d872f2087c98
* Make ws2_32.dll delay load againcpu@google.com2009-04-122-2/+2
| | | | | | | | | | | | | | - In r13569 I removed it from delay load in using_libxml.vsprops - Here I put it back in a more logical place BUG=10012 TBR=maruel Review URL: http://codereview.chromium.org/67073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13574 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring; switch the |filter| parameter into something that is more ↵avi@chromium.org2009-04-1221-216/+227
| | | | | | | | | | amenable to cross-platform implementation. BUG=9852 Review URL: http://codereview.chromium.org/63093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13573 0039d316-1c4b-4281-b951-d872f2087c98
* Add WS_32.dll to the dependenciescpu@google.com2009-04-121-1/+2
| | | | | | | | | | | | - it was on delayload now needs to go to regular early bind - I want to see the perf hit and fix the build :) TBR=maruel Review URL: http://codereview.chromium.org/71008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13571 0039d316-1c4b-4281-b951-d872f2087c98
* Remvoing ws_32.dll from libxml triggered a improvised explosive devicecpu@google.com2009-04-121-2/+1
| | | | | | | | | | | - Now build is busted. TBR=maruel Review URL: http://codereview.chromium.org/71007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13570 0039d316-1c4b-4281-b951-d872f2087c98
* Removing the Activex shim plugin from the list of default plugins caused ↵ananta@chromium.org2009-04-111-1/+1
| | | | | | | | some activex shim tests to fail. This basically fails for pages which instantiate the media player like an activex only. To handle this case we attempt to map the clsid to a NPAPI mime type if possible in the shim. If we succeed then the shim is instantiated as an NPAPI plugin as before. It internally loads the media player activex. Review URL: http://codereview.chromium.org/66072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13558 0039d316-1c4b-4281-b951-d872f2087c98
* Enable zooming in on Linux.thestig@chromium.org2009-04-111-1/+9
| | | | | | Review URL: http://codereview.chromium.org/66068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13556 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the Activex shim registration for generic Activex controls. The ↵ananta@chromium.org2009-04-111-1993/+1978
| | | | | | | | | | | | | | | | | | | | | | | | Activex shim only handles windows media player in the wild and will continue to do so for the forseeable future. This fixes http://code.google.com/p/chromium/issues/detail?id=8584, which is basically related to our NPAPI plugin installer not getting instantiated on pages which instantiated flash using an object tag, which would result in webkit attempting to instantiate the activex shim. The shim only loads the windows media player classid, thus causing this issue. Added a test shell test which tests whether the default plugin loaded correctly. This is done by attempting to instantiate a special mime type application/chromium-test-default-plugin, which serves as an indicator to the default plugin to call a function in the page indicating that the test succeeded. I also made a change to ensure that the default plugin is loaded in test_shell_tests. Removed the activexshim dll project from chrome.sln Bug=8584 Review URL: http://codereview.chromium.org/63151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13555 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure we can handle favicons that are provided as data: URLsarv@chromium.org2009-04-112-1/+30
| | | | | | | | BUG=9881 Review URL: http://codereview.chromium.org/67042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13551 0039d316-1c4b-4281-b951-d872f2087c98
* This adds link[rel=icon] elements to the DOM UI html files for downloads and arv@chromium.org2009-04-102-0/+2
| | | | | | | | | | | | history. It also adds code to inline the resources for <link rel="icon"> elements BUG=9805 Review URL: http://codereview.chromium.org/66041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13550 0039d316-1c4b-4281-b951-d872f2087c98
* Make linux link buttons pretty.estade@chromium.org2009-04-103-12/+64
| | | | | | | | | - set text to red while button is active - get rid of border spacing Review URL: http://codereview.chromium.org/66058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13545 0039d316-1c4b-4281-b951-d872f2087c98
* Remove histogram connection to base classes in stats_counterjar@chromium.org2009-04-105-0/+5
| | | | | | | | | | | | | | | | Now that histograms move data from renderer to browser, there is less reason to connect to stats counters. Stats counters were using shared memory, and now they may plausibly use the histogram's IPC mechanism instead to move data to the browser. The first step is remove the inheritance, and teh next (plausible/future) step would be to implement counters as histograms with only one bucket. r=mbelshe Review URL: http://codereview.chromium.org/66029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13544 0039d316-1c4b-4281-b951-d872f2087c98
* Use favicons in the bookmark bar under GTK.erg@google.com2009-04-102-11/+34
| | | | | | Review URL: http://codereview.chromium.org/66056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13543 0039d316-1c4b-4281-b951-d872f2087c98
* Removing --enable-video and instead relying on having DLLs present.scherkus@chromium.org2009-04-104-7/+1
| | | | | | | | | | | | I measured a ~10ms startup regression when the DLLs are not present and a ~20ms regression when the DLLs are present and loaded in render_process.cc. Not sure how else to tackle this problem since we need these DLLs loaded before the sandbox is engaged. Review URL: http://codereview.chromium.org/63101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13542 0039d316-1c4b-4281-b951-d872f2087c98
* Fix missing virtual GetModel().shess@chromium.org2009-04-102-0/+7
| | | | | | | | | GetModel() was added by http://codereview.chromium.org/67035 which running my change on the trybots, and I trusted the merge. Review URL: http://codereview.chromium.org/66054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13541 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build bustage - make sure GTK Autocomplete edit/popup implement the ↵ben@chromium.org2009-04-103-4/+7
| | | | | | | | | GetModel interface method. TBR=deanm Review URL: http://codereview.chromium.org/66052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13539 0039d316-1c4b-4281-b951-d872f2087c98