[WK2][EFL][WTR] TestNetscapePlugin is required.
https://bugs.webkit.org/show_bug.cgi?id=88756

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-07-27
Reviewed by Simon Hausmann.

libTestNetscapePlugin.so should be required for DRT/WTR/EFL.

* CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugin/CMakeList.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Keyboard events miss key location data.
https://bugs.webkit.org/show_bug.cgi?id=92235

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-07-27
Reviewed by Simon Hausmann.

EFL WK2 did not initialize WebKeyboardEvent::m_isKeypad field.
This caused failure of fast/events/keydown-numpad-keys.html test.

* Shared/efl/WebEventFactory.cpp: WebKeyboardEvent::m_isKeypad is initialized.
(WebKit::WebEventFactory::createWebKeyboardEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] platform/qt/editing/pasteboard tests needs update after font change.
https://bugs.webkit.org/show_bug.cgi?id=91399.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-07-27
Reviewed by Csaba Osztrogonác.

* platform/qt-5.0-wk1/Skipped:
* platform/qt-5.0-wk2/Skipped:
* platform/qt-5.0-wk2/editing/pasteboard/4806874-expected.txt: Added.
* platform/qt-5.0-wk2/editing/pasteboard/4944770-1-expected.png: Removed.
* platform/qt-5.0-wk2/editing/pasteboard/4944770-1-expected.txt: Removed.
* platform/qt-5.0-wk2/editing/pasteboard/4944770-2-expected.png: Removed.
* platform/qt-5.0-wk2/editing/pasteboard/4944770-2-expected.txt: Removed.
* platform/qt-5.0-wk2/editing/pasteboard/input-field-1-expected.txt: Copied from LayoutTests/platform/qt/editing/pasteboard/input-field-1-expected.txt.
* platform/qt-5.0/Skipped:
* platform/qt-5.0/editing/pasteboard/4944770-1-expected.png: Removed.
* platform/qt-5.0/editing/pasteboard/4944770-1-expected.txt: Removed.
* platform/qt-5.0/editing/pasteboard/4944770-2-expected.png: Removed.
* platform/qt-5.0/editing/pasteboard/4944770-2-expected.txt: Removed.
* platform/qt-5.0/editing/pasteboard/paste-text-at-tabspan-003-expected.txt: Removed.
* platform/qt/editing/pasteboard/3976872-expected.png: Added.
* platform/qt/editing/pasteboard/3976872-expected.txt:
* platform/qt/editing/pasteboard/4076267-2-expected.png:
* platform/qt/editing/pasteboard/4076267-2-expected.txt:
* platform/qt/editing/pasteboard/4076267-3-expected.png:
* platform/qt/editing/pasteboard/4076267-3-expected.txt:
* platform/qt/editing/pasteboard/4076267-expected.png:
* platform/qt/editing/pasteboard/4076267-expected.txt:
* platform/qt/editing/pasteboard/4242293-expected.png: Added.
* platform/qt/editing/pasteboard/4242293-expected.txt:
* platform/qt/editing/pasteboard/4631972-expected.png: Added.
* platform/qt/editing/pasteboard/4631972-expected.txt:
* platform/qt/editing/pasteboard/4641033-expected.png:
* platform/qt/editing/pasteboard/4641033-expected.txt:
* platform/qt/editing/pasteboard/4806874-expected.png:
* platform/qt/editing/pasteboard/4806874-expected.txt:
* platform/qt/editing/pasteboard/4944770-1-expected.png:
* platform/qt/editing/pasteboard/4944770-1-expected.txt:
* platform/qt/editing/pasteboard/4944770-2-expected.png:
* platform/qt/editing/pasteboard/4944770-2-expected.txt:
* platform/qt/editing/pasteboard/4989774-expected.png: Added.
* platform/qt/editing/pasteboard/4989774-expected.txt:
* platform/qt/editing/pasteboard/5006779-expected.png: Added.
* platform/qt/editing/pasteboard/5006779-expected.txt:
* platform/qt/editing/pasteboard/5028447-expected.png: Added.
* platform/qt/editing/pasteboard/5028447-expected.txt:
* platform/qt/editing/pasteboard/5032095-expected.png: Added.
* platform/qt/editing/pasteboard/5032095-expected.txt:
* platform/qt/editing/pasteboard/5071074-2-expected.png: Added.
* platform/qt/editing/pasteboard/5071074-2-expected.txt:
* platform/qt/editing/pasteboard/5071074-expected.png: Added.
* platform/qt/editing/pasteboard/5071074-expected.txt:
* platform/qt/editing/pasteboard/5075944-expected.png: Added.
* platform/qt/editing/pasteboard/5075944-expected.txt:
* platform/qt/editing/pasteboard/5134759-expected.png: Added.
* platform/qt/editing/pasteboard/5134759-expected.txt:
* platform/qt/editing/pasteboard/5156401-1-expected.png: Added.
* platform/qt/editing/pasteboard/5156401-1-expected.txt:
* platform/qt/editing/pasteboard/5247341-expected.png: Added.
* platform/qt/editing/pasteboard/5247341-expected.txt:
* platform/qt/editing/pasteboard/5387578-expected.png:
* platform/qt/editing/pasteboard/5387578-expected.txt:
* platform/qt/editing/pasteboard/5478250-expected.png:
* platform/qt/editing/pasteboard/5478250-expected.txt:
* platform/qt/editing/pasteboard/5601583-1-expected.png: Added.
* platform/qt/editing/pasteboard/5601583-1-expected.txt:
* platform/qt/editing/pasteboard/5780697-2-expected.txt:
* platform/qt/editing/pasteboard/7955-expected.png: Added.
* platform/qt/editing/pasteboard/7955-expected.txt:
* platform/qt/editing/pasteboard/8145-1-expected.png: Added.
* platform/qt/editing/pasteboard/8145-1-expected.txt:
* platform/qt/editing/pasteboard/8145-2-expected.png: Added.
* platform/qt/editing/pasteboard/8145-2-expected.txt:
* platform/qt/editing/pasteboard/8145-3-expected.png:
* platform/qt/editing/pasteboard/8145-3-expected.txt:
* platform/qt/editing/pasteboard/bad-placeholder-expected.png:
* platform/qt/editing/pasteboard/bad-placeholder-expected.txt:
* platform/qt/editing/pasteboard/block-wrappers-necessary-expected.txt:
* platform/qt/editing/pasteboard/cut-text-001-expected.png:
* platform/qt/editing/pasteboard/cut-text-001-expected.txt:
* platform/qt/editing/pasteboard/displaced-generic-placeholder-expected.png: Added.
* platform/qt/editing/pasteboard/displaced-generic-placeholder-expected.txt:
* platform/qt/editing/pasteboard/displaced-placeholder-expected.png: Added.
* platform/qt/editing/pasteboard/displaced-placeholder-expected.txt:
* platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.png: Added.
* platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.txt:
* platform/qt/editing/pasteboard/innerText-inline-table-expected.png:
* platform/qt/editing/pasteboard/innerText-inline-table-expected.txt:
* platform/qt/editing/pasteboard/input-field-1-expected.png:
* platform/qt/editing/pasteboard/input-field-1-expected.txt:
* platform/qt/editing/pasteboard/merge-after-delete-1-expected.png: Added.
* platform/qt/editing/pasteboard/merge-after-delete-1-expected.txt:
* platform/qt/editing/pasteboard/merge-after-delete-2-expected.png: Added.
* platform/qt/editing/pasteboard/merge-after-delete-2-expected.txt:
* platform/qt/editing/pasteboard/merge-after-delete-expected.png: Added.
* platform/qt/editing/pasteboard/merge-after-delete-expected.txt:
* platform/qt/editing/pasteboard/merge-end-blockquote-expected.png:
* platform/qt/editing/pasteboard/merge-end-blockquote-expected.txt:
* platform/qt/editing/pasteboard/merge-end-borders-expected.png:
* platform/qt/editing/pasteboard/merge-end-borders-expected.txt:
* platform/qt/editing/pasteboard/merge-start-blockquote-expected.png: Added.
* platform/qt/editing/pasteboard/merge-start-blockquote-expected.txt:
* platform/qt/editing/pasteboard/merge-start-list-expected.png: Added.
* platform/qt/editing/pasteboard/merge-start-list-expected.txt:
* platform/qt/editing/pasteboard/paste-4035648-fix-expected.png: Added.
* platform/qt/editing/pasteboard/paste-4035648-fix-expected.txt:
* platform/qt/editing/pasteboard/paste-4038267-fix-expected.png: Added.
* platform/qt/editing/pasteboard/paste-4038267-fix-expected.txt:
* platform/qt/editing/pasteboard/paste-blockquote-after-blockquote-expected.png: Added.
* platform/qt/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
* platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png: Added.
* platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-001-expected.png: Added.
* platform/qt/editing/pasteboard/paste-line-endings-001-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-002-expected.png: Added.
* platform/qt/editing/pasteboard/paste-line-endings-002-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-003-expected.png: Added.
* platform/qt/editing/pasteboard/paste-line-endings-003-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-004-expected.png: Added.
* platform/qt/editing/pasteboard/paste-line-endings-004-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-005-expected.png: Added.
* platform/qt/editing/pasteboard/paste-line-endings-005-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-006-expected.png: Added.
* platform/qt/editing/pasteboard/paste-line-endings-006-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-007-expected.png:
* platform/qt/editing/pasteboard/paste-line-endings-007-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-008-expected.png:
* platform/qt/editing/pasteboard/paste-line-endings-008-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-009-expected.png:
* platform/qt/editing/pasteboard/paste-line-endings-009-expected.txt:
* platform/qt/editing/pasteboard/paste-line-endings-010-expected.png:
* platform/qt/editing/pasteboard/paste-line-endings-010-expected.txt:
* platform/qt/editing/pasteboard/paste-match-style-001-expected.png:
* platform/qt/editing/pasteboard/paste-match-style-001-expected.txt:
* platform/qt/editing/pasteboard/paste-match-style-002-expected.png: Added.
* platform/qt/editing/pasteboard/paste-match-style-002-expected.txt:
* platform/qt/editing/pasteboard/paste-table-003-expected.png:
* platform/qt/editing/pasteboard/paste-table-003-expected.txt:
* platform/qt/editing/pasteboard/paste-table-cells-expected.png:
* platform/qt/editing/pasteboard/paste-table-cells-expected.txt:
* platform/qt/editing/pasteboard/paste-text-004-expected.png:
* platform/qt/editing/pasteboard/paste-text-004-expected.txt:
* platform/qt/editing/pasteboard/paste-text-005-expected.png:
* platform/qt/editing/pasteboard/paste-text-005-expected.txt:
* platform/qt/editing/pasteboard/paste-text-006-expected.png: Added.
* platform/qt/editing/pasteboard/paste-text-006-expected.txt:
* platform/qt/editing/pasteboard/paste-text-007-expected.png: Added.
* platform/qt/editing/pasteboard/paste-text-007-expected.txt:
* platform/qt/editing/pasteboard/paste-text-008-expected.png:
* platform/qt/editing/pasteboard/paste-text-008-expected.txt:
* platform/qt/editing/pasteboard/paste-text-009-expected.png:
* platform/qt/editing/pasteboard/paste-text-009-expected.txt:
* platform/qt/editing/pasteboard/paste-text-013-expected.png: Added.
* platform/qt/editing/pasteboard/paste-text-013-expected.txt:
* platform/qt/editing/pasteboard/paste-text-014-expected.png:
* platform/qt/editing/pasteboard/paste-text-014-expected.txt:
* platform/qt/editing/pasteboard/paste-text-016-expected.png: Added.
* platform/qt/editing/pasteboard/paste-text-016-expected.txt:
* platform/qt/editing/pasteboard/paste-text-019-expected.png:
* platform/qt/editing/pasteboard/paste-text-019-expected.txt:
* platform/qt/editing/pasteboard/paste-text-at-tabspan-003-expected.png:
* platform/qt/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
* platform/qt/editing/pasteboard/pasting-object-expected.png:
* platform/qt/editing/pasteboard/pasting-object-expected.txt:
* platform/qt/editing/pasteboard/quirks-mode-br-1-expected.png: Added.
* platform/qt/editing/pasteboard/quirks-mode-br-1-expected.txt:
* platform/qt/editing/pasteboard/smart-paste-004-expected.txt: Added.
* platform/qt/editing/pasteboard/smart-paste-007-expected.png:
* platform/qt/editing/pasteboard/smart-paste-007-expected.txt:
* platform/qt/editing/pasteboard/styled-element-markup-expected.png: Added.
* platform/qt/editing/pasteboard/styled-element-markup-expected.txt:
* platform/qt/editing/pasteboard/undoable-fragment-removes-expected.png: Added.
* platform/qt/editing/pasteboard/undoable-fragment-removes-expected.txt:
* platform/qt/editing/pasteboard/unrendered-br-expected.png: Added.
* platform/qt/editing/pasteboard/unrendered-br-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123862 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add more Ewk_View unit tests
https://bugs.webkit.org/show_bug.cgi?id=92407

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

