Add comment to WebKit skia gyp

Unreviewed additon of a comment.

* skia_webkit.gyp: Some changes should not yet be committed. Commented to that effect.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] run-webkit-tests cleanup for parallel NRWT
https://bugs.webkit.org/show_bug.cgi?id=106220

Reviewed by Dirk Pranke.

* Scripts/run-webkit-tests:
(useNewRunWebKitTests):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort):
(QtPort.default_child_processes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support size_t multiplication and division operators on LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=83848

Reviewed by Emil A Eklund.

Source/WebCore:

Per Darin's suggestion, adding a version of the operator for most unsigned types (excluding
only unsigned char). This should automatically cover size_t as it should be one of these.

Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

* platform/LayoutUnit.h:
(WebCore::LayoutUnit::LayoutUnit):
(WebCore::operator*):
(WebCore::operator/):
Added the operators and (possibly saturating) constructors for unsigned short, unsigned long,
unsigned long long.

Tools:

* TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
Added some simple tests for the new operators using size_t.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Update bug numbers and organize bug lines.

* platform/chromium/TestExpectations: Organizzazzed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark fast/block/float/max-width-clear-float-with-overflow-hidden.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=47975

* platform/chromium/TestExpectations: Marked.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Extract a class to represent a test result to simplify PerfTest.parse_output and PageLoadPerfTest._run_with_driver
https://bugs.webkit.org/show_bug.cgi?id=106172

Reviewed by Tony Chang.

Extracted PerfTestMetric, which represents a test result and knows how to compute statistics and convert itself
to a dictionary. A metric is a type of measurement each test makes such as "Time", "Malloc", and "JSHeap".
A single test (e.g. html5-full-render.html) may have multiple metrics, each of which is reported as a separate
test on perf-o-matic and perf. test's results page.

Also, use python's compute_statistics instead of reading statistics off of DriverOutput to simplify the code.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric): Added.
(PerfTestMetric.__init__): Added.
(PerfTestMetric.metric): Added.
(PerfTestMetric.has_values): Added.
(PerfTestMetric.legacy_chromium_bot_compatible_test_name): Added. Following the legacy convention, "Malloc" and
"JSHeap" will use "test_name:Malloc" whereas "Time" uses "test_name" itself. We should eventually move these
conversions to be done on the client side (perf-o-matic and results page).
(PerfTestMetric.append): Added.
(PerfTestMetric.to_dict): Added. Computes the statistics and generates the dictionary object that represents
a result for this metric.
(PerfTestMetric.metric_to_unit): Added. Each metric maps to exactly one unit (it's not one-to-one).
(PerfTestMetric.compute_statistics): Moved from PerfTest.

(PerfTest._create_driver): Extracted from PerfTest.run.
(PerfTest.run): Given an array of PerfTestMetric, generate the results dictionary. Also print out results
as needed.
(PerfTest._run_with_driver):
(PerfTest): Removed _result_classes and _result_class_regex. "result class" is the old name for "metric".
(PerfTest.parse_output): Dramatically simplified. We now just return an array of PerfTestMetric's. Also ignore
all keys except "values". We rely on PerfTestMetric to compute the statistics for us.

(ChromiumStylePerfTest.run): Added and merged _run_with_driver. Since chromium style perf tests are so different
from other perf tests, there isn't much point in sharing the code here.

(PageLoadingPerfTest._run_with_driver): Simplified. Just create an array of PerfTestMetric's without computing
statistics for the measured values.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestMetric): Added.
(TestPerfTestMetric.test_init_set_missing_unit): Added.
(TestPerfTestMetric.test_legacy_chromium_bot_compatible_test_name): Added.
(TestPerfTestMetric.test_has_values): Added.
(TestPerfTestMetric.test_append): Added.
(TestPerfTestMetric.test_compute_statistics.compute_statistics):
(TestPerfTestMetric.test_compute_statistics): Added a trivial test case.

(TestPerfTest._assert_results_are_correct): Updated as needed.
(TestPageLoadingPerfTest.test_run): Ditto. Notice that we no longer log anything in _run_with_driver. It's done
in PerfTest.run now after generating the results dictionary.
(TestPageLoadingPerfTest.test_run_with_memory_output): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
https://bugs.webkit.org/show_bug.cgi?id=106225
RIM PR 274948

Reviewed by George Staikos.
Based on a patch by Chris Guan.

didRenderContent() has a mechanism to avoid double blits;
when scrolling or zooming is enabled then we don't issue
blitContents() as the client would (continually) do that
already.

