Timeline


and

01/23/13:

23:42 Changeset [140657] by haraken@chromium.org

Implement MouseEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107630

Reviewed by Adam Barth.

Spec: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

Source/WebCore:

The MouseEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR flag.
This significantly simplifies JavaScript code to construct a MouseEvent.

Before:

event = document.createEvent("MouseEvents");
event.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

After:

event = new MouseEvent("click");

Test: fast/events/constructors/mouse-event-constructor.html

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):
(IsInheritExtendedAttribute):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):

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

(WebCore):
(WebCore::V8Float64Array::createWrapper):

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

(WebCore):
(WebCore::V8TestActiveDOMObject::createWrapper):

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

(WebCore):
(WebCore::V8TestCustomNamedGetter::createWrapper):

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

(WebCore):
(WebCore::V8TestEventConstructor::createWrapper):

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

(WebCore):
(WebCore::V8TestEventTarget::toEventTarget):
(WebCore::V8TestEventTarget::createWrapper):

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

(V8TestEventTarget):

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

(WebCore):
(WebCore::V8TestException::createWrapper):

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

(WebCore):
(WebCore::V8TestInterface::toActiveDOMObject):
(WebCore::V8TestInterface::createWrapper):

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

(WebCore):
(WebCore::V8TestMediaQueryListListener::createWrapper):

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

(WebCore):
(WebCore::V8TestNamedConstructor::toActiveDOMObject):
(WebCore::V8TestNamedConstructor::createWrapper):

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

(WebCore):
(WebCore::V8TestNode::toEventTarget):
(WebCore::V8TestNode::createWrapper):

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

(V8TestNode):

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

(WebCore):
(WebCore::V8TestObj::createWrapper):

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

(WebCore):
(WebCore::V8TestOverloadedConstructors::createWrapper):

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

(WebCore):
(WebCore::V8TestSerializedScriptValueInterface::createWrapper):

  • bindings/v8/Dictionary.cpp:

(WebCore::Dictionary::get):
(WebCore):

  • bindings/v8/Dictionary.h:

(Dictionary):

  • bindings/v8/NPV8Object.cpp:

(WebCore::npObjectTypeInfo):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::isDOMWrapper):
(WebCore):

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore):
(WebCore::WrapperTypeInfo::toEventTarget):
(WrapperTypeInfo):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore):

  • dom/MouseEvent.cpp:

(WebCore::MouseEventInit::MouseEventInit):
(WebCore):
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):

  • dom/MouseEvent.h:

(MouseEventInit):
(WebCore):
(MouseEvent):
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::button):
(WebCore::MouseEvent::buttonDown):
(WebCore::MouseEvent::relatedTarget):
(WebCore::MouseEvent::setRelatedTarget):
(WebCore::MouseEvent::clipboard):
(WebCore::MouseEvent::dataTransfer):

  • dom/MouseEvent.idl:

LayoutTests:

The MouseEvent constructor should be implemented under a DOM4_EVENTS_CONSTRUCTOR flag.

  • fast/dom/constructed-objects-prototypes-expected.txt:
  • fast/dom/dom-constructors-expected.txt:
  • fast/dom/dom-constructors.html:
  • fast/events/constructors/mouse-event-constructor-expected.txt: Added.
  • fast/events/constructors/mouse-event-constructor.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
23:18 Changeset [140656] by gyuyoung.kim@samsung.com

[EFL] Unreviewed build fix after r140605
https://bugs.webkit.org/show_bug.cgi?id=107787

Unreviewed build fix.

Build break after r140605.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-01-23

  • UIProcess/WebBatteryManagerProxy.cpp:
  • UIProcess/WebBatteryManagerProxy.h:

(WebBatteryManagerProxy):

  • UIProcess/WebNetworkInfoManagerProxy.cpp:
  • UIProcess/WebNetworkInfoManagerProxy.h:

(WebNetworkInfoManagerProxy):

  • UIProcess/WebVibrationProxy.cpp:
  • UIProcess/WebVibrationProxy.h:

(WebVibrationProxy):

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:
  • UIProcess/soup/WebSoupRequestManagerProxy.h:

(WebSoupRequestManagerProxy):

  • WebProcess/Battery/WebBatteryManager.cpp:
  • WebProcess/Battery/WebBatteryManager.h:

(WebBatteryManager):

  • WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
  • WebProcess/NetworkInfo/WebNetworkInfoManager.h:

(WebNetworkInfoManager):

  • WebProcess/soup/WebSoupRequestManager.cpp:
  • WebProcess/soup/WebSoupRequestManager.h:

(WebSoupRequestManager):

22:08 Changeset [140655] by tkent@chromium.org

Add form-related instrumentations, and support 33+ features in FeatureObserver
https://bugs.webkit.org/show_bug.cgi?id=107770

Reviewed by Kentaro Hara.

No new tests. This doesn't make behavior changes.

  • page/FeatureObserver.h:
  • Add form-related features.
  • Add a Document* version of observe().
  • Use BitVector to represent features to support 33+ features.

(WebCore::FeatureObserver::didObserve):
(FeatureObserver):

  • page/FeatureObserver.cpp:

(WebCore::FeatureObserver::FeatureObserver):
(WebCore::FeatureObserver::~FeatureObserver):
(WebCore::FeatureObserver::observe):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::create): Calls FeatureObserver::observe.

  • html/DateInputType.cpp:

(WebCore::DateInputType::create): Ditto.

  • html/DateTimeInputType.cpp:

(WebCore::DateTimeInputType::create): Ditto.

  • html/DateTimeLocalInputType.cpp:

(WebCore::DateTimeLocalInputType::create): Ditto.

  • html/EmailInputType.cpp:

(WebCore::EmailInputType::create): Ditto.

  • html/HTMLDataListElement.cpp:

(WebCore::HTMLDataListElement::create): Ditto.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute): Ditto.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute): Ditto.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::parseAttribute): Ditto.

  • html/InputType.cpp:

(WebCore::InputType::create):
Record type=datetime and type=week even if these types are not enabled.

  • html/MonthInputType.cpp:

(WebCore::MonthInputType::create): Calls FeatureObserver::observe.

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::create): Ditto.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::create): Ditto.

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::create): Ditto.

  • html/TelephoneInputType.cpp:

(WebCore::TelephoneInputType::create): Ditto.

  • html/TimeInputType.cpp:

(WebCore::TimeInputType::create): Ditto.

  • html/URLInputType.cpp:

(WebCore::URLInputType::create): Ditto.

  • html/WeekInputType.cpp:

(WebCore::WeekInputType::create): Ditto.

22:05 Changeset [140654] by yosin@chromium.org

Unreviewed, rebaseline for Chromium-Linux and Chromium-Win
editing/selection/range-between-block-and-inline.html

  • platform/chromium-linux/editing/selection/range-between-block-and-inline-expected.png:
  • platform/chromium-win/editing/selection/range-between-block-and-inline-expected.png:
21:52 Changeset [140653] by pilgrim@chromium.org

[Chromium] Give webkit_support a chance to reset state between layout test runs
https://bugs.webkit.org/show_bug.cgi?id=107132

Reviewed by Adam Barth.

We currently only have need for this on OS(ANDROID), but now it
would be useful to have a hook for resetting state on all
platforms. Will soon be using this for IDBFactory initialization.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::resetTestController): Call webkit_support::ResetTestEnvironment()

21:49 Changeset [140652] by commit-queue@webkit.org

QueueStatusServer crashes in production on next-patch
https://bugs.webkit.org/show_bug.cgi?id=107775

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-23
Reviewed by Adam Barth.

Replaced Python 2.5 incompatible call to timedelta.total_seconds().

  • QueueStatusServer/app.yaml:
  • QueueStatusServer/model/patchlog.py:

(PatchLog.calculate_wait_duration):
(PatchLog.calculate_process_duration):
(PatchLog):
(PatchLog._time_delta_to_seconds):

21:48 Changeset [140651] by tkent@chromium.org

Merge 140385

Date selection from calendar picker should dispatch 'input' event in addition to 'change' event
https://bugs.webkit.org/show_bug.cgi?id=107427

Reviewed by Kentaro Hara.

Source/WebCore:

According to the specification and Opera's behavior, we should dispatch
not only 'change' event but also 'input' event when a user chooses a
date from the calender picker.

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#common-event-behaviors

When the user agent changes the element's value on behalf of the user
(e.g. as part of a form prefilling feature), the user agent must follow
these steps:

  1. If the input event applies, queue a task to fire a simple event

that bubbles named input at the input element.

  1. If the change event applies, queue a task to fire a simple event

that bubbles named change at the input element.

Tests: platform/chromium/fast/forms/calendar-picker/date-picker-events.html

platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events.html

  • html/InputType.cpp:

(WebCore::InputType::setValue): Add DispatchInputAndChangeEvent support.

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::didChooseValue):
Use DispatchInputAndChangeEvent, not DispatchChangeEvent.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue):
Ditto.

LayoutTests:

  • platform/chromium/fast/forms/calendar-picker/date-picker-events-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/date-picker-events.html: Added.
  • platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events.html: Added.

TBR=tkent@chromium.org
Review URL: https://codereview.chromium.org/12045062

21:44 Changeset [140650] by tkent@chromium.org

Merge 140324

INPUT_MULTIPLE_FIELDS_UI: should not dispatch 'input' events if the element value is not updated
https://bugs.webkit.org/show_bug.cgi?id=107429

Reviewed by Kentaro Hara.

Source/WebCore:

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#common-event-behaviors

any time the user causes the element's value to change, the user agent
must queue a task to fire a simple event that bubbles named input at the
input element.

Tests:
fast/forms/time-multiple-fields/time-multiple-fields-keyboard-event.html
is updated to cover this change.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
If the new value is equivalent to the old value, don't dispatch events.
However we should recalculate validity and call notifyFormStateChanged
because input.validity.badInput state might be changed.

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:

TBR=tkent@chromium.org
Review URL: https://codereview.chromium.org/12047073

21:42 Changeset [140649] by commit-queue@webkit.org

[Inspector] Add events for tracking page loads and scheduled navigations.
https://bugs.webkit.org/show_bug.cgi?id=104168

Patch by Ken Kania <kkania@chromium.org> on 2013-01-23
Reviewed by Pavel Feldman.

These events are needed for clients who need to be aware of when a page is
navigating or about to navigate. Some clients may wish to prevent interaction
with the page during this time. Two of the new events track loading start and
stop, as measured by the ProgressTracker. The other two events track when a
page has a new scheduled navigation and when it no longer has a scheduled
navigation. These latter two events won't allow the client to determine if
a load is going to happen in all circumstances, but is sufficient for many cases.
Make sure we hold a reference to the frame in NavigationScheduler::timerFired
in case the redirect causes the frame to be detached.

Also, minor update to InspectorInputAgent::dispatchMouseEvent to reorder params
to match dispatchKeyEvent.

Source/WebCore:

Tests: inspector-protocol/page/frameScheduledNavigation.html

inspector-protocol/page/frameStartedLoading.html

  • inspector/Inspector.json:
  • inspector/InspectorInputAgent.cpp:

(WebCore::InspectorInputAgent::dispatchMouseEvent):

  • inspector/InspectorInputAgent.h:

(InspectorInputAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::frameStartedLoadingImpl):
(WebCore::InspectorInstrumentation::frameStoppedLoadingImpl):
(WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
(WebCore::InspectorInstrumentation::frameClearedScheduledNavigationImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::frameStartedLoading):
(WebCore):
(WebCore::InspectorInstrumentation::frameStoppedLoading):
(WebCore::InspectorInstrumentation::frameScheduledNavigation):
(WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::frameStartedLoading):
(WebCore):
(WebCore::InspectorPageAgent::frameStoppedLoading):
(WebCore::InspectorPageAgent::frameScheduledNavigation):
(WebCore::InspectorPageAgent::frameClearedScheduledNavigation):

  • inspector/InspectorPageAgent.h:
  • inspector/front-end/ResourceTreeModel.js:

(WebInspector.PageDispatcher.prototype.frameDetached):
(WebInspector.PageDispatcher.prototype.frameStartedLoading):
(WebInspector.PageDispatcher.prototype.frameStoppedLoading):
(WebInspector.PageDispatcher.prototype.frameScheduledNavigation):
(WebInspector.PageDispatcher.prototype.frameClearedScheduledNavigation):

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::clear):
(WebCore::NavigationScheduler::timerFired):
(WebCore::NavigationScheduler::startTimer):
(WebCore::NavigationScheduler::cancel):

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::finalProgressComplete):

LayoutTests:

  • inspector-protocol/page/frameScheduledNavigation-expected.txt: Added.
  • inspector-protocol/page/frameScheduledNavigation.html: Added.
  • inspector-protocol/page/frameStartedLoading-expected.txt: Added.
  • inspector-protocol/page/frameStartedLoading.html: Added.
  • platform/chromium/TestExpectations:
21:35 Changeset [140648] by simon.fraser@apple.com

Source/WebCore: Avoid creating background layers on pages with a fixed background, but no image
https://bugs.webkit.org/show_bug.cgi?id=107783
<rdar://problem/13074450>

Reviewed by Beth Dakin.

http://www.nme.com has background-attachment: fixed on the <body>, but
not background image. In that case there's no point making a layer
for the fixed root background.

Test: platform/mac/tiled-drawing/fixed-background/fixed-background-no-image.html

  • rendering/style/RenderStyle.cpp:

(WebCore::allLayersAreFixed): Check to see if we have an image, as well
as fixed attachment.

LayoutTests: Avoid creating background layers on pages with a fixed background, but no image
https://bugs.webkit.org/show_bug.cgi?id=107783

Reviewed by Beth Dakin.

Testcase with body { background-attachment:fixed; } but no image.

  • platform/mac/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt: Added.
  • platform/mac/tiled-drawing/fixed-background/fixed-background-no-image.html: Added.
21:30 Changeset [140647] by yosin@chromium.org

Layout Test platform/chromium-win/fast/events/panScroll-panIcon.html is failing
https://bugs.webkit.org/show_bug.cgi?id=107729

Reviewed by Hajime Morita.

This patch changes panScroll-panIcon.html test to HTML ref test rather than
pixel ref test to avoid rebaseline among Windows versions, and enables
panScroll-panIcon.html.

  • platform/chromium-win/fast/events/panScroll-panIcon.html: Changed not to move mouse pointer to avoid motion of scroll thumb.
  • platform/chromium-win/fast/events/panScroll-panIcon-expected.html: Added.
  • platform/chromium-win/fast/events/panScroll-panIcon-expected.png: Removed.
  • platform/chromium-win/fast/events/panScroll-panIcon-expected.txt: Removed.
  • platform/chromium-win/TestExpectations: Changed to enable panScroll-panIcon.html
21:10 Changeset [140646] by kerz@chromium.org

one more patch

20:56 Changeset [140645] by commit-queue@webkit.org

Enable autoplay when <video>'s src is from media stream
https://bugs.webkit.org/show_bug.cgi?id=105224

Patch by Wei Jia <wjia@chromium.org> on 2013-01-23
Reviewed by Eric Carlson.

Source/WebCore:

Enable autoplay when <video>'s src is from media stream. This would avoid requesting multiple gestures when <video> is used for WebRTC.
The test is done by modifying platform/chromium/media/video-capture-preview.html.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

LayoutTests:

Always turns on mediaPlaybackRequiresUserGesture at the beginning.
HTMLMediaElement is supposed to turn it off when <video>'s src is from media stream.

  • platform/chromium/media/video-capture-preview.html:
20:49 Changeset [140644] by roger_fong@apple.com

Remove ForwardingHeaders/wtf from WebCore.
https://bugs.webkit.org/show_bug.cgi?id=107723

The folders are empty, nothings actually being copied over anymore from the ForwardingHeaders/wtf folder.

Reviewed by Benjamin Poulain.

  • ForwardingHeaders/wtf: Removed.
  • ForwardingHeaders/wtf/dtoa: Removed.
  • ForwardingHeaders/wtf/text: Removed.
  • ForwardingHeaders/wtf/unicode: Removed.
  • ForwardingHeaders/wtf/unicode/icu: Removed.
  • ForwardingHeaders/wtf/unicode/wince: Removed.
  • ForwardingHeaders/wtf/url: Removed.
  • WebCore.vcproj/copyForwardingHeaders.cmd:
20:45 Changeset [140643] by hayato@chromium.org

Group parameters (firstRuleIndex and lastRuleIndex) into a parameter object, RuleRange.
https://bugs.webkit.org/show_bug.cgi?id=107095

Reviewed by Darin Adler.

This is a continued effort after r139817.

Factoring, no change in behavior.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):

  • css/StyleResolver.h:

(WebCore::StyleResolver::RuleRange::RuleRange):
(RuleRange): Newly introduced to group parameters.
(StyleResolver):
(WebCore::StyleResolver::MatchRanges::UARuleRange):
(WebCore::StyleResolver::MatchRanges::authorRuleRange):
(WebCore::StyleResolver::MatchRanges::userRuleRange):

20:44 Changeset [140642] by macpherson@chromium.org

Support variables inside -webkit-box-reflect CSS property.
https://bugs.webkit.org/show_bug.cgi?id=106856

Source/WebCore:

Reviewed by Tony Chang.

The primary change is to make the direction parameter a CSSPrimitiveValue style ident,
so that it can also be a variable reference.

Covered by existing LayoutTests/compositing/reflections/ tests.
Added Test: fast/css/variables/var-inside-box-reflect.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForReflection):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseReflect):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore):
(WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
(WebCore::CSSPrimitiveValue::convertToLength):

  • css/CSSReflectValue.cpp:

(WebCore::CSSReflectValue::customCssText):
Use String addition operator instead of StringBuilder.
(WebCore):
(WebCore::CSSReflectValue::customSerializeResolvingVariables):
Use String addition operator instead of StringBuilder.

  • css/CSSReflectValue.h:

(WebCore::CSSReflectValue::create):
(WebCore::CSSReflectValue::direction):
(CSSReflectValue):
(WebCore::CSSReflectValue::CSSReflectValue):

  • css/CSSValue.cpp:

(WebCore::CSSValue::serializeResolvingVariables):

  • css/StyleResolver.cpp:

(WebCore::hasVariableReference):
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Adds test for variables as -webkit-box-reflect parameters.

Reviewed by Tony Chang.

  • fast/css/variables/var-inside-box-reflect-expected.html: Added.
  • fast/css/variables/var-inside-box-reflect.html: Added.
20:29 Changeset [140641] by rniwa@webkit.org

The previous patch wasn't complete. Finish reverting r139998 for real.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/WebInspectorShims.js:

(ProfilerAgent.getProfile):

20:14 Changeset [140640] by inferno@chromium.org

Add ASSERT_WITH_SECURITY_IMPLICATION to detect bad casts in rendering
https://bugs.webkit.org/show_bug.cgi?id=107743

Reviewed by Eric Seidel.

  • rendering/InlineFlowBox.h:

(WebCore::toInlineFlowBox):

  • rendering/RenderBR.h:

(WebCore::toRenderBR):

  • rendering/RenderBlock.h:

(WebCore::toRenderBlock):

  • rendering/RenderBox.h:

(WebCore::toRenderBox):

  • rendering/RenderBoxModelObject.h:

(WebCore::toRenderBoxModelObject):

  • rendering/RenderButton.h:

(WebCore::toRenderButton):

  • rendering/RenderCombineText.h:

(WebCore::toRenderCombineText):

  • rendering/RenderCounter.h:

(WebCore::toRenderCounter):

  • rendering/RenderDetailsMarker.h:

(WebCore::toRenderDetailsMarker):

  • rendering/RenderEmbeddedObject.h:

(WebCore::toRenderEmbeddedObject):

  • rendering/RenderFieldset.h:

(WebCore::toRenderFieldset):

  • rendering/RenderFileUploadControl.h:

(WebCore::toRenderFileUploadControl):

  • rendering/RenderFlowThread.h:

(WebCore::toRenderFlowThread):

  • rendering/RenderFrame.h:

(WebCore::toRenderFrame):

  • rendering/RenderFrameSet.h:

(WebCore::toRenderFrameSet):

  • rendering/RenderFullScreen.h:

(WebCore::toRenderFullScreen):

  • rendering/RenderIFrame.h:

(WebCore::toRenderIFrame):

  • rendering/RenderImage.h:

(WebCore::toRenderImage):

  • rendering/RenderInline.h:

(WebCore::toRenderInline):

  • rendering/RenderLayerModelObject.h:

(WebCore::toRenderLayerModelObject):

  • rendering/RenderListBox.h:

(WebCore::toRenderListBox):

  • rendering/RenderListItem.h:

(WebCore::toRenderListItem):

  • rendering/RenderListMarker.h:

(WebCore::toRenderListMarker):

  • rendering/RenderMedia.h:

(WebCore::toRenderMedia):

  • rendering/RenderMenuList.h:

(WebCore::toRenderMenuList):

  • rendering/RenderMeter.h:

(WebCore::toRenderMeter):

  • rendering/RenderMultiColumnBlock.h:

(WebCore::toRenderMultiColumnBlock):

  • rendering/RenderMultiColumnSet.h:

(WebCore::toRenderMultiColumnSet):

  • rendering/RenderNamedFlowThread.h:

(WebCore::toRenderNamedFlowThread):

  • rendering/RenderPart.h:

(WebCore::toRenderPart):

  • rendering/RenderProgress.h:

(WebCore::toRenderProgress):

  • rendering/RenderQuote.h:

(WebCore::toRenderQuote):

  • rendering/RenderRegion.h:

(WebCore::toRenderRegion):

  • rendering/RenderRubyRun.h:

(WebCore::toRenderRubyRun):

  • rendering/RenderScrollbarPart.h:

(WebCore::toRenderScrollbarPart):

  • rendering/RenderSearchField.h:

(WebCore::toRenderSearchField):

  • rendering/RenderSlider.h:

(WebCore::toRenderSlider):

  • rendering/RenderSnapshottedPlugIn.h:

(WebCore::toRenderSnapshottedPlugIn):

  • rendering/RenderTable.h:

(WebCore::toRenderTable):

  • rendering/RenderTableCaption.h:

(WebCore::toRenderTableCaption):

  • rendering/RenderTableCell.h:

(WebCore::toRenderTableCell):

  • rendering/RenderTableCol.h:

(WebCore::toRenderTableCol):

  • rendering/RenderTableRow.h:

(WebCore::toRenderTableRow):

  • rendering/RenderTableSection.h:

(WebCore::toRenderTableSection):

  • rendering/RenderText.h:

(WebCore::toRenderText):

  • rendering/RenderTextControl.h:

(WebCore::toRenderTextControl):

  • rendering/RenderTextControlMultiLine.h:

(WebCore::toRenderTextControlMultiLine):

  • rendering/RenderTextControlSingleLine.h:

(WebCore::toRenderTextControlSingleLine):

  • rendering/RenderVideo.h:

(WebCore::toRenderVideo):

  • rendering/RenderView.h:

(WebCore::toRenderView):

  • rendering/RenderWidget.h:

(WebCore::toRenderWidget):

  • rendering/mathml/RenderMathMLBlock.h:

(WebCore::toRenderMathMLBlock):

  • rendering/svg/RenderSVGContainer.h:

(WebCore::toRenderSVGContainer):

  • rendering/svg/RenderSVGGradientStop.h:

(WebCore::toRenderSVGGradientStop):

  • rendering/svg/RenderSVGImage.h:

(WebCore::toRenderSVGImage):

  • rendering/svg/RenderSVGInlineText.h:

(WebCore::toRenderSVGInlineText):

  • rendering/svg/RenderSVGRoot.h:

(WebCore::toRenderSVGRoot):

  • rendering/svg/RenderSVGShape.h:

(WebCore::toRenderSVGShape):

  • rendering/svg/RenderSVGText.h:

(WebCore::toRenderSVGText):

20:08 Changeset [140639] by rniwa@webkit.org

Revert r139998 for now since the Leaks Viewer pulls in a specific version of Inspector code.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/WebInspectorShims.js:

(ProfilerAgent.getProfile):

20:06 Changeset [140638] by commit-queue@webkit.org

Don't allocate rare data on every Element on removal
https://bugs.webkit.org/show_bug.cgi?id=107756

Patch by Elliott Sprehn <esprehn@gmail.com> on 2013-01-23
Reviewed by Eric Seidel.

We should not allocate an ElementRareData for every element
in Element::removedFrom. Previously calls to setIsInTopLayer
would unconditionally call ensureElementRareData(), and this was
called from Element::removedFrom meaning removing an element
made the entire subtree suddenly balloon to huge in size as each
one got an ElementRareData.

This is a regression from my patch on Bug 103912 where I removed a check
that avoided this allocation.

No new tests needed, covered by existing tests.

  • dom/Element.cpp:

(WebCore::Element::setIsInTopLayer):

19:52 Changeset [140637] by commit-queue@webkit.org

Unreviewed. Rolled Chromium DEPS to r178434. Requested by
"Yoshifumi Inoue" <yosin@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-23

  • DEPS:
19:30 Changeset [140636] by weinig@apple.com

Cleanup the names of the WebKit2 xpc services
https://bugs.webkit.org/show_bug.cgi?id=107759

Reviewed by Anders Carlsson.

Renames:

com.apple.WebKit2.WebProcessService -> com.apple.WebKit.WebContent
com.apple.WebKit2.WebProcessServiceForWebKitDevelopment -> com.apple.WebKit.WebContent.Development

  • Configurations/BaseXPCService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
  • Configurations/WebContentService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
  • Configurations/WebContentServiceForDevelopment.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessServiceForWebKitDevelopment.xcconfig.
  • Configurations/WebProcessService.xcconfig: Removed.
  • Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Removed.

Rename config files to match new service names and add base config.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessService):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebKit2Service: Removed.
  • WebProcessService/Info.plist:
  • WebProcessServiceForWebKitDevelopment/Info.plist:

Update for new names.

19:24 Changeset [140635] by abarth@webkit.org

BackgroundHTMLParser should use more const references to avoid copy constructors
https://bugs.webkit.org/show_bug.cgi?id=107763

Reviewed by Tony Gentilcore.

I doubt this optimization is visible anywhere, but it's just a nit.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::createPartial):

  • html/parser/BackgroundHTMLParser.h:

(WebCore::BackgroundHTMLParser::create):
(BackgroundHTMLParser):

18:57 Changeset [140634] by commit-queue@webkit.org

Coordinated Graphics : Reduce the number of calls to Functional and number of IPC messages by sending the created/deleted layers in a vector.
https://bugs.webkit.org/show_bug.cgi?id=107625

Patch by Seulgi Kim <seulgikim@company100.net> on 2013-01-23
Reviewed by Benjamin Poulain.

Currently, the number of messages sent by CoordinatedLayerTreeHost is
equal to the number of layers created/deleted even though they requested
in the same cycle.
It's not good since CoreIPC creates functional before sending messages,
and CoordinatedLayerTreeHostProxy creates functional before
create/delete layers.

This patch makes CoordinatedLayerTreeHost send just one
CreateCompositingLayers message and CoordinatedLayerTreeHostProxy create
just one functional in a cycle. The same work has been done with
DeleteCompositingLayers message.

This patch will reduce the number of calls to Functional and number of
IPC messages by sending the created/deleted layers in a vector.

No new tests, no change in behavior.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayers):
(WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayers):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

(CoordinatedLayerTreeHostProxy):

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

(WebKit::LayerTreeRenderer::createLayers):
(WebKit):
(WebKit::LayerTreeRenderer::deleteLayers):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
(WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):

18:55 Changeset [140633] by inferno@chromium.org

Add support for ASSERT_WITH_SECURITY_IMPLICATION.
https://bugs.webkit.org/show_bug.cgi?id=107699

Reviewed by Eric Seidel.

Source/WebCore:

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::parserInsertBefore): Use ASSERT_WITH_SECURITY_IMPLICATION
for document confusion ASSERT(document() == newChild->document())
(WebCore::ContainerNode::parserAppendChild): same.

Source/WTF:

  • wtf/Assertions.h: Add ASSERT_WITH_SECURITY_IMPLICATION to

indicate possible security vulnerabily and enable it by default
in fuzzing builds.

  • wtf/Vector.h: Use ASSERT_WITH_SECURITY_IMPLICATION for

bounds check on [] operator.

18:40 Changeset [140632] by vollick@chromium.org

Unreviewed build fix.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::rebuildZOrderLists):

18:31 Changeset [140631] by rafaelw@chromium.org

Template element should parse in XHTML just as it does in HTML
https://bugs.webkit.org/show_bug.cgi?id=106491

Reviewed by Ryosuke Niwa.

Source/WebCore:

https://dvcs.w3.org/hg/webcomponents/raw-file/f33622c39c5e/spec/templates/index.html#parsing-xhtml-documents.
https://dvcs.w3.org/hg/webcomponents/raw-file/f33622c39c5e/spec/templates/index.html#serializing-xhtml-documents.

This patch modifies the XML parser in two ways: (1) when nodes are created, their owner document is
the owner document of the current node, rather than the containing document, and (2) when an HTMLTemplateElement
is encountered, its content document fragment is pushed onto the stack, rather than the element itself, so that children
are appended to the template content. Also, because XSLT operates on the serialized input document, transforms consider
template contents to be descendants.

Tests: fast/dom/HTMLTemplateElement/xhtml-parsing-and-serialization.xml

fast/xpath/xpath-template-element.html
fast/xsl/xslt-processor-template.html
fast/xsl/xslt-xhtml-template.xml

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::enterText):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):

LayoutTests:

  • fast/dom/HTMLTemplateElement/xhtml-parsing-and-serialization-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/xhtml-parsing-and-serialization.xml: Added.
  • fast/xpath/xpath-template-element-expected.txt: Added.
  • fast/xpath/xpath-template-element.html: Added.
  • fast/xsl/resources/xhtml-template.xsl: Added.
  • fast/xsl/xslt-processor-template-expected.txt: Added.
  • fast/xsl/xslt-processor-template.html: Added.
  • fast/xsl/xslt-xhtml-template-expected.txt: Added.
  • fast/xsl/xslt-xhtml-template.xml: Added.
18:27 Changeset [140630] by yosin@chromium.org

Unreviewew. Rebaseline for Chromium: fast/ruby/select-ruby.html

  • platform/chromium-linux-x86/fast/ruby/select-ruby-expected.txt: Added.
  • platform/chromium-linux/fast/ruby/select-ruby-expected.png: Added.
  • platform/chromium-linux/fast/ruby/select-ruby-expected.txt: Added.
  • platform/chromium-mac-lion/fast/ruby/select-ruby-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/ruby/select-ruby-expected.txt: Added.
  • platform/chromium-mac/fast/ruby/select-ruby-expected.png: Added.
  • platform/chromium-mac/fast/ruby/select-ruby-expected.txt: Added.
  • platform/chromium-win-xp/fast/ruby/select-ruby-expected.txt: Added.
  • platform/chromium-win/fast/ruby/select-ruby-expected.png: Added.
  • platform/chromium-win/fast/ruby/select-ruby-expected.txt: Added.
18:20 Changeset [140629] by commit-queue@webkit.org

Coordinated Graphics: Add LegacyReceiver to messages.in files.
https://bugs.webkit.org/show_bug.cgi?id=107760

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-23
Reviewed by Anders Carlsson.

After r140605, LegacyReceiver attribute is needed to use recevier specific
memeber functions.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
18:17 Changeset [140628] by tonyg@chromium.org

Teach threaded HTML parser to update InspectorInstrumentation when writing HTML
https://bugs.webkit.org/show_bug.cgi?id=107755

Reviewed by Eric Seidel.

The current length is unused, so it doesn't cause any noticeable behavior difference to not pass it here.

No new tests because covered by existing tests.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):

18:16 Changeset [140627] by kerz@chromium.org

patch for bug 107605

18:15 Changeset [140626] by slewis@apple.com

Add ordering for WebCore DATA.
https://bugs.webkit.org/show_bug.cgi?id=107765
<rdar://problem/13019603>

Rubber stamped by Oliver Hunt.

No Change in functionality.

  • WebCore.order:
18:14 Changeset [140625] by kerz@chromium.org

Revert 140206

18:11 Changeset [140624] by haraken@chromium.org

[V8] Make an Isolate parameter mandatory in NativeToJS()
https://bugs.webkit.org/show_bug.cgi?id=107663

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallbackImplementation):
(NativeToJSValue):

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

(WebCore::V8TestCallback::callbackWithClass1Param):
(WebCore::V8TestCallback::callbackWithClass2Param):
(WebCore::V8TestCallback::callbackWithStringList):
(WebCore::V8TestCallback::callbackWithBoolean):
(WebCore::V8TestCallback::callbackRequiresThisToPass):

18:02 Changeset [140623] by commit-queue@webkit.org

Unreviewed, rolling out r140612.
http://trac.webkit.org/changeset/140612
https://bugs.webkit.org/show_bug.cgi?id=107768

broke the build (Requested by smfr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-23

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.cpp.

(WebKit):
(WebKit::WebKeyValueStorageManager::supplementName):
(WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::initialize):
(WebKit::keyValueStorageOriginIdentifiers):
(WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
(WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):

  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.h.

(WebKit):
(WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::localStorageDirectory):
(WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):

  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.messages.in.
17:54 Changeset [140622] by benjamin@webkit.org

RenderProgress does not repaint on value change
https://bugs.webkit.org/show_bug.cgi?id=106977

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-01-23
Reviewed by Joseph Pecoraro.

No test because the ouput depends on the code of RenderTheme, and
we use the platform theme for testing.

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::updateFromElement):
(WebCore::RenderProgress::updateAnimationState):
Previously, repaint() was only called on two occasions:
-On animationTimerFired().
-In response to updateFromElement() if and only if the RenderTheme start/stop an

animation previously stopped/running.

When changing the value of HTMLProgressElement, no repaint was called until
the next timer fired for the animation.
This is a problem if:
-The animation of RenderTheme is slow.
-If there is no animation (the element is never updated in that case).

17:48 Changeset [140621] by pilgrim@chromium.org

[Chromium] Remove unused header files in chromium/public/platform/
https://bugs.webkit.org/show_bug.cgi?id=107741

Reviewed by James Robinson.

These header files have migrated to the new Platform directory.
This patch updates the remaining #include references and removes
the old files that did nothing but redirect to the new ones.

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebAccessibilityObject.h:
  • public/WebAccessibilityRole.h:
  • public/WebActiveWheelFlingParameters.h:
  • public/WebAnimationController.h:
  • public/WebApplicationCacheHost.h:
  • public/WebApplicationCacheHostClient.h:
  • public/WebArrayBuffer.h:
  • public/WebArrayBufferView.h:
  • public/WebAudioSourceProvider.h:
  • public/WebBatteryStatus.h:
  • public/WebBindings.h:
  • public/WebBlob.h:
  • public/WebCache.h:
  • public/WebCachedURLRequest.h:
  • public/WebColorChooser.h:
  • public/WebColorChooserClient.h:
  • public/WebColorName.h:
  • public/WebCommonWorkerClient.h:
  • public/WebCompositionUnderline.h:
  • public/WebCompositorInputHandler.h:
  • public/WebConsoleMessage.h:
  • public/WebContentDetectionResult.h:
  • public/WebContextMenuData.h:
  • public/WebCrossOriginPreflightResultCache.h:
  • public/WebCursorInfo.h:
  • public/WebDOMEvent.h:
  • public/WebDOMEventListener.h:
  • public/WebDOMStringList.h:
  • public/WebDataSource.h:
  • public/WebDatabase.h:
  • public/WebDateTimeChooserCompletion.h:
  • public/WebDateTimeChooserParams.h:
  • public/WebDeliveredIntentClient.h:
  • public/WebDevToolsAgent.h:
  • public/WebDevToolsAgentClient.h:
  • public/WebDevToolsFrontend.h:
  • public/WebDeviceOrientationClient.h:
  • public/WebDeviceOrientationClientMock.h:
  • public/WebDeviceOrientationController.h:
  • public/WebDocument.h:
  • public/WebDraggableRegion.h:
  • public/WebExternalPopupMenuClient.h:
  • public/WebFileChooserCompletion.h:
  • public/WebFileChooserParams.h:
  • public/WebFileSystemCallbacks.h:
  • public/WebFileSystemEntry.h:
  • public/WebFileWriter.h:
  • public/WebFileWriterClient.h:
  • public/WebFindOptions.h:
  • public/WebFont.h:
  • public/WebFontCache.h:
  • public/WebFontDescription.h:
  • public/WebFormControlElement.h:
  • public/WebFormElement.h:
  • public/WebFrame.h:
  • public/WebFrameClient.h:
  • public/WebGeolocationClientMock.h:
  • public/WebGeolocationController.h:
  • public/WebGeolocationError.h:
  • public/WebGeolocationPermissionRequest.h:
  • public/WebGeolocationPermissionRequestManager.h:
  • public/WebGeolocationPosition.h:
  • public/WebGlyphCache.h:
  • public/WebHelperPlugin.h:
  • public/WebHistoryItem.h:
  • public/WebHitTestResult.h:
  • public/WebIDBCallbacks.h:
  • public/WebIDBCursor.h:
  • public/WebIDBDatabase.h:
  • public/WebIDBDatabaseCallbacks.h:
  • public/WebIDBDatabaseError.h:
  • public/WebIDBFactory.h:
  • public/WebIDBKey.h:
  • public/WebIDBKeyPath.h:
  • public/WebIDBKeyRange.h:
  • public/WebIDBMetadata.h:
  • public/WebIDBTransaction.h:
  • public/WebIDBTransactionCallbacks.h:
  • public/WebIconURL.h:
  • public/WebImageDecoder.h:
  • public/WebInputEvent.h:
  • public/WebIntent.h:
  • public/WebIntentRequest.h:
  • public/WebIntentServiceInfo.h:
  • public/WebKit.h:
  • public/WebMediaPlayer.h:
  • public/WebMediaStreamRegistry.h:
  • public/WebMenuItemInfo.h:
  • public/WebNetworkStateNotifier.h:
  • public/WebNode.h:
  • public/WebNodeCollection.h:
  • public/WebNodeList.h:
  • public/WebNotification.h:
  • public/WebNotificationPresenter.h:
  • public/WebOptionElement.h:
  • public/WebPageOverlay.h:
  • public/WebPagePopup.h:
  • public/WebPageSerializer.h:
  • public/WebPasswordFormData.h:
  • public/WebPerformance.h:
  • public/WebPlugin.h:
  • public/WebPluginContainer.h:
  • public/WebPluginParams.h:
  • public/WebPopupMenu.h:
  • public/WebPopupMenuInfo.h:
  • public/WebPrerendererClient.h:
  • public/WebPrintParams.h:
  • public/WebRange.h:
  • public/WebRegularExpression.h:
  • public/WebRuntimeFeatures.h:
  • public/WebScopedMicrotaskSuppression.h:
  • public/WebScopedUserGesture.h:
  • public/WebScriptController.h:
  • public/WebScriptSource.h:
  • public/WebSearchableFormData.h:
  • public/WebSecurityOrigin.h:
  • public/WebSecurityPolicy.h:
  • public/WebSelectElement.h:
  • public/WebSerializedScriptValue.h:
  • public/WebSettings.h:
  • public/WebSharedWorker.h:
  • public/WebSharedWorkerRepository.h:
  • public/WebSocket.h:
  • public/WebSocketClient.h:
  • public/WebSpeechGrammar.h:
  • public/WebSpeechInputController.h:
  • public/WebSpeechInputResult.h:
  • public/WebSpeechRecognitionHandle.h:
  • public/WebSpeechRecognitionParams.h:
  • public/WebSpeechRecognitionResult.h:
  • public/WebSpeechRecognizer.h:
  • public/WebSpeechRecognizerClient.h:
  • public/WebSpellCheckClient.h:
  • public/WebStorageEventDispatcher.h:
  • public/WebSurroundingText.h:
  • public/WebTestingSupport.h:
  • public/WebTextCheckingCompletion.h:
  • public/WebTextCheckingResult.h:
  • public/WebTextFieldDecoratorClient.h:
  • public/WebTextInputInfo.h:
  • public/WebTextRun.h:
  • public/WebTimeRange.h:
  • public/WebTouchPoint.h:
  • public/WebUserMediaRequest.h:
  • public/WebView.h:
  • public/WebViewBenchmarkSupport.h:
  • public/WebViewClient.h:
  • public/WebWidget.h:
  • public/WebWidgetClient.h:
  • public/WebWindowFeatures.h:
  • public/WebWorkerInfo.h:
  • public/android/WebInputEventFactory.h:
  • public/android/WebSandboxSupport.h:
  • public/default/WebRenderTheme.h:
  • public/gtk/WebInputEventFactory.h:
  • public/linux/WebFontRendering.h:
  • public/linux/WebSandboxSupport.h:
  • public/mac/WebInputEventFactory.h:
  • public/mac/WebSandboxSupport.h:
  • public/mac/WebScreenInfoFactory.h:
  • public/mac/WebSubstringUtil.h:
  • public/platform/WebAudioBus.h: Removed.
  • public/platform/WebAudioDevice.h: Removed.
  • public/platform/WebBlobData.h: Removed.
  • public/platform/WebBlobRegistry.h: Removed.
  • public/platform/WebCString.h: Removed.
  • public/platform/WebCanvas.h: Removed.
  • public/platform/WebClipboard.h: Removed.
  • public/platform/WebColor.h: Removed.
  • public/platform/WebCommon.h: Removed.
  • public/platform/WebCookie.h: Removed.
  • public/platform/WebCookieJar.h: Removed.
  • public/platform/WebData.h: Removed.
  • public/platform/WebDragData.h: Removed.
  • public/platform/WebFileSystem.h: Removed.
  • public/platform/WebFloatPoint.h: Removed.
  • public/platform/WebFloatQuad.h: Removed.
  • public/platform/WebFloatRect.h: Removed.
  • public/platform/WebGamepad.h: Removed.
  • public/platform/WebGamepads.h: Removed.
  • public/platform/WebGraphicsContext3D.h: Removed.
  • public/platform/WebHTTPBody.h: Removed.
  • public/platform/WebHTTPHeaderVisitor.h: Removed.
  • public/platform/WebHTTPLoadInfo.h: Removed.
  • public/platform/WebImage.h: Removed.
  • public/platform/WebLocalizedString.h: Removed.
  • public/platform/WebMediaStreamCenter.h: Removed.
  • public/platform/WebMediaStreamCenterClient.h: Removed.
  • public/platform/WebMediaStreamComponent.h: Removed.
  • public/platform/WebMediaStreamDescriptor.h: Removed.
  • public/platform/WebMediaStreamSource.h: Removed.
  • public/platform/WebMediaStreamSourcesRequest.h: Removed.
  • public/platform/WebNonCopyable.h: Removed.
  • public/platform/WebPoint.h: Removed.
  • public/platform/WebPrivateOwnPtr.h: Removed.
  • public/platform/WebPrivatePtr.h: Removed.
  • public/platform/WebRect.h: Removed.
  • public/platform/WebReferrerPolicy.h: Removed.
  • public/platform/WebSize.h: Removed.
  • public/platform/WebSocketStreamError.h: Removed.
  • public/platform/WebSocketStreamHandle.h: Removed.
  • public/platform/WebSocketStreamHandleClient.h: Removed.
  • public/platform/WebString.h: Removed.
  • public/platform/WebThread.h: Removed.
  • public/platform/WebThreadSafeData.h: Removed.
  • public/platform/WebURL.h: Removed.
  • public/platform/WebURLError.h: Removed.
  • public/platform/WebURLLoadTiming.h: Removed.
  • public/platform/WebURLLoader.h: Removed.
  • public/platform/WebURLLoaderClient.h: Removed.
  • public/platform/WebURLRequest.h: Removed.
  • public/platform/WebURLResponse.h: Removed.
  • public/platform/WebVector.h: Removed.
  • public/platform/android/WebSandboxSupport.h: Removed.
  • public/platform/android/WebThemeEngine.h: Removed.
  • public/platform/default/WebThemeEngine.h: Removed.
  • public/platform/linux/WebFontFamily.h: Removed.
  • public/platform/linux/WebSandboxSupport.h: Removed.
  • public/platform/mac/WebSandboxSupport.h: Removed.
  • public/platform/mac/WebThemeEngine.h: Removed.
  • public/platform/win/WebSandboxSupport.h: Removed.
  • public/platform/win/WebThemeEngine.h: Removed.
  • public/win/WebInputEventFactory.h:
  • public/win/WebSandboxSupport.h:
  • public/win/WebScreenInfoFactory.h:
  • public/x11/WebScreenInfoFactory.h:

Tools:

  • DumpRenderTree/chromium/TestRunner/src/MockGrammarCheck.cpp:
  • DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.h:
17:42 Changeset [140620] by vollick@chromium.org

Introduce the "stacking container" concept.
https://bugs.webkit.org/show_bug.cgi?id=107734

Reviewed by Simon Fraser.

A stacking container is treated just like a stacking context. That
is, it has z-order lists, it and its descendants are stacked as a
unit, and when the RenderLayerCompositor does its overlap testing,
the composited regions for all layer lists take effect only once the
stacking container is done being processed.

This patch also adds the function RenderLayer::isStackingContainer().
Currently, this is equivalent to RenderLayer::isStackingContext(),
but in future, the definition of stacking container will be broadened
to encompass more than just stacking contexts.

Other than the addition of this extra function, the patch is mostly
comprised of name changes. Any code that used to refer to the
stacking context concept, but didn't necessarily require a stacking
context in the strict, CSS-sense, was switched to refer to stacking
container. No functionality was changed.

No new tests, no change in functionality.

Source/WebCore:

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore):
(WebCore::RenderLayer::updatePagination):
(WebCore::RenderLayer::canBeStackingContainer):
(WebCore::RenderLayer::setHasVisibleContent):
(WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
(WebCore::RenderLayer::stackingContainer):
(WebCore::compositingContainer):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore::RenderLayer::paintPaginatedChildLayer):
(WebCore::RenderLayer::hitTestPaginatedChildLayer):
(WebCore::RenderLayer::calculateLayerBounds):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyStackingContainerZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
(WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
(WebCore::RenderLayer::styleChanged):

  • rendering/RenderLayer.h:

(RenderLayer):
(WebCore::RenderLayer::isStackingContainer):
(WebCore::RenderLayer::posZOrderList):
(WebCore::RenderLayer::negZOrderList):
(WebCore::RenderLayer::isDirtyStackingContainer):
(WebCore::RenderLayer::clearZOrderLists):
(WebCore::RenderLayer::updateZOrderLists):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::compositingOpacity):
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::layerHas3DContent):
(WebCore::isRootmostFixedOrStickyLayer):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::updateOffsetFromViewportForSelf):

17:40 Changeset [140619] by oliver@apple.com

Harden JSC a bit with RELEASE_ASSERT
https://bugs.webkit.org/show_bug.cgi?id=107766

Reviewed by Mark Hahnenberg.

Went through and replaced a pile of ASSERTs that were covering
significantly important details (bounds checks, etc) where
having the checks did not impact release performance in any
measurable way.

  • API/JSContextRef.cpp:

(JSContextCreateBacktrace):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::branchAdd32):
(JSC::MacroAssembler::branchMul32):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::handlerForBytecodeOffset):
(JSC::CodeBlock::lineNumberForBytecodeOffset):
(JSC::CodeBlock::bytecodeOffset):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::bytecodeOffsetForCallAtIndex):
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::exceptionHandler):
(JSC::CodeBlock::codeOrigin):
(JSC::CodeBlock::immediateSwitchJumpTable):
(JSC::CodeBlock::characterSwitchJumpTable):
(JSC::CodeBlock::stringSwitchJumpTable):
(JSC::CodeBlock::setIdentifiers):
(JSC::baselineCodeBlockForInlineCallFrame):
(JSC::ExecState::uncheckedR):

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::inlineStack):

  • bytecode/CodeOrigin.h:

(JSC::CodeOrigin::CodeOrigin):

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGScratchRegisterAllocator.h:

(JSC::DFG::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer):
(JSC::DFG::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::allocate):
(JSC::DFG::SpeculativeJIT::spill):
(JSC::DFG::SpeculativeJIT::integerResult):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGValueSource.h:

(JSC::DFG::dataFormatToValueSourceKind):
(JSC::DFG::ValueSource::ValueSource):

  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::BlockAllocator):
(JSC::BlockAllocator::releaseFreeRegions):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::collect):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::throwException):
(JSC::Interpreter::execute):

  • jit/GCAwareJITStubRoutine.cpp:

(JSC::GCAwareJITStubRoutine::observeZeroRefCount):

  • jit/JIT.cpp:

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

  • jit/JITExceptions.cpp:

(JSC::genericThrow):

  • jit/JITInlines.h:

(JSC::JIT::emitLoad):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_end):
(JSC::JIT::emit_resolve_operations):

  • jit/JITStubRoutine.cpp:

(JSC::JITStubRoutine::observeZeroRefCount):

  • jit/JITStubs.cpp:

(JSC::returnToThrowTrampoline):

  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlot):
(JSC::Arguments::getOwnPropertyDescriptor):
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):
(JSC::Arguments::didTearOffActivation):

  • runtime/ArrayPrototype.cpp:

(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::growPropertyStorage):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:

(JSC::CacheMap::add):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::FunctionExecutable):
(JSC::EvalExecutable::unlinkCalls):
(JSC::ProgramExecutable::compileOptimized):
(JSC::ProgramExecutable::unlinkCalls):
(JSC::ProgramExecutable::initializeGlobalProperties):
(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::FunctionExecutable::compileOptimizedForCall):
(JSC::FunctionExecutable::compileOptimizedForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
(JSC::FunctionExecutable::unlinkCalls):
(JSC::NativeExecutable::hashFor):

  • runtime/Executable.h:

(JSC::EvalExecutable::compile):
(JSC::ProgramExecutable::compile):
(JSC::FunctionExecutable::compileForCall):
(JSC::FunctionExecutable::compileForConstruct):

  • runtime/IndexingHeader.h:

(JSC::IndexingHeader::setVectorLength):

  • runtime/JSArray.cpp:

(JSC::JSArray::pop):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::jsStrDecimalLiteral):

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):

  • runtime/JSString.cpp:

(JSC::JSRopeString::getIndexSlowCase):

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::popParenthesesDisjunctionContext):

17:39 Changeset [140618] by roger_fong@apple.com

Unreviewed. Add svn:eol-style to solution file, not eol-style.

  • WebKit.vcxproj/WebKit.sln: Added property svn:eol-style. Removed property eol-style.
17:18 Changeset [140617] by simon.fraser@apple.com

Have scrollperf logging log information about wheel event handlers
https://bugs.webkit.org/show_bug.cgi?id=107761
<rdar://problem/12281015>

Reviewed by Tim Horton.

Log when the wheel event handler count of a ScrollingTreeScrollingNodeMac changes.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::update):
(WebCore::logWheelEventHandlerCountChanged):

17:01 Changeset [140616] by haraken@chromium.org

[V8] Add an optional Isolate parameter to GetTemplate() and GetRawTemplate()
https://bugs.webkit.org/show_bug.cgi?id=107679

Reviewed by Adam Barth.

It is important to pass an Isolate to GetTemplate() and GetRawTemplate().
To proceed the work incrementally, this patch adds an optional Isolate parameter
to GetTemplate() and GetRawTemplate(). Once all call sites are updated, the
Isolate parameter will be made mandatory.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):

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

(WebCore::V8Float64Array::GetRawTemplate):
(WebCore::V8Float64Array::GetTemplate):

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

(V8Float64Array):

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

(WebCore::V8TestActiveDOMObject::GetRawTemplate):
(WebCore::V8TestActiveDOMObject::GetTemplate):

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

(V8TestActiveDOMObject):

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

(WebCore::V8TestCustomNamedGetter::GetRawTemplate):
(WebCore::V8TestCustomNamedGetter::GetTemplate):

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

(V8TestCustomNamedGetter):

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

(WebCore::V8TestEventConstructor::GetRawTemplate):
(WebCore::V8TestEventConstructor::GetTemplate):

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

(V8TestEventConstructor):

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

(WebCore::V8TestEventTarget::GetRawTemplate):
(WebCore::V8TestEventTarget::GetTemplate):

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

(V8TestEventTarget):

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

(WebCore::V8TestException::GetRawTemplate):
(WebCore::V8TestException::GetTemplate):

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

(V8TestException):

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

(WebCore::V8TestInterface::GetRawTemplate):
(WebCore::V8TestInterface::GetTemplate):

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

(V8TestInterface):

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

(WebCore::V8TestMediaQueryListListener::GetRawTemplate):
(WebCore::V8TestMediaQueryListListener::GetTemplate):

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

(V8TestMediaQueryListListener):

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

(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
(WebCore::V8TestNamedConstructor::GetRawTemplate):
(WebCore::V8TestNamedConstructor::GetTemplate):

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

(V8TestNamedConstructorConstructor):
(V8TestNamedConstructor):

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

(WebCore::V8TestNode::GetRawTemplate):
(WebCore::V8TestNode::GetTemplate):

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

(V8TestNode):

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

(WebCore::V8TestObj::GetRawTemplate):
(WebCore::V8TestObj::GetTemplate):

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

(V8TestObj):

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

(WebCore::V8TestOverloadedConstructors::GetRawTemplate):
(WebCore::V8TestOverloadedConstructors::GetTemplate):

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

(V8TestOverloadedConstructors):

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

(WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
(WebCore::V8TestSerializedScriptValueInterface::GetTemplate):

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

(V8TestSerializedScriptValueInterface):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore):
(WebCore::WrapperTypeInfo::getTemplate):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::V8HTMLImageElementConstructor::GetTemplate):

  • bindings/v8/custom/V8HTMLImageElementConstructor.h:

(V8HTMLImageElementConstructor):

16:43 Changeset [140615] by haraken@chromium.org

[V8] Move V8DOMWrapper::getEventListener() to V8EventListerList
https://bugs.webkit.org/show_bug.cgi?id=107683

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrSetter):
(GenerateEventListenerCallback):

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

(WebCore::TestEventTargetV8Internal::addEventListenerCallback):
(WebCore::TestEventTargetV8Internal::removeEventListenerCallback):

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

(WebCore::TestObjV8Internal::addEventListenerCallback):
(WebCore::TestObjV8Internal::removeEventListenerCallback):

  • bindings/v8/V8DOMWrapper.cpp:
  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):

  • bindings/v8/V8EventListenerList.cpp:

(WebCore::V8EventListenerList::getEventListener):
(WebCore):

  • bindings/v8/V8EventListenerList.h:

(WebCore):
(V8EventListenerList):
(WebCore::V8EventListenerList::findWrapper):
(WebCore::V8EventListenerList::clearWrapper):
(WebCore::V8EventListenerList::doFindWrapper):
(WebCore::V8EventListenerList::getHiddenProperty):
(WebCore::V8EventListenerList::findOrCreateWrapper):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::addEventListenerCallback):
(WebCore::V8DOMWindow::removeEventListenerCallback):

16:34 Changeset [140614] by dmazzoni@google.com

AX: AXObjectCache should be initialized with topDocument
https://bugs.webkit.org/show_bug.cgi?id=107638

Reviewed by Chris Fleizach.

Initialize AXObjectCache with the top document, not the
document that axObjectCache happened to be called on, which
could be an iframe. Having an AXObjectCache with the wrong
document could cause a heap-use-after-free in
notificationPostTimerFired if the inner document was deleted
while notifications were pending.

  • dom/Document.cpp:

(WebCore::Document::axObjectCache):

16:33 Changeset [140613] by rniwa@webkit.org

REGRESSION: WebKit does not render selection in non-first ruby text nodes.
https://bugs.webkit.org/show_bug.cgi?id=92818

Reviewed by Levi Weintraub.

Source/WebCore:

The patch is based on the one submitted by Sukolsak Sakshuwong.

The bug was caused by the fact isSelectionRoot was returning false on RenderRubyRun even though
it doesn't lay down its children in block direction.

The selection painting code assumes that all blocks in each selection root are laid down in
the containing block direction. In particular, InlineTextBox::paintSelection calls
RootInlineBox::selectionTopAdjustedForPrecedingBlock in order to determine the end of the previous
line, which in turn calls blockBeforeWithinSelectionRoot. blockBeforeWithinSelectionRoot goes
through block nodes that appears before "this" block, and selectionTopAdjustedForPrecedingBlock
assumes that to compute the end of the previous line.

Now suppose we have markup such as <ruby>Ichi<rt>One</rt></ruby><ruby>Ni<rt>Two</rt></ruby>. When
selectionTopAdjustedForPrecedingBlock is called on the line box generated for "Two", it tries to
determine the bottom of the inline box above that of "Two", which blockBeforeWithinSelectionRoot
determines to be that of "One". At this point, everything goes wrong and the selection height is
computed to be 0.

The fix to this problem is to allow RenderRubyRun to be a selection root. Since RenderRubyRun is
already an inline-block, it suffices to bypass the !nonPseudoNode() check. In fact, there is no
need to check this condition anymore as far as I can tell. The check was added in
http://trac.webkit.org/changeset/12986 but all tests added by this change set as well as the rest
of layout tests pass without this condition.

Test: fast/ruby/select-ruby.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::isSelectionRoot):

LayoutTests:

Add a test, authored by Sukolsak Sakshuwong.

  • fast/ruby/select-ruby.html: Added.
  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.png: Added.
  • platform/mac/fast/ruby/select-ruby-expected.png: Added.
  • platform/mac/fast/ruby/select-ruby-expected.txt: Added.
16:32 Changeset [140612] by andersca@apple.com

Move Move WebKeyValueStorageManager to WebProcess/Storage.

Rubber-stamped by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
  • WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
  • WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
16:29 Changeset [140611] by haraken@chromium.org

[V8] Reduce usage of deprecatedV8String() and deprecatedV8Integer()
https://bugs.webkit.org/show_bug.cgi?id=107674

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/v8/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/v8/NPV8Object.cpp:

(_NPN_Enumerate):

  • bindings/v8/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::bindToWindowObject):
(WebCore::ScriptController::disableEval):

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
(WebCore::ScriptDebugServer::compileScript):

  • bindings/v8/ScriptFunctionCall.cpp:

(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::start):
(WebCore::ScriptProfiler::stop):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initializeIfNeeded):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

  • bindings/v8/V8MutationCallback.cpp:

(WebCore::V8MutationCallback::handleEvent):

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

  • bindings/v8/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::addListener):

  • bindings/v8/custom/V8InjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):

16:26 Changeset [140610] by commit-queue@webkit.org

WebKit should support decoding multi-byte entities in XML content
https://bugs.webkit.org/show_bug.cgi?id=107459

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-23
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/parser/entities-in-xhtml.xhtml

  • html/parser/HTMLEntityParser.cpp:

(WebCore::appendUChar32ToUCharArray): Added this helper function. Later patches
may try to move this code to somewhere that it can be shared more easily.
(WebCore::decodeNamedEntityToUCharArray): Modify this function to work on a UChar
array four elements long, so that multi-byte and multi-character entities can be resolved.

  • html/parser/HTMLEntityParser.h: Updated function declaratoin.
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore): Modify the statically allocated entity string memory area to accommodate
up to two UTF-8 characters. Each UTF-8 character can be 4 bytes, so this brings the
total size to 9 bytes.
(WebCore::getXHTMLEntity): Use the new entity decoding API.

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::EntityResolver::resolveUndeclaredEntity): Ditto.
(WebCore::XMLDocumentParser::parse): Ditto.

LayoutTests:

Add a simple test for decoding some entities that resolve to multiple
bytes in XML.

  • fast/parser/entities-in-xhtml.xhtml: Added a few multi-bye entities.
  • fast/parser/entities-in-xhtml-expected.txt: Updated.
16:21 Changeset [140609] by eric@webkit.org

Stop the background-parser during HTMLDocumentParser::detatch to prevent crashes/asserts
https://bugs.webkit.org/show_bug.cgi?id=107751

Reviewed by Tony Gentilcore.

This appears to fix the 2 intermitent crashers we were seeing while
running fast/parser. And definitely fixes 8 ASSERTs seen using a Debug build.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::detach):

16:09 Changeset [140608] by fpizlo@apple.com

Constant folding an access to an uncaptured variable that is captured later in the same basic block shouldn't lead to assertion failures
https://bugs.webkit.org/show_bug.cgi?id=107750
<rdar://problem/12387265>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

The point of this assertion was that if there is no variable capturing going on, then there should only be one GetLocal
for the variable anywhere in the basic block. But if there is some capturing, then we'll have an unbounded number of
GetLocals. The assertion was too imprecise for the latter case. I want to keep this assertion, so I introduced a
checker that verifies this precisely: if there are any captured accesses to the variable anywhere at or after the
GetLocal we are eliminating, then we allow redundant GetLocals.

  • dfg/DFGConstantFoldingPhase.cpp:

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

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/dfg-constant-fold-uncaptured-variable-that-is-later-captured-expected.txt: Added.
  • fast/js/dfg-constant-fold-uncaptured-variable-that-is-later-captured.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-constant-fold-uncaptured-variable-that-is-later-captured.js: Added.

(bar):
(baz):
(foo):

15:30 Changeset [140607] by andersca@apple.com

Remove LegacyReceiver from a couple of .messages.in files
https://bugs.webkit.org/show_bug.cgi?id=107749

Reviewed by Beth Dakin.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:

(WebNotificationManagerProxy):

  • UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
  • UIProcess/WebGeolocationManagerProxy.cpp:
  • UIProcess/WebGeolocationManagerProxy.h:

(WebGeolocationManagerProxy):

  • UIProcess/WebGeolocationManagerProxy.messages.in:
  • UIProcess/WebIconDatabase.cpp:
  • UIProcess/WebIconDatabase.h:

(WebIconDatabase):

  • UIProcess/WebIconDatabase.messages.in:
  • UIProcess/WebKeyValueStorageManagerProxy.cpp:
  • UIProcess/WebKeyValueStorageManagerProxy.h:

(WebKeyValueStorageManagerProxy):

  • UIProcess/WebKeyValueStorageManagerProxy.messages.in:
  • UIProcess/WebMediaCacheManagerProxy.cpp:
  • UIProcess/WebMediaCacheManagerProxy.h:

(WebMediaCacheManagerProxy):

  • UIProcess/WebMediaCacheManagerProxy.messages.in:
  • UIProcess/WebResourceCacheManagerProxy.cpp:
  • UIProcess/WebResourceCacheManagerProxy.h:

(WebResourceCacheManagerProxy):

  • UIProcess/WebResourceCacheManagerProxy.messages.in:
  • WebProcess/Geolocation/WebGeolocationManager.cpp:
  • WebProcess/Geolocation/WebGeolocationManager.h:

(WebGeolocationManager):

  • WebProcess/Geolocation/WebGeolocationManager.messages.in:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.h:

(WebIconDatabaseProxy):

  • WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:

(WebKeyValueStorageManager):

  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
  • WebProcess/MediaCache/WebMediaCacheManager.cpp:
  • WebProcess/MediaCache/WebMediaCacheManager.h:

(WebMediaCacheManager):

  • WebProcess/MediaCache/WebMediaCacheManager.messages.in:
  • WebProcess/Notifications/WebNotificationManager.cpp:
  • WebProcess/Notifications/WebNotificationManager.h:

(WebNotificationManager):

  • WebProcess/Notifications/WebNotificationManager.messages.in:
  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:
  • WebProcess/ResourceCache/WebResourceCacheManager.h:

(WebResourceCacheManager):

  • WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit):

  • WebProcess/WebPage/WebPageGroupProxy.h:

(WebPageGroupProxy):

  • WebProcess/WebPage/WebPageGroupProxy.messages.in:
15:11 Changeset [140606] by commit-queue@webkit.org

[CSS Exclusions] Add support for computing first included interval position for polygons
https://bugs.webkit.org/show_bug.cgi?id=103429

Patch by Hans Muller <hmuller@adobe.com> on 2013-01-23
Reviewed by Dirk Schulze.

Source/WebCore:

Added support for computing the "first fit" location, i.e. the logical shape-inside
location where a line's layout begins. The algorithm for doing so is described here:
http://hansmuller-webkit.blogspot.com/2012/08/revised-algorithm-for-finding-first.html.

Tests: fast/exclusions/shape-inside/shape-inside-first-fit-001.html

fast/exclusions/shape-inside/shape-inside-first-fit-002.html
fast/exclusions/shape-inside/shape-inside-first-fit-003.html

  • platform/graphics/FloatSize.h:

(WebCore::operator*): Scale a FloatSize. This simplified the final expression in VertexPair::intersection().

  • rendering/ExclusionPolygon.cpp:

(WebCore::isPointOnLineSegment): Returns true if the specified point is collinear and within the line segement's bounds.
(WebCore::leftSide): Return a value > 0 if point is on the left side of the line segment, < 0 if it's on the right, 0 if it's collinear.
(WebCore::ExclusionPolygon::contains): Return true if the point is within the polygon or on an edge.
(WebCore::VertexPair::overlapsRect): Returns true if the line segment from vertex1 to vertex2 overlaps the specified FloatRect.
(WebCore::VertexPair::intersection): Finds the intersection of a pair of line segments defined by VertexPairs.
(WebCore::ExclusionPolygon::firstFitRectInPolygon): Returns true if none of the polygon's edges, except the two used

to define by the offset edges, overlap the FloatRect.

(WebCore::aboveOrToTheLeft): Defines the top/left preference for "first fit" locations.
(WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Replaced the stub implementation of this method.

  • rendering/ExclusionPolygon.h:

(ExclusionPolygon): Added declarations noted above.
(VertexPair): Abstract class that defines a pair of FloatPoints.
(OffsetPolygonEdge): Represents an edge that's horizontally offset from a polygon edge.
(WebCore::OffsetPolygonEdge::edgeIndex): The ExclusionPolygon edge index used to define this OffsetEdge.

LayoutTests:

All of the existing shape-inside tests exercise the new code. Added new tests which
verify that layout works correctly when layout can not begin at the shape's logical top.
Test 001 additionally checks all writing-modes, test 002 verifies that the topmost/leftmost
rule is followed, and test3 checks a self-intersecting polygon.

  • fast/exclusions/shape-inside/shape-inside-first-fit-001-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-first-fit-001.html: Added.
  • fast/exclusions/shape-inside/shape-inside-first-fit-002-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-first-fit-002.html: Added.
  • fast/exclusions/shape-inside/shape-inside-first-fit-003-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-first-fit-003.html: Added.
15:08 Changeset [140605] by andersca@apple.com

Message receiver generation should work in terms of MessageReceiver objects
https://bugs.webkit.org/show_bug.cgi?id=107742

Reviewed by Beth Dakin.

The generated message receiver code should generate the MessageReceiver
member functions didReceiveMessage and didReceiveSyncMessage instead of
receiver specific member functions.

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.messages.in:
  • PluginProcess/PluginControllerProxy.messages.in:
  • PluginProcess/PluginProcess.messages.in:
  • PluginProcess/WebProcessConnection.messages.in:
  • Scripts/webkit2/messages.py:

(generate_message_handler):

  • Scripts/webkit2/messages_unittest.py:
  • Scripts/webkit2/model.py:

(MessageReceiver.init):
(MessageReceiver.has_attribute):

  • Scripts/webkit2/parser.py:

(parse):

  • Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  • Shared/Plugins/NPObjectMessageReceiver.messages.in:
  • Shared/WebConnection.messages.in:
  • Shared/mac/SecItemShim.messages.in:
  • SharedWorkerProcess/SharedWorkerProcess.messages.in:
  • UIProcess/Downloads/DownloadProxy.messages.in:
  • UIProcess/DrawingAreaProxy.messages.in:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
  • UIProcess/WebApplicationCacheManagerProxy.messages.in:
  • UIProcess/WebContext.messages.in:
  • UIProcess/WebCookieManagerProxy.messages.in:
  • UIProcess/WebDatabaseManagerProxy.messages.in:
  • UIProcess/WebFullScreenManagerProxy.messages.in:
  • UIProcess/WebGeolocationManagerProxy.messages.in:
  • UIProcess/WebIconDatabase.messages.in:
  • UIProcess/WebInspectorProxy.messages.in:
  • UIProcess/WebKeyValueStorageManagerProxy.messages.in:
  • UIProcess/WebMediaCacheManagerProxy.messages.in:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.messages.in:
  • UIProcess/WebResourceCacheManagerProxy.messages.in:
  • UIProcess/mac/RemoteLayerTreeHost.messages.in:
  • UIProcess/mac/SecItemShimProxy.messages.in:
  • WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
  • WebProcess/Authentication/AuthenticationManager.h:
  • WebProcess/Authentication/AuthenticationManager.messages.in:
  • WebProcess/Cookies/WebCookieManager.messages.in:
  • WebProcess/FullScreen/WebFullScreenManager.messages.in:
  • WebProcess/Geolocation/WebGeolocationManager.messages.in:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
  • WebProcess/MediaCache/WebMediaCacheManager.messages.in:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Notifications/WebNotificationManager.messages.in:
  • WebProcess/Plugins/PluginProcessConnection.messages.in:
  • WebProcess/Plugins/PluginProxy.messages.in:
  • WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
  • WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebInspector.messages.in:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.messages.in:
  • WebProcess/WebProcess.messages.in:
15:03 Changeset [140604] by krit@webkit.org

Implement Canvas Path object
https://bugs.webkit.org/show_bug.cgi?id=97333

Reviewed by Dean Jackson.

Source/WebCore:

The Canvas part of the WHATWG specification defines a Path object. This Path object
shares several path segment functions (path methods) with the CanvasRenderingContext2D
interface. This patch introduces the Path object and shares the path segment functions
in the class CanvasPathMethods.
This patch does just implement the basic path functions that have a general agreement on
the WHAT WG and W3C mailing lists.
This feature is behind a flag and won't be activated by default.

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects

Test: fast/canvas/canvas-path-object.html

  • CMakeLists.txt: Add DOMPath and CanvasPathMedthods to build system.
  • DerivedSources.cpp: Ditto.
  • DerivedSources.make: Ditto.
  • DerivedSources.pri: Ditto.
  • GNUmakefile.list.am: Ditto.
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/canvas/CanvasPathMethods.cpp: Added.

(WebCore): This class shares the path segment functions (moveTo, lineTo, ...) between

DOMPath (the Path object) and CanvasRenderingContext2D.

(WebCore::CanvasPathMethods::closePath):
(WebCore::CanvasPathMethods::moveTo):
(WebCore::CanvasPathMethods::lineTo):
(WebCore::CanvasPathMethods::quadraticCurveTo):
(WebCore::CanvasPathMethods::bezierCurveTo):
(WebCore::CanvasPathMethods::arcTo):
(WebCore::CanvasPathMethods::arc):
(WebCore::CanvasPathMethods::rect):

  • html/canvas/CanvasPathMethods.h: Added.

(WebCore):
(CanvasPathMethods):
(WebCore::CanvasPathMethods::~CanvasPathMethods):
(WebCore::CanvasPathMethods::transformIsInvertible):
(WebCore::CanvasPathMethods::CanvasPathMethods):

  • html/canvas/CanvasRenderingContext2D.cpp:
  • html/canvas/CanvasRenderingContext2D.h: Remove the path segment functions here.

(CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::transformIsInvertible): This checks if the CTM

of the context is still invertible. Drawing should stop if it is not.

  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/DOMPath.h: Added.

(WebCore):
(DOMPath):
(WebCore::DOMPath::create):
(WebCore::DOMPath::~DOMPath):
(WebCore::DOMPath::DOMPath):

  • html/canvas/DOMPath.idl: Added.
  • page/DOMWindow.idl: Added CTOR for Path.

LayoutTests:

Add a test for checking existence of Path object and dependent functions.
The test is supposed to fail if canvas-path is not activated on compile time.

  • fast/canvas/canvas-path-object-expected.txt: Added.
  • fast/canvas/canvas-path-object.html: Added.
  • fast/canvas/script-tests/canvas-path-object.js: Added.
  • platform/chromium/TestExpectations: Different error handling on Chromium. Needs rebaseline.
14:59 Changeset [140603] by roger_fong@apple.com

Unreviewed. Added eol-style=native to solution file.

  • WebKit.vcxproj/WebKit.sln: Added property eol-style.
14:58 Changeset [140602] by jsbell@chromium.org

IndexedDB: Remove IDBVersionChangeRequest
https://bugs.webkit.org/show_bug.cgi?id=107711

Reviewed by Tony Chang.

Source/WebCore:

When the setVersion() API was removed from the Indexed DB spec the IDBVersionChangeRequest
interface was replaced with IDBOpenDBRequest. We switched over for open(), this completes
the work by switching over for deleteDatabase() and removing the old code. (On the Event
side we still need to combine IDBVersionChangeEvent and IDBUpgradeNeededEvent.)

Test: storage/indexeddb/intversion-long-queue.html

storage/indexeddb/intversion-upgrades.html

  • CMakeLists.txt: Remove references to deleted code.
  • DerivedSources.make: Ditto.
  • GNUmakefile.list.am: Ditto.
  • Modules/indexeddb/IDBCallbacks.h: Remove unused onBlocked() overload.
  • Modules/indexeddb/IDBDatabase.cpp: Remove references to deleted code.
  • Modules/indexeddb/IDBDatabase.h: Ditto.
  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::deleteDatabase): Fire onBlocked with current version.

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::openInternal): Don't need to specify source.
(WebCore::IDBFactory::deleteDatabase): Use an IDBOpenDBRequest.

  • Modules/indexeddb/IDBFactory.h: Change return type of deleteDatabase()
  • Modules/indexeddb/IDBFactory.idl: Ditto.
  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::create): Always use a null source.
(WebCore::IDBOpenDBRequest::IDBOpenDBRequest): Pass null source to base class.
(WebCore::IDBOpenDBRequest::dispatchEvent): Don't assume result is a database in existing
special case.

  • Modules/indexeddb/IDBOpenDBRequest.h: Don't need a source argument (always null).
  • Modules/indexeddb/IDBVersionChangeRequest.cpp: Removed.
  • Modules/indexeddb/IDBVersionChangeRequest.h: Removed.
  • Modules/indexeddb/IDBVersionChangeRequest.idl: Removed.
  • WebCore.gypi: Remove references to deleted code.
  • WebCore.xcodeproj/project.pbxproj: Remove references to deleted code.
  • dom/EventTarget.h: Remove references to deleted code.
  • dom/EventTargetFactory.in: Ditto.

Source/WebKit/chromium:

  • public/WebIDBCallbacks.h: Note to delete onBlocked() once Chromium is cleaned up.
  • src/IDBCallbacksProxy.cpp: Remove unused onBlocked() overload.
  • src/IDBCallbacksProxy.h: Ditto.
  • src/WebIDBCallbacksImpl.cpp: Ditto.
  • src/WebIDBCallbacksImpl.h: Ditto.
  • tests/IDBAbortOnCorruptTest.cpp: Ditto.
  • tests/IDBDatabaseBackendTest.cpp: Ditto.

LayoutTests:

Update expectations - change a handful of FAIL to PASS because past-us were awesome.

  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-upgrades-expected.txt:
14:54 Changeset [140601] by commit-queue@webkit.org

Coordinated Graphics: remove CoordinatedLayerInfo::encode/decode.
https://bugs.webkit.org/show_bug.cgi?id=107644

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-23
Reviewed by Anders Carlsson.

We want to remove the dependency on CoreIPC from CoordinatedLayerInfo because we
will extract Coordinated Graphics from WK2.

  • CMakeLists.txt:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC):
(CoreIPC::::decode):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:

(WebKit):

  • Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Removed.
  • Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
  • Target.pri:
14:53 Changeset [140600] by kenneth@webkit.org

[WK2] Replace some internal API usage in EwkView with C API
https://bugs.webkit.org/show_bug.cgi?id=107652

Reviewed by Benjamin Poulain.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_url_set):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_get):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_html_string_load):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
(ewk_view_text_matches_count):
(ewk_view_inspector_show):
(ewk_view_inspector_close):

14:49 Changeset [140599] by commit-queue@webkit.org

[GTK] Bump webkitgtk-test-fonts dependency to cover fallbacks for Tamil, Bengali, and others
https://bugs.webkit.org/show_bug.cgi?id=107727

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-23
Reviewed by Gustavo Noronha Silva.

Tools:

  • gtk/jhbuild.modules: Update the JHBuild moduleset to point to the new webkitgtk-test-fonts.

We are using the git repository now that github has deprecated the downloads feature.

LayoutTests:

Update test results to reflect the new fonts.

  • platform/gtk/fast/text/atsui-multiple-renderers-expected.png:
  • platform/gtk/fast/text/atsui-multiple-renderers-expected.txt:
  • platform/gtk/fast/text/complex-text-opacity-expected.png:
  • platform/gtk/fast/text/complex-text-opacity-expected.txt:
  • platform/gtk/fast/text/international/bold-bengali-expected.png:
  • platform/gtk/fast/text/international/bold-bengali-expected.txt:
  • platform/gtk/fast/text/international/complex-character-based-fallback-expected.png:
  • platform/gtk/fast/text/international/complex-character-based-fallback-expected.txt:
  • platform/gtk/fast/text/international/danda-space-expected.png:
  • platform/gtk/fast/text/international/danda-space-expected.txt:
  • platform/gtk/fast/text/international/hindi-spacing-expected.png:
  • platform/gtk/fast/text/international/hindi-spacing-expected.txt:
  • platform/gtk/fast/text/international/hindi-whitespace-expected.png:
  • platform/gtk/fast/text/international/hindi-whitespace-expected.txt:
  • platform/gtk/fast/text/international/thai-baht-space-expected.png:
  • platform/gtk/fast/text/international/thai-baht-space-expected.txt:
  • platform/gtk/fast/text/international/thai-line-breaks-expected.png:
  • platform/gtk/fast/text/international/thai-line-breaks-expected.txt:
  • platform/gtk/svg/text/non-bmp-positioning-lists-expected.png: Added.
  • platform/gtk/svg/text/non-bmp-positioning-lists-expected.txt:
  • platform/gtk/transforms/2d/hindi-rotated-expected.png:
  • platform/gtk/transforms/2d/hindi-rotated-expected.txt:
14:49 Changeset [140598] by commit-queue@webkit.org

[Chromium] Fix inclusion of pch .cpp in webcore_platform and webcore_rendering
https://bugs.webkit.org/show_bug.cgi?id=107700

Patch by Scott Graham <scottmg@chromium.org> on 2013-01-23
Reviewed by Dirk Pranke.

No new tests, Chromium should link on VS 2012.

  • WebCore.gyp/WebCore.gyp:
14:33 Changeset [140597] by roger_fong@apple.com

Unreviewed. Checkin the OpenSource WebKit solution.

  • WebKit.vcxproj/WebKit.sln:
14:31 Changeset [140596] by commit-queue@webkit.org

Partially revert 104427, change WebWidgetClient::didHandleGestureEvent semantics.
https://bugs.webkit.org/show_bug.cgi?id=107605

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-23
Reviewed by Darin Fisher.

Per discussion in https://codereview.chromium.org/11473027/ we decided
not to introduce an enum to WebWidgetClient::didHandleGestureEvent().
Instead, change the semantics of the bool flag to indicate whether the
gesture event is cancelled for disambiguation.

  • public/WebWidgetClient.h:

(WebKit::WebWidgetClient::didHandleGestureEvent):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

  • tests/WebViewTest.cpp:
14:26 Changeset [140595] by commit-queue@webkit.org

Avoid unnecessary format conversion for tex{Sub}Image2D() for ImageData of WebGL
https://bugs.webkit.org/show_bug.cgi?id=107532

Patch by Jun Jiang <jun.a.jiang@intel.com> on 2013-01-23
Reviewed by Kenneth Russell.

This patch removes the unnecessary format conversion in tex{Sub}Image2D() for ImageData in WebGL to improve performance.

Already covered by current tests.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):

14:25 Changeset [140594] by oliver@apple.com

Replace ASSERT_NOT_REACHED with RELEASE_ASSERT_NOT_REACHED in JSC
https://bugs.webkit.org/show_bug.cgi?id=107736

Reviewed by Mark Hahnenberg.

Mechanical change with no performance impact.

  • API/JSBlockAdaptor.mm:

(BlockArgumentTypeDelegate::typeVoid):

  • API/JSCallbackObjectFunctions.h:

(JSC::::construct):
(JSC::::call):

  • API/JSScriptRef.cpp:
  • API/ObjCCallbackFunction.mm:

(ArgumentTypeDelegate::typeVoid):

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::link):
(JSC::ARMv7Assembler::replaceWithLoad):
(JSC::ARMv7Assembler::replaceWithAddressComputation):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::invert):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::countLeadingZeros32):
(JSC::MacroAssemblerARM::divDouble):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::absDouble):
(JSC::MacroAssemblerMIPS::replaceWithJump):
(JSC::MacroAssemblerMIPS::maxJumpReplacementSize):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::absDouble):
(JSC::MacroAssemblerSH4::replaceWithJump):
(JSC::MacroAssemblerSH4::maxJumpReplacementSize):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::shllImm8r):
(JSC::SH4Assembler::shlrImm8r):
(JSC::SH4Assembler::cmplRegReg):
(JSC::SH4Assembler::branch):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::replaceWithLoad):
(JSC::X86Assembler::replaceWithAddressComputation):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):

  • bytecode/CodeBlock.cpp:

(JSC::debugHookName):
(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::visitAggregate):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::usesOpcode):

  • bytecode/DataFormat.h:

(JSC::needDataFormatConversion):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):
(JSC::exitKindIsCountable):

  • bytecode/MethodOfGettingAValueProfile.cpp:

(JSC::MethodOfGettingAValueProfile::getSpecFailBucket):

  • bytecode/Opcode.h:

(JSC::opcodeLength):

  • bytecode/PolymorphicPutByIdList.cpp:

(JSC::PutByIdAccess::fromStructureStubInfo):
(JSC::PutByIdAccess::visitWeak):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::deref):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::ResolveResult::checkValidity):
(JSC::BytecodeGenerator::emitGetLocalVar):
(JSC::BytecodeGenerator::beginSwitch):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):
(JSC::emitReadModifyAssignment):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::mergeToSuccessors):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setLocalStoreElimination):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::canHandleOpcodes):

  • dfg/DFGCommon.h:

(JSC::DFG::useKindToString):

  • dfg/DFGDoubleFormatState.h:

(JSC::DFG::mergeDoubleFormatStates):
(JSC::DFG::doubleFormatStateToString):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::blessArrayOperation):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNode.h:

(JSC::DFG::Node::valueOfJSConstant):
(JSC::DFG::Node::successor):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::nodeFlagsAsString):

  • dfg/DFGNodeType.h:

(JSC::DFG::defaultFlags):

  • dfg/DFGRepatch.h:

(JSC::DFG::dfgResetGetByID):
(JSC::DFG::dfgResetPutByID):

  • dfg/DFGSlowPathGenerator.h:

(JSC::DFG::SlowPathGenerator::call):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::silentSpill):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::checkGeneratedTypeForToInt32):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::bitOp):
(JSC::DFG::SpeculativeJIT::shiftOp):
(JSC::DFG::SpeculativeJIT::integerResult):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStructureCheckHoistingPhase.cpp:

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

  • dfg/DFGValueSource.h:

(JSC::DFG::ValueSource::valueRecovery):

  • dfg/DFGVariableEvent.cpp:

(JSC::DFG::VariableEvent::dump):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

  • heap/BlockAllocator.h:

(JSC::BlockAllocator::regionSetFor):

  • heap/GCThread.cpp:

(JSC::GCThread::gcThreadMain):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::sweepHelper):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::isLive):

  • interpreter/CallFrame.h:

(JSC::ExecState::inlineCallFrame):

  • interpreter/Interpreter.cpp:

(JSC::getCallerInfo):
(JSC::getStackFrameCodeType):
(JSC::Interpreter::execute):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::notifyPageIsFree):

  • jit/JIT.cpp:

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

  • jit/JITArithmetic.cpp:

(JSC::JIT::emitSlow_op_mod):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emitSlow_op_mod):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::isDirectPutById):

  • jit/JITStubs.cpp:

(JSC::getPolymorphicAccessStructureListSlot):
(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

  • parser/Lexer.cpp:

(JSC::::lex):

  • parser/Nodes.h:

(JSC::ExpressionNode::emitBytecodeInConditionContext):

  • parser/Parser.h:

(JSC::Parser::getTokenName):
(JSC::Parser::updateErrorMessageSpecialCase):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

  • runtime/Arguments.cpp:

(JSC::Arguments::tearOffForInlineCallFrame):

  • runtime/DatePrototype.cpp:

(JSC::formatLocaleDate):

  • runtime/Executable.cpp:

(JSC::samplingDescription):

  • runtime/Executable.h:

(JSC::ScriptExecutable::unlinkCalls):

  • runtime/Identifier.cpp:

(JSC):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::getCallData):

  • runtime/JSArray.cpp:

(JSC::JSArray::push):
(JSC::JSArray::sort):

  • runtime/JSCell.cpp:

(JSC::JSCell::defaultValue):
(JSC::JSCell::getOwnPropertyNames):
(JSC::JSCell::getOwnNonIndexPropertyNames):
(JSC::JSCell::className):
(JSC::JSCell::getPropertyNames):
(JSC::JSCell::customHasInstance):
(JSC::JSCell::putDirectVirtual):
(JSC::JSCell::defineOwnProperty):
(JSC::JSCell::getOwnPropertyDescriptor):

  • runtime/JSCell.h:

(JSCell):

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::put):

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getOwnPropertyDescriptor):

  • runtime/JSObject.h:

(JSC::JSObject::canGetIndexQuickly):
(JSC::JSObject::getIndexQuickly):
(JSC::JSObject::tryGetIndexQuickly):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::canSetIndexQuicklyForPutDirect):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::hasSparseMap):
(JSC::JSObject::inSparseIndexingMode):

  • runtime/JSScope.cpp:

(JSC::JSScope::isDynamicScope):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::putDirectVirtual):

  • runtime/JSSymbolTableObject.h:

(JSSymbolTableObject):

  • runtime/LiteralParser.cpp:

(JSC::::parse):

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • runtime/StructureTransitionTable.h:

(JSC::newIndexingType):

  • tools/CodeProfile.cpp:

(JSC::CodeProfile::sample):

  • yarr/YarrCanonicalizeUCS2.h:

(JSC::Yarr::getCanonicalPair):
(JSC::Yarr::areCanonicallyEquivalent):

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::matchCharacterClass):
(JSC::Yarr::Interpreter::matchBackReference):
(JSC::Yarr::Interpreter::backtrackParenthesesTerminalEnd):
(JSC::Yarr::Interpreter::matchParentheses):
(JSC::Yarr::Interpreter::backtrackParentheses):
(JSC::Yarr::Interpreter::matchDisjunction):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generateTerm):
(JSC::Yarr::YarrGenerator::backtrackTerm):

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::CharacterClassParserDelegate::assertionWordBoundary):
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomBackReference):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::atomCharacterClassBuiltIn):

14:24 Changeset [140593] by wangxianzhu@chromium.org

Should update compositing state when an out-of-view fixed position element becomes in-view
https://bugs.webkit.org/show_bug.cgi?id=107410

Reviewed by Simon Fraser.

Source/WebCore:

When a non-compositing page contains some not-composited fixed position element because of bounds out-of-view, when the element changes position and RenderLayerCompositor::updateCompositingLayers() is called, the function may return early because of "if (!m_reevaluateCompositingAfterLayout && !m_compositing)" without updating the compositing layers.

Set m_reevaluateCompositingAfterLayout when a fixed position element is not composited because of bounds out-of-view.

Test: compositing/layer-creation/fixed-position-change-out-of-view-in-view.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

LayoutTests:

Tests if compositing status is properly updated when fixed position elements change from out-of-view to in-view and back.

  • compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: Added.
  • compositing/layer-creation/fixed-position-change-out-of-view-in-view.html: Added.
14:20 Changeset [140592] by lforschler@apple.com

Merged r140582. <rdar://problem/13048210>

14:18 Changeset [140591] by ap@apple.com

Build fix.

  • Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage): Copy/paste trouble fix.
14:17 Changeset [140590] by tony@chromium.org

Unreviewed, set svn:eol-style to CRLF on Windows .sln files.

Source/JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore.sln: Modified property svn:eol-style.
  • JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Modified property svn:eol-style.

Source/ThirdParty:

  • gtest/msvc/gtest-md.sln: Added property svn:eol-style.
  • gtest/msvc/gtest.sln: Added property svn:eol-style.

Source/WebCore:

  • WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
  • WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln: Added property svn:eol-style.

Source/WebKit/win:

  • WebKit.vcproj/WebKit.sln: Modified property svn:eol-style.
  • WebKit.vcproj/WebKit.submit.sln: Modified property svn:eol-style.

Source/WTF:

  • WTF.vcproj/WTF.sln: Added property svn:eol-style.

Tools:

  • CLWrapper/CLWrapper.sln: Modified property svn:eol-style.
  • DumpRenderTree/DumpRenderTree.sln: Modified property svn:eol-style.
  • MIDLWrapper/MIDLWrapper.sln: Modified property svn:eol-style.
  • WebKitTestRunner/WebKitTestRunner.sln: Modified property svn:eol-style.
14:15 Changeset [140589] by abarth@webkit.org

BackgroundHTMLParser::sendTokensToMainThread should use bind
https://bugs.webkit.org/show_bug.cgi?id=107637

Reviewed by Eric Seidel.

Source/WebCore:

This patch replaces our hand-written implementation of bind for
didReceiveTokensFromBackgroundParser with bind from Functional.h. To
use the generic version of bind, we need to switch to using WeakPtr to
hold a reference to the main thread parser in the BackgroundHTMLParser.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
(WebCore::BackgroundHTMLParser::createPartial):

  • html/parser/BackgroundHTMLParser.h:

(WebCore::BackgroundHTMLParser::create):
(BackgroundHTMLParser):
(ParserMap):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::startBackgroundParser):
(WebCore::HTMLDocumentParser::stopBackgroundParser):

  • html/parser/HTMLDocumentParser.h:

(HTMLDocumentParser):

Source/WTF:

  • wtf/Functional.h:
    • I had to re-work the approach to validating WeakPtr |this| arguments a bit. Previously you couldn't pass a WeakPtr as a non-|this| argument to a function because we would try to unwrap it into a raw pointer.
  • wtf/WeakPtr.h:

(WTF::WeakPtrFactory::revokeAll):
(WeakPtrFactory):

  • Let clients revoke all outstanding WeakPtrs without needing to destroy the WeakPtrFactory.
  • wtf/chromium/MainThreadChromium.cpp:

(WTF::callFunctionObject):
(WTF::callOnMainThread):

  • Implement callOnMainThread for Function objects. The non-Chromium implementation of MainThread.cpp already implements this feature.
14:14 Changeset [140588] by roger_fong@apple.com

Unreviewed. Cleanup VS2010 WebCore project.
Lots of files that no longer exist in solution.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
14:13 Changeset [140587] by lforschler@apple.com

Merged r140481. <rdar://problem/13048210>

13:56 Changeset [140586] by pilgrim@chromium.org

[Chromium] Remove WebArrayBufferView and WebSerializedScriptValue from chromium/public/platform/
https://bugs.webkit.org/show_bug.cgi?id=107720

Reviewed by Darin Fisher.

These headers have been moved to chromium/public/ and all
references downstream were changed in
https://codereview.chromium.org/11946050/.
No DEPS roll necessary because it's already above 177695.

  • WebKit.gyp:
  • public/platform/WebArrayBufferView.h: Removed.
  • public/platform/WebSerializedScriptValue.h: Removed.
  • src/DeliveredIntentClientImpl.cpp:
  • src/IDBCallbacksProxy.cpp:
  • src/IDBCursorBackendProxy.cpp:
  • src/WebArrayBufferView.cpp:
  • src/WebBindings.cpp:
  • src/WebDOMCustomEvent.cpp:
  • src/WebDOMMessageEvent.cpp:
  • src/WebFrameImpl.cpp:
  • src/WebHistoryItem.cpp:
  • src/WebIDBCallbacksImpl.cpp:
  • src/WebIntent.cpp:
  • src/WebIntentRequest.cpp:
  • src/WebSerializedScriptValue.cpp:
13:55 Changeset [140585] by arv@chromium.org

Layout Test platform/chromium-win/fast/events/panScroll-panIcon.html is failing
https://bugs.webkit.org/show_bug.cgi?id=107729

Unreviewed gardening.

  • platform/chromium/TestExpectations:
13:44 Changeset [140584] by oliver@apple.com

Replace numerous manual CRASH's in JSC with RELEASE_ASSERT
https://bugs.webkit.org/show_bug.cgi?id=107726

Reviewed by Filip Pizlo.

Fairly manual change from if (foo) CRASH(); to RELEASE_ASSERT(!foo);

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::branchAdd32):
(JSC::MacroAssembler::branchMul32):

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::CodeBlockHash):

  • heap/BlockAllocator.h:

(JSC::Region::create):
(JSC::Region::createCustomSize):

  • heap/GCAssertions.h:
  • heap/HandleSet.cpp:

(JSC::HandleSet::visitStrongHandles):
(JSC::HandleSet::writeBarrier):

  • heap/HandleSet.h:

(JSC::HandleSet::allocate):

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::validate):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/ExecutableAllocator.cpp:

(JSC::DemandExecutableAllocator::allocateNewSpace):
(JSC::ExecutableAllocator::allocate):

  • jit/ExecutableAllocator.h:

(JSC::roundUpAllocationSize):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
(JSC::ExecutableAllocator::allocate):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createUninitialized):

  • runtime/Completion.cpp:

(JSC::evaluate):

  • runtime/JSArray.h:

(JSC::constructArray):

  • runtime/JSGlobalObject.cpp:

(JSC::slowValidateCell):

  • runtime/JSObject.cpp:

(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::createArrayStorage):

  • tools/TieredMMapArray.h:

(JSC::TieredMMapArray::append):

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::allocDisjunctionContext):
(JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
(JSC::Yarr::Interpreter::InputStream::readChecked):
(JSC::Yarr::Interpreter::InputStream::uncheckInput):
(JSC::Yarr::Interpreter::InputStream::atEnd):
(JSC::Yarr::Interpreter::interpret):

13:36 Changeset [140583] by jchaffraix@webkit.org

[CSS Grid Layout] Add support for max-content
https://bugs.webkit.org/show_bug.cgi?id=107604

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/minmax-max-content-resolution-columns.html

fast/css-grid-layout/minmax-max-content-resolution-rows.html

This change implements max-content on top of the infrastructure introduced as part
of implementing min-content (bug 106474). No effort was made to share code, which
is what was done for min-content. The sharing will occur in follow-up refactoring(s)
to benefit from the extra testing but also the extra code to make the direction more
obvious.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::maxContentForChild):
Added this helper, similar to minContentForChild.

(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
Patched the function to handle max-content per the specification's algorithm.

  • rendering/RenderGrid.h:

Added maxContentForChild.

LayoutTests:

  • fast/css-grid-layout/minmax-max-content-resolution-columns-expected.txt: Added.
  • fast/css-grid-layout/minmax-max-content-resolution-columns.html: Added.
  • fast/css-grid-layout/minmax-max-content-resolution-rows-expected.txt: Added.
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html: Added.
13:34 Changeset [140582] by ap@apple.com

<rdar://problem/13064414> REGRESSION(r139514): didFailToSendSyncMessage is not called by Connection
https://bugs.webkit.org/show_bug.cgi?id=107715

Reviewed by Anders Carlsson.

  • Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage): (CoreIPC::Connection::sendSyncMessageFromSecondaryThread): Correcting a misapplied edit - didFailToSendSyncMessage should be kept in main thread message sending, not in secondary thread.
13:31 Changeset [140581] by arv@chromium.org

[chromium] Layout test rebaselines

Unreviewed rebaseline

  • platform/chromium-win-xp/media/media-can-play-ogg-expected.txt: Added.
  • platform/chromium-win/media/media-can-play-ogg-expected.txt: Added.
13:26 Changeset [140580] by mark.lam@apple.com

Assert that Supplementable objects is only used in their creator thread.
https://bugs.webkit.org/show_bug.cgi?id=107717.

Reviewed by Adam Barth.

No new tests.

  • platform/Supplementable.h:

(WebCore):
(WebCore::Supplementable::provideSupplement):
(WebCore::Supplementable::removeSupplement):
(WebCore::Supplementable::requireSupplement):
(Supplementable):
(WebCore::Supplementable::Supplementable):

13:23 Changeset [140579] by jschuh@chromium.org

[CHROMIUM] Suppress c4267 build warnings in WTF for Win64 targets
https://bugs.webkit.org/show_bug.cgi?id=107721

Reviewed by Abhishek Arya.

  • WTF.gyp/WTF.gyp:
13:20 Changeset [140578] by pilgrim@chromium.org

[Chromium] Fix some #includes to headers in chromium/public/platform/ that have been moved to the new Platform directory
https://bugs.webkit.org/show_bug.cgi?id=107722

Reviewed by Darin Fisher.

These headers just redirect to the new versions, so call the new
versions directly.

  • src/linux/WebFontInfo.cpp:
  • src/mac/WebSubstringUtil.mm:
13:15 Changeset [140577] by oliver@apple.com

Add RELEASE_ASSERT (and a few friends)
https://bugs.webkit.org/show_bug.cgi?id=107725

Reviewed by Filip Pizlo.

Adding a few macros to make release mode assertions easier and more readable.
Also makes same assertions more useful in debug builds.

  • wtf/Assertions.h:
12:54 Changeset [140576] by tony@chromium.org

Incorrect scrollable height during simplified layout
https://bugs.webkit.org/show_bug.cgi?id=107193

Reviewed by David Hyatt.

Source/WebCore:

When computing overflow we need the height of the block before
it was clamped (i.e., before updateLogicalHeight() has been called).

During simplified layout, we don't have this information and we were
using the clamped height by mistake. To fix this, we now store the
pre-clamped height on RenderOverflow so we can properly compute
overflow.

Test: fast/overflow/height-during-simplified-layout.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow): Save the height if we have overflow.
(WebCore::RenderBlock::simplifiedLayout): If we have overflow, use the height that we saved
in computeOverflow.

  • rendering/RenderOverflow.h:

(WebCore::RenderOverflow::layoutClientAfterEdge):
(WebCore::RenderOverflow::setLayoutClientAfterEdge):
(RenderOverflow): Add a member variable to save the height.

LayoutTests:

  • fast/overflow/height-during-simplified-layout-expected.txt: Added.
  • fast/overflow/height-during-simplified-layout.html: Added.
12:51 Changeset [140575] by tsepez@chromium.org

[chromium] harden ScriptWrappable::m_wrapper against tampering
https://bugs.webkit.org/show_bug.cgi?id=107318

Reviewed by Adam Barth.

Patch is correct if existing tests past without crashing.

  • bindings/v8/ScriptWrappable.h:

(WebCore::ScriptWrappable::ScriptWrappable):
(WebCore::ScriptWrappable::wrapper):
(WebCore::ScriptWrappable::setWrapper):
(WebCore::ScriptWrappable::clearWrapper):
(WebCore::ScriptWrappable::disposeWrapper):
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):
(WebCore::ScriptWrappable::maskOrUnmaskPointer):

12:42 Changeset [140574] by roger_fong@apple.com

WebCore property sheets, modified build scripts, and project files for compiling in VS2010.
https://bugs.webkit.org/show_bug.cgi?id=106988

Reviewed by Brent Fulgham.

  • WebCore.vcproj/WebCore.sln:
  • WebCore.vcxproj: Added.
  • WebCore.vcxproj/MigrateScripts: Added.
  • WebCore.vcxproj/QTMovieWin: Added.
  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Added.
  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Added.
  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.user: Added.
  • WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props: Added.
  • WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props: Added.
  • WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props: Added.
  • WebCore.vcxproj/WebCore.vcxproj: Added.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Added.
  • WebCore.vcxproj/WebCore.vcxproj.user: Added.
  • WebCore.vcxproj/WebCoreCFNetwork.props: Added.
  • WebCore.vcxproj/WebCoreCG.props: Added.
  • WebCore.vcxproj/WebCoreCommon.props: Added.
  • WebCore.vcxproj/WebCoreDebug.props: Added.
  • WebCore.vcxproj/WebCoreGenerated.make: Added.
  • WebCore.vcxproj/WebCoreGenerated.vcxproj: Added.
  • WebCore.vcxproj/WebCoreGenerated.vcxproj.filters: Added.
  • WebCore.vcxproj/WebCoreGenerated.vcxproj.user: Added.
  • WebCore.vcxproj/WebCoreGeneratedCommon.props: Added.
  • WebCore.vcxproj/WebCoreGeneratedDebug.props: Added.
  • WebCore.vcxproj/WebCoreGeneratedRelease.props: Added.
  • WebCore.vcxproj/WebCoreMediaQT.props: Added.
  • WebCore.vcxproj/WebCorePostBuild.cmd: Added.
  • WebCore.vcxproj/WebCorePreBuild.cmd: Added.
  • WebCore.vcxproj/WebCorePreLink.cmd: Added.
  • WebCore.vcxproj/WebCorePthreads.props: Added.
  • WebCore.vcxproj/WebCoreQuartzCore.props: Added.
  • WebCore.vcxproj/WebCoreRelease.props: Added.
  • WebCore.vcxproj/build-generated-files.sh: Added.
  • WebCore.vcxproj/copyForwardingHeaders.cmd: Added.
  • WebCore.vcxproj/copyWebCoreResourceFiles.cmd: Added.
  • WebCore.vcxproj/migrate-scripts.sh: Added.
  • WebCore.vcxproj/xcopy.excludes: Added.
  • WebCorePrefix.h:
  • config.h:
12:36 Changeset [140573] by eric@webkit.org

HTMLCompactToken needs to include the forceQuirks bool from HTMLToken
https://bugs.webkit.org/show_bug.cgi?id=107713

Reviewed by Tony Gentilcore.

Before we were only getting "quirks mode" when the system/public identifiers
were known quirks identifiers. Now we'll correctly get quirks mode for any
parse error during DOCTYPE parsing.
This passes a bunch more tests.

  • html/parser/CompactHTMLToken.cpp:

(WebCore::CompactHTMLToken::CompactHTMLToken):

  • html/parser/CompactHTMLToken.h:

(WebCore::CompactHTMLToken::doctypeForcesQuirks):
(CompactHTMLToken):

  • html/parser/HTMLToken.h:

(WebCore::AtomicHTMLToken::AtomicHTMLToken):

12:21 Changeset [140572] by beidson@apple.com

Recursion handling cancelled authentication challenges in NetworkProcess
<rdar://problem/13024541> and https://bugs.webkit.org/show_bug.cgi?id=107702

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

This turned in to both a bug fix with authentication and a minimal refactoring of NetworkResourceLoader.

  • Rename ::stop to ::resourceHandleStopped
  • Move all cleanup code to ::resourceHandleStopped
  • Schedule a resourceHandleStopped call when an authentication cancellation occurs
  • Tell the WebResourceLoader to cancel when an authentication cancellation occurs
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::performStops):
(WebKit::NetworkResourceLoader::resourceHandleStopped):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):

  • NetworkProcess/NetworkResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::cancelResourceLoader):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
12:17 Changeset [140571] by bdakin@apple.com

https://bugs.webkit.org/show_bug.cgi?id=107628
Sometimes scroll position is jerky during rubber-band, affects nytimes.com
-and corresponding-
<rdar://problem/12679549>

Reviewed by Simon Fraser.

The basic problem here is that isRubberBandInProgress() was only implemented for
main thread scrolling. So when we were actually scrolling on the scrolling thread,
that function would always return false regardless.

New ScrollableArea virtual function isRubberBandInProgress() will allow us to ask
the ScrollingCoordinator when the scrolling thread is scrolling, or the
ScrollAnimator otherwise.

  • page/FrameView.cpp:

(WebCore::FrameView::isRubberBandInProgress):

  • page/FrameView.h:

(FrameView):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::isRubberBandInProgress):

New ScrollingCoordinator function isRubberBandInProgress() always returns false
for non-Mac ports, and is overridden in ScrollingCoordinatorMac to consult the
ScrollingTree.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::isRubberBandInProgress):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:

(ScrollingCoordinatorMac):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::isRubberBandInProgress):

New variable m_mainFrameIsRubberBanding keeps track of whether there is currently
a rubber-band happening on the scrolling thread.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::isRubberBandInProgress):
(WebCore::ScrollingTree::setMainFrameIsRubberBanding):

  • page/scrolling/ScrollingTree.h:

(ScrollingTree):
(WebCore::ScrollingTree::rootNode):

Call setMainFrameIsRubberBanding() whenever the stretchAmount is calculated and
whenever we stop the rubber-band timer.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):

Consult FrameView for isRubberBandInProgress().

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

12:15 Changeset [140570] by robert@webkit.org

Abspos Inline block not positioned correctly in text-aligned container
https://bugs.webkit.org/show_bug.cgi?id=105695

Reviewed by Ojan Vafai.

Source/WebCore:

Inline positioned elements should still obey the text-alignment of their container
even when we don't do a line layout.

Test: fast/text/container-align-with-inlines.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::updateStaticInlinePositionForChild):
(WebCore):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setStaticPositions):

LayoutTests:

  • fast/text/container-align-with-inlines-expected.txt: Added.
  • fast/text/container-align-with-inlines.html: Added.
12:13 Changeset [140569] by eric@webkit.org

Remove DocType support from MarkupTokenBase now that NEW_XML is gone
https://bugs.webkit.org/show_bug.cgi?id=107709

Reviewed by Adam Barth.

Just moving code out of MarkupTokenBase and into HTMLToken.
The test for this change is if it compiles. :) Which it does.

  • html/parser/HTMLToken.h:

(DoctypeData):
(WebCore::DoctypeData::DoctypeData):
(WebCore):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::name):
(HTMLToken):
(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::publicIdentifier):
(WebCore::HTMLToken::systemIdentifier):
(WebCore::HTMLToken::setPublicIdentifierToEmptyString):
(WebCore::HTMLToken::setSystemIdentifierToEmptyString):
(WebCore::HTMLToken::appendToPublicIdentifier):
(WebCore::HTMLToken::appendToSystemIdentifier):
(WebCore::HTMLToken::releaseDoctypeData):
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
(AtomicHTMLToken):

  • html/parser/HTMLTokenTypes.h:
  • xml/parser/MarkupTokenBase.h:

(WebCore):
(MarkupTokenBase):

12:11 Changeset [140568] by roger_fong@apple.com

Add the VS2010 WebKit solution folder and solution file.
The solution of course will not load until the dependent projects are all completed.
https://bugs.webkit.org/show_bug.cgi?id=106949.

Reviewed by Brent Fulgham.

  • WebKit.vcxproj: Added.
  • WebKit.vcxproj/WebKit.sln: Added.
11:59 Changeset [140567] by roger_fong@apple.com

Add WebKitLibraries property sheets for compiling WebKit in VS2010.
https://bugs.webkit.org/show_bug.cgi?id=106949

Reviewed by Brent Fulgham.

  • win/tools/vsprops/FeatureDefines.props: Added.
  • win/tools/vsprops/common.props: Added.
  • win/tools/vsprops/debug.props: Added.
  • win/tools/vsprops/release.props: Added.
  • win/tools/vsprops/releaseproduction.props: Added.
11:56 Changeset [140566] by pilgrim@chromium.org

[Chromium] Fix some #includes for WebSerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=107697

Reviewed by Adam Barth.

WebSerializedScriptValue has been moved to chromium/public/.

  • public/WebDOMCustomEvent.h:
  • public/WebDOMMessageEvent.h:
  • public/WebIDBCursor.h:
11:55 Changeset [140565] by pilgrim@chromium.org

[Chromium] Update some #includes in DumpRenderTree for headers in the new Platform directory
https://bugs.webkit.org/show_bug.cgi?id=107145

Reviewed by Adam Barth.

Part of a larger refactoring series; see tracking bug 82948.

  • DumpRenderTree/chromium/DRTDevToolsAgent.cpp:
  • DumpRenderTree/chromium/DRTDevToolsAgent.h:
  • DumpRenderTree/chromium/DRTDevToolsClient.h:
  • DumpRenderTree/chromium/DRTTestRunner.cpp:
  • DumpRenderTree/chromium/DRTTestRunner.h:
  • DumpRenderTree/chromium/MockWebPrerenderingSupport.h:
  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp:
  • DumpRenderTree/chromium/MockWebSpeechInputController.h:
  • DumpRenderTree/chromium/NotificationPresenter.cpp:
  • DumpRenderTree/chromium/TestNavigationController.h:
  • DumpRenderTree/chromium/TestRunner/src/AccessibilityControllerChromium.cpp:
  • DumpRenderTree/chromium/TestRunner/src/AccessibilityUIElementChromium.cpp:
  • DumpRenderTree/chromium/TestRunner/src/CppBoundClass.cpp:
  • DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:

(WebTestRunner):

  • DumpRenderTree/chromium/TestRunner/src/EventSender.h:
  • DumpRenderTree/chromium/TestRunner/src/GamepadController.h:
  • DumpRenderTree/chromium/TestRunner/src/TestDelegate.h:
  • DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
  • DumpRenderTree/chromium/TestRunner/src/TextInputController.cpp:
  • DumpRenderTree/chromium/TestRunner/src/WebPermissions.cpp:
  • DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp:
  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/WebThemeEngineDRTMac.h:
  • DumpRenderTree/chromium/WebThemeEngineDRTMac.mm:
  • DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:
  • DumpRenderTree/chromium/WebThemeEngineDRTWin.h:
  • DumpRenderTree/chromium/WebViewHost.cpp:
11:49 Changeset [140564] by nghanavatian@rim.com

[BlackBerry] Take a better guess as to what text the user wants learned
https://bugs.webkit.org/show_bug.cgi?id=107706

Reviewed by Rob Buis.

If we still have a valid caret position, use it to give priority to a region
of text. We now take the text before the caret, instead of the text at the end
of the field. If the caret is not present, we start from the beginning of the field.
This helps learning in email where the region of interest is generally at the start,
not end of the field.

Internally reviewed by Mike Fenton

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::learnText):

11:49 Changeset [140563] by zandobersek@gmail.com

Unreviewed.

Speculative build fix for the GTK port after 140539.

  • Source/autotools/symbols.filter:
11:48 Changeset [140562] by nghanavatian@rim.com

[BlackBerry] Optimize spellchecking by coalescing messages
https://bugs.webkit.org/show_bug.cgi?id=107707

Reviewed by Rob Buis.

PR233604
Instead of taking chunks one line at a time, coalesce them together
to fire off messages as close to our character limit as possible.
This should dramatically reduce the total number of messages in email
giving us a little performance bump.

Internally reviewed by Mike Fenton and Gen Mak.

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
(DOMSupport):

  • WebKitSupport/DOMSupport.h:
  • WebKitSupport/InputHandler.cpp:
  • WebKitSupport/InputHandler.h:

(InputHandler):

  • WebKitSupport/SpellingHandler.cpp:

(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
(BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):

  • WebKitSupport/SpellingHandler.h:
11:45 Changeset [140561] by jochen@chromium.org

[chromium] Use after free in plugins/geturlnotify-during-document-teardown.html
https://bugs.webkit.org/show_bug.cgi?id=107556

Reviewed by Tony Chang.

WebViewHost initiates a navigation to about:blank in its destructor.
However, since WebTestProxy inherits from WebViewHost, at this point
the WebViewClient and WebFrameClient interfaces are already partially
destructed resulting in the use after free.

This does not affect the chromium implementation since it doesn't
invoke WebKit API methods in its destructor.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::~TestShell):
(TestShell::closeWindow):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::WebViewHost):
(WebViewHost::~WebViewHost):
(WebViewHost::shutdown):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

11:27 Changeset [140560] by alexis@webkit.org

transition-property accepts incorrect "all, none" as value
https://bugs.webkit.org/show_bug.cgi?id=105428

Reviewed by Dean Jackson.

Source/WebCore:

http://www.w3.org/TR/css3-transitions/#transition-property-property
disallows any value like none, all or all, none as it doesn't make
sense. This patch fixes the problem by rejecting the value if set by
the user.

Test: transitions/transitions-parsing.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseAnimationProperty):

  • css/CSSParser.h:

LayoutTests:

Extend the existing tests to cover the bug.

  • transitions/transitions-parsing-expected.txt:
  • transitions/transitions-parsing.html:
11:23 Changeset [140559] by eric@webkit.org

Clarify some usage of shouldUseThreading vs m_haveBackgroundParser, fixing about:blank parsing
https://bugs.webkit.org/show_bug.cgi?id=107664

Reviewed by Adam Barth.

The HTMLDocumentParser can be "supposed" to use a background parser
but not end up ever doing so for blank documents. It's important
that we spin the forground parser at least once, so we end up
actually creating the about:blank document.

shouldUseThreading() means that threading is enabled and we should use it if we can.
m_haveBackgroundParser means that we actually are already using threading.
When we add full document.write support this will get a bit trickier still as
we'll need to be using both the foreground and background parsers.

This fixes about 20 tests in fast/frames and many others outside of fast/frames. :)

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::lineNumber):
(WebCore::HTMLDocumentParser::textPosition):

11:16 Fixing page breaking edited by tony@gonk.net
Tweaked formatting. (diff)
11:15 Changeset [140558] by roger_fong@apple.com

[Win] Remove dependence on Microsoft Embedded OpenType Font Engine (T2EMBED.DLL) from FontCustomPlatformData.cpp.
https://bugs.webkit.org/show_bug.cgi?id=107153

Reviewed by Dan Bernstein.

  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore):
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):

11:13 Changeset [140557] by commit-queue@webkit.org

[GTK] Avoid reset title for navigation within the page
https://bugs.webkit.org/show_bug.cgi?id=106908

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-01-23
Reviewed by Martin Robinson.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidNavigateWithinPage): Call
dispatchDidCommitLoad with true as param.
(WebKit::FrameLoaderClient::dispatchDidCommitLoad): The method has been
overloaded. The default implementation (without params) simply calls
dispatchDidCommitLoad with false. The new private method with
isNavigatingWithinPage as param will avoid to reset the title for
navigation within the page.

  • WebCoreSupport/FrameLoaderClientGtk.h:

(FrameLoaderClient): Add new private method dispatchDidCommitLoad with a
boolean parameter to know if it is navigating withing the same page or
not.

11:10 Changeset [140556] by commit-queue@webkit.org

Web Inspector: speedup highlight regex API in DefaultTextEditor
https://bugs.webkit.org/show_bug.cgi?id=107238

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-23
Reviewed by Pavel Feldman.

Source/WebCore:

Move overlay highlight measurement (highlight regex API) from DefaultTextEditor._paintLine
method to the DefaultTextEditor._paintLines method which allows to relayout dom only
once. This is a significant improvement to the current state of the
art which does relayout on each regex occurence.
In addition, use "left" css attribute instead of "margin-left": this
way it will be possible to avoid an unnecessary relayouting during
appending overlay highlight.

No new tests: no change in behaviour.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._measureRegexHighlight):
(WebInspector.TextEditorMainPanel.prototype._measureSpans):
(WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
(WebInspector.TextEditorMainPanel.prototype._paintLine):
(WebInspector.TextEditorMainPanel.ElementMetrics):
(WebInspector.TextEditorMainPanel.LineOverlayHighlight):
(WebInspector.TextEditorMainChunk.prototype.expand):

LayoutTests:

Corrected layout test expectations to correspond to refactoring.

  • inspector/editor/text-editor-highlight-regexp-expected.txt:
11:04 Changeset [140555] by kerz@chromium.org

mini-mega patch for impl side painting test

11:02 WebInspector edited by tony@gonk.net
Minor markup/formatting tweaks (diff)
10:57 WebInspector edited by tony@gonk.net
Minor fix (table header cells) (diff)
10:55 WebInspector edited by tony@gonk.net
Tweaked table markup & Mac shortcuts (unicode chars) (diff)
10:54 Changeset [140554] by ojan@chromium.org

Assert that computePreferredLogicalWidths never calls setNeedsLayout
https://bugs.webkit.org/show_bug.cgi?id=107613

Reviewed by Eric Seidel.

computePreferredLogicalWidths should only set m_minPreferredLogicalWidth
and m_maxPreferredLogicalWidth. It shouldn't have other side-effects.
The mathml bits can be removed once https://bugs.webkit.org/show_bug.cgi?id=107353
is resolved.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::minPreferredLogicalWidth):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::computePreferredLogicalWidths):

  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::computePreferredLogicalWidths):

10:53 Changeset [140553] by pfeldman@chromium.org

Follow up to 140539, adding exports for Win build.

Not reviewed.

  • WebKit.vcproj/WebKitExports.def.in:
10:52 Changeset [140552] by inferno@chromium.org

Revert 140206

10:52 Changeset [140551] by kerz@chromium.org

Setup drover

10:48 Changeset [140550] by commit-queue@webkit.org

[GTK][WK2] Unflag tests related to layoutTestController.setViewModeMediaFeature
https://bugs.webkit.org/show_bug.cgi?id=107660

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-01-23
Reviewed by Philippe Normand.

  • platform/gtk-wk2/TestExpectations: Remove tests related to

layoutTestController.setViewModeMediaFeature as they are passing now.

10:47 Changeset [140549] by lforschler@apple.com

Versioning.

10:46 Changeset [140548] by lforschler@apple.com

New Tag.

10:42 Changeset [140547] by commit-queue@webkit.org

REGRESSION(r140518): Broke Chromium Win build (gyp file not updated) (Requested by arv on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=107691

Unreviewed build fix. Removed TextureMapperShaderManager.* from WebCore.gypi.

Patch by Noam Rosenthal <noam@webkit.org> on 2013-01-23

  • WebCore.gypi:
10:25 Changeset [140546] by commit-queue@webkit.org

Unreviewed, rolling out r140307, r140411, and r140512.
http://trac.webkit.org/changeset/140307
http://trac.webkit.org/changeset/140411
http://trac.webkit.org/changeset/140512
https://bugs.webkit.org/show_bug.cgi?id=107689

Perf regression on DOMDivWalk (bug 106726) (Requested by
falken on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-23

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::removedFrom):
(WebCore):
(WebCore::Element::isInTopLayer):
(WebCore::Element::setIsInTopLayer):

  • dom/Element.h:
  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::isInTopLayer):
(WebCore::ElementRareData::setIsInTopLayer):
(WebCore::ElementRareData::ElementRareData):

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

(Node):

  • dom/NodeRenderingContext.cpp:

(WebCore::isRendererReparented):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isInTopLayer):
(WebCore::RenderLayer::rebuildZOrderLists):

LayoutTests:

  • fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer-expected.html: Removed.
  • fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html: Removed.
  • fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd-expected.html: Removed.
  • fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html: Removed.
10:24 Changeset [140545] by kerz@chromium.org

Branch for test build

10:23 Changeset [140544] by kerz@chromium.org

Mini branch for test build

10:22 Changeset [140543] by commit-queue@webkit.org

Source/WebCore: Web Inspector: allow user to resize inspector window by dragging the toolbar
https://bugs.webkit.org/show_bug.cgi?id=107648

Patch by Dmitry Gozman <dgozman@chromium.org> on 2013-01-23
Reviewed by Pavel Feldman.

This did not work before you click dock button once.
Also, last drag position was not respected.

No new tests, because of pure inspector UI change.

  • inspector/front-end/DockController.js:

(WebInspector.DockController.prototype.isDockedToBottom):

  • inspector/front-end/Toolbar.js:

(WebInspector.Toolbar.prototype._isDockedToBottom):
(WebInspector.Toolbar.prototype._toolbarDragStart):
(WebInspector.Toolbar.prototype._toolbarDragEnd):
(WebInspector.Toolbar.prototype._toolbarDrag):

Source/WebKit/chromium: Added changeAttachedWindowHeight method to inspector frontend API, which
allows to change inspector window height from inside.
https://bugs.webkit.org/show_bug.cgi?id=107648

Patch by Dmitry Gozman <dgozman@chromium.org> on 2013-01-23
Reviewed by Pavel Feldman.

  • public/WebDevToolsFrontendClient.h:

(WebKit::WebDevToolsFrontendClient::changeAttachedWindowHeight):

  • src/InspectorFrontendClientImpl.cpp:

(WebKit::InspectorFrontendClientImpl::changeAttachedWindowHeight):

10:20 Changeset [140542] by christophe.dumez@intel.com

[EFL][WK2] Use C API inside ewk_cookie_manager
https://bugs.webkit.org/show_bug.cgi?id=107661

Reviewed by Alexey Proskuryakov.

Use C API inside ewk_cookie_manager instead of
accessing C++ classes directly and violating
layering.

  • PlatformEfl.cmake:
  • UIProcess/API/C/soup/WKCookieManagerSoup.cpp: Added.

(toSoupCookiePersistentStorageType):
(WKCookieManagerSetCookiePersistentStorage): Add C API for setting
the persistent storage path and type when using libsoup.

  • UIProcess/API/C/soup/WKCookieManagerSoup.h: Added.
  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::cookieManager):

  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
(ewk_cookie_manager_persistent_storage_set):
(ewk_cookie_manager_hostname_cookies_clear):

  • UIProcess/API/efl/ewk_cookie_manager_private.h:

(EwkCookieManager::create):
(EwkCookieManager):

10:04 Changeset [140541] by shinyak@chromium.org

shadowAncestorNode() should be renamed to deprecatedShadowAncestorNode()
https://bugs.webkit.org/show_bug.cgi?id=107624

Reviewed by Dimitri Glazkov.

Since Node::shadowAncestorNode() is deprecated, we would like to rename it to prevent from further use.

Source/WebCore:

No new tests, simple refactoring.

  • WebCore.order:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessibilityHitTest):

  • dom/Document.cpp:

(WebCore::Document::handleZeroPadding):

  • dom/Node.cpp:

(WebCore::Node::deprecatedShadowAncestorNode):

  • dom/Node.h:

(Node):

  • editing/Editor.cpp:

(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplacementFragment::ReplacementFragment):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::bestClickableNodeForTouchPoint):

  • page/FocusController.cpp:

(WebCore::clearSelectionIfNeeded):

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::setToNonShadowAncestor):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::webContext):

  • WebKitSupport/FatFingers.h:

(BlackBerry::WebKit::FatFingersResult::node):

  • WebKitSupport/InPageSearchManager.cpp:

(BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::scopeStringMatches):
(WebKit::WebFrameImpl::setFindEndstateFocusAndSelection):

Source/WebKit/qt:

  • WebCoreSupport/QWebPageAdapter.cpp:

(QWebPageAdapter::inputMethodEvent):
(QWebPageAdapter::inputMethodQuery):

10:02 Changeset [140540] by commit-queue@webkit.org

[CSS Regions] Create Regions watchlist
https://bugs.webkit.org/show_bug.cgi?id=107281

Patch by Andrei Bucur <abucur@adobe.com> on 2013-01-23
Reviewed by Adam Barth.

This patch adds 4 new definitions:

  • RegionsDevelopment - used to track the development progress for regions
  • RegionsExpectationsMore and RegionsExpectationsLess - used to track expectations changes for the regions tests
  • RegionsUsage - used to track changes that make use of regions in all the code base

For now, the Adobe internal tracker is the only email address listening for these patterns.

  • Scripts/webkitpy/common/config/watchlist:
09:57 Changeset [140539] by pfeldman@chromium.org

Web Inspector: only allow evaluateForTestInFrontend for front-ends under test.
https://bugs.webkit.org/show_bug.cgi?id=107523

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::isUnderTest):
(WebCore):
(WebCore::InspectorController::evaluateForTestInFrontend):

  • inspector/InspectorController.h:

(InspectorController):

  • inspector/InspectorFrontendClient.h:

(InspectorFrontendClient):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::canAttachWindow):
(WebCore::InspectorFrontendClientLocal::isUnderTest):
(WebCore):

  • inspector/InspectorFrontendClientLocal.h:

(InspectorFrontendClientLocal):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::isUnderTest):
(WebCore):

  • inspector/InspectorFrontendHost.h:

(InspectorFrontendHost):

  • inspector/InspectorFrontendHost.idl:
  • inspector/front-end/DOMExtension.js:
  • inspector/front-end/InspectorFrontendHostStub.js:

(.WebInspector.InspectorFrontendHostStub.prototype.canInspectWorkers):
(.WebInspector.InspectorFrontendHostStub.prototype.isUnderTest):

  • inspector/front-end/TestController.js:

(.invokeMethod):
(WebInspector.evaluateForTestInFrontend):

  • inspector/front-end/externs.js:

Source/WebKit/chromium:

  • public/WebDevToolsFrontendClient.h:

(WebKit::WebDevToolsFrontendClient::isUnderTest):
(WebDevToolsFrontendClient):

  • src/InspectorFrontendClientImpl.cpp:

(WebKit::InspectorFrontendClientImpl::isUnderTest):

  • src/InspectorFrontendClientImpl.h:

(InspectorFrontendClientImpl):

Tools:

  • DumpRenderTree/chromium/DRTDevToolsClient.cpp:

(DRTDevToolsClient::isUnderTest):
(DRTDevToolsClient::call):

  • DumpRenderTree/chromium/DRTDevToolsClient.h:

(DRTDevToolsClient):

09:45 Changeset [140538] by commit-queue@webkit.org

Web Inspector: remove invisibleLineRow code from paintLines DTE method
https://bugs.webkit.org/show_bug.cgi?id=107649

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-23
Reviewed by Pavel Feldman.

Remove invisibleLineRow logic from TextEditorMainPanel._paintLines method.

No new tests: no change in behaviour.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype._paintLines):

07:22 Changeset [140537] by dominicc@chromium.org

REGRESSION(r140101): caused debug asserts in fast/forms/associated-element-crash.html and html5lib/run-template.html
https://bugs.webkit.org/show_bug.cgi?id=107237

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2013-01-23
Reviewed by Adam Barth.

Source/WebCore:

No new tests needed.

When the parser foster-parent's a node out of a table context and the foster parent is a template element, set the Task.parent
to be the template element's content, rather than the element itself. This ensures the foster-parented node isn't errorenously
reparented.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::findFosterSite):

LayoutTests:

  • platform/chromium/TestExpectations:
07:13 Changeset [140536] by arv@chromium.org

[chromium] Layout test rebaselines

Unreviewed rebaseline

  • platform/chromium-linux-x86/media/media-can-play-ogg-expected.txt: Added.
  • platform/chromium-linux/media/media-can-play-ogg-expected.txt: Added.
  • platform/chromium-mac-lion/media/media-can-play-ogg-expected.txt: Added.
  • platform/chromium-mac-snowleopard/media/media-can-play-ogg-expected.txt: Added.
  • platform/chromium-mac/media/media-can-play-ogg-expected.txt: Added.
07:01 Changeset [140535] by yurys@chromium.org

Web Inspector: heap profiler shows nodes with distance 0
https://bugs.webkit.org/show_bug.cgi?id=107425

Reviewed by Pavel Feldman.

"Document DOM tree" entities now have distance 1. So if there is a DOM
wrapper that is not referenced from javascript it will anyways be shown
in the heap snapshot and will have distance 2. Also such DOM wrappers
are considered to be reachable from user roots (e.g. global Window objects)
otherwice they are not event shown in the heap snapshots.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot.prototype.distanceForUserRoot):
(WebInspector.HeapSnapshot.prototype._calculateDistances):

  • inspector/front-end/JSHeapSnapshot.js:

(WebInspector.JSHeapSnapshot.prototype.distanceForUserRoot): distance for
"(Document DOM trees)" is set to 0 to make sure distance of "Ddocument DOM tree" is 1.
(WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
(WebInspector.JSHeapSnapshotNode.prototype.isDocumentDOMTreesRoot):

06:58 Changeset [140534] by yurys@chromium.org

Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html
https://bugs.webkit.org/show_bug.cgi?id=107687

Reviewed by Pavel Feldman.

  • inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead

of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule.

06:39 EFLWebKit edited by kov@webkit.org
Fix link to WebKitGTK+'s wiki page (diff)
04:36 Changeset [140533] by kadam@inf.u-szeged.hu

[Qt] Unreviewed gardening.
Rebaselining after r140448, r140459 and r140493.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-01-23

  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
04:04 Changeset [140532] by philn@webkit.org

[GStreamer] Add Opus MIME type to the list of supported ones
https://bugs.webkit.org/show_bug.cgi?id=98759

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2013-01-23
Reviewed by Philippe Normand.

Source/WebCore:

GStreamer has support for the Opus codec (http://opus-codec.org) by
using a plugin present in the "gst-plugins-bad" repository. Opus
streams may be embedded in a Ogg container, or standalone. The case
of the Ogg container is already covered by the "*/ogg" MIME types
declared as supported by the GStreamer media playing code, but for
standalone streams to work, "audio/opus" has to be added.

With this, and the needed GStreamer plugin installed, the GTK+
launcher is able to correctly play the example streams from
http://opus-codec.org/examples

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

LayoutTests:

Opus (http://opus-codec.org) streams are typically embedded into
Ogg containers, so add a check for it in the test case.

  • media/media-can-play-ogg-expected.txt:
  • media/media-can-play-ogg.html:
  • platform/chromium-android/media/media-can-play-ogg-expected.txt:
  • platform/chromium/media/media-can-play-ogg-expected.txt: Copied from LayoutTests/media/media-can-play-ogg-expected.txt.
  • platform/efl/media/media-can-play-ogg-expected.txt: Copied from LayoutTests/media/media-can-play-ogg-expected.txt.
  • platform/gtk/media/media-can-play-ogg-expected.txt: Copied from LayoutTests/media/media-can-play-ogg-expected.txt.
  • platform/qt-linux/media/media-can-play-ogg-expected.txt: Copied from LayoutTests/media/media-can-play-ogg-expected.txt.
02:51 Changeset [140531] by tasak@google.com

[Refactoring] Remove elementParentStyle from SelectorCheckerContext
https://bugs.webkit.org/show_bug.cgi?id=107496

Reviewed by Darin Adler.

Since childrenAffectedBy bits were moved from RenderStyle to element,
now elementParentStyle is not used in SelectorChecker and
StyleResolver. We should remove the member varaiable from
SelectorCheckerContext.

No new tests, because just refactoring.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
(SelectorCheckingContext):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::ruleMatches):
Removed elementParentStyle.

02:26 Changeset [140530] by akling@apple.com

Pass CSSSelector pointers around as const after parsing stage.
<http://webkit.org/b/107645>

Reviewed by Antti Koivisto.

Have CSSSelectorList vend const CSSSelector* and make the style resolution code
operate on const pointers instead.

This gives us some compile-time confidence that nobody is changing the selectors
after we've parsed them.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::operator==):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::parseNth):
(WebCore::CSSSelector::matchNth):

  • css/CSSSelector.h:

(CSSSelector):
(WebCore::CSSSelector::tagHistory):
(WebCore::CSSSelector::selectorList):

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::selectorsText):
(WebCore::forEachTagSelector):
(WebCore::forEachSelector):
(WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
(WebCore::SelectorHasInvalidSelectorFunctor::operator()):

  • css/CSSSelectorList.h:

(WebCore::CSSSelectorList::first):
(CSSSelectorList):
(WebCore::CSSSelectorList::selectorAt):
(WebCore::CSSSelectorList::indexOfNextSelectorAfter):
(WebCore::CSSSelectorList::next):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::generateSelectorText):

  • css/RuleSet.cpp:

(WebCore::selectorListContainsUncommonAttributeSelector):
(WebCore::collectFeaturesFromRuleData):

  • css/RuleSet.h:

(WebCore::RuleData::selector):
(WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
(RuleSetSelectorPair):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matches):
(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::determineLinkMatchType):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
(SelectorCheckingContext):
(SelectorChecker):

  • css/StyleInvalidationAnalysis.cpp:

(WebCore::determineSelectorScopes):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::checkRegionSelector):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::initialize):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:

(WebCore::SelectorDataList::SelectorData::SelectorData):
(SelectorData):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::collectSelectFeatureSetFrom):

  • html/shadow/ContentSelectorQuery.cpp:

(WebCore::ContentSelectorChecker::checkContentSelector):
(WebCore::ContentSelectorDataList::initialize):

  • html/shadow/ContentSelectorQuery.h:

(ContentSelectorChecker):
(ContentSelectorDataList):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::validateSubSelector):
(WebCore::validateSelector):
(WebCore::HTMLContentElement::validateSelect):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::buildObjectForSelectorList):

02:22 Changeset [140529] by sergio@webkit.org

[GTK] Unreviewed build fix after r140518.

  • GNUmakefile.list.am: rename TextureMapperShaderManager to

TextureMapperShaderProgram.

02:06 Changeset [140528] by commit-queue@webkit.org

Removing command line shortening as it makes it difficult to see the command during errors.
https://bugs.webkit.org/show_bug.cgi?id=107643

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-23
Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/system/executive.py:

(ScriptError):
(ScriptError.init):

  • Scripts/webkitpy/common/system/executive_unittest.py:
02:03 Changeset [140527] by mkwst@chromium.org

Merge 139927

Fix a crash when printing console messages to STDOUT.

https://bugs.webkit.org/show_bug.cgi?id=107039

Reviewed by Joseph Pecoraro.

  • page/Console.cpp:

(WebCore::internalAddMessage): Don't release the RefPtr early. Also log the line number
and convert non-string arguments to strings when printing them.

TBR=timothy@apple.com
Review URL: https://codereview.chromium.org/12042046

01:56 Changeset [140526] by commit-queue@webkit.org

Adding myself as contributor in committers.py (as requested by eseidel).
https://bugs.webkit.org/show_bug.cgi?id=107647

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-23
Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/config/committers.py:
01:42 Changeset [140525] by yosin@chromium.org

REGRESSION(r139044): Pan icon remains on screen on Chromium-WinXP
https://bugs.webkit.org/show_bug.cgi?id=107623

Reviewed by Hajime Morita.

Source/WebCore:

The issue is caused by AutoscrollController::stopAutoscrollTimer()
doesn't call View::removePanScrollIcon() because m_autoscrollType
is reset before checking it.

This patch changes to reset m_autoscrollType after all references.

Test: platform/chromium-win/fast/events/panScroll-panIcon.html

  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::stopAutoscrollTimer):

LayoutTests:

This test checks no pan icon after pan scroll.

  • platform/chromium-win/fast/events/panScroll-panIcon-expected.png: Added.
  • platform/chromium-win/fast/events/panScroll-panIcon-expected.txt: Added.
  • platform/chromium-win/fast/events/panScroll-panIcon.html: Added.
  • platform/chromium/TestExpectations: Changed to skip entry for panScroll-panIcon.html for Android, Linux and Mac.
01:21 Changeset [140524] by sergio@webkit.org

REGRESSION(r140338): WebKitGtk+ trying to allocate a buffer too big
https://bugs.webkit.org/show_bug.cgi?id=107646

Reviewed by Carlos Garcia Campos.

g_input_stream_skip_async() was replaced in r140338 by
g_input_stream_read_async() to workaround a glib buffer. The former
was using G_MAXSSIZE to skip the whole redirect message but we
cannot use it for the latter because it will try to
allocate a buffer of that size. Replaced it by READ_BUFFER_SIZE. No
new tests required, functionality already covered by network tests..

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::redirectSkipCallback):
(WebCore::sendRequestCallback):

01:18 Changeset [140523] by aandrey@chromium.org

Web Inspector: use inspectedWindow.document instead of document in InjectedScript
https://bugs.webkit.org/show_bug.cgi?id=107642

Reviewed by Pavel Feldman.

  • inspector/InjectedScriptSource.js:

(.):

01:02 Changeset [140522] by vivek.vg@samsung.com

xml-stylesheet XSL is not requested with JavaScript disabled
https://bugs.webkit.org/show_bug.cgi?id=103902

Reviewed by Adam Barth.

Source/WebCore:

Currently CachedResourceLoader::canRequest() calls allowScriptFromSource() on
ContentSecurityPolicy and FrameLoaderClient for the given XSLStyleSheet. This
should be restricted to only calling allowScriptFromSource() for the
ContentSecurityPolicy.

Test: http/tests/xsl/xslt-transform-with-javascript-disabled.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

LayoutTests:

Add a test to perform XSL transformation when the Javascript is disabled.

  • http/tests/xsl/resources/xslt-transform-with-javascript-disabled.xml:
  • http/tests/xsl/resources/xslt-transform-with-javascript-disabled.xsl:
  • http/tests/xsl/xslt-transform-with-javascript-disabled-expected.txt:
  • http/tests/xsl/xslt-transform-with-javascript-disabled.html:
00:45 Changeset [140521] by haraken@chromium.org

[V8] Remove if(isolate) checks from v8String() and v8Integer()
https://bugs.webkit.org/show_bug.cgi?id=107540

Reviewed by Adam Barth.

Now there is no optional Isolate parameter in the code base
(except for throwError()). We can safely remove if(isolate) checks
from v8String() and v8Integer().

div.id: 17.8 ns => 17.8 ns (no performance change)
div.nodeType: 9.7 ns => 8.9 ns (+8.9% performance improvement)

No tests. No change in behavior.

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::handleV8DebugEvent):

  • bindings/v8/V8Binding.h:

(WebCore::v8String):
(WebCore::v8Integer):

  • bindings/v8/V8WindowErrorHandler.cpp:

(WebCore::V8WindowErrorHandler::callListenerFunction):

  • bindings/v8/V8WorkerContextErrorHandler.cpp:

(WebCore::V8WorkerContextErrorHandler::callListenerFunction):

00:37 Changeset [140520] by morrita@google.com

Invalidated SVG shadow tree should be always detached.
https://bugs.webkit.org/show_bug.cgi?id=107634

Reviewed by Ryosuke Niwa.

Source/WebCore:

SVGUseElement::clearResourceReferences() uses removeAllChildren() for
clearing its shadow DOM, but this is wrong.
removeAllChildren() is designed for removing children of an out-of-document Node.
For efficiency, it skips a series of cleanup sequences like detach().

For removing SVG shadow tree which is in Document, removeChildren() should be used.
It does proper cleanup for the chilren.

Test: svg/custom/use-invalidate-click-crash.xhtml

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::clearResourceReferences):

LayoutTests:

  • svg/custom/use-invalidate-click-crash-expected.txt: Added.
  • svg/custom/use-invalidate-click-crash.xhtml: Added.
00:34 Changeset [140519] by commit-queue@webkit.org

[TexMap] Don't call GraphicsLayer::setNeedsDisplay() from TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=107629

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-23
Reviewed by Noam Rosenthal.

We are removing the dependency on GraphicsLayer from TextureMapperLayer.

This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).

No new tests, refactoring only.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setDrawsContent):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):

00:32 Changeset [140518] by commit-queue@webkit.org

[Texmap] Rename TextureMapperShaderManager.* TextureMapperShaderProgram.*
https://bugs.webkit.org/show_bug.cgi?id=105847

TextureMapperShaderManager contains very little "manager" code.
Moved the map of shaders to TextureMapperGL, and renamed the files containing
the shader implementation TextureMapperShaderProgram.cpp|h.

Patch by No'am Rosenthal <noam@webkit.org> on 2013-01-23
Reviewed by Kenneth Rohde Christiansen.

No new tests - renames/refactors only.

  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • Target.pri:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::SharedGLData::getShaderProgram):

This function is copied from TextureMapperShaderManager.

(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::optionsForFilterType):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::TextureMapperGL::beginClip):

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp.

(WebCore):
(WebCore::compositingLogEnabled):
(WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::setMatrix):
(WebCore::TextureMapperShaderProgram::getLocation):
(WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::create):

  • platform/graphics/texmap/TextureMapperShaderProgram.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h.

(WebCore):
(TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgram::programID):
(WebCore::TextureMapperShaderProgram::context):

00:29 Changeset [140517] by commit-queue@webkit.org

[EFL] Gardening for some inspector tests
https://bugs.webkit.org/show_bug.cgi?id=107516

Unreviewed gardening.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-01-23

  • platform/efl/TestExpectations: Add bug numbers.
00:28 Changeset [140516] by haraken@chromium.org

[V8] Make an Isolate parameter mandatory in throwError()
https://bugs.webkit.org/show_bug.cgi?id=107636

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/v8/NPV8Object.cpp:

(_NPN_SetException):

  • bindings/v8/V8Binding.cpp:

(WebCore::handleMaxRecursionDepthExceeded):

  • bindings/v8/V8Binding.h:

(WebCore):

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):

00:00 Changeset [140515] by zandobersek@gmail.com

Unreviewed GTK gardening.

Rebaselining after r140448, r140459 and r140493.

  • platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt: Added.
  • platform/gtk/fast/js/global-constructors-expected.txt:

01/22/13:

23:37 Changeset [140514] by haraken@chromium.org

[V8] Make an Isolate parameter mandatory in throwTypeError()
https://bugs.webkit.org/show_bug.cgi?id=107632

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):
(GenerateConstructorHeader):
(JSValueToNative):

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

(WebCore::V8TestEventConstructor::constructorCallback):

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

(WebCore::V8TestInterface::constructorCallback):

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

(WebCore::V8TestNamedConstructorConstructorCallback):

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

(WebCore::V8TestNode::constructorCallback):

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

(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::V8TestObj::constructorCallback):

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

(WebCore::V8TestOverloadedConstructors::constructorCallback):

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

(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

  • bindings/v8/V8Binding.h:

(WebCore):
(WebCore::toRefPtrNativeArray):
(WebCore::toV8Sequence):

  • bindings/v8/V8NodeFilterCondition.cpp:

(WebCore::V8NodeFilterCondition::acceptNode):

  • bindings/v8/V8Utilities.cpp:

(WebCore::extractTransferables):
(WebCore::getMessagePortArray):

23:36 Changeset [140513] by commit-queue@webkit.org

Add monitoring of patches and queues to the QueueStatusServer
https://bugs.webkit.org/show_bug.cgi?id=107612

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-22
Reviewed by Adam Barth.

Created classes for recording events into the datastore and integrated them into the existing handlers.
Code for presenting the recorded data will come in a separate patch.

  • QueueStatusServer/app.yaml:
  • QueueStatusServer/config/init.py: Added.
  • QueueStatusServer/config/logging.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.
  • QueueStatusServer/config/messages.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.
  • QueueStatusServer/handlers/nextpatch.py:

(NextPatch.get):
(NextPatch._assign_patch):

  • QueueStatusServer/handlers/releasepatch.py:

(ReleasePatch.post):

  • QueueStatusServer/handlers/updatestatus.py:

(UpdateStatus.post):

  • QueueStatusServer/handlers/updateworkitems.py:

(UpdateWorkItems._parse_work_items_string):
(UpdateWorkItems):
(UpdateWorkItems._update_work_items_from_request):
(UpdateWorkItems._queue_from_request):
(UpdateWorkItems.post):

  • QueueStatusServer/loggers/init.py: Added.
  • QueueStatusServer/loggers/recordbotevent.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.

(RecordBotEvent):
(RecordBotEvent.activity):

  • QueueStatusServer/loggers/recordpatchevent.py: Added.

(RecordPatchEvent):
(RecordPatchEvent.added):
(RecordPatchEvent.retrying):
(RecordPatchEvent.started):
(RecordPatchEvent.stopped):
(RecordPatchEvent.updated):
(RecordPatchEvent._get_patches_waiting):

  • QueueStatusServer/model/patchlog.py: Copied from Tools/QueueStatusServer/model/queuestatus.py.

(PatchLog):
(PatchLog.lookup):
(PatchLog.calculate_wait_duration):
(PatchLog.calculate_process_duration):

  • QueueStatusServer/model/queuelog.py: Copied from Tools/QueueStatusServer/handlers/nextpatch.py.

(QueueLog):
(QueueLog.get_current):
(QueueLog.create_key):

  • QueueStatusServer/model/queuestatus.py:

(QueueStatus.is_retry_request):

23:31 Changeset [140512] by falken@chromium.org

20% regression on dom_perf/DomDivWalk
https://bugs.webkit.org/show_bug.cgi?id=106726

Reviewed by Hajime Morita.

This patch moves the checks in Element::removedFrom for Fullscreen and top layer flags
into a slow path. The idea is for the two checks for Fullscreen and top layer
to be replaced by one faster check in the fast path.

The plan is to migrate the Fullscreen implementation to use top layer, so this is just a
short-term fix for the perf regression.

No new tests: no functionality change

  • dom/Element.cpp:

(WebCore::Element::removedFrom): Create a slow path to move the Fullscreen and top layer checks into.

  • dom/Node.cpp:

(WebCore::Node::setIsInTopLayer): To allow for cleaner code in Element::removedFrom, define
setIsInTopLayer and isInTopLayer even when the feature flag is off.

  • dom/Node.h:

(WebCore::Node::isInTopLayer): Ditto.
(Node):

23:22 Changeset [140511] by commit-queue@webkit.org

prepare-Changelog should support updating the list of changed files
https://bugs.webkit.org/show_bug.cgi?id=74358

Patch by Timothy Loh <timloh@chromium.com> on 2013-01-22
Reviewed by Eric Seidel.

Needing to re-make ChangeLog entries when the list of files/functions
changes is a bit annoying, it'd be nice to have this more automated.
This patch makes `webkit-patch update' update the date line and bug
description if needed, and if the list of changed files/functions has
changed, either updates the list (if there are no annotations), or
otherwise appends the new list below.

  • Scripts/webkitpy/tool/steps/preparechangelog.py:

(PrepareChangeLog._resolve_existing_entry):
(PrepareChangeLog):
(PrepareChangeLog._merge_entries):
(PrepareChangeLog.run):

  • Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:

(PrepareChangeLogTest.test_resolve_existing_entry):
(make_entry):
(test_ensure_bug_url):

23:12 Changeset [140510] by commit-queue@webkit.org

Use Python 2.7 unittest syntax in our unittests
https://bugs.webkit.org/show_bug.cgi?id=105607

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-22
Reviewed by Eric Seidel.

  • Scripts/webkitpy//*_unittest.py:
22:49 Changeset [140509] by mark.lam@apple.com

Change the Supplementable class to not use AtomicString.
https://bugs.webkit.org/show_bug.cgi?id=107535.

Reviewed by Adam Barth.

Replaced the use of AtomicString keys with literal const char* keys.
This simplifies the SupplementMap and makes it slightly leaner and faster.

Source/WebCore:

No new tests.

  • Modules/battery/BatteryController.cpp:

(WebCore::BatteryController::supplementName):

  • Modules/battery/BatteryController.h:

(BatteryController):

  • Modules/battery/NavigatorBattery.cpp:

(WebCore::NavigatorBattery::supplementName):
(WebCore):
(WebCore::NavigatorBattery::from):

  • Modules/battery/NavigatorBattery.h:

(NavigatorBattery):

  • Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:

(WebCore::DraggedIsolatedFileSystem::supplementName):

  • Modules/filesystem/chromium/DraggedIsolatedFileSystem.h:

(DraggedIsolatedFileSystem):

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::supplementName):
(WebCore):
(WebCore::NavigatorGamepad::from):

  • Modules/gamepad/NavigatorGamepad.h:

(NavigatorGamepad):

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::supplementName):

  • Modules/geolocation/GeolocationController.h:

(GeolocationController):

  • Modules/geolocation/NavigatorGeolocation.cpp:

(WebCore::NavigatorGeolocation::supplementName):
(WebCore):
(WebCore::NavigatorGeolocation::from):

  • Modules/geolocation/NavigatorGeolocation.h:

(NavigatorGeolocation):

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::supplementName):
(WebCore):
(WebCore::DOMWindowIndexedDatabase::from):

  • Modules/indexeddb/DOMWindowIndexedDatabase.h:

(DOMWindowIndexedDatabase):

  • Modules/indexeddb/PageGroupIndexedDatabase.cpp:

(WebCore::PageGroupIndexedDatabase::supplementName):
(WebCore):
(WebCore::PageGroupIndexedDatabase::from):

  • Modules/indexeddb/PageGroupIndexedDatabase.h:

(PageGroupIndexedDatabase):

  • Modules/indexeddb/WorkerContextIndexedDatabase.cpp:

(WebCore::WorkerContextIndexedDatabase::supplementName):
(WebCore):
(WebCore::WorkerContextIndexedDatabase::from):

  • Modules/indexeddb/WorkerContextIndexedDatabase.h:

(WorkerContextIndexedDatabase):

  • Modules/intents/DOMWindowIntents.cpp:

(WebCore::DOMWindowIntents::supplementName):
(WebCore):
(WebCore::DOMWindowIntents::from):

  • Modules/intents/DOMWindowIntents.h:

(DOMWindowIntents):

  • Modules/mediastream/UserMediaController.cpp:

(WebCore::UserMediaController::supplementName):

  • Modules/mediastream/UserMediaController.h:

(UserMediaController):

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::NavigatorContentUtils::supplementName):

  • Modules/navigatorcontentutils/NavigatorContentUtils.h:

(NavigatorContentUtils):

  • Modules/networkinfo/NavigatorNetworkInfoConnection.cpp:

(WebCore::NavigatorNetworkInfoConnection::supplementName):
(WebCore):
(WebCore::NavigatorNetworkInfoConnection::from):

  • Modules/networkinfo/NavigatorNetworkInfoConnection.h:

(NavigatorNetworkInfoConnection):

  • Modules/networkinfo/NetworkInfoController.cpp:

(WebCore::NetworkInfoController::supplementName):

  • Modules/networkinfo/NetworkInfoController.h:

(NetworkInfoController):

  • Modules/notifications/DOMWindowNotifications.cpp:

(WebCore::DOMWindowNotifications::supplementName):
(WebCore):
(WebCore::DOMWindowNotifications::from):

  • Modules/notifications/DOMWindowNotifications.h:

(DOMWindowNotifications):

  • Modules/notifications/NotificationController.cpp:

(WebCore::NotificationController::supplementName):

  • Modules/notifications/NotificationController.h:

(NotificationController):

  • Modules/notifications/WorkerContextNotifications.cpp:

(WebCore::WorkerContextNotifications::supplementName):
(WebCore):
(WebCore::WorkerContextNotifications::from):

  • Modules/notifications/WorkerContextNotifications.h:

(WorkerContextNotifications):

  • Modules/quota/DOMWindowQuota.cpp:

(WebCore::DOMWindowQuota::supplementName):
(WebCore):
(WebCore::DOMWindowQuota::from):

  • Modules/quota/DOMWindowQuota.h:

(DOMWindowQuota):

  • Modules/speech/DOMWindowSpeechSynthesis.cpp:

(WebCore::DOMWindowSpeechSynthesis::supplementName):
(WebCore):
(WebCore::DOMWindowSpeechSynthesis::from):

  • Modules/speech/DOMWindowSpeechSynthesis.h:

(DOMWindowSpeechSynthesis):

  • Modules/speech/SpeechRecognitionController.cpp:

(WebCore::SpeechRecognitionController::supplementName):

  • Modules/speech/SpeechRecognitionController.h:

(SpeechRecognitionController):

  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::supplementName):

  • Modules/vibration/Vibration.h:

(Vibration):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::supplementName):
(WebCore):
(WebCore::DatabaseContext::existingDatabaseContextFrom):
(WebCore::DatabaseContext::from):

  • Modules/webdatabase/DatabaseContext.h:

(DatabaseContext):

  • dom/ContextFeatures.cpp:

(WebCore::ContextFeatures::supplementName):

  • dom/ContextFeatures.h:
  • dom/DeviceMotionController.cpp:

(WebCore::DeviceMotionController::supplementName):

  • dom/DeviceMotionController.h:

(DeviceMotionController):

  • dom/DeviceOrientationController.cpp:

(WebCore::DeviceOrientationController::supplementName):

  • dom/DeviceOrientationController.h:

(DeviceOrientationController):

  • loader/PrerendererClient.cpp:

(WebCore::PrerendererClient::supplementName):

  • loader/PrerendererClient.h:

(PrerendererClient):

  • page/DOMWindowPagePopup.cpp:

(WebCore::DOMWindowPagePopup::supplementName):

  • page/DOMWindowPagePopup.h:

(DOMWindowPagePopup):

  • page/SpeechInput.cpp:

(WebCore::SpeechInput::supplementName):

  • page/SpeechInput.h:

(SpeechInput):

  • platform/RefCountedSupplement.h:

(WebCore::RefCountedSupplement::provideTo):
(WebCore::RefCountedSupplement::from):

  • platform/Supplementable.h:

(WebCore):
(WebCore::Supplement::provideTo):
(WebCore::Supplement::from):
(WebCore::Supplementable::provideSupplement):
(WebCore::Supplementable::removeSupplement):
(WebCore::Supplementable::requireSupplement):
(Supplementable):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::supplementName):
(WebCore):
(WebCore::InternalSettings::from):

  • testing/InternalSettings.h:

(InternalSettings):

Source/WebKit/chromium:

  • src/ContextFeaturesClientImpl.cpp:

(ContextFeaturesCache):
(WebKit::ContextFeaturesCache::supplementName):

22:28 Changeset [140508] by commit-queue@webkit.org

Convert disable-msg to disable for new pylint.
https://bugs.webkit.org/show_bug.cgi?id=107627

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-22
Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVNRepository.has_authorization_for_realm):

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:

(Builder.force_build):

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockExecutive2.run_command):

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

(Port.reference_files):

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

(ChromiumPortTestCase.test_default_configuration):

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

(PortTestCase.test_expectations_ordering):

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase._check_that_all_ports_are_available):

  • Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:

(AbstractLocalServerCommand.execute):

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractPatchProcessingCommand):

  • Scripts/webkitpy/tool/commands/rebaseline.py:

(AbstractRebaseliningCommand):
(AbstractParallelRebaselineCommand):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(_BaseTestCase.setUp):
(TestAnalyzeBaselines.setUp):

21:53 Changeset [140507] by tkent@chromium.org

2013-01-22 Kent Tamura <tkent@chromium.org>

[Chromium] Fix svn:mime-type of PNG files in platform/chromium*/

  • platform/chromium-linux/fast/borders/border-radius-with-box-shadow-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-color-stop-units-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-linear-angle-gradients-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-linear-right-angle-gradients-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-radial-gradients-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-radial-gradients2-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-repeating-linear-gradient-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/gradients/unprefixed-repeating-radial-gradients-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-nested-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/platform/chromium/compositing/rounded-corners-expected.png: Added property svn:mime-type.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/video/video-controls-layer-creation-expected.png: Added property svn:mime-type.
  • platform/chromium-mac-lion/fast/inline/justify-emphasis-inline-box-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/fast/inline/justify-emphasis-inline-box-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-locale-hebrew-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png: Added property svn:mime-type.
21:52 Changeset [140506] by morrita@google.com

non-ENABLE(DETAILS_ELEMENT) build fails.
https://bugs.webkit.org/show_bug.cgi?id=107626

Reviewed by Kent Tamura.

No new tests, build configuration change.

  • rendering/RenderObject.h:

(RenderObject): Added a missing condition.

21:50 Changeset [140505] by commit-queue@webkit.org

Whitelist should also work for the WebVTT ::cue element without an argument
https://bugs.webkit.org/show_bug.cgi?id=107488

Source/WebCore:

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-22
Reviewed by Andreas Kling.

Apply filtering if the cue shadow pseudoId is set on the selector.

Existing tests were modified to cover this case.

  • css/RuleSet.cpp:

(WebCore::determinePropertyWhitelistType):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::createSubtrees):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::cueShadowPseudoId):

LayoutTests:

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-22
Reviewed by Andreas Kling.

  • media/track/track-css-property-whitelist-expected.txt:
  • media/track/track-css-property-whitelist.html:
21:35 Changeset [140504] by fpizlo@apple.com

Convert CSE phase to not rely too much on NodeIndex
https://bugs.webkit.org/show_bug.cgi?id=107616

Reviewed by Geoffrey Garen.

  • Instead of looping over the graph (which assumes that you can simply loop over all nodes without considering blocks first) to reset node.replacement, do that in the loop that sets up relevantToOSR, just before running CSE on the block.


  • Instead of having a relevantToOSR bitvector indexed by NodeIndex, made NodeRelevantToOSR be a NodeFlag. We had exactly one bit left in NodeFlags, so I did some reshuffling to fit it in.
  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::CSEPhase):
(JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):
(CSEPhase):

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGNodeType.h:

(DFG):

21:14 Changeset [140503] by hayato@chromium.org

Make MediaQueryEvaluator(bool) constructor explicit.
https://bugs.webkit.org/show_bug.cgi?id=107620

Reviewed by Hajime Morita.

No new tests: no change in behavior.

  • css/MediaQueryEvaluator.h:

(MediaQueryEvaluator):

20:34 Changeset [140502] by tkent@chromium.org

[Chromium] Layout test calendar-picker-mouse-operations.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=107423

  • platform/chromium/TestExpectations:

Update the bug URL.

20:21 Changeset [140501] by tkent@chromium.org

[Chromium] Fix calendar-picker-key-operations.html
https://bugs.webkit.org/show_bug.cgi?id=101408

Reviewed by Kentaro Hara.

  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:

We need to apply the waitUntilClosing idiom because picker closing
operation is asynchronous.

  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations-expected.txt:

Fix a failure.

20:04 Changeset [140500] by yosin@chromium.org

Unreviewed. Remove a wrong entry from platfrom/chromium/TestExpectations

  • platform/chromium/TestExpectations: Remove an entry for fast/forms/associated-element-crash.html
19:37 Changeset [140499] by nduca@chromium.org

[chromium] Add WebDiscardableMemory to platform
https://bugs.webkit.org/show_bug.cgi?id=107183

Reviewed by James Robinson.

WebDiscardable provides a wrapper around memory that can be
relcaimed by the underlying kernel when it is under heavy memory
pressure. This will be used in a followup patch in the Chromium
image decoding store for decoded/resized images.

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::allocateDiscardableMemory):

  • chromium/public/WebDiscardableMemory.h: Added.

(WebKit):
(WebDiscardableMemory):
(WebKit::WebDiscardableMemory::~WebDiscardableMemory):

19:07 Changeset [140498] by andersca@apple.com

Source/WebCore: Use a platform strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • platform/PlatformStrategies.h:

Add a way to create/get the storage strategy.

  • storage/StorageNamespace.cpp:

(WebCore::StorageNamespace::localStorageNamespace):
(WebCore::StorageNamespace::sessionStorageNamespace):
Call the storage strategy.

  • storage/StorageNamespace.h:
  • storage/StorageStrategy.cpp: Added.

(WebCore::StorageStrategy::localStorageNamespace):
(WebCore::StorageStrategy::sessionStorageNamespace):
Call through to StorageNamespaceImpl.

  • storage/StorageStrategy.h: Added.

Source/WebKit/efl: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebCoreSupport/PlatformStrategiesEfl.cpp:

(PlatformStrategiesEfl::createStorageStrategy):

  • WebCoreSupport/PlatformStrategiesEfl.h:

(PlatformStrategiesEfl):

Source/WebKit/gtk: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebCoreSupport/PlatformStrategiesGtk.cpp:

(PlatformStrategiesGtk::createStorageStrategy):

  • WebCoreSupport/PlatformStrategiesGtk.h:

(PlatformStrategiesGtk):

Source/WebKit/mac: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::createStorageStrategy):

Source/WebKit/qt: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebCoreSupport/PlatformStrategiesQt.cpp:

(PlatformStrategiesQt::createStorageStrategy):

  • WebCoreSupport/PlatformStrategiesQt.h:

(PlatformStrategiesQt):

Source/WebKit/win: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createStorageStrategy):

  • WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

Source/WebKit/wince: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebCoreSupport/PlatformStrategiesWinCE.cpp:

(PlatformStrategiesWinCE::createStorageStrategy):

  • WebCoreSupport/PlatformStrategiesWinCE.h:

(PlatformStrategiesWinCE):

Source/WebKit2: Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600

Reviewed by Andreas Kling.

Update for new storage strategy.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createStorageStrategy):
(WebKit):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

18:58 Changeset [140497] by commit-queue@webkit.org

Optimize the texture packing for texImage2D() and texSubImage2D() in WebGL
https://bugs.webkit.org/show_bug.cgi?id=105821

Patch by Jun Jiang <jun.a.jiang@intel.com> on 2013-01-22
Reviewed by Kenneth Russell.

The original texture packing code uses function pointers to denote each unpack and pack operations for different combination of Source formats,
Destination formats and Alpha Operations. It could be made cleaner and simpler. In this patch, template functions are used and try best to avoid
generating useless code for unreachable path to avoid code bloat. Moreover, the flipY operation is moved into the pack operation instead of
operating in a standalone method to improve performance.

Already covered by current test.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::texImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::packImageData):
(WebCore::GraphicsContext3D::extractImageData):
(WebCore::GraphicsContext3D::extractTextureData):
(WebCore):
(WebCore::GraphicsContext3D::packPixels):

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::srcFormatComeFromDOMElementOrImageData):
(GraphicsContext3D):
(WebCore::GraphicsContext3D::ImageExtractor::imageSourceFormat):
(ImageExtractor):

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::getSourceDataFormat):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/skia/GraphicsContext3DSkia.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

18:58 Changeset [140496] by commit-queue@webkit.org

Flakiness dashboard: update builders.jsonp
https://bugs.webkit.org/show_bug.cgi?id=107610

Patch by Frank Farzan <frankf@chromium.org> on 2013-01-22
Reviewed by Ojan Vafai.

  • TestResultServer/static-dashboards/builders.jsonp:
18:25 Changeset [140495] by leandrogracia@chromium.org

[Chromium] Expose didCommitCompositorFrame in WebWidgetClient.
https://bugs.webkit.org/show_bug.cgi?id=107325

Reviewed by James Robinson.

Add a notification on WebWidgetClient called when the compositor commits a frame.

  • public/WebWidgetClient.h:

(WebWidgetClient):
(WebKit::WebWidgetClient::didCommitCompositorFrame):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::didCommit):

18:02 Changeset [140494] by commit-queue@webkit.org

Add Android instrumentation tests from ChromiumLinux waterfall
https://bugs.webkit.org/show_bug.cgi?id=107597

Patch by Frank Farzan <frankf@chromium.org> on 2013-01-22
Reviewed by Ojan Vafai.

  • TestResultServer/static-dashboards/builders.js:

(loadBuildersList):

17:50 Changeset [140493] by haraken@chromium.org

Implement UIEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107430

Reviewed by Adam Barth.

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

UIEvent constructor is implemented under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Safari and Chromium for now.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Test: fast/events/constructors/ui-event-constructor.html

  • Configurations/FeatureDefines.xcconfig:
  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

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

(V8TestInterface):

  • dom/UIEvent.cpp:

(WebCore::UIEventInit::UIEventInit):
(WebCore):
(WebCore::UIEvent::UIEvent):

  • dom/UIEvent.h:

(WebCore):
(UIEventInit):
(UIEvent):
(WebCore::UIEvent::create):
(WebCore::UIEvent::view):
(WebCore::UIEvent::detail):
(FocusInEventDispatchMediator):
(FocusOutEventDispatchMediator):

  • dom/UIEvent.idl:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • fast/events/constructors/ui-event-constructor-expected.txt: Added.
  • fast/events/constructors/ui-event-constructor.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
17:43 Changeset [140492] by commit-queue@webkit.org

[EFL][WebGL] Enable WebGL LayoutTests.
https://bugs.webkit.org/show_bug.cgi?id=107485

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-22
Reviewed by Laszlo Gombos.

This patch enables WebGL LayoutTests for Efl Port.

  • platform/efl/TestExpectations:
17:36 Changeset [140491] by commit-queue@webkit.org

Add functions to ChangeLog - parse bug desc/changed functions, delete/prepend entries
https://bugs.webkit.org/show_bug.cgi?id=107478

Patch by Timothy Loh <timloh@chromium.com> on 2013-01-22
Reviewed by Eric Seidel.

On the road to resolving Bug 74358, we need a few more functions in
changelog.py.
To make things easier to mock, change @staticmethods to @classmethods.

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

(ChangeLogEntry):
(ChangeLogEntry._parse_reviewer_text):
(ChangeLogEntry._split_contributor_names):
(ChangeLogEntry._parse_author_name_and_email):
(ChangeLogEntry._parse_author_text):
(ChangeLogEntry._parse_touched_functions):
(ChangeLogEntry._parse_bug_description):
(ChangeLogEntry._parse_entry):
(ChangeLogEntry.date_line):
(ChangeLogEntry.bug_description):
(ChangeLogEntry.touched_functions):
(ChangeLogEntry.touched_files_text):
(ChangeLogEntry.is_touched_files_text_clean):
(ChangeLog):
(ChangeLog.parse_latest_entry_from_file):
(ChangeLog._separate_revision_and_line):
(ChangeLog.parse_entries_from_file):
(ChangeLog.set_short_description_and_bug_url):
(ChangeLog.delete_entries):
(ChangeLog.prepend_text):

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

(test_parse_log_entries_from_changelog):
(test_latest_entry_parse):
(test_set_short_description_and_bug_url):
(test_delete_entries):
(test_prepend_text):

17:35 Changeset [140490] by noel.gordon@gmail.com

[chromium] webaudio/realtimeanalyser-fft-sizing.html is failing on Win7
https://bugs.webkit.org/show_bug.cgi?id=107581

Unreviewed gardening.

Results on all win platforms match the generic expected result (so use that).

  • platform/chromium-linux/webaudio/realtimeanalyser-fft-sizing-expected.txt: Removed.
  • platform/chromium-win-xp/webaudio/realtimeanalyser-fft-sizing-expected.txt: Removed.
  • platform/chromium-win/webaudio/realtimeanalyser-fft-sizing-expected.txt: Removed.
  • platform/chromium/TestExpectations:
17:33 Changeset [140489] by yosin@chromium.org

Merge 140104

REGRESSION(r137726): Spring Loaded Pan Scrolling doesn't stop
https://bugs.webkit.org/show_bug.cgi?id=107205

Reviewed by Hajime Morita.

Source/WebCore:

The bug is caused by forgetting to set true m_panScrollButtonPressed
in AutoscrollController::startPanScroll().

This patch changes state management during pan scroll by replacing
m_panScrollButtonPressed and m_springLoadedPanScrollInProgress by
m_autoscrollType with introducing new AutoscrollController state
AutoscrollForPanCanStop.

Tests: platform/chromium-win/fast/events/panScroll-click.html

platform/chromium-win/fast/events/panScroll-drag.html

  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::AutoscrollController): Changed to remove initialization of m_panScrollButtonPressed and m_springLoadedPanScrollInProgress.
(WebCore::AutoscrollController::stopAutoscrollTimer): Changed to remove resetting m_panScrollButtonPressed and m_springLoadedPanScrollInProgress.
(WebCore::AutoscrollController::handleMouseReleaseEvent): Changed to handle AutoscrollForPan and AutoscrollForPanCanStop.
(WebCore::AutoscrollController::panScrollInProgress): Changed to check AutoscrollForPanCanStop too.
(WebCore::AutoscrollController::startPanScrolling): Changed to remove setting of m_springLoadedPanScrollInProgress.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add case for AutoscrollForPanCanStop.
(WebCore::AutoscrollController::updatePanScrollState): Chagned to use AutoscrollForPan and AutoscrollForPanCanStop.

  • page/AutoscrollController.h:

(AutoscrollController): Changed to add AutoscrollForPanCanStop to AutoscrollType.

LayoutTests:

  • platform/chromium-win/fast/events/panScroll-click-expected.txt: Added.
  • platform/chromium-win/fast/events/panScroll-click.html: Added.
  • platform/chromium-win/fast/events/panScroll-drag-expected.txt: Added.
  • platform/chromium-win/fast/events/panScroll-drag.html: Added.
  • platfrom/chromium/TestExpectations: Skip panScroll-{click,drag}.html for Android, Linux, and Mac.

TBR=yosin@chromium.org
Review URL: https://codereview.chromium.org/12040032

17:15 Changeset [140488] by jsbell@chromium.org

IndexedDB: Remove IDBKey from WebKitIDL
https://bugs.webkit.org/show_bug.cgi?id=97375

Reviewed by Kentaro Hara.

Now that references to the artificial IDBKey type have been removed from all IDLs, remove
the support code, and move the conversion code into the IDBBindingUtilities. Removes
references to the autogenerated {V8,JS}IDBKey{Custom,}.{cpp,h} from the project files.

No new tests - just code moves/removing unused code. Updated binding reference test results.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Modules/indexeddb/IDBKey.idl: Removed.
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::toJS): Moved here from JSIDBKeyCustom.cpp
(WebCore):

  • bindings/js/JSIDBKeyCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(JSValueToNative):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateFunctionCallString):
(GetNativeType):
(JSValueToNative):

  • bindings/scripts/test/CPP/WebDOMTestObj.cpp:
  • bindings/scripts/test/CPP/WebDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:
  • bindings/scripts/test/TestObj.idl: Removed IDBKey-specific test.
  • bindings/scripts/test/V8/V8TestObj.cpp:
  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::toV8): Moved here from V8IDBKeyCustom.cpp
(WebCore):

  • bindings/v8/custom/V8IDBKeyCustom.cpp: Removed.
17:08 EFLWebKit edited by jpao_02gol@hotmail.com
(diff)
17:06 Changeset [140487] by roger_fong@apple.com

Unreviewed VS2010 build fix following r140259.

17:03 EFLFrameApiTutorial created by jpao_02gol@hotmail.com
16:35 Changeset [140486] by ap@apple.com

Move sandbox initialization to ChildProcess
https://bugs.webkit.org/show_bug.cgi?id=107486

Reviewed by Sam Weinig.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeSandbox): Removed. We no longer need this function to be implemented in each process type.
  • NetworkProcess/mac/NetworkProcessMac.mm: (WebKit::initializeSandbox): Removed a custom (and incomplete) implementation. (WebKit::NetworkProcess::processUpdateSandboxInitializationParameters): Clear sandbox profile path in parameters, telling ChildProcess to not enter a sandbox.
  • PluginProcess/PluginProcess.h:
  • PluginProcess/mac/PluginProcessMac.mm: Added FIXMEs, saying that we should switch to ChildProcess implementation.
  • Shared/ChildProcess.cpp: Dummy implementations for other platforms.
  • Shared/ChildProcess.h: Added processUpdateSandboxInitializationParameters, which child processes will override to change sandbox initialization parameters.
  • Shared/SandboxInitializationParameters.h: Added.
  • Shared/mac/SandboxInitialiationParametersMac.mm: Added. Abstracts out sandbox parameter vector for coding safety. Encapsulates other things that subclasses will want to do differently.
  • Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox): Added a shared implementation, based largely on WebProcess version.
  • SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Removed custom sandboxing code.
  • WebKit2.xcodeproj/project.pbxproj: Added SandboxInitializationParameters files.
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h: Updated dummy implementations to match ChildProcess.
  • WebProcess/mac/WebProcessMac.mm: (WebKit): Moved sandboxing code to ChildProcess. (WebKit::WebProcess::processUpdateSandboxInitializationParameters): Override profile path, because default one doesn't work for WebProcessService.
16:06 Changeset [140485] by tonyg@chromium.org

Fix assertions in make8BitFrom16BitSource() with threaded parser
https://bugs.webkit.org/show_bug.cgi?id=107596

Reviewed by Adam Barth.

This fixes an assertion in several fast/parser tests. We need to keep track of whether the data is all 8bit.
Luckily this doesn't cost us any size on CompactHTMLToken because the bitfields are collapsed (verified by COMPILE_ASSERT).

No new tests because covered by existing fast/parser tests.

  • html/parser/CompactHTMLToken.cpp:

(WebCore::CompactHTMLToken::CompactHTMLToken):

  • html/parser/CompactHTMLToken.h:

(WebCore::CompactHTMLToken::isAll8BitData):
(CompactHTMLToken):

  • html/parser/HTMLToken.h:

(WebCore::AtomicHTMLToken::AtomicHTMLToken):

16:03 Changeset [140484] by tonyg@chromium.org

Fix ASSERT(!hasInsertionPoint()) in threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=107593

Reviewed by Adam Barth.

Prior to this patch, several fast/parser tests hit ASSERT(!hasInsertionPoint()) in prepareToStopParsing().
That was because hasInsertionPoint() checks m_input.haveSeenEndOfFile() which was skipped for the threaded
parser case. This patch causes us to call markEndOfFile().

No new tests because covered by existing fast/parser tests.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser): This FIXME was done in a previous patch.
(WebCore::HTMLDocumentParser::finish):

15:45 Changeset [140483] by jsbell@chromium.org

Prevent race condition during Worker shutdown
https://bugs.webkit.org/show_bug.cgi?id=107577

Reviewed by Dmitry Titov.

Source/WebCore:

During worker shutdown, from the main thread a cleanup task is posted followed by
terminating the message queue, which prevents further tasks from being processed. It was
possible for another task be posted by another thread between the main thread calls
to postTask and terminate(), which would cause that task to run after cleanup. Expose
a new WTF::MessageQueue::appendAndKill() method which keeps a mutex around the two steps,
and use that during worker shutdown.

No reliable tests for the race - problem identified by inspection of user crash stacks.

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::postTaskAndTerminate): New method, uses MessageQueue::appendAndKill()

  • workers/WorkerRunLoop.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop): Uses postTaskAndTerminate() to avoid race.

Source/WTF:

Add MessageQueue::appendAndKill() which wraps those two steps with a mutex so other
threads can't sneak a message in between.

  • wtf/MessageQueue.h: Added appendAndKill() method.
15:44 Changeset [140482] by tony@chromium.org

Unreviewed, rolling out r140171.
http://trac.webkit.org/changeset/140171
https://bugs.webkit.org/show_bug.cgi?id=107193

Regressed scrollable region size in other cases.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::simplifiedLayout):

LayoutTests:

  • fast/overflow/height-during-simplified-layout-expected.txt: Removed.
  • fast/overflow/height-during-simplified-layout.html: Removed.
15:36 Changeset [140481] by ap@apple.com

[WK2] WebProcessService is not terminated when page is closed
https://bugs.webkit.org/show_bug.cgi?id=107595

Reviewed by Anders Carlsson.

  • platform/mac/RunLoopMac.mm: (WebCore::RunLoop::stop): Allow stopping XPC service run loop. Also, harmonized NSApp vs. [NSApplication sharedApplication] usage.
15:33 Changeset [140480] by jchaffraix@webkit.org

[CSS Grid Layout] Add grid.css to hold the common grid testing code
https://bugs.webkit.org/show_bug.cgi?id=107044

Reviewed by Tony Chang.

  • fast/css-grid-layout/containing-block-grids.html:

Removed 2 bad display: none rules that where overriden by
the inline style declaration.

  • fast/css-grid-layout/minmax-fixed-logical-height-only.html:
  • fast/css-grid-layout/breadth-size-resolution-grid.html:
  • fast/css-grid-layout/calc-resolution-grid-item.html:
  • fast/css-grid-layout/display-grid-set-get.html:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-element-padding-margin.html:
  • fast/css-grid-layout/minmax-fixed-logical-width-only.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-columns.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html:
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html:
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html:
  • fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html:
  • fast/css-grid-layout/percent-padding-margin-resolution-grid-item.html:
  • fast/css-grid-layout/percent-resolution-grid-item.html:
  • fast/css-grid-layout/place-cell-by-index.html:

Updated all the files above to:

  • use grid.css.
  • rename 'a', 'b', 'c' and 'd' to more meaningful.
  • change the previous ids to be classes as we ended up having several divs with the same id.
  • fast/css-grid-layout/resources/grid.css: Added.
15:28 Changeset [140479] by ojan@chromium.org

REGRESION(r130774): preferred width of tables does not take max-width into account
https://bugs.webkit.org/show_bug.cgi?id=107576

Reviewed by Tony Chang.

Source/WebCore:

Constrain preferred widths by min/max the way we do in other
RenderBlock subclasses. Eventually, we'll shared the code with
RenderBlock, but this is an incremental step in that direction
that we can safely merge into release branches.

Test: fast/table/min-max-width-preferred-size.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::computePreferredLogicalWidths):

LayoutTests:

  • fast/table/min-max-width-preferred-size-expected.txt: Added.
  • fast/table/min-max-width-preferred-size.html: Added.
15:14 Changeset [140478] by abarth@webkit.org

The BackgroundHTMLParser shouldn't pause when waiting for scripts
https://bugs.webkit.org/show_bug.cgi?id=107584

Reviewed by Eric Seidel.

Previously, the BackgroundHTMLParser would pause itself when it
encountered a scrip tag and wait for a signal from the main thread to
continue. After this patch, the BackgroundHTMLParser continues ahead
and the main thread keeps a queue of pending tokens.

This patch brings us closer to speculative parsing because when the
BackgroundHTMLParser is continuing ahead, it is speculating that it is
in the correct state. A future patch will let us abort incorret
speculations and resume from an eariler point in the input stream.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::checkThatTokensAreSafeToSendToAnotherThread):
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::simulateTreeBuilder):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::TokenDelivery::TokenDelivery):
(TokenDelivery):
(WebCore::TokenDelivery::execute):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):

  • html/parser/BackgroundHTMLParser.h:

(BackgroundHTMLParser):

  • html/parser/CompactHTMLToken.h:

(WebCore):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
(WebCore):
(WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):

  • html/parser/HTMLDocumentParser.h:

(HTMLDocumentParser):

15:13 Changeset [140477] by commit-queue@webkit.org

[BlackBerry] GIF & RAF animations sometimes don't resume after zoom
https://bugs.webkit.org/show_bug.cgi?id=107590

Patch by Andrew Lo <anlo@rim.com> on 2013-01-22
Reviewed by Rob Buis.
Internally reviewed by Jakob Petsovits.

Internal PR 276907.
Dispatch render jobs when resuming backing store updates to perform jobs
queued when updates were suspended.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):

15:13 Changeset [140476] by lforschler@apple.com

Create a MAC EWS startup shell script.

Reviewed by Ryosuke Niwa.

  • EWSTools/start-queue-mac.sh: Added.
15:03 Changeset [140475] by simon.fraser@apple.com

Fix scrollperf logging
https://bugs.webkit.org/show_bug.cgi?id=107589

Reviewed by Tim Horton.

The scrollperf logging had two issues:

  1. It relied on a paint logging a "filled" event, but it's possible

for existing tiles to be moved into the viewport and filling it, so
we need to log from the scrolling thread both when we have unfilled pixels,
and when the last scroll revealed unfilled pixels.

  1. On some pages, z-index:-1 elements behind the body cause the root

TileCache to have drawsContent set to false, so none of its tiles paint. In
that case, the check for a non-zero paintCount in TileCache::blankPixelCountForTiles()
was wrong; we don't think there's a way to have an unpainted tile in the tree.

Also fix the signature of blankPixelCountForTiles() to take references.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:

(ScrollingTreeScrollingNodeMac):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

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

(WebCore::TileCache::blankPixelCountForTiles):

14:46 Changeset [140474] by msaboff@apple.com

sputnik/Conformance/08_Types/8.4_The_String_Type/S8.4_A7.2.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=90742

Unreviewed. Test passes without any error or crashing. Suspect
that the original issue has been resolved.

  • platform/mac/TestExpectations:
14:46 Changeset [140473] by hclam@chromium.org

Make CompactHTMLToken a little more compact
https://bugs.webkit.org/show_bug.cgi?id=107317

Patch by Eric Seidel <eric@webkit.org> on 2013-01-22
Reviewed by Adam Barth.

The windows builders got sad because MSVC won't combine
adjacent bit-fields with different types. Changing
bool to unsigned should fix the problem.

  • html/parser/CompactHTMLToken.h:

(CompactHTMLToken):

14:39 Changeset [140472] by roger_fong@apple.com

JavaScriptCore property sheets, project files and modified build scripts.
https://bugs.webkit.org/show_bug.cgi?id=106987

Reviewed by Brent Fulgham.

14:36 Changeset [140471] by hclam@chromium.org

[chromium] Update test expectations
https://bugs.webkit.org/show_bug.cgi?id=107587

Unreviewed. Mark these tests as slow on Win7 Debug:
platform/chromium/virtual/gpu/fast/hidpi/clip-text-in-hidpi.html
platform/chromium/virtual/gpu/fast/hidpi/device-scale-factor-paint.html
platform/chromium/virtual/gpu/fast/hidpi/focus-rings.html

  • platform/chromium/TestExpectations:
14:22 Changeset [140470] by commit-queue@webkit.org

[Blackberry] Static code analysis warning fixes
https://bugs.webkit.org/show_bug.cgi?id=107464

Patch by Anthony Scian <ascian@rim.com> on 2013-01-22
Reviewed by Rob Buis.

Klocwork issues: 1367, 2367

  • add NULL pointer checks detected by static code analysis
  • platform/blackberry/WidgetBlackBerry.cpp:

(WebCore::Widget::setCursor):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::updatePluginWidget):

14:13 Changeset [140469] by joepeck@webkit.org

[Mac] Enable Page Visibility (PAGE_VISIBILITY_API)
https://bugs.webkit.org/show_bug.cgi?id=107230

Reviewed by David Kilzer.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. Covered by existing tests which are now unskipped.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::resetPageVisibility):
Fix a typo in the original implementation. resetPageVisibility should
pass initialState YES so an event is not dispatched, which causes
issues in multiple tests. This now matches other ports.

LayoutTests:

  • fast/events/page-visibility-iframe-delete-test-expected.txt:
  • fast/events/page-visibility-iframe-delete-test.html:

Fix a typo.

  • platform/mac/TestExpectations:

Unskip the tests on OS X.

14:13 Changeset [140468] by joepeck@webkit.org

Remove empty file WebPageProxyMessageKinds.h
https://bugs.webkit.org/show_bug.cgi?id=107335

Reviewed by Kentaro Hara.

  • GNUmakefile.list.am:
  • Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
14:12 Changeset [140467] by tonyg@chromium.org

Make BackgroundHTMLParser track line/column numbers
https://bugs.webkit.org/show_bug.cgi?id=107561

Reviewed by Adam Barth.

No new tests because covered by existing fast/parser tests.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::pumpTokenizer):

  • html/parser/CompactHTMLToken.cpp:

(WebCore::CompactHTMLToken::CompactHTMLToken):

  • html/parser/CompactHTMLToken.h:

(CompactHTMLToken):
(WebCore::CompactHTMLToken::textPosition):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
(WebCore::HTMLDocumentParser::lineNumber):
(WebCore::HTMLDocumentParser::textPosition):

  • html/parser/HTMLDocumentParser.h:

(HTMLDocumentParser):

14:04 Changeset [140466] by hclam@chromium.org

[chromium] Update test expectations
https://bugs.webkit.org/show_bug.cgi?id=107328

Unreviewed. Mark this test as missing:
fast/forms/form-associated-element-crash3.html

  • platform/chromium/TestExpectations:
14:04 Changeset [140465] by alecflett@chromium.org

IndexedDB: Don't assert when deprecated setCallbacks is called
https://bugs.webkit.org/show_bug.cgi?id=107580

Reviewed by Tony Chang.

Remove an assert for IDBTransactionBackendImpl that was deprecated
in a previous commit, but is still called by old chromium code.
After the chromium code is removed, this method will be removed
entirely.

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(WebCore::IDBTransactionBackendImpl::setCallbacks):

14:03 Changeset [140464] by junov@google.com

Merge 139137

Color bleeding with rounded rectangles on high dpi displays
https://bugs.webkit.org/show_bug.cgi?id=106373

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/backgrounds/gradient-background-leakage-hidpi.html

Avoid using the BackgroundBleedShrinkBackground draw strategy for
RenderBox when border width is less than two layout units. This
is because rounded rectangles are always snapped to integer layout
coordinates, even with subpixel layout enabled.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::determineBackgroundBleedAvoidance):

LayoutTests:

New layout test to verify that rounded rectangle corners do not
produce color bleeding on high dpi devices.

  • fast/backgrounds/gradient-background-leakage-hidpi-expected.txt: Added.
  • fast/backgrounds/gradient-background-leakage-hidpi.html: Added.
  • platform/chromium-linux/fast/backgrounds/gradient-background-leakage-hidpi-expected.png: Added.

TBR=junov@google.com

13:42 Changeset [140463] by hclam@chromium.org

[chromium] Update test expectations.

Unreviewed rebaseline for layout test:
platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html

  • platform/chromium-mac/platform/chromium/fast/events/touch/touch-hit-rects-in-iframe-expected.txt: Renamed from LayoutTests/platform/chromium-mac-snowleopard/platform/chromium/fast/events/touch/touch-hit-rects-in-iframe-expected.txt.
13:31 Changeset [140462] by hclam@chromium.org

[chromium] webaudio/realtimeanalyser-fft-sizing.html is failing on Win7
https://bugs.webkit.org/show_bug.cgi?id=107581

Unreviewed build fix. Mark the following test as failing on Win7:
webaudio/realtimeanalyser-fft-sizing.html

  • platform/chromium/TestExpectations:
13:28 Changeset [140461] by zandobersek@gmail.com

[GTK] Disable CSS Regions in release builds
https://bugs.webkit.org/show_bug.cgi?id=106541

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

The CSS Regions feature is not yet deemed stable enough to be enabled
in release builds, so disable it. It's still enabled for development
builds, via FeatureList.pm.

No new tests - no testable changes.

  • GNUmakefile.features.am.in:
13:27 Changeset [140460] by zandobersek@gmail.com

[GTK] Enable CSS Image Orientation feature
https://bugs.webkit.org/show_bug.cgi?id=99040

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

Tools:

Enable the CSS Image Orientation feature in the development
builds of the GTK port. The feature is still disabled in the release
builds.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove the general expectation, replacing it with a failure expectation
for the test that's failing due to whitespace problems in the cssText attribute
value after the image orientation attribute is set.

  • platform/gtk/TestExpectations:
13:26 Changeset [140459] by zandobersek@gmail.com

[GTK] Enable the <template> element support in development builds
https://bugs.webkit.org/show_bug.cgi?id=106575

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

Source/WebCore:

Add a missing build target that contains the custom JS bindings.

No new tests - the related tests are being unskipped and mostly pass.

  • GNUmakefile.list.am:

Tools:

Enable the <template> element support in the development builds of the GTK port.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove the skip entry for the layout tests of the element.
Add a failure expectation for a flaky test that's being unskipped.

  • platform/gtk/TestExpectations:
13:23 Changeset [140458] by zandobersek@gmail.com

Prettify the output of the override-feature-defines script
https://bugs.webkit.org/show_bug.cgi?id=106542

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

The output now clearly lists the feature defines being overridden
along with the default and overriding values for each feature define.

  • gtk/override-feature-defines:

(adjust_feature_defines_makefile):
(adjust_feature_defines_makefile.override_feature_define):

13:21 Changeset [140457] by jsbell@chromium.org

IndexedDB: Remove dependency on IDBKey type from IDLs
https://bugs.webkit.org/show_bug.cgi?id=106912

Reviewed by Kentaro Hara.

This is a preamble to wkbug.com/97375 "Remove IDBKey from WebKitIDL"; IDBKey is
not a concept from the Indexed DB spec but a convenient internal type. It was
exposed in the IDL with custom binding code and special cases in the generator
to map from script values to the WebCore type. To remove those special cases
and match the WebIDL in the spec, the IDLs are changed to use "any" and the
implementations now take ScriptValues. This does mean that each call site must
call into IDBBindingUtilities to map from ScriptValue to IDBKey.

No new tests - just a refactor.

  • Modules/indexeddb/IDBAny.cpp: Remove IDBKey as a variant type - just use ScriptValue.
  • Modules/indexeddb/IDBAny.h:

(WebCore):
(IDBAny):

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::continueFunction): Now takes any/ScriptValue.
(WebCore):

  • Modules/indexeddb/IDBCursor.h:

(WebCore::IDBCursor::continueFunction):
(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::deleteFunction):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::cmp): Now takes any/ScriptValue.

  • Modules/indexeddb/IDBFactory.h:

(IDBFactory):

  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor): Now takes any/ScriptValue.
(WebCore::IDBIndex::count): Now takes any/ScriptValue.
(WebCore::IDBIndex::openKeyCursor): Now takes any/ScriptValue.
(WebCore::IDBIndex::get): Now takes any/ScriptValue.
(WebCore::IDBIndex::getKey): Now takes any/ScriptValue.

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(IDBIndex):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::create): Add helper for back-end creation of single-key ranges.
(WebCore):
(WebCore::IDBKeyRange::lowerValue): Impl. of new "any" type accessor exposed to script.
(WebCore::IDBKeyRange::upperValue): Ditto.
(WebCore::IDBKeyRange::only): Now takes any/ScriptValue.
(WebCore::IDBKeyRange::lowerBound): Now takes any/ScriptValue.
(WebCore::IDBKeyRange::upperBound): Now takes any/ScriptValue.
(WebCore::IDBKeyRange::bound): Now takes any/ScriptValue.

  • Modules/indexeddb/IDBKeyRange.h:

(IDBKeyRange):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):

  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::add): Now takes any/ScriptValue.
(WebCore):
(WebCore::IDBObjectStore::put): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::deleteFunction): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::openCursor): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::count): Now takes any/ScriptValue.

  • Modules/indexeddb/IDBObjectStore.h:

(IDBObjectStore):
(WebCore::IDBObjectStore::openCursor):

  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.cpp: Result IDBAny type is now ScriptValue.

(WebCore::IDBRequest::onSuccess):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::scriptValueToIDBKey): The inverse of idbKeyToScriptValue().
(WebCore):

  • bindings/js/IDBBindingUtilities.h:

(WebCore):

  • bindings/js/JSIDBAnyCustom.cpp:

(WebCore::toJS):

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::scriptValueToIDBKey): Ditto.
(WebCore):

  • bindings/v8/IDBBindingUtilities.h:

(WebCore):

  • bindings/v8/custom/V8IDBAnyCustom.cpp:

(WebCore::toV8): Remove IDBKey variant type.

13:20 Changeset [140456] by zandobersek@gmail.com

Remove uses of deprecated unittest.TestCase aliases
https://bugs.webkit.org/show_bug.cgi?id=102252

Reviewed by Adam Barth.

Replace the deprecated assertEquals method of the TestCase interface
used in some webkitpy unittests with the assertEqual method.

  • Scripts/webkitpy/common/system/profiler_unittest.py:

(ProfilerFactoryTest._assert_default_profiler_name):
(ProfilerFactoryTest.test_default_profiler_output):

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

(GtkPortTest.test_expectations_files):

  • Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:

(TestHttpServer.test_win32_start_and_stop):

13:20 Changeset [140455] by jschuh@chromium.org

TRANSFORMATION_MATRIX_USE_X86_64_SSE2 broken for 64-bit Windows builds
https://bugs.webkit.org/show_bug.cgi?id=107498

Reviewed by James Robinson.

Enable TRANSFORMATION_MATRIX_USE_X86_64_SSE2 for 64-bit Windows.

No new tests. Covered by existing tests.

  • platform/graphics/transforms/TransformationMatrix.h:

(WebCore):
(TransformationMatrix):

13:09 Changeset [140454] by commit-queue@webkit.org

Fix a race condition on SkBitmap::lockPixels()/unlockPixels() for lazy image decoding
https://bugs.webkit.org/show_bug.cgi?id=107404

Patch by Min Qin <qinmin@chromium.org> on 2013-01-22
Reviewed by Stephen White.

Skbitmap::lockPixels()/unlockPixels() are not threadsafe.
unlike SkPixelRef, these 2 calls are not protected by an internal mutex.
Bugfix, no behaviral change and hard to test as tests will be flaky.

  • platform/graphics/chromium/ImageDecodingStore.cpp:

(WebCore::ImageDecodingStore::lockCache):
(WebCore::ImageDecodingStore::unlockCache):
(WebCore::ImageDecodingStore::insertAndLockCache):
(WebCore::ImageDecodingStore::overwriteAndLockCache):

  • platform/graphics/chromium/ImageDecodingStore.h:

(ImageDecodingStore):

13:01 Changeset [140453] by eric@webkit.org

Make CompactHTMLToken a little more compact
https://bugs.webkit.org/show_bug.cgi?id=107317

Reviewed by Darin Adler.

Reduce the size of CompactHTMLToken by two pointers.
The abuse of the attribute vector to store the DOCTYPE strings
is kinda lame, but makes a lot of sense given how rare DOCTYPE tokens are.

The resulting CompactHTMLToken vector should be a smaller malloc and thus faster.
However I saw no perf change on html-parser-srcdoc.html.

  • html/parser/CompactHTMLToken.cpp:

(SameSizeAsCompactHTMLToken):
(WebCore):
(WebCore::CompactHTMLToken::CompactHTMLToken):
(WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):

  • html/parser/CompactHTMLToken.h:

(WebCore::CompactHTMLToken::type):
(CompactHTMLToken):
(WebCore::CompactHTMLToken::publicIdentifier):
(WebCore::CompactHTMLToken::systemIdentifier):

12:57 Changeset [140452] by esprehn@chromium.org

Assertion parent->inDocument() failed in WebCore::PseudoElement::PseudoElement
https://bugs.webkit.org/show_bug.cgi?id=106224

Reviewed by Ojan Vafai.

Appending a node that contains a <style> and also elements that should have
generated content can cause us to create PseudoElements in nodes that are not
yet inDocument because we may recalcStyle in HTMLStyleElement::insertedInto
triggering a reattach() which could then traverse into the siblings of the
<style> attaching them even though they are not yet inDocument.

This means that we should not assert about the parent of a PseudoElement
being inDocument as this is not always the case.

Instead forward Node::insertedInto and removedFrom notifications to
PseudoElements so they will correctly get their inDocument bit set. Nothing
in the code appears to depend on them being inDocument we just make sure to
set it so they're consistent with the rest of the document.

No new tests, there's no way to test that PseudoElements are really inDocument.

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::PseudoElement):

12:30 Changeset [140451] by roger_fong@apple.com

WTF project files and property sheets for getting WebKit to compile in VS2010.
https://bugs.webkit.org/show_bug.cgi?id=106986

Reviewed by Timothy Horton and Brent Fulgham.

  • WTF.vcproj/WTF.sln:
  • WTF.vcxproj: Added.
  • WTF.vcxproj/WTF.vcxproj: Added.
  • WTF.vcxproj/WTF.vcxproj.filters: Added.
  • WTF.vcxproj/WTF.vcxproj.user: Added.
  • WTF.vcxproj/WTFCommon.props: Added.
  • WTF.vcxproj/WTFDebug.props: Added.
  • WTF.vcxproj/WTFGenerated.make: Added.
  • WTF.vcxproj/WTFGenerated.vcxproj: Added.
  • WTF.vcxproj/WTFGenerated.vcxproj.filters: Added.
  • WTF.vcxproj/WTFGenerated.vcxproj.user: Added.
  • WTF.vcxproj/WTFGeneratedCommon.props: Added.
  • WTF.vcxproj/WTFGeneratedDebug.props: Added.
  • WTF.vcxproj/WTFGeneratedRelease.props: Added.
  • WTF.vcxproj/WTFPostBuild.cmd: Added.
  • WTF.vcxproj/WTFPreBuild.cmd: Added.
  • WTF.vcxproj/WTFPreLink.cmd: Added.
  • WTF.vcxproj/WTFRelease.props: Added.
  • WTF.vcxproj/build-generated-files.sh: Added.
  • WTF.vcxproj/copy-files.cmd: Added.
  • WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: Added.
  • config.h:
12:26 Changeset [140450] by hclam@chromium.org

REGRESSION(r140231): media track layout tests crashing
https://bugs.webkit.org/show_bug.cgi?id=107579

Unreviewed. Mark 3 tests as crashing:
media/track/track-css-cue-lifetime.html
media/track/track-css-matching.html
media/track/track-css-property-whitelist.html

  • platform/chromium/TestExpectations:
12:12 Changeset [140449] by hclam@chromium.org

REGRESSION(r140392): InjectIDBKeyTest.TopLevelPropertyStringValue is crashing
https://bugs.webkit.org/show_bug.cgi?id=107578

Unreviewed build fix. Disabled 2 tests that are crashing after r140392.

  • tests/IDBBindingUtilitiesTest.cpp:

(WebKit::TEST_F):

12:07 Changeset [140448] by alexis@webkit.org

Allow construction of unprefixed transition DOM events.
https://bugs.webkit.org/show_bug.cgi?id=107319

Reviewed by Dean Jackson.

Source/WebCore:

Make possible to construct unprefixed DOM events for transitions.
Unfortunately I have to duplicate the C++ implementation class of the
events (TransitionEvent.h and TransitionEvent.cpp). I can't find a
better way to re-use the WebKitTransitionEvent class to back the
TransitionEvent.idl as our code generators don't allow to have a
different name for the C++ class used in the generated file than the
interface name specified in the IDL file. Unfortunately
https://trac.webkit.org/wiki/WebKitIDL#InterfaceName doesn't help as
it's only a way to unlink the interface name specified in the IDL with
the one exposed in JavaScript. I don't think we should support such a
feature in our code generators as WebKitTransitionEvent class and more
exactly prefixed DOM events for transitions will be removed one day so
this use case will become obselete.

Test: fast/events/constructors/transition-event-constructor.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/EventNames.in:
  • dom/TransitionEvent.cpp: Added.

(WebCore):
(WebCore::TransitionEventInit::TransitionEventInit):
(WebCore::TransitionEvent::TransitionEvent):
(WebCore::TransitionEvent::~TransitionEvent):
(WebCore::TransitionEvent::propertyName):
(WebCore::TransitionEvent::elapsedTime):
(WebCore::TransitionEvent::interfaceName):

  • dom/TransitionEvent.h: Added.

(WebCore):
(TransitionEventInit):
(TransitionEvent):
(WebCore::TransitionEvent::create):

  • dom/TransitionEvent.idl: Added.
  • page/DOMWindow.idl:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): always
create a TransitionEvent now. EventTarget will be responsible to create
a WebKitTransitionEvent if necessary.

LayoutTests:

Add new tests to cover the feature. Update some existing ones with new
expected results as a new constructor was added.

  • fast/dom/constructed-objects-prototypes.html:
  • fast/dom/constructed-objects-prototypes-expected.txt:
  • fast/events/constructors/transition-event-constructor-expected.txt: Added.
  • fast/events/constructors/transition-event-constructor.html: Added.
  • fast/events/event-creation.html:
  • platform/chromium/TestExpectations: Chromium turns the feature off.
12:03 Changeset [140447] by tony@chromium.org

Merge r139337 to M25.

REGRESSION(r136967): margin-top + overflow:hidden causes incorrect layout for internal floated elements
https://bugs.webkit.org/show_bug.cgi?id=106374

Reviewed by David Hyatt.

r136397 treated any self-collapsing block that had a clearance delta as though it was clearing a float, but
blocks that avoid floats can get a clearance delta too. So just ensure there is clearance on the block when deciding
whether we need to add the margin back in before placing the float.

TBR=tony@chromium.org
Review URL: https://codereview.chromium.org/12039022

11:55 Changeset [140446] by abarth@webkit.org

Wean BackgroundHTMLParser off HTMLInputStream
https://bugs.webkit.org/show_bug.cgi?id=107575

Reviewed by Eric Seidel.

The BackgroundHTMLParser doesn't need to use HTMLInputStream because it
doesn't need to handle nested calls to document.write. Instead, we can
just use a SegmentedString directly, which will let us checkpoint
m_input for speculation.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::append):
(WebCore::BackgroundHTMLParser::finish):
(WebCore::BackgroundHTMLParser::markEndOfFile):
(WebCore):
(WebCore::BackgroundHTMLParser::pumpTokenizer):

  • html/parser/BackgroundHTMLParser.h:

(BackgroundHTMLParser):

11:24 Changeset [140445] by sergio@webkit.org

[Soup] Random thread crashes
https://bugs.webkit.org/show_bug.cgi?id=107439

Reviewed by Martin Robinson.

Process all pending requests in the inner GMainContext created to
perform synchronous requests before restoring the thread default. No
new tests required, already covered by network tests.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):

11:24 Changeset [140444] by senorblanco@chromium.org

Merge 140057

imageSmoothingEnabled frequent, unpredictable crashes
https://bugs.webkit.org/show_bug.cgi?id=107161

Patch by Alexis Hetu <sugoi@chromium.org> on 2013-01-17
Reviewed by Stephen White.

Source/WebCore:

Added a NULL pointer check to fix a crash.

Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):

LayoutTests:

Added a layout test for setting image smoothing enabled on a 0 sized
canvas.

  • fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt: Added.
  • fast/canvas/canvas-imageSmoothingEnabled-zero-size.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12039021

11:15 Changeset [140443] by christophe.dumez@intel.com

[gstreamer] GstBus signal watch should be removed on clean up
https://bugs.webkit.org/show_bug.cgi?id=107544

Reviewed by Philippe Normand.

Our gstreamer backend code currently calls gst_bus_add_signal_watch()
on GstBus to add a signal watch. As per the gstreamer documentation,
"To clean up, the caller is responsible for calling
gst_bus_remove_signal_watch() as many times as this function is
called". This is because gst_bus_add_signal_watch() causes the GstBus
object to be ref'd and gst_bus_remove_signal_watch() needs to be
called to properly unref it.

This patch makes sure that gst_bus_remove_signal_watch() is called
on the GstBus object when cleaning up. This patch also uses smart
pointers for GstBus objects for consistency.

No new tests, no behavior change for layout tests.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::~AudioFileReader):
(WebCore::AudioFileReader::decodeAudioForBusCreation):

  • platform/graphics/gstreamer/GStreamerGWorld.cpp:

(WebCore::GStreamerGWorld::GStreamerGWorld):

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(webkitGstPipelineGetBus):

  • platform/graphics/gstreamer/GStreamerVersioning.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):

11:13 Changeset [140442] by jer.noble@apple.com

REGRESSION(r140344): Repeated crashes in WKTR PlatformWebView::viewSupportsOptions().
https://bugs.webkit.org/show_bug.cgi?id=107562

Rubber-stamped by Alexy Proskuryakov.

The input to WKBooleanGetValue() is not NULL-safe, so NULL check its inputs before calling.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):

11:12 Changeset [140441] by abarth@webkit.org

BackgroundHTMLParser should simulate tree building in a separate function
https://bugs.webkit.org/show_bug.cgi?id=107569

Reviewed by Eric Seidel.

This patch cleans up BackgroundHTMLParser::pumpTokenizer to prepare for
implementing speculative parsing.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::simulateTreeBuilder):
(WebCore):
(WebCore::BackgroundHTMLParser::pumpTokenizer):

  • html/parser/BackgroundHTMLParser.h:

(BackgroundHTMLParser):

  • page/Settings.in:
10:52 Changeset [140440] by kov@webkit.org

[GTK] Debug build failure on x86-64
https://bugs.webkit.org/show_bug.cgi?id=107400

Reviewed by Xan Lopez.

  • configure.ac: use thin archives for convenience libraries, if AR_FLAGS was not

overriden through the environment variable.

10:50 Changeset [140439] by commit-queue@webkit.org

Unreviewed, rolling out r140435.
http://trac.webkit.org/changeset/140435
https://bugs.webkit.org/show_bug.cgi?id=107565

Crashes on ClusterFuzz due to float not removed (Requested by
inferno-sec on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-22

Source/WebCore:

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

LayoutTests:

  • fast/block/float/overhanging-float-not-removed-crash-expected.txt: Removed.
  • fast/block/float/overhanging-float-not-removed-crash.html: Removed.
10:34 Changeset [140438] by commit-queue@webkit.org

Yarr JIT isn't big endian compatible
https://bugs.webkit.org/show_bug.cgi?id=102897

Patch by Tobias Netzel <tobias.netzel@googlemail.com> on 2013-01-22
Reviewed by Oliver Hunt.

This patch was tested in the current mozilla codebase only and has passed the regexp tests there.

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):

10:27 Changeset [140437] by ddkilzer@apple.com

Fix DateMath.cpp to compile with -Wshorten-64-to-32
<http://webkit.org/b/107503>

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/JSDateMath.cpp:

(JSC::parseDateFromNullTerminatedCharacters): Remove unneeded
static_cast<int>().

Source/WTF:

Fixes the following build errors with -Wshorten-64-to-32:

DateMath.cpp:742:47: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

if (month == 2 && day > 28 && !isLeapYear(year))

~

DateMath.cpp:757:48: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;

~

DateMath.cpp:757:55: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;

~

DateMath.cpp:757:60: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;

~

DateMath.cpp:757:67: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;

~

DateMath.cpp:996:59: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

offset = ((o / 100) * 60 + (o % 100)) * sgn;

~ ~

DateMath.cpp:998:37: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

offset = o * 60 * sgn;

~ ~

DateMath.cpp:1005:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

offset = (o * 60 + o2) * sgn;

~

DateMath.cpp:1041:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;

~

DateMath.cpp:1041:45: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;

~

DateMath.cpp:1041:50: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;

~ ~

DateMath.cpp:1041:56: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]

return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;

~ ~

12 errors generated.

  • wtf/DateMath.cpp:

(WTF::ymdhmsToSeconds): Change year argument from long to int.
Change mon, day, hour, minute arguments from int to long.
(WTF::parseInt): Add. Identical to parseLong but bounds checks
for type int.
(WTF::parseLong): Switch to std::numeric_limits<long> instead of
macros.
(WTF::parseES5DatePortion): Change year argument from long to
int.
(WTF::parseES5DateFromNullTerminatedCharacters): Change year
local variable from long to int.
(WTF::parseDateFromNullTerminatedCharacters): Change year and
offset local variables from long to int. Switch from using
parseLong() to parseInt() as needed. Ditto for labs() to abs().
Add overflow check when switching from "MM/DD/YYYY" to
"YYYY/MM/DD" parsing.

10:22 Changeset [140436] by robert@webkit.org

When we do setAttribute("border", null) on a table we should create a border like every other browser
https://bugs.webkit.org/show_bug.cgi?id=102112

Reviewed by Ryosuke Niwa.

Source/WebCore:

http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#tables says:
"If the [table's border] attribute is present but parsing the attribute's value using the rules for parsing
non-negative integers generates an error, a default value of 1px is expected to be used for that property instead."

Match the spec and bring us into line with other browsers by observing the 'parsing non-negative integers' algorithm.

Tests: fast/dom/HTMLTableElement/table-with-invalid-border.html

fast/table/table-with-borderattr-null.html
fast/table/table-with-borderattr-set-to-null.html

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseBorderWidthAttribute):
(WebCore::HTMLElement::applyBorderAttributeToStyle):

  • html/HTMLElement.h:

(HTMLElement):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
(WebCore::HTMLTableElement::parseAttribute):

LayoutTests:

  • fast/dom/HTMLTableElement/table-with-invalid-border-expected.txt: Added.
  • fast/dom/HTMLTableElement/table-with-invalid-border.html: Added.
  • fast/table/table-with-borderattr-null-expected.txt: Added.
  • fast/table/table-with-borderattr-null.html: Added.
  • fast/table/table-with-borderattr-set-to-null-expected.txt: Added.
  • fast/table/table-with-borderattr-set-to-null.html: Added.
10:17 Changeset [140435] by inferno@chromium.org

Heap-use-after-free in WebCore::RenderObject::isDescendantOf
https://bugs.webkit.org/show_bug.cgi?id=107226

Reviewed by Emil A Eklund.

Source/WebCore:

Test: fast/block/float/overhanging-float-not-removed-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
Skip anonymous blocks in the chain to get the enclosing block and
be able to correctly mark the overhanging floats in the next siblings.

LayoutTests:

  • fast/block/float/overhanging-float-not-removed-crash-expected.txt: Added.
  • fast/block/float/overhanging-float-not-removed-crash.html: Added.
10:07 LayoutUnit edited by eae@chromium.org
Updated status to indicate that it is enabled for apple, chromium and efl (diff)
10:02 Changeset [140434] by ap@apple.com

One is not allowed to use commit-queue to make oneself a committer.

09:47 Changeset [140433] by jschuh@chromium.org

Silence MSVC 64-bit build warning c4309 for FrameTree::invalidCount
https://bugs.webkit.org/show_bug.cgi?id=107439

Reviewed by Dimitri Glazkov.

MSVC detects that the constant notFound is truncated on assignment to
invalidCount. Since we never compare them (as it would always fail on
64-bit anyway), just initialize invalidCount directly to -1.

No new tests. No behavior changed.

  • page/FrameTree.h:

(FrameTree):

09:24 Changeset [140432] by peter@chromium.org

Merge 140035
As approved in http://crbug.com/167028

[chromium] Double-tap zoom should take into account accessibility fontScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=107123

Patch by John Mellor <johnme@chromium.org> on 2013-01-17
Reviewed by Adam Barth.

Platforms which support Text Autosizing (currently just Chrome for
Android) may provide a textAutosizingFontScaleFactor (defaults to 1.0).

This value is intended to be chosen by the user to indicate how large
they want text to appear, for example Chrome for Android has a "Text
scaling" slider in Settings > Accessibility that lets you choose a value
in the range 50% - 200% (defaults to 100%*).

For text in wide columns that typically gets autosized, this value is
applied by multiplying the textAutosizingMultiplier computed for each
cluster by the textAutosizingFontScaleFactor. Double-tap zoom will fit
the column to the screen (ignoring the textAutosizingFontScaleFactor)
since the column is wide. This part already works.

For text in narrow columns that doesn't get autosized, the
textAutosizingFontScaleFactor is not applied through Text Autosizing,
and instead needs to be applied by adjusting the double-tap zoom level.
When double-tapping on narrow columns, instead of fitting the column to
the screen (which would often zoom in excessively far), the existing
logic in computeScaleAndScrollForHitRect applies a maximum zoom level
called the legibleScale. This value needs to be multiplied by the
textAutosizingFontScaleFactor, so that we zoom in proportionately
further on non-autosized narrow columns, hence the effective text size
(taking into account zoom) will have increased in proportion to the
textAutosizingFontScaleFactor as expected.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):

Multiplies legibleScale (the maximum zoom level) by the
textAutosizingFontScaleFactor.

  • tests/WebFrameTest.cpp:

Added WebFrameTest.DivAutoZoomScaleFontScaleFactorTest based on
WebFrameTest.DivAutoZoomScaleBoundsTest to test the interaction
between textAutosizingFontScaleFactor and the double-tap zoom logic.
Also did minor cleanup to WebFrameTest.DivAutoZoomScaleBoundsTest.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12045023

09:17 Changeset [140431] by zandobersek@gmail.com

[Autotools] Remove the Canvas Path configuration option
https://bugs.webkit.org/show_bug.cgi?id=107537

Reviewed by Martin Robinson.

.:

  • configure.ac: Remove the configuration option for the Canvas Path

feature as this is not in line with the new guidelines about feature
enablement in the autotools build system.

Source/WebCore:

No new tests - no new testable functionality.

  • GNUmakefile.am: Remove the Automake conditional analysis, the related

configuration option is being removed as well.

  • GNUmakefile.features.am.in: Add the ENABLE_CANVAS_PATH feature define,

defaulting to 0 in release builds (but is disabled in development builds
of the GTK port as well at the moment).

09:15 Changeset [140430] by zandobersek@gmail.com

[Autotools] Place a warning in configure.ac about adding new configuration options
https://bugs.webkit.org/show_bug.cgi?id=107559

Reviewed by Martin Robinson.

  • configure.ac: Add an eye-catching section explaining that changes in this file might

not be necessary at all and a link pointing to the guidelines on the Trac wiki.

08:52 Changeset [140429] by schenney@chromium.org

Asserts when textPath is used with no path
https://bugs.webkit.org/show_bug.cgi?id=107324

Reviewed by Eric Seidel.

Source/WebCore:

We assert when there is no path associated with an SVG text path
element. Instead, this patch detects the condition and stops trying to
layout text for that textPath element.

Test: svg/text/tpath-without-path.svg

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::beginTextPathLayout):
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):

LayoutTests:

Test will assert in debug without this patch.

  • svg/text/tpath-without-path-expected.txt: Added.
  • svg/text/tpath-without-path.svg: Added.
08:41 Changeset [140428] by aandrey@chromium.org

Web Inspector: [Canvas] jump to prev/next drawing call in the replay
https://bugs.webkit.org/show_bug.cgi?id=107551

Reviewed by Pavel Feldman.

Implement jumping to the next(previous) drawing call in the WebGL and canvas 2D replay.

  • English.lproj/localizedStrings.js:
  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

  • inspector/Inspector.json:
  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype.dispose):
(WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):

  • inspector/front-end/canvasProfiler.css:

(.canvas-replay-prev-draw img):
(.canvas-replay-next-draw img):

08:19 Changeset [140427] by commit-queue@webkit.org

Web Inspector: remove asynchronous behavior from DTE paintLines method
https://bugs.webkit.org/show_bug.cgi?id=107550

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-22
Reviewed by Pavel Feldman.

Remove paintLinesOperationCredit and all asynchronous behaviour from paintLines method;
also, remove paintLineChunks method.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype.expandChunks):
(WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._renderRanges):
(WebInspector.TextEditorMainPanel.prototype._paintLine):
(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):

08:07 Changeset [140426] by commit-queue@webkit.org

Web Inspector: [Network] "Secure" cookies can not be deleted.
https://bugs.webkit.org/show_bug.cgi?id=107543

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-22
Reviewed by Pavel Feldman.

To delete secure cookie URL schema need to be "https" instead of "http".

  • inspector/front-end/CookieItemsView.js:

(WebInspector.CookieItemsView.prototype._deleteCookie):
Take care of secure cookies.

08:05 Changeset [140425] by commit-queue@webkit.org

Unreviewed, rolling out r140420.
http://trac.webkit.org/changeset/140420
https://bugs.webkit.org/show_bug.cgi?id=107557

Still causes crashes (EFL this time) (Requested by kov on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-22

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:
  • platform/graphics/gstreamer/GStreamerVersioning.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient):
(_WebKitWebSrcPrivate):
(webKitWebSrcFinalize):
(webKitWebSrcStop):
(StreamingClient::didReceiveData):

  • platform/network/ResourceHandleClient.h:

(ResourceHandleClient):

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):
(ResourceHandleInternal):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::cleanupSoupRequestOperation):
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::readCallback):

07:34 Changeset [140424] by commit-queue@webkit.org

[EFL] Unskipping some Accessibility Layout Tests for WK2.
https://bugs.webkit.org/show_bug.cgi?id=107555

Unreviewed EFL gardening.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-01-22

  • platform/efl-wk2/TestExpectations:
07:03 Changeset [140423] by commit-queue@webkit.org

[Qt] Crash in PasteboardQt.cpp Pasteboard::writeSelection
https://bugs.webkit.org/show_bug.cgi?id=102192

Patch by Fabien Valée
Patch by Allan Sandfeld Jensen <allan.jensen@digia.com> on 2013-01-22
Reviewed by Jocelyn Turcotte.

QClipboard::setMimeData transfers ownership of QMimeData to the clipboard,
so we should not access it afterwards.

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writePlainText):

06:53 Changeset [140422] by christophe.dumez@intel.com

Regression(r140414): It is causing crashes with gstreamer 0.10
https://bugs.webkit.org/show_bug.cgi?id=107554

Reviewed by Philippe Normand.

gstreamer 0.10 doc led me to believe that gst_element_factory_make()
was not returning a floating reference. However, based on testing
(and results on Qt port) it does so we should NOT adopt the
returned GstElement object.

No new tests, already covered by existing tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
06:43 Changeset [140421] by commit-queue@webkit.org

Web Inspector: do not highlight really long lines in DTE.
https://bugs.webkit.org/show_bug.cgi?id=107531

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-22
Reviewed by Pavel Feldman.

Source/WebCore:

Improve TextEditorHighlighter.orderedRangesPerLine method to return
only ranges that start before particular column.

Test: inspector/editor/text-editor-long-line.html

  • inspector/front-end/TextEditorHighlighter.js:

(WebInspector.TextEditorHighlighter):
(WebInspector.TextEditorHighlighter.prototype.setHighlightLineLimit):
(WebInspector.TextEditorHighlighter.prototype.orderedRangesPerLine.comparator):
(WebInspector.TextEditorHighlighter.prototype.orderedRangesPerLine):

LayoutTests:

Layout test to verify that Default Text Editor does not spend time for
highlighting really long lines of code.

  • inspector/editor/highlighter-long-line.html: Correct highlighter defaults in initialization.
  • inspector/editor/text-editor-long-line-expected.txt: Added.
  • inspector/editor/text-editor-long-line.html: Added.
06:40 Changeset [140420] by kov@webkit.org

[GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
https://bugs.webkit.org/show_bug.cgi?id=105552

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-01-22
Reviewed by Philippe Normand.

Makes it possible for the GStreamer media backend to provide the buffer to which
the Soup networking backend will use to download data to. This makes copying
memory unnecessary when ResourceHandle hands data over to the media player's
StreamingClient. Thanks to Dan Winship for help designing the interface.

No behaviour change, covered by existing tests.

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(createGstBufferForData): New helper to create a GstBuffer when
we have a data pointer and a length.
(getGstBufferSize): Abstract obtaining the size of the buffer, so the code
is cleaner while still working for both GST 0.10 and 1.0.
(setGstBufferSize): Ditto, but for setting the size.
(getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
(mapGstBuffer): Convenience method to take care of mapping the buffer so that
we can provide the data pointer to ResourceHandle.
(unmapGstBuffer): Convenience method which takes care of unmapping the buffer
and properly freeing the GstMapInfo.

  • platform/graphics/gstreamer/GStreamerVersioning.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient): New methods.
(_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
so we can later unmap it and push it to the pipeline.
(webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
destroyed.
(webKitWebSrcStop): Also clear the GstBuffer in this case.
(StreamingClient::didReceiveData): Handle the hand-over of the buffer.
(StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.

  • platform/network/ResourceHandleClient.h:

(ResourceHandleClient):
(WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
member variable to 0.
(WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
has been allocated.
(WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
newly allocated char pointer.

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):
(ResourceHandleInternal): Store actual buffer size, which is no longer a constant.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
buffer is handled by the ResourceHandleClient.
(WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
(WebCore::sendRequestCallback): Ditto.
(WebCore::readCallback): Ditto.

06:20 Changeset [140419] by commit-queue@webkit.org

[EFL] Fix context menu localized string
https://bugs.webkit.org/show_bug.cgi?id=107536

One of localized string has a marker. Since EFL port does not support them
it has to be removed, so the string will be displayed properly.

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-01-22
Reviewed by Laszlo Gombos.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::contextMenuItemTagCheckSpellingWhileTyping)

05:53 ewk_frame_tutorial.pdf attached to EFLWebKit by jpao_02gol@hotmail.com
Ewk_frame tutorial
05:43 Changeset [140418] by commit-queue@webkit.org

Add myself to commiters.py
https://bugs.webkit.org/show_bug.cgi?id=107546

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-22
Reviewed by Kentaro Hara.

  • Scripts/webkitpy/common/config/committers.py:
05:33 Changeset [140417] by thiago.santos@intel.com

[EFL][Chromium] Unreviewed gardening.

Added expectations for a crashing EFL test and fixed
a typo on Chromium's expectations for the same test.

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
05:26 Changeset [140416] by dominik.rottsches@intel.com

[EFL] Enable sub-pixel tests
https://bugs.webkit.org/show_bug.cgi?id=107548

Unreviewed gardening.

I will run this through EWS'ses and give others a chance to comment
since I am removing the sub-pixel skipping from the wk2/TestExpectations file.
This set of tests seems to be specifically skipped
in all platforms that don't want to run these tests.

  • platform/efl/TestExpectations:
  • platform/efl/fast/sub-pixel/inline-block-with-padding-expected.txt: Added.
  • platform/efl/fast/sub-pixel/selection/selection-gaps-at-fractional-offsets-expected.png: Added.
  • platform/efl/fast/sub-pixel/selection/selection-gaps-at-fractional-offsets-expected.txt: Added.
  • platform/efl/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.png: Added.
  • platform/efl/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.txt: Added.
  • platform/efl/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
  • platform/efl/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
  • platform/efl/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
  • platform/efl/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
  • platform/efl/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/efl/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
  • platform/wk2/TestExpectations:
05:09 Changeset [140415] by commit-queue@webkit.org

Unreviewed, rolling out r140412.
http://trac.webkit.org/changeset/140412
https://bugs.webkit.org/show_bug.cgi?id=107549

Broke rendering of buttons on gmail (Requested by carewolf on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-22

  • platform/graphics/qt/TransparencyLayer.h:

(WebCore::TransparencyLayer::TransparencyLayer):

04:55 Changeset [140414] by christophe.dumez@intel.com

[gstreamer] MediaPlayerPrivateGStreamer should take ownership of the playbin
https://bugs.webkit.org/show_bug.cgi?id=107445

Reviewed by Philippe Normand.

In gstreamer 1.0, gst_element_factory_make() now returns a floating reference.
MediaPlayerPrivateGStreamer calls gst_element_factory_make() to create the
playbin object but does not take ownership of the object. As a consequence,
the object keeps floating until it is unref'd in the
MediaPlayerPrivateGStreamer destructor.

This patch uses a GRefPtr<GstElement> to store the playbin object and only
adopt the object returned by gst_element_factory_make() if gstreamer 0.10
is used. When gstreamer 1.0 is used, the returned object will not be adopted,
which will remove the floating reference. This way, we ensure that the
playbin object is owned by MediaPlayerPrivateGStreamer.

No new tests, no behavior change for layout tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::duration):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::paused):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::setVolume):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::buffered):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

04:46 Changeset [140413] by yurys@chromium.org

Unreviewed. Fix closure compiler warning in inspector front-end after r140390.

  • inspector/front-end/HeapSnapshotView.js:
04:36 Changeset [140412] by allan.jensen@digia.com

[Qt] Box shadows on a transparency layer is very slow
https://bugs.webkit.org/show_bug.cgi?id=107547

Reviewed by Noam Rosenthal.

Set an initial clip on the transparency layer, so that the clipping
bounds will never end up larger than the layer.

  • platform/graphics/qt/TransparencyLayer.h:

(WebCore::TransparencyLayer::TransparencyLayer):

04:15 Changeset [140411] by falken@chromium.org

Move top layer flag from ElementRareData to NodeFlags
https://bugs.webkit.org/show_bug.cgi?id=107542

Reviewed by Hajime Morita.

This is a speculative fix for a perf regression (https://bugs.webkit.org/show_bug.cgi?id=106726)
likely due to checking the top layer flag in Element::removedFrom. It
also simplifies code dealing with top layer and makes it no longer
necessary to allocate rare data for top layer.

  • dom/Element.cpp:

(WebCore::Element::removedFrom): Check isInTopLayer first in case it helps fix the perf regression.
(WebCore):

  • dom/Element.h: Move top layer functions from Element to Node.
  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::ElementRareData): Remove top layer flag from ElementRareData.

  • dom/Node.cpp: Move top layer functions from Element to Node.

(WebCore):
(WebCore::Node::setIsInTopLayer):

  • dom/Node.h:

(Node):
(WebCore::Node::isInTopLayer):

  • dom/NodeRenderingContext.cpp: Remove unnecessary casts to Element for isInTopLayer().

(WebCore::isRendererReparented):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):

  • rendering/RenderLayer.cpp: Ditto.

(WebCore::RenderLayer::isInTopLayer):
(WebCore::RenderLayer::rebuildZOrderLists):

04:11 Changeset [140410] by mark.lam@apple.com

Fix broken mac builds due to <http://trac.webkit.org/changeset/140399>.
https://bugs.webkit.org/show_bug.cgi?id=100710.

Not reviewed.

No new tests.

  • WebCore.xcodeproj/project.pbxproj:
03:59 Changeset [140409] by commit-queue@webkit.org

[v8] Convert string conversion calls to one byte versions
https://bugs.webkit.org/show_bug.cgi?id=107524

Patch by Dan Carney <dcarney@google.com> on 2013-01-22
Reviewed by Kentaro Hara.

No new tests. No change in functionality.

  • bindings/v8/SerializedScriptValue.cpp:
  • bindings/v8/V8StringResource.cpp:

(WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
(StringTraits):
(WebCore::true):
(WebCore::v8StringToWebCoreString):

03:57 Changeset [140408] by commit-queue@webkit.org

Web Inspector: [Network] CookiesTable refactoring.
https://bugs.webkit.org/show_bug.cgi?id=107511

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-22
Reviewed by Pavel Feldman.

CookiesTable uses integer indexes as column identifiers.
This leads to cryptic code.

Descriptive column identifiers will make code clearer.
Also "addCookiesFolder" replaced with "setCookieFolders" to avoid
repetitive "_rebuildTable" invocation.

  • inspector/front-end/CookiesTable.js:

(WebInspector.CookiesTable): Use descriptive column identifiers.
(WebInspector.CookiesTable.prototype.setCookieFolders):
Accept multiple folders.
(WebInspector.CookiesTable.prototype._rebuildTable):
Use descriptive column identifiers.
(WebInspector.CookiesTable.prototype._sortCookies):
Ditto.
(WebInspector.CookiesTable.prototype._createGridNode):
Ditto.

  • inspector/front-end/RequestCookiesView.js:

(WebInspector.RequestCookiesView.prototype._buildCookiesTable):
Use "setCookieFolders".

03:41 Changeset [140407] by zandobersek@gmail.com

[GTK] Disable support for unprefixed CSS animations, transitions, transforms in release builds
https://bugs.webkit.org/show_bug.cgi?id=107436

Reviewed by Alexis Menard.

Disable the unprefixed CSS animations, transitions and transforms support
in the release builds for now. The work in this area is not yet complete
and should not ship in such state.

No new tests - no new functionality.

  • GNUmakefile.features.am.in:
03:31 Changeset [140406] by zandobersek@gmail.com

Unreviewed GTK gardening.

Adding back an expectation that was errornously removed in r140404.

  • platform/gtk/TestExpectations:
03:13 Changeset [140405] by apavlov@chromium.org

Web Inspector: [REGRESSION] SASSSourceMapping broken: _bindUISourceCode method is absent
https://bugs.webkit.org/show_bug.cgi?id=107529

Reviewed by Pavel Feldman.

  • inspector/front-end/SASSSourceMapping.js:

(WebInspector.SASSSourceMapping.prototype._fileSaveFinished):

02:34 Changeset [140404] by zandobersek@gmail.com

Unreviewed GTK gardening.

Adding timeout expectations for two tests from the JSRegress suite that
were added in r140276. The timeouts are GTK-specific.
Expanding the main failure expectation for all Encrypted Media tests to
expect either failures or timeouts.

  • platform/gtk/TestExpectations:
02:26 Changeset [140403] by abarth@webkit.org

AtomicMarkupTokenBase must die
https://bugs.webkit.org/show_bug.cgi?id=107513

Reviewed by Eric Seidel.

Now that NEW_XML has been removed from the tree, there is no reason to
have AtomicMarkupTokenBase exist as a templated base class for
AtomicHTMLToken. This patch just merges the code back into
AtomicHTMLToken.

  • html/parser/HTMLToken.h:

(AtomicHTMLToken):
(WebCore::AtomicHTMLToken::type):
(WebCore::AtomicHTMLToken::name):
(WebCore::AtomicHTMLToken::setName):
(WebCore::AtomicHTMLToken::selfClosing):
(WebCore::AtomicHTMLToken::getAttributeItem):
(WebCore::AtomicHTMLToken::attributes):
(WebCore::AtomicHTMLToken::characters):
(WebCore::AtomicHTMLToken::charactersLength):
(WebCore::AtomicHTMLToken::isAll8BitData):
(WebCore::AtomicHTMLToken::comment):
(WebCore::AtomicHTMLToken::publicIdentifier):
(WebCore::AtomicHTMLToken::systemIdentifier):
(WebCore::AtomicHTMLToken::clearExternalCharacters):
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
(WebCore::AtomicMarkupTokenBase::initializeAttributes):
(WebCore):

  • xml/parser/MarkupTokenBase.h:
02:24 Changeset [140402] by eric@webkit.org

Turn on ENABLE_THREADED_HTML_PARSER for Chromium (it's still disabled at runtime)
https://bugs.webkit.org/show_bug.cgi?id=107519

Reviewed by Adam Barth.

Source/WebCore:

Add some ASSERTs to be double-dog-sure that we're never using
any of the threading code when threading is not enabled.

I also removed an if-branch in the !ENABLE_THREADED_HTML_PARSER case
as it's not needed.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::startBackgroundParser):
(WebCore::HTMLDocumentParser::stopBackgroundParser):

Source/WebKit/chromium:

This makes our development lives easier, and makes it possible for the bots
to run threaded-parser-only tests by toggling the runtime enable
via window.internals.settings.

  • features.gypi:
02:10 FeatureFlags edited by tkent@chromium.org
Remove NEW_XML (diff)
01:48 Changeset [140401] by haraken@chromium.org

[V8] Make an Isolate parameter mandatory in toV8()
https://bugs.webkit.org/show_bug.cgi?id=107520

Reviewed by Adam Barth.

Now it's safe to remove an optional Isolate parameter.

No tests. No change in behavior.

Source/WebCore:

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

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

(WebCore::toV8):

  • css/MediaQueryListListener.cpp:

(WebCore::MediaQueryListListener::queryChanged):

  • testing/v8/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):

Source/WebKit/chromium:

  • src/InspectorFrontendClientImpl.cpp:

(WebKit::InspectorFrontendClientImpl::windowObjectCleared):

  • src/WebArrayBuffer.cpp:

(WebKit::WebArrayBuffer::toV8Value):

  • src/WebBlob.cpp:

(WebKit::WebBlob::toV8Value):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

01:43 Changeset [140400] by mihnea@adobe.com

[CSS Regions] min-max height will not trigger a relayout when set on a region with auto-height
https://bugs.webkit.org/show_bug.cgi?id=103738

Reviewed by David Hyatt.

Source/WebCore:

When the style of an auto-height region changes with different min/max-height, we have to make sure
that the 2-pass layout algorithm is run so that the region height is properly computed. When doing a 2-pass layout
for auto-height regions, we have to make sure that in the first pass, all auto-height regions start without a previously
computed overrideLogicalContentHeight, otherwise we may end-up with incorrect results, illustrated by tests
autoheight-two-pass-layout-complex-001.html and autoheight-two-pass-layout-complex-002.html.

If we do not have auto height regions, a single pass layout in enough to correctly flow content inside regions.
When we have auto height regions, the algorithm to lay out content should be:

  1. If the flow thread content does not need lay out, we do a single pass layout.

If during the layout, an auto-height region needs layout or a normal (not auto height) region changes its box dimensions,
we need to perform a new 2-pass layout after this layout completes. If not, we bail out and skip step 2.

  1. Do a full two pass layout and make sure that all auto height regions start the 2-pass layout without a previously computed

override logical content height.

Tests: fast/regions/autoheight-region-decrease-maxheight.html

fast/regions/autoheight-region-decrease-minheight.html
fast/regions/autoheight-region-decrease-width.html
fast/regions/autoheight-region-increase-maxheight.html
fast/regions/autoheight-region-increase-minheight.html
fast/regions/autoheight-region-increase-width.html
fast/regions/autoheight-region-new-maxheight-vrl.html
fast/regions/autoheight-region-new-maxheight.html
fast/regions/autoheight-region-new-minheight-vlr.html
fast/regions/autoheight-region-new-minheight.html
fast/regions/autoheight-region-remove-maxheight.html
fast/regions/autoheight-region-remove-minheight.html
fast/regions/autoheight-two-pass-layout-complex-001.html
fast/regions/autoheight-two-pass-layout-complex-002.html
fast/regions/region-height-auto-to-defined.html
fast/regions/region-height-defined-to-auto.html

  • rendering/FlowThreadController.cpp: Added a flag that is needed to mark whether we need a full 2-pass layout.

(WebCore::FlowThreadController::FlowThreadController):

  • rendering/FlowThreadController.h:

(WebCore::FlowThreadController::needsTwoPassLayoutForAutoHeightRegions):
(WebCore::FlowThreadController::setNeedsTwoPassLayoutForAutoHeightRegions):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight): Use invalidateRegions because we need also to mark the flow thread as needing layout.
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::layout): Make sure we do a 2-pass layout if needed.

  • rendering/RenderView.cpp:

(WebCore::RenderView::layoutContentInAutoLogicalHeightRegions): Added a new function that models the layout algorithm for the case when we have auto height regions
and flow threads.
(WebCore::RenderView::layout):
(WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions):

  • rendering/RenderView.h:

LayoutTests:

Added tests for dynamically change the min/max-height for auto-height regions, including also vertical writing modes.
Added tests for dynamically changing the width of auto-height regions to make sure we are correctly computing their height.
Added two tests for complex auto-height regions layout which require a full two-pass layout after some regions from region
chain are laid out.

  • fast/regions/autoheight-region-decrease-maxheight-expected.txt: Added.
  • fast/regions/autoheight-region-decrease-maxheight.html: Added.
  • fast/regions/autoheight-region-decrease-minheight-expected.txt: Added.
  • fast/regions/autoheight-region-decrease-minheight.html: Added.
  • fast/regions/autoheight-region-decrease-width-expected.txt: Added.
  • fast/regions/autoheight-region-decrease-width.html: Added.
  • fast/regions/autoheight-region-increase-maxheight-expected.txt: Added.
  • fast/regions/autoheight-region-increase-maxheight.html: Added.
  • fast/regions/autoheight-region-increase-minheight-expected.txt: Added.
  • fast/regions/autoheight-region-increase-minheight.html: Added.
  • fast/regions/autoheight-region-increase-width-expected.txt: Added.
  • fast/regions/autoheight-region-increase-width.html: Added.
  • fast/regions/autoheight-region-new-maxheight-expected.txt: Added.
  • fast/regions/autoheight-region-new-maxheight-vrl-expected.txt: Added.
  • fast/regions/autoheight-region-new-maxheight-vrl.html: Added.
  • fast/regions/autoheight-region-new-maxheight.html: Added.
  • fast/regions/autoheight-region-new-minheight-expected.txt: Added.
  • fast/regions/autoheight-region-new-minheight-vlr-expected.txt: Added.
  • fast/regions/autoheight-region-new-minheight-vlr.html: Added.
  • fast/regions/autoheight-region-new-minheight.html: Added.
  • fast/regions/autoheight-region-remove-maxheight-expected.txt: Added.
  • fast/regions/autoheight-region-remove-maxheight.html: Added.
  • fast/regions/autoheight-region-remove-minheight-expected.txt: Added.
  • fast/regions/autoheight-region-remove-minheight.html: Added.
  • fast/regions/autoheight-two-pass-layout-complex-001-expected.txt: Added.
  • fast/regions/autoheight-two-pass-layout-complex-001.html: Added.
  • fast/regions/autoheight-two-pass-layout-complex-002-expected.txt: Added.
  • fast/regions/autoheight-two-pass-layout-complex-002.html: Added.
  • fast/regions/region-height-auto-to-defined-expected.txt: Added.
  • fast/regions/region-height-auto-to-defined.html: Added.
  • fast/regions/region-height-defined-to-auto-expected.txt: Added.
  • fast/regions/region-height-defined-to-auto.html: Added.
01:16 Changeset [140399] by abarth@webkit.org

ENABLE(NEW_XML) isn't used by anyone and no one is actively working on it
https://bugs.webkit.org/show_bug.cgi?id=100710

Reviewed by Eric Seidel.

As discussed on webkit-dev
<http://lists.webkit.org/pipermail/webkit-dev/2012-August/022103.html>,
ENABLE(NEW_XML) isn't used by anyone and no one is actively working on
it. We should remove it from the code base for the time being. If folks
want to work on it again, we can restore it from SVN history.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::createParser):

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::parseXML):

  • xml/parser/NewXMLDocumentParser.cpp: Removed.
  • xml/parser/NewXMLDocumentParser.h: Removed.
  • xml/parser/XMLCharacterReferenceParser.cpp: Removed.
  • xml/parser/XMLCharacterReferenceParser.h: Removed.
  • xml/parser/XMLToken.h: Removed.
  • xml/parser/XMLTokenizer.cpp: Removed.
  • xml/parser/XMLTokenizer.h: Removed.
  • xml/parser/XMLTreeBuilder.cpp: Removed.
  • xml/parser/XMLTreeBuilder.h: Removed.
01:15 Changeset [140398] by commit-queue@webkit.org

Source/WebKit/gtk: [GTK] Add listener for direction-changed signal in WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=107131

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-01-22
Reviewed by Philippe Normand.

  • webkit/webkitwebview.cpp:

(webkit_web_view_init): Add listener for direction-changed signal.
(webkitWebViewDirectionChanged): Implement listener using
Editor::setBaseWritingDirection().

Tools: [GTK] Implement TestRunner::setTextDirection
https://bugs.webkit.org/show_bug.cgi?id=107131

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-01-22
Reviewed by Philippe Normand.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Reset direction to default value.

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:

(TestRunner::setTextDirection): Implement method using
gtk_widget_set_direction.

LayoutTests: [GTK] Implement testRunner::setTextDirection
https://bugs.webkit.org/show_bug.cgi?id=107131

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-01-22
Reviewed by Philippe Normand.

  • platform/gtk-wk2/TestExpectations: Unflag

fast/html/set-text-direction.html as it was already passing in WK2.

  • platform/gtk/TestExpectations: Remove

fast/html/set-text-direction.html.

01:06 Changeset [140397] by haraken@chromium.org

[V8] Pass an Isolate to toV8() of event listeners
https://bugs.webkit.org/show_bug.cgi?id=107517

Reviewed by Adam Barth.

By using Context::GetIsolate(), this patch passes an Isolate to toV8().
I think this would be the last patch to pass an Isolate to toV8().
In the next patch, I will make an Isolate parameter mandatory for toV8().

No tests. No change in behavior.

  • bindings/v8/V8AbstractEventListener.cpp:

(WebCore::V8AbstractEventListener::getReceiverObject):

  • bindings/v8/V8AbstractEventListener.h:

(V8AbstractEventListener):

  • bindings/v8/V8EventListener.cpp:

(WebCore::V8EventListener::callListenerFunction):

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::toObjectWrapper):
(WebCore::V8LazyEventListener::callListenerFunction):
(WebCore::V8LazyEventListener::prepareListenerObject):

  • bindings/v8/V8WorkerContextEventListener.cpp:

(WebCore::V8WorkerContextEventListener::getReceiverObject):

01:00 Changeset [140396] by jochen@chromium.org

[chromium] move spell checking mocks to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=107455

Reviewed by Kent Tamura.

The content module doesn't provide its own WebSpellCheckClient.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebTestRunner::WebTestDelegate::fillSpellingSuggestionList):

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:

(WebKit):
(WebTestRunner):
(WebTestProxyBase):

  • DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:

(WebTestRunner):
(WebTestRunner::makeMenuItemStringsFor):

  • DumpRenderTree/chromium/TestRunner/src/MockGrammarCheck.cpp: Renamed from Tools/DumpRenderTree/chromium/MockGrammarCheck.cpp.

(MockGrammarCheck::checkGrammarOfString):

  • DumpRenderTree/chromium/TestRunner/src/MockGrammarCheck.h: Renamed from Tools/DumpRenderTree/chromium/MockGrammarCheck.h.

(WebKit):
(MockGrammarCheck):

  • DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp: Renamed from Tools/DumpRenderTree/chromium/MockSpellCheck.cpp.

(MockSpellCheck::MockSpellCheck):
(MockSpellCheck::~MockSpellCheck):
(isNotASCIIAlpha):
(MockSpellCheck::spellCheckWord):
(MockSpellCheck::fillSuggestionList):
(MockSpellCheck::initializeIfNeeded):

  • DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.h: Renamed from Tools/DumpRenderTree/chromium/MockSpellCheck.h.

(MockSpellCheck):

  • DumpRenderTree/chromium/TestRunner/src/SpellCheckClient.cpp: Added.

(WebTestRunner::SpellCheckClient::SpellCheckClient):
(WebTestRunner):
(WebTestRunner::SpellCheckClient::~SpellCheckClient):
(WebTestRunner::SpellCheckClient::setDelegate):
(WebTestRunner::SpellCheckClient::spellCheck):
(WebTestRunner::SpellCheckClient::checkTextOfParagraph):
(WebTestRunner::SpellCheckClient::requestCheckingOfText):
(WebTestRunner::SpellCheckClient::finishLastTextCheck):
(WebTestRunner::SpellCheckClient::autoCorrectWord):

  • DumpRenderTree/chromium/TestRunner/src/SpellCheckClient.h: Copied from Tools/DumpRenderTree/chromium/TestRunner/src/TestDelegate.h.

(WebTestRunner):
(SpellCheckClient):
(WebTestRunner::SpellCheckClient::taskList):
(WebTestRunner::SpellCheckClient::mockSpellCheck):

  • DumpRenderTree/chromium/TestRunner/src/TestDelegate.h:

(TestDelegate):

  • DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:

(WebTestInterfaces::Internal):

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:

(WebTestRunner::WebTestProxyBase::WebTestProxyBase):
(WebTestRunner::WebTestProxyBase::~WebTestProxyBase):
(WebTestRunner::WebTestProxyBase::setDelegate):
(WebTestRunner::WebTestProxyBase::spellCheckClient):
(WebTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::WebViewHost):
(WebViewHost::setWebWidget):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

00:58 Changeset [140395] by christophe.dumez@intel.com

Unreviewed EFL gardening.

Unskip 2 tests that were sometimes asserting on the bots as
the problems seems to have been fixed in r140166.

  • platform/efl/TestExpectations:
00:38 Changeset [140394] by timothy_horton@apple.com

PDFPlugin: Build PDFPlugin everywhere, enable at runtime
https://bugs.webkit.org/show_bug.cgi?id=107117

Reviewed by Alexey Proskuryakov.

Since PDFLayerController SPI is all forward-declared, the plugin should build
on all Mac platforms, and can be enabled at runtime.

  • Configurations/FeatureDefines.xcconfig:
00:33 Changeset [140393] by dmazzoni@google.com

AX: Should assert if we try to create two AXObjects that point to the same renderer or node
https://bugs.webkit.org/show_bug.cgi?id=107504

Reviewed by Chris Fleizach.

If two accessibility objects get created that point to the
same widget, renderer, or node, that can lead to crashes or
memory corruption later; make it assert instead of crashing.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

00:32 Changeset [140392] by haraken@chromium.org

[V8] Pass an Isolate to toV8()
https://bugs.webkit.org/show_bug.cgi?id=107512

Reviewed by Adam Barth.

By using Context::GetIsolate(), this patch passes an Isolate to toV8().

No tests. No change in behavior.

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::idbKeyToScriptValue):

  • bindings/v8/ScriptController.cpp:

(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::currentCallFrame):

  • bindings/v8/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):

  • bindings/v8/V8AbstractEventListener.cpp:

(WebCore::V8AbstractEventListener::handleEvent):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::updateDocumentProperty):

  • bindings/v8/V8MutationCallback.cpp:

(WebCore::V8MutationCallback::handleEvent):

  • bindings/v8/V8NodeFilterCondition.cpp:

(WebCore::V8NodeFilterCondition::acceptNode):

  • bindings/v8/V8WorkerContextEventListener.cpp:

(WebCore::V8WorkerContextEventListener::handleEvent):

  • bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:

(WebCore::V8SQLStatementErrorCallback::handleEvent):

  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):

00:13 Changeset [140391] by commit-queue@webkit.org

Web Inspector: Show requests in curl syntax in DevTools → Network → Headers
https://bugs.webkit.org/show_bug.cgi?id=107276

Patch by Sergey Ryazanov <serya@chromium.org> on 2013-01-22
Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/curl-command.html

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._generateCurlCommand):

LayoutTests:

  • inspector/curl-command-expected.txt: Added.
  • inspector/curl-command.html: Added.
00:10 Changeset [140390] by yurys@chromium.org

Web Inspector: reuse JS heap profiler UI for native heap graph representaion
https://bugs.webkit.org/show_bug.cgi?id=107452

Reviewed by Pavel Feldman.

NativeHeapSnapshot is introduced to leverage JS heap snapshot processing algorithms
for native heap graph. New snapshot type ("Native Heap Snapshot") is added to the
profiles panel. It will represent native heap snapshots using the same UI as we use
for JS heap snapshots.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot):
(WebInspector.HeapSnapshot.prototype._init):

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorker):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapProfileHeader.prototype.load):
(WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer): extracted a few methods
to support overrides for native heap snapshots.
(WebInspector.HeapProfileHeader.prototype.snapshotConstructorName):
(WebInspector.HeapProfileHeader.prototype._setupWorker):

  • inspector/front-end/NativeHeapSnapshot.js: Added.

(WebInspector.NativeHeapSnapshot):
(WebInspector.NativeHeapSnapshot.prototype.createNode):
(WebInspector.NativeHeapSnapshot.prototype.createEdge):
(WebInspector.NativeHeapSnapshot.prototype.createRetainingEdge):
(WebInspector.NativeHeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.NativeHeapSnapshot.prototype._calculateFlags):
(WebInspector.NativeHeapSnapshot.prototype.canHaveDistanceOne):
(WebInspector.NativeHeapSnapshot.prototype.userObjectsMapAndFlag):
(WebInspector.NativeHeapSnapshotNode):
(WebInspector.NativeHeapSnapshotNode.prototype.canBeQueried):
(WebInspector.NativeHeapSnapshotNode.prototype.isUserObject):
(WebInspector.NativeHeapSnapshotNode.prototype.className):
(WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
(WebInspector.NativeHeapSnapshotNode.prototype.id):
(WebInspector.NativeHeapSnapshotNode.prototype.name):
(WebInspector.NativeHeapSnapshotNode.prototype.isHidden):
(WebInspector.NativeHeapSnapshotNode.prototype.isSynthetic):
(WebInspector.NativeHeapSnapshotNode.prototype.isWindow):
(WebInspector.NativeHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
(WebInspector.NativeHeapSnapshotNode.prototype.isDetachedDOMTree):
(WebInspector.NativeHeapSnapshotEdge):
(WebInspector.NativeHeapSnapshotEdge.prototype.clone):
(WebInspector.NativeHeapSnapshotEdge.prototype.hasStringName):
(WebInspector.NativeHeapSnapshotEdge.prototype.isElement):
(WebInspector.NativeHeapSnapshotEdge.prototype.isHidden):
(WebInspector.NativeHeapSnapshotEdge.prototype.isWeak):
(WebInspector.NativeHeapSnapshotEdge.prototype.isInternal):
(WebInspector.NativeHeapSnapshotEdge.prototype.isInvisible):
(WebInspector.NativeHeapSnapshotEdge.prototype.isShortcut):
(WebInspector.NativeHeapSnapshotEdge.prototype.name):
(WebInspector.NativeHeapSnapshotEdge.prototype.toString):
(WebInspector.NativeHeapSnapshotEdge.prototype._nameOrIndex):
(WebInspector.NativeHeapSnapshotRetainerEdge):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.clone):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isElement):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isHidden):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isInternal):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isInvisible):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isShortcut):
(WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isWeak):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeSnapshotProfileType):
(WebInspector.NativeSnapshotProfileType.prototype.get buttonTooltip):
(WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
(WebInspector.NativeSnapshotProfileType.prototype.get treeItemTitle):
(WebInspector.NativeSnapshotProfileType.prototype.get description):
(WebInspector.NativeSnapshotProfileType.prototype.createTemporaryProfile):
(WebInspector.NativeSnapshotProfileType.prototype.createProfile):
(WebInspector.NativeSnapshotProfileHeader):
(WebInspector.NativeSnapshotProfileHeader.prototype.createView):
(WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
(WebInspector.NativeSnapshotProfileHeader.prototype.snapshotConstructorName):
(WebInspector.NativeSnapshotProfileHeader.prototype._takeNativeSnapshot): build a datastructure
resembling one used for JS heap snapshots but populated with the data from the native snaphot.
(WebInspector.NativeHeapSnapshotView):
(WebInspector.NativeHeapSnapshotView.prototype.get profile):
(WebInspector.NativeMemoryProfileType):
(WebInspector.NativeMemoryProfileType.prototype.get buttonTooltip):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel):

  • inspector/front-end/WebKit.qrc:
00:02 Changeset [140389] by commit-queue@webkit.org

Source/WebKit: [EFL] Adds Accessibility support to wk1
https://bugs.webkit.org/show_bug.cgi?id=107440

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-01-22
Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake: Adds ATK headers and libraries.

Source/WebKit/efl: [EFL] Adds Accessibility support to wk1.
https://bugs.webkit.org/show_bug.cgi?id=107440

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-01-22
Reviewed by Gyuyoung Kim.

Adds possibility of focusing and retrieving accessible object.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::rootAccessibleElement):
(DumpRenderTreeSupportEfl::focusedAccessibleElement):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools: [EFL] Adds Accessibility support to wk1
https://bugs.webkit.org/show_bug.cgi?id=107440

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-01-22
Reviewed by Gyuyoung Kim.

  • DumpRenderTree/efl/CMakeLists.txt: Adds ATK headers and libraries.

01/21/13:

23:39 Changeset [140388] by commit-queue@webkit.org

[Mac] WK1 MiniBrowser should clear delegates before releasing webview
https://bugs.webkit.org/show_bug.cgi?id=107506

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-01-21
Reviewed by Dan Bernstein.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController dealloc]):

23:33 Changeset [140387] by haraken@chromium.org

[V8] ScriptState::isolate() should use Context::GetIsolate()
https://bugs.webkit.org/show_bug.cgi?id=107490

Reviewed by Adam Barth.

Now V8 provides Context::GetIsolate(). We should use it
in ScriptState::isolate().

  • bindings/v8/ScriptState.h:

(WebCore::ScriptState::isolate):
(ScriptState):

22:42 Changeset [140386] by commit-queue@webkit.org

[EFL] Missing context menus strings
https://bugs.webkit.org/show_bug.cgi?id=107104

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-01-21
Reviewed by Kenneth Rohde Christiansen.

Add 5 missing localization strings for text direction context menus.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::contextMenuItemTagRightToLeft):
(WebCore::contextMenuItemTagLeftToRight):
(WebCore::contextMenuItemTagWritingDirectionMenu):
(WebCore::contextMenuItemTagTextDirectionMenu):
(WebCore::contextMenuItemTagDefaultDirection):

22:17 Changeset [140385] by tkent@chromium.org

Date selection from calendar picker should dispatch 'input' event in addition to 'change' event
https://bugs.webkit.org/show_bug.cgi?id=107427

Reviewed by Kentaro Hara.

Source/WebCore:

According to the specification and Opera's behavior, we should dispatch
not only 'change' event but also 'input' event when a user chooses a
date from the calender picker.

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#common-event-behaviors

When the user agent changes the element's value on behalf of the user
(e.g. as part of a form prefilling feature), the user agent must follow
these steps:

  1. If the input event applies, queue a task to fire a simple event

that bubbles named input at the input element.

  1. If the change event applies, queue a task to fire a simple event

that bubbles named change at the input element.

Tests: platform/chromium/fast/forms/calendar-picker/date-picker-events.html

platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events.html

  • html/InputType.cpp:

(WebCore::InputType::setValue): Add DispatchInputAndChangeEvent support.

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::didChooseValue):
Use DispatchInputAndChangeEvent, not DispatchChangeEvent.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue):
Ditto.

LayoutTests:

  • platform/chromium/fast/forms/calendar-picker/date-picker-events-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/date-picker-events.html: Added.
  • platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/datetimelocal-picker-events.html: Added.
22:13 Changeset [140384] by jschuh@chromium.org

[CHROMIUM] Suppress c4267 build warnings for Win64 targets
https://bugs.webkit.org/show_bug.cgi?id=107499

Reviewed by Abhishek Arya.

Source/JavaScriptCore:

Source/Platform:

  • Platform.gyp/Platform.gyp:

Source/WebCore:

No new tests. No code changes.

  • WebCore.gyp/WebCore.gyp:
22:02 Changeset [140383] by akling@apple.com

CSSSelector::value() should assert that m_match != Tag.
<http://webkit.org/b/107500>

Reviewed by Anders Carlsson.

Add an assertion to catch anyone trying to extract a value() from a Tag selector.

  • css/CSSSelector.h:

(CSSSelector):
(WebCore::CSSSelector::value):

21:07 Changeset [140382] by dglazkov@chromium.org

Move HTML Attribute case-sensitivity logic out of SelectorChecker to HTMLDocument.
https://bugs.webkit.org/show_bug.cgi?id=107460

The case-sensitivity of HTML attributes is defined in HTML spec and is only applicable in HTML documents,
so having this logic in HTMLDocument seems like a good thing.

Reviewed by Eric Seidel.

Refactoring, covered by existing tests.

  • css/SelectorChecker.cpp:

(WebCore): Moved code out of here.
(WebCore::isFastCheckableMatch): Changed the callsite to use new location.
(WebCore::SelectorChecker::checkOne): Ditto.

  • html/HTMLDocument.cpp:

(WebCore::addLocalNameToSet): Moved the code into here.
(WebCore): Ditto.
(WebCore::createHtmlCaseInsensitiveAttributesSet): Ditto.
(WebCore::HTMLDocument::isCaseSensitiveAttribute): Ditto.

  • html/HTMLDocument.h:

(HTMLDocument): Added decl for the newly moved function.

21:04 Changeset [140381] by shinyak@chromium.org

FrameSelection should use shadowHost instead of shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=107220

Reviewed by Kent Tamura.

shadowAncestorNode() is deprecated and we want to use shadowHost.
Here, all objects calling shadowAncestorNode() is in ShadowDOM, we can safely convert
the call to shadowHost().

No new tests, simple refactoring.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectAll):

19:29 Changeset [140380] by commit-queue@webkit.org

Unreviewed. Rolled Chromium DEPS to r177962. Requested by
"Yoshifumi Inoue" <yosin@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-21

  • DEPS:
19:23 FeatureFlags edited by laszlo.gombos@webkit.org
see r140377 (diff)
18:41 Changeset [140379] by noel.gordon@gmail.com

[chromium] REGRESSION(r139347) roll chromium deps broke webkit-unit-tests
https://bugs.webkit.org/show_bug.cgi?id=106631

Reviewed by Kent Tamura.

Fixed in http://crrev.com/177931 and rolled. Renable these tests.

  • tests/WebImageTest.cpp:
18:37 Changeset [140378] by noel.gordon@gmail.com

[chromium] Update webaudio/realtimeanalyser-fft-sizing.html expectation on Win

Unreviewed gardening.

  • platform/chromium-win-xp/webaudio/realtimeanalyser-fft-sizing-expected.txt: Added.
18:26 Changeset [140377] by commit-queue@webkit.org

Add build flag for Canvas's Path object (disabled by default)
https://bugs.webkit.org/show_bug.cgi?id=107473

Patch by Dirk Schulze <dschulze@adobe.com> on 2013-01-21
Reviewed by Dean Jackson.

.:

Add CANVAS_PATH build flag to build systems.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
  • configure.ac:

Source/JavaScriptCore:

Add CANVAS_PATH build flag to build systems.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add CANVAS_PATH build flag to build systems.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am:

Source/WebKit/chromium:

Add CANVAS_PATH build flag to build systems.

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add CANVAS_PATH build flag to build systems.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Add CANVAS_PATH build flag to build systems.

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

Add CANVAS_PATH build flag to build systems.

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
17:52 Changeset [140376] by commit-queue@webkit.org

[EFL][WK2] Add APIs to set/get view source mode
https://bugs.webkit.org/show_bug.cgi?id=106633

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-01-21
Reviewed by Gyuyoung Kim.

Source/WebKit2:

Added APIs to set/get view source mode for enabling to load
the source code of the web page.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_source_mode_set):
(ewk_view_source_mode_get):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setMainFrameInViewSourceMode):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::mainFrameInViewSourceMode):
(WebPageProxy):

Tools:

Added a shotcut 'F8' in Minibrowser to display a source code
of the web page in a new window.

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_window_create):
(window_create):
(elm_main):

17:44 Changeset [140375] by thakis@chromium.org

[chromium] Don't archive generated source files.
https://bugs.webkit.org/show_bug.cgi?id=106736

Reviewed by Eric Seidel.

They shouldn't be needed to run tests. They don't need a lot of space,
but add many lines to the "extracting" stdout. This attempts to reduce
that noise a bit.

  • BuildSlaveSupport/built-product-archive:

(archiveBuiltProduct):

17:39 Changeset [140374] by leviw@chromium.org

Unreviewed gardening. Updating expectations for Mac platforms after r140370.

  • platform/chromium-mac-snowleopard/platform/chromium/fast/events: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/events/touch: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/events/touch/touch-hit-rects-in-iframe-expected.txt: Added.
17:04 Changeset [140373] by thakis@chromium.org

[chromium] Unreviewed, update baselines after r140358. See also bug 107476.
https://bugs.webkit.org/show_bug.cgi?id=107483

  • platform/chromium-mac/fast/block/float/024-expected.txt:
  • platform/chromium-mac/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
  • platform/chromium/fast/block/float/024-expected.txt: Renamed from LayoutTests/platform/chromium-win/fast/block/float/024-expected.txt.
17:04 Changeset [140372] by commit-queue@webkit.org

[EFL][WK2] Implement WebInspector::localizedStringsURL() on EFL
https://bugs.webkit.org/show_bug.cgi?id=107363

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-01-21
Reviewed by Benjamin Poulain.

Implement WebInspector::localizedStringsURL() method to return the
file URL of the localizedStrings.js.

This prevents printing warnings about "Localized string not found" in
the console and fixes Web inspector related failing tests on the bots.

  • WebProcess/WebPage/efl/WebInspectorEfl.cpp:

(WebKit::WebInspector::localizedStringsURL):

16:45 Changeset [140371] by akling@apple.com

CSS: Make tag sub-selectors standalone CSSSelectors.
<http://webkit.org/b/107111>

Reviewed by Antti Koivisto.

TL;DR: Instead of storing a QualifiedName with every CSSSelector, special-case tag selectors

by promoting them to stand-alone CSSSelectors.
33% reduction in CSS selector memory usage, 4.77 MB progression on Membuster3.
Fixed some bugs in Shadow DOM that were exposed by these changes.

A selector like this:

div.tripp.trapp#trull { }

Would previously be represented by a chain of 3 CSSSelector objects like so:

[ Tag: "div", Type: Class, Value: "tripp" ]
[ Tag: *, Type: Class, Value: "trapp" ]
[ Tag: *, Type: ID, Value: "trull" ]

After this change, the memory layout becomes:

[ Type: Tag, Value: "div" ]
[ Type: Class, Value: "tripp" ]
[ Type: Class, Value: "trapp" ]
[ Type: ID, Value: "trull" ]

This is a huge net memory win since the majority of selectors don't even have a tag name
and those that do now have a flat cost of one more CSSSelector.
Traversal is also slightly cleaner since any tag name will now be in a predictable place.

  • css/SelectorChecker.cpp:

(WebCore::isFastCheckableMatch):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::validateSubSelector):

Renamed CSSSelector::None to CSSSelector::Tag.

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::tagMatches):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::ruleMatches):

Changed SelectorChecker::tagMatches() to take a QualifiedName instead of a CSSSelector.

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::deref):
(WebCore::QualifiedName::QualifiedNameImpl::~QualifiedNameImpl):

  • dom/QualifiedName.h:

(QualifiedNameImpl):

Give QualifiedNameImpl a destructor so it can remove itself from the global cache instead of
having QualifiedName do it. This makes it possible to participate in ownership of QualifiedNames
via a QualifiedNameImpl pointer, as used by the union member in CSSSelector.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::createFloatingSelectorWithTagName):
(WebCore::CSSParser::updateSpecifiersWithNamespaceIfNeeded):
(WebCore::CSSParser::updateSpecifiersWithElementName):

  • css/CSSParser.h:
  • css/CSSParserValues.h:

(CSSParserSelector):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::CSSParserSelector):
(WebCore::CSSParserSelector::prependTagSelector):

Make the CSS parser slap a CSSSelector with m_match=Tag at the head of all selectors that match
one or more of these criteria:

  • The selector starts with a tag, e.g "div.foo" or just plain "span"
  • There is a @namespace rule in effect, and the override namespace needs to be stored with the selector. These will have CSSSelectors::m_isTagForNamespaceRule set, this is only so that selector serialization can avoid outputting a '*' tag where we previously didn't.

(WebCore::CSSParserSelector::isSimple):

Merged the CSSSelector::isSimple() logic into CSSParserSelector, since it's only needed during parsing
to figure out if a selector is allowed within :not().

  • css/CSSSelector.h:

(CSSSelector):
(WebCore::CSSSelector::setValue):
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::~CSSSelector):
(WebCore::CSSSelector::tagQName):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::createRareData):
(WebCore::CSSSelector::operator==):

Add a QualifiedNameImpl* m_tagQName member to the CSSSelector data union. This union pointer is used
if m_match == Tag. tagQName() is used to retrieve the tag (renamed from tag().)

(WebCore::CSSSelector::selectorText):

Only serialize Tag selector components that aren't namespace placeholders. This behavior is web-facing
so we make an effort to stay consistent.

(WebCore::CSSSelector::specificityForOneSelector):
(WebCore::CSSSelector::specificityForPage):

  • css/CSSSelectorList.cpp:

(WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):

  • css/RuleSet.cpp:

(WebCore::isSelectorMatchingHTMLBasedOnRuleHash):

  • css/SelectorFilter.cpp:

(WebCore::collectDescendantSelectorIdentifierHashes):
(WebCore::SelectorFilter::collectIdentifierHashes):

Adapt algorithms to having Tag selectors.

(WebCore::selectorListContainsUncommonAttributeSelector):

Loop through all selector components when looking for uncommon attributes.

(WebCore::determinePropertyWhitelistType):

Loop through all selector components when looking for ::cue().

(WebCore::RuleSet::addRule):
(WebCore::RuleSet::findBestRuleSetAndAdd):

Break addRule into two methods to be able to peek ahead if the first selector is a Tag.
Otherwise we'd end up sticking most selectors in m_tagRules, breaking the class/ID/etc optimizations.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::fastCheck):
(WebCore::SelectorChecker::fastCheckSingleSelector):

It's no longer necessary to check the tagQName for every selector component, so don't.
Also simplified the signature of the template argument function.

(WebCore::SelectorChecker::fastCheckRightmostSelector):

Updated for Tag selectors.

(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matches):
(WebCore::SelectorChecker::match):

Have match() take a SiblingTraversalStrategy so it can forward that to checkOne().
This is necessary for shadow DOM code that was incorrectly calling checkOne() instead of match().

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::ruleMatches):

The meaning of "single-part selector" changes a bit with this patch, and no longer includes "div.foo"
as that is now a Tag, followed by a Class. Given that, we can't assume the tag check is unnecessary
just because the rightmost descendant was found in one of the hashes.

(WebCore::StyleResolver::matchPageRulesForList):

Loop through all selector components when matching @page since pseudo types may not always be in
the first subselector now.

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::collectSelectFeatureSetFrom):

Collect feature information from subselectors to make sure nothing is missed. (This bug was exposed
by offsetting the subselectors.)

  • html/shadow/ContentSelectorQuery.cpp:

(WebCore::ContentSelectorChecker::checkContentSelector):

Call SelectorChecker::match() instead of checkOne() to make subselector traversal work properly.

16:31 Changeset [140370] by leviw@chromium.org

Event target rects on the top level document shouldn't be clipped.
https://bugs.webkit.org/show_bug.cgi?id=107339

Reviewed by James Robinson.

Source/WebCore:

clippedOverflowRectForRepaint clips the top-level RenderView to the viewport, which
is wrong for generating event target rects, as the result will not extend to the bounds
of the document on pages that scroll. Changing the top-level view to use documentRect
instead.

Tests updated to cover bug: platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html

platform/chromium/fast/events/touch/compositor-touch-hit-rects.html

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::accumulateRendererTouchEventTargetRects): Use converToRootView instead of
a loop around convertToContaining view. This is not a change in behavior.
(WebCore::accumulateDocumentEventTargetRects): Switch to use documentRect instead of
clippedOverflowRectForRepaint for the top-level Document, and use converToRootView
to put rects in the coordinates of the top-level document.

LayoutTests:

Updating existing tests to cover this issue.

  • platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt:
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html:
  • platform/chromium/fast/events/touch/touch-hit-rects-in-iframe-expected.txt:
  • platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html:
  • platform/chromium/fast/events/touch/resources/frame-with-document-touch-handler.html: Added.
  • platform/chromium/TestExpectations:
16:27 Changeset [140369] by commit-queue@webkit.org

Unreviewed. Rolled Chromium DEPS to r177956. Requested by
thakis_ via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-21

  • DEPS:
16:03 Changeset [140368] by thakis@chromium.org

[chromium] Update expectations.
https://bugs.webkit.org/show_bug.cgi?id=107481

Unreviewed, expectations update.

After https://src.chromium.org/viewvc/chrome?view=rev&revision=177952,
these tests no longer fail on linux.

  • platform/chromium/TestExpectations:
14:45 Changeset [140367] by commit-queue@webkit.org

Enable process suppression by default on Mac
https://bugs.webkit.org/show_bug.cgi?id=106804

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-21
Reviewed by Alexey Proskuryakov.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext): Change initialized value of
m_processSuppressionEnabled from false to true.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitialize): Since process suppression
is no longer disabled on construction, do not disable it for global
child processes either. Instead enable occlusion notifications as
they are needed to trigger process suppression.

14:43 Changeset [140366] by aestes@apple.com

Add a USE() macro for content filtering code
https://bugs.webkit.org/show_bug.cgi?id=107098

Reviewed by Mark Rowe.

Source/WebCore:

  • WebCore.exp.in: Use USE(CONTENT_FILTERING).
  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::MainResourceLoader): Ditto.
(WebCore::MainResourceLoader::~MainResourceLoader): Ditto.
(WebCore::MainResourceLoader::cancel): Ditto.
(WebCore::MainResourceLoader::responseReceived): Ditto.
(WebCore::MainResourceLoader::dataReceived): Ditto.
(WebCore::MainResourceLoader::didFinishLoading): Ditto.
(WebCore::MainResourceLoader::notifyFinished): Ditto.

  • loader/MainResourceLoader.h:

(MainResourceLoader): Ditto.

  • platform/mac/WebCoreSystemInterface.h: Ditto.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Use USE(CONTENT_FILTERING).

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Use USE(CONTENT_FILTERING).

Source/WTF:

  • wtf/Platform.h: Define WTF_USE_CONTENT_FILTERING on Mac platforms

more recent than Lion.

14:35 Changeset [140365] by commit-queue@webkit.org

[CSS Exclusions] shape-outside on floats for rectangle shapes positioning
https://bugs.webkit.org/show_bug.cgi?id=100399

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-01-21
Reviewed by David Hyatt.

Source/WebCore:

When a float has a shape-outside with non-zero x or y, the float's
exclusion behavior can happen at a completely different location than
where the float's content is painted. This patch brings initial
support for this behavior.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-positioning.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::flipFloatForWritingModeForChild): If called

during painting, make sure to pass that state down to the float
positioning so that it can use the proper position.

(WebCore::RenderBlock::paintFloats): Since this is concerned with

painting, use the position of the float, not the shape.

(WebCore::RenderBlock::positionNewFloats): Set the correct location

for the float, relative to the location of the shape.

(WebCore::RenderBlock::addOverhangingFloats): Add FIXME.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::xPositionForFloatIncludingMargin):
(WebCore::RenderBlock::yPositionForFloatIncludingMargin): Since the

position of the shape (FloatingObject) can be different from the
position of the float's box (RenderBox), the position needs to be
computed differently for painting than for determining layout.

(WebCore::RenderBlock::flipFloatForWritingModeForChild): Change

signature to take painting flag.

LayoutTests:

  • fast/exclusions/shape-outside-floats/shape-outside-floats-positioning-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-positioning.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple.html:

This test had incorrect coordinates for some of the shapes, causing them to break now that x and y are supported for the shapes.

14:27 Changeset [140364] by robert@webkit.org

Unreviewed, suppress tests requiring rebaseline after r140358

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
14:21 Changeset [140363] by jer.noble@apple.com

Unreviewed LayoutTests gardening.

Rebaseline fast/block/margin-collapse/empty-clear-blocks.html
and fast/block/float/024.html after r140358.

  • platform/mac/fast/block/float/024-expected.txt:
  • platform/mac/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
14:20 Changeset [140362] by robert@webkit.org

Unreviewed, suppress tests requiring rebaseline after r140358

  • platform/qt/TestExpectations:
14:12 Changeset [140361] by benjamin@webkit.org

Mac DumpRenderTree's installSignalHandlers() is unreachable code
https://bugs.webkit.org/show_bug.cgi?id=107383

Reviewed by Sam Weinig.

The CrashHandler of DumpRenderTree were originally used for restoring
the color profile of the main display even if DRT crashes.

That feature was later limited to pixel tests only in r29999.

In r104351, the DRT was changed to use device color space. Making the crash
handlers useless, but they were left in the code since the error reporting
code was still reachable.

Later, r124581 refactored the code and dumpPixelsForCurrentTest
is being used before being assigned its value.
This did cause any regression because the code had become useless with the previous change.

  • DumpRenderTree/mac/DumpRenderTree.mm:

Remove crashHandler() and installSignalHandlers() as they have become useless and
have been unreachable code for 6 months.
(dumpRenderTree):
Remove the code that was unreachable due to dumpPixelsForCurrentTest being always false
at those points.

14:04 Changeset [140360] by thakis@chromium.org

Make ninja the default build system for build-webkit --chromium on mac
https://bugs.webkit.org/show_bug.cgi?id=106737

Reviewed by Eric Seidel.

  • Scripts/update-webkit-chromium:
14:02 Changeset [140359] by eric.carlson@apple.com

Support non-WebVTT cues from in-band text tracks
https://bugs.webkit.org/show_bug.cgi?id=107046

Reviewed by Sam Weinig.

  • CMakeLists.txt: Add new files.
  • GNUmakefile.list.am: Ditto.
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Pass video size to getDisplayTree.

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::addGenericCue): New, create a generic cue if it doesn't already exist.
(WebCore::InbandTextTrack::addWebVTTCue): Renamed from addCue.

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

(WebCore::TextTrack::hasCue): Moved from InbandTextTrack.cpp, use operator == instead of inline

comparison so derived TextTrackCues can be compared.

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

(WebCore::TextTrackCueBox::applyCSSProperties): Interface change.
(WebCore::TextTrackCue::TextTrackCue): Don't create the display tree in the constructor, it may

never be needed.

(WebCore::TextTrackCue::createDisplayTree): New, create the display tree.
(WebCore::TextTrackCue::displayTreeInternal): Display tree accessor, allows it to be created lazily.
(WebCore::TextTrackCue::setAlign): Alignment -> CueAlignment.
(WebCore::TextTrackCue::setIsActive): Use displayTreeInternal().
(WebCore::TextTrackCue::getDisplayTree): Use displayTreeInternal(), pass video size to applyCSSProperties.
(WebCore::TextTrackCue::removeDisplayTree): Use displayTreeInternal().
(WebCore::TextTrackCue::operator==): New.

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::getAlignment): Alignment -> CueAlignment.
(WebCore::TextTrackCue::operator!=): New.
(WebCore::TextTrackCue::cueType): New, cue type identified needed by operator==.
(WebCore::TextTrackCue::ownerDocument): New.

  • html/track/TextTrackCueGeneric.cpp: Added.

(WebCore::TextTrackCueGenericBox::create):
(WebCore::TextTrackCueGenericBox::TextTrackCueGenericBox):
(WebCore::TextTrackCueGenericBox::applyCSSProperties):
(WebCore:::TextTrackCue):
(WebCore::TextTrackCueGeneric::createDisplayTree):
(WebCore::TextTrackCueGeneric::operator==):

  • html/track/TextTrackCueGeneric.h: Added.

(WebCore::TextTrackCueGeneric::create):
(WebCore::TextTrackCueGeneric::~TextTrackCueGeneric):
(WebCore::TextTrackCueGeneric::baseFontSizeRelativeToVideoHeight):
(WebCore::TextTrackCueGeneric::setBaseFontSizeRelativeToVideoHeight):
(WebCore::TextTrackCueGeneric::fontSizeMultiplier):
(WebCore::TextTrackCueGeneric::setFontSizeMultiplier):
(WebCore::TextTrackCueGeneric::fontName):
(WebCore::TextTrackCueGeneric::setFontName):
(WebCore::TextTrackCueGeneric::operator!=):
(WebCore::TextTrackCueGeneric::cueType):

  • platform/graphics/InbandTextTrackPrivateClient.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Copy cue attributes into GenericCueData

struct instead of trying to convert to WebVTT settings string. Process font size,font base
size, font name, and vertical layout attributes,

(WebCore::InbandTextTrackPrivateAVF::processCue): Create separate cues for each attributed

string in the array because each one can be at a different screen location.

(WebCore::InbandTextTrackPrivateAVF::resetCueValues):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

(InbandTextTrackPrivateAVF):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Reset any partially accumulated cues

delivered since the seek was started.

(WebCore::MediaPlayerPrivateAVFoundation::addGenericCue): Renamed from flushCurrentCue.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Whitespace cleanup.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Tell legible output to deliver cues

without any additional styling needed by the internal renderer.

(WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Do nothing if asked to change

to the track that is already current.

(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):

Check to make sure that the client callback isn't NULL.

13:58 Changeset [140358] by robert@webkit.org

Misaligned logo on www.nzherald.co.nz possibly due to negative margin-top
https://bugs.webkit.org/show_bug.cgi?id=14664

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/block/float/clear-negative-margin-top.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseMargins): If a negative margin pulls a block up so that floats from
siblings overhang, then ensure addOverHangingFloats() uses the revised logical top position when
deciding whether a float does indeed overhang into the block after margin-collapsing.
(WebCore::RenderBlock::clearFloatsIfNeeded):

LayoutTests:

  • fast/block/float/clear-negative-margin-top-expected.html: Added.
  • fast/block/float/clear-negative-margin-top.html: Added.
  • platform/chromium-win/fast/block/float/024-expected.txt:
  • platform/chromium-win/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
13:31 Changeset [140357] by lforschler@apple.com

Merged r140351. <rdar://problem/13015294>

13:27 Changeset [140356] by lforschler@apple.com

Versioning.

13:26 Changeset [140355] by zandobersek@gmail.com

Unreviewed GTK gardening.

Rebaselining a few media tests after r140339.

  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt:
  • platform/gtk/media/media-controls-clone-expected.txt:
  • platform/gtk/media/video-empty-source-expected.txt:
  • platform/gtk/media/video-no-audio-expected.txt:
13:26 Changeset [140354] by lforschler@apple.com

New Tag.

13:07 Changeset [140353] by commit-queue@webkit.org

Unreviewed. Rolled Chromium DEPS to r177953. Requested by
thakis_ via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-21

  • DEPS:
13:05 Changeset [140352] by commit-queue@webkit.org

Proposal: Add support for even-odd fill and clip to Canvas
https://bugs.webkit.org/show_bug.cgi?id=106188

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-01-21
Reviewed by Dirk Schulze.

Source/WebCore:

This patch adds support for an optional winding rule to fill, clip
and isPointInPath in canvas 2d. By default, the fill is non-zero but
you can now pass in an optional winding rule string ("nonzero" or "evenodd")
to make an explicit choice.

Tests: fast/canvas/canvas-clip-rule.html

fast/canvas/canvas-fill-rule.html
fast/canvas/canvas-isPointInPath-winding.html

  • html/canvas/CanvasRenderingContext2D.cpp: Change implementation so it sets the windig rule in the context.

(WebCore::parseWinding):
(WebCore):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::clip):
(WebCore::CanvasRenderingContext2D::isPointInPath):

  • html/canvas/CanvasRenderingContext2D.h:

(CanvasRenderingContext2D):

  • html/canvas/CanvasRenderingContext2D.idl: Change the idl so the new API is exposed to JavaScript.
  • platform/graphics/cg/GraphicsContextCG.cpp: Fixes a bug where the wrong winding rule was set for clipping in Core Graphics.

(WebCore::GraphicsContext::clip):

LayoutTests:

Add tests to verify that the winding rule work as expected with clip, fill and isPointInPath

  • fast/canvas/canvas-clip-rule-expected.txt: Added.
  • fast/canvas/canvas-clip-rule.html: Added.
  • fast/canvas/canvas-fill-rule-expected.txt: Added.
  • fast/canvas/canvas-fill-rule.html: Added.
  • fast/canvas/canvas-isPointInPath-winding-expected.txt: Added.
  • fast/canvas/canvas-isPointInPath-winding.html: Added.
  • fast/canvas/script-tests/canvas-clip-rule.js: Added.

(pixelDataAtPoint):
(checkResult):
(prepareTestScenario):

  • fast/canvas/script-tests/canvas-fill-rule.js: Added.

(pixelDataAtPoint):
(checkResult):
(prepareTestScenario):

  • fast/canvas/script-tests/canvas-isPointInPath-winding.js: Added.

(prepareTestScenario):

12:51 Changeset [140351] by andersca@apple.com

Don't null out the IPC connection in ChildProcess:terminate
https://bugs.webkit.org/show_bug.cgi?id=107469
<rdar://problem/13015294>

Reviewed by Dan Bernstein.

We already invalidate the connection, and Connection::sendMessage checks if a connection
is valid and bails if it isn't, so the only thing that nulling out the connection here does
is that it would force us to add random connection null checks everywhere.

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::terminate):

12:22 Changeset [140350] by commit-queue@webkit.org

[GTK][AC] setOpacity doesn't work for GraphicsLayerClutter
https://bugs.webkit.org/show_bug.cgi?id=105436

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2013-01-21
Reviewed by Gustavo Noronha Silva.

Implement GraphicsLayerClutter::setOpacity based on Mac's GraphicsLayer implementation.

No new tests since this patch can be covered by already existing gtk ac tests.

  • platform/graphics/clutter/GraphicsLayerClutter.cpp:

(WebCore::GraphicsLayerClutter::setOpacity):
(WebCore):
(WebCore::GraphicsLayerClutter::updateOpacityOnLayer):
(WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):

  • platform/graphics/clutter/GraphicsLayerClutter.h:
11:46 Changeset [140349] by nghanavatian@rim.com

[BlackBerry] Skip spell checking on single character strings
https://bugs.webkit.org/show_bug.cgi?id=107463

Reviewed by Yong Li.

Check for a minimum string length when firing off spellcheck since we don't
want to mark single letter words.

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:
  • WebKitSupport/SpellingHandler.cpp:

(BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):

11:31 Changeset [140348] by joone.hur@intel.com

[EFL] API unit tests are running extremely slow on the bots
https://bugs.webkit.org/show_bug.cgi?id=104665

Reviewed by Gyuyoung Kim.

Clear HTTP cache files before running the unit tests, which prevents
performance degradation due to so many cache files.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::SetUp):

11:16 Changeset [140347] by commit-queue@webkit.org

[Texmap][GTK] The poster-circle doesn't appear.
https://bugs.webkit.org/show_bug.cgi?id=106672

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2013-01-21
Reviewed by Noam Rosenthal.

Source/WebCore:

We need to call setNeedsDisplay to redraw GraphicsLayer after we set drawsContent
a new value for the layer. Otherwise we can't get a chance for first drawing the layer.

Test: compositing/visibility/visibility-composited-animation.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):

LayoutTests:

A new pixel test is added. It tests if animated layer is drawn for the first scene.

  • compositing/visibility/visibility-composited-animation-expected.png: Added.
  • compositing/visibility/visibility-composited-animation-expected.txt: Added.
  • compositing/visibility/visibility-composited-animation.html: Added.
11:03 Changeset [140346] by mkwst@chromium.org

Add a test to ensure that content written into a seamless IFrame inherits style.
https://bugs.webkit.org/show_bug.cgi?id=99289

Reviewed by Eric Seidel.

This patch adds a single test to ensure that content written into a
seamless IFrame via 'contentDocument.write()' properly inherits style.
The root of the issue was fixed in wkbug.com/103539, so no code changes
are necesary, but that patch didn't test this particular edge case.

  • fast/frames/seamless/seamless-document-write-expected.txt: Added.
  • fast/frames/seamless/seamless-document-write.html: Added.
10:58 Changeset [140345] by mkwst@chromium.org

[chromium] Unreviewed. Disable <iframe seamless> on the M25 branch.

10:44 Changeset [140344] by christophe.dumez@intel.com

Regression(r140262): Causes a lot of flakiness
https://bugs.webkit.org/show_bug.cgi?id=107454

Reviewed by Alexey Proskuryakov.

r140262 introduced a lot of flakiness due to fixed layout mode
not getting disabled on the view after being enabled for
specific test cases. This patch makes sure fixed layout mode
properly gets reset in WebKitTestRunner to avoid flakiness.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::updateLayoutType):

10:26 Changeset [140343] by commit-queue@webkit.org

Consolidate and run ARIA-list-and-listitem accessibility test
https://bugs.webkit.org/show_bug.cgi?id=107283

Patch by Brian Holt <brian.holt@samsung.com> on 2013-01-21
Reviewed by Chris Fleizach.

After revision r131674 for bug 99640, the output from
AccessibilityUIElement::role() is consistent across most platforms,
therefore platform specific expections can be consolidated into a
generic expectation with a Mac exception and enabled.

  • accessibility/aria-list-and-listitem-expected.txt: Renamed from LayoutTests/platform/chromium/accessibility/aria-list-and-listitem-expected.txt.
  • platform/gtk/TestExpectations: Removed passing test.
  • platform/gtk/accessibility/aria-list-and-listitem-expected.txt: Removed.
09:57 Changeset [140342] by commit-queue@webkit.org

[EFL][Qt][WebGl] Random crash in GraphicsContext3D::drawArrays
https://bugs.webkit.org/show_bug.cgi?id=107178

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-21
Reviewed by Noam Rosenthal.

Workaround for the problem in mesa when internal llvm pipe object is deleted
later than the screen object. Screen object is deleted because the corresponding
X server display connection closed.
Keep X server display connection open until program shutdown.
OffScreenRootWindow::display is now static, so there is no need to create
OffScreenRootWindow object on client side.

Fixes crash that appears during run of fast/canavs/webgl tests.

  • platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:

(OffScreenRootWindow):
(WebCore::OffScreenRootWindow::DisplayConnection::DisplayConnection):
(DisplayConnection):
(WebCore::OffScreenRootWindow::DisplayConnection::~DisplayConnection):
(WebCore::OffScreenRootWindow::DisplayConnection::display):
(WebCore::OffScreenRootWindow::display):
(WebCore::OffScreenRootWindow::~OffScreenRootWindow):
(WebCore):
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::createSurface):
(WebCore::GraphicsSurfacePrivate::createPixmap):
(WebCore::GraphicsSurfacePrivate::makeCurrent):
(WebCore::GraphicsSurfacePrivate::doneCurrent):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::display):
(WebCore::GraphicsSurfacePrivate::size):
(WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
(WebCore::GraphicsSurfacePrivate::clear):
(GraphicsSurfacePrivate):

09:10 Changeset [140341] by commit-queue@webkit.org

Implement the HTML <main> element.
https://bugs.webkit.org/show_bug.cgi?id=103172

Patch by Michael[tm] Smith <mike@w3.org> on 2013-01-21
Reviewed by Chris Fleizach.

Source/WebCore:

Authored by Steve Faulkner <faulkner.steve@gmail.com>

<main> should behave the same as <nav>, <section>, and <article>, and <aside>.
<main> should expose AXLandmarkMain correctly on each platform.

Tests: fast/html/main-element.html

platform/chromium/accessibility/main-element.html
platform/mac/accessibility/main-element.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • css/html.css:

(article, aside, footer, header, hgroup, main, nav, section):

  • editing/FormatBlockCommand.cpp:

(WebCore::isElementForFormatBlock):

  • html/HTMLTagNames.in:
  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::isSpecialNode):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):

LayoutTests:

<main> should behave the same as <nav>, <section>, <article>, and <aside>.
<main> has no specific parsing rules.
<main> should expose AXLandmarkMain correctly for each platform.

  • editing/execCommand/query-format-block-expected.txt:
  • editing/execCommand/remove-format-elements-expected.txt:
  • editing/execCommand/remove-format-elements.html:
  • editing/execCommand/script-tests/query-format-block.js:
  • fast/block/child-not-removed-from-parent-lineboxes-crash.html:
  • fast/dom/click-method-on-html-element-expected.txt:
  • fast/dom/click-method-on-html-element.html:
  • fast/dom/wrapper-classes-expected.txt:
  • fast/dom/wrapper-classes.html:
  • fast/forms/access-key-for-all-elements-expected.txt:
  • fast/forms/access-key-for-all-elements.html:
  • fast/html/main-element-expected.txt: Added.
  • fast/html/main-element.html: Added.
  • fast/html/script-tests/main-element.js: Added.

(getWeight):

  • platform/chromium/accessibility/main-element-expected.txt: Added.
  • platform/chromium/accessibility/main-element.html: Added.
  • platform/chromium/fast/dom/wrapper-classes-expected.txt:
  • platform/mac/accessibility/main-element-expected.txt: Added.
  • platform/mac/accessibility/main-element.html: Added.
08:57 Changeset [140340] by commit-queue@webkit.org

Crash in AccessibilityTableCell::parentTable()
https://bugs.webkit.org/show_bug.cgi?id=107261

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2013-01-21
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/table-destroyed-crash.html

Getting the parent table in order to get the role value should not be
done when objects are being destroyed. Also, it does not seem safe to
assume we have an AXObjectCache.

Moving the logic from roleValue() to determineAccessibilityRole() has
the side effect of not being able to verify the cell is in an AXTable
when that AXTable has not yet been created. Therefore isTableCell()
should look to see if it is the descendant of an AXRow.

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::isTableCell):
(WebCore::AccessibilityTableCell::determineAccessibilityRole):

  • accessibility/AccessibilityTableCell.h:

(AccessibilityTableCell):

LayoutTests:

Getting the parent table in order to get the role value should not be
done when objects are being destroyed. Also, it does not seem safe to
assume we have an AXObjectCache.

  • accessibility/table-destroyed-crash-expected.txt: Added.
  • accessibility/table-destroyed-crash.html: Added.
08:39 Changeset [140339] by commit-queue@webkit.org

[GTK] Volume button should not be shown for videos without audio
https://bugs.webkit.org/show_bug.cgi?id=106436

Patch by Halton Huo <halton.huo@intel.com> on 2013-01-21
Reviewed by Philippe Normand.

The volume control is no longer shown for videos with no audio.

No new tests, tested by media/video-no-audio.html.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor):
(WebCore):

  • platform/gtk/RenderThemeGtk.h:
08:23 Changeset [140338] by danw@gnome.org

[Soup] Work around a glib bug
https://bugs.webkit.org/show_bug.cgi?id=106789

Reviewed by Martin Robinson.

In glib <= 2.35.4, g_input_stream_skip_async() applied to a
libsoup response stream will do a synchronous skip() in another
thread, which libsoup isn't expecting and doesn't have proper
locking for. Work around this until the next time we bump the glib
requirement by using read_async() (and throwing away the result)
instead of skip_async().

No new tests; fixes a race condition in existing tests with older
glib

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::redirectSkipCallback):
(WebCore::sendRequestCallback):

08:17 Changeset [140337] by kov@webkit.org

REGRESSION (r140285): GTK uses WKPageResourceLoadClient which was removed
https://bugs.webkit.org/show_bug.cgi?id=107421

Source/WebKit2:

Unreviewed buildfix.

  • GNUmakefile.list.am:
  • UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Removed.
  • UIProcess/API/gtk/WebKitResourceLoadClient.h: Removed.
  • UIProcess/API/gtk/WebKitWebView.cpp: No longer attach unexisting ResourceLoadClient.

(webkitWebViewConstructed):

Tools:

Unreviewed build fix.

  • Scripts/run-gtk-tests:

(TestRunner): skip Resource tests.

08:14 Changeset [140336] by commit-queue@webkit.org

[Gtk] Dispatching event list into input element.
https://bugs.webkit.org/show_bug.cgi?id=107259

Patch by Oleg Smirnov <oleg.smirnov@lge.com> on 2013-01-21
Reviewed by Martin Robinson.

Clear pending command list after dispatching events.

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::handleKeyboardEvent):

08:07 Changeset [140335] by caseq@chromium.org

Web Inspector: data grid resize is slow
https://bugs.webkit.org/show_bug.cgi?id=107291

Reviewed by Pavel Feldman.

  • avoid (most of) unnecessary relayouts and style recalculation when dragging data grid resizer.
  • inspector/front-end/DataGrid.js:

(WebInspector.DataGrid.prototype._positionResizers):
(WebInspector.DataGrid.prototype._resizerDragging):

07:33 Changeset [140334] by kadam@inf.u-szeged.hu

[Qt] Unreviewed gardening. Skip failing test.
https://bugs.webkit.org/show_bug.cgi?id=105574.

  • platform/qt/TestExpectations:
07:32 Changeset [140333] by commit-queue@webkit.org

[Inspector] Layout Elements panel in a single column when docked right.
https://bugs.webkit.org/show_bug.cgi?id=107129

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-21
Reviewed by Pavel Feldman.

If the Inspector is docked right, the style panes in the Elements panel
are put below the DOM tree pane, not to the right. This behavior
is experimental (hidden behind a new flag "elementsPanelSingleColumn").

No new tests.

  • inspector/front-end/DockController.js:

(WebInspector.DockController.prototype.dockSide):
(WebInspector.DockController.prototype._updateUI):
(WebInspector.DockController.prototype._toggleDockState):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.onResize):
(WebInspector.ElementsPanel.prototype._onDockStateChanged):
(WebInspector.ElementsPanel.prototype._sidebarPosition):

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.createSidebarView):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/SidebarView.js:

(WebInspector.SidebarView):
(WebInspector.SidebarView.prototype.get mainElement):
(WebInspector.SidebarView.prototype.get sidebarElement):
(WebInspector.SidebarView.prototype._setSidebarElementStyle):
(WebInspector.SidebarView.prototype.setSidebarPosition):
(WebInspector.SidebarView.prototype._innerSetSidebarPosition):
(WebInspector.SidebarView.prototype.setMinimumSidebarHeight):
(WebInspector.SidebarView.prototype.setMinimumMainHeightPercent):
(WebInspector.SidebarView.prototype.applyConstraints):
(WebInspector.SidebarView.prototype.hideMainElement):
(WebInspector.SidebarView.prototype.hideSidebarElement):

  • inspector/front-end/SplitView.js:

(WebInspector.SplitView):

  • inspector/front-end/splitView.css:

(.split-view-sidebar-top):
(.split-view-sidebar-top.maximized):
(.split-view-sidebar-bottom):
(.split-view-sidebar-bottom.maximized):

07:30 Changeset [140332] by yurys@chromium.org

Web Inspector: do not serialize native heap graph when collecting information about memory distribution
https://bugs.webkit.org/show_bug.cgi?id=107450

Reviewed by Pavel Feldman.

Native heap graph is not reported when we need to show only high-level memory distribution.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemorySnapshotView):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked):

06:57 Changeset [140331] by apavlov@chromium.org

Web Inspector: [REGRESSION] Forced :visited pseudoclass has no effect on A elements
https://bugs.webkit.org/show_bug.cgi?id=107448

Reviewed by Antti Koivisto.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sortAndTransferMatchedRules): Remove totally bad code.
(WebCore::StyleResolver::styleForElement):

Use InsideVisitedLink if PseudoVisited has been forced by Inspector.

06:28 Changeset [140330] by allan.jensen@digia.com

[Qt][WK1] Permission request callbacks for non-legacy notifications
https://bugs.webkit.org/show_bug.cgi?id=107438

Reviewed by Jocelyn Turcotte.

Tracks the new callbacks the same way legacy callbacks are tracked.

No test affected yet as we are still lacking support for testing
feature permission callbacks.

  • WebCoreSupport/NotificationPresenterClientQt.cpp:

(WebCore::NotificationPresenterClientQt::requestPermission):
(WebCore::NotificationPresenterClientQt::allowNotificationForFrame):

  • WebCoreSupport/NotificationPresenterClientQt.h:

(NotificationPresenterClientQt):
(CallbacksInfo):

06:16 Changeset [140329] by aandrey@chromium.org

Web Inspector: modify generate_protocol_externs.py to generate JSON typedef's for @constructors
https://bugs.webkit.org/show_bug.cgi?id=107287

Reviewed by Pavel Feldman.

Source/WebCore:

Modify generate_protocol_externs.py to generate @typedefs instead of @constructors,

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

  • inspector/InjectedScriptSource.js:
  • inspector/compile-front-end.py:
  • inspector/generate_protocol_externs.py:

(param_type):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
06:11 Changeset [140328] by commit-queue@webkit.org

Unreviewed, rolling out r139781.
http://trac.webkit.org/changeset/139781
https://bugs.webkit.org/show_bug.cgi?id=107443

This patch seems to cause flakiness on Qt (Requested by chris-
qBT_work on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-21

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):

05:55 Changeset [140327] by christophe.dumez@intel.com

[EFL][WKTR] platformRunUntil() should keep the main loop running
https://bugs.webkit.org/show_bug.cgi?id=107442

Reviewed by Noam Rosenthal.

EFL's implementation of platformRunUntil() should keep the main loop
running and avoid calling sleep() between calls to
ecore_main_loop_iterate(). This call to sleep seems to be a source
of deadlocks (see Bug 106884).

  • WebKitTestRunner/efl/TestControllerEfl.cpp:

(WTR::TestController::platformRunUntil):

05:40 Changeset [140326] by jocelyn.turcotte@digia.com

[Qt] Update the documentation about the storage of inspector settings
https://bugs.webkit.org/show_bug.cgi?id=106777

Reviewed by Allan Sandfeld Jensen.

Since r76770, QSettings isn't queried anymore to persist inspector
settings like whether or not the debugger is enabled by default.
It still seems to be used for the default attach height.

Update the documentation accordingly.

  • WidgetApi/qwebinspector.cpp:
05:34 Changeset [140325] by commit-queue@webkit.org

[Gtk] [Cairo] Memory leak when is WebView destroy.
https://bugs.webkit.org/show_bug.cgi?id=107112

Patch by Oleg Smirnov <oleg.smirnov@lge.com> on 2013-01-21
Reviewed by Martin Robinson.

Make createSurfaceForBackingStore return a smart pointer in all supported
build configurations to avoid a memory leak.

No new tests. There is memory leak only.

  • platform/cairo/WidgetBackingStoreCairo.cpp:

(WebCore::createSurfaceForBackingStore):

04:50 Changeset [140324] by tkent@chromium.org

INPUT_MULTIPLE_FIELDS_UI: should not dispatch 'input' events if the element value is not updated
https://bugs.webkit.org/show_bug.cgi?id=107429

Reviewed by Kentaro Hara.

Source/WebCore:

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#common-event-behaviors

any time the user causes the element's value to change, the user agent
must queue a task to fire a simple event that bubbles named input at the
input element.

Tests:
fast/forms/time-multiple-fields/time-multiple-fields-keyboard-event.html
is updated to cover this change.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
If the new value is equivalent to the old value, don't dispatch events.
However we should recalculate validity and call notifyFormStateChanged
because input.validity.badInput state might be changed.

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:
04:45 Changeset [140323] by vivek.vg@samsung.com

QtTestBrowser should provide way to clear selected elements
https://bugs.webkit.org/show_bug.cgi?id=107437

Reviewed by Simon Hausmann.

Provide a way to "Clear selection" in the "Develop" menu to clear the previous search highlight.
Invoke the clearSelection prior to highlighting new elements.

  • QtTestBrowser/launcherwindow.cpp:

(ElementHighlight):
(LauncherWindow::createChrome):
(LauncherWindow::selectElements):
(LauncherWindow::clearSelection):

  • QtTestBrowser/launcherwindow.h:

(LauncherWindow):

04:33 Changeset [140322] by allan.jensen@digia.com

[Qt] Crash in gmail on enabling desktop notifications
https://bugs.webkit.org/show_bug.cgi?id=106699

Patch by David Rosca.
Reviewed by Jocelyn Turcotte.

Protect against callback that may be null. This also matches WebKit2 behaviour.

  • WebCoreSupport/NotificationPresenterClientQt.cpp:

(WebCore::NotificationPresenterClientQt::allowNotificationForFrame):

04:06 Changeset [140321] by apavlov@chromium.org

Web Inspector: Do not dispatch mousemove when emulating touch event and no touch is active
https://bugs.webkit.org/show_bug.cgi?id=107419

Reviewed by Pavel Feldman.

Source/WebCore:

mousemove event should not be dispatched when emulating touch events and mouse button is not pressed

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

LayoutTests:

  • fast/events/touch/emulate-touch-events.html: Test that mousemove is dispatched not more than once and reset the touch event emulation flag in window.internals.settings upon test completion.
  • fast/events/touch/emulated-touch-iframe.html: Reset the touch event emulation flag in window.internals.settings upon test completion.
03:54 Changeset [140320] by commit-queue@webkit.org

Web Inspector: fix highlight bug in DTE.
https://bugs.webkit.org/show_bug.cgi?id=107433

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-21
Reviewed by Pavel Feldman.

Source/WebCore:

Do not re-create |state.ranges| array when it already contains highlight.

Test: inpector/editor/highlighter-chunk-limit.txt

  • inspector/front-end/TextEditorHighlighter.js:

(WebInspector.TextEditorHighlighter.prototype._highlightLines):

LayoutTests:

Add a layout test to cover highlight bug specific situation.

  • inspector/editor/highlighter-chunk-limit-expected.txt: Added.
  • inspector/editor/highlighter-chunk-limit.html: Added.
03:33 Changeset [140319] by kadam@inf.u-szeged.hu

[Qt] Unreviewed gardening. Skip some failing.

  • platform/qt/TestExpectations:
  • platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Update after r140202.
  • platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Update after r140202.
  • platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Update after r140202.
  • platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Update after r140202.
03:16 Changeset [140318] by jochen@chromium.org

[chromium] move methods interacting with willSendRequest to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107270

Reviewed by Kent Tamura.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::waitForPolicyDelegate):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:

(WebTestRunner::WebTestRunner::shouldStayOnPageAfterHandlingBeforeUnload):
(WebTestRunner::WebTestRunner::httpHeadersToClear):
(WebTestRunner::WebTestRunner::shouldBlockRedirects):
(WebTestRunner::WebTestRunner::willSendRequestShouldReturnNull):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::httpHeadersToClear):
(WebTestRunner):
(WebTestRunner::TestRunner::shouldBlockRedirects):
(WebTestRunner::TestRunner::willSendRequestShouldReturnNull):
(WebTestRunner::TestRunner::setWillSendRequestClearHeader):
(WebTestRunner::TestRunner::setWillSendRequestReturnsNullOnRedirect):
(WebTestRunner::TestRunner::setWillSendRequestReturnsNull):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:

(WebTestRunner::WebTestProxyBase::willSendRequest):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::willSendRequest):
(WebViewHost::reset):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

03:10 Changeset [140317] by zandobersek@gmail.com

[GTK] Stop building WebKit2 on GTK EWSs
https://bugs.webkit.org/show_bug.cgi?id=107435

Reviewed by Philippe Normand.

The WebKit2 build of the GTK is at the moment not efficiently maintainable,
so stop building it on GTK EWSs.

  • Scripts/webkitpy/common/config/ports.py:

(GtkPort.build_webkit_command):

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest.test_gtk_port):

02:33 Changeset [140316] by tasak@google.com

[Refactoring] rename StyleRuleBlock -> StyleRuleGroup
https://bugs.webkit.org/show_bug.cgi?id=107415

Reviewed by Antti Koivisto.

StyleRuleBlock should be renamed StyleRuleGroup, because
CSSGroupingRule (not CSSBlockRule) is an interface for an at-rule that
contains other rules nested inside itself:
http://www.w3.org/TR/2012/WD-css3-conditional-20121213/#the-cssgroupingrule-interface
To match the name: CSSGroupingRule, StyleRuleGroup looks better.

No new tests, because just refactoring.

  • css/CSSGroupingRule.cpp:

(WebCore::CSSGroupingRule::CSSGroupingRule):
(WebCore::CSSGroupingRule::reattach):

  • css/CSSGroupingRule.h:

(CSSGroupingRule):

  • css/StyleRule.cpp:

(WebCore::StyleRuleGroup::StyleRuleGroup):
(WebCore::StyleRuleGroup::wrapperInsertRule):
(WebCore::StyleRuleGroup::wrapperRemoveRule):
(WebCore::StyleRuleGroup::reportDescendantMemoryUsage):
(WebCore::StyleRuleMedia::StyleRuleMedia):
(WebCore::StyleRuleSupports::StyleRuleSupports):
(WebCore::StyleRuleRegion::StyleRuleRegion):

  • css/StyleRule.h:

(StyleRuleGroup):
(WebCore::StyleRuleHost::StyleRuleHost):
(WebCore::toStyleRuleMedia):
(WebCore::toStyleRuleSupports):
(WebCore::toStyleRuleRegion):
Just replaced StyleRuleBlock with StyleRuleGroup.

02:12 Changeset [140315] by haraken@chromium.org

Implement MediaStreamEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107411

Reviewed by Hajime Morita.

Fixed wrong test cases.

  • fast/events/constructors/media-stream-event-constructor-expected.txt:
  • fast/events/constructors/media-stream-event-constructor.html:
01:53 Changeset [140314] by commit-queue@webkit.org

Web Inspector: refactoring to use string as argument for highlightRegex API
https://bugs.webkit.org/show_bug.cgi?id=107243

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-21
Reviewed by Pavel Feldman.

Source/WebCore:

Use string as argument for highlightRegex API instead of using regex object.

No new tests: no change in behaviour.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype.highlightRegex):

  • inspector/front-end/TextEditor.js:

LayoutTests:

Correct test to correspond to refactoring changes.

  • inspector/editor/text-editor-highlight-regexp.html:
01:33 Changeset [140313] by commit-queue@webkit.org

Unreviewed, rolling out r140311.
http://trac.webkit.org/changeset/140311
https://bugs.webkit.org/show_bug.cgi?id=107431

Broke selection-related tests (Requested by apavlov on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-21

Source/WebCore:

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

LayoutTests:

  • fast/events/touch/emulate-touch-events.html:
01:11 Changeset [140312] by haraken@chromium.org

Unreviewed. Build fix.

  • bindings/v8/V8NPObject.cpp:

(WebCore::createV8ObjectForNPObject):

00:49 Changeset [140311] by apavlov@chromium.org

Web Inspector: Do not dispatch mousemove when emulating touch event and no touch is active
https://bugs.webkit.org/show_bug.cgi?id=107419

Reviewed by Pavel Feldman.

Source/WebCore:

mousemove event should not be dispatched when emulating touch events and mouse button is not pressed

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

LayoutTests:

  • fast/events/touch/emulate-touch-events.html: Test that mousemove is dispatched not more than once.
00:32 Changeset [140310] by tommyw@google.com

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

Reviewed by Adam Barth.

Source/Platform:

Updating the chromium WebKit API for the new states.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::~WebRTCPeerConnectionHandlerClient):
(WebRTCPeerConnectionHandlerClient):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeSignalingState):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEConnectionState):
(WebKit::WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeReadyState):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEState):

Source/WebCore:

http://dev.w3.org/2011/webrtc/editor/webrtc.html#interface-definition

RTCPeerConnection::readyState and iceState are history and instead signalingState,
iceConnectionState and iceGatheringState have been introduced.

Existing tests updated to cover this patch.

  • 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):
(WebCore::RTCPeerConnection::signalingState):
(WebCore::RTCPeerConnection::iceConnectionState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::removeStream):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeSignalingState):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::didChangeIceConnectionState):
(WebCore::RTCPeerConnection::didAddRemoteStream):
(WebCore::RTCPeerConnection::didRemoveRemoteStream):
(WebCore::RTCPeerConnection::didAddRemoteDataChannel):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeSignalingState):
(WebCore::RTCPeerConnection::changeIceGatheringState):
(WebCore::RTCPeerConnection::changeIceConnectionState):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeSignalingState):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEConnectionState):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:

Tools:

Updating mock to use the new states.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(RTCPeerConnectionStateTask::RTCPeerConnectionStateTask):
(MockWebRTCPeerConnectionHandler::initialize):
(MockWebRTCPeerConnectionHandler::updateICE):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-ice-expected.txt:
  • fast/mediastream/RTCPeerConnection-ice.html:
  • fast/mediastream/RTCPeerConnection-state-expected.txt:
  • fast/mediastream/RTCPeerConnection-state.html:
00:18 Changeset [140309] by thiago.santos@intel.com

REGRESSION (r140285): EFL uses WKPageResourceLoadClient which was removed
https://bugs.webkit.org/show_bug.cgi?id=107417

Reviewed by Gyuyoung Kim.

We had no choice but remove the ResourceLoadClientEfl after r140285
and thus our public API signals depending on it. The test_ewk2_auth_request
unit test was skipped because it depends these signals and will be fixed in a
different patch.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EWebKit2.h:
  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl):

  • UIProcess/API/efl/EwkViewImpl.h:

(WebKit):
(EwkViewImpl):

  • UIProcess/API/efl/ewk_resource.cpp: Removed.
  • UIProcess/API/efl/ewk_resource.h: Removed.
  • UIProcess/API/efl/ewk_resource_private.h: Removed.
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/efl/ResourceLoadClientEfl.cpp: Removed.
  • UIProcess/efl/ResourceLoadClientEfl.h: Removed.
00:09 Changeset [140308] by tkent@chromium.org

Use ISO8601 date/time formats as fallbacks for date/time input types
https://bugs.webkit.org/show_bug.cgi?id=107418

Reviewed by Kentaro Hara.

We obtain date/time formats from OSes to build date/time input type
UIs. If something wrong happens in the code, fallback formats are
used. Such fallback formats should not be English formats in order that
we can find defects easily.

No new tests. These formats should not be used unless the current code
has defects.

  • html/DateTimeInputType.cpp:

(WebCore::DateTimeInputType::setupLayoutParameters):
Use an ISO8601 format which is same as a format used in HTML5.

  • html/DateTimeLocalInputType.cpp:

(WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.

  • html/MonthInputType.cpp:

(WebCore::MonthInputType::setupLayoutParameters): Ditto.

  • html/WeekInputType.cpp:

(WebCore::WeekInputType::setupLayoutParameters): Ditto.

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::dateFormat): Ditto.

  • platform/text/LocaleNone.cpp:

(WebCore::LocaleNone::dateFormat): Ditto.
(WebCore::LocaleNone::dateTimeFormatWithSeconds): Ditto.
(WebCore::LocaleNone::dateTimeFormatWithoutSeconds): Ditto.

01/20/13:

23:59 Changeset [140307] by falken@chromium.org

Elements must be reattached when inserted/removed from top layer
https://bugs.webkit.org/show_bug.cgi?id=105489

Relanding r139402 as rollout due to suspected perf regression did not help (bug 106726).

Reviewed by Julien Chaffraix.

Source/WebCore:

Ensure a reattach occurs when an element is inserted/removed from top layer, so its renderer can be inserted correctly:
as a child of RenderView in top layer sibling order if it's in the top layer, and in the usual place otherwise.

We previously relied on style recalc to catch when an element is inserted/removed from the top layer, because it
only happens on dialog.show/close which toggle display: none. But that is incorrect because, for example, close()
followed immediately by show() results in no style change.

Tests: fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html

fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html

  • dom/Element.cpp:

(WebCore::Element::removedFrom): Call Document::removeFromTopLayer to let the element be removed from the top layer vector.
removeFromTopLayer calls Element::setIsInTopLayer(false) itself if needed.
(WebCore::Element::setIsInTopLayer): Ensure a reattach occurs if the element is already attached.

LayoutTests:

  • fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer-expected.html: Added.
  • fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html: Added.

This tests that a top layer element removed from the document does not reappear in the top layer if readded.
This test actually would pass before this patch, but just by good fortune (see bug).

  • fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd-expected.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html: Added.

This tests that top layer ordering is correct after removing and readding an element to the top layer.

23:50 Changeset [140306] by yurys@chromium.org

Web Inspector: change HeapSnapshotLoader to allow loading native heap snapshots
https://bugs.webkit.org/show_bug.cgi?id=107282

Reviewed by Pavel Feldman.

Conctete heap snapshot constructor name is passed as a parameter to HeapSnapshotLoaderProxy and
propagated to HeapSnapshotLoader.buildSnapshot to support different types of heap snapshots.

Source/WebCore:

  • inspector/front-end/HeapSnapshotLoader.js:

(WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorker.prototype.createLoader):
(WebInspector.HeapSnapshotLoaderProxy):
(WebInspector.HeapSnapshotLoaderProxy.prototype.close):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapProfileHeader.prototype._setupWorker):

LayoutTests:

  • inspector/profiler/heap-snapshot-loader.html:
23:45 Changeset [140305] by haraken@chromium.org

Implement MediaStreamEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107411

Reviewed by Adam Barth.

Spec: http://www.w3.org/TR/webrtc/#mediastreamevent

Test: fast/events/constructors/media-stream-event-constructor.html

Source/WebCore:

  • Modules/mediastream/MediaStreamEvent.cpp:

(WebCore::MediaStreamEventInit::MediaStreamEventInit):
(WebCore):
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):

  • Modules/mediastream/MediaStreamEvent.h:

(MediaStreamEventInit):
(WebCore):
(MediaStreamEvent):

  • Modules/mediastream/MediaStreamEvent.idl:
  • bindings/js/JSDictionary.cpp:

(WebCore):
(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:

(WebCore):

  • bindings/v8/Dictionary.cpp:

(WebCore):
(WebCore::Dictionary::get):

  • bindings/v8/Dictionary.h:

(Dictionary):

LayoutTests:

  • fast/events/constructors/media-stream-event-constructor-expected.txt: Added.
  • fast/events/constructors/media-stream-event-constructor.html: Added.
  • platform/chromium-android/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
23:38 Changeset [140304] by commit-queue@webkit.org

Web Inspector: Allow SplitView to change orientation after the construction.
https://bugs.webkit.org/show_bug.cgi?id=107263

Added SplitView.prototype.setIsVertical to change the orientation on the fly.
Instead of passing default sidebar size to the constructor the client
may now pass separate defaults for the sidebar width and height. Passing
just one default works as before.

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-20
Reviewed by Pavel Feldman.

No new tests.

  • inspector/front-end/SplitView.js:

(WebInspector.SplitView):
(WebInspector.SplitView.prototype.isVertical):
(WebInspector.SplitView.prototype.setIsVertical):
(WebInspector.SplitView.prototype._innerSetIsVertical):
(WebInspector.SplitView.prototype._updateLayout):
(WebInspector.SplitView.prototype.isSidebarSecond):
(WebInspector.SplitView.prototype.showBoth):
(WebInspector.SplitView.prototype._updateTotalSize):
(WebInspector.SplitView.prototype._innerSetSidebarSize):
(WebInspector.SplitView.prototype.wasShown):
(WebInspector.SplitView.prototype.onResize):
(WebInspector.SplitView.prototype.installResizer):
(WebInspector.SplitView.prototype._onDragStart):
(WebInspector.SplitView.prototype._sizeSetting):
(WebInspector.SplitView.prototype._lastSidebarSize):
(WebInspector.SplitView.prototype.get _saveSidebarSize):

23:27 Changeset [140303] by haraken@chromium.org

Add a [ConstructorConditional] IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=107407

Reviewed by Adam Barth.

Per discussion in webkit-dev, we need to implement DOM4 event constructors
under a enable flag. For that purpose, we implement a [ConstructorConditional]
IDL attribute.

Test: bindings/scripts/test/TestInterface.idl

  • bindings/scripts/CodeGenerator.pm:

(GenerateConstructorConditionalString):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore):

  • bindings/scripts/test/JS/JSTestInterface.h:

(JSTestInterfaceConstructor):

  • bindings/scripts/test/TestInterface.idl:
  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::ConfigureV8TestInterfaceTemplate):

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

(V8TestInterface):

23:18 Changeset [140302] by haraken@chromium.org

[V8] We should set a class id for a NPObject wrapper
https://bugs.webkit.org/show_bug.cgi?id=107249

Reviewed by Adam Barth.

This is one of steps to avoid hitting an ASSERT()
that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .

No tests. No change in behavior.

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):
(WebCore::V8DOMWrapper::setWrapperClass):
(WebCore):

  • bindings/v8/V8NPObject.cpp:

(WebCore::createV8ObjectForNPObject):

23:10 Changeset [140301] by commit-queue@webkit.org

Extend diff_parser to support the --full-index output.
https://bugs.webkit.org/show_bug.cgi?id=107408

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-20
Reviewed by Maciej Stachowiak.

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

(git_diff_to_svn_diff):

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

(DiffParserTest):
(DiffParserTest.test_git_diff_to_svn_diff):
(git_diff_to_svn_diff):

23:05 Changeset [140300] by mikelawther@chromium.org

CSS3 calc: unprefix implementation
https://bugs.webkit.org/show_bug.cgi?id=91951

Reviewed by Ojan Vafai.

Source/WebCore:

Add support for the unprefixed 'calc()' function, while retaining support for the prefixed version.

Test: css3/calc/simple-calcs-prefixed.html

  • css/CSSCalculationValue.cpp:

(WebCore::buildCssText):
(WebCore::CSSCalcValue::create):

  • css/CSSParser.cpp:

(WebCore::CSSParser::isCalculation):
(WebCore::CSSParser::detectFunctionTypeToken):

LayoutTests:

Changed all -webkit-calc() occurrences to calc().
Made a copy of the simplest test file so very basic tests for the prefixed version
are retained.

  • css3/calc/background-position-parsing.html:
  • css3/calc/block-mask-overlay-image-outset.html:
  • css3/calc/border-radius.html:
  • css3/calc/border.html:
  • css3/calc/box-reflect.html:
  • css3/calc/calc-errors.html:
  • css3/calc/color-hsl.html:
  • css3/calc/color-rgb.html:
  • css3/calc/css3-radial-gradients.html:
  • css3/calc/cssom-expected.txt:
  • css3/calc/cssom.html:
  • css3/calc/font-monospace.html:
  • css3/calc/font-size-fractional.html:
  • css3/calc/font-size.html:
  • css3/calc/font.html:
  • css3/calc/getComputedStyle-margin-percentage.html:
  • css3/calc/gradient-color-stops.html:
  • css3/calc/img-size.html:
  • css3/calc/line-height.html:
  • css3/calc/margin.html:
  • css3/calc/negative-padding.html:
  • css3/calc/padding.html:
  • css3/calc/reflection-computed-style-expected.txt:
  • css3/calc/reflection-computed-style.html:
  • css3/calc/regression-62276.html:
  • css3/calc/simple-calcs-prefixed-expected.txt: Added.
  • css3/calc/simple-calcs-prefixed.html: Copied from LayoutTests/css3/calc/simple-calcs.html.
  • css3/calc/simple-calcs.html:
  • css3/calc/simple-composited-mask.html:
  • css3/calc/table-border-spacing.html:
  • css3/calc/table-calcs.html:
  • css3/calc/table-empty-cells.html:
  • css3/calc/transforms-scale.html:
  • css3/calc/transforms-translate.html:
  • css3/calc/transition-crash.html:
  • css3/calc/transition-crash2.html:
  • css3/calc/transition-crash3.html:
  • css3/calc/transition-crash4.html:
  • css3/calc/transitions-dependent.html:
  • css3/calc/transitions.html:
  • css3/calc/vertical-align-expected.html:
  • css3/calc/vertical-align.html:
  • css3/calc/zoom-with-em.html:
22:59 Changeset [140299] by shinyak@chromium.org

Distribution state becomes inconsistent with content/shadow reprojection
https://bugs.webkit.org/show_bug.cgi?id=106634

Reviewed by Hajime Morita.

Source/WebCore:

Distribution should be resolved from shallower ShadowDOM to deeper Shadow DOM. However, in the current implementation,
there is a case that distribution for deeper ShadowDOM happens to be resolved before distribution
for shallower ShadowDOM is resolved.

Here, we have 2 problems about distribution.
1) Invalidation state is not propagated to nested (= deeper) ShadowDOM.

  • This causes deeper ShadowDOM looks having a valid distribution though it should be invalid.

2) We are not resolving shallower ShadowDOM when deeper ShadowDOM's distribution is needed.

  • Because of (1), we have to check all the ancestor ShadowDOM.

For (1), we change invalidate() to invalidate nested ShadowDOM's distribution as well.
For (2), when resolving distribution, we will check the ancestor ShadowDOM's distribution state. If the ancestor's
distribution is not valid, we resolve it first.

For optimization of (1), actually we can skip invalidating distribution of some ShadowDOMs.
If ShadowRoot of deeper ShadowDOM does not have an InsertionPoint as children, we can skip invalidating
its distribution, because only children can be distributed to InsertionPoint.

Tests: fast/dom/shadow/distribution-crash.html

fast/dom/shadow/nested-reprojection-inconsistent.html

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::attach): Should resolve distribution from ancestor.

  • dom/ElementShadow.h:
  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::distribute): Added ASSERT that the parent ShadowRoot's distribution is resolved.
(WebCore::ContentDistributor::invalidate): For each InsertionPoint, we have to invalidate
its parent element's distribution (if it has ElementShadow).
(WebCore::ContentDistributor::ensureDistribution):

  • html/shadow/ContentDistributor.h:

(WebCore::ContentDistributor::isValid):

  • html/shadow/HTMLShadowElement.cpp:

(WebCore::HTMLShadowElement::olderShadowRoot): Should resolve distribution from ancestor.

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::attach): ditto.
(WebCore::InsertionPoint::detach): ditto.
(WebCore::InsertionPoint::getDistributedNodes): ditto.
(WebCore::resolveReprojection): ditto.

LayoutTests:

  • fast/dom/shadow/distribution-crash-expected.txt: Added.
  • fast/dom/shadow/distribution-crash.html: Added.
  • fast/dom/shadow/nested-reprojection-inconsistent-expected.txt: Added.
  • fast/dom/shadow/nested-reprojection-inconsistent.html: Added.
22:48 Changeset [140298] by apavlov@chromium.org

Merge 139994

Web Inspector: [Spectrum] Color picker in CSS editor does not update textual color value
https://bugs.webkit.org/show_bug.cgi?id=107110

Reviewed by Vsevolod Vlasov.

The Spectrum picker was never told to update the textual color upon user-initiated color changes.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

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

22:13 Changeset [140297] by dmazzoni@google.com

Make SpeechSynthesis compile in the Chromium port
https://bugs.webkit.org/show_bug.cgi?id=107382

Reviewed by Adam Barth.

Source/WebCore:

Add stubs for the Chromium implementation of speech synthesis,
and add all source and header files to WebCore.gypi. Everything
is behind the ENABLE_SPEECH_SYNTHESIS flag.

  • Modules/speech/chromium/SpeechSynthesisChromium.cpp: Added.

(WebCore):
(WebCore::SpeechSynthesis::initializeVoiceList):
(WebCore::SpeechSynthesis::pending):
(WebCore::SpeechSynthesis::speaking):
(WebCore::SpeechSynthesis::paused):
(WebCore::SpeechSynthesis::speak):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::pause):
(WebCore::SpeechSynthesis::resume):

  • WebCore.gypi:

Source/WebKit/chromium:

Add ENABLE_SPEECH_SYNTHESIS to features.gypi, off by default.

  • features.gypi:
22:10 Changeset [140296] by tkent@chromium.org

Re-layout child blocks when border/padding of the box-sizing:border-box parent is updated
https://bugs.webkit.org/show_bug.cgi?id=104997

Reviewed by Tony Chang.

Source/WebCore:

When padding or border is updated for a parent block with
box-sizing:border-box and width, the width of its child block was not
updated.

Tests: fast/css/box-sizing-border-box-dynamic-padding-border-update.html

fast/forms/text/text-padding-dynamic-change.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
If box-sizing of the old style and/or the new style is border-box and
padding or border is changed, apply setChildNeedsLayout(true) for child
boxes.

LayoutTests:

  • fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Added.
  • fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Added.
  • fast/forms/text/text-padding-dynamic-change-expected.html: Added.
  • fast/forms/text/text-padding-dynamic-change.html: Added.
22:08 Changeset [140295] by haraken@chromium.org

[V8] Remove custom V8ScriptProfileCustom::toV8()
https://bugs.webkit.org/show_bug.cgi?id=107246

Reviewed by Adam Barth.

V8ScriptProfileCustom::toV8() needs not to be custom.
Furthermore, the current custom toV8() is wrong in that
it doesn't use a creationContext and it doesn't set a
wrapper class id. This is one of steps to avoiding
ASSERT()s that will be added in
https://bugs.webkit.org/show_bug.cgi?id=107137 .

No tests. No change in behavior.

  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/v8/custom/V8ScriptProfileCustom.cpp: Removed.
  • inspector/ScriptProfile.idl:
21:42 Changeset [140294] by commit-queue@webkit.org

Remove support getting per-resource callbacks in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=107405

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-20
Reviewed by Sam Weinig.

EFL, GTK and Qt WebKit2 build fixes after r140285.
Remove from build WebResourceLoadClient.{cpp,h} deleted by r140285.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
21:23 Changeset [140293] by tkent@chromium.org

Unreviewed, rolling out r140290.
http://trac.webkit.org/changeset/140290
https://bugs.webkit.org/show_bug.cgi?id=107412

Broke tests of inspector and calendar picker in debug build
(Requested by tkent on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-20

Source/WebCore:

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

LayoutTests:

  • fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Removed.
  • fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Removed.
  • fast/forms/text/text-padding-dynamic-change-expected.html: Removed.
  • fast/forms/text/text-padding-dynamic-change.html: Removed.
21:12 Changeset [140292] by commit-queue@webkit.org

Dispatch LongPress to inner frames
https://bugs.webkit.org/show_bug.cgi?id=106874

Patch by Yongsheng Zhu <yongsheng.zhu@intel.com> on 2013-01-20
Reviewed by Antonio Gomes.

Source/WebCore:

Do check whether a LongPress gesture event should be passed
to inner frames. If needed, dispatch it.

Tests: fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag.html

fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleGestureLongPress):

LayoutTests:

  • fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag.html: Added.
  • fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag.html: Added.
  • fast/events/touch/gesture/resources/drag-inside-iframe2.html: Added.
  • fast/events/touch/gesture/resources/drag-inside-nested-iframes2.html: Added.
  • fast/events/touch/gesture/resources/drag-inside-nested-iframes3.html: Added.
  • platform/chromium/fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag-expected.txt: Added.
  • platform/chromium/fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag-expected.txt: Added.
19:52 Changeset [140291] by gyuyoung.kim@samsung.com

Clean up missing *explicit* keyword in ctors of WebCore/rendering.
https://bugs.webkit.org/show_bug.cgi?id=107373

Reviewed by Darin Adler.

Need to add *explicit* keyword to avoid implicit type conversion.

  • rendering/RenderApplet.h:

(RenderApplet):

  • rendering/RenderArena.h:

(RenderArena):

  • rendering/RenderBR.h:

(RenderBR):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderDetailsMarker.h:

(RenderDetailsMarker):

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox):

  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.h:

(RenderFullScreen):

  • rendering/RenderGeometryMap.h:

(WebCore::RenderGeometryMapStep::RenderGeometryMapStep):

  • rendering/RenderGrid.h:

(RenderGrid):

  • rendering/RenderImage.h:

(RenderImage):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

  • rendering/RenderLayerModelObject.h:

(RenderLayerModelObject):

  • rendering/RenderListBox.h:

(RenderListBox):

  • rendering/RenderListMarker.h:

(RenderListMarker):

  • rendering/RenderMedia.h:

(RenderMedia):

  • rendering/RenderMeter.h:

(RenderMeter):

  • rendering/RenderMultiColumnBlock.h:

(RenderMultiColumnBlock):

  • rendering/RenderMultiColumnFlowThread.h:

(RenderMultiColumnFlowThread):

  • rendering/RenderObject.h:

(RenderObject):

  • rendering/RenderPart.h:

(RenderPart):

  • rendering/RenderProgress.h:

(RenderProgress):

  • rendering/RenderReplaced.h:

(RenderReplaced):

  • rendering/RenderReplica.h:

(RenderReplica):

  • rendering/RenderRuby.h:

(RenderRubyAsInline):

  • rendering/RenderRubyBase.h:

(RenderRubyBase):

  • rendering/RenderRubyRun.h:

(RenderRubyRun):

  • rendering/RenderRubyText.h:

(RenderRubyText):

  • rendering/RenderSearchField.h:

(RenderSearchField):

  • rendering/RenderSlider.h:

(RenderSlider):

  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn):

  • rendering/RenderTextControlMultiLine.h:

(RenderTextControlMultiLine):

  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):

  • rendering/RenderView.h:

(RenderView):

  • rendering/RenderWidgetProtector.h:

(WebCore::RenderWidgetProtector::RenderWidgetProtector):

  • rendering/RootInlineBox.h:

(RootInlineBox): Remove meaningless parameter name.

  • rendering/TableLayout.h:

(WebCore::TableLayout::TableLayout):

18:40 Changeset [140290] by tkent@chromium.org

Re-layout child blocks when border/padding of the box-sizing:border-box parent is updated
https://bugs.webkit.org/show_bug.cgi?id=104997

Reviewed by Tony Chang.

Source/WebCore:

When padding or border is updated for a parent block with
box-sizing:border-box and width, the width of its child block was not
updated.

Tests: fast/css/box-sizing-border-box-dynamic-padding-border-update.html

fast/forms/text/text-padding-dynamic-change.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
If box-sizing of the old style and/or the new style is border-box and
padding or border is changed, apply setChildNeedsLayout(true) for child
boxes.

LayoutTests:

  • fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Added.
  • fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Added.
  • fast/forms/text/text-padding-dynamic-change-expected.html: Added.
  • fast/forms/text/text-padding-dynamic-change.html: Added.
18:31 Changeset [140289] by charles.wei@torchmobile.com.cn

[BlackBerry] some websites only takes half of the screen after rotating from landscape to portrait mode.
https://bugs.webkit.org/show_bug.cgi?id=107103

Reviewed by George Staikos.
Internally reviewed by Jacky Jiang.

When the document size changes (by some javascript) which makes it too small to fit the viewport, we should
automatically zoom it to fit the viewport.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::layoutFinished):

18:29 Changeset [140288] by haraken@chromium.org

Unreviewed, rolling out r140270.
http://trac.webkit.org/changeset/140270
https://bugs.webkit.org/show_bug.cgi?id=107253

Hit asserts in a debug build

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::installDOMWindow):

18:24 Changeset [140287] by shinyak@chromium.org

[Shadow DOM] Specifying scrollbar style of an element having RenderLayer in ShadowDOM does not work.
https://bugs.webkit.org/show_bug.cgi?id=107222

Reviewed by Simon Fraser.

Source/WebCore:

When specifying scrollbar style in ShadowDOM, it's not used. If the host element of ShadowDOM has scrollbar style,
it's used instead.

The root cause of this bug is that RenderLayer always see shadowAncestorNode's style. Some elements having
UserAgent ShadowDOM (e.g. <textarea>) should see host's style, but most of elements should see its style.

Test: fast/dom/shadow/scrollbar.html

  • rendering/RenderLayer.cpp:

(WebCore::rendererForScrollbar):
(WebCore):
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):

LayoutTests:

  • fast/dom/shadow/scrollbar-expected.html: Added.
  • fast/dom/shadow/scrollbar.html: Added.
17:29 Changeset [140286] by yosin@chromium.org

Dragging over an element with scrollbars should scroll the element when dragging near edges
https://bugs.webkit.org/show_bug.cgi?id=39725

Reviewed by Hajime Morita.

Source/WebCore:

This patch introduces auto scrolling functionality during drag-and-drop
when drop source is near edge of scrollable element.

When drop source is inside 20px of scrollable element more than 200ms,
scrollable element is automatically scrolled every 50ms toward drop
source position, e.g. vertically scroll up when drop source is in top
edge.

Test: fast/events/drag-and-drop-autoscroll.html

  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime.
(WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll().

  • page/AutoscrollController.h:

(AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime.

  • page/ChromeClient.h:

(WebCore::ChromeClient): Changed to add new function shouldAutoscrollForDragAndDrop().

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop().
(WebCore::EventHandler::clearDragState): Changed to call stopAutoscrollTimer().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::autoscroll): Changed for new parameter position.
(WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll.

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::autoscroll): Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController.

  • rendering/RenderLayer.h:

(RenderLayer):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::autoscroll): Changed for new parameter position.

  • rendering/RenderListBox.h:

(RenderListBox):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::autoscroll): Changed for new parameter position.

  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):

Source/WebKit/chromium:

This patch removes DragScrollTimer used for automatic scrolling of main
frame drag-and-drop which is now implemented in EventHandler.

Another patch will remove DragScrollTimer.{cpp,h} and update GYP files to
make patch size small.

No tests. Existing test covers this change.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::shouldAutoscrollForDragAndDrop): Added.

  • src/ChromeClientImpl.h:

(ChromeClientImpl): Changed to add shouldAutoscrollForDragAndDrop().

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl): Changed to remove m_dragScrollTimer.
(WebKit::WebViewImpl::dragSourceEndedAt): ditto
(WebKit::WebViewImpl::dragSourceMovedTo): ditto
(WebKit::WebViewImpl::dragTargetDrop): ditto
(WebKit::WebViewImpl::dragTargetDragEnterOrOver): ditto

  • src/WebViewImpl.h:

(WebKit): Chagned to remove DragScrollTimer.

Tools:

This patch introduces canceling drag-and-drop by escape key for testing
behavior after cancellation drag-and-drop.

  • DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:

(WebTestRunner):
(WebTestRunner::EventSender::doMouseUp):
(WebTestRunner::EventSender::finishDragAndDrop):
(WebTestRunner::EventSender::keyDown):

  • DumpRenderTree/chromium/TestRunner/src/EventSender.h:

(EventSender):

  • DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h: Added VKEY_ESCAPE.

LayoutTests:

This patch adds new test for autoscroll during drag-and-drop.
This test is skipped other than Chromium ports.

  • fast/events/drag-and-drop-autoscroll-expected.txt: Added.
  • fast/events/drag-and-drop-autoscroll.html: Added.
  • platform/efl/TestExpectations: Changed to skip fast/events/drag-and-drop-autoscroll.html
  • platform/wincairo/TestExpectations: ditto.
  • platform/mac/TestExpectations: ditto.
  • platform/mac/TestExpectations: ditto.
  • platform/qt/TestExpectations: ditto.
  • platform/gtk/TestExpectations: ditto.
  • platform/win/TestExpectations: ditto.
  • platform/wk2/TestExpectations: ditto.
17:01 Changeset [140285] by weinig@apple.com

Remove support getting per-resource callbacks in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=107405

Reviewed by Anders Carlsson.

Removes support for the WKPageResourceLoadClient. Access to per-resource
callbacks are still available in the bundle, and via the WebInspector.

  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Stop handling per-resource messages and forwarding them to the API.

  • UIProcess/WebResourceLoadClient.cpp: Removed.
  • UIProcess/WebResourceLoadClient.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:

Remove the files.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
Stop sending per-resource messages to the UIProcess.

16:59 Changeset [140284] by ggaren@apple.com

Weak GC maps should be easier to use
https://bugs.webkit.org/show_bug.cgi?id=107312

Reviewed by Sam Weinig.

Follow-up fix.

  • runtime/PrototypeMap.cpp:

(JSC::PrototypeMap::emptyObjectStructureForPrototype): Restored this
ASSERT, which was disabled because of a bug in WeakGCMap.

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::add): We can't pass our passed-in value to add() because
a PassWeak() clears itself when passed to another function. So, we pass
nullptr instead, and fix things up afterwards.

16:11 Changeset [140283] by commit-queue@webkit.org

Simplify a list of negative PLATFORM() tests
https://bugs.webkit.org/show_bug.cgi?id=107365

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-20
Reviewed by Eric Seidel.

Simplify a list of negative PLATFORM() tests into a simpler list
of positive tests for better readability and maintenance.

No new tests as there is no new functionality.

  • config.h:
14:55 Changeset [140282] by commit-queue@webkit.org

[BlackBerry] Improve Fatfinger phase.
https://bugs.webkit.org/show_bug.cgi?id=107403

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-01-20
Reviewed by Rob Buis.

RIM PR 219489
Internally reviewd by Mike Fenton & Gen Mak.

Treat ClickableByDefault and MadeClickableByTheWebpage elements as
same category. Avoid unnecessary nodes check step.

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):
(BlackBerry::WebKit::FatFingers::FatFingers):
(BlackBerry::WebKit::FatFingers::findBestPoint):
(BlackBerry::WebKit::FatFingers::getNodesFromRect):

  • WebKitSupport/FatFingers.h:
13:30 Changeset [140281] by jochen@chromium.org

[chromium] move frame generation related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107268

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::setWillSendRequestReturnsNull):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebTestRunner::WebTestDelegate::display):
(WebTestRunner::WebTestDelegate::displayInvalidatedRegion):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::display):
(WebTestRunner):
(WebTestRunner::TestRunner::displayInvalidatedRegion):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::display):
(WebViewHost::displayInvalidatedRegion):

  • DumpRenderTree/chromium/WebViewHost.h:
12:45 Changeset [140280] by kov@webkit.org

Unreviewed. Simple indentation fix.

  • GNUmakefile.am:
12:36 Changeset [140279] by simon.fraser@apple.com

Avoid filling a rounded rect when radii are zero
https://bugs.webkit.org/show_bug.cgi?id=107402
<rdar://problem/12793315>

Reviewed by Sam Weinig.

It's more efficient to clip and fill rects than rounded rects,
so optimize for the case where rounded rect radii are zero.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipRoundedRect):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::fillRoundedRect):

12:33 Changeset [140278] by ggaren@apple.com

2013-01-20 Geoffrey Garen <ggaren@apple.com>

Unreviewed.

Temporarily disabling this ASSERT to get the bots green
while I investigate a fix.

  • runtime/PrototypeMap.cpp: (JSC::PrototypeMap::emptyObjectStructureForPrototype):
12:16 Changeset [140277] by jochen@chromium.org

[chromium] move speech related methods to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=107266

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::displayInvalidatedRegion):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebTestDelegate):
(WebTestRunner::WebTestDelegate::addMockSpeechInputResult):
(WebTestRunner::WebTestDelegate::setMockSpeechInputDumpRect):
(WebTestRunner::WebTestDelegate::addMockSpeechRecognitionResult):
(WebTestRunner::WebTestDelegate::setMockSpeechRecognitionError):
(WebTestRunner::WebTestDelegate::wasMockSpeechRecognitionAborted):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::addMockSpeechInputResult):
(WebTestRunner::TestRunner::setMockSpeechInputDumpRect):
(WebTestRunner::TestRunner::addMockSpeechRecognitionResult):
(WebTestRunner::TestRunner::setMockSpeechRecognitionError):
(WebTestRunner::TestRunner::wasMockSpeechRecognitionAborted):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::addMockSpeechInputResult):
(WebViewHost::setMockSpeechInputDumpRect):
(WebViewHost::addMockSpeechRecognitionResult):
(WebViewHost::setMockSpeechRecognitionError):
(WebViewHost::wasMockSpeechRecognitionAborted):

  • DumpRenderTree/chromium/WebViewHost.h:
12:06 Changeset [140276] by fpizlo@apple.com

Add more JavaScript tests.

Rubber stampted by Geoffrey Garen.

This adds my JSRegress suite to LayoutTests. This includes silly microbenchmarks that I've
used to test JSC's performance on various interesting cases. But it's also good at catching
bugs, so we might as well be running it as part of regression testing. All of these tests
are short-running, so it shouldn't get in the way of anyone.

  • fast/js/regress: Added.
  • fast/js/regress/Float32Array-matrix-mult-expected.txt: Added.
  • fast/js/regress/Float32Array-matrix-mult.html: Added.
  • fast/js/regress/Int16Array-bubble-sort-expected.txt: Added.
  • fast/js/regress/Int16Array-bubble-sort.html: Added.
  • fast/js/regress/Int16Array-load-int-mul-expected.txt: Added.
  • fast/js/regress/Int16Array-load-int-mul.html: Added.
  • fast/js/regress/Int8Array-load-expected.txt: Added.
  • fast/js/regress/Int8Array-load.html: Added.
  • fast/js/regress/adapt-to-double-divide-expected.txt: Added.
  • fast/js/regress/adapt-to-double-divide.html: Added.
  • fast/js/regress/aliased-arguments-getbyval-expected.txt: Added.
  • fast/js/regress/aliased-arguments-getbyval.html: Added.
  • fast/js/regress/allocate-big-object-expected.txt: Added.
  • fast/js/regress/allocate-big-object.html: Added.
  • fast/js/regress/arity-mismatch-inlining-expected.txt: Added.
  • fast/js/regress/arity-mismatch-inlining.html: Added.
  • fast/js/regress/array-access-polymorphic-structure-expected.txt: Added.
  • fast/js/regress/array-access-polymorphic-structure.html: Added.
  • fast/js/regress/array-with-double-add-expected.txt: Added.
  • fast/js/regress/array-with-double-add.html: Added.
  • fast/js/regress/array-with-double-increment-expected.txt: Added.
  • fast/js/regress/array-with-double-increment.html: Added.
  • fast/js/regress/array-with-double-mul-add-expected.txt: Added.
  • fast/js/regress/array-with-double-mul-add.html: Added.
  • fast/js/regress/array-with-double-sum-expected.txt: Added.
  • fast/js/regress/array-with-double-sum.html: Added.
  • fast/js/regress/array-with-int32-add-sub-expected.txt: Added.
  • fast/js/regress/array-with-int32-add-sub.html: Added.
  • fast/js/regress/array-with-int32-or-double-sum-expected.txt: Added.
  • fast/js/regress/array-with-int32-or-double-sum.html: Added.
  • fast/js/regress/big-int-mul-expected.txt: Added.
  • fast/js/regress/big-int-mul.html: Added.
  • fast/js/regress/boolean-test-expected.txt: Added.
  • fast/js/regress/boolean-test.html: Added.
  • fast/js/regress/cast-int-to-double-expected.txt: Added.
  • fast/js/regress/cast-int-to-double.html: Added.
  • fast/js/regress/cell-argument-expected.txt: Added.
  • fast/js/regress/cell-argument.html: Added.
  • fast/js/regress/cfg-simplify-expected.txt: Added.
  • fast/js/regress/cfg-simplify.html: Added.
  • fast/js/regress/cmpeq-obj-to-obj-other-expected.txt: Added.
  • fast/js/regress/cmpeq-obj-to-obj-other.html: Added.
  • fast/js/regress/constant-test-expected.txt: Added.
  • fast/js/regress/constant-test.html: Added.
  • fast/js/regress/direct-arguments-getbyval-expected.txt: Added.
  • fast/js/regress/direct-arguments-getbyval.html: Added.
  • fast/js/regress/double-pollution-getbyval-expected.txt: Added.
  • fast/js/regress/double-pollution-getbyval.html: Added.
  • fast/js/regress/double-pollution-putbyoffset-expected.txt: Added.
  • fast/js/regress/double-pollution-putbyoffset.html: Added.
  • fast/js/regress/external-arguments-getbyval-expected.txt: Added.
  • fast/js/regress/external-arguments-getbyval.html: Added.
  • fast/js/regress/external-arguments-putbyval-expected.txt: Added.
  • fast/js/regress/external-arguments-putbyval.html: Added.
  • fast/js/regress/fold-double-to-int-expected.txt: Added.
  • fast/js/regress/fold-double-to-int.html: Added.
  • fast/js/regress/function-dot-apply-expected.txt: Added.
  • fast/js/regress/function-dot-apply.html: Added.
  • fast/js/regress/function-test-expected.txt: Added.
  • fast/js/regress/function-test.html: Added.
  • fast/js/regress/get-by-id-chain-from-try-block-expected.txt: Added.
  • fast/js/regress/get-by-id-chain-from-try-block.html: Added.
  • fast/js/regress/indexed-properties-in-objects-expected.txt: Added.
  • fast/js/regress/indexed-properties-in-objects.html: Added.
  • fast/js/regress/inline-arguments-access-expected.txt: Added.
  • fast/js/regress/inline-arguments-access.html: Added.
  • fast/js/regress/inline-arguments-local-escape-expected.txt: Added.
  • fast/js/regress/inline-arguments-local-escape.html: Added.
  • fast/js/regress/inline-get-scoped-var-expected.txt: Added.
  • fast/js/regress/inline-get-scoped-var.html: Added.
  • fast/js/regress/inlined-put-by-id-transition-expected.txt: Added.
  • fast/js/regress/inlined-put-by-id-transition.html: Added.
  • fast/js/regress/int-or-other-abs-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-abs-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-abs-zero-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-abs-zero-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-add-expected.txt: Added.
  • fast/js/regress/int-or-other-add-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-add-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-add.html: Added.
  • fast/js/regress/int-or-other-div-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-div-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-max-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-max-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-min-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-min-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-mod-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-mod-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-mul-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-mul-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-neg-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-neg-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-neg-zero-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-neg-zero-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-sub-expected.txt: Added.
  • fast/js/regress/int-or-other-sub-then-get-by-val-expected.txt: Added.
  • fast/js/regress/int-or-other-sub-then-get-by-val.html: Added.
  • fast/js/regress/int-or-other-sub.html: Added.
  • fast/js/regress/int-overflow-local-expected.txt: Added.
  • fast/js/regress/int-overflow-local.html: Added.
  • fast/js/regress/integer-divide-expected.txt: Added.
  • fast/js/regress/integer-divide.html: Added.
  • fast/js/regress/make-indexed-storage-expected.txt: Added.
  • fast/js/regress/make-indexed-storage.html: Added.
  • fast/js/regress/method-on-number-expected.txt: Added.
  • fast/js/regress/method-on-number.html: Added.
  • fast/js/regress/new-array-buffer-dead-expected.txt: Added.
  • fast/js/regress/new-array-buffer-dead.html: Added.
  • fast/js/regress/new-array-buffer-push-expected.txt: Added.
  • fast/js/regress/new-array-buffer-push.html: Added.
  • fast/js/regress/new-array-dead-expected.txt: Added.
  • fast/js/regress/new-array-dead.html: Added.
  • fast/js/regress/new-array-push-expected.txt: Added.
  • fast/js/regress/new-array-push.html: Added.
  • fast/js/regress/number-test-expected.txt: Added.
  • fast/js/regress/number-test.html: Added.
  • fast/js/regress/object-closure-call-expected.txt: Added.
  • fast/js/regress/object-closure-call.html: Added.
  • fast/js/regress/object-test-expected.txt: Added.
  • fast/js/regress/object-test.html: Added.
  • fast/js/regress/poly-stricteq-expected.txt: Added.
  • fast/js/regress/poly-stricteq.html: Added.
  • fast/js/regress/polymorphic-structure-expected.txt: Added.
  • fast/js/regress/polymorphic-structure.html: Added.
  • fast/js/regress/polyvariant-monomorphic-get-by-id-expected.txt: Added.
  • fast/js/regress/polyvariant-monomorphic-get-by-id.html: Added.
  • fast/js/regress/rare-osr-exit-on-local-expected.txt: Added.
  • fast/js/regress/rare-osr-exit-on-local.html: Added.
  • fast/js/regress/register-pressure-from-osr-expected.txt: Added.
  • fast/js/regress/register-pressure-from-osr.html: Added.
  • fast/js/regress/resources: Added.
  • fast/js/regress/resources/regress-post.js: Added.
  • fast/js/regress/resources/regress-pre.js: Added.

(window.onerror):

  • fast/js/regress/script-tests: Added.
  • fast/js/regress/script-tests/Float32Array-matrix-mult.js: Added.

(makeEmptyMatrix):
(multiplyMatrices):
(checkMatricesEqual):
(parseMatrix.string.split.forEach):
(parseMatrix):
(printMatrix.pad):
(printMatrix):

  • fast/js/regress/script-tests/Int16Array-bubble-sort.js: Added.

(bubbleSort):
(myRandom):
(validateSort):

  • fast/js/regress/script-tests/Int16Array-load-int-mul.js: Added.

(stringHash):

  • fast/js/regress/script-tests/Int8Array-load.js: Added.

(adler32):

  • fast/js/regress/script-tests/adapt-to-double-divide.js: Added.

(foo):

  • fast/js/regress/script-tests/aliased-arguments-getbyval.js: Added.

(bar):

  • fast/js/regress/script-tests/allocate-big-object.js: Added.

(foo):

  • fast/js/regress/script-tests/arity-mismatch-inlining.js: Added.

(foo):

  • fast/js/regress/script-tests/array-access-polymorphic-structure.js: Added.

(foo):

  • fast/js/regress/script-tests/array-with-double-add.js: Added.

(foo):

  • fast/js/regress/script-tests/array-with-double-increment.js: Added.

(foo):

  • fast/js/regress/script-tests/array-with-double-mul-add.js: Added.

(foo):

  • fast/js/regress/script-tests/array-with-double-sum.js: Added.

(foo):

  • fast/js/regress/script-tests/array-with-int32-add-sub.js: Added.

(foo):

  • fast/js/regress/script-tests/array-with-int32-or-double-sum.js: Added.

(foo):

  • fast/js/regress/script-tests/big-int-mul.js: Added.

(stringHash):

  • fast/js/regress/script-tests/boolean-test.js: Added.

(foo):

  • fast/js/regress/script-tests/cast-int-to-double.js: Added.

(foo):

  • fast/js/regress/script-tests/cell-argument.js: Added.

(foo):

  • fast/js/regress/script-tests/cfg-simplify.js: Added.

(foo):

  • fast/js/regress/script-tests/cmpeq-obj-to-obj-other.js: Added.

(foo):
(bar):
(baz):
(dostuff):

  • fast/js/regress/script-tests/constant-test.js: Added.

(foo):

  • fast/js/regress/script-tests/direct-arguments-getbyval.js: Added.

(bar):

  • fast/js/regress/script-tests/double-pollution-getbyval.js: Added.

(foo):

  • fast/js/regress/script-tests/double-pollution-putbyoffset.js: Added.

(foo):

  • fast/js/regress/script-tests/external-arguments-getbyval.js: Added.

(foo):
(bar):

  • fast/js/regress/script-tests/external-arguments-putbyval.js: Added.

(foo):
(bar):

  • fast/js/regress/script-tests/fold-double-to-int.js: Added.

(Math.random):

  • fast/js/regress/script-tests/function-dot-apply.js: Added.

(thingy):
(doCall):
(foo):

  • fast/js/regress/script-tests/function-test.js: Added.

(foo):

  • fast/js/regress/script-tests/get-by-id-chain-from-try-block.js: Added.

(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):

  • fast/js/regress/script-tests/indexed-properties-in-objects.js: Added.
  • fast/js/regress/script-tests/inline-arguments-access.js: Added.

(foo):
(bar):

  • fast/js/regress/script-tests/inline-arguments-local-escape.js: Added.

(foo):
(bar):

  • fast/js/regress/script-tests/inline-get-scoped-var.js: Added.

(foo.bar):
(foo):

  • fast/js/regress/script-tests/inlined-put-by-id-transition.js: Added.

(foo):
(Foo):

  • fast/js/regress/script-tests/int-or-other-abs-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-abs-zero-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-add-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-add.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-div-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-max-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-min-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-mod-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-mul-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-neg-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-neg-zero-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-sub-then-get-by-val.js: Added.

(foo):

  • fast/js/regress/script-tests/int-or-other-sub.js: Added.

(foo):

  • fast/js/regress/script-tests/int-overflow-local.js: Added.

(foo):

  • fast/js/regress/script-tests/integer-divide.js: Added.

(foo):
(bar):

  • fast/js/regress/script-tests/make-indexed-storage.js: Added.

(foo):
(sum):

  • fast/js/regress/script-tests/method-on-number.js: Added.

(foo):

  • fast/js/regress/script-tests/new-array-buffer-dead.js: Added.

(foo):
(bar):
(baz):
(thingy):

  • fast/js/regress/script-tests/new-array-buffer-push.js: Added.

(foo):
(bar):
(baz):
(thingy):

  • fast/js/regress/script-tests/new-array-dead.js: Added.

(foo):
(bar):

  • fast/js/regress/script-tests/new-array-push.js: Added.

(foo):

  • fast/js/regress/script-tests/number-test.js: Added.

(foo):

  • fast/js/regress/script-tests/object-closure-call.js: Added.

(makeObjectClosure.foo):
(makeObjectClosure):

  • fast/js/regress/script-tests/object-test.js: Added.

(foo):

  • fast/js/regress/script-tests/poly-stricteq.js: Added.
  • fast/js/regress/script-tests/polymorphic-structure.js: Added.

(foo):

  • fast/js/regress/script-tests/polyvariant-monomorphic-get-by-id.js: Added.

(foo):
(Foo):
(Bar):
(bar):

  • fast/js/regress/script-tests/rare-osr-exit-on-local.js: Added.

(foo):

  • fast/js/regress/script-tests/register-pressure-from-osr.js: Added.

(foo):

  • fast/js/regress/script-tests/simple-activation-demo.js: Added.

(foo):

  • fast/js/regress/script-tests/slow-array-profile-convergence.js: Added.

(foo):
(sum):

  • fast/js/regress/script-tests/slow-convergence.js: Added.

(foo):

  • fast/js/regress/script-tests/sparse-conditional.js: Added.

(foo):

  • fast/js/regress/script-tests/splice-to-remove.js: Added.
  • fast/js/regress/script-tests/string-hash.js: Added.

(stringHash):

  • fast/js/regress/script-tests/string-repeat-arith.js: Added.

(foo):

  • fast/js/regress/script-tests/string-sub.js: Added.

(foo):

  • fast/js/regress/script-tests/string-test.js: Added.

(foo):

  • fast/js/regress/script-tests/structure-hoist-over-transitions.js: Added.

(foo):

  • fast/js/regress/script-tests/tear-off-arguments-simple.js: Added.

(bar):

  • fast/js/regress/script-tests/tear-off-arguments.js: Added.

(bar):

  • fast/js/regress/script-tests/temporal-structure.js: Added.

(foo):

  • fast/js/regress/script-tests/to-int32-boolean.js: Added.

(foo):

  • fast/js/regress/script-tests/undefined-test.js: Added.

(foo):

  • fast/js/regress/simple-activation-demo-expected.txt: Added.
  • fast/js/regress/simple-activation-demo.html: Added.
  • fast/js/regress/slow-array-profile-convergence-expected.txt: Added.
  • fast/js/regress/slow-array-profile-convergence.html: Added.
  • fast/js/regress/slow-convergence-expected.txt: Added.
  • fast/js/regress/slow-convergence.html: Added.
  • fast/js/regress/sparse-conditional-expected.txt: Added.
  • fast/js/regress/sparse-conditional.html: Added.
  • fast/js/regress/splice-to-remove-expected.txt: Added.
  • fast/js/regress/splice-to-remove.html: Added.
  • fast/js/regress/string-hash-expected.txt: Added.
  • fast/js/regress/string-hash.html: Added.
  • fast/js/regress/string-repeat-arith-expected.txt: Added.
  • fast/js/regress/string-repeat-arith.html: Added.
  • fast/js/regress/string-sub-expected.txt: Added.
  • fast/js/regress/string-sub.html: Added.
  • fast/js/regress/string-test-expected.txt: Added.
  • fast/js/regress/string-test.html: Added.
  • fast/js/regress/structure-hoist-over-transitions-expected.txt: Added.
  • fast/js/regress/structure-hoist-over-transitions.html: Added.
  • fast/js/regress/tear-off-arguments-expected.txt: Added.
  • fast/js/regress/tear-off-arguments-simple-expected.txt: Added.
  • fast/js/regress/tear-off-arguments-simple.html: Added.
  • fast/js/regress/tear-off-arguments.html: Added.
  • fast/js/regress/temporal-structure-expected.txt: Added.
  • fast/js/regress/temporal-structure.html: Added.
  • fast/js/regress/to-int32-boolean-expected.txt: Added.
  • fast/js/regress/to-int32-boolean.html: Added.
  • fast/js/regress/undefined-test-expected.txt: Added.
  • fast/js/regress/undefined-test.html: Added.
11:29 Changeset [140275] by fpizlo@apple.com

Inserting a node into the DFG graph should not require five lines of code
https://bugs.webkit.org/show_bug.cgi?id=107381

Reviewed by Sam Weinig.

This adds fairly comprehensive support for inserting a node into a DFG graph in one
method call. A common example of this is:

m_insertionSet.insertNode(indexInBlock, DontRefChildren, DontRefNode, SpecNone, ForceOSRExit, codeOrigin);

The arguments to insert() specify what reference counting you need to have happen
(RefChildren => recursively refs all children, RefNode => non-recursively refs the node
that was created), the prediction to set (SpecNone is a common default), followed by
the arguments to the Node() constructor. InsertionSet::insertNode() and similar methods
(Graph::addNode() and BasicBlock::appendNode()) all use a common variadic template
function macro from DFGVariadicFunction.h. Also, all of these methods will automatically
non-recursively ref() the node being created if the flags say NodeMustGenerate.

In all, this new mechanism retains the flexibility of the old approach (you get to
manage ref counts yourself, albeit in less code) while ensuring that most code that adds
nodes to the graph now needs less code to do it.

In the future, we should revisit the reference counting methodology in the DFG: we could
do like most compilers and get rid of it entirely, or we could make it automatic. This
patch doesn't attempt to make any such major changes, and only seeks to simplify the
technique we were already using (manual ref counting).

  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/Operands.h:

(JSC::dumpOperands):

  • dfg/DFGAdjacencyList.h:

(AdjacencyList):
(JSC::DFG::AdjacencyList::kind):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGBasicBlock.h:

(DFG):
(BasicBlock):

  • dfg/DFGBasicBlockInlines.h: Added.

(DFG):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::ConstantFoldingPhase):
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
(ConstantFoldingPhase):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::FixupPhase):
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(FixupPhase):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::ref):
(Graph):

  • dfg/DFGInsertionSet.h:

(DFG):
(JSC::DFG::Insertion::Insertion):
(JSC::DFG::Insertion::element):
(Insertion):
(JSC::DFG::InsertionSet::InsertionSet):
(JSC::DFG::InsertionSet::insert):
(InsertionSet):
(JSC::DFG::InsertionSet::execute):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(Node):

  • dfg/DFGStructureCheckHoistingPhase.cpp:

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

  • dfg/DFGVariadicFunction.h: Added.
10:57 Changeset [140274] by ap@apple.com

Remove obsolete plug-in sandboxing code.
https://bugs.webkit.org/show_bug.cgi?id=107362

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • plugins/npapi-sandbox.h: Removed.

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • DerivedSources.make:
  • PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Removed.
  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::initializeSandbox): Fixed a memory leak in code that stays.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):

  • WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
  • WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:

Removed API related parts. Remaining code will move to a better place in a follow-up
patch, just keeping it here for easier reviewing.
(enterSandbox): Removed no longer used arguments.

10:18 Changeset [140273] by commit-queue@webkit.org

Web Inspector: Make V8 LiveEdit API disabled by default
https://bugs.webkit.org/show_bug.cgi?id=106668

Patch by Peter Rybin <peter.rybin@gmail.com> on 2013-01-20
Reviewed by Yury Semikhatsky.

Initialize method is patched accordingly.

  • bindings/v8/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::restart): missing enable/disable calls added for restart

  • bindings/v8/V8Initializer.cpp:

(WebCore::initializeV8Common): initializer method patched

03:36 Changeset [140272] by christophe.dumez@intel.com

[gstreamer] assertion in g_object_unref from _WebKitWebAudioSourcePrivate destructor
https://bugs.webkit.org/show_bug.cgi?id=107374

Reviewed by Philippe Normand.

WebKitWebAudioSrc object gets unrefed one time too many in
_WebKitWebAudioSourcePrivate destructor, causing an assertion
in g_object_unref. This patch passes NULL instead of
g_object_unref to gst_task_new() so that the WebKitWebAudioSrc
object does not get unrefed when the GstTask is destroyed.

No new tests, already covered by webaudio tests.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webkit_web_audio_src_init):

02:50 Changeset [140271] by jochen@chromium.org

[chromium] move notification related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107269

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebTestDelegate):
(WebTestRunner::WebTestDelegate::grantWebNotificationPermission):
(WebTestRunner::WebTestDelegate::simulateLegacyWebNotificationClick):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::grantWebNotificationPermission):
(WebTestRunner::TestRunner::simulateLegacyWebNotificationClick):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::grantWebNotificationPermission):
(WebViewHost::simulateLegacyWebNotificationClick):

  • DumpRenderTree/chromium/WebViewHost.h:
02:35 Changeset [140270] by haraken@chromium.org

[V8] Create a persistent wrapper for Window.prototype and innerGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=107253

Reviewed by Adam Barth.

This is one of steps to avoid hitting an ASSERT()
that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .
We should have a persistent wrapper for all DOM objects
and set a class id on the wrapper.

No tests. No change in behavior.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::installDOMWindow):

01:40 Changeset [140269] by jochen@chromium.org

[chromium] move geolocation related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107267

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebTestRunner::WebTestDelegate::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner::WebTestDelegate::setGeolocationPermission):
(WebTestRunner::WebTestDelegate::setMockGeolocationPosition):
(WebTestRunner::WebTestDelegate::setMockGeolocationPositionUnavailableError):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner):
(WebTestRunner::TestRunner::setGeolocationPermission):
(WebTestRunner::TestRunner::setMockGeolocationPosition):
(WebTestRunner::TestRunner::setMockGeolocationPositionUnavailableError):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::numberOfPendingGeolocationPermissionRequests):
(WebViewHost::setGeolocationPermission):
(WebViewHost::setMockGeolocationPosition):
(WebViewHost::setMockGeolocationPositionUnavailableError):

  • DumpRenderTree/chromium/WebViewHost.h:

01/19/13:

23:14 Changeset [140268] by zandobersek@gmail.com

Unreviewed build fix for Qt WK2 after r140258.
Use the size_t type instead of unsigned for the variable
which holds the position of the first null character in the
console message.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::willAddMessageToConsole):

22:32 Changeset [140267] by pdr@google.com

Refactor SVGSVGElement to inherit from SVGStyledTransformableElement
https://bugs.webkit.org/show_bug.cgi?id=107393

Reviewed by Dirk Schulze.

Source/WebCore:

This patch refactors SVGSVGElement to inherit from SVGStyledTransformableElement instead
of SVGStyledLocatableElement. In a followup patch, SVGStyledTransformableElement will
be refactored into SVGGraphicsElement which will match the spec:
https://svgwg.org/svg2-draft/single-page.html#struct-InterfaceSVGSVGElement

Tests: svg/transforms/svgsvgelement-transform-expected.svg

svg/transforms/svgsvgelement-transform.svg

  • svg/SVGSVGElement.cpp:

(WebCore):
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::didMoveToNewDocument):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):

  • svg/SVGSVGElement.h:

(SVGSVGElement):

  • svg/SVGSVGElement.idl:

LayoutTests:

  • svg/transforms/svgsvgelement-transform-expected.svg: Added.
  • svg/transforms/svgsvgelement-transform.svg: Added.
21:04 Changeset [140266] by rniwa@webkit.org

Delete webkit-perf.appspot.com code from WebKit repository
https://bugs.webkit.org/show_bug.cgi?id=107390

Reviewed by Adam Barth.

Delete webkit-perf.appspot.com code from WebKit repository since I maintain
and push the code via https://github.com/rniwa/webkit-perf now.

  • Websites/webkit-perf.appspot.com: Removed.
19:12 Changeset [140265] by pdr@google.com

Merge SVGStylable into SVGStyledElement
https://bugs.webkit.org/show_bug.cgi?id=106877

.:

Reviewed by Dirk Schulze.

SVG2 changes element inheritance so all SVGElements are stylable. As a first-step towards a
cleaner class hierarchy, this patch moves SVGStylable into SVGStyledElement.

  • wscript:

Source/WebCore:

Reviewed by Dirk Schulze.

SVG2 changes element inheritance so all SVGElements are stylable. As a first-step towards a
cleaner class hierarchy, this patch moves SVGStylable into SVGStyledElement.

No new tests as this is just a refactoring.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMSVG.h:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • page/DOMWindow.idl:
  • svg/SVGAElement.idl:
  • svg/SVGAllInOne.cpp:
  • svg/SVGCircleElement.idl:
  • svg/SVGClipPathElement.idl:
  • svg/SVGDefsElement.idl:
  • svg/SVGDescElement.idl:
  • svg/SVGEllipseElement.idl:
  • svg/SVGFEBlendElement.idl:
  • svg/SVGFEColorMatrixElement.idl:
  • svg/SVGFEComponentTransferElement.idl:
  • svg/SVGFECompositeElement.idl:
  • svg/SVGFEConvolveMatrixElement.idl:
  • svg/SVGFEDiffuseLightingElement.idl:
  • svg/SVGFEDisplacementMapElement.idl:
  • svg/SVGFEDropShadowElement.idl:
  • svg/SVGFEFloodElement.idl:
  • svg/SVGFEGaussianBlurElement.idl:
  • svg/SVGFEImageElement.idl:
  • svg/SVGFEMergeElement.idl:
  • svg/SVGFEMorphologyElement.idl:
  • svg/SVGFEOffsetElement.idl:
  • svg/SVGFESpecularLightingElement.idl:
  • svg/SVGFETileElement.idl:
  • svg/SVGFETurbulenceElement.idl:
  • svg/SVGFilterElement.idl:
  • svg/SVGFilterPrimitiveStandardAttributes.idl:
  • svg/SVGForeignObjectElement.idl:
  • svg/SVGGElement.idl:
  • svg/SVGGlyphRefElement.idl:
  • svg/SVGGradientElement.idl:
  • svg/SVGImageElement.idl:
  • svg/SVGLineElement.idl:
  • svg/SVGMarkerElement.idl:
  • svg/SVGMaskElement.idl:
  • svg/SVGMissingGlyphElement.idl:
  • svg/SVGPathElement.idl:
  • svg/SVGPatternElement.idl:
  • svg/SVGPolygonElement.idl:
  • svg/SVGPolylineElement.idl:
  • svg/SVGRectElement.idl:
  • svg/SVGSVGElement.idl:
  • svg/SVGStopElement.idl:
  • svg/SVGStylable.cpp: Removed.
  • svg/SVGStylable.h: Removed.
  • svg/SVGStylable.idl: Removed.
  • svg/SVGStyledElement.h:

(WebCore):

  • svg/SVGStyledElement.idl: Added.
  • svg/SVGSwitchElement.idl:
  • svg/SVGSymbolElement.idl:
  • svg/SVGTextContentElement.idl:
  • svg/SVGTitleElement.idl:
  • svg/SVGUseElement.idl:

Source/WebKit/mac:

SVG2 changes element inheritance so all SVGElements are stylable. As a first-step towards a
cleaner class hierarchy, this patch moves SVGStylable into SVGStyledElement.

Reviewed by Dirk Schulze.

  • MigrateHeaders.make:
17:30 Changeset [140264] by commit-queue@webkit.org

Unreviewed, rolling out r140260.
http://trac.webkit.org/changeset/140260
https://bugs.webkit.org/show_bug.cgi?id=107387

breaks fast/text/hyphens.html, fast/text/hyphenate-* (but
nothing else) (Requested by thakis on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-19

  • Scripts/update-webkit-chromium:
17:00 Changeset [140263] by timothy_horton@apple.com

CanvasRenderingContext2D::drawTextInternal should create a mask buffer compatible with that of the canvas
https://bugs.webkit.org/show_bug.cgi?id=107372

Reviewed by Simon Fraser.

No new tests, just matching acceleration modes.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal): Create a buffer with the same acceleration mode as the canvas
instead of forcing the use of an accelerated buffer if we support acceleration; the canvas could be unaccelerated
even if USE(IOSURFACE_CANVAS_BACKING_STORE) is on.

16:10 Changeset [140262] by mikhail.pozdnyakov@intel.com

Delegated scrolling: Assertion on attempt to show a CSS sticky element
https://bugs.webkit.org/show_bug.cgi?id=106890

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

The problem was that frame view (when delegated scrolling enabled) calculated the positions of sticky elements for
a scroll event before sending scroll request. In case of multiple scroll events that caused assertion as the response
for previous scroll request was received after the expected sticky elements positions had been already updated for the following
scroll request.

No new tests. Covered by existing 'fast/css/sticky' tests.

  • page/FrameView.cpp:

(WebCore::FrameView::setFixedVisibleContentRect):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollTo):

Tools:

Enabled fixed layout mode in WTR for 'fast/css/sticky' tests.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::shouldUseFixedLayout):
(WTR):
(WTR::updateLayoutType):

LayoutTests:

Skipped failing css/sticky tests on WK2 EFL.

  • platform/efl-wk2/TestExpectations:
16:05 Changeset [140261] by rakuco@webkit.org

Remove the `svn:executable' property from some EFL files.

14:44 Changeset [140260] by thakis@chromium.org

Make ninja the default build system for build-webkit --chromium on mac
https://bugs.webkit.org/show_bug.cgi?id=106737

Reviewed by Eric Seidel.

  • Scripts/update-webkit-chromium:
13:47 Changeset [140259] by ggaren@apple.com

Track inheritance structures in a side table, instead of using a private
name in each prototype
https://bugs.webkit.org/show_bug.cgi?id=107378

Reviewed by Sam Weinig and Phil Pizlo.

This is a step toward object size inference.

Using a side table frees us to use a more complex key (a pair of
prototype and expected inline capacity).

It also avoids ruining inline caches for prototypes. (Adding a new private
name for a new inline capacity would change the prototype's structure,
possibly firing watchpoints, making inline caches go polymorphic, and
generally causing us to have a bad time.)

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri: Buildage.
  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation): Updated to use new side table API.

  • runtime/JSFunction.cpp:

(JSC::JSFunction::cacheInheritorID): Updated to use new side table API.

(JSC::JSFunction::visitChildren): Fixed a long-standing bug where JSFunction
forgot to visit one of its data members (m_cachedInheritorID). This
wasn't a user-visible problem before because JSFunction would always
visit its .prototype property, which visited its m_cachedInheritorID.
But now, function.prototype only weakly owns function.m_cachedInheritorID.

  • runtime/JSGlobalData.h:

(JSGlobalData): Added the map, taking care to make sure that its
destructor would run after the heap destructor.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset): Updated to use new side table API.

  • runtime/JSObject.cpp:

(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::setPrototype):

  • runtime/JSObject.h:

(JSObject): Updated to use new side table API, and removed lots of code
that used to manage the per-object private name.

  • runtime/JSProxy.cpp:

(JSC::JSProxy::setTarget):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorCreate):

  • runtime/ObjectPrototype.cpp:

(JSC::ObjectPrototype::finishCreation): Updated to use new side table API.

  • runtime/PrototypeMap.cpp: Added.

(JSC):
(JSC::PrototypeMap::addPrototype):
(JSC::PrototypeMap::emptyObjectStructureForPrototype):

  • runtime/PrototypeMap.h: Added.

(PrototypeMap):
(JSC::PrototypeMap::isPrototype):
(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype): New side table.
This is a simple weak map, mapping an object to the structure you should
use when inheriting from that object. (In future, inline capacity will
be a part of the mapping.)

I used two maps to preserve existing behavior that allowed us to speculate
about an object becoming a prototype, even if it wasn't one at the moment.
However, I suspect that behavior can be removed without harm.

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::contains):
(WeakGCMap): I would rate myself a 6 / 10 in C++.

13:11 Changeset [140258] by commit-queue@webkit.org

[WK2] svg/dom/fuzz-path-parser.html is failing
https://bugs.webkit.org/show_bug.cgi?id=107133

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-01-19
Reviewed by Alexey Proskuryakov.

Tools:

Console messages can contain null characters before the end of string.
Appending such message to the StringBuilder as a WTFString appends the
complete string, including the null character. This later cuts off everything
after the null character when the string is being printed out to the test
output.

To avoid this, truncate the string up to the first null character. This
preserves the newline character appended immediately after this and
stops giving incorrect output.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::willAddMessageToConsole):

LayoutTests:

Unskip the now-passing test.

  • platform/gtk-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
13:02 Changeset [140257] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

  • platform/efl/TestExpectations: sticky-top-zoomed.html marked as ImageOnlyFailure.
12:39 Changeset [140256] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

  • platform/efl/TestExpectations: Accessibility test now marked as failing.
  • platform/efl/inspector/editor/text-editor-highlight-regexp-expected.txt: New baseline without warnings.
12:28 Changeset [140255] by zandobersek@gmail.com

Unreviewed GTK gardening.

Managing IndexedDB failures still lingering around after the IDB support was enabled.

  • platform/gtk/TestExpectations:
11:43 Changeset [140254] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Revert accidental global expectation override.

Patch by Dominik Röttsches <Dominik Röttsches <dominik.rottsches@intel.com>> on 2013-01-19

  • fast/css/css2-system-fonts-expected.txt: Reverted.
  • platform/efl/fast/css/css2-system-fonts-expected.txt: Copied from LayoutTests/fast/css/css2-system-fonts-expected.txt.
11:22 Changeset [140253] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

A couple of missing rebaselines after enabling subpixel layout and updating freetype.

Patch by Dominik Röttsches <Dominik Röttsches <dominik.rottsches@intel.com>> on 2013-01-19

  • fast/css/css2-system-fonts-expected.txt:
  • platform/efl-wk2/editing/selection/move-by-character-6-expected.png:
  • platform/efl-wk2/editing/selection/move-by-character-6-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.png:
  • platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/efl/editing/input/caret-at-the-edge-of-contenteditable-expected.png:
  • platform/efl/editing/input/caret-at-the-edge-of-contenteditable-expected.txt:
  • platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.png:
  • platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt:
  • platform/efl/editing/input/reveal-caret-of-multiline-input-expected.png:
  • platform/efl/editing/input/reveal-caret-of-multiline-input-expected.txt:
  • platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/efl/fast/profiler/apply-expected.txt:
  • platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png:
  • platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.png:
  • platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
  • platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png:
  • platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt:
  • platform/efl/fast/repaint/moving-shadow-on-path-expected.txt:
  • platform/efl/inspector/editor/text-editor-highlight-regexp-expected.txt:
09:15 Changeset [140252] by commit-queue@webkit.org

[EFL][WebGL] Regression: WebGL Content is not drawn after resizing the canvas.
https://bugs.webkit.org/show_bug.cgi?id=107366

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-19
Reviewed by Kenneth Rohde Christiansen.

Window is shared between GraphicsSurface and its client.
Client doesn't own the Window. This patch ensures that client
doesn't delete the shared Window handle.

Covered by existing WebGL tests.

  • platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::clear):

08:23 Changeset [140251] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (26/26).

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

  • platform/efl-wk2/TestExpectations:
  • platform/efl-wk2/media/
  • platform/efl-wk2/webaudio/
08:17 Changeset [140250] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (25/26).

  • platform/efl/fast/css/
  • platform/efl/fast/css3-text/
  • platform/efl/fast/dom/
  • platform/efl/fast/encoding/
  • platform/efl/fast/events/
  • platform/efl/fast/flexbox/
  • platform/efl/fast/forms/
  • platform/efl/fast/frames/
  • platform/efl/fast/gradients/
  • platform/efl/fast/history/
  • platform/efl/fast/html/
  • platform/efl/fast/images/
  • platform/efl/fast/
  • platform/efl/fast/inline/
  • platform/efl/fast/layers/
  • platform/efl/fast/line-grid/
  • platform/efl/fast/lists/
  • platform/efl/fast/multicol/
  • platform/efl/fast/overflow/
  • platform/efl/fast/parser/
  • platform/efl/fast/profiler/
  • platform/efl/fast/reflections/
  • platform/efl/fast/regions/
  • platform/efl/fast/repaint/
  • platform/efl/fast/replaced/
  • platform/efl/fast/ruby/
  • platform/efl/fast/selectors/
  • platform/efl/fast/table/
  • platform/efl/fast/text/
  • platform/efl/fast/transforms/
  • platform/efl/fast/writing-mode/
  • platform/efl/http/
  • platform/efl/ietestcenter/
  • platform/efl/inspector/
  • platform/efl/svg/
  • platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

07:55 Changeset [140249] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (24/26).

  • platform/efl/accessibility/
  • platform/efl/animations/
  • platform/efl/compositing/
  • platform/efl/css1/
  • platform/efl/css2.1/
  • platform/efl/css3/
  • platform/efl/editing/
  • platform/efl/fast/
  • platform/efl/fast/backgrounds/
  • platform/efl/fast/block/
  • platform/efl/fast/borders/
  • platform/efl/fast/box-shadow/
  • platform/efl/fast/box-sizing/
  • platform/efl/fast/canvas/
  • platform/efl/fast/clip/
  • platform/efl/fast/compact/
  • platform/efl/fast/css-generated-content/
  • platform/efl/fast/css/
  • platform/efl/tables/
  • platform/efl/transforms/
  • platform/efl/transitions/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

07:35 Changeset [140248] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (23/26).

  • platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

07:17 Changeset [140247] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (22/26).

  • platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

07:05 Changeset [140246] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (21/26).

  • platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

06:54 Changeset [140245] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (20/26).

  • platform/efl/svg/dynamic-updates/
  • platform/efl/svg/filters/
  • platform/efl/svg/foreignObject/
  • platform/efl/svg/hixie/
  • platform/efl/svg/in-html/
  • platform/efl/svg/overflow/
  • platform/efl/svg/repaint/
  • platform/efl/svg/stroke/
  • platform/efl/svg/text/
  • platform/efl/svg/transforms/
  • platform/efl/svg/wicd/
  • platform/efl/svg/zoom/
  • platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

06:34 Changeset [140244] by antti@apple.com

Make renderer constructors take Element where possible
https://bugs.webkit.org/show_bug.cgi?id=107138

Reviewed by David Hyatt.

Tighter typing prevents bugs and enables optimizations.

The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.

Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
(RenderView and RenderFlowThread) that pass in a Document.

  • page/FrameView.cpp:

(WebCore::FrameView::updateScrollCorner):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::createAnonymous):
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):

  • rendering/RenderBlock.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
(WebCore::RenderDeprecatedFlexibleBox::createAnonymous):

  • rendering/RenderDeprecatedFlexibleBox.h:

(RenderDeprecatedFlexibleBox):

  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::RenderDetailsMarker):

  • rendering/RenderDetailsMarker.h:

(RenderDetailsMarker):

  • rendering/RenderDialog.h:

(WebCore::RenderDialog::RenderDialog):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::RenderFieldset):

  • rendering/RenderFieldset.h:
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::RenderFlexibleBox):

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):

  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.cpp:

(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::createAnonymous):
(RenderFullScreen::wrapRenderer):

  • rendering/RenderFullScreen.h:

(RenderFullScreen):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::RenderGrid):

  • rendering/RenderGrid.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::createAnonymous):

  • rendering/RenderImage.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::createAnonymous):
(WebCore::RenderInline::addChildIgnoringContinuation):

  • rendering/RenderInline.h:

(RenderInline):
(WebCore::RenderInline::node):

Add version with covariant Element return type.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):

  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::RenderListMarker):
(WebCore::RenderListMarker::createAnonymous):

  • rendering/RenderListMarker.h:
  • rendering/RenderMediaControlElements.cpp:

(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):

  • rendering/RenderMediaControlElements.h:

(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):

  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):

  • rendering/RenderMultiColumnFlowThread.h:

(RenderMultiColumnFlowThread):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::createAnonymous):

  • rendering/RenderMultiColumnSet.h:

(RenderMultiColumnSet):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):

  • rendering/RenderNamedFlowThread.h:

(RenderNamedFlowThread):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::RenderObject):

  • rendering/RenderObject.h:


Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.

(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setDocumentForAnonymous):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):

  • rendering/RenderRegion.h:
  • rendering/RenderRegionSet.cpp:

(WebCore::RenderRegionSet::RenderRegionSet):

  • rendering/RenderRegionSet.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::RenderReplaced):

  • rendering/RenderReplaced.h:
  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::RenderReplica):
(WebCore::RenderReplica::createAnonymous):

  • rendering/RenderReplica.h:

(RenderReplica):

  • rendering/RenderRuby.cpp:

(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):

  • rendering/RenderRuby.h:

(RenderRubyAsInline):
(RenderRubyAsBlock):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::RenderRubyBase):
(WebCore::RenderRubyBase::createAnonymous):

  • rendering/RenderRubyBase.h:

(RenderRubyBase):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):

  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::RenderRubyText):

  • rendering/RenderRubyText.h:
  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::updateScrollbarPart):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::RenderScrollbarPart):
(WebCore::RenderScrollbarPart::createAnonymous):

  • rendering/RenderScrollbarPart.h:

(RenderScrollbarPart):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::RenderSearchField):

  • rendering/RenderSearchField.h:

(RenderSearchField):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):

  • rendering/RenderTable.h:
  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::RenderTableCaption):

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):

  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::RenderTableCol):

  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):

  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):

  • rendering/RenderTableSection.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::RenderText):

Pass null and use setDocumentForAnonymous() if a RenderText is created with the Document as renderer
to keep them working. Text renderers should be factored similarly to the rest.

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::RenderTextControl):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):

  • rendering/RenderTextControlMultiLine.h:

(RenderTextControlMultiLine):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):

  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::RenderTextTrackCue):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::RenderWidget):

  • rendering/RenderWidget.h:
  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::createMathMLOperator):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):

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

(WebCore::ImageContentData::createRenderer):

  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::RenderSVGBlock):

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::RenderSVGInline):

  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGTSpan.cpp:

(WebCore::RenderSVGTSpan::RenderSVGTSpan):

  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGTextPath.cpp:

(WebCore::RenderSVGTextPath::RenderSVGTextPath):

  • rendering/svg/RenderSVGTextPath.h:
06:03 Changeset [140243] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (19/26).

  • platform/efl/svg/W3C-SVG-1.1/
  • platform/efl/svg/W3C-SVG-1.2-Tiny/
  • platform/efl/svg/as-background-image/
  • platform/efl/svg/as-border-image/
  • platform/efl/svg/as-image/
  • platform/efl/svg/as-object/
  • platform/efl/svg/batik/
  • platform/efl/svg/carto.net/
  • platform/efl/svg/clip-path/
  • platform/efl/svg/css/
  • platform/efl/svg/dom/
  • platform/efl/svg/dynamic-updates/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

05:44 Changeset [140242] by dominik.rottsches@intel.com

[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (18/26).

  • platform/efl/svg/W3C-I18N/
  • platform/efl/svg/W3C-SVG-1.1-SE/
  • platform/efl/svg/W3C-SVG-1.1/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

02:59 Changeset [140241] by eric@webkit.org

Update error regexps so that Parser/html-parser-srcdoc.html can "pass"
https://bugs.webkit.org/show_bug.cgi?id=107367

Reviewed by Ryosuke Niwa.

Using srcdoc instead of document.write changes the error output
ever so slightly. Clearly we were already trying to ignore these
messages, just not succeeding. This change makes this new test "pass" correctly.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):

02:25 Applications using WebKit edited by zandobersek@gmail.com
Remove invalid content. (diff)
02:21 BadContent edited by zandobersek@gmail.com
Adding a spamming account. (diff)
02:10 Changeset [140240] by zandobersek@gmail.com

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for tests that regressed after r140202.
  • platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after IDB support was enabled.
  • platform/gtk/http/tests/cache: Added.
  • platform/gtk/http/tests/cache/cancel-multiple-post-xhrs-expected.txt: Added. Required after r140174,

only due to difference in the form of the errors being logged.

01:11 Changeset [140239] by zandobersek@gmail.com

Unreviewed GTK build fix.

Add the build targets introduced in r140231 to the list.

  • GNUmakefile.list.am:
Note: See TracTimeline for information about the timeline view.