WebKit-https.git
8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 2 Oct 2012 10:12:44 +0000 (10:12 +0000)]
Unreviewed GTK gardening.

Rebaselining fast/canvas/canvas-render-layer.html after r130056.
Changing one calendar picker expectation after r130113.
Marking fast/css/sticky/sticky-writing-mode-vertical-rl.html as flaky.

* platform/gtk/TestExpectations:
* platform/gtk/fast/canvas/canvas-render-layer-expected.txt:

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

8 years agoWeb Inspector: NMI make String* instrumentation non intrusive
loislo@chromium.org [Tue, 2 Oct 2012 09:43:36 +0000 (09:43 +0000)]
Web Inspector: NMI make String* instrumentation non intrusive
https://bugs.webkit.org/show_bug.cgi?id=97964

Reviewed by Yury Semikhatsky.

Source/WebCore:

MemoryInstrumentationString.h include was added.

* dom/WebCoreMemoryInstrumentation.h:

Source/WebKit/chromium:

The expectations were fixed because old instrumentation had wrong detector for BufferInternal type of storage.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):

Source/WTF:

MemoryInstrumentationString.h was added.
Intrusive instrumentation was removed.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/MemoryInstrumentation.h:
(WTF):
* wtf/MemoryInstrumentationString.h: Added.
(WTF):
(WTF::reportMemoryUsage):
* wtf/text/AtomicString.cpp:
(WTF):
* wtf/text/AtomicString.h:
(AtomicString):
* wtf/text/CString.h:
(WTF::CStringBuffer::length):
* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
(WTF::StringImpl::usesInternalBuffer):
(WTF::StringImpl::baseString):
(StringImpl):

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

8 years agoWeb Inspector: inspector/debugger/script-snippet-model.html fails
vsevik@chromium.org [Tue, 2 Oct 2012 09:35:38 +0000 (09:35 +0000)]
Web Inspector: inspector/debugger/script-snippet-model.html fails
https://bugs.webkit.org/show_bug.cgi?id=98129

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype._runScript):
(WebInspector.ScriptSnippetModel.prototype._printRunScriptResult):

LayoutTests:

* inspector/debugger/script-snippet-model.html:

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

8 years agoRemove anonymous namespace from StyleBuilder.cpp for better debugging experience
yurys@chromium.org [Tue, 2 Oct 2012 09:29:14 +0000 (09:29 +0000)]
Remove anonymous namespace from StyleBuilder.cpp for better debugging experience
https://bugs.webkit.org/show_bug.cgi?id=98124

Reviewed by Alexander Pavlov.

* css/StyleBuilder.cpp: removed anonymous namespace.
(WebCore):

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

8 years agoUse correct gtest macros for tests for true/false
jochen@chromium.org [Tue, 2 Oct 2012 09:29:01 +0000 (09:29 +0000)]
Use correct gtest macros for tests for true/false

Unreviewed build-fix.

Using EXPECT_EQ(true, ...) makes clang trip when it tries to convert
true to a pointer. Tests should use EXPECT_TRUE instead.

* tests/WebFrameTest.cpp:

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

8 years agoWeb Inspector: CSS property names autocomplete: Suggest most used rather than alphabe...
commit-queue@webkit.org [Tue, 2 Oct 2012 08:59:39 +0000 (08:59 +0000)]
Web Inspector: CSS property names autocomplete: Suggest most used rather than alphabeticaly first
https://bugs.webkit.org/show_bug.cgi?id=96763

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-10-02
Reviewed by Alexander Pavlov.

Implement selection of non-first item in WebInspector.TextPrompt.SuggestBox.

* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions.Weight): Collect most used CSS property names. Rarely used properties are not presented.
(WebInspector.CSSCompletions.prototype.firstStartsWith): Remove unused function.
(WebInspector.CSSCompletions.prototype.mostUsedOf):
* inspector/front-end/StylesSidebarPane.js:
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox): Introduce _length and _selectedIndex to remove unnecessary DOM traversals.
    Simplify canShowForSingleItem logic.
(WebInspector.TextPrompt.SuggestBox.prototype._selectClosest): _onPreviousItem and _onNextItem had some logic
    duplication so I replaced them with this method.
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._selectItem):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):

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

8 years agoWeb Inspector: Modifications in a shadow tree don't update the Elements panel.
keishi@webkit.org [Tue, 2 Oct 2012 08:36:49 +0000 (08:36 +0000)]
Web Inspector: Modifications in a shadow tree don't update the Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=97056

Reviewed by Pavel Feldman.

Source/WebCore:

Send characterDataModified event for shadow dom nodes too so they update the elements panel.

Test: inspector/elements/shadow-dom-modify-chardata.html

* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):

LayoutTests:

* inspector/elements/shadow-dom-modify-chardata-expected.txt: Added.
* inspector/elements/shadow-dom-modify-chardata.html: Added.

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

8 years agoWeb Inspector: Provide a way to distinguish scripts having sourceURL from standalone...
vsevik@chromium.org [Tue, 2 Oct 2012 08:28:02 +0000 (08:28 +0000)]
Web Inspector: Provide a way to distinguish scripts having sourceURL from standalone scripts.
https://bugs.webkit.org/show_bug.cgi?id=97231

Reviewed by Pavel Feldman.

Source/WebCore:

DebuggerAgent now scans scripts for sourceURL comment and provides
hasSourceURL flag for each non-inline script with such a comment.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
* inspector/Inspector.json:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didParseSource):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype._parsedScriptSource):
(WebInspector.DebuggerDispatcher.prototype.scriptParsed):
* inspector/front-end/Script.js:
(WebInspector.Script):

LayoutTests:

* inspector/debugger/source-url-comment-expected.txt:
* inspector/debugger/source-url-comment.html:

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

8 years agoUnreviewed, rolling out r130129.
caseq@chromium.org [Tue, 2 Oct 2012 08:25:19 +0000 (08:25 +0000)]
Unreviewed, rolling out r130129.
http://trac.webkit.org/changeset/130129
https://bugs.webkit.org/show_bug.cgi?id=98125

broke 4 webkit_unit_tests
(MemoryInstrumentationTest.hashMapWith*) (Requested by caseq
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-02

Source/WebCore:

* dom/WebCoreMemoryInstrumentation.h:
* platform/KURL.cpp:
* platform/KURLGoogle.cpp:
* platform/PlatformMemoryInstrumentation.h:

Source/WebKit/chromium:

* tests/MemoryInstrumentationTest.cpp:

Source/WTF:

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/MemoryInstrumentation.h:
(WTF):
* wtf/MemoryInstrumentationString.h: Removed.
* wtf/text/AtomicString.cpp:
(WTF::AtomicString::reportMemoryUsage):
(WTF):
* wtf/text/AtomicString.h:
(AtomicString):
* wtf/text/CString.h:
(WTF::CStringBuffer::length):
(CStringBuffer):
(WTF::CStringBuffer::reportMemoryUsage):
(CString):
(WTF::CString::reportMemoryUsage):
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::reportMemoryUsage):
(WTF):
* wtf/text/StringImpl.h:
(StringImpl):
* wtf/text/WTFString.cpp:
(WTF::String::reportMemoryUsage):
(WTF):
* wtf/text/WTFString.h:
(String):

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

8 years agoWeb Inspector: move runScript into the snippets model
pfeldman@chromium.org [Tue, 2 Oct 2012 08:20:47 +0000 (08:20 +0000)]
Web Inspector: move runScript into the snippets model
https://bugs.webkit.org/show_bug.cgi?id=98122

Reviewed by Vsevolod Vlasov.

- Moves runScript into the SnippetsModel
- Drive-by: annotates more RuntimeModel methods
- common, sdk, ui, components, elements, network, resources, network,
  scripts, console, timeline, workers, tests
  modules now compile with no errors in dedicated compilation mode.

* inspector/compile-front-end.py:
* inspector/front-end/ConsoleView.js:
* inspector/front-end/DatabaseQueryView.js:
* inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype._runScript):
* inspector/front-end/StylesSidebarPane.js:
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.complete):
* inspector/front-end/externs.js:

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

8 years agoFix PerfTest standard deviation calculation.
pdr@google.com [Tue, 2 Oct 2012 08:10:47 +0000 (08:10 +0000)]
Fix PerfTest standard deviation calculation.
https://bugs.webkit.org/show_bug.cgi?id=98115

Reviewed by Ryosuke Niwa.

Previously our standard deviation calculation was incorrect. This patch
updates perftest.py's algorithm to calculate the sample standard deviation
(with Bessel's correction) using Knuth's online algorithm:
http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
An existing test has been modified to prove our new results.

This patch also updates runner.js to use Bessel's correction in
its sample standard deviation calculation, which is more accurate
for small sample sizes.

Additionally, runner.js has been modified to not calculate
the 'sum' statistic, which was not very useful.

PerformanceTests:

* resources/runner.js:
(PerfTestRunner.computeStatistics):

Tools:

* Scripts/webkitpy/performance_tests/perftest.py:

    The unused variable valueSum has also been removed.

(PageLoadingPerfTest.run):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:

    This test calculates the stdev of {2000, 3000, ..., 20000} which
    was hand-calculated using a spreadsheet.

(TestPageLoadingPerfTest.test_run):

LayoutTests:

* fast/harness/perftests/perf-runner-compute-statistics-expected.txt:
* fast/harness/perftests/perf-runner-compute-statistics.html:
* fast/harness/perftests/runs-per-second-log-expected.txt:

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

8 years ago[Forms] Adding DateTimeDayFieldElement for multiple fields "date", "datetime", "datet...
yosin@chromium.org [Tue, 2 Oct 2012 08:10:08 +0000 (08:10 +0000)]
[Forms] Adding DateTimeDayFieldElement for multiple fields "date", "datetime", "datetime-local" input UI
https://bugs.webkit.org/show_bug.cgi?id=97998

Reviewed by Kent Tamura.

This patch introduces DateTimeDayFieldElement class for implementing
multiple fields "date", "datetime", and "datetime-local" input UI.

No new tests. This patch doesn't change behavior.

* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Added.
(WebCore::DateTimeDayFieldElement::create): Added.
(WebCore::DateTimeDayFieldElement::populateDateTimeFieldsState): Added.
(WebCore::DateTimeDayFieldElement::setValueAsDate): Added.
(WebCore::DateTimeDayFieldElement::setValueAsDateTimeFieldsState): Added.
* html/shadow/DateTimeFieldElements.h:
(DateTimeDayFieldElement): Added.

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

8 years agoUnreviewed gardening -- rebaselined canvas-render-layer and 4 week-multiple-fields...
caseq@chromium.org [Tue, 2 Oct 2012 08:09:10 +0000 (08:09 +0000)]
Unreviewed gardening -- rebaselined canvas-render-layer and 4 week-multiple-fields-appearance tests.

* platform/chromium-linux/fast/canvas/canvas-render-layer-expected.png: Removed.
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/canvas/canvas-render-layer-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt.
* platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
* platform/chromium-mac/fast/canvas/canvas-render-layer-expected.png:
* platform/chromium-mac/fast/canvas/canvas-render-layer-expected.txt:
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png:
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Removed.
* platform/chromium-win-xp/fast/canvas/canvas-render-layer-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt.
* platform/chromium-win/fast/canvas/canvas-render-layer-expected.png:
* platform/chromium-win/fast/canvas/canvas-render-layer-expected.txt:
* platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
* platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
* platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
* platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png:
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Removed.
* platform/chromium/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt.

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

8 years agoLocalzeNone::dateFormat() should have right date format.
yosin@chromium.org [Tue, 2 Oct 2012 08:03:59 +0000 (08:03 +0000)]
LocalzeNone::dateFormat() should have right date format.
https://bugs.webkit.org/show_bug.cgi?id=98123

Reviewed by Kent Tamura.

This patch changes date format in LocaleNone for multiple fields
date/datetime/datetime-local input UI.

No new tests. Other patch for ports which use LocaleNone and multiple
fields date/time input UI will have tests.

* platform/text/LocaleNone.cpp:
(WebCore::LocaleNone::dateFormat): Changed month specifier to "MM".

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

8 years agoWeb Inspector: move cookies model out of the items view (into sdk component).
pfeldman@chromium.org [Tue, 2 Oct 2012 07:48:02 +0000 (07:48 +0000)]
Web Inspector: move cookies model out of the items view (into sdk component).
https://bugs.webkit.org/show_bug.cgi?id=98022

Reviewed by Yury Semikhatsky.

Otherwise Audits require code that belongs to the resources component.

* inspector/front-end/CookieItemsView.js:
* inspector/front-end/CookieParser.js:
(WebInspector.Cookies.getCookiesAsync):
(WebInspector.Cookies.buildCookiesFromString):
(WebInspector.Cookies.cookieMatchesResourceURL):
(WebInspector.Cookies.cookieDomainMatchesResourceDomain):

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

8 years agoWeb Inspector: NMI make String* instrumentation non intrusive
loislo@chromium.org [Tue, 2 Oct 2012 07:44:47 +0000 (07:44 +0000)]
Web Inspector: NMI make String* instrumentation non intrusive
https://bugs.webkit.org/show_bug.cgi?id=97964

Reviewed by Yury Semikhatsky.

Source/WebCore:

MemoryInstrumentationString.h include was added.

* dom/WebCoreMemoryInstrumentation.h:

Source/WebKit/chromium:

The expectations were fixed because old instrumentation had wrong detector for BufferInternal type of storage.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):

