Have NetworkProcess do the actual loading of subresources.
https://bugs.webkit.org/show_bug.cgi?id=101640

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (No change in behavior in any configuration we test.)

* WebCore.exp.in:
* loader/ResourceBuffer.h: Virtualize a few methods for ports to override.

Source/WebKit2:

This adds actual loading of subresources in the NetworkProcess.

Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.

Many FIXMEs point the path towards much better behavior.

Project file stuff:
* WebKit2.xcodeproj/project.pbxproj:

Add a new Logging channel for scheduling so the one for loading can be separate:
* Platform/Logging.cpp:
* Platform/Logging.h:

Add an enhancement FIXME:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::remove):

NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::NetworkRequest):
(WebKit::NetworkRequest::~NetworkRequest):
(WebKit::NetworkRequest::start):
(WebKit::requestsToStopMutex):
(WebKit::requestsToStop):
(WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
(WebKit::NetworkRequest::performStops):
(WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
(WebKit::NetworkRequest::didReceiveResponse):
(WebKit::NetworkRequest::didReceiveData):
(WebKit::NetworkRequest::didFinishLoading):
(WebKit::NetworkRequest::didFail):
* NetworkProcess/NetworkRequest.h:

Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
(WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:
(NetworkResourceLoadScheduler):

Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
* Shared/ShareableResource.cpp: Added.
(WebKit::ShareableResource::Handle::Handle):
(WebKit::ShareableResource::Handle::encode):
(WebKit::ShareableResource::Handle::decode):
(WebKit::ShareableResource::create):
(WebKit::ShareableResource::ShareableResource):
(WebKit::ShareableResource::~ShareableResource):
(WebKit::ShareableResource::createHandle):
(WebKit::ShareableResource::data):
(WebKit::ShareableResource::size):
* Shared/ShareableResource.h:
(WebKit::ShareableResource::Handle::isNull):
(WebKit::ShareableResource::Handle::size):

Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
* Shared/WebResourceBuffer.cpp:
(WebKit::WebResourceBuffer::WebResourceBuffer):
(WebKit::WebResourceBuffer::~WebResourceBuffer):
(WebKit::WebResourceBuffer::data):
(WebKit::WebResourceBuffer::size):
* Shared/WebResourceBuffer.h:
(WebResourceBuffer):
(WebKit::WebResourceBuffer::create):

Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveResponse):
(WebKit::NetworkProcessConnection::didReceiveResource):
(WebKit::NetworkProcessConnection::didFailResourceLoad):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:

Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
(WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
(WebKit::WebResourceLoadScheduler::remove): Ditto.
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
(WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
(WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
(WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
(WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
* WebProcess/Network/WebResourceLoadScheduler.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HeapStatistics::s_pauseTimeStarts and s_pauseTimeEnds should be Vectors
https://bugs.webkit.org/show_bug.cgi?id=101651

Reviewed by Andreas Kling.

HeapStatistics uses Deques when Vectors would work just as good.

* heap/HeapStatistics.cpp:
* heap/HeapStatistics.h:
(HeapStatistics):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening - rebaseline a couple of tests for lion.

* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/basic-textareas-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add proper support for fullscreen API to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=101615

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::enterFullScreen):
* UIProcess/API/efl/ewk_security_origin.cpp:
(EwkSecurityOrigin::EwkSecurityOrigin):
* UIProcess/API/efl/ewk_security_origin_private.h:
(EwkSecurityOrigin::create): Add factory method to construct a
EwkSecurityOrigin from a KURL.
(EwkSecurityOrigin):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_fullscreen_exit): Add public API function to exit
fullscreen mode.
* UIProcess/API/efl/ewk_view.h: Add security origin parameter
to fullscreen_enter smart function since this information is
useful to the user agent.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(fullScreenCallback):
(fullScreenExitCallback):
(TEST_F):

Tools:

Implement fullscreen API support in MiniBrowser. When entering
fullscreen a popup is shown to notify the user that something
is displayed in fullscreen and to advertise that the Escape
key can be used to exit fullscreen. This behavior is according
to specification.

* MiniBrowser/efl/main.c:
(on_key_down):
(on_fullscreen_accept):
(on_fullscreen_deny):
(on_fullscreen_enter):
(on_fullscreen_exit):
(window_create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Some more gardening after r133898.

* platform/efl/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose snapshots in platform/leveldb wrapper API
https://bugs.webkit.org/show_bug.cgi?id=100786

Reviewed by Tony Chang.

Source/WebCore:

Expose leveldb "snapshots" in the LevelDB API. A snapshot lets you observe the database
as it was when the snapshot was taken. This can be used to implement parallel transactions,
e.g. where a read transaction won't see updates made by a later write transaction.

Tests: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.Transaction*'

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBSnapshot::LevelDBSnapshot): New (but for now internal-only) wrapper type.
(WebCore):
(WebCore::LevelDBSnapshot::~LevelDBSnapshot): Release the leveldb::Snapshot.
(WebCore::LevelDBDatabase::get): Optional snapshot argument, for use by transactions.
(WebCore::LevelDBDatabase::createIterator): Ditto.
* platform/leveldb/LevelDBDatabase.h:
(leveldb):
(WebCore):
(LevelDBSnapshot):
(LevelDBDatabase):
* platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::LevelDBTransaction): Initialize a snapshot.
(WebCore::LevelDBTransaction::get):
(WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
* platform/leveldb/LevelDBTransaction.h:
(LevelDBTransaction):

Source/WebKit/chromium:

Add unit tests for transactions/snapshots.

* tests/LevelDBTest.cpp:
(WebCore::encodeString): Don't append to pre-sized vector.
(WebCore::TEST):
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Disable cookies on file://
https://bugs.webkit.org/show_bug.cgi?id=101646

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-08
Reviewed by Rob Buis.

Disabling cookies on file and local in the browser app.

PR 239779

Tested by trying to set and retrieve cookies on WI while browsing
files on the file scheme.

* platform/blackberry/CookieManager.cpp:
(WebCore):
(WebCore::shouldIgnoreScheme):
(WebCore::CookieManager::getRawCookies):
(WebCore::CookieManager::checkAndTreatCookie):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
       [Chromium] Unreviewed gardening. Added missing *-expected.txt following rebaselines.

* platform/chromium-mac/fast/css/text-overflow-input-expected.txt: Added.
* platform/chromium-mac/fast/forms/input-readonly-dimmed-expected.txt: Added.
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[JSC] HTML extensions to String.prototype should escape " as &quot; in argument values
https://bugs.webkit.org/show_bug.cgi?id=90667

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-08
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Escape quotation mark as &quot; in argument values to:
- String.prototype.anchor(name)
- String.prototype.fontcolor(color)
- String.prototype.fontsize(size)
- String.prototype.link(href)

This behavior matches Chromium/V8 and Firefox/Spidermonkey
implementations and is requited by:
http://mathias.html5.org/specs/javascript/#escapeattributevalue

This also fixes a potential security risk (XSS vector).

* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):

LayoutTests:

Add layout test coverage for the following String.prototype methods:
- String.prototype.anchor(name)
- String.prototype.fontcolor(color)
- String.prototype.fontsize(size)
- String.prototype.link(href)

Those tests also check that the quotation mark is correctly escaped
in argument values to prevent potential exploits.

* fast/js/string-anchor-expected.txt: Added.
* fast/js/string-anchor.html: Added.
* fast/js/string-fontcolor-expected.txt: Added.
* fast/js/string-fontcolor.html: Added.
* fast/js/string-fontsize-expected.txt: Added.
* fast/js/string-fontsize.html: Added.
* fast/js/string-link-expected.txt: Added.
* fast/js/string-link.html: Added.
* platform/chromium/TestExpectations: Skip new tests for chromium port due
to http://code.google.com/p/v8/issues/detail?id=2218

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Unused parameters on LayerTreeRenderer.cpp
https://bugs.webkit.org/show_bug.cgi?id=101653

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-08
Reviewed by Noam Rosenthal.

Because the 'tileID' parameter is not used now,
comment out it to fix build warning -Wunused-parameter

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Polygon with horizontal bottom edges returns incorrect segments
https://bugs.webkit.org/show_bug.cgi?id=100874

Patch by Hans Muller <hmuller@adobe.com> on 2012-11-08
Reviewed by Dirk Schulze.

Source/WebCore:

Revised the way that computeXIntersections() handles intersections with horizotal polygon edges.
Deciding if a vertex intersection corresponds to a polygon "edge crossing", i.e. a change from inside
to outside or outside to inside, now depends on which side of the horizontal line the function's
y parameter corresponds to. If the y corresponds to the top of the line, then isaMinY the parameter
is true, and an intersection with a horizontal edge is only considered to be an edge crossing if
if the inside of the polygon is just below the horizontal edge.  When isMinY is false then the inside
of the polygon must be just above the horizontal edge.

Tests: fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-003.html
       fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-004.html

* rendering/ExclusionPolygon.cpp:
(WebCore::getVertexIntersectionVertices): Corrected two cases where the next/previous vertex was determined incorrectly.
(WebCore::ExclusionPolygon::computeXIntersections): Added a bool isMinY parameter which specifies if the y parameter corresponds to the top or bottom a horizontal line.
(WebCore::ExclusionPolygon::getExcludedIntervals): Added the new computeXIntersections() parameter.
(WebCore::ExclusionPolygon::getIncludedIntervals): Ditto.
* rendering/ExclusionPolygon.h:
(WebCore::ExclusionPolygonEdge::previousEdge): Corrected the previousEdge() function.

LayoutTests:

Added two additional tests for rectilinear polygons, where the tops and bottoms
of lines intersect the polygons' horizontal edges. More tests of this kind will
be needed when exclusion layout supports polygons that break horizontal lines up
into more than one segment.

* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-003-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-003.html: Added.
* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-004-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-004.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DocumentLoader: Shrink-to-fit the ResourceResponse vector after loading completes.
<http://webkit.org/b/101657>

Reviewed by Anders Carlsson.

Shrink DocumentLoader::m_responses to exact size when we stop adding responses to it,
as we know it won't grow after that.

520kB progression on Membuster3.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopRecordingResponses):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG constant folding and CFG simplification should be smart enough to know that if a logical op's operand is proven to have a non-masquerading structure then it always evaluates to true
https://bugs.webkit.org/show_bug.cgi?id=101511

Reviewed by Oliver Hunt.

To make life easier, this moves BranchDirection into BasicBlock so that after
running the CFA, we always know, for each block, what direction the CFA
proved. CFG simplification now both uses and preserves cfaBranchDirection in
its transformations.
        
Also made both LogicalNot and Branch check whether the operand is a known cell
with a known structure, and if so, made them do the appropriate folding.
        
5% speed-up on V8/raytrace because it makes raytrace's own null checks
evaporate (i.e. idioms like 'if (!x) throw "unhappiness"') thanks to the fact
that we were already doing structure check hoisting.

* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeToSuccessors):
* dfg/DFGAbstractState.h:
(AbstractState):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::BasicBlock):
(BasicBlock):
* dfg/DFGBranchDirection.h: Added.
(DFG):
(JSC::DFG::branchDirectionToString):
(JSC::DFG::isKnownDirection):
(JSC::DFG::branchCondition):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Deferred image decoding fails with image orientation
https://bugs.webkit.org/show_bug.cgi?id=101648

Reviewed by Stephen White.

Source/WebCore:

When an image is deferred save the orientation state. Once this state
is cached it can be used to reply future queries since this state is
static.

No new tests but platform/chromium/virtual/deferred/fast/images/image-orientation.html is passing now.

* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::DeferredImageDecoder):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::orientation):
* platform/graphics/chromium/DeferredImageDecoder.h:
(DeferredImageDecoder):