However, since r138024, didRenderContents() also deals
with one-shot drawing synchronization and commits.
When these are required, we can't just skip out or the
backingstore and overlaying composited layers are likely
to get out of sync. The condition also doesn't make much
sense for direct rendering as no blit calls are issued
at all when it is enabled.

Fix the issue by limiting the impact of the scroll/zoom
early return to only regular blit operations.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
testapi is failing with a block-related error in the Objc API
https://bugs.webkit.org/show_bug.cgi?id=106055

Reviewed by Geoffrey Garen.

Casting a block to a bool will always return true, which isn't the behavior that is intended here.
Instead we need to call the block, but C semantics don't allow this, so we need to change
testapi.m to be Objective-C++ and therefore testapi.mm.

* API/tests/testapi.m: Removed.
* API/tests/testapi.mm: Copied from Source/JavaScriptCore/API/tests/testapi.m.
(blockSignatureContainsClass):
* JavaScriptCore.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor client removal in CachedResource::switchClientsToRevalidatedResource
https://bugs.webkit.org/show_bug.cgi?id=106206

Previously switchClientsToRevalidatedResource() failed to call didRemoveClient() for each
client and instead simply cleared m_clients. This patch removes an incorrect comment and
refactors the code so that removeClient() and didRemoveClient() are properly called.

Reviewed by Nate Chapin.

No new tests as there are no observable changes from this refactoring.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::switchClientsToRevalidatedResource):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Marked WebAudio tests that are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106232

* platform/chromium/TestExpectations: Marked.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Disable deprecation warnings for GStaticRecMutex
https://bugs.webkit.org/show_bug.cgi?id=105918

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-01-07
Reviewed by Philippe Normand.

GStaticRecMutex is deprecated since glib 2.32, but we can't remove
it because it's needed by GStreamer 0.10. The solution is to
disable the deprecation warnings for that code alone.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html has repainting issues
https://bugs.webkit.org/show_bug.cgi?id=97208

Reviewed by Tony Chang.

Following the fix for https://bugs.webkit.org/show_bug.cgi?id=105893, i converted this to a ref test.
Used a defined monospace font for similar results on all platforms.

* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.html: Added.
* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html:
* platform/chromium-linux/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-mac-lion/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/chromium/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/efl/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/gtk/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        ResourceHandle::willLoadFromCache is evil
        https://bugs.webkit.org/show_bug.cgi?id=106147

        Reviewed by Brady Eidson.

        For back/forward navigations to a page that's a result of form submission, we may
        never silently re-submit the form. So, we show a warning dialog when about to re-submit,
        but try to load from cache if possible.

        This patch changes the logic so that we always try to fetch from cache, without
        any preflighting. If cache load fails, we restart the load as a known re-submit.

        No behavior change expected, so no tests.

        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick):
        Added a FIXME.

        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::startLoadingMainResource):
        Amended a FIXME with some information about why this call may still be needed.

        * loader/FrameLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame): Pass an explicit argument for unchanged caching behavior.
        (WebCore::FrameLoader::reloadWithOverrideEncoding): Added a FIXME. This function
        can silently re-submit a form.
        (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): Added a FIXME about
        an incorrect use of current load type.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Make sure that a correct caching
        policy is used for subresources even if main resource was loaded from cache. We
        didn't need that before because initial request had wrong extra fields due to a use
        of m_loadType when it was first called.
        Removed code to change caching policy for b/f navigations. This function does not
        have enough context to decide what the policy should be.
        (WebCore::FrameLoader::loadDifferentDocumentItem): Added an argument telling the
        function whether it should attempt loading from cache. It should do that on first
        attempt to navigate to a form submission result, but not if that failed.
        Pass a correct loadType - m_loadType is one for _previous_ load.
        Removed a special case for https - we've long stopped prohibiting caching of https
        resources, and using a resource that's already cached should definitely be allowed.
        (WebCore::FrameLoader::loadItem): Pass an explicit argument for unchanged caching behavior.
        (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad): Added.

        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::notifyFinished):
        Removed a check for m_resource being null, because we were immediately dereferencing
        it anyway.
        Call retryAfterFailedCacheOnlyMainResourceLoad() to let FrameLoader restart the navigation.

        * platform/network/ResourceHandle.h:
        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        * platform/network/chromium/ResourceHandle.cpp:
        * platform/network/curl/ResourceHandleCurl.cpp:
        * platform/network/mac/ResourceHandleMac.mm:
        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/network/soup/ResourceHandleSoup.cpp:
        * platform/network/win/ResourceHandleWin.cpp:
        Removed willLoadFromCache() - the new logic is cross-platform.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