Source/WTF:

MemoryInstrumentationString.h was added.
Intrusive instrumentation was removed.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/MemoryInstrumentation.h:
(WTF):
* wtf/MemoryInstrumentationString.h: Added.
(WTF):
(WTF::reportMemoryUsage):
* wtf/text/AtomicString.cpp:
(WTF):
* wtf/text/AtomicString.h:
(AtomicString):
* wtf/text/CString.h:
(WTF::CStringBuffer::length):
* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
(WTF::StringImpl::usesInternalBuffer):
(WTF::StringImpl::baseString):
(StringImpl):

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

8 years agoRemove the Safari 2 -> Safari 3 icon database import code.
beidson@apple.com [Tue, 2 Oct 2012 07:05:17 +0000 (07:05 +0000)]
Remove the Safari 2 -> Safari 3 icon database import code.
https://bugs.webkit.org/show_bug.cgi?id=98113

Reviewed by Maciej Stachowiak.

Source/WebCore:

Remove notions of "importing an old database format" from the IconDatabase.

No new tests - Feature removed, and no previous tests covered it.

* loader/icon/IconDatabase.cpp:
(DefaultIconDatabaseClient):
(WebCore::IconDatabase::IconDatabase):
(WebCore):
(WebCore::IconDatabase::iconDatabaseSyncThread):
* loader/icon/IconDatabase.h:
(IconDatabase):
* loader/icon/IconDatabaseBase.h:
* loader/icon/IconDatabaseClient.h:
* WebCore.exp.in:

Source/WebKit/blackberry:

Nuke the performImport() IconDatabaseClient method.

* WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
* WebCoreSupport/IconDatabaseClientBlackBerry.h:
(IconDatabaseClientBlackBerry):

Source/WebKit/efl:

Nuke the performImport() IconDatabaseClient method.

* WebCoreSupport/IconDatabaseClientEfl.cpp:
* WebCoreSupport/IconDatabaseClientEfl.h:

Source/WebKit/gtk:

Nuke the performImport() IconDatabaseClient method.

* webkit/webkitfavicondatabase.cpp:
(IconDatabaseClientGtk):

Source/WebKit/mac:

Nuke the performImport() IconDatabaseClient method, as well as the supporting methods.

* Misc/WebIconDatabase.mm:
* Misc/WebIconDatabaseInternal.h:
* Misc/WebIconDatabasePrivate.h:
* WebCoreSupport/WebIconDatabaseClient.h:
* WebCoreSupport/WebIconDatabaseClient.mm:
* WebKit.exp:

Source/WebKit/qt:

Nuke the performImport() IconDatabaseClient method.

* WebCoreSupport/IconDatabaseClientQt.cpp:
* WebCoreSupport/IconDatabaseClientQt.h:
(IconDatabaseClientQt):

Source/WebKit/win:

Nuke the performImport() IconDatabaseClient method.

* WebIconDatabase.cpp:
* WebIconDatabase.h:
(WebIconDatabase):

Source/WebKit2:

Nuke the performImport() IconDatabaseClient method.

* UIProcess/WebIconDatabase.cpp:
(WebKit):
* UIProcess/WebIconDatabase.h:
(WebIconDatabase):

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

8 years agoAdding Localizer::dateFormat() for multiple fields date/datetime input UI
yosin@chromium.org [Tue, 2 Oct 2012 06:48:59 +0000 (06:48 +0000)]
Adding Localizer::dateFormat() for multiple fields date/datetime input UI
https://bugs.webkit.org/show_bug.cgi?id=98109

Reviewed by Kent Tamura.

This patch introduces Localizer::dateFormat() function for multiple
fields date/datetime/datetime-local input UI inside ENABLE_INPUT_MULTIPLE_FIELDS_UI.

We'll have platform specific implementations in LocaleICU, LocaleMac,
and LocaleWin.

No new tests. Other patches will add tests for this change.

* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::dateFormat): Added a stub.
* platform/text/LocaleICU.h:
(LocaleICU):  Changed to add a declaration of dateFormat().
* platform/text/LocaleNone.cpp:
(LocaleNone):  Changed to add a declaration of dateFormat().
(WebCore::LocaleNone::dateFormat): Added.
* platform/text/LocaleWin.cpp:
(WebCore::LocaleWin::dateFormat): Added.
* platform/text/LocaleWin.h:
(LocaleWin): Changed to add a declaration of dateFormat().
* platform/text/Localizer.h: Updates Unicode TR35 URI in a comment.
(Localizer): Changed to add a declaration of dateFormat().
* platform/text/mac/LocaleMac.h:
(LocaleMac): Changed to add a declaration of dateFormat().
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::dateFormat): Added a stub.

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

8 years agoREGRESSION(r130116): Need to update DateTimeFormatTest
yosin@chromium.org [Tue, 2 Oct 2012 06:42:51 +0000 (06:42 +0000)]
REGRESSION(r130116): Need to update DateTimeFormatTest
https://bugs.webkit.org/show_bug.cgi?id=98120

Reviewed by Kent Tamura.

This patch updates test cases for week of month and week of year type
specifiers in DateTimeFormat class. This tests should be updated
within r130116.

* tests/DateTimeFormatTest.cpp:
(TEST_F): Changed test cases for changes of enum field value changes.

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

8 years agoUnreviewed. Fix ASSERT introduced in
abarth@webkit.org [Tue, 2 Oct 2012 06:32:08 +0000 (06:32 +0000)]
Unreviewed. Fix ASSERT introduced in
http://trac.webkit.org/changeset/130103. It turns out this case can
occur. This patch causes us to handle it the same way we did
previously.

* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):

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

8 years ago[Refactoring] DOMSelection should not use shadowAncestorNode
shinyak@chromium.org [Tue, 2 Oct 2012 06:22:33 +0000 (06:22 +0000)]
[Refactoring] DOMSelection should not use shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=97872

Reviewed by Ryosuke Niwa.

Since Node::shadowAncestorNode is deprecated, it should not be used.
Here, we should use TreeScope::ancestorInThisScope instead.

No new tests, covered by existing test.

* page/DOMSelection.cpp:
(WebCore::selectionShadowAncestor):

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

8 years agoScrollView::setScrollPosition is overridden by FrameView, but is not virtual
timothy_horton@apple.com [Tue, 2 Oct 2012 06:20:55 +0000 (06:20 +0000)]
ScrollView::setScrollPosition is overridden by FrameView, but is not virtual
https://bugs.webkit.org/show_bug.cgi?id=98064

Reviewed by Simon Fraser.

Virtualize ScrollView::setScrollPosition, and override it in FrameView.

No new tests, this causes subtle behavior differences in currently-untestable code.

* page/FrameView.h:
(FrameView):
* platform/ScrollView.h:
(ScrollView):

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

8 years agoRestore WebCore/ChangeLog lines deleted in r130097
dbarton@mathscribe.com [Tue, 2 Oct 2012 06:17:53 +0000 (06:17 +0000)]
Restore WebCore/ChangeLog lines deleted in r130097
https://bugs.webkit.org/show_bug.cgi?id=98112

Reviewed by Eric Seidel.

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

8 years agoTreeScope should not use node->shadowAncetorNode()
shinyak@chromium.org [Tue, 2 Oct 2012 06:15:33 +0000 (06:15 +0000)]
TreeScope should not use node->shadowAncetorNode()
https://bugs.webkit.org/show_bug.cgi?id=97869

Reviewed by Ryosuke Niwa.

TreeScope uses shadowAncestorNode(), but we should use shadowHost() here. shadowAncestorNode() is deprecated.

No new tests, simple refactoring.

* dom/TreeScope.cpp:
(WebCore::TreeScope::ancestorInThisScope):

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

8 years agoWeb Inspector: move completions calculation into RuntimeModel (part 1)
pfeldman@chromium.org [Tue, 2 Oct 2012 06:10:21 +0000 (06:10 +0000)]
Web Inspector: move completions calculation into RuntimeModel (part 1)
https://bugs.webkit.org/show_bug.cgi?id=98053

Reviewed by Yury Semikhatsky.

Source/WebCore:

- moves current execution context state into runtime model
- moves completionsForTextPrompt and its private helpers into runtime model
- makes text prompt use generic expression stop characters by default

* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._frameChanged):
(WebInspector.ConsoleView.prototype._appendContextOption):
(WebInspector.ConsoleView.prototype._contextChanged):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyPrompt):
* inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype.setCurrentExecutionContext):
(WebInspector.RuntimeModel.prototype.currentExecutionContext):
(WebInspector.RuntimeModel.prototype._executionContextCreated):
(WebInspector.RuntimeModel.prototype.evaluate.evalCallback):
(WebInspector.RuntimeModel.prototype.evaluate):
(WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
(WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated.getCompletions):
(WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated):
(WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNamesFromEval):
(WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNames):
(WebInspector.RuntimeModel.prototype._completionsForExpression):
(WebInspector.RuntimeModel.prototype._reportCompletions):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSection.prototype.update):

