REGRESSION (r163914): Application cache cannot be used in main frame
https://bugs.webkit.org/show_bug.cgi?id=131263
<rdar://problem/16532063>

Reviewed by Sam Weinig.

* loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
Don't check main frame origin when loading into main frame, it's not a 3rd party
subframe, and the URL is unrelated to the page we are loading now.

* loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest):
Removed the same incorrect check that was duplicated here. The only caller already
checks isApplicationCacheBlockedForRequest().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Frequent PluginProcess crashes at libsqlite3.dylib: openDatabase
https://bugs.webkit.org/show_bug.cgi?id=131264
<rdar://problem/14165329>

Reviewed by Sam Weinig.

Don't create NSURLCache until after having called setenv.

* PluginProcess/PluginProcess.h: Added m_nsurlCacheDirectory.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess): Compute NSURL cache path
on our own. This does not match CFNetwork's result in most cases, but should work
equally well.
(WebKit::PluginProcess::initializeSandbox): Create a cache with our path and best
guess for capacity.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: remove unused metrics and commands from the Timeline agent
https://bugs.webkit.org/show_bug.cgi?id=131184

Reviewed by Timothy Hatcher.

Source/WebCore:

This patch removes several instrumentation hooks that are not being
used by the frontend in any way. Most of them are not hooked up to
produce any data, so they just clutter up InspectorClient and the agent.

* WebCore.exp.in: Remove didBeginFrame/didCancelFrame.
* inspector/InspectorClient.h: Remove client methods that are never overridden.
(WebCore::InspectorClient::canMonitorMainThread): Deleted.
(WebCore::InspectorClient::supportsFrameInstrumentation): Deleted.
(WebCore::InspectorClient::getAllocatedObjects): Deleted.
(WebCore::InspectorClient::dumpUncountedAllocatedObjects): Deleted.

* inspector/InspectorController.cpp: Remove unused instrumentation.
(WebCore::InspectorController::didBeginFrame): Deleted.
(WebCore::InspectorController::didCancelFrame): Deleted.
(WebCore::InspectorController::didComposite): Deleted.
(WebCore::InspectorController::wilComposite): Deleted.
* inspector/InspectorController.h:

* inspector/InspectorTimelineAgent.cpp: Remove the backend's BeginFrame enum
value, but keep it in the protocol for when it is reimplemented. Remove
management of the current frame record, and simplify some code.
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::clearRecordStack):
(WebCore::InspectorTimelineAgent::canMonitorMainThread): Deleted.
(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation): Deleted.
(WebCore::InspectorTimelineAgent::didBeginFrame): Deleted.
(WebCore::InspectorTimelineAgent::didCancelFrame): Deleted.
(WebCore::InspectorTimelineAgent::didComposite): Deleted.
(WebCore::InspectorTimelineAgent::wilComposite): Deleted.
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline): Deleted. Undo telescoping.
(WebCore::usedHeapSize): Deleted.
(WebCore::InspectorTimelineAgent::commitFrameRecord): Deleted.
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
* inspector/protocol/Timeline.json:

* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Remove
instrumentation hook for beginFrame. This is the only backend that implements it.
(WebCore::CompositingCoordinator::syncDisplayState):

* testing/Internals.cpp: Remove crufty test methods that aren't used.
(WebCore::Internals::emitInspectorDidBeginFrame): Deleted.
(WebCore::Internals::emitInspectorDidCancelFrame): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebInspectorUI:

Remove the Memory domain from old protocol versions. Remove enum values
BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
Remove miscellaneous Timeline commands that no longer exist and were never used.

* UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbols.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (NetworkProcess): Subresources fail to load from AppCache
https://bugs.webkit.org/show_bug.cgi?id=131262
<rdar://problem/15370653>

Reviewed by Sam Weinig.

Source/WebCore:

Exported ApplicationCacheHost::maybeLoadResource. Changed it to take a const
reference to ResourceRequest, as appropriate for WebResourceLoadScheduler.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
* loader/appcache/ApplicationCacheHost.h:

Source/WebKit2:

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Check application cache,
as done in ResourceLoader::start() for in-process loads.


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