LayoutTests:

Update test expectations and baselines accordingly since these two
tests are now passing with deferred image decoding.

fast/images/exif-orientation-image-document.html
fast/images/exif-orientation.html

* platform/chromium-linux/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-mac-lion/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-mac/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=101644
Fixed header on Facebook news feed becomes detached from top of 
viewport after rubber band scrolling
-and corresponding-
<rdar://problem/12651944>

Reviewed by Simon Fraser.

Source/WebCore: 

There is code to handle this for non-threaded scrolling on FrameView. 
This patch moves most of that code into a convenience function on 
ScrollingCoordinator.

Have FrameView::scrollOffsetForFixedPosition() call 
WebCore::scrollOffsetForFixedPosition() with all the right 
parameters.
* page/FrameView.cpp:
(WebCore::FrameView::scrollOffsetForFixedPosition):

Here's where all the math happens.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::fixedPositionScrollOffset):
(WebCore::scrollOffsetForFixedPosition):

The viewportRect in these three places needs to have the 
adjusted-for-fixed offset.
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):

LayoutTests: 

New test ensures that negative offsets will not make their way into 
the FixedPositionViewportConstraints.
* platform/mac/tiled-drawing/fixed/negative-scroll-offset-expected.txt: Added.
* platform/mac/tiled-drawing/fixed/negative-scroll-offset.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve effectiveness of function-level caching
https://bugs.webkit.org/show_bug.cgi?id=101667