LayoutTests:

* http/tests/inspector/console-cd-completions.html:
* http/tests/inspector/network/network-initiator-from-console.html:
* inspector/debugger/debugger-completions-on-call-frame.html:

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

8 years agoPerfTestRunner: Move all functions into the closure and always use double quotation...
rniwa@webkit.org [Tue, 2 Oct 2012 04:57:33 +0000 (04:57 +0000)]
PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
https://bugs.webkit.org/show_bug.cgi?id=98093

Reviewed by Ojan Vafai.

Move all methods of PerfTestRunner into the closure that defines it.
Also always use double quotations for string literals for consistency.

* resources/runner.js:

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

8 years agoThe static function 'deleteFileSystem' in the LocalFileSystem.cpp should have another...
commit-queue@webkit.org [Tue, 2 Oct 2012 04:42:14 +0000 (04:42 +0000)]
The static function 'deleteFileSystem' in the LocalFileSystem.cpp should have another name.
https://bugs.webkit.org/show_bug.cgi?id=98106

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-01
Reviewed by Yuta Kitamura.

A build error occurs because there are two functions which have same name in the LocalFileSystem.cpp file.
One is member function of the class, and the other is a static function which is called by the member function.
So, I've tried to change the name of the static function from 'deleteFileSystem' to 'performDeleteFileSystem'.

No new functionality, no new test.

* Modules/filesystem/LocalFileSystem.cpp:
(WebCore::performDeleteFileSystem): The name of function is changed from 'deleteFileSystem'.
(WebCore::LocalFileSystem::requestFileSystem):
(WebCore::LocalFileSystem::deleteFileSystem):

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

8 years agoWeek specifiers defined in DateTimeFormat class are wrong.
yosin@chromium.org [Tue, 2 Oct 2012 04:22:55 +0000 (04:22 +0000)]
Week specifiers defined in DateTimeFormat class are wrong.
https://bugs.webkit.org/show_bug.cgi?id=98104

Reviewed by Kent Tamura.

This patch changes week of year and week of month format specifiers
defined in DateTimeFormat class to match with Unicode technical
standard 35, LDML, Locale Data Markup Language, (http://www.unicode.org/reports/tr35/).

No new tests. Following existing tests cover this change:
  - fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic.html
  - fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes.html
  - fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements.html
  - fast/forms/month-multiple-fields/month-multiple-fields-appearance-style.html

* html/WeekInputType.cpp:
(WebCore::WeekInputType::setupLayoutParameters): Changed to use 'w' instead of 'W'.
* platform/text/DateTimeFormat.cpp: Changed elements in lowerCaseToFieldTypeMap and upperCaseToFieldTypeMap.
* platform/text/DateTimeFormat.h: Changed FieldTypeWeekOfMonth to 'W' and FieldTypeWeekOfYear to 'w'.

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

8 years ago[BlackBerry] Remove unused hasPendingScrollOrZoomEvent() interface.
jpetsovits@rim.com [Tue, 2 Oct 2012 03:47:07 +0000 (03:47 +0000)]
[BlackBerry] Remove unused hasPendingScrollOrZoomEvent() interface.
https://bugs.webkit.org/show_bug.cgi?id=98107
RIM PR 173292

Reviewed by George Staikos.

This method is not referenced anywhere anymore,
so we should stop requiring it from WebPageClient
implementations.

* Api/WebPageClient.h:

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

8 years agoAdd other <string> typed tokens to YYDEBUG token output
commit-queue@webkit.org [Tue, 2 Oct 2012 03:11:50 +0000 (03:11 +0000)]
Add other <string> typed tokens to YYDEBUG token output
https://bugs.webkit.org/show_bug.cgi?id=98102

Patch by Glenn Adams <glenn@skynav.com> on 2012-10-01
Reviewed by Simon Fraser.

Add other <string> typed tokens to YYPRINT macro expansion. Minor cleanup of cast.

No new tests. For CSS lexer/parser debug usage only.

* css/CSSGrammar.y:
Add other <string> typed tokens to YYPRINT macro expansion.
Change C-type cast to function-call style cast (per darin).

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

8 years agoCalendar picker should use zero as default step base
keishi@webkit.org [Tue, 2 Oct 2012 02:37:27 +0000 (02:37 +0000)]
Calendar picker should use zero as default step base
https://bugs.webkit.org/show_bug.cgi?id=97976

Reviewed by Kent Tamura.

.:

* ManualTests/forms/calendar-picker.html: Added stepBase parameters.

Source/WebCore:

Calendar picker should be using zero as default step base for input type=date.
The spec says to use zero unless specified otherwise.
Since input type=week has another default step base, I am adding step base
to DateTimeChooserParameters.

Test: fast/forms/date/calendar-picker-with-step.html

* Resources/pagepopups/calendarPicker.js:
(handleArgumentsTimeout):
(CalendarPicker):
(CalendarPicker.prototype.stepMismatch): Use the new this.stepBase.
* html/shadow/PickerIndicatorElement.cpp:
(WebCore::PickerIndicatorElement::openPopup): Gets step base from step range.
* platform/DateTimeChooser.h:
(DateTimeChooserParameters): Added stepBase.

Source/WebKit/chromium:

* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): stepBase needs 11 digits of precision when setting maximum possible date.

LayoutTests:

* fast/forms/date/calendar-picker-with-step-expected.txt: Renamed from LayoutTests/fast/forms/date/calendar-picker-appearance-with-step-expected.txt.
* fast/forms/date/calendar-picker-with-step.html: Renamed from LayoutTests/fast/forms/date/calendar-picker-appearance-with-step.html. Renamed because this does not test apeparance.

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

8 years agoUnreviewed. Fix expected result name.
roger_fong@apple.com [Tue, 2 Oct 2012 02:07:22 +0000 (02:07 +0000)]
Unreviewed. Fix expected result name.

* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Added.
* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt.txt: Removed.

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

8 years agoAdd more tests for calendar picker
keishi@webkit.org [Tue, 2 Oct 2012 01:55:29 +0000 (01:55 +0000)]
Add more tests for calendar picker
https://bugs.webkit.org/show_bug.cgi?id=98034

Reviewed by Kent Tamura.

This adds basic tests for all key bindings and simple mouse operations.

* fast/forms/date/calendar-picker-common.js: Added.
(currentMonth): Returns month that the picker is currently showing.
(selectedDate):
(openPicker): Opens the calendar picker and updates popupWindow.
(sendKey):
* fast/forms/date/calendar-picker-key-operations-expected.txt:
* fast/forms/date/calendar-picker-key-operations.html:
* fast/forms/date/calendar-picker-mouse-operations-expected.txt: Added.
* fast/forms/date/calendar-picker-mouse-operations.html: Added.
* fast/forms/resources/common.js:
(cumulativeOffset):
(hoverOverElement):
(clickElement):
* platform/chromium/fast/forms/date/date-suggestion-picker-mouse-operations.html:
* platform/gtk/TestExpectations: Added calendar-picker-mouse-operations.html.

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

8 years agoflexbox does wrong baseline item alignment in columns
tony@chromium.org [Tue, 2 Oct 2012 01:51:22 +0000 (01:51 +0000)]
flexbox does wrong baseline item alignment in columns
https://bugs.webkit.org/show_bug.cgi?id=97948

Reviewed by Ojan Vafai.

Source/WebCore:

For columns, baseline alignment should just be flex-start.  We were previously
moving the logical left edge by the ascent.

Test: css3/flexbox/align-baseline.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::alignmentForChild): Map baseline to flex-start for orthogonal children.
(WebCore::RenderFlexibleBox::alignChildren): Add FIXME for bug in baseline alignment.
* rendering/RenderFlexibleBox.h:

LayoutTests:

Update test cases with new baseline alignment for column.

* css3/flexbox/align-baseline-expected.html: Added.
* css3/flexbox/align-baseline.html: Added.
* css3/flexbox/flex-align-baseline-expected.txt:
* css3/flexbox/flex-align-baseline.html:
* css3/flexbox/multiline-align-self.html:

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

8 years agoJSArray::unshiftCountSlowCase needs to clear array slots when adding space to end...
msaboff@apple.com [Tue, 2 Oct 2012 01:21:17 +0000 (01:21 +0000)]
JSArray::unshiftCountSlowCase needs to clear array slots when adding space to end of array
https://bugs.webkit.org/show_bug.cgi?id=98101

Reviewed by Filip Pizlo.

Cleared new array entries when adding to end due to shifting contents to lower memory.  Also
checnaged the order of moving array contents and metadata in the shift left case to avoid
clobbering the metadata with array contents.  Optimized the to only make a memmove if the
count is non-zero.

* runtime/JSArray.cpp:
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::unshiftCount):

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

8 years ago[Gtk] crash when accelerated composition is turned off
commit-queue@webkit.org [Tue, 2 Oct 2012 01:14:07 +0000 (01:14 +0000)]
[Gtk] crash when accelerated composition is turned off
https://bugs.webkit.org/show_bug.cgi?id=98099

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-10-01
Reviewed by Martin Robinson.

frame->view()->updateLayoutAndStyleIfNeededRecursive() may reset root
compositing layer in flushAndRenderLayers. So, we check if compositing
is enabled afterwards, and return if it is not.

This bug is handled by LayoutTests/compositing/toggle-compositing.html

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::flushAndRenderLayers):

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

8 years agoAdding appearance tests for multiple fields week input UI
yosin@chromium.org [Tue, 2 Oct 2012 01:03:58 +0000 (01:03 +0000)]
Adding appearance tests for multiple fields week input UI
https://bugs.webkit.org/show_bug.cgi?id=98006

Reviewed by Kent Tamura.

This patch adds tests for multiple fields week input UI and disables
these tests on ports which don't enable both ENABLE_INPUT_TYPE_WEEK
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

Note: We need to do rebaseline tests to update images for Chromium-Mac
and Chromium-Win.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_WEEK
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

* fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic.html:  Added for checking basic appearance.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html: Added for checking appearance of applying CSS pseudo classes, e.g. :enabled, :invalid, and so on.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html: Added for checking appearance of applying CSS pseudo elements, e.g. :after, :before, and so on.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html: Added for checking appearance of applying CSS styles
* platform/chromium-android/TestExpectations: Changed to disable tests for multiple fields week input UI.
* platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
* platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
* platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
* platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
* platform/chromium/TestExpectations: Changed to disable tests for multiple fields week input UI of Mac and Win for rebaseline.
* platform/efl/TestExpectations: Changed to disable tests for multiple fields week input UI.
* platform/gtk/TestExpectations: ditto
* platform/mac/TestExpectations: ditto
* platform/qt/TestExpectations: ditto
* platform/win/TestExpectations: ditto

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

8 years agoRename CalendarPickerElement to PickerIndicatorElement
keishi@webkit.org [Tue, 2 Oct 2012 00:55:41 +0000 (00:55 +0000)]
Rename CalendarPickerElement to PickerIndicatorElement
https://bugs.webkit.org/show_bug.cgi?id=98096

Reviewed by Kent Tamura.

Renaming CalendarPickerElement to PickerIndicatorElement because we want to use it for other input types like time, week, month, datetime.

No new tests. Just a rename.