https://bugs.webkit.org/show_bug.cgi?id=106148

Reviewed by Adam Barth.

Source/WebCore:

These methods are becoming async in multiprocess ports, so stub out
versions that have no return values.

* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):

Source/WebKit/chromium:

Stub out WebKit API for async createObjectStore.

* public/WebIDBDatabase.h:
(WebIDBDatabase):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::createObjectStore):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteObjectStore):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::createObjectStore):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteObjectStore):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[JSC] Copy non-index properties of arrays in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=105575

Patch by Michael Pruett <michael@68k.org> on 2013-01-07
Reviewed by Oliver Hunt.

The structured cloning algorithm requires copying all properties of
array objects, including non-index properties.

Source/WebCore:

Tests: fast/storage/serialized-script-value.html
       storage/indexeddb/structured-clone.html

* bindings/js/SerializedScriptValue.cpp:
(WebCore):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::putProperty):
(WebCore::CloneDeserializer::deserialize):

LayoutTests:

* fast/storage/resources/serialized-script-value.js:
* fast/storage/serialized-script-value-expected.txt:
* fast/storage/serialized-script-value.html:
* platform/chromium/fast/storage/serialized-script-value-expected.txt:
* platform/chromium/fast/storage/serialized-script-value.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix attempt after r138810.

Apparently python 2.6 is really bad at floating point computation.

* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest.test_run_memory_test):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Track] Rendering crash
https://bugs.webkit.org/show_bug.cgi?id=106199

Reviewed by Eric Carlson.

Source/WebCore:

The browser is crashing if a text track is added through JavaScript,
due to the fact that the containing block is not marked as inline at
the time RenderTextTrackCue::layout() is called. The fix consists
of ensuring that the pseudo id is set, even if the track isn't
yet visible.

Test: media/track/track-cue-inline-assertion-crash.html

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::updateDisplayTree): The pseudo-id should
be set when the display tree is generated.
(WebCore::TextTrackCue::getDisplayTree): Added extra check to not
do unneccessary logic if the track will never be displayed.

LayoutTests:

* media/track/track-cue-inline-assertion-crash-expected.txt: Added.
* media/track/track-cue-inline-assertion-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaselines after http://trac.webkit.org/changeset/138838.

* platform/chromium-mac-lion/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-mac-lion/fast/table/038-vertical-expected.png:
* platform/chromium-mac-lion/fast/table/border-collapsing/004-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/table/038-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/table/border-collapsing/004-vertical-expected.png:
* platform/chromium-mac/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-mac/fast/table/038-vertical-expected.png:
* platform/chromium-mac/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
* platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/chromium-win-xp/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-win-xp/fast/table/038-vertical-expected.png: Added.
* platform/chromium-win-xp/fast/table/border-collapsing/004-vertical-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/gtk/fast/ruby/base-shorter-than-text-expected.txt:
* platform/gtk/fast/table/038-vertical-expected.txt:
* platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/mac-lion/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
* platform/mac-lion/fast/table/border-collapsing/004-vertical-expected.txt: Added.
* platform/mac-wk2/fast/table/038-vertical-expected.txt: Renamed from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
* platform/mac-wk2/fast/table/border-collapsing/004-vertical-expected.txt: Added.
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/qt/fast/table/038-vertical-expected.txt:
* platform/qt/fast/table/border-collapsing/004-vertical-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
https://bugs.webkit.org/show_bug.cgi?id=106236

Unreviewed, rolling out r136173.
This becomes unnecessary now as there are alternative approaches to
solve the issue from the client sides.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::createWindow):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MIPS LLInt implementation.
https://bugs.webkit.org/show_bug.cgi?id=99706

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-01-07
Reviewed by Filip Pizlo.

LLInt implementation for MIPS.

Source/JavaScriptCore:

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::jump):
* dfg/DFGOperations.cpp:
(JSC):
* jit/JITStubs.cpp:
(JSC):
* jit/JITStubs.h:
(JITStackFrame):
* llint/LLIntOfflineAsmConfig.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* offlineasm/backends.rb:
* offlineasm/instructions.rb:
* offlineasm/mips.rb: Added.

Source/WTF:

* wtf/Platform.h:

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