[WinCairo] Memory cache capacity is not set.
https://bugs.webkit.org/show_bug.cgi?id=136432

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-02
Reviewed by Alex Christensen.

Reuse code from AppleWin to set memory and disk cache capacity.

* WebKitSystemBits.cpp:
(WebVolumeFreeSize):
* WebKitSystemBits.h:
* WebView.cpp:
(WebView::setCacheModel):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GMainLoopSource is exposed to race conditions
https://bugs.webkit.org/show_bug.cgi?id=135800

Reviewed by Carlos Garcia Campos.

Source/WTF:

GMainLoopSource objects can be dispatching tasks on one thread
while having a new task scheduled on a different thread. This
can for instance occur in WebKitVideoSink, where the timeout
callback can be called on main thread while at the same time
it is being rescheduled on a different thread (created through
GStreamer).

The initial solution is to use GMutex to prevent parallel data
access from different threads. In the future I plan to add better
assertions, some meaningful comments and look at the possibility
of creating thread-specific GMainLoopSource objects that wouldn't
require the use of GMutex.

GSource, GCancellable and std::function<> objects are now packed
into an internal Context structure. Using the C++11 move semantics
it's simple to, at the time of dispatch, move the current context
out of the GMainLoopSource object in case the dispatch causes a
rescheduling on that same object.

All the schedule*() methods and the cancelInternal() method callers
now lock the GMutex to ensure no one else is accessing the data at
that moment. Similar goes for the dispatch methods, but those do
the dispatch and possible destruction duties with the mutex unlocked.
The dispatch can cause rescheduling on the same GMainLoopSource object,
which must not be done with a locked mutex.

* wtf/gobject/GMainLoopSource.cpp:
(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::cancelInternal):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::destroy):
(WTF::GMainLoopSource::reset): Deleted.
* wtf/gobject/GMainLoopSource.h:

Tools:

Add a unit test for GMainLoopSource that tests different
types of rescheduling tasks on already-active sources.

* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp: Added.
(GMainLoopSourceTest::GMainLoopSourceTest):
(GMainLoopSourceTest::~GMainLoopSourceTest):
(GMainLoopSourceTest::runLoop):
(GMainLoopSourceTest::finish):
(GMainLoopSourceTest::source):
(testGMainLoopSourceBasicRescheduling):
(testGMainLoopSourceReentrantRescheduling):
(testGMainLoopSourceDifferentThreadRescheduling):
(beforeAll):
(afterAll):
(TestWebKitAPI::GMainLoopSourceTest::GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::~GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::runLoop):
(TestWebKitAPI::GMainLoopSourceTest::finish):
(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't generate superfluous mov instructions for move immediate on ARM64.
https://bugs.webkit.org/show_bug.cgi?id=136435

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-09-03
Reviewed by Michael Saboff.

On ARM64, the size of an immediate operand for a mov instruction is 16
bits. Thus, a move immediate offlineasm instruction may potentially be
split up to several machine level instructions. The current
implementation always emits a mov for the least significant 16 bits of
the value. However, if any of the bits 63:16 are significant then the
first emitted mov already filled bits 15:0 with zeroes (or ones, for
negative values). So, if bits 15:0 of the value are all zeroes (or ones)
then the last mov does not need to be emitted.

* offlineasm/arm64.rb:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[XSLT] Make WebKit build when XSLT is disabled
https://bugs.webkit.org/show_bug.cgi?id=136471

Reviewed by Simon Fraser.

Fixes a Clang compiler warning that file-static function WebCore::hasNoStyleInformation is unused.
This function is only called from ENABLE(XSLT)-guarded code. So, add a ENABLE(XSLT)-guard around
WebCore::hasNoStyleInformation().

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::hasNoStyleInformation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix after r173200.

* WebView.cpp:
(WebView::setCacheModel): Use appropriate types for cache sizes to be
64-bit clean on CFNetwork compile.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simplify DOMTimer::adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=136402

Reviewed by Andreas Kling.

When the minimum DOM timer interval changes, the Page updates all DOMTimers accordingly.
Updating the fire/repeat interval on TimerBase requires a delta, but in
DOMTimer::adjustMinimumTimerInterval we have the new requested interval. In the case of
timers we can get the current interval to calculate the delta by calling repeatInterval(),
but in the case of one-shot timers neither TimerBase nor DOMTimer have store the interval
that was actually set for the timer (DOMTimer knows the original, unadjusted timer, but
not the actual interval). The way this currently works is that when the minimum interval
changes, Page calls adjustMinimumTimerInterval providing the previous minimum. If the
timer is one-shot, then adjustMinimumTimerInterval will use this to compute the delta
based on what the interval would have been.

We can simplify & unify with the code to throttle interval timers when the nesting
threshold is hit, by instead tracking the current timer interval as a member on DOMTimer &
using this to compute the delta in all cases.

* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
    - adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
    initialize m_currentTimerInterval
(WebCore::DOMTimer::fired):
    - when the nesting level changes (potentially triggering throttling) just call updateTimerIntervalIfNecessary
(WebCore::DOMTimer::updateTimerIntervalIfNecessary):
    - compute delta based on m_currentTimerInterval
(WebCore::DOMTimer::intervalClampedToMinimum):
    - this now always takes m_originalInterval and scriptExecutionContext()->minimumTimerInterval()
      as its inputs, so remove arguments.
(WebCore::DOMTimer::adjustMinimumTimerInterval): Deleted.
    - adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
* page/DOMTimer.h:
    - adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary, added m_currentTimerInterval



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Font Loading] Enable Page Caching
https://bugs.webkit.org/show_bug.cgi?id=136044

