| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL:
- Removes weird OnFaviconAvailable() behavior if gfx::Image is empty.
- Merges: FaviconDriver::SetActiveFaviconValidity()
FaviconDriver::SetActiveFaviconURL()
FaviconDriver::SetActiveFaviconImage()
- Merges FaviconDriverObserver::OnFaviconAvailable() and
FaviconDriverObserver::OnFaviconUpdated().
BUG=542057
Review URL: https://codereview.chromium.org/1407353012
Cr-Commit-Position: refs/heads/master@{#361132}
|
|
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1427843007
Cr-Commit-Position: refs/heads/master@{#359849}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the Icon NTP is enabled on Android, FaviconDriverImpl creates two identical
FaviconHandlers: |FaviconDriver::touch_icon_handler_| and
|FaviconDriver::large_icon_handler_|.
This CL removes |FaviconDriver::large_icon_handler_| because it is redundant.
BUG=None
Review URL: https://codereview.chromium.org/1415543002
Cr-Commit-Position: refs/heads/master@{#356306}
|
|
|
|
|
|
|
|
|
|
| |
touch & non-touch favicons
BUG=542057
Review URL: https://codereview.chromium.org/1412033002
Cr-Commit-Position: refs/heads/master@{#356062}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the remaining components as commented-out lines so it's easier to see what remains.
Some of the existing entries were missing the * so only the exact target was being checked, excluding unit test and test_support targets. This patch addresses those problems and adds the stars.
BUG=
Review URL: https://codereview.chromium.org/1422803002
Cr-Commit-Position: refs/heads/master@{#355936}
|
|
|
|
|
|
|
|
|
|
|
| |
changes the favicon
BUG=544560
TEST=FaviconHandlerTest.OnFaviconAvailableNotificationSentAfterIconURLChange
Review URL: https://codereview.chromium.org/1413843002
Cr-Commit-Position: refs/heads/master@{#355624}
|
|
|
|
|
|
|
|
| |
BUG=542057
Review URL: https://codereview.chromium.org/1412003002
Cr-Commit-Position: refs/heads/master@{#355371}
|
|
|
|
|
|
|
|
|
|
| |
share code
BUG=542057
Review URL: https://codereview.chromium.org/1401053002
Cr-Commit-Position: refs/heads/master@{#354520}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the GetActiveFaviconValidity() check in
FaviconHandler::OnFaviconDataForInitialURLFromFaviconService().
- Calling NotifyFaviconAvailable() on non-Android is inexpensive.
- GetActiveFaviconValidity() is only true during back and forward navigations.
- Android already ignores GetActiveFaviconValidity()
Android Java solely uses the notifications fired from NotifyFaviconAvailable()
to determine a page's favicon. It needs to get notifications to update the
page's favicon as a result of back and forward notifications
BUG=517089
Review URL: https://codereview.chromium.org/1399913002
Cr-Commit-Position: refs/heads/master@{#354026}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The combination of:
- The existence of |FaviconHandler::history_results_|
- The checking against duplicate calls to FaviconHandler::OnUpdateFaviconURL()
introduced in https://codereview.chromium.org/1295733002
makes the GetActiveFaviconValidity() / GetActiveFaviconURL() check in
FaviconHandler::ProcessCurrentUrl() unnecessary
BUG=517089
Review URL: https://codereview.chromium.org/1396133003
Cr-Commit-Position: refs/heads/master@{#353817}
|
|
|
|
|
|
|
|
|
|
|
| |
content_favicon_driver_unittest.cc relies on SkBitmap, so explicitly state that.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/1392373005
Cr-Commit-Position: refs/heads/master@{#353670}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The renderer sends multiple identical favicon URL updates for a page if the
page starts and stops loading multiple times. This CL makes FaviconHandler
ignore the duplicate updates.
BUG=517089
TEST=FaviconHandlerTest.UpdateSameIconURLs
Review URL: https://codereview.chromium.org/1295733002
Cr-Commit-Position: refs/heads/master@{#353099}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove FaviconHandler::PageChangedSinceFaviconWasRequested() since both
- FaviconHandler::url_ changes (FaviconHandler::FetchFavicon())
- The NavigationController's last committed URL changes
(NavigationControllerImpl::RendererDidNavigate())
only as a result of NavigatorImpl::DidNavigate()
BUG=517089
TEST=None
Review URL: https://codereview.chromium.org/1272413002
Cr-Commit-Position: refs/heads/master@{#351113}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing all targets from components so i can add one at a time and check that it works correctly.
Adding components/bookmarks.
components/bookmarks is building correctly but it needs ios/web gn files that are not written yet.
BUG=459705
Review URL: https://codereview.chromium.org/1310513006
Cr-Commit-Position: refs/heads/master@{#350148}
|
|
|
|
|
|
|
|
| |
BUG=393155
Review URL: https://codereview.chromium.org/1310633007
Cr-Commit-Position: refs/heads/master@{#347704}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The favicon component is layered and //components/favicon/core must not
depends on //content. Fix the layering violation by using injection to
pass the base::TaskRunner to use via LargeIconServiceFactory.
The bad dependency was introduced in http://crrev.com/1122103003.
BUG=467712,429756,459705
Review URL: https://codereview.chromium.org/1315953006
Cr-Commit-Position: refs/heads/master@{#347611}
|
|
|
|
|
|
|
|
|
| |
BUG=517089
TEST=None
Review URL: https://codereview.chromium.org/1309113002
Cr-Commit-Position: refs/heads/master@{#345773}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds about 600 more tests.
Tests added: invalidation, navigation interception, feedback, search, sync driver, enhanced bookmarks, search engines, sessions, data reduction proxy, favicon, constrained window, autofill, metrics, keyed service, bookmarks, suggestions, audio modem
I renamed ui_zoom to "zoom" according to GN style. I tweaked some jingle public dependencies so the right include directories get forwarded along with the corresponding uses in the headers.
Reland of http://crrev.com/1301743003
TBR=dpranke@chromium.org
Review URL: https://codereview.chromium.org/1304163005
Cr-Commit-Position: refs/heads/master@{#344874}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1301743003/ )
Reason for revert:
This has broken the GN builds. Windows is failing compilation and Mac is failing generate_build_files.
http://build.chromium.org/p/chromium.mac/builders/Mac%20GN/builds/15185/steps/generate_build_files/logs/stdio
http://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN/builds/5562/steps/compile/logs/stdio
Original issue's description:
> Sync more GN unit tests with GYP.
>
> This adds about 600 more tests.
>
> Tests added: invalidation, navigation interception, feedback, search, sync driver, enhanced bookmarks, search engines, sessions, data reduction proxy, favicon, constrained window, autofill, metrics, keyed service, bookmarks, suggestions, audio modem
>
> I renamed ui_zoom to "zoom" according to GN style. I tweaked some jingle public dependencies so the right include directories get forwarded along with the corresponding uses in the headers.
>
> BUG=
> R=dpranke@chromium.org
>
> Committed: https://chromium.googlesource.com/chromium/src/+/a7cde4bd39dc814952d885e54eee33ffdac1a881
TBR=dpranke@chromium.org,thestig@chromium.org,msramek@chromium.org,brettw@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1306153002
Cr-Commit-Position: refs/heads/master@{#344760}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds about 600 more tests.
Tests added: invalidation, navigation interception, feedback, search, sync driver, enhanced bookmarks, search engines, sessions, data reduction proxy, favicon, constrained window, autofill, metrics, keyed service, bookmarks, suggestions, audio modem
I renamed ui_zoom to "zoom" according to GN style. I tweaked some jingle public dependencies so the right include directories get forwarded along with the corresponding uses in the headers.
BUG=
R=dpranke@chromium.org
Review URL: https://codereview.chromium.org/1301743003 .
Cr-Commit-Position: refs/heads/master@{#344577}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
committed navigation entry
This CL is preparation for https://codereview.chromium.org/1272413002/
BUG=517089, 520759
TEST=None
Review URL: https://codereview.chromium.org/1287853002
Cr-Commit-Position: refs/heads/master@{#343399}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add utility free functions to //components/bookmarks/managed and
//components/favicon/core to share common code between both
BookmarkClient implementations (desktop and iOS).
BUG=514208
Review URL: https://codereview.chromium.org/1262123002
Cr-Commit-Position: refs/heads/master@{#340912}
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces it with base::StartsWith and the appropriate case flag. Since the existing version only ever did case-insensitive tests in ASCII, there should be no behavior change.
BUG=506255
TBR=jam
Review URL: https://codereview.chromium.org/1242023005
Cr-Commit-Position: refs/heads/master@{#339175}
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the bug crbug.com/273710 it can lead to security issues.
BUG=273710
TEST=components_unittests
R=nasko@chromium.org,sky@chromium.org
Review URL: https://codereview.chromium.org/1211993005
Cr-Commit-Position: refs/heads/master@{#337054}
|
|
|
|
|
|
|
|
|
| |
NOPRESUBMIT=true
(no presubmit due to removing base:: from a ScopedAllowIO)
Review URL: https://codereview.chromium.org/1172183002
Cr-Commit-Position: refs/heads/master@{#334108}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change favicon::FaviconService to own its client favicon::FaviconClient.
Previously ChromeFaviconClient was a KeyedService but this introduced
artificial complexity and could lead to incorrect use of the client
outside of favicon::FaviconService by making it easily accessible.
BUG=None
Review URL: https://codereview.chromium.org/1178503002
Cr-Commit-Position: refs/heads/master@{#333914}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is everything but the chrome directory
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
TBR=zelidrag@chromium.org (chromeos)
TBR=keybuk@chromium.org (device/bluetooth)
Review URL: https://codereview.chromium.org/1162943002
Cr-Commit-Position: refs/heads/master@{#332626}
|
|
|
|
|
|
|
|
|
|
|
|
| |
GetLargestRawFaviconForPageURL rather than the expected minimum size.
This caused smaller icons to be returned rather than large icons when the minimum size was 0, as used on Android.
BUG=482815
Review URL: https://codereview.chromium.org/1145313008
Cr-Commit-Position: refs/heads/master@{#331831}
|
|
|
|
|
|
|
|
|
|
|
| |
Using https://crrev.com/15679025 as template, but with some complication
involving base::CancelableTaskTracker.
BUG=467712
Review URL: https://codereview.chromium.org/1122103003
Cr-Commit-Position: refs/heads/master@{#329248}
|
|
|
|
|
|
|
|
| |
BUG=467712
Review URL: https://codereview.chromium.org/1124803005
Cr-Commit-Position: refs/heads/master@{#328933}
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DCHECK in LargeIconService::GetLargeIconOrFallbackStyle() should be
DCHECK_LE(), not DCHECK_GE(). Simply removing it since I'm going to TBR
it. Will put back in different CL.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/1130093002
Cr-Commit-Position: refs/heads/master@{#328707}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flexibility.
For LargeIconService::GetLargeIconOrFallbackStyle(), we add a new
|min_source_size_in_pixel|, which alongside |desired_size_in_pixel|
enables the following:
(1) mssip = 96, dsip = 96: Finds icons with size >= 96, resize to 96.
(2) mssip = 48, dsip = 96: Finds icons with size >= 48, resize to 96.
(3) mssip = 48, dsip = 0: Finds icons with size >= 48, no resizing.
Note that (1) is the original use case, (3) is for Android, (2) is
a new flexibility to facilitate a potential TODO. There's also an
oddball case mssip = 96, dsip = 48 that's harmless.
BUG=467712
Review URL: https://codereview.chromium.org/1124743002
Cr-Commit-Position: refs/heads/master@{#328572}
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/1107283006
Cr-Commit-Position: refs/heads/master@{#327995}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL prevents FaviconHandler from stopping iteration over a page's icon URLs
if a download for one of the icon URLs previously returned a 404. In particular,
this CL makes FaviconHandler::ScheduleDownload() call the download callback
when FaviconDriver::StartDownload() does not start a download. This is important
because the download callback is responsible for initiating the fetch for the
data for the next favicon candidate.
Sample scenario:
Page HTML snippet:
<link rel="icon" href="www.google.com/nothingtoseehere.png" />
<link rel="icon" href="www.google.com/favicon.ico" />
A previous download for "www.google.com/nothingtoseehere.png" returned a 404
(e.g. the user previously visited a different page which also makes use of
www.google.com/nothingtoseehere.png)
This CL makes FaviconHandler fetch data for "www.google.com/favicon.ico"
despite the download for the first favicon candidate
("www.google.com/nothingtoseehere.png") having previously failed.
BUG=474429
TEST=FaviconHandlerTest.MultipleFavicons404,
FaviconHandlerTest.MultipleFaviconsAll404
Review URL: https://codereview.chromium.org/1079523005
Cr-Commit-Position: refs/heads/master@{#327339}
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
Review URL: https://codereview.chromium.org/1081003002
Cr-Commit-Position: refs/heads/master@{#327284}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For chrome://large-icon, if no large icon is found then we get the small
favicon to extract the dominant color for fallback background. If the
favicon is missing we're supposed to have a gray background. This behavior
was broken and this CL fixes it.
BUG=467712
Review URL: https://codereview.chromium.org/1108833002
Cr-Commit-Position: refs/heads/master@{#327119}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
desktop and Android to a new large_icon_service.
This is required since the Android implementation of the icon-based NTP will rely on custom Java code to render the fallback. As a result we want to share the logic needed to retrieve large icons and to compute the fallback style without needing them to go through the full-featured chrome://large-icon that performs the rendering of fallback icons. The Java code will hook directly into the large_icon_service.
This CL also fixes a bug, making sure only non-square icons can be returned as large icons.
Besides this, this CL doesn't change the behavior but will make it possible to add the large icon selection logic to large_icon_service where it can be shared with the Android code.
BUG=467712
Review URL: https://codereview.chromium.org/1092873002
Cr-Commit-Position: refs/heads/master@{#326325}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL:
- Removes the |is_active_favicon| parameter from NotifyFaviconAvailable() since
its value can be computed from member variables
- Refactors FaviconHandler::OnDidDownloadFavicon() to exit early if the URL for
which the favicon was downloaded is unexpected
- Changes FaviconHandler::FetchFavicon() to reset as much state as possible.
- Changes the signature of FaviconHandler::ScheduleDownload() to void because
its return value is never used
- Removes unused member variable
FaviconHandler::waiting_for_favicon_service_data_
BUG=None
TEST=None
Review URL: https://codereview.chromium.org/1084473002
Cr-Commit-Position: refs/heads/master@{#326042}
|
|
|
|
|
|
|
|
|
|
| |
Adds remaining WebStateObserver methods to WebStateObserverBridge and
updates CRWWebStateObserver protocol methods to follow Cocoa style
guidelines for naming delegate methods.
Review URL: https://codereview.chromium.org/1079693002
Cr-Commit-Position: refs/heads/master@{#325277}
|
|
|
|
|
|
|
|
|
|
|
|
| |
//chrome/browser/favicon now only hold factories or //chrome specific
helper code and componentization is over. Remove temporary OWNERS rights
for sdefresne@ and remove DEPS exceptions.
BUG=359513
Review URL: https://codereview.chromium.org/1079473003
Cr-Commit-Position: refs/heads/master@{#325017}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract out of FaviconHandlerTest the bits that tested FaviconTabHelper
and remove dependency on //chrome and //content from FaviconHandlerTest.
Move FaviconHandlerTest and ContentFaviconDriverTest to //components.
BUG=359513
Review URL: https://codereview.chromium.org/1066943002
Cr-Commit-Position: refs/heads/master@{#324614}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split FaviconTabHelper into three classes depending on what can be
shared with iOS (FaviconDriverImpl), what only depends on //content
(ContentFaviconDriver) and what depends on //chrome (FaviconTabHelper).
FaviconTabHelper still exists to provide an easier factory (as
ContentFaviconDriver cannot access KeyedService factories defined in
//chrome) as FaviconTabHelper::CreateForWebContents() is called from
multiple locations in //chrome code and to provide an implementation for
FaviconTabHelper::ShouldDisplayFavicon (this method will be turned into
a free function in a followup CL as it only depends on WebContents
public interface, not on ContentFaviconDriver).
Introduce WebFaviconDriver, an iOS implementation of FaviconDriver that
uses FaviconDriverImpl to share as much code as possible with the
ContentFaviconDriver.
BUG=370877, 472117
Review URL: https://codereview.chromium.org/1064823002
Cr-Commit-Position: refs/heads/master@{#324430}
|
|
|
|
|
|
|
|
|
|
|
| |
ThumbnailDatabase::CloneIconMappings()
BUG=None
TEST=None
Review URL: https://codereview.chromium.org/1055173003
Cr-Commit-Position: refs/heads/master@{#324267}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change notification NOTIFICATION_FAVICON_UPDATED into an event sent to
FaviconDriverObserver and change client code to be observers instead.
Pass the FaviconDriver to OnFaviconUpdated() event so that listeners can
find the content::WebContents corresponding to the event (as some of the
client code did listen to multiple content::WebContents).
BUG=362072
Review URL: https://codereview.chromium.org/1059743003
Cr-Commit-Position: refs/heads/master@{#324201}
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to share code between ContentFaviconDriver and WebFaviconDriver
add a GetActiveTitle method to FaviconDriver and refactor SaveFavicon()
to use it.
BUG=370877, 472117
Review URL: https://codereview.chromium.org/1062493002
Cr-Commit-Position: refs/heads/master@{#323753}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation of ContentFaviconDriver & WebFaviconDriver, move setters
to FaviconDriver (as pure virtual methods) and reorder the method to
have the setter close to the corresponding getter.
Remove unnecessary "const" qualifier on return value of virtual methods
and change signature of setters to pass the value by const reference
instead of copy.
Remove "virtual" qualifier on ShouldSaveFavicon() it is never overridden.
Make FaviconDriverObserver destructor public so that they can be used in
scoped_ptr<> and make them uncopyable (copying virtual classes is prone
to slicing).
BUG=370877,472117
Review URL: https://codereview.chromium.org/1058153003
Cr-Commit-Position: refs/heads/master@{#323733}
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation of the creation of WebFaviconDriver, introduce helper functions
to convert from web::FaviconURL to favicon::FaviconURL mirroring the functions
to convert from content::FaviconURL to favicon::FaviconURL.
BUG=472117
Review URL: https://codereview.chromium.org/1050403002
Cr-Commit-Position: refs/heads/master@{#323488}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only FaviconService should depends directly on FaviconClient as it is an
implementation detail of FaviconService. Move the IsBookmarked method on
FaviconClient to FaviconDriver and remove FaviconClient parameter of the
FaviconHandler constructor that is no longer used.
Remove FaviconClient dependency in FaviconTabHelper since it was only
used to pass it to FaviconHandler.
Remove dependency of FaviconClientFactory on BookmarkModelFactory since
it is no longer using the BookmarkModel.
BUG=370877
Review URL: https://codereview.chromium.org/1046803006
Cr-Commit-Position: refs/heads/master@{#323204}
|
|
|
|
|
|
|
|
|
|
|
|
| |
All code into //components/favicon should be in the favicon namespace so
move those two classes there.
BUG=455063
TBR=samarth
Review URL: https://codereview.chromium.org/1042283002
Cr-Commit-Position: refs/heads/master@{#323199}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
namespace (patchset #1 id:1 of https://codereview.chromium.org/1045823004/)
Reason for revert:
Not a culprit. Bring it back.
The layout tests continued to fail after reverting: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.8%20(retina)/builds/27707
Original issue's description:
> Revert of Move //components/favicon code into the favicon namespace (patchset #4 id:80001 of https://codereview.chromium.org/1028503004/)
>
> Reason for revert:
> Blink gardening. Speculative revert for Blink layout test failures in WebKit Mac10.8 (retina):
> https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.8%20%28retina%29/builds/27696
> chromium range: chromium revision 322799:322813
> https://chromium.googlesource.com/chromium/src/+log/494aec68691f10626b226892396d442503dd9af7%5E..e240ab4e9c5841de8cb65226a80008600416c365?pretty=fuller
>
> Original issue's description:
> > Move //components/favicon code into the favicon namespace
> >
> > Move all classes defined in //components/favicon into the favicon namespace
> > and update all client code forward-declaration and usage.
> >
> > Rename FaviconTabHelperObserver to FaviconDriverObserver as FaviconDriver is
> > the name of the base interface (and iOS wants to use that observer but will
> > not be able to use FaviconTabHelper).
> >
> > BUG=359513
> >
> > Committed: https://crrev.com/494aec68691f10626b226892396d442503dd9af7
> > Cr-Commit-Position: refs/heads/master@{#322799}
>
> TBR=sky@chromium.org,sdefresne@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=359513
>
> Committed: https://crrev.com/c7c707f533da81e7c7d5c2201426ae60e4a0daf7
> Cr-Commit-Position: refs/heads/master@{#322969}
TBR=sky@chromium.org,sdefresne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=359513
Review URL: https://codereview.chromium.org/1043743003
Cr-Commit-Position: refs/heads/master@{#322980}
|