Timeline



Oct 17, 2012:

10:59 PM Changeset in webkit [131707] by zoltan@webkit.org
  • 5 edits in trunk

Remove the JSHeap memory measurement of the PageLoad performacetests since it creates bogus JSGlobalDatas
https://bugs.webkit.org/show_bug.cgi?id=99609

Reviewed by Ryosuke Niwa.

Remove the implementation since it creates bogus JSGlobalDatas in the layout tests.

Source/JavaScriptCore:

  • heap/HeapStatistics.cpp:

(JSC):

  • heap/HeapStatistics.h:

(HeapStatistics):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dump):

10:55 PM Changeset in webkit [131706] by haraken@chromium.org
  • 13 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

  • bindings/scripts/test/V8/V8Float64Array.h:

(V8Float64Array):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(V8TestActiveDOMObject):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(V8TestCustomNamedGetter):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(V8TestEventConstructor):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(V8TestEventTarget):

  • bindings/scripts/test/V8/V8TestException.h:

(V8TestException):

  • bindings/scripts/test/V8/V8TestInterface.h:

(V8TestInterface):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(V8TestMediaQueryListListener):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(V8TestNamedConstructor):

  • bindings/scripts/test/V8/V8TestNode.h:

(V8TestNode):

  • bindings/scripts/test/V8/V8TestObj.h:

(V8TestObj):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(V8TestSerializedScriptValueInterface):

10:42 PM Changeset in webkit [131705] by commit-queue@webkit.org
  • 1 edit
    1 move in trunk/LayoutTests

Let's move use-while-animating-crash-expected.txt to common place.
https://bugs.webkit.org/show_bug.cgi?id=99678

Unreviewed, expectations change.

Move expected result to common place to pass svg/animations/use-while-animating-crash.html case.

Patch by Kangil Han <kangil.han@samsung.com> on 2012-10-17

  • svg/animations/use-while-animating-crash-expected.txt: Renamed from LayoutTests/platform/mac/svg/animations/use-while-animating-crash-expected.txt.
10:09 PM Changeset in webkit [131704] by mkwst@chromium.org
  • 14 edits
    2 adds in trunk/Source

Move mixed content logic out of FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=45638

Reviewed by Eric Seidel.

Source/WebCore:

This change moves checks for mixed content out of FrameLoader, and into
a new MixedContentChecker object. It's a pretty straightforward
refactoring with no change to the overall logic, and only minor changes
to the code to reduce repetition.

The only substantive change is renaming the methods from 'checkIf*' to
'can*' to reflect the value of the boolean they return.

The visible functionality shouldn't change; this change should be
covered by existing tests in http/tests/security/mixedContent.

This patch is mostly a revitalization of Eric Sidel's original
patch: https://bugs.webkit.org/attachment.cgi?id=67432&action=prettypatch

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Hey, look! A new file!

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::mixedContentChecker):
(FrameLoader):

  • loader/MixedContentChecker.cpp: Added.

(WebCore):
(WebCore::MixedContentChecker::MixedContentChecker):
(WebCore::MixedContentChecker::client):
(WebCore::asUTF8):
(WebCore::MixedContentChecker::isMixedContent):
(WebCore::MixedContentChecker::canDisplayInsecureContent):
(WebCore::MixedContentChecker::canRunInsecureContent):
(WebCore::MixedContentChecker::logWarning):

  • loader/MixedContentChecker.h: Added.

(WebCore):
(MixedContentChecker):

Migrate functionality from FrameLoader::checkIf* to
MixedContentChecker::can*.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::willSendRequest):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::pluginIsLoadable):
(WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::checkInsecureContent):

Use the new method locations.

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::checkIfRunInsecureContent):

Use the new method location.

10:01 PM Changeset in webkit [131703] by mitz@apple.com
  • 6 edits in trunk/Source/WebCore

REGRESSION (r95391): ComplexTextController is unnecessarily slow with characters with combining marks when the base character is not covered by any font
https://bugs.webkit.org/show_bug.cgi?id=99654

Reviewed by Adele Peterson.

When the base character of a combining character sequence is not covered by any one of the
available fonts, there is no point looking for a font that covers the entire sequence, nor
to try to use a combination of fallback fonts for the entire sequence.

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::systemFallback): Moved ComplexTextController::systemFallbackFontData
here and renamed it.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::collectComplexTextRuns): This function used to use
systemFallbackFontData() whenever Font::fontDataForCombiningCharacterSequence returned 0
for a base character with combining marks, regardless of whether the base character was
covered by any font. Changed it to preserve the return value of
fontDataForCombiningCharacterSequence, which is now 0 only if the base charcater is not in
any font, while systemFallbackFontData() is used to indicate that no single font in the
fallback list covers all characters in the sequence, but the base character is in some font.

  • platform/graphics/mac/ComplexTextController.h:

(ComplexTextController): Moved systemFallbackFontData from here to SimpleFontData.

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for the above
move.

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence): Changed to return
systemFallbackFontData() if no single font in the fallback list covers all characters in the
sequence, while using 0 to signal the base character does not exist in any font.

9:34 PM Changeset in webkit [131702] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build after r131701.

  • WebCore.exp.in:
8:59 PM Changeset in webkit [131701] by hayato@chromium.org
  • 9 edits
    2 adds
    2 deletes in trunk

Content element does not expose distributedNodes property.
https://bugs.webkit.org/show_bug.cgi?id=99232

Reviewed by Dimitri Glazkov.

Add getDistributedNodes() to HTMLContentElement's IDL, which returns a
static NodeList whose node are distributed to the content element.

Source/WebCore:

Test: fast/dom/shadow/content-element-distributed-nodes.html

  • html/shadow/HTMLContentElement.idl:
  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::getDistributedNodes):

  • html/shadow/InsertionPoint.h:

(InsertionPoint):

  • testing/Internals.cpp:
  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

LayoutTests:

  • fast/dom/shadow/content-element-distributed-nodes-expected.txt: Added.
  • fast/dom/shadow/content-element-distributed-nodes.html: Added.
  • fast/dom/shadow/distributed-nodes-expected.txt: Removed.
  • fast/dom/shadow/distributed-nodes.html: Removed.
  • platform/qt/TestExpectations:
7:56 PM Changeset in webkit [131700] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Fix build break
https://bugs.webkit.org/show_bug.cgi?id=99670

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-17
Reviewed by Anders Carlsson.

Unreviewed build fix.

Include MessageEncoder.h instead of forwarding declaration for
MessageEncoder class.

  • Scripts/webkit2/messages.py:

(forward_declarations_and_headers):

7:24 PM Changeset in webkit [131699] by dpranke@chromium.org
  • 7 edits in trunk/Tools

[chromium] stop falling back to platform/mac for LayoutTest results
https://bugs.webkit.org/show_bug.cgi?id=99666

Reviewed by James Robinson.

Previously the Chromium ports would fall back to results in
platform/mac if a result was not found in platform/chromium-*.
This allowed us to share a lot of results w/ the Apple Mac port,
but often surprised people (especially at Apple ;) when changing
something in that directory would break a Chromium build.

The tests that are deleted in baselineoptimizer were for cases
that are no longer relevant or possible in the current fallback
graph.

  • Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:

(BaselineOptimizerTest.test_move_baselines):
(BaselineOptimizerTest.test_chromium_covers_mac_win_linux):

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort):

  • Scripts/webkitpy/layout_tests/port/chromium_mac.py:

(ChromiumMacPort):

  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:
7:11 PM Changeset in webkit [131698] by dpranke@chromium.org
  • 1 edit
    575 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [7 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

(long list of expectations files omitted).

7:10 PM Changeset in webkit [131697] by commit-queue@webkit.org
  • 2 edits in trunk/Source/Platform

[chromium] Make WebContentLayer include what it uses
https://bugs.webkit.org/show_bug.cgi?id=99664

Patch by Adrienne Walker <enne@chromium.org> on 2012-10-17
Reviewed by James Robinson.

  • chromium/public/WebContentLayer.h:
7:09 PM Changeset in webkit [131696] by dpranke@chromium.org
  • 1 edit
    1136 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [6 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

(long list of expectations files omitted).

7:06 PM Changeset in webkit [131695] by dpranke@chromium.org
  • 1 edit
    1127 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [5 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

(long list of expectations files omitted).

7:00 PM Changeset in webkit [131694] by dpranke@chromium.org
  • 1 edit
    1129 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [4 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

(long list of expectations files omitted).

6:56 PM Changeset in webkit [131693] by commit-queue@webkit.org
  • 14 edits
    25 adds in trunk

Source/WebCore: [User Timing] implement main interface in of User Timing, according to http://www.w3.org/TR/2012/CR-user-timing-20120726/
https://bugs.webkit.org/show_bug.cgi?id=90963

Patch by Pan Deng <pan.deng@intel.com> on 2012-10-17
Reviewed by Tony Gentilcore.

This patch implemented mark(), measure(), clearMarks() and clearMeasures() interface of User Timing. Getters are not exposed by Performance Timeline yet, it will be future patch.

Tests: http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks.html

http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures.html
http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark.html
http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception.html
http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure.html
http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing.html
http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception.html
http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist.html

  • GNUmakefile.list.am:
  • WebCore.gypi:
  • page/Performance.cpp:

(WebCore::Performance::webkitGetEntries):
(WebCore::Performance::webkitGetEntriesByType):
(WebCore::Performance::webkitGetEntriesByName):
(WebCore):
(WebCore::Performance::webkitMark):
(WebCore::Performance::webkitClearMarks):
(WebCore::Performance::webkitMeasure):
(WebCore::Performance::webkitClearMeasures):

  • page/Performance.h:

(WebCore):
(Performance):

  • page/Performance.idl:
  • page/PerformanceMark.h: Added.

(WebCore):
(PerformanceMark):
(WebCore::PerformanceMark::create):
(WebCore::PerformanceMark::PerformanceMark):
(WebCore::PerformanceMark::~PerformanceMark):

  • page/PerformanceMark.idl: Added.
  • page/PerformanceMeasure.h: Added.

(WebCore):
(PerformanceMeasure):
(WebCore::PerformanceMeasure::create):
(WebCore::PerformanceMeasure::PerformanceMeasure):
(WebCore::PerformanceMeasure::~PerformanceMeasure):

  • page/PerformanceMeasure.idl: Added.
  • page/PerformanceUserTiming.cpp: Added.

(WebCore):
(WebCore::UserTiming::UserTiming):
(WebCore::insertPerformanceEntry):
(WebCore::clearPeformanceEntries):
(WebCore::UserTiming::mark):
(WebCore::UserTiming::clearMarks):
(WebCore::UserTiming::findExistingMarkStartTime):
(WebCore::UserTiming::measure):
(WebCore::UserTiming::clearMeasures):

  • page/PerformanceUserTiming.h: Added.

(WebCore):
(UserTiming):
(WebCore::UserTiming::create):

LayoutTests: [User Timing] Test Cases of User Timing. According to http://www.w3.org/TR/2012/CR-user-timing-20120726/
https://bugs.webkit.org/show_bug.cgi?id=90963

Patch by Pan Deng <pan.deng@intel.com> on 2012-10-17
Reviewed by Tony Gentilcore.

Test cases in this patch validate functionality of W3C User Timing interface. These test cases use W3C testharness. Since User Timing feature is not enabled in any platform yet, all skipped currenttly.

  • http/tests/w3c/webperf/resources/webperftestharnessextension.js: Added.

(test_method_exists):
(test_noless_than):
(performance_entrylist_checker.entry_check.test_equals):
(performance_entrylist_checker.entry_check):
(performance_entrylist_checker.entrylist_order_check):
(performance_entrylist_checker.entrylist_check):
(PerformanceContext):
(PerformanceContext.prototype.initialMeasures):
(PerformanceContext.prototype.mark):
(PerformanceContext.prototype.measure):
(PerformanceContext.prototype.clearMarks):
(PerformanceContext.prototype.clearMeasures):
(PerformanceContext.prototype.getEntries):
(PerformanceContext.prototype.getEntriesByType):
(PerformanceContext.prototype.getEntriesByName):

  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception.html: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist-expected.txt: Added.
  • http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
6:42 PM Changeset in webkit [131692] by jamesr@google.com
  • 2 edits in trunk/Source/WebCore

Unreviewed clang compile fix - GraphicsLayerUpdater needs a virtual destructor.

  • platform/graphics/GraphicsLayerUpdater.h:

(GraphicsLayerUpdater):

6:42 PM Changeset in webkit [131691] by dpranke@chromium.org
  • 1 edit
    1126 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [3 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

(long list of expectations files omitted).

6:38 PM Changeset in webkit [131690] by dpranke@chromium.org
  • 1 edit
    1106 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [2 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

(long list of expectations files omitted).

6:33 PM Changeset in webkit [131689] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

Bump up the number of iterations of html5-full-render to 5
https://bugs.webkit.org/show_bug.cgi?id=99657

Reviewed by Andreas Kling.

Now that html5-full-render.html runs in less than 15 seconds after r131553,
we can afford to get 5 instead of 2 samples.

  • Parser/html5-full-render.html:
6:32 PM Changeset in webkit [131688] by tkent@chromium.org
  • 101 edits
    8 adds
    1 delete in trunk/LayoutTests

[Chromium] Rebaseline expectations for multiple-fields <input>

  • platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
  • platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.png: Added.
  • platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.png:
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png:
  • platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png:
  • platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.png:
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win-xp/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
  • platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.png: Added.
  • platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.png:
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png:
  • platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png:
  • platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png:
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png:
6:31 PM Changeset in webkit [131687] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

Attempt to fix the build after r131680.

Unreviewed build fix.

  • dom/Document.cpp: Guard ACCELERATED_COMPOSITING for RenderLayerCompositor.h
6:27 PM Changeset in webkit [131686] by Darin Adler
  • 8 edits in trunk/Source/WebKit2

Make subclassing of WKView safer by namespacing methods and eliminating its use as an observer and delegate
https://bugs.webkit.org/show_bug.cgi?id=99251

Reviewed by Anders Carlsson.

Apps that subclass WKView should be able to freely choose method names without conflicting with a name
we chose to use internally in WKView's own implementation. Thus, it's a good idea to add a "_wk_" prefix
to any method names that are solely for internal WebKit2 use. Exceptions to this are method names that
are predetermined by AppKit, or names that are part of API or SPI.

Apps that subclass WKView should be able to add observers or use the WKView as a delegate without
conflicting with similar use in the WKView implementations. Thus, changed to use separate block-style
observers for the window notifications and a separate delegate for the tool tip implementation.

The challenging aspect of this patch was to research which method names were determined by AppKit.
There's nothing in the WebKit2 source code that necessarily states this explicitly.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::createDrawingAreaProxy): Updated for new method name.
(WebKit::PageClientImpl::scrollView): Ditto.
(WebKit::PageClientImpl::isViewFocused): Ditto.
(WebKit::PageClientImpl::colorSpace): Ditto.
(WebKit::PageClientImpl::processDidCrash): Ditto.
(WebKit::PageClientImpl::pageClosed): Ditto.
(WebKit::PageClientImpl::didRelaunchProcess): Ditto.
(WebKit::PageClientImpl::toolTipChanged): Ditto.
(WebKit::PageClientImpl::setCursor): Ditto.
(WebKit::PageClientImpl::interpretKeyEvent): Ditto.
(WebKit::PageClientImpl::setDragImage): Ditto.
(WebKit::PageClientImpl::setPromisedData): Ditto.
(WebKit::PageClientImpl::updateTextInputState): Ditto.
(WebKit::PageClientImpl::resetTextInputState): Ditto.
(WebKit::PageClientImpl::convertToDeviceSpace): Ditto.
(WebKit::PageClientImpl::convertToUserSpace): Ditto.
(WebKit::PageClientImpl::doneWithKeyEvent): Ditto.
(WebKit::PageClientImpl::setFindIndicator): Ditto.
(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): Ditto.
(WebKit::PageClientImpl::enterAcceleratedCompositingMode): Ditto.
(WebKit::PageClientImpl::exitAcceleratedCompositingMode): Ditto.
(WebKit::PageClientImpl::updateAcceleratedCompositingMode): Ditto.
(WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged): Ditto.
(WebKit::PageClientImpl::setPluginComplexTextInputState): Ditto.
(WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): Ditto.
(WebKit::PageClientImpl::didCommitLoadForMainFrame): Ditto.
(WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): Ditto.
(WebKit::PageClientImpl::customRepresentationZoomFactor): Ditto.
(WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
(WebKit::PageClientImpl::findStringInCustomRepresentation): Ditto.
(WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Ditto.
(WebKit::PageClientImpl::executeSavedCommandBySelector): Ditto.
(WebKit::PageClientImpl::showDictationAlternativeUI): Ditto.

  • UIProcess/API/mac/WKView.mm: Simplified imports a bit. No need for conditional imports of basic classes

like NSTextAlternatives.h and NSAttributedString.h. No need to put internal headers in a separate paragraph.
Added WKToolTipDelegate class and added _toolTipDelegate and _observers fields to WKViewData.
(-[WKView becomeFirstResponder]): Updated for new method name.
(-[WKView resignFirstResponder]): Ditto.
(-[WKView setFrameSize:]): Ditto.
(-[WKView _wk_updateWindowAndViewFrames]): Ditto.
(-[WKView renewGState]): Ditto.
(-[WKView _wk_setPluginComplexTextInputState:]): Ditto.
(validateCommandCallback): Ditto.
(-[WKView displayIfNeeded]): Fixed a comment typo.
(-[WKView _wk_setMouseDownEvent:]): Updated for new method name.
(-[WKView mouseDown:]): Ditto.
(-[WKView mouseUp:]): Ditto.
(-[WKView acceptsFirstMouse:]): Ditto.
(-[WKView shouldDelayWindowOrderingForEvent:]): Ditto.
(-[WKView _wk_handleStyleKeyEquivalent:]): Ditto.
(-[WKView performKeyEquivalent:]): Ditto.
(-[WKView _wk_disableComplexTextInputIfNecessary]): Ditto.
(-[WKView _wk_handlePluginComplexTextInputKeyDown:]): Ditto.
(-[WKView _wk_tryHandlePluginComplexTextInputKeyDown:]): Ditto.
(-[WKView keyDown:]): Ditto.
(-[WKView _wk_executeSavedKeypressCommands]): Ditto.
(-[WKView _wk_notifyInputContextAboutDiscardedComposition]): Ditto.
(-[WKView selectedRange]): Ditto.
(-[WKView hasMarkedText]): Ditto.
(-[WKView unmarkText]): Ditto.
(-[WKView setMarkedText:selectedRange:replacementRange:]): Ditto.
(-[WKView markedRange]): Ditto.
(-[WKView attributedSubstringForProposedRange:actualRange:]): Ditto.
(-[WKView characterIndexForPoint:]): Ditto.
(-[WKView firstRectForCharacterRange:actualRange:]): Ditto.
(-[WKView _wk_updateWindowVisibility]): Ditto.
(-[WKView _wk_updateWindowObserversForWindow:]): Replaced the two separate methods
addWindowObserversForWindow and removeWindowObservers with this single method, since
the two are only used in tandem. Changed code to use blocks for the observers and to
keep the observers in an array.
(-[WKView viewWillMoveToWindow:]): Updated to use _wk_updateWindowObserversForWindow.
(-[WKView viewDidMoveToWindow]): Updated for new method names.
(-[WKView _wk_windowScreenDidChange]): Ditto.
(-[WKView _wk_windowDidBecomeKey:]): Ditto.
(-[WKView _wk_windowDidChangeScreen:]): Ditto.
(-[WKView _wk_windowDidResignKey:]): Ditto.
(-[WKView _wk_windowDidMiniaturize:]): Ditto.
(-[WKView _wk_windowDidDeminiaturize:]): Ditto.
(-[WKView _wk_windowDidMove:]): Ditto.
(-[WKView _wk_windowDidResize:]): Ditto.
(-[WKView _wk_windowDidOrderOffScreen:]): Ditto.
(-[WKView _wk_windowDidOrderOnScreen:]): Ditto.
(-[WKView _wk_windowDidChangeBackingProperties:]): Ditto.
(-[WKView drawRect:]): Ditto.
(-[WKView _wk_accessibilityRegisterUIProcessTokens]): Ditto.
(-[WKView _wk_updateRemoteAccessibilityRegistration:]): Ditto.
(-[WKView _wk_postFakeMouseMovedEventForFlagsChangedEvent:]): Ditto.
(-[WKView _wk_intrinsicDeviceScaleFactor]): Ditto.
(-[WKView _wk_setDrawingAreaSize:]): Ditto.
(-[WKView _wk_shouldUseTiledDrawingArea]): Ditto.
(-[WKView _wk_createDrawingAreaProxy]): Ditto.
(-[WKView _wk_isFocused]): Ditto.
(-[WKView _wk_processDidCrash]): Ditto.
(-[WKView _wk_pageClosed]): Ditto.
(-[WKView _wk_didRelaunchProcess]): Ditto.
(-[WKView _wk_setCursor:]): Ditto.
(-[WKView _wk_setUserInterfaceItemState:enabled:state:]): Ditto.
(-[WKView _wk_tryPostProcessPluginComplexTextInputKeyDown:]): Ditto.
(-[WKView _wk_doneWithKeyEvent:eventWasHandled:]): Ditto.
(-[WKView _wk_interpretKeyEvent:savingCommandsTo:]): Ditto.
(-[WKView _wk_convertToDeviceSpace:]): Ditto.
(-[WKView _wk_convertToUserSpace:]): Ditto.
(-[WKView _wk_addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Ditto.
(-[WKView _wk_addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
(-[WKView _wk_removeTrackingRects:count:]): Ditto.
(-[WKView _wk_sendToolTipMouseExited]): Ditto.
(-[WKView _wk_sendToolTipMouseEntered]): Ditto.
(-[WKView _wk_toolTipChangedFrom:to:]): Changed to use the data object as the tool tip owner so
the delegate method can be there rather than on WKView.
(-[WKView _wk_setFindIndicator:fadeOut:animate:]): Updated for new method names.
(-[WKView _wk_enterAcceleratedCompositingMode:]): Ditto.
(-[WKView _wk_exitAcceleratedCompositingMode]): Ditto.
(-[WKView _wk_updateAcceleratedCompositingMode:]): Ditto.
(-[WKView _wk_setAccessibilityWebProcessToken:]): Ditto.
(-[WKView _wk_pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Ditto.
(-[WKView _wk_setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Ditto.
(-[WKView _wk_setPageHasCustomRepresentation:]): Ditto.
(-[WKView _wk_didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:]): Ditto.
(-[WKView _wk_customRepresentationZoomFactor]): Ditto.
(-[WKView _wk_setCustomRepresentationZoomFactor:]): Ditto.
(-[WKView _wk_findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
(-[WKView _wk_countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
(-[WKView _wk_setDragImage:at:linkDrag:]): Ditto.
(-[WKView _wk_setPromisedData:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Ditto.
(-[WKView _wk_updateSecureInputState]): Ditto.
(-[WKView _wk_updateTextInputStateIncludingSecureInputState:]): Ditto.
(-[WKView _wk_resetTextInputState]): Ditto.
(-[WKView _wk_didChangeScrollbarsForMainFrame]): Ditto.
(-[WKView _wk_hasFullScreenWindowController]): Ditto.
(-[WKView _wk_fullScreenWindowController]): Ditto.
(-[WKView _wk_closeFullScreenWindowController]): Ditto.
(-[WKView _wk_executeSavedCommandBySelector:]): Ditto.
(-[WKView _wk_cacheWindowBottomCornerRect]): Ditto.
(-[WKView _wk_spellCheckerDocumentTag]): Ditto.
(-[WKView _wk_handleAcceptedAlternativeText:]): Ditto.
(-[WKView _wk_setSuppressVisibilityUpdates:]): Ditto.
(-[WKView _wk_suppressVisibilityUpdates]): Ditto.
(-[WKView _wk_registerDraggedTypes]): Ditto.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Ditto.
(-[WKView wantsUpdateLayer]): Ditto.
(-[WKView enableFrameSizeUpdates]): Ditto.
(-[WKToolTipDelegate initWithPage:]): Added.
(-[WKToolTipDelegate view:stringForToolTip:point:userData:]): Added.

  • UIProcess/API/mac/WKViewInternal.h: Changed all internal method names to have a _wk_ prefix.
  • UIProcess/API/mac/WKViewPrivate.h: Expose the _shouldUseTiledDrawingArea method formally as SPI

since Safari is currently overriding this method.

  • UIProcess/mac/CorrectionPanel.mm:

(WebKit::CorrectionPanel::recordAutocorrectionResponse): Updated for new method names.
(WebKit::CorrectionPanel::handleAcceptedReplacement): Ditto.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController enterFullScreen:]): Updated for new method names.
(-[WKFullScreenWindowController exitFullScreen]): Ditto.
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto.

  • UIProcess/mac/WebFullScreenManagerProxyMac.mm:

(WebKit::WebFullScreenManagerProxy::invalidate): Updated for new method names.
(WebKit::WebFullScreenManagerProxy::close): Ditto.
(WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::enterFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Ditto.

6:02 PM Changeset in webkit [131685] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

StyleRareNonInheritedData::contentDataEquivalent only looks at the first ContentData
https://bugs.webkit.org/show_bug.cgi?id=99560

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-17
Reviewed by Eric Seidel.

Source/WebCore:

Previously we only compared the first ContentData in the linked
list of ContentData's which meant that if the resolved style
for content had the same prefix we wouldn't update the content.

This patch adds a loop to compare each of the ContentData objects
in the linked list.

Test: fast/css-generated-content/content-property-change.html

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::contentDataEquivalent):

LayoutTests:

Test that when the content CSS property changes we update the displayed content.

  • fast/css-generated-content/content-property-change-expected.html: Added.
  • fast/css-generated-content/content-property-change.html: Added.
5:59 PM Changeset in webkit [131684] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove StyleContentType since it's not used anymore
https://bugs.webkit.org/show_bug.cgi?id=99659

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-17
Reviewed by Eric Seidel.

Remove StyleContentType enum since it's not used anymore and
make the is*() type checking methods on ContentData public.

No new tests needed, this is just deleting dead code.

  • rendering/style/ContentData.h:

(ContentData):

  • rendering/style/RenderStyleConstants.h:
5:59 PM Changeset in webkit [131683] by dpranke@chromium.org
  • 1 edit
    1124 adds in trunk/LayoutTests

2012-10-17 Dirk Pranke <dpranke@chromium.org>

Clone baselines from platform/mac to platform/chromium [1 of 7]
https://bugs.webkit.org/show_bug.cgi?id=99666

Unreviewed, expectations change.

5:54 PM Changeset in webkit [131682] by weinig@apple.com
  • 1 edit
    1 copy in trunk/Source/JavaScriptCore

Attempt to fix the build.

  • bytecode/GlobalResolveInfo.h: Copied from bytecode/GlobalResolveInfo.h.
5:47 PM Changeset in webkit [131681] by commit-queue@webkit.org
  • 5 edits in trunk

Remove redundant sdk_build parameter.
https://bugs.webkit.org/show_bug.cgi?id=99648

Patch by Shashi Shekhar <shashishekhar@google.com> on 2012-10-17
Reviewed by Adam Barth.

sdk_build parameter is no longer needed.

Source/WebKit/chromium:

  • WebKitUnitTests.gyp:

Tools:

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:
5:42 PM Changeset in webkit [131680] by Simon Fraser
  • 15 edits
    2 adds in trunk/Source/WebCore

Create a GraphicsLayerUpdater class that will do periodic layer flushes for layer trees containing tile caches
https://bugs.webkit.org/show_bug.cgi?id=99518

Reviewed by Dean Jackson.

When using tile caches in place of tiled layers, we need to recompute their
visible area periodically while animations and scrolling are happening.
Make a new class, GraphicsLayerUpdater, to handle this updating.
Internally, it uses DisplayRefreshMonitor to generate the periodic updates.

GraphicsLayer clients are notified that layers need periodic updates. Clients
are free to make use of GraphicsLayerUpdater to handle this updating, as
RenderLayerCompositor does.

Also do some minor refactoring of methods in RenderLayerCompositor that
get to Page.

  • CMakeLists.txt: Add GraphicsLayerUpdater.cpp to the build.
  • GNUmakefile.list.am: Ditto.
  • PlatformBlackBerry.cmake: Ditto.
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • dom/Document.cpp:

(WebCore::Document::windowScreenDidChange): Tell the compositor that the screen
changed, so it can tell the GraphicsLayerUpdater if it has one.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::notifyFlushBeforeDisplayRefresh): Method called
for layers that need periodic updates, like tile cache layers.

  • platform/graphics/GraphicsLayerUpdater.cpp: Added. Uses DisplayRefreshMonitorManager

to flush layers before the next refresh.
(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):
(WebCore::GraphicsLayerUpdater::~GraphicsLayerUpdater):
(WebCore::GraphicsLayerUpdater::scheduleUpdate):
(WebCore::GraphicsLayerUpdater::screenDidChange):
(WebCore::GraphicsLayerUpdater::displayRefreshFired):

  • platform/graphics/GraphicsLayerUpdater.h: Added.

(GraphicsLayerUpdaterClient): Clients need to implement flushLayers().
(WebCore::GraphicsLayerUpdaterClient::~GraphicsLayerUpdaterClient):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::recursiveCommitChanges): For tile cache layers,
tell the client that this layer should be updated soon to update the visible rect.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::notifyFlushBeforeDisplayRefresh): Pass this message
on to the compositor.

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking): Implement notifyFlushBeforeDisplayRefresh.
Add OVERRIDE to all the client overrides.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): Use helper to get to Page.
(WebCore::RenderLayerCompositor::scheduleLayerFlush): Ditto.
(WebCore::RenderLayerCompositor::flushPendingLayerChanges): Soon we're going to be asking
about the current state of animations inside the flush (for visible rect computation), so we
need a AnimationUpdateBlock to make sure all the animation times are in sync.
(WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh): Make a GraphicsLayerUpdater
if necessary, and tell it to update soon.
(WebCore::RenderLayerCompositor::flushLayers): The GraphicsLayerUpdater client method.
Just does a flush. For now, considers this Frame as the flush root, which will need fixing for iframes.
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): Use helper to get to Page.
(WebCore::RenderLayerCompositor::deviceScaleFactor): Ditto.
(WebCore::RenderLayerCompositor::pageScaleFactor): Ditto.
(WebCore::RenderLayerCompositor::destroyRootLayer): Ditto.
(WebCore::RenderLayerCompositor::windowScreenDidChange): Tell the updater if we have one.
(WebCore::RenderLayerCompositor::scrollingCoordinator): Use helper to get to Page.
(WebCore::RenderLayerCompositor::graphicsLayerFactory): Use helper to get to Page.
(WebCore::RenderLayerCompositor::page): The helper.

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor): Add OVERRIDE to all the client overrides.

5:36 PM Changeset in webkit [131679] by andersca@apple.com
  • 28 edits
    4 copies in trunk/Source/WebKit2

Add MessageEncoder and MessageDecoder subclasses
https://bugs.webkit.org/show_bug.cgi?id=99365

Reviewed by Andreas Kling.

This is the first step towards cleaning up IPC handling in WebKit2. The idea is that MessageEncoder and MessageDecoder
will handle all the IPC specific parts of encoding and decoding (such as attachments), whereas the ArgumentEncoder and ArgumentDecoder
classes are only used for serializing simpler data types.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Platform/CoreIPC/ArgumentDecoder.cpp:

(CoreIPC::ArgumentDecoder::create):
(CoreIPC::ArgumentDecoder::initialize):

  • Platform/CoreIPC/ArgumentDecoder.h:

(ArgumentDecoder):

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::ArgumentEncoder::create):
(CoreIPC::ArgumentEncoder::ArgumentEncoder):

  • Platform/CoreIPC/ArgumentEncoder.h:

(ArgumentEncoder):

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::waitForSyncReply):
(CoreIPC::Connection::processIncomingSyncReply):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):

  • Platform/CoreIPC/Connection.h:

(Connection):
(PendingSyncReply):
(CoreIPC::Connection::PendingSyncReply::releaseReplyDecoder):
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
(CoreIPC::Connection::waitForAndDispatchImmediately):
(CoreIPC::Connection::deprecatedSendSync):
(CoreIPC::Connection::deprecatedSend):

  • Platform/CoreIPC/MessageDecoder.cpp:

(CoreIPC::MessageDecoder::create):
(CoreIPC::MessageDecoder::~MessageDecoder):
(CoreIPC::MessageDecoder::MessageDecoder):

  • Platform/CoreIPC/MessageDecoder.h:

(CoreIPC):
(MessageDecoder):

  • Platform/CoreIPC/MessageEncoder.cpp:

(CoreIPC):
(CoreIPC::MessageEncoder::create):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):

  • Platform/CoreIPC/MessageEncoder.h:

(CoreIPC):
(MessageEncoder):

  • Platform/CoreIPC/MessageSender.h:

(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendMessage):

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):
(CoreIPC::createMessageDecoder):
(CoreIPC::Connection::receiveSourceEventHandler):

  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::processMessage):
(CoreIPC::Connection::sendOutgoingMessage):

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::readEventHandler):
(CoreIPC::Connection::writeEventHandler):
(CoreIPC::Connection::platformCanSendOutgoingMessages):
(CoreIPC::Connection::sendOutgoingMessage):

  • Scripts/webkit2/messages.py:

(generate_message_handler):

  • Scripts/webkit2/messages_unittest.py:

(MessageEncoder):

  • Shared/WebConnection.cpp:

(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::handleMessage):

  • Shared/WebConnection.h:

(CoreIPC):

  • Target.pri:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::postMessageToInjectedBundle):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendMessage):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):
(WebKit::WebProcessProxy::deprecatedSend):
(WebKit::WebProcessProxy::send):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/DecoderAdapter.cpp:

(WebKit::DecoderAdapter::DecoderAdapter):
(WebKit::DecoderAdapter::decodeBytes):
(WebKit::DecoderAdapter::decodeBool):
(WebKit::DecoderAdapter::decodeUInt16):
(WebKit::DecoderAdapter::decodeUInt32):
(WebKit::DecoderAdapter::decodeUInt64):
(WebKit::DecoderAdapter::decodeInt32):
(WebKit::DecoderAdapter::decodeInt64):
(WebKit::DecoderAdapter::decodeFloat):
(WebKit::DecoderAdapter::decodeDouble):
(WebKit::DecoderAdapter::decodeString):

  • WebProcess/WebPage/DecoderAdapter.h:

(DecoderAdapter):

  • WebProcess/WebPage/EncoderAdapter.cpp:

(WebKit::EncoderAdapter::EncoderAdapter):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::postInjectedBundleMessage):

  • win/WebKit2.vcproj:
5:29 PM WikiStart edited by zoltan@webkit.org
(diff)
5:28 PM Performance Tests created by zoltan@webkit.org
Rename page from: …
5:25 PM WikiStart edited by zoltan@webkit.org
(diff)
5:24 PM Changeset in webkit [131678] by eric@webkit.org
  • 3 edits in trunk/Source/WebCore

Make dom-query.html slightly faster by removing unnecessary ref-churn in StringTraits
https://bugs.webkit.org/show_bug.cgi?id=99652

Reviewed by Adam Barth.

My testing showed this moved dom-query.html from 465560 runs/s to 479019
which is about 2% if I'm doing my math correctly.

I suspect that's due to avoiding the ref-churn we were incurring by using
return-by-value symantics here.

This is just the tip of the iceburg. :)

  • bindings/v8/V8StringResource.cpp:

(StringTraits):

  • bindings/v8/V8ValueCache.h:

(WebCore::WebCoreStringResource::webcoreString):
(WebCore::WebCoreStringResource::atomicString):

5:18 PM Changeset in webkit [131677] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Move handling of CSSPropertyWebkitLineClamp from StyleResolver into StyleBuilder.
https://bugs.webkit.org/show_bug.cgi?id=99534

Reviewed by Alexis Menard.

One small step towards removing the giant switch statement in StyleResolver, this patch moves line clamp handling into StyleBuilder.

Covered by fast/overflow/line-clamp.html

  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

5:09 PM Changeset in webkit [131676] by oliver@apple.com
  • 49 edits in trunk/Source/JavaScriptCore

Roll out r131645 as it causes random site crashes.

5:08 PM Changeset in webkit [131675] by aestes@apple.com
  • 7 edits in trunk/Source

[WebKit2] Add removeChild: to WKDOMNode and make WKDOMText.data read/write
https://bugs.webkit.org/show_bug.cgi?id=99662

Reviewed by Sam Weinig.

Source/WebCore:

Export needed symbols.

  • WebCore.exp.in:

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:

(-[WKDOMNode removeChild:]):

  • WebProcess/InjectedBundle/API/mac/WKDOMText.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMText.mm:

(-[WKDOMText setData:]):

5:07 PM Changeset in webkit [131674] by commit-queue@webkit.org
  • 45 edits in trunk

[GTK] AccessibilityUIElement::role() should be consistent across platforms wherever possible
https://bugs.webkit.org/show_bug.cgi?id=99640

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-10-17
Reviewed by Chris Fleizach.

Tools:

Convert AtkRole instances to the Mac/Safari-style AXRole string.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(roleToString): New method to convert AtkRole instances to the Mac/Safari-style AXRole string
(AccessibilityUIElement::role): Output the Mac/Safair-style AXRole string rather than the AtkRole's name

LayoutTests:

Updated tests and expectations to use the Mac/Safari-style AXRole strings

  • platform/gtk/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt:
  • platform/gtk/accessibility/aria-combobox-expected.txt:
  • platform/gtk/accessibility/aria-fallback-roles-expected.txt:
  • platform/gtk/accessibility/aria-menubar-menuitems-expected.txt:
  • platform/gtk/accessibility/aria-roles-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored.html:
  • platform/gtk/accessibility/aria-slider-required-attributes-expected.txt:
  • platform/gtk/accessibility/aria-slider-required-attributes.html:
  • platform/gtk/accessibility/aria-table-hierarchy-expected.txt:
  • platform/gtk/accessibility/aria-table-hierarchy.html:
  • platform/gtk/accessibility/aria-tables-expected.txt:
  • platform/gtk/accessibility/aria-toggle-button-role-expected.txt:
  • platform/gtk/accessibility/aria-toggle-button-role.html:
  • platform/gtk/accessibility/aria-toggle-button-with-title-expected.txt:
  • platform/gtk/accessibility/button-accessible-name-expected.txt:
  • platform/gtk/accessibility/button-accessible-name.html:
  • platform/gtk/accessibility/canvas-description-and-role-expected.txt:
  • platform/gtk/accessibility/caret-browsing-text-focus-expected.txt:
  • platform/gtk/accessibility/caret-browsing-text-focus.html:
  • platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt:
  • platform/gtk/accessibility/div-within-anchors-causes-crash-expected.txt:
  • platform/gtk/accessibility/entry-and-password-expected.txt:
  • platform/gtk/accessibility/input-slider-expected.txt:
  • platform/gtk/accessibility/input-slider.html:
  • platform/gtk/accessibility/legend-expected.txt:
  • platform/gtk/accessibility/list-items-always-exposed-expected.txt:
  • platform/gtk/accessibility/list-items-always-exposed.html:
  • platform/gtk/accessibility/media-controls-panel-title-expected.txt:
  • platform/gtk/accessibility/media-controls-panel-title.html:
  • platform/gtk/accessibility/name-from-label-expected.txt:
  • platform/gtk/accessibility/name-from-label.html:
  • platform/gtk/accessibility/object-with-title-expected.txt:
  • platform/gtk/accessibility/object-with-title.html:
  • platform/gtk/accessibility/replaced-objects-in-anonymous-blocks-expected.txt:
  • platform/gtk/accessibility/spans-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs.html:
  • platform/gtk/accessibility/spans.html:
  • platform/gtk/accessibility/svg-image-expected.txt:
  • platform/gtk/accessibility/table-hierarchy-expected.txt:
  • platform/gtk/accessibility/table-hierarchy.html:
5:03 PM Changeset in webkit [131673] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] Don't generate code that declares visitDOMWrapper if we're not going to generate the implementation
https://bugs.webkit.org/show_bug.cgi?id=99653

Reviewed by Eric Seidel.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

5:02 PM Changeset in webkit [131672] by dgrogan@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Destroy leveldb directory if unknown schema is detected
https://bugs.webkit.org/show_bug.cgi?id=99636

Reviewed by Tony Chang.

chromium browser test in progress at
https://codereview.chromium.org/11196029

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore):
(WebCore::isSchemaKnown):
Return true when the schema key doesn't exist because new databases
won't have one.

(WebCore::setUpMetadata):
(WebCore::IDBLevelDBBackingStore::open):
Piggy-back on existing leveldb::destroy code.

5:00 PM Changeset in webkit [131671] by commit-queue@webkit.org
  • 7 edits
    1 copy
    2 adds in trunk

Incorrect rendering of borders on <col> with span > 1
https://bugs.webkit.org/show_bug.cgi?id=76246

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-10-17
Reviewed by Julien Chaffraix.

Source/WebCore:

The HTML5 rendering specification [10.2.2 - Display Types] states that
"For the purposes of the CSS table model, the col element is expected to
be treated as if it was present as many times as its span attribute
specifies."
We should thus apply a col element's border as if the element is present
as many number of times as its span attribute.

Apart from this, we should also treat the col and its enclosing colgroup
separately while computing the collapsed borders.

Test: fast/table/border-collapsing/collapsed-border-with-col-colgroup-span.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::computeCollapsedStartBorder):
(WebCore::RenderTableCell::computeCollapsedEndBorder):
Borders from col and its enclosing colgroup element should be handled
separately, while considering the preceeding col's end border (for start
border computation) and the next col's start border (for end border
computation).

Also, have made changes for handling of col elements with span attribute as
per the specification. We now apply the border (start or end) of the col
element irrespective of whether it has any span specified for it or not.

LayoutTests:

  • fast/table/border-collapsing/cached-change-colgroup-border-color-expected.png:
  • fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt:
  • fast/table/border-collapsing/cached-change-colgroup-border-width-expected.png:
  • fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt:

Existing tests modified. This is because previously, while computing collapsed
start border, we did not take the preceeding col's enclosing colgroup's end border
into consideration. While computing the collapsed start border, only the preceeding
col element's end border was considered.

With this fix, for the above two tests, the last col's width now changes due to
the border being applied to it (the preceeding col's enclosing colgroup's end border)
which causes the table's width to change. Also, we should note that the cell's grow
by half the border's width; which is expected (on account of their being collapsed
borders).

  • fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.txt: Added.
  • fast/table/border-collapsing/collapsed-border-with-col-colgroup-span.html: Added.
  • platform/chromium-linux/fast/table/border-collapsing/collapsed-border-with-col-colgroup-span-expected.png: Added.

Image only test added for verifying the behavior of collapsed borders with
col and colgroup span.
New expected image file added for the chromium-linux port.

4:57 PM Changeset in webkit [131670] by tsepez@chromium.org
  • 4 edits
    2 adds in trunk

Crash in ContainerNode::removeAllChildren()
https://bugs.webkit.org/show_bug.cgi?id=98443

Reviewed by Eric Carlson.

Source/WebCore:

This patch makes the errorEventSender added in WebKit Revision 112190 interact
with the updatedHasPendingLoadEvent() mechanism in the same manner as the other
existing event senders.

Test: http/tests/security/video-poster-cross-origin-crash2.html

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::setImage):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::updatedHasPendingEvent):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
(WebCore::ImageLoader::dispatchPendingLoadEvent):

  • loader/ImageLoader.h:

(ImageLoader):

LayoutTests:

  • http/tests/security/video-poster-cross-origin-crash2-expected.txt: Added.
  • http/tests/security/video-poster-cross-origin-crash2.html: Added.
4:54 PM Changeset in webkit [131669] by jsbell@chromium.org
  • 12 edits
    2 copies in branches/chromium/1271

Merge 131658 - IndexedDB: Enforce unsigned long/unsigned long long ranges
https://bugs.webkit.org/show_bug.cgi?id=99637

Reviewed by Tony Chang.

Source/WebCore:

The IndexedDB spec has [EnforceRange] specified on unsigned long and unsigned long long
arguments, which requires the implementation to throw TypeError for negative values or
values that exceed 253-1 (maximum JS number that behaves like an integer) - and 0 is
specifically forbidden by the APIs as well.

A more correct fix in the binding layer is in webkit.org/b/96798 but we can temporarily
address this in the implementation.

Also refactor to prevent IDBFactory.open(name, -1) from triggering an internal code path.

Tests: storage/indexeddb/cursor-advance.html

storage/indexeddb/intversion-bad-parameters.html
storage/indexeddb/intversion-encoding.html

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::advance): Validate argument range.

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl: Drop "unsigned" qualifier as the binding code is

not yet doing the correct validation.

  • Modules/indexeddb/IDBFactory.cpp: Refactor to prevent open(name, -1)

(WebCore):
(WebCore::IDBFactory::open): Validate the int version here, then pass to...
(WebCore::IDBFactory::openInternal): ... this method.

  • Modules/indexeddb/IDBFactory.h:

(IDBFactory):

  • Modules/indexeddb/IDBFactory.idl: Drop "unsigned" qualifier; meaningless to binding

code right now, can be re-added once webkit.org/b/96798 lands.

LayoutTests:

Additional edge case tests and updated expectations.

  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-encoding-expected.txt:
  • storage/indexeddb/resources/cursor-advance.js:

(testBadAdvance.advanceBadly):
(testBadAdvance):

  • storage/indexeddb/resources/intversion-bad-parameters.js:

(deleteSuccess):

  • storage/indexeddb/resources/intversion-encoding.js:

TBR=jsbell@chromium.org
Review URL: https://codereview.chromium.org/11184033

4:51 PM Changeset in webkit [131668] by jsbell@chromium.org
  • 6 edits in trunk

IndexedDB: Closing connection in upgradeneeded should result in error event
https://bugs.webkit.org/show_bug.cgi?id=99486

Reviewed by Tony Chang.

Source/WebCore:

The IDB spec requires that "...if connection is closed, return a DOMError of type AbortError".
This was being handled during the "enqueue" phase, which was too early either for synchronously
executing scripts or asynchronous messaging in multiprocess ports (crbug.com/150691). Move the
logic to the "dispatch" phase.

Test: storage/indexeddb/intversion-close-in-oncomplete.html

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onSuccess): Move success to error morphing from here...
(WebCore::IDBOpenDBRequest::dispatchEvent): To here.

  • Modules/indexeddb/IDBOpenDBRequest.h:

(IDBOpenDBRequest):

LayoutTests:

Updated test expectation - error, not success.

  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:

(deleteSuccess):
(upgradeNeeded.transaction.oncomplete):
(upgradeNeeded):
(openError):

4:35 PM Changeset in webkit [131667] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Build fix after r131651.

  • fast/harness/perftests/runs-per-second-iterations.html:
  • fast/harness/perftests/runs-per-second-log.html:
4:35 PM Changeset in webkit [131666] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Use virtual dispatch to create ContentData renderers
https://bugs.webkit.org/show_bug.cgi?id=99646

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-17
Reviewed by Eric Seidel.

ContentData are conceptually very similar to Nodes and we can use
the same createRenderer pattern on them to simplify creating
renderers for generated content. Now each ContentData class knows
how to create its own renderer.

Previously we switched over the StyleContentType which required a
case for CONTENT_NONE and made the code look like it could return
null, but this case is actually impossible because no ContentData
class ever has a type of CONTENT_NONE and no null checks are really
needed.

This is the final step in removing dependence on StyleContentType.

No new tests needed, this is just a refactor.

  • rendering/RenderObjectChildList.cpp: Remove createRendererForBeforeAfterContent.

(WebCore::RenderObjectChildList::updateBeforeAfterContent):

  • rendering/style/ContentData.cpp:

(WebCore::ImageContentData::createRenderer):
(WebCore):
(WebCore::TextContentData::createRenderer):
(WebCore::CounterContentData::createRenderer):
(WebCore::QuoteContentData::createRenderer):

  • rendering/style/ContentData.h: Added a new virtual method createRenderer.

(WebCore):
(ContentData):
(ImageContentData):
(TextContentData):
(CounterContentData):
(QuoteContentData):

4:33 PM Changeset in webkit [131665] by jchaffraix@webkit.org
  • 2 edits in trunk/Source/WebCore

RenderLayer subtrees without any self-painting layer shouldn't be walked during hit testing
https://bugs.webkit.org/show_bug.cgi?id=89393

Reviewed by Eric Seidel.

Performance optimization, covered by existing tests.

Bug 88888 added an peformance optimization for painting. As hit testing is very similar to
painting, it would benefit from the same optimization.

On http://dglazkov.github.com/performance-tests/biggrid.html, with a 10,000 * 100 tables,
it reduces the time to select some text inside a cell from 1-2 seconds to a usable time
(I didn't measure the exact timing).

Note that as in bug 88888, the multi-column code is not covered by this optimization.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hitTest):
This is the entrance to the hit testing code so we check if we can bail out early.

(WebCore::RenderLayer::hitTestList):
If we have no self-painting descendant layers, we can bail out.

(WebCore::RenderLayer::hitTestContents):
(WebCore::RenderLayer::hitTestLayer):
hitTest should filter the layers that call these functions. Added some ASSERT to
make sure we don't mistakenly call them when could avoid it.

4:21 PM Changeset in webkit [131664] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
4:12 PM Changeset in webkit [131663] by allan.jensen@digia.com
  • 3 edits
    2 adds in trunk

[Qt] Certain SVG content freezes QtWebKit
https://bugs.webkit.org/show_bug.cgi?id=97258

Reviewed by Simon Hausmann.

Source/WebCore:

Ensure dashpattern is well-formed by avoiding divisions by zero.

Test: svg/stroke/zero-width-hang.html

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::setLineDash):

LayoutTests:

  • svg/stroke/zero-width-hang-expected.txt: Added.
  • svg/stroke/zero-width-hang.html: Added.
4:09 PM Changeset in webkit [131662] by fpizlo@apple.com
  • 6 edits
    3 adds in trunk

REGRESSION (r130826 or r130828): Twitter top bar is dysfunctional
https://bugs.webkit.org/show_bug.cgi?id=99577
<rdar://problem/12518883>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

It turns out that it's a good idea to maintain the invariants of your object model, such as that
elements past publicLength should have the hole value.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

  • fast/js/dfg-array-pop-value-clearing-expected.txt: Added.
  • fast/js/dfg-array-pop-value-clearing.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-array-pop-value-clearing.js: Added.

(foo):

3:57 PM Changeset in webkit [131661] by alecflett@chromium.org
  • 24 edits in trunk/Source

IndexedDB: Explicitly send null/undefined/integers to frontend IDBCallbacks
https://bugs.webkit.org/show_bug.cgi?id=99619

Reviewed by Adam Barth.

Source/WebCore:

Rather than pass SerializedScriptValue tokens from the backend,
send explicit null, (as onSuccess(static_cast<SerializedScriptValue*>(0)))
undefined, (as onSucess()), and integers (as onSuccess(long long))

This reduces backend dependency on things that might require a JS
interpreter on the backend.

No new tests, this is a refactor and existing tests cover
correctness. Tests that might fail include:

Test: storage/indexeddb/index-count.html
Test: storage/indexeddb/objectstore-count.html
Test: storage/indexeddb/database-basics.html

  • Modules/indexeddb/IDBCallbacks.h:

(IDBCallbacks):

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::advanceInternal):
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
(WebCore::IDBCursorBackendImpl::prefetchContinueInternal):

  • Modules/indexeddb/IDBCursorBackendImpl.h:

(WebCore::IDBCursorBackendImpl::value):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::deleteDatabase):

  • Modules/indexeddb/IDBIndex.cpp:
  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::getInternal):

  • Modules/indexeddb/IDBObjectStore.cpp:
  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::clearInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
(WebCore::IDBObjectStoreBackendImpl::countInternal):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):
(WebCore):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBTransaction.cpp:
  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:
  • Modules/indexeddb/IDBTransactionBackendImpl.h:
  • Modules/indexeddb/IDBTransactionBackendInterface.h:
  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValue):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

Source/WebKit/chromium:

Hook up new undefined/integer-based onSuccess handlers.

  • src/IDBCallbacksProxy.cpp:

(WebKit::IDBCallbacksProxy::onSuccess):
(WebKit):

  • src/IDBCallbacksProxy.h:

(IDBCallbacksProxy):

  • src/WebIDBCallbacksImpl.cpp:

(WebKit::WebIDBCallbacksImpl::onSuccess):
(WebKit):

  • src/WebIDBCallbacksImpl.h:

(WebIDBCallbacksImpl):

  • tests/IDBAbortOnCorruptTest.cpp:
  • tests/IDBDatabaseBackendTest.cpp:
3:55 PM Changeset in webkit [131660] by Nate Chapin
  • 5 edits in trunk/Source/WebCore

Move ResourceRequest construction out of SubresourceLoader
https://bugs.webkit.org/show_bug.cgi?id=99627

Reviewed by Adam Barth.

CachedResource::load() fills out a bunch of http headers.
SubresourceLoader::create() adds a bunch more. Merge them.
Note that this merge requires a bit more care in CachedRawResource::canReuse(),
because more headers are set directly on CachedResource::m_resourceRequest, rather
than on a copy of it.

No new tests, no functionality change intended.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::create):

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):
(WebCore):
(WebCore::CachedRawResource::canReuse):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::failBeforeStarting):
(WebCore):
(WebCore::CachedResource::addAdditionalRequestHeaders):
(WebCore::CachedResource::load):

  • loader/cache/CachedResource.h:

(CachedResource):

3:51 PM Changeset in webkit [131659] by andersca@apple.com
  • 13 edits in trunk

Clean up Vector.h
https://bugs.webkit.org/show_bug.cgi?id=99622

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fix fallout from removing std::max and std::min using declarations.

  • runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::stringProtoFuncIndexOf):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):

Source/WebCore:

Fix fallout from removing std::max and std::min using declarations.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::currentAge):

Source/WTF:

Remove unused member functions from Vector and get rid of the std::max and std::min using declarations
(as per the WebKit coding style guidelines).

  • WTF.xcodeproj/project.pbxproj:

Turns out StreamBuffer.h was never added to the Xcode project; add it. Also go ahead and sort the project file.

  • wtf/Deque.h:

(WTF::::expandCapacity):

  • wtf/StreamBuffer.h:

(WTF::StreamBuffer::append):
Add std:: prefixes to max and min.

  • wtf/Vector.h:

Remove VectorBase::bufferSlot(), VectorReverseProxy and add std:: prefixes where needed.

Tools:

Remove ReversedProxy test.

  • TestWebKitAPI/Tests/WTF/Vector.cpp:
3:48 PM Changeset in webkit [131658] by jsbell@chromium.org
  • 14 edits
    2 adds in trunk

IndexedDB: Enforce unsigned long/unsigned long long ranges
https://bugs.webkit.org/show_bug.cgi?id=99637

Reviewed by Tony Chang.

Source/WebCore:

The IndexedDB spec has [EnforceRange] specified on unsigned long and unsigned long long
arguments, which requires the implementation to throw TypeError for negative values or
values that exceed 253-1 (maximum JS number that behaves like an integer) - and 0 is
specifically forbidden by the APIs as well.

A more correct fix in the binding layer is in webkit.org/b/96798 but we can temporarily
address this in the implementation.

Also refactor to prevent IDBFactory.open(name, -1) from triggering an internal code path.

Tests: storage/indexeddb/cursor-advance.html

storage/indexeddb/intversion-bad-parameters.html
storage/indexeddb/intversion-encoding.html

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::advance): Validate argument range.

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl: Drop "unsigned" qualifier as the binding code is

not yet doing the correct validation.

  • Modules/indexeddb/IDBFactory.cpp: Refactor to prevent open(name, -1)

(WebCore):
(WebCore::IDBFactory::open): Validate the int version here, then pass to...
(WebCore::IDBFactory::openInternal): ... this method.

  • Modules/indexeddb/IDBFactory.h:

(IDBFactory):

  • Modules/indexeddb/IDBFactory.idl: Drop "unsigned" qualifier; meaningless to binding

code right now, can be re-added once webkit.org/b/96798 lands.

LayoutTests:

Additional edge case tests and updated expectations.

  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-encoding-expected.txt:
  • storage/indexeddb/resources/cursor-advance.js:

(testBadAdvance.advanceBadly):
(testBadAdvance):

  • storage/indexeddb/resources/intversion-bad-parameters.js:

(deleteSuccess):

  • storage/indexeddb/resources/intversion-encoding.js:
3:33 PM Changeset in webkit [131657] by tony@chromium.org
  • 5 edits in trunk

fast/forms/range/input-appearance-range-rtl.html off by one pixel
https://bugs.webkit.org/show_bug.cgi?id=99625

Reviewed by Ojan Vafai.

Source/WebCore:

Previously, we would assume that a vertical slider in RTL would render identically to
a vertical slider in LTR. Due to differing thumb sizes, there is an off by one.

This worked in deprecated flexbox because it doesn't adjust for RTL when applying
box-align: center.

Tests: fast/forms/range/input-appearance-range-rtl.html

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::layout): Force LTR for flexbox layout when vertical. We have to restore the old value
just in case the user switches from vertical to horizontal.

LayoutTests:

Run test on GTK+ and Qt now that it is fixed.

  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
3:17 PM Changeset in webkit [131656] by msaboff@apple.com
  • 4 edits in trunk/Source

Creating a String from an NSString should check for all 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=99392

Reviewed by Geoffrey Garen.

Source/WebCore:

Use CFStringGetBytes() to try to get Latin1 data to create an 8 bit string.

No functional change, change covered by existing tests.

  • platform/text/mac/StringMac.mm:

(WTF::String::String):

Source/WTF:

Exported the LChar* version of create().

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::create):

3:16 PM Changeset in webkit [131655] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

StringImpl::findIgnoringCase() and reverseFindIgnoringCase() don't optimally handle a mix of 8 and 16 bit strings
https://bugs.webkit.org/show_bug.cgi?id=99224

Reviewed by Geoffrey Garen.

Added helper templated functions and all four combinations similar to find() and reverseFind().

(WTF::findIgnoringCaseInner):
(WTF::StringImpl::findIgnoringCase):
(WTF::reverseFindIgnoringCaseInner):
(WTF::StringImpl::reverseFindIgnoringCase):

3:14 PM Changeset in webkit [131654] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Memory leak in ewk_download_job_response_set()
https://bugs.webkit.org/show_bug.cgi?id=99621

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

No longer call ewk_url_response_ref() on the response
object in ewk_download_job_response_set() since it will
be ref'd when assigning to the RefPtr member already.

  • UIProcess/API/efl/ewk_context_download_client.cpp:

(didReceiveResponse):

  • UIProcess/API/efl/ewk_download_job.cpp:

(ewk_download_job_response_set):

  • UIProcess/API/efl/ewk_download_job_private.h: Remove several unimplemented functions.
3:08 PM Changeset in webkit [131653] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Compilation warning in Ewk_View when accelerated compositing is disabled
https://bugs.webkit.org/show_bug.cgi?id=99613

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Fix compilation warning in _ewk_view_smart_calculate() when
the ACCELERATED_COMPOSITING flag is not set.

  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_smart_calculate):

3:08 PM Changeset in webkit [131652] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

AtomicString::HashAndUTF8CharactersTranslator::equal() doesn't optimally handle 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=99223

Reviewed by Geoffrey Garen.

Added an 8 bit path.

  • wtf/text/AtomicString.cpp:

(WTF::HashAndUTF8CharactersTranslator::equal):

3:06 PM Changeset in webkit [131651] by rniwa@webkit.org
  • 44 edits in trunk/PerformanceTests

Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
https://bugs.webkit.org/show_bug.cgi?id=99642

Reviewed by Dirk Pranke.

Renamed the method.

  • Bindings/append-child.html:
  • Bindings/create-element.html:
  • Bindings/event-target-wrapper.html:
  • Bindings/first-child.html:
  • Bindings/get-attribute.html:
  • Bindings/get-element-by-id.html:
  • Bindings/get-elements-by-tag-name.html:
  • Bindings/id-getter.html:
  • Bindings/id-setter.html:
  • Bindings/insert-before.html:
  • Bindings/node-list-access.html:
  • Bindings/scroll-top.html:
  • Bindings/set-attribute.html:
  • Bindings/typed-array-construct-from-array.html:
  • Bindings/typed-array-construct-from-same-type.html:
  • Bindings/typed-array-construct-from-typed.html:
  • Bindings/typed-array-set-from-typed.html:
  • Bindings/undefined-first-child.html:
  • Bindings/undefined-get-element-by-id.html:
  • Bindings/undefined-id-getter.html:
  • CSS/CSSPropertySetterGetter.html:
  • CSS/CSSPropertyUpdateValue.html:
  • CSS/PseudoClassSelectors.html:
  • DOM/textarea-dom.html:
  • DOM/textarea-edit.html:
  • Interactive/resources/window-resize.js:
  • Layout/flexbox-column-nowrap.html:
  • Layout/flexbox-column-wrap.html:
  • Layout/flexbox-row-nowrap.html:
  • Layout/flexbox-row-wrap.html:
  • Layout/line-layout.html:
  • Parser/css-parser-yui.html:
  • Parser/innerHTML-setter.html:
  • Parser/query-selector-deep.html:
  • Parser/query-selector-first.html:
  • Parser/query-selector-last.html:
  • Parser/simple-url.html:
  • Parser/textarea-parsing.html:
  • Parser/tiny-innerHTML.html:
  • Parser/url-parser.html:
  • Parser/xml-parser.html:
  • SVG/SvgNestedUse.html:
  • resources/runner.js:
3:04 PM Changeset in webkit [131650] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Use smart pointers inside Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=99611

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Use smart pointers instead of raw ones for several
Ewk_View members to avoid handling memory manually.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(ewk_view_cursor_set):
(ewk_view_color_picker_dismiss):
(ewk_view_color_picker_color_set):

2:57 PM Changeset in webkit [131649] by oliver@apple.com
  • 1 edit
    1 add in trunk/Source/JavaScriptCore

Committing new files is so overrated.

2:54 PM Changeset in webkit [131648] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

StringPrototype::jsSpliceSubstringsWithSeparators() doesn't optimally handle 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=99230

Reviewed by Geoffrey Garen.

Added code to select characters8() or characters16() on the not all 8 bit path for both the
processing of the source and the separators.

  • runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstringsWithSeparators):

2:49 PM Changeset in webkit [131647] by tony@chromium.org
  • 9 edits
    2 adds
    4 deletes in trunk/LayoutTests

Unreviewed, Qt baselines for shadow DOM changes to RenderSlider.
There are a couple unexplained failures that I'm still investigating.

  • platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Removed.
  • platform/chromium-mac/fast/forms/range/range-thumb-height-percentage-expected.txt: Removed.
  • platform/chromium-mac/fast/forms/range/slider-padding-expected.txt: Removed.
  • platform/chromium-mac/fast/repaint/slider-thumb-drag-release-expected.txt: Removed.
  • platform/qt/TestExpectations:
  • platform/qt/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/qt/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/qt/fast/forms/box-shadow-override-expected.txt:
  • platform/qt/fast/forms/range/input-appearance-range-expected.txt:
  • platform/qt/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/qt/fast/forms/range/slider-padding-expected.txt:
  • platform/qt/fast/multicol/client-rects-expected.txt:
  • platform/qt/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/qt/fast/repaint/slider-thumb-float-expected.txt: Added.
2:48 PM Changeset in webkit [131646] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Array and object allocations via 'new Object' or 'new Array' should be inlined in bytecode to allow allocation site profiling
https://bugs.webkit.org/show_bug.cgi?id=99557

Reviewed by Geoffrey Garen.

Removed an inaccurate and misleading comment as per Geoff's review. (I forgot
to make this change as part of http://trac.webkit.org/changeset/131644).

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionCallResolveNode::emitBytecode):

2:42 PM Changeset in webkit [131645] by oliver@apple.com
  • 49 edits
    1 delete in trunk/Source/JavaScriptCore

Bytecode should not have responsibility for determining how to perform non-local resolves
https://bugs.webkit.org/show_bug.cgi?id=99349

Reviewed by Gavin Barraclough.

This patch removes lexical analysis from the bytecode generation. This allows
us to delay lookup of a non-local variables until the lookup is actually necessary,
and simplifies a lot of the resolve logic in BytecodeGenerator.

Once a lookup is performed we cache the lookup information in a set of out-of-line
buffers in CodeBlock. This allows subsequent lookups to avoid unnecessary hashing,
etc, and allows the respective JITs to recreated optimal lookup code.

This is currently still a performance regression in LLInt, but most of the remaining
regression is caused by a lot of indirection that I'll remove in future work, as well
as some work necessary to allow LLInt to perform in line instruction repatching.
We will also want to improve the behaviour of the baseline JIT for some of the lookup
operations, however this patch was getting quite large already so I'm landing it now
that we've reached the bar of "performance-neutral".

  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::shrinkToFit):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::addResolve):
(JSC::CodeBlock::addPutToBase):
(CodeBlock):
(JSC::CodeBlock::resolveOperations):
(JSC::CodeBlock::putToBaseOperation):
(JSC::CodeBlock::numberOfResolveOperations):
(JSC::CodeBlock::numberOfPutToBaseOperations):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::globalObjectConstant):
(JSC::CodeBlock::setGlobalObjectConstant):

  • bytecode/GlobalResolveInfo.h: Removed.
  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::computeForStructure):
(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ResolveGlobalStatus.h:

(JSC):
(ResolveGlobalStatus):

  • bytecode/ResolveOperation.h: Added. The new types and logic we use to perform the cached lookups.

(JSC):
(ResolveOperation):
(JSC::ResolveOperation::getAndReturnScopedVar):
(JSC::ResolveOperation::checkForDynamicEntriesBeforeGlobalScope):
(JSC::ResolveOperation::getAndReturnGlobalVar):
(JSC::ResolveOperation::getAndReturnGlobalProperty):
(JSC::ResolveOperation::resolveFail):
(JSC::ResolveOperation::skipTopScopeNode):
(JSC::ResolveOperation::skipScopes):
(JSC::ResolveOperation::returnGlobalObjectAsBase):
(JSC::ResolveOperation::setBaseToGlobal):
(JSC::ResolveOperation::setBaseToUndefined):
(JSC::ResolveOperation::setBaseToScope):
(JSC::ResolveOperation::returnScopeAsBase):
(JSC::PutToBaseOperation::PutToBaseOperation):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::ResolveResult::checkValidity):
(JSC):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::shouldAvoidResolveGlobal):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetLocalVar):
(JSC::BytecodeGenerator::emitInitGlobalConst):
(JSC::BytecodeGenerator::emitPutToBase):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ResolveResult::registerResolve):
(JSC::ResolveResult::dynamicResolve):
(ResolveResult):
(JSC::ResolveResult::ResolveResult):
(JSC):
(NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::~NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::resolved):
(JSC::NonlocalResolveInfo::put):
(BytecodeGenerator):
(JSC::BytecodeGenerator::getResolveOperations):
(JSC::BytecodeGenerator::getResolveWithThisOperations):
(JSC::BytecodeGenerator::getResolveBaseOperations):
(JSC::BytecodeGenerator::getResolveBaseForPutOperations):
(JSC::BytecodeGenerator::getResolveWithBaseForPutOperations):
(JSC::BytecodeGenerator::getPutToBaseOperation):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(DFG):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileResolveOperations):
(DFG):
(JSC::DFG::canCompilePutToBaseOperation):
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGGraph.h:

(ResolveGlobalData):
(ResolveOperationData):
(DFG):
(PutToBaseOperationData):
(Graph):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveOperationsDataIndex):
(Node):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::OSRExit):

  • dfg/DFGOSRExit.h:

(OSRExit):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::resolveOperations):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::putToBaseOperation):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStructureCheckHoistingPhase.cpp:

(JSC::DFG::StructureCheckHoistingPhase::run):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:

(JIT):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_put_to_base):
(JSC):
(JSC::JIT::emit_resolve_operations):
(JSC::JIT::emitSlow_link_resolve_operations):
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emitSlow_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emitSlow_op_resolve_base):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emitSlow_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emitSlow_op_resolve_with_this):
(JSC::JIT::emitSlow_op_put_to_base):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_put_to_base):
(JSC):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC):

  • jit/JITStubs.h:
  • llint/LLIntSlowPaths.cpp:

(LLInt):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:

(LLInt):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSScope.cpp:

(JSC::LookupResult::base):
(JSC::LookupResult::value):
(JSC::LookupResult::setBase):
(JSC::LookupResult::setValue):
(LookupResult):
(JSC):
(JSC::setPutPropertyAccessOffset):
(JSC::executeResolveOperations):
(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolveContainingScope):
(JSC::JSScope::resolve):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
(JSC::JSScope::resolvePut):
(JSC::JSScope::resolveGlobal):

  • runtime/JSScope.h:

(JSScope):

  • runtime/JSVariableObject.cpp:

(JSC):

  • runtime/JSVariableObject.h:

(JSVariableObject):

  • runtime/Structure.h:

(JSC::Structure::propertyAccessesAreCacheable):
(Structure):

2:39 PM Changeset in webkit [131644] by fpizlo@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Array and object allocations via 'new Object' or 'new Array' should be inlined in bytecode to allow allocation site profiling
https://bugs.webkit.org/show_bug.cgi?id=99557

Reviewed by Geoffrey Garen.

This uses the old jneq_ptr trick to allow for the bytecode to "see" that the
operation in question is what we almost certainly know it to be.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecode/SpecialPointer.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallEval):
(JSC::BytecodeGenerator::expectedFunctionForIdentifier):
(JSC):
(JSC::BytecodeGenerator::emitExpectedFunctionSnippet):
(JSC::BytecodeGenerator::emitConstruct):

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::NewExprNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:

(JIT):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_array_with_size):
(JSC):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC):

  • jit/JITStubs.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):

  • llint/LLIntSlowPaths.h:

(LLInt):

  • llint/LowLevelInterpreter.asm:
  • runtime/ArrayConstructor.cpp:

(JSC::constructArrayWithSizeQuirk):
(JSC):

  • runtime/ArrayConstructor.h:

(JSC):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC):

2:24 PM Changeset in webkit [131643] by tony@chromium.org
  • 18 edits
    3 adds in trunk/LayoutTests

Unreviewed, Apple Mac baselines for shadow DOM changes to RenderSlider.

  • platform/mac/TestExpectations:
  • platform/mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/range/input-appearance-range-expected.txt:
  • platform/mac/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/mac/fast/forms/range/slider-padding-expected.txt:
  • platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt: Added.
  • platform/mac/fast/multicol/client-rects-expected.txt:
  • platform/mac/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/mac/fast/repaint/slider-thumb-float-expected.txt: Added.
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-styling-strict-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-playing-and-pause-expected.txt:
2:12 PM Changeset in webkit [131642] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

JIT op_get_by_pname should call cti_get_by_val_generic and not cti_get_by_val
https://bugs.webkit.org/show_bug.cgi?id=99631
<rdar://problem/12483221>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

cti_get_by_val assumes that the return address has patching metadata associated with it, which won't
be true for op_get_by_pname. cti_get_by_val_generic makes no such assumptions.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitSlow_op_get_by_pname):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitSlow_op_get_by_pname):

LayoutTests:

  • fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val-expected.txt: Added.
  • fast/js/get-by-pname-that-looks-like-a-patchable-get-by-val.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js: Added.

(foo):

2:10 PM Changeset in webkit [131641] by tony@chromium.org
  • 19 edits in trunk/LayoutTests

Unreviewed, second set of GTK+ baselines for shadow DOM changes to RenderSlider.

  • platform/gtk/TestExpectations:
  • platform/gtk/media/audio-controls-rendering-expected.txt:
  • platform/gtk/media/audio-repaint-expected.txt:
  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/controls-without-preload-expected.txt:
  • platform/gtk/media/media-controls-clone-expected.txt:
  • platform/gtk/media/media-document-audio-repaint-expected.txt:
  • platform/gtk/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/gtk/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-empty-source-expected.txt:
  • platform/gtk/media/video-no-audio-expected.txt:
  • platform/gtk/media/video-playing-and-pause-expected.txt:
  • platform/gtk/media/video-zoom-controls-expected.txt:
2:09 PM Changeset in webkit [131640] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Integer overflows/underflows in all Gamepad controller api calls.
https://bugs.webkit.org/show_bug.cgi?id=97262

Patch by Scott Graham <scottmg@chromium.org> on 2012-10-17
Reviewed by Abhishek Arya.

Tools:

Range check controller inputs. This code is not exposed to the web,
but makes fuzzers try less hard to break uninteresting code.

  • DumpRenderTree/chromium/TestRunner/GamepadController.cpp:

(GamepadController::setButtonCount):
(GamepadController::setButtonData):
(GamepadController::setAxisCount):
(GamepadController::setAxisData):

LayoutTests:

  • gamepad/gamepad-out-of-range-crasher.html: Added.
  • gamepad/gamepad-out-of-range-crasher-expected.txt: Added.
2:01 PM Changeset in webkit [131639] by tony@chromium.org
  • 51 edits
    10 copies
    1 move
    8 adds
    3 deletes in trunk/LayoutTests

Unreviewed, Chromium baselines for shadow DOM changes to RenderSlider.

  • platform/chromium-linux-x86/fast/multicol/client-rects-expected.txt: Removed.
  • platform/chromium-linux/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
  • platform/chromium-mac-snowleopard/fast/forms/box-shadow-override-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/datalist/input-appearance-range-with-datalist-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/input-appearance-height-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/range/slider-thumb-stylability-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt.
  • platform/chromium-mac-snowleopard/fast/repaint/slider-thumb-float-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt.
  • platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
  • platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
  • platform/chromium-mac/fast/forms/box-shadow-override-expected.png:
  • platform/chromium-mac/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-mac/fast/forms/datalist/input-appearance-range-with-datalist-expected.png:
  • platform/chromium-mac/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/chromium-mac/fast/forms/input-appearance-height-expected.png:
  • platform/chromium-mac/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-mac/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/slider-thumb-shared-style-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/slider-thumb-stylability-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt.
  • platform/chromium-mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-mac/fast/layers/video-layer-expected.txt:
  • platform/chromium-mac/fast/multicol/client-rects-expected.txt:
  • platform/chromium-mac/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
  • platform/chromium-mac/fast/repaint/slider-thumb-float-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt.
  • platform/chromium-mac/media/audio-controls-rendering-expected.txt:
  • platform/chromium-mac/media/audio-repaint-expected.txt:
  • platform/chromium-mac/media/controls-after-reload-expected.txt:
  • platform/chromium-mac/media/controls-strict-expected.txt:
  • platform/chromium-mac/media/controls-styling-expected.txt:
  • platform/chromium-mac/media/controls-styling-strict-expected.txt:
  • platform/chromium-mac/media/controls-without-preload-expected.txt:
  • platform/chromium-mac/media/media-controls-clone-expected.txt:
  • platform/chromium-mac/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium-mac/media/video-controls-rendering-expected.txt:
  • platform/chromium-mac/media/video-display-toggle-expected.txt:
  • platform/chromium-mac/media/video-empty-source-expected.txt:
  • platform/chromium-mac/media/video-no-audio-expected.txt:
  • platform/chromium-mac/media/video-playing-and-pause-expected.txt:
  • platform/chromium-mac/media/video-zoom-controls-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/hidpi/video-controls-in-hidpi-expected.txt.
  • platform/chromium-win-xp/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
  • platform/chromium-win-xp/fast/forms/datalist/input-appearance-range-with-datalist-expected.png: Removed.
  • platform/chromium-win-xp/fast/forms/range/slider-thumb-stylability-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt.
  • platform/chromium-win-xp/fast/repaint/slider-thumb-float-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt.
  • platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-win/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-win/fast/forms/datalist/input-appearance-range-with-datalist-expected.png:
  • platform/chromium-win/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/chromium-win/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-win/fast/forms/range/input-appearance-range-expected.png:
  • platform/chromium-win/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-win/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-win/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-win/fast/multicol/client-rects-expected.txt:
  • platform/chromium-win/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/hidpi/video-controls-in-hidpi-expected.txt.
  • platform/chromium/TestExpectations:
  • platform/mac-lion/media/audio-repaint-expected.txt: Removed.
1:57 PM Changeset in webkit [131638] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

Performance test should support asynchronous tests
https://bugs.webkit.org/show_bug.cgi?id=95668

Reviewed by Dirk Pranke.

Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
and deployed it in Animation/balls.

  • Animation/balls.html:
  • resources/runner.js:
1:36 PM Changeset in webkit [131637] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, mark inspector/styles/styles-history.html as flaky on Linux.
https://bugs.webkit.org/show_bug.cgi?id=99519

  • platform/chromium/TestExpectations:
1:25 PM Changeset in webkit [131636] by tony@chromium.org
  • 13 edits
    1 move
    3 adds
    5 deletes in trunk/LayoutTests

Unreviewed, first set of GTK+ baselines for shadow DOM changes to RenderSlider.

  • fast/forms/range/slider-thumb-stylability-expected.txt: Renamed from LayoutTests/platform/efl/fast/forms/range/slider-thumb-stylability-expected.txt.
  • platform/chromium-mac-snowleopard/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/multicol/client-rects-expected.txt: Removed.
  • platform/chromium-win-xp/fast/multicol/client-rects-expected.txt: Removed.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/gtk/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/gtk/fast/forms/box-shadow-override-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
  • platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/gtk/fast/forms/range/slider-padding-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-stylability-expected.png: Removed.
  • platform/gtk/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.txt:
  • platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/gtk/fast/repaint/slider-thumb-float-expected.txt: Added.
  • platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
1:24 PM Changeset in webkit [131635] by danakj@chromium.org
  • 6 edits
    5 deletes in trunk/LayoutTests

Rebaseline some windows tests now that the bot is providing results in the right place.

Unreviewed gardening.

  • platform/chromium-win-xp/css1/basic/inheritance-expected.png: Removed.
  • platform/chromium-win-xp/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png: Removed.
  • platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png: Removed.
  • platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Removed.
  • platform/chromium-win-xp/tables/mozilla/bugs/bug73321-expected.png: Removed.
  • platform/chromium-win/css1/basic/inheritance-expected.png:
  • platform/chromium-win/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png:
  • platform/chromium-win/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-win/tables/mozilla/bugs/bug73321-expected.png:
1:22 PM Changeset in webkit [131634] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Remove redundant OpenGL library addition from the build system.
https://bugs.webkit.org/show_bug.cgi?id=99629

Reviewed by Rob Buis.

  • PlatformEfl.cmake: Do not add OPENGL_gl_LIBRARY to

WebCore_LIBRARIES, this is already done in CMakeLists.txt these
days.

1:21 PM Changeset in webkit [131633] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

[CMake] Set WebCore_LIBRARIES earlier.
https://bugs.webkit.org/show_bug.cgi?id=99630

Reviewed by Rob Buis.

  • CMakeLists.txt: Follow the style we use in other CMakeList.txt

files and set the Foo_LIBRARIES variables before we start checking
for optional features, as they might append other libraries to the
list (it already happens with WTF_USE_3D_GRAPHICS, for example).

1:12 PM Changeset in webkit [131632] by Lucas Forschler
  • 1 copy in tags/Safari-536.26.16

New Tag.

1:07 PM Changeset in webkit [131631] by pdr@google.com
  • 3 edits
    2 adds in trunk

Allow lazy initialization of SVG XML animated properties.
https://bugs.webkit.org/show_bug.cgi?id=84657

Reviewed by Tim Horton.

Source/WebCore:

When animating a property in the shadow tree, instance properties and tearoffs are created
but they simply reference the animated element's animating properties.

When starting an animation for the first time (see SVGAnimateElement::resetAnimatedType),
we initialize the root property and instance properties using startAnimValAnimation(...).
If an instance property is added while the root property is animating, this initialization
will not occur and we crash.

This patch updates the resetAnimValToBaseVal codepath to start (and initialize) an animated
property if it is not already animating. After this patch, instance properties can be added
in the middle of animation and they will be properly started/initialized.

Test: svg/animations/use-while-animating-crash.html

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
(WebCore::SVGAnimatedTypeAnimator::executeAction):

LayoutTests:

  • platform/mac/svg/animations/use-while-animating-crash-expected.txt: Added.
  • svg/animations/use-while-animating-crash.html: Added.
12:52 PM MathML edited by Dave Barton
(diff)
12:47 PM Changeset in webkit [131630] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Unreviewed watchlist email change.

  • Scripts/webkitpy/common/config/watchlist:
12:47 PM MathML Status edited by Dave Barton
(diff)
12:37 PM MathML edited by Dave Barton
(diff)
12:34 PM Changeset in webkit [131629] by commit-queue@webkit.org
  • 12 edits in trunk

Bind isolatedWorldSecurityOrigin to world
https://bugs.webkit.org/show_bug.cgi?id=99582

Patch by Dan Carney <dcarney@google.com> on 2012-10-17
Reviewed by Adam Barth.

Source/WebCore:

Security origin of isolated worlds was not previously set at the world
level, although it could have been.

No new tests. No change in functionality.

  • bindings/v8/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::deallocate):
(WebCore):
(WebCore::isolatedWorldSecurityOrigins):
(WebCore::DOMWrapperWorld::isolatedWorldSecurityOrigin):
(WebCore::DOMWrapperWorld::setIsolatedWorldSecurityOrigin):
(WebCore::DOMWrapperWorld::clearIsolatedWorldSecurityOrigin):

  • bindings/v8/DOMWrapperWorld.h:

(DOMWrapperWorld):
(WebCore::DOMWrapperWorld::isIsolatedWorldId):
(WebCore::DOMWrapperWorld::isIsolatedWorld):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore::ScriptController::evaluateInIsolatedWorld):
(WebCore::ScriptController::collectIsolatedContexts):

  • bindings/v8/ScriptController.h:

(ScriptController):
(WebCore::ScriptController::setIsolatedWorldSecurityOrigin):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initializeIfNeeded):

  • bindings/v8/V8DOMWindowShell.h:

(V8DOMWindowShell):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

Tools:

Added ability to unset isolatedWorldSecurityOrigin.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::setIsolatedWorldSecurityOrigin):

LayoutTests:

Clean up of isolated worlds added after test completion.

  • http/tests/security/isolatedWorld/cross-origin-xhr.html:
12:02 PM Changeset in webkit [131628] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[Mac] Uninitialized Members in WebDataSourcePrivate
https://bugs.webkit.org/show_bug.cgi?id=99617

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-10-17
Reviewed by David Kilzer.

Initialize BOOL member variables.

  • WebView/WebDataSource.mm:

(WebDataSourcePrivate::WebDataSourcePrivate):

11:56 AM Changeset in webkit [131627] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Unreviewed watchlist addition.

  • Scripts/webkitpy/common/config/watchlist:
11:20 AM Changeset in webkit [131626] by Simon Fraser
  • 8 edits
    4 adds in trunk

GraphicsLayer visible rect computation needs to use the current animating transform
https://bugs.webkit.org/show_bug.cgi?id=99529

Reviewed by Dean Jackson.

Source/WebCore:

If we're running an accelerated animation of transform
on a GraphicsLayerCA, the current value of the transform won't
be reflected in the GraphicsLayer's m_transform. However,
we need the current value of the transform in order to correctly
compute the visible rect of this layer and descendants.

Add a function to GraphicsLayerClient to retrieve the current
value of the transform from the client.

RenderLayer's currentTransform() used to return a transform
with transform-origin baked in; GraphicsLayerClient needs one
that excludes transform-origin, so enhance RenderLayer::currentTransform()
to be able to produce either.

Tests: compositing/visible-rect/animated-from-none.html

compositing/visible-rect/animated.html

  • platform/graphics/GraphicsLayerClient.h:

(WebCore):
(GraphicsLayerClient):
(WebCore::GraphicsLayerClient::getCurrentTransform):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::computeVisibleRect):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::currentTransform):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::currentTransform):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

LayoutTests:

Tests that exercise visible-rect computation on an animating layer.

  • compositing/visible-rect/animated-expected.txt: Added.
  • compositing/visible-rect/animated-from-none-expected.txt: Added.
  • compositing/visible-rect/animated-from-none.html: Added.
  • compositing/visible-rect/animated.html: Added.
11:18 AM Changeset in webkit [131625] by commit-queue@webkit.org
  • 15 edits in trunk

plugins: Allow a plugin to dictate whether it can receive drag events or not.
https://bugs.webkit.org/show_bug.cgi?id=99355

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-10-17
Reviewed by Tony Chang.

Source/WebCore:

When doing a drag over a plugin, ask the plugin whether it can accept
drag/drop to decide whether drag/drop is possible or not. At present,
plugins do not receive drag events through WebCore (i.e. various
implementations of PluginView::handleMouseEvent ignores the
drop-events). This change makes it possible for the ports to ask the
plugin first to decide whether it can (or wants to) accept drag events.
The default implementation remains the same, i.e. plugins do not receive
drag events. For chromium, the overridden implementation uses the
WebPlugin interface to check whether the plugin can accept drag events.

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::canProcessDrag):
(WebCore):

  • html/HTMLPlugInElement.h:

(WebCore):
(HTMLPlugInElement):

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag):

  • plugins/PluginViewBase.h:

(WebCore):
(WebCore::PluginViewBase::canProcessDrag):

Source/WebKit/chromium:

Introduce WebPlugin::canProcessDrag() and use that to implement PluginViewBase::canProcessDrag.

  • public/WebPlugin.h:

(WebKit::WebPlugin::canProcessDrag):
(WebPlugin):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::canProcessDrag):
(WebKit):
(WebKit::WebPluginContainerImpl::handleMouseEvent):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

Tools:

Update the TestWebPlugin to implement the new |canProcessDrag| interface.

  • DumpRenderTree/chromium/TestWebPlugin.h:

(TestWebPlugin::canProcessDrag):

LayoutTests:

Update test to not set contentEditable on the plugin anymore.

  • platform/chromium/plugins/drag-events-expected.txt:
  • platform/chromium/plugins/drag-events.html:
11:09 AM Changeset in webkit [131624] by dmazzoni@google.com
  • 3 edits in trunk/Tools

Unreviewed. Create an accessibility watchlist.

  • Scripts/webkitpy/common/config/committers.py:
  • Scripts/webkitpy/common/config/watchlist:
11:00 AM Changeset in webkit [131623] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Always use fastRealloc when growing or shrinking the Vector buffer
https://bugs.webkit.org/show_bug.cgi?id=99616

Reviewed by Andreas Kling.

Remove the pointless #if PLATFORM(BLACKBERRY) and always try to use fastRealloc to grow or shrink the
vector buffer when possible; realloc should always be at least as fast as free+malloc.

  • wtf/Vector.h:

(WTF::VectorBufferBase::shouldReallocateBuffer):

10:55 AM Changeset in webkit [131622] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Prevent focus zoom on non-userscalable pages.
https://bugs.webkit.org/show_bug.cgi?id=99608

Reviewed by Rob Buis.

PR 222378.

Disable focus zoom when the page is non-user scalable.

Reviewed Internally by Nima Ghanavatian.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

10:50 AM Changeset in webkit [131621] by jianli@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Remove legacy members from WebDraggableRegion
https://bugs.webkit.org/show_bug.cgi?id=99612

Reviewed by Adam Barth.

Those legacy members to support old syntax are not longer needed after
chromium side changes landed.

  • public/WebDraggableRegion.h:

(WebDraggableRegion):

10:46 AM Changeset in webkit [131620] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Shrink EventTargetData by making firingEventListeners vector optional.
<http://webkit.org/b/99532>
<rdar://problem/12515099>

Reviewed by Anders Carlsson.

The majority of event listeners never actually fire, and EventTargetData::firingEventListeners
is just sitting there taking up space. Make it an OwnPtr instead, shrinking EventTargetData
by 48 bytes and progressing Membuster3 by 395kB.

  • dom/EventTarget.cpp:

(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::fireEventListeners):
(WebCore::EventTarget::removeAllEventListeners):

  • dom/EventTarget.h:

(WebCore::EventTarget::isFiringEventListeners):

10:30 AM Changeset in webkit [131619] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Block freeing thread should sleep indefinitely when there's no work to do
https://bugs.webkit.org/show_bug.cgi?id=98084

Reviewed by Geoffrey Garen.

r130212 didn't fully fix the problem.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::blockFreeingThreadMain): We would just continue to the next iteration if
we found that we had zero blocks to copy. We should move the indefinite wait up to where that
check is done so that we properly detect the "no more blocks to copy, wait for more" condition.

10:17 AM Changeset in webkit [131618] by commit-queue@webkit.org
  • 4 edits in trunk

xss-DENIED-xsl-document-securityOrigin.xml crashes with icon assertion
https://bugs.webkit.org/show_bug.cgi?id=99571

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Check that the iconURL is not empty in IconController::continueLoadWithDecision()
to avoid hitting assertions later when trying to commit this empty URL to the
database. IconController::url() may indeed return an empty URL but there was
no check for it.

No new tests, already covered by http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml.

  • loader/icon/IconController.cpp:

(WebCore::IconController::continueLoadWithDecision):

LayoutTests:

Unskip http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml
for EFL WebKit2 now that it no longer hits an assertion in
IconDatabase.

  • platform/efl-wk2/TestExpectations:
10:15 AM Changeset in webkit [131617] by commit-queue@webkit.org
  • 22 edits in trunk/Source

Fix build warnings : -Wunused-parameter, -Wunused-variable
https://bugs.webkit.org/show_bug.cgi?id=99539

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-17
Reviewed by Kentaro Hara.

Fix build warnings about unused parameter or unused variable when
WTF_USE_TILED_BACKING_STORE option is enabled.

Source/WebCore:

  • html/shadow/HTMLContentElement.cpp:

(WebCore::contentTagName):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::getImageData):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::createSurface):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::bindVertexArrayOES):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::BitmapTexture::canReuseWith):
(WebCore::TextureMapper::beginPainting):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter):

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::updateContents):

  • platform/graphics/texmap/TextureMapperImageBuffer.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::sortByZOrder):
(WebCore::TextureMapperLayer::flushCompositingStateSelf):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):

Source/WebKit/efl:

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::attachRootGraphicsLayer):
(WebCore::ChromeClientEfl::delegatedScrollRequested):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStore::paintToTextureMapper):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::createLayer):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::setVisibleContentsRect):
(WebKit::DrawingAreaProxy::createTileForLayer):
(WebKit::DrawingAreaProxy::updateTileForLayer):
(WebKit::DrawingAreaProxy::removeTileForLayer):
(WebKit::DrawingAreaProxy::update):
(WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
(WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:

(WebKit::CoordinatedTile::paint):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
(WebKit::LayerTreeCoordinator::notifyAnimationStarted):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::setVisibleContentsRect):
(WebKit::LayerTreeHost::setVisibleContentsRectForLayer):

10:10 AM Changeset in webkit [131616] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] IndexedDB: Delete obsolete public API method
https://bugs.webkit.org/show_bug.cgi?id=99603

Reviewed by Dimitri Glazkov.

Remove a stub that was necessary while the Chromium side of webkit.org/b/99097 was landing.

  • public/WebIDBTransactionCallbacks.h:
10:07 AM Changeset in webkit [131615] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

Dynamically added elements do not get re-projected.
https://bugs.webkit.org/show_bug.cgi?id=99227

Reviewed by Dimitri Glazkov.

Source/WebCore:

When distribution happens, we have to invalidate its host shadow's distribution, since the children of the host
is changed.

Test: fast/dom/shadow/content-reprojection-dynamic.html

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::distribute):

LayoutTests:

  • fast/dom/shadow/content-reprojection-dynamic-expected.html: Added.
  • fast/dom/shadow/content-reprojection-dynamic.html: Added.
9:55 AM Changeset in webkit [131614] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/workers/text-encoding.html is flaky crashing on debug bots
https://bugs.webkit.org/show_bug.cgi?id=99604

Unreviewed gardening.

  • platform/chromium/TestExpectations:
9:55 AM Changeset in webkit [131613] by jochen@chromium.org
  • 2 edits in trunk/Tools

[gyp] fix bundle resources for DumpRenderTree on mac
https://bugs.webkit.org/show_bug.cgi?id=99558

Reviewed by Adam Barth.

mac_bundle_resources doesn't propagate to targets that depend on it,
so I'm wrapping it in an all_dependent_settings block.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
9:44 AM WebKit Team edited by rniwa@webkit.org
Change rniwa's affiliation from Google to Apple. (diff)
9:38 AM Changeset in webkit [131612] by yurys@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: no "delete watch expression" context menu item when clicking on the expression value
https://bugs.webkit.org/show_bug.cgi?id=99602

Reviewed by Pavel Feldman.

Add delete items to the watch expression's value's context menu.

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype._contextMenuFired):
(WebInspector.ObjectPropertyTreeElement.prototype.populateContextMenu):

  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionTreeElement.prototype.populateContextMenu):
(WebInspector.WatchExpressionTreeElement.prototype._contextMenu):

9:32 AM Changeset in webkit [131611] by vsevik@chromium.org
  • 9 edits in trunk/LayoutTests

Unreviewed inspector test fixed and skipped on JSC.

  • inspector/debugger/live-edit-breakpoints-expected.txt:
  • inspector/debugger/live-edit-breakpoints.html:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
9:27 AM Changeset in webkit [131610] by commit-queue@webkit.org
  • 10 edits
    4 adds in trunk/LayoutTests

[CSS Exclusions] Additional simple polygon tests
https://bugs.webkit.org/show_bug.cgi?id=98548

Patch by Hans Muller <hmuller@adobe.com> on 2012-10-17
Reviewed by Dirk Schulze.

Added a pair of CSS Exclusions shape-inside ref-tests for regular polygons
with 8 and 16 sides. Also made some small revisions to the supporting code,
simple-polyon.js, and the existing simple polygon tests, and to localize and
correct the conversion from float to layout coordinates. All of the tests
now round/truncate the left edge of line segment intervals depending on whether
subpixel layout is enabled.

  • fast/exclusions/resources/simple-polygon.js:

(createRegularPolygonVertices):
(polygonXIntercepts):
(simulatePolygonShape):
(generateSimulatedPolygonShapeInsideElement):
(createPolygonShapeInsideTestCase):
(createPolygonShapeInsideTestCaseExpected):

  • fast/exclusions/shape-inside/shape-inside-regular-polygon16-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-regular-polygon16.html: Added.
  • fast/exclusions/shape-inside/shape-inside-regular-polygon8-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-regular-polygon8.html: Added.
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-001-expected.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-001.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-002-expected.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-002.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-003-expected.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-003.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-004-expected.html:
  • fast/exclusions/shape-inside/shape-inside-simple-polygon-004.html:
9:09 AM Changeset in webkit [131609] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Add myself to the MediaStream watchlist
https://bugs.webkit.org/show_bug.cgi?id=99589

Patch by Harald Alvestrand <hta@google.com> on 2012-10-17
Reviewed by Adam Barth.

  • Scripts/webkitpy/common/config/watchlist:
9:00 AM Changeset in webkit [131608] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitDownload
https://bugs.webkit.org/show_bug.cgi?id=96773

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitDownload.cpp:

(_WebKitDownloadPrivate):
(webkitDownloadCreate):
(webkit_download_get_request):
(webkit_download_cancel):

  • UIProcess/API/gtk/WebKitDownloadPrivate.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_download_uri):
(webkitWebContextGetOrCreateDownload):

8:59 AM FeatureFlags edited by msaboff@apple.com
(diff)
8:56 AM Changeset in webkit [131607] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitCookieManager
https://bugs.webkit.org/show_bug.cgi?id=96772

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitCookieManager.cpp:

(_WebKitCookieManagerPrivate):
(webkitCookieManagerFinalize):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkitCookieManagerGetDomainsWithCookiesCallback):
(webkit_cookie_manager_get_domains_with_cookies):
(webkit_cookie_manager_delete_cookies_for_domain):
(webkit_cookie_manager_delete_all_cookies):

  • UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_get_cookie_manager):

8:52 AM Changeset in webkit [131606] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitContextMenu
https://bugs.webkit.org/show_bug.cgi?id=96770

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitContextMenu.cpp:

(webkitContextMenuCreate):

  • UIProcess/API/gtk/WebKitContextMenuItem.cpp:

(webkitContextMenuItemCreate):

  • UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
  • UIProcess/API/gtk/WebKitContextMenuPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPopulateContextMenu):

8:47 AM Changeset in webkit [131605] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=96769

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitBackForwardList.cpp:

(_WebKitBackForwardListPrivate):
(webkitBackForwardListGetOrCreateItem):
(webkitBackForwardListCreateList):
(webkitBackForwardListCreate):
(webkitBackForwardListChanged):
(webkit_back_forward_list_get_current_item):
(webkit_back_forward_list_get_back_item):
(webkit_back_forward_list_get_forward_item):
(webkit_back_forward_list_get_nth_item):
(webkit_back_forward_list_get_length):
(webkit_back_forward_list_get_back_list):
(webkit_back_forward_list_get_back_list_with_limit):
(webkit_back_forward_list_get_forward_list):
(webkit_back_forward_list_get_forward_list_with_limit):

  • UIProcess/API/gtk/WebKitBackForwardListItem.cpp:

(_WebKitBackForwardListItemPrivate):
(webkitBackForwardListItemFinalized):
(webkitBackForwardListItemGetOrCreate):
(webkitBackForwardListItemGetItem):
(webkit_back_forward_list_item_get_uri):
(webkit_back_forward_list_item_get_title):
(webkit_back_forward_list_item_get_original_uri):

  • UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(didChangeBackForwardList):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewConstructed):
(webkit_web_view_go_to_back_forward_list_item):

8:38 AM Changeset in webkit [131604] by vsevik@chromium.org
  • 6 edits
    2 adds in trunk

Web Inspector: [Regression] Undoing script changes does not restore breakpoints.
https://bugs.webkit.org/show_bug.cgi?id=99598

Reviewed by Pavel Feldman.

Source/WebCore:

workingCopyChanged now dispatches did/willMergeToVM instead of did/willDivergeFromVM
when change returns uiSourceCode to non dirty state.
Added wasDirty parameter to workingCopyChanged event.

Test: inspector/debugger/live-edit-breakpoints.html

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
(WebInspector.ResourceScriptFile.prototype._workingCopyChanged):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.setWorkingCopy):

LayoutTests:

  • http/tests/inspector/live-edit-test.js:

(initialize_LiveEditTest.InspectorTest.replaceInSource):
(initialize_LiveEditTest.InspectorTest.commitSource):
(initialize_LiveEditTest.InspectorTest.undoSourceEditing):
(initialize_LiveEditTest):

  • inspector/debugger/live-edit-breakpoints-expected.txt: Added.
  • inspector/debugger/live-edit-breakpoints.html: Added.
  • inspector/debugger/live-edit.html:
8:37 AM Changeset in webkit [131603] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitURISchemeRequest
https://bugs.webkit.org/show_bug.cgi?id=96787

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitRequestManagerClient.cpp:

(didReceiveURIRequest):

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(_WebKitURISchemeRequestPrivate):
(webkitURISchemeRequestCreate):
(webkit_uri_scheme_request_get_web_view):
(webkitURISchemeRequestReadCallback):

  • UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
8:36 AM Changeset in webkit [131602] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Make sure the favicon database path is set only once
https://bugs.webkit.org/show_bug.cgi?id=99597

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Make sure the icon database path is set only once by checking
that the database is not already open before settign the path.
This avoids printing error message on stderr.

  • UIProcess/API/efl/ewk_context.cpp:

(ewk_context_favicon_database_get):

8:35 AM Changeset in webkit [131601] by danakj@chromium.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Unreviewed rebaseline for ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001.htm

  • platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png: Added.
8:31 AM Changeset in webkit [131600] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitWebInspector
https://bugs.webkit.org/show_bug.cgi?id=96786

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitWebInspector.cpp:

(_WebKitWebInspectorPrivate):
(webkitWebInspectorFinalize):
(webkitWebInspectorCreate):
(webkit_web_inspector_get_web_view):
(webkit_web_inspector_is_attached):
(webkit_web_inspector_attach):
(webkit_web_inspector_detach):
(webkit_web_inspector_show):
(webkit_web_inspector_close):
(webkit_web_inspector_get_attached_height):

  • UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_inspector):

8:30 AM Changeset in webkit [131599] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GTK] accessibility/ignore-spacer-elements.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98366

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-10-17
Reviewed by Chris Fleizach.

The failure was due to platform-specific expectations of childrenCount.
The solution was conditionalizing the test.

  • accessibility/ignore-spacer-elements.html: Base expected childrenCount on platform.
  • platform/gtk/TestExpectations: Unskip previously-failing test.
8:24 AM Changeset in webkit [131598] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebKit2

[GTK] Don't use the C API internally in WebKitGeolocation classes
https://bugs.webkit.org/show_bug.cgi?id=96778

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

  • UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:

(_WebKitGeolocationPermissionRequestPrivate):
(webkitGeolocationPermissionRequestAllow):
(webkitGeolocationPermissionRequestDeny):
(webkitGeolocationPermissionRequestFinalize):
(webkitGeolocationPermissionRequestCreate):

  • UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp:

(WebKitGeolocationProvider::create):
(WebKitGeolocationProvider::WebKitGeolocationProvider):
(WebKitGeolocationProvider::notifyPositionChanged):
(WebKitGeolocationProvider::notifyErrorOccurred):

  • UIProcess/API/gtk/WebKitGeolocationProvider.h:

(WebKitGeolocationProvider):

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(decidePolicyForGeolocationPermissionRequest):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

8:07 AM Changeset in webkit [131597] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gardening.
https://bugs.webkit.org/show_bug.cgi?id=99596

Unskip editing/inserting, editing/selection, editing/spelling and editing/style categories.
Mark missing text expectations for these.

Patch by Mariusz Grzegorczyk <mariusz.g@samsung.com> on 2012-10-17

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
8:01 AM Changeset in webkit [131596] by Simon Hausmann
  • 2 edits in trunk/Source/WebCore

[Qt] Avoid re-creating CSSGrammar.cpp with each (incremental) build

Reviewed by Tor Arne Vestbø.

The expected output is CSSGrammar.cpp and the input file used to be CSSGrammar.y,
so ${QMAKE_FILE_BASE}.cpp did the correct transformation. Recently the input has
changed to CSSGrammar.y.in, in which case the ${QMAKE_FILE_BASE} is CSSGrammar.y
unfortunately. The resulting target CSSGrammar.y.cpp will never be created and
therefore the target will always run.

  • DerivedSources.pri:
7:43 AM Changeset in webkit [131595] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed fix for ImageSourceCG.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::reportMemoryUsage):

7:36 AM Changeset in webkit [131594] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed fix for compilation on CG bots.

  • platform/graphics/cg/ImageSourceCG.cpp:
7:26 AM Changeset in webkit [131593] by loislo@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: NMI instrument ImageDecoder. It owns a buffer that could be quite big.
https://bugs.webkit.org/show_bug.cgi?id=99540

Reviewed by Yury Semikhatsky.

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::reportMemoryUsage):
(WebCore):

  • platform/graphics/ImageSource.h:

(ImageSource):

  • platform/image-decoders/ImageDecoder.cpp:

(WebCore::ImageFrame::reportMemoryUsage):
(WebCore):
(WebCore::ImageDecoder::reportMemoryUsage):

  • platform/image-decoders/ImageDecoder.h:

(ImageFrame):
(ImageDecoder):

  • platform/image-decoders/skia/ImageDecoderSkia.cpp:

(WebCore::ImageFrame::reportMemoryUsage):
(WebCore):

7:16 AM Changeset in webkit [131592] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Fix build on Mac OSX 10.6 and earlier.
https://bugs.webkit.org/show_bug.cgi?id=99595

Patch by Zeno Albisser <zeno@webkit.org> on 2012-10-17
Reviewed by Simon Hausmann.

  • Target.pri:
6:19 AM EFLWebKit edited by g.czajkowski@samsung.com
(diff)
5:48 AM Changeset in webkit [131591] by pfeldman@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: display "disconnected" message when remote debugging terminates
https://bugs.webkit.org/show_bug.cgi?id=99316

Reviewed by Yury Semikhatsky.

Otherwise, it is not clear that the front-end is no longer functional.

  • inspector/front-end/InspectorFrontendHostStub.js:

(WebInspector.RemoteDebuggingTerminatedScreen):

  • inspector/front-end/inspector.js:

(WebInspector.loaded.WebInspector.socket.onclose):
(WebInspector.loaded):

5:23 AM Changeset in webkit [131590] by commit-queue@webkit.org
  • 4 edits in trunk

[WK2][WTR] InjectedBundlePage::decidePolicyForNavigationAction() should print only filename part of local URLs
https://bugs.webkit.org/show_bug.cgi?id=99581

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Tools:

Now InjectedBundlePage::decidePolicyForNavigationAction() prints only filename part of local URLs (URLs where scheme
equals to 'file').

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::decidePolicyForNavigationAction):

LayoutTests:

Unskipped fast/loader/reload-policy-delegate.html for WK2.

  • platform/wk2/TestExpectations:
5:06 AM Changeset in webkit [131589] by g.czajkowski@samsung.com
  • 2 edits
    2 adds in trunk/Source/WebKit2

[WK2][EFL] Add unit tests for Spelling
https://bugs.webkit.org/show_bug.cgi?id=95956

Reviewed by Gyuyoung Kim.

Add the unit tests which covers API from ewk_text_checker.h
and text checker settings from ewk_settings.h

  • PlatformEfl.cmake:
  • UIProcess/API/efl/tests/resources/spelling_test.html: Added.
  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: Added.

(resetCallbacksExecutionStats):
(onTimeout):
(onSettingChange):
(onSpellDocumentTag):
(onSpellDocumentTagClose):
(onSpellingCheck):
(onWordGuesses):
(onWordLearn):
(onWordIgnore):
(TEST_F):

4:54 AM Changeset in webkit [131588] by mario@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][GTK] Favicons are incorrectly released before receiving the actual data
https://bugs.webkit.org/show_bug.cgi?id=99492

Reviewed by Carlos Garcia Campos.

Don't release the icon for a page URL in the first stage of the
asynchronous call webkit_favicon_database_get_favicon() but do it
later instead, to avoid a race condition with the initial
synchronization process the first time we request an icon which is
actually in the icon database, but has not made available yet.

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData): Release
here the icon for the page URL if not a valid icon has been found.
(GetFaviconSurfaceAsyncData): Add a new boolean parameter to flag
when a given icon for a page URL should be released.
(getIconSurfaceSynchronously): Don't release the icon, just return 0.
(processPendingIconsForPageURL): If a valid icon is got at this
point, disable the flag shouldReleaseIconForPageURL not to release
the icon later on.
(webkit_favicon_database_get_favicon): Make sure we retain the
icon for a given page URL before trying to retrieve it from the
IconDatabase, and that we flag it to be released in case not a
valid icon has been found yet.

4:50 AM Changeset in webkit [131587] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: delete watch expression button overlaps with the expression value
https://bugs.webkit.org/show_bug.cgi?id=99569

Reviewed by Vsevolod Vlasov.

Delete watch expression button now doesn't overlap with the watch expression.

  • inspector/front-end/inspector.css:

(.properties-tree.watch-expressions > li > .value):

4:30 AM Changeset in webkit [131586] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Move handling of CSSPropertyPointerEvents from StyleResolver into StyleBuilder.
https://bugs.webkit.org/show_bug.cgi?id=99536

Reviewed by Alexis Menard.

One small step towards removing the giant switch statement in StyleResolver,
this patch moves pointer event property into StyleBuilder.

Covered by fast/events/pointer-events.html and fast/events/pointer-events-2.html.

  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

4:28 AM Changeset in webkit [131585] by keishi@webkit.org
  • 13 edits in trunk/Source

Localized date should be based on LDML
https://bugs.webkit.org/show_bug.cgi?id=99570

Reviewed by Kent Tamura.

Source/WebCore:

Localized date should be based on LDML to match the format inside DateTimeEditElement.

No new tests. Covered by LocaleMacTest.formatDate and LocaleWinTest.formatDate.

  • platform/text/LocaleICU.cpp: Removed formatDateTime.
  • platform/text/LocaleICU.h:

(LocaleICU):

  • platform/text/LocaleNone.cpp: Removed formatDateTime.

(LocaleNone):

  • platform/text/LocaleWin.cpp: Removed formatDateTime and formatDate.

(WebCore):

  • platform/text/LocaleWin.h:

(LocaleWin):

  • platform/text/Localizer.cpp:

(WebCore::DateTimeStringBuilder::visitField): Added support for year/month/day.
(WebCore::Localizer::formatDateTime): Creates the formatted string based on the format from dateFormat().

  • platform/text/Localizer.h:
  • platform/text/mac/LocaleMac.h:

(LocaleMac):

  • platform/text/mac/LocaleMac.mm: Removed formatDateTime.

Source/WebKit/chromium:

  • tests/LocaleMacTest.cpp:

(TEST_F): Updated expectations.

  • tests/LocaleWinTest.cpp:

(TEST_F): Updated expectations.

4:15 AM Changeset in webkit [131584] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Implement the Selector argument to RTCPeerConnection.getStats
https://bugs.webkit.org/show_bug.cgi?id=99460

Patch by Harald Alvestrand <hta@google.com> on 2012-10-17
Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCStatsRequest.h:

(WebKit):
(WebRTCStatsRequest):

Source/WebCore:

The change adds two new parameters to the RTCStatsRequest object:
stream and component. Together these are enough to identify a
MediaStreamTrack.

Test: fast/mediastream/RTCPeerConnection-statsSelector.html

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::streamDescriptor):
(WebCore):

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::getStats):

  • Modules/mediastream/RTCStatsRequestImpl.cpp:

(WebCore::RTCStatsRequestImpl::create):
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::hasSelector):
(WebCore):
(WebCore::RTCStatsRequestImpl::stream):
(WebCore::RTCStatsRequestImpl::component):

  • Modules/mediastream/RTCStatsRequestImpl.h:

(RTCStatsRequestImpl):

  • platform/chromium/support/WebRTCStatsRequest.cpp:

(WebKit):
(WebKit::WebRTCStatsRequest::hasSelector):
(WebKit::WebRTCStatsRequest::stream):
(WebKit::WebRTCStatsRequest::component):

  • platform/mediastream/RTCStatsRequest.h:

(WebCore):
(RTCStatsRequest):

Tools:

The MockWebRTCPeerConnectionHandler will return one object only
when it gets a selector, and an even number when there is no selector.
This allows to verify that the argument is passed, but not its value.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::getStats):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-statsSelector-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-statsSelector.html: Added.
4:07 AM Changeset in webkit [131583] by commit-queue@webkit.org
  • 12 edits in trunk

WebKitTestRunner needs layoutTestController.queueReload
https://bugs.webkit.org/show_bug.cgi?id=42672

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Tools:

Added implementation of testRunner.queueReload().

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::queueReload):
(WTR):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:

(InjectedBundle):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::queueReload):
(WTR):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(TestRunner):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

  • WebKitTestRunner/WorkQueueManager.cpp:

(WTR::WorkQueueManager::queueReload):
(WTR):

  • WebKitTestRunner/WorkQueueManager.h:

(WorkQueueManager):

LayoutTests:

Unskipped the related test cases for WK2.

  • platform/efl-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
3:46 AM Changeset in webkit [131582] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Qt] Enable use of more AllInOne files
https://bugs.webkit.org/show_bug.cgi?id=99579

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2012-10-17
Reviewed by Tor Arne Vestbø.

The AllInOne files reduce pressure during final link time because the object files contain less duplicated
symbols.

  • Target.pri: Add HTMLElementsAllInOne, EditingAllInOne and RenderingAllInOne to the build
  • editing/EditingAllInOne.cpp: Place a #if USE(CF) around the inclusion of SmartReplaceCF.cpp
  • html/HTMLElementsAllInOne.cpp: Move HTMLPlugInElement.cpp to the top to fix builds on X11 based platforms

where the X headers get confused by the "Region" type that's also declared in WebCore.

  • rendering/RenderingAllInOne.cpp: Fix build on case-sensitive file systems (Plugin -> PlugIn) and added a

#if PLATFORM(WIN) around the inclusion of RenderThemeWin.cpp.

3:40 AM Changeset in webkit [131581] by tkent@chromium.org
  • 4 edits
    2 adds in trunk

REGRESSION(r131421): Text baseline becomes incorrect after re-layout of input[type=time]
https://bugs.webkit.org/show_bug.cgi?id=99572

Reviewed by Kentaro Hara.

Source/WebCore:

We use flexible box since r131421, and it seems text baseline becomes
incorrect if there are text nodes in a flex container.

Test: fast/forms/time-multiple-fields/time-multiple-fields-static-relayout.html

  • css/html.css:

(input::-webkit-datetime-edit-text): Added.

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::visitLiteral):
Wrap text with an element with ::-webkit-datetime-edit-text.

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-static-relayout-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-static-relayout.html: Added.
3:34 AM Changeset in webkit [131580] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Fixing expectation for fast/forms/range/input-appearance-range-rtl.html,
it's a reftest so the failure is actually of pixel nature.

Also removing some expectations for tests that now consistently pass.

  • platform/gtk/TestExpectations:
3:30 AM Changeset in webkit [131579] by commit-queue@webkit.org
  • 13 edits
    6 adds in trunk

.: [WK2][EFL] Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com>, Michal Roj <m.roj@sasmung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Define SPELLCHECK macro and enable it for WK2-Efl.
The spellchecking implementation is based on the Enchant library.
It can be used by other WebKit ports.

  • Source/cmake/FindEnchant.cmake: Added.
  • Source/cmake/OptionsEfl.cmake: Enable spellchecking feature for WebKit2-EFL.
  • Source/cmake/WebKitFeatures.cmake: Define the SPELLCHECK macro.
  • Source/cmakeconfig.h.cmake: Add the feature.

Source/WebCore: [WK2][EFL] Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake:

Add enchant-related compiler flags: header paths and the library flag.

Source/WebKit2: Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Add spelling implementation for WebKit2-EFL that is based on Enchant library.

Additionally the patch provides API to overwrite the default WebKit
spellchecker implementation as Enchant library doesn't ensure grammar checking.
Application is able to overwrite it by defining its own implementation and
setting appropriate callback functions.

  • PlatformEfl.cmake:

Add enchant-related compiler flags: header paths and the library flag.

  • UIProcess/API/efl/EWebKit2.h:

Add ewk_text_checker.h to the main WebKit2-EFL's header to be available for applications.

  • UIProcess/API/efl/WebKitTextChecker.cpp: Added.

Implement the callbacks functions of WKTextChecker.

(WebKit):
(WebKit::isContinuousSpellCheckingEnabled):
(WebKit::setContinuousSpellCheckingEnabled):
(WebKit::uniqueSpellDocumentTag):
(WebKit::closeSpellDocumentWithTag):
(WebKit::checkSpellingOfString):
(WebKit::guessesForWord):
(WebKit::learnWord):
(WebKit::ignoreWord):
Those functions are directly given as callback functions for WKTextChecker's client.
They choose between WebKit's spelling implementation and client's ones.

(WebKit::availableSpellCheckingLanguages):
(WebKit::updateSpellCheckingLanguages):
(WebKit::loadedSpellCheckingLanguages):
They are used by ewk_settings.cpp file and allow to do not
expose 'textCheckerEnchant'.

  • UIProcess/API/efl/WebKitTextChecker.h: Added.

Define the functions which choose between WebKit's spelling implementation and
the client's ones.

(WebKit):

  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context::_Ewk_Context):
Attach the spellchecker feature for the context.

  • UIProcess/API/efl/ewk_text_checker.cpp: Added.

(ewk_text_checker_callbacks_get):
An internal function to get the client's callback functions.

  • UIProcess/API/efl/ewk_text_checker.h: Added.

Define API to set the client's own spelling implementation.

  • UIProcess/API/efl/ewk_text_checker_private.h: Added.

(_Ewk_Text_Checker):
Define the struct with the client's callbacks responisble for spelling.

  • UIProcess/API/efl/ewk_settings.cpp:

(onContinuousSpellCheckingIdler):
The application is notified about the spelling setting change on idler
to do not block WebKit.
The the continuous spell checking may be changed through the context menu option.

(spellCheckingLanguagesSetUpdate):
The dictionaries are requested on 'idler' to do not block WebKit.

(spellCheckingLanguagesSet):
Set the languages.

(ewk_settings_continuous_spell_checking_change_cb_set):
Set the callback function used to notify the client when the spelling
setting was changed by WebKit.

(ewk_settings_continuous_spell_checking_enabled_get):
(ewk_settings_continuous_spell_checking_enabled_set):
API to set/get the continuous spell checking.

(ewk_settings_spell_checking_available_languages_get):
(ewk_settings_spell_checking_languages_set):
(ewk_settings_spell_checking_languages_get):
API to get/set languages to use by WebKit implementation based on Enchant library.

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit::TextChecker::state):
(WebKit::TextChecker::isContinuousSpellCheckingAllowed):
(WebKit::TextChecker::setContinuousSpellCheckingEnabled):
(WebKit::TextChecker::setGrammarCheckingEnabled):
(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
(WebKit::TextChecker::grammarCheckingEnabledStateChanged):
(WebKit::TextChecker::uniqueSpellDocumentTag):
(WebKit::TextChecker::closeSpellDocumentWithTag):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString): Remove WebCore namaspace as it's already defined for the whole file.
(WebKit::TextChecker::spellingUIIsShowing):
(WebKit::TextChecker::toggleSpellingUIIsShowing):
(WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
(WebKit::TextChecker::updateSpellingUIWithGrammarString):
(WebKit::TextChecker::getGuessesForWord):
(WebKit::TextChecker::learnWord):
(WebKit::TextChecker::ignoreWord):
Those call WKTextChecker client's methods.

3:24 AM Changeset in webkit [131578] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Avoid style updates when retrieving the inline stylesheet text
https://bugs.webkit.org/show_bug.cgi?id=99576

Reviewed by Vsevolod Vlasov.

Avoid using innerText() to retrieve inline stylesheet text, which may result in style and layout updates.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::inlineStyleSheetText):

3:20 AM Changeset in webkit [131577] by Patrick Gansterer
  • 4 edits in trunk/Source/WebCore

Build fix for WinCE after r131365.

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBufferAdvance::width):

  • platform/graphics/wince/FontWinCE.cpp:

(WebCore::cursorToX):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::drawText):

3:08 AM Changeset in webkit [131576] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/WebKit/efl

[EFL] Add background color to the checkbox theme.
https://bugs.webkit.org/show_bug.cgi?id=98788

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Background color is added to the checkbox theme for identifying
checkbox status easily.

Checkbox theme uses images which has transparent background, and the
theme itself doesn't have the background color.

When the background of checkbox is black, checked/unchecked status
cannot be distinguished because check mark color is black.

And it is hard to identify whether the checkbox is disabled or not,
because there is no background color in the checkbox theme.

Instead of adding background color to the edc script, background
images are added because the shape of the check box can be various.

  • DefaultTheme/widget/check/check.edc:
  • DefaultTheme/widget/check/img_check_bg_enabled.png: Added.
  • DefaultTheme/widget/check/img_check_bg_disabled.png: Added.
3:08 AM Changeset in webkit [131575] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
https://bugs.webkit.org/show_bug.cgi?id=99549

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
removed weird _Ewk_Url_Scheme_Request.

  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/ewk_context_request_manager_client.cpp:

(didReceiveURIRequest):

  • UIProcess/API/efl/ewk_url_scheme_request.cpp:

(ewk_url_scheme_request_ref):
(ewk_url_scheme_request_unref):

  • UIProcess/API/efl/ewk_url_scheme_request.h:
  • UIProcess/API/efl/ewk_url_scheme_request_private.h:

(Ewk_Url_Scheme_Request):
(Ewk_Url_Scheme_Request::create):
(Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):

3:02 AM Changeset in webkit [131574] by dominik.rottsches@intel.com
  • 3 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

Unskipping 4 cases after regression was fixed in r131229,
moving out a crash and incorrect console loggin on the wk2 bot.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
3:00 AM Changeset in webkit [131573] by mkwst@chromium.org
  • 11 edits in trunk

V8 should throw a more descriptive exception when blocking 'eval' via CSP.
https://bugs.webkit.org/show_bug.cgi?id=94332

Reviewed by Adam Barth.

Source/WebCore:

Following up on https://bugs.webkit.org/show_bug.cgi?id=94331, this
patch wires up the new error message mechanism to V8, and updates the
Chromium test expectations accordingly.

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::disableEval):

Pass 'errorMessage' through to V8.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initializeIfNeeded):

Grab the error message from ContentSecurityPolicy, and pass it
through to V8.

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::setEvalAllowed):

  • bindings/v8/WorkerContextExecutionProxy.h:

(WorkerContextExecutionProxy):

Convert 'm_disableEvalPending' to a string to store the current
error message, and use it to set the eval state.

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::disableEval):

Pass 'errorMessage' through to V8.

LayoutTests:

  • platform/chromium/TestExpectations:

Unskipping these tests, as this patch unbreaks them.

  • platform/chromium/http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt:
  • platform/chromium/http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe-expected.txt:
  • platform/chromium/http/tests/security/contentSecurityPolicy/function-constructor-blocked-expected.txt:

Updating expectations with the new error message.

2:57 AM Changeset in webkit [131572] by morrita@google.com
  • 3 edits
    2 adds in trunk

Assertion failed on HTMLFormControlElement.cpp: updateFromElementCallback()
https://bugs.webkit.org/show_bug.cgi?id=99566

Reviewed by Kent Tamura.

Source/WebCore:

It had a too optimistic assertion. This change removes it.

Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing.html

  • html/HTMLFormControlElement.cpp:

(WebCore::updateFromElementCallback):

LayoutTests:

  • fast/forms/textarea/textarea-autofocus-removal-while-focusing.txt: Added.
  • fast/forms/textarea/textarea-autofocus-removal-while-focusing.html: Added.
2:43 AM Changeset in webkit [131571] by antonm@chromium.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed Chromium rebaselines.

  • platform/chromium-mac-snowleopard/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:
  • platform/chromium-mac/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:
  • platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png: Added.
2:42 AM Changeset in webkit [131570] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: When dirty uiSourceCode is saved to disk from scripts navigator context menu working copy is not committed.
https://bugs.webkit.org/show_bug.cgi?id=99555

Reviewed by Yury Semikhatsky.

Save As context menu handler now commits working copy for dirty UISourceCodes.

  • inspector/front-end/HandlerRegistry.js:
2:27 AM Changeset in webkit [131569] by mario@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp
https://bugs.webkit.org/show_bug.cgi?id=99564

Reviewed by Carlos Garcia Campos.

Removed field 'error' from GetFaviconSurfaceAsyncData and updated
the code accordingly, by using g_simple_async_result_take_error().

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(GetFaviconSurfaceAsyncData): Removed unneeded field.
(processPendingIconsForPageURL): Avoid using g_propagate_error and
use g_simple_async_result_take_error directly instead.
(webkit_favicon_database_get_favicon_finish): Remove unneeded code.

1:52 AM Changeset in webkit [131568] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Stylesheets saved with FileManager are not saved to disk when edited from Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=99554

Reviewed by Yury Semikhatsky.

Moved saving to disk from SourceFrame to UISourceCode.

  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype._commitEditing):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype._commitContent):

1:49 AM Changeset in webkit [131567] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Regression] SASS sources are not saved to disk.
https://bugs.webkit.org/show_bug.cgi?id=99551

Reviewed by Yury Semikhatsky.

Added resource null checks.

  • inspector/front-end/StylesSourceMapping.js:

(WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):

1:18 AM Changeset in webkit [131566] by apavlov@chromium.org
  • 1 edit in branches/chromium/1229/Source/WebCore/css/CSSParser.cpp

Merge 130883 - Web Inspector: Semantically incorrect CSS rules result in broken source code data
https://bugs.webkit.org/show_bug.cgi?id=98520

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Pop and throw away rule data from the stack when data have been collected for a semantically invalid CSS rule
(which is not going to be created).

  • css/CSSParser.cpp:

(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):

TBR=apavlov@chromium.org
Review URL: https://codereview.chromium.org/11183028

1:18 AM Changeset in webkit [131565] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Clean up ContentData operator overloads
https://bugs.webkit.org/show_bug.cgi?id=99556

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-17
Reviewed by Eric Seidel.

Use virtual dispatch for checking ContentData equality instead
of a switch over the type. This the first step in getting rid
of the StyleContentType enum and all the switch statements over
the type().

No tests needed, this is just a refactor.

  • rendering/style/ContentData.cpp:
  • rendering/style/ContentData.h:

(ContentData):
(WebCore::operator==):
(WebCore):
(WebCore::operator!=):

1:15 AM Changeset in webkit [131564] by mrowe@apple.com
  • 5 edits in trunk

Fix the build with a newer version of clang.

Reviewed by Dan Bernstein.

Source/WebKit/mac:

Some of the methods in WebCoreStatistics appear to have been added by someone not familiar with Objective-C.
While it's technically valid to have empty components in a selector, it's rarely done and is not consistent
with our style guidelines. In this particular case it's also done in such a manner that it's ambiguous and
therefore generates a warning in newer versions of the compiler.

Fixes <rdar://problem/12503709>.

  • Misc/WebCoreStatistics.h: Remove unused methods and rename the two poorly-named methods that remain.
  • Misc/WebCoreStatistics.mm: Ditto.

(-[WebFrame numberOfPagesWithPageWidth:pageHeight:]):
(-[WebFrame printToCGContext:pageWidth:pageHeight:]):

Tools:

Update to accommodate the renamed methods in WebCoreStatistics.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(createPagedBitmapContext):

1:13 AM Changeset in webkit [131563] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviwed gardening. Skip failing reftest after r131497.
https://bugs.webkit.org/show_bug.cgi?id=98666

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-10-17

  • platform/qt/TestExpectations: Skip fast/forms/range/input-appearance-range-rtl.html.
1:06 AM Changeset in webkit [131562] by rgabor@webkit.org
  • 2 edits in trunk/Source/WebCore

NEON intrinsics Gauss filter does not work properly
https://bugs.webkit.org/show_bug.cgi?id=98875

Reviewed by Zoltan Herczeg.

Fixing the NEON intrinsics Gauss filter. The stride parameter
was missing from the intrinsics algorithm. Tested with pixel
checks, now it's working properly.

  • platform/graphics/filters/arm/FEGaussianBlurNEON.h:

(WebCore::boxBlurNEON):

1:00 AM Changeset in webkit [131561] by morrita@google.com
  • 2 edits in trunk/Source/WebCore

Crash on Frame::inScope() part 2
https://bugs.webkit.org/show_bug.cgi?id=99543

Reviewed by Kent Tamura.

FrameTree::scopedChildCount() can be called even when the one of child frames
is in orphan state. This change added a guard for that case.

No new tests. A hard-to-test timing issue.

  • page/Frame.cpp:

(WebCore::Frame::inScope):

12:54 AM Changeset in webkit [131560] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk

WebKitTestRunner needs testRunner.queueLoad
https://bugs.webkit.org/show_bug.cgi?id=42674

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Tools:

Added testRunner.queueLoad() and testRunner.queueBackNavigation() implementation to WTR including
Work Queue implementation. Work Queue is managed by WorkQueueManager which belongs to UI process
(as the needed functionality, like loading initiation, has to be invoked from UI process) and
exchanges messages with Injected bundle.

  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/GNUmakefile.am:
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::InjectedBundle):
(WTR::InjectedBundle::didReceiveMessage):
(WTR::InjectedBundle::done):
(WTR::InjectedBundle::shouldProcessWorkQueue):
(WTR):
(WTR::InjectedBundle::processWorkQueue):
(WTR::InjectedBundle::queueBackNavigation):
(WTR::InjectedBundle::queueLoad):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:

(InjectedBundle):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame):
(WTR::InjectedBundlePage::didFinishLoadForFrame):
(WTR::InjectedBundlePage::didFailLoadWithErrorForFrame):
(WTR::InjectedBundlePage::locationChangeForFrame):
(WTR):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

(InjectedBundlePage):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::queueBackNavigation):
(WTR):
(WTR::TestRunner::queueLoad):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(TestRunner):

  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • WebKitTestRunner/TestController.h:

(WTR::TestController::workQueueManager):
(TestController):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/WorkQueueManager.cpp: Added.

(WTR):
(WTR::mainPage):
(WTR::goToItemAtIndex):
(WTR::WorkQueueManager::WorkQueueManager):
(WTR::WorkQueueManager::clearWorkQueue):
(WTR::WorkQueueManager::processWorkQueue):
(WTR::WorkQueueManager::queueLoad):
(WTR::WorkQueueManager::queueBackNavigation):
(WTR::WorkQueueManager::enqueue):

  • WebKitTestRunner/WorkQueueManager.h: Added.

(WTR):
(WorkQueueManager):
(WTR::WorkQueueManager::isWorkQueueEmpty):
(WorkQueueItem):
(WTR::WorkQueueManager::WorkQueueItem::~WorkQueueItem):

  • WebKitTestRunner/win/WebKitTestRunner.vcproj:

LayoutTests:

Unskipped corresponding tests for WK2 and WK2 EFL, put those which still failing to appropriate groups.

  • platform/efl-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
12:42 AM Changeset in webkit [131559] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove shadowAncestorNode() from VisibleSelection
https://bugs.webkit.org/show_bug.cgi?id=99544

Reviewed by Hajime Morita.

An effort to replace shadowAncestorNode() with shadowHost(), since shadowAncestorNode() is now deprecated.

No new tests, no change in behavior.

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Since shadowHost() returns 0 if
an element is not in shadowRoot, it's ok to compare shadowAncestor to 0.

12:28 AM Changeset in webkit [131558] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebKit2

[EFL][WK2] Start using OwnPtr for non-ref counted ewk types
https://bugs.webkit.org/show_bug.cgi?id=99472

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Use OwnPtr internally for non-ref counted Ewk types to avoid
manual memory handling.

Private _new() and _free() functions are removed since they
are not needed now that the classes are defined in the
private headers instead of the cpp files. The constructor
for those classes was made private and factory methods were
added to encourage developers to use smart pointers instead
of raw ones.

  • UIProcess/API/efl/ewk_back_forward_list.cpp:

(ewk_back_forward_list_changed):

  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  • UIProcess/API/efl/ewk_back_forward_list_private.h:

(_Ewk_Back_Forward_List):
(_Ewk_Back_Forward_List::create):
(_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):

  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):

  • UIProcess/API/efl/ewk_context_download_client.cpp:

(didFail):

  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::~_Ewk_Cookie_Manager):
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
(ewk_cookie_manager_changes_watch):

  • UIProcess/API/efl/ewk_cookie_manager_private.h:

(Cookie_Change_Handler):
(Cookie_Change_Handler::Cookie_Change_Handler):
(_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::create):

  • UIProcess/API/efl/ewk_error.cpp:

(_Ewk_Error::_Ewk_Error):
(ewk_error_cancellation_get):

  • UIProcess/API/efl/ewk_error_private.h:

(_Ewk_Error):
(_Ewk_Error::create):

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(_Ewk_Favicon_Database::_Ewk_Favicon_Database):

  • UIProcess/API/efl/ewk_favicon_database_private.h:

(IconChangeCallbackData):
(IconChangeCallbackData::IconChangeCallbackData):
(IconRequestCallbackData):
(IconRequestCallbackData::IconRequestCallbackData):
(_Ewk_Favicon_Database):
(_Ewk_Favicon_Database::create):

  • UIProcess/API/efl/ewk_popup_menu_item.cpp:

(_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):

  • UIProcess/API/efl/ewk_popup_menu_item_private.h:

(_Ewk_Popup_Menu_Item):
(_Ewk_Popup_Menu_Item::create):

  • UIProcess/API/efl/ewk_url_scheme_request.cpp:

(_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):

  • UIProcess/API/efl/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_initialize):
(ewk_view_back_forward_list_get):
(ewk_view_popup_menu_request):
(ewk_view_popup_menu_close):

  • UIProcess/API/efl/ewk_view_loader_client.cpp:

(didFailLoadWithErrorForFrame):
(didFailProvisionalLoadWithErrorForFrame):

  • UIProcess/API/efl/ewk_view_resource_load_client.cpp:

(didFailLoadForResource):

12:16 AM Changeset in webkit [131557] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk

Content of replaced elements should be trimmed to the content edge curve.
https://bugs.webkit.org/show_bug.cgi?id=63899

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-10-17
Reviewed by Simon Fraser.

Source/WebCore:

When a border-radius is specified the content of replaced elements needs to be clipped to avoid
being painted over the padding or border in the corners. Previously the clip that was applied
was set to the border-edge curve, this patch contracts the clip by the size of the border and
padding (the content-edge curve) to match the css3 spec.
Spec: http://www.w3.org/TR/css3-background/#corner-clipping

Test: fast/replaced/border-radius-clip-content-edge.html

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):

LayoutTests:

  • fast/replaced/border-radius-clip-content-edge-expected.txt: Added.
  • fast/replaced/border-radius-clip-content-edge.html: Added.
  • platform/fast/replaced/border-radius-clip-content-edge-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium-linux/fast/replaced/border-radius-clip-content-edge-expected.png: Added.
  • platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.png:
12:10 AM Changeset in webkit [131556] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
https://bugs.webkit.org/show_bug.cgi?id=99542

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
to avoid handling raw pointers internally.

  • UIProcess/API/efl/ewk_form_submission_request.cpp:

(ewk_form_submission_request_ref):
(ewk_form_submission_request_unref):
(ewk_form_submission_request_submit):

  • UIProcess/API/efl/ewk_form_submission_request_private.h:

(_Ewk_Form_Submission_Request):
(_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request):
(_Ewk_Form_Submission_Request::create):
(_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request):

  • UIProcess/API/efl/ewk_resource.cpp:

(ewk_resource_ref):
(ewk_resource_unref):

  • UIProcess/API/efl/ewk_resource_private.h:

(_Ewk_Resource):
(_Ewk_Resource::create):
(_Ewk_Resource::_Ewk_Resource):

  • UIProcess/API/efl/ewk_view.cpp:

(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(ewk_view_resource_load_initiated):
(ewk_view_resource_load_response):
(ewk_view_resource_load_failed):
(ewk_view_resource_load_finished):
(ewk_view_resource_request_sent):
(ewk_view_load_provisional_started):

  • UIProcess/API/efl/ewk_view_form_client.cpp:

(willSubmitForm):

  • UIProcess/API/efl/ewk_view_resource_load_client.cpp:

(didInitiateLoadForResource):

12:06 AM Changeset in webkit [131555] by commit-queue@webkit.org
  • 5 edits in trunk

The HTML5 formtarget/formaction/formenctyp/formmethod/formnovalidate attributes don't work in button tags with nested elements
https://bugs.webkit.org/show_bug.cgi?id=90539

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-10-17
Reviewed by Kent Tamura.

Source/WebCore:

Fix a bug where form(action|enctype|method|target) attributes of <button> are not
honored if the target of the click event is an element nested within the button.

Test: fast/forms/formaction-attribute.html

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create): Looks for the attributes for form submission
from the nearest FormControlElement ancestor of the event target.

LayoutTests:

Added a test case to verify that formaction attribute of <button> element is
used when its child <span> is clicked.

  • fast/forms/formaction-attribute-expected.txt:
  • fast/forms/formaction-attribute.html: Removed unused doneAction2 variable.
12:05 AM Changeset in webkit [131554] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/WebKit/efl

[EFL] Add background color to the radio button theme.
https://bugs.webkit.org/show_bug.cgi?id=98852

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-17
Reviewed by Gyuyoung Kim.

Background color is added to the radio button theme for identifying
radio button status easily.

Radio button theme uses images which has transparent background.

When the background of radio button is black, checked/unchecked status
cannot be distinguished because check mark color is black.

And it is hard to identify whether the radio button is disabled or not,
because there is no background color in the radio button theme.

  • DefaultTheme/widget/radio/img_radio_bg_disabled.png: Added.
  • DefaultTheme/widget/radio/img_radio_bg_enabled.png: Added.
  • DefaultTheme/widget/radio/radio.edc:

Oct 16, 2012:

11:50 PM Changeset in webkit [131553] by commit-queue@webkit.org
  • 2 edits in trunk/PerformanceTests

html5-full-render.html test uses substring but meant substr
https://bugs.webkit.org/show_bug.cgi?id=99495

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-16
Reviewed by Adam Barth.

This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
substring(to,from) instead of substr(from,length) so it actually loaded 5x more
content than was in the HTML5 spec.

  • Parser/html5-full-render.html:
11:22 PM Changeset in webkit [131552] by Csaba Osztrogonác
  • 52 edits
    1 copy
    1 delete in trunk

Unreviewed, rolling out r131516 and r131550.
http://trac.webkit.org/changeset/131516
http://trac.webkit.org/changeset/131550
https://bugs.webkit.org/show_bug.cgi?id=99349

It caused zillion different problem on different platforms

Source/JavaScriptCore:

  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC):
(JSC::isGlobalResolve):
(JSC::instructionOffsetForNth):
(JSC::printGlobalResolveInfo):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
(JSC::CodeBlock::globalResolveInfoForBytecodeOffset):
(JSC::CodeBlock::shrinkToFit):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::addGlobalResolveInstruction):
(JSC::CodeBlock::addGlobalResolveInfo):
(JSC::CodeBlock::globalResolveInfo):
(JSC::CodeBlock::numberOfGlobalResolveInfos):
(JSC::CodeBlock::globalResolveInfoCount):

  • bytecode/GlobalResolveInfo.h: Copied from Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp.

(JSC):
(JSC::GlobalResolveInfo::GlobalResolveInfo):
(GlobalResolveInfo):
(JSC::getGlobalResolveInfoBytecodeOffset):

  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC):
(JSC::computeForStructure):
(JSC::computeForLLInt):
(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ResolveGlobalStatus.h:

(JSC):
(ResolveGlobalStatus):

  • bytecode/ResolveOperation.h: Removed.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::ResolveResult::checkValidity):
(JSC::ResolveResult::registerPointer):
(JSC):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::shouldAvoidResolveGlobal):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitInitGlobalConst):
(JSC::BytecodeGenerator::emitPutStaticVar):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ResolveResult::registerResolve):
(JSC::ResolveResult::dynamicResolve):
(JSC::ResolveResult::lexicalResolve):
(JSC::ResolveResult::indexedGlobalResolve):
(JSC::ResolveResult::dynamicIndexedGlobalResolve):
(JSC::ResolveResult::globalResolve):
(JSC::ResolveResult::dynamicGlobalResolve):
(JSC::ResolveResult::type):
(JSC::ResolveResult::index):
(JSC::ResolveResult::depth):
(JSC::ResolveResult::globalObject):
(ResolveResult):
(JSC::ResolveResult::isStatic):
(JSC::ResolveResult::isIndexed):
(JSC::ResolveResult::isScoped):
(JSC::ResolveResult::isGlobal):
(JSC::ResolveResult::ResolveResult):
(BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGGraph.h:

(ResolveGlobalData):
(DFG):
(Graph):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::OSRExit):

  • dfg/DFGOSRExit.h:

(OSRExit):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:

(JSC):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStructureCheckHoistingPhase.cpp:

(JSC::DFG::StructureCheckHoistingPhase::run):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:

(JIT):
(JSC::JIT::emit_op_get_global_var_watchable):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_resolve):
(JSC):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emit_op_resolve_global_dynamic):
(JSC::JIT::emitSlow_op_resolve_global_dynamic):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_resolve):
(JSC):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_get_global_var):
(JSC::JIT::emit_op_put_global_var):
(JSC::JIT::emit_op_put_global_var_check):
(JSC::JIT::emitSlow_op_put_global_var_check):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_get_global_var):
(JSC::JIT::emit_op_put_global_var):
(JSC::JIT::emit_op_put_global_var_check):
(JSC::JIT::emitSlow_op_put_global_var_check):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC):

  • jit/JITStubs.h:
  • llint/LLIntSlowPaths.cpp:

(LLInt):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:

(LLInt):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSScope.cpp:

(JSC::JSScope::resolve):
(JSC::JSScope::resolveSkip):
(JSC::JSScope::resolveGlobal):
(JSC::JSScope::resolveGlobalDynamic):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):

  • runtime/JSScope.h:

(JSScope):

  • runtime/JSVariableObject.cpp:
  • runtime/JSVariableObject.h:
  • runtime/Structure.h:

LayoutTests:

  • fast/workers/resources/worker-event-listener.js:
10:56 PM Changeset in webkit [131551] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[mac] Fix build break - processPath should be initialized.
https://bugs.webkit.org/show_bug.cgi?id=99541

Unreviewed build fix.

Initialize processPath as nil.

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-16

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::createProcess):

10:44 PM Changeset in webkit [131550] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[GTK] Fix build break - ResolveOperations.h is not in WebKit.
https://bugs.webkit.org/show_bug.cgi?id=99538

Unreviewed build fix.

There are some files including ResolveOperations.h which is not exist at all.

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-16

  • GNUmakefile.list.am: s/ResolveOperations.h/ResolveOperation.h/
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: s/ResolveOperations.h/ResolveOperation.h/
10:39 PM Changeset in webkit [131549] by morrita@google.com
  • 11 edits in trunk/Source

[Shadow DOM][V8] WebCore::V8DOMWindow::installPerContextProperties() is slow when shadowDOMEnabled flag is on.
https://bugs.webkit.org/show_bug.cgi?id=99428

Reviewed by Adam Barth.

Source/WebCore:

A benchmark unveiled that installPerContextProperties() could have made DOMWindow setup slower when

  • Some properties are added per-context basis by turnin the flag on and
  • There are bunch of DOMWindow object in the page (that is, there are many iframes.)

This change eliminates Shadow DOM related per-context properties from DOMWindow for getting rid of that slowness.

  • dom/ContextFeatures.cpp:
  • dom/ContextFeatures.h: Removed shadowDOMEnabled() method and related enum entry.
  • dom/Position.cpp:

(WebCore::Position::Position):
(WebCore::Position::findParent):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getSelection):

  • dom/make_names.pl: Re-introduced "runtimeConditional" directive.

(defaultTagPropertyHash):
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):

  • html/HTMLTagNames.in:
  • html/shadow/HTMLContentElement.cpp:

(WebCore::contentTagName):

  • page/DOMWindow.idl:

Source/WebKit/chromium:

  • src/ContextFeaturesClientImpl.cpp:

(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

7:48 PM Changeset in webkit [131548] by Lucas Forschler
  • 4 edits in branches/safari-536.26-branch/Source

Versioning.

7:33 PM Changeset in webkit [131547] by Lucas Forschler
  • 1 copy in tags/Safari-536.26.15

New Tag.

7:20 PM Changeset in webkit [131546] by commit-queue@webkit.org
  • 25 edits in trunk/Source/WebKit2

[EFL][WK2] Add factory methods for refcounted Ewk types
https://bugs.webkit.org/show_bug.cgi?id=99479

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-16
Reviewed by Gyuyoung Kim.

Add factory methods to refcounted Ewk types that return
a PassRefPtr for refcounted Ewk types. Their constructors
were made privates as well, in order to promote the use
of smart pointers internally.

Remove _new() functions for refcounted Ewk types as they
are no longer needed now that the classes are defined
in the private headers instead of the cpp files.

  • UIProcess/API/efl/PageClientImpl.cpp:

(WebKit::PageClientImpl::handleDownloadRequest):

  • UIProcess/API/efl/ewk_back_forward_list.cpp:

(addItemToWrapperCache):

  • UIProcess/API/efl/ewk_back_forward_list_item.cpp:

(ewk_back_forward_list_item_original_url_get):

  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:

(_Ewk_Back_Forward_List_Item):
(_Ewk_Back_Forward_List_Item::create):
(_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):

  • UIProcess/API/efl/ewk_context_download_client.cpp:

(didReceiveResponse):

  • UIProcess/API/efl/ewk_context_history_client.cpp:

(didNavigateWithNavigationData):

  • UIProcess/API/efl/ewk_download_job.cpp:

(ewk_download_job_request_get):
(ewk_download_job_state_set):

  • UIProcess/API/efl/ewk_download_job_private.h:

(_Ewk_Download_Job):
(_Ewk_Download_Job::create):
(_Ewk_Download_Job::_Ewk_Download_Job):

  • UIProcess/API/efl/ewk_intent.cpp:

(ewk_intent_extra_names_get):

  • UIProcess/API/efl/ewk_intent_private.h:

(_Ewk_Intent):
(_Ewk_Intent::create):
(_Ewk_Intent::_Ewk_Intent):

  • UIProcess/API/efl/ewk_intent_service.cpp:

(ewk_intent_service_disposition_get):

  • UIProcess/API/efl/ewk_intent_service_private.h:

(_Ewk_Intent_Service):
(_Ewk_Intent_Service::create):
(_Ewk_Intent_Service::_Ewk_Intent_Service):

  • UIProcess/API/efl/ewk_navigation_data.cpp:

(ewk_navigation_data_url_get):

  • UIProcess/API/efl/ewk_navigation_data_private.h:

(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::create):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):

  • UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
  • UIProcess/API/efl/ewk_navigation_policy_decision_private.h:

(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::create):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):

  • UIProcess/API/efl/ewk_url_request.cpp:

(ewk_url_request_http_method_get):

  • UIProcess/API/efl/ewk_url_request_private.h:

(_Ewk_Url_Request):
(_Ewk_Url_Request::create):
(_Ewk_Url_Request::_Ewk_Url_Request):

  • UIProcess/API/efl/ewk_url_response.cpp:

(ewk_url_response_content_length_get):

  • UIProcess/API/efl/ewk_url_response_private.h:

(_Ewk_Url_Response):
(_Ewk_Url_Response::create):
(_Ewk_Url_Response::_Ewk_Url_Response):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_intent_deliver):

  • UIProcess/API/efl/ewk_view_loader_client.cpp:

(didReceiveIntentForFrame):
(registerIntentServiceForFrame):

  • UIProcess/API/efl/ewk_view_policy_client.cpp:

(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):

  • UIProcess/API/efl/ewk_view_resource_load_client.cpp:

(didInitiateLoadForResource):
(didSendRequestForResource):
(didReceiveResponseForResource):

7:15 PM Changeset in webkit [131545] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/12462993> Use a sensible fallback for cache directory

Reviewed by Sam Weinig.

  • UIProcess/WebContext.cpp: (WebKit::WebContext::createNewWebProcess): Cache directory should be created if it doesn't exist yet, so use createHandleForReadWriteDirectory.
  • UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultDiskCacheDirectory): We don't want caches in home directory, they should go to ~/Library/Caches.
7:00 PM Changeset in webkit [131544] by aestes@apple.com
  • 8 edits in trunk

[WebKit2] Create Objective-C API for adding and removing user scripts
https://bugs.webkit.org/show_bug.cgi?id=99528

Reviewed by Anders Carlsson.

Source/WebKit2:

This patch adds the following API to WKBrowsingContextGroup:

  • (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
  • (void)removeAllUserScripts;
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserScript): Define a C SPI equivalent of addUserScript: that calls existing methods in WebPageGroup.
(WKPageGroupRemoveAllUserScripts): Ditto for removeAllUserScripts.

  • UIProcess/API/C/WKPageGroup.h: Declare the above-mentioned functions.
  • UIProcess/API/mac/WKBrowsingContextGroup.h: Declare the Objective-C API
  • UIProcess/API/mac/WKBrowsingContextGroup.mm:

(-[WKBrowsingContextGroup addUserScript:baseURL:whitelist:blacklist:injectionTime:mainFrameOnly:]): Call WKPageGroupAddUserScript.
(-[WKBrowsingContextGroup removeAllUserScripts]): Call WKPageGroupRemoveAllUserScripts.

  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::removeAllUserScripts): This was calling PageGroup::removeUserStyleSheetsFromWorld() by mistake.

Tools:

Add three new API tests.

  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:

(expectScriptValueIsString):
(expectScriptValueIsBoolean):
(expectScriptValueIsUndefined):

6:42 PM Changeset in webkit [131543] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2][AC] Url bar should not be covered by the web view
https://bugs.webkit.org/show_bug.cgi?id=99485

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-16
Reviewed by Laszlo Gombos.

When accelerated compositing is enabled, the url bar is covered by the web view.
This was caused by 2 issues:

  • _ewk_view_smart_calculate was called before the first gl surface was created, so an early return caused it to not save the new view position.
  • When painting the view, we need to take into account the position of the view within the window, i.e. the url bar.
  • UIProcess/API/efl/EflViewportHandler.cpp:

(WebKit::EflViewportHandler::display):

  • UIProcess/API/efl/EflViewportHandler.h:

(EflViewportHandler):

  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_smart_calculate):
(ewk_view_display):

6:41 PM Changeset in webkit [131542] by keishi@webkit.org
  • 5 edits in trunk/LayoutTests

Add test that checks if scrolling works inside the suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=99409

Reviewed by Kent Tamura.

We want to test that scrolling, both by scrollbar and mouse wheel, work inside the suggestion picker.

  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations-expected.txt:
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations.html:
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations-expected.txt:
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations.html:
6:32 PM Changeset in webkit [131541] by tkent@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Re-add a test which was removed mistakenly in r131538.
https://bugs.webkit.org/show_bug.cgi?id=98103

  • platform/chromium/fast/forms/calendar-picker/calendar-picker-type-change-onclick-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-type-change-onclick.html: Added.
6:30 PM Changeset in webkit [131540] by alecflett@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

IndexedDB: Stub out chromium success handlers for integers and undefined values
https://bugs.webkit.org/show_bug.cgi?id=99527

Reviewed by Adam Barth.

Add onSuccess stubs so that chromium IPC glue can land.

  • public/WebIDBCallbacks.h:

(WebKit::WebIDBCallbacks::onSuccess):

6:26 PM Changeset in webkit [131539] by jchaffraix@webkit.org
  • 6 edits in trunk/Source/WebCore

Make RenderObject destruction during detach a top-down operation
https://bugs.webkit.org/show_bug.cgi?id=98336

Reviewed by Eric Seidel.

detach() is a DOM-driven operation that destroys the renderers bottom-up.
While this is correct, it causes extra-work to be done (tree cleaning, ...)
as it doesn't know about the render tree's structure.

The render tree on the other side already supports top-down operations
but it was overriden by the DOM side of detach.

This change only makes ContainerNode::detach do a top-down render tree
destruction. This is a required step towards doing smarter destruction.

Refactoring covered by existing tests.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::detach):
Changed the method to do a top-down destruction.

  • dom/Node.cpp:

(WebCore::Node::detach):
Added this ASSERT that ensures that we have properly cleaned up the
whole DOM subtree. The only exception is child content belonging to a
flow-thread as the code will shuffle the renderers under the flow-thread.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):
As we don't update the node's renderer on the DOM side, do it here.
The upside is that it ensures that we don't left any stray renderer
in the tree.

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::destroyLeftoverChildren):
Removed the calls to setRenderer as they are redundant with what we do
in willBeDestroyed.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::setText):
Removed some now unneeded code, replaced by an ASSERT. This is because
destroying m_firstLetter would automatically reset the node's renderer
in destroyLeftoverChildren.

6:19 PM FeatureFlags edited by tkent@chromium.org
WIDGET_REGION -> DRAGGABLE_REGION (diff)
6:18 PM Changeset in webkit [131538] by tkent@chromium.org
  • 5 edits
    18 moves
    6 adds
    2 deletes in trunk/LayoutTests

Move tests for calendar picker to platform/chromium/fast/forms/calendar-picker/
https://bugs.webkit.org/show_bug.cgi?id=98103

Reviewed by Yuta Kitamura.

Move tests for calendar picker to platform/chromium/fast/forms/
calendar-picker/ because

  • Ease of skipping
  • We're going to support non-date types in the calendar picker.
  • Not sure the calendar picker code will be used on other platforms.
  • fast/forms/date/calendar-picker-appearance-expected.txt: Removed.
  • fast/forms/date/calendar-picker-appearance-pre-100-expected.txt: Removed.
  • fast/forms/date/calendar-picker-appearance-pre-100.html: Removed.
  • fast/forms/date/calendar-picker-appearance.html: Removed.
  • fast/forms/date/calendar-picker-common.js: Removed.
  • fast/forms/date/calendar-picker-key-operations-expected.txt: Removed.
  • fast/forms/date/calendar-picker-key-operations.html: Removed.
  • fast/forms/date/calendar-picker-mouse-operations-expected.txt: Removed.
  • fast/forms/date/calendar-picker-mouse-operations.html: Removed.
  • fast/forms/date/calendar-picker-type-change-onclick-expected.txt: Removed.
  • fast/forms/date/calendar-picker-type-change-onclick.html: Removed.
  • fast/forms/date/calendar-picker-with-step-expected.txt: Removed.
  • fast/forms/date/calendar-picker-with-step.html: Removed.
  • platform/chromium-linux-x86/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
  • platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker: Added.
  • platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/fast/forms/date/calendar-picker-appearance-expected.png.
  • platform/chromium-linux/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-linux/fast/forms/date/calendar-picker-appearance-expected.png.
  • platform/chromium-mac-snowleopard/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/date/calendar-picker-appearance-expected.png.
  • platform/chromium-mac/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-mac/fast/forms/date/calendar-picker-appearance-expected.png.
  • platform/chromium-win-xp/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-win-xp/fast/forms/date/calendar-picker-appearance-expected.png.
  • platform/chromium-win/fast/forms/date/calendar-picker-appearance-expected.png: Removed.
  • platform/chromium-win/fast/forms/date/calendar-picker-key-operations-expected.txt: Removed.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Copied from LayoutTests/platform/chromium-win/fast/forms/date/calendar-picker-appearance-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/forms/date/calendar-picker-key-operations-expected.txt.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance-expected.txt.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step.html:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance.html: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance.html.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-key-operations-expected.txt.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html: Copied from LayoutTests/fast/forms/date/calendar-picker-key-operations.html.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-mouse-operations-expected.txt.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations.html: Copied from LayoutTests/fast/forms/date/calendar-picker-mouse-operations.html.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance-pre-100-expected.txt.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year.html: Copied from LayoutTests/fast/forms/date/calendar-picker-appearance-pre-100.html.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step-expected.txt: Copied from LayoutTests/fast/forms/date/calendar-picker-with-step-expected.txt.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step.html: Copied from LayoutTests/fast/forms/date/calendar-picker-with-step.html.
  • platform/chromium/fast/forms/calendar-picker/resources: Added.
  • platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js: Copied from LayoutTests/fast/forms/date/calendar-picker-common.js.
  • platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Fix calendar-picker-common.js path.
  • platform/gtk/TestExpectations:
6:09 PM Changeset in webkit [131537] by Lucas Forschler
  • 4 edits
    3 adds in branches/safari-536.26-branch

Merge <rdar://problem/12474784>

5:46 PM Changeset in webkit [131536] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Update Chromium ML expectations

Unreviewed, expectations change.

  • platform/chromium-mac-mountainlion/TestExpectations:
5:34 PM Changeset in webkit [131535] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
5:24 PM Changeset in webkit [131534] by commit-queue@webkit.org
  • 5 edits in trunk

HTMLSelectElement::optionSelectedByUser confuses listIndex and optionIndex
https://bugs.webkit.org/show_bug.cgi?id=99523

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-10-16
Reviewed by Simon Fraser.

Source/WebCore:

There was a call site where the optionIndex was being passed to a
function that expected the listIndex. Convert appropriately.

Extends Test: platform/mac/fast/objc/dom-html-select-activate.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::optionSelectedByUser):

LayoutTests:

Extend the dom activate test to test calls on a <select multiple> with
<optgroup>s. This previously untested case was broken.

  • platform/mac/fast/objc/dom-html-select-activate-expected.txt:
  • platform/mac/fast/objc/dom-html-select-activate.html:
5:19 PM Changeset in webkit [131533] by Lucas Forschler
  • 3 edits in branches/safari-536.26-branch/Source/JavaScriptCore

Merged r129577 -> <rdar://problem/12474770>

5:14 PM Changeset in webkit [131532] by jianli@chromium.org
  • 44 edits in trunk

Rename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION
https://bugs.webkit.org/show_bug.cgi?id=98975

Reviewed by Adam Barth.

Source/JavaScriptCore:

Renaming is needed to better match with the draggable region code.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Renaming is needed to better match with the draggable region code.

No new tests (OOPS!).

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • WebCore.exp.in:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore):
(WebCore::Document::reportMemoryUsage):

  • dom/Document.h:

(WebCore):
(Document):

  • page/Chrome.cpp:

(WebCore):

  • page/ChromeClient.h:

(ChromeClient):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore):
(WebCore::FrameView::paintContents):

  • page/FrameView.h:

(FrameView):

  • rendering/RenderInline.cpp:

(WebCore):
(WebCore::RenderInline::addAnnotatedRegions):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::setHasVerticalScrollbar):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::styleWillChange):
(WebCore):
(WebCore::RenderObject::addAnnotatedRegions):

  • rendering/RenderObject.h:

(WebCore::AnnotatedRegionValue::operator==):
(AnnotatedRegionValue):
(RenderObject):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

(StyleRareNonInheritedData):

Source/WebKit/chromium:

Renaming is needed to better match with the draggable region code.

  • features.gypi:
  • src/ChromeClientImpl.cpp:

(WebKit):

  • src/ChromeClientImpl.h:

(ChromeClientImpl):

  • src/WebDocument.cpp:

(WebKit::WebDocument::draggableRegions):

Source/WebKit/mac:

Renaming is needed to better match with the draggable region code.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Renaming is needed to better match with the draggable region code.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Renaming is needed to better match with the draggable region code.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
5:12 PM Changeset in webkit [131531] by danakj@chromium.org
  • 5 edits in trunk/LayoutTests

Unreviewed, rebaselines after r131358
https://bugs.webkit.org/show_bug.cgi?id=99441

  • platform/chromium-win-xp/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-win-xp/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
  • platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
5:04 PM Changeset in webkit [131530] by simonjam@chromium.org
  • 7 edits
    2 adds in trunk

[Page Visibility API] View-less documents should report as hidden
https://bugs.webkit.org/show_bug.cgi?id=99410

Reviewed by Tony Gentilcore.

Source/WebCore:

Test: fast/events/page-visibility-null-view.html

  • dom/Document.cpp:

(WebCore::Document::visibilityState):

LayoutTests:

  • fast/events/page-visibility-null-view-expected.txt: Added.
  • fast/events/page-visibility-null-view.html: Added.
4:59 PM Changeset in webkit [131529] by Lucas Forschler
  • 2 edits in branches/safari-536.26-branch/Source/WebCore

Merged r130855 -> <rdar://problem/12474791>

4:47 PM Changeset in webkit [131528] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, broaden Chromium TestExpectations to match waterfall.

  • platform/chromium/TestExpectations:
4:34 PM Changeset in webkit [131527] by danakj@chromium.org
  • 3 edits
    1 delete in trunk/LayoutTests

Rebaseline mac compositing/geometry/fixed-position-transform-composited-page-scale-down.html
https://bugs.webkit.org/show_bug.cgi?id=89702

Unreviewed gardening.

  • platform/chromium-mac-snowleopard/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png: Removed.
  • platform/chromium-mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png:
  • platform/chromium/TestExpectations:
4:23 PM Changeset in webkit [131526] by msaboff@apple.com
  • 6 edits in trunk/Source

Change WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN
https://bugs.webkit.org/show_bug.cgi?id=99484

Reviewed by Eric Seidel.

Source/WebCore:

Changed macro name to align with it's purpose, therefore changed USE(8BIT_TEXTRUN) to ENABLE(8BIT_TEXTRUN).

No new tests. Changed macro name, no functional change.

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):
(WebCore::TextRun::subRun):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::constructTextRun):

  • rendering/RenderBlock.h:

(RenderBlock):

Source/WTF:

Changed macro name to align with it's purpose.

  • wtf/Platform.h:
4:11 PM Changeset in webkit [131525] by tony@chromium.org
  • 4 edits in trunk/LayoutTests

Unreviewed, fix TestExpectations for Qt and GTK after RenderSlider change.

  • platform/gtk/TestExpectations:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/qt/TestExpectations:
4:07 PM Changeset in webkit [131524] by msaboff@apple.com
  • 3 edits in trunk/Source/WTF

StringImpl::reverseFind() with a single match character isn't optimal for mixed 8/16 bit cases
https://bugs.webkit.org/show_bug.cgi?id=99363

Reviewed by Benjamin Poulain.

Factored out the 8/16 bitness check of the match character from the subject character bitness
check. Did this for both find() and reverseFind(). Added all UChar/LChar combinations to the
inline reverseFind().

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::find):
(WTF::StringImpl::reverseFind):

  • wtf/text/StringImpl.h:

(WTF::reverseFind):

4:06 PM Changeset in webkit [131523] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Rebaseline for css1/basic/inheritance.html

Unreviewed gardening.

  • platform/chromium-mac/css1/basic/inheritance-expected.png:
4:04 PM Changeset in webkit [131522] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Web Inspector: inspector/styles/styles-history.html is failing Text on win7
https://bugs.webkit.org/show_bug.cgi?id=99519

Unreviewed gardening.

  • platform/chromium/TestExpectations:
3:58 PM Changeset in webkit [131521] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Rebaselines for r131503
https://bugs.webkit.org/show_bug.cgi?id=99516

Unreviewed gardening.

  • platform/chromium/TestExpectations:
3:55 PM Changeset in webkit [131520] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, fix lint error in chromium-android/TestExpectations.

  • platform/chromium-android/TestExpectations:
3:52 PM Changeset in webkit [131519] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, lint fixes for TestExpectations.

  • platform/chromium/TestExpectations:
3:46 PM Changeset in webkit [131518] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Lint fixes for TestExpectations

Unreviewed gardening.

  • platform/chromium/TestExpectations:
3:36 PM Changeset in webkit [131517] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Rebaselines for r131503
https://bugs.webkit.org/show_bug.cgi?id=99516

Unreviewed gardening.

  • platform/chromium/TestExpectations:
3:28 PM Changeset in webkit [131516] by oliver@apple.com
  • 51 edits
    1 add
    1 delete in trunk

Bytecode should not have responsibility for determining how to perform non-local resolves
https://bugs.webkit.org/show_bug.cgi?id=99349

Reviewed by Gavin Barraclough.

This patch removes lexical analysis from the bytecode generation. This allows
us to delay lookup of a non-local variables until the lookup is actually necessary,
and simplifies a lot of the resolve logic in BytecodeGenerator.

Once a lookup is performed we cache the lookup information in a set of out-of-line
buffers in CodeBlock. This allows subsequent lookups to avoid unnecessary hashing,
etc, and allows the respective JITs to recreated optimal lookup code.

This is currently still a performance regression in LLInt, but most of the remaining
regression is caused by a lot of indirection that I'll remove in future work, as well
as some work necessary to allow LLInt to perform in line instruction repatching.
We will also want to improve the behaviour of the baseline JIT for some of the lookup
operations, however this patch was getting quite large already so I'm landing it now
that we've reached the bar of "performance-neutral".

  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::shrinkToFit):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::addResolve):
(JSC::CodeBlock::addPutToBase):
(CodeBlock):
(JSC::CodeBlock::resolveOperations):
(JSC::CodeBlock::putToBaseOperation):
(JSC::CodeBlock::numberOfResolveOperations):
(JSC::CodeBlock::numberOfPutToBaseOperations):
(JSC::CodeBlock::addPropertyAccessInstruction):
(JSC::CodeBlock::globalObjectConstant):
(JSC::CodeBlock::setGlobalObjectConstant):

  • bytecode/GlobalResolveInfo.h: Removed.
  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::computeForStructure):
(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ResolveGlobalStatus.h:

(JSC):
(ResolveGlobalStatus):

  • bytecode/ResolveOperation.h: Added. The new types and logic we use to perform the cached lookups.

(JSC):
(ResolveOperation):
(JSC::ResolveOperation::getAndReturnScopedVar):
(JSC::ResolveOperation::checkForDynamicEntriesBeforeGlobalScope):
(JSC::ResolveOperation::getAndReturnGlobalVar):
(JSC::ResolveOperation::getAndReturnGlobalProperty):
(JSC::ResolveOperation::resolveFail):
(JSC::ResolveOperation::skipTopScopeNode):
(JSC::ResolveOperation::skipScopes):
(JSC::ResolveOperation::returnGlobalObjectAsBase):
(JSC::ResolveOperation::setBaseToGlobal):
(JSC::ResolveOperation::setBaseToUndefined):
(JSC::ResolveOperation::setBaseToScope):
(JSC::ResolveOperation::returnScopeAsBase):
(JSC::PutToBaseOperation::PutToBaseOperation):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::ResolveResult::checkValidity):
(JSC):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::shouldAvoidResolveGlobal):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetLocalVar):
(JSC::BytecodeGenerator::emitInitGlobalConst):
(JSC::BytecodeGenerator::emitPutToBase):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ResolveResult::registerResolve):
(JSC::ResolveResult::dynamicResolve):
(ResolveResult):
(JSC::ResolveResult::ResolveResult):
(JSC):
(NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::~NonlocalResolveInfo):
(JSC::NonlocalResolveInfo::resolved):
(JSC::NonlocalResolveInfo::put):
(BytecodeGenerator):
(JSC::BytecodeGenerator::getResolveOperations):
(JSC::BytecodeGenerator::getResolveWithThisOperations):
(JSC::BytecodeGenerator::getResolveBaseOperations):
(JSC::BytecodeGenerator::getResolveBaseForPutOperations):
(JSC::BytecodeGenerator::getResolveWithBaseForPutOperations):
(JSC::BytecodeGenerator::getPutToBaseOperation):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(DFG):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileResolveOperations):
(DFG):
(JSC::DFG::canCompilePutToBaseOperation):
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGGraph.h:

(ResolveGlobalData):
(ResolveOperationData):
(DFG):
(PutToBaseOperationData):
(Graph):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveOperationsDataIndex):
(Node):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::OSRExit):

  • dfg/DFGOSRExit.h:

(OSRExit):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::resolveOperations):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::putToBaseOperation):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStructureCheckHoistingPhase.cpp:

(JSC::DFG::StructureCheckHoistingPhase::run):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:

(JIT):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_put_to_base):
(JSC):
(JSC::JIT::emit_resolve_operations):
(JSC::JIT::emitSlow_link_resolve_operations):
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emitSlow_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emitSlow_op_resolve_base):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emitSlow_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emitSlow_op_resolve_with_this):
(JSC::JIT::emitSlow_op_put_to_base):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_put_to_base):
(JSC):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_init_global_const):
(JSC::JIT::emit_op_init_global_const_check):
(JSC::JIT::emitSlow_op_init_global_const_check):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC):

  • jit/JITStubs.h:
  • llint/LLIntSlowPaths.cpp:

(LLInt):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:

(LLInt):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSScope.cpp:

(JSC::LookupResult::base):
(JSC::LookupResult::value):
(JSC::LookupResult::setBase):
(JSC::LookupResult::setValue):
(LookupResult):
(JSC):
(JSC::setPutPropertyAccessOffset):
(JSC::executeResolveOperations):
(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolveContainingScope):
(JSC::JSScope::resolve):
(JSC::JSScope::resolveBase):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
(JSC::JSScope::resolvePut):
(JSC::JSScope::resolveGlobal):

  • runtime/JSScope.h:

(JSScope):

  • runtime/JSVariableObject.cpp:

(JSC):

  • runtime/JSVariableObject.h:

(JSVariableObject):

  • runtime/Structure.h:

(JSC::Structure::propertyAccessesAreCacheable):
(Structure):

3:09 PM Changeset in webkit [131515] by noam.rosenthal@nokia.com
  • 2 edits in trunk/Source/WebCore

[Qt] REGRESSION(r131485): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=99499

Unreviewed build (warning) fix.

  • platform/graphics/texmap/TextureMapperShaderManager.cpp:

(WebCore::TextureMapperShaderProgram::getLocation):

3:08 PM Changeset in webkit [131514] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Fix a bug that we are using scaled damage rect for plugins inside an iframe
https://bugs.webkit.org/show_bug.cgi?id=99488

Patch by Min Qin <qinmin@chromium.org> on 2012-10-16
Reviewed by Adam Barth.

There is a bug with a previous webkit patch: https://bugs.webkit.org/show_bug.cgi?id=98468
In that patch, we incorrectly applied the main frame's scale factor to inner iframes.
However, the damageRect is not scaled inside an iFrame. So doing the intersect will retrieve wrong result here.
In WebPluginContainerImpl::calculateGeometry, the windowRect also does not apply main frame's scale factor.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::paint):

3:05 PM Changeset in webkit [131513] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] calculateInRegionScrollableAreasForPoint should use a ReadOnly HitTest
https://bugs.webkit.org/show_bug.cgi?id=99497

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-10-16
Reviewed by Antonio Gomes.

Fix calculateInRegionScrollableAreasForPoint to use a ReadOnly
hit test to improve its performance.

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):

3:01 PM Changeset in webkit [131512] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Some tests need rebaseline after r131497
https://bugs.webkit.org/show_bug.cgi?id=99511

Unreviewed gardening.

  • platform/chromium/TestExpectations:
3:00 PM Changeset in webkit [131511] by dgrogan@chromium.org
  • 2 edits in trunk/Source/WebCore

Inspector: Don't fire assert when inspecting an empty db
https://bugs.webkit.org/show_bug.cgi?id=99370

Reviewed by Vsevolod Vlasov.

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

3:00 PM Changeset in webkit [131510] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[GTK] accessibility/radio-button-title-label.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98374

Unreviewed. Unskipped test, new port-specific baseline.

New baseline for the GTK port. If there is a proper label tag, we
expect the widget to get its name/title from that label. The aria
labelledby property is exposed in addition to the label; not instead
of the label.

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-10-16

  • platform/gtk/TestExpectations: Unskipped failing test.
  • platform/gtk/accessibility/radio-button-title-label-expected.txt: Added.
2:59 PM Changeset in webkit [131509] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Accidental switch fall-through in DFG::FixupPhase
https://bugs.webkit.org/show_bug.cgi?id=96956
<rdar://problem/12313242>

Reviewed by Mark Hahnenberg.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

2:58 PM Changeset in webkit [131508] by dpranke@chromium.org
  • 4 edits
    2 adds in trunk

[chromium] add Mountain Lion baselines
https://bugs.webkit.org/show_bug.cgi?id=99505

Reviewed by Ojan Vafai.

This change adds a temporary 10.8/MountainLion-specific
expectations file for Chromium so that the bot can be green
while we are updating all the baselines and triaging failures.

Tools:

  • Scripts/webkitpy/layout_tests/port/chromium_mac.py:

(ChromiumMacPort.expectations_files):

  • Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:

(ChromiumMacPortTest.test_ml_expectations):

LayoutTests:

  • platform/chromium-mac-mountainlion/TestExpectations: Added.
2:57 PM Changeset in webkit [131507] by tony@chromium.org
  • 4 edits in trunk/Source

Source/WebCore: Unreviewed, try to fix the Apple Win build by forcing a rebuild of RenderingAllInOne.cpp.

  • rendering/RenderingAllInOne.cpp:

Source/WebKit2: Unreviewed, revert previous WebKit2.def change. Exports shouldn't matter.

  • win/WebKit2.def:
2:51 PM Changeset in webkit [131506] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[GTK] accessibility/inline-continuations.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98367

Unreviewed. Unskipped test, new port-specific expectations.

ATs for the GTK port are expecting only meaningful text objects, with
the text of spans getting folded into the parent object.

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-10-16

  • platform/gtk/TestExpectations: Updated to unskip test.
  • platform/gtk/accessibility/inline-continuations-expected.txt: Added.
2:42 PM Changeset in webkit [131505] by scherkus@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix crash in WebCore::MediaControlPanelElement::makeTransparent()
https://bugs.webkit.org/show_bug.cgi?id=97951

Reviewed by Simon Fraser.

No new tests as it's a speculative fix based on crash dump analysis.

Despite MediaControlPanelElement checking for document()->page() nullity in other places, it forgot one check in makeTransparent().

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::makeTransparent):

2:37 PM Changeset in webkit [131504] by tony@chromium.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, try to fix the Apple Win build.

  • win/WebKit2.def:
2:32 PM Changeset in webkit [131503] by eae@chromium.org
  • 4 edits in trunk

Remove special-case flooring of baselinePosition for replaced elements in InlineFlowBox::placeBoxesInBlockDirection
https://bugs.webkit.org/show_bug.cgi?id=99376

Reviewed by Levi Weintraub.

Source/WebCore:

In r122769 (bug 91410) we added a special-case handling for
replaced elements in InlineFlowBox::placeBoxesInBlockDirection
to work around positioning issues in a couple of svg tests.
This was needed to compensate for a workaround in the table
painting code that was fixed in r131358 (bug 99364). As such the
special-case handling for replaced elements is no longer needed
in InlineFlowBox::placeBoxesInBlockDirection.

Furthermore this caused problems with caret repainting leaving
residual pixels which motivated this change.

No new tests, have not been able to write a repaint test to
demonstrate the caret repaint issue.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

LayoutTests:

  • platform/chromium/TestExpectations:
2:26 PM Changeset in webkit [131502] by Simon Fraser
  • 12 edits in trunk/Source/WebCore

Some #include hygiene
https://bugs.webkit.org/show_bug.cgi?id=99500

Reviewed by Tony Chang.

Clean up some #includes, mostly related to GraphicsLayer.h. In many
cases this can be replaced by PlatformLayer.h.

Remove an #include of PluginViewBase.h from Page.h, which was a source
of #include fan-out.

  • html/canvas/CanvasRenderingContext2D.h:
  • page/Page.h:
  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/mac/ScrollingStateNodeMac.mm:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/gpu/DrawingBuffer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • plugins/PluginViewBase.h:
2:22 PM Changeset in webkit [131501] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

GetScopedVar CSE matches dead GetScopedVar's leading to IR corruption
https://bugs.webkit.org/show_bug.cgi?id=99470
<rdar://problem/12363698>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

All it takes is to follow the "if (!shouldGenerate) continue" idiom and everything will be OK.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::globalVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::globalVarWatchpointElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkStructureElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):

LayoutTests:

Rubber stamped by Mark Hahnenberg.

  • fast/js/dfg-cse-dead-get-scoped-var-expected.txt: Added.
  • fast/js/dfg-cse-dead-get-scoped-var.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-cse-dead-get-scoped-var.js: Added.

(foo.return.if):
(foo):

2:17 PM Changeset in webkit [131500] by abarth@webkit.org
  • 3 edits
    2 adds in trunk

Document::adoptNode shouldn't special-case <iframe>
https://bugs.webkit.org/show_bug.cgi?id=99247

Reviewed by Ryosuke Niwa.

Source/WebCore:

The special case was added in http://trac.webkit.org/changeset/75293 to
fix a bug with magic iframes. Originally, I planned to remove this
special case, but further investigation reveals that other browsers
throw exceptions for other frame owner elements as well. Now we treat
all frame owner elements the same way.

Test: fast/frames/adopt-object-into-itself.html

  • dom/Document.cpp:

(WebCore::Document::adoptNode):

LayoutTests:

Test that adopting an object element into itself also throws an
exception.

  • fast/frames/adopt-object-into-itself-expected.txt: Added.
  • fast/frames/adopt-object-into-itself.html: Added.
2:05 PM Changeset in webkit [131499] by dominik.rottsches@intel.com
  • 2 edits in trunk/Source/WebCore

Init timeout flag in ResourceErrorMac
https://bugs.webkit.org/show_bug.cgi?id=99478

Reviewed by Alexey Proskuryakov.

On construction from platform error types, initialize the timeout flag
to true if the error results from a timeout.

No new tests, covered by tests that will be added in bug 74802.

  • platform/network/mac/ResourceErrorMac.mm:

(WebCore::ResourceError::platformLazyInit): Initializing timeout flag if the error was a timeout.

2:04 PM Changeset in webkit [131498] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

lots-of-objects.html is flaky crashing on the webkit.org mac bot.
http://code.google.com/p/chromium/issues/detail?id=46603

Unreviewed gardening.

  • platform/chromium/TestExpectations:
2:00 PM Changeset in webkit [131497] by tony@chromium.org
  • 49 edits
    2 adds in trunk

input[type=range] as a flex item renders thumb at wrong position
https://bugs.webkit.org/show_bug.cgi?id=98666

Reviewed by Ojan Vafai.

Source/WebCore:

Replace RenderSlider implementation with new flexbox and clean up the shadow DOM.
The previous code was trying to set the height to 100% and had a bunch of hacks in
the renderer code to set an explicit height. Using the new flexbox allows us to
remove these renderer hacks.

Test: css3/flexbox/flexitem-stretch-range.html

  • css/html.css:

(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): Use new flexbox.
(input[type="range"]::-webkit-slider-runnable-track): Use new flexbox.
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): Remove relative positioning since we're
no longer setting top/left in the layout code.

  • css/mediaControlsChromium.css: Remove redundant styles and bottom: 1px hack.
  • css/mediaControlsChromiumAndroid.css: Remove redundant styles and bottom: 1px hack.
  • html/RangeInputType.cpp:

(WebCore::RangeInputType::listAttributeTargetChanged): We need to force a layout
since the height of the control should change when adding/removing a datalist.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::RenderSliderContainer): Use new flexbox.
(WebCore::RenderSliderContainer::computeLogicalHeight): Rather than setting style()->height() in layout, just compute the correct
height when asked. If we have a datalist, we increase the height (same code as before). If we're vertical,
we use the intrinsic size.
(WebCore::RenderSliderContainer::layout): Remove extra layout code, but handle the position of the thumb.
This used to be handled in the thumb's layout method, but I deleted that.

  • html/shadow/SliderThumbElement.h:
  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::RenderSlider): Use new flexbox.
(WebCore::RenderSlider::layout): Set the limiter size to the size of the thumb. This is necessary
for fast/css/unknown-pseudo-element-matching.html which tries to set the height of the thumb to 1px
and expects the input to also have a height of 1px. It worked before because the height of the input
didn't depend on the height of its children.

  • rendering/RenderSlider.h: Fix indentation.

(RenderSlider): Use new flexible box.

LayoutTests:

Changing the render tree to use RenderFlexibleBox instead of RenderDeprecatedFlexibleBox
and not using a RenderLayer unless noted otherwise.

  • css3/flexbox/flexitem-stretch-range-expected.html: Added.
  • css3/flexbox/flexitem-stretch-range.html: Added. New test to verify stretched flex item has the

thumb in the correct place.

  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png: Changed the default height to

129px for vertical controls. This makes more sense than having a height of 100%.

  • platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.png: The thumb now appears below the

focus ring. This matches other form controls like buttons and textareas.

  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-linux/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-linux/fast/multicol/client-rects-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium-win/fast/layers/video-layer-expected.txt:
  • platform/chromium-win/media/audio-controls-rendering-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.txt:
  • platform/chromium-win/media/controls-after-reload-expected.txt:
  • platform/chromium-win/media/controls-strict-expected.txt:
  • platform/chromium-win/media/controls-styling-expected.txt:
  • platform/chromium-win/media/controls-styling-strict-expected.txt:
  • platform/chromium-win/media/controls-without-preload-expected.txt:
  • platform/chromium-win/media/media-controls-clone-expected.txt:
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/chromium-win/media/video-controls-rendering-expected.txt:
  • platform/chromium-win/media/video-display-toggle-expected.txt:
  • platform/chromium-win/media/video-empty-source-expected.txt:
  • platform/chromium-win/media/video-no-audio-expected.txt:
  • platform/chromium-win/media/video-playing-and-pause-expected.txt:
  • platform/chromium-win/media/video-zoom-controls-expected.txt:
1:59 PM Changeset in webkit [131496] by commit-queue@webkit.org
  • 13 edits in trunk

Remove Platform.h include from the header files.
https://bugs.webkit.org/show_bug.cgi?id=98665

Patch by Dima Gorbik <dgorbik@apple.com> on 2012-10-16
Reviewed by Eric Seidel.

We don't want other clients that include WebKit headers to know about Platform.h.

Source/JavaScriptCore:

  • API/tests/minidom.c:
  • API/tests/testapi.c:

Source/WebCore:

No new tests.

  • platform/MemoryPressureHandler.h:
  • platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
  • platform/graphics/filters/arm/FEGaussianBlurNEON.h:
  • platform/graphics/filters/arm/FELightingNEON.h:

Source/WTF:

  • wtf/Assertions.h:
  • wtf/MainThread.h:

Tools:

  • DumpRenderTree/mac/MockGeolocationProvider.mm:
1:45 PM Changeset in webkit [131495] by wangxianzhu@chromium.org
  • 6 edits
    2 adds
    3 deletes in trunk

[Chromium] Android: Need a way to get appropriate font for some specific characters.
https://bugs.webkit.org/show_bug.cgi?id=67587

Reviewed by Adam Barth.

Source/WebCore:

Use the new Skia API SkGetFallbackFamilyNameForChar() to get the family name for individual characters.

No new tests. The following existing tests pass with the change:
fast/writing-mode/vertical-subst-font-vert-no-dflt.html
fast/dynamic/text-combine.html
fast/writing-mode/japanese-rl-text.html
fast/writing-mode/japanese-rl-selection.html
fast/writing-mode/japanese-lr-text.html
fast/repaint/japanese-rl-selection-repaint.html
fast/writing-mode/border-vertical-lr.html

  • platform/graphics/chromium/FontCacheAndroid.cpp:

(WebCore::FontCache::getFontDataForCharacters):

Source/WebKit/chromium:

Define ENABLE_OPENTYPE_VERTICAL=1 on Android.

  • features.gypi:

LayoutTests:

Removed unnecessary rebaselines.
Removed failure expectations for the tests now pass.
Added pixel only rebaselines for some of the above tests.

  • platform/chromium-android/fast/repaint/japanese-rl-selection-repaint-expected.png: Added. New pixel rebaseline.
  • platform/chromium-android/fast/writing-mode/japanese-lr-selection-expected.png: Removed. Unnecessary rebaseline.
  • platform/chromium-android/fast/writing-mode/japanese-lr-selection-expected.txt: Removed. Unnecessary rebaseline.
  • platform/chromium-android/fast/writing-mode/japanese-rl-selection-expected.png: Added. New pixel rebaseline.
  • platform/chromium-android/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png: Removed. Unnecessary rebaseline.
  • platform/chromium/TestExpectations: Removed the failure expectations for the tests now pass.
1:41 PM Changeset in webkit [131494] by tommyw@google.com
  • 12 edits
    4 adds in trunk

MediaStream API: Add the chromium API for RTCDataChannel
https://bugs.webkit.org/show_bug.cgi?id=99435

Reviewed by Adam Barth.

Source/Platform:

Adding WebRTCDataChannel.

  • Platform.gypi:
  • chromium/public/WebRTCDataChannel.h: Added.

(WebCore):
(WebKit):
(WebRTCDataChannel):
(ExtraData):
(WebKit::WebRTCDataChannel::ExtraData::~ExtraData):
(WebKit::WebRTCDataChannel::WebRTCDataChannel):
(WebKit::WebRTCDataChannel::~WebRTCDataChannel):
(WebKit::WebRTCDataChannel::operator=):
(WebKit::WebRTCDataChannel::isNull):

  • chromium/public/WebRTCPeerConnectionHandler.h:

(WebKit):
(WebRTCPeerConnectionHandler):
(WebKit::WebRTCPeerConnectionHandler::openDataChannel):
(WebKit::WebRTCPeerConnectionHandler::sendStringData):
(WebKit::WebRTCPeerConnectionHandler::sendRawData):
(WebKit::WebRTCPeerConnectionHandler::closeDataChannel):

Source/WebCore:

Adding WebRTCDataChannel.

Test: fast/mediastream/RTCPeerConnection-datachannel.html

  • WebCore.gypi:
  • platform/chromium/support/WebRTCDataChannel.cpp: Added.

(WebKit):
(ExtraDataContainer):
(WebKit::ExtraDataContainer::ExtraDataContainer):
(WebKit::ExtraDataContainer::extraData):
(WebKit::WebRTCDataChannel::WebRTCDataChannel):
(WebKit::WebRTCDataChannel::initialize):
(WebKit::WebRTCDataChannel::assign):
(WebKit::WebRTCDataChannel::reset):
(WebKit::WebRTCDataChannel::operator PassRefPtr<WebCore::RTCDataChannelDescriptor>):
(WebKit::WebRTCDataChannel::operator WebCore::RTCDataChannelDescriptor*):
(WebKit::WebRTCDataChannel::extraData):
(WebKit::WebRTCDataChannel::setExtraData):
(WebKit::WebRTCDataChannel::label):
(WebKit::WebRTCDataChannel::reliable):
(WebKit::WebRTCDataChannel::setBufferedAmount):
(WebKit::WebRTCDataChannel::readyStateChanged):
(WebKit::WebRTCDataChannel::dataArrived):
(WebKit::WebRTCDataChannel::error):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::negotiationNeeded):
(WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEState):
(WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):

Source/WebKit/chromium:

Adding checks for RTCDataChannel.

  • src/AssertMatchingEnums.cpp:

Tools:

Adding mock support for WebRTCDataChannel.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(StringDataTask):
(StringDataTask::StringDataTask):
(CharPtrDataTask):
(CharPtrDataTask::CharPtrDataTask):
(DataChannelReadyStateTask):
(DataChannelReadyStateTask::DataChannelReadyStateTask):
(RTCPeerConnectionReadyStateTask):
(RTCPeerConnectionReadyStateTask::RTCPeerConnectionReadyStateTask):
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::initialize):
(MockWebRTCPeerConnectionHandler::stop):
(MockWebRTCPeerConnectionHandler::openDataChannel):
(MockWebRTCPeerConnectionHandler::closeDataChannel):
(MockWebRTCPeerConnectionHandler::sendStringData):
(MockWebRTCPeerConnectionHandler::sendRawData):

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:

(MockWebRTCPeerConnectionHandler):

LayoutTests:

Adding tests for RTCDataChannel.

  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-datachannel.html: Added.
1:36 PM Changeset in webkit [131493] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
1:22 PM Changeset in webkit [131492] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Update indentation in *ResourceLoader headers to match modern WebKit style
https://bugs.webkit.org/show_bug.cgi?id=99487

Reviewed by Beth Dakin.

I'm going to be working on these classes and the indentation is driving me crazy.

  • loader/MainResourceLoader.h:

(WebCore):
(MainResourceLoader):
(WebCore::MainResourceLoader::isLoadingMultipartContent):

  • loader/NetscapePlugInStreamLoader.h:

(WebCore):
(NetscapePlugInStreamLoaderClient):
(WebCore::NetscapePlugInStreamLoaderClient::didFinishLoading):
(WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
(WebCore::NetscapePlugInStreamLoaderClient::~NetscapePlugInStreamLoaderClient):
(NetscapePlugInStreamLoader):

  • loader/ResourceLoader.h:

(WebCore):
(ResourceLoader):
(WebCore::ResourceLoader::documentLoader):
(WebCore::ResourceLoader::originalRequest):
(WebCore::ResourceLoader::identifier):
(WebCore::ResourceLoader::didReceiveCachedMetadata):
(WebCore::ResourceLoader::willStopBufferingData):
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoader::didCancelAuthenticationChallenge):
(WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceLoader::receivedCancellation):
(WebCore::ResourceLoader::url):
(WebCore::ResourceLoader::handle):
(WebCore::ResourceLoader::sendResourceLoadCallbacks):
(WebCore::ResourceLoader::reachedTerminalState):
(WebCore::ResourceLoader::request):
(WebCore::ResourceLoader::cancelled):
(WebCore::ResourceLoader::defersLoading):

1:20 PM Changeset in webkit [131491] by tony@chromium.org
  • 2 edits
    3 adds in trunk/LayoutTests

Unreviewed, rebaseline 2 Chromium Mac test.
Small differences due to using MESA.

  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/focus-rings-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.png: Added.
  • platform/chromium/TestExpectations:
1:14 PM Changeset in webkit [131490] by Beth Dakin
  • 8 edits
    2 moves
    2 adds in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=99254
Make ScrollingTree an actual tree of nodes, and have it reflect the
ScrollingStateTree

Reviewed by Simon Fraser.

This patch finally makes the ScrollingTree over on the
ScrollingThread aware of the changes that we have been making to the
ScrollingStateTree.

First, it makes ScrollingTreeNode a much more generic class, similar
to ScrollingStateNode. It is an abstract class and we will add other
types of nodes such as ScrollingTreeFixedNodes that will inherit from
this class.

All of the scrolling functionality that was in ScrollingTreeNode has
been moved to ScrollingTreeScrollingNode. And likewise,
ScrollingTreeNodeMac has been re-named to
ScrollingTreeScrollingNodeMac.

And finally, instead of just updating and creating the root node,
ScrollingTree now recurses through the whole ScrollingStateTree to
create and update a full tree of nodes.

New files and moves files.

  • WebCore.xcodeproj/project.pbxproj:

Add a getter for the children vector since we need to recurse it in
ScrollingTree.

  • page/scrolling/ScrollingStateNode.h:

(WebCore::ScrollingStateNode::children):
(ScrollingStateNode):

m_rootNode is now a ScrollingTreeScrollingNode.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):

Instead of just updating the root node, call two new functions that
will take care of updating the whole tree.
(WebCore::ScrollingTree::commitNewTreeState):

This function ecurses through the ScrollingStateTree and updates the
corresponding ScrollingTreeNodes.
(WebCore::ScrollingTree::updateNodesFromStateNode):

This function takes the ScrollingStateTree's list of removed nodes
and removes the corresponding nodes from the ScrollingTree. It will
destroy the nodes after removing it as long as it's not the root
node. I think it's the safest choice for now to never remove the root
node.
(WebCore::ScrollingTree::removeDestroyedNodes):

ScrollingTree now keeps a HashMap mapping ScrollingNodeIDs to
ScrollingTreeNodes.

  • page/scrolling/ScrollingTree.h:

All of the scrolling-related functionality has been moved from this
class to new class ScrollingTreeScrollingNode. And some basic tree
traversal functionality has been added.

  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::ScrollingTreeNode):
(WebCore::ScrollingTreeNode::appendChild):
(WebCore::ScrollingTreeNode::removeChild):

  • page/scrolling/ScrollingTreeNode.h:

(WebCore):
(ScrollingTreeNode):
(WebCore::ScrollingTreeNode::scrollingNodeID):
(WebCore::ScrollingTreeNode::setScrollingNodeID):
(WebCore::ScrollingTreeNode::parent):
(WebCore::ScrollingTreeNode::setParent):
(WebCore::ScrollingTreeNode::scrollingTree):

This class contains all of the scrolling-related work that used to be
done in ScrollingTreeNode.

  • page/scrolling/ScrollingTreeScrollingNode.cpp: Added.

(WebCore):
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::~ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::update):

  • page/scrolling/ScrollingTreeScrollingNode.h: Added.

(WebCore):
(ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingTreeScrollingNode::viewportRect):
(WebCore::ScrollingTreeScrollingNode::contentsSize):
(WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
(WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
(WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
(WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
(WebCore::ScrollingTreeScrollingNode::scrollOrigin):

I noticed this whitespace error and had to fix it.

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::detachFromStateTree):

Include ScrollingTreeScrollingNodeMac.h instead of
ScrollingTreeNodeMac.h

  • page/scrolling/mac/ScrollingTreeMac.mm:

This class was just re-named.

  • page/scrolling/mac/ScrollingTreeNodeMac.h: Removed.
  • page/scrolling/mac/ScrollingTreeNodeMac.mm: Removed.
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h: Copied from page/scrolling/mac/ScrollingTreeNodeMac.h.

(ScrollingTreeScrollingNodeMac):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeNodeMac.mm.

(WebCore::ScrollingTreeScrollingNode::create):
(WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
(WebCore::ScrollingTreeScrollingNodeMac::~ScrollingTreeScrollingNodeMac):
(WebCore::ScrollingTreeScrollingNodeMac::update):
(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeScrollingNodeMac::allowsVerticalStretching):
(WebCore::ScrollingTreeScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection):
(WebCore::ScrollingTreeScrollingNodeMac::canScrollHorizontally):
(WebCore::ScrollingTreeScrollingNodeMac::canScrollVertically):
(WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
(WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::startSnapRubberbandTimer):
(WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::scrollBy):
(WebCore::ScrollingTreeScrollingNodeMac::scrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

1:00 PM Changeset in webkit [131489] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Add a new layer type for the page tiled cache layer
https://bugs.webkit.org/show_bug.cgi?id=99491

Reviewed by Dean Jackson.

In preparation for using tile cache layers in place of CATiledLayer,
add a new PlatformCALayer layer type LayerTypePageTileCacheLayer,
since the page tile cache will have some different behavior from
other tile cache layers.

Generalize code that was looking at LayerTypeTileCacheLayer to use
usesTileCacheLayer() if it applies to both types of tile caches.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::recursiveCommitChanges): Show the tile
wash for tiled layers as well as layers with transforms (the tile
wash is just for debugging).
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::usesTileCacheLayer):
(PlatformCALayer):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::~PlatformCALayer):
(PlatformCALayer::tiledBacking):

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents): Avoid double-drawing the repaint counter in tile cache layers.

12:48 PM Changeset in webkit [131488] by schenney@chromium.org
  • 4 edits
    2 adds in trunk

An feImage that tries to render itself should be stopped
https://bugs.webkit.org/show_bug.cgi?id=94652

Reviewed by Eric Seidel.

Source/WebCore:

An SVG feImage filter element will accept, as the src to render, an
SVG document that makes use of the feImage itself. This causes the
feImage to try to draw itself while already in the process of drawing
itself. Various problems arise from this. The invariant we wish to
maintain is that no element in the src tree of an feImage element
refers to that feImage.

This patch adds a flag to all FilterData objects that tracks whether or
not the filter is currently applying itself, and avoids applying the
filter recursively.

While it may seem better to catch this problem when the src is set, or
when the filter is built, that turns out to be challenging and
inefficient. Say we choose to test when the src atttribute is set. To
do so would require looking through all of the DOM nodes that will be
rendered for the src, finding all resources used, and checking if any
of them make use fo the feImage element that we are setting the source
for. The infrastructure is not in place to do that, and it would
involve walking a potentially very large portion of the DOM in order
to detect a very rare situation. Note that it is not enough just to
walk the DOM directly under the src; we also need to recursively follow any
resource links to see if they use the feImage (e.g. patterns or
masks or use or ...).

If we instead try to use the renderer node to find self referencing,
we need to recursively walk a potentially very large render tree,
tracing all resources in search of the feImage. This would need to be
done every time the filter is built, which is again a significant
overhead for a situation that is very unlikely to occur. And we do not
have methods that make it easy to find feImage filter effect nodes; they are
hidden behind filter resource nodes.

Hence the runtime check to catch the problem. The check must be in
FilterData and RenderSVGResourceFilter code because we must prevent
the destruction of the feImage when we encounter it recursively.

This patch also renames FilterData::builded to FilterData::isBuilt.

Test: svg/filters/feImage-self-referencing.html

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::ApplyingFilterEffectGuard): Guard to ensure that, in the future, we always
clear the isApplying flag even if the postApplyResource method returns early.
(WebCore::RenderSVGResourceFilter::applyResource): Do not apply a resource that is already applying and
rename builded to isBuilt.
(WebCore::RenderSVGResourceFilter::postApplyResource): Mark a resource as applying and clear after
it is done. Abort if a resource is already applying when the method begins. Rename builded to isBuilt.
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Rename builded to isBuilt.

  • rendering/svg/RenderSVGResourceFilter.h:

(WebCore::FilterData::FilterData):
(FilterData): Add isApplying and rename builded to isBuilt.

LayoutTests:

Ref-test to verify that an feImage that tries to draw itself will not
crash. This test must be render in order to verify the result. Do not
convert to dumpAstext.

  • svg/filters/feImage-self-referencing-expected.html: Added.
  • svg/filters/feImage-self-referencing.html: Added.
12:45 PM Changeset in webkit [131487] by Nate Chapin
  • 4 edits in trunk/Source/WebCore

sendResourceLoadCallbacks() is poorly named
https://bugs.webkit.org/show_bug.cgi?id=99482

Reviewed by Alexey Proskuryakov.

In both CachedResource and ResourceLoader, rename sendResourceLoadCallbacks()
to shouldSendResourceLoadCallbacks() to better indicate that it is a simple getter.

No new tests, simple renaming.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadedResourceFromMemoryCache):

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::shouldSendResourceLoadCallbacks):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::shouldSendResourceLoadCallbacks):

12:43 PM Changeset in webkit [131486] by crogers@google.com
  • 20 edits
    22 moves in trunk

Rename some AudioNodes
https://bugs.webkit.org/show_bug.cgi?id=99358

Reviewed by Daniel Bates.

Source/WebCore:

Here's a list of the node names, showing the changing ones:

AudioBufferSourceNode
MediaElementAudioSourceNode
MediaStreamAudioSourceNode
JavaScriptAudioNode ------------> ScriptProcessorNode
RealtimeAnalyserNode ------------> AnalyserNode
AudioGainNode ------------> GainNode
DelayNode
BiquadFilterNode
AudioPannerNode ------------> PannerNode
ConvolverNode
AudioChannelSplitter ------------> ChannelSplitterNode
AudioChannelMerger ------------> ChannelMergerNode
DynamicsCompressorNode
Oscillator ------------> OscillatorNode

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Modules/webaudio/AnalyserNode.cpp: Renamed from Source/WebCore/Modules/webaudio/RealtimeAnalyserNode.cpp.
  • Modules/webaudio/AnalyserNode.idl: Renamed from Source/WebCore/Modules/webaudio/RealtimeAnalyserNode.idl.
  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::setPannerNode):

  • Modules/webaudio/AudioBufferSourceNode.h:

(AudioBufferSourceNode):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createJavaScriptNode):
(WebCore::AudioContext::createPanner):
(WebCore::AudioContext::createAnalyser):
(WebCore::AudioContext::createGainNode):
(WebCore::AudioContext::createChannelSplitter):
(WebCore::AudioContext::createChannelMerger):
(WebCore::AudioContext::createOscillator):

  • Modules/webaudio/AudioContext.h:

(WebCore):
(AudioContext):

  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/ChannelMergerNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.cpp.
  • Modules/webaudio/ChannelMergerNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.h.

(WebCore):
(ChannelMergerNode):

  • Modules/webaudio/ChannelMergerNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.idl.
  • Modules/webaudio/ChannelSplitterNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.cpp.
  • Modules/webaudio/ChannelSplitterNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.h.

(WebCore):
(ChannelSplitterNode):

  • Modules/webaudio/ChannelSplitterNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.idl.
  • Modules/webaudio/DOMWindowWebAudio.idl:
  • Modules/webaudio/GainNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.cpp.
  • Modules/webaudio/GainNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.h.
  • Modules/webaudio/GainNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.idl.
  • Modules/webaudio/OscillatorNode.cpp: Renamed from Source/WebCore/Modules/webaudio/Oscillator.cpp.
  • Modules/webaudio/OscillatorNode.h: Renamed from Source/WebCore/Modules/webaudio/Oscillator.h.
  • Modules/webaudio/OscillatorNode.idl: Renamed from Source/WebCore/Modules/webaudio/Oscillator.idl.
  • Modules/webaudio/PannerNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.cpp.
  • Modules/webaudio/PannerNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.h.

(WebCore):

  • Modules/webaudio/PannerNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.idl.
  • Modules/webaudio/ScriptProcessorNode.cpp: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.cpp.
  • Modules/webaudio/ScriptProcessorNode.h: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.h.

(WebCore):

  • Modules/webaudio/ScriptProcessorNode.idl: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.idl.
  • Modules/webaudio/WaveTable.cpp:

(WebCore::WaveTable::createSine):
(WebCore::WaveTable::createSquare):
(WebCore::WaveTable::createSawtooth):
(WebCore::WaveTable::createTriangle):
(WebCore::WaveTable::generateBasicWaveform):

  • Target.pri:
  • UseJSC.cmake:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSScriptProcessorNodeCustom.cpp: Renamed from Source/WebCore/bindings/js/JSJavaScriptAudioNodeCustom.cpp.

(WebCore):
(WebCore::JSScriptProcessorNode::visitChildren):

  • dom/EventTarget.h:

(WebCore):

  • dom/EventTargetFactory.in:

Tools:

  • Scripts/do-webcore-rename:
12:13 PM Changeset in webkit [131485] by noam.rosenthal@nokia.com
  • 4 edits in trunk/Source/WebCore

[Texmap] Refactor TextureMapperShaderManager to be clearer
https://bugs.webkit.org/show_bug.cgi?id=86048

Reviewed by Martin Robinson.

Previous implementation of TextureMapperShaderManager was very verbose, calling for too
many casts and ambiguous ownership.
This refactor does the following:

  1. TextureMapperShaderProgram is one class without subclasses.
  2. Uniform/Attribute accessors are generated by special macros (TEXMAP_DECLARE_...) that generate both the C++ access function, as well as the GLSL name of the variable. This allows adding/removing variables from a shader without adding broiler-plate code like before.

After this change TextureMapperShaderManager has only one responsibility - dealing with
TextureMapperGL's built-in shaders and their lifecycle. Preparing filters etc. is done
in TextureMapperGL.

This is a refactor without new functionality. It has been verified to not break any existing
relevant test.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawQuad):
(WebCore::TextureMapperGL::drawTextureRectangleARB):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTextureWithAntialiasing):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::beginClip):

Use the MACRO-generated uniform accessors.

(WebCore):
(WebCore::keyForFilterType):
(WebCore::getPassesRequiredForFilter):
(WebCore::gauss):
(WebCore::gaussianKernel):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::BitmapTextureGL::applyFilters):

Move the filter logic to TextureMapperGL

  • platform/graphics/texmap/TextureMapperShaderManager.cpp:

(WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::getLocation):
(ShaderSpec):
(WebCore::ShaderSpec::ShaderSpec):
(WebCore::getShaderSpec):
(WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
(WebCore::TextureMapperShaderManager::getShaderProgram):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(WebCore):
(WebCore::TextureMapperShaderProgram::programID):
(WebCore::TextureMapperShaderProgram::context):
(WebCore::TextureMapperShaderProgram::create):
(TextureMapperShaderProgram):
(TextureMapperShaderManager):

See description.

12:06 PM Changeset in webkit [131484] by enne@google.com
  • 2 edits in trunk/Source/WTF

Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define
https://bugs.webkit.org/show_bug.cgi?id=99367

Reviewed by James Robinson.

Does what it says on the tin.

  • wtf/HashTraits.h:
12:04 PM Changeset in webkit [131483] by thakis@chromium.org
  • 5 edits in trunk

[chromium/mac] Make spelling indicator HighDPI
https://bugs.webkit.org/show_bug.cgi?id=99417

Reviewed by Stephen White.

Source/WebCore:

This is the mac version of http://trac.webkit.org/changeset/130940
Since the mac and non-mac code are very similar again, merge the two
code paths again.

Covered by editing/spelling/(inline-spelling|grammar)-markers-hidpi.html

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForDocumentMarker):

LayoutTests:

New baselines.

  • platform/chromium-mac/editing/spelling/inline-spelling-markers-hidpi-expected.png :
  • platform/chromium-mac/editing/spelling/grammar-markers-hidpi-expected.png :
11:52 AM Changeset in webkit [131482] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Remove expected fails for tests that need rebaseline after http://trac.webkit.org/changeset/131358

Unreviewed gardening.

  • platform/chromium/TestExpectations:
11:44 AM Changeset in webkit [131481] by tony@chromium.org
  • 4 edits
    2 adds in trunk

in a column flexbox, input overflows the box when stretched
https://bugs.webkit.org/show_bug.cgi?id=99273

Reviewed by Ojan Vafai.

Source/WebCore:

Fix a bug where we didn't properly subtract padding and border when overriding the child size.
We didn't see this because of a performance optimization in RenderBox where we stretch children.
Also apply this performance optimization in new flexbox for form controls.

Test: css3/flexbox/stretch-input-in-column.html

  • rendering/RenderBox.cpp:

(WebCore::flexboxChildHasStretchAlignment):
(WebCore::isStretchingVerticalFlexboxChild):
(WebCore::RenderBox::sizesLogicalWidthToFitContent): Apply performance optimization to form controls in new flexbox.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Properly subtract border and padding.

LayoutTests:

Add a ref test since we're testing form rendering. Make sure that we get the
right behavior without the performance optimization (e.g., in multiline flexbox).

  • css3/flexbox/stretch-input-in-column-expected.html: Added.
  • css3/flexbox/stretch-input-in-column.html: Added.
11:38 AM Changeset in webkit [131480] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, unskip a now passing test.

  • platform/qt/TestExpectations:
11:29 AM Changeset in webkit [131479] by Simon Fraser
  • 4 edits
    3 adds in trunk

REGRESSION (r128787): Fixed position div causes other elements to not update correctly
https://bugs.webkit.org/show_bug.cgi?id=98579

Reviewed by Beth Dakin.

Source/WebCore:

RenderLayers cache repaint rects which are computed relative to the repaint container.
Repaint containers depend on whether a RenderLayerBacking has its own backing store,
so if that changes, we need to recompute repaint rects for all descendants.

Test: compositing/repaint/requires-backing-repaint.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setRequiresOwnBackingStore):

LayoutTests:

Repaint test that scrolls an overflow element until its content layers overlap some
other composited element. Only the pixel result is interesting.

  • compositing/repaint/requires-backing-repaint-expected.png: Added.
  • compositing/repaint/requires-backing-repaint-expected.txt: Added.
  • compositing/repaint/requires-backing-repaint.html: Added.
11:20 AM Changeset in webkit [131478] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[GStreamer] GstBuffer ref race in WebKitWebAudioSrcLoop
https://bugs.webkit.org/show_bug.cgi?id=95833

Reviewed by Philippe Normand.

The render bus used in GStreamer's implementation of AudioDestination no longer
allocates memory for each of its channels. Rather than that, when looping, the
data is rendered into a channel-specific GstBuffer. Each buffer is then chained
to the appropriate GstPad, as has been the case before.

No new tests - there are tests covering this change but they are not yet working
on the GTK port or any other GStreamer implementation of Web Audio.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(_WebKitWebAudioSourcePrivate): Remove an unused member variable.
(webkit_web_audio_src_init): Remove an unnecessary line.
(webKitWebAudioSrcConstructed): Ditto.
(webKitWebAudioSrcLoop):

11:04 AM Changeset in webkit [131477] by tony@chromium.org
  • 11 edits
    1 move
    1 add in trunk

Pre-process CSSGrammar.y before running through bison.
https://bugs.webkit.org/show_bug.cgi?id=94290

Patch by Pablo Flouret <pablof@motorola.com> on 2012-10-16
Reviewed by Tony Chang.

.:

  • Source/cmake/WebKitMacros.cmake:

Use WebCore/css/makegrammar.pl to generate bison grammar files.

Source/WebCore:

Running CSSGrammar.y through a preprocessor allows the use of feature
defines in all places of the yacc file (i.e. not just in C blocks).
Mostly useful to be able to keep every part of a feature under feature
flags for self-documenting purposes.

No new tests, CSSGrammar.y should be generated correctly and everything
should keep working as before.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:

Modify build systems to use makegrammar.pl to generate the .y files
and run those through bison.

  • WebCore.gyp/WebCore.gyp:

Add a new action to preprocess the CSSGrammar.y.in file before the
bison rule is run.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add the new .y.in / .y.includes files.

  • css/CSSGrammar.y.in: Renamed from Source/WebCore/css/CSSGrammar.y.

Also moved the top declarations section that has includes, defines,
etc. to its own file. These shouldn't be touched by the first
pass of the preprocessor. And changed the existing ENABLE(FEATURE)
ifdefs to ENABLE_FEATURE since the ENABLE() macro is not available
yet.

  • css/CSSGrammar.y.includes: Added.

The aforementioned declarations header section. After the .y.in file
is processed it will be concatenated with this one to make the
CSSGrammar.y file.

  • css/makegrammar.pl:

Modify the script to handle .y.in files.

10:51 AM Changeset in webkit [131476] by rakuco@webkit.org
  • 10 edits in trunk

Implement testRunner.dumpSelectionRect() in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=69545

Reviewed by Simon Fraser.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • Shared/API/c/WKImage.h: Add another option that controls whether

the selection rectangle should be painted onto the snapshot.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toSnapshotOptions): Add a case for the new option
mentioned above.

  • Shared/ImageOptions.h: More plumbing for the option above.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions): Draw a red rectangle
around the selection area when
SnapshotOptionsPaintSelectionRectangle is set.

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dump): Set the
kWKSnapshotOptionsPaintSelectionRectangle option if
testRunner.dumpSelectionRect() is called.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::dumpSelectionRect):
(WTR::TestRunner::shouldDumpSelectionRect):
(TestRunner):

10:51 AM Changeset in webkit [131475] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Add missing MIPS functions to assembler.
https://bugs.webkit.org/show_bug.cgi?id=98856

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-10-16
Reviewed by Oliver Hunt.

Implement missing functions in MacroAssemblerMIPS and MIPSAssembler.

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::lb):
(MIPSAssembler):
(JSC::MIPSAssembler::lh):
(JSC::MIPSAssembler::cvtds):
(JSC::MIPSAssembler::cvtsd):
(JSC::MIPSAssembler::vmov):

  • assembler/MacroAssemblerMIPS.h:

(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::load8Signed):
(JSC::MacroAssemblerMIPS::load16Signed):
(JSC::MacroAssemblerMIPS::moveDoubleToInts):
(JSC::MacroAssemblerMIPS::moveIntsToDouble):
(JSC::MacroAssemblerMIPS::loadFloat):
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeFloat):
(JSC::MacroAssemblerMIPS::storeDouble):
(JSC::MacroAssemblerMIPS::addDouble):
(JSC::MacroAssemblerMIPS::convertFloatToDouble):
(JSC::MacroAssemblerMIPS::convertDoubleToFloat):

10:44 AM Changeset in webkit [131474] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebCore

[Qt] Implement fastBoundingPath/boundingPath distinction.
https://bugs.webkit.org/show_bug.cgi?id=99471

Reviewed by Noam Rosenthal.

Tested by existing test: svg/custom/getBBox-path.svg

  • platform/graphics/Path.cpp:
  • platform/graphics/qt/PathQt.cpp:

(WebCore::Path::fastBoundingRect):
(WebCore::Path::boundingRect):

10:41 AM Changeset in webkit [131473] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] replace BlackBerry::Platform::log() with BBLOG()
https://bugs.webkit.org/show_bug.cgi?id=99302

Reviewed by Yong Li.

Fix a warning introduced by r131335. Since in release BBLOG is empty, only enable this block in debug builds.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::compileShader):

10:41 AM Changeset in webkit [131472] by reed@google.com
  • 2 edits in trunk/LayoutTests

update expectations preparing for skia optimization
https://bugs.webkit.org/show_bug.cgi?id=99476

Reviewed by NOBODY.

crbug.com/156097
Chrome will enable a skia optimization (see crbug/156097). In preparation for that, we mark these tests
to be rebaselined after that change lands.

  • platform/chromium/TestExpectations:
10:23 AM Changeset in webkit [131471] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Inspector should allow reading the compositing debug settings
https://bugs.webkit.org/show_bug.cgi?id=99458

Patch by Antoine Quint <Antoine Quint> on 2012-10-16
Reviewed by Timothy Hatcher.

  • inspector/Inspector.json:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::getCompositingBordersVisible):

  • inspector/InspectorPageAgent.h:
10:19 AM Changeset in webkit [131470] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
10:14 AM Changeset in webkit [131469] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Unreviewed, rolling out r131461.
http://trac.webkit.org/changeset/131461
https://bugs.webkit.org/show_bug.cgi?id=99474

Broke win7 bots (Requested by danakj|gardening on #webkit).

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

  • DumpRenderTree/chromium/TestEventPrinter.cpp:
  • DumpRenderTree/chromium/TestEventPrinter.h:

(TestEventPrinter):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::dump):

10:08 AM Changeset in webkit [131468] by mitz@apple.com
  • 5 edits in trunk/Source/WebCore

Code to reverse a GlyphBuffer range is repeated in several places
https://bugs.webkit.org/show_bug.cgi?id=99424

Reviewed by Adele Peterson.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::getGlyphsAndAdvancesForSimpleText): Replaced for loop with a call to
GlyphBuffer::reverse.

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::reverse): Added. Reverses the given range.
(WebCore::GlyphBuffer::swap): Made private.

  • platform/graphics/WidthIterator.cpp:

(WebCore::applyFontTransforms): Replaced for loops with calls to GlyphBuffer::reverse and
corrected their bounds.

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::getGlyphsAndAdvancesForComplexText): Replaced for loop with a call to
GlyphBuffer::range.

9:56 AM Changeset in webkit [131467] by Nate Chapin
  • 2 edits in trunk/Source/WebCore

Re-order CachedRawResource::data() to set m_data earlier
https://bugs.webkit.org/show_bug.cgi?id=99361

Reviewed by Adam Barth.

Currently, we calculate the diff between the data parameter and m_data, call
dataReceived(), then set m_data to data. If something inside dataReceived()
tries to access m_data via CachedResource::resourceBuffer(), it will see the
old data instead of the new data, which seems inconsistent.

No new tests, as no one appears to try to access m_data within dataReceived() currently.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::data):

9:52 AM Changeset in webkit [131466] by jsbell@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB: setTimeout in layout tests causes flakiness in multiprocess ports
https://bugs.webkit.org/show_bug.cgi?id=98949

Reviewed by Tony Chang.

In multiprocess ports with asynchronous IPC, events and timers may race causing script
callbacks to execute in different orders.

Eliminate the uses of setTimeout() where the intent is to have code delayed but may
race with a pending event.

  • fast/js/resources/js-test-pre.js:

(evalAndLog) Added quiet flag.

  • storage/indexeddb/deletedatabase-blocked-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/intversion-close-between-events-expected.txt:
  • storage/indexeddb/resources/deletedatabase-blocked.js: Remove setTimeout.

(test.request.onsuccess.openOnSuccess.h.onversionchange):
(test.request.onsuccess.openOnSuccess.request.onblocked):

  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js: Remove setTimeout.

(test.request.onsuccess.openOnSuccess.h.onversionchange):
(test.request.onsuccess.openOnSuccess.request.onblocked):

  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js: Remove setTimeout.

(test.request.onsuccess.openOnSuccess.h.onversionchange):
(test.request.onsuccess.openOnSuccess.request.onsuccess.h2OpenOnSuccess.request.onblocked):

  • storage/indexeddb/resources/intversion-close-between-events.js: Test was intended to call db.close()

between "complete" and "success" but in single process ports this is not possible, and in multi-process
ports is not reliable. To make the test not flaky and watch out for regressions in this edge case, it
is changed to have minimal logging.
(deleteSuccess):
(upgradeNeeded.transaction.oncomplete):
(upgradeNeeded):
(closeDB):
(openSuccess):
(checkFinished):

  • storage/indexeddb/resources/intversion-close-in-oncomplete.js: Log on error rather than timing out.

(deleteSuccess):

  • storage/indexeddb/resources/setversion-blocked.js: Removed setTimeout.

(test.request.onsuccess.h1OpenOnSuccess.request.onsuccess.h2OpenOnSuccess.h2.onversionchange):
(test.request.onsuccess.h1OpenOnSuccess.request.onsuccess.h2OpenOnSuccess.request.onblocked):

  • storage/indexeddb/resources/shared.js:

(evalAndExpectException) Added quiet flag.

  • storage/indexeddb/setversion-blocked-expected.txt:
9:42 AM Changeset in webkit [131465] by jchaffraix@webkit.org
  • 7 edits in trunk/Source/WebCore

Fold setCellLogicalWidths logic into RenderTableSection layout
https://bugs.webkit.org/show_bug.cgi?id=99382

Reviewed by Eric Seidel.

setCellLogicalWidths was implemented as a pre-phase to laying out
the table's sections. This split was artificial as any change in
the columns' logical width should trigger a sections' relayout, which
could propagate and mark the cells / rows as needed.

Merging setCellLogicalWidths into RenderTableSection::layout removes
an unneeded cells walking and some clunkiness from our implementation.

Refactoring covered by the existing tests.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::RenderTable): Initialize our new boolean.
(WebCore::RenderTable::layout):
If m_columnLogicalWidthChanged, we force a relayout on our sections so that the cells and rows
are marked for layout if there is the logical width change.

  • rendering/RenderTable.h:

(WebCore::RenderTable):
Added a new boolean to track if a column logical width changed (m_columnLogicalWidthChanged).

(WebCore::RenderTable::setColumnPosition):
If a column position changed, register that our column logical widths changed. This is not
totally true, so added a comment about when it will be wrong.

  • rendering/RenderTableCell.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::setCellLogicalWidth):
Updated the function to mark the cell and the row for layout. Also changed the argument to
be an 'int' as this was what was passed in.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):

  • rendering/RenderTableSection.h:

Removed setCellLogicalWidths and merged the logic into RenderTableSection::layout. We propagate
the table layout's logical widths first so that rows are marked as needing layout as appropriate.

9:23 AM Changeset in webkit [131464] by commit-queue@webkit.org
  • 5 edits in trunk

[Meta] [Shadow] contenteditable attribute for distributed nodes.
https://bugs.webkit.org/show_bug.cgi?id=90017

Patch by Takashi Sakamoto <tasak@google.com> on 2012-10-16
Reviewed by Dimitri Glazkov.

Source/WebCore:

If an element is distributed to an insertion point, the element's
webkit-user-modify is inherited from its shadow host.

No new tests, because the existing test: user-modify-inheritance.html
covers this change.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForElement):
After an element inherits a style from its parent, override user-modify
by using the shadow host's style if the element is distributed.

LayoutTests:

  • fast/dom/shadow/user-modify-inheritance-expected.txt:
  • fast/dom/shadow/user-modify-inheritance.html:
9:21 AM Changeset in webkit [131463] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Have intent classes subclass RefCounted
https://bugs.webkit.org/show_bug.cgi?id=99467

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-16
Reviewed by Kenneth Rohde Christiansen.

Make Ewk_Intent and Ewk_Intent_Service subclass
RefCounted so that we can use smart pointers
internally.

  • UIProcess/API/efl/ewk_intent.cpp:

(ewk_intent_ref):
(ewk_intent_unref):

  • UIProcess/API/efl/ewk_intent_private.h:

(_Ewk_Intent):
(_Ewk_Intent::_Ewk_Intent):

  • UIProcess/API/efl/ewk_intent_service.cpp:

(ewk_intent_service_ref):
(ewk_intent_service_unref):

  • UIProcess/API/efl/ewk_intent_service_private.h:

(_Ewk_Intent_Service):
(_Ewk_Intent_Service::_Ewk_Intent_Service):

  • UIProcess/API/efl/ewk_view_loader_client.cpp:

(didReceiveIntentForFrame):
(registerIntentServiceForFrame):

9:21 AM Changeset in webkit [131462] by vsevik@chromium.org
  • 29 edits
    2 deletes in trunk

Web Inspector: Get rid of (now empty) JavaScriptSource and StyleSource, rename all usages to UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=99469

Reviewed by Pavel Feldman.

Source/WebCore:

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
(WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved):

  • inspector/front-end/CompilerScriptMapping.js:
  • inspector/front-end/JavaScriptSource.js: Removed.
  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyChanged):
(WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyCommitted):
(WebInspector.JavaScriptSourceFrame.prototype._innerSetContent):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.onTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
(WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
(WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
(WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
(WebInspector.JavaScriptSourceFrame.prototype._toggleBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._continueToLine):

  • inspector/front-end/NetworkUISourceCodeProvider.js:

(WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
(WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel):
(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.get var):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
(WebInspector.ScriptSnippetModel.prototype._removeBreakpoints):
(WebInspector.ScriptSnippetModel.prototype._projectWillReset):
(WebInspector.SnippetScriptFile):
(WebInspector.SnippetScriptFile.prototype._workingCopyCommitted):
(WebInspector.SnippetScriptFile.prototype._workingCopyChanged):

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
(WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._createSourceFrame):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeFormatted):
(WebInspector.ScriptsPanel.prototype._showOutlineDialog):
(WebInspector.ScriptsPanel.prototype.set _fileRenamed):
(WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
(WebInspector.ScriptsPanel.prototype._snippetCreationRequested):

  • inspector/front-end/SnippetJavaScriptSourceFrame.js:

(WebInspector.SnippetJavaScriptSourceFrame):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):

  • inspector/front-end/StyleSheetOutlineDialog.js:

(WebInspector.StyleSheetOutlineDialog):
(WebInspector.StyleSheetOutlineDialog.show):
(WebInspector.StyleSheetOutlineDialog.prototype.requestItems):

  • inspector/front-end/StyleSource.js: Removed.
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:

LayoutTests:

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • http/tests/inspector/workspace-test.js:

(initialize_WorkspaceTest.InspectorTest.addMockUISourceCodeToWorkspace):

  • inspector/debugger/breakpoint-manager.html:
  • inspector/debugger/network-uisourcecode-provider-expected.txt:
  • inspector/debugger/script-formatter-breakpoints.html:
  • inspector/debugger/script-formatter-console.html:
  • inspector/debugger/script-formatter-search.html:
  • inspector/debugger/script-snippet-model.html:
  • inspector/debugger/scripts-panel.html:
  • inspector/debugger/source-frame-count.html:
  • inspector/styles/edit-inspector-stylesheet.html:
  • inspector/styles/styles-history.html:
9:10 AM Changeset in webkit [131461] by zoltan@webkit.org
  • 4 edits in trunk/Tools

[chromium] Provide used JSHeap size in chromium's DRT for pageloadtest memory measurements
https://bugs.webkit.org/show_bug.cgi?id=99288

Reviewed by Ryosuke Niwa.

Provide used JSHeap size as we did it for the Apple port.

  • DumpRenderTree/chromium/TestEventPrinter.cpp:

(TestEventPrinter::handleDumpMemoryHeader): Add new function to print the JSHeap memory result.

  • DumpRenderTree/chromium/TestEventPrinter.h:

(TestEventPrinter): handleDumpMemoryHeader declaration.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::dump): Dump JSHeap value.

9:08 AM Changeset in webkit [131460] by commit-queue@webkit.org
  • 16 edits in trunk/Source/WebKit2

[EFL][WK2] Inherit Ewk_Download_Job, Ewk_Back_Forward_List_Item, Ewk_Url_Response, Ewk_Navigation_Policy_Decision from RefCounted
https://bugs.webkit.org/show_bug.cgi?id=99455

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-16
Reviewed by Kenneth Rohde Christiansen.

The API objects mentioned in bug title are inherited from WTF::RefCounted which made it possible
to use smart pointers with them.

  • UIProcess/API/efl/PageClientImpl.cpp:

(WebKit::PageClientImpl::handleDownloadRequest):

  • UIProcess/API/efl/ewk_back_forward_list.cpp:

(_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
(addItemToWrapperCache):
(ewk_back_forward_list_changed):

  • UIProcess/API/efl/ewk_back_forward_list_item.cpp:

(ewk_back_forward_list_item_ref):
(ewk_back_forward_list_item_unref):

  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:

(_Ewk_Back_Forward_List_Item):
(_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):

  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):
(ewk_context_download_job_add):
(ewk_context_download_job_get):
(ewk_context_download_job_remove):

  • UIProcess/API/efl/ewk_context_download_client.cpp:

(didReceiveResponse):

  • UIProcess/API/efl/ewk_download_job.cpp:

(ewk_download_job_ref):
(ewk_download_job_unref):
(ewk_download_job_response_get):
(ewk_download_job_estimated_progress_get):

  • UIProcess/API/efl/ewk_download_job_private.h:

(_Ewk_Download_Job):
(_Ewk_Download_Job::_Ewk_Download_Job):

  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_navigation_policy_decision.cpp:

(ewk_navigation_policy_decision_ref):
(ewk_navigation_policy_decision_unref):

  • UIProcess/API/efl/ewk_navigation_policy_decision_private.h:

(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):

  • UIProcess/API/efl/ewk_url_response.cpp:

(ewk_url_response_ref):
(ewk_url_response_unref):

  • UIProcess/API/efl/ewk_url_response_private.h:

(_Ewk_Url_Response):
(_Ewk_Url_Response::_Ewk_Url_Response):

  • UIProcess/API/efl/ewk_view_policy_client.cpp:

(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):

  • UIProcess/API/efl/ewk_view_resource_load_client.cpp:

(didSendRequestForResource):
(didReceiveResponseForResource):

8:51 AM Changeset in webkit [131459] by jer.noble@apple.com
  • 5 edits
    2 adds in trunk

WebAudio: limit output level to 0db
https://bugs.webkit.org/show_bug.cgi?id=95792
<rdar://problem/11966135>

Reviewed by Chris Rogers.

.:

Add a manual test to determine that output volume has been limited to 0db.

  • ManualTests/webaudio/limit-level-0db.html: Added.

Source/WebCore:

Clamp the output buffer data to the range of [-1,1], which limits
output volume to 0db. This ensures that malicious or poorly-written
pages will not be able to blow through the system volume limit by
creating >0db buffers and effects.

No new tests; added ManualTests/webaudio/limit-level-0db.html.

Clamp the output vector to values of [-1,1]:

  • platform/audio/mac/AudioDestinationMac.cpp:

(WebCore::AudioDestinationMac::render):

Add a VectorMath wrapper for vDSP_clip to provide accelerated vector threshold operations:

  • platform/audio/VectorMath.h:
  • platform/audio/VectorMath.cpp:

(VectorMath):
(WebCore::VectorMath::vclip):

8:43 AM Changeset in webkit [131458] by vsevik@chromium.org
  • 9 edits in trunk

Web Inspector: Extract domain specific editing handling logic from UISourceCode (step 2).
https://bugs.webkit.org/show_bug.cgi?id=99301

Reviewed by Pavel Feldman.

Source/WebCore:

StyleFile and ScriptFile now listen for the UISourceCode WorkingCopyChanged/Committed events and process
them instead of being called explicitly.

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.onTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._willMergeToVM):
(WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM):
(WebInspector.JavaScriptSourceFrame.prototype._willDivergeFromVM):
(WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM):
(WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
(WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
(WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
(WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
(WebInspector.ResourceScriptFile):
(WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
(WebInspector.ResourceScriptFile.prototype._workingCopyChanged):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.SnippetScriptFile):
(WebInspector.SnippetScriptFile.prototype._workingCopyCommitted):
(WebInspector.SnippetScriptFile.prototype._workingCopyChanged):

  • inspector/front-end/StylesSourceMapping.js:

(WebInspector.StyleFile):
(WebInspector.StyleFile.prototype._workingCopyCommitted):
(WebInspector.StyleFile.prototype._workingCopyChanged):
(WebInspector.StyleFile.prototype._commitIncrementalEdit):
(WebInspector.StyleFile.prototype._clearIncrementalUpdateTimer):
(WebInspector.StyleFile.prototype.addRevision):
(WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.setWorkingCopy):
(WebInspector.UISourceCode.prototype.commitWorkingCopy):

LayoutTests:

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • inspector/styles/edit-inspector-stylesheet.html:
8:41 AM Changeset in webkit [131457] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test fast/forms/date/calendar-picker-key-operations.html is failing
https://bugs.webkit.org/show_bug.cgi?id=99466

Unreviewed gardening.

  • platform/chromium/TestExpectations:
8:36 AM WebKitGTK/1.10.x edited by Martin Robinson
(diff)
8:27 AM WebKitGTK/1.10.x edited by Martin Robinson
(diff)
7:53 AM Changeset in webkit [131456] by Simon Hausmann
  • 2 edits in trunk/Tools

[Qt] Fix nmake wipeclean on Windows

Reviewed by Tor Arne Vestbø.

Delete all subdirectories and no files instead of ".".

  • qmake/mkspecs/features/configure.prf:
7:52 AM Changeset in webkit [131455] by apavlov@chromium.org
  • 13 edits in trunk

Web Inspector: [Elements] Double-click to live edit style tags changes text to 'undefined' in some situations
https://bugs.webkit.org/show_bug.cgi?id=99336

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Before editing text nodes, set their textContent to the nodeValue() of the corresponding WebInspector.DOMNode in the UI.
Drive-by: fix text node editing artifact in the DOM tree.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
(WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):

LayoutTests:

Change the DOM tree dump format to include newlines replaced by '\n's.

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpElementsTree):

  • inspector/elements/edit-dom-actions-expected.txt:
  • inspector/elements/edit-dom-actions.html:
  • inspector/elements/elements-panel-limited-children-expected.txt:
  • inspector/elements/elements-panel-structure-expected.txt:
  • inspector/elements/iframe-load-event-expected.txt:
  • inspector/elements/insert-node-expected.txt:
  • inspector/elements/perform-undo-undo-expected.txt:
  • inspector/elements/user-properties-expected.txt:
  • inspector/styles/force-pseudo-state-expected.txt:
7:49 AM Changeset in webkit [131454] by vsevik@chromium.org
  • 1 edit in branches/chromium/1271/Source/WebCore/inspector/front-end/Workspace.js

Merge 130914 - Web Inspector: [Regression] Stale revisions are not cleared when inspector is opened for the already loaded page.
https://bugs.webkit.org/show_bug.cgi?id=98915

Reviewed by Alexander Pavlov.

WorkspaceController now clears stale revisions on navigation as well.

  • inspector/front-end/Workspace.js:

(WebInspector.WorkspaceController):
(WebInspector.WorkspaceController.prototype._mainFrameNavigated):

TBR=vsevik@chromium.org
BUG=155461
Review URL: https://codereview.chromium.org/11173005

7:33 AM Changeset in webkit [131453] by Simon Hausmann
  • 2 edits in trunk/Tools

[Qt] Fix wipeclean on Windows

Reviewed by Csaba Osztrogonác.

Make sure to close the .qmake.cache file after opening it, otherwise it cannot be deleted on
a clean build because this process (build-webkit) is still using it due to Windows' exclusive
way of opening files.

  • Scripts/webkitdirs.pm:

(buildQMakeProjects):

7:28 AM Changeset in webkit [131452] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GTK] Update baselines for failing svg test after r131435
https://bugs.webkit.org/show_bug.cgi?id=99462

Unreviewed GTK gardening.

Updating baselines after downgrading the Cairo to version 1.10.2.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-16

  • platform/gtk/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
7:12 AM Changeset in webkit [131451] by Simon Hausmann
  • 2 edits in trunk

[Qt] Fix support for silent builds

Reviewed by Tor Arne Vestbø.

The .qmake.conf file in Qt modules usually contains a load(qt_build_config), which
ends up loading qmodule.pri, which contains the CONFIG += silent if Qt was configured
with -silent.

  • .qmake.conf:
7:09 AM Changeset in webkit [131450] by Simon Hausmann
  • 3 edits in trunk/Tools

[Qt] Fix determination of changed files from SVN revisions

Reviewed by Csaba Osztrogonác.

isSVN() doesn't work from within the build directory, so change to the source directory before
doing any VCS operations.

  • Scripts/VCSUtils.pm:
  • Scripts/webkitdirs.pm:

(buildQMakeProjects):

6:36 AM Changeset in webkit [131449] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding (flaky) crashing expectations for a couple of tests.

  • platform/gtk/TestExpectations:
6:13 AM Changeset in webkit [131448] by mkwst@chromium.org
  • 4 edits
    2 adds in trunk

Web Inspector: Whitelist safe styles for 'console.log('%c...', ...)'.
https://bugs.webkit.org/show_bug.cgi?id=98945

Reviewed by Pavel Feldman.

Source/WebCore:

Support for styling console messages via '%c' landed without any
parsing of the style information provided. This means that it's fairly
simple to accidentally or maliciously break the console with cleverly
styled messages. To mitigate this risk, whitelisting a safe subset of
CSS seems appropriate.

As a first pass at a reasonable whitelist, this patch allows
'background[-*]', 'border[-*]', 'color[-*]', 'font[-*]',
'margin[-*]', 'padding[-*]', 'text[-*]', '-webkit-background[-*]',
'-webkit-border[-*]', '-webkit-font[-*]', '-webkit-margin[-*]',
'-webkit-padding[-*]', and '-webkit-text[-*]'.

Test: inspector/console/console-format-style-whitelist.html

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString.styleFormatter):

Create a buffer element onto which the user-provided styles are
applied. Whitelisted styles are transfered from the buffer onto
the actual console message.

(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString.isWhitelistedProperty):

Returns true if the specific style is whitelisted. Expects styles
in the hyphenated form (that is, '-webkit-padding-start' rather than
CSSOM's 'webkitPaddingStart').

LayoutTests:

  • http/tests/inspector/console-test.js:

(initialize_ConsoleTest.InspectorTest.dumpConsoleMessagesWithStyles):

Use the 'cssText' property of an element, rather than reading from
its 'style' attribute. Also, gracefully handle unstyled elements
by explicitly noting their emptyness.

  • inspector/console/console-format-style-whitelist-expected.txt: Added.
  • inspector/console/console-format-style-whitelist.html: Added.
6:09 AM Changeset in webkit [131447] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Crash in _ewk_view_on_favicon_changed()
https://bugs.webkit.org/show_bug.cgi?id=99454

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-16
Reviewed by Kenneth Rohde Christiansen.

Added missing null check to avoid a crash if the current URL of
view is NULL.

  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_on_favicon_changed):

5:53 AM Changeset in webkit [131446] by Simon Hausmann
  • 2 edits in trunk/Tools

Fix build-webkit bailing out of !isSVN() and !isGit()

Reviewed by Tor Arne Vestbø.

Added missing else case with early return.

  • Scripts/VCSUtils.pm:
5:48 AM Changeset in webkit [131445] by Simon Hausmann
  • 5 edits in trunk

[Qt] Add logic for triggering clean builds on changes to build system files

Patch by Simon Hausmann <simon.hausmann@digia.com>, Tor Arne Vestbø <tor.arne.vestbo@digia.com> on 2012-10-16
Reviewed by Csaba Osztrogonác.

.:

Add a line here that can be re-used for recording dummy commits to count how the clean-build-needed
logic failed.

  • WebKit.pro:

Tools:

Re-use the existing logic that gives us a range between old and new SVN revision and
parse the summarized output of diff to see if any of the changed files include files
that are part of the Qt build system. If they change we likely need a clean build and
trigger it just to be on the safe side and reduce the amount of manual intervention
needed on the Qt build bots.

  • Scripts/VCSUtils.pm:
  • Scripts/webkitdirs.pm:

(buildQMakeProjects):

5:30 AM Changeset in webkit [131444] by keishi@webkit.org
  • 3 edits in trunk/LayoutTests

[Chromium] Rebaseline calendar-picker-key-operations.html due to r162114

Unreviewed.

  • fast/forms/date/calendar-picker-key-operations-expected.txt:
  • platform/chromium-win/fast/forms/date/calendar-picker-key-operations-expected.txt:
5:13 AM Changeset in webkit [131443] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Handle CSSPropertyOpacity in StyleBuilder.
https://bugs.webkit.org/show_bug.cgi?id=99418

Reviewed by Alexis Menard.

One small step in moving from the huge switch in StyleResolver::applyProperty() to the StyleBuilder approach.

Covered by many existing tests, for example fast/text/complex-text-opacity.html.

  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

5:05 AM Changeset in webkit [131442] by allan.jensen@digia.com
  • 2 edits in trunk/Tools

Fix the paths for QtGraphics related WebKit2 files.

Unreviewed update of watchlist.

  • Scripts/webkitpy/common/config/watchlist:
4:59 AM Changeset in webkit [131441] by allan.jensen@digia.com
  • 2 edits in trunk/Tools

CSS and TouchAdjustment - I am watching you!

Unreviewed update of watchlist.

  • Scripts/webkitpy/common/config/watchlist:
4:27 AM Changeset in webkit [131440] by zandobersek@gmail.com
  • 15 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Updating baselines and expectations after downgrading the Cairo
version used in JHBuild dependencies back to 1.10.2.

  • platform/gtk/TestExpectations:
  • platform/gtk/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
  • platform/gtk/svg/batik/text/smallFonts-expected.txt:
  • platform/gtk/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
  • platform/gtk/svg/batik/text/textOnPath-expected.txt:
  • platform/gtk/svg/batik/text/textOnPath2-expected.txt:
  • platform/gtk/svg/batik/text/textOnPath3-expected.txt:
  • platform/gtk/svg/batik/text/textOnPathSpaces-expected.txt:
  • platform/gtk/svg/batik/text/verticalTextOnPath-expected.txt:
  • platform/gtk/svg/custom/js-update-path-changes-expected.txt:
  • platform/gtk/svg/custom/js-update-path-removal-expected.txt:
  • platform/gtk/svg/custom/path-textPath-simulation-expected.txt:
3:49 AM Changeset in webkit [131439] by Simon Hausmann
  • 2 edits in trunk

Unreviewed, rolling out r131436.
http://trac.webkit.org/changeset/131436

Broke various Qt bots strangely

  • .qmake.conf:
3:29 AM Changeset in webkit [131438] by Simon Hausmann
  • 2 edits in trunk/Tools

[Qt] Silence C++11 warnings with older versions of clang

Rubber-stamped by Tor Arne Vestbø.

Some clang versions support -Wno-c++11-extensions and some use -Wno-c++0x-extensions.
We cater both :)

  • qmake/mkspecs/features/unix/default_post.prf:
3:16 AM Changeset in webkit [131437] by commit-queue@webkit.org
  • 6 edits
    1 copy in trunk

[WK2] Provide WKURL API for resolving the relative URL with the given base URL
https://bugs.webkit.org/show_bug.cgi?id=99317

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-16
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added new constructor function WKURLCreateWithBaseURL for WKURL which
resolves the relative URL with the given base URL.

  • Shared/API/c/WKURL.cpp:

(WKURLCreateWithBaseURL):

  • Shared/API/c/WKURL.h:
  • Shared/WebURL.h:

(WebKit::WebURL::create):
(WebURL):
(WebKit::WebURL::WebURL):

Tools:

Added API test for newly added WKURLCreateWithBaseURL().

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/Tests/WebKit2/WKURL.cpp: Added.

(TestWebKitAPI):
(TestWebKitAPI::TEST):

3:14 AM Changeset in webkit [131436] by Simon Hausmann
  • 2 edits in trunk

[Qt] Fix support for silent builds

Reviewed by Tor Arne Vestbø.

The .qmake.conf file in Qt modules usually contains a load(qt_build_config), which
ends up loading qmodule.pri, which contains the CONFIG += silent if Qt was configured
with -silent.

  • .qmake.conf:
3:13 AM Changeset in webkit [131435] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Decrease the Cario jhbuild dep version back to 1.10.2
https://bugs.webkit.org/show_bug.cgi?id=99443

Reviewed by Philippe Normand.

Crashes started to occur after the Cairo version in the JHBuild dependencies
was bumped up to 1.12.4. This change brings it back down to 1.10.2, which
worked fine.

  • gtk/jhbuild.modules:
2:31 AM Changeset in webkit [131434] by keishi@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add test that checks that reloading after setting a value for an input element from a suggestion picker resets the values
https://bugs.webkit.org/show_bug.cgi?id=99407

Reviewed by Kent Tamura.

We want to test that a reload resets values of input elements, even if
they were set by the suggestion picker.

  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-reset-value-after-reload.html: Added.
2:30 AM Changeset in webkit [131433] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix some appearance glitches of multiple fields input elements
https://bugs.webkit.org/show_bug.cgi?id=99412

A follow-up change for r131421.

  • css/themeWin.css:

(input[type="text"]): Don't reset paddings for date/time types.

2:28 AM Changeset in webkit [131432] by bashi@chromium.org
  • 4 edits in trunk/Source/WebCore

hb_face_t instances should not depend on FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=99430

Reviewed by Kent Tamura.

Use platform specific font data (e.g. SkTypeface) to get
font tables for harfbuzz-ng.

No new tests. No changes in behavior.

  • platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp:

(WebCore::harfbuzzCairoGetTable): Takes cairo_scaled_font_t* as userData.
(WebCore::HarfBuzzNGFace::createFace):

  • platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCoreText.cpp:

(WebCore::harfbuzzCoreTextGetTable): Takes CGFontRef as userData.
(WebCore::HarfBuzzNGFace::createFace):

  • platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:

(WebCore::harfbuzzSkiaGetTable): Takes SkFontID as userData.
(WebCore::HarfBuzzNGFace::createFace):

2:12 AM Changeset in webkit [131431] by shinyak@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, TestExpectations updated.

  • platform/chromium/TestExpectations:
2:10 AM Changeset in webkit [131430] by apavlov@chromium.org
  • 2 edits in branches/chromium/1229/Source/WebCore/css

Merge 130511 - Web Inspector: [Styles] Unable to edit properties in broken stylesheets
https://bugs.webkit.org/show_bug.cgi?id=98246

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Pop source data for invalid rules off the stack whenever we have consecutive CSSParser::markRuleHeaderStart() invocations.

  • css/CSSParser.cpp:

(WebCore::CSSParser::popRuleData):
(WebCore::CSSParser::markRuleHeaderStart):
(WebCore::CSSParser::markRuleBodyStart):

  • css/CSSParser.h:

(CSSParser):

TBR=apavlov@chromium.org
Review URL: https://codereview.chromium.org/11179002

1:51 AM Changeset in webkit [131429] by apavlov@chromium.org
  • 1 edit in branches/chromium/1271/Source/WebCore/css/CSSParser.cpp

Merge 130883 - Web Inspector: Semantically incorrect CSS rules result in broken source code data
https://bugs.webkit.org/show_bug.cgi?id=98520

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Pop and throw away rule data from the stack when data have been collected for a semantically invalid CSS rule
(which is not going to be created).

  • css/CSSParser.cpp:

(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):

TBR=apavlov@chromium.org
Review URL: https://codereview.chromium.org/11171004

1:43 AM Changeset in webkit [131428] by Csaba Osztrogonác
  • 16 edits in trunk

Separate WebKit2 instances use the same local storage
https://bugs.webkit.org/show_bug.cgi?id=89666

Patch by Szilard Ledan <Szilárd LEDÁN> on 2012-10-16
Reviewed by Simon Hausmann.

Source/WebKit2:

For multi-threaded (parallel) testing, WTRs must not write into the same directory.
To avoid that, results need to be stored in the location defined by DUMPRENDERTREE_TEMP
environment variable that is created by NRWT. To do that, WebContext needed to be
extended with diskCacheDirectory and cookieStorageDirectory APIs.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:

(WebProcessCreationParameters):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDiskCacheDirectory):
(WKContextSetCookieStorageDirectory):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::diskCacheDirectory):
(WebKit):
(WebKit::WebContext::cookieStorageDirectory):

  • UIProcess/WebContext.h:

(WebKit::WebContext::setDiskCacheDirectory):
(WebKit::WebContext::setCookieStorageDirectory):
(WebContext):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):
(WebKit):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):

  • UIProcess/qt/WebContextQt.cpp:

(WebKit):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::applicationCacheDirectory):
(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):

  • UIProcess/win/WebContextWin.cpp:

(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/win/WebProcessWin.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

TestController has been modified to get the local storage from
DUMPRENDERTREE_TEMP environment variable. If it's undefined
then it works with the default directory. The aim is for the parallelly
started WTRs to use separate directories. It was implemented for WK1
long time ago and it works fine.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

1:42 AM Changeset in webkit [131427] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

MIPS assembler coding-style fix.
https://bugs.webkit.org/show_bug.cgi?id=99359

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-10-16
Reviewed by Oliver Hunt.

Coding style fix of existing MIPS assembler header files.

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::addiu):
(JSC::MIPSAssembler::addu):
(JSC::MIPSAssembler::subu):
(JSC::MIPSAssembler::mul):
(JSC::MIPSAssembler::andInsn):
(JSC::MIPSAssembler::andi):
(JSC::MIPSAssembler::nor):
(JSC::MIPSAssembler::orInsn):
(JSC::MIPSAssembler::ori):
(JSC::MIPSAssembler::xorInsn):
(JSC::MIPSAssembler::xori):
(JSC::MIPSAssembler::slt):
(JSC::MIPSAssembler::sltu):
(JSC::MIPSAssembler::sltiu):
(JSC::MIPSAssembler::sll):
(JSC::MIPSAssembler::sllv):
(JSC::MIPSAssembler::sra):
(JSC::MIPSAssembler::srav):
(JSC::MIPSAssembler::srl):
(JSC::MIPSAssembler::srlv):
(JSC::MIPSAssembler::lbu):
(JSC::MIPSAssembler::lw):
(JSC::MIPSAssembler::lwl):
(JSC::MIPSAssembler::lwr):
(JSC::MIPSAssembler::lhu):
(JSC::MIPSAssembler::sb):
(JSC::MIPSAssembler::sh):
(JSC::MIPSAssembler::sw):
(JSC::MIPSAssembler::addd):
(JSC::MIPSAssembler::subd):
(JSC::MIPSAssembler::muld):
(JSC::MIPSAssembler::divd):
(JSC::MIPSAssembler::lwc1):
(JSC::MIPSAssembler::ldc1):
(JSC::MIPSAssembler::swc1):
(JSC::MIPSAssembler::sdc1):
(MIPSAssembler):
(JSC::MIPSAssembler::relocateJumps):
(JSC::MIPSAssembler::linkWithOffset):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::add32):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::sub32):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::load32):
(JSC::MacroAssemblerMIPS::load32WithUnalignedHalfWords):
(JSC::MacroAssemblerMIPS::load16):
(JSC::MacroAssemblerMIPS::store8):
(JSC::MacroAssemblerMIPS::store16):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::nearCall):
(JSC::MacroAssemblerMIPS::test8):
(JSC::MacroAssemblerMIPS::test32):

1:41 AM Changeset in webkit [131426] by yuqiang.xian@intel.com
  • 5 edits in trunk/Source/JavaScriptCore

Refactor MacroAssembler interfaces to differentiate the pointer operands from the 64-bit integer operands
https://bugs.webkit.org/show_bug.cgi?id=99154

Reviewed by Gavin Barraclough.

In current JavaScriptCore implementation for JSVALUE64 platform (i.e.,
the X64 platform), we assume that the JSValue size is same to the
pointer size, and thus EncodedJSValue is simply type defined as a
"void*". In the JIT compiler, we also take this assumption and invoke
the same macro assembler interfaces for both JSValue and pointer
operands. We need to differentiate the operations on pointers from the
operations on JSValues, and let them invoking different macro
assembler interfaces. For example, we now use the interface of
"loadPtr" to load either a pointer or a JSValue, and we need to switch
to using "loadPtr" to load a pointer and some new "load64" interface
to load a JSValue. This would help us supporting other JSVALUE64
platforms where pointer size is not necessarily 64-bits, for example
x32 (bug #99153).

The major modification I made is to introduce the "*64" interfaces in
the MacroAssembler for those operations on JSValues, keep the "*Ptr"
interfaces for those operations on real pointers, and go through all
the JIT compiler code to correct the usage.

This is the first part of the work, i.e, to add the *64 interfaces to
the MacroAssembler.

  • assembler/AbstractMacroAssembler.h: Add the Imm64 interfaces.

(AbstractMacroAssembler):
(JSC::AbstractMacroAssembler::TrustedImm64::TrustedImm64):
(TrustedImm64):
(JSC::AbstractMacroAssembler::Imm64::Imm64):
(Imm64):
(JSC::AbstractMacroAssembler::Imm64::asTrustedImm64):

  • assembler/MacroAssembler.h: map <foo>Ptr methods to <foo>64 for X86_64.

(MacroAssembler):
(JSC::MacroAssembler::peek64):
(JSC::MacroAssembler::poke):
(JSC::MacroAssembler::poke64):
(JSC::MacroAssembler::addPtr):
(JSC::MacroAssembler::andPtr):
(JSC::MacroAssembler::negPtr):
(JSC::MacroAssembler::orPtr):
(JSC::MacroAssembler::rotateRightPtr):
(JSC::MacroAssembler::subPtr):
(JSC::MacroAssembler::xorPtr):
(JSC::MacroAssembler::loadPtr):
(JSC::MacroAssembler::loadPtrWithAddressOffsetPatch):
(JSC::MacroAssembler::loadPtrWithCompactAddressOffsetPatch):
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::storePtrWithAddressOffsetPatch):
(JSC::MacroAssembler::movePtrToDouble):
(JSC::MacroAssembler::moveDoubleToPtr):
(JSC::MacroAssembler::comparePtr):
(JSC::MacroAssembler::testPtr):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::branchTestPtr):
(JSC::MacroAssembler::branchAddPtr):
(JSC::MacroAssembler::branchSubPtr):
(JSC::MacroAssembler::shouldBlindDouble):
(JSC::MacroAssembler::shouldBlind):
(JSC::MacroAssembler::RotatedImm64::RotatedImm64):
(RotatedImm64):
(JSC::MacroAssembler::rotationBlindConstant):
(JSC::MacroAssembler::loadRotationBlindedConstant):
(JSC::MacroAssembler::move):
(JSC::MacroAssembler::and64):
(JSC::MacroAssembler::store64):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::shouldBlindForSpecificArch):
(MacroAssemblerX86Common):
(JSC::MacroAssemblerX86Common::move):

  • assembler/MacroAssemblerX86_64.h: Add the <foo>64 methods for X86_64.

(JSC::MacroAssemblerX86_64::branchAdd32):
(JSC::MacroAssemblerX86_64::add64):
(MacroAssemblerX86_64):
(JSC::MacroAssemblerX86_64::and64):
(JSC::MacroAssemblerX86_64::neg64):
(JSC::MacroAssemblerX86_64::or64):
(JSC::MacroAssemblerX86_64::rotateRight64):
(JSC::MacroAssemblerX86_64::sub64):
(JSC::MacroAssemblerX86_64::xor64):
(JSC::MacroAssemblerX86_64::load64):
(JSC::MacroAssemblerX86_64::load64WithAddressOffsetPatch):
(JSC::MacroAssemblerX86_64::load64WithCompactAddressOffsetPatch):
(JSC::MacroAssemblerX86_64::store64):
(JSC::MacroAssemblerX86_64::store64WithAddressOffsetPatch):
(JSC::MacroAssemblerX86_64::move64ToDouble):
(JSC::MacroAssemblerX86_64::moveDoubleTo64):
(JSC::MacroAssemblerX86_64::compare64):
(JSC::MacroAssemblerX86_64::branch64):
(JSC::MacroAssemblerX86_64::branchTest64):
(JSC::MacroAssemblerX86_64::test64):
(JSC::MacroAssemblerX86_64::branchAdd64):
(JSC::MacroAssemblerX86_64::branchSub64):
(JSC::MacroAssemblerX86_64::branchPtrWithPatch):
(JSC::MacroAssemblerX86_64::storePtrWithPatch):

1:04 AM Changeset in webkit [131425] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r131418.
http://trac.webkit.org/changeset/131418
https://bugs.webkit.org/show_bug.cgi?id=99431

since 131403 seems innocent (Requested by shinyak|_ on
#webkit).

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

  • dom/Document.cpp:

(WebCore::isValidNameNonASCII):
(WebCore):
(WebCore::Document::isValidName):

12:58 AM Changeset in webkit [131424] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Fix Cache Model API tests
https://bugs.webkit.org/show_bug.cgi?id=99427

Patch by Jongseok Yang <js45.yang@samsung.com> on 2012-10-16
Reviewed by Gyuyoung Kim.

Cache Model API tests caused "Segmentation fault" because the default value
for cache model was incorrect.

Fix the default value for cache model.
Fix Cache Model API tests.

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(TEST_F):

12:57 AM Changeset in webkit [131423] by loislo@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: NMI Instrument InspectorOverlay. It costs us ~9Mb because it creates page size canvas.
https://bugs.webkit.org/show_bug.cgi?id=99426

Reviewed by Yury Semikhatsky.

New object type InspectorOverlay was added. InspectorOverlay was instrumented.
The instrumentation code automatically visits all the objects that can be reached via m_overlayPage.

  • dom/WebCoreMemoryInstrumentation.cpp:

(WebCore):

  • dom/WebCoreMemoryInstrumentation.h:

(WebCoreMemoryTypes):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::reportMemoryUsage):
(WebCore):

  • inspector/InspectorOverlay.h:

(InspectorOverlay):

12:29 AM Changeset in webkit [131422] by tkent@chromium.org
  • 7 edits in trunk/Source/WebCore

Remove unused functions in Locale* classes
https://bugs.webkit.org/show_bug.cgi?id=99425

Reviewed by Yuta Kitamura.

Locale*::currentLocale has been unused since LocalizedDate* and
LocalizedNumber* were removed.

No new tests. This shouldn't change any behavior.

  • platform/text/LocaleICU.cpp: Remove createForCurrentLocale and currentLocale.
  • platform/text/LocaleICU.h: Ditto.
  • platform/text/LocaleWin.cpp: Remove currentLocale.
  • platform/text/LocaleWin.h: Ditto.
  • platform/text/mac/LocaleMac.h: Remove currentLocale.
  • platform/text/mac/LocaleMac.mm: Ditto.

Oct 15, 2012:

11:54 PM Changeset in webkit [131421] by tkent@chromium.org
  • 9 edits in trunk

Fix some appearance glitches of multiple fields input elements
https://bugs.webkit.org/show_bug.cgi?id=99412

Reviewed by Kentaro Hara.

Source/WebCore:

  1. If CSS-specified width is wider than the intrinsic width of an input,

the spin button and the picker indicator triangle should be put at the
right side of the content area.

  1. Remove top, right, and bottom paddings to match input[type=number]

appearance as possible.

  1. Remove unnecessary position:relative for spin buttons.
  1. Center content vertically if the height is taller than the intrinsic height.

Tests: Update all of rendering tests for input element with multiple fields UI.

  • css/html.css:

(input[type="date"]):

  • Specify display:-webkit-inline-flex and -webkit-align-items:stretch to center contents.
  • Remove top/right/bottom paddings.

(input[type="datetime"]): Ditto.
(input[type="datetime-local"]): Ditto.
(input[type="month"]): Ditto.
(input[type="time"]): Ditto.
(input[type="week"]): Ditto.
(input::-webkit-datetime-edit):

  • Switch to the starndard flexible box from the legacy one.
  • Add white-space:pre to avoid to collapse white spaces.

(input::-webkit-datetime-edit-gap):
Added. This element is added to push a spin button to the right side.
(input::-webkit-date-and-time-container):
Add -webkit-flex:1 for the input flexible box.
Sort properties.
(input[type="week"]::-webkit-inner-spin-button):

  • Use this in date, datetime, datetime-local, and week types.
  • Add display:inline-block because other elements in -webkit-datetime-edit is inilne.
  • Add position:static to cancel position:relative below.
  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditElement::layout):
Add an element with -webkit-datetime-edit-gap before a spin button.

LayoutTests:

All of rendering tests for multiple fields inputs need rebaseline
because of the padding change.

  • fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html:

Add a fixed height case.

  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-style-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
  • platform/chromium/TestExpectations:
11:50 PM Changeset in webkit [131420] by keishi@webkit.org
  • 2 edits in trunk/LayoutTests

[Chromium] Mark date-suggestion-picker-appearance.html as need rebaseline

Unreviewed.

Mark date-suggestion-picker-appearance.html as need rebaseline until chromium side change lands.

  • platform/chromium/TestExpectations:
11:41 PM Changeset in webkit [131419] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: can't click delete button if watch expression is very long
https://bugs.webkit.org/show_bug.cgi?id=99414

Reviewed by Vsevolod Vlasov.

Minus button in watch expression section doesn't overlap with the
expression/value anymore.

  • inspector/front-end/inspector.css:

(.properties-tree.watch-expressions > li.hovered):

11:38 PM Changeset in webkit [131418] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r131403.
http://trac.webkit.org/changeset/131403
https://bugs.webkit.org/show_bug.cgi?id=99420

Suspicious to cause Performance test failing (Requested by
shinyak|gardenin on #webkit).

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

  • dom/Document.cpp:

(WebCore::Document::isValidName):

11:37 PM Changeset in webkit [131417] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Regression(r131337): Made 3 Cookie Manager API tests fail
https://bugs.webkit.org/show_bug.cgi?id=99416

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-15
Reviewed by Gyuyoung Kim.

After r131337, the favicon database is enabled and it causes new
requests to "/favicon.ico" on the http server. The http server used
in the cookie manager test was too strict and was calling FAIL() for
any unrecognized HTTP request (such as the one to /favicon.ico).
This patch makes the http server in cookie manager API tests less
strict.

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(serverCallback):

11:31 PM Changeset in webkit [131416] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Display page favicons in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=99265

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-15
Reviewed by Gyuyoung Kim.

Display current page favicon in the URL bar.
This uses the new favicon database API in
EFL WebKit2.

  • MiniBrowser/efl/main.c:

(on_favicon_received):
(on_view_icon_changed):
(window_create):

11:25 PM Changeset in webkit [131415] by keishi@webkit.org
  • 6 edits
    47 moves
    4 adds in trunk/LayoutTests

Move suggestion picker tests to suggestion-picker directory
https://bugs.webkit.org/show_bug.cgi?id=99415

Reviewed by Kent Tamura.

Moving the tests suggestion picker tests to platform/chromium/fast/forms/suggestion-picker chromium android can easily skip them.

  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-expected.png.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-expected.png.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-expected.png.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-expected.png.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-mac/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-expected.png.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-mac/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-mac/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-mac/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-expected.png.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-mac/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-mac/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations-expected.txt: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/date/date-suggestion-picker-key-operations-expected.txt.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar-expected.png.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-key-operations-expected.txt: Renamed from LayoutTests/platform/chromium-win/platform/chromium/fast/forms/time/time-suggestion-picker-key-operations-expected.txt.
  • platform/chromium/TestExpectations: Removed obsolete lines.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl.html: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-rtl.html.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-with-scroll-bar.html.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance.html: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-appearance.html.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-key-operations-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-key-operations.html.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-min-max-attribute.html:
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-mouse-operations-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations.html: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-suggestion-picker-mouse-operations.html.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html:
  • platform/chromium/fast/forms/suggestion-picker/suggestion-picker-common.js: Renamed from LayoutTests/fast/forms/resources/suggestion-picker-common.js.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl.html: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl.html.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar.html: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar.html.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance.html: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-appearance.html.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-key-operations-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-key-operations-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-key-operations.html: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-key-operations.html.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-min-max-attribute.html:
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-mouse-operations-expected.txt.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations.html: Renamed from LayoutTests/platform/chromium/fast/forms/time/time-suggestion-picker-mouse-operations.html.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-step-attribute.html:
10:54 PM Changeset in webkit [131414] by yurys@chromium.org
  • 5 edits
    2 adds in trunk

Web Inspector: restore watch expression expansion state
https://bugs.webkit.org/show_bug.cgi?id=99304

Reviewed by Pavel Feldman.

Expand watch expression value and its properties if they were expanded
before update.

Source/WebCore:

Test: inspector/debugger/watch-expressions-preserve-expansion.html

  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionTreeElement.prototype.onexpand):
(WebInspector.WatchExpressionTreeElement.prototype.oncollapse):
(WebInspector.WatchExpressionTreeElement.prototype.onattach):
(WebInspector.WatchExpressionTreeElement.prototype._expression):
(WebInspector.WatchedPropertyTreeElement):
(WebInspector.WatchedPropertyTreeElement.prototype.onattach):
(WebInspector.WatchedPropertyTreeElement.prototype.onexpand):
(WebInspector.WatchedPropertyTreeElement.prototype.oncollapse):
(WebInspector.WatchedPropertyTreeElement.prototype._propertyPath):

LayoutTests:

  • inspector/debugger/watch-expressions-preserve-expansion-expected.txt: Added.
  • inspector/debugger/watch-expressions-preserve-expansion.html: Added.
10:25 PM Changeset in webkit [131413] by mkwst@chromium.org
  • 4 edits
    2 adds in trunk

Warn when CSP headers don't separate directives with ';'.
https://bugs.webkit.org/show_bug.cgi?id=99274

Reviewed by Adam Barth.

Source/WebCore:

A recent bug report exhibited confusion as to what role, exactly,
semicolons play in Content Security Policy definitions. This patch
adjusts the parser to warn web authors if a directive name is
encountered while parsing a source list, which would almost certainly
point to a missing semicolon. For example, something like:

script-src 'self' object-src 'self' style-src *

would throw two warnings, noting that 'object-src' and 'style-src' are
probably meant as directives, and not as source expressions in the
'script-src' source list.

Test: http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPSourceList::parse):

Throw the new warning onto the console if the hostname of a source
expression matches a CSP directive name.

(WebCore::CSPDirectiveList::addDirective):

Use the exciting new static variables so that the names of various
directives are available outside of CSPDirectiveList::addDirective.
These were previously defined as local static ASCIILiterals. Now
they're static const char[] in an anonymous namespace.

(WebCore::ContentSecurityPolicy::isDirectiveName):

Static method that compares a string to all the known directive
names, returning true if there's a (case-insensitive) match.

(WebCore):
(WebCore::ContentSecurityPolicy::reportDirectiveAsSourceExpression):

A new warning message which should be printed when a directive name
is encountered as a source expression. Matching the directive name
is done via a new 'isDirectiveName' function which lives in an
anonymous namespace along with the other CSP helper functions.

  • page/ContentSecurityPolicy.h:

Added 'reportDirectiveAsSourceExpression' signature.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Added.
10:16 PM Changeset in webkit [131412] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source

Unreviewed, rolling out r131349.
http://trac.webkit.org/changeset/131349
https://bugs.webkit.org/show_bug.cgi?id=97173

Revert r131349 because API test is broken by this commit.

Source/WebCore:

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):

Source/WebKit2:

  • UIProcess/API/efl/ewk_main.cpp:

(ewk_init):
(ewk_shutdown):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

10:14 PM Changeset in webkit [131411] by Nate Chapin
  • 2 edits in trunk/Source/WebCore

ResourceLoader::sendResourceLoadCallbacks() is backwards
https://bugs.webkit.org/show_bug.cgi?id=99366

Reviewed by Daniel Bates.

No new tests, this function is uncalled but will be used
in a later patch.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::sendResourceLoadCallbacks):

10:07 PM Changeset in webkit [131410] by mitz@apple.com
  • 5 edits in trunk/Source/WebCore

REGRESSION (r131365): WidthIterator::advance() is needlessly passed a GlyphBuffer in many cases
https://bugs.webkit.org/show_bug.cgi?id=99413

Reviewed by Adele Peterson.

r131365 made Font::width() always pass a GlyphBuffer pointer to floatWidthForSimpleText and
from there down to WidthIterator::advance(). However, when measuring the width of a run, a
GlyphBuffer is only needed if font transforms (kerning and ligatures) need to be applied.

No new test, because there is no change in behavior.

  • platform/graphics/Font.cpp:

(WebCore::Font::width): Removed the local GlyphBuffer that was passed down to
floatWidthForSimpleText().

  • platform/graphics/Font.h: Removed the GlyphBuffer* parameter to floatWidthForSimpleText.

All but the above caller were passing 0.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::floatWidthForSimpleText): Removed the GlyphBuffer* parameter and added a
local GlyphBuffer, which is passed by reference to WidthIterator::advance() only if
typesetting features require it.
(WebCore::Font::offsetForPositionForSimpleText): Updated for change to
floatWidthForSimpleText.

  • platform/graphics/pango/FontPango.cpp:

(WebCore::Font::floatWidthForComplexText): Ditto.

9:42 PM Changeset in webkit [131409] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Web Inspector: Remove the useless preferences items in "inspectorBB.js"
https://bugs.webkit.org/show_bug.cgi?id=99404

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-10-15
Reviewed by George Staikos.

In "inspectorBB.js", remove the useless preferences items to catch up the new code of frontend.

  • WebCoreSupport/inspectorBB.js:
8:57 PM Changeset in webkit [131408] by commit-queue@webkit.org
  • 8 edits in trunk

Add force parameter to DOMTokenList.toggle
https://bugs.webkit.org/show_bug.cgi?id=99375

Patch by Pablo Flouret <pablof@motorola.com> on 2012-10-15
Reviewed by Darin Adler.

Source/WebCore:

See http://dom.spec.whatwg.org/#dom-domtokenlist-toggle and
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18463

Essentially, the optional boolean force parameter, if present, makes
toggle always add or remove a class.

No new tests, modified fast/dom/HTMLElement/script-tests/class-list.js

  • html/DOMTokenList.cpp:

(WebCore::DOMTokenList::toggle):
(WebCore):

  • html/DOMTokenList.h:

(DOMTokenList):

  • html/DOMTokenList.idl:

New toggle() overload that takes a force parameter and calls
addInternal() or removeInternal() based on it.

LayoutTests:

  • fast/dom/HTMLElement/class-list-expected.txt:
  • fast/dom/HTMLElement/class-list-quirks-expected.txt:
  • fast/dom/HTMLElement/script-tests/class-list.js:

(shouldThrowDOMException):

8:51 PM Changeset in webkit [131407] by shinyak@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, TestExpectations updated.

  • platform/chromium/TestExpectations:
8:48 PM Changeset in webkit [131406] by mitz@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fixed a typo in the change log.

8:47 PM Changeset in webkit [131405] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

Layout Test fast/text/justify-ideograph-leading-expansion.html is failing an assertion chromium mac
https://bugs.webkit.org/show_bug.cgi?id=99406

Reviewed by Darin Adler.

  • platform/graphics/WidthIterator.cpp:
  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::shouldApplyFontTransforms): Changed to return false if the run is
shorter than 2 characters. 1-character are invariant under font transforms, and therefore
Font::codePath() sends them through WidthIterator even on platforms where WidthIterator
does not support kerning and ligatures.

8:43 PM Changeset in webkit [131404] by keishi@webkit.org
  • 3 edits
    9 adds in trunk/LayoutTests

Add tests for suggestion picker that test step/min/max attributes
https://bugs.webkit.org/show_bug.cgi?id=99168

Reviewed by Kent Tamura.

These tests that setting step/min/max attributes filters out values from the suggestion picker.

  • fast/forms/resources/suggestion-picker-common.js:

(valueForEntry): Returns value for an suggestion list entry element.
(highlightedEntry):
(entryValues): Returns an array of entry values.
(openPicker): Added callback argument.
(popupOpenCallbackWrapper):

  • platform/chromium-android/TestExpectations:
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-step-attribute.html: Added.
8:29 PM Changeset in webkit [131403] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

Add 8 bit patch to Document::isValidName() for the non ASCII case
https://bugs.webkit.org/show_bug.cgi?id=99402

Reviewed by Darin Adler.

Added 8 bit path to complete the processing of an 8 bit names without up-converting.

  • dom/Document.cpp:

(WebCore::isValidNameNonASCII):
(WebCore::Document::isValidName):

8:26 PM Changeset in webkit [131402] by commit-queue@webkit.org
  • 8 edits
    5 adds in trunk

Support for background-clip:content-box and padding-box with border-radius
https://bugs.webkit.org/show_bug.cgi?id=23166

Patch by Vlad Grecescu <igrecesc@adobe.com>, Douglas Stockwell <dstockwell@chromium.org> on 2012-10-15
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/background-clip-radius-values.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::clipRoundedInnerRect):
(WebCore):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:

LayoutTests:

  • fast/css/background-clip-radius-values-expected.png: Added.
  • fast/css/background-clip-radius-values-expected.txt: Added.
  • fast/css/background-clip-radius-values.html: Added.
  • platform/chromium-linux/fast/css/background-clip-radius-values-expected.png: Added.
  • platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.png:
  • platform/chromium/TestExpectations:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.png: Added.
  • platform/qt/TestExpectations:
  • platform/efl/TestExpectations:
8:25 PM Changeset in webkit [131401] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add APIs for cache model
https://bugs.webkit.org/show_bug.cgi?id=98889

Patch by Jongseok Yang <js45.yang@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Add ewk_context_cache_model_set(), ewk_context_cache_model_get().

The cache model means the level for the cache capacity.
If EWK_CACHE_MODEL_DOCUMENT_BROWSER, the biggest cache capacity will be set.

  • UIProcess/API/efl/ewk_context.cpp:

(ewk_context_cache_model_set):
(ewk_context_cache_model_get):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(TEST_F):

8:20 PM Changeset in webkit [131400] by tkent@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

[Chromium] Layout Test *-multiple-fields-keyboard-events.html etc. are failing on Win XP
https://bugs.webkit.org/show_bug.cgi?id=99408

These failures are expected. Just do rebaseline.

  • platform/chromium-win-xp/fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events-expected.txt: Added.
  • platform/chromium-win-xp/fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt: Added.
  • platform/chromium-win-xp/fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt: Added.
7:46 PM Changeset in webkit [131399] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Enable FAST_MOBILE_SCROLLING for Android
https://bugs.webkit.org/show_bug.cgi?id=99401

Reviewed by Adam Barth.

  • features.gypi: Add the define to the Android-only section.
7:36 PM Changeset in webkit [131398] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
7:05 PM Changeset in webkit [131397] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix unused parameter build warning.
https://bugs.webkit.org/show_bug.cgi?id=99400

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Remove the name of unused parameters to fix the build warning (-Wunused-parameter).

Source/WebCore:

  • platform/network/soup/ResourceErrorSoup.cpp:

(WebCore::ResourceError::tlsError):

Source/WebKit2:

  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getSharedWorkerProcessConnection):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::handleEditingCommand):
(WebKit::NetscapePlugin::isEditingCommandEnabled):

6:59 PM Changeset in webkit [131396] by shinyak@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, TestExpectations updated.

Now lint passes.

  • platform/chromium/TestExpectations:
6:40 PM Changeset in webkit [131395] by bashi@chromium.org
  • 4 edits
    2 adds in trunk

[WebSocket] WebSocketInflater should handle BFINAL = 1 blocks
https://bugs.webkit.org/show_bug.cgi?id=99282

Reviewed by Yuta Kitamura.

Source/WebCore:

Reset decompression state if WebSocketInflater decompress a block with
BFINAL set to 1.

Test: http/tests/websocket/tests/hybi/deflate-frame-set-bfinal.html

  • Modules/websockets/WebSocketDeflater.cpp:

(WebCore::WebSocketInflater::addBytes):
Reset decompression state if inflate() returns Z_STREAM_END, which means the BFINAL
of the current block was set to 1.
(WebCore::WebSocketInflater::finish): Add an assertion.

LayoutTests:

Added a test for receiving compressed blocks with BFINAL set to 1.

  • http/tests/websocket/tests/hybi/deflate-frame-set-bfinal-expected.txt: Added.
  • http/tests/websocket/tests/hybi/deflate-frame-set-bfinal.html: Added.
  • http/tests/websocket/tests/hybi/deflate-frame_wsh.py:

(web_socket_do_extra_handshake): Call set_bfinal() if the 'set_bfinal' parameter is passed.

6:20 PM Changeset in webkit [131394] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] The default target for Android builds should be "all" instead of "All"
https://bugs.webkit.org/show_bug.cgi?id=98879

Reviewed by Adam Barth.

The default gyp target for Android builds is being overridden in Chromium's
envsetup_functions.sh to "All" (whereas the rest of Chromium and WebKit use "all"),
because Android wants to use a different list of main targets. There is
no need to do this for the WebKit project, and it's breaking ninja.

  • gyp_webkit:
6:17 PM Changeset in webkit [131393] by Simon Fraser
  • 3 edits
    10 adds in trunk

Fix GraphicsLayer visible rect computation when scrolling in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=99385

Reviewed by Dean Jackson, Tim Horton.

Source/WebCore:

RenderLayerCompositor always used frameView->frameRect() as the visible
rect on the root used for GraphicsLayer visibleRect computation. This
was wrong for subframes, which require a rect with an origin of (0,0)
and size of the contentsSize().

It was also wrong when the scrolling is not represented in the GraphicsLayer
tree. When scrolling is done elsewhere, we need to use the ScrollView's
visibleContentRect().

Tests: compositing/visible-rect/scrolled.html

compositing/visible-rect/iframe-and-layers.html
compositing/visible-rect/iframe-no-layers.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

LayoutTests:

scrolled.html tests the visible rect after scrolling. The other tests
are for visibleRect in iframes, with and without compositing layers
in the parent document (which exercises different code paths in WebKit1).

  • compositing/visible-rect/iframe-and-layers-expected.txt: Added.
  • compositing/visible-rect/iframe-and-layers.html: Added.
  • compositing/visible-rect/iframe-no-layers-expected.txt: Added.
  • compositing/visible-rect/iframe-no-layers.html: Added.
  • compositing/visible-rect/resources/subframe-with-layers.html: Added.
  • compositing/visible-rect/scrolled-expected.txt: Added.
  • compositing/visible-rect/scrolled.html: Added.
  • platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: Added.
6:13 PM Changeset in webkit [131392] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

LocaleMacTest.formatDate is failing on Mac 10.8
https://bugs.webkit.org/show_bug.cgi?id=99330

It seems OS X 10.8 and 10.7 return different date formats for ja_JP
locale. We should not test such locales.

  • tests/LocaleMacTest.cpp:

(TEST_F): Remove a test for ja_JP locale.

5:53 PM Changeset in webkit [131391] by jchaffraix@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove page visibility hidden histograms
https://bugs.webkit.org/show_bug.cgi?id=99360

Reviewed by Ojan Vafai.

The 2 page visibility hidden histograms were added in http://webkit.org/b/85537 to
investigate a potential optimization where we would destroy the render tree when
a tab was hidden. The optimization was abandoned but the histograms were never
removed. They are too narrow to be reused so this change removes them.

  • page/Page.cpp:

(WebCore::Page::setVisibilityState):

5:48 PM Changeset in webkit [131390] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: Build break after r131373 when ACCELERATED_COMPOSITING disabled
https://bugs.webkit.org/show_bug.cgi?id=99397

Unreviewed, build fix.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):

5:39 PM Changeset in webkit [131389] by tkent@chromium.org
  • 12 edits
    3 adds in trunk

Input elements with multiple fields UI should set appropriate direction for browser locale automatically
https://bugs.webkit.org/show_bug.cgi?id=99291

Reviewed by Hajime Morita.

Source/WebCore:

Input elemnts with multiple fields UI ignores HTML dir attribute or CSS
direction property, and their direction should be decided by the browser
locale. If the browser locale is a RTL language, date/time input fields
show formats/digits for the RTL language. The layout should be always
RTL regardless of the direction in such case.

Test: fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n.html

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
Set approriate dir attribute value to the child element of the UA shadow root.

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n.html:

Added. We can confirm ar-eg and he-il have RTL layout.

  • fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.txt: Added.
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n-expected.png: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html:
  • Enable the lang-attribute-aware-form-control-UI feature.
  • Set lang=he-il instead of dir=rtl because dir=rtl is ignored.
  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html: Ditto.
  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html: Ditto.
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-basic-expected.png:

Updated becaues dir=RTL doesn't affect.

  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png:

Ditto.

  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic-expected.png:

Ditto.

  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png:

Ditto.

  • platform/chromium/TestExpectations:
5:36 PM Changeset in webkit [131388] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

StyleResolver: Garbage collect the matched properties cache on a timer.
<http://webkit.org/b/98625>

Reviewed by Eric Seidel.

Sweeping the matched properties cache once every 100 additions ended up choking RoboHornet's
svgresize.html benchmark. Move it to a single-shot timer that's refreshed every 100 additions
and defers the actual sweep for 60 seconds.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::sweepMatchedPropertiesCache):
(WebCore::StyleResolver::addToMatchedPropertiesCache):

  • css/StyleResolver.h:

(StyleResolver):

5:35 PM Changeset in webkit [131387] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[GStreamer] GstCaps are leaked when building with gstreamer-1.0
https://bugs.webkit.org/show_bug.cgi?id=99362

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

Implement GRefPtr<GstCaps> adoptGRef(GstCaps*).

Change webkitGstGetPadCaps signature to return a GRefPtr<GstCaps>, and
use GRefPtr<GstCaps> also in webkitVideoSinkRender to simply GstCaps
refeference count.

Covered by existing tests.

  • platform/graphics/gstreamer/GRefPtrGStreamer.cpp:

(WTF::adoptGRef):
(WTF):

  • platform/graphics/gstreamer/GRefPtrGStreamer.h:

(WTF):

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(webkitGstGetPadCaps):

  • platform/graphics/gstreamer/GStreamerVersioning.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::naturalSize):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkRender):

5:20 PM Changeset in webkit [131386] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

inspector/styles/styles-computed-trace.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=99391

Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:18 PM Changeset in webkit [131385] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

inspector/debugger/xhr-breakpoints.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=99389

Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:15 PM Changeset in webkit [131384] by Simon Fraser
  • 3 edits in trunk/Tools

Update the url bar in MiniBrowser when getting the committed URL
https://bugs.webkit.org/show_bug.cgi?id=99388

Reviewed by Sam Weinig.

Fix both WK1 and WK2 window controllers to update the URL in the
text field when transitioning to the committed URL. This fixes
the URL when dragging local files into the window.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController webView:didCommitLoadForFrame:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController updateTextFieldFromURL:]):
(-[WK2BrowserWindowController updateProvisionalURLForFrame:]):
(-[WK2BrowserWindowController updateCommittedURLForFrame:]):
(-[WK2BrowserWindowController didCommitLoadForFrame:]):

5:08 PM Changeset in webkit [131383] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=99357

Unreviewed gardening.

  • platform/chromium/TestExpectations:
4:58 PM Changeset in webkit [131382] by danakj@chromium.org
  • 1 edit
    12 adds in trunk/LayoutTests

Rebaseline after r131358.

Unreviewed gardening.

  • platform/chromium-win-xp/css1/basic/inheritance-expected.png: Added.
  • platform/chromium-win-xp/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-win-xp/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png: Added.
  • platform/chromium-win-xp/tables/mozilla/bugs/bug73321-expected.png: Added.
4:27 PM Changeset in webkit [131381] by ojan@chromium.org
  • 2 edits in trunk/Tools

Don't show the content shell and android test bots for webkit ToT
https://bugs.webkit.org/show_bug.cgi?id=99380

Reviewed by Dirk Pranke.

Content shell used to coincidentally be skipped because it spelled WebKit correctly.
Now skip it explicitly. The Android bot is up and running, but only has a stub for
running tests. Skip it so we don't show a false error.

  • TestResultServer/static-dashboards/builders.js:

(isChromiumWebkitTipOfTreeTestRunner):

4:27 PM Changeset in webkit [131380] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

skip crashing softwarecompositing bugs
https://bugs.webkit.org/show_bug.cgi?id=99381

Reviewed by Adrienne Walker.

These tests might be hanging the win (dbg)(2) bot; apart from
that, there's not a lot of point in running tests that are known
to be for unimplemented features.

  • platform/chromium/TestExpectations:
4:24 PM Changeset in webkit [131379] by zoltan@webkit.org
  • 2 edits in trunk/Tools

Add MountainLion Performance-bot to the Performance bots waterfall link
https://bugs.webkit.org/show_bug.cgi?id=99378

Reviewed by Dirk Pranke.

Add MountainLion Performance-bot to the Performance bots waterfall link on the buildbots frontpage.

  • BuildSlaveSupport/build.webkit.org-config/templates/root.html:
4:17 PM Changeset in webkit [131378] by tony@chromium.org
  • 49 edits
    2 deletes in trunk

Unreviewed, rolling out r131367.
http://trac.webkit.org/changeset/131367
https://bugs.webkit.org/show_bug.cgi?id=98666

crashes on Apple Mac

Source/WebCore:

  • css/html.css:

(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-slider-runnable-track):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):

  • css/mediaControlsChromium.css:

(input[type="range"]::-webkit-media-slider-thumb):

  • css/mediaControlsChromiumAndroid.css:

(input[type="range"]::-webkit-media-slider-thumb):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::listAttributeTargetChanged):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderThumb::layout):
(WebCore):
(WebCore::RenderSliderContainer::RenderSliderContainer):
(RenderSliderContainer):
(WebCore::RenderSliderContainer::layout):

  • html/shadow/SliderThumbElement.h:

(RenderSliderThumb):

  • rendering/RenderSlider.cpp:

(WebCore):
(WebCore::RenderSlider::RenderSlider):
(WebCore::RenderSlider::layout):

  • rendering/RenderSlider.h:

(WebCore):
(RenderSlider):
(WebCore::RenderSlider::renderName):
(WebCore::RenderSlider::isSlider):
(WebCore::RenderSlider::requiresForcedStyleRecalcPropagation):
(WebCore::toRenderSlider):

LayoutTests:

  • css3/flexbox/flexitem-stretch-range-expected.html: Removed.
  • css3/flexbox/flexitem-stretch-range.html: Removed.
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png:
  • platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.png:
  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-linux/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-linux/fast/multicol/client-rects-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium-win/fast/layers/video-layer-expected.txt:
  • platform/chromium-win/media/audio-controls-rendering-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.txt:
  • platform/chromium-win/media/controls-after-reload-expected.txt:
  • platform/chromium-win/media/controls-strict-expected.txt:
  • platform/chromium-win/media/controls-styling-expected.txt:
  • platform/chromium-win/media/controls-styling-strict-expected.txt:
  • platform/chromium-win/media/controls-without-preload-expected.txt:
  • platform/chromium-win/media/media-controls-clone-expected.txt:
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/chromium-win/media/video-controls-rendering-expected.txt:
  • platform/chromium-win/media/video-display-toggle-expected.txt:
  • platform/chromium-win/media/video-empty-source-expected.txt:
  • platform/chromium-win/media/video-no-audio-expected.txt:
  • platform/chromium-win/media/video-playing-and-pause-expected.txt:
  • platform/chromium-win/media/video-zoom-controls-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
4:04 PM Changeset in webkit [131377] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build again after r131375.

  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::shouldApplyFontTransforms): Removed the length check from here.

3:55 PM Changeset in webkit [131376] by crogers@google.com
  • 1 edit
    7 adds in trunk/LayoutTests

Rebaseline webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html for chromium-linux
https://bugs.webkit.org/show_bug.cgi?id=99377

Unreviewed rebaseline.

  • platform/chromium-linux-x86/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • platform/chromium-linux/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • platform/chromium-mac/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
3:52 PM Changeset in webkit [131375] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

Try to fix assertion failures on ports that do not support kerning and ligatures on the fast
code path after r131365.

  • platform/graphics/WidthIterator.cpp:

(WebCore::applyFontTransforms): Changed the early return condition to not bother with 1-glyph
sequences.

  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::shouldApplyFontTransforms): Changed to return false if the run is
shorter than 2 characters.

3:36 PM Changeset in webkit [131374] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

Try to fix the Chromium Mac build after r131365.

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBufferAdvance::height): Added.

  • platform/graphics/skia/FontSkia.cpp:

(WebCore::Font::drawGlyphs): Changed to use accessors for the GlyphBufferAdvance’s width and height.

3:31 PM Changeset in webkit [131373] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Ensure that GraphicsLayer positions are updated while doing threaded scrolling
https://bugs.webkit.org/show_bug.cgi?id=99372

Reviewed by Anders Carlsson.

When doing threaded scrolling, the scrolling thread updates the positions of CALayers,
but doesn't update GraphicsLayers. This means that code that relies on GraphicsLayer positions
works incorrectly.

Threaded scrolling is not testabled in layout tests.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):
(WebCore::GraphicsLayer::syncPosition):

3:21 PM Changeset in webkit [131372] by tommyw@google.com
  • 15 edits
    8 adds in trunk/Source/WebCore

MediaStream API: Implement RTCDataChannel
https://bugs.webkit.org/show_bug.cgi?id=99080

Reviewed by Adam Barth.

This patch introduces RTCDataChannel which is a pipe for sending data between two RTCPeerConnections.
Since the data channel belongs to a peer connection object I have reused part of its infrastructure.

Not currently testable. My next patch will add the chromium WebKit functionality, together with mocks and tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/mediastream/RTCDataChannel.cpp: Added.

(WebCore):
(WebCore::RTCDataChannel::create):
(WebCore::RTCDataChannel::RTCDataChannel):
(WebCore::RTCDataChannel::~RTCDataChannel):
(WebCore::RTCDataChannel::label):
(WebCore::RTCDataChannel::reliable):
(WebCore::RTCDataChannel::readyState):
(WebCore::RTCDataChannel::bufferedAmount):
(WebCore::RTCDataChannel::binaryType):
(WebCore::RTCDataChannel::setBinaryType):
(WebCore::RTCDataChannel::send):
(WebCore::RTCDataChannel::close):
(WebCore::RTCDataChannel::readyStateChanged):
(WebCore::RTCDataChannel::dataArrived):
(WebCore::RTCDataChannel::error):
(WebCore::RTCDataChannel::descriptor):
(WebCore::RTCDataChannel::interfaceName):
(WebCore::RTCDataChannel::scriptExecutionContext):
(WebCore::RTCDataChannel::stop):
(WebCore::RTCDataChannel::eventTargetData):
(WebCore::RTCDataChannel::ensureEventTargetData):

  • Modules/mediastream/RTCDataChannel.h: Added.

(WebCore):
(RTCDataChannel):
(WebCore::RTCDataChannel::refEventTarget):
(WebCore::RTCDataChannel::derefEventTarget):

  • Modules/mediastream/RTCDataChannel.idl: Added.
  • Modules/mediastream/RTCDataChannelEvent.cpp: Added.

(WebCore):
(WebCore::RTCDataChannelEvent::create):
(WebCore::RTCDataChannelEvent::RTCDataChannelEvent):
(WebCore::RTCDataChannelEvent::~RTCDataChannelEvent):
(WebCore::RTCDataChannelEvent::channel):
(WebCore::RTCDataChannelEvent::interfaceName):

  • Modules/mediastream/RTCDataChannelEvent.h: Added.

(WebCore):
(RTCDataChannelEvent):

  • Modules/mediastream/RTCDataChannelEvent.idl: Added.
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::createDataChannel):
(WebCore):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didAddRemoteDataChannel):
(WebCore::RTCPeerConnection::stop):

  • Modules/mediastream/RTCPeerConnection.h:

(WebCore):
(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • WebCore.gypi:
  • dom/EventNames.h:

(WebCore):

  • dom/EventNames.in:
  • dom/EventTargetFactory.in:
  • platform/mediastream/RTCDataChannelDescriptor.cpp: Added.

(WebCore):
(WebCore::RTCDataChannelDescriptor::create):
(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::~RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):
(WebCore::RTCDataChannelDescriptor::dataArrived):
(WebCore::RTCDataChannelDescriptor::error):

  • platform/mediastream/RTCDataChannelDescriptor.h: Added.

(WebCore):
(RTCDataChannelDescriptorClient):
(WebCore::RTCDataChannelDescriptorClient::~RTCDataChannelDescriptorClient):
(RTCDataChannelDescriptor):
(ExtraData):
(WebCore::RTCDataChannelDescriptor::ExtraData::~ExtraData):
(WebCore::RTCDataChannelDescriptor::client):
(WebCore::RTCDataChannelDescriptor::setClient):
(WebCore::RTCDataChannelDescriptor::label):
(WebCore::RTCDataChannelDescriptor::reliable):
(WebCore::RTCDataChannelDescriptor::readyState):
(WebCore::RTCDataChannelDescriptor::bufferedAmount):
(WebCore::RTCDataChannelDescriptor::setBufferedAmount):
(WebCore::RTCDataChannelDescriptor::extraData):
(WebCore::RTCDataChannelDescriptor::setExtraData):

  • platform/mediastream/RTCPeerConnectionHandler.cpp:

(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::openDataChannel):
(WebCore):
(WebCore::RTCPeerConnectionHandlerDummy::sendStringData):
(WebCore::RTCPeerConnectionHandlerDummy::sendRawData):
(WebCore::RTCPeerConnectionHandlerDummy::closeDataChannel):

  • platform/mediastream/RTCPeerConnectionHandler.h:

(WebCore):
(RTCPeerConnectionHandler):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(WebCore):
(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::openDataChannel):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::sendStringData):
(WebCore::RTCPeerConnectionHandlerChromium::sendRawData):
(WebCore::RTCPeerConnectionHandlerChromium::closeDataChannel):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

3:19 PM Changeset in webkit [131371] by jsbell@chromium.org
  • 18 edits in trunk

IndexedDB: Pass type of error causing abort to IDBTransaction::onAbort
https://bugs.webkit.org/show_bug.cgi?id=99097

Reviewed by Tony Chang.

Source/WebCore:

Include the error causing the abort in the callback from back end to
front end so it can be exposed on the IDBTransaction.error property.

Test: lazy-index-population.html

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
(WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):

  • Modules/indexeddb/IDBDatabaseCallbacks.h:
  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::putInternal):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::onAbort):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort):
(WebCore):
(WebCore::IDBTransactionBackendImpl::commit):

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(IDBTransactionBackendImpl):

  • Modules/indexeddb/IDBTransactionCallbacks.h:

(IDBTransactionCallbacks):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

Source/WebKit/chromium:

Plumbing to pass details about the cause of the transaction abort through to the
front end.

  • public/WebIDBTransactionCallbacks.h:

(WebKit):
(WebKit::WebIDBTransactionCallbacks::onAbort):

  • src/IDBTransactionCallbacksProxy.cpp:

(WebKit::IDBTransactionCallbacksProxy::onAbort):

  • src/IDBTransactionCallbacksProxy.h:

(IDBTransactionCallbacksProxy):

  • src/WebIDBTransactionCallbacksImpl.cpp:

(WebKit::WebIDBTransactionCallbacksImpl::onAbort):

  • src/WebIDBTransactionCallbacksImpl.h:

(WebIDBTransactionCallbacksImpl):

LayoutTests:

Verify that IDBTransaction.error is reporting ConstraintError when indexing fails.

  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
3:15 PM Changeset in webkit [131370] by reed@google.com
  • 3 edits in trunk/Source/WebCore

In Skia's ImageFrame, only set the isOpaque flag when the frame is complete
https://bugs.webkit.org/show_bug.cgi?id=99326

Reviewed by Stephen White.

No new tests -- existing layouttests exercise this, esp.

png-partial-load-no-alpha.html
webp-partial-load.html

These two fail if skia is told that these are opaque, which it is w/o this CL.

At the moment, Skia has a hack to ignore the opaque-setting, so that these tests will pass as is.
This change is to first, correct webkit to only set isOpaque when the frame is complete, so that
in a later change, Skia can remove the hack, and re-enable its opaqueness optimization.

  • platform/image-decoders/skia/ImageDecoderSkia.cpp:

(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::operator=):
(WebCore::ImageFrame::zeroFillPixelData):
(WebCore::ImageFrame::hasAlpha):
(WebCore::ImageFrame::setHasAlpha):
(WebCore::ImageFrame::setStatus):

3:08 PM Changeset in webkit [131369] by danakj@chromium.org
  • 13 edits in trunk/LayoutTests

Rebaselines after 131358.

Unreviewed gardening.

  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug18359-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug24200-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug28928-expected.png:
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug18359-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug24200-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug28928-expected.png:
3:05 PM Changeset in webkit [131368] by danakj@chromium.org
  • 18 edits in trunk/LayoutTests

Rebaselines after 131358

Unreviewed gardening.

  • platform/chromium-mac-snowleopard/css1/basic/inheritance-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug73321-expected.png:
  • platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug73321-expected.png:
3:02 PM Changeset in webkit [131367] by tony@chromium.org
  • 49 edits
    2 adds in trunk

input[type=range] as a flex item renders thumb at wrong position
https://bugs.webkit.org/show_bug.cgi?id=98666

Reviewed by Ojan Vafai.

Source/WebCore:

Replace RenderSlider implementation with new flexbox and clean up the shadow DOM.
The previous code was trying to set the height to 100% and had a bunch of hacks in
the renderer code to set an explicit height. Using the new flexbox allows us to
remove these renderer hacks.

Test: css3/flexbox/flexitem-stretch-range.html

  • css/html.css:

(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): Use new flexbox.
(input[type="range"]::-webkit-slider-runnable-track): Use new flexbox.
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): Remove relative positioning since we're
no longer setting top/left in the layout code.

  • css/mediaControlsChromium.css: Remove redundant styles and bottom: 1px hack.
  • css/mediaControlsChromiumAndroid.css: Remove redundant styles and bottom: 1px hack.
  • html/RangeInputType.cpp:

(WebCore::RangeInputType::listAttributeTargetChanged): We need to force a layout
since the height of the control should change when adding/removing a datalist.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::RenderSliderContainer): Use new flexbox.
(WebCore::RenderSliderContainer::computeLogicalHeight): Rather than setting style()->height() in layout, just compute the correct
height when asked. If we have a datalist, we increase the height (same code as before). If we're vertical,
we use the intrinsic size.
(WebCore::RenderSliderContainer::layout): Remove extra layout code, but handle the position of the thumb.
This used to be handled in the thumb's layout method, but I deleted that.

  • html/shadow/SliderThumbElement.h:
  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::RenderSlider): Use new flexbox.
(WebCore::RenderSlider::layout): Set the limiter size to the size of the thumb. This is necessary
for fast/css/unknown-pseudo-element-matching.html which tries to set the height of the thumb to 1px
and expects the input to also have a height of 1px. It worked before because the height of the input
didn't depend on the height of its children.

  • rendering/RenderSlider.h: Fix indentation.

(RenderSlider): Use new flexible box.

LayoutTests:

Changing the render tree to use RenderFlexibleBox instead of RenderDeprecatedFlexibleBox
and not using a RenderLayer unless noted otherwise.

  • css3/flexbox/flexitem-stretch-range-expected.html: Added.
  • css3/flexbox/flexitem-stretch-range.html: Added. New test to verify stretched flex item has the

thumb in the correct place.

  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png: Changed the default height to

129px for vertical controls. This makes more sense than having a height of 100%.

  • platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.png: The thumb now appears below the

focus ring. This matches other form controls like buttons and textareas.

  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-linux/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-linux/fast/multicol/client-rects-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium-win/fast/layers/video-layer-expected.txt:
  • platform/chromium-win/media/audio-controls-rendering-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.txt:
  • platform/chromium-win/media/controls-after-reload-expected.txt:
  • platform/chromium-win/media/controls-strict-expected.txt:
  • platform/chromium-win/media/controls-styling-expected.txt:
  • platform/chromium-win/media/controls-styling-strict-expected.txt:
  • platform/chromium-win/media/controls-without-preload-expected.txt:
  • platform/chromium-win/media/media-controls-clone-expected.txt:
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/chromium-win/media/video-controls-rendering-expected.txt:
  • platform/chromium-win/media/video-display-toggle-expected.txt:
  • platform/chromium-win/media/video-empty-source-expected.txt:
  • platform/chromium-win/media/video-no-audio-expected.txt:
  • platform/chromium-win/media/video-playing-and-pause-expected.txt:
  • platform/chromium-win/media/video-zoom-controls-expected.txt:
2:52 PM Changeset in webkit [131366] by jchaffraix@webkit.org
  • 5 edits in trunk/Source/WebCore

Make RenderTable columns() and columnPositions() return a const reference
https://bugs.webkit.org/show_bug.cgi?id=99339

Reviewed by Abhishek Arya.

The 2 getters were returning a non-const reference. This means that callers
could have modified the Vector's where only FixedTableLayout and AutoTableLayout
were expected to (for columnPositions(), no one should modify columns()).

Refactoring covered by existing tests.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::layout):

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::layout):
Updated those functions to use the new setter.

  • rendering/RenderTable.h:

(WebCore::RenderTable::columns):
(WebCore::RenderTable::columnPositions):
Made the 2 functions return a const reference. They are also const now!

(WebCore::RenderTable::setColumnPosition):
Added this setter.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::dirtiedColumns):
Updated to use a const reference.

2:50 PM Changeset in webkit [131365] by mitz@apple.com
  • 18 edits in trunk/Source

Source/WebCore: WebCore part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures
https://bugs.webkit.org/show_bug.cgi?id=99113

Reviewed by Tim Horton.

  • WebCore.exp.in: Exported wkCTFontTransformGlyphs.
  • platform/graphics/Font.cpp:

(WebCore::Font::width): Added a local GlyphBuffer to pass to floatWidthForSimpleText().
(WebCore::Font::codePath): Rather than always use the complex code path when any typesetting
features are enabled, changed to do so only if WidthIterator doesn’t support this Font’s
typesetting features.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::getGlyphsAndAdvancesForSimpleText): Added a local GlyphBuffer to pass to
WidthIterator::advance() when advancing to or from the range of interest. Added a FIXME
about how this is not entirely correct when kerning or ligatures are enabled.
(WebCore::Font::selectionRectForSimpleText): Added a local GlyphBuffer to pass to
WidthIterator::advance() when advancing to or from the range of interest.
(WebCore::Font::offsetForPositionForSimpleText): Updated for the change to
WidthIterator::advanceOneCharacter().

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::applyTransforms): Added. Calls wkCTFontTransformGlyphs() where
available.

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator): Added initializer for the new m_typesettingFeatures
data member.
(OriginalAdvancesForCharacterTreatedAsSpace): Added this data type, used to track spaces and
characters treated as spaces.
(WebCore::applyFontTransforms): Added. Applies shaping and positioning transforms, as
required by the typesetting features, to the glyphs recently added to a GlyphBuffer, while
maintaining the advances of characters that are treated as spaces and the characters
preceding them, if necessary.
(WebCore::WidthIterator::advanceInternal): Added calls to applyFontTransforms() at the end
of each contiguous run of glyphs from the same font. Also added code to maintain a vector
of spaces and characters treated as space.
(WebCore::WidthIterator::advanceOneCharacter): Changed the parameter type from a pointer to
a reference.

  • platform/graphics/WidthIterator.h:

(WebCore::WidthIterator::supportsTypesettingFeatures): Added. Returns whether WidthIterator
instances support the typesetting features of the given font. Returns true if the font is
not a screen font and its typesetting features are kerning, ligatures or both.
(WebCore::WidthIterator::shouldApplyFontTransforms): Added. Returns true if the typesetting
features include kerning or ligatures.

  • platform/mac/WebCoreSystemInterface.h: Defined wkCTFontTransformOptions and declared

wkCTFontTransformGlyphs.

  • platform/mac/WebCoreSystemInterface.mm: Defined wkCTFontTransformGlyphs.
  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::advanceSimpleText): Added a local GlyphBuffer to pass to
WidthIterator::advance().

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Ditto.

Source/WebKit/mac: WebKit/mac part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures
https://bugs.webkit.org/show_bug.cgi?id=99113

Reviewed by Tim Horton.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Added wkCTFontTransformGlyphs.

Source/WebKit2: WebKit2 part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures
https://bugs.webkit.org/show_bug.cgi?id=99113

Reviewed by Tim Horton.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Added wkCTFontTransformGlyphs.

2:42 PM Changeset in webkit [131364] by jpetsovits@rim.com
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Only reallocate buffers that were allocated before suspending
https://bugs.webkit.org/show_bug.cgi?id=99205
RIM PR 99395

Reviewed by Antonio Gomes.

When we call releaseBuffers(), not all of the backingstore
tile buffers might have been allocated yet. Still we try
to release all of them, which causes us to lazy-initialize
the tile buffers so we can release them again.

This is stupid and we should just ignore buffers that
haven't been initialized yet. This patch makes that change.

  • WebKitSupport/BackingStoreTile.cpp:

(BlackBerry::WebKit::TileBuffer::wasNativeBufferCreated):
(WebKit):

  • WebKitSupport/BackingStoreTile.h:

(TileBuffer):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::createBuffers):
(BlackBerry::WebKit::SurfacePool::releaseBuffers):

2:40 PM Changeset in webkit [131363] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build broken by r131348.
https://bugs.webkit.org/show_bug.cgi?id=97533.

Not reviewed.

  • rendering/RenderView.cpp:

(WebCore::RenderView::layoutContent):

2:38 PM Changeset in webkit [131362] by kling@webkit.org
  • 4 edits in trunk/Source

Remove WTF::fastDeleteAllValues().
<http://webkit.org/b/99345>

Reviewed by Eric Seidel.

It was only used to fastDelete() a class that was already overriding operator delete
by way of WTF_MAKE_FAST_ALLOCATED anyway.

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::CSSParser::~CSSParser):

Source/WTF:

  • wtf/HashSet.h:

(WTF):
(HashSet):

2:36 PM Changeset in webkit [131361] by crogers@google.com
  • 2 edits
    8 adds in trunk/LayoutTests

Rebaseline webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html for Mac/Win
https://bugs.webkit.org/show_bug.cgi?id=99368

Unreviewed rebaseline.

  • platform/chromium-mac-snowleopard/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • platform/chromium-win-xp/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • platform/chromium/TestExpectations:
2:34 PM Changeset in webkit [131360] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

2:29 PM Changeset in webkit [131359] by leviw@chromium.org
  • 3 edits
    2 adds in trunk

Regression r130057: incorrect block pref width for alternating InlineFlow and inline Replaced
https://bugs.webkit.org/show_bug.cgi?id=99194

Reviewed by Eric Seidel.

Source/WebCore:

Correctly breaking lines after inline replaced elements that follow inline flows. Previously, alternating
these two types of elements would cause us to increase our preferred width forever.

Test: fast/block/block-with-inline-replaced-children-in-inline-flows.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

  • fast/block/block-with-inline-replaced-children-in-inline-flows-expected.html: Added.
  • fast/block/block-with-inline-replaced-children-in-inline-flows.html: Added.
2:27 PM Changeset in webkit [131358] by eae@chromium.org
  • 12 edits in trunk

Revert rounding change in RenderTable::paintObject
https://bugs.webkit.org/show_bug.cgi?id=99364

Reviewed by Levi Weintraub.

Source/WebCore:

Bug 91410 changed RenderTable::paintObject to round the offset
in order to avoid table-background bleed through. The root cause
for that has since been fixed and the rounding workaround is no
longer needed. This change reverts the code change from bug
91410 while preserving the test added as a part of that change
as it now passes without the workaround.

No new tests, covered by fast/sub-pixel/table-rows-no-gaps-expected.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintObject):
Remove unnecessary rounding.

LayoutTests:

Revert pixel expected results to what we had prior to r122769.

  • platform/chromium/TestExpectations:
  • platform/chromium-linux/css1/basic/inheritance-expected.png:
  • platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/chromium-linux/tables/mozilla/bugs/bug73321-expected.png:
2:23 PM Changeset in webkit [131357] by Michelangelo De Simone
  • 9 edits in trunk/Source/WebCore

[CSS Shaders] Add CustomFilterProgramType to CustomFilterProgramInfo
https://bugs.webkit.org/show_bug.cgi?id=96448

Reviewed by Kenneth Rohde Christiansen.

CustomFilterProgramInfo has been refactored to decouple the CustomFilterProgramType from
the CustomFilterProgramMixSetting: m_mixSettings.enabled was redundant in light of the fact
that m_programType encoded the very same information. Dependencies have been updated to reflect
this change.

Current tests already cover this code.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::valueForFilter): The check for mixSettings.enabled has been replaced
by an explicit check for PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE program type.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::createCustomFilterOperation): Setting the program type explicitly while creating a
new filter program.

  • platform/graphics/filters/CustomFilterProgram.cpp:

(WebCore::CustomFilterProgram::CustomFilterProgram): CustomFilterProgram's constructor has been updated to
reflect the need of setting the program type explicitly.
(WebCore::CustomFilterProgram::programInfo): Updated to create new CustomFilterProgramInfo setting the program
type explicitly.

  • platform/graphics/filters/CustomFilterProgram.h:
  • platform/graphics/filters/CustomFilterProgramInfo.cpp:

(WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo): Added m_programType and udpated the related getter.
(WebCore::CustomFilterProgramInfo::hash): ditto
(WebCore::CustomFilterProgramInfo::operator==): MixSettings' equality check is being performed only whether
the CustomFilterProgramInfo's program type is PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE.

  • platform/graphics/filters/CustomFilterProgramInfo.h:

(WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings): Got rid of the redundant enabled flag.
(WebCore::CustomFilterProgramMixSettings::operator==): ditto
(CustomFilterProgramInfo):
(WebCore::CustomFilterProgramInfo::programType):

  • platform/graphics/filters/CustomFilterValidatedProgram.cpp: The right shader validator is now being

created according to the program type.
(WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
(WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader): The reference to MixSettings' enabled flag
has been replaced with a check for the program type.
(WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader): ditto

  • rendering/style/StyleCustomFilterProgram.h:

(WebCore::StyleCustomFilterProgram::create): Updated to be aware of the program type.
(WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram): ditto

2:22 PM Changeset in webkit [131356] by jsbell@chromium.org
  • 5 edits in trunk

IndexedDB: Key paths should support non-ASCII identifiers
https://bugs.webkit.org/show_bug.cgi?id=98814

Reviewed by Kentaro Hara.

Source/WebCore:

Update the parser for key paths to use the unicode classes from
the IdentifierName production in ECMA-262.

Test: storage/indexeddb/keypath-basics.html

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore):
(WebCore::IDBKeyPathLexer::lexIdentifier):

LayoutTests:

Test representative characters from various Unicode character classes
as valid (or invalid) identifier lead and trailing characters.

  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/resources/keypath-basics.js:

(testValidKeyPaths):

2:20 PM Changeset in webkit [131355] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][WK2][Texmap] Set gl context in GraphicsContext3DPrivate
https://bugs.webkit.org/show_bug.cgi?id=99325

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-15
Reviewed by Kenneth Rohde Christiansen.

Based on a patch from Regina Chung.
This piece of code was lost in the final patch of https://bugs.webkit.org/show_bug.cgi?id=96627.
The gl context is used as key in a hash map and cannot be NULL.

No new tests. Accelerated compositing is not yet enabled in the EFL port.

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

2:00 PM Changeset in webkit [131354] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2][CAIRO] Use cairo_format_stride_for_width() in ShareableBitmap
https://bugs.webkit.org/show_bug.cgi?id=99332

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-15
Reviewed by Martin Robinson.

Cairo implementation of ShareableBitmap is calling
cairo_image_surface_create_for_data() to create an image surface for
the provided pixel data. However, it was passing "m_size.width() * 4"
for the stride argument instead of calling
cairo_format_stride_for_width().

The Cairo documentation states:
"Note that the stride may be larger than width*bytes_per_pixel to
provide proper alignment for each pixel and row. This alignment is
required to allow high-performance rendering within cairo. The correct
way to obtain a legal stride value is to call
cairo_format_stride_for_width() with the desired format and maximum
image width value, and then use the resulting stride value to allocate
the data and to create the image surface."

This patch calls cairo_format_stride_for_width() is ShareableBitmap
in order to obtain a legal stride value to make sure we provide proper
alignment for each pixel and row, and allow high-performance rendering
within cairo.

  • Shared/ShareableBitmap.h:

(ShareableBitmap):

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit):
(WebKit::ShareableBitmap::numBytesForSize):
(WebKit::createSurfaceFromData):
(WebKit::ShareableBitmap::paint):
(WebKit::ShareableBitmap::createCairoSurface):

2:00 PM Changeset in webkit [131353] by mkwst@chromium.org
  • 5 edits
    2 adds in trunk

Console messages containing long URLs should cut at some reasonable length.
https://bugs.webkit.org/show_bug.cgi?id=97980

Reviewed by Pavel Feldman.

Source/WebCore:

This patch lightly modifies the current styling of linkified URLs inside
console messages in order to cut them down to some reasonable size for
viewing. The middle of the URL is snipped out such that the whole
thing fits into 150 characters. This only effects the displayed text;
the link's href isn't changed; the link remains available via the
context menu, accessible via the title attribute, and clicking it still
takes the user directly to the resource in question.

Test: inspector/console/console-trim-long-urls.html

  • inspector/front-end/ResourceUtils.js:

(WebInspector.linkifyURLAsNode):

Trim the middle of the URL to bring the whole string down to down
to 150 characters, and set the link's title to the full URL.

LayoutTests:

  • inspector/console/console-trim-long-urls-expected.txt: Added.
  • inspector/console/console-trim-long-urls.html: Added.
  • inspector/styles/inject-stylesheet-expected.txt:
  • platform/chromium/inspector/styles/inject-stylesheet-expected.txt:

Updating test expectations.

1:56 PM Changeset in webkit [131352] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Cannot set evas engine from command line
https://bugs.webkit.org/show_bug.cgi?id=99286

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-15
Reviewed by Kenneth Rohde Christiansen.

If an engine name is passed on the command line, pass it along to evas.

  • MiniBrowser/efl/main.c:

(elm_main):

1:54 PM Changeset in webkit [131351] by tony@chromium.org
  • 5 edits in trunk/Source/WebCore

Add computeLogicalHeight override methods to RenderView and RenderMultiColumnSet
https://bugs.webkit.org/show_bug.cgi?id=99348

Reviewed by Ojan Vafai.

Add computeLogicalHeight to the last 2 RenderBoxes that override the method.
I'm unable to remove RenderMultiColumnSet::updateLogicalHeight and make the method
non-virtual since it sets ComputedColumnHeight. I'd like to remove this
eventually.

No new tests, this is just a code refactor.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::updateLogicalHeight): Set computedColumnHeight.
(WebCore::RenderMultiColumnSet::computeLogicalHeight):
(WebCore):

  • rendering/RenderMultiColumnSet.h:

(RenderMultiColumnSet):

  • rendering/RenderView.cpp:

(WebCore::RenderView::computeLogicalHeight):

  • rendering/RenderView.h:
1:51 PM Changeset in webkit [131350] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebKit

Move framework and library linking into WebKit.xcconfig
<http://webkit.org/b/99284>

Reviewed by Mark Rowe.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Remove frameworks and

libraries from Xcode project file.

Source/WebKit/mac:

  • Configurations/WebKit.xcconfig: Move frameworks and libraries

link flags to OTHER_LDFLAGS so that they work for iOS and OS X.

1:36 PM Changeset in webkit [131349] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
https://bugs.webkit.org/show_bug.cgi?id=97173

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Source/WebCore:

Remove codes to initialize and shutdown the EFL libraries from
RunLoopEfl.cpp. Initialization and shutdown will be done in the
ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
process.

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

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):

Source/WebKit2:

Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
process and WebProcessMainEfl.cpp for web process.

  • UIProcess/API/efl/ewk_main.cpp:

(ewk_init):
(ewk_shutdown):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

1:31 PM Changeset in webkit [131348] by mihnea@adobe.com
  • 14 edits
    18 adds in trunk

[CSSRegions]Add support for auto-height regions (without region-breaks)
https://bugs.webkit.org/show_bug.cgi?id=97533

Reviewed by Julien Chaffraix.

Source/WebCore:

Implement the 2pass layout algorithm for computing the height of regions with auto logical height, without taking region breaks into account.
The algorithm is described in the CSSRegions spec: http://dev.w3.org/csswg/css3-regions/#regions-visual-formatting-steps

When the flow thread contains regions with auto logical height, a 2pass layout algorithm is needed to determine the height of auto logical height regions.
In each step of the layout, the regions are laid out before the flow thread is laid out.

In the first pass of layout (normal layout phase), the content of the flow thread is laid out unconstrained in the regions. The region marked as having auto logical height
displays all the corresponding content from the flow thread (taking min-height and max-height into account), and the height of the content displayed
determines the overridden logical content height. Thus, after the first pass of layout, each auto logical height region will store the logical height
value for the second pass in its overridden logical content height property.

In the second pass of layout (constrained flow threads layout phase), when the content of the flow thread is laid out constrained in the regions, the regions are laid out again and they are using
the overridden logical content height from the first pass to update their logical height. Then, the flow thread content is laid out in the associated region chain,
for which the auto logical height regions have proper logical height.

A future patch will properly take region breaks into account for the first pass of layout.

Tests: fast/regions/autoheight-abspos-region.html

fast/regions/autoheight-floatright-region.html
fast/regions/autoheight-horizontal-bt.html
fast/regions/autoheight-inlineblock-normalflow-region.html
fast/regions/autoheight-maxheight-region.html
fast/regions/autoheight-minheight-region.html
fast/regions/autoheight-normalflow-region.html
fast/regions/autoheight-vertical-lr.html
fast/regions/autoheight-vertical-rl.html

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::resetRegionsOverrideLogicalContentHeight):
For all the auto logical height regions, resets their associated overrideLogicalContentHeight.
Those regions are marked as needing layout (along with their ancestors).
(WebCore::FlowThreadController::markAutoLogicalHeightRegionsForLayout):
Mark all the auto logical height regions and their associated flow thread as needing layout (along with their ancestors).

  • rendering/FlowThreadController.h:
  • rendering/RenderBox.cpp:

Add helper functions to clear out individual logical content width/height.
(WebCore::RenderBox::clearOverrideLogicalContentHeight):
(WebCore::RenderBox::clearOverrideLogicalContentWidth):
(WebCore::RenderBox::clearOverrideSize):

  • rendering/RenderBox.h:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::computeLogicalHeight):
If the flow thread has an auto logical height region for which we did not yet compute the overrideLogicalContentHeight value,
bail out early since we cannot compute the flow thread logical height.
(WebCore::RenderFlowThread::regionAtBlockOffset):
If the offset is inside an auto logical height region for which we did not compute the overrideLogicalContentHeight, then we consider this region tall enough to accommodate all
the content and we return this region. Otherwise, for an auto logical height region, we use either the overrideLogicalContentHeight (if we are in the first layout phase) or
the logicalHeight if we are in the second layout phase (because the overriderLogicalContentHeight was already transferred into region logical height).
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
(WebCore::RenderFlowThread::computeOverflowStateForRegions):
(WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight):
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
Simulate a region break at the specified offset. It will be extended to properly process the region breaks. At this moment, only one auto height region for a thread
can have its height properly computed.

  • rendering/RenderFlowThread.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::boxIntersectsRegion):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::updateLogicalHeight):
If the auto logical height region has an overrideLogicalContentHeight and we are in the second pass of layout,
we use the overrideLogicalContentHeight to update the region logical height.
(WebCore::RenderRegion::needsOverrideLogicalContentHeightComputation):

  • rendering/RenderRegion.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::RenderView::layoutContent):
Added a new function to contain the RenderView block layout and flow threads layout.
(WebCore::RenderView::checkLayoutState):
Helper function keeping the original asserts from RenderView, used in more than one place.
(WebCore::RenderView::layout):

  • rendering/RenderView.h:

(WebCore::RenderView::normalLayoutPhase):
(WebCore::RenderView::constrainedFlowThreadsLayoutPhase):

LayoutTests:

Added tests for auto-height regions, with different writing modes, with min/max-height.
The bug referenced in the tests is the master bug for auto-height support, 91097.

  • fast/regions/autoheight-abspos-region-expected.html: Added.
  • fast/regions/autoheight-abspos-region.html: Added.
  • fast/regions/autoheight-floatright-region-expected.html: Added.
  • fast/regions/autoheight-floatright-region.html: Added.
  • fast/regions/autoheight-horizontal-bt-expected.html: Added.
  • fast/regions/autoheight-horizontal-bt.html: Added.
  • fast/regions/autoheight-inlineblock-normalflow-region-expected.html: Added.
  • fast/regions/autoheight-inlineblock-normalflow-region.html: Added.
  • fast/regions/autoheight-maxheight-region-expected.html: Added.
  • fast/regions/autoheight-maxheight-region.html: Added.
  • fast/regions/autoheight-minheight-region-expected.html: Added.
  • fast/regions/autoheight-minheight-region.html: Added.
  • fast/regions/autoheight-normalflow-region-expected.html: Added.
  • fast/regions/autoheight-normalflow-region.html: Added.
  • fast/regions/autoheight-vertical-lr-expected.html: Added.
  • fast/regions/autoheight-vertical-lr.html: Added.
  • fast/regions/autoheight-vertical-rl-expected.html: Added.
  • fast/regions/autoheight-vertical-rl.html: Added.
  • fast/regions/webkit-named-flow-first-empty-region-index.html: Fix an element style (though the test was passing before).
1:23 PM Changeset in webkit [131347] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Provide implementation for PageClientImpl::toolTipChanged()
https://bugs.webkit.org/show_bug.cgi?id=98589

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-10-15
Reviewed by Kenneth Rohde Christiansen.

Implement PageClientImpl::toolTipChanged() to emit signal 'tooltip,text,set' with a tooltip text,
or 'tooltip,text,unset' if tooltip was unset.

  • UIProcess/API/efl/PageClientImpl.cpp:

(WebKit::PageClientImpl::toolTipChanged):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_tooltip_text_set):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/ewk_view_private.h:
1:22 PM Changeset in webkit [131346] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html is failing
https://bugs.webkit.org/show_bug.cgi?id=99357

Unreviewed gardening.

  • platform/chromium/TestExpectations:
1:21 PM Changeset in webkit [131345] by Lucas Forschler
  • 2 edits in tags/Safari-537.15/Source/WebCore

Merged r131336.

1:11 PM Changeset in webkit [131344] by ojan@chromium.org
  • 3 edits in trunk/Tools

Lower the minimum time required to keep a test in the test results json
https://bugs.webkit.org/show_bug.cgi?id=99346

Reviewed by Eric Seidel.

On the run-webkit-tests side, we floor the time. So, 5 seconds is too close to
the 6 second timeout. Lower the time so that we can get a better sense of tests
that are close to timing out.

  • TestResultServer/model/jsonresults.py:
  • TestResultServer/model/jsonresults_unittest.py:

(JsonResultsTest.test_merge_keep_test_with_all_pass_but_slow_time):

1:05 PM Changeset in webkit [131343] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix memory leak in TreeOutline
https://bugs.webkit.org/show_bug.cgi?id=99307

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-10-15
Reviewed by Alexander Pavlov.

Added cleanup of empty buckets in elements cache.

  • inspector/front-end/treeoutline.js:
1:03 PM Changeset in webkit [131342] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Hide useless controls in remote-debugging mode.
https://bugs.webkit.org/show_bug.cgi?id=99300

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-10-15
Reviewed by Vsevolod Vlasov.

"Close inspector" and "change docking mode" buttons seem to be rather
useless in remote debugging mode.

  • inspector/front-end/inspector.css:

(body.remote .toolbar-item.close-left, body.remote .toolbar-item.close-right):
(body.remote .dock-status-bar-item):

1:03 PM Changeset in webkit [131341] by Lucas Forschler
  • 1 copy in tags/Safari-537.15

New Tag.

12:59 PM Changeset in webkit [131340] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Partial build fix for Windows after r131308.

  • WebKit2Prefix.h:
  • WebProcess/WebKitMain.cpp:

(WebKitMain):

12:53 PM Changeset in webkit [131339] by Csaba Osztrogonác
  • 9 edits in trunk

Unreviewed, rolling out r131306 and r131307.
http://trac.webkit.org/changeset/131306
http://trac.webkit.org/changeset/131307
https://bugs.webkit.org/show_bug.cgi?id=99354

It made layout testing extremely slow again (Requested by
Ossy_night on #webkit).

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

Source/WebKit2:

  • Shared/API/c/qt/WKImageQt.cpp:

(WKImageCreateQImage):

  • Shared/API/c/qt/WKImageQt.h:

Tools:

  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

  • WebKitTestRunner/TestInvocation.h:

(TestInvocation):

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::WrapperWindow::handleStatusChanged):
(WTR::PlatformWebView::windowSnapshotImage):

  • WebKitTestRunner/qt/TestInvocationQt.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

12:47 PM Changeset in webkit [131338] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Unreviewed, rolling out r131327.
http://trac.webkit.org/changeset/131327
https://bugs.webkit.org/show_bug.cgi?id=99353

broke the build (Requested by danakj|gardening on #webkit).

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

  • DumpRenderTree/chromium/TestEventPrinter.cpp:
  • DumpRenderTree/chromium/TestEventPrinter.h:

(TestEventPrinter):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::dump):

12:44 PM Changeset in webkit [131337] by commit-queue@webkit.org
  • 18 edits
    1 copy
    2 moves
    4 adds in trunk/Source

[EFL][WK2] Implement Favicons API
https://bugs.webkit.org/show_bug.cgi?id=99087

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-15
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Moved ewk_util from WebKit to WebCore and rename it
to CairoUtilityEfl so that the code can be shared
between WebKit1 and WebKit2. Some related utility
code was also moved from RenderThemeEfl to
CairoUtilityEfl.

No new tests, no behavior change.

  • PlatformEfl.cmake:
  • platform/efl/RenderThemeEfl.cpp:
  • platform/graphics/efl/CairoUtilitiesEfl.cpp: Renamed from Source/WebKit/efl/ewk/ewk_util.cpp.

(WebCore):
(WebCore::evasObjectFromCairoImageSurface):
(WebCore::createSurfaceForBackingStore):

  • platform/graphics/efl/CairoUtilitiesEfl.h: Renamed from Source/WebKit/efl/ewk/ewk_util_private.h.

(WebCore):

Source/WebKit:

Remove ewk_util.cpp from PlatformEfl.cmake now that its
code has been moved to WebCore to be reused in WK2.

  • PlatformEfl.cmake:

Source/WebKit/efl:

Remove ewk_util now that its code has been moved
to CairoUtilitiesEfl in WebCore.

  • ewk/ewk_history.cpp:

(ewk_history_item_icon_object_add):

  • ewk/ewk_settings.cpp:

(ewk_settings_icon_database_icon_object_get):

Source/WebKit2:

Add support for favicon API to EFL WK2 port via
Ewk_Favicon_Database. The API can be used to
retrieve the favicon URL and data for a given
page URL.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EWebKit2.h:
  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):
(ewk_context_favicon_database_get): Add getter to retrieve the favicon
database instance from the context.

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_favicon_database.cpp: Added.

(IconChangeCallbackData):
(IconChangeCallbackData::IconChangeCallbackData):
(IconRequestCallbackData):
(IconRequestCallbackData::IconRequestCallbackData):
(_Ewk_Favicon_Database):
(_Ewk_Favicon_Database::_Ewk_Favicon_Database):
(didChangeIconForPageURL):
(getIconSurfaceSynchronously):
(iconDataReadyForPageURL):
(ewk_favicon_database_new):
(ewk_favicon_database_free):
(ewk_favicon_database_icon_url_get):
(AsyncIconRequestResponse):
(AsyncIconRequestResponse::AsyncIconRequestResponse):
(respond_icon_request_idle):
(ewk_favicon_database_async_icon_get):
(ewk_favicon_database_icon_change_callback_add):
(ewk_favicon_database_icon_change_callback_del):

  • UIProcess/API/efl/ewk_favicon_database.h: Added.
  • UIProcess/API/efl/ewk_favicon_database_private.h: Copied from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
  • UIProcess/API/efl/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_on_favicon_changed):
(_ewk_view_initialize):
(ewk_view_url_update):
(ewk_view_icon_url_get): Add a getter to the view to retrieve the icon URL for
the page that is currently shown.
(ewk_view_update_icon):

  • UIProcess/API/efl/ewk_view.h: Emit a new "icon,changed" signal on the view whenever

the view's icon has changed.

  • UIProcess/API/efl/ewk_view_private.h:
  • UIProcess/API/efl/tests/resources/blank.ico: Added.
  • UIProcess/API/efl/tests/test_ewk2_context.cpp: Add unit test for new favicon database getter.

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: Added unit tests for the new Ewk_Favicon_Database API.

(serverCallback):
(onIconChanged):
(TEST_F):
(onIconDataReady):
(IconRequestData):
(requestFaviconData):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultIconDatabasePath): Return a valid default path for the icon database.

12:39 PM Changeset in webkit [131336] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=99350
REGRESSION (r131238): Repro crash in

WebCore::ScrollingStateTree::removeNode(WebCore::ScrollingStateNode*)

opening pdf page
-and corresponding-
<rdar://problem/12499839>

Reviewed by Simon Fraser.

We have to null-check node here. It won't be found if
clearStateTree() was recently called.

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::detachFromStateTree):

12:35 PM Changeset in webkit [131335] by commit-queue@webkit.org
  • 14 edits in trunk/Source

[BlackBerry] replace BlackBerry::Platform::log() with BBLOG()
https://bugs.webkit.org/show_bug.cgi?id=99302

Patch by Jonathan Dong <Jonathan Dong> on 2012-10-15
Reviewed by Rob Buis.

RIM PR: 210884
The marco BBLOG() is defined as a no-op in release mode which will
save a function call in the release build.
Internally reviewed by Charles Wei.

Source/WebCore:

No new tests since there's no functional change.

  • platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::logFrameBufferStatus):

  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::getTransformedHolePunchRect):

  • platform/graphics/blackberry/VideoLayerWebKitThread.cpp:

(WebCore::VideoLayerWebKitThread::setHolePunchRect):
(WebCore::VideoLayerWebKitThread::boundsChanged):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::compileShader):

Source/WebKit/blackberry:

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::bestDivisor):
(BlackBerry::WebKit::BackingStorePrivate::suspendScreenAndBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::scroll):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::renderContents):
(BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
(BlackBerry::WebKit::BackingStorePrivate::fillWindow):
(BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
(BlackBerry::WebKit::BackingStorePrivate::clearWindow):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
(BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
(BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):
(WebCore::ChromeClientBlackBerry::didDiscoverFrameSet):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::checkFingerIntersection):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::checkForText):

  • WebKitSupport/RenderQueue.cpp:

(BlackBerry::WebKit::RenderQueue::addToRegularQueue):
(BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
(BlackBerry::WebKit::RenderQueue::render):
(BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
(BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
(BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
(BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
(BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
(BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::initialize):

12:30 PM Changeset in webkit [131334] by jsbell@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening. Fix bug link in TestExpectations.

  • platform/chromium/TestExpectations:
12:21 PM Changeset in webkit [131333] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Provide logging for OnlineState detection code
https://bugs.webkit.org/show_bug.cgi?id=99299

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-15
Reviewed by Kenneth Rohde Christiansen.

Add logging to NetworkStateNotifierEfl.cpp to facilitate
debugging of this functionality.

No new tests, no behavior change.

  • platform/network/efl/NetworkStateNotifierEfl.cpp:

(WebCore::NetworkStateNotifier::updateState):

12:04 PM Changeset in webkit [131332] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
11:57 AM Changeset in webkit [131331] by bashi@chromium.org
  • 3 edits in trunk/Tools

[WebSocket] Update pywebsocket to 0.7.8
https://bugs.webkit.org/show_bug.cgi?id=99293

Reviewed by Yuta Kitamura.

Version 0.7.8 supports WebSocket frames and messages compression
with blocks in which BFINAL bit is set to 1.
We need this feature to add a test case of compression extension.

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py:

(DeflateFrameExtensionProcessor.init):
(DeflateFrameExtensionProcessor.set_bfinal):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateMessageProcessor.init):
(DeflateMessageProcessor.set_bfinal):
(DeflateMessageProcessor._process_outgoing_message):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py:

(_Deflater.compress_and_finish):
(_RFC1979Deflater.filter):

11:54 AM Changeset in webkit [131330] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[TestResultServer] TestExpectations should only be loaded for the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=99245

Reviewed by Ojan Vafai.

Only load the TestExpectations when using the flakiness dashboard. Other dashboards
don't need them so there's no reason to load them.

  • TestResultServer/static-dashboards/dashboard_base.js:

(isFlakinessDashboard):
(appendJSONScriptElements):

11:52 AM Changeset in webkit [131329] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit

[EFL] Set the basepath of the File System API.
https://bugs.webkit.org/show_bug.cgi?id=98344

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Set the basepath of the File System API using the internal setter function.

Source/WebKit:

  • PlatformEfl.cmake: Add new include path.

Source/WebKit/efl:

  • ewk/ewk_main.cpp:

(_ewk_init_body): Call the setter function with the default path.

  • ewk/ewk_settings.cpp:

(ewk_settings_file_system_path_set): Set the given path as the base path of the file system.

  • ewk/ewk_settings_private.h: Add ewk_settings_file_system_path_set.
11:52 AM Changeset in webkit [131328] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Parallel GC should not be disabled for all platforms

  • wtf/Platform.h: D'oh!
11:48 AM Changeset in webkit [131327] by zoltan@webkit.org
  • 4 edits in trunk/Tools

[chromium] Provide used JSHeap size in chromium's DRT for pageloadtest memory measurements
https://bugs.webkit.org/show_bug.cgi?id=99288

Reviewed by Ryosuke Niwa.

Provide used JSHeap size as we did it for the Apple port.

  • DumpRenderTree/chromium/TestEventPrinter.cpp:

(TestEventPrinter::handleDumpMemoryHeader): Add new function to print the JSHeap memory result.

  • DumpRenderTree/chromium/TestEventPrinter.h:

(TestEventPrinter): handleDumpMemoryHeader declaration.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::dump): Dump JSHeap value.

11:33 AM Changeset in webkit [131326] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/blackberry

[BlackBerry] [DRT] Skip region of interest zooming when running DRT
https://bugs.webkit.org/show_bug.cgi?id=97663

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-10-15
Reviewed by Rob Buis.

This patch fixes test fast/forms/textarea-scrolled-endline-caret.html, and

  1. Add a global function isRunningDrt to check if we're currently running DRT.
  2. Use the new function in places where getenv("drtRun") is used.
  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::isRunningDrt):
(WebKit):

  • Api/BlackBerryGlobal.h:

(WebKit):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::init):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(toGeolocationClientMock):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

11:26 AM Changeset in webkit [131325] by morrita@google.com
  • 3 edits in trunk/Source/WebCore

[Regression r131167] run-webkit-tests fails
https://bugs.webkit.org/show_bug.cgi?id=99279

Reviewed by Kentaro Hara.

CodeGeneratorV8.pm assumed that there are only two objects which have constructor getters and
overlooked TestObj. This fix relaxes that assumption to accept it.

No new tests. Fixing an existing test.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorGetter):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::TestObjConstructorGetter):

11:14 AM Changeset in webkit [131324] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Fix WebSockets which was disabled by recent string changes
https://bugs.webkit.org/show_bug.cgi?id=99248

Patch by Joe Mason <jmason@rim.com> on 2012-10-15
Reviewed by George Staikos.

PR 223681: The signature of FilterStream::notifyStatusReceived changed to take a
BlackBerry::Platform::String instead of a char *. But SocketStreamHandleBlackBerry was not
updated to the new signature, so the status message is not getting passed on because it is
not calling the correct override.

No new tests because this is fixing a regression.

  • platform/network/blackberry/SocketStreamHandle.h:

(SocketStreamHandle):

  • platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:

(WebCore::SocketStreamHandle::notifyStatusReceived):

11:09 AM Changeset in webkit [131323] by ryuan.choi@samsung.com
  • 8 edits in trunk

[EFL] Share resources installed for inspector
https://bugs.webkit.org/show_bug.cgi?id=98991

Reviewed by Gyuyoung Kim.

.:

Now, WebKit1/Efl and WebKit2/Efl install same resources to different directory
when INSPECTOR is enabled.

This patch changes to install resources one time and share it.

  • Source/PlatformEfl.cmake:

Extracted build scripts which install resources from WebKit/PlatformEfl.cmake.

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit:

  • PlatformEfl.cmake:

Extracted build scripts which install resources to WebKit/PlatformEfl.cmake.

Source/WebKit2:

  • PlatformEfl.cmake: Removed build script which install resources to share.
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
(WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.

11:04 AM Changeset in webkit [131322] by rwlbuis@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove RenderTextControl::isSelectableElement
https://bugs.webkit.org/show_bug.cgi?id=99334

Reviewed by Andreas Kling.

It seems this method is not used anymore.

  • WebCore.order:
  • rendering/RenderTextControl.h:
10:47 AM Changeset in webkit [131321] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Make CopiedSpace and MarkedSpace regions independent
https://bugs.webkit.org/show_bug.cgi?id=99222

Reviewed by Filip Pizlo.

Right now CopiedSpace and MarkedSpace have the same block size and share the same regions,
but there's no reason that they can't have different block sizes while still sharing the
same underlying regions. We should factor the two "used" lists of regions apart so that
MarkedBlocks and CopiedBlocks can be different sizes. Regions will still be a uniform size
so that when they become empty they may be shared between the CopiedSpace and the MarkedSpace,
since benchmarks indicate that sharing is a boon for performance.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::BlockAllocator):

  • heap/BlockAllocator.h:

(JSC):
(Region):
(JSC::Region::create): We now have a fixed size for Regions so that empty regions can continue to
be shared between the MarkedSpace and CopiedSpace. Once they are used for a specific type of block,
however, they can only be used for that type of block until they become empty again.
(JSC::Region::createCustomSize):
(JSC::Region::Region):
(JSC::Region::~Region):
(JSC::Region::reset):
(BlockAllocator):
(JSC::BlockAllocator::RegionSet::RegionSet):
(RegionSet):
(JSC::BlockAllocator::tryAllocateFromRegion): We change this function so that it correctly
moves blocks between empty, partial, and full lists.
(JSC::BlockAllocator::allocate):
(JSC::BlockAllocator::allocateCustomSize):
(JSC::BlockAllocator::deallocate): Ditto.
(JSC::CopiedBlock):
(JSC::MarkedBlock):
(JSC::BlockAllocator::regionSetFor): We use this so that we can use the same allocate/deallocate
functions with different RegionSets. We specialize the function for each type of block that we
want to allocate.

  • heap/CopiedBlock.h:

(CopiedBlock):

  • heap/CopiedSpace.h:

(CopiedSpace):

  • heap/HeapBlock.h:

(HeapBlock):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::MarkedBlock): For oversize MarkedBlocks, if the block size gets too big we can
underflow the endAtom, which will cause us to segfault when we try to sweep a block. If we're a
custom size MarkedBlock we need to calculate endAtom so it doesn't underflow.

10:39 AM Changeset in webkit [131320] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JIT::JIT fails to initialize all of its fields
https://bugs.webkit.org/show_bug.cgi?id=99283

Reviewed by Andreas Kling.

There were two groups of such fields, all of which are eventually initialized
prior to use inside of privateCompile(). But it's safer to make sure that they
are initialized in the constructor as well, since we may use the JIT to do a
stub compile without calling into privateCompile().

Unsigned index fields for dynamic repatching meta-data: this change
initializes them to UINT_MAX, so we should crash if we try to use those
indices without initializing them.

Boolean flags for value profiling: this change initializes them to false, so
we at worst turn off value profiling.

  • jit/JIT.cpp:

(JSC::JIT::JIT):

10:37 AM Changeset in webkit [131319] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test inspector/debugger/dynamic-scripts.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=99338

Unreviewed gardening.

  • platform/chromium/TestExpectations:
10:34 AM Changeset in webkit [131318] by mhahnenberg@apple.com
  • 3 edits in trunk/Source

We should avoid weakCompareAndSwap when parallel GC is disabled
https://bugs.webkit.org/show_bug.cgi?id=99331

Reviewed by Filip Pizlo.

CopiedBlock::reportLiveBytes and didEvacuateBytes uses weakCompareAndSwap, which some platforms
don't support. For platforms that don't have parallel GC enabled, we should just use a normal store.

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::reportLiveBytes):
(JSC::CopiedBlock::didEvacuateBytes):

10:33 AM Changeset in webkit [131317] by mkwst@chromium.org
  • 6 edits in trunk

CSP source expressions should support paths at file-level granularity.
https://bugs.webkit.org/show_bug.cgi?id=99250

Reviewed by Adam Barth.

Source/WebCore:

After a bit of discussion on public-webappsec[1], path support for CSP
source expressions has been tuned to support file-level granularity. In
particular, this means that:

  • 'example.com/js' matches a file named 'js'
  • 'example.com/js/' matches all files under a directory named 'js' (note the trailing slash)
  • 'example.com/js/file.js' matches only a file named 'file.js' inside a directory named 'js'

Though this is part of the CSP 1.1 spec, it continues to be exposed
outside the CSP_NEXT flag for back-compatibility.

Test cases have been added to the existing
http/tests/security/contentSecurityPolicy/source-list-parsing-paths-*
in order ensure that the new functionality works correctly.

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPSource::pathMatches):

If the path ends with '/', do a prefix check. If not, check for an
exact match.

(WebCore::CSPSourceList::parsePath):

Don't automatically append a '/' to paths.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html:

Adjust tests by adding trailing slashes to source expressions that
should match directories.

  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html:

Adjust tests to check the new behavior: matching individiual files,
and matching directories only with a trailing '/'.

10:31 AM Changeset in webkit [131316] by staikos@webkit.org
  • 71 edits
    3 deletes in trunk

[BlackBerry] Adapt to Platform API changes in string handling
https://bugs.webkit.org/show_bug.cgi?id=99248

Reviewed by Yong Li.

Convert usage of WebString, char* and std::string to BlackBerry::Platform::String.

Source/WebCore:

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::TextTrack): Fix the build for BlackBerry.

  • page/blackberry/SettingsBlackBerry.cpp:

(WebCore):
(WebCore::Settings::initializeDefaultFontFamilies):

  • platform/blackberry/LocalizedStringsBlackBerry.cpp:
  • platform/blackberry/MIMETypeRegistryBlackBerry.cpp:

(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

  • platform/blackberry/PasteboardBlackBerry.cpp:

(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):

  • platform/blackberry/ReadOnlyLatin1String.h: Removed.
  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::getSupportedTypes):
(WebCore::MediaPlayerPrivate::supportsType):
(WebCore::MediaPlayerPrivate::setCertificatePath):
(WebCore::MediaPlayerPrivate::load):
(WebCore::generateProtectionSpaceFromMMRAuthChallenge):
(WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
(WebCore::MediaPlayerPrivate::onAuthenticationAccepted):
(WebCore::MediaPlayerPrivate::lookupMediaStream):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::engineDescription):

  • platform/network/blackberry/DNSBlackBerry.cpp:

(WebCore::prefetchDNS):

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::initialize):
(WebCore::NetworkJob::notifyStatusReceived):
(WebCore::NetworkJob::notifyHeadersReceived):
(WebCore::NetworkJob::handleNotifyClose):
(WebCore::NetworkJob::sendRequestWithCredentials):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob):

  • platform/network/blackberry/ResourceRequestBlackBerry.cpp:

(WebCore::ResourceRequest::initializePlatformRequest):

  • platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):

  • platform/text/blackberry/StringBlackBerry.cpp:

(WTF::String::String):
(WTF::String::operator BlackBerry::Platform::String):

  • platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp:

Source/WebKit:

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearAppCache):
(BlackBerry::WebKit::clearDatabase):

  • Api/BlackBerryGlobal.h:

(Platform):
(WebKit):

  • Api/JavaScriptVariant.cpp:

(BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
(BlackBerry::WebKit::BlackBerryJavaScriptVariantToJSValueRef):
(BlackBerry::WebKit::JavaScriptVariant::JavaScriptVariant):
(WebKit):
(BlackBerry::WebKit::JavaScriptVariant::~JavaScriptVariant):
(BlackBerry::WebKit::JavaScriptVariant::setType):
(BlackBerry::WebKit::JavaScriptVariant::setString):
(BlackBerry::WebKit::JavaScriptVariant::stringValue):

  • Api/JavaScriptVariant.h:
  • Api/WebAnimation.cpp:

(BlackBerry::WebKit::WebAnimation::fadeAnimation):
(BlackBerry::WebKit::WebAnimation::name):

  • Api/WebAnimation.h:
  • Api/WebCookieJar.cpp:

(BlackBerry::WebKit::WebCookieJar::cookies):
(BlackBerry::WebKit::WebCookieJar::setCookies):

  • Api/WebCookieJar.h:

(Platform):
(BlackBerry):
(WebKit):

  • Api/WebKitMIMETypeConverter.cpp:

(BlackBerry::WebKit::getExtensionForMimeType):
(BlackBerry::WebKit::getMimeTypeForExtension):

  • Api/WebKitMIMETypeConverter.h:

(Platform):
(BlackBerry):
(WebKit):

  • Api/WebKitTextCodec.cpp:

(BlackBerry::WebKit::base64Decode):
(BlackBerry::WebKit::base64Encode):
(BlackBerry::WebKit::unescapeURL):
(BlackBerry::WebKit::escapeURL):

  • Api/WebKitTextCodec.h:

(Platform):
(BlackBerry):

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlay::removeAnimation):

  • Api/WebOverlay.h:

(Platform):
(BlackBerry):
(WebKit):

  • Api/WebOverlayOverride.cpp:

(BlackBerry::WebKit::WebOverlayOverride::removeAnimation):

  • Api/WebOverlayOverride.h:

(Platform):
(BlackBerry):
(WebKit):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::autofillTextField):
(BlackBerry::WebKit::WebPage::renderTreeAsText):
(BlackBerry::WebKit::WebPage::WebPage):
(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPage::load):
(BlackBerry::WebKit::WebPage::loadFile):
(BlackBerry::WebKit::WebPage::download):
(BlackBerry::WebKit::WebPagePrivate::loadString):
(BlackBerry::WebKit::WebPage::loadString):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
(BlackBerry::WebKit::WebPage::executeJavaScript):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
(BlackBerry::WebKit::WebPage::executeJavaScriptInIsolatedWorld):
(BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
(BlackBerry::WebKit::WebPagePrivate::addOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPage::addOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPagePrivate::removeOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPage::removeOriginAccessWhitelistEntry):
(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
(BlackBerry::WebKit::WebPagePrivate::syncProxyCredential):
(BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog):
(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPage::setDateTimeInput):
(BlackBerry::WebKit::WebPage::setColorInput):
(BlackBerry::WebKit::WebPage::textEncoding):
(BlackBerry::WebKit::WebPage::forcedTextEncoding):
(BlackBerry::WebKit::WebPage::setForcedTextEncoding):
(BlackBerry::WebKit::WebPage::title):
(BlackBerry::WebKit::WebPage::selectedText):
(BlackBerry::WebKit::WebPage::cutSelectedText):
(BlackBerry::WebKit::WebPage::insertText):
(BlackBerry::WebKit::WebPage::getBackForwardList):
(BlackBerry::WebKit::WebPage::onCertificateStoreLocationSet):
(BlackBerry::WebKit::WebPage::dispatchInspectorMessage):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
(BlackBerry::WebKit::WebPage::textHasAttribute):
(BlackBerry::WebKit::WebPage::setAllowNotification):
(BlackBerry::WebKit::WebPagePrivate::defaultUserAgent):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • Api/WebPage_p.h:

(WebPagePrivate):

  • Api/WebSettings.cpp:

(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::addSupportedObjectPluginMIMEType):
(BlackBerry::WebKit::WebSettings::isSupportedObjectMIMEType):
(BlackBerry::WebKit::WebSettings::serifFontFamily):
(BlackBerry::WebKit::WebSettings::setSerifFontFamily):
(BlackBerry::WebKit::WebSettings::fixedFontFamily):
(BlackBerry::WebKit::WebSettings::setFixedFontFamily):
(BlackBerry::WebKit::WebSettings::sansSerifFontFamily):
(BlackBerry::WebKit::WebSettings::setSansSerifFontFamily):
(BlackBerry::WebKit::WebSettings::standardFontFamily):
(BlackBerry::WebKit::WebSettings::setStandardFontFamily):
(BlackBerry::WebKit::WebSettings::userAgentString):
(BlackBerry::WebKit::WebSettings::setUserAgentString):
(BlackBerry::WebKit::WebSettings::defaultTextEncodingName):
(BlackBerry::WebKit::WebSettings::setDefaultTextEncodingName):
(BlackBerry::WebKit::WebSettings::userStyleSheetString):
(BlackBerry::WebKit::WebSettings::setUserStyleSheetString):
(BlackBerry::WebKit::WebSettings::userStyleSheetLocation):
(BlackBerry::WebKit::WebSettings::setUserStyleSheetLocation):
(BlackBerry::WebKit::WebSettings::localStoragePath):
(BlackBerry::WebKit::WebSettings::setLocalStoragePath):
(BlackBerry::WebKit::WebSettings::indexedDataBasePath):
(BlackBerry::WebKit::WebSettings::setIndexedDataBasePath):
(BlackBerry::WebKit::WebSettings::databasePath):
(BlackBerry::WebKit::WebSettings::setDatabasePath):
(BlackBerry::WebKit::WebSettings::appCachePath):
(BlackBerry::WebKit::WebSettings::setAppCachePath):
(BlackBerry::WebKit::WebSettings::pageGroupName):
(BlackBerry::WebKit::WebSettings::setPageGroupName):

  • Api/WebSettings.h:
  • Api/WebString.cpp: Removed.
  • Api/WebString.h: Removed.
  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::runJavaScriptPrompt):
(WebCore::ChromeClientBlackBerry::createWindow):
(WebCore::ChromeClientBlackBerry::runOpenPanel):
(WebCore):

  • WebCoreSupport/ChromeClientBlackBerry.h:

(ChromeClientBlackBerry):

  • WebCoreSupport/ClientExtension.cpp:

(clientExtensionMethod):

  • WebCoreSupport/ColorPickerClient.cpp:

(WebCore::ColorPickerClient::ColorPickerClient):
(WebCore::ColorPickerClient::generateHTML):

  • WebCoreSupport/ColorPickerClient.h:

(Platform):
(BlackBerry):
(WebKit):
(ColorPickerClient):

  • WebCoreSupport/CredentialManager.cpp:

(WebCore::CredentialManager::autofillAuthenticationChallenge):

  • WebCoreSupport/CredentialManager.h:

(Platform):
(CredentialManager):

  • WebCoreSupport/DatePickerClient.cpp:

(WebCore::DatePickerClient::DatePickerClient):
(WebCore::DatePickerClient::generateHTML):

  • WebCoreSupport/DatePickerClient.h:

(Platform):
(BlackBerry):
(WebKit):
(DatePickerClient):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
(WebCore::FrameLoaderClientBlackBerry::loadIconExternally):
(WebCore::FrameLoaderClientBlackBerry::startDownload):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):

  • WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
  • WebCoreSupport/NotificationPresenterImpl.cpp:

(WebCore::NotificationPresenterImpl::show):
(WebCore::NotificationPresenterImpl::cancel):
(WebCore::NotificationPresenterImpl::requestPermission):
(WebCore::NotificationPresenterImpl::onPermission):
(WebCore::NotificationPresenterImpl::notificationClicked):

  • WebCoreSupport/NotificationPresenterImpl.h:

(Platform):
(NotificationPresenterImpl):

  • WebCoreSupport/SelectPopupClient.cpp:

(WebCore::SelectPopupClient::SelectPopupClient):
(WebCore::SelectPopupClient::update):
(WebCore::SelectPopupClient::generateHTML):

  • WebCoreSupport/SelectPopupClient.h:

(Platform):
(BlackBerry):
(SelectPopupClient):

  • WebCoreSupport/UserMediaClientImpl.cpp:

(WebCore::toMediaStreamSource):
(WebCore::toMediaStreamDescriptor):
(WebCore::UserMediaClientImpl::requestUserMedia):
(WebCore::UserMediaClientImpl::cancelUserMediaRequest):

  • WebKitSupport/AboutData.cpp:

(BlackBerry::WebKit::cachePage):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::convertStringToWchar):
(BlackBerry::WebKit::convertStringToWcharVector):
(BlackBerry::WebKit::convertSpannableStringToString):
(BlackBerry::WebKit::InputHandler::learnText):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
(BlackBerry::WebKit::InputHandler::openDatePopup):
(BlackBerry::WebKit::InputHandler::openSelectPopup):
(BlackBerry::WebKit::InputHandler::setText):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::selectedText):

  • WebKitSupport/SelectionHandler.h:

(Platform):
(WebKit):
(SelectionHandler):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::sharedPixmapGroup):

  • WebKitSupport/SurfacePool.h:

(SurfacePool):

Source/WTF:

  • wtf/Assertions.cpp: Use proper log function.
  • wtf/text/AtomicString.h: Add BlackBerry support

(AtomicString):
(WTF::AtomicString::AtomicString): Add BlackBerry Support
(WTF::AtomicString::operator BlackBerry::Platform::String):

  • wtf/text/StringImpl.h: Conversion support.
  • wtf/text/WTFString.h: Conversion support.

(Platform):
(String):

Tools:

  • DumpRenderTree/blackberry/DumpRenderTree.cpp:

(BlackBerry::WebKit::DumpRenderTree::runTest):

  • DumpRenderTree/blackberry/WorkQueueItemBlackBerry.cpp:

(LoadHTMLStringItem::invoke):
(ScriptItem::invoke):

10:25 AM Changeset in webkit [131315] by jcivelli@chromium.org
  • 3 edits
    2 adds in trunk

Calling WebCore::SharedBuffer::append(data, 0) on a shared buffer when
its current position is at a segment boundary (4096) ends up adding an
unitialized segment (with uninitialized memory) to the SharedBuffer.
https://bugs.webkit.org/show_bug.cgi?id=99000

Reviewed by Adam Barth.

Source/WebCore:

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::append):

LayoutTests:

  • mhtml/shared_buffer_bug-expected.txt: Added.
  • mhtml/shared_buffer_bug.mht: Added.
10:15 AM Changeset in webkit [131314] by tonikitoo@webkit.org
  • 9 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clean up BackingStoreClient (part II)
https://bugs.webkit.org/show_bug.cgi?id=99327

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

Remove more unneeded BackingStoreClient <-> WebPageClient integration
methods:

  • BackingStoreClient* backingStoreClientForFrame(...)
  • void addBackingStoreClientForFrame(...)
  • void removeBackingStoreClientForFrame(...)

Change places calling WPPriv::backingStoreClientForFrame to directly
access WPPriv::backingStoreClient instead, since only the main frame will
have a BackingStoreClient instance associated with it, and it is owned by
the WKPriv.

Remove non-mainframe only references to BackingStoreClient completely,
since it is dead code now.

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::backingStoreClient):
(BlackBerry::WebKit::WebPage::destroy):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::invalidateContentsForSlowScroll):
(WebCore::ChromeClientBlackBerry::scroll):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::createFrame):
(WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):

  • WebKitSupport/BackingStoreClient.cpp:

(BlackBerry::WebKit::BackingStoreClient::create):
(BlackBerry::WebKit::BackingStoreClient::BackingStoreClient):
(BlackBerry::WebKit::BackingStoreClient::~BackingStoreClient):

  • WebKitSupport/BackingStoreClient.h:

(BackingStoreClient):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setBatchEditingActive):

10:09 AM Changeset in webkit [131313] by macpherson@chromium.org
  • 5 edits
    2 adds in trunk

Make CSS variable names case-insensitive.
https://bugs.webkit.org/show_bug.cgi?id=98712

Reviewed by Tony Chang.

Source/WebCore:

This patch modifies the parser to normalize all variable names to lower case,
making variable definitions consistent with other property names, which are also case insensitive.
Spec: http://dev.w3.org/csswg/css-variables/#defining-variables

Test: fast/css/variables/case-insensitive.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore):
(WebCore::CSSParser::createPrimitiveVariableNameValue):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::storeVariableDeclaration):
(WebCore::CSSParserString::lowerSubstring):
Added function to compute a lower case substring as an AtomicString from a CSSParserString.

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserValues.h:

(CSSParserString):
(WebCore::CSSParserString::lowerSubstring):

LayoutTests:

Add test that variable names are match correctly when different case is used.

  • fast/css/variables/case-insensitive-expected.html: Added.
  • fast/css/variables/case-insensitive.html: Added.
10:06 AM Changeset in webkit [131312] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][EWebLauncher] Add encoding detector option.
https://bugs.webkit.org/show_bug.cgi?id=98726

Patch by Kangil Han <kangil.han@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Added an option to test WebCore's encoding detector functionality on EWebLauncher.
With this patch, EWebLauncher would display text correctly even if web page wouldn't specify charset information.

  • EWebLauncher/main.c:

(_User_Arguments):
(windowCreate):
(parseUserArguments):

9:56 AM Changeset in webkit [131311] by msaboff@apple.com
  • 24 edits in trunk/Source

Update RenderText to use String instead of UChar* for text
https://bugs.webkit.org/show_bug.cgi?id=96979

Reviewed by Dan Bernstein.

Source/WebCore:

RenderText now uses a String for text. It keeps a cached LCHar* or UChar* pointer to the
actual text data for performance. Added a characterAt() indexed accessor to RenderText to avoid the
somewhat confusing construct for a RenderText* rt, e.g. (*re)[n] or rt->characters()[n]. This is
now written as rt->characterAt(n).
Enabled patch in the HTML parser to create 8 bit text data. Modified TextRun to create
text runs using 8 bit string data where possible. Added several flavors of RenderBlock::constructTextRun
to create TextRuns from RenderText objects including with an offset. Added an LChar flavor of constructTextRun()
as well. Eliminated the TextRunFlags argument to all but the String flavor as all other flavors used the default
parameter.
Encased the code that creates 8 bit TextRun's in #if USE(8BIT_TEXTRUN). Enabled WTF_USE_8BIT_TEXTRUN
for PLATFORM(MAC). Other platform can update this setting in Platform.h when their platform specific code is
updated to TextRun's with 8 bit data.
Added many 8/16 bit aware paths. Cleanup up some int / unsigned confusion in RenderBlockLineLayout.cpp.

No function change therefore no new tests.

  • html/parser/HTMLTokenizer.cpp:

(WebCore::vectorEqualsString):
(WebCore::HTMLTokenizer::nextToken):

  • html/parser/HTMLTokenizer.h:

(HTMLTokenizer):

  • html/track/WebVTTTokenizer.cpp:

(WebCore::vectorEqualsString):
(WebCore::WebVTTTokenizer::nextToken):

  • html/track/WebVTTTokenizer.h:

(WebVTTTokenizer):

  • platform/graphics/Font.h:

(WebCore::Font::glyphDataForCharacter):

  • platform/graphics/FontFastPath.cpp:

(WebCore):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):
(WebCore::TextRun::subRun):
(TextRun):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::TextLayout::isNeeded):
(WebCore::TextLayout::constructTextRun):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInInlineDirection):

  • rendering/InlineIterator.h:

(WebCore::InlineIterator::atTextParagraphSeparator):
(WebCore::InlineIterator::current):
(WebCore::InlineIterator::previousInSameNode):

  • rendering/InlineTextBox.cpp:

(WebCore::adjustCharactersAndLengthForHyphen):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::constructTextRun):

  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderBlock.cpp:

(WebCore::constructTextRunInternal):
(WebCore::RenderBlock::constructTextRun):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::endsWithASCIISpaces):
(WebCore::reachedEndOfTextRenderer):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::textWidth):
(WebCore::tryHyphenating):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::getStringToRender):
(WebCore::RenderCombineText::combineText):

  • rendering/RenderCombineText.h:

(RenderCombineText):

  • rendering/RenderText.cpp:

(SameSizeAsRenderText):
(WebCore::RenderText::RenderText):
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::setTextInternal):
(WebCore::RenderText::width):

  • rendering/RenderText.h:

(WebCore::RenderText::is8Bit):
(WebCore::RenderText::characters8):
(WebCore::RenderText::characters16):
(WebCore::RenderText::characterAt):
(WebCore::RenderText::operator[]):
(RenderText):

  • xml/parser/MarkupTokenBase.h:

(WebCore::MarkupTokenBase::appendToCharacter):
(MarkupTokenBase):
(WebCore::MarkupTokenBase::isAll8BitData):

Source/WTF:

Added WTF_USE_8BIT_TEXTRUN to encase code that creates 8 bit TextRun's. Enabled WTF_USE_8BIT_TEXTRUN
for PLATFORM(MAC). Other platform can update this setting in Platform.h when their platform specific use of
TextRun handle 8 bit data. Added a new Vector::appendVector to allow appending the contents of a vector
containing one type to the end of vector containing another. This is used to append a Vector<LChar> to
the end of a Vector<UChar>.

  • wtf/Platform.h:
  • wtf/Vector.h:

(Vector):
(WTF::Vector::appendVector):

9:51 AM Changeset in webkit [131310] by loislo@chromium.org
  • 2 edits in trunk/Tools

Build fix for Mac debug build.

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
9:45 AM Changeset in webkit [131309] by vsevik@chromium.org
  • 5 edits in trunk/LayoutTests

Unreviewed inspector tests fix.

  • http/tests/inspector-enabled/dynamic-scripts-expected.txt:
  • http/tests/inspector-enabled/dynamic-scripts.html:
  • inspector/debugger/dynamic-scripts-expected.txt:
  • inspector/debugger/dynamic-scripts.html:
9:29 AM Changeset in webkit [131308] by ap@apple.com
  • 13 edits
    19 adds in trunk/Source/WebKit2

[WK2] Add SharedWorkerProcess
https://bugs.webkit.org/show_bug.cgi?id=99218

Reviewed by Sam Weinig.

Not yet functional, just some boilerplate code.

  • Configurations/SharedWorkerProcess.xcconfig: Added.
  • DerivedSources.make: Generate message dispatch for SharedWorkerProcess and SharedWorkerProcessProxy.
  • Platform/CoreIPC/MessageID.h: Added shared worker messages classes.
  • Scripts/webkit2/messages.py: (struct_or_class): SharedWorkerProcessCreationParameters is a struct.
  • Shared/SharedWorkerProcessCreationParameters.cpp: Added.
  • SharedWorkerProcess/Info.plist: Added.
  • SharedWorkerProcess/SharedWorkerProcess.cpp: Added.
  • SharedWorkerProcess/SharedWorkerProcess.h: Added.
  • SharedWorkerProcess/SharedWorkerProcess.messages.in: Added.
  • SharedWorkerProcess/SharedWorkerProcessMain.h: Added.
  • SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Added.
  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Added.
  • SharedWorkerProcess/mac/com.apple.WebKit.SharedWorkerProcess.sb: Added.
  • UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp: Added.
  • UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Added.
  • UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp: Added.
  • UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Added.
  • UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in: Added.
  • WebKit2.xcodeproj/project.pbxproj: Added SharedWorkerProcess boilerplate, modeled after PluginProcess.
  • UIProcess/WebProcessProxy.cpp:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in: Added getSharedWorkerProcessConnection() message.
  • WebProcess/WebKitMain.cpp: (WebKitMain):
  • UIProcess/Launcher/ProcessLauncher.cpp: (WebKit::ProcessLauncher::processTypeAsString): (WebKit::ProcessLauncher::getProcessTypeFromString):
  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Added branches for SharedWorkerProcess.
  • Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a version for delayed reply messages with two arguments.
9:22 AM Changeset in webkit [131307] by kbalazs@webkit.org
  • 3 edits in trunk/Tools

[Qt] Implement pixel snapshot generation in WTR
https://bugs.webkit.org/show_bug.cgi?id=95992

Reviewed by Jocelyn Turcotte.

Switch the Qt implementation of the PlatformWebView to use
QQuickWindow::grabWindow to generate the pixel results. This way
we will go through the scenegraph and test the actual rendering backend.
We use QQuickWindowPrivate::setRenderWithoutShowing to avoid the need of
showing the window.

  • WebKitTestRunner/Target.pri: Had to added a bunch

of modules to be able to use QQuickWindowPrivate.

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::WrapperWindow::handleStatusChanged):
(WTR::PlatformWebView::windowSnapshotImage):

9:15 AM Changeset in webkit [131306] by kbalazs@webkit.org
  • 8 edits in trunk

[Qt][WTR] Do a forced repaint before generating pixel results
https://bugs.webkit.org/show_bug.cgi?id=98654

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

Added API to convert a QImage to a WKImage so we can
pass it to cross-platform code.

  • Shared/API/c/qt/WKImageQt.cpp:

(WKImageCreateFromQImage):

  • Shared/API/c/qt/WKImageQt.h:

Tools:

Do a forced repaint before grabbing the pixel snapshot. This extra
synchronisation is necessary with the CoordinatedGraphics rendering
backend because it has a fully asynchronous nature. This patch make
us using the window snapshot for pixel results which is necessary to
capture animations and other dynamic content. The actual grabbing of
the window has not been implemented in this patch. It will come in
a follow-up.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):
(WTR::TestInvocation::dump): Store results in member variables.
Don't close output channels yet.
(WTR::TestInvocation::dumpResults): Added. This is where we dump
the results if no error happened.
(WTR):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

  • WebKitTestRunner/TestInvocation.h:

(TestInvocation):

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::PlatformWebView::windowSnapshotImage):

  • WebKitTestRunner/qt/TestInvocationQt.cpp:

(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

8:53 AM Changeset in webkit [131305] by tonikitoo@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clean up BackingStoreClient (part I)
https://bugs.webkit.org/show_bug.cgi?id=99327

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

Now that we won't use the BackingStoreClient code path to scroll inner frames at all
(instead we use AC layers!), we can remove all "!isMainFrame" code paths.

No behavior change, since the code path being removed was not in use.

  • WebKitSupport/BackingStoreClient.cpp:

(BlackBerry::WebKit::BackingStoreClient::absoluteRect):
(BlackBerry::WebKit::BackingStoreClient::transformedActualVisibleSize):
(BlackBerry::WebKit::BackingStoreClient::viewportSize):
(BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
(BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
(BlackBerry::WebKit::BackingStoreClient::transformedVisibleContentsRect):
(BlackBerry::WebKit::BackingStoreClient::checkOriginOfCurrentScrollOperation):

8:49 AM Changeset in webkit [131304] by danakj@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test plugins/update-widgets-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=99333

Unreviewed gardening.

  • platform/chromium/TestExpectations:
8:27 AM Changeset in webkit [131303] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Silencing a style-checker warning.
8:06 AM Changeset in webkit [131302] by vsevik@chromium.org
  • 4 edits
    6 adds in trunk

Web Inspector: Scripts for dynamically added script elements are not shown in sources panel.
https://bugs.webkit.org/show_bug.cgi?id=99324

Reviewed by Pavel Feldman.

Source/WebCore:

NetworkUISourceCodeProvider now adds uiSourceCodes for dynamic anonymous scripts
and dynamic scripts loaded before inspector was opened.

Tests: http/tests/inspector-enabled/dynamic-scripts.html

inspector/debugger/dynamic-scripts.html

  • inspector/front-end/NetworkLog.js:

(WebInspector.NetworkLog.prototype.requestForURL):

  • inspector/front-end/NetworkUISourceCodeProvider.js:

(WebInspector.NetworkUISourceCodeProvider):
(WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
(WebInspector.NetworkUISourceCodeProvider.prototype._projectWillReset):

LayoutTests:

  • http/tests/inspector-enabled/dynamic-scripts-expected.txt: Added.
  • http/tests/inspector-enabled/dynamic-scripts.html: Added.
  • http/tests/inspector-enabled/resources/dynamic-script.js: Added.

(fooDynamicScript):

  • inspector/debugger/dynamic-scripts-expected.txt: Added.
  • inspector/debugger/dynamic-scripts.html: Added.
  • inspector/debugger/resources/dynamic-script.js: Added.

(fooDynamicScript):

7:47 AM Changeset in webkit [131301] by dominik.rottsches@intel.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(130613): Reintroduces crashes when using soup's timeout functionality
https://bugs.webkit.org/show_bug.cgi?id=99311

Reviewed by Gustavo Noronha Silva.

Removing the cleanupSoupRequestOperation call, since the cancel() call will eventually trigger the
cleanup already setting the right flag. Cleaning the handle already here will result in crashes when
using the soup timeout functionality.
The explicit cleanup call reintroduced in r130613, after it had been previously removed in r130348.

No new tests, tests that catch this will be part of bug 74802 for XHR timeout support.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::requestTimeoutCallback):

7:06 AM Changeset in webkit [131300] by Simon Hausmann
  • 30 edits in trunk

[Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
https://bugs.webkit.org/show_bug.cgi?id=88162

Reviewed by Kenneth Rohde Christiansen.

Rename the QtWebKit module to QtWebKitWidgets.

.:

  • Source/api.pri:
  • Source/sync.profile:

Source/WebKit/qt:

  • declarative/experimental/experimental.pri:
  • declarative/public.pri:
  • docs/webkitsnippets/simple/simple.pro:
  • docs/webkitsnippets/webpage/webpage.pro:
  • tests/tests.pri:

Source/WebKit2:

  • PluginProcess.pro:
  • UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
  • UIProcess/API/qt/tests/publicapi/publicapi.pro:
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
  • UIProcess/API/qt/tests/qmltests/WebView.pro:
  • UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
  • UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
  • UIProcess/API/qt/tests/tests.pri:
  • WebProcess.pro:

Tools:

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • MiniBrowser/qt/MiniBrowser.pro:
  • MiniBrowser/qt/raw/Target.pri:
  • QtTestBrowser/QtTestBrowser.pro:
  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort._path_to_webcore_library):

  • WebKitTestRunner/InjectedBundle/Target.pri:
  • WebKitTestRunner/Target.pri:
  • qmake/mkspecs/features/default_post.prf:
  • qmake/mkspecs/features/webkit_modules.prf:
  • qmake/mkspecs/features/win32/default_post.prf:
6:51 AM Changeset in webkit [131299] by loislo@chromium.org
  • 23 edits in trunk/Source

Web Inspector: convert manual size calculation of different WebKit things into MemoryInstrumentation.
https://bugs.webkit.org/show_bug.cgi?id=99309

Reviewed by Yury Semikhatsky.

JSHeap, DOMStorage and HeapProfiler data were counted manually.
Now we count the sizes more generic way.

Source/WebCore:

  • dom/WebCoreMemoryInstrumentation.cpp:
  • dom/WebCoreMemoryInstrumentation.h:

(WebCoreMemoryTypes): new string identifiers were added for Inspector's data.

  • inspector/InspectorBaseAgent.cpp:

(WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface): common data members were moved from template to base class.
(WebCore::InspectorBaseAgentInterface::reportMemoryUsage): NMI instrumentation was added to the base template.

  • inspector/InspectorBaseAgent.h:

(InspectorBaseAgentInterface): ditto
(WebCore::InspectorBaseAgent::InspectorBaseAgent): ditto

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::reportMemoryUsage): NMI instrumentation was added to the class.

  • inspector/InspectorController.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::reportMemoryUsage): NMI instrumentation was added to the class.

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDOMStorageResource.cpp:

(WebCore::InspectorDOMStorageResource::reportMemoryUsage): NMI instrumentation was added to the class.

  • inspector/InspectorDOMStorageResource.h:
  • inspector/InspectorMemoryAgent.cpp:

(WebCore::reportJSHeapInfo): these methods now use MemoryInstrumentation for reporting the size of underlying data.
(WebCore::reportRenderTreeInfo):
(WebCore::collectDomTreeInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
(WebCore::InspectorMemoryAgent::reportMemoryUsage): NMI instrumentation was added to the class.

  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::reportMemoryUsage):

  • inspector/InspectorProfilerAgent.h:

(InspectorProfilerAgent): NMI instrumentation was added to the class.

  • inspector/MemoryInstrumentationImpl.cpp: allocatedObjects map was converted from InspectorMemoryAgent::getProcessMemoryDistribution local variable to member variable.

(WebCore::MemoryInstrumentationClientImpl::checkCountedObject):
(WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage): NMI instrumentation was added to the class.
(WebCore::MemoryInstrumentationImpl::reportMemoryUsage): NMI instrumentation was added to the class.

  • inspector/MemoryInstrumentationImpl.h:

(WebCore::MemoryInstrumentationClientImpl::MemoryInstrumentationClientImpl):
(WebCore::MemoryInstrumentationClientImpl::allocatedObjects):
(WebCore::MemoryInstrumentationClientImpl::checkInstrumentedObjects):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.MemoryBlockViewProperties._initialize):
(WebInspector.NativeMemoryBarChart.prototype._updateView):

  • page/Page.cpp:

(WebCore::Page::reportMemoryUsage): NMI instrumentation was added to the class.

  • page/Page.h:

Source/WTF:

  • wtf/MemoryInstrumentation.h: calculateContainerSize were removed.
  • wtf/MemoryInstrumentationSequence.h: empty instrumentations were added for 'const char*' and 'const void*' sequences.
6:19 AM Changeset in webkit [131298] by rakuco@webkit.org
  • 9 edits in trunk/Source/WebKit2

[EFL][WK2] Encapsulate ref counting for Ewk objects in a parent class
https://bugs.webkit.org/show_bug.cgi?id=99174

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-15
Reviewed by Kenneth Rohde Christiansen.

Ewk objects can be inherited from RefCounted class, so that ref counting is encapsulated and RefPtr can be used.
Applied the new approach for Ewk_Navigation_Data and Ewk_Url_Request objects as an example.
The requirement of adoption can be satisfied as long as we keep dealing with smart pointers only.
In case external client provides an already referenced object as a raw pointer, relaxAdoptionRequirement() can be set
explicitly in this specific place.

  • UIProcess/API/efl/ewk_context_history_client.cpp:

(didNavigateWithNavigationData):

  • UIProcess/API/efl/ewk_download_job.cpp:

(_Ewk_Download_Job):
(_Ewk_Download_Job::_Ewk_Download_Job):
(_Ewk_Download_Job::~_Ewk_Download_Job):
(ewk_download_job_request_get):

  • UIProcess/API/efl/ewk_navigation_data.cpp:

(ewk_navigation_data_ref):
(ewk_navigation_data_unref):
(ewk_navigation_data_original_request_get):

  • UIProcess/API/efl/ewk_navigation_data_private.h:

(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):

  • UIProcess/API/efl/ewk_navigation_policy_decision.cpp:

(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(ewk_navigation_policy_request_get):
(ewk_navigation_policy_decision_new):

  • UIProcess/API/efl/ewk_url_request.cpp:

(ewk_url_request_ref):
(ewk_url_request_unref):

  • UIProcess/API/efl/ewk_url_request_private.h:

(_Ewk_Url_Request):
(_Ewk_Url_Request::_Ewk_Url_Request):

  • UIProcess/API/efl/ewk_view_resource_load_client.cpp:

(didInitiateLoadForResource):
(didSendRequestForResource):

6:12 AM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
(diff)
6:11 AM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Initial favicons done (diff)
5:45 AM Changeset in webkit [131297] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebKit2

[Qt] Regression(r130031) coverRect is used in wrong coordinates.
https://bugs.webkit.org/show_bug.cgi?id=97777

Reviewed by Jocelyn Turcotte.

Convert coverRect from screen coordinates to content coordinates before using it
outside tiled-backing store.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(WebCore::CoordinatedGraphicsLayer::coverRect):

4:37 AM Changeset in webkit [131296] by kinuko@chromium.org
  • 2 edits in trunk/Tools

[chromium] Removes unnecessary dependencies in DumpRenderTree.gyp
https://bugs.webkit.org/show_bug.cgi?id=99132

Reviewed by Kent Tamura.

Removing webkit_support:blob dependency for DumpRenderTree target as it doesn't seem necessary.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
4:11 AM Changeset in webkit [131295] by Csaba Osztrogonác
  • 4 edits
    6 adds in trunk/LayoutTests

[Qt] Unskip and rebase now passing tests.
https://bugs.webkit.org/show_bug.cgi?id=98824

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-15
Reviewed by Csaba Osztrogonác.

Updating tests results.

  • platform/qt/TestExpectations:
  • platform/qt/editing/selection/caret-rtl-2-expected.png: Added.
  • platform/qt/editing/selection/caret-rtl-2-expected.txt:
  • platform/qt/editing/selection/caret-rtl-expected.png: Added.
  • platform/qt/editing/selection/caret-rtl-expected.txt:
  • platform/qt/editing/selection/extend-selection-bidi-expected.png: Added.
  • platform/qt/editing/selection/extend-selection-bidi-expected.txt: Added.
  • platform/qt/editing/selection/move-past-trailing-space-expected.png: Added.
  • platform/qt/editing/selection/move-past-trailing-space-expected.txt: Added.
3:37 AM Changeset in webkit [131294] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt][WK2] Buildfix for newer Qt5.
https://bugs.webkit.org/show_bug.cgi?id=99303

Reviewed by Simon Hausmann.

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::PlatformWebView::resizeTo):

3:00 AM Changeset in webkit [131293] by tkent@chromium.org
  • 3 edits in trunk/Source/WebCore

Improve code of LocaleMac.mm
https://bugs.webkit.org/show_bug.cgi?id=98383

Reviewed by Darin Adler.

  • Use isNull instead of isEmpty because isNull is more efficient.
  • create*Formatter should return RetainPtr to avoid to retain in each of callsites.
  • Explicit String conversion is not needed.

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

  • platform/text/mac/LocaleMac.h:

(LocaleMac):

  • Change the return types of createShortDateFormatter,

createTimeFormatter, and createShortTimeFormatter from NSDateFormatter*
to RetainPtr<NSDateFormatter>.

  • Omit 'create' from their names.
  • Add m_gregorianCalendar.
  • platform/text/mac/LocaleMac.mm:

(WebCore::createDateTimeFormatter):
Change the return type from NSDateFormatter* to RetainPtr<NSDateFormatter>.
Add an NSCalendar argument.
(WebCore::LocaleMac::shortDateFormatter):
Renamed from createShortTimeFormatter.
Change the return type from NSDateFormatter* to RetainPtr<NSDateFormatter>.
(WebCore::LocaleMac::parseDateTime): Follow the return type change and the renaming.
(WebCore::LocaleMac::formatDateTime): Ditto. Also, remove explicit String construction.
(WebCore::LocaleMac::dateFormatText): Ditto. Also, use isNull.
(WebCore::LocaleMac::monthLabels): Follow the return type change and the renaming.
(WebCore::LocaleMac::weekDayShortLabels): Ditto.
(WebCore::LocaleMac::timeFormatter):
Change the return type from NSDateFormatter* to RetainPtr<NSDateFormatter>.
Renamed from createTimeFormatter.
(WebCore::LocaleMac::shortTimeFormatter): Ditto.
(WebCore::LocaleMac::dateFormat):
Use isNull. Remove explicit String construction. Follow the return type
change and the renaming.
(WebCore::LocaleMac::timeFormat): ditto.
(WebCore::LocaleMac::shortTimeFormat): ditto.
(WebCore::LocaleMac::timeAMPMLabels):
Remove explicit String construction. Follow the return type change.
(WebCore::LocaleMac::initializeLocalizerData):
Remove explicit String construction.

2:50 AM Changeset in webkit [131292] by Carlos Garcia Campos
  • 5 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Add missing header file.

Source/WebKit2:

  • GNUmakefile.am: Add .in files in WebKit2/Shared to EXTRA_DIST.
  • GNUmakefile.list.am: Remove deleted file.
2:23 AM WebKitEFLLayoutTest edited by dominik.rottsches@intel.com
display prefix (diff)
12:46 AM WebInspector edited by doris.greys@gmail.com
(diff)
12:26 AM Changeset in webkit [131291] by shinyak@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, TestExpectations updated.

  • platform/chromium/TestExpectations:
12:05 AM WebKitEFLLayoutTest edited by kangil.han@samsung.com
To pass more LayoutTests/media cases. :) (diff)

Oct 14, 2012:

11:21 PM Changeset in webkit [131290] by loislo@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: NMI remove hand made object builders with automatic builder.
https://bugs.webkit.org/show_bug.cgi?id=99186

Reviewed by Yury Semikhatsky.

Old builders were replaced with single automatic builder.
It does the next things:
a) deduplicates entries in the MemoryInstrumentationClient's map and converts objectType pointers to String;
b) creates parent entries and assigns their aggregated sizes;
c) creates the hierarchy of MemoryBlocks recursively.

  • dom/WebCoreMemoryInstrumentation.cpp:

(WebCore):

  • dom/WebCoreMemoryInstrumentation.h:

(WebCoreMemoryTypes):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore):
(WebCore::jsHeapInfo):
(WebCore::renderTreeInfo):
(WebCore::addPlatformComponentsInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • inspector/MemoryInstrumentationImpl.cpp:

(WebCore::MemoryInstrumentationClientImpl::sizesMap):
(WebCore):

  • inspector/MemoryInstrumentationImpl.h:

(WebCore):
(MemoryInstrumentationClientImpl):

8:17 PM Changeset in webkit [131289] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

DFG should handle polymorphic array modes by eagerly transforming arrays into the most general applicable form
https://bugs.webkit.org/show_bug.cgi?id=99269

Reviewed by Geoffrey Garen.

This kills off a bunch of code for "polymorphic" array modes in the DFG. It should
also be a performance win for code that uses a lot of array storage arrays.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::fromObserved):
(JSC::DFG::modeAlreadyChecked):
(JSC::DFG::modeToString):

  • dfg/DFGArrayMode.h:

(DFG):
(JSC::DFG::modeUsesButterfly):
(JSC::DFG::modeIsJSArray):
(JSC::DFG::mayStoreToTail):
(JSC::DFG::mayStoreToHole):
(JSC::DFG::canCSEStorage):
(JSC::DFG::modeSupportsLength):
(JSC::DFG::benefitsFromStructureCheck):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::byValIsPure):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):
(DFG):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::putByValWillNeedExtraRegister):
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

7:40 PM Changeset in webkit [131288] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the world.

Add back a forgotten !.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::postInjectedBundleMessage):

7:33 PM Changeset in webkit [131287] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(126886): Fat binary builds don't know how to handle architecture variants to which the LLInt is agnostic
https://bugs.webkit.org/show_bug.cgi?id=99270

Reviewed by Geoffrey Garen.

The fix is to hash cons the offsets based on configuration index, not the offsets
themselves.

  • offlineasm/offsets.rb:
7:01 PM Changeset in webkit [131286] by shinyak@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, TestExpectations updated.

  • platform/chromium/TestExpectations:
6:52 PM Changeset in webkit [131285] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Stop all the crashing!

The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.

  • UIProcess/WebConnectionToWebProcess.h:

(WebKit::WebConnectionToWebProcess::webProcessProxy):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::fromConnection):

6:21 PM Changeset in webkit [131284] by tkent@chromium.org
  • 8 edits in branches/chromium/1271

Merge 130848 - Sub-fields in input[type=time] should not be focusable if the input is disabled or read-only
https://bugs.webkit.org/show_bug.cgi?id=98850

Reviewed by Kentaro Hara.

Source/WebCore:

Covered by additional test cases of
time-multiple-fields/time-multiple-fields-keyboard-events.html and
time-multiple-fields/time-multiple-fields-mouse-events.html.

  • html/shadow/DateTimeFieldElement.h:

(FieldOwner): Add isFieldOwnerDisabledOrReadOnly.

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::isFocusable):
Check isFieldOwnerDisabledOrReadOnly, and calls HTMLElement::isFocusable()
just in case.

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditElement::isFieldOwnerDisabledOrReadOnly): Added.

  • html/shadow/DateTimeEditElement.h:

(DateTimeEditElement): Declare isFieldOwnerDisabledOrReadOnly.

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:
  • fast/forms/time-multiple-fields/time-multiple-fields-mouse-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html:

TBR=tkent@chromium.org
Review URL: https://codereview.chromium.org/11150011

5:28 PM Changeset in webkit [131283] by weinig@apple.com
  • 8 edits in trunk/Source/WebKit2

Re-land of "WebContext should be a MessageReceiver"
https://bugs.webkit.org/show_bug.cgi?id=98958

Patch by Anders Carlsson <andersca@apple.com> on 2012-10-14
Reviewed by Sam Weinig.

Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.

  • Platform/CoreIPC/Connection.h:

(CoreIPC::Connection::client):
(Connection):

  • Platform/CoreIPC/MessageReceiverMap.cpp:

(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC::MessageReceiverMap::invalidate):
(CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):

  • Platform/CoreIPC/MessageReceiverMap.h:

(MessageReceiverMap):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):

  • UIProcess/WebContext.h:

(WebContext):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::fromConnection):
(WebKit):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

5:24 PM Changeset in webkit [131282] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

WebPage::PostInjectedBundleMessage should be a variadic message
https://bugs.webkit.org/show_bug.cgi?id=99277

Reviewed by Sam Weinig.

Don't use a data reference for messages posted to the injected bundle; they could contain data that requires attachments
(such as shared memory).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::postMessageToInjectedBundle):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::postInjectedBundleMessage):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
4:55 PM Changeset in webkit [131281] by weinig@apple.com
  • 23 edits
    2 deletes in trunk/Source

Simplify user content in WebKit2 by using WebCore::UserStyleSheet and WebCore::UserScript directly
https://bugs.webkit.org/show_bug.cgi?id=99276

Reviewed by Anders Carlsson.

Source/WebCore:

Add default constructors for UserScript and UserStyleSheet so they can be used in CoreIPC encoding/decoding.

  • page/UserScript.h:

(WebCore::UserScript::UserScript):
(UserScript):

  • page/UserStyleSheet.h:

(WebCore::UserStyleSheet::UserStyleSheet):
(UserStyleSheet):

Source/WebKit2:

  • Removes UserContentContainer in favor of Vector<UserStyleSheet> and Vector<UserScript> right on WebPageGroupData.
  • Adds support for UserScripts, but does not expose API for it just yet.
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:
  • Shared/UserContentContainer.cpp: Removed.
  • Shared/UserContentContainer.h: Removed.

Remove UserContentContainer.h/cpp.

  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toUserScriptInjectionTime):
(WebKit::toUserContentInjectedFrames):

  • WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:

Move UserContent enums to WKBase.h so they can be used from both processes, and move the
casts to WKSharedAPICast.

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:

Add coders for UserStyleSheet and UserScript.

  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:

(WebPageGroupData):
Replace UserContentContainer with Vector<UserStyleSheet> and Vector<UserScript>. Stop using
CoreIPC::In() and CoreIPC::Out(), and instead just call encode/decode multiple times.

  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserStyleSheet):
Pass the parameters with as little conversion as possible to the C++ to avoid doing too much
work in the API layer.

  • UIProcess/WebPageGroup.cpp:

(WebKit::toStringVector):
(WebKit::WebPageGroup::addUserStyleSheet):
(WebKit::WebPageGroup::addUserScript):
(WebKit::WebPageGroup::removeAllUserStyleSheets):
(WebKit::WebPageGroup::removeAllUserScripts):
(WebKit::WebPageGroup::removeAllUserContent):

  • UIProcess/WebPageGroup.h:
  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::addUserStyleSheet):
(WebKit::WebPageGroupProxy::addUserScript):
(WebKit::WebPageGroupProxy::removeAllUserScripts):
(WebKit::WebPageGroupProxy::removeAllUserContent):

  • WebProcess/WebPage/WebPageGroupProxy.h:

(WebPageGroupProxy):

  • WebProcess/WebPage/WebPageGroupProxy.messages.in:

Add support for user scripts and update to use UserScript and UserStyleSheet directly.

4:50 PM Changeset in webkit [131280] by jonlee@apple.com
  • 15 edits
    2 adds in trunk

Allow notification origin permission request when no js callback is provided
https://bugs.webkit.org/show_bug.cgi?id=63615
<rdar://problem/11059590>

Reviewed by Sam Weinig.

Source/WebCore:

Instead of throwing a type error when no callback is provided, we pass a null callback.

Test: http/tests/notifications/legacy/request-no-callback.html

  • bindings/js/JSDesktopNotificationsCustom.cpp:

(WebCore::JSNotificationCenter::requestPermission):

Source/WebKit/mac:

Introduce a boolean to determine whether the request was using the legacy or standard API. This way,
we do not fall through to calling the standard API's callback if the legacy API's callback is null.

  • WebCoreSupport/WebNotificationClient.mm:

(WebCore):
(-[WebNotificationPolicyListener initWithVoidCallback:]):
(-[WebNotificationPolicyListener allow]):
(-[WebNotificationPolicyListener deny]):

Source/WebKit2:

Null checks already exist for both standard and legacy API callbacks, so no changes are needed here
like there are in WebKit 1. The checks existed because the callbacks are held in a hash map used to keep
track of pending requests.

Also, add a check for a null callback when short circuiting.

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest):

Tools:

Teach DRT to look at the existing entries in the permission hash map when permission is requested.

  • DumpRenderTree/mac/MockWebNotificationProvider.h: Expose policyForOrigin.
  • DumpRenderTree/mac/MockWebNotificationProvider.mm:

(-[MockWebNotificationProvider setWebNotificationOrigin:permission:]):

  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate webView:decidePolicyForNotificationRequestFromOrigin:listener:]): Look at whether a
policy for the origin already exists. If so, accept or deny the request as appropriate. Otherwise,
accept by default.

LayoutTests:

  • http/tests/notifications/legacy/request-expected.txt:
  • http/tests/notifications/legacy/request-no-callback-expected.txt: Added.
  • http/tests/notifications/legacy/request-no-callback.html: Calls webkitNotifications.requestPermission()

with no callback, with default and denied permission. For WebKit2, if the permission is not default, it
will short circuit instead of creating a pending request.

  • http/tests/notifications/legacy/request.html: The test mistakenly uses the standard API instead of

the legacy API. The results don't change, but we make sure that we call
webkitNotifications.requestPermission() with a callback to test full coverage of the legacy API. We also
expand the test to cover both default and denied permissions.

  • http/tests/notifications/request-expected.txt:
  • http/tests/notifications/request.html: Expand test to cover both default and denied permissions.
4:39 PM Changeset in webkit [131279] by andersca@apple.com
  • 10 edits in trunk/Source

Move QDataStream functions into HistoryItemQt.cpp
https://bugs.webkit.org/show_bug.cgi?id=99203

Reviewed by Andreas Kling.

Source/WebCore:

It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp
inside WebCore, so move them there. If in the future they are required elsewhere, they should
be moved into a separate header instead of polluting headers unnecessarily.

  • history/qt/HistoryItemQt.cpp:

(operator<<):
(operator>>):

  • platform/FractionalLayoutUnit.h:
  • platform/graphics/IntPoint.h:

Source/WebKit2:

Forward declare QTransform.

  • Shared/qt/WebEventFactoryQt.h:

Source/WTF:

It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp
inside WebCore, so move them there. If in the future they are required elsewhere, they should
be moved into a separate header instead of polluting headers unnecessarily.

  • wtf/Vector.h:
  • wtf/qt/StringQt.cpp:
  • wtf/text/WTFString.h:
4:21 PM Changeset in webkit [131278] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Explicitly mark messages variadic
https://bugs.webkit.org/show_bug.cgi?id=99229

Reviewed by Dan Bernstein.

Instead of deciding whether messages are variadic based on their type, decide it based on the existence of a 'Variadic' message attribute.

  • Scripts/webkit2/messages.py:

(messages_to_kind_enum):
(decode_type):
(async_case_statement):
(sync_case_statement):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebProcess.messages.in:
3:11 PM Changeset in webkit [131277] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/win

Fix the windows build.

  • WebView.cpp:

(toStringVector):

3:05 PM Changeset in webkit [131276] by fpizlo@apple.com
  • 19 edits in trunk/Source/JavaScriptCore

IndexingType should not have a bit for each type
https://bugs.webkit.org/show_bug.cgi?id=98997

Reviewed by Oliver Hunt.

Somewhat incidentally, the introduction of butterflies led to each indexing
type being represented by a unique bit. This is superficially nice since it
allows you to test if a structure corresponds to a particular indexing type
by saying !!(structure->indexingType() & TheType). But the downside is that
given the 8 bits we have for the m_indexingType field, that leaves only a
small number of possible indexing types if we have one per bit.

This changeset changes the indexing type to be:

Bit #1: Tells you if you're an array.

Bits #2 - #5: 16 possible indexing types, including the blank type for

objects that don't have indexed properties.


Bits #6-8: Auxiliary bits that we could use for other things. Currently we

just use one of those bits, for MayHaveIndexedAccessors.


This is performance-neutral, and is primarily intended to give us more
breathing room for introducing new inferred array modes.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::JumpList::jumps):

  • assembler/MacroAssembler.h:

(MacroAssembler):
(JSC::MacroAssembler::patchableBranch32):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::patchableBranch32):
(MacroAssemblerARMv7):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::modeAlreadyChecked):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
(DFG):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitAllocateJSArray):
(JSC::JIT::chooseArrayMode):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emitArrayStorageGetByVal):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emitArrayStorageGetByVal):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/IndexingType.h:

(JSC):
(JSC::hasIndexedProperties):
(JSC::hasContiguous):
(JSC::hasFastArrayStorage):
(JSC::hasArrayStorage):
(JSC::shouldUseSlowPut):

  • runtime/JSGlobalObject.cpp:

(JSC):

  • runtime/StructureTransitionTable.h:

(JSC::newIndexingType):

2:55 PM Changeset in webkit [131275] by weinig@apple.com
  • 21 edits in trunk/Source

Make UserScript and UserStyleSheet value objects that are copyable
https://bugs.webkit.org/show_bug.cgi?id=99275

Reviewed by Tim Horton.

Source/WebCore:

Simplify UserScript and UserStyleSheet and make them more easily usable
without sticking them in an OwnPtr.

  • WebCore.exp.in:

Update exports.

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::addUserStyleSheetToWorld):

  • page/PageGroup.h:

(PageGroup):

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::matchesPatterns):

  • page/UserContentURLPattern.h:

(UserContentURLPattern):
Update to not assume whitelist and blacklist are in Vector<String>*.

  • page/UserScript.h:

(UserScript):
(WebCore::UserScript::UserScript):
(WebCore::UserScript::whitelist):
(WebCore::UserScript::blacklist):

  • page/UserStyleSheet.h:

(UserStyleSheet):
(WebCore::UserStyleSheet::UserStyleSheet):
(WebCore::UserStyleSheet::whitelist):
(WebCore::UserStyleSheet::blacklist):
Switch OwnPtr<Vector<String> > to Vector<String> and remove Noncopyable restriction.

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebView::addUserScript):
(WebKit::WebView::addUserStyleSheet):
Update for new PageGroup function signatures.

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::addUserScript):
(DumpRenderTreeSupportEfl::addUserStyleSheet):
Update for new PageGroup function signatures.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _injectMailQuirksScript]):
(-[WebView _injectOutlookQuirksScript]):
Update for new PageGroup function signatures.

Source/WebKit2:

  • Shared/UserContentContainer.cpp:

(WebKit::toStringVector):
(WebKit::UserContentContainer::Item::Item):
(WebKit::UserContentContainer::Item::encode):
(WebKit::UserContentContainer::Item::decode):

  • Shared/UserContentContainer.h:

(WebKit::UserContentContainer::Item::whitelist):
(WebKit::UserContentContainer::Item::blacklist):
Switch UserContentContainer::Item to store Vector<String> instead of ImmutableArray, easing
transition to new PageGroup function signatures.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::toStringVector):

  • WebProcess/WebPage/qt/WebPageQt.cpp:

(WebKit::WebPage::setUserScripts):
Update for new PageGroup function signatures.

2:48 PM Changeset in webkit [131274] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206

Unreviewed build fix, export ZN7WebCore8IntPointC1ERK7CGPoint.

  • WebCore.exp.in:
2:32 PM Changeset in webkit [131273] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206

Unreviewed build fix, hand ivar name to @synthesize since it doesn't match the property name.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:
2:28 PM Changeset in webkit [131272] by timothy_horton@apple.com
  • 1 edit
    2 copies in trunk/Source/WebKit2

[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206

Unreviewed, attempt to manipuate SVN to retain the history of SimplePDFPlugin.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.h.
  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.mm.
2:00 PM Changeset in webkit [131271] by timothy_horton@apple.com
  • 32 edits
    4 adds
    2 deletes in trunk/Source

[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206

Reviewed by Dan Bernstein.

Add PDFPlugin, which uses PDFKit to display PDFs, instead of using PDFKit in the
UIProcess for full-page PDFs. This new plugin will also be used for inline PDFs
in place of SimplePDFPlugin (née BuiltInPDFView).

  • Configurations/FeatureDefines.xcconfig: Add ENABLE_PDF_PLUGIN.

Support three new Plugin methods:

  • handleEditingCommand, which hands editing commands to the Plugin
  • isEditingCommandEnabled, which validates editing commands via the Plugin
  • handlesPageScaleFactor, which asks the plugin whether it wants to opt into a mode where the WebPage doesn't scale in the ordinary fashion, but instead proxies the Plugin's scale factor, so full-page plugins can handle scale factor changes however they need to.
  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::handleEditingCommand): Proxy handleEditingCommand to the Plugin.
(WebKit::PluginControllerProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the Plugin.
(WebKit::PluginControllerProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the Plugin.

  • PluginProcess/PluginControllerProxy.h:

(PluginControllerProxy): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.

  • PluginProcess/PluginControllerProxy.messages.in: Add HandleEditingCommand, IsEditingCommandEnabled, and HandlesPageScaleFactor.
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::handleEditingCommand): NPAPI plugins support no editing commands by default.
(WebKit::NetscapePlugin::isEditingCommandEnabled): NPAPI plugins enable no editing commands by default.
(WebKit::NetscapePlugin::handlesPageScaleFactor): NPAPI plugins do not handle page scale factor changes themselves by default.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h: Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.

Add PDFPluginEnabled preference. If it is not enabled, or the plugin is
not built, behavior will be the same as before (the UIProcess PDFView will
handle full-page PDFs, and SimplePDFPlugin will handle inline ones).

  • Shared/WebPreferencesStore.h: Add PDFPluginEnabled preference.
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetPDFPluginEnabled): Setter for PDFPluginEnabled preference.
(WKPreferencesGetPDFPluginEnabled): Getter for PDFPluginEnabled preference.

  • UIProcess/API/C/WKPreferencesPrivate.h: Expose WKPreferences(Set|Get)PDFPluginEnabled as a private preference.

Move support for MIME types with custom representations onto WebPage instead of WebProcess.
This allows us to use preferences to control the use of custom representations (for example,
it allows us to have a preference to toggle between UIProcess's PDFView and PDFPlugin).

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Don't pass mimeTypesWithCustomRepresentation
into the WebProcess, as we can compute it later.
(WebKit::WebProcessCreationParameters::decode): Same, on the decode side.

  • Shared/WebProcessCreationParameters.h: Remove mimeTypesWithCustomRepresentation.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess): Don't add pdfAndPostScriptMIMETypes to mimeTypesWithCustomRepresentation here, as we're now computing it on WebPage instead.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::canPluginHandleResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
(WebKit::WebPage::shouldUseCustomRepresentationForResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::pdfAndPostScriptMIMETypes): Return the set of MIME types used for PDF and PostScript, which are handled with PDFView if PDFPlugin is not available or enabled.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Don't keep m_mimeTypesWithCustomRepresentations on WebProcess, it's owned by WebPage now.

  • WebProcess/WebProcess.h: Move canPluginHandleResponse and shouldUseCustomRepresentationForResponse to WebPage.

Add PDFLayerController to the set of classes returned by PDFKitImports.

  • Shared/mac/PDFKitImports.h: Add pdfLayerControllerClass.
  • Shared/mac/PDFKitImports.mm:

(WebKit::pdfLayerControllerClass): Find and return the PDFLayerController class.

Add PDFPlugin, which inherits from SimplePDFPlugin, but uses PDFKit instead
of CoreGraphics, to provide additional interactive functionality.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendDidGetPlugins): Add PDFPlugin to the set of supported plugins.

  • WebKit2.xcodeproj/project.pbxproj: Add PDFPlugin, rename BuiltInPDFView to SimplePDFPlugin.
  • WebProcess/Plugins/PDF/PDFPlugin.h: Added.
  • WebProcess/Plugins/PDF/PDFPlugin.mm: Added.

PDFPlugin uses layers for scrollbars.

(-[WKPDFPluginScrollbarLayer initWithPDFPlugin:WebKit::]): Initialize our CALayer subclass,
storing its parent PDFPlugin so it can delegate drawing there.
(-[WKPDFPluginScrollbarLayer actionForKey:]): Disable CoreAnimation implicit actions.
(-[WKPDFPluginScrollbarLayer drawInContext:]): Delegate scrollbar drawing to PDFPlugin.

Implement the PDFLayerController delegate, eventually forwarding calls back to PDFPlugin.

(-[WKPDFLayerControllerDelegate initWithPDFPlugin:WebKit::]): Initialize our delegate,
storing its parent PDFPlugin so it can forward delegate calls there.
(-[WKPDFLayerControllerDelegate updateScrollPosition:]): Update PDFPlugin's notion of the
current scroll position, when PDFKit changes the scroll position itself.
(-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Write the given
array of NSData objects to the pasteboard with the given types.

The following PDFLayerController delegate methods will be implemented in the future.

(-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]):
(-[WKPDFLayerControllerDelegate performWebSearch:]):
(-[WKPDFLayerControllerDelegate openWithPreview]):
(-[WKPDFLayerControllerDelegate saveToPDF]):

(WebKit::PDFPlugin::PDFPlugin): Set up the requisite layer hierarchy, and create a PDFLayerController (and its delegate proxy).
(WebKit::PDFPlugin::updateScrollbars): Update the frame of the layers hosting our scrollbars.
(WebKit::PDFPlugin::createScrollbar): Create a scrollbar and hosting layer, attaching its layer
to PDFPlugin's container layer.
(WebKit::PDFPlugin::destroyScrollbar): Destroy a scrollbar, detaching and destroying its hosting layer in the process.
(WebKit::PDFPlugin::pdfDocumentDidLoad): Called when the document finishes loading; hand
the loaded document to PDFKit, update all of our state (cached document size, scrollbars, etc.), and then execute any scripts in the document (to allow for automatic printing).
(WebKit::PDFPlugin::calculateSizes): Determine the size of the PDF and its pages.
(WebKit::PDFPlugin::destroy): Tear down the layer hierarchy.
(WebKit::PDFPlugin::paint): PDFPlugin is layer-based, so we paint nothing into the tiles.
(WebKit::PDFPlugin::paintControlForLayerInContext): Scrollbar controls are drawn into layers, but their painting is delegated here from WKPDFPluginScrollbarLayer.
(WebKit::PDFPlugin::snapshot): Perform a paint into a bitmap context.
(WebKit::PDFPlugin::pluginLayer): Return PDFPlugin's root layer.
(WebKit::PDFPlugin::geometryDidChange): The size or scale of the plugin changed; update
PDFLayerController's notion of the size and page scale, and invalidate the scrollbars.

Mouse and keyboard events are converted back into NSEvents, but with
locationInWindow actually in terms of the PDFPlugin's layer, not
the window (since there is no window).

(WebKit::modifierFlagsFromWebEvent): Construct an AppKit-style modifier bitmask from WebEvent's modifier key getters.
(WebKit::eventTypeFromWebEvent): Return the NSEventType equivalent to the given WebEvent. Only supports keyboard and mouse events, and only the left and right mouse button.
(WebKit::PDFPlugin::handleMouseEvent): Construct an NSEvent from the given WebMouseEvent and hand it to PDFLayerController. Mouse coordinates are in terms of m_contentLayer's origin.
(WebKit::PDFPlugin::handleKeyboardEvent): Construct an NSEvent from the given WebKeyboardEvent and hand it to PDFLayerController. PDFLayerController currently only handles keyDown events.

(WebKit::PDFPlugin::handleEditingCommand): Handle copy and select-all commands, and forward them to PDFLayerController.
(WebKit::PDFPlugin::isEditingCommandEnabled): The 'copy' command should be enabled if
the user has selected a part of the PDF. The 'select all' command should always be enabled.

(WebKit::PDFPlugin::setScrollOffset): Update both PDFPlugin and PDFLayerController's notion
of the current scroll position.
(WebKit::PDFPlugin::invalidateScrollbarRect): Invalidate the whole scrollbar layer.
(WebKit::PDFPlugin::invalidateScrollCornerRect): Invalidate the whole scroll corner layer.

Rename BuiltInPDFView to SimplePDFPlugin, to differentiate it from PDFPlugin
and to better denote its inheritance from Plugin.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.h.

(WebKit::SimplePDFPlugin): Make methods protected so PDFPlugin can override them. Rename m_pluginSize -> m_size, and m_dataBuffer->m_data.
(WebKit::SimplePDFPlugin::size): Retrieve the size of the plugin.
(WebKit::SimplePDFPlugin::setSize): Set the size of the plugin.
(WebKit::SimplePDFPlugin::pdfDocument): Retrieve the currently represented PDF document.
(WebKit::SimplePDFPlugin::setPDFDocument): Set the currently represented PDF document.
(WebKit::SimplePDFPlugin::pdfDocumentSize): Retrieve the current size of the PDF.
(WebKit::SimplePDFPlugin::setPDFDocumentSize): Set the current size of the PDF.
(WebKit::SimplePDFPlugin::data): Retrieve the accumulated document data.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.mm.

(WebKit::SimplePDFPlugin::computePageBoxes): Copied out of calculateSizes() so PDFPlugin can use it too.
(WebKit::SimplePDFPlugin::runScriptsInPDFDocument): Factored out of pdfDocumentDidLoad() so PDFPlugin can use it too.
(WebKit::SimplePDFPlugin::convertFromScrollbarToContainingView): Implement the remaining scrollbar point conversion functions.
(WebKit::SimplePDFPlugin::convertFromContainingViewToScrollbar): Implement the remaining scrollbar point conversion functions.

  • WebProcess/Plugins/Plugin.h:

(Plugin): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.

  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::handleEditingCommand): Proxy handleEditingCommand to the PluginProcess.
(WebKit::PluginProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled
to the PluginProcess.
(WebKit::PluginProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor
to the PluginProcess.

  • WebProcess/Plugins/PluginProxy.h: Add handleEditingCommand, isEditingCommandEnabled,

and handlesPageScaleFactor.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setPageScaleFactor): Set the plugin's current page scale factor. Also,
update WebPageProxy's notion of the current pageScaleFactor when this is called.
(WebKit::PluginView::pageScaleFactor): Return the plugin's current page scale factor.
(WebKit::PluginView::handleEditingCommand): Proxy handleEditingCommand to the plugin.
(WebKit::PluginView::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the plugin.

  • WebProcess/Plugins/PluginView.h:

(PluginView): Add handleEditingCommand, isEditingCommandEnabled,
setPageScaleFactor/pageScaleFactor, and handlesPageScaleFactor. Add m_pageScaleFactor.
(WebKit::PluginView::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the plugin.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::restoreViewState): Don't update WebPageProxy's notion of the scale factor if it should be the default.
(WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin): Create a PDFPlugin if appropriate (if it is built and the setting is enabled).
(WebKit::pluginViewForFrame): Return the PluginView for the given frame if its document is a PluginDocument.
(WebKit::WebPage::executeEditingCommand): Attempt to execute editing commands on the
currently focused (or main-frame) plugin.
(WebKit::WebPage::isEditingCommandEnabled): Validate editing commands against the
currently focused (or main-frame) plugin.
(WebKit::WebPage::scalePage): If the plugin reports that it handles page scale factor
itself, hand it the new scale instead of WebCore.
(WebKit::WebPage::pageScaleFactor): If the plugin reports that it handles page scale
factor itself, return its notion of the current scale instead of WebCore's.
(WebKit::WebPage::validateCommand): Validate editing commands against the
currently focused (or main-frame) plugin.
(WebKit::WebPage::updatePreferences): Update m_pdfPluginEnabled given the relevant WebPreference.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::pdfPluginEnabled): Return whether or not PDFPlugin should be used.
(WebKit::WebPage::setPDFPluginEnabled): Set whether or not PDFPlugin should be used.

  • WebCore.exp.in:

Export a few more methods to WebKit(2).

  • WebCore.xcodeproj/project.pbxproj:

Expose Pasteboard.h as a private header so PDFPlugin can use it.

  • platform/ScrollableArea.h:

Make invalidateScrollbar/invalidateScrollCorner virtual.

1:22 PM Changeset in webkit [131270] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG structure check hoisting should attempt to ignore side effects and make transformations that are sound even in their presence
https://bugs.webkit.org/show_bug.cgi?id=99262

Reviewed by Oliver Hunt.

This hugely simplifies the structure check hoisting phase. It will no longer be necessary
to modify it when the effectfulness of operations changes. This also enables the hoister
to hoist effectful things in the future.

The downside is that the hoister may end up adding strictly more checks than were present
in the original code, if the code truly has a lot of side-effects. I don't see evidence
of this happening. This patch does have some speed-ups and some slow-downs, but is
neutral in the average, and the slow-downs do not appear to have more structure checks
than ToT.

  • dfg/DFGStructureCheckHoistingPhase.cpp:

(JSC::DFG::StructureCheckHoistingPhase::run):
(JSC::DFG::StructureCheckHoistingPhase::noticeStructureCheck):
(StructureCheckHoistingPhase):
(CheckData):
(JSC::DFG::StructureCheckHoistingPhase::CheckData::CheckData):

12:58 PM Changeset in webkit [131269] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix the build of universal binary with ARMv7s of JavaScriptCore

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter.asm:
12:42 PM Changeset in webkit [131268] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Array length array profiling is broken in the baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=99258

Reviewed by Oliver Hunt.

The code generator for array length stubs calls into
emitArrayProfilingSiteForBytecodeIndex(), which emits profiling only if
canBeOptimized() returns true. But m_canBeOptimized is only initialized during
full method compiles, so in a stub compile it may (or may not) be false, meaning
that we may, or may not, get meaningful profiling info.

This appeared to not affect too many programs since the LLInt has good array
length array profiling.

  • jit/JIT.h:

(JSC::JIT::compilePatchGetArrayLength):

9:22 AM Changeset in webkit [131267] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for WinCE after r131089.

WinCE does not support getenv().

  • runtime/Options.cpp:

(JSC::overrideOptionWithHeuristic):

7:58 AM Changeset in webkit [131266] by Patrick Gansterer
  • 2 edits in trunk

Unreviewed, rolling out r130656.
http://trac.webkit.org/changeset/130656
https://bugs.webkit.org/show_bug.cgi?id=97592

Broke CMake build on Windows

  • CMakeLists.txt:
7:19 AM Changeset in webkit [131265] by timothy@apple.com
  • 4 edits in trunk/Source/WebCore

InspectorPageAgent should expose a method to control the compositing debug settings.
https://bugs.webkit.org/show_bug.cgi?id=99253

Patch by Antoine Quint <Antoine Quint> on 2012-10-14
Reviewed by Timothy Hatcher.

  • inspector/Inspector.json:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setCompositingBordersVisible):

  • inspector/InspectorPageAgent.h:

Oct 13, 2012:

7:21 PM Changeset in webkit [131264] by weinig@apple.com
  • 8 edits in trunk/Source/WebKit2

Use class extension rather than a void* member for new Objective-C WebProcessPlugIn SPI
https://bugs.webkit.org/show_bug.cgi?id=99256

Reviewed by Dan Bernstein.

A bit of good old fashion cleanup.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:

Remove the void* member.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

Move members from the WKWebProcessPlugInControllerData struct to a class extension.

(didCreatePage):
(willDestroyPage):
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
Directly access the members instead of using properties, now that it is not inconvenient.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:

Remove the void* member.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

Move members from the WKWebProcessPlugInBrowserContextControllerData struct to a class extension.

(-[WKWebProcessPlugInBrowserContextController _initWithBundlePageRef:]):
(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
Remove unnecessary casts..

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

Add space before the parenthesis of a category to be consistent.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:

Remove unnecessary forward declare.

5:58 PM Changeset in webkit [131263] by aestes@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Add a private header for WKWebProcessPlugInBrowserContextController that defines a property for getting the WKBundlePageRef
https://bugs.webkit.org/show_bug.cgi?id=99252

Reviewed by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: Added.
11:21 AM Changeset in webkit [131262] by crogers@google.com
  • 8 edits in trunk/Source

WebAudioBus needs support for resizing bus to a smaller size
https://bugs.webkit.org/show_bug.cgi?id=99215

Reviewed by Dimitri Glazkov.

Upgrade AudioBus and WebAudioBus to support resizing to a smaller size, once it has been created.
This is useful, for example, when decoding VBR formats and the actual length can't be exactly determined
until the entire file is decoded.

Source/Platform:

  • chromium/public/WebAudioBus.h:

(WebAudioBus):

Source/WebCore:

  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::resizeSmaller):
(WebCore):

  • platform/audio/AudioBus.h:

(AudioBus):

  • platform/audio/AudioChannel.cpp:

(WebCore::AudioChannel::resizeSmaller):
(WebCore):

  • platform/audio/AudioChannel.h:

(AudioChannel):

  • platform/chromium/support/WebAudioBus.cpp:

(WebKit::WebAudioBus::resizeSmaller):
(WebKit):

10:55 AM Changeset in webkit [131261] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add warning for unrenderable textures
https://bugs.webkit.org/show_bug.cgi?id=99235

Patch by Gregg Tavares <gman@google.com> on 2012-10-13
Reviewed by Kenneth Russell.

Unrenderable textures are often hard to debug. Adds a message to that
appears in the JavaScript console to help developers find the issue.

No new tests as no new functionality.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::handleNPOTTextures):

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

10:04 AM Changeset in webkit [131260] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

Not reviewed.

Updated bindings test results.

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):

9:57 AM Changeset in webkit [131259] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[TestResultServer] Unit tests require an update after r131239
https://bugs.webkit.org/show_bug.cgi?id=99236

Reviewed by Ojan Vafai.

Replacing 'Webkit' with 'WebKit' in builder names througout the unit tests
after the Chromium builders have been renamed recently.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
9:46 AM Changeset in webkit [131258] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

I pity da foo' who's converting numbers to strings
https://bugs.webkit.org/show_bug.cgi?id=99197

Reviewed by Gavin Barraclough.

40% speedup on PerformanceTests/Dromaeo/dom-traverse.html. Probably speeds
some other things up too.

Credit to Eric Seidel for spotting this.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): getOwnPropertySlotByIndex doesn't need to prefer
string lookup in the static table because our static tables don't contain
properties that are numbers.

I believe this is low-hanging fruit left behind by Phil's
getOwnPropertySlotByIndex optimization, but it's also possible that this was a
regression at some point. I didn't check.

6:20 AM Changeset in webkit [131257] by jpetsovits@rim.com
  • 12 edits
    4 adds in trunk/Source/WebKit

[BlackBerry] Fetch blit rects from a viewport accessor
https://bugs.webkit.org/show_bug.cgi?id=98581
RIM PR 173292

Reviewed by George Staikos.
Internally reviewed by Arvid Nilsson.

Source/WebKit:

Add new ViewportAccessor files to the build.
See Source/WebKit/blackberry/ChangeLog for the
verbose commit message.

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

The long-standing userInterfaceBlittedVisibleContentsRect()
method in WebPageClient has long been a major annoyance,
as it returns the source rect for WebKit contents but in
backingstore pixel coordinates. This makes it not only
unwieldy but also terribly fragile, especially when
both pinch zoom and a backingstore re-render both deal
with the same rectangle. On different threads, even.

BlackBerry::Platform now exposes a ViewportAccessor
interface, which can be used to get the various rects
in document coordinates or target pixel coordinates,
both being a better choice than the ones dependent
on an implentation detail.

This commit makes use of this new functionality.
Instead of relying on the passed rectangle to contain
implicit information about the scale factor, we now
track the scale of each backingstore geometry by making
a snapshot of the current WebKit-thread scale when the
geometry is generated. Once the geometry is swapped to
the front, we can then calculate the remaining
backingstore-to-viewport transformation in a threadsafe
way. We now only calculate this if we actually blit from
backingstore tiles and don't go through a configuration
of pure accelerated compositing.

As a result, we are now a lot more robust against
synchonization issues related to backingstore
geometry changes. As an additional gimmick, the scale
is also stored with each tile buffer to doubly secure
that a tile rendered in one scale is not transferred
to a different geometry and then rendered there without
being rerendered at the new scale, even if the rendered
pixel coordinates are still the same.

Having per-geometry scale information also opens up
opportunities to further improve backingstore rendering
later. For instance, we could pre-render a low-res
version of the page onto one buffer and combine that one
with a higher-res array of tiles covering a smaller area.
Or we could steal some tiles from the front geometry to
render them at a new scale while a pinch-zoom operation
is in progress.

No such thing is implemented in this patch though.

In adapting/fixing the backingstore visualization
debug mode and the default background painting in
renderDirectToWindow(), we also introduce new
ViewportAccessor subclasses that can subsequently
be used to replace methods from WebPage and elsewhere.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::scroll):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
(BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::blitHorizontalScrollbar):
(BlackBerry::WebKit::BackingStorePrivate::blitVerticalScrollbar):
(BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
(BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
(BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):

  • Api/BackingStore_p.h:

(BlackBerry):
(Platform):
(BlackBerry::WebKit::BackingStoreGeometry::BackingStoreGeometry):
(BlackBerry::WebKit::BackingStoreGeometry::scale):
(BlackBerry::WebKit::BackingStoreGeometry::setScale):
(BackingStoreGeometry):
(BackingStorePrivate):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPage::webkitThreadViewportAccessor):
(WebKit):

  • Api/WebPage.h:

(Platform):

  • Api/WebPageClient.h:

(Platform):

  • Api/WebPageCompositor.cpp:

(BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):

  • Api/WebPage_p.h:

(WebKit):
(WebPagePrivate):

  • WebKitSupport/BackingStoreTile.cpp:

(BlackBerry::WebKit::TileBuffer::TileBuffer):
(BlackBerry::WebKit::TileBuffer::isRendered):

  • WebKitSupport/BackingStoreTile.h:

(TileBuffer):
(BlackBerry::WebKit::TileBuffer::scale):
(BlackBerry::WebKit::TileBuffer::setScale):

  • WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp: Added.

(WebKit):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::BackingStoreVisualizationViewportAccessor):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::pixelContentsSize):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::documentContentsSize):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::pixelScrollPosition):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::documentScrollPosition):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::pixelViewportSize):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::documentViewportSize):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::destinationSurfaceOffset):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::scale):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::state):

  • WebKitSupport/BackingStoreVisualizationViewportAccessor.h: Added.

(BlackBerry):
(Platform):
(WebKit):
(BackingStoreVisualizationViewportAccessor):
(BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::~BackingStoreVisualizationViewportAccessor):

  • WebKitSupport/WebKitThreadViewportAccessor.cpp: Added.

(WebKit):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::WebKitThreadViewportAccessor):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelContentsSize):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::documentContentsSize):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelScrollPosition):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::documentScrollPosition):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelViewportSize):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::documentViewportSize):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::destinationSurfaceOffset):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::scale):

  • WebKitSupport/WebKitThreadViewportAccessor.h: Added.

(BlackBerry):
(Platform):
(WebKit):
(WebKitThreadViewportAccessor):
(BlackBerry::WebKit::WebKitThreadViewportAccessor::~WebKitThreadViewportAccessor):

12:18 AM Changeset in webkit [131256] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove dead code in Node.idl
https://bugs.webkit.org/show_bug.cgi?id=99237

Reviewed by Maciej Stachowiak.

We don't implement this feature. This code is dead and should be
removed.

  • dom/Node.idl:
Note: See TracTimeline for information about the timeline view.