Reviewed by Andreas Kling.

Source/WebCore:

Modifying FontLoader to track fonts loaded via the loadFont
method as well as via CSS rules. Fonts loaded via loadFont are
tracked in m_numLoadingFromJS, while fonts loaded via CSS rules
are tracked in m_numLoadingFromCSS. The page is cacheable when no
fonts are currently loading.

Added fast/css/fontloader-page-cache.html

* css/FontLoader.cpp:
(WebCore::LoadFontCallback::create): Modified to take and store
the number of fonts it will be loading.
(WebCore::LoadFontCallback::createFromParams): Ditto.
(WebCore::LoadFontCallback::familyCount): Getter for number of
fonts loaded via this callback.
(WebCore::LoadFontCallback::LoadFontCallback):
(WebCore::LoadFontCallback::notifyLoaded): Callback the FontLoader
to let it update its count when all the fonts have finished loading.
(WebCore::FontLoader::loadFontDone): Ditto.
(WebCore::FontLoader::FontLoader):
(WebCore::FontLoader::beginFontLoading): Track the number of fonts
loading.
(WebCore::FontLoader::fontLoaded): Ditto.
(WebCore::FontLoader::loadError): Ditto.
(WebCore::FontLoader::loadFont):
* css/FontLoader.h:
(WebCore::FontLoader::loading):

LayoutTests:

Adding test that loads a font then navigates away and back.
Test must also be disabled while feature is turned off.

* TestExpectations: Skip test.
* fast/css/fontloader-page-cache-expected.txt: Added.
* fast/css/fontloader-page-cache.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Unreviewed test gardening.

Remove abandoned results for tests that had been converted to reftest.
Also resolve warnings in TestExpectation file.

* platform/win/TestExpectations: 
* platform/win/ietestcenter/css3/flexbox: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-ordinal-group-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid: Removed.
* platform/win/ietestcenter/css3/grid/display-grid-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/display-grid-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/display-grid-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/display-grid-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-column-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-column-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-column-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-column-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-column-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-column-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-columns-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-columns-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-004-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-004-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-005-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/grid/grid-items-005-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/declaring-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/declaring-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/prefix-008-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/prefix-008-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/prefix-009-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/prefix-009-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/scope-003-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/scope-003-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-016-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-016-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-017-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-017-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-018-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-018-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-019-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-019-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-020-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-020-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-021-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-021-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-022-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-022-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-023-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/syntax-023-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/terminology-001-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/namespaces/terminology-001-expected.txt: Removed.
* platform/win/ietestcenter/css3/valuesandunits: Removed.
* platform/win/ietestcenter/css3/valuesandunits/units-000-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/valuesandunits/units-010-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/valuesandunits/units-010-expected.txt: Removed.
* platform/win/ietestcenter/css3/valuesandunits/units-020-expected-expected.txt: Removed.
* platform/win/ietestcenter/css3/valuesandunits/units-020-expected.txt: Removed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Dashboard should show performance bots.
https://bugs.webkit.org/show_bug.cgi?id=136386

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._parseData.collectPerfTestResults):
(BuildbotIteration.prototype._parseData):
Support possible performance failures.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js:
New QueueView to manage the way we present performance data.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue):
Support new 'performance' and 'performanceTestName' keys.


* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
Add performance column to the main page.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(body):
Make sure everything fits on 13 inch screens.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use StringBuilder append(char) and appendLiteral in more places
https://bugs.webkit.org/show_bug.cgi?id=136470

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-03
Reviewed by Andreas Kling.

* Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::loggingString):
* Modules/websockets/WebSocket.cpp:
(WebCore::encodeProtocolString):
* Modules/websockets/WebSocketExtensionDispatcher.cpp:
(WebCore::WebSocketExtensionDispatcher::createHeaderValue):
(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientLocation):
(WebCore::WebSocketHandshake::clientHandshakeMessage):
* css/CSSCalculationValue.cpp:
(WebCore::buildCssText):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::cssText):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::cssText):
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::selectorsText):
* css/CSSSupportsRule.cpp:
(WebCore::CSSSupportsRule::cssText):
* css/MediaQuery.cpp:
(WebCore::MediaQuery::serialize):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::generateUniquePrefix):
* editing/markup.cpp:
(WebCore::urlToMarkup):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::convertToDataURL):
* html/EmailInputType.cpp:
(WebCore::EmailInputType::sanitizeValue):
* html/FormController.cpp:
(WebCore::recordFormStructure):
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::buildConsoleError):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::collectCueText):
* mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::longDivLeftPadding):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendElement):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::toRawString):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::logThreadedScrollingMode):
* platform/PODInterval.h:
(WebCore::PODInterval::toString):
* platform/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::dumpFromNode):
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):
* platform/network/ProxyServer.cpp:
(WebCore::appendProxyServerString):
(WebCore::toString):
* platform/text/DateTimeFormat.cpp:
(WebCore::DateTimeFormat::quoteAndAppendLiteral):
* platform/text/PlatformLocale.cpp:
(WebCore::DateTimeStringBuilder::zeroPadString):
(WebCore::Locale::convertFromLocalizedNumber):
* platform/text/TextStream.cpp:
(WebCore::TextStream::operator<<):
* rendering/RenderListMarker.cpp:
(WebCore::listMarkerText):
* testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
(WebCore::Internals::getCurrentCursorInfo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FTL In implementation sets callReturnLocation incorrectly leading to crashes beneath repatchCall()
https://bugs.webkit.org/show_bug.cgi?id=136488

Reviewed by Mark Hahnenberg.

* ftl/FTLCompile.cpp:
(JSC::FTL::generateCheckInICFastPath): The call is in the slow path.
* tests/stress/ftl-in-overflow.js: Added. This used to crash with 100% with FTL enabled.
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CallEdgeProfile::visitWeak() should gracefully handle the case where primaryCallee duplicates an entry in otherCallees
https://bugs.webkit.org/show_bug.cgi?id=136490

Reviewed by Geoffrey Garen.

* bytecode/CallEdgeProfile.cpp:
(JSC::CallEdgeProfile::visitWeak):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of HIGH_DPI_CANVAS leftovers
https://bugs.webkit.org/show_bug.cgi?id=136491

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS
and removed it from FEATURE_DEFINES.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS
and removed it from FEATURE_DEFINES.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Removed #if ENABLE(HIGH_DPI_CANVAS)
code.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS
and removed it from FEATURE_DEFINES.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS
and removed it from FEATURE_DEFINES.

Source/WTF:

* wtf/FeatureDefines.h: Removed definition of ENABLE_HIGH_DPI_CANVAS.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Prevent double-release on AVCFURLAssetRef
https://bugs.webkit.org/show_bug.cgi?id=136492
<rdar://problem/18206746>

Reviewed by Eric Carlson.

The AVFWrapper::setAsset method needs to retain the passed argument, since it
originates from AVCFPlayerItemGetAsset, which does not increment the
reference count of its return value as expected by Cocoa Get/Create/Copy
semantics.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::setAsset): Retain the passed argument.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for the initial-letter CSS property to first-letter
https://bugs.webkit.org/show_bug.cgi?id=136484

Reviewed by Dean Jackson.
Source/WebCore:

        
New tests in fast/css-generated-content/initial-letter-*.html

This patch add support for the CSS initial-letter property, enabling
better drop caps support in WebKit. Letters size to a specified number of
paragraph lines, and align to the cap-height of the first line and the baseline
of the last line.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
Add -webkit-initial-letter to the list.

* css/CSSLineBoxContainValue.cpp:
(WebCore::CSSLineBoxContainValue::customCSSText):
* css/CSSLineBoxContainValue.h:
Add support for a new value of line-box-contain, initial-letter, that causes
lines to use cap-height above the baseline and the glyph bounds below the
baseline.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Add support for parsing of initial-letter.

(WebCore::CSSParser::parseLineBoxContain):
Add the new line-box-contain value for first-letters with initial-letter set.

* css/CSSPropertyNames.in:
Add the new initial-letter property.

* css/CSSValueKeywords.in:
Add the new initial-letter line-box-contain value.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Map initial-letter into the RenderStyle.

* platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::hasCapHeight):
(WebCore::FontMetrics::floatCapHeight):
(WebCore::FontMetrics::setCapHeight):
(WebCore::FontMetrics::capHeight):
* platform/graphics/ios/SimpleFontDataIOS.mm:
(WebCore::SimpleFontData::platformInit):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformInit):
Add support for cap-height to the font system. iOS and Mac have been patched.
Other platforms will need to add support for cap-height to get this feature.
hasCapHeight() will return false for unsupported platforms for graceful
degradation.

* rendering/RenderBlock.cpp:
(WebCore::styleForFirstLetter):
Modified to check for initialLetterDrop/Height and to adjust the style
accordingly (e.g., to apply float when needed).

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
Code to adjust the float's position and margin to do cap-height alignment
and sunken letters.

* rendering/RenderBlockFlow.h:
Remove the const from computeLogicalLocationForFloat, since the margin of the
float can now be modified dynamically for sunken first-letters.

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox):
Add support for initial-letter line-box-contain value.

* rendering/RootInlineBox.h:
Add the includeInitialLetterForBox method to support the new line-box-contain value.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
Normal maintenance stuff for addition of a new CSS property (making sure it is diffed
properly for layout changes and copied on assignment, etc.)

LayoutTests:


* fast/css-generated-content/initial-letter-basic.html: Added.
* fast/css-generated-content/initial-letter-border-padding.html: Added.
* fast/css-generated-content/initial-letter-descender.html: Added.
* fast/css-generated-content/initial-letter-raised.html: Added.
* fast/css-generated-content/initial-letter-sunken.html: Added.
* platform/mac/fast/css-generated-content/initial-letter-basic-expected.png: Added.
* platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
* platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
* platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
* platform/mac/fast/css-generated-content/initial-letter-descender-expected.png: Added.
* platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
* platform/mac/fast/css-generated-content/initial-letter-raised-expected.png: Added.
* platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
* platform/mac/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
* platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Improper release of unretained AVCFAssetResourceLoaderRef
https://bugs.webkit.org/show_bug.cgi?id=136493
<rdar://problem/18112559>

Reviewed by Eric Carlson.

Don't bother wrapping the return value of AVCFURLAssetGetResourceLoader in a
RetainPtr. We don't hold onto this value or want to control its lifetime; we just
want to pass it to the AVCFAssetResourceLoaderSetCallbacks function.

Use of the RetainPtr created a double-release and crash.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createAssetForURL): 


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Revise test environment for Windows build.
https://bugs.webkit.org/show_bug.cgi?id=136486

Reviewed by David Kilzer.

The various calls to get the Safari path really only have
meaning on the Mac. Other ports get access to the build
and test environment separately, so remove the various
checks in the Safari-specific code to simplify things.

Remove some 64-bit hacks used on Windows now that the
various tools know how to find the 64-bit runtime environment.

* Scripts/run-javascriptcore-tests: 
* Scripts/webkitdirs.pm:
(safariPathFromSafariBundle): Revise to expect Mac.
(installedSafariPath): Ditto.
(safariPath): Ditto.
(appleApplicationSupportPath): Get rid of 64-bit Windows hack.
(setPathForRunningWebKitApp): Get rid of unused SafariPath
argument for Windows runs.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of DOMImplementationFront
https://bugs.webkit.org/show_bug.cgi?id=136495

Reviewed by Andreas Kling.

DOMImplementationFront was used in a workaround for a GCC bug, and since we're building with clang
on Mac this is no longer an issue.

* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMImplementationFront.cpp: Removed.
* bindings/objc/DOMImplementationFront.h: Removed.
Remove files.

* bindings/objc/DOMUtility.mm:
(JSC::createDOMWrapper):
Remove call to implementationFront.

* bindings/scripts/CodeGeneratorObjC.pm:
(GetImplClassName):
Remove DOMImplementation special case

(AddIncludesForType):
Ditto.

(GenerateHeader):
Use the class header name in the #import in the internal header.

(GenerateImplementation):
Remove DOMImplementation special case.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
iOS build fix after r173217 

* platform/graphics/ios/FontServicesIOS.h:
(WebCore::FontServicesIOS::capHeight):
* platform/graphics/ios/FontServicesIOS.mm:
(WebCore::FontServicesIOS::FontServicesIOS):
This fixes the build, but I don't know if it's completely correct.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@173221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add missing implementations to fix build for sh4 architecture
https://bugs.webkit.org/show_bug.cgi?id=136455

Reviewed by Geoffrey Garen.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::store8):
(JSC::MacroAssemblerSH4::moveWithPatch):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branch32WithPatch):
(JSC::MacroAssemblerSH4::abortWithReason):
(JSC::MacroAssemblerSH4::canJumpReplacePatchableBranch32WithPatch):
(JSC::MacroAssemblerSH4::startOfPatchableBranch32WithPatchOnAddress):
(JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranch32WithPatch):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogue):



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