* GNUmakefile.list.am:
* WebCore.gypi:
* html/DateInputType.cpp:
(WebCore::DateInputType::createShadowSubtree):
* html/DateInputType.h:
(WebCore):
(DateInputType):
* html/shadow/PickerIndicatorElement.cpp: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.cpp.
(WebCore):
(WebCore::PickerIndicatorElement::PickerIndicatorElement):
(WebCore::PickerIndicatorElement::create):
(WebCore::PickerIndicatorElement::~PickerIndicatorElement):
(WebCore::PickerIndicatorElement::createRenderer):
(WebCore::PickerIndicatorElement::hostInput):
(WebCore::PickerIndicatorElement::defaultEventHandler):
(WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
(WebCore::PickerIndicatorElement::didChooseValue):
(WebCore::PickerIndicatorElement::didEndChooser):
(WebCore::PickerIndicatorElement::openPopup):
(WebCore::PickerIndicatorElement::closePopup):
(WebCore::PickerIndicatorElement::detach):
* html/shadow/PickerIndicatorElement.h: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.h.
(WebCore):
(PickerIndicatorElement):

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

8 years agoUnreviewed, rolling out r130079.
ojan@chromium.org [Tue, 2 Oct 2012 00:28:32 +0000 (00:28 +0000)]
Unreviewed, rolling out r130079.
http://trac.webkit.org/changeset/130079
https://bugs.webkit.org/show_bug.cgi?id=95866

Broke the chomium windows compile.

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::getFontData):
* css/CSSFontFace.h:
(CSSFontFace):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontFaceSource.h:
(CSSFontFaceSource):
* css/CSSFontSelector.cpp:
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFontData):
* css/CSSFontSelector.h:
* css/CSSSegmentedFontFace.cpp:
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::getFontData):
* css/CSSSegmentedFontFace.h:
(CSSSegmentedFontFace):
* dom/Document.cpp:
(WebCore::Document::registerCustomFont):
* dom/Document.h:
(Document):
* platform/graphics/Font.h:
(WebCore):
* platform/graphics/FontCache.cpp:
(WebCore):
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::getNonRetainedLastResortFallbackFont):
(WebCore::FontCache::releaseFontData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::getFontData):
* platform/graphics/FontCache.h:
(FontCache):
* platform/graphics/FontData.h:
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::setPlatformFont):
* platform/graphics/FontFallbackList.h:
(FontFallbackList):
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):
* platform/graphics/FontSelector.h:
(FontSelector):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::fontDataForCharacter):
* platform/graphics/SegmentedFontData.h:
(WebCore::FontDataRange::FontDataRange):
(WebCore::FontDataRange::fontData):
(FontDataRange):
(SegmentedFontData):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::verticalRightOrientationFontData):
(WebCore::SimpleFontData::uprightOrientationFontData):
(WebCore::SimpleFontData::brokenIdeographFontData):
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::variantFontData):
(DerivedFontData):
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(GetLastResortFallbackFontProcData):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/pango/FontCachePango.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/pango/SimpleFontDataPango.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/wince/FontCacheWinCE.cpp:
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/wx/SimpleFontDataWx.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

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

8 years agoSpeculative GTK build fix after http://trac.webkit.org/changeset/130091
bdakin@apple.com [Tue, 2 Oct 2012 00:26:56 +0000 (00:26 +0000)]
Speculative GTK build fix after trac.webkit.org/changeset/130091

* GNUmakefile.list.am:

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

8 years ago[V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-traverse...
abarth@webkit.org [Tue, 2 Oct 2012 00:16:05 +0000 (00:16 +0000)]
[V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-traverse gets 4% faster)
https://bugs.webkit.org/show_bug.cgi?id=97974

Reviewed by Kentaro Hara.

Previously, we stored a pointer to a handle to a wrapper in Node. That
is an extra layer of indirection that slows down finding the wrapper
for the node. A handle is just a pointer, so we might as we just store
the handle in the Node directly. That speeds up dom-traverse by about 4%.

We were using the extra layer of indirection in IntrusiveDOMWrapperMap
to make removal more efficient. Rather than using a chunked table, we
now use a HashSet, which also lets us remove elements quickly.

* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
(WebCore::IntrusiveDOMWrapperMap::get):
(WebCore::IntrusiveDOMWrapperMap::set):
(WebCore::IntrusiveDOMWrapperMap::contains):
(WebCore::IntrusiveDOMWrapperMap::visit):
(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
(WebCore::IntrusiveDOMWrapperMap::clear):
* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::ScriptWrappable):
(WebCore::ScriptWrappable::wrapper):
(WebCore::ScriptWrappable::setWrapper):
(WebCore::ScriptWrappable::disposeWrapper):
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):

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

8 years agoAddress a FIXME in JSArray::sort
fpizlo@apple.com [Tue, 2 Oct 2012 00:14:33 +0000 (00:14 +0000)]
Address a FIXME in JSArray::sort
https://bugs.webkit.org/show_bug.cgi?id=98080
<rdar://problem/12407844>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Get rid of fast sorting of sparse maps. I don't know that it's broken but I do know that we don't
have coverage for it. Then also address the FIXME in JSArray::sort regarding side-effecting
compare functions.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSort):
* runtime/JSArray.cpp:
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSArray):
* runtime/JSObject.h:
(JSC::JSObject::hasSparseMap):
(JSObject):

LayoutTests:

* fast/js/jsc-test-list:
* fast/js/script-tests/sort-with-side-effecting-comparisons.js: Added.
* fast/js/sort-with-side-effecting-comparisons-expected.txt: Added.
* fast/js/sort-with-side-effecting-comparisons.html: Added.

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

8 years agoUnreviewed, rolling out r130062.
ojan@chromium.org [Tue, 2 Oct 2012 00:14:18 +0000 (00:14 +0000)]
Unreviewed, rolling out r130062.
http://trac.webkit.org/changeset/130062
https://bugs.webkit.org/show_bug.cgi?id=98001

Causes a ton of gtest failures on the chromium bots.

* platform/chromium/LanguageChromium.cpp:
(WebCore::platformLanguage):

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

8 years agoUnreviewed. Skipping flaky test on Windows: inspector/debugger/dynamic-script-tag...
roger_fong@apple.com [Tue, 2 Oct 2012 00:12:16 +0000 (00:12 +0000)]
Unreviewed. Skipping flaky test on Windows: inspector/debugger/dynamic-script-tag.html.
https://bugs.webkit.org/show_bug.cgi?id=98095

* platform/win/TestExpectations:

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

8 years agoEncapsulate private properties in PerfTestRunner better
rniwa@webkit.org [Mon, 1 Oct 2012 23:48:17 +0000 (23:48 +0000)]
Encapsulate private properties in PerfTestRunner better
https://bugs.webkit.org/show_bug.cgi?id=97833

Reviewed by Ojan Vafai.

PerformanceTests:

This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
waiting for 10 minutes per each broken test on bots.

* resources/runner.js:
(PerfTestRunner.gc):
(logInDocument): Extracted from PerfTestRunner.log.
(PerfTestRunner.log): Moved.
(logFatalError): Added.
(start): Renamed from PerfTestRunner._start.
(scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
such cases, which in turn ensures notifyDone() is called.
(ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
(finish): Extracted from PerfTestRunner._runLoop.
(PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
(measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
(PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
(measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
(callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.

LayoutTests:

Override PerfTestRunner.now instead of PerfTestRunner._perSecondRunnerIterator since the latter
is no longer exposed.

* fast/harness/perftests/runs-per-second-iterations-expected.txt:
* fast/harness/perftests/runs-per-second-iterations.html: Increase the runtime of the last 4 runs
since test.timeToRun is no longer supported by PerfTestRunner.
* fast/harness/perftests/runs-per-second-log-expected.txt:
* fast/harness/perftests/runs-per-second-log.html: Avoid use numbers that contain primes other
than 2 and 5 as runs because they cause rouding errors in PerfTestRunner.measureRunsPerSecondOnce
and make the output dependent on the underlying floating number implementation.

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

8 years agoUnreviewed. Rolling out changes from http://trac.webkit.org/changeset/119130.
roger_fong@apple.com [Mon, 1 Oct 2012 23:43:10 +0000 (23:43 +0000)]
Unreviewed. Rolling out changes from trac.webkit.org/changeset/119130.
Tests match older results.

* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Added.
* platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt.txt: Added.

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

8 years ago[MathML] Baseline wrong for fractions or munder/mover with padding
dbarton@mathscribe.com [Mon, 1 Oct 2012 23:20:04 +0000 (23:20 +0000)]
[MathML] Baseline wrong for fractions or munder/mover with padding
https://bugs.webkit.org/show_bug.cgi?id=97990

Reviewed by Eric Seidel.

Source/WebCore:

We include any border or padding in our baseline computation. We also take this opportunity
to quit adding extra left & right padding to numerators and denominators, making our output
tighter and also more compatible with Firefox and TeX, since we are rebaselining some
fraction pixel tests now anyway.

Tests added to LayoutTests/mathml/presentation/{over,row-alignment}.xhtml

* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::fixChildStyle):
(WebCore::RenderMathMLFraction::paint):
(WebCore::RenderMathMLFraction::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):

LayoutTests:

We handle any border and padding correctly, and quit adding extra left and right padding
to numerators and denominators.

* mathml/presentation/over.xhtml:
* mathml/presentation/row-alignment.xhtml:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/mathml/presentation/attributes-expected.png:
* platform/mac/mathml/presentation/attributes-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.png:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/over-expected.png:
* platform/mac/mathml/presentation/over-expected.txt:
* platform/mac/mathml/presentation/roots-expected.png:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:

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

8 years agoUnreviewed. Skipped on other platforms in http://trac.webkit.org/changeset/129897.
roger_fong@apple.com [Mon, 1 Oct 2012 23:18:26 +0000 (23:18 +0000)]
Unreviewed. Skipped on other platforms in trac.webkit.org/changeset/129897.
Skipping on Windows as well.

* platform/win/TestExpectations:

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

8 years agoSource/WebCore: IndexedDB: Fire error rather than raising on request creation if...
jsbell@chromium.org [Mon, 1 Oct 2012 23:14:13 +0000 (23:14 +0000)]
Source/WebCore: IndexedDB: Fire error rather than raising on request creation if transaction aborts asynchronously.
https://bugs.webkit.org/show_bug.cgi?id=93054

Reviewed by Tony Chang.

All IDB data operations are asynchronous, producing IDBRequest objects. This was implemented
by passing all data from the front-end to the back-end synchronously, and synchronously
returning an exception code back if the request was invalid. Previous changes have moved
request validation to the front-end except for the case of the back-end transaction having
asynchronously aborted in the mean time.

To eliminate that case (which would allow front-end to back-end communication to be
asynchronous in multi-process ports), change from returning an exception code to relying on
the front-end to abort the request when the abort event finally arrives.

The difference would be noticeable in scripts - in a multi-process environment:

var request1 = store.get(0);
request1.onerror = errorHandler; // (A)
// (B)
var request2 = store.get(0); // (C)
request2.onerror = errorHandler; // (D)

If the transaction back-end were to asynchronously abort at exactly point (B), then prior to
this patch an exception would be thrown at (C). With this patch, no exception but (D) would
fire, same as (A).

The back-end explicitly fires an error callback as well, as intermediate layers may rely on
this to stop tracking the pending callback.

No new layout tests - change is not observable in single-process ports.
Added webkit_unit_test IDBRequestTest.AbortErrorAfterAbort to verify that IDBRequest
is resilient to this pattern, but it was previous.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::advance): Back end should never fail a request.
(WebCore::IDBCursor::continueFunction): Ditto.
(WebCore::IDBCursor::deleteFunction): Ditto, and also move "is key cursor" test
here from back-end.
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::continueFunction): Change from EC to firing error.
(WebCore::IDBCursorBackendImpl::advance): Ditto.
(WebCore::IDBCursorBackendImpl::deleteFunction): Ditto, and remove test moved to FE.
(WebCore::IDBCursorBackendImpl::prefetchContinue): Ditto.
* Modules/indexeddb/IDBDatabaseError.cpp:
(WebCore::IDBDatabaseError::create): Add overload that looks up message via code.
(WebCore::IDBDatabaseError::IDBDatabaseError): Look up message via exception table.
* Modules/indexeddb/IDBDatabaseException.h: Add getErrorDescription.
* Modules/indexeddb/IDBDatabaseException.cpp: Implementation of getErrorDescription.
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor): Back end should never fail a request.
(WebCore::IDBIndex::count): Ditto.
(WebCore::IDBIndex::openKeyCursor): Ditto.
(WebCore::IDBIndex::get): Ditto.
(WebCore::IDBIndex::getKey): Ditto.
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursor): Change from EC to firing error.
(WebCore::IDBIndexBackendImpl::openKeyCursor): Ditto.
(WebCore::IDBIndexBackendImpl::count): Ditto.
(WebCore::IDBIndexBackendImpl::get): Ditto.
(WebCore::IDBIndexBackendImpl::getKey): Ditto.
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get): Back end should never fail a request.
(WebCore::IDBObjectStore::put): Ditto.
(WebCore::IDBObjectStore::deleteFunction): Ditto.
(WebCore::IDBObjectStore::clear): Ditto.
(WebCore): Ditto.
(WebCore::IDBObjectStore::openCursor): Ditto.
(WebCore::IDBObjectStore::count): Ditto.
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get): Change from EC to firing error.
(WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys): Ditto.
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction): Ditto.
(WebCore::IDBObjectStoreBackendImpl::clear): Ditto.
(WebCore::IDBObjectStoreBackendImpl::openCursor): Ditto.
(WebCore::IDBObjectStoreBackendImpl::count): Ditto.

