| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change reverts r46025 and fixes the build break which is just a one line
change in chrome/browser/first_run_gtk.cc to move the definition of
Upgrade::new_command_line_ to be inside a #if. Details on the change and code
review feedback for the original CL can be found at
http://codereview.chromium.org/1633021.
BUG=40975
TEST=none
Review URL: http://codereview.chromium.org/1691022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46103 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
background in persistent"
Broke the build.
Review URL: http://codereview.chromium.org/1718024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46025 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mode, shutdown and restart the new instance. This is already done for Windows,
this CL enables the functionality for Linux.
We don't yet have a unit test for this. Local testing is done by:
1) Reducing the timer to 30 seconds.
2) Changing BrowserList::IsInPersistentMode to return true.
3) Setting BrowserProcessImpl::autoupdate_timer_ to 30 seconds interval.
4) Running "touch" command on chrome exe to pretend there is an update.
BUG=40975
TEST=none
Review URL: http://codereview.chromium.org/1633021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46023 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Landing on behalf of dbelenko@google.com.
This is a new version of the older patch. Main changes include: 1. Rebased to a never Git revision to make things easier to land. 2. Chrome will now preserve the command line switches except for those that are blacklisted. 3. Fixed a race condition that would cause the browser to think it didn't exit cleanly after it's been restarted. 4. Fixed minor nits and omissions (indentation, etc).
This patch adds a timer which fires every 6 hours and checks whether the
browser is in the "persistent" (background) mode, and whether there's an
update pending restart. If both conditions are true, the browser is
restarted with blacklisted command line keys and all loose values stripped. In order to
restart the browser in the background mode, the --long-lived-extensions
key is also added to the command line.
This change is Windows-only, and it won't become fully functional until
Drew (atwilson) checks in his work that enables Chrome to go into background.
Additionally, this addresses an issue where a restarted browser might load its profile data before the previous browser process exited - we now load the profile data *after* trying to contact the other browser. This exposed a race condition in SessionRestoreUITest.RestoreAfterClosingTabbedBrowserWithAppAndLaunching, so we disabled that test and logged http://crbug.com/40946.
BUG=40975,40946
Review URL: http://codereview.chromium.org/1618012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44121 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Rebased to a never Git revision to make things easier to land.
2. Chrome will now preserve the command line switches except for those that are
blacklisted.
3. Fixed a race condition that would cause the browser to think it didn't exit
cleanly after it's been restarted.
4. Fixed minor nits and omissions (indentation, etc).
This patch adds a timer which fires every 6 hours and checks whether the
browser is in the "persistent" (background) mode, and whether there's an
update pending restart. If both conditions are true, the browser is
restarted with blacklisted command line keys and all loose values stripped. In order to
restart the browser in the background mode, the longlivedextensions
key is also added to the command line.
This change is Windowsonly, and it won't become fully functional until
Drew (atwilson) checks in his work that enables Chrome to go into background.
Review URL: http://codereview.chromium.org/1617001
TBR=atwilson@chromium.org
Review URL: http://codereview.chromium.org/1517027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44041 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Rebased to a never Git revision to make things easier to land.
2. Chrome will now preserve the command line switches except for those that are
blacklisted.
3. Fixed a race condition that would cause the browser to think it didn't exit
cleanly after it's been restarted.
4. Fixed minor nits and omissions (indentation, etc).
This patch adds a timer which fires every 6 hours and checks whether the
browser is in the "persistent" (background) mode, and whether there's an
update pending restart. If both conditions are true, the browser is
restarted with blacklisted command line keys and all loose values stripped. In order to
restart the browser in the background mode, the --long-lived-extensions
key is also added to the command line.
This change is Windows-only, and it won't become fully functional until
Drew (atwilson) checks in his work that enables Chrome to go into background.
Review URL: http://codereview.chromium.org/1617001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43989 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Also convert app/gtk_dnd_util.h from a class to a namespace for consistency
with added app/gtk_util.h.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/669268
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41177 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/656009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41067 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added Mac implementation of StatusIcon, and added a simple click callback that
displays the "extensions" tab when clicked on, to allow us to dogfood long-lived
extensions.
BUG=37375
Review URL: http://codereview.chromium.org/661454
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40847 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/669184
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40834 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
initialization into IOThread.
The global host resolver and dns master have changed to be member variables of IOThread.
BUG=26156,26159
Review URL: http://codereview.chromium.org/553026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36866 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
and nonexistent addresses to custom pages, and plumb it to the code that puts up infobars when users type in a search that appears to be an intranet address, so we don't show these for erroneous cases.
BUG=31556
TEST=none
Review URL: http://codereview.chromium.org/525079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35807 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
callers of l10n_util::GetApplicationLocale to use this instead.
In the browser process, it's wrong to call
l10n_util::GetApplicationLocale with an empty string because then
it won't consider the user pref value when resolving the locale.
On Linux, it's also wrong to call l10n_util::GetApplicationLocale
after startup because the call touches disk and on Linux, we assume
that all of the program files can be deleted after startup (so
updates in place can work).
Review URL: http://codereview.chromium.org/476002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34206 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
NotificationUIManager to BrowserProcess to DesktopNotificationService to RenderView.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/342043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30557 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
ChromeThread::PostTask.
BUG=25354
Review URL: http://codereview.chromium.org/342020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30383 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/244053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27728 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also changes some sample code to use a random generic name ("PruningAlgorithm") instead of MemoryModel in hopes that no one will be confused.
This does not remove IdleTimer, even though it now has no users. I do plan to remove it, but I want to do that in a separate commit so it's easy to reference and revert if at some later point we want this functionality.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/242079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27652 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Convert IPC logging trigger from x-process waitable event to a messages
sent to all processes.
Review URL: http://codereview.chromium.org/192070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27405 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25129 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Mac have their own sandboxes. Remove the corresponding stubs from temp_scaffolding_stubs.h.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/173228
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24032 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Ubuntu want to ship with the inspector files in a separate package and
having menu items which are broken isn't nice.
http://codereview.chromium.org/174162
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23927 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
CL cleans this up.BUG=NoneTEST=Accelerator should work in Chrome and in the first run window.
Review URL: http://codereview.chromium.org/160301
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22020 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Change the locale param to be std::string because they're always ASCII and change call-sites accordingly.
2. Add GetStringFUTF16 to l10n_util. On Windows, they're inline helpers calling the correspondingGetStringF returning wstring while on Mac/Linux, they just return the result of |string16 GetStringF|without converting to wstring.
This is part 1 of the fix for issue 8647. Some of newly introduced conversions are temporary and will be removed later (e.g. ASCIIToWide applied to the result of GetApplicationLocale in a few places).
Note : this CL will be landed after http://codereview.chromium.org/147038 is landed.
BUG=8647 (http://crbug.com/8647)
TEST=Pass l10n_util_unittest and other unit tests
Review URL: http://codereview.chromium.org/126223
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19183 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DownloadRequestManager is the object that manages the number of downloads
that can occur in a given tab. It throttles non-user initiated downloads
to prevent carpet-bombing download attacks.
Enabling this object for Mac fixes the issue where we can only download
one file in a given tab.
BUG=None (mac work).
TEST=Can now download more than one item in a tab.
Review URL: http://codereview.chromium.org/132039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18840 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This happens when the ThumbnailGenerator is initialized because the
NotificationService doesn't exist yet. This patch adds a function that
TabContentscalls to make sure it is registered to avoid this problem.
Review URL: http://codereview.chromium.org/126239
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18572 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
on all platforms.
Also, on linux, assume the user denies every download which we would have prompted him with.
BUG=12709
TEST=windows is still carpet-bombing resilient and linux can download from the same page more than once.
Review URL: http://codereview.chromium.org/113925
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17089 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
shell around base::Clipboard now.
http://crbug.com/11387
Review URL: http://codereview.chromium.org/105011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15274 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(r14075 take two)
Currently we perform several X operations on the IO thread including
geometry and clipboard work. This is causing races inside Xlib and
crashing the browser.
These are the result of synchronous calls from the renderer, so we
cannot route these requests to the UI thread without risking deadlock.
Thus we introduce the UI2 thread. This thread has a second connection
to the X server and can perform X operations safely the without UI
thread.
Work remains to be done:
Since we still have the hack where we pass GtkWidget pointers into the
renderer and back, we still have to access these structures from the
IO and UI2 threads. This still needs to be fixed, but this is not the
patch for it.
Also, not all the X calls from the IO thread have been moved over in
this patch; just a few small ones.
http://codereview.chromium.org/67145
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14206 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Reverts r14075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14080 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we perform several X operations on the IO thread including
geometry and clipboard work. This is causing races inside Xlib and
crashing the browser.
These are the result of synchronous calls from the renderer, so we
cannot route these requests to the UI thread without risking deadlock.
Thus we introduce the UI2 thread. This thread has a second connection
to the X server and can perform X operations safely the without UI
thread.
Work remains to be done:
Since we still have the hack where we pass GtkWidget pointers into the
renderer and back, we still have to access these structures from the
IO and UI2 threads. This still needs to be fixed, but this is not the
patch for it.
Also, not all the X calls from the IO thread have been moved over in
this patch; just a few small ones.
http://codereview.chromium.org/67145
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14075 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
developer tools windows. It's supposed to route devtoools messages. Also it will notify DevToolsClient when inspected renderer crashes or when it's changes due to cross-site navigation. Currently when inspected tab is closed it will close devtools window as well.
Devtools state moved from RenderViewHost and WebContentsView to the manager.
Please look at devtools_manager.{h,cc} in the first place.
Review URL: http://codereview.chromium.org/42076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11727 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Make the repost form warning portable by abstracting the show function from
the view. Rename the Windows repost form warning and move it to browser/views.
This also fixes a comment in browser_process.h
Review URL: http://codereview.chromium.org/20066
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9242 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
variety of places and added ones in other files that were accidentally
depending on them.
Review URL: http://codereview.chromium.org/19742
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9022 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
really painful to add more types, since lots of headers include the
notification service to derive from the notification observer. This splits that
out, so much less of the project should end up including notification_types.h
---Paths modified but not in any changelist:
Review URL: http://codereview.chromium.org/19744
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9020 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
an interface and move the implementation to BrowserRenderProcessHost. This will allow me to write render view unit tests without using the actual renderer, but there are no tests yet.
Review URL: http://codereview.chromium.org/18132
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8188 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a HANDLE from CreateEvent was used for signaling, both within a process and across processes.
WaitableEvent is the cross platform replacement for this. To convert:
* HANDLE -> base::WaitableEvent*
* ScopedHandle -> scoped_ptr<base::WaitableEvent>
* CreateEvent -> new base::WaitableEvent
* SetEvent -> base::WaitableEvent::Signal
* ResetEvent -> base::WaitableEvent::Reset
* ObjectWatcher -> base::WaitableEventWatcher
* WaitForMultipleObjects -> static base::WaitableEvent::WaitMany
ObjectWatcher remains for Windows specific code. WaitableEventWatcher has an identical interface save,
* It uses WaitableEvents, not HANDLEs
* It returns void from StartWatching and StopWatcher, rather than errors. System internal errors are fatal to the address space
IMPORTANT: There are semantic differences between the different platforms. WaitableEvents on Windows are implemented on top of events. Windows events work across process and this is used mostly for modal dialog support. Windows events can be duplicated with DuplicateHandle.
On other platforms, WaitableEvent works only within a single process. In the future we shall have to replace the current uses of cross-process events with IPCs.
BEWARE: HANDLE, on Windows, is a void *. Since any pointer type coerces to void *, you can pass a WaitableEvent * where a HANDLE is expected without any build-time errors.
Review URL: http://codereview.chromium.org/16554
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8126 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
build on Friday).
TBR=darin
Review URL: http://codereview.chromium.org/15801
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7400 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=maruel
Review URL: http://codereview.chromium.org/15099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7338 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
resource_dispatcher_host.cc into their own files, into a new renderer_host directory.
Their is no functionality change in this CL.
The motivation for doing that was:
- resource_dispatcher_host.cc has become very long and more than 1/3 of the code is for the resource handler.
- having the resource handler in their own file allows having unit tests for them.
BUG=none
TEST=run all unit tests and UI tests.
Review URL: http://codereview.chromium.org/14487
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7336 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/12883
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6974 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary
=======
Implement a prototype of multiple profiles in Chrome by
utilizing the functionality of user-data-dir command line
flag that already exists.
A profile in this case is an umbrella for all user data
including cookies, history, bookmarks, settings, etc. Each
profile gives the user a separation of all these data
elements.
User Interface
==============
- Wrench > "New window in profile" menu item, with sub-menu items.
This new menu item has sub menu items for each existing
profile, for up to 9 profiles, and one more sub menu item
to launch a window in a new profile. The 9 sub-menu items
also have the accelerators like CTRL + SHIFT + 1, CTRL +
SHIFT + 2, etc. If there are more than 9 profiles, we
will also show an extra sub-menu item, "Other...".
- New Profile dialog box
This dialog box is shown to the use when (s)he clicks
Wrench > New window in profile > <New Profile>. It lets
the user specify a profile name, and also shows a checkbox
to create a desktop shortcut to launch Chrome in that profile.
- Choose profile dialog box
This dialog box lets the user select a profile from a drop
down to open a new window in. It also has an item <New Profile>
in the drop down, selecting which will show the new profile
dialog box mentioned above. CTRL + M shortcut also launches
this dialog box.
Code Organization
=================
chrome\browser\user_data_dir_profile_manager.h/.cc:
This class provides an abstraction of profiles on top of the user
data dir command line flag.
chrome\browser\views\user_data_dir_new_profile_dialog.h/.cc
New profile dialog box code.
chrome\browser\views\user_data_dir_profiles_dialog.h/.cc
Choose profile dialog box code.
Review URL: http://codereview.chromium.org/12895
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6333 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/13009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6127 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/12817
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6126 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5509 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables the dynamic detection of battery status
changes so that we can turn on/off the hi-res timer.
Review URL: http://codereview.chromium.org/10264
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5489 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
http://crbug.com/2324
Review URL: http://codereview.chromium.org/10265
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5130 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EventHandler now exists between the buffered event handler and
download event handler. This new event handler asks the
DownloadRequestManager whether the download is allowed. This may
prompt the user and then the download continues or is canceled. The
DownloadRequestManager receives the request on the IO thread, forwards
to the UI thread, makes the decision, then notifies back on the IO
thread.
BUG=3422
TEST=make sure you don't see any problems downloading content.
Review URL: http://codereview.chromium.org/7479
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3543 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
http://crbug.com/2188
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=evan
Review URL: http://codereview.chromium.org/7397
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3485 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Patch from Pawel Hajdan Jr.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2408 0039d316-1c4b-4281-b951-d872f2087c98
|