Unreviewed Chromium expectations update.

Marking fast/dom/shadow/base-in-shadow-tree.html as timeout flakey.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
efl wk2 bots weren't looking at platform/wk2/TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=97815

Unreviewed, build fix.

Should clean up this logic later so that we're just using the
implementation in base ...

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort._search_paths):
(EflPort.expectations_files):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium expectations update.

Flakey compositing tests and another flakey dom/shadow test.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rewrite multithreaded filter job dispatching
https://bugs.webkit.org/show_bug.cgi?id=97500

Reviewed by Dean Jackson.

Source/WebCore:

This patch solves the problem of splitting up images into subregions for multithreaded
filters. This fixes the way we partition the image array into equal-sized chunks.
If we have an array of length N and want to split it into K chunks, we calculate:
  int jobSize = N / K; // integer division, so this is floored
  int jobSizeExtra = N % K; // modulus produces the remainder
We then split the array into jobSizeExtra number of jobs with size jobSize + 1
and (K - jobSizeExtra) number of jobs with size jobSize. This pattern
is used in each of the 5 filters in this patch.

This patch primarily fixes an error in FEMorphology::platformApply where
the image array was partitioned into (1 + (N / K)) pieces with the last job
taking the remainder. Unfortunately, this can cause overruns in the 2nd-to-last job.
Consider N = 2373 and K = 64 jobs. Job 0 would take indices 0...38, job 1 would take
38...76, etc. Unfortunately the 62nd job takes 2356...2394 which overruns.

To prevent similar issues elsewhere this patch updates all of the filters
to use the same pattern as FEMorphology.

Test: svg/filters/feMorphology-crash.html

* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::platformApplySoftware):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApply):
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::platformApplyGeneric):
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::platformApply):

    Some special care is taken for Gaussian Blur because there is an
    extraHeight parameter for sampling outside the image's dimensions.
    This means we use the same partitioning algorithm but add
    extraHeight padding on the lower and upper bounds.

* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::platformApplySoftware):

LayoutTests:

Add test that shows the morphology filter no longer crashes.
Note: this is only reliably reproducable when run with libgmalloc.

* svg/filters/feMorphology-crash-expected.txt: Added.
* svg/filters/feMorphology-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip a couple of passing tests.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix issue with ClassList which was hitting an assert in debug mode
https://bugs.webkit.org/show_bug.cgi?id=97820

Reviewed by Ojan Vafai.

http://trac.webkit.org/changeset/129779 hit asserts in debug mode when trying to use fastGetAttribute on an SVG element.

No new tests. No change in behavior.

* bindings/v8/V8Binding.h:
(WebCore::toNativeArguments):
* html/ClassList.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium][Mac] Move Mac-specific theme functions out of PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=97817

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948. We're calling WebThemeEngine directly now instead of proxying through PlatformSupport.

Source/WebCore:

* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::scrollbarStateToThemeState):
(WebCore):
(WebCore::ScrollbarThemeChromiumMac::paint):

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:
* src/PlatformSupport.cpp:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl.html is flaky on Mac debug
and is passing on all the other bots.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove support for CFM plug-ins in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=97822

Reviewed by Mark Rowe.

I'm pretty sure that CFM style plug-ins haven't been used for the last ten years or so,
so it's safe to remove them (especially since they're PPC only).

* Plugins/WebNetscapePluginPackage.h:
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage openResourceFile]):
(-[WebNetscapePluginPackage closeResourceFile:]):
(-[WebNetscapePluginPackage _initWithPath:]):
(-[WebNetscapePluginPackage _tryLoad]):
(-[WebNetscapePluginPackage _unloadWithShutdown:]):
* Plugins/WebPluginDatabase.mm:
(PluginPackageCandidates::PluginPackageCandidates):
(PluginPackageCandidates::update):
(PluginPackageCandidates::bestCandidate):
(PluginPackageCandidates):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac][DRT] Add support to allow non-array modifier arguments in keyDown()
https://bugs.webkit.org/show_bug.cgi?id=97805

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-09-27
Reviewed by Alexey Proskuryakov.