Source/WebKit/chromium: IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
https://bugs.webkit.org/show_bug.cgi?id=94757

Reviewed by Tony Chang.

* tests/IDBRequestTest.cpp: Ensure IDBRequest can handle Error after abort.
(WebCore::TEST): Added AbortAfter

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

8 years agoAdd some flaky tests to match what's happening on the bots.
ojan@chromium.org [Mon, 1 Oct 2012 23:14:02 +0000 (23:14 +0000)]
Add some flaky tests to match what's happening on the bots.
* platform/chromium/TestExpectations:

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

8 years agoBuild fix. Clearly, these objects could be instantiated in worker threads.
rniwa@webkit.org [Mon, 1 Oct 2012 23:12:27 +0000 (23:12 +0000)]
Build fix. Clearly, these objects could be instantiated in worker threads.
Not sure why my patch asserted that we're in the main thread.

* dom/ContainerNode.h:
(WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
(WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):

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

8 years ago[EFL] Update results again after r130080.
rakuco@webkit.org [Mon, 1 Oct 2012 23:08:52 +0000 (23:08 +0000)]
[EFL] Update results again after r130080.

* platform/efl/fast/canvas/canvas-render-layer-expected.txt:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=97365
bdakin@apple.com [Mon, 1 Oct 2012 23:05:40 +0000 (23:05 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=97365
ScrollingTreeState needs to be a tree of nodes

Reviewed by Simon Fraser.

This patch should not change any behavior.

Prior to this patch, ScrollingTreeState attempted to contain all of
the state information needed for the whole scrolling tree in one
object. But in the future when there are multiple nodes in the
scrolling tree, a single state object will not be sufficient.
ScrollingState should also be represented by a tree. This patch makes
scrolling state into a tree. The old ScrollingTreeState class has
become the ScrollingStateScrollingNode class since the majority of
the class represents scroll state that is specific to ScrollableAreas
and will not be applicable to fixed or sticky layers.

Some new files and some moved files.
* WebCore.xcodeproj/project.pbxproj:

Everything that used to refer to the ScrollingTreeState should now
refer to the ScrollingStateTree instead. Right now, all of this code
continues to deal with only the root node of the tree. In the future,
it will have to deal with all of the nodes.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::pageDestroyed):
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
(WebCore::ScrollingCoordinator::scrollingStateTreeCommitterTimerFired):
(WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
(WebCore::ScrollingCoordinator::commitTreeState):
* page/scrolling/ScrollingCoordinator.h:
(WebCore):
(ScrollingCoordinator):

This is a new abstract base class for the nodes in the
ScrollingStateTree.
* page/scrolling/ScrollingStateNode.cpp: Added.
(WebCore):
(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::~ScrollingStateNode):
(WebCore::ScrollingStateNode::appendChild):
(WebCore::ScrollingStateNode::cloneChildNodes):
(WebCore::ScrollingStateNode::traverseNext):
* page/scrolling/ScrollingStateNode.h: Added.
(WebCore):
(ScrollingStateNode):
(WebCore::ScrollingStateNode::scrollLayerDidChange):
(WebCore::ScrollingStateNode::setScrollLayerDidChange):
(WebCore::ScrollingStateNode::scrollingStateTree):
(WebCore::ScrollingStateNode::parent):
(WebCore::ScrollingStateNode::firstChild):
(WebCore::ScrollingStateNode::nextSibling):
(WebCore::ScrollingStateNode::setParent):
(WebCore::ScrollingStateNode::setFirstChild):
(WebCore::ScrollingStateNode::setNextSibling):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
* page/scrolling/mac/ScrollingStateNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeStateMac.mm.
(WebCore::ScrollingStateNode::platformScrollLayer):
(WebCore::ScrollingStateNode::setScrollLayer):
(WebCore):

Right now, the ScrollingStateScrollingNode is the only type of
ScrollingStateNode. In the future there will be, for example,
ScrollingStateFixedNodes that will have a different set of state
information to keep track of.
* page/scrolling/ScrollingStateScrollingNode.cpp: Copied from page/scrolling/ScrollingTreeState.cpp.
(WebCore::ScrollingStateScrollingNode::create):
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore):
(WebCore::ScrollingStateScrollingNode::~ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::cloneNode):
(WebCore::ScrollingStateScrollingNode::setViewportRect):
(WebCore::ScrollingStateScrollingNode::setContentsSize):
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
* page/scrolling/ScrollingStateScrollingNode.h: Copied from page/scrolling/ScrollingTreeState.h.
(ScrollingStateScrollingNode):
* page/scrolling/ScrollingStateTree.cpp: Added.
(WebCore):
(WebCore::ScrollingStateTree::create):
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::~ScrollingStateTree):
(WebCore::ScrollingStateTree::commit):

The ScrollingStateTree manages the nodes in the tree via the root
node. It is responsible for cloning the tree and sending it over to
the scrolling thread.
* page/scrolling/ScrollingStateTree.h: Added.
(WebCore):
(ScrollingStateTree):
(WebCore::ScrollingStateTree::rootStateNode):
(WebCore::ScrollingStateTree::setHasChangedProperties):
(WebCore::ScrollingStateTree::hasChangedProperties):
(WebCore::ScrollingStateTree::setRootStateNode):

Everything that used to refer to the ScrollingTreeState should now
refer to the ScrollingStateTree instead. Right now, all of this code
continues to deal with only the root node of the tree. In the future,
it will have to deal with all of the nodes.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitNewTreeState):
* page/scrolling/ScrollingTree.h:
(WebCore):
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::update):
* page/scrolling/ScrollingTreeNode.h:
(WebCore):
(ScrollingTreeNode):
* page/scrolling/mac/ScrollingTreeNodeMac.h:
(ScrollingTreeNodeMac):
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::update):

ScrollingTreeState.cpp --> ScrollingStateScrollingNode.cpp
* page/scrolling/ScrollingTreeState.cpp: Removed.

ScrollingTreeState.h --> ScrollingStateScrollingNode.h
* page/scrolling/ScrollingTreeState.h: Removed.

ScrollingTreeStateMac.mm --> ScrollingStateNodeMac.mm
* page/scrolling/mac/ScrollingTreeStateMac.mm: Removed.

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

8 years agoUnreviewed. Skipping http/tests/security/cross-origin-local-storage-wk1.html since...
roger_fong@apple.com [Mon, 1 Oct 2012 22:55:18 +0000 (22:55 +0000)]
Unreviewed. Skipping http/tests/security/cross-origin-local-storage-wk1.html since support for the feature on Windows has not been added yet.
https://bugs.webkit.org/show_bug.cgi?id=98079

* platform/win/Skipped:

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

8 years agoKill transitive effects of SelectorChecker::checkOneSelector.
dglazkov@chromium.org [Mon, 1 Oct 2012 22:54:29 +0000 (22:54 +0000)]
Kill transitive effects of SelectorChecker::checkOneSelector.
https://bugs.webkit.org/show_bug.cgi?id=97953

Reviewed by Eric Seidel.

The dynamicPseudo/hasUnknownPseudoelements by-ref parameters that are passed into checkOneSelector make the logic harder to understand and aren't needed. Refactor the code to rid of them, replacing them instead with two flags in SelectorCheckingContext.

No change in behavior, covered by existing tests.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector): Rolled pseudo-element-checking code out of checkOneSelector into here, since that is where t
(WebCore::SelectorChecker::checkOneSelector): Changed to use SelectorCheckingContext rather than transitive params.
* css/SelectorChecker.h:
(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added two new flags.
(SelectorCheckingContext): Ditto.

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

8 years ago349kB below SelectorDataList::initialize() on Membuster3.
kling@webkit.org [Mon, 1 Oct 2012 22:41:30 +0000 (22:41 +0000)]
349kB below SelectorDataList::initialize() on Membuster3.
<http://webkit.org/b/98072>
<rdar://problem/12408605>

Reviewed by Anders Carlsson.

Make a separate pass over the CSSSelectorList to figure out the capacity needed for SelectorDataList::m_selectors.
Reduces memory consumption by 322kB on Membuster3.

* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::initialize):

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

8 years agoRe-baseline after r130080 for Mac.
jonlee@apple.com [Mon, 1 Oct 2012 22:38:52 +0000 (22:38 +0000)]
Re-baseline after r130080 for Mac.

* platform/mac/fast/canvas/canvas-render-layer-expected.txt:

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

8 years agoAdd failing geolocation test to Mac WK2 TestExpectations
jonlee@apple.com [Mon, 1 Oct 2012 22:36:47 +0000 (22:36 +0000)]
Add failing geolocation test to Mac WK2 TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=98081

* platform/mac-wk2/TestExpectations:

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

