⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 15, 2012:

11:34 PM Changeset in webkit [134907] by haraken@chromium.org
  • 9 edits
    4 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r134880.
http://trac.webkit.org/changeset/134880
https://bugs.webkit.org/show_bug.cgi?id=102339

it broke Chromium Windows build

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::pluginContainerFromNode):
(WebKit):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:
  • src/WebPluginContainerImpl.cpp:
  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Removed.
  • tests/FakeWebPlugin.h: Removed.
  • tests/WebPluginContainerTest.cpp: Removed.
  • tests/data/plugin_container.html: Removed.
11:30 PM Changeset in webkit [134906] by yurys@chromium.org
  • 7 edits in trunk

Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
https://bugs.webkit.org/show_bug.cgi?id=102384

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::MemoryInstrumentationClientImpl::checkCountedObject): return false
if the check fails.

  • inspector/MemoryInstrumentationImpl.h:

(MemoryInstrumentationClientImpl):

Source/WTF:

Added an option to collect stack traces for instrumented pointers so that they
can be printed in case the check failed for the pointer. This code is hidden
behind a define.

  • wtf/MemoryInstrumentation.h:

(MemoryInstrumentationClient):
(WTF::MemoryInstrumentation::checkCountedObject): the method now returns false
in case the check has failed.
(InstrumentedPointer):
(WTF::::InstrumentedPointer):
(WTF):
(WTF::::process):

Tools:

Updated return type in accord with the changes in MemoryInstrumentationClient.

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
11:10 PM Changeset in webkit [134905] by bashi@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed test update.

  • fast/text/international/combining-marks-position.html:

Ignore a slight diff of widths between the reference and target.

10:47 PM Changeset in webkit [134904] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined pixel results.

  • platform/chromium-mac/fast/text/international/combining-marks-position-expected.txt: Added.
10:36 PM Changeset in webkit [134903] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash at WebCore::PluginData::pluginFileForMimeType const + 38
https://bugs.webkit.org/show_bug.cgi?id=102454

Reviewed by Dan Bernstein.

NULL-check the return value of Page::pluginData().

  • loader/SubframeLoader.cpp:

(WebCore::logPluginRequest):

10:34 PM Changeset in webkit [134902] by bashi@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Unreviewed build fix attempt on win

Include OpenTypeVerticalData.h

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(WebCore):

10:34 PM Changeset in webkit [134901] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/images/webgl-teximage2d.html as Slow.

  • platform/chromium/TestExpectations:
10:25 PM Changeset in webkit [134900] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix embarrassing mispelling in the ChangeLog (chuld -> child)

10:23 PM Changeset in webkit [134899] by haraken@chromium.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/compositing/checkerboard-expected.png:
  • platform/chromium-mac-lion/compositing/checkerboard-expected.png: Added.
  • platform/chromium-win/compositing/checkerboard-expected.png:
10:23 PM Changeset in webkit [134898] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ClassInfo.h should have correct indentation.

Rubber stamped by Mark Hahnenberg.

ClassInfo.h had some true creativity in its use of whitespace. Some things within
the namespace were indented four spaces and others where not. One #define had its
contents indented four spaces, while another didn't. I applied the following rule:

  • Non-macro things in the namespace should not be indented (that's our current accepted practice).


  • Macros should never be indented but if they are multi-line then their subsequent bodies should be indented four spaces. I believe that is consistent with what we do elsewhere.
  • runtime/ClassInfo.h:

(JSC):
(MethodTable):
(ClassInfo):
(JSC::ClassInfo::propHashTable):
(JSC::ClassInfo::isSubClassOf):
(JSC::ClassInfo::hasStaticProperties):

10:20 PM Changeset in webkit [134897] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/forms/validation-message-appearance.html as flaky.

  • platform/chromium/TestExpectations:
10:19 PM Changeset in webkit [134896] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG should copy propagate trivially no-op ConvertThis
https://bugs.webkit.org/show_bug.cgi?id=102445

Reviewed by Oliver Hunt.

Copy propagation is always a good thing, since it reveals must-alias relationships
to the CFA and CSE. This accomplishes copy propagation for ConvertThis by first
converting it to an Identity node (which is done by the constant folder since it
has access to CFA results) and then performing substitution of references to
Identity with references to Identity's chuld in the CSE.

I'm not aiming for a big speed-up here; I just think that this will be useful for
the work on https://bugs.webkit.org/show_bug.cgi?id=102327.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

10:09 PM Changeset in webkit [134895] by haraken@chromium.org
  • 8 edits
    6 moves
    4 adds
    2 deletes in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • fast/media/mq-js-media-except-02-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-02-expected.txt.
  • fast/media/mq-js-media-except-03-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-03-expected.txt.
  • platform/chromium-mac-lion/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac-lion/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac-snowleopard/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac-snowleopard/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-02-expected.txt: Renamed from LayoutTests/platform/chromium/fast/media/mq-js-media-except-02-expected.txt.
  • platform/chromium-mac/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-03-expected.txt: Renamed from LayoutTests/platform/chromium/fast/media/mq-js-media-except-03-expected.txt.
  • platform/chromium-mac/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac/svg/custom/baseval-animval-equality-expected.txt: Added.
  • platform/chromium-win-xp/fast/media/mq-js-media-except-02-expected.png: Added.
  • platform/chromium-win-xp/fast/media/mq-js-media-except-03-expected.png: Added.
  • platform/efl-wk1/fast/media/mq-js-media-except-02-expected.png: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-02-expected.png.
  • platform/efl-wk1/fast/media/mq-js-media-except-03-expected.png: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-03-expected.png.
  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt: Removed.
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt: Removed.
10:02 PM Changeset in webkit [134894] by haraken@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
9:59 PM Changeset in webkit [134893] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r134881.
http://trac.webkit.org/changeset/134881
https://bugs.webkit.org/show_bug.cgi?id=102348

http/tests/appcache tests on JSC platforms are broken

  • bindings/scripts/CodeGenerator.pm:

(IsStrictSubtype):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(IsSubType):
(IsNodeSubType):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

9:51 PM Changeset in webkit [134892] by tkent@chromium.org
  • 4 edits
    2 copies in branches/chromium/1312

Merge 134390 - Unable to set valid time value to input[type=time] with user interaction in some cases
https://bugs.webkit.org/show_bug.cgi?id=102048

Reviewed by Kentaro Hara.

Source/WebCore:

The implementations of shouldMillisecondFieldReadOnly,
shouldMinuteFieldReadOnly, and shouldSecondFieldReadOnly were
incorrect. We need to check if a part of the minimum value matches to
the corresponding part of the current value.

Also, we had better check hour field editability.

Test: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldHaveSecondField):
Fix a problem that hh:mm:00.sss didn't create a seconds field.

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Add shouldHourFieldReadOnly declaration.
(WebCore::DateTimeEditBuilder::visitField):
Add shouldHourFieldReadOnly check to Hour11/Hour12/Hour23/Hour24/Period fields.
(WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
Added. An hour field should be read-only if the step value is a multiple
of a day and the hour part of the minimum value matches to the hour part
of the value.
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
A millisecond field should be read-only if the step value is a multiple
of one second and the millisecond part of the minimum value matches to
the millisecond part of the value.
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly):
A minute field should be read-only if the step value is a multiple of
one hour and the minute part of the minimum value matches to the minute
part of the value.
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly):
A second field should be read-only if the step value is a multiple of
one minute and the second part of the minimum value matches to the second
part of the value.

  • platform/Decimal.cpp:

(WebCore::Decimal::remainder):
Fix a bug in case that the fractional part of quotient is >= 0.5. Also
make this matches to C99, C++11, ECMAScript behavior.

Source/WebKit/chromium:

  • tests/DecimalTest.cpp:

(TEST_F): Update and add tests.
2.1 % 3 should be 2.1
10 % -3 should be 1
-10 % -3 should be -1
3.6 % 1.3 should be 1
500 % 1000 should be 500
-500 % 1000 should be -500

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html: Added.

TBR=tkent@chromium.org
BUG=crbug.com/160501
Review URL: https://codereview.chromium.org/11420033

9:44 PM Changeset in webkit [134891] by tkent@chromium.org
  • 11 edits in branches/chromium/1312/Source/WebCore/html

Merge 134239 - Refactoring: set read-only values on layout in DateTimeEditElement
https://bugs.webkit.org/show_bug.cgi?id=101916

Reviewed by Kentaro Hara.

We have always updated read-only values when we set an empty value or
DateTimeFieldsState. It has wasted CPU time because such read-only
values are never updated after layout() essentially. So, we set
read-only values in DateTimeEditBuilder used by layout(), and remove
dateForReadOnlyField arguments of setEmptyValue and
setValueAsDateTimeFieldsState.

No new tests. This should not make behavior changes.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::visitField):
Set a value to a read-only minute/second/millisecond field while
building UI elements.
Also, changed variable types for millisecond and second fields to
RefPtr<DateTimeNumericFieldElement> because we'd like to call
setValueAsDate, which is private in DateTimeMillisecondFieldElement and
DateTimeSecondFieldElement
(WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().
(WebCore::DateTimeEditElement::setEmptyValue): Ditto.

  • html/shadow/DateTimeEditElement.h:

(DateTimeEditElement):
Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().

  • html/shadow/DateTimeFieldElement.h:

(DateTimeFieldElement): Ditto.

  • html/shadow/DateTimeFieldElements.cpp: Ditto.
  • html/shadow/DateTimeFieldElements.h: Ditto.
  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::setEmptyValue):
It should do nothing if it is read-only because a read-only value was
already set just after construction.

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement):
Removed dateForReadOnlyField argument of setEmptyValue.

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement): Ditto.

TBR=tkent@chromium.org
BUG=crbug.com/160501
Review URL: https://codereview.chromium.org/11420032

9:35 PM Changeset in webkit [134890] by tkent@chromium.org
  • 3 edits in trunk/LayoutTests

fast/forms/select/select-state-restore.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=90207

Reviewed by Hajime Morita.

  • fast/forms/select/select-state-restore.html:

It was possible that we started the test before loading
js-test-post.js. It means we might miss calling waitUntilDone.

  • platform/chromium/TestExpectations:
9:08 PM Changeset in webkit [134889] by aestes@apple.com
  • 5 edits
    3 adds in branches/safari-536.28-branch

Merge r130266.

2012-10-03 Dominic Mazzoni <dmazzoni@google.com>

AX: Heap-use-after-free when deleting a ContainerNode with an AX object
https://bugs.webkit.org/show_bug.cgi?id=98073

Reviewed by Hajime Morita.

Source/WebCore:

Calls axObjectCache()->remove(this) in ~ContainerNode so that the AX tree
doesn't try to access the container node while walking up the parent chain
from one of the container node's children.

Test: accessibility/container-node-delete-causes-crash.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • dom/Node.h:

(WebCore::Node::document):
(WebCore::Node::documentInternal):

LayoutTests:

Adds test for heap-use-after-free when container node with AX object is deleted.

  • accessibility/container-node-delete-causes-crash-expected.txt: Added.
  • accessibility/container-node-delete-causes-crash.html: Added.
8:46 PM Changeset in webkit [134888] by tkent@chromium.org
  • 9 edits
    36 adds in trunk/LayoutTests

[Chromium] Rebaseline for recent calendar picker and suggestion picker changes

  • platform/chromium-linux-x86/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium/TestExpectations:
8:31 PM Changeset in webkit [134887] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[TexMap][Cairo][Qt] Refactor BitmapTextureGL::updateContents().
https://bugs.webkit.org/show_bug.cgi?id=102420

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-15
Reviewed by Gyuyoung Kim.

Moved out texture upload without swizzle to the separate method and changed
drawRepaintCounter to use no-swizzle method. This also fixes blue background
of repaint counters in Qt Minibrowser.
Added condition for sub-image buffer creation to not create it if full image is
uploaded. This should give noticeable improvement for platforms that do not
support sub-image upload to texture.

Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter):
(WebCore::BitmapTextureGL::updateContentsNoSwizzle):
(WebCore):
(WebCore::BitmapTextureGL::updateContents):

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL):

8:30 PM Changeset in webkit [134886] by tkent@chromium.org
  • 12 edits
    1 add in trunk/Source/WebCore

A Spin button should release mouse event capturing when a modal dialog opens
https://bugs.webkit.org/show_bug.cgi?id=98007

Reviewed by Hajime Morita.

Description of bug:
If the mouse left button is pressed on a spin button in
input[type=number] and a 'change' event handler opens a modal dialog
such as alert(), a repeating timer doesn't stop and mouse event
capturing isn't released even though the mouse pointer isn't on the spin
button.
A user will see repeating alert dialogs for a document like <input
type=number value=1 onchange="if (this.value==1) {alert(...);
this.value=1;}"> by clicking the up button.

How to solve:
We should notify modal dialog or popup open to a spin button.
This patch introduce PopupOpeningObserver. Chrome notifies it when
any dialogs / popups is opening. SpinButtonElement implements
PopupOpeningObserver and registers/unregisters itself to/from
Chrome.

No new tests. This is a behavior change, but it's very hard to make an
automated test for timer-related behavior.

  • page/PopupOpeningObserver.h: Added.
  • GNUmakefile.list.am: Add PopupOpeningObserver.h
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/Chrome.cpp:

(WebCore::Chrome::runJavaScriptAlert): Calls notifyPopupOpeningObservers.
(WebCore::Chrome::runJavaScriptConfirm): Ditto.
(WebCore::Chrome::runJavaScriptPrompt): Ditto.
(WebCore::Chrome::createColorChooser): Ditto.
(WebCore::Chrome::openDateTimeChooser):
Added. Calls notifyPopupOpeningObservers before calling
ChromeClient::openDateTimeChooser.
(WebCore::Chrome::runOpenPanel): Calls notifyPopupOpeningObservers.
(WebCore::Chrome::createPopupMenu): Ditto.
(WebCore::Chrome::createSearchPopupMenu): Ditto.
(WebCore::Chrome::registerPopupOpeningObserver): Added.
(WebCore::Chrome::unregisterPopupOpeningObserver): Added.
(WebCore::Chrome::notifyPopupOpeningObservers): Added.

  • page/Chrome.h: Added new members and required class/struct declarations.
  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
Use Chrome::openDateTimeChooser instead of ChromeClient::openDateTimeChooser.

  • html/shadow/PickerIndicatorElement.cpp:

(WebCore::PickerIndicatorElement::openPopup): Ditto.

  • html/shadow/SpinButtonElement.h:

(SpinButtonElement): Declare willOpenPopup.

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::defaultEventHandler):
Change the order of timer start and changing the value so that we
can cancel the timer correctly.
Calls Chrome::registerPopupOpeningObserver on starting mouse capturing.
(WebCore::SpinButtonElement::willOpenPopup):
Release mouse event capturing before opening a modal dialog.
(WebCore::SpinButtonElement::releaseCapture):
Calls Chrome::unregisterPopupOpeningObserver.

8:25 PM Changeset in webkit [134885] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/LayoutTests

[EFL] Update TestExpectations for fast/forms/zoomed-controls.html
https://bugs.webkit.org/show_bug.cgi?id=102369

Unreviewed. Pixel test of fast/forms/zoomed-controls.html is failing
introduced by r134698. Mark this test Missing and remove wrong expectation.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-15

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/zoomed-controls-expected.png: Removed.
8:23 PM Changeset in webkit [134884] by Lucas Forschler
  • 26 edits in branches/safari-536.28-branch/Source/WebKit2

Merged r130347. <rdar://problem/12611664>

7:54 PM Changeset in webkit [134883] by shinyak@chromium.org
  • 8 edits
    18 adds in trunk

Chaging pseudoClass (:enabled) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101900

Reviewed by Dimitri Glazkov.

Source/WebCore:

When element's 'enabled' state is changed, we have to invalidate distribution.

According to the spec, :enabled matches anchor/area/link element having href attribute,
and several form control elements which is not disabled. However, currently :enalbed does not match
anchor/area/link yet. See https://bugs.webkit.org/show_bug.cgi?id=102349

Tests: fast/dom/shadow/pseudoclass-update-enabled-anchor.html

fast/dom/shadow/pseudoclass-update-enabled-area.html
fast/dom/shadow/pseudoclass-update-enabled-button.html
fast/dom/shadow/pseudoclass-update-enabled-fieldset.html
fast/dom/shadow/pseudoclass-update-enabled-input.html
fast/dom/shadow/pseudoclass-update-enabled-optgroup.html
fast/dom/shadow/pseudoclass-update-enabled-option.html
fast/dom/shadow/pseudoclass-update-enabled-select.html
fast/dom/shadow/pseudoclass-update-enabled-textarea.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledAttributeChanged):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

LayoutTests:

Currently :enabled matches an anchor/area/link element yet. I marked these tests as Failure.

  • fast/dom/shadow/pseudoclass-update-enabled-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-area.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-button-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-button.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-fieldset-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-fieldset.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-optgroup-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-optgroup.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-option.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-select-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-select.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-textarea-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-textarea.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
7:51 PM Changeset in webkit [134882] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: ValidationError
https://bugs.webkit.org/show_bug.cgi?id=102416

Reviewed by Kentaro Hara.

Patch 16 of 25 to update DOMException name to match the spec and Firefox.

VALIDATION_ERR is historical and not used in any spec or our code.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
7:41 PM Changeset in webkit [134881] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove IsSubType() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102348

Reviewed by Adam Barth.

CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

7:40 PM Changeset in webkit [134880] by commit-queue@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebKit/chromium

Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:

(WebKit::WebNode::pluginContainer):
(WebKit):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Added.

(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):

  • tests/FakeWebPlugin.h: Added.

(WebKit):
(FakeWebPlugin):

  • tests/WebPluginContainerTest.cpp: Added.

(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):

  • tests/data/plugin_container.html: Added.
7:29 PM Changeset in webkit [134879] by arv@chromium.org
  • 10 edits in trunk

Update DOMException name: NamespaceError
https://bugs.webkit.org/show_bug.cgi?id=102395

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 14 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/EntityReference/readonly-exceptions-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
  • fast/dom/node-prefix-setter-namespace-exception-expected.txt:
  • fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js:
  • fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt:
  • fast/xpath/attr-namespace-expected.txt:
  • fast/xpath/py-dom-xpath/nodetests-expected.txt:
7:10 PM Changeset in webkit [134878] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Add Settings to disable custom scrollbars on main frame
https://bugs.webkit.org/show_bug.cgi?id=102323

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Custom scrollbars on main frame don't really work well on touch devices.
Add a setting to inhibit their creation.

Source/WebCore:

No new tests. No change in default layout behavior.

  • page/FrameView.cpp:

(WebCore::FrameView::createScrollbar):

  • page/Settings.in:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setAllowCustomScrollbarInMainFrame):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

6:45 PM Changeset in webkit [134877] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

6:38 PM Changeset in webkit [134876] by Lucas Forschler
  • 1 copy in tags/Safari-537.19

New Tag.

6:28 PM Changeset in webkit [134875] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

6:28 PM Changeset in webkit [134874] by commit-queue@webkit.org
  • 11 edits
    5 adds in trunk

custom CSS cursors ignore hotspot values embedded in CUR files
https://bugs.webkit.org/show_bug.cgi?id=100059

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-15
Reviewed by Kenneth Russell.

Source/WebCore:

Add reading the hotspot values to the ICOImageDecoder (for CUR files only),
and plumb it through so that the existing calls to ImageSource::getHotSpot
actually return the hot spot value when there is one.

Tests: fast/events/mouse-cursor.html, fast/events/mouse-cursor-multiframecur.html

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::getHotSpot):

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::hotSpot):
(WebCore::DeferredImageDecoder::hotSpotAtIndex):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::hotSpot):
(WebCore::ImageDecoder::hotSpotAtIndex):
(ImageDecoder):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::hotSpot):
(WebCore::ICOImageDecoder::hotSpotAtIndex):
(WebCore::ICOImageDecoder::processDirectory):
(WebCore::ICOImageDecoder::readDirectoryEntry):

  • platform/image-decoders/ico/ICOImageDecoder.h:

(ICOImageDecoder):
(IconDirectoryEntry):

LayoutTests:

Add mouse cursor test cases that use CUR files that have embedded hotspot values.

  • fast/events/mouse-cursor-expected.txt:
  • fast/events/mouse-cursor-multiframecur-expected.txt: Added.
  • fast/events/mouse-cursor-multiframecur.html: Copied from LayoutTests/fast/events/mouse-cursor.html.
  • fast/events/mouse-cursor.html:
  • fast/events/resources/greenbox-3frames.cur: Added.
  • fast/events/resources/greenbox-hotspot35-4.cur: Added.
  • fast/events/resources/greenbox-hotspot5-4.cur: Added.
  • platform/mac/TestExpectations: Skip the multi-frame case on mac because it causes a hang
6:24 PM Changeset in webkit [134873] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk/Source/WebKit2

Coordinated Graphics: Refactor code related to directly composited images.
https://bugs.webkit.org/show_bug.cgi?id=101023

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-15
Reviewed by Noam Rosenthal.

Internal Review by Gwang Yoon Hwang and Jae Hyun Park.

Currently, LayerTreeCoordinator manages composited images using
ShareableBitmap. This patch introduces CoordinatedImageBacking which
plays a role in managing composited images. CoordinatedImageBacking makes us
gather code related to a directly composited image into a single class.

We create only one CoordinatedImageBacking per image. For example, in the leaves
demo, we create only 3 textures of leaves.

  • CMakeLists.txt:
  • Shared/WebLayerTreeInfo.h:

(WebKit::WebLayerInfo::WebLayerInfo):
(WebLayerInfo):

  • Target.pri:
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::createImageBacking):
(WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeImageBacking):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::createImageBacking):
(WebKit::LayerTreeRenderer::updateImageBacking):
(WebKit::LayerTreeRenderer::removeImageBacking):
(WebKit):
(WebKit::LayerTreeRenderer::assignImageBackingToLayer):
(WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::purgeGLResources):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.

(WebKit):
(WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
(WebKit::CoordinatedImageBacking::create):
(WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::addLayerClient):
(WebKit::CoordinatedImageBacking::removeLayerClient):
(WebKit::CoordinatedImageBacking::markDirty):
(WebKit::CoordinatedImageBacking::update):
(WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.

(WebCore):
(WebKit):
(CoordinatedImageBacking):
(Coordinator):
(WebKit::CoordinatedImageBacking::id):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
(WebKit::LayerTreeCoordinator::createImageBacking):
(WebKit::LayerTreeCoordinator::updateImageBacking):
(WebKit::LayerTreeCoordinator::removeImageBacking):
(WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
(WebKit::LayerTreeCoordinator::purgeBackingStores):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

5:58 PM Changeset in webkit [134872] by aestes@apple.com
  • 27 edits
    5 adds in branches/safari-536.28-branch

Merge r116629 and r127534.

2012-09-04 Sergey Glazunov <serg.glazunov@gmail.com>

Frame element doesn't always unload its child frame.
https://bugs.webkit.org/show_bug.cgi?id=94717

Reviewed by Hajime Morita.

Source/WebCore:

It's possible for a frame element that has been removed from the document
to retain an active child frame. This inconsistent state may become a source
of security vulnerabilities.

The patch adds a global HashSet to store the nodes currently processed by
ChildFrameDisconnector. Insertion into these nodes' subtrees is not allowed until
the processing is complete.

Also, the ChildFrameDisconnector call in removeChild(ren) is now immediately
followed by the actual removal.

Test: fast/frames/out-of-document-iframe-has-child-frame.html

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren): Move the ChildFrameDisconnector call out of a loop.
(WebCore::ContainerNode::removeChild): Rearrange some event firing code.
(WebCore::ContainerNode::removeChildren): Ditto.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant): Pass a new parameter to collectDescendant(Node*).

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector): Maintain a list of nodes that have an active ChildFrameDisconnector.
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::rootNodes):
(WebCore::ChildFrameDisconnector::collectDescendant): Add ShouldIncludeRoot parameter.
(WebCore::ChildFrameDisconnector::nodeHasDisconnector):
(WebCore):

  • dom/Node.cpp:

(WebCore::checkAcceptChild): Reject a parent node if it or one of its parents has an active ChildFrameDisconnector.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check if an element is still in the document.

2012-05-10 MORITA Hajime <morrita@google.com>

Remove support for Node::willRemove()
https://bugs.webkit.org/show_bug.cgi?id=55209

Reviewed by Ryosuke Niwa.

This change de-virtualizes Node::willRemove(), gains
5% speedup on Dromaeo dom-modify.

Originally there were 5 willRemove() overrides:

  • Element
  • HTMLStyleElement
  • HTMLSourceElement
  • HTMLTrackElement
  • HTMLFrameOwnerElement

For first 4 items, this change moves their implementations to
Node::removedFrom() overrides.

Then HTMLFrameOwnerElement is the only class which needs the
notification. Because it emits the "unload" event, it needs some
notification _before_ its removal. To handle that, this change
introduces ChildFrameDisconnector which collects
corresponding decendant elements and disconnect their content frame.

Even though this approach doesn't kill pre-removal tree traversal
completely, it's a bit more efficient due to the de-virtualization.

No new tests. Covered by existing test.

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChild): Replaced willRemove() call with ChildFrameDisconnector.
(WebCore::willRemoveChildren): Ditto.
(WebCore::ContainerNode::disconnectDescendantFrames): Added. Used from FrameLoader to replace Document::willRemove() call.
(WebCore):

  • dom/ContainerNode.h:

(ContainerNode):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore):
(WebCore::ChildFrameDisconnector::Target::disconnect):

  • dom/ContainerNodeAlgorithms.h:

(ChildFrameDisconnector):
(Target):
(WebCore::ChildFrameDisconnector::Target::Target):
(WebCore::ChildFrameDisconnector::Target::isValid):
(WebCore):
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):

  • dom/Element.cpp:

(WebCore::Element::removedFrom):

  • dom/Element.h:
  • dom/ElementShadow.cpp:
  • dom/ElementShadow.h:

(ElementShadow):

  • dom/Node.cpp:
  • dom/Node.h: Added IsFrameOwnerElement flag to de-virtualize IsFrameOwnerElement().

(WebCore::Node::isFrameOwnerElement): De-virtualized.
(Node):

  • html/HTMLElement.h:

(HTMLElement):
(WebCore::HTMLElement::HTMLElement):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Extracted from original willRemove().

  • html/HTMLFrameOwnerElement.h:

(HTMLFrameOwnerElement):
(WebCore::toFrameOwnerElement):
(WebCore):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::sourceWasRemoved): Renamed from sourceWillBeRemoved(), dealing with the timing change.

  • html/HTMLMediaElement.h:

(HTMLMediaElement):
(WebCore::isMediaElement):
(WebCore):
(WebCore::toMediaElement):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::removedFrom): Moved some code from willRemove().

  • html/HTMLSourceElement.h:

(HTMLSourceElement):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::removedFrom):
(WebCore):

  • html/HTMLStyleElement.h:

(HTMLStyleElement):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::removedFrom): Moved some code from willRemove().

  • html/HTMLTrackElement.h:

(HTMLTrackElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):

LayoutTests:

  • fast/frames/out-of-document-iframe-has-child-frame-expected.txt: Added.
  • fast/frames/out-of-document-iframe-has-child-frame.html: Added.
  • fast/innerHTML/innerHTML-iframe-expected.txt:
  • platform/chromium/fast/frames/out-of-document-iframe-has-child-frame-expected.txt: Added.
  • platform/chromium/fast/innerHTML: Added.
  • platform/chromium/fast/innerHTML/innerHTML-iframe-expected.txt: Added.
5:55 PM Changeset in webkit [134871] by bashi@chromium.org
  • 10 edits in trunk/Source/WebCore

Make OpenTypeVerticalData be ref-counted
https://bugs.webkit.org/show_bug.cgi?id=101971

Reviewed by Tony Chang.

FontCache::purgeInactiveFontData() uses mark & sweep algorithm to remove unused
OpenTypeVerticalData objects. It marks only OpenTypeVerticalData which can be reached
via SimpleFontData in gFontDataCache. However, OpenTypeVerticalData can be referred by
SimpleFontData which resides in CSSFontFaceSource::m_fontDataTable so the algorithm can
delete active OpenTypeVerticalData. To avoid deleting active OpenTypeVerticalData, make
it be ref-counted.

No new tests. No changes in behavior. Checked manually that the use-after-free was fixed.

  • platform/graphics/FontCache.cpp:

(WebCore): Use RefPtr instead of OwnPtr for FontVerticalDataCache.
(WebCore::FontCache::getVerticalData): Return PassRefPtr<OpenTypeVerticalData>.
(WebCore::FontCache::purgeInactiveFontData): Follow the change of OwnPtr -> RefPtr.

  • platform/graphics/FontCache.h:
  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::SimpleFontData):

  • platform/graphics/SimpleFontData.h:

Use RefPtr instead of raw const pointer for OpenTypeVerticalData.
(WebCore::SimpleFontData::verticalData):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:

(WebCore::FontPlatformData::verticalData): Return PassRefPtr<OpenTypeVerticalData>.

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(FontPlatformData):

  • platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:

(WebCore::FontPlatformData::verticalData): Ditto.

  • platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:

(WebCore):
(FontPlatformData):

  • platform/graphics/opentype/OpenTypeVerticalData.h:

(WebCore::OpenTypeVerticalData::create): Added.
(OpenTypeVerticalData):

5:39 PM Changeset in webkit [134870] by bashi@chromium.org
  • 2 edits in trunk/LayoutTests

Use complex path for the reference text in fast/text/international/combining-marks-position.html
https://bugs.webkit.org/show_bug.cgi?id=101009

Reviewed by Kent Tamura.

Arial has a kerning pair for U+043A U+0430 so the width of the text can be
different between simple path and complex path. Use text-rendering: optimizeLegibility
to force using complex text for reference text.

  • fast/text/international/combining-marks-position.html:
5:32 PM Changeset in webkit [134869] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipped media/video-src-blob.html on Windows.
Blob not enabled on Windows.

  • platform/win/TestExpectations:
5:22 PM Changeset in webkit [134868] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102309

We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
a TiledBackingStore and every tiles.
This patch caches the inverse transform to reuse it.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-15
Reviewed by Noam Rosenthal.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

5:19 PM Changeset in webkit [134867] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Optimize the multiply-add in Biquad.cpp::process
https://bugs.webkit.org/show_bug.cgi?id=75528

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-11-15
Reviewed by Brent Fulgham.

Pipeline the multiply-add with SSE2 intrinsics.
Get ~45% performance improvement for the function.

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::process):

5:14 PM Changeset in webkit [134866] by dgrogan@chromium.org
  • 13 edits
    6 deletes in trunk/LayoutTests

IndexedDB: setVersion batch 8
https://bugs.webkit.org/show_bug.cgi?id=102434

Reviewed by Tony Chang.

2 lines were added to intversion-bad-parameters to capture the tests
that were in the now-deleted setVersion-{null,undefined}.

  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/readonly-properties-expected.txt:
  • storage/indexeddb/resources/intversion-bad-parameters.js:

(deleteSuccess):

  • storage/indexeddb/resources/key-generator.js: Again awkward to call indexedDBTest all over the place. The prefix line's gotta go, and we could also pull a resetDatabase method out of indexedDBTest that would just do a delete and open.

(runTests.nextTest.prepareDatabase):
(runTests.nextTest.onSuccess.finishTest):
(runTests.nextTest.onSuccess):
(runTests.nextTest):
(testAcrossConnections.prepareDatabase):

  • storage/indexeddb/resources/open-during-transaction.js:

(prepareDatabase.event.target.transaction.oncomplete):
(prepareDatabase):
(tryOpens):

  • storage/indexeddb/resources/readonly-properties.js:

(prepareDatabase):

  • storage/indexeddb/resources/setVersion-null.js: Removed.
  • storage/indexeddb/resources/setVersion-undefined.js: Removed.
  • storage/indexeddb/resources/transaction-after-close.js:

(prepareDatabase):
(firstTransactionComplete):
(onFinalPutSuccess):

  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:

(testSetVersion):
(upgradeNeededCallback):
(successCallback):

  • storage/indexeddb/setVersion-null-expected.txt: Removed.
  • storage/indexeddb/setVersion-null.html: Removed.
  • storage/indexeddb/setVersion-undefined-expected.txt: Removed.
  • storage/indexeddb/setVersion-undefined.html: Removed.
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/versionchangerequest-activedomobject-expected.txt:
5:07 PM Changeset in webkit [134865] by alecflett@chromium.org
  • 11 edits
    2 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
  • platform/chromium/fast/storage/serialized-script-value.txt: Added.
5:05 PM Changeset in webkit [134864] by kov@webkit.org
  • 11 edits in trunk