Add support for handling a string as modifier argument to keyDown().
This support has already been added to other ports, so implementing
this on Mac too, to be consistent with the other ports.

* DumpRenderTree/mac/EventSendingController.mm:
(modifierFlags):
(buildModifierFlags):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix 32-bit build.

* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _initWithPath:]):
Add back the architecture check that i accidentally.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Perftest] PerfTestRunner exception when using nested git checkouts
https://bugs.webkit.org/show_bug.cgi?id=97796

Reviewed by Ryosuke Niwa.

In order to support separate Chromium vs. WebKit git trees, PerfTestsRunner needs to
instantiate per-repository SCM objects when collecting revision information.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._generate_results_dict):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add webkit_unit_tests to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=97814

Patch by Julie Parent <jparent@chromium.org> on 2012-09-27
Reviewed by Dirk Pranke.

webkit_unit_tests run on the same bots as test_shell_tests.

* TestResultServer/static-dashboards/builders.js:
(loadBuildersList):
* TestResultServer/static-dashboards/dashboard_base.js:
(currentBuilderGroupCategory):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Optimize encodeString/decodeString
https://bugs.webkit.org/show_bug.cgi?id=97794

Reviewed by Tony Chang.

Optimize string encoding/decoding, which showed up as a CPU hot spot during profiling.
The backing store uses big-endian ordering of 16-bit code unit strings, so a memcopy
isn't sufficient, but the code used StringBuilder::append() character-by-character
and custom byte-swapping which was slow.

Ran a test w/ DumpRenderTree (to avoid multiprocess overhead) taking a 10k character string
and putting it 20k times and getting it 20k times. On my test box, mean time before the
patch was 8.2s, mean time after the patch was 4.6s.

Tested by Chromium's webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*String*'

* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeString):
(WebCore::IDBLevelDBCoding::decodeString):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium debug build fix.

Two fixes makes one breakage

http://trac.webkit.org/changeset/129785
http://trac.webkit.org/changeset/129798

* bindings/v8/V8Binding.h:
(WebCore::toNativeArguments):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)
https://bugs.webkit.org/show_bug.cgi?id=95360

Patch by Andrew Lo <anlo@rim.com> on 2012-09-27
Reviewed by Simon Fraser.

Source/WebCore:

DisplayRefreshMonitorManager::ensureMonitorForClient currently only adds the DisplayRefreshMonitorClient
to the appropriate DisplayRefreshMonitor when a new monitor is created.
It should also do so when it finds an existing monitor.

Test: fast/animation/request-animation-frame-iframe2.html

* platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::addClient):
(WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):

LayoutTests:

Add a new test which does requestAnimationFrame in both a sub-frame and
main-frame, and checks that both were executed.

* fast/animation/request-animation-frame-iframe2-expected.txt: Added.
* fast/animation/request-animation-frame-iframe2.html: Added.
* fast/animation/script-tests/request-animation-frame-subframe.html:
    Remove element parameter from window.webkitRequestAnimationFrame.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Split up setVersion and deleteDatabase sequencing tests
https://bugs.webkit.org/show_bug.cgi?id=97482

Reviewed by Tony Chang.

Final chapter in the trilogy of webkit.org/b/97051 and webkit.org/b/97368 -
split up some complex multi-part tests so they are easier to understand and manage.
- Split open-close-setversion -> setversion-*
- Split factory-deletedatabase-interactions -> deletedatabase-*

