[EFL] Unreviewed gardening after r133676.

* platform/efl-wk2/TestExpectations: Unskip a few passing tests.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, remove a couple of passing tests from chromium expectations.

* platform/chromium-mac-mountainlion/TestExpectations:
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Store ExclusionPolygonEdge vertices in clockwise order
https://bugs.webkit.org/show_bug.cgi?id=100763

Patch by Hans Muller <hmuller@adobe.com> on 2012-11-06
Reviewed by Darin Adler.

Source/WebCore:

The ExclusionPolygon's internal logic, notably getVertexIntersectionVertices(),
assumes that ExclusionPolygonEdge vertices are stored in clockwise order.
If this is not true, then we construct the polygon's edges in reverse.

To determine if the vertices are in clockwise order, we compare the slope
of the line between the top,left vertex and its previous vertex, with the
the slope of the line of vertices before and after the top,left vertex.
If the slope of the latter is greater, then top,left vertex is located
to its left, and the vertices are clockwise.

Test: fast/exclusions/shape-inside/shape-inside-counterclockwise-polygon.html

* rendering/ExclusionPolygon.cpp:
(WebCore::determinant): Used to decide if the min vertex is on the left side of the line that passes through its adjacent vertices.
(WebCore::ExclusionPolygon::ExclusionPolygon): If the polygon's vertices are specified in counterclockwise order, construct the edges in reverse.
(WebCore::appendIntervalX): Made this an inline since it was only defined as a function for the sake of clarity.

LayoutTests:

Verify that a shape-inside polygon whose vertices are specified in counterclockwise
order is handled correctly.

* fast/exclusions/shape-inside/shape-inside-counterclockwise-polygon-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-counterclockwise-polygon.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build warning in RenderLayer.cpp caused by r133628
https://bugs.webkit.org/show_bug.cgi?id=101401

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-06
Reviewed by Simon Fraser.

The static function WebCore::frameViewFromLayer is only used when USE(ACCELERATED_COMPOSITING),
so define it only that case for removing -Wunused-function warning

* rendering/RenderLayer.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement save and restore for a bunch of InternalSettings state
https://bugs.webkit.org/show_bug.cgi?id=101394

Reviewed by Dirk Pranke.

In http://trac.webkit.org/changeset/133399, I resolved a bunch of
flaky tests by saving and restoring the InternalSettings state
EnableCompositingForFixedPosition.  On a hunch, I git grepped for all
internal settings state which is being set by layout tests but not
saved and restored.  It turns out there about 15 calls.

This patch takes care of five of them, mostly compositing-related.
The others I was either not sure about, or were already at least
being reset to known values by the testing harness.

Hopefully this will alleviate some further test flakiness.

* testing/InternalSettings.cpp:
* testing/InternalSettings.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't warn about RefPtr* parameters
https://bugs.webkit.org/show_bug.cgi?id=101403

Reviewed by Gavin Barraclough.

RefPtr<>* is a valid parameter type.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_function_definition_and_pass_ptr):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(PassPtrTest.test_ref_ptr_parameter_value):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-webkit-background-clip:text produces artifacts when applied to the body and the browser is resized
https://bugs.webkit.org/show_bug.cgi?id=89287

Reviewed by Beth Dakin.

Source/WebCore:

If the body had -webkit-background-clip: text, we'd fail to paint
anything behind it, so would see garbage pixels.

Fix by having RenderView::paintBoxDecorations() check for a background-clip of "text"
on the renderer that paints the root background.

Added some new pixel tests for combinations of html and body transform
and backgrounds; earlier versions of the patch broke some of these tests.

Tests: fast/backgrounds/background-clip-text-on-body.html
       fast/backgrounds/transformed-body-background.html
       fast/backgrounds/transformed-body-html-background.html
       fast/backgrounds/transformed-html-body-background.html

* rendering/RenderView.cpp:
(WebCore::rendererObscuresBackground): Broke up the single condition
into early 'false' returns when possible. We need to also check whether
the renderer that actually paints the background (which might be the body)
will fill it; background-clip: text does not.
(WebCore::RenderView::paintBoxDecorations): Rather than checking firstChild(),
actually check the root renderer, so that we can reliably get to the renderer
that mains the root background.

LayoutTests:

Test with -webkit-background-clip: text on the body, which scrolls.

Some additional tests that exercise different combinations of html and
body transform and background.

* compositing/repaint/composited-document-element.html:
* fast/backgrounds/background-clip-text-on-body-expected.png: Added.
* fast/backgrounds/background-clip-text-on-body-expected.txt: Added.
* fast/backgrounds/background-clip-text-on-body.html: Added.
* fast/backgrounds/transformed-body-background-expected.png: Added.
* fast/backgrounds/transformed-body-background-expected.txt: Added.
* fast/backgrounds/transformed-body-background.html: Added.
* fast/backgrounds/transformed-body-html-background-expected.png: Added.
* fast/backgrounds/transformed-body-html-background-expected.txt: Added.
* fast/backgrounds/transformed-body-html-background.html: Added.
* fast/backgrounds/transformed-html-body-background-expected.png: Added.
* fast/backgrounds/transformed-html-body-background-expected.txt: Added.
* fast/backgrounds/transformed-html-body-background.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] New baselines for some CSS3 filter tests.  Unreviewed.

* platform/chromium-mac/css3/filters/crash-hw-sw-switch-expected.png:
* platform/chromium-mac/css3/filters/effect-reference-expected.png:
* platform/chromium-mac/css3/filters/effect-reference-expected.txt:
* platform/chromium-win/css3/filters/effect-reference-expected.png:
* platform/chromium-win/css3/filters/effect-reference-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reduce parser overhead in JSC
https://bugs.webkit.org/show_bug.cgi?id=101127

