[BlackBerry] Implement number of matches and current active match index for find-on-page
https://bugs.webkit.org/show_bug.cgi?id=95801

Patch by Andy Chen <andchen@rim.com> on 2012-09-05
Reviewed by Antonio Gomes.

- Calculate current match index for find-on-page
- Notify client when number of matches and current match index update.
PR 162090 162091.
Internally reviewed by Mike Fenton and Joe Mason

* Api/WebPageClient.h:
* WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
(BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
(InPageSearchManager::DeferredScopeStringMatches):
(BlackBerry::WebKit::InPageSearchManager::findNextString):
(BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
(BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
* WebKitSupport/InPageSearchManager.h:
(InPageSearchManager):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot
<rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026

Source/WebKit2:

Patch partially by Andras Becsi  <andras.becsi@nokia.com>

Reviewed by Andy Estes.

If a plug-in fails to initialize then the m_plugin pointer is cleared out.
When accessing the script object it is appropriate to unconditionally null check m_plugin.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it.

Tools:

Reviewed by Andy Estes.

Add a plug-in that always fails to initialize:
* DumpRenderTree/TestNetscapePlugIn/Tests/NPPNewFails.cpp: Added.
(NPPNewFails):
(NPPNewFails::NPPNewFails):
(NPPNewFails::NPP_New):

Add it to all the project files:
* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:

LayoutTests:

Reviewed by Andy Estes.

* plugins/npp-new-fails-expected.txt: Added.
* plugins/npp-new-fails.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Auto width is not working for Regions
https://bugs.webkit.org/show_bug.cgi?id=74135

Reviewed by Julien Chaffraix.

Source/WebCore:

It was not possible to flow content into a region having { width: auto; } since in such case, the region width was computed to 0.
Now, a region having auto width, will have its width computed following the rules for calculation of widths and margins
(http://www.w3.org/TR/CSS2/visudet.html#Computing_widths_and_margins).
For those cases in which resolving the width requires measuring of content's min/max-content values, we use the associated named flow min/max-content
values (the same for all regions with width auto in a region chain).
When a region has width:auto, the computation of width should be done using normal block/box sizing code, instead of replaced element code.
Contains code contributed by Alexandru Chiculita(achicu@adobe.com).

Tests: fast/regions/autowidth-abspos-regionchain.html
       fast/regions/autowidth-abspos.html
       fast/regions/autowidth-float.html
       fast/regions/autowidth-inlineblock.html
       fast/regions/autowidth-nonreplaced-abspos.html
       fast/regions/autowidth-nonreplacedblock-normalflow.html
       fast/regions/autowidth-normalflow-maxwidth.html
       fast/regions/autowidth-normalflow-minmaxwidth.html
       fast/regions/autowidth-normalflow-minwidth.html
       fast/regions/autowidth-normalflow-vertrl.html
       fast/regions/autowidth-normalflow.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computePositionedLogicalWidth): For positioned auto-width regions, skip the code path for replaced elements.
* rendering/RenderRegion.cpp:
(WebCore): Override min/maxPreferredLogicalWidth as they are used in the process of computing width for regions with auto width.
As this moment, a region is still a RenderReplaced element, so this code needs to be revisited when the region will become a RenderBlock.
Also, for min/max-width, we support only <length> values. We will extend support for other values in a following patch.
(WebCore::RenderRegion::minPreferredLogicalWidth):
(WebCore::RenderRegion::maxPreferredLogicalWidth):
* rendering/RenderRegion.h:
(RenderRegion):
Override isInlineBlockOrInlineTable() and shouldComputeSizeAsReplaced() to ensure that computation for width auto follows the normal
block/box sizing code.

LayoutTests:

It was not possible to flow content into a region having { width: auto; } since in such case, the region width was computed to 0.
Now, a region having auto width, will have its width computed following the rules for calculation of widths and margins
(http://www.w3.org/TR/CSS2/visudet.html#Computing_widths_and_margins).
For those cases in which resolving the width requires measuring of content's min/max-content values, we use the associated named flow min/max-content
values (the same for all regions with width auto in a region chain).

Besides adding new tests, i have modified existing tests that were having regions with width:auto as they were failing after this patch.

* fast/regions/autowidth-abspos-expected.html: Added.
* fast/regions/autowidth-abspos-regionchain-expected.html: Added.
* fast/regions/autowidth-abspos-regionchain.html: Added.
* fast/regions/autowidth-abspos.html: Added.
* fast/regions/autowidth-float-expected.html: Added.
* fast/regions/autowidth-float.html: Added.
* fast/regions/autowidth-inlineblock-expected.html: Added.
* fast/regions/autowidth-inlineblock.html: Added.
* fast/regions/autowidth-nonreplaced-abspos-expected.html: Added.
* fast/regions/autowidth-nonreplaced-abspos.html: Added.
* fast/regions/autowidth-nonreplacedblock-normalflow-expected.html: Added.
* fast/regions/autowidth-nonreplacedblock-normalflow.html: Added.
* fast/regions/autowidth-normalflow-expected.html: Added.
* fast/regions/autowidth-normalflow-maxwidth-expected.html: Added.
* fast/regions/autowidth-normalflow-maxwidth.html: Added.
* fast/regions/autowidth-normalflow-minmaxwidth-expected.html: Added.
* fast/regions/autowidth-normalflow-minmaxwidth.html: Added.
* fast/regions/autowidth-normalflow-minwidth-expected.html: Added.
* fast/regions/autowidth-normalflow-minwidth.html: Added.
* fast/regions/autowidth-normalflow-vertrl-expected.html: Added.
* fast/regions/autowidth-normalflow-vertrl.html: Added.
* fast/regions/autowidth-normalflow.html: Added.
* fast/regions/bottom-overflow-out-of-first-region.html:
* fast/regions/flows-dependency-dynamic-remove.html:
* fast/regions/flows-dependency-same-flow.html:
* fast/regions/render-region-renderer-expected.html:
* fast/regions/top-overflow-out-of-second-region.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unify size of popup menu for touch and non-touch.
https://bugs.webkit.org/show_bug.cgi?id=95606

Patch by Kevin Ellis <kevers@chromium.org> on 2012-09-05
Reviewed by Adam Barth.

Use minimum height for popup menus entries regardless of whether the
popup menu is displayed on a touch screen.  Replaces use of touch
padding.  Height meets minimum size requirement for a low error rate
while still looking aesthetic for non-touch.

Covered by existing tests.

* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::getRowHeight):
* platform/chromium/PopupMenuChromium.cpp:
(WebCore):
* platform/chromium/PopupMenuChromium.h:
(PopupMenuChromium):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Do not release shared backingstore memory prematurely
https://bugs.webkit.org/show_bug.cgi?id=95841
PR #202517

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-09-05
Reviewed by George Staikos.

The BackingStore memory is shared by all web pages. We should check if
the current backingStore is active before create/release this shared memory.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
(BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Provide implementation for TestRunner::pathToLocalResource()
https://bugs.webkit.org/show_bug.cgi?id=95842

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

Tools:

Provide proper implementation for TestRunner::pathToLocalResource()
in EFL WKTR, identical to the one for DumpRenderTree.

Map /tmp to ${DUMPRENDERTREE_TEMP} environment variable and
/tmp/LayoutTests to ${LOCAL_RESOURCE_ROOT} so that local resources
are found my WebKitTestRunner.

* WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp:
(WTR::TestRunner::pathToLocalResource):

LayoutTests:

Unskip fast/dom/frame-loading-via-document-write.html that
was failing due to incomplete implementation for
TestRunner::pathToLocalResource() in EFL WKTR.

* platform/efl-wk2/TestExpectations:

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