[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435

Reviewed by Martin Robinson.

More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.

.:

  • GNUmakefile.am: add variable that will hold the list of source files

for libWebCorePlatform .

Source/WebCore:

  • GNUmakefile.am: add new libWebCorePlatform convenience library.
  • GNUmakefile.list.am: move list of platform/* files to its own variable.

Source/WebKit/gtk:

  • GNUmakefile.am: link libWebCorePlatform into libwebkitgtk

Source/WebKit2:

  • GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk

Tools:

  • GNUmakefile.am: link libWebCorePlatform into DRT
4:56 PM Changeset in webkit [134863] by roger_fong@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed. Add missing text test expectations for Mac and Windows ports.

  • platform/mac/css3/filters/effect-reference-ordering-hw-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-input-expected.txt: Added.
  • platform/mac/fast/forms/input-readonly-dimmed-expected.txt: Added.
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
4:50 PM Changeset in webkit [134862] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.1

New Tag.

4:49 PM Changeset in webkit [134861] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove unused macro HANDLE_INHERIT_AND_INITIAL_WITH_VALUE in StyleResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=102036

Reviewed by Darin Adler.

Remove HANDLE_INHERIT_AND_INITIAL_WITH_VALUE macro, as it is not used anywhere.

No tests added because code is unused, and compile is enough to verify that conculsively.

  • css/StyleResolver.cpp:
4:47 PM Changeset in webkit [134860] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Updated chromium test expectations to clean up some passed
tests.

  • platform/chromium/TestExpectations:
4:42 PM Changeset in webkit [134859] by arv@chromium.org
  • 85 edits in trunk

Update DOMException name: SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=102279

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 12 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/canvas/canvas-gradient-addStop-error-expected.txt:
  • fast/canvas/canvas-pattern-behaviour-expected.txt:
  • fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt:
  • fast/canvas/script-tests/gradient-addColorStop-with-invalid-color.js:
  • fast/css/css3-nth-tokens-script-expected.txt:
  • fast/css/css3-nth-tokens-script.html:
  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dom/HTMLElement/set-invalid-value-expected.txt:
  • fast/dom/HTMLElement/set-invalid-value.html:
  • fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • fast/dom/Window/custom-constructors-expected.txt:
  • fast/dom/Window/invalid-protocol-expected.txt:
  • fast/dom/css-mediarule-functions-expected.txt:
  • fast/dom/css-mediarule-functions.html:
  • fast/dom/dataset-expected.txt:
  • fast/dom/dataset-xhtml-expected.txt:
  • fast/dom/element-attribute-js-null-expected.txt:
  • fast/dom/register-protocol-handler.html:
  • fast/dom/script-tests/dataset-xhtml.js:
  • fast/dom/script-tests/dataset.js:
  • fast/dom/xhtml-fragment-parsing-exceptions-expected.txt:
  • fast/dynamic/insertAdjacentHTML-expected.txt:
  • fast/eventsource/eventsource-constructor-expected.txt:
  • fast/innerHTML/innerHTML-changing-document-properties-expected.txt:
  • fast/mutation/observe-exceptions-expected.txt:
  • fast/workers/worker-constructor-expected.txt:
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
  • http/tests/security/postMessage/target-origin-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long.html:
  • http/tests/websocket/tests/hybi/close.html:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
  • http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocols.html:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/xmlhttprequest/inject-header-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-open-empty-method-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name-expected.txt:
  • platform/chromium-linux/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-linux/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • platform/chromium-mac/fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • platform/chromium-win/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • platform/chromium-win/fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • platform/chromium-win/fast/media/mq-js-media-except-02-expected.txt:
  • platform/chromium-win/fast/media/mq-js-media-except-03-expected.txt:
  • platform/chromium-win/fast/workers/worker-constructor-expected.txt:
  • platform/chromium-win/websocket/tests/bad-sub-protocol-non-ascii-expected.txt:
  • platform/chromium-win/websocket/tests/url-parsing-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/fast/dom/register-protocol-handler-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-02-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-03-expected.txt:
  • platform/chromium/fast/workers/worker-constructor-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hixie76/url-parsing-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-02-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-03-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-02-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-03-expected.txt:
  • platform/qt-5.0-wk2/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-02-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-03-expected.txt:
  • platform/qt/http/tests/websocket/tests/hixie76/bad-sub-protocol-non-ascii-expected.txt:
  • platform/qt/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • svg/dom/SVGAngle-expected.txt:
  • transforms/cssmatrix-2d-interface-expected.txt:
  • transforms/cssmatrix-3d-interface-expected.txt:
  • webintents/web-intents-api-expected.txt:
  • webintents/web-intents-api.html:
  • webintents/web-intents-obj-constructor-expected.txt:
  • webintents/web-intents-obj-constructor.html:
4:40 PM Changeset in webkit [134858] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallData.h should have correct indentation.

Rubber stamped by Mark Hahneberg.

  • runtime/CallData.h:

(JSC):

4:39 PM Changeset in webkit [134857] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

Clean up some TestExpectations for tests that pass now.

  • platform/chromium/TestExpectations:
4:37 PM Changeset in webkit [134856] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove methodCallDummy since it is not used anymore.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSGlobalObject):

4:30 PM Changeset in webkit [134855] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[Win] key event's location does not work on Windows platform.
https://bugs.webkit.org/show_bug.cgi?id=89742

Patch by Takashi Sakamoto <tasak@google.com> on 2012-11-15
Reviewed by Brent Fulgham.

As WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, and WM_SYSKEYUP doesn't
directly provide a virtual keycode which distinguish between left-hand
and right-hand keys. To obtain a virtual keycode, we have to look at
lparam, i.e. scancode and extended key bit. So if the given virtual
keycode is control, shift, or menu, use MapVirtualKey with scancode and
extended key bit and recreate a virtual keycode which distinguishes
between left-hand and right-hand.

No new tests, because left-hand keys, right-hand keys layout tests
have been already added.

  • platform/win/KeyEventWin.cpp:

(WebCore::windowsKeycodeWithLocation):
Use wparam and lparam to recreate a virtual keycode which distinguishes
between left-hand and right-hand if the given wparam (=virtual keycode)
is control, shift, or menu.
(WebCore):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
Use the newly added function to obtain windows virtual keycode.

4:29 PM Changeset in webkit [134854] by dgrogan@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB setVersion-removal batch 7
https://bugs.webkit.org/show_bug.cgi?id=102415

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/object-store-remove-values-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/object-store-remove-values.js:
  • storage/indexeddb/mozilla/resources/readyState.js: Moved one check into shared.js, a few others around, and the check for setVersion's request.readyState==pending is deleted.
  • storage/indexeddb/mozilla/resources/versionchange-abort.js: First test I've converted that makes the initial open fail, but request.onsuccess is unhooked to not cause the whole test to fail.

(prepareDatabase):
(postAbort):

  • storage/indexeddb/mozilla/versionchange-abort-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/odd-strings-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/readonly.js: Moved the checks at the beginning to the end of the test, but everything was preserved.
  • storage/indexeddb/resources/shared.js: Moved a check from readyState to here as the readyState layout test doesn't have access to the open request before any events are fired.
4:23 PM Changeset in webkit [134853] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Don't assert when notifyAuthReceived is called with a different auth type
https://bugs.webkit.org/show_bug.cgi?id=102436

Patch by Joe Mason <jmason@rim.com> on 2012-11-15
Reviewed by Rob Buis.

The server type could change if we contact a site taking HTTP auth, through an HTTP proxy
taking auth of its own. First we get a 407 from the proxy, and then when get past the
proxy, we get a 401 from the end site - so notifyAuthReceived gets called again with auth
type Proxy instead of HTTP.

The correct thing to do when that happens is skip the "update the auth type in the
credentials" step, since these are actually new credentials and not just credentials being
reused for a different auth type on the same server.

PR 241637

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyAuthReceived):

4:23 PM Changeset in webkit [134852] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Ignore autocomplete=off for chrome generated passwords.
https://bugs.webkit.org/show_bug.cgi?id=102426

Patch by Yue Zhang <zysxqn@google.com> on 2012-11-15
Reviewed by Adam Barth.

Record the autocomplete attribute in the web password form data,
so that we can handle autocomplete in chromium code. The
motivation/background is: we should ignore autocomplete=off field
for password forms with chrome generated passwords (has passed
security review). By handling autocomplete in chromium code we can
distinguish password forms with chrome generated passwords and
those normal password forms. Note that we haven't turned off
checking autocomplete=off in the Webkit code for now so there is
no behavior change after this CL, and we will turn off after we
make the chromium side change to be safe.

  • public/WebPasswordFormData.h:

(WebPasswordFormData):

  • src/WebPasswordFormData.cpp:
4:22 PM Changeset in webkit [134851] by schenney@chromium.org
  • 4 edits
    2 adds in trunk

mpath elements do not clear resource lists before destruction
https://bugs.webkit.org/show_bug.cgi?id=101505

Reviewed by Abhishek Arya.

Source/WebCore:

The destructor for SVGMPathElement should clear its resources before
deletion, so as not to leave hanging pointers in resource lists.

Test: svg/animations/mpath-remove-from-dependents-on-delete-crash.html

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::~SVGMPathElement): Add destructor that calls clearResourceReferences.
(WebCore):

  • svg/SVGMPathElement.h:

(SVGMPathElement): Add destructor.

LayoutTests:

Test that causes a mpath element to be deleted before the path that it
references.

  • svg/animations/mpath-remove-from-dependents-on-delete-crash-expected.html: Added.
  • svg/animations/mpath-remove-from-dependents-on-delete-crash.html: Added.
4:17 PM Changeset in webkit [134850] by danakj@chromium.org
  • 3 edits in trunk/Tools

[chromium] Stop using the WebCompositorSupport methods for changing settings
https://bugs.webkit.org/show_bug.cgi?id=101968

Reviewed by James Robinson.

  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/TestShell.h:

(TestShell::setPerTilePaintingEnabled):
(TestShell::setAcceleratedAnimationEnabled):

4:16 PM Changeset in webkit [134849] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

Remove CodeGenerator::StripModule
https://bugs.webkit.org/show_bug.cgi?id=102338

Reviewed by Adam Barth.

Now WebKit IDL files have no modules. (The Web IDL spec has no modules.)
We can remove CodeGenerator::StripModule.
This might break some internal builds if the internal builds are still
using modules. Ping haraken@ you observe it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ForAllParents):
(AttributeNameForGetterAndSetter):
(IsStrictSubtype):

  • bindings/scripts/CodeGeneratorCPP.pm:

(GetClassName):
(GetImplClassName):
(GetParentImplClassName):
(GetParent):
(ConversionNeeded):
(GetCPPTypeGetter):
(AddForwardDeclarationsForType):
(AddIncludesForType):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetParentClassName):
(GetParentGObjType):
(GetClassName):

  • bindings/scripts/CodeGeneratorJS.pm:

(GetParentClassName):
(AddIncludesForTypeInImpl):
(AddIncludesForTypeInHeader):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(GenerateParametersCheck):
(GetNativeTypeFromSignature):
(JSValueToNative):
(NativeToJSValue):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetClassName):
(GetImplClassName):
(GetParentImplClassName):
(GetParentAndProtocols):
(GetPropertyAttributes):
(ConversionNeeded):
(GetObjCTypeGetter):
(AddForwardDeclarationsForType):
(AddIncludesForType):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(AddIncludesForType):
(GenerateHeader):
(IsSubType):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
(BaseInterfaceName):
(GetTypeFromSignature):
(IsWrapperType):

4:16 PM Changeset in webkit [134848] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. CSS3_TEXT is not enabled on Windows.
Skipping tests:
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line.html

  • platform/win/TestExpectations:
4:13 PM Changeset in webkit [134847] by schenney@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Chromium] Test expectations - we're passing!

Unreviewed expectations for canvas-shadow.html

  • platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
4:13 PM Changeset in webkit [134846] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Make assumptions about m_parentStyle consistent within StyleResolver::applyProperty()
https://bugs.webkit.org/show_bug.cgi?id=101696

Reviewed by Tony Chang.

Most of the code in StyleResolver::applyProperty assumes that isInherit implies that m_parentStyle is available.
This patch ASSERTs that this assumption is correct, and removes the few existing checks to maintain consistency.

No new tests / covered by all existing CSS tests.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

4:12 PM Changeset in webkit [134845] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove redundant $interfaceName from function parameters
https://bugs.webkit.org/show_bug.cgi?id=102334

Reviewed by Adam Barth.

'sub func { my $dataNode = shift; my $interfaceName = shift; }'
is redundant. We can get $interfaceName by $dataNode->name.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateOpaqueRootForGC):
(GenerateHeader):
(GenerateConstructorGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetter):
(GenerateOverloadedFunctionCallback):
(GenerateFunctionCallback):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateTypedArrayConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateBatchedAttributeData):
(GenerateImplementation):
(GenerateToV8Converters):
(GetNativeTypeForConversions):

4:10 PM Changeset in webkit [134844] by dgrogan@chromium.org
  • 3 edits in trunk/LayoutTests

IndexedDB: remove setVersion from intversion-long-queue
https://bugs.webkit.org/show_bug.cgi?id=102322

Reviewed by Tony Chang.

This test probably doesn't provide as much value as it used to but
tests like this, where there's a long sequence of interdependent
events, have caught stuff for us in the past. There are endless
variants that will all exercise our code differently.

  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/resources/intversion-long-queue.js:

(prepareDatabase):
(connection1Success):
(connection1VersionChangeCallback):
(connection2Blocked):
(deleteDatabaseBlockedCallback):
(deleteDatabaseSuccessCallback):
(connection2UpgradeNeeded):
(connection2Success):
(connection2TransactionComplete):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):

3:46 PM Changeset in webkit [134843] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Ensure that scrollbar layers show debug borders
https://bugs.webkit.org/show_bug.cgi?id=102429

Reviewed by Anders Carlsson.

After r133517, scrollbar layers no longer showed debug borders, which
was very confusing. Fix this by explicitly calling setShowDebugBorder()
on the scrollbar-related layers owned by RenderLayerCompositor
and RenderLayerBacking.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDebugIndicators):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

3:43 PM Changeset in webkit [134842] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: fastAttributeLookupAllowed(name) for 7 layout tests
<http://webkit.org/b/102423>

Reviewed by Anders Carlsson.

Use Element::getAttributeItem() to find out if the element has a given attribute
instead of fastHasAttribute() since that causes assertions for the "style" attribute.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

3:33 PM Changeset in webkit [134841] by roger_fong@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed. More subpixel layout test rebaselines for Windows.

  • platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt: Added.
  • platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt: Added.
  • platform/win/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
3:26 PM Changeset in webkit [134840] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: DOMStringSizeError
https://bugs.webkit.org/show_bug.cgi?id=102089

Reviewed by Ojan Vafai.

Patch 2 of 25 to update DOMException name to match the spec and Firefox.

DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
3:24 PM Changeset in webkit [134839] by arv@chromium.org
  • 8 edits
    4 copies
    1 move
    6 adds in trunk/LayoutTests

Unreviewed gardening.

Rebaselining pixel tests after r102427

  • platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-win-xp/svg/custom/baseval-animval-equality-expected.png: Added.
  • platform/chromium-win-xp/svg/dom/SVGLengthList-basics-expected.png: Added.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-basics-expected.png.
  • platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
  • platform/mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/mac-wk2/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/qt/svg/custom/baseval-animval-equality-expected.txt:
3:17 PM Changeset in webkit [134838] by jsbell@chromium.org
  • 3 edits
    2 adds in trunk

IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283

Reviewed by Tony Chang.

Source/WebCore:

Processing the final task can cause IDBTransactionBackendImpl references to be released
by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
swapping queues) control would fall off the end of the function. The loop termination
check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
the method completes.

Test: storage/indexeddb/transaction-crash-in-tasks.html

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.

LayoutTests:

Reduced repro case, although the behavior is still flaky.

  • storage/indexeddb/transaction-crash-in-tasks-expected.txt: Added.
  • storage/indexeddb/transaction-crash-in-tasks.html: Added.
3:01 PM Changeset in webkit [134837] by commit-queue@webkit.org
  • 2 edits in trunk/Source

[chromium] Create default directory so that cq can apply patch
https://bugs.webkit.org/show_bug.cgi?id=102421

Patch by Scott Violet <sky@chromium.org> on 2012-11-15
Reviewed by Tony Chang.

Done in hopes of patch that copies files to this directory working.

Source/Platform:

  • chromium/public/default: Added.

Source/WebKit/chromium:

  • public/platform/default: Added.
2:56 PM Changeset in webkit [134836] by roger_fong@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. HiDPI is not enabled on Windows (as indicated by test result). Adding failing expected result.

  • platform/win/fast/canvas/canvas-resize-reset-pixelRatio-expected.txt: Added.
2:42 PM Changeset in webkit [134835] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. WebGL not supported on Windows. Skipping fast/images/webgl-teximage2d.html.

  • platform/win/TestExpectations:
2:27 PM Changeset in webkit [134834] by Lucas Forschler
  • 8 edits
    3 copies in branches/safari-536.28-branch

Merged r127595. <rdar://problem/12516304>

2:07 PM Changeset in webkit [134833] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Remove unused debug border setters from the WebLayer API
https://bugs.webkit.org/show_bug.cgi?id=102274

Reviewed by James Robinson.

  • chromium/public/WebLayer.h:

(WebLayer):

2:07 PM Changeset in webkit [134832] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Update chromium test expectations.

  • platform/chromium/TestExpectations:
2:01 PM Changeset in webkit [134831] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WTF

Merged r134797. <rdar://problem/12711314>

1:48 PM Changeset in webkit [134830] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

MutationObserver wrapper should not be collected while still observing
https://bugs.webkit.org/show_bug.cgi?id=102328

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Source/WebCore:

Make MutationObserver an ActiveDOMObject so that the wrapper is not
collected while it is still observing the DOM. This is needed because
the wrapper is passed into the callback and expandos on the wrapper
should be preserved.

Test: fast/mutation/observer-wrapper-dropoff.html

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observationStarted):
(WebCore::MutationObserver::observationEnded):

  • dom/MutationObserver.h:

(WebCore):

  • dom/MutationObserver.idl:

LayoutTests:

Test that a MutationObserver wrapper is not collected while the observer
is still observing since the wrapper must be passed into the callback
later.

  • fast/mutation/observer-wrapper-dropoff-expected.txt: Added.
  • fast/mutation/observer-wrapper-dropoff.html: Added.
1:44 PM Changeset in webkit [134829] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

Merged r134083. <rdar://problem/12673139>

1:41 PM Changeset in webkit [134828] by tony@chromium.org
  • 19 edits
    2 adds in trunk

Generate Settings from a .in file
https://bugs.webkit.org/show_bug.cgi?id=100393

Reviewed by Adam Barth.

.:

Generate SettingsMacros.h for cmake.

  • Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Generate most settings from an .in file to reduce human mistakes and
to make it easier to add/remove new settings.

I only moved settings that are easy to move at this point. There are many more that
have some minor naming inconsistencies that we can also move to Settings.in, but I'll
do that in a follow up patch.

This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.

No new tests, this is a refactor.

  • CMakeLists.txt:
  • DerivedSources.make: Run make_settings.pl.
  • DerivedSources.pri: Run make_settings.pl.
  • GNUmakefile.am: Run make_settings.pl.
  • GNUmakefile.list.am:
  • WebCore.exp.in: Remove functions that are now inline in the header.
  • WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
  • WebCore.gyp/scripts/action_makenames.py:

(main): Allow make_settings.pl.

  • WebCore.order: Remove functions that are now inline in the header.
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".

  • page/Settings.cpp:

(WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.

  • page/Settings.h:

(Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.

  • page/Settings.in: Added.
  • page/make_settings.pl: Added.

(defaultItemFactory):
(generateCode):
(generateHeader): Use a similar model as make_names.pl.
(printConditionalMacros):
(printGettersAndSetters):
(printMemberVariables):
(printGetterAndSetter):
(printInitializerList):
(printInitializer):

Tools:

Add the generated WebCore files to the include dir.

  • TestWebKitAPI/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
1:38 PM Changeset in webkit [134827] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebKit/mac

Merged r133977. <rdar://problem/12674097>

1:36 PM Changeset in webkit [134826] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r130449. <rdar://problem/12536387>

1:34 PM Changeset in webkit [134825] by dgrogan@chromium.org
  • 2 edits
    1 move
    2 adds
    2 deletes in trunk/LayoutTests

IndexedDB: setVersion test conversion batch 6
https://bugs.webkit.org/show_bug.cgi?id=102318

Reviewed by Tony Chang.

Salvaged the useful parts of intversion-and-setversion as
intversion-upgrades.

  • storage/indexeddb/intversion-and-setversion-expected.txt: Removed.
  • storage/indexeddb/intversion-upgrades-expected.txt: Added.
  • storage/indexeddb/intversion-upgrades.html: Renamed from LayoutTests/storage/indexeddb/intversion-and-setversion.html.
  • storage/indexeddb/resources/intversion-and-setversion.js: Removed.
  • storage/indexeddb/resources/intversion-upgrades.js: Added.

(test):
(deleteSuccess):
(initialUpgradeNeeded):
(openSuccess):
(connection1VersionChangeCallback):
(connection2BlockedCallback):
(connection2UpgradeNeeded):
(transactionCompleted):
(connection2Success):
(connection3Success):
(errorWhenTryingLowVersion):
(connection4UpgradeNeeded):
(connection4Success):
(connection5Success):

  • storage/indexeddb/resources/shared.js:

(unexpectedVersionChangeCallback):

1:25 PM Changeset in webkit [134824] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Make old-run-webkit-tests handle setting the results directory properly.
https://bugs.webkit.org/show_bug.cgi?id=102273
<rdar://problem/11571607>

Reviewed by Timothy Horton.

A call to chdirWebkit in old-run-webkit-tests set the current working directory to the OpenSource folder.
Thus setting --results-directory to OpenSource/layout-test-results would create OpenSource/layout-test-results inside the main OpenSource folder.
This caused many other problems including failure to upload test results and failed future test runs.
The solution is to save the current working directory before calling chdirWebKit and then reconstructing the full path to the results directory
using the saved directory when setting $testResultsDirectory.

  • Scripts/old-run-webkit-tests:
1:13 PM FeatureFlags edited by rbyers@chromium.org
(diff)
12:58 PM Changeset in webkit [134823] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.3

New Tag.

12:57 PM Changeset in webkit [134822] by hclam@chromium.org
  • 8 edits in trunk/Source/WebCore

[chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=102019

Reviewed by Stephen White.

Goal of this change is to keep ImageDecodingStore clean and only do
image caching. Logic of creating lazily decoded SkBitmaps is moved into
DeferredImageDecoder.

In particular these two methods are moved:

  • ImageDecodingStore::createLazyDecodedSkBitmap
  • ImageDecodingStore::resizeLazyDecodedSkBitmap

No new tests. There is no new code (really). It is just moved from
ImageDecodingStore to DeferredImageDecoder.

No change in behavior. Code is tested with:
Unit tests: webkit_unit_tests
Layout test: platform/chromium/virtual/deferred

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::isLazyDecoded):
(WebCore):
(WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::setData):
(WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(WebCore):
(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:
  • platform/graphics/chromium/ImageDecodingStore.h:

(ImageDecodingStore):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):

  • platform/graphics/chromium/ImageFrameGenerator.h:

(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):

  • platform/graphics/skia/NativeImageSkia.cpp:

(WebCore::NativeImageSkia::resizedBitmap):

12:57 PM Changeset in webkit [134821] by Lucas Forschler
  • 2 edits in branches/safari-536.27-branch/Source/WTF

Merged r134797 -> <rdar://problem/12711308>

12:55 PM Changeset in webkit [134820] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Consolidate four accelerated compositing WKView methods into a single method
https://bugs.webkit.org/show_bug.cgi?id=102419

Reviewed by Andreas Kling.

Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
the existing PageClientImpl member functions call it. Also, add a new
PageClient member function, setAcceleratedCompositingRootLayer.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _processDidCrash]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::commit):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):

12:54 PM Changeset in webkit [134819] by dgrogan@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB test conversions batch 5
https://bugs.webkit.org/show_bug.cgi?id=102308

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
  • storage/indexeddb/mozilla/event-source-expected.txt:
  • storage/indexeddb/mozilla/global-data-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/remove-objectstore-expected.txt:
  • storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js: Calls indexedDBTest a bunch of times, which seems awkward, but is really convenient.
  • storage/indexeddb/mozilla/resources/event-source.js: Now that setVersion is gone, it appears that no request should have a database as a source so the dropped test is ok.
  • storage/indexeddb/mozilla/resources/global-data.js:

(prepareDatabase):
(open2Success):

  • storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:

(prepareDatabase):

  • storage/indexeddb/mozilla/resources/odd-result-order.js: The tests had to be run in slightly different order but they are all preserved.

(prepareDatabase):
(openSuccess):
(deleteSuccess):

  • storage/indexeddb/mozilla/resources/remove-objectstore.js:

(prepareDatabase):
(checkObjectStore):
(inSetVersion2.request.onsuccess):
(inSetVersion2):
(setVersion3):
(inSetVersion3):
(deleteThirdObjectStore):

  • storage/indexeddb/objectstore-removeobjectstore-expected.txt:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:

(getValue):
(checkResult):
(addIndex):
(deleteObjectStore):
(createObjectStoreAgain):

12:54 PM Changeset in webkit [134818] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed. Build fix for Windows after r134767.

Update vsprops and vcproj files to reflect changes to file locations in r134767.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreCommon.vsprops:
12:38 PM Changeset in webkit [134817] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Track subframe count to avoid traversing the tree when there's no subframes
https://bugs.webkit.org/show_bug.cgi?id=101821

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Bug 101619 showed a 9-14% improvement from not walking the children during
removeChild looking for frames when there's known to be no frames. The fix
in that bug only avoids this walk when the whole document has no frames, this
patch extends it to skip traversing subtrees that have no iframes by hooking
the frame assignment to walk up the tree and keep track of the count of frames
in the subtree on contentFrame assignment and then decrement it on disconnect.

No new tests, this is just a perf refactor.

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectFrameOwners):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectFrameOwners):

Renamed from collectDescendant() to better reflect what it really does.

(WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):

Renamed from disconnect() to better reflect what it really does.

(WebCore::ChildFrameDisconnector::disconnect):

New method that does the collection of frame owners on either the root
or only it's descendants.

  • dom/Node.cpp:

(WebCore::Node::connectedSubframeCount):
(WebCore::Node::incrementConnectedSubframeCount):
(WebCore::Node::decrementConnectedSubframeCount):

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::connectedSubframeCount):
(WebCore::NodeRareData::incrementConnectedSubframeCount):
(WebCore::NodeRareData::decrementConnectedSubframeCount):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

12:35 PM Changeset in webkit [134816] by hclam@chromium.org
  • 3 edits
    2 adds in trunk

[chromium] WebGL texImage2D fails with deferred image decoding
https://bugs.webkit.org/show_bug.cgi?id=102310

Reviewed by Kenneth Russell.

Source/WebCore:

Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
to decode an image. When deferred image decoding is enabled this class
generates an ImageFrame marked as incomplete, which WebGL rejects. This results
in failing of texImage2D.

This change uses ImageDecoder directly instead of ImageSource. This skips
the code path of deferred image decoding. This behavior is correct because
GraphicsContext3D wants to decode the image differently with alpha not
premultiplied and color profile applied optionally.

Added a test to prove this change fixed the bug.

Test: fast/images/webgl-teximage2d.html

  • platform/graphics/skia/GraphicsContext3DSkia.cpp:

(WebCore::GraphicsContext3D::getImageData):

LayoutTests:

Added a test to exercise texImage2D with an Image object.

  • fast/images/webgl-teximage2d-expected.txt: Added.
  • fast/images/webgl-teximage2d.html: Added.
12:34 PM Changeset in webkit [134815] by schenney@chromium.org
  • 55 edits
    41 adds
    22 deletes in trunk/LayoutTests

Test rebaselines after SK_IGNORE_FAST_BLURRECT has been removed

Unreviewed test expectations update.

  • fast/box-shadow/single-pixel-shadow-expected.png: Added.
  • platform/chromium-linux-x86/fast/box-shadow: Removed.
  • platform/chromium-linux-x86/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-linux-x86/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-linux-x86/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-linux/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-linux/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-lion/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-lion/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-lion/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-lion/fast/transforms/shadows-expected.png:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac-lion/svg/filters/shadow-on-rect-with-filter-expected.png: Added.
  • platform/chromium-mac-snowleopard/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium-mac/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-shadow-expected.txt: Removed.
  • platform/chromium-mac/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac/fast/transforms/shadows-expected.png:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win-xp/fast/box-shadow: Removed.
  • platform/chromium-win-xp/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-win-xp/fast/repaint/box-shadow-h-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/box-shadow-v-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-win-xp/fast/transforms/shadows-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Added.
  • platform/chromium-win-xp/svg/css/group-with-shadow-expected.png:
  • platform/chromium-win-xp/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-win/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-win/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-win/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-win/fast/repaint/transform-replaced-shadows-expected.png:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/chromium/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/chromium/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/efl-wk1/compositing/shadows: Added.
  • platform/efl-wk1/compositing/shadows/shadow-drawing-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow: Added.
  • platform/efl-wk1/fast/box-shadow/basic-shadows-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/box-shadow-clipped-slices-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/box-shadow-transformed-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/scaled-box-shadow-expected.png: Added.
  • platform/efl-wk1/fast/canvas: Added.
  • platform/efl-wk1/fast/canvas/canvas-incremental-repaint-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/efl-wk1/fast/transforms: Added.
  • platform/efl-wk1/fast/transforms/shadows-expected.png: Added.
  • platform/efl-wk1/svg/css: Added.
  • platform/efl-wk1/svg/css/group-with-shadow-expected.png: Added.
  • platform/efl/compositing/shadows/shadow-drawing-expected.png: Removed.
  • platform/efl/fast/box-shadow/basic-shadows-expected.png: Removed.
  • platform/efl/fast/box-shadow/box-shadow-clipped-slices-expected.png: Removed.
  • platform/efl/fast/box-shadow/box-shadow-transformed-expected.png: Removed.
  • platform/efl/fast/box-shadow/scaled-box-shadow-expected.png: Removed.
  • platform/efl/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/efl/fast/canvas/canvas-incremental-repaint-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
  • platform/efl/fast/transforms/shadows-expected.png: Removed.
  • platform/efl/svg/css/group-with-shadow-expected.png: Removed.
  • platform/gtk/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
12:29 PM Changeset in webkit [134814] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

12:20 PM Changeset in webkit [134813] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Structure should be able to easily tell if the prototype chain might intercept a store
https://bugs.webkit.org/show_bug.cgi?id=102326

Reviewed by Geoffrey Garen.

This improves our ability to reason about the correctness of the more optimized
prototype chain walk in JSObject::put(), while also making it straight forward to
check if the prototype chain will do strange things to a property store by just
looking at the structure.

  • runtime/JSObject.cpp:

(JSC::JSObject::put):

  • runtime/Structure.cpp:

(JSC::Structure::prototypeChainMayInterceptStoreTo):
(JSC):

  • runtime/Structure.h:

(Structure):

12:04 PM Changeset in webkit [134812] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix. Avoid implicit precision and unused parameter warnings.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

12:01 PM Changeset in webkit [134811] by abarth@webkit.org
  • 13 edits in trunk/Source/WebCore

[V8] We shouldn't call deprecated V8 APIs
https://bugs.webkit.org/show_bug.cgi?id=102407

Reviewed by Eric Seidel.

This patch was written by Sven Panne on the V8 team. He would prefer
that we not call deprecated V8 APIs. This patch updates these call
sites to more modern idioms.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorGetter):
(GenerateImplementation):

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

(WebCore::TestObjV8Internal::TestObjConstructorGetter):

  • bindings/v8/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::setContextDebugId):
(WebCore::ScriptController::contextDebugId):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::objectByHeapObjectId):

  • This code doesn't seem to do anything anymore.
  • bindings/v8/V8DOMConfiguration.h:

(WebCore::V8DOMConfiguration::configureAttribute):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::setInjectedScriptContextDebugId):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::maybeDOMWrapper):
(WebCore::V8DOMWrapper::isWrapperOfType):

  • bindings/v8/V8EventListenerList.h:

(WebCore::V8EventListenerList::doFindWrapper):
(WebCore::V8EventListenerList::findOrCreateWrapper):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initializeIfNeeded):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore::WrapperTypeInfo::unwrap):

11:59 AM Changeset in webkit [134810] by commit-queue@webkit.org
  • 18 edits in trunk

Unreviewed, rolling out r134800 and r134805.
http://trac.webkit.org/changeset/134800
http://trac.webkit.org/changeset/134805
https://bugs.webkit.org/show_bug.cgi?id=102417

This patch broke chromium port (Requested by jianli on
#webkit).

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

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:

Tools:

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
  • fast/mediastream/RTCPeerConnection-datachannel.html:
11:57 AM Changeset in webkit [134809] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Do not mark an event (mouse wheel, scroll update) as handled if nothing was scrolled.
https://bugs.webkit.org/show_bug.cgi?id=102246

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-15
Reviewed by James Robinson.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

  • tests/WebCompositorInputHandlerImplTest.cpp:

(MockWebInputHandlerClient):
(WebKit::TEST_F):

11:56 AM Changeset in webkit [134808] by Lucas Forschler
  • 1 edit in branches/safari-536.28-branch/LayoutTests/ChangeLog

Remove trailing .'s from ChangeLog.

11:55 AM Changeset in webkit [134807] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Animate changes to viewport due to input focus changes.
https://bugs.webkit.org/show_bug.cgi?id=102410

Patch by Andrew Lo <anlo@rim.com> on 2012-11-15
Reviewed by Rob Buis.

When changing scroll position or zoom level for input field focus,
animate the change.
Internal PR 231937

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:

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

11:39 AM Changeset in webkit [134806] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Remove Node::aboutToUnload and be more explicit about what it was for
https://bugs.webkit.org/show_bug.cgi?id=102357

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ryosuke Niwa.

Node::aboutToUnload was confusingly named because it was only called on
the focused node, and it really only existed to support notifying the
embedder that inputs should stop being editable on unload. Instead add
a new method to HTMLInputElement that ends editing and call that
explicitly in the FrameLoader so it's clear what this is about.

No new tests, this is just a refactoring.

  • dom/Node.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::endEditing):

New method that handles finishing editing.

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBlurEvent):

Use the new method to reduce code duplication.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

Be explicit about what this check was for.

11:22 AM Changeset in webkit [134805] by tommyw@google.com
  • 11 edits in trunk

[chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
https://bugs.webkit.org/show_bug.cgi?id=102386

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Existing tests expanded to cover patch.

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

Adding mock data channel functionality.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
11:20 AM Changeset in webkit [134804] by Lucas Forschler
  • 5 edits in branches/safari-536.28-branch/Source

Remove trailing .'s from ChangeLogs.

11:15 AM Changeset in webkit [134803] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

No tests for changing mouse cursors
https://bugs.webkit.org/show_bug.cgi?id=100550

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-15
Reviewed by Brent Fulgham.

.:

Add necessary exports for Internals::getCurrentCursorInfo

  • Source/autotools/symbols.filter:

Source/WebCore:

Add infrastructure to keep track of the last set mouse cursor,
and then to query it from DumpRenderTree. Also adds ASSERTs to help ensure
we can reliably detect when an uninitialized Cursor object is used (such as
the one that can be returned from OptionalCursor in the NoCursorChange scenario).

Test: fast/events/mouse-cursor.html

  • WebCore.exp.in: Add Cursor copy ctor export
  • page/EventHandler.cpp:

(WebCore::OptionalCursor::cursor):
(WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor

  • page/EventHandler.h:

(WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor

  • platform/Cursor.h:

(WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
(WebCore::Cursor::type): Assert cursor type is valid.

  • testing/Internals.cpp:

(WebCore::cursorTypeToString): Helper to convert cursor type to enum
(WebCore):
(WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor

  • testing/Internals.h: Declare getCurrentCursorInfo
  • testing/Internals.idl: Declare getCurrentCursorInfo

Source/WebKit2:

Add necessary exports for Internals::getCurrentCursorInfo

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Add a simple test covering the basic scenarios of changing a mouse
cursor with CSS. This includes most of the cases currently covered
by ManualTests/*cursor*.

  • fast/events/mouse-cursor-expected.txt: Added.
  • fast/events/mouse-cursor.html: Added.
11:08 AM Changeset in webkit [134802] by jer.noble@apple.com
  • 12 edits
    4 adds in trunk

Support loading of blob URLs in AVFoundation.
https://bugs.webkit.org/show_bug.cgi?id=102182

Reviewed by Eric Carlson.

Source/WebCore:

Add support for BLOB (and other non-natively supported schemed) URLs through the AVAssetResourceLoader API.

Test: media/video-src-blob.html

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Only go down the encrypted

media path if the key scheme is skp://.

(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Added. Cancel resource loading if

the media engine requests it.

(WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Use the new, non-deprecated API.

Use the dispatch_main_queue() as the AVAssetResourceLoadDelegate queue now that <rdar://problem/12362461> is fixed.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):

Add a new helper class to manage loading the CachedRawResource and feed the incoming
data to the AVAssetResourceLoader.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Added.
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Added.

(WebCore::WebCoreAVFResourceLoader::create): Simple factory.
(WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader): Simple constructor.
(WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader): Simple destructor.
(WebCore::WebCoreAVFResourceLoader::startLoading): Tell the cachedResourceLoader to schedule loading.
(WebCore::WebCoreAVFResourceLoader::stopLoading): Remove this as a client of the resource.
(WebCore::WebCoreAVFResourceLoader::responseReceived): Fill in the contentInformation field of the

AVAssetResourceLoadingRequest.

(WebCore::WebCoreAVFResourceLoader::dataReceived): Call fulfillRequestWithResource.
(WebCore::WebCoreAVFResourceLoader::notifyFinished): Tell the AVAssetResourceLoadingRequest that loading

has completed.

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Fill in (if possible) the dataRequest

field of the AVAssetResourceLoadingRequest.

Add a MediaPlayerClient method allowing MediaPlayerPrivate subclasses to access the HTMLMediaElement's
document's cachedResourceLoader.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCachedResourceLoader):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::cachedResourceLoader):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCachedResourceLoader):

Add a convenience method to convert from MIME type -> UTI.

  • platform/network/mac/UTIUtilities.h:
  • platform/network/mac/UTIUtilities.mm:

(WebCore::UTIFromMIMEType):

Add new files to project.

  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add a new test which verifies blob url support in video elements.

  • media/video-src-blob-expected.txt: Added.
  • media/video-src-blob.html: Added.
  • platform/mac/TestExpectations: Add expected failure results for OSX releases where

custom media loading is not supported.

11:06 AM Changeset in webkit [134801] by kenneth@webkit.org
  • 6 edits in trunk/Source

Remove initiallyFitToViewport attribute
https://bugs.webkit.org/show_bug.cgi?id=102392

Reviewed by Noam Rosenthal.

Remove the initiallyFitToViewport which shouldn't have been
added in the first place. We now reset userScalable to auto (-1)
in case it was not explicitly set by the web author.

Same behavior, covered by existing tests.

Source/WebCore:

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):

  • dom/ViewportArguments.h:

(ViewportAttributes):

Source/WebKit2:

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageTransitionViewportReady):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):

11:01 AM Changeset in webkit [134800] by tommyw@google.com
  • 12 edits in trunk/Source

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

  • src/AssertMatchingEnums.cpp:
11:00 AM Changeset in webkit [134799] by commit-queue@webkit.org
  • 16 edits in trunk

Unreviewed, rolling out r134649 and r134665.
http://trac.webkit.org/changeset/134649
http://trac.webkit.org/changeset/134665
https://bugs.webkit.org/show_bug.cgi?id=102413

Broke a ton of downstream chromium tests (Requested by japhet
on #webkit).

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

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp:

(WebCore::shouldLoadAsEmptyDocument):
(WebCore):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::handleEmptyLoad):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::load):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
10:56 AM Changeset in webkit [134798] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Correct syntax of old-style IDL files
https://bugs.webkit.org/show_bug.cgi?id=102335

Reviewed by Adam Barth.

Recently tasak@ corrected an IDL syntax of almost all IDL files.
We should correct the rest of them.

No tests. No change in behavior.

  • html/canvas/OESElementIndexUint.idl:
  • page/PerformanceMark.idl:
  • page/PerformanceMeasure.idl:
10:53 AM Changeset in webkit [134797] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Windows Fibers can corrupt the cached StackBounds
https://bugs.webkit.org/show_bug.cgi?id=102411

Reviewed by Geoffrey Garen.

Windows has support for something called fibers, which are like lightweight versions of
threads. Multiple fibers can run within the context of a single thread and they have access
to the same thread local storage but have different stacks. If we create a new JSGlobalContext
on one fiber, then switch to another fiber and create a JSGlobalContext there, we will call
initializeThreading() once for each new JSGlobalContext created. However, since these fibers
are technically running inside the same thread, they will clobber each other's wtfThreadData(),
which is stored using thread local storage. This can lead to corruption of the WTFThreadData
structure for the fibers other than the last one to create a new JSGlobalContext, including
the StackBounds data structure which is used during conservative scanning, among other things.
This can lead to crashes during garbage collection on Windows if fibers are used.

A quick fix would be to always get a fresh StackBounds data structure when asking for it
instead of using the cached version from the thread local storage. There is a larger problem
in that these fibers can corrupt other WebKit data that uses thread local storage. We'll leave
those theoretical fixes for future theoretical bugs.

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::stack): We now refresh the m_stackBounds field whenever somebody asks for
the StackBounds.

10:41 AM Changeset in webkit [134796] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

Use correct unscaled document size when calculating scale limits
https://bugs.webkit.org/show_bug.cgi?id=102028

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Fixes bug http://crbug.com/160581
Using contentsSize / pageScaleFactor as unscaled contents size results
in rounding errors. This can cause scale factor to oscillate indefinitely.

  • src/WebViewImpl.cpp:

(WebKit::unscaledContentsSize):
(WebKit):
(WebKit::WebViewImpl::computePageScaleFactorLimits):

  • tests/WebFrameTest.cpp:
  • tests/data/scale_oscillate.html: Added.
10:40 AM Changeset in webkit [134795] by mifenton@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Don't restore zoom and scroll when leaving an input field.
https://bugs.webkit.org/show_bug.cgi?id=102376

Reviewed by Yong Li.

Restoring the zoom causes undesirable behavior when switching between fields.

Reviewed Internally by Andrew Lo.

  • WebKitSupport/InputHandler.cpp:

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

  • WebKitSupport/InputHandler.h:

(InputHandler):

10:33 AM Changeset in webkit [134794] by commit-queue@webkit.org
  • 6 edits in trunk

Source/WebCore: Remove isHTMLInputElement since it's unused and toInputElement exists
https://bugs.webkit.org/show_bug.cgi?id=102358

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Remove isHTMLInputElement as no one uses it. Everyone just uses
Node::toInputElement and checks for a 0 return value instead.

toInputElement is also more reliable as there's no requirement that
subclasses of HTMLInputElement have the tag name of inputTag so using
this method in a check could potentially miss future subclasses with
different tag names, though none exist right now.

No new tests, this just deletes dead code.

  • html/HTMLInputElement.h:

Source/WebKit/chromium: [chromium] Move allowWebGL query to WebFrameClient
https://bugs.webkit.org/show_bug.cgi?id=102319

Patch by Kenneth Russell <kbr@google.com> on 2012-11-15
Reviewed by Adam Barth.

Moved allowWebGL query to WebFrameClient to avoid polluting
content/ API.

  • public/WebFrameClient.h:

(WebFrameClient):
(WebKit::WebFrameClient::allowWebGL):

  • public/WebPermissionClient.h:
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::allowWebGL):

LayoutTests: Unreviewed: Skipping http/tests/security/sandboxed-iframe-form-top.html
https://bugs.webkit.org/show_bug.cgi?id=102391

This test is leaking state into the following test. Skipping it here,
and will look for a fix in 85522 (oooooold!).

Patch by Mike West <mkwst@chromium.org> on 2012-11-15

  • platform/mac/TestExpectations:

Skip sandboxed-iframe-form-top.html

  • platform/max/http/tests/security/sandboxed-iframe-origin-add-expected.txt:

We're no longer leaking into this test; remove the platform specific
results.

10:18 AM Changeset in webkit [134793] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] Do not regenerate LLIntAssembly.h on every incremental build
https://bugs.webkit.org/show_bug.cgi?id=102248

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-15
Reviewed by Kenneth Rohde Christiansen.

Update LLIntAssembly.h's mtime after running asm.rb to make the build
system dependency tracking consistent.

  • CMakeLists.txt:
10:17 AM Changeset in webkit [134792] by arv@chromium.org
  • 60 edits in trunk

Update DOMException name: NotSupportedError
https://bugs.webkit.org/show_bug.cgi?id=102139

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 9 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • editing/pasteboard/data-transfer-items-expected.txt:
  • fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
  • fast/canvas/canvas-createImageData-expected.txt:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • fast/canvas/linearGradient-infinite-values-expected.txt:
  • fast/canvas/radialGradient-infinite-values-expected.txt:
  • fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
  • fast/canvas/script-tests/canvas-createImageData.js:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/linearGradient-infinite-values.js:
  • fast/canvas/script-tests/radialGradient-infinite-values.js:
  • fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
  • fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:
  • fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
  • fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:
  • fast/dom/Node/initial-values-expected.txt:
  • fast/dom/importNode-null-expected.txt:
  • fast/dynamic/insertAdjacentText-expected.txt:
  • fast/forms/date/input-valueasnumber-date-expected.txt:
  • fast/forms/date/input-valueasnumber-date.html:
  • fast/forms/datetime/input-valueasnumber-datetime-expected.txt:
  • fast/forms/datetime/input-valueasnumber-datetime.html:
  • fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt:
  • fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html:
  • fast/forms/month/input-valueasnumber-month-expected.txt:
  • fast/forms/month/input-valueasnumber-month.html:
  • fast/forms/number/number-valueasnumber-expected.txt:
  • fast/forms/number/number-valueasnumber.html:
  • fast/forms/range/input-valueasnumber-range-expected.txt:
  • fast/forms/range/input-valueasnumber-range.html:
  • fast/forms/time/time-valueasnumber-expected.txt:
  • fast/forms/time/time-valueasnumber.html:
  • fast/forms/week/input-valueasnumber-week-expected.txt:
  • fast/forms/week/input-valueasnumber-week.html:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/argument-types-expected.txt:
  • fast/mediastream/getusermedia-expected.txt:
  • fast/mediastream/script-tests/argument-types.js:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/dom/xhtml/level3/core/documentsetxmlversion03-expected.txt:
  • platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/efl/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/gtk/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/qt/fast/dynamic/insertAdjacentElement-expected.txt:
  • svg/dom/SVGAngle-expected.txt:
  • svg/dom/SVGLength-expected.txt:
  • svg/dom/SVGLength-px-expected.txt:
  • svg/dom/SVGPreserveAspectRatio-expected.txt:
  • transforms/cssmatrix-2d-interface-expected.txt:
  • transforms/cssmatrix-3d-interface-expected.txt:
10:15 AM Changeset in webkit [134791] by mjs@apple.com
  • 2 edits in trunk/Source/WTF

Fix an erroneous comment about the operators required by binarySearch
https://bugs.webkit.org/show_bug.cgi?id=102406

Reviewed by Anders Carlsson.

  • wtf/StdLibExtras.h: binarySearch needs '==' and '<', not '--', '<' and '>'.
10:13 AM Changeset in webkit [134790] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove isHTMLInputElement since it's unused and toInputElement exists
https://bugs.webkit.org/show_bug.cgi?id=102358

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Remove isHTMLInputElement as no one uses it. Everyone just uses
Node::toInputElement and checks for a 0 return value instead.

toInputElement is also more reliable as there's no requirement that
subclasses of HTMLInputElement have the tag name of inputTag so using
this method in a check could potentially miss future subclasses with
different tag names, though none exist right now.

No new tests, this just deletes dead code.

  • html/HTMLInputElement.h:
10:13 AM Changeset in webkit [134789] by mkwst@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed: Skipping http/tests/security/sandboxed-iframe-form-top.html
https://bugs.webkit.org/show_bug.cgi?id=102391

This test is leaking state into the following test. Skipping it here,
and will look for a fix in 85522 (oooooold!).

  • platform/mac/TestExpectations:

Skip sandboxed-iframe-form-top.html

  • platform/max/http/tests/security/sandboxed-iframe-origin-add-expected.txt:

We're no longer leaking into this test; remove the platform specific
results.

9:57 AM Changeset in webkit [134788] by jpetsovits@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix suspend/resume assertion in setCompositor().
https://bugs.webkit.org/show_bug.cgi?id=102397
RIM PR 244701

Reviewed by Adam Treat.

If a compositor is used but no surface pool is ever
allocated (which is a perfectly valid use case), initial
suspension of the backingstore is skipped because of an
early return. This will cause an assertion to be triggered
and a bug. Fix this by suspending it before the return.

With Adam Treat's recent change to split suspension of
screen and backingstore into two different functions,
this can now be reduced to a mere screen (blitting)
suspension. That was the original intention of this code.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setCompositor):

9:37 AM Changeset in webkit [134787] 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-11-15

  • DEPS:
9:16 AM Changeset in webkit [134786] by akling@apple.com
  • 2 edits in trunk/Tools

Update my e-mail address.

Rubber-stamped by Anders Koivisto.

  • Scripts/webkitpy/common/config/committers.py:
9:08 AM Changeset in webkit [134785] by arv@chromium.org
  • 32 edits in trunk

Update DOMException name: NoModificationAllowedError
https://bugs.webkit.org/show_bug.cgi?id=102134

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 7 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • dom/xhtml/level1/core/hc_nodevalue03-expected.txt:
  • fast/dom/EntityReference/readonly-exceptions-expected.txt:
  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dom/computed-style-set-property-expected.txt:
  • fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
  • fast/dom/outerText-no-element-expected.txt:
  • fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • fast/dom/setPrimitiveValue-expected.txt:
  • fast/dynamic/outerHTML-no-element-expected.txt:
  • fast/frames/out-of-document-iframe-has-child-frame-expected.txt:
  • platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/svg/custom/baseval-animval-equality-expected.txt:
  • platform/chromium/fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
  • platform/chromium/fast/frames/out-of-document-iframe-has-child-frame-expected.txt:
  • platform/chromium/svg/custom/baseval-animval-equality-expected.txt:
  • platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
  • platform/mac/svg/custom/baseval-animval-equality-expected.txt:
  • platform/qt/svg/custom/baseval-animval-equality-expected.txt:
  • platform/qt/svg/dom/altGlyph-dom-expected.txt:
  • svg/animations/animate-gradient-transform-expected.txt:
  • svg/dom/SVGColor-expected.txt:
  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGNumberList-basics-expected.txt:
  • svg/dom/SVGPaint-expected.txt:
  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/SVGViewSpec-defaults-expected.txt:
  • svg/dom/altGlyph-dom-expected.txt:
9:06 AM Changeset in webkit [134784] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unnecesary dependencies INPUT_TYPE_COLOR
https://bugs.webkit.org/show_bug.cgi?id=102379

Patch by Miguel Garcia <miguelg@chromium.org> on 2012-11-15
Reviewed by Darin Adler.

Platforms should be able to enable INPUT_TYPE_COLOR without enabling
CALENDAR_PICKER and DATALIST_ELEMENT. Before this patch however there would be
compile errors in such configuration.

No new tests since this is not adding any extra functionality.

  • WebCore.gyp/WebCore.gyp:
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shouldShowSuggestions):

  • make-file-arrays.py:

(main):

9:05 AM Changeset in webkit [134783] by eric.carlson@apple.com
  • 7 edits
    2 adds in trunk

Update computed line position algorithm
https://bugs.webkit.org/show_bug.cgi?id=93779

Reviewed by Philippe Normand.

Compute the position of a text track relative to rendered tracks. This is needed to position
cues correctly when there is more than one text track.

Source/WebCore:

Test: media/track/track-cue-container-rendering-position.html

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::invalidateTrackIndex): Invalidate both cached track indices.
(WebCore::TextTrack::trackIndexRelativeToRenderedTracks): Return the index of the track relative

to other rendered tracks.

  • html/track/TextTrack.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::calculateComputedLinePosition): Use trackIndexRelativeToRenderedTracks()

instead of trackIndex() so cues are positioned correctly.

  • html/track/TextTrackList.cpp:

(TextTrackList::getTrackIndex): Change return type from unsigned to int.
(TextTrackList::getTrackIndexRelativeToRenderedTracks): New.

  • html/track/TextTrackList.h:

LayoutTests:

  • media/track/track-cue-container-rendering-position-expected.txt: Added.
  • media/track/track-cue-container-rendering-position.html: Added.
9:02 AM Changeset in webkit [134782] by jpetsovits@rim.com
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Leave surface resizing to the client.
https://bugs.webkit.org/show_bug.cgi?id=102280
RIM PR 235034
RIM PR 160619

Reviewed by Adam Treat.

Now that we always blit on the user interface thread and
use the client's userInterfaceViewportAccessor() to determine
the destination rectangle for blitting, changing the viewport
size does not affect the window or target surface directly.
The only way that blitted output is affected is through
layout, scroll position or scale changes. None of these
require us to synchronize with the UI thread to resize its
target surface.

This commit simplifies setViewportSize() and removes a
blocking message dispatch by simply offloading all surface
resizing responsibilities to the client. This is safer,
cleaner and easier.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPage::setScreenOrientation):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • Api/WebPage_p.h:

(WebPagePrivate):

8:59 AM Changeset in webkit [134781] by dominik.rottsches@intel.com
  • 4 edits
    2 adds in trunk

[EFL] Bump Harfbuzz to allow fixing bug 101009 on EFL
https://bugs.webkit.org/show_bug.cgi?id=101323

Reviewed by Martin Robinson.

Source/WebCore:

Removing ifdef since we bumped Harfbuzz dependency. This is the
real fix replacing the previous workaround of having a Chromium
specific ifdef here, since Chromium uses a newer HarfBuzz version
already.

No new tests, covered by css3/flexbox/inline-flex-crash.html
which will not crash anymore even with the ifdef removed.

  • platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):

Tools:

Bumping Harfbuzz to newer version so that we can remove the
ifdef round the fix for bug 101009 for EFL, too.
We're using the zip snapshot since jhbuild can fallback to the previously
downloaded blob in case of network failures which leads to better
buildbot robustness. This zip snapshot currently needs to be locally
patched to fix ICU detection on systems that don't have icu pkg-config files.
The patch is suggested for merging into HarfBuzz. We can remove it locally
once it's accepted into HarfBuzz upstream.

  • efl/patches/harfbuzz-icu-detection-fix.patch: Applied after retrieving source to fix harfbuzz detection on systems that don't have pkg-config files for it.
  • efl/jhbuild.modules: Bumping harfbuzz version.
8:50 AM Changeset in webkit [134780] by ap@apple.com
  • 2 edits in trunk/Tools

[Mac] Implement WTR --no-timeout-at-all option
https://bugs.webkit.org/show_bug.cgi?id=102251

Reviewed by Eric Carlson.

  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformRunUntil):

Just do it, and convert to Objective C on the way for simplicity.

8:35 AM Changeset in webkit [134779] by kling@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION(r134408): Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement().
<http://webkit.org/b/102304>

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/dom/cloneNode-below-body-attribute-merging.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

Use Element::fastHasAttribute() to determine if a given attribute is already present on the element
we're merging attributes into.

  • dom/ElementAttributeData.h:

(ElementAttributeData):

Remove a now-unnecessary friend declaration.

LayoutTests:

  • fast/dom/cloneNode-below-body-attribute-merging-expected.txt: Added.
  • fast/dom/cloneNode-below-body-attribute-merging.html: Added.
8:11 AM Changeset in webkit [134778] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Move SK_DISABLE_FAST_AA_STROKE_RECT to skia_webkit.gyp

Unreviewed non-funtional, behavior-neutral change

  • skia_webkit.gyp: Add SK_DISABLE_FAST_AA_STROKE_RECT=1 so that it can be removed from Chromium's skia.gyp
7:48 AM Changeset in webkit [134777] by junov@google.com
  • 2 edits in trunk/LayoutTests

Cleanup test expectations after rebaseline r134668
https://bugs.webkit.org/show_bug.cgi?id=101974

Unreviewed

  • platform/chromium/TestExpectations:
7:46 AM Changeset in webkit [134776] by rakuco@webkit.org
  • 2 edits
    20 copies
    4 moves
    2 adds
    4 deletes in trunk/LayoutTests

[EFL] Gardening.

Move some expectations from efl-wk1/ to efl/ since they should
work for both ports (and were originally there).

Skip an additional HiDPI test.

  • platform/efl-wk1/fast/borders: Removed.
  • platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png: Removed.
  • platform/efl-wk1/fast/css: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-input-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-input-expected.txt: Removed.
  • platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Removed.
  • platform/efl-wk1/fast/forms/menulist-clip-expected.png: Removed.
  • platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png: Removed.
  • platform/efl-wk1/fast/forms/select-empty-option-height-expected.png: Removed.
  • platform/efl-wk1/fast/media: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.png: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt: Removed.
  • platform/efl-wk1/fast/repaint/control-clip-expected.png: Removed.
  • platform/efl-wk1/svg/dom: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png: Removed.
  • platform/efl/TestExpectations:
  • platform/efl/fast/borders/border-radius-wide-border-01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png.
  • platform/efl/fast/borders/border-radius-wide-border-05-expected.png: Added.
  • platform/efl/fast/borders/borderRadiusInset01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-bidi-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-strict-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png.
  • platform/efl/fast/css/text-overflow-input-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-input-expected.png.
  • platform/efl/fast/css/text-overflow-input-expected.txt: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-input-expected.txt.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png.
  • platform/efl/fast/forms/menulist-clip-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/menulist-clip-expected.png.
  • platform/efl/fast/forms/menulist-option-wrap-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png.
  • platform/efl/fast/forms/select-empty-option-height-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/select-empty-option-height-expected.png.
  • platform/efl/fast/forms/zoomed-controls-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/media/mq-js-media-except-01-expected.png.
  • platform/efl/fast/media/mq-js-media-except-01-expected.txt: Copied from LayoutTests/platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt.
  • platform/efl/fast/repaint/control-clip-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/repaint/control-clip-expected.png.
  • platform/efl/svg/dom/SVGLengthList-appendItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png.
  • platform/efl/svg/dom/SVGLengthList-getItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-initialize-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png.
  • platform/efl/svg/dom/SVGLengthList-insertItemBefore-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png.
  • platform/efl/svg/dom/SVGLengthList-removeItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-replaceItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png.
  • platform/efl/svg/dom/SVGNumberList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png.
  • platform/efl/svg/dom/SVGTransformList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png.
7:42 AM Changeset in webkit [134775] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Prevent creation of detached frames in ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=102333

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Dimitri Glazkov.

Source/WebCore:

Similar to Bug 94717 you can create a loaded iframe in a detached
subtree using ShadowRoot. To fix this we just need to make
SubframeLoadingDisabler traverse through shadow boundaries.

Test: fast/frames/detached-shadow-frame.html

  • html/HTMLFrameOwnerElement.h:

(WebCore::SubframeLoadingDisabler::canLoadFrame):

LayoutTests:

Test that you cannot create a detached frame using a ShadowRoot
and iframe unload handlers.

  • fast/frames/detached-shadow-frame-expected.txt: Added.
  • fast/frames/detached-shadow-frame.html: Added.
7:28 AM Changeset in webkit [134774] by shinyak@chromium.org
  • 6 edits
    4 adds in trunk

Changing pseudoClass (:visited) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101700

Reviewed by Dimitri Glazkov.

Source/WebCore:

When href attribute of an anchor or area element is changed, we have to invalidate distribution.

Since we would like to check a few pseudoClasses at once, we make the argument of
SelectRuleFeatureSet::hasSelectorFor int.

Tests: fast/dom/shadow/pseudoclass-update-visited-anchor.html

fast/dom/shadow/pseudoclass-update-visited-area.html

  • dom/ElementShadow.cpp:

(WebCore::invalidateParentDistributionIfNecessary):

  • dom/ElementShadow.h:

(WebCore):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/shadow/SelectRuleFeatureSet.h:

(WebCore::SelectRuleFeatureSet::hasSelectorFor):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-visited-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-area.html: Added.
7:28 AM Changeset in webkit [134773] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed build fix attempt after r134765.

  • webkit/webkitviewportattributes.cpp:

(webkitViewportAttributesRecompute):

7:27 AM Changeset in webkit [134772] by kbalazs@webkit.org
  • 6 edits in trunk/Source

Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Source/WebCore:

Make animations resumable in Coordinated Graphics.
Pausing was already implemented.

Tested with animations and transitions tests. No tests to be
unskipped because these tests has been working without this API
as well (although this is the preferred way).

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimation::apply):
(WebCore::GraphicsLayerAnimation::computeTotalRunningTime):
Do not consider the time while we was suspended as part of
the total running time.
(WebCore):
(WebCore::GraphicsLayerAnimation::resume):
(WebCore::GraphicsLayerAnimations::suspend):
(WebCore::GraphicsLayerAnimations::resume):

  • platform/graphics/GraphicsLayerAnimation.h:

(GraphicsLayerAnimation):
(GraphicsLayerAnimations):

Source/WebKit2:

Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::suspendAnimations):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::resumeAnimations):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

7:06 AM Changeset in webkit [134771] by schenney@chromium.org
  • 18 edits in trunk

[Chromium] Disable SK_IGNORE_FAST_BLURRECT

Source/WebKit/chromium:

Unreviewed test update.

This flag is enabled purely to simplify rebaselining. I am now
removing it and doing the rebaslining.

  • skia_webkit.gyp: Remove the line for SK_IGNORE_FAST_BLURRECT

LayoutTests:

Unreviewed test expectations update

  • platform/chromium-linux/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-linux/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-linux/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-linux/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-linux/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-linux/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-linux/fast/transforms/shadows-expected.png:
  • platform/chromium-linux/svg/css/group-with-shadow-expected.png:
  • platform/chromium-linux/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-win/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium/TestExpectations:
6:18 AM Changeset in webkit [134770] by schenney@chromium.org
  • 4 edits in trunk/LayoutTests

Rebaseline after r134736

Unreviewed expectations update.

Very minor changes, not entirely clear why but not a problem at all.
Probably due to animation cauising an initial valeue to differ
slightly.

  • platform/chromium-linux/compositing/checkerboard-expected.png:
  • platform/chromium-mac/compositing/checkerboard-expected.png:
  • platform/chromium-win/compositing/checkerboard-expected.png:
6:13 AM Changeset in webkit [134769] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Update pixel test expectation for datalist tests
https://bugs.webkit.org/show_bug.cgi?id=102365

Unreviewed EFL gardening.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-15

  • platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/efl/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png:
5:59 AM Changeset in webkit [134768] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

REGRESSION(r134495): It made svg/custom/use-instanceRoot-event-listeners.xhtml fail and fast/events/attribute-listener-deletion-crash.html timeout
https://bugs.webkit.org/show_bug.cgi?id=102183

Unreviewed gardening, unskip now passing tests after r134666.

  • platform/qt/TestExpectations:
5:42 AM Changeset in webkit [134767] by rgabor@webkit.org
  • 9 edits
    6 copies
    1 add
    1 delete in trunk/Source/WebCore

Relocate the ARM NEON SVG filter optimizations
https://bugs.webkit.org/show_bug.cgi?id=102214

Reviewed by Zoltan Herczeg.

Relocate the ARM filter optimizations into platform/graphics/cpu/arm
to keep them together with the others.
From now all graphics optimization for ARM NEON should go here.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cpu/arm/filters/FEBlendNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEBlendNEON.h.

(WebCore):
(FEBlendUtilitiesNEON):
(WebCore::FEBlendUtilitiesNEON::div255):
(WebCore::FEBlendUtilitiesNEON::normal):
(WebCore::FEBlendUtilitiesNEON::multiply):
(WebCore::FEBlendUtilitiesNEON::screen):
(WebCore::FEBlendUtilitiesNEON::darken):
(WebCore::FEBlendUtilitiesNEON::lighten):
(WebCore::FEBlend::platformApplyNEON):

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h.

(WebCore):
(WebCore::FEComposite::computeArithmeticPixelsNeon):
(WebCore::FEComposite::platformArithmeticNeon):

  • platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h.

(WebCore):
(WebCore::boxBlurNEON):

  • platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.

(WebCore):
(WebCore::feLightingConstantsForNeon):
(WebCore::FELighting::platformApplyNeonWorker):
(WebCore::FELighting::getPowerCoefficients):

  • platform/graphics/cpu/arm/filters/FELightingNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.h.

(WebCore):
(FELightingFloatArgumentsForNeon):
(FELightingPaintingDataForNeon):
(WebCore::FELighting::platformApplyNeon):

  • platform/graphics/cpu/arm/filters/NEONHelpers.h: Renamed from Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h.

(WebCore):
(WebCore::loadRGBA8AsFloat):
(WebCore::storeFloatAsRGBA8):

5:04 AM Changeset in webkit [134766] by mkwst@chromium.org
  • 10 edits
    4 adds in trunk

We should trigger a console warning when we encounter invalid sandbox flags.
https://bugs.webkit.org/show_bug.cgi?id=101956

Reviewed by Adam Barth.

Source/WebCore:

A developer who writes '<iframe sandbox="allowScripts">' probably has
something in mind other than what the browser interprets. In these
situations, we should log a console warning that notes 'allowScripts'
is an invalid sandbox flag ('allow-scripts' is probably what she
meant).

This patch does the simplest thing possible: it throws a warning that
lists the invalid flags encountered for sandbox attributes on iframes,
and for sandbox Content Security Policy directives.

Tests: http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html

http/tests/security/sandboxed-iframe-invalid.html

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy):

  • dom/SecurityContext.h:

(SecurityContext):

Accept a new out parameter, invalidTokensErrorMessage. If invalid
tokens are encountered, build an error message string, and pass it
back to the caller through this parameter.

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::applySandboxPolicy):

When applying a sandbox policy, pass a string into
SecurityContext::parseSandboxPolicy to grab any errors that might
be encountered, and log a warning in that event.

(WebCore::ContentSecurityPolicy::reportInvalidSandboxFlags):
(WebCore):

  • page/ContentSecurityPolicy.h:

Adding a new method to report invalid sandbox flags.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html: Added.
  • http/tests/security/sandboxed-iframe-invalid-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-invalid.html: Added.
5:00 AM Changeset in webkit [134765] by kenneth@webkit.org
  • 5 edits in trunk/Source

Rename member vars in ViewportArgument to match css-device-adapt
https://bugs.webkit.org/show_bug.cgi?id=102355

Reviewed by Gyuyoung Kim.

Source/WebCore:

No behavior change, thus no new tests.

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):
(WebCore::setViewportFeature):

  • dom/ViewportArguments.h:

(WebCore::ViewportArguments::ViewportArguments):
(ViewportArguments):
(WebCore::ViewportArguments::operator==):

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new): Update to reflect name change.

4:46 AM Changeset in webkit [134764] by keishi@webkit.org
  • 2 edits
    20 adds in trunk/LayoutTests

[Chromium] Add tests for month suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=102040

Reviewed by Kent Tamura.

Adding tests for <input type=date> with datalist.

  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-step-attribute.html: Added.
  • platform/chromium/TestExpectations:
4:45 AM Changeset in webkit [134763] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix compiler warnings about signed/unsigned comparison on i386
https://bugs.webkit.org/show_bug.cgi?id=102249

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-15
Reviewed by Kenneth Rohde Christiansen.

Add casting to unsigned to shut up gcc warnings. Build was broken on
JSVALUE32_64 ports compiling with -Werror.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

4:36 AM Changeset in webkit [134762] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening after r134628
https://bugs.webkit.org/show_bug.cgi?id=102368

Unreviewed gardening.

Skip test compositing/overflow/scrolling-without-painting.html added at r134628
and which does not pass on EFL.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-15

  • platform/efl/TestExpectations:
4:23 AM Changeset in webkit [134761] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [WebGL] cloneNode for images with revoked Blob URIs fails
https://bugs.webkit.org/show_bug.cgi?id=102366

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-11-15
Reviewed by Vsevolod Vlasov.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

4:13 AM Changeset in webkit [134760] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add APIs to get/set whether scripts can open new windows.
https://bugs.webkit.org/show_bug.cgi?id=102054

Patch by Yuni Jeong <yhnet.jung@samsung.com> on 2012-11-15
Reviewed by Gyuyoung Kim.

Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_scripts_can_open_windows_set):
(ewk_settings_scripts_can_open_windows_get):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/tests/test_ewk2_settings.cpp:

(TEST_F):

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

Fix tests after r134637.

  • fast/harness/perftests/runs-per-second-iterations.html:
  • fast/harness/perftests/runs-per-second-log.html:
  • platform/qt/TestExpectations:
3:34 AM Changeset in webkit [134758] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL][WK2] Rebase fast/media/mq-js-media-except-01.html after r134618
https://bugs.webkit.org/show_bug.cgi?id=102362

Unreviewed rebaseline.

Rebased fast/media/mq-js-media-except-01.html after r134618.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-15

  • platform/efl-wk2/fast/media/mq-js-media-except-01-expected.txt: Added.
3:01 AM Changeset in webkit [134757] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

Unreviewed. Fix build break when using --no-tiled-backing-store option.

  • ewk/ewk_frame_private.h:

(WebCore):

2:55 AM Changeset in webkit [134756] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/TestExpectations:
2:07 AM Changeset in webkit [134755] by mrowe@apple.com
  • 4 edits in trunk/Source/WebCore

Build fix.

Disable deprecation warnings in a few places that need it.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::drawRepaintCounter):

  • platform/graphics/mac/FontMac.mm:

(WebCore::showGlyphsWithAdvances):

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

2:04 AM Changeset in webkit [134754] by kkristof@inf.u-szeged.hu
  • 4 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Rebaseline after r134649.

  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
1:47 AM Changeset in webkit [134753] by tkent@chromium.org
  • 11 edits in trunk

Support stand-alone month names in calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102196

Reviewed by Kentaro Hara.

.:

  • ManualTests/forms/calendar-picker.html:
  • Remove monthLabels arguments.
  • Add a mock implementation of pagePopupController.formatMonth.

Source/WebCore:

We have showed non stand-alone month names in any locales. However
we should show stand-alone month names in some locales such as
Russian.

This patch introduce PagePopupController::formatMonth. It is
exposed to page-popups, and format year-month pairs in the same
way as input[type=month].

No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.

  • Resources/pagepopups/calendarPicker.js:

(Month.prototype.toLocaleString):
Calls pagePopupController.formatMonth except Japanese locale.
(handleArgumentsTimeout):
Remove unnecessary default monthLabels.

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::formatMonth): Added.

  • page/PagePopupController.h:

(PagePopupController): Declare formatMonth.

  • page/PagePopupController.idl: Add formatMonth.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::writeDocument):
We don't need to pass monthLabels any more.

LayoutTests:

Update a pixel result for Russian calendar picker. Now it contains
a stand-alone month name.

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
1:08 AM Changeset in webkit [134752] by haraken@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-win/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium/TestExpectations:
12:55 AM Changeset in webkit [134751] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Fix new JS compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=102341

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-15
Reviewed by Yury Semikhatsky.

New version of compiler finds new inconsistencies.

  • inspector/front-end/DOMAgent.js: Replaced 2 simiar cases with loop.
  • inspector/front-end/DOMBreakpointsSidebarPane.js:

Declared instance property on WebInspector.

  • inspector/front-end/Script.js: Normalized parameter notation.
12:53 AM Changeset in webkit [134750] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • dom/ViewportArguments.cpp:

(WebCore::convertToUserSpace): Add static

12:20 AM Changeset in webkit [134749] by kenneth@webkit.org
  • 3 edits in trunk/Source/WebCore

Refactor ViewportArguments to only use CSS units
https://bugs.webkit.org/show_bug.cgi?id=102287

Reviewed by Noam Rosenthal.

Refactor the ViewportArgument code to use a member method for
resolving the viewport. This new method only uses arguments in
CSS units.

This is preparation for adding the CSS Device Adaptation support.

Tested by existing tests fast/viewport.

  • dom/ViewportArguments.cpp:

(WebCore::clampLengthValue):
(WebCore::clampScaleValue): New utility functions.
(WebCore::ViewportArguments::resolve):
(WebCore::convertToUserSpace): Added until everyone provides arguments
only in CSS units and not device ones.
(WebCore::computeViewportAttributes):
(WebCore::computeMinimumScaleFactorForContentContained):
(WebCore):
(WebCore::restrictMinimumScaleFactorToViewportSize):

  • dom/ViewportArguments.h:

(ViewportArguments):

Nov 14, 2012:

11:41 PM Changeset in webkit [134748] by shinyak@chromium.org
  • 5 edits
    14 adds in trunk

Changing pseudoClass (:disabled) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101901

Reviewed by Hajime Morita.

Source/WebCore:

We have to invalidate distribution when pseudo-class (:disabled) is changed.

According to the HTML5 spec, :disabled will match button, input, select, textarea, optgroup,
option, command, li, and fieldset. However, command is not implemented yet, we skip li and command. li might
have 'disabled' state, but we need a command element to make it 'disabled' state.

Tests: fast/dom/shadow/pseudoclass-update-disabled-button.html

fast/dom/shadow/pseudoclass-update-disabled-fieldset.html
fast/dom/shadow/pseudoclass-update-disabled-input.html
fast/dom/shadow/pseudoclass-update-disabled-optgroup.html
fast/dom/shadow/pseudoclass-update-disabled-option.html
fast/dom/shadow/pseudoclass-update-disabled-select.html
fast/dom/shadow/pseudoclass-update-disabled-textarea.html

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledAttributeChanged):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-disabled-button-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-button.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-fieldset-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-fieldset.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-optgroup-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-optgroup.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-option.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-select-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-select.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-textarea-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-textarea.html: Added.
11:34 PM Changeset in webkit [134747] by commit-queue@webkit.org
  • 10 edits
    2 deletes in trunk

Unreviewed, rolling out r134691, r134703, r134715, r134716,
and r134733.
http://trac.webkit.org/changeset/134691
http://trac.webkit.org/changeset/134703
http://trac.webkit.org/changeset/134715
http://trac.webkit.org/changeset/134716
http://trac.webkit.org/changeset/134733
https://bugs.webkit.org/show_bug.cgi?id=102342

"Broke the Apple Windows Debug and GTK builds." (Requested by
dydx on #webkit).

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

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.h:
  • testing/Internals.cpp:
  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

  • platform/chromium/fast/storage/serialized-script-value-expected.txt: Removed.
  • platform/chromium/fast/storage/serialized-script-value.html: Removed.
11:12 PM Changeset in webkit [134746] by haraken@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
10:57 PM Changeset in webkit [134745] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Not reviewed: fixing inspector tests under Qt.

  • inspector/front-end/TestController.js:
  • inspector/front-end/utilities.js:

(.):

10:51 PM Changeset in webkit [134744] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r134741.
http://trac.webkit.org/changeset/134741
https://bugs.webkit.org/show_bug.cgi?id=102337

"Change is incorrect." (Requested by dydx on #webkit).

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

.:

  • Source/autotools/symbols.filter:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:44 PM Changeset in webkit [134743] by commit-queue@webkit.org
  • 12 edits in trunk

[EFL] Port tiled backing store
https://bugs.webkit.org/show_bug.cgi?id=71352

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Added ewk_view_setting_tiled_backing_store_enabled_{get|set} to give possibility
to use WebCore's tiled backing store in WebKit/Efl port. This makes WebKit/Efl
compliant with WebKit's generic solution of tiled backing store.

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::invalidateRootView):
(WebCore):
(WebCore::ChromeClientEfl::visibleRectForTiledBackingStore):

  • WebCoreSupport/ChromeClientEfl.h:

(ChromeClientEfl):

  • ewk/ewk_frame_private.h:

Declared missing classes which used in this file.

  • ewk/ewk_paint_context.cpp:

(ewk_paint_context_paint): Implemented to paint tiled backing store

  • ewk/ewk_view.cpp:

(ewk_view_setting_tiled_backing_store_enabled_set):
Added API to enable/disable the WebCore's tiled backing store.
(ewk_view_setting_tiled_backing_store_enabled_get):
Added API to query if the WebCore's tiled backing store is enabled.
(ewk_view_tiled_backing_store_invalidate):

  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:
  • ewk/ewk_view_single.cpp:

(_ewk_view_single_smart_repaints_process):
Implemented to update visible area of tiled backing store.

  • tests/test_ewk_view.cpp: Added test case of ewk_view_setting_tiled_backing_store.

(TEST_F):

Tools:

  • EWebLauncher/main.c: Added option to test the WebCore's tiled backing store.

(_User_Arguments):
(windowCreate):
(parseUserArguments):

10:42 PM Changeset in webkit [134742] 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-11-14

  • DEPS:
10:37 PM Changeset in webkit [134741] by dbates@webkit.org
  • 5 edits in trunk

Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
(https://bugs.webkit.org/show_bug.cgi?id=96818)

.:

Export symbols similar to the ones we added to WebCore.exp.in in
<http://trac.webkit.org/changeset/134691>.

  • Source/autotools/symbols.filter:

Source/WebKit2:

Export symbols of the form:
?deserializeBuffer@Internals@WebCore[...]
?serializeObject@Internals@WebCore[...]

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:13 PM Changeset in webkit [134740] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705908> Scrolling some versions of the facebook page is very slow

Merge r134737

2012-11-14 Simon Fraser <Simon Fraser>

Don't use temporary clip rects when hit testing
https://bugs.webkit.org/show_bug.cgi?id=102329

Reviewed by Beth Dakin.

We now cache clip rects separately for painting, hit testing etc. Hit testing
clip rects are always shrunk to exclude scrollbars (so that hit testing on
the scrollbars works), so we no longer every need to use temporary clip rects
during hit testing.

Added an assertion that the scrollbar relevancy when we computed the clip rects
is the same as that when using them.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRectsCache::ClipRectsCache): (ClipRectsCache):
10:11 PM Changeset in webkit [134739] by timothy@apple.com
  • 10 edits in branches/safari-536.28-branch

Merge r134100.

9:48 PM Changeset in webkit [134738] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

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

(WebCore::toV8Fast):

9:47 PM Changeset in webkit [134737] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't use temporary clip rects when hit testing
https://bugs.webkit.org/show_bug.cgi?id=102329

Reviewed by Beth Dakin.

We now cache clip rects separately for painting, hit testing etc. Hit testing
clip rects are always shrunk to exclude scrollbars (so that hit testing on
the scrollbars works), so we no longer every need to use temporary clip rects
during hit testing.

Added an assertion that the scrollbar relevancy when we computed the clip rects
is the same as that when using them.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRectsCache::ClipRectsCache):
(ClipRectsCache):

9:33 PM Changeset in webkit [134736] by krit@webkit.org
  • 9 edits in trunk

Support animation of basic shape 'polygon'
https://bugs.webkit.org/show_bug.cgi?id=102080

Reviewed by Daniel Bates.

Source/WebCore:

The basic shapes 'circle', 'rectangle' and 'ellipse' are animatable with the committed
patch http://trac.webkit.org/changeset/134352.
This is a follow-up patch to make 'polygon' animatable as well, as long as the number
of vertices between start and end polygon is the same.

Added polygon animation test to existing test:

fast/exclusions/shape-inside/shape-inside-animation.html
css3/masking/clip-path-animation.html

  • page/animation/CSSPropertyAnimation.cpp: Forgot to add copyright with last commits.
  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend): Polygons are allowed now.
(WebCore::BasicShapePolygon::blend): Interpolate polygon shapes.

LayoutTests:

Added animation test for basic shape 'polygon' to existing test
css3/masking/clip-path-animation.html and
fast/exclusions/shape-inside/shape-inside-animation.html.

  • animations/resources/animation-test-helpers.js:

(parseBasicShape):

  • css3/masking/clip-path-animation-expected.txt:
  • css3/masking/clip-path-animation.html:
  • fast/exclusions/shape-inside/shape-inside-animation-expected.txt:
  • fast/exclusions/shape-inside/shape-inside-animation.html:
9:27 PM Changeset in webkit [134735] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix code generator warnings.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateFunctionCallback):
(GenerateImplementation):

9:18 PM Changeset in webkit [134734] by timothy@apple.com
  • 4 edits
    2 adds in branches/safari-536.28-branch

Merge r134099.

8:53 PM Changeset in webkit [134733] by alecflett@chromium.org
  • 3 edits in trunk/Source/WebKit2

Fix windows build exports (again)
https://bugs.webkit.org/show_bug.cgi?id=102324

Unreviewed windows-only build fix.

Add one more export that was causing unit tests to fail to link.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
8:29 PM Changeset in webkit [134732] by shinyak@chromium.org
  • 4 edits
    4 adds in trunk

Changing pseudoClass (:checked) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101902

Reviewed by Dimitri Glazkov.

Source/WebCore:

When the 'checked' state is changed, we have to invalidate distribution.

According to the HTML5 spec, :checked should match a checked input[type="checkbox"],
a checked input[type="radio"], a selected option, and commands. However, we don't have a command element yet.

Tests: fast/dom/shadow/pseudoclass-update-checked-input.html

fast/dom/shadow/pseudoclass-update-checked-option.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setSelectedState):

LayoutTests:

Since an option element does not create a renderer, we cannot make its test a reftest.

  • fast/dom/shadow/pseudoclass-update-checked-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-checked-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-checked-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-checked-option.html: Added.
7:52 PM Changeset in webkit [134731] by keishi@webkit.org
  • 3 edits
    11 adds in trunk/LayoutTests

Add tests for week picker
https://bugs.webkit.org/show_bug.cgi?id=101555

Reviewed by Kent Tamura.

Adding tests for month picker.

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js:

(selectedWeek): Returns value of selected week.

  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step.html: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance.html: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations.html: Added.
  • platform/chromium/TestExpectations:
7:45 PM Changeset in webkit [134730] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Kill $implClassName from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102312

Reviewed by Adam Barth.

$implClassName and $interfaceName are the same.
Sometimes we are passing both $implClassName and $interfaceName to
subroutines. We can kill $implClassName.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateOpaqueRootForGC):
(GenerateHeader):
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateConstructorGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetter):
(GenerateEventListenerCallback):
(GenerateOverloadedFunctionCallback):
(GenerateFunctionCallback):
(GenerateParametersCheck):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateTypedArrayConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
(GenerateFunctionCallString):

7:41 PM Changeset in webkit [134729] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] We can shave one instruction off toV8Fast
https://bugs.webkit.org/show_bug.cgi?id=102297

Reviewed by Kentaro Hara.

There's no reason to store info.Holder in a local variable. Calling
Holder() is essentially free because it's inlined to an offset read.

I doubt this patch moves the performance needle in any measurable way,
but it makes the code slightly prettier.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

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

(WebCore::toV8Fast):

7:31 PM Changeset in webkit [134728] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Get rid of a redundant branch in JSValueToNative()
https://bugs.webkit.org/show_bug.cgi?id=102311

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(JSValueToNative):
(NativeToJSValue):

7:17 PM Changeset in webkit [134727] by shinyak@chromium.org
  • 3 edits
    4 adds in trunk

Changing pseudoClass (:link) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101698

Reviewed by Hajime Morita.

Source/WebCore:

CSSSelector :link matches anchor element with href attribute. When href attribute of an anchor element is changed,
we have to invalidate distribution.

According to the HTML spec, :link matches a link element having href attribute, currently we have not implemented it yet.

Tests: fast/dom/shadow/pseudoclass-update-link-anchor.html

fast/dom/shadow/pseudoclass-update-link-area.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-link-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-link-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-link-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-link-area.html: Added.
7:16 PM Changeset in webkit [134726] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove unused functions from CodeGenerator.pm
https://bugs.webkit.org/show_bug.cgi?id=102316

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(GenerateCompileTimeCheckForEnumsIfNeeded):

7:05 PM Changeset in webkit [134725] by danakj@chromium.org
  • 4 edits in trunk/Source/Platform

[chromium] Clamp negative sizes to zero when converting to gfx:: types
https://bugs.webkit.org/show_bug.cgi?id=102159

Reviewed by James Robinson.

Here we clamp Rect, RectF and Size types to not have negative widths or
heights. WebSizes that you want to keep their negative values, because
they are vectors, should be converted to Vector2d instead.

  • chromium/public/WebFloatRect.h:

(WebKit::WebFloatRect::operator gfx::RectF):

  • chromium/public/WebRect.h:

(WebKit::WebRect::operator gfx::Rect):

  • chromium/public/WebSize.h:

(WebKit::WebSize::operator gfx::Size):

6:59 PM Changeset in webkit [134724] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Update BB10 form theme.
https://bugs.webkit.org/show_bug.cgi?id=100760

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-14
Reviewed by Rob Buis.

RIM PR 225755
Internally Reviewed by Eli Fidler.
Update checkbox, radio and menulist button style. Adjust border width
and line height.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):

  • platform/blackberry/RenderThemeBlackBerry.h:

(RenderThemeBlackBerry):

6:56 PM Changeset in webkit [134723] by haraken@chromium.org
  • 10 edits
    3 moves in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-mac-lion/fast/forms/menulist-clip-expected.png:
  • platform/chromium-mac-lion/fast/forms/menulist-option-wrap-expected.png:
  • platform/chromium-mac-lion/fast/repaint/control-clip-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/menulist-clip-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/menulist-option-wrap-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/control-clip-expected.png:
  • platform/chromium-mac/fast/forms/menulist-clip-expected.png:
  • platform/chromium-mac/fast/forms/menulist-option-wrap-expected.png:
  • platform/chromium-mac/fast/repaint/control-clip-expected.png:
  • platform/efl-wk1/fast/forms/menulist-clip-expected.png: Renamed from LayoutTests/platform/efl/fast/forms/menulist-clip-expected.png.
  • platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png: Renamed from LayoutTests/platform/efl/fast/forms/menulist-option-wrap-expected.png.
  • platform/efl-wk1/fast/repaint/control-clip-expected.png: Renamed from LayoutTests/platform/efl/fast/repaint/control-clip-expected.png.
6:53 PM Changeset in webkit [134722] by haraken@chromium.org
  • 2 edits
    1 move in trunk/LayoutTests

Unreviwed. Rebaselined images.

  • platform/chromium-mac/fast/forms/select-empty-option-height-expected.png:
  • platform/efl-wk1/fast/forms/select-empty-option-height-expected.png: Renamed from LayoutTests/platform/efl/fast/forms/select-empty-option-height-expected.png.
6:51 PM Changeset in webkit [134721] by haraken@chromium.org
  • 2 edits
    4 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium-mac-lion/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium-mac/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium/TestExpectations:
6:33 PM Changeset in webkit [134720] by arv@chromium.org
  • 2 edits in trunk/Source/WebCore

Update DOMException name: InvalidModificationError
https://bugs.webkit.org/show_bug.cgi?id=102281

Reviewed by Kentaro Hara.

Patch 13 of 25 to update DOMException name to match the spec and Firefox.

DOMExcecption INVALID_MODIFICATION_ERR is not used in our code.

  • dom/DOMCoreException.cpp:
6:31 PM Changeset in webkit [134719] by bfulgham@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Windows, WinCairo] Unreviewed build fix.

Missed one of the exports that was part of the WebKit2.def.

6:26 PM Changeset in webkit [134718] by Beth Dakin
  • 43 edits in branches/safari-536.28-branch/LayoutTests

testRunner is called layoutTestController on the branch.

Reviewed by Simon Fraser.

  • compositing/video/video-controls-layer-creation.html:
  • editing/pasteboard/resources/paste-noscript-content.html:
  • fast/block/layer-not-removed-from-parent-crash.html:
  • fast/block/positioning/relayout-nested-positioned-elements-crash-2.html:
  • fast/css/crash-comparing-equal.html:
  • fast/css/variables/deferred-image-load-from-variable.html:
  • fast/css/xml-stylesheet-removed.xhtml:
  • fast/dom/Geolocation/error-clear-watch.html:
  • fast/dom/Geolocation/success-clear-watch.html:
  • fast/dom/beforeload/clear-video-poster-in-beforeload-listener.html:
  • fast/dom/beforeload/remove-video-poster-in-beforeload-listener.html:
  • fast/dom/clone-node-load-event-crash.html:
  • fast/events/display-none-on-focus-crash.html:
  • fast/events/dom-character-data-modified-textarea-crash.html:
  • fast/files/file-reader-done-reading-abort.html:
  • fast/files/file-reader-immediate-abort.html:
  • fast/runin/input-text-runin.html:
  • fast/runin/textarea-runin.html:
  • fast/table/crash-split-table-section-no-cell-recalc.html:
  • fast/table/split-anonymous-boxes-around-table-repaint-crash.html:
  • fast/table/split-table-no-section-update-crash.html:
  • fast/text/text-combine-first-line-crash.html:
  • fast/xpath/xpath-detached-nodes.html:
  • http/tests/loading/remove-child-triggers-parser.html:
  • http/tests/plugins/get-url-beforeunload-destroys-plugin.html:
  • http/tests/plugins/resources/notify-done.html:
  • media/event-queue-crash.html:
  • platform/mac-wk2/plugins/asychronous-deadlock-with-timer-and-evaluate.html:
  • platform/mac-wk2/plugins/asynchronous-destroy-before-initialization.html:
  • platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html:
  • platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization.html:
  • platform/mac-wk2/plugins/slow/resources/asynchronous-plugin-initialization-multiple-finish.html:
  • svg/animations/dynamic-modify-attributename-crash2.svg:
  • svg/animations/dynamic-modify-transform-without-baseval.html:
  • svg/animations/smil-setcurrenttime-crash.svg:
  • svg/custom/animate-reference-crash.html:
  • svg/custom/clip-path-document-change-assert.html:
  • svg/custom/system-language-crash.html:
  • svg/custom/tref-nested-events-crash.svg:
  • svg/custom/tref-stale-listener-crash.html:
  • svg/filters/feMorphology-crash.html:
  • webaudio/delaynode-maxdelaylimit.html:
6:19 PM Changeset in webkit [134717] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix the build.

  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
6:18 PM Changeset in webkit [134716] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WinCairo] Build correction after r134703.

  • win/WebKit2CFLite.def: Add exports to CFLite version of

Windows build to match Alec's last update.

6:14 PM Changeset in webkit [134715] by bfulgham@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Windows, WinCairo] Correct build failure.
https://bugs.webkit.org/show_bug.cgi?id=102302

WebCore symbols were mistakenly added to the JavaScriptCore
library definition file.

WebCore symbols that were incorrectly added to the export file.

6:11 PM Changeset in webkit [134714] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

document variable in Document::axObjectCache is actually the topDocument
https://bugs.webkit.org/show_bug.cgi?id=101966

Reviewed by Chris Fleizach.

Name change requested by Darin Adler.

  • dom/Document.cpp:

(WebCore::Document::axObjectCache):

6:07 PM Changeset in webkit [134713] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705731> Don't pass a paintingRoot when painting from RenderLayerBacking (102256)

Merge r134642

2012-11-14 Simon Fraser <Simon Fraser>

Don't pass a paintingRoot when painting from RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=102256

Reviewed by David Hyatt.

The 'paintingRoot' parameter to the RenderLayer paint functions
is used when painting just a subtree (e.g. when painting dragged
selections). There is no need to pass it when a RenderLayerBacking
paints its contents or overlay scrollbars.

Passing it requires an expensive isDescendant() check, so passing
null is more efficient.

  • rendering/RenderLayer.h: (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): (WebCore::RenderLayerBacking::paintContents):
  • rendering/RenderLayerBacking.h: (RenderLayerBacking):
6:07 PM Changeset in webkit [134712] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705458> Chopin: Avoid calling calculateLayerBounds() and convertToLayerCoords() more than once per layer paint (102031)

Merge r134356

2012-11-12 Simon Fraser <Simon Fraser>

Avoid calling calculateLayerBounds() and convertToLayerCoords() more than once per layer paint
https://bugs.webkit.org/show_bug.cgi?id=102031

Reviewed by Beth Dakin.

RenderLayer::paintLayerContents() and callees could end up calling convertToLayerCoords()
and calculateLayerBounds() multiple times for painting a single layer.

Keep track of whether we've computed the root-relative bounds and do it on demand.
Compute the offset relative to rootLayer once, and pass it around as an optional parameter
to functions that need it.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::calculateRects): (WebCore::RenderLayer::intersectsDamageRect): (WebCore::RenderLayer::boundingBox): (WebCore::RenderLayer::calculateLayerBounds):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::calculateCompositedBounds):
6:07 PM Changeset in webkit [134711] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

Prerequisite for <rdar://problem/12705357>.

Merge r134355

2012-11-12 Simon Fraser <Simon Fraser>

Change calculateLayerBounds() from a static function to a member function
https://bugs.webkit.org/show_bug.cgi?id=102022

Reviewed by Beth Dakin.

calculateLayerBounds() has grown into a substantial function after
starting live as a little utility function, so make it a member function
of RenderLayer, and adjust callers accordingly.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::calculateLayerBounds):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::calculateCompositedBounds):
6:07 PM Changeset in webkit [134710] by Simon Fraser
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merge r134330

2012-11-12 Simon Fraser <Simon Fraser>

Fix filter dirty rect regression from r134311
https://bugs.webkit.org/show_bug.cgi?id=102002

Reviewed by Beth Dakin.

When rendering with filters, the code can inflate the root-relative
paintDirtyRect in RenderLayer::paintLayerContents(), and my cleanup
broke this behavior.

Fix by making a local copy of LayerPaintingInfo, updating its paintDirtyRect,
and using it for the rest of the function.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents):
6:07 PM Changeset in webkit [134709] by Simon Fraser
  • 5 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705446> Reduce the crazy number of parameters to RenderLayer painting member functions (101895)

Merge r134311

2012-11-12 Simon Fraser <Simon Fraser>

Reduce the crazy number of parameters to RenderLayer painting member functions
https://bugs.webkit.org/show_bug.cgi?id=101895

Reviewed by Beth Dakin.

The various RenderLayer::paintLayer* functions took a lot of arguments, most
of which were passed down directly to descendants.

Gather these arguments into a LayerPaintingInfo struct.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paint): Create a LayerPaintingInfo struct to pass to descendant paint calls. (WebCore::RenderLayer::paintOverlayScrollbars): Ditto. (WebCore::RenderLayer::paintLayer): When painting transformed layers, we make a new LayerPaintingInfo because the root layer is shifted. (WebCore::RenderLayer::paintLayerContentsAndReflection): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::paintPaginatedChildLayer): (WebCore::RenderLayer::paintChildLayerIntoColumns): Create a new LayerPaintingInfo struct for column painting.
  • rendering/RenderLayer.h: (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo): (LayerPaintingInfo):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): Build a LayerPaintingInfo to enter layer painting.
  • rendering/RenderReplica.cpp: (WebCore::RenderReplica::paint): Ditto.
6:07 PM Changeset in webkit [134708] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705577> Save one call to containerForRepaint() when updating layer positions (101856)

Merge r134174

2012-11-10 Simon Fraser <Simon Fraser>

Save one call to containerForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101856

Reviewed by Dan Bernstein.

RenderLayer::updateLayerPositions() has already computed the repaint container,
but calls computeRepaintRects() which computes it again. Computing the repaint
container involves a walk back up the layer tree, so calling it during a tree
traversal is costly.

Fix by passing the repaint container down into computeRepaintRects().

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::computeRepaintRects): (WebCore::RenderLayer::computeRepaintRectsIncludingDescendants): (WebCore::RenderLayer::updateLayerPositionsAfterScroll): (WebCore::RenderLayer::setHasVisibleContent):
  • rendering/RenderLayer.h: (RenderLayer):
6:07 PM Changeset in webkit [134707] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Merge r119458

2012-06-04 Simon Fraser <Simon Fraser>

Leaking ClipRects
https://bugs.webkit.org/show_bug.cgi?id=88282

Reviewed by Dan Bernstein.

In r118562 I made the ClipRectsCache use RefPtr<ClipRects>. However, ClipRects
was initialized with m_refCnt=0, not 1 as adoptRef() and friends expect. Also,
there was a manual ref() in RenderLayer::updateClipRects() which this patch removes.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRects::ClipRects):
6:07 PM Changeset in webkit [134706] by Simon Fraser
  • 3 edits
    2 adds in branches/safari-536.28-branch

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Source/WebCore:

Merge r118612

2012-05-26 Simon Fraser <Simon Fraser>

Clip rects assertion when hovering div with transform
https://bugs.webkit.org/show_bug.cgi?id=87580

Reviewed by Eric Seidel.

Hit testing used to use temporary clip rects in composited documents,
until r118562. Now that we cache clip rects for hit testing, we need
to clear the cache on descendant layers when a layer gains or loses
a transform.

Test: fast/layers/clip-rects-assertion.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateTransform):

LayoutTests:

Merge r118612

2012-05-26 Simon Fraser <Simon Fraser>

Clip rects assertion when hovering div with transform
https://bugs.webkit.org/show_bug.cgi?id=87580

Reviewed by Eric Seidel.

Test that changes transform on hover style, testing for clipRect-related
assertions.

  • fast/layers/clip-rects-assertion-expected.txt: Added.
  • fast/layers/clip-rects-assertion.html: Added.
6:06 PM Changeset in webkit [134705] by Simon Fraser
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Merge r119458.

2012-05-25 Simon Fraser <Simon Fraser>

Cache absolute clip rects on RenderLayer for compositing overlap testing
https://bugs.webkit.org/show_bug.cgi?id=87212

Reviewed by Dave Hyatt.

Enhance the cache of ClipRects on RenderLayers to store three
different types of ClipRects, rather than just one.

We need to compute clip rects relative to different layers
for different purposes. For painting, we compute relative to
the compositing layer which is acting as a painting root.
For hit testing, we compute relative to the root, except
for transformed layers. For composting overlap testing, we
compute relative to the root ("absolute"). At other times, we do one-off
computation which we never want to cache ("temporary clip rects").

This change allows us to cache rects for hit testing, and for
compositing overlap testing. This has huge performance benefits
on some pages (bug 84410).

This change also makes ClipRects not arena-allocated, so we
can use RefPtr<ClipRect>.

No testable behavior change.

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::willBeDestroyed): No need for the explicit clipRects teardown, since clipRects don't need a live RenderObject for arena-based destruction.
  • rendering/RenderLayer.cpp: Remove arena-related new and delete. (WebCore::RenderLayer::RenderLayer): No need to explicitly initialize m_clipRects, since it's an OwnPtr now. (WebCore::RenderLayer::~RenderLayer): No explicit clipRect teardown required. (WebCore::RenderLayer::clippingRootForPainting): Renamed to make its purpose more obvious. (WebCore::RenderLayer::paintLayer): Use the TemporaryClipRects type when necessary. (WebCore::RenderLayer::paintLayerContents): Ditto (WebCore::RenderLayer::hitTestLayer): No longer need to use temporary clipRects when hit testing since we cache clip rects for hit testing. (WebCore::RenderLayer::updateClipRects): Take a ClipRectsType and pass it through. (WebCore::RenderLayer::calculateClipRects): Ditto (WebCore::RenderLayer::parentClipRects): Ditto (WebCore::RenderLayer::backgroundClipRect): Ditto (WebCore::RenderLayer::calculateRects): Take ClipRectsType, which obviates temporaryClipRects. (WebCore::RenderLayer::childrenClipRect): Use clippingRootForPainting(). (WebCore::RenderLayer::selfClipRect): Ditto (WebCore::RenderLayer::localClipRect): Ditto (WebCore::RenderLayer::clearClipRectsIncludingDescendants): Take a type of clip rect to clear (include all). Allows us to just clear painting clip rects. (WebCore::RenderLayer::clearClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRects::create): We don't use RefCounted<> in order to use a bit in the refCount for a flag. Add create() method. (WebCore::ClipRects::deref): No longer arena-allocated. (WebCore::ClipRectsCache::ClipRectsCache): Struct that holds a small array of the 3 types of clipRects (and, in debug, the layer relative to which they were computed). (WebCore::RenderLayer::clipRects):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateCompositedBounds): Use AbsoluteClipRects; rootLayer is always the RenderView's layer here. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use TemporaryClipRects. (WebCore::RenderLayerBacking::setRequiresOwnBackingStore): When this variable changes, we need to invalidate painting clipRects, since it affects the ancestor relative to which those rects are computed.
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): When the composited state of a layer changes, we have to clear all descendant clip rects, since this can affect the layers relative to which clip rects are computed. (WebCore::RenderLayerCompositor::addToOverlapMap): Use AbsoluteClipRects. (WebCore::RenderLayerCompositor::computeCompositingRequirements): No need to call updateLayerPosition(), since that should have always happened after layout. That call cleared clip rects, so removing it is very beneficial. (WebCore::RenderLayerCompositor::clippedByAncestor): Use TemporaryClipRects.
  • rendering/RenderTreeAsText.cpp: (WebCore::writeLayers): Use TemporaryClipRects.
6:06 PM Changeset in webkit [134704] by Simon Fraser
  • 26 edits
    2 adds in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705190> Terrible performance on http://alliances.commandandconquer.com/ and http://www.lordofultima.com/ and App Store (84410)

Merge r118567, r118617, r118957, r119172, r121124, r121130, r121306, r121446, r122376, r122653 (partial), r122802 (partial),
r133248

2012-11-01 Tien-Ren Chen <trchen@chromium.org>

Fix assertion failure in RenderGeometryMap::absoluteRect when frame scale != 1.0
https://bugs.webkit.org/show_bug.cgi?id=100912

Reviewed by Simon Fraser.

Frame scale will add transformation to RenderView, so fixed position doesn't
get propagated up to the viewport by RenderGeometryMap. This is handled
correctly in RenderView::mapLocalToContainer, causing the assertion to fail.
This patch corrects RenderGeometryMap::mapToAbsolute to handle the RenderView
transformation case.

A layout test is added to catch this issue. The test will crash debug build
without this patch.

Test: compositing/geometry/fixed-position-composited-page-scale-scroll.html

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToAbsolute):

2012-07-16 Kiran Muppala <cmuppala@apple.com>

REGRESSION: RenderInline::absoluteQuads produces incorrect results for fixed position.
https://bugs.webkit.org/show_bug.cgi?id=91451

Reviewed by Simon Fraser.

RenderInline::absoluteQuads relies on copies of RenderGeometryMap,
created indirectly by passing AbsoluteQuadsGeneratorContext object by
value. These copies are unsafe because the individual transform steps
within the geometry map include a owned poitner to their respective
transform.

Modify the callee methods to take context by reference and disable
copy constructor for RenderGeometryMap.

Test: fast/inline/inline-fixed-position-boundingbox.html

  • rendering/RenderGeometryMap.h: (WebCore::RenderGeometryMapStep::RenderGeometryMapStep): Add missing m_offset to copy constructor initialization list. (RenderGeometryMap): Disable copy constructor.
  • rendering/RenderInline.cpp: Pass context object by reference. (WebCore::RenderInline::generateLineBoxRects): (WebCore::RenderInline::generateCulledLineBoxRects): (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads): (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox): (WebCore::RenderInline::addFocusRingRects):
  • rendering/RenderInline.h: (RenderInline::generateLineBoxRects): Update method declarations to show pass by reference context parameter. (RenderInline::generateCulledLineBoxRects): Ditto.

2012-07-13 Kiran Muppala <cmuppala@apple.com>

REGRESSION: RenderInline boundingBox ignores relative position offset
https://bugs.webkit.org/show_bug.cgi?id=91168

Reviewed by Simon Fraser.

RenderGeometryMap, used for caching the transform to the view,
expects the first mapping pushed, to be that of the view itself.
RenderInline was instead pushing it's own offset first. Besides
the offset of the view itself was not being pushed.

Relaxed the RenderGeometryMap restriction that the first pushed
step should be of the view. It is sufficient that the view's mapping
is pushed in the first call to pushMappingsToAncestor. Modified
RenderInline to push the offset of the view also to the geometry map.

Test: fast/inline/inline-relative-offset-boundingbox.html

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::pushMappingsToAncestor): Add assertion to check if mapping to view was pushed in first invocation. (WebCore::RenderGeometryMap::pushView): Correct assertion that checks if the view's mapping is the first one to be applied. (WebCore::RenderGeometryMap::stepInserted): Use isRenderView to check if a mapping step belongs to a view instead of using mapping size. (WebCore::RenderGeometryMap::stepRemoved): Ditto.
  • rendering/RenderInline.cpp: (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::AbsoluteQuadsGeneratorContext): Push mappings all the way up to and including the view.

2012-07-10 Simon Fraser <Simon Fraser>

Assertion ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) when compositing in paginated mode
https://bugs.webkit.org/show_bug.cgi?id=90919

Reviewed by Antti Koivisto.

r121124 added a fast path for geometry mapping that goes via layers
when possible. However, this broke paginated pages, which put
the root (RenderView) layer into column mode, because it failed
to check for columns on the ancestor layer.

Rather than make a risky change to convertToLayerCoords(), add a local
function canMapViaLayer(), which is like RenderLayer::canUseConvertToLayerCoords(),
but doesn't check for compositing (compositing itself is not a reason
to avoid convertToLayerCoords). Call canMapViaLayer() with the ancestorLayer
to check whether the ancestor has columns, which fixes the bug.

Test: compositing/columns/geometry-map-paginated-assert.html

  • rendering/RenderGeometryMap.cpp: (WebCore::canMapViaLayer): (WebCore::RenderGeometryMap::pushMappingsToAncestor):

2012-06-28 Antti Koivisto <Antti Koivisto>

Don't malloc RenderGeometryMap steps individually
https://bugs.webkit.org/show_bug.cgi?id=90074

Reviewed by Simon Fraser.

Mallocs and frees for steps under RenderGeometryMap::pus/popMappingsToAncestor can total ~2% of the profile when animating transforms.

  • rendering/RenderGeometryMap.cpp: (WebCore): (WebCore::RenderGeometryMap::absolutePoint): (WebCore::RenderGeometryMap::absoluteRect): (WebCore::RenderGeometryMap::mapToAbsolute): (WebCore::RenderGeometryMap::push): (WebCore::RenderGeometryMap::pushView): (WebCore::RenderGeometryMap::popMappingsToAncestor):
  • rendering/RenderGeometryMap.h: (WebCore): (WebCore::RenderGeometryMapStep::RenderGeometryMapStep):

Move to header.

(RenderGeometryMapStep):
(RenderGeometryMap):

Make the step vector hold RenderGeometryMapSteps instead of RenderGeometryMapStep*'s.

(WTF):

Give RenderGeometryMapSteps SimpleClassVectorTraits. This is needed for dealing with OwnPtr in the struct (and makes it faster too).
The type is simple enought to move by memcpy.

2012-06-26 Simon Fraser <Simon Fraser>

Optimize mappings of simple transforms in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=90034

Reviewed by Dean Jackson.

For transforms that are identity or simple translations, don't
fall off the fast path in RenderGeometryMap; we can just
treat them as offsets.

Improves performance on pages with lots of translateZ(0) elements.

Remove RenderGeometryMapStep::mapPoint() and mapQuad(), which
were unused.

No new tests; optimization only, and tested by assertions.

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::push):

2012-06-24 Antti Koivisto <Antti Koivisto>

REGRESSION(r121124): LayoutTests/fast/block/inline-children-root-linebox-crash.html asserts
https://bugs.webkit.org/show_bug.cgi?id=89844

Reviewed by Dan Bernstein.

We need to check for the flipped writing mode and take the slow path if it is used.

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::pushMappingsToAncestor):

2012-06-24 Antti Koivisto <Antti Koivisto>

Optimize RenderGeometryMap mappings gathering
https://bugs.webkit.org/show_bug.cgi?id=89828

Reviewed by Simon Fraser.

RenderGeometryMap currently gathers mappings by climbing the rendering tree. This is slow and can produce
large number of mapping steps. In the common case we already have the child layer coordinates available in
the layer tree and we can just use that.

The combination of faster mappings gathering and fewer number of applying steps reduces time spent under
RenderLayerCompositor::computeCompositingRequirements to less than half when scrolling the mobile version
of twitter.com.

  • rendering/RenderGeometryMap.cpp: (WebCore): (WebCore::RenderGeometryMap::pushMappingsToAncestor):

Use pre-computed mapping from the layer tree when possible.

(WebCore::RenderGeometryMap::popMappingsToAncestor):

  • rendering/RenderGeometryMap.h:

Add some inline capacity.

(WebCore):
(RenderGeometryMap):

  • rendering/RenderLayer.h: (WebCore::RenderLayer::canUseConvertToLayerCoords): (RenderLayer):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2012-05-31 Simon Fraser <Simon Fraser>

RenderLayerCompositor cleanup: make RenderGeometryMap part of the OverlapMap
https://bugs.webkit.org/show_bug.cgi?id=88021

Reviewed by James Robinson.

We only ever use the RenderGeometryMap when we have an OverlapMap, so make
it a member of the OverlapMap.

No behavior change.

  • rendering/RenderLayerCompositor.cpp: (RenderLayerCompositor::OverlapMap): (WebCore::RenderLayerCompositor::OverlapMap::geometryMap): (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::addToOverlapMap): (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): (WebCore::RenderLayerCompositor::computeCompositingRequirements):
  • rendering/RenderLayerCompositor.h: (WebCore): (RenderLayerCompositor):

2012-05-29 Adrienne Walker <enne@google.com>

Transformed fixed position layers have an incorrect overlap map entry
https://bugs.webkit.org/show_bug.cgi?id=64201

Reviewed by Darin Adler.

Previously, layers that both had a transform and were fixed position
were not considered as being fixed position in RenderGeometryMap or in
RenderBox::mapLocalToContainer (although this case is not incorrect in
the case of painting, so an external caller likely adjusts for this).

Tests: compositing/layer-creation/fixed-position-and-transform.html

compositing/layer-creation/fixed-position-under-transform.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::mapLocalToContainer):
  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToAbsolute):

2012-05-26 Simon Fraser <Simon Fraser>

fast/block/inline-children-root-linebox-crash.html asserts after r118567
https://bugs.webkit.org/show_bug.cgi?id=87544

Reviewed by Darin Adler.

Remove fast/block/inline-children-root-linebox-crash.html from the skipped
list.

New, more complex writing mode flipping test with compositing.

  • compositing/geometry/flipped-blocks-inline-mapping-expected.txt: Added.
  • compositing/geometry/flipped-blocks-inline-mapping.html: Added.
  • platform/mac/Skipped:

2012-05-25 Simon Fraser <Simon Fraser>

Terrible performance on http://alliances.commandandconquer.com/ and http://www.lordofultima.com/
https://bugs.webkit.org/show_bug.cgi?id=84410

Reviewed by Dave Hyatt.

First part of fixing O(N2) issues when walking the RenderLayer tree
for computeCompositingRequirements().

For each layer that goes into the OverlapMap, we were computing an absolute
layer bounds, which requires walking back to the root of the tree.
Optimize this when possible by storing a stack of offsets as we walk
the tree, and using this stack to do the mapping.

The stack of offsets and transforms is managed by RenderGeometryMap.
When visiting a RenderLayer, RenderLayerCompositor pushes onto
the geometry map stack data about offsets and transforms between
the current layer and its stacking-parent. RenderGeometryMap handles
the case where the previous renderer pushed is between the current
renderer and its container. RenderGeometryMap can also handle callers
pushing renderers with multiple containers between them.

RenderGeometryMap stores some flags about whether the set of mapping
steps in the stack involve transforms, fixed position, or special non-uniform
mappings like CSS columns. In some cases, it falls back to mapping via
renderers.

Once constructed, the RenderGeometryMap stack can be used to map multiple
rects or points efficiently. Stacks consisting of simple offsets are
collapsed to a single offset.

Mappings between renderers and their containers are pushed by pushMappingToContainer()
methods, which are similar to mapLocalToContainer() methods. Having this code
in RenderObjects was deemed preferable to handling columns, transforms etc. all in
RenderLayer code.

Tested by assertions in RenderGeometryMap code that its mapping matches
mapping via localToAbsolute() calls.

RenderLayerCompositor::updateCompositingLayers() creates a RenderGeometryMap,
and pushes and pops layer renderers as it visits them. The geometry map is used
by RenderLayerCompositor::addToOverlapMap() when computing absolute layer bounds.

Futher optimizations in RenderGeometryMap are possible, especially with stacks that
have many offsets and a few transforms.

Tests: compositing/geometry/composited-in-columns.html

compositing/geometry/flipped-writing-mode.html

  • CMakeLists.txt: Add RenderGeometryMap
  • GNUmakefile.list.am: Ditt
  • Target.pri: Ditto
  • WebCore.gypi: Ditto
  • WebCore.vcproj/WebCore.vcproj: Ditto
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteContentBox): (WebCore::RenderBox::pushMappingToContainer): (WebCore::RenderBox::offsetFromContainer):
  • rendering/RenderBox.h:
  • rendering/RenderGeometryMap.cpp: Added. (RenderGeometryMapStep): (WebCore::RenderGeometryMapStep::RenderGeometryMapStep): (WebCore::RenderGeometryMapStep::mapPoint): (WebCore::RenderGeometryMapStep::mapQuad): (WebCore::RenderGeometryMap::RenderGeometryMap): (WebCore::RenderGeometryMap::~RenderGeometryMap): (WebCore::RenderGeometryMap::absolutePoint): (WebCore::RenderGeometryMap::absoluteRect): (WebCore::RenderGeometryMap::mapToAbsolute): (WebCore::RenderGeometryMap::pushMappingsToAncestor): (WebCore::RenderGeometryMap::push): (WebCore::RenderGeometryMap::pushView): (WebCore::RenderGeometryMap::popMappingsToAncestor): (WebCore::RenderGeometryMap::stepInserted): (WebCore::RenderGeometryMap::stepRemoved):
  • rendering/RenderGeometryMap.h: Added. (RenderGeometryMap): (WebCore::RenderGeometryMap::hasNonUniformStep): (WebCore::RenderGeometryMap::hasTransformStep): (WebCore::RenderGeometryMap::hasFixedPositionStep):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::offsetFromContainer): (WebCore::RenderInline::pushMappingToContainer):
  • rendering/RenderInline.h: (RenderInline):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::addToOverlapMap): (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): (WebCore::RenderLayerCompositor::computeCompositingRequirements):
  • rendering/RenderLayerCompositor.h: (RenderLayerCompositor):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mapLocalToContainer): (WebCore::RenderObject::pushMappingToContainer): (WebCore::RenderObject::offsetFromContainer): (WebCore::RenderObject::container):
  • rendering/RenderObject.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::offsetFromContainer):
  • rendering/RenderTableCell.h: (RenderTableCell):
  • rendering/RenderView.cpp: (WebCore::RenderView::pushMappingToContainer):
  • rendering/RenderView.h:
  • rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::pushMappingToContainer):
  • rendering/svg/RenderSVGForeignObject.h: (RenderSVGForeignObject):
  • rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::pushMappingToContainer):
  • rendering/svg/RenderSVGInline.h: (RenderSVGInline):
  • rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::pushMappingToContainer):
  • rendering/svg/RenderSVGModelObject.h: (RenderSVGModelObject):
  • rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::pushMappingToContainer):
  • rendering/svg/RenderSVGRoot.h: (RenderSVGRoot):
  • rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::pushMappingToContainer):
  • rendering/svg/RenderSVGText.h: (RenderSVGText):
  • rendering/svg/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::pushMappingToContainer):
  • rendering/svg/SVGRenderSupport.h: (SVGRenderSupport):
5:37 PM Changeset in webkit [134703] by alecflett@chromium.org
  • 2 edits in trunk/Source/WebKit2

Fix Windows exports for TestWebKit
https://bugs.webkit.org/show_bug.cgi?id=102302

Unreviewed, fixing Safari Win build.

Add missing exports.

  • win/WebKit2.def:
5:30 PM Changeset in webkit [134702] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[CF]: XMLHttpRequest "timeout" events firing as "error" events
https://bugs.webkit.org/show_bug.cgi?id=102271

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-11-14
Reviewed by David Kilzer.

Initialize the tiemout flag if the error results from a timeout
in the USE(CFNETWORK) cases.

No new tests. This is covered by http/tests/xmlhttprequest/timeout
tests on ports that USE(CFNETWORK).

  • platform/network/cf/ResourceErrorCF.cpp:

(WebCore::ResourceError::ResourceError):

  • platform/network/mac/ResourceErrorMac.mm:

(WebCore::ResourceError::ResourceError):

5:28 PM Changeset in webkit [134701] by dpranke@chromium.org
  • 14 edits
    1 add
    1 delete in trunk/Tools

webkitpy: consolidate webkit-base-finding code
https://bugs.webkit.org/show_bug.cgi?id=102007

Reviewed by Eric Seidel.

This patch creates a new "WebKitFinder" class that other
modules can use to find the top of the WebKit tree and
commonly used subdirectories. This logic was in the
webkitpy.layout_test.port classes but wasn't specific to those
classes and now can be used by other modules without needing a port
(e.g., by the check-webkit-style python linter).

This code is somewhat redundant with the code for find_checkout_root()
in the scm modules, but it does not rely on the presence of a version
control system to work. This is a requirement for some uses of the
tree (e.g., Chromium tester checkouts).

This patch removes most of the logic from the layout_tests.port.config
module and makes that as private as possible. Now we just need to move
the default_configuration and flag_from_configuration logic into
DeprecatedPort (or someplace else appropriate) and we can finish
getting rid of the Config class (but that is a separate patch).

  • Scripts/webkitpy/common/webkit_finder.py: Added.

(WebKitFinder):
(WebKitFinder.init):
(WebKitFinder.webkit_base):
(WebKitFinder.path_from_webkit_base):
(WebKitFinder.path_to_script):
(WebKitFinder.layout_tests_dir):
(WebKitFinder.perf_tests_dir):

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

(Port.init):
(Port):
(Port.webkit_base):
(Port.path_from_webkit_base):
(Port.path_to_script):
(Port.layout_tests_dir):
(Port.perf_tests_dir):
(Port.set_option_default):
(Port._run_script):

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

(PortTest.test_diff_text):

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

(ChromiumLinuxPort._determine_driver_path_statically):

  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
  • Scripts/webkitpy/layout_tests/port/config.py:

(Config.init):
(Config.build_directory):
(Config.default_configuration):
(Config._read_configuration):

  • Scripts/webkitpy/layout_tests/port/config_mock.py: Removed.
  • Scripts/webkitpy/layout_tests/port/config_unittest.py:

(ConfigTest.test_default_configurationstandalone):
(ConfigTest.test_default_configuration
scripterror):

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

(DriverTest.make_port):
(DriverTest.test_no_timeout):

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

(GtkPort.setup_environ_for_server):

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

(MacPort.show_results_html_file):

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

(TestWebKitPort.init):
(PortTestCase.make_port):

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

(WinPortTest.test_expectations_files):

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

(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_stop):

  • Scripts/webkitpy/style/checkers/python.py:

(Pylinter.init):

5:19 PM Changeset in webkit [134700] by dgrogan@chromium.org
  • 21 edits
    2 deletes in trunk/LayoutTests

IndexedDB: Test conversions batch 4
https://bugs.webkit.org/show_bug.cgi?id=102267

Reviewed by Tony Chang.

These are tests that don't have the js file in resources. The only
interesting bit is that lazy-index-population uncovered a potential bug.

I think tutorial.html has outlived its usefulness now that there are
more tutorials on the web. It was very outdated. It is deleted in
this patch.

  • storage/indexeddb/deletedatabase-transaction-expected.txt:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked-expected.txt:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/resources/object-identity.js: Test added here to replace test covered in tutorial.html
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:

(onSetVersionSuccess):

  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/tutorial-expected.txt: Removed.
  • storage/indexeddb/tutorial.html: Removed.
5:15 PM Changeset in webkit [134699] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/JavaScriptCore

Merge fix for <rdar://problem/12691662>.

5:11 PM Changeset in webkit [134698] by thakis@chromium.org
  • 3 edits
    2 adds in trunk

[chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
https://bugs.webkit.org/show_bug.cgi?id=102282

Reviewed by James Robinson.

Chromium uses skia, and skia state is synced with CG context state at
LocalCurrentGraphicsContext construction time. So delay that
construction after context transforms have happened.
(This regressed in http://trac.webkit.org/changeset/125830)

Covered by the new pixel test fast/forms/zoomed-controls.html. I
couldn't find an existing test for this.

  • platform/mac/ThemeMac.mm:

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):

5:01 PM Changeset in webkit [134697] by mark.lam@apple.com
  • 11 edits
    1 add in trunk/Source

Change JSEventListener::m_jsFunction to be a weak ref.
https://bugs.webkit.org/show_bug.cgi?id=101989.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Added infrastructure for scanning weak ref slots.

  • heap/SlotVisitor.cpp: Added #include "SlotVisitorInlines.h".
  • heap/SlotVisitor.h:

(SlotVisitor): Added SlotVisitor::appendUnbarrieredWeak().

  • heap/SlotVisitorInlines.h: Added #include "Weak.h".

(JSC::SlotVisitor::appendUnbarrieredWeak): Added.

  • heap/Weak.h:

(JSC::operator==): Added operator==() for Weak.

  • runtime/JSCell.h: Removed #include "SlotVisitorInlines.h".
  • runtime/JSObject.h: Added #include "SlotVisitorInlines.h".

Source/WebCore:

No new tests.

  • ForwardingHeaders/heap/SlotVisitor.h: Added.
  • bindings/js/JSDOMBinding.h: Added #include <heap/SlotVisitor.h>
  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::visitJSFunction):
(WebCore::JSEventListener::operator==):

  • Removed the m_wrapper checks in operator==() because they are not needed. There is no longer any threat of m_jsFunction pointing to recycled memory. The use of weak refs will ensure that m_jsFunction is either still holding on to its old memory exclusively, or is 0'ed out when the GC collects it.
  • bindings/js/JSEventListener.h:

(JSEventListener):
(WebCore::JSEventListener::jsFunction):

4:58 PM Changeset in webkit [134696] by commit-queue@webkit.org
  • 50 edits in trunk/Source/WebCore

[V8] Rename dispatchWrap
https://bugs.webkit.org/show_bug.cgi?id=102240

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

Mostly a rename:
dispatchWrap->wrap
wrapSlow->createWrapper
dispatchWrapCustom->wrap

No new tests. No change in functionality.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNormalAttrGetter):
(GenerateImplementation):
(GenerateToV8Converters):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore::wrap):
(WebCore::V8Float64Array::createWrapper):

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

(V8Float64Array):
(WebCore):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestActiveDOMObject::createWrapper):

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

(V8TestActiveDOMObject):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestCustomNamedGetter::createWrapper):

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

(V8TestCustomNamedGetter):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestEventConstructor::createWrapper):

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

(V8TestEventConstructor):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestEventTarget::createWrapper):

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

(V8TestEventTarget):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestException::createWrapper):

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

(V8TestException):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestInterface::createWrapper):

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

(V8TestInterface):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestMediaQueryListListener::createWrapper):

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

(V8TestMediaQueryListListener):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestNamedConstructor::createWrapper):

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

(V8TestNamedConstructor):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestNode::createWrapper):

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

(V8TestNode):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):
(WebCore::toV8Fast):

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

(WebCore::V8TestObj::createWrapper):

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

(V8TestObj):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:

(WebCore::V8TestOverloadedConstructors::createWrapper):

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

(V8TestOverloadedConstructors):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

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

(WebCore::V8TestSerializedScriptValueInterface::createWrapper):

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

(V8TestSerializedScriptValueInterface):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8CSSRuleCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8CSSValueCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8ElementCustom.cpp:

(WebCore):
(WebCore::wrap):

  • bindings/v8/custom/V8EntryCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8EntrySyncCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8EventCustom.cpp:

(WebCore):
(WebCore::wrap):

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8HTMLElementCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8ImageDataCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8PerformanceEntryCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGElementCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGPathSegCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::wrap):

  • dom/make_names.pl:

(printWrapperFunctions):
(printWrapperFactoryCppFile):

4:50 PM Changeset in webkit [134695] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

Read-only properties created with putDirect() should tell the structure that there are read-only properties
https://bugs.webkit.org/show_bug.cgi?id=102292

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

This mostly affects things like function.length.

  • runtime/JSObject.h:

(JSC::JSObject::putDirectInternal):

LayoutTests:

  • fast/js/function-dot-length-read-only-expected.txt: Added.
  • fast/js/function-dot-length-read-only.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/function-dot-length-read-only.js: Added.

(foo):
(Bar):

4:49 PM Changeset in webkit [134694] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[EFL] Refactor theme to choose whether to support foreground color of selection
https://bugs.webkit.org/show_bug.cgi?id=102037

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Source/WebCore:

RenderThemeEfl can change foreground color of selection using theme file.
But it can not disable supports of foreground color to keep the text color
which is selected.

This patch refactors color classes of theme file from active/inactive classes
to foreground/background classes so that RenderThemeEfl checks whether
theme file supports foreground color class.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
(WebCore):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:

Refactored color classes from active/inactive to foreground/background.

4:48 PM Changeset in webkit [134693] by tony@chromium.org
  • 11 edits in trunk/Source/WebCore

Convert m_selectorVector back to a stack allocated m_reusableSelectorVector
https://bugs.webkit.org/show_bug.cgi?id=102295

Reviewed by Andreas Kling.

Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time.

No new tests because there should be no change in behavior.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseDeclaration):
(WebCore):
(WebCore::filterProperties):
(WebCore::CSSParser::createStylePropertySet):
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::rollbackLastProperties):
(WebCore::CSSParser::clearProperties):
(WebCore::CSSParser::parse4Values):
(WebCore::CSSParser::parseFlowThread):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::createFloatingSelectorVector):
(WebCore::CSSParser::sinkFloatingSelectorVector):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::setReusableRegionSelectorVector):
(WebCore::CSSParser::startDeclarationsForMarginBox):
(WebCore::CSSParser::endDeclarationsForMarginBox):
(WebCore::CSSParser::deleteFontFaceOnlyValues):

  • css/CSSParser.h:

(WebCore::CSSParser::hasProperties):
(WebCore::CSSParser::reusableSelectorVector):
(CSSParser):
(WebCore::CSSParser::reusableRegionSelectorVector):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::adoptSelectorVector):

  • css/CSSParserValues.h:

(CSSParserSelector):

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::adoptSelectorVector):

  • css/CSSSelectorList.h:

(CSSSelectorList):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/StyleRule.cpp:

(WebCore::StyleRuleRegion::StyleRuleRegion):

  • css/StyleRule.h:

(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleRegion::create):
(StyleRuleRegion):

4:43 PM Changeset in webkit [134692] by danakj@chromium.org
  • 2 edits in trunk/Tools

[chromium] WebPreferences reset() should set perTilePainting and acceleratedAnimation settings to false.
https://bugs.webkit.org/show_bug.cgi?id=102296

Reviewed by James Robinson.

These settings are always set by TestShell anyhow, but we should be
setting them to false here along with everything else.

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::reset):

4:34 PM Changeset in webkit [134691] by alecflett@chromium.org
  • 8 edits
    3 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
4:29 PM Changeset in webkit [134690] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102172

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-14
Reviewed by Noam Rosenthal.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

4:23 PM Changeset in webkit [134689] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Add clear() method to JSC ScriptValue
https://bugs.webkit.org/show_bug.cgi?id=102288

Patch by Michael Pruett <michael@68k.org> on 2012-11-14
Reviewed by Kentaro Hara.

IndexedDB uses the ScriptValue::clear() method, which existed
previously only in the V8 implementation of ScriptValue. This
change is necessary to implement IndexedDB for JSC.

Tests: storage/indexeddb/*

  • bindings/js/ScriptValue.h:

(WebCore::ScriptValue::clear):
(ScriptValue):

4:19 PM Changeset in webkit [134688] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Marked more virtual/deferred/fast/images as failing.
https://bugs.webkit.org/show_bug.cgi?id=102294

3:59 PM Changeset in webkit [134687] by beidson@apple.com
  • 13 edits
    1 copy in trunk/Source/WebKit2

Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102259

Reviewed by Alexey Proskuryakov.

Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
WebResourceLoaders directly.

Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
directly into WebResourceLoader.

Build-system infrastructure stuff:

  • DerivedSources.make:
  • Platform/CoreIPC/MessageID.h:
  • WebKit2.xcodeproj/project.pbxproj:

Message directly to WebResourceLoader instead of NetworkProcessConnection:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::connection):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequest):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::destinationID):

For now handle the only relevant message class which is the WebResourceLoader class:

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:

Allow access to WebResourceLoaders by identifier:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:
  • WebProcess/Network/WebResourceLoadScheduler.h:

(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):

Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
3:56 PM Changeset in webkit [134686] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the Lion build after r134681.

  • WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
3:52 PM Changeset in webkit [134685] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283

Reviewed by Tony Chang.

Don't commit the transaction if there are outstanding pre-emptive events
from indexing operations.

Speculative fix for the flakiness.

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):

3:43 PM Changeset in webkit [134684] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Marked platform/chromium/virtual/deferred/fast/images/exif-orientation.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=102294

3:36 PM Changeset in webkit [134683] by tony@chromium.org
  • 4 edits
    2 adds in trunk

Crash in flexbox when removing absolutely positioned children
https://bugs.webkit.org/show_bug.cgi?id=100465

Reviewed by Ojan Vafai.

Source/WebCore:

We use m_numberOfChildrenOnFirstLine when computing baseline alignment.
This value gets set during flexbox layout. When we remove an absolutely
positioned child, we don't relayout and this value would get stale.

Change m_numberOfChildrenOnFirstLine to m_numberOfInFlowChildrenOnFirstLine
so the value doesn't get stale when we remove absolutely positioned children.
Also change the loop in firstLineBoxBaseline to bail if we run off the end of
the iterator.

Test: css3/flexbox/crash-removing-out-of-flow-child.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::RenderFlexibleBox):
(WebCore::RenderFlexibleBox::firstLineBoxBaseline):
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):

  • rendering/RenderFlexibleBox.h:

LayoutTests:

Test case for the crash.

  • css3/flexbox/crash-removing-out-of-flow-child-expected.txt: Added.
  • css3/flexbox/crash-removing-out-of-flow-child.html: Added.
3:34 PM Changeset in webkit [134682] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't access Node& after adding nodes to the graph.
https://bugs.webkit.org/show_bug.cgi?id=102005

Reviewed by Oliver Hunt.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

3:29 PM Changeset in webkit [134681] by aestes@apple.com
  • 21 edits
    3 copies
    10 adds in trunk

[WebKit2] Need API in UIProcess to enable loading of custom protocols
https://bugs.webkit.org/show_bug.cgi?id=101674

Reviewed by Brady Eidson.

Source/WebKit2:

Enable clients of WebKit2 to implement NSURLProtocol subclasses to
control the loading of resources with schemes that WebKit2 cannot
handle natively. Since loading happens in a different process, we
accomplish this by registering a global NSURLProtocol in the web
process and proxying NSURLProtocol and NSURLProtocolClient calls to
the client's NSURLProtocol in the UI process.

  • DerivedSources.make: Addded new .messages.in files.
  • Platform/CoreIPC/MessageID.h:
  • Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/mac/WKBrowsingContextController.h:
  • UIProcess/API/mac/WKBrowsingContextController.mm:

(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
Added a class method where a client can register a scheme that it supports.
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
Added a class method where a client can unregister a scheme that it no longer supports.
(+[WKBrowsingContextController customSchemes]):

  • UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.

Implemented an NSURLConnectionDelegate that proxies messages to the
equivalent NSURLProtocolClient in the web process:
(-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
(-[WKCustomProtocolLoader dealloc]):
(-[WKCustomProtocolLoader connection:didFailWithError:]):
(-[WKCustomProtocolLoader connection:willCacheResponse:]):
(-[WKCustomProtocolLoader connection:didReceiveResponse:]):
(-[WKCustomProtocolLoader connection:didReceiveData:]):
(-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
(-[WKCustomProtocolLoader connectionDidFinishLoading:]):

Implemented a proxy that recieves -startLoading and -stopLoading
messages from the NSURLProtocol in the web process and starts an
NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
(WebKit::CustomProtocolManagerProxy::startLoading):
(WebKit::CustomProtocolManagerProxy::stopLoading):

  • UIProcess/WebContext.h: Declared strings that store names of

NSNotifications used for scheme registration in the UI process.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
CustomProtocolManagerProxy.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess): Added the currently
registered schemes to the WebProcessCreationParameters and register
NSNotification observers for new scheme registration that forwards to
the context's web processes.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
  • WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
  • WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
  • WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.

(generateCustomProtocolID): Generate a per-WebProcess unique ID.

Implemented a global NSURLProtocol that claims to support all schemes
registered in the UI process. When NSURLConnection calls -startLoading
and -stopLoading, we forward these messages to the client's NSURLProtocol
in the UI process:
(+[WKCustomProtocol canInitWithRequest:]):
(+[WKCustomProtocol canonicalRequestForRequest:]):
(+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
(-[WKCustomProtocol startLoading]):
(-[WKCustomProtocol stopLoading]):

Implemented a manager that receives NSURLConnectionDelegate messages
forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
(WebKit::CustomProtocolManager::shared):
(WebKit::CustomProtocolManager::registerCustomProtocolClass):
(WebKit::CustomProtocolManager::addCustomProtocol):
(WebKit::CustomProtocolManager::removeCustomProtocol):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::unregisterScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::didReceiveMessage):
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):
(WebKit::CustomProtocolManager::protocolForID):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
shared CustomProtocolManager.
(WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
scheme received from the UI process.
(WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
scheme received from the UI process.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in: Declared messages for passing

supported schemes from the UI process the web process.

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Register the
schemes contained in the WebProcessCreationParameters.

Tools:

Add an API test that implements a custom protocol and attempts to load
a resource requiring that protocol in a WKView. The test passes only if
didFinishLoadForFrame: fires.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm: Added.

(+[TestProtocol canInitWithRequest:]):
(+[TestProtocol canonicalRequestForRequest:]):
(+[TestProtocol requestIsCacheEquivalent:toRequest:]):
(-[TestProtocol startLoading]):
(-[TestProtocol stopLoading]):

  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.

(-[TestBrowsingContextLoadDelegate initWithBlockToRunOnLoad:]):
(-[TestBrowsingContextLoadDelegate browsingContextControllerDidFinishLoad:]):

3:28 PM Changeset in webkit [134680] by jsbell@chromium.org
  • 5 edits in trunk/Source

IndexedDB: Remove magic numbers in record comparator, handle missing case
https://bugs.webkit.org/show_bug.cgi?id=102255

Reviewed by Tony Chang.

Source/WebCore:

For some ranges of metadata entries, a simple type byte comparison is sufficient
for the backing store comparator. In two places those ranges used magic numbers,
one of which was incorrect - which could lead to failed reads/writes.

Test: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare):

  • Modules/indexeddb/IDBLevelDBCoding.h:

Source/WebKit/chromium:

Add test keys for various metadata types.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):

3:27 PM Changeset in webkit [134679] by krit@webkit.org
  • 4 edits in trunk/Source/WebCore

Cleanup BasicShape blending check
https://bugs.webkit.org/show_bug.cgi?id=102289

Reviewed by Daniel Bates.

CSSPropertyAnimation had the same code for varifying that two BasicShape objects can be blended
twice. Refactor the code and add a canBlend method in BasicShape that combines both checks. This
is a preparation for follow-up patches.

Pure refactoring without behavior change, no new tests.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Call new canBlend method for blending verification.

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend): Check if two BasicShape objects can be blended.
(WebCore):

  • rendering/style/BasicShapes.h:
3:09 PM Changeset in webkit [134678] by krit@webkit.org
  • 4 edits
    2 adds in trunk

[CSS Exclusions] Basic shapes on 'shape-inside' should be animatable
https://bugs.webkit.org/show_bug.cgi?id=102123

Reviewed by Antti Koivisto.

Source/WebCore:

The '-webkit-shape-inside' propery takes a BasicShape as input like
'-webkit-clip-path'. Follow up on http://trac.webkit.org/changeset/134352 and
make '-webkit-shape-inside' animatable as well.

Test: fast/exclusions/shape-inside/shape-inside-animation.html

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Blend fuction for exclusion shapes. The property takes another

input then '-webkit-clip-path'.

(WebCore):
(PropertyWrapperBasicShape): Add wrapper for BasicShape object. Can be reused by

'-webkit-shape-ourside' as well.

(WebCore::PropertyWrapperBasicShape::PropertyWrapperBasicShape):
(WebCore::CSSPropertyAnimation::ensurePropertyMap):

LayoutTests:

Add new animation test for 'shape-inside', similar to 'clip-path' test.

  • animations/resources/animation-test-helpers.js:

(getPropertyValue):
(comparePropertyValue):

  • fast/exclusions/shape-inside/shape-inside-animation-expected.txt: Added.
  • fast/exclusions/shape-inside/shape-inside-animation.html: Added.
3:04 PM Changeset in webkit [134677] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

String::append() should handle two 8 bit strings without converting both to 16 bits
https://bugs.webkit.org/show_bug.cgi?id=102286

Reviewed by Oliver Hunt.

If both strings are 8 bit, then allocate and copy to a new 8 bit string. Since most strings are
8 bit, this will save up to 3x the resulting string length in bytes. 2x is due to the possible
surviving 16 bit source string upconversion and 1x for the 16 bit result now being 8 bit.

  • wtf/text/WTFString.cpp:

(WTF::String::append):

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

[TexMap][Cairo] Accelerated compositing debug visuals
https://bugs.webkit.org/show_bug.cgi?id=101883

Patch by Helder Correia <Helder Correia> on 2012-11-14
Reviewed by Kenneth Rohde Christiansen.

No new tests, just introducing a debug feature.

Add a Cairo implementation to complement the patch from bug 90116
(http://trac.webkit.org/changeset/122275).

For this feature to be enabled, the environment variable
WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
both repaint counters and tile borders will be painted.

A Cairo-specific drawRepaintCounter() implementation was added to
TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
the counters. It is then uploaded to a BitmapTexture acquired
from the pool and finally draw by TextureMapper. The actual compositing
happens inside LayerBackingStore::paintToTextureMapper(). Each
LayerBackingStoreTile has a repaint counter which gets incremented in
LayerBackingStore::updateTile().

Source/WebCore:

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::shouldShowTileDebugVisuals):

3:01 PM Changeset in webkit [134675] by ojan@chromium.org
  • 2 edits in trunk/Tools

Fix some defuct flakiness dashboard unittests.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
2:47 PM Changeset in webkit [134674] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

IndexedDB: Add JSNoStaticTables to IndexedDB interfaces
https://bugs.webkit.org/show_bug.cgi?id=102268

Patch by Michael Pruett <michael@68k.org> on 2012-11-14
Reviewed by Geoffrey Garen.

Add JSNoStaticTables attribute to IndexedDB interface
definitions. This attribute must be specified in interfaces
which can be accessed from workers.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBAny.idl:
  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBCursorWithValue.idl:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBDatabaseException.idl:
  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKey.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBOpenDBRequest.idl:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/IDBUpgradeNeededEvent.idl:
  • Modules/indexeddb/IDBVersionChangeEvent.idl:
  • Modules/indexeddb/IDBVersionChangeRequest.idl:
  • dom/DOMStringList.idl:
2:42 PM Changeset in webkit [134673] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

IndexedDB: Replace int64 with int64_t
https://bugs.webkit.org/show_bug.cgi?id=102270

Patch by Michael Pruett <michael@68k.org> on 2012-11-14
Reviewed by Tony Chang.

Cleaning up coding inconsistencies, no change in behavior.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::deleteObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::putInternal):

2:39 PM Changeset in webkit [134672] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Do not clear the ProcessingChangeGuard state on DeleteBackward
https://bugs.webkit.org/show_bug.cgi?id=102284

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-14
Reviewed by Rob Buis.

PR237497
When holding backspace, clearing the state forces a keyboard
update which resets the state of the keyboard. Handling this
specific corner case separate from all other editor commands.

Internally reviewed by Mike Fenton.

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::handleKeyboardEvent):

2:29 PM Changeset in webkit [134671] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
https://bugs.webkit.org/show_bug.cgi?id=102000

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-14
Reviewed by Noam Rosenthal.

Add helper functions to clear viewport before painting. Those functions
used by EFL Webkit2 port to set view background to match page background
in order to reduce visibility of flicker during scrolling/scaling/repainting
where page tiles are not ready.

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawSolidColor):
(WebCore):

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

(WebCore::TextureMapperImageBuffer::drawSolidColor):
(WebCore):

  • platform/graphics/texmap/TextureMapperImageBuffer.h:
2:25 PM Changeset in webkit [134670] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

webkitpy: print-expectations - add --paths option to print only paths of test expectation files
https://bugs.webkit.org/show_bug.cgi?id=102269

Patch by Glenn Adams <glenn@skynav.com> on 2012-11-14
Reviewed by Dirk Pranke.

Add --paths option to print-expectations command in order to obtain list of applicable
test expectation file paths.

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintExpectations.init):
(PrintExpectations.execute):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(PrintExpectationsTest.run_test):
(PrintExpectationsTest.test_paths):

2:24 PM Changeset in webkit [134669] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Match the LayerTreeSetting default for acceleratedAnimationEnabled in the WebLayerTreeSetting
https://bugs.webkit.org/show_bug.cgi?id=102285

Reviewed by James Robinson.

Accelerated animations default to on.

  • chromium/public/WebLayerTreeView.h:

(WebKit::WebLayerTreeView::Settings::Settings):

2:16 PM Changeset in webkit [134668] by junov@google.com
  • 16 edits
    4 adds
    4 deletes in trunk/LayoutTests

Updating baselines after r134631
https://bugs.webkit.org/show_bug.cgi?id=101974

Unreviewed

  • platform/chromium-linux/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/chromium-linux/fast/borders/borderRadiusInset01-expected.png:
  • platform/chromium-linux/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-linux/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-mac-lion/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-mac-lion/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-mac/fast/borders/border-radius-wide-border-01-expected.png:
  • platform/chromium-mac/fast/borders/borderRadiusInset01-expected.png:
  • platform/chromium-mac/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-mac/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-win/fast/borders/border-radius-wide-border-01-expected.png:
  • platform/chromium-win/fast/borders/borderRadiusInset01-expected.png:
  • platform/chromium-win/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-win/svg/custom/svg-fonts-in-html-expected.png:
  • platform/efl-wk1/fast/borders: Added.
  • platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png: Added.
  • platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png: Added.
  • platform/efl-wk1/fast/forms/validation-message-appearance-expected.png: Added.
  • platform/efl/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/efl/fast/borders/borderRadiusInset01-expected.png: Removed.
  • platform/efl/fast/forms/validation-message-appearance-expected.png: Removed.
2:09 PM Changeset in webkit [134667] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webgl-background-color.html started failing
https://bugs.webkit.org/show_bug.cgi?id=102247

Patch by James Robinson <jamesr@chromium.org> on 2012-11-14
Reviewed by Adrienne Walker.

The compositor thread should outlive the WebView.

  • DumpRenderTree/chromium/TestShell.h:

(TestShell):

2:07 PM Changeset in webkit [134666] by mark.lam@apple.com
  • 3 edits in trunk/Source/WebCore

Fixed regressions due to adding JSEventListener::m_wrapper null checks.
https://bugs.webkit.org/show_bug.cgi?id=102183.

Reviewed by Geoffrey Garen.

Fixed JSEventListener::operator==() to work within the contract that
when m_wrapper is 0, m_jsFunction is also expected to be 0. Also fixed
some typos in comments.

No new tests.

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::visitJSFunction):
(WebCore::JSEventListener::operator==):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::jsFunction):

2:02 PM Changeset in webkit [134665] by Nate Chapin
  • 2 edits in trunk/Source/WebCore

2012-11-14 Nate Chapin <Nate Chapin>

Fix chromium asserts from r134649.

Rubber-stamped by Adam Barth.

MainResourceLoader was calling releaseResources() twice when cancelled
within MainResourceLoader::load(), so check reachedTerminalState() before
calling releaseResources() there.

  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
1:58 PM Changeset in webkit [134664] by kling@webkit.org
  • 6 edits in trunk/Source/WebCore

Only resolve presentation attribute style once per shared ElementAttributeData.
<http://webkit.org/b/100990>

Reviewed by Antti Koivisto.

Track the "presentation attribute style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

I've left the presentation attribute cache in there for now, since it still covers the case where
two elements have the same presentation attributes but different non-presentation attributes.
It's likely that we're not gaining much from it anymore, but that's a topic for another patch.

(WebCore::StyledElement::rebuildPresentationAttributeStyle):

  • dom/StyledElement.h:

(WebCore::StyledElement::presentationAttributeStyle):
(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::ElementAttributeData):
(ElementAttributeData):

  • dom/Node.h:

Move presentation attribute style dirty flag from Node to ElementAttributeData.

  • dom/ElementAttributeData.cpp:

(SameSizeAsElementAttributeData):

Add a compile-time object size assertion for ElementAttributeData.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):

Don't mark the presentation attribute style dirty if the element is using an immutable (implies
shared) ElementAttributeData and another element has already generated the StylePropertySet.
The element itself is still marked for style recalc like before, this just avoids the process
of converting the attributes to CSS properties.

1:56 PM Changeset in webkit [134663] by noam.rosenthal@nokia.com
  • 5 edits in trunk/Source/WebKit2

Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
https://bugs.webkit.org/show_bug.cgi?id=102133

Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
Also, there is no need for calling setCoordinator every time the tree changes,
since we can call it once when the layer is created, now that LayerTreeCoordinator
is the GraphicsLayerFactory.

Reviewed by Kenneth Rohde Christiansen

No change in functionality.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setCoordinator):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::paintContents):

1:56 PM Changeset in webkit [134662] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk/Source/WebCore

[Chromium] Refactor theme font lookup into a factory
https://bugs.webkit.org/show_bug.cgi?id=101949

Patch by Scott Violet <sky@chromium.org> on 2012-11-14
Reviewed by Tony Chang.

This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.

No new tests. Refactoring only.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • rendering/RenderThemeChromiumFontProvider.cpp: Added.

(WebCore):
(WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.

  • rendering/RenderThemeChromiumFontProvider.h: Added.

(WTF):
(WebCore):
(RenderThemeChromiumFontProvider): This is the font related methods.

  • rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.

(WebCore):
(WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
(WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.

  • rendering/RenderThemeChromiumFontProviderWin.cpp: Added.

(WebCore):
(WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
(WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
(WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
(WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
(WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
(WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
(WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.

  • rendering/RenderThemeChromiumSkia.h:

(RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.

  • rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.

(WebCore):

  • rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.

(RenderThemeChromiumWin):

1:52 PM Changeset in webkit [134661] by dgrogan@chromium.org
  • 14 edits in trunk/LayoutTests

IndexedDB: test conversion batch 3
https://bugs.webkit.org/show_bug.cgi?id=102168

Reviewed by Tony Chang.

These were all pretty straightforward. metadata.html could include
some additional tests that check the metadata after a versionchange
transaction aborts, but I think that's tested in one of the intversion
tests.

  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/index-duplicate-keypaths-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-population-expected.txt:
  • storage/indexeddb/metadata-expected.txt:
  • storage/indexeddb/resources/database-basics.js: Fix failure when run as a chromium browser test.
  • storage/indexeddb/resources/exceptions.js: Moved some asserts from running before the database is opened to afterward but they appear to be testing the same thing.

(transactionComplete):

close can't proceed until the transactions are complete, something
setVersion didn't have to deal with.

  • storage/indexeddb/resources/factory-deletedatabase.js: The conditions under which deleteDatabase is called in this test is _slightly_ different. Previously, deleteDatabase was called from inside a versionchange transaction, causing the original connection to receive a versionchange event. With upgradeneeded we have to close the original connection before entering a versionchange transaction, so the second connection is now what closes in response to the deleteDatabase's versionchange event.
  • storage/indexeddb/resources/index-duplicate-keypaths.js:

(testCollideAutoIncrementSetup):
(testCollideAutoIncrement):

  • storage/indexeddb/resources/index-multientry.js:

(prepareDatabase):
(createIndexOnStoreWithData):

  • storage/indexeddb/resources/index-population.js:

(prepareDatabase.request.onsuccess):
(prepareDatabase):
(doSetVersion2):
(setVersion2):
(setVersion2Abort):

  • storage/indexeddb/resources/metadata.js:

(prepareDatabase):
(snapshotConnection1):
(secondOpen.request.onupgradeneeded):
(secondOpen.request.onsuccess):
(secondOpen):
(thirdOpen.request.onupgradeneeded):
(thirdOpen.request.onerror):
(thirdOpen):
(fourthOpen.request.onupgradeneeded):
(fourthOpen.request.onsuccess):
(fourthOpen):
(checkState):

1:47 PM Changeset in webkit [134660] by Dimitri Glazkov
  • 2 edits
    2 adds in trunk/LayoutTests

[Chromium] Updating baselines after r134631.

1:27 PM Changeset in webkit [134659] by arv@chromium.org
  • 4 edits in trunk

Update DOMException name: InUseAttributeError
https://bugs.webkit.org/show_bug.cgi?id=102141

Reviewed by Ojan Vafai.

Patch 10 of 25 to update DOMException name to match the spec and Firefox.

The name for this is not in the spec but the case was selected to match
Firefox. http://mxr.mozilla.org/mozilla-central/source/dom/base/domerr.msg#18

INUSE_ATTRIBUTE_ERR is historical and not used in any spec or any of our tests.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
1:27 PM Changeset in webkit [134658] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

Marked fake-mouse-move tests as failing.
https://bugs.webkit.org/show_bug.cgi?id=102277

1:26 PM Changeset in webkit [134657] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Incorrect line-height for styled menulist (select tag)
in windows theme.
https://bugs.webkit.org/show_bug.cgi?id=79435

Patch by Lynn Neir <lynn.neir@skype.net> on 2012-11-14
Reviewed by Brent Fulgham

Applied same fix as in RenderThemeSafari::adjustMenuListButtonStyle
to Windows theme to fix issue.

Tests: fast/forms/menulist-restrict-line-height.html

fast/forms/control-restrict-line-height.html
fast/forms/basic-selects.html

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::adjustMenuListButtonStyle): Set line
height to the correct initial height.

1:16 PM Changeset in webkit [134656] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

More steps towards actually hosting layers in the UI process
https://bugs.webkit.org/show_bug.cgi?id=102275

Reviewed by Andreas Kling.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::rootLayerID):
Add a getter for the root layer ID.

  • UIProcess/mac/RemoteLayerTreeHost.h:

(RemoteLayerTreeHost):
Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
Initialize the root layer to null.

(WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
(WebKit::RemoteLayerTreeHost::notifyFlushRequired):
(WebKit::RemoteLayerTreeHost::paintContents):
Add empty stubs.

(WebKit::RemoteLayerTreeHost::commit):
Try to get the root layer.

(WebKit::RemoteLayerTreeHost::getOrCreateLayer):
Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.

1:05 PM Changeset in webkit [134655] by arv@chromium.org
  • 6 edits in trunk

Update DOMException name: WrongDocumentError
https://bugs.webkit.org/show_bug.cgi?id=102096

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 4 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/Range/compareBoundaryPoints-1-expected.txt:
  • fast/dom/Range/compareBoundaryPoints-1.html:
  • fast/dom/move-nodes-across-documents.html:
12:52 PM Changeset in webkit [134654] by ericu@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Don't let shift-click turn popup into tab.
https://bugs.webkit.org/show_bug.cgi?id=102254

Reviewed by Adam Barth.

Change http://trac.webkit.org/changeset/132399 broke shift-click on
compose in GMail. We didn't want to change behavior that people were
depending on, and this quick fix seems a good compromise between user
intent and developer intent.

  • src/ChromeClientImpl.cpp:

(WebKit::updatePolicyForEvent):

12:51 PM Changeset in webkit [134653] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Improve debug functionality in FatFingers
https://bugs.webkit.org/show_bug.cgi?id=102263

Reviewed by Antonio Gomes.

  • use logAlways to log even in release.
  • dump shadow tree info if available.
  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):
(BlackBerry::WebKit::FatFingers::checkFingerIntersection):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::checkForText):

12:48 PM Changeset in webkit [134652] by Beth Dakin
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

Merge r134348

2012-11-12 Beth Dakin <Beth Dakin>


https://bugs.webkit.org/show_bug.cgi?id=101787
Zoomed-in scrolling is very slow when deviceScaleFactor > 1


Reviewed by Simon Fraser.


This patch adds a new member to the GraphicsContextState that tracks
whether or not fonts should be subpixel-quantized. We want to default
to sibpixel-quantizing, but we'll turn it off if we're scrolling
content that cannot be scrolled on the scrolling thread.

State has a new bool shouldSubpixelQuantizeFonts. It defaults to true
since normally we do want to quantize.

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts): (WebCore::GraphicsContext::shouldSubpixelQuantizeFonts):
  • platform/graphics/GraphicsContext.h: (WebCore::GraphicsContextState::GraphicsContextState): (GraphicsContextState): (GraphicsContext):


wkSetCGFontRenderingMode now takes a BOOL parameter which indicates
whether or not it should try to subpixel-quantize the fonts.

  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:


Disable subpixel-quantization for overflow areas, subframes, and
content that is scrolling on the main thread.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents):
12:42 PM Changeset in webkit [134651] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the Production build after r134640 broke it.

  • WebProcess/Network/WebResourceLoader.h:

(WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.

12:38 PM Changeset in webkit [134650] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

PDFPlugin should make use of PDFKit's fluid zooming
https://bugs.webkit.org/show_bug.cgi?id=101962
<rdar://problem/12555229>

Reviewed by Anders Carlsson.

Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
inform the injected bundle whether or not the frame handles scaling itself.

  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
the scale factor immediately.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).

  • WebProcess/WebPage/WebFrame.h:

(WebFrame):

12:35 PM Changeset in webkit [134649] by Nate Chapin
  • 16 edits in trunk

Move empty loading to DocumentLoader, simplify FrameLoader::init()
https://bugs.webkit.org/show_bug.cgi?id=101512

Reviewed by Adam Barth.

Source/WebCore:

No new tests, though several outputs changed because we no longer send resource

load callbacks for empty loads.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource

loads directly here.

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Initialize some variables whose values

were previously being reset in init(). Given that the FrameLoader is in
an inconsistent state before init() is called anyway, there doesn't seem
to be a disadvantage to just initializing them to their post-init() values.

(WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of

doing a bunch of direct calls to functions FrameLoader shouldn't know about.

  • loader/FrameLoaderStateMachine.cpp:
  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.

(WebCore::MainResourceLoader::loadNow): This only returned true when an empty

load got deferred, which won't happen now. Return void and always treat
as returning false.

  • loader/MainResourceLoader.h:

Tools:

Chromium DRT has some code that doesn't play nicely with empty urls and incorrectly
interprets them as a non-empty load. This ensures
http/tests/navigation/new-window-redirect-history.html continues to pass
in chromium.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

Don't expect resource load callbacks for empty loads.

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
12:28 PM Changeset in webkit [134648] by arv@chromium.org
  • 83 edits in trunk

Update DOMException name: InvalidStateError
https://bugs.webkit.org/show_bug.cgi?id=102241

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 11 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/HTMLDialogElement/dialog-open-expected.txt:
  • fast/dom/HTMLDialogElement/dialog-open.html:
  • fast/dom/HTMLDialogElement/dialog-show-modal-expected.txt:
  • fast/dom/HTMLDialogElement/dialog-show-modal.html:
  • fast/dom/Range/range-intersectsNode-exception-expected.txt:
  • fast/dom/Range/range-intersectsNode-exception.html:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/Range/resources/intersectsNode.js:
  • fast/dom/Selection/collapseToX-empty-selection-expected.txt:
  • fast/dom/Selection/script-tests/collapseToX-empty-selection.js:
  • fast/events/message-port-clone-expected.txt:
  • fast/events/message-port-multi-expected.txt:
  • fast/files/read-file-async-expected.txt:
  • fast/files/workers/worker-read-file-async-expected.txt:
  • fast/forms/color/color-setrangetext-expected.txt:
  • fast/forms/date/date-setrangetext-expected.txt:
  • fast/forms/date/date-stepup-stepdown-expected.txt:
  • fast/forms/date/date-stepup-stepdown.html:
  • fast/forms/datetime/datetime-setrangetext-expected.txt:
  • fast/forms/datetime/datetime-stepup-stepdown-expected.txt:
  • fast/forms/datetime/datetime-stepup-stepdown.html:
  • fast/forms/datetimelocal/datetimelocal-setrangetext-expected.txt:
  • fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
  • fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
  • fast/forms/file/file-setrangetext-expected.txt:
  • fast/forms/file/input-file-value-expected.txt:
  • fast/forms/hidden/hidden-setrangetext-expected.txt:
  • fast/forms/image/image-setrangetext-expected.txt:
  • fast/forms/input-stepup-stepdown-expected.txt:
  • fast/forms/input-stepup-stepdown.html:
  • fast/forms/input-valueasnumber-unsupported-expected.txt:
  • fast/forms/input-valueasnumber-unsupported.html:
  • fast/forms/month/input-valueasdate-expected.txt:
  • fast/forms/month/input-valueasdate.html:
  • fast/forms/month/month-setrangetext-expected.txt:
  • fast/forms/month/month-stepup-stepdown-expected.txt:
  • fast/forms/month/month-stepup-stepdown.html:
  • fast/forms/number/number-setrangetext-expected.txt:
  • fast/forms/number/number-stepup-stepdown-expected.txt:
  • fast/forms/number/number-stepup-stepdown-from-renderer.html:
  • fast/forms/number/number-stepup-stepdown.html:
  • fast/forms/number/number-valueasnumber-expected.txt:
  • fast/forms/number/number-valueasnumber.html:
  • fast/forms/range/range-setrangetext-expected.txt:
  • fast/forms/range/range-stepup-stepdown-expected.txt:
  • fast/forms/range/range-stepup-stepdown-from-renderer.html:
  • fast/forms/range/range-stepup-stepdown.html:
  • fast/forms/setrangetext-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html:
  • fast/forms/time/time-setrangetext-expected.txt:
  • fast/forms/time/time-stepup-stepdown-expected.txt:
  • fast/forms/time/time-stepup-stepdown.html:
  • fast/forms/week/week-setrangetext-expected.txt:
  • fast/forms/week/week-stepup-stepdown-expected.txt:
  • fast/forms/week/week-stepup-stepdown.html:
  • fast/js/dfg-custom-getter-throw-expected.txt:
  • fast/js/dfg-custom-getter-throw-inlined-expected.txt:
  • fast/js/script-tests/dfg-custom-getter-throw-inlined.js:
  • fast/js/script-tests/dfg-custom-getter-throw.js:
  • fast/mediastream/MediaStreamTrackList-expected.txt:
  • fast/notifications/notifications-document-close-crash-expected.txt:
  • fast/speech/scripted/start-exception-expected.txt:
  • fast/speech/scripted/start-exception.html:
  • fast/workers/worker-context-multi-port-expected.txt:
  • fast/workers/worker-multi-port-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-document-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-text-expected.txt:
  • fast/xpath/detached-subtree-invalidate-iterator-expected.txt:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt:
  • http/tests/media/media-source/video-media-source-objects-expected.txt:
  • http/tests/xmlhttprequest/exceptions-expected.txt:
  • http/tests/xmlhttprequest/zero-length-response-expected.txt:
  • platform/chromium-mac/fast/notifications/notifications-document-close-crash-expected.txt:
  • platform/qt/editing/pasteboard/data-transfer-items-expected.txt:
  • platform/qt/fast/notifications/notifications-document-close-crash-expected.txt:
  • storage/websql/open-database-set-empty-version-expected.txt:
12:27 PM Changeset in webkit [134647] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

PDFPlugin should support downloading PDFs
https://bugs.webkit.org/show_bug.cgi?id=102152
<rdar://problem/12555313>

Reviewed by Alexey Proskuryakov.

Clicking on the "Download PDF" HUD button should download the current
PDF to the Downloads folder.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
PDF data to disk, in the Downloads folder. This will only save files with
the .pdf extension, and of MIME type "application/pdf".

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Add savePDFToFileInDownloadsFolder.

  • UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add saveToPDF().

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
(WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
current PDF, which it will save to the Downloads folder. We receive
the suggested filename during loading.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h:

(WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm:

(WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.

12:22 PM Changeset in webkit [134646] by jsbell@chromium.org
  • 23 edits in trunk/Source/WebCore

Rename NATIVE_TYPE_ERR to TypeError
https://bugs.webkit.org/show_bug.cgi?id=102114

Reviewed by Kentaro Hara.

Defines names (mostly) matching WebIDL exception types for use by dom (etc) code.
V8 binding code had colliding enum members, which required prefixing.

No new tests - just internal renames.

  • Modules/indexeddb/IDBCursor.cpp: s/NATIVE_TYPE_ERR/TypeError/g

(WebCore::IDBCursor::advance):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):

  • Modules/indexeddb/IDBDatabase.cpp: Ditto.

(WebCore::IDBDatabase::setVersion):

  • Modules/indexeddb/IDBFactory.cpp: Ditto.

(WebCore::IDBFactory::open):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBObjectStore.cpp: Ditto.

(WebCore::IDBObjectStore::createIndex):

  • Modules/indexeddb/IDBTransaction.cpp: Ditto.

(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):

  • bindings/js/JSDOMBinding.cpp: Ditto.

(WebCore::setDOMException):

  • bindings/v8/DateExtension.cpp: Prefix ErrorType enum/members w/ V8/v8.

(WebCore::DateExtension::OnSleepDetected):

  • bindings/v8/NPV8Object.cpp: Ditto.

(_NPN_SetException):

  • bindings/v8/V8Binding.cpp: Ditto.

(WebCore::throwError):
(WebCore::handleMaxRecursionDepthExceeded):

  • bindings/v8/V8Binding.h: Ditto.

(WebCore):

  • bindings/v8/V8NPObject.cpp: Ditto.

(WebCore::npObjectInvokeImpl):
(WebCore::npObjectGetProperty):
(WebCore::npObjectSetProperty):
(WebCore::npObjectPropertyEnumerator):

  • bindings/v8/V8ThrowException.cpp: Rename ALL the errors!

(WebCore::V8ThrowException::setDOMException):
(WebCore::V8ThrowException::throwError):
(WebCore::V8ThrowException::throwTypeError):
(WebCore::V8ThrowException::throwNotEnoughArgumentsError):

  • bindings/v8/V8ThrowException.h:

(V8ThrowException):

  • bindings/v8/WorkerContextExecutionProxy.cpp: Prefixing (continued)

(WebCore::WorkerContextExecutionProxy::evaluate):

  • bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.

(WebCore::V8ArrayBuffer::constructorCallback):

  • bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.

(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::constructWebGLArray):
(WebCore::setWebGLArrayHelper):

  • bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.

(WebCore::V8AudioContext::constructorCallback):

  • bindings/v8/custom/V8BlobCustom.cpp: Ditto.

(WebCore::V8Blob::constructorCallback):

  • bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.

(WebCore::V8Clipboard::clearDataCallback):
(WebCore::V8Clipboard::setDragImageCallback):

  • bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.

(WebCore::V8DOMFormData::appendCallback):

  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Ditto.

(WebCore::V8SQLResultSetRowList::itemCallback):

  • dom/ExceptionCode.h: Add WebIDL exception types.
12:19 PM Changeset in webkit [134645] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Style BB10 time input field font.
https://bugs.webkit.org/show_bug.cgi?id=102260.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-14
Reviewed by Rob Buis.

RIM PR 243355
Adjust time input field font using BB10 system default font.

  • css/themeBlackBerry.css:

(input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):

12:14 PM Changeset in webkit [134644] by commit-queue@webkit.org
  • 9 edits in trunk

createDelay should raise exception when the maxDelayTime parameter is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=102173

Patch by Li Yin <li.yin@intel.com> on 2012-11-14
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
The specified value must be greater than zero and less than three minutes or a
NOT_SUPPORTED_ERR exception will be thrown.

Source/WebCore:

Tests: webaudio/delaynode-maxdelaylimit.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createDelay):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/AudioContext.idl: Add raising exception for createDelay.
  • Modules/webaudio/DelayNode.cpp:

(WebCore):
(WebCore::DelayNode::DelayNode):

  • Modules/webaudio/DelayNode.h:

(WebCore::DelayNode::create):
(DelayNode):

LayoutTests:

  • webaudio/delaynode-maxdelaylimit-expected.txt:
  • webaudio/delaynode-maxdelaylimit.html:
11:57 AM Changeset in webkit [134643] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] css3/filters/custom/custom-filter-property-computed-style.html is a flaky timeout in debug.
https://bugs.webkit.org/show_bug.cgi?id=90207

11:48 AM Changeset in webkit [134642] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Don't pass a paintingRoot when painting from RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=102256

Reviewed by David Hyatt.

The 'paintingRoot' parameter to the RenderLayer paint functions
is used when painting just a subtree (e.g. when painting dragged
selections). There is no need to pass it when a RenderLayerBacking
paints its contents or overlay scrollbars.

Passing it requires an expensive isDescendant() check, so passing
null is more efficient.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

11:44 AM Changeset in webkit [134641] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Updated the type of flakiness for fast/forms/select/select-state-restore.html.
https://bugs.webkit.org/show_bug.cgi?id=90207

  • platform/chromium/TestExpectations: Updated.
11:43 AM Changeset in webkit [134640] by beidson@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
https://bugs.webkit.org/show_bug.cgi?id=102259

Reviewed by Alexey Proskuryakov.

WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.

We should create a WebResourceLoader that will eventually act as an intermediary between
WebCore::ResourceLoader and NetworkResourceLoader.

This patch is prep-work: It adds a new skeleton class to the WebProcess.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new WebResourceLoader class which is a very thin skeleton for now:

  • WebProcess/Network/WebResourceLoader.cpp: Added.

(WebKit::WebResourceLoader::create):
(WebKit::WebResourceLoader::WebResourceLoader):
(WebKit::WebResourceLoader::~WebResourceLoader):

  • WebProcess/Network/WebResourceLoader.h: Added.

(WebKit::WebResourceLoader::coreLoader):

Adapt WebResourceLoadScheduler to use this new class where appropriate:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):
(WebKit::WebResourceLoadScheduler::addMainResourceLoad):
(WebKit::WebResourceLoadScheduler::remove):
(WebKit::WebResourceLoadScheduler::willSendRequest):
(WebKit::WebResourceLoadScheduler::didReceiveResponse):
(WebKit::WebResourceLoadScheduler::didReceiveData):
(WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
(WebKit::WebResourceLoadScheduler::didReceiveResource):
(WebKit::WebResourceLoadScheduler::didFailResourceLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
11:43 AM Changeset in webkit [134639] by arv@chromium.org
  • 21 edits
    8 moves
    1 add
    2 deletes in trunk/LayoutTests

Unreviewed. Rebaselined test results.

  • fast/media/mq-js-media-except-01-expected.txt: Renamed from LayoutTests/platform/mac/fast/media/mq-js-media-except-01-expected.txt.
  • platform/chromium-linux-x86/svg/dom/SVGTransformList-basics-expected.png: Removed.
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGTransformList-basics-expected.png:
  • platform/chromium-win/fast/media/mq-js-media-except-01-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-win/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-win/svg/dom/SVGTransformList-basics-expected.png:
  • platform/chromium/fast/media/mq-js-media-except-01-expected.txt: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-01-expected.txt.
  • platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-appendItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-basics-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-initialize-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-insertItemBefore-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-replaceItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGNumberList-basics-expected.png.
  • platform/qt/fast/files/workers/worker-read-blob-sync-expected.txt: Added.
  • platform/qt/fast/media/mq-js-media-except-01-expected.txt:
11:37 AM Changeset in webkit [134638] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

Adding back and updating baselines that were removed by accident in r133908.

  • platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.txt: Added.
11:34 AM Changeset in webkit [134637] by rniwa@webkit.org
  • 16 edits in trunk/PerformanceTests

runCount in runner.js should be renamed to iterationCount
https://bugs.webkit.org/show_bug.cgi?id=102208

Reviewed by Tony Chang.

Prior to this patch, there were terminology confusions between "runs" and "iterations".
The term "run" should refer to running a performance test once, and "iteration" should
refer to one measurement in the test. i.e. Executing run-perf-should once will result in
a single "run" of performance tests and each test may execute multiple "iterations"
to complete the run.

Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
but that could be addressed in a separate patch.

  • Animation/balls.html:
  • DOM/DOMTable.html:
  • DOM/resources/dom-perf.js:
  • Layout/floats_100_100.html:
  • Layout/floats_100_100_nested.html:
  • Layout/floats_20_100.html:
  • Layout/floats_20_100_nested.html:
  • Layout/floats_2_100.html:
  • Layout/floats_2_100_nested.html:
  • Layout/floats_50_100.html:
  • Layout/floats_50_100_nested.html:
  • Layout/subtree-detaching.html:
  • Parser/html5-full-render.html:
  • SVG/SvgHitTesting.html:
  • resources/runner.js:
11:29 AM Changeset in webkit [134636] by zandobersek@gmail.com
  • 96 edits in trunk/Tools

Remove uses of deprecated unittest.TestCase aliases
https://bugs.webkit.org/show_bug.cgi?id=102253

Reviewed by Dirk Pranke.

Replace the deprecated unittest.TestCase methods with the corresponding methods
everywhere inside the Tools directory. The following replacements are done:

  • assertEquals -> assertEqual
  • assert_ -> assertTrue
  • failUnlessRaises -> assertRaises
  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(SVNMirrorTest.test_CheckOutSource):

  • QueueStatusServer/model/queuepropertymixin_unittest.py:

(QueuePropertyMixinTest.test_queue_property):

  • QueueStatusServer/model/queues_unittest.py:

(QueueTest._assert_short_name):
(QueueTest._assert_display_name):
(QueueTest._assert_name_with_underscores):

  • QueueStatusServer/model/workitems_unittest.py:

(WorkItemsTest.test_display_position_for_attachment):

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

(test_parse_log_entries_from_changelog):
(test_parse_log_entries_from_annotated_file):
(_assert_parse_reviewer_text_and_list):
(_assert_parse_reviewer_text_list):
(_assert_fuzzy_reviewer_match):
(_assert_parse_authors):
(test_latest_entry_parse):
(test_latest_entry_parse_single_entry):
(test_set_reviewer):
(test_set_short_description_and_bug_url):

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

(DiffParserTest.test_diff_parser):

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

(GitSVNTest.test_revisions_changing_files_with_local_commit):
(GitSVNTest.test_upstream_branch):
(GitSVNTest.test_create_patch_with_rm_and_changed_files):
(GitTestWithMock.test_push_local_commits_to_server_with_username_and_password):

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest.test_mac_port):
(DeprecatedPortTest.test_gtk_port):
(DeprecatedPortTest.test_efl_port):
(DeprecatedPortTest.test_qt_port):
(DeprecatedPortTest.test_chromium_port):
(DeprecatedPortTest.test_chromium_android_port):
(DeprecatedPortTest.test_chromium_xvfb_port):

  • Scripts/webkitpy/common/config/urls_unittest.py:

(URLsTest.test_parse_bug_id):
(URLsTest.test_parse_attachment_id):

  • Scripts/webkitpy/common/find_files_unittest.py:

(TestWinNormalize.assert_filesystem_normalizes):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:

(test_url_creation):
(test_parse_bug_id):
(_assert_dictionaries_equal):
(test_parse_bugs_from_xml):
(test_attachment_detail_bug_parsing):
(_assert_result_count):
(test_request_page_parsing):
(test_quip_page_parsing):
(EditUsersParserTest._assert_login_userid_pairs):

  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:

(test_status_parsing):
(test_latest_cached_build):
(test_results_zip_url):

  • Scripts/webkitpy/common/net/credentials_unittest.py:

(test_credentials_from_environment):

  • Scripts/webkitpy/common/net/failuremap_unittest.py:

(FailureMapTest.test_failing_revisions):
(FailureMapTest.test_new_failures):
(FailureMapTest.test_new_failures_with_old_revisions):
(FailureMapTest.test_new_failures_with_more_old_revisions):
(FailureMapTest.test_tests_failing_for):
(FailureMapTest.test_failing_tests):

  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:

(LayoutTestResultsTest.test_set_failure_limit_count):

  • Scripts/webkitpy/common/net/unittestresults_unittest.py:

(UnitTestResultsTest.test_nostring):
(UnitTestResultsTest.test_emptystring):

  • Scripts/webkitpy/common/read_checksum_from_png_unittest.py:

(ReadChecksumFromPngTest.test_read_checksum):

  • Scripts/webkitpy/common/system/deprecated_logging_unittest.py:

(LoggingTest.assert_log_equals):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ScriptErrorTest.test_string_from_args):
(ScriptErrorTest.test_message_with_output):
(ExecutiveTest.test_run_command_with_bad_command):
(ExecutiveTest.test_run_command_with_unicode):
(ExecutiveTest.serial_test_run_in_parallel):

  • Scripts/webkitpy/common/system/filesystem_mock_unittest.py:

(MockFileSystemTest.quick_check):

  • Scripts/webkitpy/common/system/filesystem_unittest.py:

(GenericFileSystemTests.test_globtrailing_asterisk):
(GenericFileSystemTests.test_glob
leading_asterisk):
(GenericFileSystemTests.test_globmiddle_asterisk):
(GenericFileSystemTests.test_glob
period_is_escaped):
(RealFileSystemTest.test_chdir):
(RealFileSystemTest.test_remove_file_with_retry):
(RealFileSystemTest.test_sep):

  • Scripts/webkitpy/common/system/logtesting.py:

(TestLogStream.assertMessages):

  • Scripts/webkitpy/common/system/logutils_unittest.py:

(GetLoggerTest.test_get_logger_in_webkitpy):
(GetLoggerTest.test_get_logger_not_in_webkitpy):

  • Scripts/webkitpy/common/system/outputcapture.py:

(OutputCaptureTestCaseBase.assertStdout):
(OutputCaptureTestCaseBase.assertStderr):

  • Scripts/webkitpy/common/system/path_unittest.py:

(AbspathTest.test_abspath_to_uri_cygwin):
(AbspathTest.test_abspath_to_uri_unixy):
(AbspathTest.test_abspath_to_uri_win):
(AbspathTest.test_abspath_to_uri_escaping_unixy):
(AbspathTest.test_abspath_to_uri_escaping_cygwin):

  • Scripts/webkitpy/common/system/platforminfo_unittest.py:

(TestPlatformInfo.test_real_code):
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_total_bytes_memory):

  • Scripts/webkitpy/common/system/user_unittest.py:

(UserTest.test_confirm.mock_raw_input):
(UserTest.test_confirm):

  • Scripts/webkitpy/common/system/zipfileset_unittest.py:

(ZipFileSetTest.test_open):
(ZipFileSetTest.test_read):

  • Scripts/webkitpy/common/watchlist/watchlist_unittest.py:

(WatchListTest.test_filename_definition_no_matches):
(WatchListTest.test_filename_definition):
(WatchListTest.test_cc_rules_simple):
(WatchListTest.test_cc_rules_complex):
(WatchListTest.test_cc_and_message_rules_complex):
(WatchListTest.test_cc_and_message_rules_no_matches):
(WatchListTest.test_added_match):
(WatchListTest.test_deleted_match):
(WatchListTest.test_more_and_less_match):
(WatchListTest.test_complex_match):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:

(LockCheckingRunner.handle_finished_list):
(LayoutTestRunnerTests.test_interrupt_if_at_failure_limits):
(LayoutTestRunnerTests.test_update_summary_with_result):
(LayoutTestRunnerTests.test_servers_started):
(SharderTests.assert_shards):
(SharderTests.test_shard_in_two_has_no_locked_shards):
(SharderTests.test_shard_in_two_has_no_unlocked_shards):
(NaturalCompareTest.assert_cmp):
(KeyCompareTest.assert_cmp):

  • Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py:

(TestConfigurationTest.test_items):
(TestConfigurationTest.test_keys):
(TestConfigurationTest.test_str):
(TestConfigurationTest.test_repr):
(TestConfigurationTest.test_hash):
(TestConfigurationTest.test_eq):
(TestConfigurationTest.test_values):
(SpecifierSorterTest.test_init):
(SpecifierSorterTest.test_add_specifier):
(SpecifierSorterTest.test_add_macros):
(SpecifierSorterTest.test_category_priority):
(SpecifierSorterTest.test_specifier_priority):
(SpecifierSorterTest.test_sort_specifiers):
(TestConfigurationConverterTest.test_symmetric_difference):
(TestConfigurationConverterTest.test_to_config_set):
(TestConfigurationConverterTest.test_macro_expansion):
(TestConfigurationConverterTest.test_to_specifier_lists):
(TestConfigurationConverterTest.test_macro_collapsing):
(TestConfigurationConverterTest.test_converter_macro_collapsing):
(TestConfigurationConverterTest.test_specifier_converter_access):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(assert_exp):
(MiscTests.test_result_was_expected):
(MiscTests.test_remove_pixel_failures):
(MiscTests.test_suffixes_for_expectations):
(MiscTests.test_get_expectations_string):
(SkippedTests.check):
(ExpectationSyntaxTests.assert_tokenize_exp):
(SemanticTests.test_bad_bugid):
(SemanticTests.test_missing_bugid):
(TestExpectationSerializationTests.test_reconstitute_only_these):

  • Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:

(TestFailuresTest.test_crashes):

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

(PortTest.test_nonexistant_expectations):
(PortTest.test_additional_expectations):

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

(BuildersTest.test_path_from_name):

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

(ChromiumAndroidPortTest.test_attributes):
(ChromiumAndroidPortTest.test_default_timeout_ms):
(ChromiumAndroidPortTest.test_get_devices_one_device):
(ChromiumAndroidPortTest.test_get_devices_two_devices):
(ChromiumAndroidPortTest.test_get_device_serial_one_device):
(ChromiumAndroidPortTest.test_get_device_serial_two_devices):
(ChromiumAndroidPortTest.test_must_require_http_server):
(ChromiumAndroidDriverTest.test_get_last_stacktrace):
(ChromiumAndroidDriverTest.test_get_crash_log):
(ChromiumAndroidDriverTest.test_cmd_line):
(ChromiumAndroidDriverTest.test_read_prompt):
(ChromiumAndroidDriverTest.test_command_from_driver_input):
(ChromiumAndroidDriverTwoDriversTest.test_two_drivers):
(ChromiumAndroidTwoPortsTest.test_options_with_two_ports):

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

(ChromiumLinuxPortTest.assert_architecture):
(ChromiumLinuxPortTest.test_determine_architecture_fails):
(ChromiumLinuxPortTest.test_path_to_image_diff):

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

(ChromiumMacPortTest.assert_name):
(ChromiumMacPortTest.test_baseline_path):
(ChromiumMacPortTest.test_path_to_image_diff):

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

(ChromiumPortTestCase.test_default_max_locked_shards):
(ChromiumPortTestCase.test_default_timeout_ms):
(ChromiumPortTestCase.test_default_pixel_tests):
(ChromiumPortTestCase.test_all_test_configurations):
(ChromiumPortTestCase.test_default_configuration):
(ChromiumPortTestCase.test_diff_image):
(ChromiumPortTestCase.test_diff_image_crashed):
(ChromiumPortTestCase.test_expectations_files):

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

(ChromiumWinTest.test_setup_environ_for_server_cygpath):
(ChromiumWinTest.assert_name):
(ChromiumWinTest.test_baseline_path):
(ChromiumWinTest.test_path_to_image_diff):

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

(DriverTest.test_read_block):
(DriverTest.test_read_binary_block):
(DriverTest.test_read_base64_block):
(DriverTest.test_no_timeout):
(DriverTest.test_check_for_driver_crash.assert_crash):
(DriverTest.test_creating_a_port_does_not_write_to_the_filesystem):

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

(FactoryTest.test_get_from_builder_name):

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

(GtkPortTest.test_default_timeout_ms):

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

(HttpLockTest.test_current_lock_pid):

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

(TestImageDiffer.test_diff_image_failed):
(TestImageDiffer.test_diff_image_passed):

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

(LeakDetectorTest.test_leaks_args):
(test_parse_leaks_output):
(test_leaks_files_in_directory):
(test_count_total_leaks):

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

(MacTest.test_default_timeout_ms):
(assert_name):
(test_setup_environ_for_server):
(_assert_search_path):
(test_32bit):
(test_64bit):

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

(MockTestShellTest.test_pixeltestfails):
(MockTestShellTest.test_test_shell_parse_options):

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

(PortTestCase.test_default_max_locked_shards):
(PortTestCase.test_default_timeout_ms):
(PortTestCase.test_default_pixel_tests):
(PortTestCase.test_diff_image):
(PortTestCase.test_diff_image_crashed):
(PortTestCase.test_get_crash_log):
(PortTestCase.assert_build_path):
(PortTestCase.test_expectations_ordering):
(_assert_config_file_for_platform):
(test_path_to_apache_config_file):
(test_additional_platform_directory):

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

(QtPortTest._assert_search_path):
(QtPortTest._assert_expectations_files):
(QtPortTest.test_setup_environ_for_server):

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

(TestServerProcess.test_basic):
(TestServerProcess.test_broken_pipe):

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

(WinPortTest._assert_search_path):
(WinPortTest._assert_version):
(WinPortTest.test_runtime_feature_list):
(WinPortTest.test_expectations_files):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(LintTest.test_all_configurations):
(MainTest.test_all):
(MainTest.test_repeat_each):
(MainTest.test_skipped_flag):
(MainTest.test_iterations):
(MainTest.test_run_chunk):
(MainTest.test_run_part):
(MainTest.test_run_singly):
(MainTest.test_run_singly_actually_runs_tests):
(MainTest.test_single_file):
(MainTest.test_single_file_with_prefix):
(MainTest.test_single_skipped_file):
(MainTest.test_stderr_is_saved):
(MainTest.test_test_list):
(MainTest.test_test_list_with_prefix):
(MainTest.test_missing_and_unexpected_results):
(MainTest.test_pixel_test_directories):
(MainTest.test_missing_and_unexpected_results_with_custom_exit_code):
(MainTest.test_crash_log):
(MainTest.test_web_process_crash_log):
(MainTest.test_exit_after_n_failures_upload):
(MainTest.test_exit_after_n_failures):
(MainTest.test_exit_after_n_crashes):
(MainTest.test_retrying_and_flaky_tests):
(MainTest.test_run_orderinline):
(MainTest.test_reftest_run):
(MainTest.test_reftest_run_reftests_if_pixel_tests_are_disabled):
(MainTest.test_reftest_skip_reftests_if_no_ref_tests):
(MainTest.test_reftest_expected_html_should_be_ignored):
(MainTest.test_reftest_driver_should_run_expected_html):
(MainTest.test_reftest_driver_should_run_expected_mismatch_html):
(MainTest.test_output_diffs):
(MainTest.test_unsupported_platform):
(EndToEndTest.test_end_to_end):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):

  • Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:

(BaseTest.integration_test_servernormal):
(BaseTest.integration_test_server
fails):
(BaseTest.integration_test_port_and_root):

  • Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:

(TestHttpServer.test_start_cmd):

  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:

(RegularTest.test_logging_not_included):
(RegularTest._basic):
(RegularTest.test_basic):
(RegularTest.test_log_after_update):
(RegularTest.test_log_args):
(TtyTest.test_basic):
(TtyTest.test_log_after_update):
(VerboseTest.test_basic):
(VerboseTest.test_log_after_update):
(VerboseTest.test_log_args):

  • Scripts/webkitpy/layout_tests/views/printing_unittest.py:

(Testprinter.assertWritten):
(test_test_status_line):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.assertWritten):

  • Scripts/webkitpy/style/checker_unittest.py:

(GlobalVariablesTest.test_webkit_base_filter_rules):
(CheckerDispatcherSkipTest._assert_should_skip_without_warning):
(CheckerDispatcherCarriageReturnTest.test_should_check_and_strip_carriage_returns):
(CheckerDispatcherDispatchTest.assert_checker):
(CheckerDispatcherDispatchTest.test_changelog_paths):
(CheckerDispatcherDispatchTest.test_cpp_paths):
(CheckerDispatcherDispatchTest.test_json_paths):
(CheckerDispatcherDispatchTest.test_python_paths):
(CheckerDispatcherDispatchTest.test_text_paths):
(CheckerDispatcherDispatchTest.test_xml_paths):
(StyleProcessorConfigurationTest.test_init):
(StyleProcessorConfigurationTest.test_write_style_error_emacs):
(StyleProcessorConfigurationTest.test_write_style_error_vs7):
(StyleProcessor_EndToEndTest.test_init):
(StyleProcessor_EndToEndTest.test_process):
(StyleProcessor_CodeCoverageTest.test_processchecker_dispatched):

  • Scripts/webkitpy/style/checkers/changelog_unittest.py:

(ChangeLogCheckerTest.assert_error.handle_style_error):
(ChangeLogCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/common_unittest.py:

(CarriageReturnCheckerTest.assert_carriage_return):
(TabCheckerTest.assert_tab):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppFunctionsTest.test_convert_to_lower_with_underscores):
(CppFunctionsTest.test_create_acronym):
(CppFunctionsTest.test_parameter):
(CppFunctionsTest.test_single_line_view):
(CppFunctionsTest.test_create_skeleton_parameters):
(CppFunctionsTest.test_find_parameter_name_index):
(CppFunctionsTest.test_parameter_list):
(CppFunctionsTest.test_check_parameter_against_text):
(CppStyleTestBase.perform_lint):
(CppStyleTestBase.assert_lint):
(CppStyleTestBase.assert_lint_one_of_many_errors_re):
(CppStyleTestBase.assert_multi_line_lint):
(CppStyleTestBase.assert_language_rules_check):
(CppStyleTestBase.assert_include_what_you_use):
(CppStyleTestBase.assert_blank_lines_check):
(CppStyleTestBase.assert_positions_equal):
(FunctionDetectionTest.perform_function_detection):
(CppStyleTest.test_get_line_width):
(CppStyleTest.test_find_next_multi_line_comment_start):
(CppStyleTest.test_find_next_multi_line_comment_end):
(CppStyleTest.test_remove_multi_line_comments_from_range):
(CppStyleTest.test_position):
(CppStyleTest.test_rfind_in_lines):
(CppStyleTest.test_close_expression):
(CppStyleTest.test_include_what_you_use_no_implementation_files):
(CppStyleTest.test_include_what_you_use):
(CppStyleTest.test_files_belong_to_same_module):
(CppStyleTest.test_cleanse_line):
(CppStyleTest.test_multiline_strings):
(CppStyleTest.test_newline_at_eof.do_test):
(CppStyleTest.test_invalid_utf8.do_test):
(CppStyleTest.test_is_blank_line):
(CppStyleTest.test_allow_blank_line_before_closing_namespace):
(CppStyleTest.test_allow_blank_line_before_if_else_chain):
(CppStyleTest.test_else_on_same_line_as_closing_braces):
(CppStyleTest.test_build_header_guard):
(CppStyleTest.test_legal_copyright):
(CleansedLinesTest.test_init):
(CleansedLinesTest.test_init_empty):
(CleansedLinesTest.test_collapse_strings):
(CheckForFunctionLengthsTest.assert_function_lengths_check):
(PassPtrTest.assert_pass_ptr_check):
(LeakyPatternTest.assert_leaky_pattern_check):
(WebKitStyleTest.test_parameter_names):
(WebKitStyleTest.test_webkit_export_check):
(CppCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:

(JSONCheckerTest.assert_error.handle_style_error):
(JSONCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/png_unittest.py:

(PNGCheckerTest.test_init):
(PNGCheckerTest.test_check):

  • Scripts/webkitpy/style/checkers/python_unittest.py:

(PythonCheckerTest.test_init):
(PythonCheckerTest.test_check):

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase._expect_port_for_expectations_path):
(TestExpectationsTestCase.assert_lines_lint):

  • Scripts/webkitpy/style/checkers/text_unittest.py:

(TextStyleTestCase.assertNoError):
(TextStyleTestCase.assertError.error_for_test):
(TextStyleTestCase.assertError):
(TextCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/watchlist_unittest.py:

(WatchListTest.test_basic_error_message.handle_style_error):
(WatchListTest):

  • Scripts/webkitpy/style/checkers/xcodeproj_unittest.py:

(XcodeProjectFileCheckerTest.assert_error):

  • Scripts/webkitpy/style/checkers/xml_unittest.py:

(XMLCheckerTest.assert_error.handle_style_error):
(XMLCheckerTest.test_init):

  • Scripts/webkitpy/style/error_handlers_unittest.py:

(DefaultStyleErrorHandlerTest._check_initialized):
(DefaultStyleErrorHandlerTest.test_non_reportable_error):
(DefaultStyleErrorHandlerTest.test_max_reports_per_category):
(DefaultStyleErrorHandlerTest.test_line_numbers):

  • Scripts/webkitpy/style/filereader_unittest.py:

(TextFileReaderTest._assert_file_reader):
(TextFileReaderTest.test_process_filedoes_not_exist):
(TextFileReaderTest.test_count_delete_only_file):

  • Scripts/webkitpy/style/filter_unittest.py:

(CategoryFilterTest.test_init):
(CategoryFilterTest.test_init_default_arguments):
(CategoryFilterTest.test_str):
(FilterConfigurationTest.test_init):
(FilterConfigurationTest.test_default_arguments):

  • Scripts/webkitpy/style/main_unittest.py:

(ChangeDirectoryTest._assert_result):

  • Scripts/webkitpy/style/optparser_unittest.py:

(ArgumentPrinterTest.test_to_flag_string):
(ArgumentParserTest.test_parse_default_arguments):
(ArgumentParserTest.test_parse_explicit_arguments):
(ArgumentParserTest.test_parse_files):
(CommandOptionValuesTest.test_init):

  • Scripts/webkitpy/style/patchreader_unittest.py:

(PatchReaderTest._assert_checked):

  • Scripts/webkitpy/test/finder_unittest.py:

(FinderTest.test_additional_system_paths):
(FinderTest.test_to_module):
(FinderTest.check_names):

  • Scripts/webkitpy/test/main_unittest.py:

(TesterTest.test_individual_names_are_not_run_twice):
(TesterTest.test_integration_tests_are_not_found_by_default):
(TesterTest.test_integration_tests_are_found):
(TesterTest.integration_test_coverage_works):

  • Scripts/webkitpy/test/runner_unittest.py:

(RunnerTest.test_run):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(_expect_validate):

  • Scripts/webkitpy/tool/bot/expectedfailures_unittest.py:

(ExpectedFailuresTest._assert_can_trust):
(ExpectedFailuresTest.test_unexpected_failures_observed):
(ExpectedFailuresTest.test_unexpected_failures_observed_when_tree_is_hosed):

  • Scripts/webkitpy/tool/bot/feeders_unittest.py:

(test_patches_with_acceptable_review_flag):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):
(IRCCommandTest.test_create_bug):
(IRCCommandTest.test_roll_chromium_deps):
(IRCCommandTest.test_rollout):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_missing_layout_test_results):
(test_missing_unit_test_results_path):
(test_layout_test_results):

  • Scripts/webkitpy/tool/bot/queueengine_unittest.py:

(LoggingDelegate.process_work_item):
(LoggingDelegate.handle_unexpected_error):
(QueueEngineTest.test_trivial):
(QueueEngineTest.test_unexpected_error):
(QueueEngineTest.test_handled_error):
(QueueEngineTest._test_terminating_queue):

  • Scripts/webkitpy/tool/commands/openbugs_unittest.py:

(OpenBugsTest.test_find_bugs_in_string):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(FailureReasonTest.test_blame_line_for_revision):
(PrintExpectationsTest.run_test):
(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintBaselinesTest.test_csv):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(AbstractQueueTest.test_log_directory):
(AbstractPatchQueueTest.test_next_patch):
(test_auto_retry):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(test_rebaseline_updates_expectations_file):
(test_rebaseline_does_not_include_overrides):
(test_rebaseline_test):
(test_rebaseline_test_with_results_directory):
(test_rebaseline_test_and_print_scm_changes):
(test_rebaseline_and_copy_test):
(test_rebaseline_and_copy_test_no_existing_result):
(test_rebaseline_and_copy_test_with_lion_result):
(test_rebaseline_and_copy_no_overwrite_test):
(test_rebaseline_test_internal_with_move_overwritten_baselines_to):
(TestRebaselineJson.test_rebaseline_all):
(TestRebaselineJson.test_rebaseline_debug):
(TestRebaselineJson.test_move_overwritten):
(TestRebaselineJson.test_no_optimize):
(TestRebaselineJson.test_results_directory):
(TestRebaseline.test_rebaseline):
(TestRebaselineExpectations.test_rebaseline_expectations_noop):
(TestRebaselineExpectations.disabled_test_overrides_are_included_correctly):
(TestAnalyzeBaselines.test_default):
(TestAnalyzeBaselines.test_missing_baselines):

  • Scripts/webkitpy/tool/commands/roll_unittest.py:

(PostRollCommandsTest.test_prepare_state):

  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:

(BuildCoverageExtrapolatorTest.test_extrapolate):

  • Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:

(AddSvnMimetypeForPngTest.test_run):

  • Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:

(PrepareChangeLogTest.test_ensure_bug_url):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:

(_assert_message_for_revert_output):

  • TestResultServer/model/jsonresults_unittest.py:

(JsonResultsTest._test_merge):
(JsonResultsTest._test_get_test_list):

11:28 AM Changeset in webkit [134635] by zandobersek@gmail.com
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

Adding or updating baselines for changes in r134618.
Adding timeout expectations for

  • fast/dom/Window/open-window-min-size.html, added in r134586 and
  • inspector-protocol/nmi-webaudio.html, added in r134593.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/files/workers/worker-read-blob-sync-expected.txt: Added.
  • platform/gtk/fast/media/mq-js-media-except-01-expected.txt:
11:26 AM Changeset in webkit [134634] by bfulgham@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Replace (typeof(x) != <"object", "undefined", ...>) with
!(typeof(x) == <"object",..>). Later is_object, is_<...> bytecode operation
will be used.

https://bugs.webkit.org/show_bug.cgi?id=98893

Patch by Valery Ignatyev <valery.ignatyev@ispras.ru> on 2012-11-14
Reviewed by Filip Pizlo.

This eliminates expensive typeof implementation and
allows to use DFG optimizations, which doesn't support 'typeof'.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):

11:24 AM Changeset in webkit [134633] by enne@google.com
  • 2 edits
    39 adds in trunk/LayoutTests

[Chromium] Rebaselined video LayoutTests for software compositor
https://bugs.webkit.org/show_bug.cgi?id=101973

Patch by Slavomir Kaslev <skaslev@google.com> on 2012-11-12
Reviewed by Adrienne Walker.

Rebaselined failing video LayouTests caused by different filtering
result between Skia and Mesa for the software compositor.

  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/visibility/visibility-simple-video-layer-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/visibility/visibility-simple-video-layer-expected.png: Added.
  • platform/chromium/TestExpectations:
11:16 AM Changeset in webkit [134632] by alecflett@chromium.org
  • 9 edits
    1 copy in trunk/Source

Add DOMRequestState to maintain world/ScriptExecutionContext state
https://bugs.webkit.org/show_bug.cgi?id=102102

Reviewed by Adam Barth.

Introduce DOMRequestState, and convert IndexedDB over.

No new tests, this is an abstraction layer for existing code.

  • Modules/indexeddb/IDBRequest.cpp:

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

  • Modules/indexeddb/IDBRequest.h:

(IDBRequest):

  • WebCore.gypi:
  • bindings/v8/DOMRequestState.h: Added.

(WebCore):
(DOMRequestState):
(WebCore::DOMRequestState::DOMRequestState):
(Scope):
(WebCore::DOMRequestState::Scope::Scope):
(WebCore::DOMRequestState::scope):

11:12 AM Changeset in webkit [134631] by junov@google.com
  • 7 edits
    3 adds in trunk

Boxes with rounded corners and thin borders are too slow to draw
https://bugs.webkit.org/show_bug.cgi?id=101974

Reviewed by Simon Fraser.

Source/WebCore:

With the current implementation RenderBox::
determineBackgroundBleedAvoidance() uses the slow path
BackgroundBleedUseTransparencyLayer for some very common use cases,
notably for drawing rectangles with rounded corners that have thin
borders. This is because the BackgroundBleedShrinkBackground
strategy requires a border at least two pixels wide on all sides. This
patch introduce drawing strategy BackgroundBleedBackgroundOverBorder.
This approach consists in drawing the border first, with an inset inner
edge (for anti-aliased compositing to work well). This approach only
works with opaque solid edges and opaque single-layer backgrounds.
By using this approach rather than BackgroundBleedUseTransparencyLayer,
we save two clipPath, one save and one saveLayer on the
GraphicsContext. This patch gets good coverage from existing layout
tests. One additional test was added to exercise mitring, thick edges
and anti-aliasing edge cases under the new painting algorithm.

Test: fast/borders/border-radius-wide-border-05.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::determineBackgroundBleedAvoidance):
Added selection criteria for BackgroundOverBorder
(WebCore::RenderBox::paintBoxDecorations):
Added a preliminary paintBorder pass for BackgroundOverBorder
(WebCore::RenderBox::paintBackground):
Insetting the background to to innerBorder when bleedAvoidance is
BackgroundOverBorder. This why BackgroundOverBorder only works for
Opaque solid edges.
(WebCore):
(WebCore::RenderBox::backgroundIsSingleOpaqueLayer):
Utility method use by determineBackgroundBleedAvoidance to test the
background's eligibility for BackgroundOverBorder bleed avoidance
strategy. The reason the background must be a single layer is to avoid
color bleeding from layer compositing along anti-aliased edges

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
(WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
Added support for BackgroundOverBorder by applying a one pixel inset.
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
Set the background rect to the inner border for BackgroundOverBorder
(WebCore):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Added support for BackgroundOverBorder by using
backgroundRoundedRectAdjustedForBleedAvoidance
(WebCore::RenderBoxModelObject::paintBorderSides):
Added support for BackgroundOverBorder by applying per-side inset
adjustments.
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
Added support for BackgroundOverBorder by using an adjusted inner
border, but not if sides are painted individually.

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

LayoutTests:

New test that purposely triggers the BackgroundOverBorder painting path
in WebCore::RenderBox, to test it with thick borders, off-diagonal
mitring, an anti-aliased rounded border wedge, and a border of width 0.

  • fast/borders/border-radius-wide-border-05.html: Added.
  • fast/borders/border-radius-wide-border-05-expected.txt: Added.
  • LayoutTests/platform/chromium-win/fast/borders/border-radius-wide-border-05-expected.png: Added.
  • LayoutTests/platform/chromium/TestExpectations: Added Expectations.

Added expectations for tests pixels results that require rebaselining

11:03 AM Changeset in webkit [134630] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Break suspend/resume of the backingstore and screen into separate methods
https://bugs.webkit.org/show_bug.cgi?id=102126

Patch by Adam Treat <atreat@rim.com> on 2012-11-14
Reviewed by George Staikos.
PR 219976

Modify the suspend/resume methods so that they can be called from the UI thread
itself and split up the suspend/resume methods so that we can suspend/resume
the screen or backingstore separately.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
(BlackBerry::WebKit::BackingStore::suspendBackingStoreUpdates):
(BlackBerry::WebKit::BackingStore::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStore::suspendScreenUpdates):
(BlackBerry::WebKit::BackingStore::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
(BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):

  • Api/BackingStore.h:
  • Api/BackingStore_p.h:

(BackingStorePrivate):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::zoomBlock):
(BlackBerry::WebKit::WebPage::destroy):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::setCompositor):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setBatchEditingActive):

10:53 AM Changeset in webkit [134629] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Fix cairo_t* memory leak in GraphicsContext::platformInit
https://bugs.webkit.org/show_bug.cgi?id=76219

Patch by Hideki Yoshida <yoshida-hxa@necst.nec.co.jp> on 2012-11-14
Reviewed by Brent Fulgham.

This patch is to fix a memory leak problem which occurs
in every rendering process on Wincairo port.
By applying this patch, the memory allocated in cairo
library will be released by calling cairo_destroy.

  • platform/graphics/win/GraphicsContextCairoWin.cpp:

(WebCore::GraphicsContext::platformInit):

10:51 AM Changeset in webkit [134628] by commit-queue@webkit.org
  • 8 edits
    1 copy
    1 add in trunk

Optimize painting of composited scrolling layers
https://bugs.webkit.org/show_bug.cgi?id=96087

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-11-14
Reviewed by Simon Fraser.

Source/WebCore:

Don't completely repaint accelerated scrolling layers when the scroll offset
changes.

Test: compositing/overflow/scrolling-without-painting.html

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::setOffsetFromRenderer):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

LayoutTests:

Test that accelerated scrolling layers can be scrolled without repainting
their contents. Note that this test will not pass unless
ENABLE_ACCELERATED_OVERFLOW_SCROLLING is enabled.

  • compositing/overflow/scrolling-without-painting-expected.txt: Added.
  • compositing/overflow/scrolling-without-painting.html: Added.
  • platform/chromium/TestExpectations: Mark test as expected to fail by default.
  • platform/mac/TestExpectations: Skip the test.
10:48 AM Changeset in webkit [134627] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: keep track of mutation observers and disconnect them upon upload
https://bugs.webkit.org/show_bug.cgi?id=102239

Reviewed by Vsevolod Vlasov.

Otherwise we hit memory leaks.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.DefaultTextEditor.prototype.wasShown):
(WebInspector.DefaultTextEditor.prototype.willHide):
(WebInspector.TextEditorMainPanel.prototype._wasShown):
(WebInspector.TextEditorMainPanel.prototype._willHide):
(WebInspector.TextEditorMainPanel.prototype._attachMutationObserver):
(WebInspector.TextEditorMainPanel.prototype._detachMutationObserver):

  • inspector/front-end/utilities.js:
10:43 AM Changeset in webkit [134626] by reed@google.com
  • 2 edits in trunk/Source/WebKit/chromium

Dynamically create canvas in Setup() to avoid calling DEPRECATED function setDevice().
https://bugs.webkit.org/show_bug.cgi?id=102242

Reviewed by Stephen White.

This change should not change any test results, it is an equivalent implementation that avoids
using a (now) DEPRECATED function.

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::createRasterCanvas):
(WebCore):
(WebCore::DeferredImageDecoderTest::SetUp):
(DeferredImageDecoderTest):
(WebCore::TEST_F):

10:39 AM Changeset in webkit [134625] by Dimitri Glazkov
  • 5 edits
    1 move
    1 add in trunk/LayoutTests

Rebaseline fast/media/mq-js-media-except-01.html after r134618.

10:37 AM Changeset in webkit [134624] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add FocusBased context node detection strategy
https://bugs.webkit.org/show_bug.cgi?id=102238

Patch by Andy Chen <andchen@rim.com> on 2012-11-14
Reviewed by Rob Buis.

If last fat finger result is invalid, we need to return current
focus element as context node, because when user tap on selection
overlay, there is not touch event sent to webkit.
PR 241382

Internally reviewed by Genevieve Mak and Mike Fenton.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::contextNode):

  • Api/WebPage.h:
  • WebKitSupport/InputHandler.h:

(BlackBerry::WebKit::InputHandler::currentFocusElement):

10:20 AM Changeset in webkit [134623] by beidson@apple.com
  • 8 edits in trunk/Source/WebKit2

Deliver data from NetworkProcess to resources progressively.
https://bugs.webkit.org/show_bug.cgi?id=102171

Reviewed by Alexey Proskuryakov.

Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
to deliver data progressively.

This allows progressive parsing of textual resources and progressive rendering of images,
as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather

pass it straight through to the WebProcess.

(WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of

delivering a chunk of buffered data.

(WebKit::NetworkResourceLoader::didFail):

  • NetworkProcess/NetworkResourceLoader.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
(WebKit::NetworkProcessConnection::didFinishResourceLoad):
(WebKit::NetworkProcessConnection::didFailResourceLoad):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
(WebKit::WebResourceLoadScheduler::didFinishResourceLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
10:07 AM Changeset in webkit [134622] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Mark webgl-background-color.html as failing.
http://webkit.org/b/102247

  • platform/chromium/TestExpectations: Marked as failing.
9:57 AM Changeset in webkit [134621] by arv@chromium.org
  • 20 edits
    3 moves
    1 add in trunk/LayoutTests

Unreviewed gardening.

Updating pixel tests expectations after r134613

  • LayoutTests/platform/chromium/TestExpectations:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGTransformList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGTransformList-basics-expected.png:
  • platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-getItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-removeItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGTransformList-basics-expected.png.
9:46 AM Changeset in webkit [134620] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Use a node image if there is no drag image set for Drag&Drop
https://bugs.webkit.org/show_bug.cgi?id=102124

Reviewed by Simon Hausmann.

Use the nodeImage provided by the frame if there is no dragImage in
the clipboard for the current drag&drop operation.

  • platform/qt/ClipboardQt.cpp:

(WebCore::ClipboardQt::createDragImage):

9:37 AM Changeset in webkit [134619] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Call to enclosingFilterLayer() in RenderObject::containerForRepaint() is expensive
https://bugs.webkit.org/show_bug.cgi?id=101846

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-11-14
Reviewed by Simon Fraser.

If software-rendered CSS Filters have not been used in the document, avoid doing the second
tree walk in RenderObject::containerForRepaint, which determines the RenderObject's
enclosing filter layer.

No new tests. We now avoid a filters related code path for a performance improvement when
we're not using filters.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):

  • page/FrameView.h:

(FrameView):
(WebCore::FrameView::setHasSoftwareFilters):
(WebCore::FrameView::hasSoftwareFilters):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

9:33 AM Changeset in webkit [134618] by arv@chromium.org
  • 31 edits in trunk

Update DOMException name: NotFoundError
https://bugs.webkit.org/show_bug.cgi?id=102137

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 8 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/Document/replaceChild-null-oldChild-expected.txt:
  • fast/dom/Document/script-tests/replaceChild-null-oldChild.js:
  • fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/incompatible-operations-expected.txt:
  • fast/dom/incompatible-operations.html:
  • fast/dom/setter-type-enforcement-expected.txt:
  • fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
  • fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • fast/files/workers/worker-read-blob-sync-expected.txt:
  • fast/files/workers/worker-read-file-sync-expected.txt:
  • fast/inspector-support/uncaught-dom8-exception-expected.txt:
  • fast/js/dot-node-base-exception-expected.txt:
  • fast/js/script-tests/dot-node-base-exception.js:
  • fast/mutation/observe-exceptions-expected.txt:
  • platform/chromium-linux/fast/media/mq-js-media-except-01-expected.png:
  • platform/chromium-win/fast/media/mq-js-media-except-01-expected.txt:
  • platform/chromium/fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
  • platform/chromium/fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
  • platform/chromium/fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • platform/chromium/fast/files/workers/worker-read-blob-sync-expected.txt:
  • platform/chromium/fast/inspector-support/uncaught-dom8-exception-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-01-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-01-expected.txt:
  • platform/gtk/fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-01-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-01-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-01-expected.txt:
9:07 AM Changeset in webkit [134617] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

Mark files that need rebaselines as failing.
https://bugs.webkit.org/show_bug.cgi?id=102087

  • platform/chromium/TestExpectations: Added expectations.
9:04 AM Changeset in webkit [134616] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use mispelled-marker offsets relative to the element
https://bugs.webkit.org/show_bug.cgi?id=102236

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-14
Reviewed by Rob Buis.

DocumentMarker offsets are calculated relative to a node. This is causing
problems for contenteditable which can have numerous nodes. Creating a Range around a word
and calculating its location and length gives us the correct override in this case for starting
and ending points to pass to IMF.

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):

8:53 AM Changeset in webkit [134615] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Updating BB Cookie database to use WAL
https://bugs.webkit.org/show_bug.cgi?id=102237

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-14
Reviewed by Rob Buis.

The cookie database is accessed by one process only and should be updated to
use the WAL journal mode for better I/O performance.

PR 236553

cookieCollection.db-wal is created after the conversion to WAL.
Tested cookie persistence by logging on to random sites and restarting the browser and
check if it automatically logs in.
Also tested using Opera's cookie persistence test.

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:

(WebCore::CookieDatabaseBackingStore::invokeOpen):

8:31 AM Changeset in webkit [134614] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt][ARM] Fix 'nullptr' is a keyword in C++11 [-Wc++0x-compat] warning
https://bugs.webkit.org/show_bug.cgi?id=102083

Patch by János Badics <János Badics> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Modified compiler name regex in condition that tests if -std=c++0x, c++11,
gnu++0x or gnu++11 are enabled in order to match linux-arm-gnueabi-g++ too,
thus enabling -Wno-c++0x-compat also on ARM compiler.

  • qmake/mkspecs/features/unix/default_post.prf:
8:26 AM Changeset in webkit [134613] by arv@chromium.org
  • 63 edits in trunk

Update DOMException name: IndexSizeError
https://bugs.webkit.org/show_bug.cgi?id=102087

Reviewed by Ojan Vafai.

Source/WebCore:

This is the first in a series of updates to DOMException name to match
the spec and Firefox.

Patch 1 of 25

Updated existing tests.

  • dom/DOMCoreException.cpp:

(WebCore):

LayoutTests:

Updated tests and expectations.

  • editing/selection/extend-expected.txt:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-overloads-drawImage-expected.txt:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/canvas-overloads-drawImage.js:
  • fast/canvas/webgl/data-view-test-expected.txt:
  • fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
  • fast/dom/HTMLInputElement/input-size-attribute.html:
  • fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
  • fast/dom/css-mediarule-functions-expected.txt:
  • fast/dom/css-mediarule-functions.html:
  • fast/forms/input-maxlength-expected.txt:
  • fast/forms/input-maxlength.html:
  • fast/forms/number/number-size-expected.txt:
  • fast/forms/number/number-size.html:
  • fast/forms/search/search-setrangetext-expected.txt:
  • fast/forms/setrangetext-expected.txt:
  • fast/forms/textarea-maxlength-expected.txt:
  • fast/forms/textarea-maxlength.html:
  • fast/forms/textarea/textarea-setrangetext-expected.txt:
  • fast/html/marquee-element-expected.txt:
  • fast/inspector-support/uncaught-dom1-exception-expected.txt:
  • fast/js/select-options-add-expected.txt:
  • fast/speech/scripted/speechgrammar-basics-expected.txt:
  • inspector/styles/set-property-boundaries-expected.txt:
  • platform/chromium-mac/fast/dynamic/015-expected.txt:
  • platform/chromium-win/fast/dynamic/015-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/fast/inspector-support/uncaught-dom1-exception-expected.txt:
  • platform/efl/fast/dynamic/015-expected.txt:
  • platform/gtk/fast/dynamic/015-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/dynamic/015-expected.txt:
  • platform/qt/fast/dynamic/015-expected.txt:
  • svg/custom/acid3-test-77-expected.txt:
  • svg/custom/getSubStringLength-expected.txt:
  • svg/custom/selectSubString-expected.txt:
  • svg/dom/SVGLengthList-appendItem-expected.txt:
  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGLengthList-getItem-expected.txt:
  • svg/dom/SVGLengthList-initialize-expected.txt:
  • svg/dom/SVGLengthList-insertItemBefore-expected.txt:
  • svg/dom/SVGLengthList-removeItem-expected.txt:
  • svg/dom/SVGLengthList-replaceItem-expected.txt:
  • svg/dom/SVGNumberList-basics-expected.txt:
  • svg/dom/SVGPathSegList-clear-and-initialize-expected.txt:
  • svg/dom/SVGPointList-basics-expected.txt:
  • svg/dom/SVGStringList-basics-expected.txt:
  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
8:18 AM Changeset in webkit [134612] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

[Qt][ARM]REGRESSION(r133985): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=101740

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Changed the emitGenericContiguousPutByVal to accept the additional IndexingType argument.
This information was passed as a template parameter.

  • jit/JIT.h:

(JSC::JIT::emitInt32PutByVal):
(JSC::JIT::emitDoublePutByVal):
(JSC::JIT::emitContiguousPutByVal):
(JIT):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGenericContiguousPutByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGenericContiguousPutByVal):

8:02 AM Changeset in webkit [134611] by rgabor@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix [-Wmissing-braces] warnings in graphics/cpu/arm/GraphicsContext3DNEON.h
https://bugs.webkit.org/show_bug.cgi?id=102205

Reviewed by Csaba Osztrogonác.

Fixing some warnings in GraphicsContext3DNEON.h which have been caused by missing braces.

  • platform/graphics/cpu/arm/GraphicsContext3DNEON.h:

(WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
(WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
(WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):

7:55 AM Changeset in webkit [134610] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: NoDataAllowedError
https://bugs.webkit.org/show_bug.cgi?id=102132

Reviewed by Darin Adler.

Patch 6 of 25 to update DOMException name to match the spec and Firefox.

NO_DATA_ALLOWED_ERR is historical and not used in any spec or in our code.

  • dom/DOMCoreException.cpp:

(WebCore):

  • dom/ExceptionCode.h:
7:35 AM Changeset in webkit [134609] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

[Qt][ARM] Enable the DFG JIT on ARMv7(Thumb2)
https://bugs.webkit.org/show_bug.cgi?id=101747

Reviewed by Simon Hausmann.

  • wtf/Platform.h:
7:25 AM Changeset in webkit [134608] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix the MIPS build after r134332
https://bugs.webkit.org/show_bug.cgi?id=102227

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Added missing methods for the MacroAssemblerMIPS, based on the MacroAssemblerARMv7.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::canJumpReplacePatchableBranchPtrWithPatch):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::startOfPatchableBranchPtrWithPatch):
(JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranchPtrWithPatch):

7:20 AM Changeset in webkit [134607] by rakuco@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

[EFL] Add some missing pixel expectations.

  • platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png: Added.
  • platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png: Added.
  • platform/efl/fast/replaced/width100percent-textarea-expected.png: Added.
7:14 AM Changeset in webkit [134606] by rakuco@webkit.org
  • 2 edits
    4 adds in trunk/LayoutTests

[EFL] WK1 gardening.

Skip fast/dom/Window/open-window-min-size.html and add some
WK1-specific pixel results which do not look wrong per se.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk1/fast/repaint/japanese-rl-selection-clear-expected.png: Added.
  • platform/efl-wk1/fast/repaint/selection-after-delete-expected.png: Added.
  • platform/efl-wk1/fast/repaint/selection-after-remove-expected.png: Added.
  • platform/efl-wk1/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
7:12 AM Changeset in webkit [134605] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: "Reveal in Element Panel" doesn't work if Elements panel hasn't been opened
https://bugs.webkit.org/show_bug.cgi?id=102219

Reviewed by Alexander Pavlov.

Force elements module load upon context menu invocation.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):

6:52 AM Changeset in webkit [134604] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing tests.

  • platform/qt/TestExpectations:
6:51 AM Changeset in webkit [134603] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the [-Wreturn-type] warning in JavaScriptCore/assembler/MacroAssemblerARM.h
https://bugs.webkit.org/show_bug.cgi?id=102206

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Add a return value for the function to suppress the warning.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::startOfPatchableBranchPtrWithPatch):

6:41 AM Changeset in webkit [134602] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r134599.
http://trac.webkit.org/changeset/134599
https://bugs.webkit.org/show_bug.cgi?id=102225

It broke the 32 bit EFL build (Requested by Ossy on #webkit).

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

  • jit/JITPropertyAccess.cpp:
  • jit/JITPropertyAccess32_64.cpp:

(JSC):
(JSC::JIT::emitGenericContiguousPutByVal):

6:40 AM Changeset in webkit [134601] by commit-queue@webkit.org
  • 10 edits
    1 delete in trunk/Source

Unreviewed, rolling out r134523.
http://trac.webkit.org/changeset/134523
https://bugs.webkit.org/show_bug.cgi?id=102218

brake chrome windows build, as it references a non existing
header js/DOMRequestState.h (Requested by jochen on
#webkit).

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

Source/WebCore:

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::setValueReady):

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.h:

(IDBRequest):

  • WebCore.gypi:
  • bindings/v8/DOMRequestState.h: Removed.
  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValue):
(WebCore::idbKeyToScriptValue):

  • bindings/v8/IDBBindingUtilities.h:

(WebCore):

Source/WebKit/chromium:

  • src/WebIDBKey.cpp:
6:26 AM Changeset in webkit [134600] by commit-queue@webkit.org
  • 16 edits
    1 move
    6 adds in trunk/Source

Add platform implementation of remote web inspector server for GTK port.
https://bugs.webkit.org/show_bug.cgi?id=88094

Patch by Anton Obzhirov <Anton Obzhirov> on 2012-11-14
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Extra SocketStreamHandle constructor is added to accept existing GSocketConnection.
Needed to pass remote inspector server socket connection. The change is tested with
inspector server API tests.

  • platform/network/soup/SocketStreamHandle.h:

(WebCore::SocketStreamHandle::create):
(SocketStreamHandle):

  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):

Source/WebKit2:

The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
The server listens on port 2999 by default. IP address of the server can be set
in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
The server is started during WebKit context initialization.
Once a page is loaded insector server can be accessed via other WebKit based browser.
New WebKit API gtk tests have beed added.
inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.

Test: test-page-list, test-remote-debugging-message, test-open-debugging-session

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Platform/Logging.cpp:

(WebKit):
(WebKit::getChannelFromName):
(WebKit::initializeLogChannelsIfNecessary):

  • Platform/Logging.h:

(WebKit):

  • UIProcess/API/gtk/tests/GNUmakefile.am:
  • UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.

(loadChangedCallback):
(main):

  • UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.

(stopTestServer):
(sigAbortHandler):
(testServerMonitorThreadFunc):
(startTestServerMonitor):
(startTestServer):
(testInspectorServerPageList):
(testRemoteDebuggingMessage):
(openRemoteDebuggingSession):
(beforeAll):
(afterAll):

  • UIProcess/InspectorServer/WebInspectorServer.h:

(WebInspectorServer):

  • UIProcess/InspectorServer/WebSocketServer.h:

(WebSocketServer):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::shutdownNow):
(WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
(WebKit::WebSocketServerConnection::didCloseSocketStream):
(WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
(WebKit):
(WebKit::WebSocketServerConnection::didUpdateBufferedAmount):

  • UIProcess/InspectorServer/WebSocketServerConnection.h:

(WebSocketServerConnection):

  • UIProcess/InspectorServer/front-end: Added.
  • UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
  • UIProcess/InspectorServer/gtk: Added.
  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.

(WebKit):
(WebKit::WebInspectorServer::platformResourceForPath):
(WebKit::WebInspectorServer::buildPageList):

  • UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.

(WebKit):
(WebKit::connectionCallback):
(WebKit::WebSocketServer::platformInitialize):
(WebKit::WebSocketServer::platformListen):
(WebKit::WebSocketServer::platformClose):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::initInspectorServer):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):

  • WebKit2.qrc:
  • config.h:
  • qt/Resources/inspectorPageIndex.html: Removed.
6:23 AM Changeset in webkit [134599] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

[Qt][ARM]REGRESSION(r133985): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=101740

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Template function body moved to fix VALUE_PROFILER disabled case.

  • jit/JITPropertyAccess.cpp:

(JSC):
(JSC::JIT::emitGenericContiguousPutByVal):

  • jit/JITPropertyAccess32_64.cpp:
6:03 AM Changeset in webkit [134598] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed test fix for r134593.

  • inspector-protocol/nmi-webaudio.html:
5:35 AM Changeset in webkit [134597] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

anchor-*download.html wander between crashing and failing.
Marking winsize test as failure and added to bug.

  • platform/efl-wk2/TestExpectations:
5:29 AM Changeset in webkit [134596] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Fix tst_QWebFrame::setUrlWithPendingLoads() API test
https://bugs.webkit.org/show_bug.cgi?id=63237

Reviewed by Jocelyn Turcotte.

Uncomment this API test, because it works fine now.

  • tests/qwebframe/tst_qwebframe.cpp:

(tst_QWebFrame):
(tst_QWebFrame::setUrlWithPendingLoads):

5:14 AM Changeset in webkit [134595] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: context menu on ObjectPropertyTreeElement's values is masked by the section.
https://bugs.webkit.org/show_bug.cgi?id=102212

Reviewed by Vsevolod Vlasov.

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):

4:39 AM Changeset in webkit [134594] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r133757): Causing webkitpy unit tests to fail
https://bugs.webkit.org/show_bug.cgi?id=101444

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Updated the bot name on the unit tests.

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):

4:13 AM Changeset in webkit [134593] by loislo@chromium.org
  • 28 edits
    2 adds in trunk

Web Inspector: NMI add instrumentation for WebAudo related stuff.
They use about 16Mb for shared data on pages with webaudio.
As example Angry Birds app.
https://bugs.webkit.org/show_bug.cgi?id=101729

Reviewed by Yury Semikhatsky.

Plain vanilla instrumentation for audio and webaudio classes.
AudioContext is a kind of ActiveDOMObject. I found that these objects
are accessible through ScriptExecutuionContext and ScriptExecutionContext
is an ancestor of Document. Document class was instrumented earler.
I instrumented ActiveDOMObject, ScriptExecutionContext and other ancestors
and now AudioContext and other ActiveDOMObjects are reacheable from Document.

Source/WebCore:

Test: inspector-protocol/nmi-webaudio.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::reportMemoryUsage):
(WebCore):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::reportMemoryUsage):
(WebCore):

  • Modules/webaudio/AudioNode.h:

(AudioNode):

  • dom/ActiveDOMObject.cpp:

(WebCore::ActiveDOMObject::reportMemoryUsage):
(WebCore):

  • dom/ActiveDOMObject.h:

(ActiveDOMObject):

  • dom/Document.cpp:

(WebCore::Document::reportMemoryUsage):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportMemoryUsage):
(WebCore):

  • dom/ScriptExecutionContext.h:

(ScriptExecutionContext):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::reportMemoryUsage):
(WebCore):

  • dom/SecurityContext.h:

(SecurityContext):

  • dom/WebCoreMemoryInstrumentation.cpp:

(WebCore):

  • dom/WebCoreMemoryInstrumentation.h:

(WebCoreMemoryTypes):

  • platform/audio/AudioArray.h:

(AudioArray):
(WebCore::AudioArray::reportMemoryUsage):

  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::reportMemoryUsage):
(WebCore):

  • platform/audio/FFTFrame.h:

(FFTFrame):

  • platform/audio/HRTFDatabase.cpp:

(WebCore::HRTFDatabase::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFDatabase.h:

(HRTFDatabase):

  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFDatabaseLoader.h:

(HRTFDatabaseLoader):

  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFElevation.h:

(HRTFElevation):

  • platform/audio/HRTFKernel.cpp:

(WebCore::HRTFKernel::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFKernel.h:

(HRTFKernel):

LayoutTests:

  • inspector-protocol/nmi-webaudio-expected.txt: Added.
  • inspector-protocol/nmi-webaudio.html: Added.
3:45 AM Changeset in webkit [134592] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Settings screen: close button overlays view title on mac.
https://bugs.webkit.org/show_bug.cgi?id=102198

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-14
Reviewed by Pavel Feldman.

Added margin-left for mac. Adjusted title height and vertical positioning.

  • inspector/front-end/helpScreen.css:

(.help-window-caption): Adjusted title height.
(.help-window-title): Adjusted title vertical positioning.
(body.platform-mac .help-window-main .help-window-title): Fixed margin.

3:32 AM Changeset in webkit [134591] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: use last selection as complementary signal when applying DOM changes to the text model.
https://bugs.webkit.org/show_bug.cgi?id=101905

Reviewed by Vsevolod Vlasov.

Currently we use heuristics for detecting damaged model range upon DOM mutation.
This change adds signals from the last selection and keyboard events in order to
further improve the heuristics quality.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.DefaultTextEditor):
(WebInspector.DefaultTextEditor.EditInfo):
(WebInspector.DefaultTextEditor.prototype._handleTextInput):
(WebInspector.DefaultTextEditor.prototype._handleKeyDown):
(WebInspector.DefaultTextEditor.prototype.lastSelection):
(WebInspector.DefaultTextEditor.prototype.wasShown):
(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
(WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
(WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnDiff):
(WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
(WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextRange.prototype.compareTo):
(WebInspector.TextRange.prototype.shift):
(WebInspector.TextEditorModel.endsWithBracketRegex.):

3:24 AM Changeset in webkit [134590] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2][AC] Print out warning if we fallback back to software mode
https://bugs.webkit.org/show_bug.cgi?id=102188

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-14
Reviewed by Kenneth Rohde Christiansen.

Print out a warning if accelerated compositing is enabled but the
implementation is falling back to software mode for some reason.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::createGLSurface):

3:21 AM Changeset in webkit [134589] by pfeldman@chromium.org
  • 2 edits
    1 copy in trunk/LayoutTests

Not reviewed: proper baselines for inspector's timeline-timer-fired-from-eval-call-site.

  • inspector/timeline/timeline-timer-fired-from-eval-call-site-expected.txt:
3:14 AM Changeset in webkit [134588] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[V8] use toV8Fast in all relevant Node getters
https://bugs.webkit.org/show_bug.cgi?id=100851

Patch by Dan Carney <dcarney@google.com> on 2012-11-14
Reviewed by Kentaro Hara.

The toV8Fast function for Node objects is now called in all getters
instead of toV8.

No new tests. Test coverage extensive.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNormalAttrGetter):
(IsDOMNodeType):

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

(WebCore::toV8Fast):

3:05 AM Changeset in webkit [134587] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt] QStyleFacadeImp should use a QPointer to store the application style
https://bugs.webkit.org/show_bug.cgi?id=102084

Reviewed by Simon Hausmann.

QStyleFacadeImp implicitly creates a default style during the first
call to QApplication::style() in QStyleFacadeImp::style() but this
style is deleted when a custom style is set, thus the stored m_style
raw pointer in QStyleFacadeImp becomes dangling.
Use a QPointer to cache the style instead of a raw pointer.

This fixes the start-up crash in the anomaly example.
(https://bugreports.qt-project.org/browse/QTBUG-27924)

  • WebCoreSupport/QStyleFacadeImp.h:

(QStyleFacadeImp):

3:05 AM Changeset in webkit [134586] by kenneth@webkit.org
  • 6 edits
    3 adds in trunk

Clean up use of adjustWindowRect
https://bugs.webkit.org/show_bug.cgi?id=102072

Reviewed by Gyuyoung Kim.

Source/WebCore:

Tested by fast/dom/Window/open-window-min-size.html

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

Validate the window size here so that it is not just done for
.open, but also for .showModalDialog. This is compatible with
other browsers such as IE and Firefox (though IE > 6, enforces
a minimum width of 250 instead of 100 as Firefox and us.)

  • page/DOMWindow.cpp:

(WebCore):
(WebCore::DOMWindow::adjustWindowRect):

Make it a static method which only takes page. It was never
called from anywhere without a valid page, so the page check
has been turned into an assert, and two of the arguments have
been removed as they can be accessed via the page.

(WebCore::DOMWindow::moveBy):
(WebCore::DOMWindow::moveTo):
(WebCore::DOMWindow::resizeBy):
(WebCore::DOMWindow::resizeTo):

Update use of adjustWindowRect.

(WebCore::DOMWindow::open):

Avoid modifying the WindowFeatures as the WebCore::createWindow
validates and adjusts the arguments.

  • page/DOMWindow.h:

(DOMWindow):

LayoutTests:

Test that minimum sizes are honored.

  • fast/dom/Window/open-window-min-size.html: Added.
  • fast/dom/Window/open-window-min-size-expected.txt: Added.
  • fast/dom/Window/resources/report-size-and-close.html: Added.
  • platform/mac/TestExpectations: Skipped as it times out.
2:57 AM Changeset in webkit [134585] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Fixed lint error.

  • platform/chromium/TestExpectations:
2:47 AM Changeset in webkit [134584] by tasak@google.com
  • 4 edits
    4 adds in trunk

Crash when replacing parts of text inputs with content: url(...)
https://bugs.webkit.org/show_bug.cgi?id=101133

Reviewed by Kent Tamura.

Source/WebCore:

Disable directly setting content of elements in an input element's
shadow dom tree, because the setting breaks input element's behavior.

Tests: fast/forms/number/number-content-url-crash.html

fast/forms/search/search-content-url-crash.html

  • css/html.css:

(input::-webkit-textfield-decoration-container):
Use important to disable overriding an input element's content
property.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::attach):
Added ASSERTION. No content should be applied to
input::-webkit-textfield-decoration-container.

LayoutTests:

  • fast/forms/number/number-content-url-crash-expected.txt: Added.
  • fast/forms/number/number-content-url-crash.html: Added.
  • fast/forms/search/search-content-url-crash-expected.txt: Added.
  • fast/forms/search/search-content-url-crash.html: Added.
2:44 AM Changeset in webkit [134583] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Rename variables, structures and functions of the MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=101517

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

Rename variables, structures and functions of the MiniBrowser
for the naming consistency.

1) Browser_Window* {app_data|browser_window|window} -> window

2) Browser_Window::webview -> Browser_Window::ewk_view

The webkit API functions are ewk_view_xxx not webview_xxx.
So using ewk_view will be better than webview.

3) Browser_Window::window -> Browser_Window::elm_window

The name is changed to be distinguished with 'Browser_Window *window'

4) browser_{window|view}_find() -> window_find_with_{elm_window|ewk_view}()

This is changed because the name of the function can be confused.
Currently, browser_window_find() returns Browser_Window*. And
browser_view_find() also returns Browser_Window*.

5) FileSelectorData -> File_Selector_Data / AuthData -> Auth_Data

The type definition is moved to the top of the source file
and the name is changed to follow EFL style.

  • MiniBrowser/efl/main.c:

(miniBrowserViewSmartClass):
(_Browser_Window):
(_File_Selector_Data):
(_Auth_Data):
(window_find_with_ewk_view):
(window_free):
(on_key_down):
(view_focus_set):
(on_mouse_down):
(title_set):
(on_title_changed):
(on_url_changed):
(on_back_forward_list_changed):
(on_new_window):
(on_close_window):
(on_progress):
(on_error):
(on_download_request):
(close_file_picker):
(on_filepicker_parent_deletion):
(on_filepicker_deletion):
(on_fileselector_done):
(on_file_chooser_request):
(on_download_finished):
(on_download_failed):
(on_favicon_received):
(on_view_icon_changed):
(on_url_bar_activated):
(on_url_bar_clicked):
(on_back_button_clicked):
(on_forward_button_clicked):
(on_refresh_button_clicked):
(on_javascript_alert):
(on_javascript_confirm):
(on_javascript_prompt):
(on_window_geometry_get):
(on_window_geometry_set):
(on_fullscreen_deny):
(on_fullscreen_enter):
(on_fullscreen_exit):
(auth_popup_close):
(on_auth_cancel):
(on_auth_ok):
(on_authentication_request):
(on_tooltip_text_set):
(on_tooltip_text_unset):
(on_home_button_clicked):
(on_window_deletion):
(window_create):

2:38 AM Changeset in webkit [134582] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests results.

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:

(WebCore::V8TestOverloadedConstructors::constructor1Callback):
(WebCore::V8TestOverloadedConstructors::constructor2Callback):
(WebCore::V8TestOverloadedConstructors::constructor3Callback):
(WebCore::V8TestOverloadedConstructors::constructor4Callback):
(WebCore::V8TestOverloadedConstructors::wrapSlow):

2:24 AM Changeset in webkit [134581] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

The bots don't have mercy today.

  • platform/efl-wk2/TestExpectations:
2:06 AM Changeset in webkit [134580] by antonm@chromium.org
  • 2 edits in trunk/Source/WebCore

Provide return types for custom WebGLRenderingContext methods
https://bugs.webkit.org/show_bug.cgi?id=100777

Reviewed by Kenneth Russell.

No new tests as doesn't change generated code.

  • html/canvas/WebGLRenderingContext.idl:
2:05 AM Changeset in webkit [134579] by tkent@chromium.org
  • 7 edits
    3 adds in trunk

Support for localization tests of calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102181

Reviewed by Kentaro Hara.

Source/WebCore:

Introduce DateTimeChooserParameters::locale to inform locale to
DateTimeChooser implementations. However we pass defaultLanguage
unless tests calls internals.settings.
setLangAttributeAwareFormControlUIEnabled(true) explicitly.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
Set DateTimeChooserParameters::locale up.

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters): Add 'locale' member.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

Use DateTimeChooserParameters::locale.
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::writeDocument):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html: Added.
1:57 AM Changeset in webkit [134578] by commit-queue@webkit.org
  • 2 edits in trunk

[EFL] Turn on error on warnings for "sign-compare"
https://bugs.webkit.org/show_bug.cgi?id=101761

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Remove "-Wno-error=sign-compare" to turn on error on warnings for "sign-compare"

  • Source/cmake/WebKitHelpers.cmake:
1:57 AM Changeset in webkit [134577] by pfeldman@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: highlight is not updating as one edits CSS properties
https://bugs.webkit.org/show_bug.cgi?id=102191

Reviewed by Alexander Pavlov.

We should update highlight upon layout / style recalculation.

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::didRecalculateStyleImpl):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::didPaint):
(WebCore::InspectorPageAgent::didLayout):
(WebCore::InspectorPageAgent::didScroll):
(WebCore):
(WebCore::InspectorPageAgent::didRecalculateStyle):

  • inspector/InspectorPageAgent.h:
1:54 AM Changeset in webkit [134576] by haraken@chromium.org
  • 7 edits
    3 deletes in trunk

Unreviewed, rolling out r134566.
http://trac.webkit.org/changeset/134566
https://bugs.webkit.org/show_bug.cgi?id=102197

"it broke Chromium Android Release build" (Requested by
haraken on #webkit).

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

Source/WebCore:

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters):

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::writeDocument):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Removed.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.txt: Removed.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html: Removed.
1:34 AM Changeset in webkit [134575] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Updating the platform-specific baseline for fast/js/global-constructors.html
and removing the failure expectation for said test.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/js/global-constructors-expected.txt:
1:30 AM Changeset in webkit [134574] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: No content available for requests made from flash
https://bugs.webkit.org/show_bug.cgi?id=101560

Reviewed by Pavel Feldman.

Network request data is now saved to inspector cache in following cases:

  • Error status code;
  • No cached resource available;
  • Cached resource has ShouldNotBufferData option set.

Drive-by: refactored didReceiveResponse logic to be clearer.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::shouldBufferData):

1:29 AM Changeset in webkit [134573] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Web Inspector: Timeline: 'undefined' javascript filenames.
https://bugs.webkit.org/show_bug.cgi?id=101334

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-14
Reviewed by Yury Semikhatsky.

Test that callSite for TimerFired is resolved even for evaled scripts.

  • inspector/timeline/timeline-timer-fired-from-eval-call-site-expected.txt: Added.
  • inspector/timeline/timeline-timer-fired-from-eval-call-site.html: Added.
1:28 AM Changeset in webkit [134572] by shinyak@chromium.org
  • 6 edits
    2 adds in trunk

Changing pseudoClass (:target) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101699

Reviewed by Hajime Morita.

Source/WebCore:

When cssTarget element is changed, we might have to invalidate distribution. We check its necessity
by consulting with SelectRuleFeatureSet.

We also implement invalidateParentDistributionIfNecessary for all collected features in this patch.

Test: fast/dom/shadow/pseudoclass-update-target.html

  • dom/Document.cpp:

(WebCore::Document::setCSSTarget):

  • dom/ElementShadow.cpp:

(WebCore::invalidateParentDistributionIfNecessary):
(WebCore):

  • dom/ElementShadow.h:

(WebCore):

  • html/shadow/SelectRuleFeatureSet.h:

(WebCore::SelectRuleFeatureSet::hasSelectorFor):
(SelectRuleFeatureSet):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-target-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-target.html: Added.
1:24 AM Changeset in webkit [134571] by dominik.rottsches@intel.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed, rolling out r134531.
http://trac.webkit.org/changeset/134531
https://bugs.webkit.org/show_bug.cgi?id=102193

Makes >70 tests crash on EFL and Qt bots. (Requested by drott
on #webkit).

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

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::createGraphicsLayer):

1:22 AM Changeset in webkit [134570] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

Mark two failures after r134456.

  • platform/efl/TestExpectations:
12:54 AM Changeset in webkit [134569] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

[V8] DOM wrapper objects should be collected in minor GC cycles
https://bugs.webkit.org/show_bug.cgi?id=98725

Reviewed by Adam Barth.

Previously minor GC cycles cannot collect DOM Nodes. All DOM Nodes
have to survive two minor GC cycles, be promoted to the old space
and wait for a heavy major GC cycle.

This patch enables V8 to collect DOM Nodes in minor GC cycles.
For real world applications, I confirmed that minor GC cycles
reclaims a substantial amount of memory (24 MB for Facebook,
235 MB for Google Calendar) with acceptable overhead (~10 ms
per minor GC cycle). No performance regression in Dromaeo
DOM tests.

A design document: https://docs.google.com/a/google.com/document/d/16DeHrzkm3cO9XCPT1aK3Y5qgUxXB3RFmueqQWYmN2rI/edit
Performance results: https://docs.google.com/a/google.com/document/d/1h0-EsHu7T0sSMuZm5eE0r1e8sCAzY3weLvsDUpOSngE/edit
A slide: https://docs.google.com/a/google.com/presentation/d/1uifwVYGNYTZDoGLyCb7sXa7g49mWNMW2gaWvMN5NLk8/edit#slide=id.p

  • bindings/v8/IntrusiveDOMWrapperMap.h:

(WebCore::IntrusiveDOMWrapperMap::set):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::initializeV8IfNeeded):

  • bindings/v8/V8GCController.cpp:

(WebCore):
(WebCore::gcTree):
(WebCore::V8GCController::newWrapperBorn):
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::minorGCPrologue):
(WebCore::V8GCController::majorGCPrologue):
(WebCore::V8GCController::gcEpilogue):
(WebCore::V8GCController::minorGCEpilogue):
(WebCore::V8GCController::majorGCEpilogue):

  • bindings/v8/V8GCController.h:

(WebCore):
(V8GCController):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

  • dom/Element.cpp:

(WebCore::Element::focus):

  • dom/Node.h:

(WebCore::Node::inEden):
(WebCore::Node::setEden):
(Node):

12:52 AM Changeset in webkit [134568] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkitpy: Update the EFL list of bots
https://bugs.webkit.org/show_bug.cgi?id=102121

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-14
Reviewed by Kenneth Rohde Christiansen.

Update the EFL bots so we can use garden-o-matic.

  • Scripts/webkitpy/layout_tests/port/builders.py:
12:49 AM Changeset in webkit [134567] by haraken@chromium.org
  • 29 edits in trunk/Source/WebCore

[V8] Replace setDOMWrapper() + setJSWrapperForDOMObject() with createDOMWrapper()
https://bugs.webkit.org/show_bug.cgi?id=101917

Reviewed by Adam Barth.

setJSWrapperForDOMObject() is always coupled with setDOMWrapper().
We can replace setDOMWrapper() + setJSWrapperForDOMObject() with
createDOMWrapper(). (c.f. CREATE_DOM_WRAPPER() in JSC)

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::installDOMWindow):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::instantiateV8Object):

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):
(WebCore::V8DOMWrapper::createDOMWrapper):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initializeIfNeeded):

  • bindings/v8/custom/V8ArrayBufferCustom.cpp:

(WebCore::V8ArrayBuffer::constructorCallback):

  • bindings/v8/custom/V8ArrayBufferViewCustom.h:

(WebCore::wrapArrayBufferView):
(WebCore::constructWebGLArray):

  • bindings/v8/custom/V8DOMFormDataCustom.cpp:

(WebCore::V8DOMFormData::constructorCallback):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::constructorCallback):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorCallback):

  • bindings/v8/custom/V8IntentConstructor.cpp:

(WebCore::V8Intent::constructorCallback):

  • bindings/v8/custom/V8MessageChannelConstructor.cpp:

(WebCore::V8MessageChannel::constructorCallback):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • bindings/v8/custom/V8WebKitPointConstructor.cpp:

(WebCore::V8WebKitPoint::constructorCallback):

  • bindings/v8/custom/V8WebSocketCustom.cpp:

(WebCore::V8WebSocket::constructorCallback):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

12:43 AM Changeset in webkit [134566] by tkent@chromium.org
  • 7 edits
    3 adds in trunk

Support for localization tests of calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102181

Reviewed by Kentaro Hara.

Source/WebCore:

Introduce DateTimeChooserParameters::locale to inform locale to
DateTimeChooser implementations. However we pass defaultLanguage
unless tests calls internals.settings.
setLangAttributeAwareFormControlUIEnabled(true) explicitly.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
Set DateTimeChooserParameters::locale up.

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters): Add 'locale' member.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

Use DateTimeChooserParameters::locale.
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::writeDocument):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html: Added.
12:29 AM Changeset in webkit [134565] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Moving some expectations into a more proper section while
merging the others.

  • platform/gtk/TestExpectations:
12:20 AM Changeset in webkit [134564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Show total memory in the NMI snapshot header
https://bugs.webkit.org/show_bug.cgi?id=101922

Patch by Alexei Filippov <alph@chromium.org> on 2012-11-14
Reviewed by Pavel Feldman.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked):

12:18 AM Changeset in webkit [134563] by mihnea@adobe.com
  • 3 edits in trunk/LayoutTests

After r134205 was rolled out in http://trac.webkit.org/changeset/134425,
we have to re-enable the skipped tests that were failing because of r134205.
https://bugs.webkit.org/show_bug.cgi?id=102090

Reviewed by Adam Barth.

The initial rollout for r134205 and the related r134226, r134419 failed.

  • platform/chromium/TestExpectations:
  • platform/qt/TestExpectations:
12:18 AM Changeset in webkit [134562] by yurys@chromium.org
  • 2 edits
    1 delete in trunk/Source/WebKit/chromium

Remove MemoryInstrumentationTest.ImageObserver
https://bugs.webkit.org/show_bug.cgi?id=102185

Reviewed by Pavel Feldman.

Removed obsolete memory instrumenation unit test.

  • WebKit.gypi:
  • tests/MemoryInstrumentationTest.cpp: Removed.
12:12 AM Changeset in webkit [134561] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: CodeMirrorTextEditor fails to scroll breakpoint into view after the first time
https://bugs.webkit.org/show_bug.cgi?id=102142

Patch by Jan Keromnes <janx@linux.com> on 2012-11-14
Reviewed by Pavel Feldman.

Calling revealLine in highlightLine like in DefaultTextEditor does the trick.

  • inspector/front-end/CodeMirrorTextEditor.js:

(WebInspector.CodeMirrorTextEditor.prototype.highlightLine):

12:08 AM Changeset in webkit [134560] by tkent@chromium.org
  • 4 edits
    4 adds in trunk/Source/WebKit/chromium

[Chromium] Add API to expose WebCore::DateTimeChooser
https://bugs.webkit.org/show_bug.cgi?id=101196

Reviewed by Hajime Morita.

Add ability to open date/time choosers to WebViewClient.

  • ExternalDateTimeChooser forwards DateTimeChooser requests from WebCore to WebViewClient, and waits for WebDateTimeChooerCompletion notifications.
  • WebDateTimeChooserParams contains various information to create chooser UI.
  • WebDateTimeChooserCompletion informs value selection by users to ExternalDateTimeChooser.

The design is very similar to existing WebFileChooserParams and
WebFileChooserCompletion.

These interfaces are used only if ENABLE_INPUT_MULTIPLE_FIELDS_UI is not
enabled, that is to say, in Chromium-Android port. Non-Android Chromium
ports use DateTimeChooserImpl and WebKit-internal choosers.

  • WebKit.gyp: Add WebDateTimeChooserCompletion.h,

WebDateTimeChooserParams.h, ExternalDateTimeChooser.cpp, and
ExternalDateTimeChooser.h.

  • public/WebDateTimeChooserCompletion.h: Added.

(WebDateTimeChooserCompletion):
(WebKit::WebDateTimeChooserCompletion::~WebDateTimeChooserCompletion):

  • public/WebDateTimeChooserParams.h: Added.

(WebDateTimeChooserParams):
(WebKit::WebDateTimeChooserParams::WebDateTimeChooserParams):

  • public/WebViewClient.h:

(WebKit): Add some forward declarations.
(WebKit::WebViewClient::openDateTimeChooser): Added.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::openDateTimeChooser):
Creates ExternalDateTimeChooser if !ENABLE(INPUT_MULTIPLE_FIELDS_UI).

  • src/ExternalDateTimeChooser.cpp: Added.

(WebDateTimeChooserCompletionImpl): An implementation of
WebDateTimeChooserCompletion. When didChooseValue or didCancelChooser is
called, it notifies to an ExternalDateTimeChooser and kill itself.
(WebKit::ExternalDateTimeChooser::~ExternalDateTimeChooser): Added.
(WebKit::ExternalDateTimeChooser::ExternalDateTimeChooser): Added.
(WebKit::ExternalDateTimeChooser::create):
Cretes an object, then asks the WebViewClient to open date/time chooser.
If an open request fails, an empty PassRefPtr<> is returned.
We don't ask to open in the constructor because open requests might fail
and it's hard for the constructor to tell the failure.
(WebKit::ExternalDateTimeChooser::openDateTimeChooser): Prepares a
WebDateTimeChooserParams and a WebDateTimeChooserCompletion, calls
WebViewClient::openDateTimeChooser, and kill the
WebDateTimeChooserCompletion if openDateTimeChooser fails.
(WebKit::ExternalDateTimeChooser::didChooseValue):
Called by WebDateTimeChooserCompletion.
We need to check m_client because the requester is already dead.
(WebKit::ExternalDateTimeChooser::didCancelChooser): Ditto.
(WebKit::ExternalDateTimeChooser::endChooser):
Called by the requester when it wants to close the chooser.
We don't close the chooser here, and just disconnect the association of
the client and this object.

  • src/ExternalDateTimeChooser.h: Added.
12:04 AM Changeset in webkit [134559] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Implementation for mehods in WebMutableURLRequest.cpp
https://bugs.webkit.org/show_bug.cgi?id=83671

Patch by George Tsoumalis <tsumalis96@gmail.com> on 2012-11-14
Reviewed by Brent Fulgham..

  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::addValue):
(WebMutableURLRequest::setMainDocumentURL):
(WebMutableURLRequest::setHTTPShouldHandleCookies):

Note: See TracTimeline for information about the timeline view.