8 years agoAdd a GraphicsLayerFactory getter to ChromeClient
andersca@apple.com [Mon, 1 Oct 2012 22:31:40 +0000 (22:31 +0000)]
Add a GraphicsLayerFactory getter to ChromeClient
https://bugs.webkit.org/show_bug.cgi?id=98069

Reviewed by Andreas Kling.

* page/ChromeClient.h:
(WebCore::ChromeClient::graphicsLayerFactory):
New function that can be overridden by ports to customize the layer type created for a page.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::graphicsLayerFactory):
* rendering/RenderLayerCompositor.h:
Add helper getter that's unused for now but will be called by RenderLayerBacking when creating graphics layers.

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

8 years agoRename AssertNoEventDispatch to NoEventDispatchAssertion
rniwa@webkit.org [Mon, 1 Oct 2012 22:24:20 +0000 (22:24 +0000)]
Rename AssertNoEventDispatch to NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=98075

Reviewed by Abhishek Arya.

Renamed the class.

* dom/ContainerNode.cpp:
(WebCore):
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/ContainerNode.h:
(WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
(WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
* dom/Document.cpp:
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchFocusInEvent):
(WebCore::Node::dispatchFocusOutEvent):
(WebCore::Node::dispatchDOMActivateEvent):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal):

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

8 years agowebkitpy should accept a different httpd.conf specified by the user
rakuco@webkit.org [Mon, 1 Oct 2012 22:22:00 +0000 (22:22 +0000)]
webkitpy should accept a different httpd.conf specified by the user
https://bugs.webkit.org/show_bug.cgi?id=98071

Reviewed by Dirk Pranke.

The existing httpd.conf variants (or lighttpd.conf, for that
matter) we have do not always suit the user's system. This is
particularly true on Linux/Unix, where Apache can be installed in
a plethora of ways and the LoadModule calls can fail to specify
the proper module paths.

For now, we start accepting the WEBKIT_HTTP_SERVER_CONF_PATH
environment variable, which allows the user to specify the
absolute path to another http server configuration file that might
work on the user's system.

In the long term, we should try to generate our configuration file
and stop requiring all the different httpd.conf files we have as
well as this hack.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port._path_to_apache_config_file):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(test_path_to_apache_config_file):

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

8 years agoRename Font::m_fontList to avoid confusion
schenney@chromium.org [Mon, 1 Oct 2012 22:18:28 +0000 (22:18 +0000)]
Rename Font::m_fontList to avoid confusion
https://bugs.webkit.org/show_bug.cgi?id=95867

Reviewed by Eric Seidel.

       Renames Font::m_fontList to Font::m_fontFallbackList to avoid confusion
       with FontFallbackList::m_fontList.

No new tests as behavior is absolutely not different.

* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::operator==):
(WebCore::Font::update):
* platform/graphics/Font.h:
(WebCore::Font::fontList):
(WebCore::Font::loadingCustomFonts):
(Font):
(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::isFixedPitch):
(WebCore::Font::fontSelector):
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):

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

8 years agoRefactor layer-related logic out of RenderBoxModelObject
fmalita@chromium.org [Mon, 1 Oct 2012 22:04:56 +0000 (22:04 +0000)]
Refactor layer-related logic out of RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=86022

Reviewed by David Hyatt.

This patch extracts layer-related logic into a dedicated class
(RenderLayerModelObject) and refactors dependent code to make use
of the new type instead of RenderBoxModelObject. This is in preparation
of adding non-RenderBoxModelObject layer supprt.

All methods that were using RenderBoxModelObject for layer-related
functionality are updated to work with RenderLayerModelObject
instead (a RenderLayer's renderer() can no longer be assumed to be
a RenderBoxModelObject).

No new tests: refactoring with no behavior changes.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/LayoutRepainter.h:
(WebCore):
(LayoutRepainter):
* rendering/RenderBR.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::rectWithOutlineForRepaint):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::outlineBoundsForRepaint):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::clippedOverflowRectForRepaint):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::enclosingFloatPaintingLayer):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore):
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
(WebCore::RenderBoxModelObject::~RenderBoxModelObject):
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::updateFromStyle):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::pushMappingsToAncestor):
(WebCore::RenderGeometryMap::popMappingsToAncestor):
* rendering/RenderGeometryMap.h:
(RenderGeometryMap):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::updateFromStyle):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::rectWithOutlineForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::computeRepaintRects):
(WebCore::checkContainingBlockChainForPagination):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::isPositionedContainer):
(WebCore::RenderLayer::hasAncestorWithFilterOutsets):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
* rendering/RenderLayer.h:
(RenderLayer):
(WebCore::RenderLayer::renderer):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::renderer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::repaintOnCompositingChange):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::reasonForCompositing):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::selectionRectForRepaint):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild):
(WebCore::addLayers):
(WebCore::RenderObject::removeLayers):
(WebCore::RenderObject::moveLayers):
(WebCore::RenderObject::findNextLayer):
(WebCore::RenderObject::enclosingLayer):
(WebCore::RenderObject::setLayerNeedsFullRepaint):
(WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::rectWithOutlineForRepaint):
(WebCore::RenderObject::clippedOverflowRectForRepaint):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::computeFloatRectForRepaint):
(WebCore::RenderObject::adjustStyleDifference):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::shouldUseTransformFromContainer):
(WebCore::RenderObject::getTransformFromContainer):
(WebCore::RenderObject::localToContainerQuad):
(WebCore::RenderObject::localToContainerPoint):
(WebCore::RenderObject::container):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::isComposited):
* rendering/RenderObject.h:
(WebCore):
(WebCore::RenderObject::isLayerModelObject):
(RenderObject):
(WebCore::RenderObject::selectionRectForRepaint):
(WebCore::RenderObject::outlineBoundsForRepaint):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::selectionRectForRepaint):
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderSelectionInfo.h:
(WebCore::RenderSelectionInfoBase::repaintContainer):
(RenderSelectionInfoBase):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::computeRectForRepaint):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clippedOverflowRectForRepaint):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderText.cpp:
(WebCore::RenderText::clippedOverflowRectForRepaint):
(WebCore::RenderText::selectionRectForRepaint):
* rendering/RenderText.h:
(RenderText):
* rendering/RenderLayerModelObject.cpp: Added.
(WebCore):
(WebCore::RenderLayerModelObject::RenderLayerModelObject):
(WebCore::RenderLayerModelObject::~RenderLayerModelObject):
(WebCore::RenderLayerModelObject::destroyLayer):
(WebCore::RenderLayerModelObject::ensureLayer):
(WebCore::RenderLayerModelObject::hasSelfPaintingLayer):
(WebCore::RenderLayerModelObject::willBeDestroyed):
(WebCore::RenderLayerModelObject::styleWillChange):
(WebCore::RenderLayerModelObject::styleDidChange):
* rendering/RenderLayerModelObject.h: Added.
(WebCore):
(RenderLayerModelObject):
(WebCore::RenderLayerModelObject::layer):
(WebCore::RenderLayerModelObject::updateFromStyle):
(WebCore::toRenderLayerModelObject):
* rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::pushMappingToContainer):
(WebCore::isComposited):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::absoluteQuads):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::clearSelection):
* rendering/RenderView.h:
(RenderView):
* rendering/RenderingAllInOne.cpp:
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::updateFromStyle):
* rendering/svg/RenderSVGBlock.h:
(RenderSVGBlock):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
(WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
(WebCore::RenderSVGForeignObject::pushMappingToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGHiddenContainer.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
(WebCore::RenderSVGInline::computeFloatRectForRepaint):
(WebCore::RenderSVGInline::mapLocalToContainer):
(WebCore::RenderSVGInline::pushMappingToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
(WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
(WebCore::RenderSVGModelObject::mapLocalToContainer):
(WebCore::RenderSVGModelObject::pushMappingToContainer):
(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):
(WebCore::RenderSVGRoot::mapLocalToContainer):
(WebCore::RenderSVGRoot::pushMappingToContainer):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::clippedOverflowRectForRepaint):
(WebCore::RenderSVGText::computeRectForRepaint):
(WebCore::RenderSVGText::computeFloatRectForRepaint):
(WebCore::RenderSVGText::mapLocalToContainer):
(WebCore::RenderSVGText::pushMappingToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
(WebCore::SVGRenderSupport::computeFloatRectForRepaint):
(WebCore::SVGRenderSupport::mapLocalToContainer):
(WebCore::SVGRenderSupport::pushMappingToContainer):
* rendering/svg/SVGRenderSupport.h:
(WebCore):
(SVGRenderSupport):

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

8 years agoSet the line-height of the body to 0 to make this test not be text rendering dependent.
ojan@chromium.org [Mon, 1 Oct 2012 21:58:15 +0000 (21:58 +0000)]
Set the line-height of the body to 0 to make this test not be text rendering dependent.

* fast/canvas/canvas-render-layer.html:
* platform/chromium-linux/fast/canvas/canvas-render-layer-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt:

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

8 years agoRefactor WebCore::FontData handling to clarify pointer ownership
schenney@chromium.org [Mon, 1 Oct 2012 21:31:30 +0000 (21:31 +0000)]
Refactor WebCore::FontData handling to clarify pointer ownership
https://bugs.webkit.org/show_bug.cgi?id=95866

Reviewed by Eric Seidel.

This patch makes all FontData and derived classes ref-counted in all
code paths that lead to caching or other retention of a
pointer. The goal is to avert crashes and memory leaks, and to bring
the code more in line with current WebKit practices.

Specifically, this patch allows us to use ref pointers for all the
FontData stored in FontFallbackList objects. The FontFallbackList can
then own custom font data and manage its lifetime (forthcoming patch).
Currently Document owns custom font data and does an end run around
FontFallbackList in deleting glyph pages and custom font data, leaving
FontFallbackList with invalid pointers.

All FontData derived classes have been switched to use static create
methods with private constructors.

All caches that hold FontData now use RefPtrs.

All methods that construct new font data now return PassRefPtr, with the
exception of code only used to generate temporary data for text run layout.

All methods that handle FontData in a call stack that passes through
FontFallbackList::fontDataAt return PassRefPtr.

Performance tested with both WebKit Perf-o-matic, which showed
performance changes in the noise, and Chrome's page cycling tests with
the acid3 benchmark set, which showed no performance difference at all.

No new tests as this is refactoring code only and has no impact on functionality.

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::getFontData):
* css/CSSFontFace.h:
(CSSFontFace):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontFaceSource.h:
(CSSFontFaceSource):
* css/CSSFontSelector.cpp:
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFontData):
* css/CSSFontSelector.h:
* css/CSSSegmentedFontFace.cpp:
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::getFontData):
* css/CSSSegmentedFontFace.h:
(CSSSegmentedFontFace):
* dom/Document.cpp:
(WebCore::Document::registerCustomFont):
* dom/Document.h:
(Document):
* platform/graphics/Font.h:
(WebCore):
* platform/graphics/FontCache.cpp:
(WebCore):
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::getNonRetainedLastResortFallbackFont):
(WebCore::FontCache::releaseFontData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::getFontData):
* platform/graphics/FontCache.h:
(FontCache):
* platform/graphics/FontData.h:
* platform/graphics/FontFallbackList.cpp:
(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::setPlatformFont):
* platform/graphics/FontFallbackList.h:
(FontFallbackList):
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):
* platform/graphics/FontSelector.h:
(FontSelector):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::fontDataForCharacter):
* platform/graphics/SegmentedFontData.h:
(WebCore::FontDataRange::FontDataRange):
(WebCore::FontDataRange::fontData):
(FontDataRange):
(WebCore::SegmentedFontData::create):
(SegmentedFontData):
(WebCore::SegmentedFontData::SegmentedFontData):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::verticalRightOrientationFontData):
(WebCore::SimpleFontData::uprightOrientationFontData):
(WebCore::SimpleFontData::brokenIdeographFontData):
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::create):
(SimpleFontData):
(WebCore::SimpleFontData::variantFontData):
(DerivedFontData):
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(GetLastResortFallbackFontProcData):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/pango/FontCachePango.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/pango/SimpleFontDataPango.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/wx/SimpleFontDataWx.cpp:
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

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