* storage/indexeddb/deletedatabase-blocked-expected.txt: Added.
* storage/indexeddb/deletedatabase-blocked.html: Copied from LayoutTests/storage/indexeddb/factory-deletedatabase-interactions.html.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html: Copied from LayoutTests/storage/indexeddb/factory-deletedatabase-interactions.html.
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt: Added.
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html: Copied from LayoutTests/storage/indexeddb/factory-deletedatabase-interactions.html.
* storage/indexeddb/deletedatabase-not-blocked-expected.txt: Added.
* storage/indexeddb/deletedatabase-not-blocked.html: Copied from LayoutTests/storage/indexeddb/open-close-version.html.
* storage/indexeddb/factory-deletedatabase-interactions-expected.txt: Removed.
* storage/indexeddb/open-close-version-expected.txt: Removed.
* storage/indexeddb/resources/deletedatabase-blocked.js: Added.
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js: Added.
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js: Added.
* storage/indexeddb/resources/deletedatabase-not-blocked.js: Added.
* storage/indexeddb/resources/factory-deletedatabase-interactions.js: Removed.
* storage/indexeddb/resources/open-close-version.js: Removed.
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close-in-blocked.js: Added.
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js: Added.
* storage/indexeddb/resources/setversion-blocked.js: Added.
* storage/indexeddb/resources/setversion-blocks-open.js: Added.
* storage/indexeddb/resources/setversion-blocks-setversion.js: Added.
* storage/indexeddb/resources/setversion-not-blocked.js: Added.
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt: Added.
* storage/indexeddb/setversion-blocked-by-versionchange-close-in-blocked-expected.txt: Added.
* storage/indexeddb/setversion-blocked-by-versionchange-close-in-blocked.html: Copied from LayoutTests/storage/indexeddb/factory-deletedatabase-interactions.html.
* storage/indexeddb/setversion-blocked-by-versionchange-close.html: Renamed from LayoutTests/storage/indexeddb/factory-deletedatabase-interactions.html.
* storage/indexeddb/setversion-blocked-expected.txt: Added.
* storage/indexeddb/setversion-blocked.html: Copied from LayoutTests/storage/indexeddb/open-close-version.html.
* storage/indexeddb/setversion-blocks-open-expected.txt: Added.
* storage/indexeddb/setversion-blocks-open.html: Copied from LayoutTests/storage/indexeddb/open-close-version.html.
* storage/indexeddb/setversion-blocks-setversion-expected.txt: Added.
* storage/indexeddb/setversion-blocks-setversion.html: Copied from LayoutTests/storage/indexeddb/open-close-version.html.
* storage/indexeddb/setversion-not-blocked-expected.txt: Added.
* storage/indexeddb/setversion-not-blocked.html: Renamed from LayoutTests/storage/indexeddb/open-close-version.html.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=97823
Need to bump the WKBundlePageLoaderClient version after the addition of didLayout

Reviewed by Brady Eidson.

Bump the version.
* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Results page should warn about time-dependent distributions
https://bugs.webkit.org/show_bug.cgi?id=97818

Reviewed by Ojan Vafai.

Add a simple linear regression analysis on results page to detect time-dependent distributions.
We add a warning sign (inline SVG) when the regression gave us a slope of at least 0.01 and a R^2 of at least 0.6.
Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.

A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
but we probably need to restructure the code to run it asynchronously since normality tests are slow.

* resources/results-template.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r129186): Pressing enter at the end of a line deletes the line
https://bugs.webkit.org/show_bug.cgi?id=97763

Reviewed by Ryosuke Niwa.

r129186 exposed incorrect behavior in RenderText whereby RenderText's lines were
dirtied but the renderer wasn't marked for layout. Rich text editing in GMail exposed
this behavior. RenderText::setTextWithOffset is called with a text string identical
to the current text. It still dirties lines, then calls setText, which has a check
for the case when the strings are the same and returns early and doesn't mark us as
needing layout.

This change adds the same early bailing logic in setText to setTextWithOffset, but
forces setText to work its magic whenever we dirty lines there (and avoid double-
checking that the strings are equal).

* rendering/RenderText.cpp:
(WebCore::RenderText::setTextWithOffset):


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