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