Add more unit tests for WebKit2 Ewk_View API.
In particular, navigation, HTML loading and
device pixel ratio functions are now tested.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp): Call ewk_init() instead
of duplicating initialization code.
(EWK2UnitTest::EWK2UnitTestBase::TearDown): call ewk_shutdown().
(TitleChangedData):
(EWK2UnitTest):
(EWK2UnitTest::onTitleChanged):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo): Add convenience
method to wait until the view main frame title changes to a given value.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
(serverCallbackNavigation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cairo] Add complex font drawing using HarfbuzzNG
https://bugs.webkit.org/show_bug.cgi?id=91864

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-07-27
Reviewed by Simon Hausmann and Martin Robinson.

.:

Configuring Freetype backend to use HarfBuzz by default.

* Source/cmake/FindHarfBuzz.cmake: Added pkgconfig based discovery of HarfBuzz.
* Source/cmake/OptionsEfl.cmake: Adding Harfbuzz configuration.

Source/WebCore:

Adding Harfbuzz support to EFL by implementing it with the help of cairo and cairo-ft.
Reusing Chromium's Harfbuzz-NG support.

No new tests, complex font support is covered by existing tests.

* CMakeLists.txt: Adding new cairo based implementations, removing emtpy FontEfl.cpp
* WebCore.gypi: Removing FontEfl.cpp
* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp: Added. New implementation that implements cairo & harfbuzz-ng based complex font drawing.
(WebCore):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::canReturnFallbackFontsForComplexText):
(WebCore::Font::canExpandAroundIdeographsInComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/efl/FontEfl.cpp: Removed.
* platform/graphics/freetype/FontPlatformData.h: Adding a getter that retrieves a harfbuzz face.
(FontPlatformData):
* platform/graphics/freetype/FontPlatformDataFreeType.cpp: Adding a getter that retrieves a harfbuzz face.
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp: Added. Cairo-freetype based approach to get complex font metrics.
(WebCore):
(CairoFtFaceLocker):
(WebCore::CairoFtFaceLocker::CairoFtFaceLocker):
(WebCore::CairoFtFaceLocker::lock):
(WebCore::CairoFtFaceLocker::~CairoFtFaceLocker):
(WebCore::floatToHarfBuzzPosition):
(WebCore::doubleToHarfBuzzPosition):
(WebCore::CairoGetGlyphWidthAndExtents):
(WebCore::harfbuzzGetGlyph):
(WebCore::harfbuzzGetGlyphHorizontalAdvance):
(WebCore::harfbuzzGetGlyphHorizontalOrigin):
(WebCore::harfbuzzGetGlyphExtents):
(WebCore::harfbuzzCairoTextGetFontFuncs):
(WebCore::harfbuzzCairoGetTable):
(WebCore::HarfBuzzNGFace::createFace):
(WebCore::HarfBuzzNGFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):

Source/WebKit:

Adding includes for harfbuzz folders.

* CMakeLists.txt:

Source/WebKit2:

Adding includes for harfbuzz folders.

* CMakeLists.txt:

Tools:

Bringing Harfbuzz support to EFL with this patch, so we need HarfBuzz in the pulled in jhbuild dependencies.

* WebKitTestRunner/CMakeLists.txt: Adding additional header include directories.
* efl/jhbuild.modules: Adding source for HarfBuzz release version 0.9.0.

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