Web Inspector: Resource agent's reference to cached resources should be weak.
https://bugs.webkit.org/show_bug.cgi?id=92108

Reviewed by Pavel Feldman.

Source/WebCore:

NetworkResourcesData now stores a raw pointer to CachedResource.
CachedResource now notifies InspectorInstrumentation that it will be destroyed.
InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
Destroyed resources content is saved to NetworkResourcesData.
Changed content size variables type in NetworkResourcesData from int to size_t.

Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
       http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
(WebCore::InspectorInstrumentation::registerInstrumentingAgents):
(WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willDestroyCachedResource):
(WebCore):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::willDestroyCachedResource):
(WebCore):
(WebCore::InspectorResourceAgent::getResponseBody):
* inspector/InspectorResourceAgent.h:
(InspectorResourceAgent):
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::ResourceData):
(WebCore::NetworkResourcesData::ResourceData::setContent):
(WebCore::NetworkResourcesData::ResourceData::dataLength):
(WebCore::NetworkResourcesData::ResourceData::appendData):
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
(WebCore::NetworkResourcesData::setResourceContent):
(WebCore::NetworkResourcesData::maybeAddResourceData):
(WebCore::NetworkResourcesData::maybeDecodeDataToContent):
(WebCore::NetworkResourcesData::removeCachedResource):
(WebCore):
(WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
(WebCore::NetworkResourcesData::ensureFreeSpace):
* inspector/NetworkResourcesData.h:
(ResourceData):
(WebCore::NetworkResourcesData::ResourceData::base64Encoded):
(WebCore::NetworkResourcesData::ResourceData::cachedResource):
(NetworkResourcesData):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::deleteIfPossible):
* loader/cache/CachedResource.h:
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
(WebCore::CachedResourceLoader::garbageCollectDocumentResources):
(WebCore::CachedResourceLoader::clearPreloads):
* loader/cache/CachedResourceLoader.h:
(CachedResourceLoader):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::evict):
* testing/InternalSettings.cpp:
* testing/Internals.cpp:
(WebCore::Internals::garbageCollectDocumentResources):
(WebCore):
* testing/Internals.h:
(Internals):

LayoutTests:

* http/tests/inspector/network/cached-resource-destroyed-moved-to-storage-expected.txt: Added.
* http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html: Added.
* http/tests/inspector/network/cached-resource-destroyed-too-big-discarded-expected.txt: Added.
* http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add *explicit* keyword to constructors in WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=92238

Reviewed by Kentaro Hara.

As a step to let *explicit* keyword add to constructors which have a parameter,
*explicit* keyword is added to Source/WebCore/platform in order to avoid implicit
type conversion.

Some files in platform directory can't use explicit keyword because of build breaks.

No new tests. Covered by existing tests.

* platform/AutodrainedPool.h:
(AutodrainedPool):
* platform/ContentType.h:
(ContentType):
* platform/ContextMenu.h:
(ContextMenu):
* platform/ContextMenuItem.h:
(ContextMenuItem):
* platform/Cursor.h:
(WebCore::SharedCursor::SharedCursor):
(Cursor):
* platform/KURL.h:
(WebCore::KURL::KURL):
(KURL):
* platform/KURLGooglePrivate.h:
(KURLGooglePrivate):
* platform/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::PODRedBlackTree):
* platform/Pasteboard.h:
(Pasteboard):
* platform/PlatformEvent.h:
(WebCore::PlatformEvent::PlatformEvent):
* platform/PlatformKeyboardEvent.h:
(PlatformKeyboardEvent):
* platform/PlatformMouseEvent.h:
(PlatformMouseEvent):
* platform/PlatformPasteboard.h:
(PlatformPasteboard):
* platform/PlatformTouchEvent.h:
(PlatformTouchEvent):
* platform/PlatformWheelEvent.h:
(PlatformWheelEvent):
* platform/RunLoop.h:
(TimerBase):
* platform/ScrollAnimator.h:
(ScrollAnimator):
* platform/ScrollAnimatorNone.h:
(ScrollAnimatorNone):
* platform/SharedBuffer.h:
(SharedBuffer):
* platform/WheelFlingPlatformGestureCurve.h:
(WheelFlingPlatformGestureCurve):
* platform/Widget.h:
(Widget):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Skip the failing tests.

* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Fix build break on Apple win bot after r123711
https://bugs.webkit.org/show_bug.cgi?id=92354

Reviewed by Adam Barth.

Missing return value.

* WebFrame.cpp:
(WebFrame::pageNumberForElementById):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r123715.
http://trac.webkit.org/changeset/123715
https://bugs.webkit.org/show_bug.cgi?id=92356

Breaks compilation on multiple platforms (Requested by vsevik
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-26

Source/WebCore:

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::getResponseBody):
* inspector/InspectorResourceAgent.h:
(InspectorResourceAgent):
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::ResourceData):
(WebCore::NetworkResourcesData::ResourceData::setContent):
(WebCore::NetworkResourcesData::ResourceData::dataLength):
(WebCore::NetworkResourcesData::ResourceData::appendData):
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
(WebCore::NetworkResourcesData::setResourceContent):
(WebCore::NetworkResourcesData::maybeAddResourceData):
(WebCore::NetworkResourcesData::maybeDecodeDataToContent):
(WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
(WebCore::NetworkResourcesData::ensureFreeSpace):
* inspector/NetworkResourcesData.h:
(ResourceData):
(WebCore::NetworkResourcesData::ResourceData::cachedResource):
(NetworkResourcesData):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::deleteIfPossible):
* loader/cache/CachedResource.h:
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
(WebCore::CachedResourceLoader::clearPreloads):
* loader/cache/CachedResourceLoader.h:
(CachedResourceLoader):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::evict):
* testing/InternalSettings.cpp:
* testing/Internals.cpp:
* testing/Internals.h:
(Internals):

LayoutTests:

* http/tests/inspector/network/cached-resource-destroyed-moved-to-storage-expected.txt: Removed.
* http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html: Removed.
* http/tests/inspector/network/cached-resource-destroyed-too-big-discarded-expected.txt: Removed.
* http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123719 268f45cc-cd09-0410-ab3c-d52691b4dbfc