8 years agoUnreviewed, upgrade eae to reviewer.
eae@chromium.org [Mon, 1 Oct 2012 21:30:00 +0000 (21:30 +0000)]
Unreviewed, upgrade eae to reviewer.
http://lists.webkit.org/mailman/private/webkit-committers/2012-October/000191.html

* Scripts/webkitpy/common/config/committers.py:

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

8 years agoTurn forbidEventDispatch and allowEventDispatch into a RAII object
rniwa@webkit.org [Mon, 1 Oct 2012 21:20:49 +0000 (21:20 +0000)]
Turn forbidEventDispatch and allowEventDispatch into a RAII object
https://bugs.webkit.org/show_bug.cgi?id=96717

Reviewed by Abhishek Arya.

Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.

* dom/ContainerNode.cpp:
(WebCore):
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/ContainerNode.h:
(AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
(WebCore):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
* dom/Document.cpp:
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventTarget.cpp:
(WebCore):
(WebCore::EventTarget::fireEventListeners):
* dom/EventTarget.h:
(WebCore):
* dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchFocusInEvent):
(WebCore::Node::dispatchFocusOutEvent):
(WebCore::Node::dispatchDOMActivateEvent):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal):

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

8 years agoAnother SIGILL in JavaScriptCore on a Geode processor
commit-queue@webkit.org [Mon, 1 Oct 2012 21:00:51 +0000 (21:00 +0000)]
Another SIGILL in JavaScriptCore on a Geode processor
https://bugs.webkit.org/show_bug.cgi?id=96286

Patch by Daniel Drake <dsd@laptop.org> on 2012-10-01
Reviewed by Filip Pizlo.

Disable LLint for the GTK build where the build target does not
support SSE2 instructions. Restores support for non-SSE2 processors
such as the AMD Geode.

* wtf/Platform.h:

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

8 years agoActually restrict to Windows debug this time.
ojan@chromium.org [Mon, 1 Oct 2012 21:00:03 +0000 (21:00 +0000)]
Actually restrict to Windows debug this time.
* platform/chromium/TestExpectations:

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

8 years agoMark platform/chromium/virtual/gpu/fast/canvas/canvas-composite-alpha.html as slow
ojan@chromium.org [Mon, 1 Oct 2012 20:57:49 +0000 (20:57 +0000)]
Mark platform/chromium/virtual/gpu/fast/canvas/canvas-composite-alpha.html as slow
on Windows debug.
* platform/chromium/TestExpectations:

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

8 years agoAdd a performance test for nested <use> elements
fmalita@chromium.org [Mon, 1 Oct 2012 20:53:45 +0000 (20:53 +0000)]
Add a performance test for nested <use> elements
https://bugs.webkit.org/show_bug.cgi?id=98047

Reviewed by Ryosuke Niwa.

Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.

* SVG/SvgNestedUse.html: Added.

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

8 years agoWould like a way to customize the type of GraphicsLayers created on a per page basis
andersca@apple.com [Mon, 1 Oct 2012 20:44:10 +0000 (20:44 +0000)]
Would like a way to customize the type of GraphicsLayers created on a per page basis
https://bugs.webkit.org/show_bug.cgi?id=98051

Reviewed by Simon Fraser.

Add a GraphicsLayerFactory abstract class and a new GraphicsLayer::create overload that takes
a factory object. Eventually, all calls to the old GraphicsLayer::create will be replaced with
the new version that takes an optional factory.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsLayer.h:
(WebCore):
(GraphicsLayer):
* platform/graphics/GraphicsLayerFactory.h: Added.
(WebCore):
(GraphicsLayerFactory):
(WebCore::GraphicsLayerFactory::~GraphicsLayerFactory):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayer::create):
(WebCore):

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

8 years agoRemove passing fast/event/dispatch-message-string-data.html from WK2 TestExpectations.
jonlee@apple.com [Mon, 1 Oct 2012 20:23:15 +0000 (20:23 +0000)]
Remove passing fast/event/dispatch-message-string-data.html from WK2 TestExpectations.
https://bugs.webkit.org/show_bug.cgi?id=96552

Appears to pass on Mountain Lion and Lion.

* platform/mac-wk2/TestExpectations:

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

8 years ago[EFL] Update expectations after r129934 and r130056.
rakuco@webkit.org [Mon, 1 Oct 2012 20:13:44 +0000 (20:13 +0000)]
[EFL] Update expectations after r129934 and r130056.

* platform/efl/fast/canvas/canvas-render-layer-expected.png:
* platform/efl/fast/canvas/canvas-render-layer-expected.txt:

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

8 years agoConsolidate more MutationObserverRegistration logic in Node
adamk@chromium.org [Mon, 1 Oct 2012 20:12:05 +0000 (20:12 +0000)]
Consolidate more MutationObserverRegistration logic in Node
https://bugs.webkit.org/show_bug.cgi?id=98058

Reviewed by Ryosuke Niwa.

One remaining oddity of Node's MutationObserver-related interface was
that registerMutationObserver returned the resulting MutationObserverRegistration
object.

Instead, Node now internally handles resetting the observation
if the registration already exists, and updating the Document's list of
mutation observer types.

No change in behavior, refactoring only.

* dom/MutationObserver.cpp:
(WebCore::MutationObserver::observe): Simplified to just call
Node::registerMutationObserver; nothing else is needed.
* dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::create): Take options and attributeFilter,
avoiding an unnecessary call to resetObservation().
(WebCore::MutationObserverRegistration::MutationObserverRegistration): ditto
* dom/MutationObserverRegistration.h:
(MutationObserverRegistration):
* dom/Node.cpp:
(WebCore::Node::registerMutationObserver): Handle observation
resetting if that observer's already registered, and update the list
of active MutationObserver types in the Document.
* dom/Node.h:
(Node):

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

8 years agoUnskip the test in TestExpectations.
jonlee@apple.com [Mon, 1 Oct 2012 19:53:53 +0000 (19:53 +0000)]
Unskip the test in TestExpectations.

* platform/mac/TestExpectations: Unskip canvas/canvas-render-layer.html.

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

8 years agoAdd expected test results for r129934.
jonlee@apple.com [Mon, 1 Oct 2012 19:51:51 +0000 (19:51 +0000)]
Add expected test results for r129934.
https://bugs.webkit.org/show_bug.cgi?id=97940

* platform/mac/fast/canvas/canvas-render-layer-expected.png: Added.
* platform/mac/fast/canvas/canvas-render-layer-expected.txt: Added.

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

8 years ago[BlackBerry] Add a early return in buildCMakeProjectOrExit()
commit-queue@webkit.org [Mon, 1 Oct 2012 19:23:49 +0000 (19:23 +0000)]
[BlackBerry] Add a early return in buildCMakeProjectOrExit()
https://bugs.webkit.org/show_bug.cgi?id=98052

Patch by Ming Xie <mxie@rim.com> on 2012-10-01
Reviewed by Rob Buis.

This option allows our build to only run the CMake build configuration
step when environment variable GENERATE_CMAKE_PROJECT_ONLY is specified.

* Scripts/webkitdirs.pm:
(buildCMakeProjectOrExit):

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

8 years ago[webkitpy] Detect the multiple names of the wdiff binary in the Port class.
rakuco@webkit.org [Mon, 1 Oct 2012 19:21:31 +0000 (19:21 +0000)]
[webkitpy] Detect the multiple names of the wdiff binary in the Port class.
https://bugs.webkit.org/show_bug.cgi?id=98039

Reviewed by Dirk Pranke.

Unify the duplicate checks for the wdiff binary present in
different ports into the base Port class.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port):
(Port._path_to_wdiff):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort._path_to_wdiff): Removed.
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._path_to_wdiff): Removed.

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

8 years ago[chromium] Remove custom implementation of _path_to_apache_config_file in chromium_linux.
rakuco@webkit.org [Mon, 1 Oct 2012 19:11:16 +0000 (19:11 +0000)]
[chromium] Remove custom implementation of _path_to_apache_config_file in chromium_linux.
https://bugs.webkit.org/show_bug.cgi?id=98042

Reviewed by Dirk Pranke.

The Chromium-based ports inherit from Port these days, so get rid
of the custom implementation of _path_to_apache_config_file() in
favor of the more portable one in the Port class.

* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort._path_to_apache_config_file):

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

8 years agoYYDEBUG doesn't print token values
commit-queue@webkit.org [Mon, 1 Oct 2012 19:09:30 +0000 (19:09 +0000)]
YYDEBUG doesn't print token values
https://bugs.webkit.org/show_bug.cgi?id=97896

Patch by Glenn Adams <glenn@skynav.com> on 2012-10-01
Reviewed by Simon Fraser.

Define YYPRINT macro to print token values when YYDEBUG is set.

No new tests. For CSS lexer/parser debug usage only.

* css/CSSGrammar.y:
Define YYPRINT macro to output IDENT and STRING typed tokens. Others can be added
in the future.

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

8 years ago[chromium] ASSERT that the embedder has set a default locale
jochen@chromium.org [Mon, 1 Oct 2012 19:07:57 +0000 (19:07 +0000)]
[chromium] ASSERT that the embedder has set a default locale
https://bugs.webkit.org/show_bug.cgi?id=98001

Reviewed by Adam Barth.

The callsites assume that the default language is always defined, e.g.
Document::getCachedLocalizer. Add an ASSERT() statement so an embedder
doesn't have to guess what they did wrong.

* platform/chromium/LanguageChromium.cpp:
(WebCore::platformLanguage):

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

8 years agoFix compilation warnings
commit-queue@webkit.org [Mon, 1 Oct 2012 19:05:24 +0000 (19:05 +0000)]
Fix compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=98020

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-01
Reviewed by Gyuyoung Kim.

Source/WebCore:

Fix compilation warnings in PluginView code.

No new tests, no behavior change.

* plugins/PluginView.cpp:
(WebCore::PluginView::newStream):
(WebCore::PluginView::write):
(WebCore::PluginView::getAuthenticationInfo):
* plugins/efl/PluginViewEfl.cpp:
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::invalidateRegion):

Source/WebKit2:

Fix compilation warnings related to ewk_view.

* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_feed_touch_event_using_touch_point_list_of_evas):
(_ewk_view_on_touch_down):
(_ewk_view_on_touch_up):
(_ewk_view_on_touch_move):
* UIProcess/API/efl/ewk_view_ui_client.cpp:
(exceededDatabaseQuota):

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