Reviewed by Filip Pizlo.

An exciting journey into the world of architecture in which our hero
adds yet another layer to JSC codegeneration.

This patch adds a marginally more compact form of bytecode that is
free from any data specific to a given execution context, and that
does store any data structures necessary for execution.  To actually
execute this UnlinkedBytecode we still need to instantiate a real
CodeBlock, but this is a much faster linear time operation than any
of the earlier parsing or code generation passes.

As the unlinked code is context free we can then simply use a cache
from source to unlinked code mapping to completely avoid all of the
old parser overhead.  The cache is currently very simple and memory
heavy, using the complete source text as a key (rather than SourceCode
or equivalent), and a random eviction policy.

This seems to produce a substantial win when loading identical content
in different contexts.

* API/tests/testapi.c:
(main):
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:
    Moved a number of fields, and a bunch of logic to UnlinkedCodeBlock.h/cpp
* bytecode/Opcode.h:
    Added a global const init no op instruction needed to get correct
    behaviour without any associated semantics.
* bytecode/UnlinkedCodeBlock.cpp: Added.
* bytecode/UnlinkedCodeBlock.h: Added.
    A fairly shallow, GC allocated version of the old CodeBlock
    classes with a 32bit instruction size, and just metadata
    size tracking.
* bytecompiler/BytecodeGenerator.cpp:
* bytecompiler/BytecodeGenerator.h:
    Replace direct access to m_symbolTable with access through
    symbolTable().  ProgramCode no longer has a symbol table at
    all so some previously unconditional (and pointless) uses
    of symbolTable get null checks.
    A few other changes to deal with type changes due to us generating
    unlinked code (eg. pointer free, so profile indices rather than
    pointers).
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCapabilities.h:
    Support global_init_nop
* interpreter/Interpreter.cpp:
    Now get the ProgramExecutable to initialise new global properties
    before starting execution.
* jit/JIT.cpp:
* jit/JITDriver.h:
* jit/JITStubs.cpp:
* llint/LLIntData.cpp:
* llint/LLIntSlowPaths.cpp:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
    Adding init_global_const_nop everywhere else
* parser/Parser.h:
* parser/ParserModes.h: Added.
* parser/ParserTokens.h:
    Parser no longer needs a global object or callframe to function
* runtime/CodeCache.cpp: Added.
* runtime/CodeCache.h: Added.
    A simple, random eviction, Source->UnlinkedCode cache
* runtime/Executable.cpp:
* runtime/Executable.h:
    Executables now reference their unlinked counterparts, and
    request code specifically for the target global object.
* runtime/JSGlobalData.cpp:
* runtime/JSGlobalData.h:
    GlobalData now owns a CodeCache and a set of new structures
    for the unlinked code types.
* runtime/JSGlobalObject.cpp:
* runtime/JSGlobalObject.h:
    Utility functions used by executables to perform compilation

* runtime/JSType.h:
  Add new JSTypes for unlinked code

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix. r133601 broke the Windows build.
https://bugs.webkit.org/show_bug.cgi?id=101404

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-06
Reviewed by Noam Rosenthal.

Only static const integral data members can be initialized within a class in the
Windows, so we initialize static const double date members out of the class.

* platform/graphics/texmap/TextureMapper.cpp:
(BitmapTexturePool):
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Removed useless image baselines for filter-empty-element-crash.
Unreviewed.

* platform/chromium-linux/css3/filters/filter-empty-element-crash-expected.png: Removed.
* platform/chromium-mac-snowleopard/css3/filters/filter-empty-element-crash-expected.png: Removed.
* platform/chromium-mac/css3/filters/filter-empty-element-crash-expected.png: Removed.
* platform/chromium-win/css3/filters/filter-empty-element-crash-expected.png: Removed.
* platform/mac-snowleopard/css3/filters/filter-empty-element-crash-expected.png: Removed.
* platform/qt-5.0-wk2/css3/filters/filter-empty-element-crash-expected.png: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening. A couple of expectation updates c/o dbarton@mathscribe.com
and marking calendar-picker-key-operations.html flaky per webkit.org/b/101408

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add ewk_database_manager APIs
https://bugs.webkit.org/show_bug.cgi?id=101193

Patch by Jihye Kang <jye.kang@samsung.com> on 2012-11-06
Reviewed by Gyuyoung Kim.

Add ewk_database_manager to manage web database and
ewk_database_manaager_origins_get to get origins list of web storage.
Add unit tests for ewk_database_manager APIs.

* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::databaseManager):
(ewk_context_database_manager_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_database_manager.cpp: Added.
(Ewk_Database_Manager::Ewk_Database_Manager):
(Ewk_Database_Manager::getDatabaseOrigins):
(Ewk_Database_Manager::createOriginList):
(Ewk_Database_Origins_Async_Get_Context):
(Ewk_Database_Origins_Async_Get_Context::Ewk_Database_Origins_Async_Get_Context):
(getDatabaseOriginsCallback):
(ewk_database_manager_origins_get):
* UIProcess/API/efl/ewk_database_manager.h: Added.
* UIProcess/API/efl/ewk_database_manager_private.h: Added.
(Ewk_Database_Manager):
(Ewk_Database_Manager::create):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Added.
(OriginData):
(OriginData::OriginData):
(getDatabaseOriginsCallback):
(timerCallback):
(TEST_F):

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