Reviewed by Filip Pizlo.

Added a random-eviction based cache for unlinked functions, and switch
UnlinkedFunctionExecutable's code references to Weak<>, thereby letting
us remove the explicit UnlinkedFunctionExecutable::clearCode() calls that
were being triggered by GC.

Refactored the random eviction part of the CodeCache into a separate data
structure so that I didn't have to duplicate the code again, and then used
that for the new function cache.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::clearCodeForRecompilation):
(UnlinkedFunctionExecutable):
* debugger/Debugger.cpp:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
(JSC::CodeCache::usedFunctionCode):
(JSC):
* runtime/Executable.cpp:
(JSC::FunctionExecutable::clearUnlinkedCodeForRecompilationIfNotCompiling):
(JSC::FunctionExecutable::clearCode):
* runtime/Executable.h:
(FunctionExecutable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve the use of AtomicString with literals
https://bugs.webkit.org/show_bug.cgi?id=101298

Reviewed by Darin Adler.

Fix a bunch of cases of AtomicString with literals:
-Do not create temporary AtomicString to perform a comparison, that is very wasteful.
-Use the ConstructFromLiteral constructor whenever it makes sense.
-Make "x-frame-options" static instead of creating it for each response.
-Use ASCIILiteral() instead of AtomicString() in EventHandler, the function takes a String,
 not an AtomicString.

* Modules/battery/BatteryController.cpp:
(WebCore::BatteryController::supplementName):
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::from):
* Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
(WebCore::DraggedIsolatedFileSystem::supplementName):
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::supplementName):
* Modules/geolocation/NavigatorGeolocation.cpp:
(WebCore::NavigatorGeolocation::from):
* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::from):
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::directionNext):
(WebCore::IDBCursor::directionNextUnique):
(WebCore::IDBCursor::directionPrev):
(WebCore::IDBCursor::directionPrevUnique):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::readyState):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::modeReadOnly):
(WebCore::IDBTransaction::modeReadWrite):
(WebCore::IDBTransaction::modeVersionChange):
(WebCore::IDBTransaction::modeReadOnlyLegacy):
(WebCore::IDBTransaction::modeReadWriteLegacy):
* Modules/indexeddb/PageGroupIndexedDatabase.cpp:
(WebCore::PageGroupIndexedDatabase::from):
* Modules/intents/DOMWindowIntents.cpp:
(WebCore::DOMWindowIntents::from):
* Modules/mediastream/UserMediaController.cpp:
(WebCore::UserMediaController::supplementName):
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::NavigatorContentUtils::supplementName):
* Modules/networkinfo/NavigatorNetworkInfoConnection.cpp:
(WebCore::NavigatorNetworkInfoConnection::from):
* Modules/networkinfo/NetworkInfoController.cpp:
(WebCore::NetworkInfoController::supplementName):
* Modules/notifications/DOMWindowNotifications.cpp:
(WebCore::DOMWindowNotifications::from):
* Modules/notifications/NotificationController.cpp:
(WebCore::NotificationController::supplementName):
* Modules/quota/DOMWindowQuota.cpp:
(WebCore::DOMWindowQuota::from):
* Modules/speech/SpeechRecognitionController.cpp:
(WebCore::SpeechRecognitionController::supplementName):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::supplementName):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::invalidStatus):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
(WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedSecurityCheck):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::namedPropertyGetter):
* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::supplementName):
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::supplementName):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::supplementName):
* dom/Element.cpp:
(WebCore::Element::webkitRegionOverset):
* dom/MutationRecord.cpp:
* html/FileInputType.cpp:
(WebCore::UploadButtonElement::shadowPseudoId):
* html/FormController.cpp:
(WebCore::SavedFormState::getReferencedFilePaths):
(WebCore::FormKeyGenerator::formKey):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::formControlType):
* html/HTMLDetailsElement.cpp:
(WebCore::summaryQuerySelector):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::formControlType):
* html/HTMLKeygenElement.cpp:
(WebCore::KeygenSelectElement::shadowPseudoId):
(WebCore::HTMLKeygenElement::formControlType):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::formControlType):
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::formControlType):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::formControlType):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::formControlType):
* html/HTMLTextFormControlElement.cpp:
(WebCore::directionString):
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::DateTimeEditElement):
* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeAMPMFieldElement::create):
(WebCore::DateTimeDayFieldElement::create):
(WebCore::DateTimeHourFieldElement::create):
(WebCore::DateTimeMillisecondFieldElement::create):
(WebCore::DateTimeMinuteFieldElement::create):
(WebCore::DateTimeMonthFieldElement::create):
(WebCore::DateTimeSecondFieldElement::create):
(WebCore::DateTimeSymbolicMonthFieldElement::create):
(WebCore::DateTimeWeekFieldElement::create):
(WebCore::DateTimeYearFieldElement::create):
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::shadowPseudoId):
* html/shadow/ImageInnerElement.cpp:
(WebCore::ImageInnerElement::shadowPseudoId):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::shadowPseudoId):
(WebCore::MediaControlTimelineContainerElement::shadowPseudoId):
(WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId):
(WebCore::MediaControlStatusDisplayElement::shadowPseudoId):
(WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId):
(WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId):
(WebCore::MediaControlPlayButtonElement::shadowPseudoId):
(WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId):
(WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId):
(WebCore::MediaControlSeekBackButtonElement::shadowPseudoId):
(WebCore::MediaControlRewindButtonElement::shadowPseudoId):
(WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
(WebCore::MediaControlTimelineElement::shadowPseudoId):
(WebCore::MediaControlVolumeSliderElement::shadowPseudoId):
(WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId):
(WebCore::MediaControlFullscreenButtonElement::shadowPseudoId):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId):
(WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId):
(WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId):
(WebCore::MediaControlTextTrackContainerElement::shadowPseudoId):
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::shadowPseudoId):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlPanelEnclosureElement::shadowPseudoId):
(WebCore::MediaControlRootElementChromium::shadowPseudoId):
* html/shadow/MediaControlRootElementChromiumAndroid.cpp:
(WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId):
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::shadowPseudoId):
(WebCore::MeterBarElement::shadowPseudoId):
(WebCore::MeterValueElement::shadowPseudoId):
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressInnerElement::shadowPseudoId):
(WebCore::ProgressBarElement::shadowPseudoId):
(WebCore::ProgressValueElement::shadowPseudoId):
* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderThumbShadowPseudoId):
(WebCore::mediaSliderThumbShadowPseudoId):
(WebCore::SliderContainerElement::shadowPseudoId):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::shadowPseudoId):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
(WebCore::SearchFieldCancelButtonElement::shadowPseudoId):
(WebCore::InputFieldSpeechButtonElement::shadowPseudoId):
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCueBox::textTrackCueBoxShadowPseudoId):
* loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveResponse):
* loader/PrerendererClient.cpp:
(WebCore::PrerendererClient::supplementName):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::updateResponseAfterRevalidation):
* page/DOMWindowPagePopup.cpp:
(WebCore::DOMWindowPagePopup::supplementName):
* page/EventHandler.cpp:
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::focusDirectionForKey):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::supplementName):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateKeyframeAnimations):
* platform/graphics/FontCache.cpp:
(WebCore::alternateFamilyName):
* platform/graphics/MediaPlayer.cpp:
(WebCore::applicationOctetStream):
(WebCore::textPlain):
(WebCore::codecs):
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::effectName):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::effectName):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getSimilarFontPlatformData):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::ResourceResponseBase::hasCacheValidatorFields):
(WebCore::ResourceResponseBase::date):
(WebCore::ResourceResponseBase::age):
(WebCore::ResourceResponseBase::expires):
(WebCore::ResourceResponseBase::lastModified):
(WebCore::ResourceResponseBase::isAttachment):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::getAvgCharWidth):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::getAvgCharWidth):
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
* svg/SVGAnimateColorElement.cpp:
(WebCore::attributeValueIsCurrentColor):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::rotateMode):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setCalcMode):
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::isAdditive):
(WebCore::SVGAnimationElement::isAccumulated):
(WebCore::inheritsFromProperty):
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier):
* svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
(WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier):
(WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier):
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::radiusXIdentifier):
(WebCore::SVGFEMorphologyElement::radiusYIdentifier):
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier):
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier):
(WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterResXIdentifier):
(WebCore::SVGFilterElement::filterResYIdentifier):
* svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::xmlspace):
(WebCore::SVGLangSpace::addSupportedAttributes):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeIdentifier):
(WebCore::SVGMarkerElement::orientAngleIdentifier):
(WebCore::SVGMarkerElement::synchronizeOrientType):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::contentScriptType):
(WebCore::SVGSVGElement::contentStyleType):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::type):
(WebCore::SVGStyleElement::media):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::collectStyleForAttribute):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewBoxIdentifier):
(WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
(WebCore::SVGViewSpec::transformIdentifier):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::restart):
(WebCore::SVGSMILElement::fill):
(WebCore::SVGSMILElement::repeatCount):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::from):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processDOCTYPE):
(WebCore::XMLTreeBuilder::processXMLEntity):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Null check URL key entries into WebHistory hash table.
https://bugs.webkit.org/show_bug.cgi?id=101664
<rdar://problem/12440852>

Reviewed by Brady Eidson.

Sometimes the _entriesByURL hash table used to keep track of web history is erroneously passed in null key entries, which causes an exception to fire.
This prevents the desired page navigation from taking effect. This is a workaround for the problem.
Ideally we would figure out where the null values for the key are coming from but for now we'll just set it to "" to prevent the exception from being thrown
so that navigation can continue as expected.

* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Some more gardening after r133898.

* platform/efl/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Replace checkerboard with page background color.
https://bugs.webkit.org/show_bug.cgi?id=101652
RIM PR 188235

Reviewed by George Staikos.

In order to do this, we introduce a new member variable for
BackingStore because when blitting, we can't access the
page background color in a threadsafe way.

Solid background color fill is still only used for public builds.
Developers and beta testers should still see checkerboard and
do something about it.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::fillWindow):
(BlackBerry::WebKit::BackingStorePrivate::webPageBackgroundColorUserInterfaceThread):
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::setWebPageBackgroundColor):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):


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