8 years ago[chromium] Remove duplicated _is_redhat_based() implementation from chromium_linux.py.
rakuco@webkit.org [Mon, 1 Oct 2012 19:03:06 +0000 (19:03 +0000)]
[chromium] Remove duplicated _is_redhat_based() implementation from chromium_linux.py.
https://bugs.webkit.org/show_bug.cgi?id=98035

Reviewed by Dirk Pranke.

Since the Chromium port classes inherit from Port these days, it
can rely on the same implementation of _is_redhat_based() present
there instead of duplicating it.

* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort._is_redhat_based): Removed.

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

8 years agoUpdate some chromium expectations to match what's happening on the bots.
ojan@chromium.org [Mon, 1 Oct 2012 18:59:59 +0000 (18:59 +0000)]
Update some chromium expectations to match what's happening on the bots.
Notably, mark storage/indexeddb as [ Pass Slow ].
* platform/chromium/TestExpectations:

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

8 years agoRenderBlock incorrectly calculates pref width when a replaced object follows a Render...
commit-queue@webkit.org [Mon, 1 Oct 2012 18:16:14 +0000 (18:16 +0000)]
RenderBlock incorrectly calculates pref width when a replaced object follows a RenderInline with width
https://bugs.webkit.org/show_bug.cgi?id=84624

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-10-01
Reviewed by Levi Weintraub.

Source/WebCore:

For the specific scenario, wherein an inline replaced element (image)
follows an inline flow object within a render block, we should allow
for that block to grow to accomodate the replaced element so as to
avoid it's overflow.

This quirk is handled well by other browsers.

Test: fast/block/block-with-inline-replaced-child.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
We should not cause our line to break for the scenario wherein an inline
replaced element follows an inline flow object.

For handling the same have introduced a flag: isPrevChildInlineFlow which
shall be set for an inline flow element.
Based on this, while handling the inline replaced elements, we either
terminate the line (for minWidth calculation) or not depending upon
this flag.

LayoutTests:

* fast/block/block-with-inline-replaced-child-expected.html: Added.
* fast/block/block-with-inline-replaced-child.html: Added.
* fast/block/resources: Added.
* fast/block/resources/50x50.gif: Added.
Added a ref test for verifying that the containing block grows to accomodate the
replaced element (image) when it follows an inline flow object.
Added a new directory under fast/block for resources.

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

8 years agoImprovments to recently added test, fast/canvas/canvas-render-layer.html
commit-queue@webkit.org [Mon, 1 Oct 2012 17:44:06 +0000 (17:44 +0000)]
Improvments to recently added test, fast/canvas/canvas-render-layer.html
https://bugs.webkit.org/show_bug.cgi?id=97940

Patch by Brian Salomon <bsalomon@google.com> on 2012-10-01
Reviewed by Ojan Vafai.

The test previously had whitespace between the canvases. This made the expectations dependent upon platform-specific text rendering. The spaces have been removed in the revised test.

* fast/canvas/canvas-render-layer.html:
* platform/chromium-linux/fast/canvas/canvas-render-layer-expected.png: Added.
* platform/chromium-linux/fast/canvas/canvas-render-layer-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Added.

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

8 years agoUnreviewed gardening -- clean up expectations for passing tests.
caseq@chromium.org [Mon, 1 Oct 2012 17:12:26 +0000 (17:12 +0000)]
Unreviewed gardening -- clean up expectations for passing tests.

* platform/chromium/TestExpectations:

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

8 years ago[GTK][WK2] Save the download uri as file metadata
commit-queue@webkit.org [Mon, 1 Oct 2012 17:11:11 +0000 (17:11 +0000)]
[GTK][WK2] Save the download uri as file metadata
https://bugs.webkit.org/show_bug.cgi?id=98043

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2012-10-01
Reviewed by Carlos Garcia Campos.

gio/gvfs can store file metadata, let's use this to
store the download uri.

* WebProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::didReceiveResponse): Save
the download uri as metadata.

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

8 years agoRemove hixie76 websocket test from Qt 5.0 WK2 TestExpectations skipped list.
commit-queue@webkit.org [Mon, 1 Oct 2012 16:36:31 +0000 (16:36 +0000)]
Remove hixie76 websocket test from Qt 5.0 WK2 TestExpectations skipped list.
https://bugs.webkit.org/show_bug.cgi?id=98037

Unreviewed gardening.

Hixie76 websocket tests were moved to Hybi as Hixie76 was removed.
Also, the test that is removed from the skipped list is passing in
the Hybi version.

Patch by Michael BrĂ¼ning <michael.bruning@digia.com> on 2012-10-01

* platform/qt-5.0-wk2/TestExpectations:

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

8 years agoUnreviewed single line compilation fix for Canary Debug Mac.
loislo@chromium.org [Mon, 1 Oct 2012 16:27:34 +0000 (16:27 +0000)]
Unreviewed single line compilation fix for Canary Debug Mac.

* tests/MemoryInstrumentationTest.cpp:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 1 Oct 2012 15:56:33 +0000 (15:56 +0000)]
Unreviewed GTK gardening.

Adding platform-specific baselines for fast/canvas/canvas-render-layer.html
as required after r129934.
Skipping a calendar picker test that times out, the feature is not yet supported
on the GTK port.
Adding a flaky failure expectation for fast/dom/inline-event-attributes-release.html
that started occurring after r130000.

* platform/gtk/TestExpectations:
* platform/gtk/fast/canvas/canvas-render-layer-expected.png: Added.
* platform/gtk/fast/canvas/canvas-render-layer-expected.txt: Added.

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

8 years ago[GTK] Rely on the general implementation for detecting the Apache server path.
rakuco@webkit.org [Mon, 1 Oct 2012 15:26:38 +0000 (15:26 +0000)]
[GTK] Rely on the general implementation for detecting the Apache server path.
https://bugs.webkit.org/show_bug.cgi?id=98033

Reviewed by Martin Robinson.

The implemenentation of _path_to_apache() in base.py already
checks for the same paths gtk.py tries; the only difference is
that all of the are tried regardless of the current distro.

Doing so is more portable, and lets us remove some distro-checking
from the code.

* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._path_to_apache): Remove.

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

8 years agoUnreviewed. Chromium build fix.
yurys@chromium.org [Mon, 1 Oct 2012 15:26:21 +0000 (15:26 +0000)]
Unreviewed. Chromium build fix.

* bindings/v8/V8DOMMap.h: included Node.h as reportMemoryUsage now uses Node definition.

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

8 years agoWeb Inspector: provide memory instrumentation for HashMap
yurys@chromium.org [Mon, 1 Oct 2012 14:46:25 +0000 (14:46 +0000)]
Web Inspector: provide memory instrumentation for HashMap
https://bugs.webkit.org/show_bug.cgi?id=98005

Reviewed by Pavel Feldman.

Source/WebCore:

Updated all call sites of MemoryInstrumentation::addHashMap to use generic
method of reporting memory footprint instead.

* bindings/v8/ScopedDOMDataStore.cpp:
* bindings/v8/V8Binding.cpp:
(WebCore::StringCache::reportMemoryUsage):
* bindings/v8/V8DOMMap.h:
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::reportMemoryUsage):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::reportMemoryUsage):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::reportMemoryUsage):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::reportMemoryUsage):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::reportMemoryUsage):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::reportMemoryUsage):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::reportMemoryUsage):
* rendering/style/StyleRareNonInheritedData.cpp:

Source/WebKit/chromium:

Added unit tests for HashMap memory instrumentation.

* tests/MemoryInstrumentationTest.cpp:
(WTF):

Source/WTF:

Extracted HashMap memory instrumentation into its own file. The map's content
elements will be automatically traversed if their types are supported
by the memory instrumentation. No need to call special method for hash map
fields any more.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* wtf/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WTF):
* wtf/MemoryInstrumentationHashMap.h: Added.
(WTF):
(WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
(WTF::reportMemoryUsage):

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

8 years agoPut implementation details of StyleBuilder.cpp into anonymous namespace
yurys@chromium.org [Mon, 1 Oct 2012 14:25:19 +0000 (14:25 +0000)]
Put implementation details of StyleBuilder.cpp into anonymous namespace
https://bugs.webkit.org/show_bug.cgi?id=98028

Reviewed by Pavel Feldman.

All types that are declared and used only inside StyleBuilder were moved
into anonymous namespace to avoid name conflicts with the rest of WebCore.

* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder): renamed BorderImageType::Image into BorderImageType::BorderImage
as otherwise there is an ambiguity at placess where setPropertyHandler is called.

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

8 years ago[GTK] Save original uri for downloaded files
commit-queue@webkit.org [Mon, 1 Oct 2012 14:18:58 +0000 (14:18 +0000)]
[GTK] Save original uri for downloaded files
https://bugs.webkit.org/show_bug.cgi?id=95188

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2012-10-01
Reviewed by Carlos Garcia Campos.

gvfs stores metadata locally, and this information can later be
used by file management applications. Based on a patch by
Alexander Larsson <alexl@redhat.com>.

* webkit/webkitdownload.cpp:
(webkit_download_open_stream_for_uri): Save the download-uri as
file metadata.

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

8 years ago[Qt][WK2] Device pixel ratio lost upon relaunch of the web process
abecsi@webkit.org [Mon, 1 Oct 2012 14:12:55 +0000 (14:12 +0000)]
[Qt][WK2] Device pixel ratio lost upon relaunch of the web process
https://bugs.webkit.org/show_bug.cgi?id=97908

Reviewed by Jocelyn Turcotte.

Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
when setting the device pixel ratio to make the setting permanent.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewExperimental::setDevicePixelRatio):

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

8 years ago[EFL] Remove EFL-specific expectations for fast/regions/webkit-named-flow-*
dominik.rottsches@intel.com [Mon, 1 Oct 2012 14:07:57 +0000 (14:07 +0000)]
[EFL] Remove EFL-specific expectations for fast/regions/webkit-named-flow-*
https://bugs.webkit.org/show_bug.cgi?id=98029

Unreviewed, EFL gardening.

Removing redundant platform-specific test results for webkit-named-flow-* cases.
Fixes bot redness after API rename in r130041.

* platform/efl/fast/regions/webkit-named-flow-collection-crash-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-collection-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-add-to-flow-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-no-regions-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-remove-from-dom-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-remove-from-flow-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-target-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-event-to-null-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-existing-flow-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-first-empty-region-index-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-flow-added-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-get-content-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-get-regions-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-invalid-name-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-modified-flow-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-name-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-non-existing-flow-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-overset-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-removed-flow-expected.txt: Removed.
* platform/efl/fast/regions/webkit-named-flow-same-object-expected.txt: Removed.

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

8 years ago[BlackBerry] Remove suppressing of VKB hiding when processing changes.
mifenton@rim.com [Mon, 1 Oct 2012 14:04:09 +0000 (14:04 +0000)]
[BlackBerry] Remove suppressing of VKB hiding when processing changes.
https://bugs.webkit.org/show_bug.cgi?id=98023

Reviewed by Rob Buis.

PR 215881.

Allow JS to blur the input field while processing key handling.

Reviewed Internally by Chris Hutten-Czapski

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):

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